/* FINANCE FOREST 〜仕事の森〜: clients / statements / conversation logs. */
.forestMark{flex-shrink:0;width:34px;height:28px;overflow:visible;flex-shrink:0}
.forestPage{position:fixed;inset:0;z-index:18030;background:#f6f2ee;color:#302b29;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.forestPage button:focus-visible,.forestPage input:focus-visible,.forestPage select:focus-visible,.forestPage textarea:focus-visible{outline:2px solid #b18795;outline-offset:3px}
.forestInner{width:min(100%,860px);margin:0 auto;padding:calc(20px + env(safe-area-inset-top)) 24px calc(52px + env(safe-area-inset-bottom))}
.forestHeader{position:sticky;top:env(safe-area-inset-top,0px);z-index:3;background:#f6f2ee;display:flex;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid #ded5d0}
.forestBack{width:42px;height:42px;flex-shrink:0;border:1px solid #ded5d0;border-radius:12px;background:transparent;color:#786c65;font-size:24px;cursor:pointer}
.forestBrand{flex:1;min-width:0;display:flex;align-items:center;gap:12px;color:#81766f}.forestBrand .forestMark{width:44px;height:38px}
.forestBrand>div{min-width:0}
.forestBrand h1{margin:0;font-size:17px;letter-spacing:.09em;font-weight:650}.forestBrand p{margin:5px 0 0;font-size:10px;color:#998b86}
.forestBadge{margin-left:auto;color:#998b86;font-size:10px;white-space:nowrap}
.forestCrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:24px 0 15px;font-size:12px;color:#9b8c86}
.forestCrumbs button{border:0;background:transparent;color:#5d7558;padding:3px 0;font-size:12px;cursor:pointer}.forestCrumbs span:last-child{color:#493d43}
.forestStatus{margin:10px 0;font-size:12px;line-height:1.65;color:#85736d}.forestStatus:empty{display:none}.forestStatus.error{color:#a04451}
.forestToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px}.forestToolbar h2{margin:0;font-size:24px;font-weight:600;overflow-wrap:anywhere}.forestToolbar p{margin:6px 0 0;color:#998b86;font-size:12px}
.forestActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.forestButton{border:1px solid #dbcdd3;border-radius:10px;background:#fffdfb;color:#7f6370;min-height:42px;padding:9px 13px;font-size:12px;font-weight:600;cursor:pointer}
.forestButton.primary{background:#81766f;border-color:#81766f;color:#fffdfb}.forestButton.danger{color:#a04d59;border-color:#dbc6c9}.forestButton:disabled{opacity:.5;cursor:wait}
.forestEmpty{padding:38px 18px;text-align:center;border:1px dashed #dbcdd3;border-radius:16px;color:#958780;font-size:13px;line-height:1.9}.forestEmpty.small{padding:22px 14px;font-size:12px}
.forestGate{max-width:460px;margin:60px auto;text-align:center}.forestGate .forestMark{width:70px;height:60px;color:#927c86}.forestGate h2{font-size:24px;font-weight:600;margin:18px 0 12px}.forestGate p{font-size:13px;line-height:1.9;color:#7f8a7a;margin:0 0 24px}

.forestTabs{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}
.forestTab{display:flex;align-items:center;gap:7px;min-height:36px;padding:6px 13px;border:1px solid #ded5d0;border-radius:999px;background:transparent;color:#786c65;font-size:12px;font-weight:600;cursor:pointer}.forestTab small{font-size:10px;color:#98a392;font-variant-numeric:tabular-nums}
.forestTab.on{background:#f0e7eb;border-color:#d1c0c7;color:#654d59}
.forestGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.forestEntity{display:flex;align-items:center;gap:14px;min-width:0;min-height:86px;border:1px solid #e0d6d0;border-radius:17px;background:#fffdfb;padding:16px 18px;text-align:left;color:#41383b;cursor:pointer}
.forestAvatar{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border:1px solid #ded0d6;border-radius:13px;background:#f4edef;color:#8c6e7b;font-size:17px}
.forestEntityName{font-size:15px;font-weight:600;overflow-wrap:anywhere;min-width:0}.forestEntityName small{display:block;margin-top:6px;font-size:10px;color:#9b8c86;font-weight:400}
.forestArrow{margin-left:auto;color:#ae9c95;font-size:20px}

.forestSearchWrap{position:relative;margin:0 0 18px}.forestSearchIcon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#a18e97;pointer-events:none}
.forestSearch{width:100%;min-height:48px;padding:11px 44px 11px 42px;border:1px solid #ded2cc;border-radius:14px;background:#fffdfb;color:#2f362d;font:inherit;font-size:16px;outline:none;box-shadow:none}.forestSearch::placeholder{color:#a99892}.forestSearch:focus{border-color:#b18795}
.forestSearchClear{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#7d8c78;font-size:19px;cursor:pointer}.forestSearchClear[hidden]{display:none}

.forestSection{margin:0 0 28px}.forestSectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}.forestSectionHead h3{margin:0;font-size:15px;font-weight:650;color:#5d5054}
.forestList{border-top:1px solid #e0d6d0}
.forestRow{display:flex;align-items:center;gap:16px;width:100%;min-height:64px;border:0;border-bottom:1px solid #e0d6d0;background:transparent;padding:13px 4px;text-align:left;color:#45503f;cursor:pointer}
.forestRow time{flex:0 0 auto;font-size:13px;font-variant-numeric:tabular-nums;color:#5d6a58}
.forestRowMain{min-width:0}.forestRowMain b{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.forestRowMain small{display:block;margin-top:3px;font-size:10px;color:#9b8c86}
.forestNoteBox{margin:-6px 0 22px;padding:14px 16px;border-radius:12px;background:#f4edef;color:#5c5054;font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}

.forestTableWrap{overflow-x:auto;border:1px solid #e0d6d0;border-radius:14px;background:#fffdfb}
.forestTable{width:100%;border-collapse:collapse;font-size:13px}
.forestTable td{padding:10px 14px;border-bottom:1px solid #ece3e7;overflow-wrap:anywhere}.forestTable tr:last-child td{border-bottom:0}
.forestTable td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.forestTable td.num.neg{color:#a04d59}
.forestTable tr.head th{padding:12px 14px 7px;text-align:left;font-size:11px;font-weight:700;color:#81766f;letter-spacing:.04em;background:#f6eff2;border-bottom:1px solid #e7dce2}
.forestSubhead{display:flex;align-items:baseline;gap:9px;margin:22px 0 9px;font-size:13px;font-weight:650;color:#5d5054}.forestSubhead small{font-size:10px;font-weight:500;color:#aa9992}.forestSubhead.interp{color:#7a6578}
.forestRead{margin:0;padding:20px;background:#fffdfb;border:1px solid #e0d6d0;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9;-webkit-user-select:text;user-select:text}
.forestRead.interp{background:#faf7f9;border-color:#e3d8df;border-style:dashed}
.forestMeta{margin-top:16px;font-size:10px;color:#aa9992}

.forestForm{display:grid;gap:16px}.forestForm label{display:grid;gap:7px;font-size:12px;color:#74666b}
.forestForm input,.forestForm select,.forestForm textarea{width:100%;min-width:0;padding:12px;border:1px solid #ded2cc;border-radius:10px;background:#fffdfb;color:#41383b;font:inherit;font-size:16px;outline-color:#b18795}
.forestForm textarea{min-height:36vh;resize:vertical;line-height:1.8;white-space:pre-wrap}.forestForm textarea.short{min-height:120px}
.forestFields2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.forestFields2.dateTitle{grid-template-columns:170px minmax(0,1fr)}
.forestFields3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.forestNote{font-size:11px;color:#aa9992;line-height:1.65}

/* Entrance card inside POKKENIA. */
a.pokkeniaCard{text-decoration:none}
.pokkeniaForestCard{border-color:#cfdbc9;background:#f8fbf5}.pokkeniaForestCard .pokkeniaCardNo{border-color:#cbd8c5;background:#e8efe4;color:#81766f}.pokkeniaForestCard:hover{background:#f2f7ee}

@media(max-width:600px){
  .forestInner{padding-left:18px;padding-right:18px}.forestHeader{gap:10px}.forestBrand{gap:9px}.forestBrand h1{font-size:14px}.forestBadge{font-size:9px}
  .forestGrid{grid-template-columns:1fr}.forestToolbar{flex-wrap:wrap}.forestToolbar h2{font-size:22px}.forestRead{padding:16px}
  .forestFields2,.forestFields2.dateTitle,.forestFields3{grid-template-columns:1fr}.forestRow{gap:12px}
}
@media(max-width:420px){.forestBadge{display:none}}

/* Attached evidence and original Markdown documents */
.forestFileInput{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.forestDocIcon{display:grid;place-items:center;flex:0 0 44px;height:34px;border-radius:8px;background:#eaf0e7;color:#5e7357;font-size:10px;font-weight:700;letter-spacing:.04em}
.forestCount{font-size:11px;color:#9b8c86;font-weight:500}
.forestDocumentRead{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;min-height:150px}
.forestAttachment{padding:16px;background:#fffdfb;border:1px solid #e0d6d0;border-radius:14px;min-height:180px}
.forestPdf{display:block;width:100%;height:min(76vh,950px);border:0;border-radius:6px}
.forestImage{display:block;max-width:100%;height:auto;max-height:85vh;object-fit:contain;margin:auto;border-radius:6px}
@media(max-width:600px){.forestAttachment{padding:7px}.forestPdf{height:67vh}}

/* Finance Forest / independent professional knowledge archive */
.forestKnowledgeEntry{width:100%;display:flex;align-items:center;gap:16px;margin:3px 0 30px;padding:22px 24px;border:1px solid #c9d8c7;border-radius:20px;background:linear-gradient(120deg,#eef3e9,#f9faf5);color:#435a48;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}
.forestKnowledgeEntry:hover{border-color:#8ca789;transform:translateY(-1px)}
.forestKnowledgeEntry>span:nth-child(2){flex:1;min-width:0}
.forestKnowledgeEntry b{display:block;font-size:17px;font-weight:680;letter-spacing:.015em}
.forestKnowledgeEntry small{display:block;margin-top:7px;color:#7b8d7c;font-size:11px;line-height:1.6}
.forestKnowledgeGlyph{flex:0 0 48px;height:48px;display:grid;place-items:center;border-radius:14px;border:1px solid #baceb7;background:#e0eadc;color:#63846a;font:500 27px Georgia,serif}
.forestKnowledgeStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0 18px}
.forestKnowledgeStats>div{border:1px solid #e3d9d2;border-radius:13px;background:#fffdfb;padding:15px 17px}
.forestKnowledgeStats b{display:block;font-size:26px;font-weight:620;color:#506d56;font-variant-numeric:tabular-nums}
.forestKnowledgeStats small{display:block;margin:3px 0 0;color:#8b9285;font-size:10px}
.forestKnowledgeNotice{padding:13px 16px;margin:0 0 18px;border-left:3px solid #91a18c;border-radius:2px 11px 11px 2px;background:#eff2ec;color:#5b6858;font-size:11px;line-height:1.85}
.forestKnowledgeFilters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.forestKnowFilter{min-height:35px;border:1px solid #d6dccc;background:#fffdfb;border-radius:11px;padding:7px 11px;color:#71806d;font-size:11px;cursor:pointer}
.forestKnowFilter small{font-size:10px;opacity:.65;font-variant-numeric:tabular-nums}
.forestKnowFilter.on{background:#596d5b;border-color:#596d5b;color:#fff}
.forestKnowledgeResultCount{font-size:11px;color:#8a9688;margin:8px 0 10px}
.forestKnowRow{min-height:71px}.forestKnowRow .forestRowMain b{font-size:13px;line-height:1.5}
.forestDoc-vat{background:#eef3e7;color:#6a8563}.forestDoc-income{background:#e9eff5;color:#687e91}.forestDoc-registry{background:#f1e9f3;color:#866c8f}.forestDoc-social{background:#f6efe2;color:#93835f}
.forestKnowArticle{max-width:100%;padding:24px 28px;border:1px solid #e0d6d0;border-radius:14px;background:#fffdfb;color:#3d413a;font-size:13px;line-height:1.9;overflow-wrap:anywhere}
.forestKnowArticle h2{font-size:21px;margin:28px 0 9px;line-height:1.5;border-bottom:1px solid #e1e9dd;padding-bottom:6px}
.forestKnowArticle h2:first-child{margin-top:0}.forestKnowArticle h3{font-size:16px;margin:25px 0 8px;line-height:1.5;color:#50664e}.forestKnowArticle h4,.forestKnowArticle h5{margin:19px 0 6px;font-size:14px;color:#526c51}
.forestKnowArticle p{margin:6px 0;white-space:pre-wrap}.forestKnowArticle .forestKnowSpace{height:9px}.forestKnowArticle .forestKnowListItem{padding-left:19px;position:relative;white-space:pre-wrap}
.forestKnowArticle .forestKnowListItem::before{content:'•';position:absolute;left:4px;color:#8ba78b}.forestKnowArticle blockquote{border-left:3px solid #bfd0b4;background:#f6f9f4;margin:10px 0;padding:8px 16px}
.forestKnowArticle strong{font-weight:720;color:#374e3c}.forestKnowArticle code{font-size:.89em;border-radius:5px;padding:1px 3px;background:#edf1e9}.forestKnowArticle pre{max-width:100%;overflow:auto;background:#f1f4ef;padding:15px;border-radius:10px;line-height:1.7}
.forestKnowOriginal{margin:16px 0 0;border:1px solid #e0d6d0;border-radius:12px;background:#fffdfb}.forestKnowOriginal summary{padding:13px 16px;font-size:12px;cursor:pointer;color:#677b67}
.forestKnowOriginal pre{margin:0;padding:18px;max-height:60vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid #e9dfd8;font-size:12px;line-height:1.8}
@media(max-width:600px){.forestKnowledgeEntry{padding:16px;gap:12px}.forestKnowledgeGlyph{flex-basis:40px;height:40px;font-size:23px}.forestKnowledgeEntry b{font-size:14px}.forestKnowledgeStats{gap:7px}.forestKnowledgeStats>div{padding:11px 12px}.forestKnowledgeStats b{font-size:22px}.forestKnowArticle{padding:16px}.forestKnowArticle h2{font-size:18px}}
.forestKnowArticle .forestKnowTableWrap{max-width:100%;overflow-x:auto;border:1px solid #e1e8df;border-radius:9px;margin:13px 0}
.forestKnowArticle table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.7}
.forestKnowArticle table th{background:#f0f4ed;color:#4d6652;font-weight:680;text-align:left}
.forestKnowArticle table th,.forestKnowArticle table td{padding:9px 12px;border-bottom:1px solid #e6ebe3;border-right:1px solid #eef0ec;min-width:80px;vertical-align:top}
.forestKnowArticle table tr:last-child td{border-bottom:0}
.forestKnowArticle .forestKnowEmbed{padding:10px 15px;border-radius:8px;background:#f5f7f2;color:#6e876d;font-size:11px}
.forestKnowledgeRelated{margin-top:21px}.forestKnowledgeRelated h3{font-size:13px;font-weight:650;color:#536d55;margin:0 0 12px}
.forestKnowInlineImage{display:block;max-width:100%;height:auto;max-height:700px;object-fit:contain;margin:14px auto;border:1px solid #e7e9e3;border-radius:9px}
