:root{--bg:#f3f0e9;--p:#fff;--t:#171717;--m:#6e6a63;--l:#ded9cf;--a:#a33a2b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--t);font:14px system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit}.h{display:none!important}.top{height:66px;background:#171717;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 24px}.brand{font-size:21px;font-weight:850;display:flex;flex-direction:column;justify-content:center}.brand img{display:block;height:25px;width:auto;max-width:250px}.brand small{display:block;font-size:10px;letter-spacing:.15em;color:#dca99d;margin-top:3px}.topright{display:flex;align-items:center;gap:10px}.locpick{display:flex;align-items:center;gap:7px;color:#bbb;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.locpick select{background:#262626;color:#fff;border:1px solid #454545;border-radius:8px;padding:7px 28px 7px 9px;text-transform:none;letter-spacing:0;font-size:13px;font-weight:700}.layout{display:grid;grid-template-columns:195px 1fr;min-height:calc(100vh - 66px)}aside{background:#ebe7df;border-right:1px solid var(--l);padding:20px 12px;position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto}.nav{padding:11px;border-radius:9px;font-weight:750;margin:3px 0;border:0;background:transparent;width:100%;text-align:left;cursor:pointer;color:inherit}.nav.on{background:#fff}.nav.off{color:#999}main{padding:24px;max-width:1360px;width:100%;margin:auto}h1{font-size:30px;margin:0}.mut{color:var(--m)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--l);margin:17px 0 21px;overflow:auto}.tab{border:0;background:none;padding:11px 13px;font-weight:750;color:#777;border-bottom:3px solid transparent;white-space:nowrap}.tab.on{color:#171717;border-color:var(--a)}.pill{background:var(--a);color:#fff;border-radius:99px;padding:2px 6px;font-size:10px}.row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:12px 0}.btn{border:1px solid var(--l);background:#fff;border-radius:9px;padding:8px 10px;font-weight:700;cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.period{display:flex;background:#e5e0d6;padding:4px;border-radius:10px}.period button{border:0;background:none;padding:8px;border-radius:7px;font-weight:700;color:#666}.period .on{background:#fff;color:#171717}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.card,.box{background:#fff;border:1px solid var(--l);border-radius:14px;padding:15px}.dark{background:#171717;color:#fff}.lab{font-size:11px;text-transform:uppercase;color:#777;font-weight:800}.dark .lab{color:#bbb}.val{font-size:28px;font-weight:850;margin-top:7px}.sm{font-size:12px;color:#777;margin-top:4px}.box{margin-top:14px}.box h2{font-size:17px;margin:0 0 10px}.note{background:#faf8f3;padding:10px;border-radius:9px;color:#625e57;margin-top:10px}.filt{display:grid;grid-template-columns:1fr 1fr 130px auto;gap:8px}.filt input,.filt select{width:100%;padding:9px;border:1px solid var(--l);border-radius:8px}.chart{height:330px}.adj{background:#fff;border:1px solid var(--l);border-radius:12px;padding:12px;margin:9px 0}.acts{display:flex;gap:5px;flex-wrap:wrap}.acts button,.acts select{padding:6px;border:1px solid var(--l);background:#fff;border-radius:7px}.tw{overflow:auto}.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{padding:8px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}.tbl th{font-size:11px;color:#777}.login{min-height:100vh;display:grid;place-items:center}.login>div{background:#fff;padding:25px;border:1px solid var(--l);border-radius:16px;width:min(400px,90%)}.login input{width:100%;padding:10px;margin:10px 0;border:1px solid var(--l);border-radius:8px}.delta{font-size:12px;font-weight:750;margin-top:4px}.pos{color:#34734c}.neg{color:#a33a2b}.connect{border:1px dashed #c8c1b4;background:#faf8f3;border-radius:12px;padding:14px;margin:12px 0}.connect b{display:block;margin-bottom:4px}.chatbox{background:#fff;border:1px solid var(--l);border-radius:14px;overflow:hidden;margin-top:14px}.chatlog{min-height:310px;max-height:560px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px}.bubble{max-width:82%;padding:10px 12px;border-radius:12px;white-space:pre-wrap;line-height:1.45}.bubble.user{align-self:flex-end;background:#171717;color:#fff}.bubble.ai{align-self:flex-start;background:#f3f0e9}.chatinput{display:flex;gap:8px;padding:12px;border-top:1px solid var(--l)}.chatinput input{flex:1;min-width:0;padding:11px;border:1px solid var(--l);border-radius:9px;font-size:16px}.twocol{display:grid;grid-template-columns:1.35fr 1fr;gap:14px}.smallchart{height:260px}.usergrid{display:grid;grid-template-columns:1fr 180px auto;gap:12px;align-items:end}.field label,.sectionlabel{display:block;font-size:11px;text-transform:uppercase;color:#777;font-weight:800;margin-bottom:5px}.field input,.field select{width:100%;padding:9px;border:1px solid var(--l);border-radius:8px}.checkline{padding:9px}.sectionlabel{margin-top:18px}.permgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.permgroup{background:#faf8f3;border:1px solid #eee8de;border-radius:10px;padding:10px}.permgroup h3{margin:0 0 8px;font-size:13px}.permitem{display:block;margin:7px 0}.user-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.rolepill{display:inline-block;background:#f1ede4;border-radius:99px;padding:3px 7px;font-size:11px;font-weight:750}.inactive{opacity:.55}
/* Marketing */.marketing-summary{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}.marketing-filters{margin-top:18px}.review-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.review-card{background:#fff;border:1px solid var(--l);border-radius:14px;padding:16px;line-height:1.45}.review-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.review-stars{letter-spacing:.08em;color:#b78316;font-size:16px;white-space:nowrap}.review-reply{margin-top:12px;padding:11px;border-radius:10px;background:#faf8f3;color:#625e57}.review-reply b{display:block;margin-bottom:4px}.review-editor{width:100%;min-height:110px;margin-top:10px;padding:10px;border:1px solid var(--l);border-radius:9px;resize:vertical}.review-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
/* Whiteboard */.whiteboard-title{margin-top:0}.wbvoicebar{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #4b403c;border-radius:13px;background:#211c1a}.wbvoicebtn{min-width:165px;background:var(--a);border-color:var(--a);color:#fff;font-size:15px;padding:11px 14px}.wbvoicebtn.listening{background:#8d2f24;box-shadow:0 0 0 4px #a33a2b40}.wbvoice-pulse{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:50%;background:#fff;animation:wbpulse 1s infinite}@keyframes wbpulse{50%{opacity:.35;transform:scale(.75)}}.wbstatus{min-height:20px;margin:8px 0}.whiteboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}.wbcol{background:#fff;border:1px solid var(--l);border-radius:16px;overflow:hidden;min-height:420px}.wbhead{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #eee}.wbhead>div{display:flex;align-items:center;gap:9px}.wbhead h2{font-size:20px;margin:0}.wbdot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#777}.prep .wbdot{background:#377c52}.lowstock .wbdot{background:#c17a16}.wastage .wbdot{background:#a33a2b}.wbcount{background:#f0ece4;border-radius:99px;min-width:28px;text-align:center;padding:4px 8px;font-weight:800}.wbadd{display:flex;gap:7px;padding:12px;border-bottom:1px solid #eee;background:#faf8f3}.wbadd input{flex:1;min-width:0;border:1px solid var(--l);border-radius:9px;padding:11px;font-size:16px}.wblist{padding:10px;display:flex;flex-direction:column;gap:8px}.wbitem{display:flex;align-items:center;gap:10px;border:1px solid #e8e3da;border-radius:11px;padding:11px;background:#fff}.wbitem.urgent{border-color:#d8a29b;background:#fff7f5;box-shadow:inset 4px 0 0 var(--a)}.wbtext{flex:1;min-width:0;font-size:16px;font-weight:700;line-height:1.25;word-break:break-word}.wburgentlabel{display:inline-block;margin-right:7px;padding:2px 6px;border-radius:99px;background:var(--a);color:#fff;font-size:9px;font-weight:900;letter-spacing:.05em;vertical-align:2px}.wbmeta{display:block;color:#888;font-size:10px;font-weight:500;margin-top:4px}.wbactions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.wburgent,.wbcomplete{border:1px solid var(--l);background:#faf8f3;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.wburgent.on{background:var(--a);border-color:var(--a);color:#fff}.wbhistoryurgent{display:inline-block;padding:2px 5px;border-radius:99px;background:#f2d7d2;color:#8a2f24;font-size:9px;font-weight:850;text-transform:uppercase}.wbempty{padding:24px 10px;text-align:center;color:#999}.wbhistory summary{font-weight:800;cursor:pointer}.wbhistory-list{margin-top:10px}.wbhrow{display:grid;grid-template-columns:100px 1fr auto auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #eee}.wbtag{font-size:10px;font-weight:850;text-transform:uppercase;color:#777}.wbreopen{border:0;background:transparent;text-decoration:underline;cursor:pointer;color:#666}.wbvoice-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:#000b}.wbvoice-card{width:min(620px,100%);max-height:min(760px,92vh);overflow:auto;background:var(--p);border:1px solid var(--l);border-radius:18px;padding:18px;box-shadow:0 24px 70px #0009}.wbvoice-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wbvoice-heading h2{margin:0 0 4px;font-size:22px}.wbvoice-close{border:0;background:transparent;color:inherit;font-size:30px;line-height:1;cursor:pointer}.wbtranscript{display:flex;flex-direction:column;gap:5px;margin:16px 0;padding:11px;border-radius:10px;background:#171717;color:#ddd}.wbtranscript span{font-style:italic;line-height:1.4}.wbvoice-preview{display:flex;flex-direction:column;gap:8px}.wbvoice-row{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center;border:1px solid var(--l);border-radius:11px;padding:11px}.wbvoice-row.urgent{background:#2b1d1b;border-color:#7d4942}.wbvoice-tag{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.wbvoice-tag.prep{color:#70be8e}.wbvoice-tag.low_stock{color:#e2a650}.wbvoice-tag.wastage{color:#e0796d}.wbvoice-item{font-size:16px;font-weight:750}.wbvoice-error{margin-top:12px;padding:10px;border-radius:9px;background:#4a211d;color:#ffd5cf}.wbvoice-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.wbvoice-confirm{background:var(--a);border-color:var(--a);color:#fff}
@media(max-width:850px){.twocol{grid-template-columns:1fr}.layout{grid-template-columns:1fr}aside{position:static;top:auto;align-self:stretch;max-height:none;display:flex;gap:4px;padding:8px;overflow:auto}.nav{width:auto;white-space:nowrap}.nav.off{display:none}.grid{grid-template-columns:repeat(2,1fr)}.filt{grid-template-columns:1fr 1fr}.marketing-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.whiteboard-grid{grid-template-columns:1fr}.wbcol{min-height:0}.permgrid{grid-template-columns:1fr 1fr}.usergrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.top{padding:0 12px}.brand img{height:20px;max-width:190px}.locpick span{display:none}.topright{gap:6px}.locpick select{max-width:130px}.top .btn{padding:7px}main{padding:14px}.grid{grid-template-columns:1fr 1fr}.row{align-items:flex-start;flex-direction:column}.period{width:100%}.period button{flex:1}.filt{grid-template-columns:1fr}.marketing-summary{grid-template-columns:1fr}.review-meta{align-items:flex-start;flex-direction:column}.permgrid,.usergrid{grid-template-columns:1fr}.wbhrow{grid-template-columns:80px 1fr auto}.wbhrow .sm{display:none}.wbvoicebar{align-items:stretch;flex-direction:column}.wbvoicebtn{width:100%}.wbvoice-row{grid-template-columns:76px 1fr}.wbvoice-actions .btn{flex:1}}

@media(max-width:520px){.wbitem{align-items:flex-start;flex-direction:column}.wbactions{width:100%;justify-content:flex-start}.wbactions button{flex:1}}

/* Default dark theme */
:root{--bg:#101010;--p:#1b1b1b;--t:#f3f3f3;--m:#aaa59f;--l:#363636;--a:#b84a3a;color-scheme:dark}
body{background:var(--bg);color:var(--t)}
.top{background:#0b0b0b;border-bottom:1px solid #282828}
aside{background:#151515;border-right-color:var(--l)}
.nav{color:#d9d9d9}.nav.on{background:#272727;color:#fff}.nav.off{color:#777}
.tab{color:#989898}.tab.on{color:#fff;border-color:var(--a)}
.btn,.acts button,.acts select,.filt input,.filt select,.field input,.field select,.login input,.wbadd input,.review-editor{background:#242424;color:#f3f3f3;border-color:var(--l)}
.btn:hover,.acts button:hover{background:#2d2d2d}
.period{background:#202020}.period button{color:#aaa}.period .on{background:#333;color:#fff}
.card,.box{background:var(--p);border-color:var(--l)}.dark{background:#262626;color:#fff;border-color:#404040}
.lab,.field label,.sectionlabel,.tbl th,.wbtag{color:#a9a9a9}.sm{color:#aaa}.mut{color:var(--m)}
.note,.connect{background:#202020;color:#c9c5bf;border-color:#454545}
.adj{background:#1d1d1d;border-color:var(--l)}
.tbl th,.tbl td{border-bottom-color:#343434}
.login{background:#0d0d0d}.login>div{background:var(--p);border-color:var(--l);box-shadow:0 24px 60px #0008}
.chatbox{background:var(--p);border-color:var(--l)}.chatinput{border-top-color:var(--l)}.bubble.user{background:#313131;color:#fff}.bubble.ai{background:#242424;color:#eee}
.permgroup{background:#202020;border-color:#363636}.rolepill{background:#303030;color:#ddd}
.review-card{background:var(--p);border-color:var(--l)}.review-reply{background:#202020;color:#c9c5bf}.review-stars{color:#e2b650}
.wbcol{background:var(--p);border-color:var(--l)}.wbhead{border-bottom-color:#343434}.wbcount{background:#303030;color:#eee}.wbadd{background:#171717;border-bottom-color:#343434}.wbitem{background:#222;border-color:#373737}.wbitem.urgent{background:#2b1d1b;border-color:#7d4942;box-shadow:inset 4px 0 0 var(--a)}.wbmeta{color:#999}.wburgent,.wbcomplete{background:#2a2a2a;color:#eee;border-color:#444}.wburgent.on{background:var(--a);border-color:var(--a);color:#fff}.wbhistoryurgent{background:#472722;color:#f0b2a8}.wbreopen{color:#bbb}.wbhrow{border-top-color:#343434}.wbempty{color:#858585}
.wbvoicebtn,.wbvoice-confirm{background:var(--a);border-color:var(--a);color:#fff}.wbvoice-card{background:var(--p)}
body.wb-service-mode .wbvoicebar{flex:0 0 auto;padding:8px 10px;margin-bottom:3px}body.wb-service-mode .wbvoicebtn{min-height:46px}
.pos{color:#68b982}.neg{color:#e0796d}
input::placeholder{color:#777}
select{color-scheme:dark}
canvas{background:#f6f6f6;border-radius:8px;padding:6px}

button,[role="button"][tabindex]:not([disabled]):not([aria-disabled="true"]):not([inert]):not([tabindex="-1"]){transition:transform 120ms ease,background-color 120ms ease,border-color 120ms ease,box-shadow 120ms ease,opacity 120ms ease,filter 120ms ease}
button:not(:disabled):active,[role="button"][tabindex]:not([disabled]):not([aria-disabled="true"]):not([inert]):not([tabindex="-1"]):active{transform:scale(.98);filter:brightness(.94)}
button:focus-visible,[role="button"][tabindex]:not([disabled]):not([aria-disabled="true"]):not([inert]):not([tabindex="-1"]):focus-visible{outline:2px solid #d17a69;outline-offset:2px}
button[data-pending="true"]{cursor:wait}
.bb-button-spinner{width:.85em;height:.85em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;margin-right:.45em;vertical-align:-.12em;animation:bb-button-spin .65s linear infinite}
.bb-optimistic{opacity:.62}
@keyframes bb-button-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){button,[role="button"][tabindex]:not([disabled]):not([aria-disabled="true"]):not([inert]):not([tabindex="-1"]){transition:none}button:not(:disabled):active,[role="button"][tabindex]:not([disabled]):not([aria-disabled="true"]):not([inert]):not([tabindex="-1"]):active{transform:none}.bb-button-spinner{animation:none}}

/* Dedicated Whiteboard wake word */
.wbvoicecopy{display:flex;flex:1;min-width:220px;flex-direction:column;gap:4px}.wbwakebtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:190px;white-space:nowrap}.wbwakebtn.on{background:#25643f;border-color:#39845a;color:#fff}.wbwakebtn.busy{border-color:#9f752f}.wbwake-dot{width:10px;height:10px;border-radius:50%;background:#777;box-shadow:0 0 0 3px #7772}.wbwakebtn.on .wbwake-dot{background:#70d49a;box-shadow:0 0 0 4px #70d49a22;animation:wbwakepulse 1.7s ease-in-out infinite}.wbwakebtn.busy .wbwake-dot{background:#e2a650}@keyframes wbwakepulse{50%{box-shadow:0 0 0 7px #70d49a0d}}.wbwake-status{display:block;font-size:12px}.wbwakebtn:disabled{opacity:.62;cursor:not-allowed}
body.wb-service-mode .wbwakebtn{min-height:46px}body.wb-service-mode .wbvoicecopy{justify-content:center}
@media(max-width:520px){.wbwakebtn{width:100%}.wbvoicecopy{min-width:0}}

/* Deputy Staff Clock setup */
.staff-admin{margin-top:26px;padding-top:24px;border-top:1px solid var(--l)}
.staff-admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.staff-admin-heading h2{margin:2px 0 5px;font-size:24px}.staff-admin-open{text-decoration:none;white-space:nowrap}
.staff-admin-status{display:flex;flex-direction:column;gap:4px;margin-top:15px}.staff-admin-status.ready{border-color:#38654a;background:#172a20;color:#c6ecd4}.staff-admin-status span{font-weight:400}.staff-admin-status.neg{border-color:#783d36;background:#2b1917;color:#f1c4bd}
.staff-admin-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}.staff-admin-map select,.staff-admin-enable input,.staff-admin-member input{width:100%;padding:9px;border:1px solid var(--l);border-radius:9px;background:#242424;color:#f3f3f3}
.staff-admin-list{display:flex;flex-direction:column;margin-top:12px}.staff-admin-member,.staff-admin-device{display:grid;grid-template-columns:minmax(170px,1fr) 150px auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--l)}.staff-admin-device{grid-template-columns:1fr auto}.staff-admin-member>div,.staff-admin-device>div{display:flex;flex-direction:column;gap:3px}.staff-admin-member span,.staff-admin-device span{color:var(--m);font-size:12px}.staff-admin-empty{padding:16px 0;color:var(--m)}
.staff-admin-enable{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:14px 0 20px;max-width:620px}.staff-admin #staff-clock-admin-message{min-height:18px;margin-top:10px}
@media(max-width:700px){.staff-admin-heading{flex-direction:column}.staff-admin-map{grid-template-columns:1fr}.staff-admin-member{grid-template-columns:1fr auto}.staff-admin-member>div{grid-column:1/-1}.staff-admin-enable{grid-template-columns:1fr}.staff-admin-open{width:100%;text-align:center}}
