
:root{
  --navy:#0b2d52;--navy2:#123f70;--blue:#1676e8;--blue2:#0b63ce;--red:#c91d2e;
  --bg:#f4f7fb;--card:#fff;--ink:#102a4c;--muted:#667a92;--line:#dbe4ef;
  --green:#18864b;--greenbg:#edf9f1;--yellow:#a66a00;--yellowbg:#fff7df;--purple:#6a4bd9;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink)}
button,input,select,textarea{font:inherit}
.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10}
.brandWrap{display:flex;align-items:center;gap:18px;min-width:0;overflow:hidden}.brandLogo{width:min(210px,28vw);max-width:210px;max-height:58px;height:auto;object-fit:contain;object-position:left center;display:block;flex:0 1 auto;margin-top:4px}.brandTitle strong{font-size:22px}.brandTitle span{display:block;font-size:13px;color:var(--muted);margin-top:3px}.userChip{font-size:14px;color:var(--muted)}
.appShell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 78px)}
.sidebar{background:linear-gradient(180deg,var(--navy),#06223f);padding:20px 10px;display:flex;flex-direction:column;gap:6px}
.nav{display:flex;gap:12px;align-items:center;color:#dfeafb;background:transparent;border:0;border-radius:8px;padding:12px 14px;text-align:left;font-weight:700;text-decoration:none;cursor:pointer}
.nav:hover,.nav.active{background:#1c4f83;color:#fff}.sideFooter{margin-top:auto;color:#dfeafb;padding:14px;font-size:13px}.sideFooter small{opacity:.8}
.content{padding:24px;max-width:1500px;width:100%;margin:0 auto}.view{display:none}.view.active{display:block}
.pageHead,.estimateHead,.cardHead,.titleLine{display:flex;align-items:center;justify-content:space-between;gap:16px}.pageHead{margin-bottom:18px}.pageHead h1,.estimateHead h1{margin:0 0 4px;font-size:28px}.pageHead p,.cardHead p{margin:3px 0;color:var(--muted)}
.primary,.secondaryBtn,.backBtn{border-radius:7px;padding:10px 15px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block}
.primary{border:1px solid var(--blue);background:var(--blue);color:#fff}.primary:hover{background:var(--blue2)}
.secondaryBtn{border:1px solid #cbd8e7;background:#fff;color:var(--ink)}.backBtn{border:0;background:transparent;color:var(--blue);padding-left:0}
.statsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.statsGrid.compact{margin:16px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.stat span{display:block;font-size:12px;color:var(--muted);font-weight:700}.stat strong{display:block;font-size:26px;margin-top:8px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 2px 8px rgba(18,47,79,.04);margin-bottom:16px}.card h2,.card h3{margin-top:0}
.estimateRow{display:grid;grid-template-columns:1.4fr 1.1fr .9fr auto;gap:14px;align-items:center;padding:14px 4px;border-top:1px solid var(--line)}.estimateRow:first-child{border-top:0}.estimateRow strong{font-size:14px}.muted{color:var(--muted);font-size:13px}
.statusBadge,.pill{display:inline-block;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px;background:#eaf3ff;color:var(--blue2)}.pill{padding:3px 8px}.purple{background:#efeaff;color:var(--purple)}
.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}label{font-size:13px;font-weight:800;color:#314c6d}input,select,textarea{width:100%;margin-top:6px;border:1px solid #cbd8e7;border-radius:8px;padding:11px;background:#fff;color:var(--ink)}textarea{min-height:86px}.helper{background:#f3f7fb;padding:11px;border-radius:8px;color:var(--muted);font-size:13px}
.hidden{display:none!important}.twoCol,.videoGrid,.analysisGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.analysisGrid{grid-template-columns:minmax(320px,.8fr) minmax(0,1.5fr)}
.innerTabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:18px 0 16px;overflow:auto}.innerTab{border:0;background:transparent;padding:12px 0;color:#58708d;font-weight:800;cursor:pointer;white-space:nowrap}.innerTab.active{color:var(--blue);border-bottom:3px solid var(--blue)}
.innerPanel{display:none}.innerPanel.active{display:block}.workflow{display:flex;gap:10px;flex-wrap:wrap}.workflow span{background:#eef4fb;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}
.videoPlayerBox{background:#0b1422;border-radius:10px;min-height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden}.videoPlayerBox video{width:100%;max-height:430px;background:#000}.emptyMedia{color:#b8c6d8;font-size:14px}
.videoItem{border-top:1px solid var(--line);padding:12px 0}.videoItem:first-child{border-top:0}.videoActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.linkBtn{border:1px solid #cbd8e7;background:#fff;color:var(--blue2);border-radius:7px;padding:7px 10px;font-weight:800;text-decoration:none;cursor:pointer}
.goodPanel{background:var(--greenbg);border:1px solid #ccebd8;border-radius:9px;padding:12px;color:#166d3f}.badPanel{background:#fff0f0;border:1px solid #f0caca;border-radius:9px;padding:12px;color:#9e1c2a}.processingPanel{background:#eef5ff;border:1px solid #cfe0f5;border-radius:9px;padding:12px;color:#1f5a96}.warnCard{background:#fffdf7}.bigCount{font-size:28px;color:var(--red)}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px 7px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f7f9fc;color:#49627f}.confGood{background:#d9f4e3;color:#16723f;border-radius:999px;padding:4px 8px;font-weight:800}.confLow{background:#fff0c9;color:#9a6400;border-radius:999px;padding:4px 8px;font-weight:800}
.todoRow{display:grid;grid-template-columns:80px 1.2fr 1fr 120px 120px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #eadfbf}.todoRow:first-child{border-top:0}.todoRow button{border:1px solid #cbd8e7;background:#fff;border-radius:7px;padding:8px;font-weight:800}
.locked{background:var(--yellowbg);border:1px solid #f0d88d;border-radius:9px;padding:16px;color:#7e5a00}.successPanel{background:var(--greenbg);border:1px solid #ccebd8;border-radius:9px;padding:16px}
.integrationGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.integrationGrid>div{border:1px solid var(--line);border-radius:10px;padding:14px}.settingsForm{border-top:1px solid var(--line);padding-top:18px}
.customerShell{max-width:780px;margin:30px auto;padding:0 16px}.customerHeader{display:flex;justify-content:center;padding:20px}.customerHeader img{width:min(230px,82vw);max-width:100%;max-height:72px;height:auto;object-fit:contain}.customerCard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 3px 16px rgba(0,0,0,.05)}
@media(max-width:980px){.appShell{grid-template-columns:76px 1fr}.nav span,.sideFooter{display:none}.nav{justify-content:center}.brandTitle{display:none}.twoCol,.videoGrid,.analysisGrid{grid-template-columns:1fr}.statsGrid,.integrationGrid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.topbar{padding:0 14px}.brandWrap{gap:10px}.brandLogo{width:min(155px,50vw);max-width:155px;max-height:48px}.content{padding:14px}.sidebar{display:none}.appShell{display:block}.statsGrid,.integrationGrid,.formGrid{grid-template-columns:1fr}.wide{grid-column:auto}.estimateRow{grid-template-columns:1fr}.todoRow{grid-template-columns:1fr 1fr}.innerTabs{gap:16px}}

.modal{position:fixed;inset:0;background:rgba(6,25,46,.55);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal.hidden{display:none!important}.modalCard{background:#fff;width:min(640px,96vw);border-radius:14px;padding:22px;box-shadow:0 18px 60px rgba(0,0,0,.25)}.modalClose{border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:var(--muted)}

/* v2.8 staff security + verification editor */
.versionTag{font-size:.72rem;font-weight:700;opacity:.7;margin-left:.35rem}
.logoutLink{margin-left:.75rem;font-size:.82rem;color:inherit;text-decoration:underline}
.loginBody{min-height:100vh;display:grid;place-items:center;background:#f3f6fa;padding:24px}
.loginCard{width:min(460px,100%);background:#fff;border-radius:18px;padding:36px;box-shadow:0 18px 45px rgba(10,40,70,.14);text-align:center}
.loginLogo{width:min(180px,70vw);max-width:70%;max-height:70px;height:auto;object-fit:contain;margin-bottom:22px}
.loginCard p{line-height:1.55}.loginCard .primaryButton{display:inline-block;margin:16px 0;padding:13px 22px}
.verifyModalCard{max-width:820px;max-height:92vh;overflow:auto}
.aiOriginalBox{border:1px solid #d8e0e8;background:#f6f8fb;border-radius:10px;padding:14px 16px;margin-bottom:16px}
.originalGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}
.originalGrid span{background:#fff;border-radius:8px;padding:8px}
.checkLabel{display:flex!important;align-items:center;gap:9px}.checkLabel input{width:auto!important;margin:0}
.verifyTotal{font-size:1.05rem;font-weight:700;padding:11px 13px;border-radius:9px;background:#eef4fa}
.settingsAdminGrid{margin-top:18px}.compactForm{margin-bottom:15px}.smallTable{font-size:.88rem}
@media(max-width:760px){.originalGrid{grid-template-columns:1fr 1fr}.verifyModalCard{max-height:96vh}}


/* v2.9 pastel visual refresh — preserves Chase navy/red brand anchors */
:root{
  --bg:#f6f8fc;
  --card:#ffffff;
  --line:#dbe4ef;
  --pastel-blue:#eaf4ff;
  --pastel-sky:#eef8ff;
  --pastel-mint:#edf9f3;
  --pastel-lav:#f2efff;
  --pastel-peach:#fff1e8;
  --pastel-yellow:#fff8df;
  --pastel-rose:#fff0f3;
  --pastel-aqua:#eaf9f8;
}
body{background:linear-gradient(180deg,#f7f9fd 0%,#f3f7fb 100%)}
.topbar{background:rgba(255,255,255,.97);box-shadow:0 2px 14px rgba(22,59,96,.06);overflow:hidden}
.content{background:transparent}
.card{border-color:#dce6f1;box-shadow:0 6px 18px rgba(25,63,104,.055)}
.card:hover{box-shadow:0 8px 22px rgba(25,63,104,.075)}

/* Soft color cues across dashboard and workspace */
.statsGrid .stat:nth-child(4n+1){background:var(--pastel-blue);border-color:#d6e8fa}
.statsGrid .stat:nth-child(4n+2){background:var(--pastel-mint);border-color:#d7ede3}
.statsGrid .stat:nth-child(4n+3){background:var(--pastel-lav);border-color:#e0daf8}
.statsGrid .stat:nth-child(4n+4){background:var(--pastel-peach);border-color:#f2ddcf}
.stat strong{color:var(--navy)}

.integrationGrid>div:nth-child(3n+1){background:var(--pastel-blue);border-color:#d6e8fa}
.integrationGrid>div:nth-child(3n+2){background:var(--pastel-mint);border-color:#d7ede3}
.integrationGrid>div:nth-child(3n+3){background:var(--pastel-lav);border-color:#e0daf8}

.workflow span:nth-child(4n+1){background:var(--pastel-blue)}
.workflow span:nth-child(4n+2){background:var(--pastel-mint)}
.workflow span:nth-child(4n+3){background:var(--pastel-lav)}
.workflow span:nth-child(4n+4){background:var(--pastel-peach)}

.helper{background:var(--pastel-sky);border:1px solid #dcecf8}
.processingPanel{background:var(--pastel-blue)}
.goodPanel,.successPanel{background:var(--pastel-mint)}
.warnCard,.locked{background:var(--pastel-yellow)}
.badPanel{background:var(--pastel-rose)}
.aiOriginalBox{background:var(--pastel-lav);border-color:#ded8f3}
.verifyTotal{background:var(--pastel-aqua);border:1px solid #d4ece9}

th{background:#edf4fb;color:#3f5e7c}
tbody tr:hover td{background:#f8fbff}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(22,118,232,.12);border-color:#8ebff0}
.secondaryBtn,.linkBtn{background:#fbfdff}
.statusBadge{background:var(--pastel-blue)}
.purple{background:var(--pastel-lav)}

/* Slightly friendlier navigation without losing brand recognition */
.sidebar{background:linear-gradient(180deg,#0b2d52 0%,#123f70 58%,#173b62 100%)}
.nav:hover{background:rgba(255,255,255,.12)}
.nav.active{background:#dfefff;color:#0b3b6f;box-shadow:inset 3px 0 0 #c91d2e}

/* Public/customer surfaces */
.customerShell{background:transparent}
.customerCard{border-color:#dce6f1;box-shadow:0 10px 30px rgba(25,63,104,.08)}
.customerCard h1,.customerCard h2{color:var(--navy)}
.loginBody{background:linear-gradient(135deg,var(--pastel-blue),var(--pastel-lav) 50%,var(--pastel-mint))}
.loginCard{border:1px solid rgba(255,255,255,.9)}

/* Prevent logo/title collisions on narrower screens */
.brandTitle{min-width:0}.brandTitle strong,.brandTitle span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1120px){.brandLogo{width:min(185px,23vw);max-width:185px}.brandTitle strong{font-size:19px}}
@media(max-width:820px){.brandLogo{width:min(155px,32vw);max-width:155px}.topbar{padding-left:18px;padding-right:18px}}

/* v2.11 master cube management + header polish */
.cubeToolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:16px 0 10px}.cubeToolbar input[type=text],.cubeToolbar input:not([type]){flex:1}.cubeTableWrap{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:10px}.cubeTable{margin:0}.cubeTable th{position:sticky;top:0;z-index:1}.inactiveRow{opacity:.58}.inactiveRow td{background:#fafafa}.compactBtn{white-space:nowrap}.loginLogo{padding-top:6px;box-sizing:border-box}.customerHeader img{padding-top:5px;box-sizing:border-box}
@media(max-width:680px){.cubeToolbar{align-items:stretch;flex-direction:column}.cubeTableWrap{max-height:none}}
