:root{--navy:#0F1E33;--navy2:#16304F;--teal:#00C9B1;--gold:#C9A227;--bg:#F4F6F8;--panel:#fff;--ink:#132233;--muted:#5E6B78;--line:#D7DEE5}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}
button,.btn,input,select,textarea{font:inherit}
button,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border-radius:10px;border:2px solid var(--line);background:#fff;color:var(--navy);font-weight:600;cursor:pointer;text-decoration:none}
button:hover,.btn:hover{border-color:var(--teal)}
button.primary{background:var(--navy);border-color:var(--navy);color:#fff}
button.primary:hover{background:#17324d}
button.big{min-height:56px;font-size:17px;padding:10px 22px}
button.wide{width:100%}
button:disabled{opacity:.6;cursor:wait}
input,select,textarea{width:100%;border:2px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);min-height:48px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
input[type=color]{padding:4px;height:48px}
input[type=checkbox]{width:22px;min-height:22px;height:22px;margin:0 8px 0 0}
input.big{height:58px;font-size:18px;text-align:center}
.muted{color:var(--muted)}.small{font-size:13.5px}.tiny{font-size:12.5px;color:var(--muted);margin-top:14px}
.err{color:#C62828;min-height:1.3em;margin:6px 0}
/* sign-in */
.gate{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px 30px;background:linear-gradient(180deg,var(--navy) 0,var(--navy2) 300px,var(--bg) 300px)}
.gate[hidden]{display:none}
.gateBox{width:100%;max-width:440px;background:#fff;border-radius:20px;padding:30px 24px;box-shadow:0 20px 50px rgba(14,30,46,.25);text-align:center;display:flex;flex-direction:column;gap:12px}
.gateMark{width:76px;height:76px;margin:0 auto}
.eyebrow{margin:0;color:var(--teal);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.gateBox h1{margin:0;font-size:24px;color:var(--navy)}
.gateBox .muted{margin:0 0 4px}
.passRow{display:flex;gap:10px}.passRow input{flex:1;min-width:0}
.eye{flex:0 0 84px;min-height:58px}
#setupOnly,#setupOnly2{display:flex;flex-direction:column;gap:12px}
#setupOnly[hidden],#setupOnly2[hidden]{display:none}
/* app */
.bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;padding:10px 18px;background:var(--navy);color:#fff;flex-wrap:wrap}
.bar .mark{width:40px;height:40px;flex:none}
.bar .title{display:flex;flex-direction:column;line-height:1.2;margin-right:auto}.bar .title span{font-size:12.5px;color:#9FB3C8}
.bar nav{display:flex;gap:6px;flex-wrap:wrap}
.nav{background:transparent;border-color:transparent;color:#C9D6E2;min-height:40px}
.nav.on{background:rgba(0,201,177,.15);color:#fff;border-color:var(--teal)}
.view{max-width:1200px;margin:0 auto;padding:22px 16px 60px}
.head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.head h1{margin:0;font-size:26px;color:var(--navy)}.head h1 small{font-size:15px;color:var(--muted);font-weight:500;margin-left:6px}
.acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.kpis div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.kpis b{display:block;font-size:22px;color:var(--navy)}.kpis span{font-size:13px;color:var(--muted)}
.list{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.list th{text-align:left;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#EEF2F5;padding:10px 12px}
.list td{padding:12px;border-top:1px solid var(--line);vertical-align:middle}
.list td small{display:block;color:var(--muted);font-size:13px}
.list tbody tr[data-l]{cursor:pointer}.list tbody tr[data-l]:hover{background:#F2FBFA}
.empty{background:#fff;border:2px dashed var(--line);border-radius:14px;padding:24px;text-align:center}
.chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:700;background:#E8EDF2;color:var(--navy);white-space:nowrap}
.chip.s-live,.chip.s-approved,.chip.r-ok{background:#DDF7F2;color:#00695C}
.chip.s-proof-sent,.chip.r-soon{background:#FFF3D6;color:#7A5600}
.chip.s-changes-asked,.chip.r-late{background:#FDE2E2;color:#A12020}
.chip.s-suspended,.chip.r-stop,.chip.r-off{background:#333;color:#fff}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#B8C2CC;margin-right:4px}.dot.on{background:var(--teal)}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.panel h2{margin:0 0 12px;font-size:18px;color:var(--navy)}.panel h3{margin:16px 0 8px;font-size:15px}
dl{display:grid;grid-template-columns:130px 1fr;gap:6px 10px;margin:0}dt{color:var(--muted)}dd{margin:0}
.notes{white-space:pre-wrap;background:#F6F8FA;border-radius:10px;padding:10px;margin:12px 0 0}
.files,.drafts{list-style:none;margin:10px 0 0;padding:0}
.files li,.drafts li{padding:10px 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.files small,.drafts small{color:var(--muted);font-size:13px;width:100%}
.drafts .acts{margin-left:auto}
blockquote{margin:4px 0 0;width:100%;background:#FFF6F6;border-left:4px solid #E57373;padding:8px 10px;border-radius:6px;white-space:pre-wrap}
.upl{display:inline-flex;margin-top:12px;min-height:44px;align-items:center;padding:8px 16px;border:2px dashed var(--teal);border-radius:10px;color:var(--navy);font-weight:600;cursor:pointer}
.pub{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.tick{display:flex;align-items:center}
.form2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form2 label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
.form2 .full,.form2 fieldset{grid-column:1/-1}
fieldset{border:1px solid var(--line);border-radius:12px;padding:12px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
fieldset legend{font-weight:700;color:var(--navy);padding:0 6px}
fieldset .grid3,fieldset .full,fieldset p{grid-column:1/-1}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.studio{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start}
.prev{position:sticky;top:76px}
.cardbox{border-radius:14px;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.18);margin-bottom:14px}
.cardbox svg{display:block;width:100%;height:auto}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;max-width:92vw;z-index:20;box-shadow:0 10px 30px rgba(0,0,0,.3)}
@media (max-width:860px){.cols,.studio{grid-template-columns:1fr}.prev{position:static}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.form2,fieldset{grid-template-columns:1fr}.grid3{grid-template-columns:1fr 1fr}
  .list thead{display:none}.list td{display:block;border-top:0;padding:4px 12px}.list tr{display:block;border-top:1px solid var(--line);padding:8px 0}}

/* no-save passcode fields */
.secret{-webkit-text-security:disc;text-security:disc}
.secret.shown{-webkit-text-security:none;text-security:none}

/* v1.1.1 staff plan */
.staffbox{border:2px solid #C9A227;border-radius:14px;padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.staffbox legend{font-weight:700;padding:0 6px}
.staffbox p,.staffbox .full{grid-column:1/-1}
@media(max-width:640px){.staffbox{grid-template-columns:1fr}}
.staffbox[hidden]{display:none}

/* ---------- v1.2: ITS house look (navy #0F1E33, gold #C9A227, teal accents) ---------- */
.bar{border-bottom:3px solid var(--gold)}
.bar .who{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;font-size:13px;color:#fff}
.bar .who #who{font-weight:700;color:var(--gold)}
.link{background:none;border:0;min-height:0;padding:2px 0;color:#9FB3C8;font-weight:500;font-size:12.5px;text-decoration:underline}
.link:hover{color:#fff}
.nav{border-radius:999px}
.nav.on{background:rgba(201,162,39,.16);border-color:var(--gold);color:#fff}
.nav[hidden]{display:none}
button.primary{background:var(--navy);border-color:var(--gold);color:#fff;box-shadow:inset 0 -3px 0 var(--gold)}
button.primary:hover{background:var(--navy2)}
.head h1{position:relative;padding-bottom:6px}
.head h1::after{content:'';position:absolute;left:0;bottom:0;width:54px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold),var(--teal))}
.panel{border-top:4px solid var(--navy);box-shadow:0 6px 18px rgba(15,30,51,.06)}
.panel.wide{grid-column:1/-1}
.panel.narrow{max-width:460px;margin:0 auto}
.panel h2 small{font-size:13px;color:var(--muted);font-weight:600;margin-left:6px}
.stack{display:flex;flex-direction:column;gap:12px}
.foot{text-align:center;color:var(--muted);font-size:12.5px;padding:0 16px 30px}
/* dashboard tiles */
.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}
.tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:2px;min-height:118px;padding:14px;border-radius:16px;border:1px solid var(--line);border-left:5px solid var(--teal);background:#fff;color:var(--ink)}
.tile b{font-size:28px;line-height:1.1;color:var(--navy)}
.tile span{font-weight:700;font-size:14px;color:var(--navy)}
.tile small{font-weight:500;font-size:12.5px;color:var(--muted)}
.tile:hover{border-color:var(--gold);border-left-color:var(--gold)}
.tile.warn{border-left-color:#E0A100;background:#FFFBF0}
.tile.go{border-left-color:#00A88F;background:#F2FCFA}
.tile.bad{border-left-color:#C62828;background:#FFF4F4}.tile.bad b{color:#C62828}
.mini{list-style:none;margin:0;padding:0}
.mini li{padding:9px 6px;border-top:1px solid var(--line);cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 8px}
.mini li:hover{background:#F2FBFA}.mini small{width:100%;color:var(--muted);font-size:12.5px}
/* client page */
.engine{margin-top:14px;padding:14px;border-radius:14px;background:linear-gradient(135deg,#F3F6FA,#FBF7EA);border:1px solid #E7DDB8;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.engine p{margin:0}
.pv{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rounds{margin:12px 0 0}
.warn{margin:12px 0;padding:12px 14px;border-radius:12px;background:#FFF3D6;border:1px solid #F0D68A;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.inv .amt{margin-left:auto;font-size:17px;color:var(--navy)}
.upl2{position:relative}
.upl{margin-top:0}
.newinv{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.newinv select{flex:1;min-width:220px;width:auto}
.chip.p-unpaid{background:#FDE2E2;color:#A12020}.chip.p-pop{background:#FFF3D6;color:#7A5600}.chip.p-paid{background:#DDF7F2;color:#00695C}.chip.p-cancelled{background:#E8EDF2;color:#5E6B78;text-decoration:line-through}
.gates{list-style:none;margin:8px 0;padding:0}
.gates li{padding:9px 12px;border-radius:10px;margin-bottom:6px;font-weight:600}
.gates li.ok{background:#E6F8F4;color:#00695C}.gates li.no{background:#FDECEC;color:#A12020}
.install{margin-top:16px;padding:14px;border-radius:14px;border:2px solid var(--gold);background:#FFFCF2}
.install h3{margin:0 0 6px}
.install .link{display:block;color:var(--navy);text-decoration:none;word-break:break-all;font-family:Consolas,monospace;font-size:13.5px;background:#fff;border:1px solid var(--line);padding:8px 10px;border-radius:8px}
/* sales / activity */
.recon{padding:14px 16px;border-radius:14px;margin:0 0 16px;border:1px solid}
.recon.good{background:#E6F8F4;border-color:#9EE0D2;color:#00594D}
.recon.bad{background:#FDECEC;border-color:#F2B3B3;color:#8E1B1B}
h2.sec{font-size:18px;color:var(--navy);margin:22px 0 10px}
.list tr.alert td{background:#FFF4F4}
@media (max-width:1100px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.pv{grid-template-columns:1fr}.bar .who{align-items:flex-start;width:100%}}
/* brand kit library */
input.search{text-align:left;margin:0 0 16px}
.kits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kitHead{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start}
.kitHead h2{margin:0}.kitHead p{margin:4px 0 0}
.swatches{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 4px}
.sw{display:inline-flex;align-items:center;gap:6px;font:12px Consolas,monospace;background:#F4F6F8;border:1px solid var(--line);border-radius:999px;padding:3px 10px 3px 3px}
.sw i{width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.15);display:inline-block}
.swatches small{color:var(--muted);font-size:12px}
.kfiles{list-style:none;margin:10px 0 0;padding:0}
.kfiles li{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.kfiles li>div{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.kfiles small{width:100%;color:var(--muted);font-size:12.5px}
.thumb{width:56px;height:56px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff;flex:none}
.thumb.doc{display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#A12020;font-size:13px}
.kd{margin-top:10px}.kd button{min-height:36px;padding:4px 12px;font-size:13.5px}
@media (max-width:1000px){.kits{grid-template-columns:1fr}}
.bar nav .nav{padding:8px 12px}
.loglib{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.loglib>span{width:100%;font-weight:600}
.loglib button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 10px;border:2px solid #d8dde6;border-radius:12px;background:#fff;cursor:pointer;min-width:110px}
.loglib button:hover{border-color:#C9A227}
.loglib img{width:56px;height:56px;object-fit:contain}
.loglib small{font-size:12px}
.loglib .nologo{min-height:92px;justify-content:center}

/* v1.2 house library (No. 1) + grouped logo picker + second logo */
.kit.house{grid-column:1/-1;border-top-color:var(--gold)}
.kit .no{display:inline-block;background:var(--navy);color:var(--gold);border-radius:8px;padding:1px 8px;font-size:13px;margin-right:4px;vertical-align:middle}
.kit.house .sub{margin-top:14px;padding:14px;border-radius:14px;background:#F7F8FB;border:1px solid var(--line)}
.kit.house h3{margin:14px 0 6px;font-size:15px;color:var(--navy)}.kit.house h3 small{color:var(--muted)}
.hlogos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hlogos li{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.hlogos .acts .btn{min-height:36px;padding:4px 12px;font-size:13.5px}
.loglib .lgroup{width:100%}.loglib .lgroup>b{display:block;font-size:13px;color:var(--navy);margin:4px 0}
.loglib .lrow{display:flex;flex-wrap:wrap;gap:8px}
.loglib.l2{border-top:1px dashed var(--line);padding-top:10px}
@media (max-width:860px){.hlogos{grid-template-columns:1fr 1fr}}

/* v1.2 send the card */
.send .btn.primary,.send a.primary{background:var(--navy);color:#fff;border-color:var(--gold)}
.qrbox{margin-top:12px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}
.qrbox[hidden]{display:none}.qrbox img{width:240px;height:240px;image-rendering:pixelated}
.sends{list-style:none;margin:0;padding:0;font-size:13.5px;color:var(--muted)}.sends li{padding:4px 0;border-top:1px dashed var(--line)}

/* v1.3: new-card chooser, staff, face styles, palettes, ITS styles, viewer */
.choose{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:10px}
.tile.big{min-height:170px;padding:20px}.tile.big b{font-size:24px}
.free{background:#E6F8F4;color:#00594D;border-radius:12px;padding:12px 14px}
.faces,.palettes,.itsStyles{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.faces>span,.palettes>span:first-child,.itsStyles>span{width:100%;font-weight:600;color:var(--navy);font-size:14px}
.faces button,.itsStyles button{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:120px;padding:8px 10px}
.faces button.on{border-color:var(--gold);box-shadow:inset 0 -3px 0 var(--gold)}
.faces i,.itsStyles i{display:block;width:84px;height:54px;border-radius:6px;border:1px solid #c5ccd5;background:#fff;position:relative;overflow:hidden}
.pv-classic{background:linear-gradient(90deg,#0F1E33 0 32%,#C9A227 32% 35%,#fff 35%)!important}
.pv-plain{background:#0F1E33!important}
.pv-splitTB{background:linear-gradient(180deg,#fff 0 55%,#C9A227 55% 59%,#0F1E33 59%)!important}
.pv-splitLR{background:linear-gradient(90deg,#0B5D63 0 50%,#00C9B1 50% 52%,#fff 52%)!important}
.itsStyles{background:#FFFCF2;border:2px solid var(--gold);border-radius:12px;padding:10px}
.itsStyles[hidden]{display:none}.itsStyles b{font-size:12.5px;text-align:center}
.palettes button{gap:6px;min-height:40px}
.sw2{display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}
.custom{margin:4px 0 -4px;color:var(--navy)}
.bigpick input[type=color]{height:56px;cursor:pointer;border-color:var(--navy)}
.viewer{position:fixed;inset:0;z-index:30;background:rgba(15,30,51,.86);display:flex;align-items:center;justify-content:center;padding:16px}
.vbox{width:min(980px,100%);background:#fff;border-radius:18px;padding:18px;border-top:5px solid var(--gold)}
.vbox h2{margin:0 0 12px;color:var(--navy)}.vbox h2 small{font-size:13px;color:var(--muted);font-weight:500}
.vflip{position:relative;perspective:1600px;cursor:pointer;margin-bottom:14px}
.vface{transition:transform .6s;backface-visibility:hidden;border-radius:14px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.3)}
.vface svg{display:block;width:100%;height:auto}
.vback{position:absolute;inset:0;transform:rotateY(180deg)}
.vflip.turned .vfront{transform:rotateY(180deg)}.vflip.turned .vback{transform:rotateY(360deg)}
@media (max-width:860px){.choose{grid-template-columns:1fr}}
.sw2.a0F1E33{background:#0F1E33}.sw2.aC9A227{background:#C9A227}.sw2.a0B5D63{background:#0B5D63}.sw2.a00C9B1{background:#00C9B1}.sw2.a111111{background:#111111}.sw2.aFFFFFF{background:#FFFFFF}
.tile.fam{border-left-color:#E0A100;background:#FFFBF0}

/* ---------- Briefcase Centre v1.0 ---------- */
.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.badge{display:inline-block;min-width:20px;padding:1px 6px;margin-left:6px;border-radius:999px;background:var(--gold);color:var(--navy);font-style:normal;font-size:12px;font-weight:800}
.badge[hidden]{display:none}
.reqs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.req{background:#fff;border:1px solid var(--line);border-left:5px solid var(--teal);border-radius:14px;padding:14px}
.req.k-quote{border-left-color:var(--gold)}.req.k-order{border-left-color:#00A88F}
.reqs.done .req{opacity:.75}
.reqh small{display:block;color:var(--muted);font-size:12.5px;margin-top:4px}
.req p{margin:8px 0}
.chip.k-quote{background:#FFF3D6;color:#7A5600}.chip.k-order{background:#DDF7F2;color:#00695C}.chip.k-demo{background:#E3ECFA;color:#1D3F78}
.chip.q-open{background:#FFF3D6;color:#7A5600}.chip.q-invoiced{background:#DDF7F2;color:#00695C}.chip.q-expired,.chip.q-withdrawn{background:#E8EDF2;color:#5E6B78}
.chip.s-quoted{background:#FFF3D6;color:#7A5600}.chip.s-invoiced{background:#E3ECFA;color:#1D3F78}.chip.s-paused{background:#333;color:#fff}.chip.s-cancelled{background:#E8EDF2;color:#5E6B78;text-decoration:line-through}
.inv{flex-wrap:wrap}.inv .amt{margin-left:auto;text-align:right}.inv .amt small{display:block;width:auto;font-size:12px}
.inv .acts{width:100%}.inv .acts .btn,.inv .acts button{min-height:38px;padding:4px 12px;font-size:14px}
.okline{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:#E6F8F4;color:#00695C;font-weight:600}
.warnline{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:#FDECEC;color:#A12020;font-weight:600}
.upl2{margin-top:12px}.upl2 select{width:auto;flex:1;min-width:180px}
.qprev{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.qprev .first,.qprev>p{grid-column:1/-1;margin:0}
.qprev .first{font-size:18px;color:var(--navy);padding:12px 14px;border-radius:12px;background:#FBF7EA;border:1px solid #E7DDB8}
.list.q td.n,.list.q th.n{text-align:right;white-space:nowrap}
.list.q tr.sum td{font-weight:800;color:var(--navy);background:#F7F9FB}
.release{border-top-color:var(--gold)}
.mono{font-family:Consolas,'Courier New',monospace;font-size:12.5px;word-break:break-all}
textarea.mono{min-height:70px}
.rules ul{margin:0;padding-left:20px}.rules li{margin:4px 0}
.modal{position:fixed;inset:0;background:rgba(15,30,51,.55);display:flex;align-items:center;justify-content:center;padding:16px;z-index:30}
.mbox{background:#fff;border-radius:18px;padding:22px;max-width:460px;width:100%;display:flex;flex-direction:column;gap:12px;border-top:5px solid var(--gold)}
.mbox h2{margin:0;color:var(--navy)}.mbox label{display:flex;flex-direction:column;gap:6px;color:var(--muted)}.mbox label.tick{flex-direction:row;color:var(--ink);font-weight:600}
fieldset label[hidden]{display:none}
label select+input{margin-top:6px}
input[hidden],select[hidden]{display:none}
@media (max-width:860px){.reqs,.qprev{grid-template-columns:1fr}}
.form2 label[hidden],.form2 .tick[hidden]{display:none}
dd,.mini li,.gates li{overflow-wrap:anywhere}
/* v1.1 vouchers */
.chip.v-live,.chip.v-green{background:#DDF7F2;color:#00695C}.chip.v-orange{background:#FFE7C7;color:#8A4B00}.chip.v-red{background:#FDE2E2;color:#A12020}
.list tr.v-red td:first-child{box-shadow:inset 5px 0 0 #C62828}.list tr.v-orange td:first-child{box-shadow:inset 5px 0 0 #E08A00}.list tr.v-green td:first-child,.list tr.v-live td:first-child{box-shadow:inset 5px 0 0 #00A88F}
.kpis .v-red b{color:#C62828}.kpis .v-orange b{color:#B26A00}.kpis .v-green b{color:#00897B}
.clickable,tr[data-bb]{cursor:pointer}.clickable:hover,tr[data-bb]:hover{background:#F2FBFA}
td.acts{display:table-cell}td.acts button{min-height:36px;padding:4px 10px;font-size:13.5px;margin:2px}
@media (max-width:860px){td.acts{display:block}}
/* v1.2 security (as Card Centre v1.3.5-v1.3.6d) */
.alarm{background:#A12020;color:#fff;padding:12px 20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;font-size:17px}
.alarm button{background:#fff;color:#A12020;border-color:#fff}
.gates li.warnl{background:#FFF4E0;color:#8A5300}
.recon.warnb{background:#FFF4E0;border-color:#F3D19A;color:#8A5300}
.gates li b{margin-right:4px}
.gates code,.panel code{font-size:13px;background:#eef1f5;padding:1px 5px;border-radius:5px;word-break:break-all}
.alarm[hidden]{display:none}
/* v1.3.5 alerts + phone/tablet */
.panel.needs{border-top-color:#D93025;margin-bottom:16px}
.newslist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.newslist li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 12px;border:1px solid var(--line);border-left:5px solid var(--teal);border-radius:10px;background:#fff}
.newslist li small{flex-basis:100%;color:var(--muted)}
.newslist li button{margin-left:auto}
.newslist li.k-alarm{border-left-color:#D93025}.newslist li.k-pop{border-left-color:var(--gold)}.newslist li.seen{opacity:.65}
@media (max-width:700px){
  .bar{padding:8px 12px}.bar nav{width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px}
  .bar nav .nav{flex:0 0 auto;min-height:44px}
  .view{padding-left:12px;padding-right:12px}
  table.list{display:block;overflow-x:auto}
  .head{flex-wrap:wrap;gap:8px}
}
/* v1.3.6 dots-only passcode boxes + device lock */
.dotbox{letter-spacing:.18em;font-family:inherit}
.devwait{background:#fff7e6;border:1px solid #f0c36d;border-radius:12px;padding:12px 14px;margin:8px 0 12px;text-align:left}
.devwait p{margin:4px 0}
.devwait .devcode{font-size:1.15rem}
.devwait .devcode b{font-family:ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#0b2545}
#gDevWait[hidden]{display:none}
.devwait[hidden],#gDevHow[hidden]{display:none}
.dotbox:placeholder-shown{letter-spacing:normal}
/* v1.3.6c ITS on-screen keypad (phones and tablets) */
.itskb{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#0b2545;padding:8px 4px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(0,0,0,.25);user-select:none;-webkit-user-select:none;touch-action:manipulation}
.itskb[hidden]{display:none}
.itskb .kbrow{display:flex;justify-content:center;gap:5px;margin:5px 0}
.itskb .k{flex:1 1 0;max-width:64px;min-height:46px;border:0;border-radius:8px;background:#fff;color:#0b2545;font-size:1.15rem;font-weight:600;padding:0;box-shadow:0 2px 0 #c8a03c}
.itskb .k:active{background:#d9f3ee}
.itskb .kw{background:#c9d3e0;max-width:84px;font-size:1rem}
.itskb .kw.on{background:#c8a03c;color:#fff}
.itskb .ksp{flex:4 1 0;max-width:300px}
.itskb .kgo{flex:1.6 1 0;max-width:110px;background:#c8a03c;color:#0b2545}
body.kbopen{padding-bottom:260px}
.kbfield{caret-color:transparent}
/* v1.3 backup */
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0}
.row input[type=file]{max-width:100%}

/* v1.3.8 desk shield */
.shieldcover{position:fixed;inset:0;z-index:99999;background:rgba(11,31,51,.97);display:flex;align-items:center;justify-content:center;color:#eef4fb;text-align:center;padding:16px}
.shieldcover>div{max-width:420px;width:100%}.shieldcover input{width:100%;margin:10px 0}.shieldcover h2{color:#d4a24c}
body:not(.repair) #view, body:not(.repair) .card-preview{-webkit-user-select:none;user-select:none}
body:not(.repair) #view input, body:not(.repair) #view textarea{-webkit-user-select:text;user-select:text}

/* v1.4 brand kits (Card Centre v1.3.9 styles) */
.kfiles{list-style:none;margin:10px 0 0;padding:0}
.kfiles li{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.kfiles li>div{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.kfiles small{width:100%;color:var(--muted);font-size:12.5px}
.thumb{width:56px;height:56px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff;flex:none}
.thumb.doc{display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#A12020;font-size:13px}
.colist{display:flex;flex-direction:column;gap:14px}
details.cokit summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:18px;color:var(--navy)}
details.cokit summary::-webkit-details-marker{display:none}
details.cokit summary:before{content:"\25B8";color:var(--gold);font-size:16px;transition:transform .2s}
details.cokit[open] summary:before{transform:rotate(90deg)}
details.cokit summary small{flex-basis:100%;color:var(--muted);font-size:13.5px;margin-left:22px}
details.cokit .kitbody{margin-top:12px;border-top:1px solid var(--line);padding-top:6px}
details.cokit h3{margin:16px 0 8px;font-size:15px;color:var(--navy)}details.cokit h3 small{color:var(--muted)}
.ktabs{flex-wrap:wrap;margin:4px 0 10px}
.mailin{background:#EEF8F6;border:1px solid #BFE6DF;border-radius:12px;padding:12px 14px;font-size:14.5px;margin:0 0 14px}
.drop{display:flex;align-items:center;justify-content:center;text-align:center;min-height:64px;margin:10px 0;padding:12px;border:2px dashed var(--teal);border-radius:12px;color:var(--navy);font-weight:600;cursor:pointer;background:#fff}
.drop.big{min-height:120px;font-size:17px}
.drop.over{background:#E3F7F3;border-color:var(--navy)}
.ktool{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 6px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#F8FAFB}
.ktool select{width:auto;min-width:220px;flex:1 1 220px}
.ktool .tick{display:inline-flex;align-items:center;margin:0 6px 0 0}
.kpick{display:inline-flex;align-items:center}
.kfolders{margin:6px 0 14px}
.kfolders.none{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px;border:1px dashed var(--line);border-radius:12px}
details.fold{border:1px solid var(--line);border-radius:12px;margin:8px 0;padding:0 12px;background:#fff}
details.fold>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;color:var(--navy)}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary .acts{margin-left:auto}
details.fold>summary .acts button{min-height:36px;padding:4px 10px;font-size:14px}
.ficon{width:22px;height:17px;border-radius:3px;background:var(--gold);position:relative;flex:none}
.ficon:before{content:'';position:absolute;left:0;top:-4px;width:10px;height:5px;border-radius:3px 3px 0 0;background:var(--gold)}
details.fold[open] .ficon{background:#E0BE52}
@media (max-width:640px){.ktool select{min-width:0;width:100%}details.fold>summary .acts{margin-left:0;width:100%}}
.kit .chip{font-size:12px}
/* v1.6.3 analytics */
.an-panel{margin:0 0 16px}.an-panel h2 small{font-weight:400;color:var(--muted);font-size:13px;margin-left:6px}
.an-svg{width:100%;height:auto;display:block;overflow:visible}
.an-grid{stroke:#E6EBF0;stroke-width:1}.an-base{stroke:#9AA7B4;stroke-width:1}
.an-ax{fill:#6B7885;font-size:11px}.an-val{fill:var(--navy);font-size:11px;font-weight:700}.an-bestv{fill:#9A7A12;font-size:12.5px}
.an-s-setup{fill:var(--gold)}.an-s-month{fill:var(--navy2)}.an-cur{opacity:.55}
.an-f-req{fill:#8FA3B8}.an-f-quo{fill:var(--navy2)}.an-f-won{fill:var(--teal)}.an-c-newlive{fill:var(--teal)}
.an-flag{fill:#D84315}.an-hit{fill:transparent;cursor:pointer}.an-hit:hover{fill:rgba(0,201,177,.08)}
.an-line{fill:none;stroke-width:2.5}.an-area{stroke:none;opacity:.14}.an-dot{stroke:#fff;stroke-width:1.5}
.an-c-gold.an-line{stroke:var(--gold)}.an-c-gold.an-area,.an-c-gold.an-dot{fill:var(--gold)}
.an-c-teal.an-line{stroke:#00A893}.an-c-teal.an-area,.an-c-teal.an-dot{fill:#00A893}
.an-key{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--muted);margin:6px 0}
.an-key i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.an-key i.an-s-setup{background:var(--gold)}.an-key i.an-s-month{background:var(--navy2)}.an-key i.an-flag-k{background:#D84315;border-radius:50%}
.an-key i.an-f-req{background:#8FA3B8}.an-key i.an-f-quo{background:var(--navy2)}.an-key i.an-f-won{background:var(--teal)}
.an-notes{margin:8px 0 0;padding-left:18px;font-size:14px}.an-notes li{margin:3px 0}
.an-best b{color:#9A7A12}.an-h3{font-size:15px;margin:16px 0 4px;color:var(--navy)}
.an-hrow{display:grid;grid-template-columns:90px 1fr auto 40px;gap:10px;align-items:center;margin:8px 0;font-size:14px}.an-hrow small{color:var(--muted);text-align:right}
.an-htrack{height:14px;background:#EEF2F5;border-radius:7px;overflow:hidden}.an-htrack i{display:block;height:100%;border-radius:7px}
.an-g-private{background:var(--gold)}.an-g-enterprise{background:var(--teal)}.an-g-corporate{background:var(--navy2)}
.an-adv{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.an-adv li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:12px;border-radius:12px;border:1px solid var(--line);background:#FAFBFC}
.an-adv li.an-red{border-left:5px solid #C62828}.an-adv li.an-amber{border-left:5px solid #E09400}.an-adv li.an-green{border-left:5px solid #00897B}
.an-adv p{margin:3px 0 0;color:var(--ink);font-size:14.5px}.an-adv b{font-size:15px}
.an-chip-red{background:#FDECEA;color:#B71C1C}.an-chip-amber{background:#FFF4DE;color:#8A5A00}.an-chip-green{background:#E3F6F2;color:#00695C}
.an-todo{border-top-color:var(--gold)}#dashTodo{margin:0 0 16px}
@media (max-width:640px){.an-adv li{grid-template-columns:1fr}.an-adv li button{justify-self:start}.an-hrow{grid-template-columns:72px 1fr auto}.an-hrow small{display:none}}
.an-w0{width:0%}.an-w5{width:5%}.an-w10{width:10%}.an-w15{width:15%}.an-w20{width:20%}.an-w25{width:25%}.an-w30{width:30%}.an-w35{width:35%}.an-w40{width:40%}.an-w45{width:45%}.an-w50{width:50%}.an-w55{width:55%}.an-w60{width:60%}.an-w65{width:65%}.an-w70{width:70%}.an-w75{width:75%}.an-w80{width:80%}.an-w85{width:85%}.an-w90{width:90%}.an-w95{width:95%}.an-w100{width:100%}
.kpis small.an-pace{display:block;margin-top:2px;font-size:12.5px}
button.danger{background:#C62828;border-color:#C62828;color:#fff}button.danger:hover{background:#A31515}
/* v1.6.4 (Gift 9 Nov 2026): every menu button sits in a teal pill and lights up when it is the open page. Dashboard keeps its gold look. */
.bar nav .nav{border:1.5px solid rgba(0,201,177,.55);background:rgba(0,201,177,.10);color:#E6FFFB;border-radius:999px;transition:background .18s,box-shadow .18s,border-color .18s,color .18s}
.bar nav .nav:hover,.bar nav .nav:focus-visible{background:rgba(0,201,177,.28);border-color:var(--teal);color:#fff;outline:none}
.bar nav .nav:active{transform:translateY(1px)}
.bar nav .nav.on{background:var(--teal);border-color:#7FFFEF;color:#06231F;font-weight:700;box-shadow:0 0 0 3px rgba(0,201,177,.25),0 0 18px rgba(0,201,177,.75)}
.bar nav .nav.on .badge{background:#06231F;color:#fff}
.bar nav .nav[data-go=dash]{border-color:rgba(201,162,39,.6);background:rgba(201,162,39,.10)}
.bar nav .nav[data-go=dash]:hover{background:rgba(201,162,39,.22);border-color:var(--gold)}
.bar nav .nav[data-go=dash].on{background:rgba(201,162,39,.16);border-color:var(--gold);color:#fff;font-weight:600;box-shadow:none}
/* v1.6.4 Promotions register */
.tile.pr-cost{border-left-color:var(--gold);background:#FFFCF2}.tile.pr-cost b{color:#8A6D10}
.pr-table td.num,.pr-table th.num{text-align:right;white-space:nowrap}
.pr-table td small{display:block}
.pr-table tr.pr-log td{background:#F8FAFB;padding-top:0}
.pr-table tfoot td{border-top:2px solid var(--navy);padding-top:10px}
.panel.wide{overflow-x:auto}
.needs-line{margin:0 0 14px;padding:10px 14px;border-radius:12px;border:1px solid #E0A100;background:#FFFBF0;color:var(--ink)}
