:root{--ink:#142018;--muted:#657069;--paper:#f5f7f3;--card:#fff;--line:#dce3dc;--accent:#1d5b42;--accent2:#dff1e8;--warn:#8b5d13;--danger:#8b2e2e}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{height:78px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(245,247,243,.94);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand-wrap{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--ink);color:white;font-weight:800;font-size:12px;letter-spacing:.08em}.brand{font-size:19px;font-weight:800}.tagline{font-size:12px;color:var(--muted)}button{font:inherit;cursor:pointer}.ghost,.icon-btn{border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:9px 13px}.icon-btn{font-size:22px;padding:3px 10px}main{max-width:1180px;margin:0 auto;padding:54px 24px 70px}.hero{max-width:760px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--accent);margin:0 0 8px;text-transform:uppercase}.hero h1{font-family:Georgia,serif;font-size:clamp(38px,6vw,68px);line-height:.98;letter-spacing:-.035em;margin:0 0 18px}.hero>p:not(.eyebrow){font-size:18px;line-height:1.55;color:#445049;max-width:680px}.status{display:inline-flex;margin-top:13px;padding:8px 11px;border:1px solid var(--line);background:white;border-radius:999px;font-size:12px;color:var(--muted)}.tasks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:42px 0 18px}.task{display:flex;flex-direction:column;text-align:left;gap:8px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.75);padding:17px;min-height:138px;color:var(--ink)}.task:hover,.task.active{border-color:#8ab39e;background:white;box-shadow:0 7px 22px rgba(20,32,24,.06)}.task span{font-size:10px;color:var(--accent);font-weight:800}.task b{font-size:16px}.task small{font-size:13px;line-height:1.4;color:var(--muted)}.workspace{display:grid;grid-template-columns:.92fr 1.08fr;gap:14px}.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;min-height:480px}.panel-head{display:flex;justify-content:space-between;gap:10px}.panel h2{margin:0 0 16px;font-size:22px}textarea{width:100%;min-height:290px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:15px;font:inherit;font-size:14px;line-height:1.55;background:#fbfcfa;color:var(--ink);outline:none}textarea:focus,input:focus{border-color:#8ab39e;box-shadow:0 0 0 3px rgba(29,91,66,.08)}.actions{display:flex;align-items:center;gap:12px;margin-top:14px}.primary{border:0;background:var(--accent);color:white;border-radius:9px;padding:11px 16px;font-weight:750}.primary:disabled{opacity:.55;cursor:not-allowed}.privacy,.muted{font-size:12px;line-height:1.5;color:var(--muted)}.dropzone{border:1px dashed #a9b6ae;min-height:280px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#fbfcfa;text-align:center}.dropzone input{display:none}.dropzone strong{color:var(--accent)}.dropzone span,.dropzone em{font-size:12px;color:var(--muted)}.empty{min-height:420px;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;max-width:400px;margin:auto;color:var(--muted)}.empty-mark{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font:30px Georgia,serif;color:var(--accent)}.empty h3{color:var(--ink);margin:16px 0 6px}.result-title{display:flex;justify-content:space-between;align-items:start;gap:12px;border-bottom:1px solid var(--line);padding-bottom:15px}.result-title h2{margin:0 0 7px}.pill{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;text-transform:uppercase}.pill.high{background:#f7dfdf;color:var(--danger)}.pill.medium{background:#f7edd8;color:var(--warn)}.pill.low{background:#eaf0eb;color:#536158}.section{margin-top:20px}.section h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px}.gap{border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:9px}.gap-head{display:flex;justify-content:space-between;gap:10px}.gap h4{margin:0;font-size:15px}.gap p{font-size:13px;line-height:1.5;margin:8px 0;color:#445049}.evidence{font-size:11px;color:var(--muted);background:#f6f8f5;border-radius:7px;padding:8px;margin-top:7px}.covered-list,.flags{padding-left:18px}.covered-list li,.flags li{font-size:13px;margin:7px 0;line-height:1.45}.hidden{display:none!important}dialog{border:0;border-radius:15px;padding:0;max-width:590px;width:calc(100% - 30px);box-shadow:0 30px 80px rgba(0,0,0,.2)}dialog::backdrop{background:rgba(12,20,15,.38)}.settings-card{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.settings-card label{display:block;font-size:12px;font-weight:700;margin:16px 0}.settings-card input[type=text],.settings-card input[type=password]{width:100%;margin-top:6px;padding:11px;border:1px solid var(--line);border-radius:8px;font:inherit}.check{display:flex!important;gap:8px;align-items:center;font-weight:500!important}.callout{background:var(--accent2);padding:12px;border-radius:9px;font-size:12px;line-height:1.5;margin:15px 0}
@media(max-width:860px){.tasks{grid-template-columns:1fr 1fr}.workspace{grid-template-columns:1fr}.result-panel{min-height:360px}}@media(max-width:520px){main{padding:34px 15px 50px}.topbar{padding:0 15px}.tasks{grid-template-columns:1fr 1fr}.task{min-height:128px;padding:13px}.hero h1{font-size:43px}.panel{padding:16px}}
.brand-link{text-decoration:none;color:inherit}.nav{display:flex;align-items:center;gap:8px}.nav-link{color:var(--muted);text-decoration:none;font-size:13px;font-weight:700;padding:8px 10px;border-radius:8px}.nav-link:hover,.nav-link.active{background:white;color:var(--ink)}.nav-button{text-decoration:none;font-size:13px}.compact-hero{max-width:900px}.compact-hero h1{font-size:clamp(36px,5vw,58px)}.status-row{display:flex;gap:8px;flex-wrap:wrap}.context-bar{display:grid;grid-template-columns:240px 240px 1fr;gap:12px;align-items:end;background:white;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:30px 0 14px}.context-field label,.small-label{display:block;font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}.context-field label span,.small-label span{font-weight:500;text-transform:none;letter-spacing:0}.context-field select,.small-label input,.form-row input{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fbfcfa;font:inherit;color:var(--ink)}.context-summary{font-size:12px;line-height:1.45;color:var(--muted);padding:0 6px 7px}.small-label{margin-bottom:12px}.save-check{margin-top:12px!important}.pill-row{display:flex;gap:5px;flex-wrap:wrap}.pill.scope{background:#e9eef6;color:#455b77}.owner{font-size:11px;color:var(--accent);margin-top:7px}.disclaimer{font-size:11px;color:var(--muted);line-height:1.55;margin-top:24px;padding:14px 0;border-top:1px solid var(--line)}.small{padding:8px 11px;font-size:12px}.danger-btn{border:1px solid #d6aaaa;background:#fff7f7;color:var(--danger);border-radius:9px;padding:10px 14px;font-weight:700;margin-left:8px}.short-textarea{min-height:115px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.curriculum-grid{display:grid;grid-template-columns:340px 1fr;gap:14px;margin-top:28px}.course-panel,.detail-panel{min-height:600px}.course-list{display:flex;flex-direction:column;gap:7px}.course-item{width:100%;text-align:left;border:1px solid var(--line);background:#fbfcfa;border-radius:10px;padding:13px;color:var(--ink);display:flex;flex-direction:column;gap:4px}.course-item:hover,.course-item.active{background:white;border-color:#8ab39e;box-shadow:0 5px 16px rgba(20,32,24,.05)}.course-item b{font-size:14px}.course-item span{font-size:11px;color:var(--muted)}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.detail-header h2{font-size:28px;margin-bottom:7px}.stats-row{display:flex;gap:10px;margin:22px 0}.mini-stat{border:1px solid var(--line);background:#fbfcfa;border-radius:10px;padding:11px 14px;min-width:100px;display:flex;flex-direction:column}.mini-stat b{font-size:22px}.mini-stat span{font-size:11px;color:var(--muted)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line);padding-top:19px;margin-top:15px}.section-head h3{margin:0 0 10px;font-size:18px}.session-card{border:1px solid var(--line);border-radius:10px;padding:13px 14px;margin-bottom:8px;display:flex;justify-content:space-between;gap:12px}.session-card h4{margin:0 0 5px}.session-card p{margin:0 0 6px;font-size:12px;color:#445049}.session-card span,.material-row span{font-size:11px;color:var(--muted)}.material-tags{display:flex;gap:5px;align-items:start;flex-wrap:wrap}.material-tags span{background:#eef2ee;border-radius:999px;padding:4px 7px}.materials-head{margin-top:28px}.material-row{border-bottom:1px solid var(--line);padding:10px 0}.material-row div{display:flex;flex-direction:column;gap:3px}
@media(max-width:900px){.context-bar{grid-template-columns:1fr 1fr}.context-summary{grid-column:1/-1}.curriculum-grid{grid-template-columns:1fr}.course-panel{min-height:auto}.nav-link{display:none}}
@media(max-width:560px){.context-bar{grid-template-columns:1fr}.context-summary{grid-column:auto}.form-row{grid-template-columns:1fr}.nav{gap:4px}.ghost{padding:8px 9px}.status-row{display:block}.status-row .status{margin-right:4px}}
.input-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px}.small-label select{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fbfcfa;font:inherit;color:var(--ink)}.report-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.gap-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:15px 0 3px}.gap-stats>div{border:1px solid var(--line);border-radius:9px;padding:9px 8px;background:#fbfcfa;display:flex;flex-direction:column}.gap-stats b{font-size:18px}.gap-stats span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.coverage-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.coverage-badge,.confidence,.source-signal{font-size:10px;border-radius:999px;padding:4px 7px}.coverage-badge.not_detected{background:#f7e2e2;color:var(--danger)}.coverage-badge.partial{background:#fff0d9;color:var(--warn)}.confidence{background:#f1f3ef;color:var(--muted)}.source-signal{background:#e7f2ec;color:var(--accent);font-weight:700}.gap.reviewed{border-color:#b7c8bc;background:#fcfdfb}.why{background:#f7faf7;border-radius:7px;padding:8px 9px}.decision-block{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.decision-label{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:7px}.decision-row{display:flex;gap:6px;flex-wrap:wrap}.decision-btn{border:1px solid var(--line);background:white;border-radius:7px;padding:6px 8px;font-size:11px;color:var(--ink)}.decision-btn:hover,.decision-btn.selected{border-color:#7ca58e;background:var(--accent2);color:var(--accent)}.decision-btn.clear{color:var(--muted)}.decision-state{font-size:11px;color:var(--muted);margin-top:7px}.retrieval-details{border-top:1px solid var(--line);margin-top:20px;padding-top:12px;color:var(--muted);font-size:11px}.retrieval-details summary{cursor:pointer;font-weight:700}.retrieval-details li{margin:5px 0}.success-box{border:1px solid #bed7c8;background:#f6fbf7;border-radius:10px;padding:14px}.success-box p{font-size:13px;color:#445049}.success-box h3{color:var(--accent)}
@media(max-width:720px){.input-meta{grid-template-columns:1fr}.gap-stats{grid-template-columns:repeat(3,1fr)}.result-title{flex-direction:column}.report-actions{align-items:flex-start}.gap-head{flex-direction:column}}

.clean-hero { padding-bottom: 0.85rem; }
.context-manage { white-space: nowrap; align-self: end; text-decoration: none; }
.context-summary a { color: inherit; font-weight: 700; }
@media (max-width: 760px) {
  .context-manage { align-self: stretch; text-align: center; }
}

/* v0.4.3: per-tab BYO API key status */
.ai-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;padding:.4rem .65rem;border:1px solid var(--line);border-radius:999px;white-space:nowrap}
.ai-status::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:#8b8f97}
.ai-status.connected::before{background:#25834f}
.ai-status.disconnected{color:var(--muted)}
.dialog-actions{display:flex;justify-content:flex-end;gap:.7rem;align-items:center;margin-top:.25rem}
@media (max-width:760px){.ai-status{display:none}}
