:root{--bg:#f5f6f8;--card:#fff;--ink:#17202b;--muted:#727b87;--line:#e4e7eb;--accent:#174f3b;--accent2:#e9f2ee;--danger:#8d2e2e;--shadow:0 8px 30px rgba(26,36,45,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{background:#101b18;color:#eaf1ee;padding:24px 18px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 6px 22px}.brand-mark{width:42px;height:42px;border:1px solid #527165;border-radius:10px;display:grid;place-items:center;font-family:Georgia,serif;font-weight:700}.brand strong{display:block;font-size:18px}.brand span{font-size:11px;color:#94aaa1}.new-chat{border:1px solid #3a554c;background:#173129;color:white;padding:11px 12px;border-radius:9px;text-align:left;cursor:pointer}.side-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#71877e;margin:26px 8px 10px}.history{display:flex;flex-direction:column;gap:5px;overflow:auto}.history-item{border:0;background:transparent;color:#bdcbc5;padding:10px;border-radius:8px;text-align:left;cursor:pointer}.history-item:hover{background:#1a2a25}.history-item strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item span{font-size:10px;color:#738a81}.sidebar-foot{margin-top:auto;border-top:1px solid #2c3a35;padding:16px 5px 0;font-size:11px;color:#89a097}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#56af82;margin-right:6px}.workspace{min-width:0}.topbar{height:105px;background:white;border-bottom:1px solid var(--line);padding:22px 30px;display:flex;justify-content:space-between;align-items:center}.topbar h1{margin:0;font-size:21px}.topbar p{margin:5px 0 0;font-size:12px;color:var(--muted)}.controls{display:flex;align-items:end;gap:16px}.controls label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.controls input{display:block;margin-top:5px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink)}.mode-switch{background:#eef0f2;padding:3px;border-radius:9px}.mode-switch button{border:0;background:transparent;padding:8px 12px;border-radius:7px;color:#6b737c;cursor:pointer}.mode-switch button.active{background:white;color:var(--accent);box-shadow:0 1px 4px #d8dcdf}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;height:calc(100vh - 105px)}.chat-panel{display:flex;flex-direction:column;min-width:0}.empty-state{margin:auto;max-width:700px;text-align:center;padding:30px}.seal{width:58px;height:58px;margin:0 auto 16px;border:1px solid #cfd8d3;border-radius:50%;display:grid;place-items:center;font:30px Georgia;color:var(--accent);background:white}.empty-state h2{font:28px Georgia,serif;margin:0 0 10px}.empty-state p{color:var(--muted);line-height:1.55}.examples{display:grid;gap:8px;margin-top:24px}.examples button{background:white;border:1px solid var(--line);padding:12px 14px;border-radius:10px;text-align:left;color:#52606b;cursor:pointer}.examples button:hover{border-color:#aebcb5}.conversation{padding:28px 34px;overflow:auto;flex:1}.hidden{display:none}.message{max-width:860px;margin:0 auto 22px}.message.user{background:#eef3f0;padding:16px;border-radius:12px}.message.assistant{background:white;border:1px solid var(--line);padding:22px;border-radius:12px;box-shadow:var(--shadow)}.message h3{font:20px Georgia;margin:20px 0 8px}.message h3:first-child{margin-top:0}.message p,.message li{line-height:1.55;font-size:14px}.message ul{padding-left:20px}.claim{border-left:3px solid #b8c9c1;padding-left:14px;margin:12px 0}.source-chip{display:inline-block;font-size:10px;background:var(--accent2);color:var(--accent);padding:4px 7px;border-radius:6px;margin:4px 4px 0 0}.actions{display:flex;gap:8px;margin-top:18px}.actions a{border:1px solid var(--line);padding:7px 10px;border-radius:7px;font-size:11px;color:var(--ink);text-decoration:none}.composer{background:white;border-top:1px solid var(--line);padding:15px 28px}.composer textarea{width:100%;resize:none;border:1px solid #d8dde1;border-radius:10px;padding:12px 14px;outline:none}.composer textarea:focus{border-color:#8aa89b}.composer-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.composer-foot span{font-size:9px;color:#9aa2aa;letter-spacing:.08em}.composer-foot button{background:var(--accent);color:white;border:0;border-radius:8px;padding:9px 16px;cursor:pointer}.composer-foot button:disabled{opacity:.55}.evidence-panel{background:#fafbfb;border-left:1px solid var(--line);overflow:auto}.evidence-head{height:74px;padding:17px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.evidence-head strong{display:block;font-size:13px}.evidence-head span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.status{padding:5px 8px;border-radius:6px;background:#eef0f2;height:max-content}.status.ok{background:#e5f2eb;color:#286346}.status.blocked{background:#f8e6e6;color:var(--danger)}.evidence-list{padding:12px}.evidence-card{background:white;border:1px solid var(--line);border-radius:9px;padding:13px;margin-bottom:9px}.evidence-card .article{font-weight:700;font-size:12px}.evidence-card .meta{font-size:10px;color:var(--muted);margin:5px 0}.evidence-card p{font-size:11px;line-height:1.45;color:#515b64;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.evidence-card a{font-size:10px;color:var(--accent);text-decoration:none}.evidence-empty{padding:35px 14px;text-align:center;font-size:12px;line-height:1.5;color:#9aa2aa}.toast{position:fixed;bottom:20px;right:20px;background:#17202b;color:white;padding:10px 14px;border-radius:8px;opacity:0;pointer-events:none;transition:.2s;font-size:12px}.toast.show{opacity:1}@media(max-width:1050px){.app-shell{grid-template-columns:220px 1fr}.content-grid{grid-template-columns:1fr 310px}}@media(max-width:820px){.app-shell{display:block}.sidebar{display:none}.topbar{height:auto;align-items:flex-start;gap:12px;flex-direction:column}.content-grid{display:block;height:auto}.evidence-panel{border-left:0;border-top:1px solid var(--line);max-height:450px}.chat-panel{min-height:75vh}.controls{width:100%;justify-content:space-between}}
.discovery-strip{margin:10px 12px 0;padding:10px 11px;border:1px solid #dfe8e3;border-radius:9px;background:#f1f6f3}.discovery-strip strong{display:block;font-size:11px;color:var(--accent)}.discovery-strip>span{font-size:9px;color:var(--muted)}.discovery-items{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.discovery-items span{font-size:9px;padding:4px 6px;border-radius:5px;background:white;border:1px solid var(--line);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discovery-items span.indexed{background:var(--accent2);border-color:#cadbd3;color:var(--accent)}


.reasoning-panel{border-top:1px solid rgba(127,127,127,.18);padding:14px 2px;margin-top:10px}
.reasoning-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.reasoning-head span{font-size:11px;letter-spacing:.04em}
.reasoning-body{font-size:12px;line-height:1.5}
.reasoning-body h4{margin:10px 0 5px;font-size:12px}
.reasoning-body ul{margin:4px 0 8px;padding-left:18px}
.reasoning-body .missing{font-weight:600}
.rule-app{border:1px solid rgba(127,127,127,.16);border-radius:8px;padding:8px;margin:6px 0}
.rule-app span{font-size:10px;opacity:.72}
.rule-app b{float:right;font-size:10px}
.rule-app b.sat{font-weight:700}
.rule-app b.unknown{font-weight:700}
.rule-app p{clear:both;margin:5px 0 0}
.graph-chip{display:inline-block;border:1px solid rgba(127,127,127,.18);border-radius:999px;padding:3px 7px;margin:3px 3px 0 0;font-size:10px}
.graph-metrics{margin-bottom:6px}


.interview-q{margin:10px 0;padding:10px;border:1px solid rgba(127,127,127,.16);border-radius:8px}
.interview-q label{display:block;margin-bottom:7px}
.interview-q label strong{display:block;font-size:12px}
.interview-q label span{display:block;font-size:10px;opacity:.7;margin-top:3px}
.interview-q input,.interview-q select{width:100%;box-sizing:border-box;padding:8px;border-radius:6px;border:1px solid rgba(127,127,127,.28);background:transparent;color:inherit}
.interview-submit{margin-top:8px;width:100%}


#taxPosition p{margin:6px 0}
#taxPosition ol,#taxPosition ul{padding-left:18px}
#taxPosition li span{opacity:.72;font-size:10px}


.new-case{width:100%;margin-top:8px;padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:transparent;color:inherit;text-align:left;cursor:pointer}
.case-list{max-height:180px;overflow:auto}
.case-workspace{border:1px solid rgba(127,127,127,.2);border-radius:10px;padding:10px;margin-bottom:12px}
.case-workspace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.case-workspace-head strong{display:block}
.case-workspace-head span{display:block;font-size:10px;opacity:.68;margin-top:2px}
.case-workspace-head button{border:0;background:transparent;color:inherit;font-size:20px;cursor:pointer}
.case-actions{display:flex;gap:6px;margin:9px 0}
.case-actions button{width:100%;padding:8px;border-radius:7px;border:1px solid rgba(127,127,127,.22);background:transparent;color:inherit;cursor:pointer}
.case-docs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.case-doc-chip{font-size:10px;border:1px solid rgba(127,127,127,.18);padding:4px 7px;border-radius:999px}
.case-fact{border-top:1px solid rgba(127,127,127,.12);padding:8px 0}
.case-fact:first-child{border-top:0}
.case-fact p{margin:0 0 5px;font-size:11px;line-height:1.4}
.case-fact-meta{font-size:9px;opacity:.65;margin-bottom:5px}
.case-fact-actions{display:flex;gap:4px;flex-wrap:wrap}
.case-fact-actions button{font-size:9px;padding:3px 6px;border-radius:5px;border:1px solid rgba(127,127,127,.2);background:transparent;color:inherit;cursor:pointer}
.case-fact-status{font-weight:700}

.case-doc-chip{text-decoration:none;color:inherit}.fact-source{font-size:9px;opacity:.6}


.evidence-matrix{margin-top:6px}
.matrix-row{border-top:1px solid rgba(127,127,127,.15);padding:9px 0}
.matrix-row-head{display:flex;justify-content:space-between;gap:8px;font-size:11px}
.matrix-row-head span{font-size:9px;opacity:.72;white-space:nowrap}
.matrix-provisions{font-size:9px;opacity:.6;margin:3px 0}
.matrix-source{font-size:10px;margin-top:5px;padding:5px 6px;border-left:2px solid rgba(127,127,127,.35);background:rgba(127,127,127,.05)}
.matrix-source.conflict{border-left-width:3px}
.matrix-source.user-only{font-style:italic;opacity:.78}
.matrix-impact{font-size:9px;opacity:.68;margin-top:5px}

.rule-app .not-sat{font-weight:700}.rule-app small{display:block;font-size:9px;opacity:.58;margin-top:3px}


.chronology{margin-top:6px}
.chron-conflict{border:1px solid rgba(180,80,80,.25);padding:7px;border-radius:7px;margin:6px 0}
.chron-conflict p{font-size:10px;margin:3px 0}
.chron-conflict small{font-size:9px;opacity:.65}
.chron-event{border-left:2px solid rgba(127,127,127,.25);padding:5px 7px;margin:7px 0}
.chron-event span{display:block;font-size:9px;opacity:.65}
.chron-event strong{display:inline-block;font-size:10px;margin-right:5px}
.chron-event small,.chron-event em{font-size:8px;opacity:.6}
.chron-event p{font-size:10px;line-height:1.35;margin:3px 0}


.transaction-reconstruction{margin-top:6px}
.txn-parties,.txn-missing{font-size:10px;margin:6px 0}
.txn-stage{border:1px solid rgba(127,127,127,.14);border-radius:7px;padding:7px;margin:6px 0}
.txn-stage.missing{opacity:.65;border-style:dashed}
.txn-stage-head{display:flex;justify-content:space-between;font-size:10px}
.txn-stage-head span{font-size:9px;opacity:.65}
.txn-amounts{font-size:9px;margin-top:3px;font-weight:700}
.txn-evidence{font-size:9px;line-height:1.35;margin-top:5px;padding-left:6px;border-left:2px solid rgba(127,127,127,.25)}
.txn-anomaly{border-left:3px solid rgba(180,80,80,.35);padding:6px;margin:6px 0}
.txn-anomaly strong{font-size:9px}
.txn-anomaly p{font-size:10px;margin:3px 0}


.tax-treatment{margin-top:6px}
.tax-item{border:1px solid rgba(127,127,127,.14);border-radius:7px;padding:7px;margin:6px 0}
.tax-item-head{display:flex;justify-content:space-between;font-size:10px}
.tax-item-head span{font-size:9px;opacity:.7}
.tax-item>p{font-size:10px;line-height:1.35;margin:4px 0}
.tax-gap{font-size:9px;opacity:.72;margin:4px 0}
.tax-rule{padding:4px 0;border-top:1px solid rgba(127,127,127,.10);font-size:9px}
.tax-rule strong{margin-right:5px}
.tax-rule span{opacity:.65}
.tax-rule p{margin:2px 0;opacity:.72}


.tax-calculation{margin-top:6px}
.calc-item{border:1px solid rgba(127,127,127,.14);border-radius:7px;padding:7px;margin:6px 0;font-size:10px}
.calc-head{display:flex;justify-content:space-between;margin-bottom:4px}
.calc-head span{font-size:9px;opacity:.7}
.calc-formula{font-weight:700;margin:5px 0}
.calc-blocker{font-size:9px;margin-top:4px;padding-left:6px;border-left:2px solid rgba(180,80,80,.35)}
.calc-warning{font-size:9px;margin-top:4px;opacity:.72}


.tax-exposure{margin-top:6px}
.exposure-scenario,.exposure-component,.risk-factor{border:1px solid rgba(127,127,127,.14);border-radius:7px;padding:7px;margin:6px 0;font-size:10px}
.exposure-scenario>div,.exposure-component{display:flex;justify-content:space-between;gap:6px}
.exposure-scenario span,.exposure-component span{font-size:9px;opacity:.7}
.exposure-scenario p{font-size:13px;font-weight:700;margin:4px 0}
.exposure-scenario small,.exposure-component small{display:block;font-size:8px;opacity:.65}
.risk-factor strong{font-size:9px}
.risk-factor p{font-size:10px;margin:3px 0}


.audit-defense{margin-top:6px}
.def-issue{border:1px solid rgba(127,127,127,.14);border-radius:7px;padding:7px;margin:6px 0;font-size:10px}
.def-head{display:flex;justify-content:space-between;gap:6px}
.def-head span{font-size:9px;opacity:.7}
.def-issue p{margin:4px 0;line-height:1.35}
.def-evidence{font-size:9px;margin-top:5px;padding-left:6px;border-left:2px solid rgba(127,127,127,.25)}
.def-missing{font-size:9px;margin:5px 0}


.audit-objection{margin-top:6px}
.obj-section{border:1px solid rgba(127,127,127,.14);border-radius:7px;padding:7px;margin:6px 0;font-size:10px}
.obj-section p{margin:4px 0;line-height:1.35}
.obj-law{font-size:9px;opacity:.72;margin:3px 0}
.obj-unresolved{font-size:9px;margin:5px 0}
.obj-export{font-size:10px;margin:5px 0}


.audit-act,.audit-claim-map{margin-top:6px}
.act-claim,.claim-map-item{border:1px solid rgba(127,127,127,.14);border-radius:7px;padding:7px;margin:6px 0;font-size:10px}
.act-claim>div,.claim-map-item>div{display:flex;justify-content:space-between;gap:6px}
.act-claim span,.claim-map-item span{font-size:9px;opacity:.7}
.act-claim p,.claim-map-item p{margin:4px 0;line-height:1.35}
.act-claim small,.claim-map-item small{font-size:8px;opacity:.68}
.claim-warning{font-size:9px;margin-top:4px;opacity:.72}

/* v1.0.8 scenario/cross-tax matrix */
.tax-matrix{width:100%;border-collapse:collapse;margin:10px 0 18px;font-size:13px}
.tax-matrix th,.tax-matrix td{border:1px solid #dde4df;padding:8px;vertical-align:top;text-align:left}
.tax-matrix th{background:#f3f7f4;font-weight:700}
.tax-matrix td:nth-child(1){min-width:135px}.tax-matrix td:nth-child(2){white-space:nowrap}
.tax-matrix .source-chip{display:inline-block;margin:2px 3px 2px 0}

/* v1.0.9 professional opinion presentation */
.short-conclusion{font-weight:700;font-size:16px;line-height:1.45;margin:6px 0 14px}
.opinion-paragraph{margin:7px 0 10px}
.opinion-paragraph p{margin:0 0 4px;line-height:1.55}
