:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#eef2f5;color:#1f2933;--bg: #f5f7fa;--panel: #ffffff;--panel-soft: #f8fafc;--line: #d8e0e7;--line-strong: #c3ced8;--text: #1f2933;--muted: #687684;--muted-2: #8b98a5;--teal: #006c70;--teal-dark: #00565a;--teal-soft: #e8f5f5;--amber: #c46d00;--amber-soft: #fff4df;--green: #2c8a36;--shadow: 0 18px 40px rgba(31, 41, 51, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;min-height:100vh;grid-template-columns:280px minmax(0,1fr);background:var(--bg)}.sidebar{display:flex;min-height:100vh;flex-direction:column;gap:22px;border-right:1px solid var(--line);background:#fbfcfd;padding:18px}.brand-block{display:flex;min-height:48px;align-items:center;gap:12px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;color:var(--teal)}.brand-block h1{margin:0;font-size:20px;line-height:1.15}.brand-block p,.panel-title small,.recipient-copy small,.person-card-title span,.safety-chip small{margin:0;color:var(--muted);font-size:12px;line-height:1.35}.section-label{display:block;margin:0 0 10px;color:#4a5662;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.module-nav{display:grid;gap:10px}.module-button{position:relative;display:grid;min-height:64px;grid-template-columns:26px 20px 1fr;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:10px 12px;text-align:left}.module-button.is-active{border-color:#c5dde0;background:#f2fbfb;box-shadow:inset 3px 0 0 var(--teal)}.module-button svg{color:var(--teal)}.module-button strong{display:block;font-size:14px;line-height:1.3}.module-button small{display:block;color:var(--muted);font-size:12px;line-height:1.35}.module-index{display:grid;width:18px;height:18px;place-items:center;border-radius:5px;background:var(--teal);color:#fff;font-size:12px;font-weight:700}.compliance-block{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.compliance-block ul,.clean-list,.warning-list{margin:0;padding:0;list-style:none}.compliance-block li,.clean-list li,.warning-list li{position:relative;margin:0 0 8px;padding-left:18px;color:#40505f;font-size:12px;line-height:1.45}.compliance-block li:before,.clean-list li:before{position:absolute;top:7px;left:0;width:5px;height:5px;border-radius:50%;background:var(--green);content:""}.warning-list li:before{position:absolute;top:7px;left:0;width:5px;height:5px;border-radius:50%;background:var(--amber);content:""}.secondary-button,.primary-button,.icon-button,.project-log{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;border-radius:6px;font-size:13px;font-weight:650}.secondary-button,.project-log{border:1px solid var(--line);background:var(--panel-soft);color:#2d3945;padding:0 12px}.secondary-button:hover,.project-log:hover,.icon-button:hover{border-color:var(--line-strong);background:#eef4f6}.primary-button{width:100%;border:1px solid var(--teal-dark);background:linear-gradient(180deg,#007980,#00656a);color:#fff;padding:0 16px;box-shadow:0 10px 18px #006c7029}.note-box{display:grid;grid-template-columns:22px 1fr;gap:10px;border:1px solid #b9c9dc;border-radius:8px;background:#f8fbff;padding:14px}.note-box svg{color:#315a87}.note-box strong,.prompt-card strong{display:block;margin-bottom:4px;font-size:13px}.note-box p,.prompt-card p,.policy-box p{margin:0;color:#4c5b68;font-size:12px;line-height:1.5}.project-log{width:100%;justify-content:flex-start;margin-top:6px}.workspace{display:grid;min-width:0;min-height:100vh;grid-template-rows:auto 1fr auto}.topbar{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:#ffffffe0;padding:10px 20px}.project-select{display:flex;min-width:240px;align-items:center;gap:10px;color:#4a5662;font-size:14px}.project-select strong{color:var(--text)}.topbar-actions{display:flex;align-items:center;gap:10px}.date-chip,.safety-chip{display:inline-flex;min-height:42px;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:0 12px;font-size:13px}.safety-chip svg{color:var(--teal)}.safety-chip strong{display:block;color:#2b3743;font-size:12px;text-transform:uppercase}.icon-button{width:38px;border:1px solid transparent;background:transparent;color:#24313d;padding:0}.content-frame{min-width:0;padding:12px 20px 16px}.tabs{display:inline-flex;max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:8px 8px 0 0;background:#f7f9fb}.tab-button{display:inline-flex;min-width:170px;min-height:40px;align-items:center;justify-content:center;gap:9px;border:0;border-right:1px solid var(--line);background:transparent;color:#4b5967;padding:0 14px;font-size:13px;font-weight:650}.tab-button:last-child{border-right:0}.tab-button span{display:grid;width:18px;height:18px;place-items:center;border-radius:5px;background:#d8e4ea;color:#40505f;font-size:11px}.tab-button.is-active{background:var(--panel);color:var(--teal)}.tab-button.is-active span{background:var(--teal);color:#fff}.workspace-grid{display:grid;min-height:calc(100vh - 150px);gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:12px;box-shadow:var(--shadow)}.email-grid,.coach-grid{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.research-grid{grid-template-columns:330px minmax(450px,1fr) 390px}.panel{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:14px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.panel-header.compact{margin:0 0 8px}.panel-title{display:flex;min-width:0;align-items:center;gap:8px;color:var(--text)}.panel-title svg{flex:0 0 auto;color:var(--teal)}.panel-title strong{overflow:hidden;font-size:14px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.panel-title small{flex:0 0 auto}label{display:grid;gap:7px;margin-top:13px;color:#303d49;font-size:12px;font-weight:650}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--text);font-size:13px;line-height:1.35}input,select{min-height:36px;padding:0 10px}textarea{min-height:130px;resize:vertical;padding:10px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid rgba(0,108,112,.22);outline-offset:2px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.drop-zone{display:grid;min-height:68px;place-items:center;margin-top:14px;border:1px dashed #8796a3;border-radius:8px;background:#fbfcfd;color:#344454;padding:10px;text-align:center}.drop-zone small{display:block;color:var(--muted);font-size:12px}.checkbox-list{display:grid;gap:8px;margin:14px 0}.checkbox-list label{display:flex;margin:0;align-items:center;gap:8px;font-weight:500}.checkbox-list input,.recipient-row input{width:16px;min-height:16px;accent-color:var(--teal)}.quiet-center{margin:8px 0 0;color:var(--muted);font-size:12px;text-align:center}.draft-panel{display:grid;grid-template-rows:auto minmax(300px,1fr) auto auto}.draft-output{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.draft-output h2{margin:0;border-bottom:1px solid var(--line);padding:12px;font-size:14px;line-height:1.35}.draft-output pre,.prompt-output{margin:0;white-space:pre-wrap;color:#27333f;font-family:inherit;font-size:13px;line-height:1.58}.draft-output pre{padding:12px}.draft-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;color:var(--muted);font-size:12px}.draft-badge{display:inline-flex;align-items:center;border:1px solid #a8d1b0;border-radius:6px;background:#f0fff3;color:#1d7a2c;padding:5px 10px;font-weight:700}.recipient-panel{border:1px solid var(--line);border-radius:8px;padding:10px}.recipient-row{display:grid;min-height:54px;grid-template-columns:18px 34px minmax(120px,1fr) 70px 42px;align-items:center;gap:9px;border-top:1px solid var(--line)}.recipient-row:first-of-type{border-top:0}.avatar{display:grid;width:32px;height:32px;place-items:center;border:1px solid #c1dfe0;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:11px;font-weight:800}.recipient-copy strong{display:block;font-size:13px;line-height:1.25}.trust-meter{height:6px;overflow:hidden;border-radius:999px;background:#dfe6ec}.trust-meter span{display:block;height:100%;border-radius:inherit;background:var(--green)}.confidence{color:#374554;font-size:12px}.rail-stack{display:grid;gap:12px;align-content:start}.right-rail h3,.dossier-panel h3,.prompt-panel h3{margin:16px 0 8px;color:#303d49;font-size:13px}.summary-line{margin:12px 0;color:#40505f;font-size:13px;line-height:1.5}.mini-list,.source-table,.progress-steps,.people-list{display:grid;gap:8px}.mini-list div,.source-row,.step-row,.person-card{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.mini-list div{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:8px;min-height:36px;padding:0 10px;font-size:12px}.mini-list span,.source-row>span,.step-row>span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:12px;font-weight:800}.source-row{display:grid;grid-template-columns:28px minmax(160px,1fr) minmax(160px,1fr);align-items:start;gap:10px;padding:10px}.source-row strong,.source-row small{display:block}.source-row small,.source-row p{margin:2px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.person-card{display:grid;gap:8px;padding:10px}.person-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.full-width{width:100%}.policy-box,.prompt-card{display:grid;grid-template-columns:22px 1fr;gap:10px;margin-top:16px;border:1px solid #f0d49e;border-radius:8px;background:var(--amber-soft);padding:12px}.policy-box svg,.prompt-card svg{color:var(--amber)}.prompt-output{overflow:auto;min-height:180px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:12px}.step-row{display:grid;min-height:48px;grid-template-columns:28px 1fr 58px;align-items:center;gap:10px;padding:8px 10px}.step-row p{margin:0;color:#354453;font-size:12px;line-height:1.4}.step-row svg{color:var(--green)}.step-open{color:var(--muted);font-size:12px;text-align:right}.statusbar{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);background:var(--panel);padding:0 22px;color:#566675;font-size:12px}.statusbar strong,.status-ok{color:var(--teal)}@media(max-width:1420px){.app-shell{grid-template-columns:238px minmax(0,1fr)}.research-grid{grid-template-columns:minmax(260px,330px) minmax(360px,1fr)}.rail-stack,.right-rail{grid-column:1 / -1}}@media(max-width:860px){.app-shell{display:block}.sidebar{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.topbar,.statusbar{align-items:stretch;flex-direction:column}.project-select{min-width:0;flex-wrap:wrap}.topbar-actions{display:grid;align-items:stretch;grid-template-columns:1fr}.topbar-actions .icon-button{display:none}.workspace-grid,.email-grid,.research-grid,.coach-grid{grid-template-columns:1fr;width:100%;max-width:100%;min-height:auto;overflow-x:clip}.content-frame{padding:10px;overflow-x:clip}.panel,.draft-output,.recipient-panel{width:100%;max-width:100%;overflow-x:clip}.panel-header,.draft-actions{flex-wrap:wrap}.tabs{display:grid;width:100%;grid-template-columns:1fr;border-radius:8px 8px 0 0}.tab-button{width:100%;border-right:0;border-bottom:1px solid var(--line)}.source-row,.recipient-row{grid-template-columns:1fr}}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{margin:0 0 10px;border:1px solid #e5b7a0;border-radius:8px;background:#fdf1ea;color:#9a4419;padding:8px 12px;font-size:13px}.demo-banner{margin:0 0 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--amber-soft);color:var(--amber);padding:8px 12px;font-size:13px}.empty-state{margin:8px 0;color:var(--muted);font-size:14px}.cv-output{margin:0 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-soft);padding:14px;font-family:inherit;font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:420px;overflow-y:auto}.source-links a{display:inline-flex;align-items:center;gap:6px;color:var(--teal);text-decoration:none}.source-links a:hover{text-decoration:underline}.compliance-details{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.compliance-details p{margin:0 0 8px;color:var(--muted);font-size:12px;line-height:1.5}.icon-button.small{width:26px;height:26px;margin-left:auto;color:var(--muted)}.overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:#1f293366;padding:24px}.overlay-panel{width:min(880px,100%);max-height:80vh;overflow-y:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow);padding:18px 20px}.protocol-table{margin-top:12px;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:13px}.protocol-row{display:grid;grid-template-columns:1.4fr .7fr 1.6fr 1fr 1fr .8fr;gap:8px;align-items:center;border-top:1px solid var(--line);padding:8px 12px}.protocol-row:first-child{border-top:none}.protocol-head{background:var(--panel-soft);color:var(--muted);font-weight:600}.statusbar .status-ok{display:inline-flex;align-items:center;gap:6px}.login-shell{display:grid;min-height:100vh;place-items:center;background:var(--bg);padding:24px}.login-card{display:flex;width:min(360px,100%);flex-direction:column;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow);padding:32px 28px;text-align:center}.login-card h1{margin:4px 0 0;font-size:22px}.login-card>p{margin:0 0 10px;color:var(--muted);font-size:14px}.login-card label{display:flex;width:100%;flex-direction:column;gap:6px;color:var(--muted);font-size:13px;text-align:left}.login-card input{border:1px solid var(--line-strong);border-radius:8px;padding:10px 12px}.login-card .primary-button{width:100%;margin-top:8px}.login-card .error-banner{width:100%}.markdown{font-size:14px;line-height:1.6}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:14px 0 6px;line-height:1.3}.markdown h1{font-size:18px}.markdown h2{font-size:16px}.markdown h3{font-size:15px}.markdown h4{font-size:14px}.markdown h1:first-child,.markdown h2:first-child,.markdown h3:first-child,.markdown p:first-child{margin-top:0}.markdown p{margin:8px 0}.markdown ul,.markdown ol{margin:8px 0;padding-left:22px}.markdown li{margin:4px 0}.markdown li>ul,.markdown li>ol{margin:4px 0}.markdown a{color:var(--teal);text-decoration:none;word-break:break-all}.markdown a:hover{text-decoration:underline}.markdown code{border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12.5px}.markdown pre.md-code{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:12px;overflow-x:auto}.markdown pre.md-code code{border:none;background:none;padding:0}.markdown blockquote{margin:10px 0;border-left:3px solid var(--teal);background:var(--teal-soft);border-radius:0 8px 8px 0;padding:8px 12px;color:var(--muted)}.markdown hr{margin:14px 0;border:none;border-top:1px solid var(--line)}.md-table-wrap{margin:10px 0;overflow-x:auto}.markdown table{border-collapse:collapse;width:100%;font-size:13px}.markdown th,.markdown td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}.markdown th{background:var(--panel-soft)}.checklist-footer{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.checklist-footer .clean-list{margin-top:8px}
