*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
ul{list-style:none}a{text-decoration:none;color:inherit}em{font-style:italic}
:root{
  --font-serif:"Source Sans 3","Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-mono:"Courier New",Courier,monospace;
  --paper:#F4F4F6;--card:#ffffff;--card2:#F0F1F7;
  --ink:#161a1d;--ink2:#3d454b;--mut:#6b747c;--mut2:#98a0a8;
  --hair:#E2E5F0;--hair2:#CBD1E6;
  --navy:#2F3C7E;--navy2:#232D61;--bronze:#232D61;--bronze-dk:#232D61;--bronze-soft:#E9E6FD;
  --green:#1f7a52;--green-soft:#e6f4ec;--rose:#a3323f;--rose-soft:#fae9ea;
  --shadow:0 1px 2px rgba(16,24,32,.05),0 14px 36px rgba(16,24,32,.08);
  --nav-h:64px;--desk-h:56px;
}
body{font:15.5px/1.65 var(--font-sans);background:var(--paper);color:var(--ink2);overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:
  radial-gradient(56% 42% at 72% 0%,rgba(47,60,126,.12),transparent 62%),
  radial-gradient(40% 34% at 12% 18%,rgba(90,79,207,.1),transparent 60%);pointer-events:none}

nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:60;display:flex;align-items:center;gap:14px;padding:0 28px;background:rgba(244,244,246,.82);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--hair)}
.nav-logo{display:flex;align-items:center;gap:11px;color:var(--ink)}
.nav-word{font-family:'Source Sans 3',Helvetica,Arial,sans-serif;font-size:1.16rem;font-weight:700;letter-spacing:.2px;color:#2F3C7E}
.nav-word span{color:#64CCC5}
.nav-right{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.nav-btn{display:inline-block;font-size:.82rem;font-weight:700;padding:9px 17px;border-radius:99px;border:1px solid var(--hair2);background:var(--card);color:var(--ink);transition:.15s;white-space:nowrap;cursor:pointer;font-family:inherit}
.nav-btn:hover{border-color:var(--navy2);color:var(--navy)}
.nav-btn.primary{background:linear-gradient(150deg,var(--navy),#232D61);color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(47,60,126,.3)}
.nav-btn.primary:hover{filter:brightness(1.12);color:#fff}

main{max-width:1120px;width:100%;margin:0 auto;padding:calc(var(--nav-h) + 40px) 24px 70px;flex:1}
.eye{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-dk);background:var(--card);border:1px solid var(--hair);border-radius:99px;padding:7px 18px;margin-bottom:18px;box-shadow:var(--shadow)}
.eye i{width:6px;height:6px;border-radius:50%;background:var(--bronze);font-style:normal}
h1.view{font-family:var(--font-serif);font-size:2rem;line-height:1.2;color:var(--ink);margin:0 0 8px;letter-spacing:-.01em}
h1.view em{color:var(--navy2)}
p.viewsub{color:var(--mut);font-size:.95rem;margin:0 0 26px;max-width:70ch}
.view-panel{display:none}.view-panel.on{display:block}

.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.tab{font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:8px 15px;border-radius:99px;border:1px solid var(--hair2);background:var(--card);color:var(--mut);cursor:pointer}
.tab:hover{color:var(--ink);border-color:var(--navy2)}
.tab.on{color:#fff;background:linear-gradient(150deg,var(--navy),#232D61);border-color:transparent}

.card{background:var(--card);border:1px solid var(--hair);border-radius:14px;padding:20px 22px;margin-bottom:16px;box-shadow:var(--shadow)}
.card h3{font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);margin:0 0 12px;font-weight:700}
.sec-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.sec-head h3{margin:0}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.muted{color:var(--mut)}
.empty{color:var(--mut);font-size:.9rem;padding:14px 0}
.lnk{color:var(--navy2);font-weight:700}
.lnk:hover{text-decoration:underline}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px}
.stat{background:var(--card);border:1px solid var(--hair);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}
.stat .v{font-family:var(--font-serif);font-size:1.8rem;font-weight:700;color:var(--ink)}
.stat .l{font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-top:4px}
.stat.warn{border-color:var(--bronze)}
.stat .v.g{color:var(--bronze-dk)}

.pill{display:inline-block;font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:99px;padding:4px 11px;border:1px solid var(--hair2);color:var(--mut);white-space:nowrap}
.pill.received{background:var(--card2)}
.pill.in_progress{background:#eaf2f7;color:var(--navy2);border-color:#cfe2ee}
.pill.delivered{background:#DFF2F0;color:#1E6963;border-color:#BFE7E3}
.pill.revision_requested,.pill.declined{background:var(--rose-soft);color:var(--rose);border-color:#eed3d6}
.pill.accepted,.pill.paid{background:var(--green-soft);color:var(--green);border-color:#cfe7da}
.pill.due{background:var(--bronze-soft);color:var(--bronze-dk);border-color:#D5CFF7}
.chip{display:inline-block;font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-dk);background:var(--bronze-soft);border:1px solid #D5CFF7;border-radius:99px;padding:3px 10px}

.act{display:inline-block;font-size:.84rem;font-weight:700;padding:10px 18px;border-radius:99px;border:1px solid transparent;background:linear-gradient(150deg,var(--navy),#232D61);color:#fff;cursor:pointer;font-family:inherit;box-shadow:0 2px 8px rgba(47,60,126,.25);transition:.15s}
.act:hover{filter:brightness(1.12);color:#fff}
.act.gray{background:var(--card);color:var(--ink);border-color:var(--hair2);box-shadow:none}
.act.gray:hover{border-color:var(--navy2);color:var(--navy);filter:none}
.act.ghost{background:var(--bronze-soft);color:var(--bronze-dk);border-color:#D5CFF7;box-shadow:none}
.act.ghost:hover{filter:brightness(.98);color:var(--bronze-dk)}
.act.red{background:var(--rose-soft);color:var(--rose);border-color:#eed3d6;box-shadow:none}
.act.red:hover{filter:brightness(.98);color:var(--rose)}
.act.sm{padding:6px 13px;font-size:.78rem}
.act[disabled]{opacity:.5;cursor:not-allowed}

label{display:block;font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin:12px 0 6px}
input,select,textarea{width:100%;background:var(--card);border:1px solid var(--hair2);border-radius:10px;color:var(--ink);font:inherit;font-size:.9rem;padding:10px 12px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--navy2)}
textarea{resize:vertical;min-height:76px}
input[type=file]{font-size:.82rem;color:var(--mut);padding:8px 10px}
input[type=file]::file-selector-button{background:var(--card2);border:1px solid var(--hair2);color:var(--ink);border-radius:8px;padding:6px 12px;font:inherit;font-size:.78rem;cursor:pointer;margin-right:10px}

.order{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.order .main{flex:1 1 260px;min-width:0}
.order .main h4{font-family:var(--font-serif);font-size:1.05rem;color:var(--ink);font-weight:700;margin:0}
.order .meta{font-size:.82rem;color:var(--mut);margin-top:4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.card.new{display:flex;flex-direction:column;gap:8px;border-top:3px solid var(--bronze);transition:.15s}
.card.new:hover{box-shadow:0 2px 4px rgba(16,24,32,.06),0 24px 60px rgba(16,24,32,.12);transform:translateY(-2px)}
.card.new .k{font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze-dk)}
.card.new h4{font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);margin:0}
.card.new p{font-size:.88rem;color:var(--mut);margin:0}
.card.new .go{margin-top:auto;color:var(--navy2);font-weight:700;font-size:.85rem}

.order-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:4px}
.order-head h1{margin:0;font-size:1.7rem}
.order-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:stretch;margin:20px 0}
.order-grid .card{margin-bottom:0}
.order-grid .card.full{grid-column:1/-1}
@media(max-width:760px){.order-grid{grid-template-columns:1fr}}
.dkv{display:flex;justify-content:space-between;gap:16px;padding:7px 0;font-size:.88rem;border-top:1px solid var(--hair)}
.card .dkv:first-of-type{border-top:0}
.dkv .k{color:var(--mut);flex:0 0 auto}
.dkv .v{text-align:right;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.dsec{border-top:1px solid var(--hair);padding:14px 0 0;margin-top:12px}
.dsec:first-child{border-top:0;padding-top:0;margin-top:0}
.dsec h4{font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-dk);margin:0 0 6px}
.dfile{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--hair);font-size:.88rem}
.dfile:first-of-type{border-top:0}
.blk-cta{margin-top:14px}
.dcomposer{display:flex;flex-direction:column;gap:10px;margin-top:12px}

.thread{max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}
.msg{max-width:84%;padding:11px 14px;border-radius:12px;font-size:.89rem;line-height:1.55}
.msg .who{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:4px}
.msg.customer{align-self:flex-end;background:#eaf2f7;border:1px solid #cfe2ee;color:var(--ink)}
.msg.staff{align-self:flex-start;background:var(--card2);border:1px solid var(--hair);color:var(--ink)}

footer{border-top:1px solid var(--hair);padding:28px 24px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}
@media(min-width:640px){footer{flex-direction:row;justify-content:space-between;text-align:left}}
.foot-logo{font-family:'Source Sans 3',Helvetica,Arial,sans-serif;font-size:1.05rem;font-weight:700;color:var(--ink)}
.foot-logo-accent{color:#64CCC5}
.foot-meta{font-family:var(--font-mono);font-size:.68rem;color:var(--mut)}
.foot-copy{font-size:.76rem;color:var(--mut2);margin:0}
footer a{color:var(--mut)}footer a:hover{color:var(--navy)}

@media(max-width:800px){
  nav{padding:0 16px;gap:8px}
  .nav-btn{padding:8px 13px;font-size:.78rem}
  main{padding:calc(var(--nav-h) + 28px) 16px 56px}
  h1.view{font-size:1.6rem}
}

body.desk{overflow-x:visible}
header.topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:12px;height:var(--desk-h);padding:0 20px;background:rgba(244,244,246,.92);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--hair)}
header.topbar .tsub{color:var(--mut);font-size:.82rem;border-left:1px solid var(--hair2);padding-left:12px;white-space:nowrap}
header.topbar .who{margin-left:auto;color:var(--mut2);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.burger{display:none;background:none;border:0;color:var(--ink);font-size:20px;line-height:1;cursor:pointer;padding:0 4px;font-family:inherit}
#scrim{display:none}
.wrap{display:flex;flex:1;min-height:0;width:100%}
aside{width:236px;flex:none;background:var(--card);border-right:1px solid var(--hair);padding:8px 10px 16px;position:sticky;top:var(--desk-h);height:calc(100vh - var(--desk-h));overflow-y:auto}
aside .brand-label,aside .step{font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-dk);margin:16px 6px 5px}
aside .brand-label{margin-top:6px;color:var(--mut2)}
aside .vs-links{display:flex;flex-direction:column;gap:7px;padding:2px 2px 4px}
aside .vs-link{display:block;text-align:center;font-size:.82rem;font-weight:700;padding:9px 12px;border-radius:10px;background:linear-gradient(150deg,var(--navy),#232D61);color:#fff;box-shadow:0 2px 8px rgba(47,60,126,.25);transition:.15s}
aside .vs-link:hover{filter:brightness(1.12);color:#fff}
aside button{display:flex;align-items:center;width:100%;text-align:left;gap:9px;background:none;border:0;color:var(--ink2);padding:8px 9px;border-radius:9px;cursor:pointer;font:inherit;font-size:.875rem;line-height:1.35}
aside button:hover{background:var(--card2);color:var(--ink)}
aside button.on{background:var(--bronze-soft);color:var(--ink);font-weight:700}
aside button .n{display:inline-flex;justify-content:center;flex:none;width:17px;color:var(--mut2);font-style:normal}
aside button.on .n{color:var(--bronze-dk)}
aside button.locked{opacity:.62}
aside button.locked::after{content:"\1F512";font-size:.72em;margin-left:auto;opacity:.85}
aside a.vs-link.locked{opacity:.62}
aside a.vs-link.locked::after{content:" \1F512";font-size:.72em;opacity:.85}
aside .powered{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut2);margin:20px 8px 4px;line-height:1.9}
aside .powered b{font-family:'Source Sans 3',Helvetica,Arial,sans-serif;font-size:.88rem;letter-spacing:0;text-transform:none;color:var(--ink)}
aside .powered .g{color:var(--navy)}
body.desk main{flex:1;min-width:0;max-width:1150px;margin:0;padding:22px 26px}
body.desk main>footer{margin:26px -26px -22px;padding:24px 40px}
@media(max-width:999px){
  .burger{display:inline-flex}
  aside{position:fixed;left:0;top:var(--desk-h);z-index:40;transform:translateX(-100%);transition:transform .2s ease;box-shadow:0 18px 50px rgba(16,24,32,.2)}
  aside.open{transform:translateX(0)}
  #scrim.on{display:block;position:fixed;inset:var(--desk-h) 0 0;background:rgba(16,24,32,.35);z-index:35}
  body.desk main{max-width:none}
}
@media(max-width:800px){
  header.topbar{padding:0 14px;gap:9px}
  header.topbar .tsub,header.topbar .who{display:none}
  body.desk main{padding:18px 16px}
  body.desk main>footer{margin:22px -16px -18px;padding:22px 16px}
}
