
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#0a0a0a;--off:#0e0f12;--panel:#141418;
  --border:rgba(255,255,255,0.06);--border2:rgba(80,120,200,0.2);
  --text:#e8e5e0;--muted:#7a7a82;--dim:#252530;
  --blue:#d4a86a;--blue-l:#e6c48f;--blue-d:rgba(200,140,60,0.08);--blue-b:rgba(200,140,60,0.3);
  --green-t:rgba(80,160,100,0.08);--green-c:#8ccba0;--green-b:rgba(80,160,100,0.25);
  --gold:#b8a07a;--gold-l:#d4bc98;--gold-d:rgba(184,160,122,0.08);
  --amber-t:rgba(200,140,60,0.1);--amber-c:#d4a86a;--amber-b:rgba(200,140,60,0.3);
  --red-t:rgba(180,60,60,0.08);--red-c:#d88888;
  --fd:'Cormorant Garamond',serif;--fb:'Montserrat',sans-serif;--fm:'Geist Mono',monospace;
}
html,body{min-height:100vh;background:var(--black);color:var(--text);font-family:var(--fb);font-size:14px}
button,input,select,textarea{font-family:var(--fb)}
.view{display:none;min-height:100vh;flex-direction:column}.view.active{display:flex}
#vLogin{align-items:center;justify-content:center}

/* LOGIN */
#vLogin{align-items:center;justify-content:center;background:var(--black)}
#vLogin::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 50% 40% at 30% 20%,rgba(80,120,200,.04) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 75% 80%,rgba(80,120,200,.03) 0%,transparent 70%);pointer-events:none}
.login-box{width:420px;position:relative;z-index:1}
.llogo{text-align:center;margin-bottom:2rem}
.llogo img{height:52px;width:auto;filter:invert(1);opacity:.6}
.lmark{font-family:var(--fd);font-size:1.9rem;font-weight:300;letter-spacing:.12em;display:block;text-align:center}
.lsub{font-family:var(--fm);font-size:.52rem;letter-spacing:.4em;color:var(--blue);text-transform:uppercase;text-align:center;display:block;margin:.5rem 0 2.5rem}
.lrule{width:24px;height:1px;background:var(--blue);margin:.75rem auto;opacity:.3}
.lhead{font-family:var(--fd);font-size:1.15rem;font-weight:300;font-style:italic;text-align:center;margin-bottom:1.75rem;color:var(--muted)}
.fl{margin-bottom:1rem}
.fl label{display:block;font-family:var(--fm);font-size:.5rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.fl input,.fl select{width:100%;background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:.8rem;font-weight:300;padding:.72rem 1rem;outline:none;border-radius:0;-webkit-appearance:none;transition:border-color .2s}
.fl input:focus,.fl select:focus{border-color:var(--blue)}
.fl select option{background:#0e0f12}
.btn-blue{width:100%;background:transparent;border:1px solid var(--blue-b);color:var(--blue-l);font-family:var(--fm);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;padding:.9rem;cursor:pointer;transition:all .2s;margin-top:.5rem}
.btn-blue:hover{background:var(--blue-d)}
.lerr{background:rgba(180,60,60,.1);border:1px solid rgba(180,60,60,.25);color:#d88888;font-family:var(--fm);font-size:.6rem;padding:.6rem .875rem;margin-bottom:1rem;display:none}
.lhint{text-align:center;font-family:var(--fm);font-size:.5rem;letter-spacing:.15em;color:var(--dim);margin-top:1.5rem}
.demo-rows{margin-top:1.25rem;background:var(--panel);border:1px solid var(--border);padding:.875rem}
.dr-title{font-family:var(--fm);font-size:.46rem;letter-spacing:.28em;text-transform:uppercase;color:var(--dim);margin-bottom:.625rem}
.dr{display:flex;justify-content:space-between;align-items:baseline;padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.03);cursor:pointer}
.dr:hover .dr-email{color:var(--blue-l)}
.dr:last-child{border-bottom:none}
.dr-label{font-family:var(--fm);font-size:.5rem;color:var(--muted);letter-spacing:.08em}
.dr-email{font-family:var(--fm);font-size:.5rem;color:var(--dim);transition:color .15s}
.back-link{text-align:center;margin-top:1.25rem}
.back-link a{font-family:var(--fm);font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color .2s}
.back-link a:hover{color:var(--muted)}

/* LAYOUT */
#vPortal{flex-direction:row;min-height:100vh;width:100%;align-items:stretch}
.sidebar{width:230px;background:var(--off);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow-y:auto;flex-shrink:0}
.sb-logo{padding:1.5rem 1.25rem 1.25rem;border-bottom:1px solid var(--border)}
.sb-logo .wm{font-family:var(--fd);font-size:1.15rem;font-weight:300;letter-spacing:.1em;display:block}
.sb-logo .tg{font-family:var(--fm);font-size:.46rem;letter-spacing:.3em;color:var(--blue);text-transform:uppercase;margin-top:.35rem;display:block}
.sb-logo .portal-id{font-family:var(--fm);font-size:.44rem;letter-spacing:.2em;color:rgba(80,120,200,.35);text-transform:uppercase;margin-top:.2rem;display:block}
.sb-brand{margin:.875rem 1.25rem;padding:.875rem;background:var(--panel);border:1px solid var(--border)}
.sb-brand .br{font-family:var(--fm);font-size:.46rem;letter-spacing:.25em;text-transform:uppercase;color:var(--blue);margin-bottom:.2rem;opacity:.6}
.sb-brand .bn{font-size:.82rem;font-weight:400;color:var(--text)}
.sb-brand .bm{font-family:var(--fm);font-size:.5rem;color:var(--muted);margin-top:.15rem}
.sb-nav{padding:.5rem 0;flex:1}
.nl{font-family:var(--fm);font-size:.44rem;letter-spacing:.35em;text-transform:uppercase;color:var(--dim);padding:.7rem 1.25rem .3rem}
.ni{display:flex;align-items:center;gap:.6rem;padding:.55rem 1.25rem;cursor:pointer;font-size:.72rem;font-weight:300;color:var(--muted);border-left:2px solid transparent;transition:all .15s;user-select:none}
.ni:hover{color:var(--text);background:rgba(80,120,200,.04)}
.ni.on{color:var(--blue-l);border-left-color:var(--blue);background:var(--blue-d)}
.ni-dot{width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0;opacity:.6}
.ni .nbadge{font-family:var(--fm);font-size:.42rem;padding:.1rem .35rem;background:rgba(80,120,200,.15);border:1px solid rgba(80,120,200,.3);color:var(--blue);margin-left:auto}
.sb-bot{padding:1rem 1.25rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}
.btn-sm{background:transparent;border:1px solid var(--border);color:var(--muted);font-family:var(--fm);font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;padding:.5rem .875rem;cursor:pointer;transition:all .2s}
.btn-sm:hover{border-color:var(--border2);color:var(--text)}
.btn-sm.full{width:100%;padding:.6rem}
.main{flex:1;background:var(--black);overflow-x:hidden;min-width:0}
.mhdr{padding:1.75rem 2rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:flex-end;justify-content:space-between}
.ptitle{font-family:var(--fd);font-size:1.9rem;font-weight:300;letter-spacing:.04em;line-height:1}
.psub{font-family:var(--fm);font-size:.5rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:.35rem}
.hdr-r{text-align:right;font-family:var(--fm);font-size:.5rem;letter-spacing:.12em;color:var(--dim);line-height:1.9}
.content{padding:1.75rem 2rem}
.panel{display:none}.panel.on{display:block}

/* STATS */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.875rem;margin-bottom:1.75rem}
.sc{background:var(--panel);border:1px solid var(--border);padding:1.1rem 1.25rem;position:relative;overflow:hidden;transition:border-color .2s}
.sc::before{content:'';position:absolute;left:0;top:0;width:2px;height:100%;background:var(--blue);opacity:.4}
.sc:hover{border-color:var(--border2)}
.sl{font-family:var(--fm);font-size:.48rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.sv{font-family:var(--fd);font-size:1.8rem;font-weight:300;color:var(--text);line-height:1}
.sd{font-family:var(--fm);font-size:.5rem;color:var(--blue);margin-top:.3rem;opacity:.7}

/* SECTION HD */
.shd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.5rem}
.stitle{font-family:var(--fd);font-size:1rem;font-weight:300;font-style:italic;letter-spacing:.04em}
.stag{font-family:var(--fm);font-size:.48rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}

/* PILLS */
.pill{font-family:var(--fm);font-size:.46rem;letter-spacing:.15em;text-transform:uppercase;padding:.2rem .55rem;border:1px solid;white-space:nowrap}
.pill.active{border-color:rgba(184,160,122,.4);color:var(--gold-l);background:var(--gold-d)}
.pill.review{border-color:rgba(80,120,200,.3);color:var(--blue);background:var(--blue-d)}
.pill.done{border-color:rgba(80,160,100,.3);color:var(--green-c);background:var(--green-t)}
.pill.hold{border-color:var(--border);color:var(--muted)}
.pill.pending{border-color:rgba(200,140,60,.3);color:var(--amber-c);background:var(--amber-t)}
.pill.approved{border-color:rgba(80,160,100,.3);color:var(--green-c);background:var(--green-t)}
.pill.paid{border-color:rgba(80,160,100,.3);color:var(--green-c);background:var(--green-t)}
.pill.upcoming{border-color:rgba(200,140,60,.3);color:var(--amber-c);background:var(--amber-t)}

/* PROJECT CARDS */
.proj-card{background:var(--panel);border:1px solid var(--border);padding:1.25rem 1.5rem;margin-bottom:.875rem;transition:border-color .2s;cursor:pointer}
.proj-card:hover{border-color:var(--border2)}
.proj-card.expand{border-color:var(--blue)}
.pc-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem;gap:.875rem}
.pc-name{font-family:var(--fd);font-size:1.05rem;font-weight:400;color:var(--text);line-height:1.2}
.pc-type{font-family:var(--fm);font-size:.48rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:.22rem}
.pc-desc{font-size:.72rem;font-weight:300;color:var(--muted);line-height:1.65;margin-bottom:.875rem}
.pc-meta{display:flex;gap:1.5rem;border-top:1px solid var(--border);padding-top:.75rem;flex-wrap:wrap}
.meta-i .ml{font-family:var(--fm);font-size:.44rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dim);margin-bottom:.15rem}
.meta-i .mv{font-family:var(--fm);font-size:.58rem;color:var(--muted)}
.prog-t{background:var(--border);height:1.5px;width:100%;margin:.5rem 0 .2rem}
.prog-f{height:1.5px;background:var(--blue);opacity:.6;transition:width .3s}
.prog-l{font-family:var(--fm);font-size:.46rem;color:var(--dim);letter-spacing:.12em}
.proj-detail{display:none;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.proj-card.expand .proj-detail{display:block}

/* PREV */
.prev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem;margin-bottom:1.75rem}
.prev-card{background:var(--panel);border:1px solid var(--border);padding:1.1rem 1.25rem;opacity:.65;transition:all .2s}
.prev-card:hover{opacity:1;border-color:var(--border2)}
.prev-name{font-family:var(--fd);font-size:.95rem;font-weight:400;color:var(--text);margin-bottom:.25rem}
.prev-meta{font-family:var(--fm);font-size:.5rem;color:var(--muted);line-height:2}

/* ASSET ROWS */
.asset-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.875rem 1rem;background:var(--panel);border:1px solid var(--border);margin-bottom:.5rem;transition:border-color .15s}
.asset-row:hover{border-color:var(--border2)}
.ar-name{font-size:.78rem;font-weight:400;color:var(--text)}
.ar-meta{font-family:var(--fm);font-size:.5rem;color:var(--muted);margin-top:.15rem}
.ar-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.btn-approve{background:transparent;border:1px solid var(--green-b);color:var(--green-c);font-family:var(--fm);font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;padding:.42rem .875rem;cursor:pointer;transition:all .2s}
.btn-approve:hover{background:var(--green-t)}
.btn-revision{background:transparent;border:1px solid var(--border);color:var(--muted);font-family:var(--fm);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;padding:.42rem .875rem;cursor:pointer;transition:all .2s}
.btn-revision:hover{border-color:var(--border2);color:var(--text)}
.btn-dl{background:transparent;border:1px solid var(--blue-b);color:var(--blue-l);font-family:var(--fm);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;padding:.42rem .875rem;cursor:pointer;transition:all .2s}
.btn-dl:hover{background:var(--blue-d)}

/* MSG */
.msg-card{display:flex;gap:.875rem;align-items:flex-start;padding:.875rem 1rem;background:var(--panel);border:1px solid var(--border);margin-bottom:.5rem;cursor:pointer;transition:border-color .15s}
.msg-card:hover{border-color:var(--border2)}
.msg-card.unread{border-left:2px solid var(--blue)}
.av{width:28px;height:28px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:.65rem;color:var(--blue-l);background:var(--blue-d);flex-shrink:0}
.msg-b{flex:1;min-width:0}
.msg-from{font-size:.75rem;font-weight:400;color:var(--text)}
.msg-s{font-size:.7rem;font-weight:300;color:var(--muted);margin-top:.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msg-t{font-family:var(--fm);font-size:.48rem;color:var(--dim);flex-shrink:0}
.msg-expand{display:none;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.72rem;font-weight:300;color:var(--muted);line-height:1.7}
.msg-card.open .msg-expand{display:block}

/* FORM */
.form-wrap{background:var(--panel);border:1px solid var(--border);padding:1.5rem;margin-bottom:1.75rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}
.form-full{grid-column:1/-1}
.fg{display:flex;flex-direction:column;gap:.38rem}
.fg label{font-family:var(--fm);font-size:.48rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.fg input,.fg select,.fg textarea{background:var(--black);border:1px solid var(--border);color:var(--text);font-size:.75rem;font-weight:300;padding:.62rem .875rem;outline:none;border-radius:0;-webkit-appearance:none;transition:border-color .2s;resize:vertical}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--blue)}
.fg select option{background:#0e0f12}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.875rem}
.chip{font-family:var(--fm);font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .7rem;border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:all .15s;user-select:none}
.chip:hover,.chip.on{border-color:var(--blue-b);color:var(--blue-l);background:var(--blue-d)}
.btn-act{background:transparent;border:1px solid var(--blue-b);color:var(--blue-l);font-family:var(--fm);font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;padding:.72rem 1.5rem;cursor:pointer;transition:all .2s}
.btn-act:hover{background:var(--blue-d)}
.btn-row{display:flex;gap:.75rem;align-items:center;margin-top:1rem;flex-wrap:wrap}

/* INVOICE TABLE */
.tbl{width:100%;border-collapse:collapse}
.tbl th{font-family:var(--fm);font-size:.46rem;letter-spacing:.25em;text-transform:uppercase;color:var(--dim);text-align:left;padding:.5rem .875rem;border-bottom:1px solid var(--border);font-weight:400}
.tbl td{font-size:.75rem;font-weight:300;color:var(--muted);padding:.78rem .875rem;border-bottom:1px solid rgba(255,255,255,.03);vertical-align:middle}
.tbl tr:hover td{background:rgba(80,120,200,.02);color:var(--text)}

/* TIMELINE */
.tl-item{display:grid;grid-template-columns:70px 1px 1fr;gap:0 1.1rem}
.tl-d{font-family:var(--fm);font-size:.52rem;color:var(--muted);text-align:right;padding-top:.2rem;padding-bottom:1.25rem;line-height:1.4}
.tl-dc{display:flex;flex-direction:column;align-items:center}
.tl-dot{width:6px;height:6px;border-radius:50%;background:var(--blue);flex-shrink:0;margin-top:.22rem;opacity:.5}
.tl-dot.dim{background:var(--dim)}
.tl-dot.now{background:var(--blue-l);box-shadow:0 0 0 3px var(--blue-d);opacity:1}
.tl-line{width:1px;flex:1;background:var(--border);margin-top:4px}
.tl-item:last-child .tl-line{display:none}
.tl-c{padding-bottom:1.25rem}
.tl-ev{font-size:.78rem;font-weight:400;color:var(--text);line-height:1.4}
.tl-ev.now{color:var(--blue-l)}
.tl-det{font-family:var(--fm);font-size:.52rem;color:var(--dim);margin-top:.12rem}

/* NDA */
.nda{background:var(--blue-d);border:1px solid var(--blue-b);padding:.72rem 1rem;display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.nda span{font-family:var(--fm);font-size:.52rem;letter-spacing:.1em;color:var(--blue);text-transform:uppercase;opacity:.7}

/* SUCCESS */
.success-banner{background:var(--green-t);border:1px solid var(--green-b);padding:.875rem 1.1rem;margin-bottom:1rem;display:none}
.success-banner span{font-family:var(--fm);font-size:.58rem;letter-spacing:.1em;color:var(--green-c)}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.75rem}
.cb{background:var(--panel);border:1px solid var(--border);padding:1.25rem}
.cb-title{font-family:var(--fd);font-size:.9rem;font-weight:300;font-style:italic;color:var(--text);margin-bottom:.875rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}
.cl{display:flex;justify-content:space-between;align-items:baseline;padding:.38rem 0;border-bottom:1px solid rgba(255,255,255,.03)}
.ck{font-family:var(--fm);font-size:.48rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dim)}
.cv{font-family:var(--fb);font-size:.72rem;font-weight:300;color:var(--muted)}

/* EMPTY */
.empty{text-align:center;padding:2.5rem;background:var(--panel);border:1px dashed var(--border);margin-bottom:1.75rem}
.empty-t{font-family:var(--fd);font-size:1rem;font-weight:300;font-style:italic;color:var(--muted);margin-bottom:.4rem}
.empty-s{font-family:var(--fm);font-size:.52rem;letter-spacing:.12em;color:var(--dim);text-transform:uppercase}

/* SYNC DOT */
.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--green-c);display:inline-block;margin-right:.4rem;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* TOAST */
#toast{position:fixed;bottom:1.75rem;right:1.75rem;background:var(--panel);border:1px solid var(--blue-b);color:var(--blue-l);font-family:var(--fm);font-size:.58rem;letter-spacing:.1em;padding:.72rem 1.1rem;opacity:0;transform:translateY(6px);transition:all .3s;pointer-events:none;z-index:999;max-width:280px}
#toast.on{opacity:1;transform:translateY(0)}

@media(max-width:900px){.stats{grid-template-columns:1fr 1fr}.prev-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}}
@media(max-width:600px){.stats{grid-template-columns:1fr}}


/* CASA OS V9 — shared client / creative portal visual system */
:root{--casa-accent:#d8b77a;--casa-line:rgba(216,183,122,.18);--casa-line-strong:rgba(216,183,122,.34);--casa-tech:"Rajdhani",sans-serif;--casa-ui:"Space Grotesk",sans-serif}
html,body{font-size:16px!important;background:#070807!important;font-family:var(--casa-ui)!important}button,input,select,textarea{font-family:var(--casa-ui)!important}
#vPortal{position:relative;isolation:isolate;background:#070807!important}#vPortal::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;background-image:linear-gradient(rgba(216,183,122,.42) 1px,transparent 1px),linear-gradient(90deg,rgba(216,183,122,.42) 1px,transparent 1px);background-size:56px 56px}
.sidebar{width:270px!important;background:rgba(7,8,7,.95)!important;border-right:1px solid var(--casa-line)!important;backdrop-filter:blur(14px)}
.sb-logo{padding:1.8rem 1.55rem 1.45rem!important;border-color:var(--casa-line)!important}.sb-logo .wm{font-size:1.6rem!important;letter-spacing:.16em!important;color:#ead9bb!important}.sb-logo .tg{font-family:var(--casa-tech)!important;font-size:.67rem!important;letter-spacing:.28em!important;color:#9e8c70!important}.sb-logo .portal-id{font-family:var(--casa-tech)!important;font-size:.56rem!important;letter-spacing:.15em!important;margin-top:.35rem!important}
.sb-brand{margin:1rem 1.55rem!important;padding:1rem!important;border:1px solid var(--casa-line)!important;background:rgba(18,19,18,.72)!important;border-radius:10px!important}.sb-brand .br{font-family:var(--casa-tech)!important;font-size:.61rem!important}.sb-brand .bn{font-size:.94rem!important}.sb-brand .bm{font-size:.67rem!important}
.nl{font-family:var(--casa-tech)!important;font-size:.60rem!important;letter-spacing:.24em!important;padding:.85rem 1.55rem .34rem!important}.ni{min-height:46px!important;padding:.72rem 1.55rem!important;font-size:.87rem!important}.ni.on{border-left-color:var(--casa-accent)!important;background:rgba(216,183,122,.075)!important;color:#e6d2ae!important}.ni:hover{background:rgba(216,183,122,.045)!important}.ni .nbadge{font-family:var(--casa-tech)!important;font-size:.57rem!important}.sb-bot{padding:1.05rem 1.55rem 1.3rem!important}.btn-sm{font-family:var(--casa-tech)!important;font-size:.66rem!important;font-weight:600!important;letter-spacing:.12em!important;padding:.66rem .85rem!important;min-height:38px!important;border-radius:7px!important}
.main{background:transparent!important}.mhdr{min-height:112px!important;padding:1.45rem 2rem!important;border-bottom:1px solid var(--casa-line)!important;background:rgba(7,8,7,.86)!important;backdrop-filter:blur(18px)!important;position:sticky!important;top:0!important;z-index:35!important;align-items:center!important}.ptitle{font-size:2.55rem!important;line-height:.95!important}.psub{font-family:var(--casa-tech)!important;font-size:.70rem!important;letter-spacing:.18em!important;margin-top:.55rem!important}.hdr-r{font-family:var(--casa-tech)!important;font-size:.66rem!important;line-height:1.6!important}.content{max-width:1600px!important;margin:0 auto!important;padding:2rem 2rem 3.5rem!important}
.panel{font-size:.92rem}.stats{gap:1rem!important}.sc,.proj-card,.form-wrap,.msg-card,.cb,.client-attn,.client-review-card{background:rgba(18,19,18,.76)!important;border:1px solid var(--casa-line)!important;border-radius:12px!important;backdrop-filter:blur(8px)}.sc{padding:1.2rem!important}.sl{font-family:var(--casa-tech)!important;font-size:.64rem!important;letter-spacing:.18em!important}.sv{font-size:2.15rem!important}.sd{font-size:.68rem!important}.shd{border-color:var(--casa-line)!important;margin-bottom:1.2rem!important;padding-bottom:.9rem!important}.stitle{font-size:1.5rem!important;font-style:normal!important}.stag{font-family:var(--casa-tech)!important;font-size:.64rem!important;letter-spacing:.14em!important}.pill{font-family:var(--casa-tech)!important;font-size:.58rem!important;padding:.31rem .62rem!important;border-radius:999px!important}.proj-name,.msg-from,.tl-ev{font-size:.90rem!important}.proj-meta,.proj-desc,.msg-s,.msg-expand,.tl-det{font-size:.74rem!important;line-height:1.6!important}.fg label{font-family:var(--casa-tech)!important;font-size:.64rem!important;letter-spacing:.12em!important}.fg input,.fg select,.fg textarea{font-size:.84rem!important;padding:.72rem .9rem!important;border-radius:8px!important;min-height:42px!important}.btn-act,.btn-approve,.btn-revision,.btn-dl{font-family:var(--casa-tech)!important;font-size:.67rem!important;font-weight:600!important;letter-spacing:.10em!important;border-radius:7px!important;padding:.66rem .9rem!important}.tbl th{font-family:var(--casa-tech)!important;font-size:.60rem!important;letter-spacing:.13em!important;padding:.78rem .85rem!important}.tbl td{font-size:.82rem!important;padding:.9rem .85rem!important}.nda{border-color:var(--casa-line)!important;background:rgba(216,183,122,.045)!important;border-radius:10px!important}.nda span{font-family:var(--casa-tech)!important;font-size:.62rem!important;letter-spacing:.08em!important;color:#bca47e!important}.modal-box{border-color:var(--casa-line)!important;border-radius:14px!important}.modal-title{font-size:1.75rem!important}.modal-sub{font-family:var(--casa-tech)!important;font-size:.66rem!important}
.sc,.proj-card,.msg-card,.cb,.client-attn{transition:border-color .22s ease,transform .22s ease}.sc:hover,.proj-card:hover,.msg-card:hover,.cb:hover{border-color:var(--casa-line-strong)!important;transform:translateY(-2px)}
@media(max-width:980px){.sidebar{width:235px!important}.content{padding:1.4rem 1.2rem 2.5rem!important}.mhdr{padding:1.25rem 1.2rem!important}.ptitle{font-size:2.2rem!important}}
@media(max-width:720px){#vPortal.active{display:block!important}.sidebar{position:relative!important;width:100%!important;height:auto!important}.sb-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.sb-bot{display:none!important}.mhdr{position:relative!important}.stats{grid-template-columns:1fr 1fr!important}.content{padding:1.1rem .9rem 2rem!important}}
@media(max-width:520px){.sb-nav,.stats{grid-template-columns:1fr!important}.ptitle{font-size:2rem!important}}


.upload-help{font-family:var(--casa-ui,Montserrat,sans-serif);font-size:.70rem;line-height:1.5;color:var(--dim);margin-top:.4rem}.fg input[type=file]{padding:.65rem!important;background:rgba(255,255,255,.02)!important}

/* V14 file-action alignment */
.asset-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}
@media(max-width:720px){.asset-row-actions{justify-content:flex-start;width:100%;margin-top:.6rem}}

/* CASA OS V14 — creative legibility */
.lsub,.fl label,.lerr,.lhint,.back-link a,.sb-logo .tg,.sb-logo .portal-id,.sb-brand .br,.sb-brand .bm,.nl,.ni .nbadge,.psub,.hdr-r,.sl,.sd,.stag,.pill,.pc-type,.meta-i .ml,.meta-i .mv,.prog-l,.ar-meta,.msg-t,.fg label,.tbl th,.tl-d,.tl-det,.nda span,.ck,.empty-s,#toast{font-size:.68rem!important}
.ni{font-size:.86rem!important}.btn-sm,.btn-act,.btn-blue{font-size:.70rem!important}.tbl td,.msg-s{font-size:.78rem!important}
