@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap";:root{--charcoal:#0c0c0d;--charcoal-soft:#17171a;--paper:#f7f5f0;--paper-dim:#ece8df;--gold:#c69845;--gold-bright:#e7c971;--gold-dark:#8a6b28;--patina:#3f7350;--steel-blue:#3b6e91;--ember:#8b2e2e;--clay:#a88b3a;--line:#ddd6c8;--ink:#17171a;--ink-soft:#6b6a63;--rust:var(--gold);--rust-dark:var(--gold-dark);--font-display:"Cormorant Garamond", serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box}html,body,#root{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--font-body);margin:0;padding:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;margin:0;font-weight:600}button,input,select,textarea{font-family:var(--font-body)}.pitch-divider{background:linear-gradient(115deg, transparent 49%, var(--line) 49%, var(--line) 51%, transparent 51%) 0 0/28px 28px repeat-x;opacity:.9;width:100%;height:14px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--charcoal);color:var(--paper);padding:18px 28px 0}.topbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:14px;display:flex}.brand{align-items:baseline;gap:10px;display:flex}.brand h1{color:var(--paper);font-size:22px}.brand span{font-family:var(--font-mono);color:var(--rust);text-transform:uppercase;letter-spacing:.12em;font-size:11px}.tabs{gap:4px;display:flex}.tab{color:#b9b8b3;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:10px 16px;font-size:13px;transition:color .15s,border-color .15s}.tab:hover{color:var(--paper)}.tab.active{color:var(--paper);border-bottom-color:var(--rust)}main{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:28px}.panel{border:1px solid var(--line);background:#fff;border-radius:4px;padding:20px}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:6px;font-size:11px;display:block}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (width<=900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi-card{border:1px solid var(--line);border-left:5px solid var(--accent,var(--rust));background:#fff;border-radius:4px;padding:16px 18px;position:relative;overflow:hidden}.kpi-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-size:13px}.kpi-actual{font-family:var(--font-display);margin:6px 0 2px;font-size:40px;line-height:1.1}.kpi-target{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.kpi-status{font-size:12px;font-weight:600;font-family:var(--font-mono);margin-top:8px}.status-ahead{color:var(--patina)}.status-behind{color:var(--rust-dark)}.status-even{color:var(--steel-blue)}.btn{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:none;border-radius:3px;padding:10px 18px;font-size:13px;transition:background .15s,transform .1s}.btn-primary{background:var(--rust);color:#17130a;font-weight:600}.btn-primary:hover{background:var(--gold-bright)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--paper-dim)}.field-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (width<=700px){.field-grid{grid-template-columns:1fr}}.field label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:5px;font-size:11px;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:3px;padding:9px 10px;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--rust);outline-offset:1px;background:#fff}.status-pill{color:#fff;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);border-bottom:2px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:11px}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}tr:hover td{background:var(--paper-dim)}.section-title{align-items:center;gap:10px;margin-bottom:14px;font-size:18px;display:flex}.section-title:before{content:"";background:var(--rust);width:4px;height:20px;display:inline-block}.empty-state{text-align:center;color:var(--ink-soft);padding:48px 20px}.loading-bar{background:linear-gradient(90deg, var(--rust), transparent);height:3px;animation:1.2s infinite loading}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}.auth-screen{background:var(--charcoal);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--charcoal-soft);text-align:center;border:1px solid #2a2a2d;border-radius:6px;width:100%;max-width:380px;padding:36px 32px}.auth-card img{width:auto;height:64px;margin-bottom:18px}.auth-card h1{color:var(--paper);text-transform:none;margin-bottom:6px;font-size:22px}.auth-card p.auth-sub{color:#9a9992;text-transform:none;font-size:13px;font-family:var(--font-body);margin-bottom:24px}.auth-card .field{text-align:left;margin-bottom:14px}.auth-card .field label{color:#b9b8b3}.auth-card .field input{color:var(--paper);background:#0c0c0d;border-color:#34343a}.auth-card .field input:focus{outline-color:var(--gold)}.auth-error{color:#e37a7a;text-align:left;margin-bottom:12px;font-size:13px}.auth-card .btn-primary{width:100%;margin-top:6px;padding:11px 18px}.auth-toggle{color:#9a9992;font-size:12px;font-family:var(--font-body);margin-top:18px}.auth-toggle button{color:var(--gold-bright);cursor:pointer;font-size:12px;font-family:var(--font-body);background:0 0;border:none;text-decoration:underline}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{color:#6b4f16;letter-spacing:.02em;background:#f1e6cf;border:1px solid #dfc98a;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.checkbox-grid{grid-template-columns:repeat(2,1fr);gap:6px 14px;display:grid}@media (width<=700px){.checkbox-grid{grid-template-columns:1fr}}.checkbox-grid label{color:var(--ink);font-size:13px;font-family:var(--font-body);cursor:pointer;align-items:center;gap:8px;display:flex}.file-link-list{flex-direction:column;gap:4px;display:flex}.file-link-list a{color:var(--steel-blue);font-size:13px}.badge-source{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;background:var(--paper-dim);color:var(--ink-soft);border:1px solid var(--line);border-radius:3px;padding:2px 8px;font-size:10px;display:inline-block}.badge-source.ghl{color:#6b4f16;background:#f1e6cf;border-color:#dfc98a}.top-actions{justify-content:flex-end;padding:10px 28px 0;display:flex}.top-actions button{color:#9a9992;cursor:pointer;font-size:12px;font-family:var(--font-body);background:0 0;border:none}.top-actions button:hover{color:var(--paper)}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-input,.filter-select{border:1px solid var(--line);font-size:13px;font-family:var(--font-body);color:var(--ink);background:#fff;border-radius:3px;padding:9px 10px}.filter-input:focus,.filter-select:focus{outline:1px solid var(--gold);border-color:var(--gold)}.filter-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:11px;font-family:var(--font-mono);margin-right:4px}.btn-sm{padding:9px 14px;font-size:12px}.btn-xs{padding:4px 10px;font-size:11px}.sm8-status-box{border:1px solid var(--line);background:var(--paper-dim);border-radius:4px;padding:12px;font-size:12px}.sm8-status-box.synced{background:#eef7f0;border-color:#b9dcc0}.sm8-status-box.error{background:#fbeeee;border-color:#e6b8b8}
