﻿:root{--ink:#211b27;--plum:#3b3045;--plum-2:#574563;--orange:#f47a20;--orange-soft:#fff0e4;--paper:#faf8fb;--white:#fff;--muted:#756f7a;--line:#e9e3eb;--green:#21845b;--shadow:0 18px 55px rgba(42,28,48,.1)}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
body{margin:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.app-shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}
.sidebar{position:sticky;top:0;height:100vh;padding:26px 20px;background:linear-gradient(165deg,#251d2c 0%,#3d3048 68%,#54385a 100%);color:#fff;display:flex;flex-direction:column}
.brand{display:flex;flex-direction:column;gap:10px;padding:0 10px 28px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand img{width:132px;height:auto;filter:brightness(0) invert(1);mix-blend-mode:normal}
.brand span{font-size:10px;letter-spacing:.24em;color:#d9cfe0}
.sidebar nav{display:grid;gap:7px;margin-top:25px}
.sidebar nav a{padding:12px 14px;border-radius:10px;color:#d8cfdd;font-size:14px}
.sidebar nav a:hover,.sidebar nav a.active{background:rgba(244,122,32,.16);color:#fff}
.sidebar nav a.active{box-shadow:inset 3px 0 var(--orange)}
.user-panel{margin-top:auto;padding:18px 12px 0;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:4px}
.user-panel strong{font-size:14px}
.user-panel span,.user-panel a{font-size:12px;color:#c9bdce}
.user-panel a{margin-top:8px;color:#ffb47c}
.main{padding:38px clamp(24px,4vw,64px) 70px;min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.topbar h1{margin:2px 0 0;font-size:clamp(28px,4vw,44px);letter-spacing:-.045em}
.eyebrow{margin:0;color:var(--orange);font-weight:800;font-size:11px;letter-spacing:.18em}
.hero{position:relative;overflow:hidden;min-height:260px;border-radius:24px;padding:42px;background:linear-gradient(125deg,#2c2334 0%,#483552 70%,#6a3e59 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}
.hero:after{content:"";position:absolute;width:260px;height:260px;border:56px solid rgba(244,122,32,.18);border-radius:50%;right:-80px;top:-90px}
.hero.small{min-height:200px}
.hero>div{position:relative;z-index:1;max-width:720px}
.hero h2{font-size:clamp(30px,4vw,48px);line-height:1.04;letter-spacing:-.045em;margin:16px 0 12px}
.hero p{color:#ddd3e2;line-height:1.65;max-width:650px}
.pill{display:inline-flex;padding:7px 10px;background:rgba(244,122,32,.16);border:1px solid rgba(244,122,32,.42);border-radius:999px;color:#ffc39a;font-size:10px;font-weight:800;letter-spacing:.14em}
.orb{width:125px;height:125px;border-radius:50%;background:var(--orange);display:grid;place-content:center;text-align:center;box-shadow:0 0 0 18px rgba(244,122,32,.13)}
.orb span{font-size:14px;letter-spacing:.18em}
.orb strong{font-size:30px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}
.metric{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 28px rgba(42,28,48,.04);display:grid;gap:7px}
.metric span{color:var(--muted);font-size:12px}
.metric strong{font-size:30px;letter-spacing:-.04em}
.metric small{color:var(--muted)}
.metric.accent{background:var(--orange);color:#fff;border-color:var(--orange)}
.metric.accent span,.metric.accent small{color:#fff1e7}
.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 10px 34px rgba(42,28,48,.05);margin-top:20px}
.panel.compact{margin-top:0}
.panel h2{margin:7px 0 16px;font-size:23px;letter-spacing:-.03em}
.panel h3{margin:0}
.panel p{line-height:1.65}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
.count{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--orange-soft);color:var(--orange);font-weight:800}
.report-list{display:grid}
.report-list a{padding:17px 4px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line)}
.report-list a:first-child{border-top:0}
.report-list a:hover strong{color:var(--orange)}
.report-list span{display:grid;gap:4px}
.report-list small,.muted{color:var(--muted)}
.badge{display:inline-flex;width:max-content;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.06em}
.badge-draft{background:#f0edf2;color:#6e6573}
.badge-approved{background:#e8f7ef;color:#20704e}
.badge-published{background:var(--orange-soft);color:#b94e08}
.two-col{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:20px;align-items:start}
.client-list{display:grid}
.client-list article{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:15px 0;border-top:1px solid var(--line)}
.client-list article:first-child{border-top:0}
.client-list article>div:nth-child(2){display:grid;gap:4px}
.client-list small{color:var(--muted)}
.client-avatar{width:44px;height:44px;border-radius:12px;background:var(--plum);color:#fff;display:grid;place-items:center;font-weight:800}
.empty{text-align:center;padding:38px 20px;color:var(--muted)}
.empty h3{color:var(--ink)}
form{display:grid;gap:15px}
label{display:grid;gap:7px;color:var(--plum);font-size:13px;font-weight:700}
input,select,textarea{width:100%;border:1px solid #dcd4df;background:#fff;border-radius:10px;padding:11px 12px;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(244,122,32,.12)}
textarea{resize:vertical}
.field-row,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.button{border:0;border-radius:10px;padding:11px 16px;background:var(--orange);color:#fff;font-weight:800;cursor:pointer}
.button:hover{filter:brightness(.96)}
.button.secondary{background:#f0ebf2;color:var(--plum)}
.button-wide{width:100%;margin-top:4px}
.text-link{color:var(--orange);font-weight:700;font-size:13px}
.notice{margin:0 0 20px;padding:13px 15px;border-radius:10px;background:#e8f7ef;color:#176a48}
.notice.error{background:#fff0ee;color:#a5372d}
.auth-body{min-height:100vh;background:#271f2f}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}
.auth-brand{padding:8vw;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 75% 15%,rgba(244,122,32,.22),transparent 28%),linear-gradient(145deg,#261f2e,#493650);color:#fff}
.auth-brand img{width:180px;margin-bottom:70px;filter:brightness(0) invert(1)}
.auth-brand h1{max-width:650px;font-size:clamp(40px,5.5vw,76px);line-height:.98;letter-spacing:-.055em;margin:18px 0}
.auth-brand>p:last-child{max-width:560px;color:#d8cedd;font-size:18px;line-height:1.6}
.auth-card{background:#fff;padding:8vw;display:flex;flex-direction:column;justify-content:center}
.auth-card h2{font-size:36px;margin:8px 0}
.auth-card form{margin-top:24px}
.auth-card small{font-weight:400;color:var(--muted)}
.report-cover{min-height:270px;border-radius:24px;padding:38px;background:linear-gradient(135deg,#2c2334,#5a3b5d);color:#fff;display:flex;justify-content:space-between;align-items:flex-end;box-shadow:var(--shadow)}
.report-cover img{width:140px;margin-bottom:45px;filter:brightness(0) invert(1)}
.report-cover h2{font-size:46px;margin:8px 0}
.report-cover p{margin:0;color:#ddd3e2}
.approval-bar{margin-top:18px;padding:16px 20px;border-radius:14px;background:var(--orange-soft);display:flex;justify-content:space-between;align-items:center;gap:20px}
.approval-bar>div{display:grid;gap:3px}
.approval-bar span{font-size:12px;color:#795f50}
.approval-bar form{display:flex;gap:8px}
.narrative{padding:34px}
.narrative>p:last-child{font-size:17px}
.report-sections{grid-template-columns:1fr 1fr}
.stat-lines{display:grid}
.stat-lines span{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);color:var(--muted)}
.stat-lines strong{color:var(--ink)}
.report-footer{text-align:center;color:var(--muted);font-size:12px;padding:34px}
.integration-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.integration{display:flex;gap:16px;margin-top:20px}
.integration-icon{flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:var(--plum);color:#fff;display:grid;place-items:center;font-weight:900}
.integration h3{margin:1px 0}
.integration p{margin:6px 0 12px;color:var(--muted)}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.feature-grid>div{padding:18px;border-radius:14px;background:var(--paper)}
.feature-grid p{margin:5px 0;color:var(--muted);font-size:13px}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}
.sidebar{position:relative;height:auto;padding:16px 20px}
.brand{padding:0;border:0;flex-direction:row;align-items:center}
.brand img{width:100px}
.sidebar nav{display:flex;overflow-x:auto;margin-top:14px}
.sidebar nav a{white-space:nowrap}
.user-panel{display:none}
.two-col,.auth-shell{grid-template-columns:1fr}
.metric-grid{grid-template-columns:1fr 1fr}
.auth-brand{min-height:420px}
.auth-brand img{margin-bottom:35px}
.report-sections{grid-template-columns:1fr}
}
@media(max-width:620px){.main{padding:24px 16px 50px}
.topbar{align-items:flex-start}
.hero{padding:28px;min-height:300px}
.orb{display:none}
.metric-grid,.integration-grid,.feature-grid,.field-row,.form-grid{grid-template-columns:1fr}
.approval-bar{align-items:flex-start;flex-direction:column}
.approval-bar form{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr}
.report-cover{padding:28px;min-height:235px}
.report-cover h2{font-size:34px}
.auth-brand,.auth-card{padding:45px 25px}
.auth-brand h1{font-size:43px}
.auth-brand img{width:140px}
}
@media print{.sidebar,.topbar,.no-print,.notice{display:none!important}
.app-shell{display:block}
.main{padding:0;background:#fff}
.report-cover,.panel,.metric{box-shadow:none;break-inside:avoid}
.report-cover{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.report-metrics{grid-template-columns:repeat(4,1fr)}
.report-sections{grid-template-columns:1fr 1fr}
.report-footer{padding-bottom:0}
@page{size:letter;margin:.45in}
}
