/* ============================================================================
   VALIORO OS — application styling.
   Consumes the brand system in valioro.css: Cormorant Garamond (display) + Geist
   (sans), black / cream / gold with restraint ("gold is punctuation"), an 8pt
   rhythm, hairline borders over heavy shadow. Headings AND key numerals are set
   in the serif for a financial-report gravitas; chrome is quiet so the work leads.
   ============================================================================ */
:root{
  /* short aliases → brand tokens (single source of truth = valioro.css) */
  --b:var(--valioro-black);--gold:var(--valioro-gold);--gold-l:var(--valioro-gold-light);
  --gold-d:var(--valioro-gold-deep);--cream:var(--valioro-cream);--cream50:var(--cream-50);
  --cream2:var(--cream-200);--cream3:var(--cream-300);--slate:var(--valioro-slate);
  --slate7:var(--slate-700);--slate6:var(--slate-600);--slate5:var(--slate-500);
  --white:#fff;--pos:var(--positive);
  --rail:#0C1016;          /* the deep app rail */
  --rail-line:rgba(184,150,46,.16);
  --ink:var(--slate-900);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--cream);color:var(--slate);
  font-family:var(--font-sans);font-size:15px;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;}
svg{display:block;}

/* serif display for section/view/card headings + the big numerals -------------- */
.os-view-h h1,.os-qh h2,.os-pcard h3,.os-dr-h h3,.os-if-head h2{
  font-family:var(--font-display);font-weight:500;color:var(--b);
  letter-spacing:-.02em;line-height:1.12;text-wrap:balance;margin:0;}
.os-irsbig b,.os-vcard-n,.os-progbig b{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;}

/* ---- shell + rail ---------------------------------------------------------- */
.os-shell{display:flex;min-height:100vh;}
.os-side{width:252px;flex:0 0 252px;background:var(--rail);color:var(--cream);
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;border-right:1px solid #000;}
.os-logo{padding:28px 24px 22px;border-bottom:1px solid var(--rail-line);}
.os-logo b{display:block;color:var(--cream);font-weight:600;letter-spacing:.3em;font-size:15px;}
.os-logo span{display:block;margin-top:5px;font-size:10px;color:var(--gold);letter-spacing:.26em;
  text-transform:uppercase;font-weight:500;}
.os-side nav{padding:18px 14px;flex:1;display:flex;flex-direction:column;gap:2px;}
.os-navbtn{position:relative;display:flex;align-items:center;gap:13px;width:100%;text-align:left;
  background:none;border:0;color:#9AA1AE;padding:10px 14px;border-radius:8px;font-size:13.5px;
  font-weight:500;letter-spacing:.005em;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast);}
.os-navbtn:hover{background:rgba(255,255,255,.045);color:var(--cream);}
.os-navbtn.active{background:rgba(184,150,46,.12);color:var(--cream);}
.os-navbtn.active::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;
  background:var(--gold);border-radius:0 2px 2px 0;}
.os-navi{width:18px;height:18px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:var(--gold-l);}
.os-navi svg{width:18px;height:18px;}
.os-navbtn.active .os-navi{color:var(--gold);}
.os-side-foot{padding:18px 18px;border-top:1px solid var(--rail-line);font-size:12px;}
.os-badge{display:block;font-weight:600;font-size:11.5px;letter-spacing:.02em;margin-bottom:9px;}
.os-badge.local{color:var(--gold-l);}
.os-badge.authed{color:#9ED6B4;}
.os-signout{background:transparent;border:1px solid rgba(255,255,255,.18);color:var(--cream);font-size:12px;
  padding:6px 13px;border-radius:7px;transition:border-color var(--dur-fast);}
.os-signout:hover{border-color:var(--gold);}
.os-sitelink{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:var(--slate5);
  font-size:11.5px;font-weight:500;letter-spacing:.02em;transition:color var(--dur-fast);}
.os-sitelink svg{width:12px;height:12px;}
.os-sitelink:hover{color:var(--gold-l);}
.os-sitelink.center{justify-content:center;margin-top:0;color:var(--slate6);}
.os-sitelink.center:hover{color:var(--gold-d);}

/* ---- main ------------------------------------------------------------------ */
.os-main{flex:1;min-width:0;padding:46px 56px 96px;max-width:1300px;}
.os-view-h{display:flex;align-items:flex-end;gap:24px;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px;}
.os-view-h h1{font-size:36px;}
.os-view-h p{color:var(--slate6);font-size:15px;margin:10px 0 0;max-width:64ch;}
.os-search{padding:11px 15px;border:1px solid var(--cream3);border-radius:8px;font-size:14px;min-width:250px;
  background:var(--white);color:var(--slate);font-family:inherit;transition:border-color var(--dur-fast);}
.os-search:focus{outline:none;border-color:var(--gold);}

.os-section{margin-top:44px;}
.os-qh{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--cream3);
  padding-bottom:11px;margin-bottom:20px;flex-wrap:wrap;}
.os-qt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);font-weight:600;}
.os-qh .os-qt{display:inline-flex;align-items:center;gap:10px;}
.os-qh .os-qt::before{content:"";width:22px;height:2px;background:var(--gold);flex:0 0 auto;}
.os-qh h2{font-size:25px;}
.os-qs{margin-left:auto;font-size:12.5px;color:var(--slate5);}

/* ---- cards ----------------------------------------------------------------- */
.os-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:16px;}
.os-card{background:var(--cream50);border:1px solid var(--border-strong);border-radius:12px;
  padding:20px 22px;box-shadow:var(--shadow-xs);
  transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base),transform var(--dur-base);}
.os-card:hover{border-color:var(--gold);box-shadow:var(--shadow-md);transform:translateY(-1px);}
.os-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.os-code{font-size:10.5px;letter-spacing:.05em;font-weight:600;padding:3px 9px;border-radius:5px;
  background:var(--slate);color:var(--gold-l);}
.os-code.gold{background:var(--gold);color:var(--b);}
.os-nm{font-weight:600;font-size:16px;color:var(--ink);flex:1;min-width:150px;line-height:1.3;}
.os-disc{font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--slate5);
  border:1px solid var(--cream3);background:transparent;padding:3px 8px;border-radius:4px;font-weight:600;}
.os-irs{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--pos);background:var(--positive-bg);padding:3px 9px;border-radius:5px;}
.os-irs.rec{color:var(--slate6);background:var(--cream2);}
.os-tag{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--slate6);font-size:15px;margin-bottom:10px;line-height:1.4;}
.os-kill{font-size:12.5px;color:var(--slate);background:var(--white);border-left:2px solid var(--gold);
  padding:8px 12px;border-radius:0 6px 6px 0;margin-bottom:12px;line-height:1.45;}
.os-kill b{color:var(--gold-d);font-weight:600;}
.os-bw{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.os-bwl{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--slate5);font-weight:600;margin-right:2px;}
.os-chipwrap{display:inline-flex;align-items:stretch;}
.os-chip{display:inline-flex;align-items:center;gap:6px;background:var(--slate);color:var(--cream);
  font-size:11.5px;font-weight:500;padding:5px 11px;border-radius:6px;transition:background var(--dur-fast);}
.os-chip svg{width:13px;height:13px;}
.os-chipwrap .os-chip{border-radius:6px 0 0 6px;}
.os-chip:hover{background:var(--slate7);}.os-chip b{color:var(--gold-l);font-weight:600;}
.os-chip.miss{background:var(--cream2);color:var(--slate5);}
.os-fileicons{display:inline-flex;}
.os-fi,.os-ftag{font-size:9px;font-weight:700;letter-spacing:.05em;color:var(--slate6);
  background:var(--cream2);border:1px solid var(--cream3);line-height:1;}
.os-fi{display:inline-flex;align-items:center;padding:5px 7px;border-left:0;transition:background var(--dur-fast);}
.os-fi:last-child{border-radius:0 6px 6px 0;}
.os-fi:hover{background:var(--cream);color:var(--gold-d);}
.os-ftag{display:inline-flex;align-items:center;padding:3px 6px;border-radius:4px;}
.os-spec-toggle{margin-top:13px;background:none;border:0;border-top:1px solid var(--cream3);width:100%;
  display:flex;align-items:center;gap:7px;padding:10px 0 0;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d);}
.os-chev{display:inline-flex;transition:transform var(--dur-base) var(--ease-standard);}
.os-chev svg{width:14px;height:14px;}
.os-chev.open{transform:rotate(180deg);}
.os-spec{font-size:14px;color:var(--slate);padding-top:8px;line-height:1.55;}
.os-spec p{margin:8px 0;}.os-spec ul{margin:5px 0 5px 20px;}.os-spec li{margin:3px 0;}
.os-spec b{font-weight:600;color:var(--ink);}
.os-spec .os-meta{color:var(--slate5);font-size:12.5px;}
.os-spec .os-qa{background:var(--white);border:1px solid var(--cream3);padding:8px 11px;border-radius:7px;font-size:12.5px;}
.os-muted{color:var(--slate6);font-size:13px;}

/* ---- link rows (methodology / tools / operations / brand) ------------------ */
.os-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px;margin-top:22px;}
.os-row{display:flex;align-items:center;gap:13px;background:var(--cream50);border:1px solid var(--border-strong);
  border-radius:10px;padding:15px 17px;font-size:14px;font-weight:500;color:var(--slate);
  transition:border-color var(--dur-base) var(--ease-standard),transform var(--dur-base);}
.os-row:hover{border-color:var(--gold);transform:translateX(2px);}
.os-row .os-ri{width:18px;height:18px;flex:0 0 auto;color:var(--gold-d);display:inline-flex;}
.os-row .os-ri svg{width:18px;height:18px;}
.os-row em{color:var(--slate5);font-weight:400;font-style:normal;}

/* ---- panel ----------------------------------------------------------------- */
.os-panel{background:var(--cream50);border:1px solid var(--border-strong);border-left:2px solid var(--gold);
  border-radius:0 12px 12px 0;padding:24px 26px;margin-top:20px;max-width:840px;}
.os-panel h3{font-family:var(--font-display);font-weight:500;color:var(--b);margin:0 0 12px;font-size:21px;letter-spacing:-.01em;}
.os-panel p{margin:9px 0;font-size:14px;color:var(--slate);line-height:1.55;}

/* ---- buttons + controls ---------------------------------------------------- */
.os-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;
  padding:10px 18px;font-size:13px;font-weight:600;letter-spacing:.01em;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast);}
.os-btn svg{width:15px;height:15px;}
.os-btn.gold{background:var(--gold);color:var(--b);}
.os-btn.gold:hover{background:var(--gold-l);}
.os-btn.ghost{background:var(--white);border:1px solid var(--border-strong);color:var(--slate);}
.os-btn.ghost:hover{border-color:var(--gold);color:var(--gold-d);}
.os-btn.sm{padding:7px 13px;font-size:12px;}
.os-btn:disabled{opacity:.5;cursor:default;}
.os-linkbtn{background:none;border:0;color:var(--gold-d);font-weight:600;text-decoration:underline;
  text-underline-offset:2px;font-size:12.5px;padding:0;}
.os-back{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--slate5);font-weight:600;font-size:12px;
  letter-spacing:.06em;text-transform:uppercase;padding:0 0 8px;}
.os-back svg{width:13px;height:13px;}
.os-back:hover{color:var(--gold-d);}
.os-formrow{display:flex;align-items:center;gap:9px;margin:9px 0;}
.os-formrow input,.os-formrow select{padding:10px 12px;border:1px solid var(--cream3);border-radius:8px;
  font-size:13.5px;background:var(--white);color:var(--slate);font-family:inherit;}
.os-formrow input{flex:1;min-width:0;}
.os-formrow.vals input{flex:1;max-width:130px;}
.os-flabel{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--slate6);min-width:170px;}
.os-formrow input:focus,.os-formrow select:focus{outline:none;border-color:var(--gold);}
.os-search.sm{min-width:190px;padding:9px 13px;font-size:13px;}

/* ---- tabs ------------------------------------------------------------------ */
.os-tabs{display:flex;gap:6px;border-bottom:1px solid var(--cream3);margin:18px 0 24px;flex-wrap:wrap;}
.os-tab{background:none;border:0;border-bottom:2px solid transparent;padding:10px 4px;margin:0 10px -1px 0;
  font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--slate5);}
.os-tab:hover{color:var(--slate);}
.os-tab.active{color:var(--gold-d);border-bottom-color:var(--gold);}

/* ---- IRS meter ------------------------------------------------------------- */
.os-irsmeter{margin:4px 0;}
.os-irsmeter-top{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap;}
.os-irsbig b{font-size:52px;color:var(--ink);}
.os-irsbig span{font-size:13px;color:var(--slate5);margin-left:6px;}
.os-irsread{font-size:12.5px;color:var(--slate6);text-align:right;}
.os-irsread b{display:block;color:var(--gold-d);font-size:20px;font-weight:600;}
.os-irsread em{color:var(--slate5);font-style:normal;font-size:12px;}
.os-track{position:relative;height:12px;background:var(--cream2);border-radius:7px;}
.os-track.sm{height:9px;border-radius:5px;}
.os-track-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--gold-d),var(--gold-l));
  border-radius:7px;transition:width var(--dur-slow) var(--ease-emphasized);}
.os-tick{position:absolute;top:-4px;width:2px;height:20px;transform:translateX(-1px);}
.os-tick.base{background:var(--slate5);}
.os-tick.tgt{background:var(--pos);}
.os-tick.tgt:after{content:"";position:absolute;top:-7px;left:-3px;border:4px solid transparent;border-top-color:var(--pos);}
.os-tick.cur{width:0;}
.os-tick.cur:after{content:"";position:absolute;top:0;left:-7px;width:14px;height:14px;border-radius:50%;
  background:var(--ink);border:2.5px solid var(--cream50);box-shadow:var(--shadow-sm);}
.os-track-legend{display:flex;gap:20px;margin-top:16px;font-size:12px;color:var(--slate6);flex-wrap:wrap;}
.os-track-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle;}
.dot.base{background:var(--slate5);}.dot.cur{background:var(--ink);}.dot.tgt{background:var(--pos);}

/* ---- valuation ------------------------------------------------------------- */
.os-vpanel{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;}
.os-vcard{background:var(--cream50);border:1px solid var(--border-strong);border-radius:12px;padding:18px 19px;}
.os-vcard.cur{border-color:var(--gold);box-shadow:var(--shadow-gold-glow);}
.os-vcard.tgt{border-style:dashed;}
.os-vcard-t{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--slate5);}
.os-vcard-n{display:block;font-size:30px;color:var(--ink);margin:6px 0 2px;}
.os-vcard-r{font-size:12px;color:var(--slate5);}
.os-vbar{position:relative;height:6px;background:var(--cream2);border-radius:4px;margin:13px 0 5px;overflow:hidden;}
.os-vbar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:4px;opacity:.22;}
.os-vbar-fill.base{background:var(--slate5);}.os-vbar-fill.cur{background:var(--gold);}.os-vbar-fill.tgt{background:var(--pos);}
.os-vbar-rng{position:absolute;top:0;bottom:0;border-radius:4px;}
.os-vcard.base .os-vbar-rng{background:var(--slate5);}.os-vcard.cur .os-vbar-rng{background:var(--gold);}.os-vcard.tgt .os-vbar-rng{background:var(--pos);}
.os-vcard-d{font-size:12px;font-weight:600;color:var(--pos);}
.os-vcard.tgt .os-vcard-d{color:var(--gold-d);}

/* ---- pillars --------------------------------------------------------------- */
.os-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px 24px;}
.os-pillar{min-width:0;}
.os-pillar-h{display:flex;justify-content:space-between;font-size:13px;font-weight:500;color:var(--slate);margin-bottom:5px;}
.os-pillar-h b{color:var(--gold-d);font-weight:600;}
.os-pillar-track{position:relative;height:7px;background:var(--cream2);border-radius:4px;overflow:hidden;}
.os-pillar-base{position:absolute;left:0;top:0;bottom:0;background:var(--cream3);}
.os-pillar-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--gold-d),var(--gold-l));border-radius:4px;}

/* ---- status pills + board -------------------------------------------------- */
.os-stp{font-size:10px;font-weight:600;letter-spacing:.04em;padding:3px 9px;border-radius:5px;white-space:nowrap;text-transform:uppercase;}
.os-stp.ns{background:var(--cream2);color:var(--slate5);}
.os-stp.ip{background:#F6EBD0;color:var(--gold-d);}
.os-stp.rv{background:var(--info-bg);color:var(--info);}
.os-stp.dl{background:var(--positive-bg);color:var(--pos);}
.os-stsel{font-size:12px;font-weight:500;padding:6px 9px;border-radius:7px;border:1px solid var(--cream3);background:var(--white);font-family:inherit;}
.os-stsel.ns{color:var(--slate5);}.os-stsel.ip{color:var(--gold-d);}.os-stsel.rv{color:var(--info);}.os-stsel.dl{color:var(--pos);}
.os-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;}
.os-boardq{background:var(--cream50);border:1px solid var(--border-strong);border-radius:12px;padding:16px 17px;}
.os-boardq-h{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--cream2);padding-bottom:10px;margin-bottom:10px;}
.os-qt.sm{font-size:10px;}
.os-boardq-nm{font-weight:600;font-size:14px;color:var(--ink);flex:1;}
.os-boardq-ct{font-size:10.5px;color:var(--slate5);font-weight:500;letter-spacing:.02em;}
.os-boardrow{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--cream2);}
.os-boardrow:last-child{border-bottom:0;}
.os-boardrow-code{font-size:10px;font-weight:600;letter-spacing:.02em;color:var(--gold-d);min-width:64px;}
.os-boardrow-nm{flex:1;font-size:12.5px;color:var(--slate);min-width:0;}

/* ---- data room ------------------------------------------------------------- */
.os-dr{display:flex;gap:22px;align-items:flex-start;margin-top:16px;flex-wrap:wrap;}
.os-dr-folders{flex:0 0 268px;display:flex;flex-direction:column;gap:2px;}
.os-drf{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:1px solid transparent;
  border-radius:8px;padding:10px 12px;font-size:12.5px;color:var(--slate);transition:background var(--dur-fast),border-color var(--dur-fast);}
.os-drf:hover{background:var(--cream50);border-color:var(--cream3);}
.os-drf.active{background:var(--slate);color:var(--cream);border-color:var(--slate);}
.os-drf.active .os-drf-nm b{color:var(--gold-l);}
.os-drf-ic{width:17px;height:17px;flex:0 0 auto;color:var(--gold-d);display:inline-flex;}
.os-drf-ic svg{width:17px;height:17px;}
.os-drf.active .os-drf-ic{color:var(--gold-l);}
.os-drf-nm{flex:1;min-width:0;}.os-drf-nm b{color:var(--gold-d);font-weight:600;}
.os-drf-ct{font-size:10.5px;font-weight:600;background:var(--cream2);color:var(--slate6);border-radius:10px;padding:1px 8px;}
.os-drf.active .os-drf-ct{background:rgba(255,255,255,.14);color:var(--cream);}
.os-dr-main{flex:1;min-width:300px;}
.os-dr-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
.os-dr-h h3{font-size:20px;}
.os-doclist{display:flex;flex-direction:column;gap:7px;}
.os-docrow{display:flex;align-items:center;gap:12px;background:var(--cream50);border:1px solid var(--border-strong);
  border-radius:9px;padding:11px 14px;font-size:13px;transition:border-color var(--dur-fast);}
.os-docrow:hover{border-color:var(--cream3);}
.os-doc-nm{flex:1;min-width:0;color:var(--slate);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.os-doc-src{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:3px 7px;border-radius:4px;}
.os-doc-src.delivered{background:var(--positive-bg);color:var(--pos);}
.os-doc-src.received{background:var(--cream2);color:var(--slate6);}
.os-doc-dt{font-size:11px;color:var(--slate5);}
.os-doc-open{background:var(--slate);color:var(--cream);border:0;border-radius:7px;padding:6px 13px;font-size:12px;font-weight:500;transition:background var(--dur-fast);}
.os-doc-open:hover{background:var(--slate7);}
.os-doc-noopen{font-size:11px;font-style:italic;color:var(--slate5);padding:5px 4px;}
.os-doc-rm{display:inline-flex;background:none;border:0;color:var(--slate5);line-height:1;}
.os-doc-rm svg{width:15px;height:15px;}.os-doc-rm:hover{color:var(--negative);}
.os-adddoc{display:flex;gap:9px;margin-bottom:14px;flex-wrap:wrap;}
.os-adddoc input,.os-adddoc select{padding:9px 11px;border:1px solid var(--cream3);border-radius:8px;font-size:12.5px;background:var(--white);font-family:inherit;}
.os-adddoc input{flex:1;min-width:190px;}

/* ---- intake forms ---------------------------------------------------------- */
.os-intakeform{max-width:940px;}
.os-if-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px;}
.os-if-head h2{font-size:24px;}
.os-gate{background:var(--cream50);border:1px solid var(--border-strong);border-left:2px solid var(--gold);
  border-radius:0 10px 10px 0;padding:12px 16px;margin:12px 0 22px;font-size:13px;color:var(--slate);
  display:flex;align-items:center;gap:13px;flex-wrap:wrap;}
.os-gate b{font-weight:600;}
.os-gate.open{border-left-color:var(--pos);}
.os-gate.closed{border-left-color:var(--gold);}
.os-gate.mini{padding:6px 0;border:0;margin:9px 0;background:none;}
.os-gate-track{flex:0 0 130px;height:6px;background:var(--cream2);border-radius:4px;overflow:hidden;}
.os-gate-fill{height:100%;background:linear-gradient(90deg,var(--gold-d),var(--gold-l));}
.os-gate.open .os-gate-fill{background:var(--pos);}
.os-isec{background:var(--cream50);border:1px solid var(--border-strong);border-radius:12px;padding:17px 19px;margin-bottom:16px;}
.os-isec.tier1{border-left:2px solid var(--gold);}
.os-isec.tier2{border-left:2px solid var(--cream3);}
.os-isec h4{font-family:var(--font-sans);margin:0 0 12px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d);}
.os-igrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:14px 20px;}
.os-ifield label{display:flex;gap:8px;align-items:baseline;margin-bottom:5px;}
.os-ifield-id{font-size:9.5px;font-weight:700;letter-spacing:.03em;color:var(--cream50);background:var(--slate5);padding:2px 6px;border-radius:4px;flex:0 0 auto;}
.os-ifield.req .os-ifield-id{background:var(--gold-d);}
.os-ifield-lab{font-size:12.5px;font-weight:500;color:var(--slate);}
.os-req{color:var(--negative);font-style:normal;margin-left:2px;}
.os-ifield input[type=text],.os-ifield input[type=number],.os-ifield textarea{width:100%;padding:9px 11px;
  border:1px solid var(--cream3);border-radius:8px;font-size:13px;background:var(--white);color:var(--slate);font-family:inherit;}
.os-ifield input:focus,.os-ifield textarea:focus{outline:none;border-color:var(--gold);}
.os-ifield-help{font-size:11.5px;color:var(--slate5);margin:4px 0 0;line-height:1.45;}
.os-filefield{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.os-filefield input[type=file]{font-size:12px;color:var(--slate6);}
.os-fileok{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--pos);font-weight:600;}
.os-fileok svg{width:13px;height:13px;}
.os-if-actions{display:flex;gap:11px;justify-content:flex-end;margin-top:8px;}

/* ---- dashboard ------------------------------------------------------------- */
.os-dashgrid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:20px;}
.os-pcard{background:var(--cream50);border:1px solid var(--border-strong);border-radius:12px;padding:22px 24px;box-shadow:var(--shadow-xs);}
.os-pcard h3{font-size:19px;margin:0 0 14px;}
.os-pnote{font-size:13px;color:var(--slate6);margin:14px 0 0;line-height:1.55;}
.os-progbig{display:flex;align-items:baseline;gap:9px;margin-bottom:12px;}
.os-progbig b{font-size:42px;color:var(--gold-d);}
.os-progbig span{font-size:12.5px;color:var(--slate5);}
@media(max-width:820px){.os-dashgrid{grid-template-columns:1fr;}}

/* ---- clients --------------------------------------------------------------- */
.os-card.client{cursor:pointer;}
.os-clientstats{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--slate6);margin:10px 0 14px;}
.os-clientstats b{color:var(--ink);font-size:17px;font-family:var(--font-display);font-weight:600;}
.os-kv{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:10px;}
.os-kv td{border-bottom:1px solid var(--cream2);padding:6px 8px;vertical-align:top;}
.os-kv td:first-child{font-weight:600;color:var(--gold-d);width:74px;white-space:nowrap;}

/* ---- splash + login -------------------------------------------------------- */
.os-splash{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  background:radial-gradient(120% 120% at 50% 0%,#141A24 0%,var(--rail) 60%);color:var(--cream);}
.os-splash b{color:var(--cream);font-weight:600;letter-spacing:.34em;font-size:22px;}
.os-splash span{letter-spacing:.28em;text-transform:uppercase;font-size:11px;color:var(--gold);font-weight:500;}
.os-splash i{color:var(--slate5);font-size:12.5px;font-style:italic;margin-top:12px;font-family:var(--font-display);}
.os-login{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(120% 120% at 50% 0%,#141A24 0%,var(--rail) 60%);padding:20px;}
.os-login-lang{position:absolute;top:18px;right:18px;display:flex;gap:2px;
  border:1px solid rgba(245,240,232,.22);border-radius:7px;padding:2px;}
.os-login-lang button{background:transparent;color:#F5F0E8;font-family:inherit;font-size:11px;font-weight:500;
  letter-spacing:.08em;padding:6px 9px;border:0;border-radius:5px;cursor:pointer;}
.os-login-lang button.on{background:var(--gold);color:var(--b);}
.os-login-card{background:var(--cream50);border-radius:14px;padding:40px 34px;width:100%;max-width:392px;
  box-shadow:var(--shadow-lg);border-top:2px solid var(--gold);display:flex;flex-direction:column;gap:13px;}
.os-login-brand{text-align:center;margin-bottom:4px;}
.os-login-brand b{display:block;color:var(--b);font-weight:600;letter-spacing:.3em;font-size:20px;}
.os-login-brand span{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-d);font-weight:500;}
.os-login-sub{text-align:center;color:var(--slate6);font-size:13px;margin:2px 0 10px;}
.os-login-card input{padding:12px 14px;border:1px solid var(--cream3);border-radius:8px;font-size:14px;font-family:inherit;background:var(--white);}
.os-login-card input:focus{outline:none;border-color:var(--gold);}
.os-login-card button{background:var(--gold);color:var(--b);font-weight:600;border:0;padding:13px;border-radius:8px;font-size:14px;transition:background var(--dur-fast);}
.os-login-card button:hover{background:var(--gold-l);}
.os-login-card button:disabled{opacity:.6;}
.os-login-err{background:var(--negative-bg);color:var(--negative);font-size:13px;padding:9px 12px;border-radius:7px;}
.os-login-foot{text-align:center;color:var(--slate5);font-size:11.5px;margin:5px 0 0;letter-spacing:.02em;}

/* ---- preview bar + portal shell -------------------------------------------- */
.os-previewbar{position:fixed;top:0;left:0;right:0;z-index:50;height:36px;background:var(--b);color:var(--gold-l);
  font-size:12.5px;font-weight:500;padding:0 18px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--rail-line);}
.os-previewbar svg{width:15px;height:15px;}
.os-previewbar b{color:var(--cream);font-weight:600;}
.os-previewbar button{margin-left:auto;background:var(--gold);color:var(--b);border:0;border-radius:6px;padding:5px 13px;font-weight:600;font-size:12px;}
.os-shell.portal.previewing{padding-top:36px;}
.os-shell.portal.previewing .os-side{top:36px;}

@media(max-width:760px){
  .os-shell{flex-direction:column;}
  .os-side{width:100%;height:auto;position:static;flex:none;}
  .os-side nav{flex-direction:row;flex-wrap:wrap;}
  .os-main{padding:26px 22px 64px;}
  .os-dr-folders{flex-basis:100%;}
}
