:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17211e;background:#eef2f0;--ink:#111816;--muted:#6d7874;--line:#dfe6e2;--surface:#fff;--green:#198754;--red:#c93d43;--blue:#2f78c4;--charcoal:#48514f;--accent:#b7f34b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 12% 0,#fff 0,#f4f7f5 28%,#edf1ef 70%);min-height:100vh}.shell{min-height:100vh}.topbar{background:linear-gradient(115deg,#0d1311,#18211e);color:#fff;padding:20px clamp(16px,3vw,34px);display:flex;justify-content:space-between;gap:16px;align-items:center;box-shadow:0 8px 30px #1015141c}.brand{position:relative;padding-left:14px}.brand:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:99px;background:var(--accent)}.brand b{font-size:21px;letter-spacing:-.03em}.brand span{display:block;color:#aeb9b5;font-size:11px;margin-top:4px;letter-spacing:.06em;text-transform:uppercase}.clock{text-align:right;font-size:13px;font-weight:750;color:#dfe7e3}.nav{display:flex;gap:7px;padding:11px clamp(16px,3vw,34px);background:#ffffffd9;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.nav button,.btn{border:0;border-radius:11px;padding:11px 15px;font-weight:760;cursor:pointer;transition:.18s ease}.nav button{background:transparent;color:#75807c}.nav button.active{background:var(--ink);color:#fff;box-shadow:0 5px 15px #11181624}.nav button:disabled{opacity:.42}.main{padding:24px clamp(16px,3vw,34px) 42px;max-width:1500px;margin:auto}.summary{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.pill{background:#ffffffc7;border:1px solid var(--line);box-shadow:0 4px 16px #17211e08;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:650}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:13px}.room{position:relative;overflow:hidden;min-height:142px;border:1px solid #ffffff20;border-radius:18px;padding:17px;color:#fff;text-align:left;cursor:pointer;box-shadow:0 10px 26px #17211e16;transition:transform .18s ease,box-shadow .18s ease}.room:after{content:"";position:absolute;inset:auto -28px -42px auto;width:100px;height:100px;border-radius:50%;background:#fff;opacity:.07}.room:hover{transform:translateY(-2px);box-shadow:0 15px 34px #17211e25}.room:active{transform:scale(.985)}.room .num{font-size:29px;font-weight:880;letter-spacing:-.04em}.room .state{font-size:10px;font-weight:850;letter-spacing:.12em;margin-top:7px;opacity:.9}.room .meta{font-size:12px;line-height:1.4;margin-top:22px;opacity:.92;max-width:90%}.free{background:linear-gradient(145deg,#208e58,#146d43)}.occupied{background:linear-gradient(145deg,#d74b51,#ad2f35)}.cleaning{background:linear-gradient(145deg,#3989d7,#2465aa)}.blocked{background:linear-gradient(145deg,#586360,#3d4644)}.modal-bg{position:fixed;inset:0;background:#0b100ed1;backdrop-filter:blur(6px);display:grid;place-items:center;padding:18px;z-index:20;animation:fade .14s ease}.modal{width:min(640px,100%);max-height:92vh;overflow:auto;background:#fff;border:1px solid #ffffff70;border-radius:22px;padding:24px;box-shadow:0 30px 90px #0007;animation:rise .18s ease}.modal h2{margin:0 0 4px;font-size:24px;letter-spacing:-.04em}.muted{color:var(--muted);font-size:12px}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px;padding-top:3px}.btn{background:#e9eeec;color:#26312d}.btn:hover{filter:brightness(.97);transform:translateY(-1px)}.btn.primary{background:var(--ink);color:#fff}.btn.danger{background:#c93d43;color:#fff}.btn.success{background:#198754;color:#fff}.btn.ghost{background:#f5f7f6;color:#65716c}.line{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1ef;padding:12px 2px}.itemrow{width:100%;background:none;border-left:0;border-right:0;border-top:0;cursor:pointer;text-align:left;font:inherit;border-radius:8px}.itemrow:hover{background:#f5f8f6;padding-left:8px;padding-right:8px}.paid{color:#14733f}.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}.choice button{padding:18px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f5f7f6);border-radius:14px;cursor:pointer;text-align:left;box-shadow:0 4px 12px #17211e08}.choice button:hover{border-color:#b7c3be;transform:translateY(-1px)}.choice b{display:block;font-size:17px}.choice small{display:block;margin-top:5px;color:#6c7773}.notice{margin-top:13px;padding:11px 13px;background:#fff6d9;border:1px solid #f3e4a8;border-radius:11px;font-size:12px}.lock{background:#edf6ff;border-color:#cfe4f7}.search,.field input,.paygrid input{width:100%;padding:13px 14px;border:1px solid #cfd8d4;border-radius:11px;font:inherit;outline:none;transition:.15s}.search{margin:16px 0 8px}.search:focus,.field input:focus,.paygrid input:focus{border-color:#7f9189;box-shadow:0 0 0 3px #18211e0c}.field{display:block;margin-top:17px;font-size:11px;font-weight:800;color:#5c6863;text-transform:uppercase;letter-spacing:.04em}.field input{display:block;margin-top:7px;text-transform:none;letter-spacing:0}.qty{display:flex;align-items:center;justify-content:center;gap:24px;margin:25px 0}.qty button{width:50px;height:50px;border:1px solid var(--line);background:#f5f7f6;border-radius:50%;font-size:24px;cursor:pointer}.qty b{font-size:26px}.accountHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.statusChip{background:#eef2f0;border:1px solid #e1e7e4;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:850;white-space:nowrap}.note{margin-top:8px;font-weight:750}.statement{margin-top:15px;border-top:1px solid #e7ece9}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:17px}.totals span{background:#f3f6f4;border:1px solid #e9eeeb;border-radius:13px;padding:12px;font-size:11px;color:#6a7571}.totals b{display:block;font-size:17px;margin-top:4px;color:#17211e}.totals .due{background:linear-gradient(135deg,#111816,#202a27);border-color:#111816;color:#b8c2be}.totals .due b{color:#fff}.paygrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.paygrid label{font-size:11px;font-weight:800;color:#59655f;text-transform:uppercase;letter-spacing:.04em}.paygrid input{display:block;margin-top:6px;text-transform:none}.paySummary{display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding:15px;background:linear-gradient(135deg,#111816,#202a27);color:#fff;border-radius:13px}.paySummary b{font-size:21px}.product{min-height:49px}.empty{padding:24px;text-align:center;color:#74807b}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}@media(max-width:600px){.topbar{padding-top:16px;padding-bottom:16px}.clock{font-size:11px}.nav,.main{padding-left:13px;padding-right:13px}.main{padding-top:17px}.grid{grid-template-columns:repeat(2,1fr);gap:9px}.room{min-height:126px;border-radius:15px;padding:14px}.room .num{font-size:25px}.room .meta{margin-top:16px}.choice,.paygrid{grid-template-columns:1fr}.modal{padding:19px;border-radius:18px}.actions .btn{flex:1 1 auto}.accountHead{display:block}.statusChip{display:inline-block;margin-top:10px}.totals{grid-template-columns:1fr 1fr}.totals .due{grid-column:1/-1}}.field select{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cfd8d4;border-radius:11px;background:#fff;font:inherit;color:#17211e;outline:none}.field select:focus{border-color:#7f9189;box-shadow:0 0 0 3px #18211e0c}
.room.occupied{min-height:174px}.room .identity{margin-top:9px;max-width:94%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 8px;border-radius:8px;background:#ffffff18;font-size:11px;font-weight:800}.room.occupied .meta{margin-top:10px;font-weight:700}.breakdown{position:relative;z-index:1;display:flex;gap:4px 7px;flex-wrap:wrap;margin-top:9px;font-size:10px;line-height:1.25;opacity:.96}.breakdown span{white-space:nowrap}.breakdown span:not(:last-of-type):after{content:" ·";opacity:.7}.breakdown b{flex-basis:100%;font-size:11px;margin-top:1px}.btn:disabled{cursor:not-allowed;opacity:.42;filter:grayscale(.25);transform:none!important}.paygrid input{font-variant-numeric:tabular-nums;font-weight:750}@media(max-width:600px){.room.occupied{min-height:164px}.room .identity{font-size:10px}.breakdown{font-size:9px}.breakdown b{font-size:10px}}

.opsbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-3px 0 20px}.opsbar button{border:1px solid var(--line);background:#ffffffd9;border-radius:14px;padding:12px 14px;text-align:left;cursor:pointer;box-shadow:0 5px 16px #17211e09;transition:.16s}.opsbar button:hover{transform:translateY(-1px);border-color:#bdc9c4}.opsbar small{display:block;font-size:9px;font-weight:850;letter-spacing:.11em;color:#7a8580}.opsbar b{display:block;margin-top:3px;font-size:16px;color:#17211e}.opsbar span{display:block;margin-top:2px;font-size:10px;color:#7a8580}.todaygrid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:18px}.todaygrid span{background:#f3f6f4;border:1px solid #e5ebe8;border-radius:13px;padding:13px}.todaygrid small,.shiftTotal small{display:block;color:#6e7974;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.todaygrid b{display:block;margin-top:4px;font-size:19px}.todaygrid .strong,.shiftTotal{background:#17211e;color:#fff}.todaygrid .strong small,.shiftTotal small{color:#b8c3be}.todaygrid .strong b{color:#fff}.reminders{display:grid;gap:8px;margin-top:18px}.reminder{width:100%;border:1px solid var(--line);background:#f8faf9;border-radius:13px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.reminder span b{display:block}.reminder span small{display:block;color:#71807a;margin-top:4px}.reminder em{font-style:normal;font-size:10px;font-weight:800;background:#fff2c8;padding:6px 8px;border-radius:999px}.reminder.done{opacity:.55}.reminder.done span b{text-decoration:line-through}.reminder.done em{background:#e4eee9}.remform{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shiftTotal{margin-top:18px;border-radius:14px;padding:15px}.shiftTotal b{display:block;font-size:24px;margin-top:4px}.checklist{margin-top:12px;border:1px solid var(--line);border-radius:13px;overflow:hidden}.checklist div{display:flex;justify-content:space-between;padding:11px 13px;border-bottom:1px solid var(--line)}.checklist div:last-child{border-bottom:0}.oknotice{background:#eaf7ef;border-color:#cbe8d6}@media(max-width:600px){.opsbar{grid-template-columns:1fr 1fr}.opsbar button:last-child{grid-column:1/-1}.remform{grid-template-columns:1fr}.todaygrid{grid-template-columns:1fr 1fr}}

/* System shell polish */
.topbar{min-height:76px;padding-top:15px;padding-bottom:15px}.brand{display:flex;align-items:center;gap:11px;padding-left:0}.brand:before{display:none}.brandmark{width:38px;height:38px;border-radius:11px;background:var(--accent);color:#101514;display:grid;place-items:center;font-weight:950;font-size:18px;box-shadow:0 0 0 1px #ffffff12 inset}.brand b{display:block;font-size:18px}.brand span{margin-top:2px}.topmeta{display:flex;align-items:center;gap:18px}.systemStatus{display:flex;align-items:center;gap:7px;color:#aeb9b5;font-size:11px}.systemStatus i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #b7f34b14}.nav{min-height:60px;align-items:center;gap:4px}.nav button{display:flex;align-items:center;gap:8px;padding:10px 14px}.navicon{width:18px;height:18px;display:grid;place-items:center}.navicon svg,.opicon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav button.active .navicon{color:var(--accent)}.workspaceHead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:17px}.workspaceHead>div:first-child small{font-size:9px;font-weight:850;letter-spacing:.13em;color:#7a8580}.workspaceHead h1{font-size:22px;letter-spacing:-.035em;margin:2px 0 0}.workspaceHead .summary{margin:0;justify-content:flex-end}.pill{display:flex;align-items:center;gap:7px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;box-shadow:0 0 0 3px #00000008}.freeDot{background:#20a563}.occupiedDot{background:#dc3e47}.cleaningDot{background:#3286d5}.blockedDot{background:#515a58}.opsbar{margin:0 0 18px}.opsbar button{display:flex;align-items:center;gap:12px;min-height:72px}.opicon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#edf2ef;color:#35413d;display:grid;place-items:center;padding:8px}.opsbar button:first-child .opicon{background:#e8f5ed;color:#187849}.opsbar button:nth-child(2) .opicon{background:#fff5d8;color:#8b6812}.opsbar button:nth-child(3) .opicon{background:#edf2f8;color:#42627d}.opsbar button>span{min-width:0}.opsbar button small,.opsbar button b,.opsbar button em{display:block}.opsbar button em{font-style:normal;margin-top:2px;font-size:10px;color:#7a8580}.room{outline:0}.room:focus-visible,.opsbar button:focus-visible,.nav button:focus-visible{box-shadow:0 0 0 3px #fff,0 0 0 6px #17211e55}.room .state{display:flex;align-items:center;gap:6px}.room .state:before{content:"";width:6px;height:6px;border-radius:50%;background:#ffffffd9;box-shadow:0 0 0 3px #ffffff13}@media(max-width:760px){.systemStatus{display:none}.workspaceHead{display:block}.workspaceHead .summary{justify-content:flex-start;margin-top:12px}.opsbar{grid-template-columns:1fr}.opsbar button:last-child{grid-column:auto}}@media(max-width:600px){.topbar{min-height:68px}.brandmark{width:34px;height:34px}.brand b{font-size:16px}.nav{justify-content:space-between}.nav button{flex:1;justify-content:center;padding:10px 8px}.workspaceHead h1{font-size:20px}.main{padding-top:18px}}

/* Compact operational map */
.topmeta{gap:14px}.topStats{display:flex;align-items:center;gap:6px}.topPill{display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #ffffff16;border-radius:999px;background:#ffffff09;color:#dce4e1;font-size:10px;font-weight:750;white-space:nowrap}.topPill .dot{width:6px;height:6px;box-shadow:none}.main{padding-top:18px}.opsbar{margin-bottom:14px}.grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.room{min-height:0;height:176px;padding:13px 14px;border-radius:15px;display:flex;flex-direction:column;justify-content:flex-start}.room .num{font-size:24px;line-height:1;font-weight:900;margin:0 0 10px}.room .state{margin-top:0;font-size:10px}.room .identity{margin-top:8px}.room .meta{margin-top:10px;font-size:11px}.room .breakdown{margin-top:auto;padding-top:8px;font-size:10px}.room .breakdown span{margin-top:2px}.room .breakdown b{margin-top:3px}.workspaceHead{display:none}@media(max-width:1100px){.topStats{display:none}.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.room{height:166px}}@media(max-width:600px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.room{height:158px;padding:12px}.room .num{font-size:22px;margin-bottom:8px}.topmeta{gap:8px}}

/* Reception tools live in the navigation row; room area stays dedicated to UHs */
.nav{align-items:center;min-height:60px}.nav .opsbar{margin:0 0 0 auto;display:flex;gap:7px;align-items:center}.nav .opcard{min-width:0;width:auto;min-height:0;padding:7px 10px;border-radius:10px;gap:8px;box-shadow:none}.nav .opicon{width:28px;height:28px;border-radius:8px}.nav .opcard small{font-size:8px}.nav .opcard b{font-size:12px;line-height:1.05}.nav .opcard span{display:none}.main{padding-top:16px}.grid{margin-top:0}@media(max-width:900px){.nav{flex-wrap:wrap}.nav .opsbar{width:100%;margin-left:0}.nav .opcard{flex:1}}@media(max-width:600px){.nav .opsbar{overflow-x:auto;flex-wrap:nowrap}.nav .opcard{flex:0 0 auto}}

.roomTop{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.roomTop .num{flex:0 0 auto}.roomTime{min-width:0;margin-top:1px;padding:4px 6px;border-radius:7px;background:#ffffff18;font-size:9px;font-weight:800;line-height:1.15;text-align:right;white-space:nowrap}.room.occupied .identity{margin-top:7px}.room.occupied .meta:empty{display:none}@media(max-width:600px){.roomTime{font-size:8px;padding:3px 5px}}

/* Final reception-map polish */
.nav{min-height:54px;padding-top:8px;padding-bottom:8px}.nav .opsbar{gap:6px}.nav .opcard{padding:5px 8px;gap:7px;border-radius:9px}.nav .opicon{width:25px;height:25px;border-radius:7px}.nav .opicon svg{width:14px;height:14px}.nav .opcard small{font-size:7px;letter-spacing:.08em}.nav .opcard b{font-size:11px}.roomTime{font-size:8px;padding:3px 5px;letter-spacing:-.01em}.room.occupied .identity{min-height:22px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.room.occupied .identity:empty{display:none}.room .breakdown{line-height:1.2}@media(min-width:1101px){.nav .opcard{max-width:150px}.nav .opsbar{flex:0 0 auto}}@media(max-width:900px){.nav .opcard{max-width:none}}

/* Reception tools: compact and secondary */
.nav .opsbar .opcard{min-height:38px;max-width:145px;padding:4px 8px;gap:7px;border:1px solid #dde5e1;background:#fff}.nav .opsbar .opcard .opicon{width:24px;height:24px;flex:0 0 24px;padding:5px}.nav .opsbar .opcard>span{display:block}.nav .opsbar .opcard small{font-size:7px;line-height:1}.nav .opsbar .opcard b{font-size:11px;line-height:1.1;margin-top:2px}.nav .opsbar .opcard em{display:none}@media(max-width:900px){.nav .opsbar .opcard{max-width:none}}@media(max-width:600px){.nav .opsbar .opcard{min-width:128px}}


/* Stock V1 */
.stockMain{max-width:1180px}.stockHead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:4px 0 18px}.stockHead small{font-size:9px;font-weight:850;letter-spacing:.12em;color:#75817c}.stockHead h1{margin:3px 0 2px;font-size:25px;letter-spacing:-.04em}.stockHead p{margin:0;color:#77827e;font-size:12px}.stockSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.stockSummary span{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 15px;box-shadow:0 5px 18px #17211e08}.stockSummary small{display:block;font-size:9px;font-weight:850;letter-spacing:.08em;color:#75817c}.stockSummary b{display:block;font-size:21px;margin-top:3px}.stockSummary .alert{background:#fff7df;border-color:#efdda2}.stockTable{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #17211e0a}.stockRow{width:100%;display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(80px,1fr));gap:12px;align-items:center;padding:13px 16px;border:0;border-bottom:1px solid #edf1ef;background:#fff;text-align:left;font:inherit;color:#17211e}.stockRow:last-child{border-bottom:0}.stockRow:not(.stockLabels){cursor:pointer}.stockRow:not(.stockLabels):hover{background:#f7faf8}.stockLabels{background:#f4f7f5;color:#78837f;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.stockQty{font-size:18px;font-weight:850}.stockBadge{display:inline-block;font-style:normal;font-size:10px;font-weight:800;padding:6px 9px;border-radius:999px}.stockBadge.ok{background:#e8f5ed;color:#187849}.stockBadge.attention{background:#fff5d8;color:#896712}.stockBadge.low{background:#fde8e9;color:#b12e35}.stockProductTotal{margin-top:18px;padding:15px;border-radius:14px;background:#17211e;color:#fff}.stockProductTotal small{display:block;color:#b8c3be;font-size:9px;font-weight:800;letter-spacing:.08em}.stockProductTotal b{display:block;font-size:25px;margin-top:3px}@media(max-width:700px){.stockHead{align-items:stretch}.stockSummary{grid-template-columns:repeat(3,1fr)}.stockRow{grid-template-columns:minmax(135px,2fr) repeat(2,minmax(58px,1fr));padding:12px 10px}.stockRow span:nth-child(2),.stockRow span:nth-child(4){display:none}.stockLabels span:nth-child(2),.stockLabels span:nth-child(4){display:none}}

/* Stock movement ledger */
.stockActions{display:flex;gap:8px;align-items:center}.stockMoves{margin-top:18px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.stockMove{display:grid;grid-template-columns:minmax(0,1fr) 58px 78px;gap:10px;align-items:center;padding:11px 13px;border-bottom:1px solid #edf1ef;background:#fff}.stockMove:last-child{border-bottom:0}.stockMove span{min-width:0}.stockMove span b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stockMove span small{display:block;margin-top:3px;color:#75817c;font-size:10px}.stockMove strong{text-align:right;font-size:14px}.stockMove strong.in{color:#187849}.stockMove strong.out{color:#b12e35}.stockMove em{text-align:right;font-style:normal;color:#68736f;font-size:10px}@media(max-width:600px){.stockHead{display:block}.stockActions{margin-top:12px}.stockActions .btn{flex:1}.stockMove{grid-template-columns:minmax(0,1fr) 45px 62px;padding:10px}.stockMove span small{font-size:9px}}


/* Management V1 */
.managementMain{max-width:1180px}.managementHead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:4px 0 18px}.managementHead small,.panelHead small{font-size:9px;font-weight:850;letter-spacing:.12em;color:#75817c}.managementHead h1{margin:3px 0 2px;font-size:26px;letter-spacing:-.04em}.managementHead p{margin:0;color:#77827e;font-size:12px}.managementDate{font-size:11px;font-weight:750;color:#68746f;text-transform:capitalize}.managementKpis{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:10px;margin-bottom:12px}.managementKpis article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 7px 22px #17211e0a}.managementKpis article small{display:block;font-size:9px;font-weight:850;letter-spacing:.09em;color:#75817c}.managementKpis article b{display:block;margin-top:5px;font-size:23px;letter-spacing:-.04em}.managementKpis article b i{font-style:normal;color:#a6b0ac;font-weight:500}.managementKpis article span{display:block;margin-top:3px;font-size:10px;color:#7a8580}.managementKpis .heroKpi{background:linear-gradient(135deg,#111816,#202a27);color:#fff;border-color:#111816}.managementKpis .heroKpi small,.managementKpis .heroKpi span{color:#b8c3be}.managementKpis .heroKpi b{font-size:27px}.managementGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.managementPanel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 7px 22px #17211e09}.panelHead{margin-bottom:8px}.panelHead h2{margin:2px 0 0;font-size:16px;letter-spacing:-.025em}.metricLine{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1ef}.metricLine:last-child{border-bottom:0}.metricLine span{font-size:12px}.metricLine span small{color:#84908b;margin-left:5px}.metricLine b{font-size:13px}.managementStatus{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.managementStatus span{position:relative;background:#f4f7f5;border-radius:12px;padding:12px}.managementStatus .dot{position:absolute;right:10px;top:10px}.managementStatus b{display:block;font-size:22px}.managementStatus small{display:block;margin-top:2px;color:#77827e;font-size:9px}.attentionList{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.attentionList div{background:#f5f7f6;border-radius:11px;padding:10px}.attentionList span{display:block;font-size:9px;color:#75817c}.attentionList b{display:block;font-size:19px;margin-top:3px}.lowNames{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.lowNames span{font-size:9px;font-weight:750;padding:6px 8px;border-radius:999px;background:#fff3d2;color:#7d5c0d}.managementOk{margin-top:10px;padding:11px;border-radius:11px;background:#eaf7ef;color:#267247;font-size:10px;font-weight:750}@media(max-width:800px){.managementKpis{grid-template-columns:1fr 1fr}.managementGrid{grid-template-columns:1fr}.managementHead{align-items:flex-start}}@media(max-width:520px){.managementHead{display:block}.managementDate{margin-top:8px}.managementKpis{grid-template-columns:1fr 1fr}.managementKpis article{padding:13px}.managementKpis .heroKpi{grid-column:1/-1}.managementStatus{grid-template-columns:1fr 1fr}.attentionList{grid-template-columns:1fr 1fr 1fr}}


/* Stock + Management visual consolidation */
@media(min-width:901px){
  .stockMain,.managementMain{padding-top:14px}
  .stockHead,.managementHead{margin-top:0;margin-bottom:13px}
  .stockHead h1,.managementHead h1{font-size:23px}
  .stockSummary{margin-bottom:11px}
  .stockSummary span{padding:10px 14px}
  .stockSummary b{font-size:19px}
  .stockRow{padding-top:10px;padding-bottom:10px}
  .managementKpis{gap:9px;margin-bottom:9px}
  .managementKpis article{padding:13px 14px;border-radius:14px}
  .managementKpis article b{font-size:21px}
  .managementKpis .heroKpi b{font-size:25px}
  .managementGrid{gap:9px}
  .managementPanel{padding:13px 15px;border-radius:14px}
  .panelHead{margin-bottom:5px}
  .metricLine{padding:7px 0}
  .managementStatus{margin-top:8px}
  .managementStatus span{padding:10px}
  .attentionList div{padding:8px 10px}
  .managementOk{padding:8px 10px;margin-top:8px}
}
.stockActions .btn{min-height:38px}.stockTable{box-shadow:0 10px 28px #17211e0b}.stockRow:not(.stockLabels){transition:background .14s,transform .14s}.stockRow:not(.stockLabels):hover{background:#f6faf7}.stockRow:not(.stockLabels):focus-visible{outline:2px solid #17211e;outline-offset:-2px}.stockQty{font-variant-numeric:tabular-nums}.stockBadge{min-width:55px;text-align:center}.stockSummary span{position:relative;overflow:hidden}.stockSummary span:after{content:"";position:absolute;right:-22px;bottom:-32px;width:72px;height:72px;border-radius:50%;background:#17211e05}.stockSummary .alert:after{background:#d39d1510}
.modal .field select{min-height:44px}.modal .stockMoves{max-height:min(420px,55vh);overflow:auto}.stockMove{min-height:58px}.stockMove strong{font-variant-numeric:tabular-nums}.stockMove strong.in,.stockMove strong.out{padding:4px 7px;border-radius:999px}.stockMove strong.in{background:#eaf7ef}.stockMove strong.out{background:#fdebed}.stockMove em{font-variant-numeric:tabular-nums}
.managementKpis article,.managementPanel{transition:transform .16s,box-shadow .16s}.managementKpis article:hover,.managementPanel:hover{transform:translateY(-1px);box-shadow:0 10px 28px #17211e0d}.managementStatus span{border:1px solid #edf1ef}.attentionPanel{background:linear-gradient(180deg,#fff,#fdfefd)}.managementDate{padding:6px 9px;border-radius:999px;background:#edf2ef}.metricLine b,.managementKpis article b,.managementStatus b{font-variant-numeric:tabular-nums}
@media(max-width:700px){
  .stockSummary{gap:7px}.stockSummary span{padding:10px}.stockSummary b{font-size:18px}
  .stockTable{border-radius:13px}.stockBadge{min-width:0}
  .managementMain,.stockMain{padding-top:14px}.managementHead,.stockHead{margin-bottom:13px}
}


/* Universal modal finishing layer */
.modal{position:relative;overflow:hidden}.modalBody{max-height:inherit;overflow:auto;padding-right:2px}.modalClose{position:absolute;z-index:5;top:14px;right:14px;width:34px;height:34px;border:1px solid #dfe5e2;border-radius:50%;background:#f4f7f5;color:#53605b;font:500 24px/30px Arial,sans-serif;cursor:pointer;display:grid;place-items:center;padding:0;transition:background .14s,color .14s,transform .14s,border-color .14s}.modalClose:hover{background:#17211e;color:#fff;border-color:#17211e;transform:scale(1.04)}.modalClose:focus-visible{outline:3px solid #a9f13b66;outline-offset:2px}.modalBody>h2:first-child,.modalBody>.accountHead:first-child{padding-right:46px}.modalBody>.muted:nth-child(2){padding-right:42px}.modal .actions{position:sticky;bottom:0;z-index:3;margin:18px -2px -2px;padding:12px 2px 2px;background:linear-gradient(180deg,#ffffff00 0,#fff 22%,#fff 100%);border-radius:0 0 16px 16px}.modal .actions .btn{min-height:38px}.modal .actions .btn.ghost:last-child{color:#68746f}.modal .actions .btn.ghost:last-child:hover{color:#17211e}.modal h2{letter-spacing:-.035em}.modal .muted{line-height:1.45}.modal .statement,.modal .checklist,.modal .todaygrid,.modal .stockMoves{border-color:#dfe5e2}.modal .notice{line-height:1.4}.modal-bg{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
@media(max-width:600px){.modalClose{top:10px;right:10px;width:32px;height:32px}.modalBody>h2:first-child,.modalBody>.accountHead:first-child{padding-right:40px}.modal .actions{gap:7px;flex-wrap:wrap}.modal .actions .btn{flex:1 1 auto}.modal-bg{backdrop-filter:none;-webkit-backdrop-filter:none}}


/* Homologation fixes: state flow, payment shortcuts and account controls */
.stateChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}.stateChoices .btn{min-height:46px}.payShortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}.payShortcut{border:1px solid #dce4e0;border-radius:10px;padding:9px 7px;font-size:10px;font-weight:800;cursor:pointer}.payShortcut.cash{background:#f2f4f3;color:#27312e}.payShortcut.pix{background:#e7f7f1;color:#147153}.payShortcut.debit{background:#eaf2fb;color:#315f8d}.payShortcut.credit{background:#f2ecfb;color:#65458d}.viewTabs{display:flex;gap:5px;margin:0 48px 14px 0;padding:4px;background:#eef2f0;border-radius:10px;width:max-content}.viewTabs button{border:0;background:transparent;border-radius:8px;padding:7px 11px;font-weight:800;color:#6d7874;cursor:pointer}.viewTabs button.active{background:#17211e;color:#fff}.modal .accountActions{position:sticky;top:0;z-index:4;display:flex;gap:6px;flex-wrap:wrap;margin:0 -2px 12px;padding:6px 44px 10px 2px;background:linear-gradient(180deg,#fff 82%,#ffffffed 100%);border-bottom:1px solid #edf1ef}.modal .accountActions .btn{padding:8px 10px;min-height:34px;font-size:11px}.modal:has(.accountActions) .accountHead{margin-bottom:8px}.modal:has(.accountActions) .modalBody{padding-top:0}@media(max-width:650px){.stateChoices,.payShortcuts{grid-template-columns:1fr 1fr}.modal .accountActions{padding-right:40px}.modal .accountActions .btn{flex:1 1 auto}.viewTabs{margin-right:40px}}

/* Homologation: modal viewport + searchable stock entry */
.modal-bg{overflow:hidden}
.modal{display:flex;flex-direction:column;max-height:calc(100dvh - 36px);overflow:hidden;padding:0}
.modalBody{min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:24px 24px 0;scrollbar-gutter:stable}
.modal .actions{bottom:0;margin:18px -24px 0;padding:18px 24px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#ffffff00 0,#fff 24%,#fff 100%)}
.stockEntryList{margin-top:12px;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:13px}
.stockEntryList .line{padding-left:12px;padding-right:12px}
.entryChosen{margin-top:14px;padding:12px 14px;border-radius:12px;background:#f2f6f4;border:1px solid #e0e8e4}
.entryChosen b,.entryChosen small{display:block}.entryChosen small{margin-top:3px;color:#75817c;font-size:10px}
.entrySave{width:100%;margin-top:10px}
@media(max-width:600px){.modal{max-height:calc(100dvh - 16px)}.modalBody{padding:18px 16px 0}.modal .actions{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}}

/* Final modal polish */
.modalBody{scroll-padding-top:16px;padding-bottom:1px}
.modalBody::before{content:"";display:block;height:8px;margin-top:-8px;pointer-events:none}
.modal:has(.accountActions) .modalBody{padding-top:8px}
.modal:has(.accountActions) .accountActions{top:-8px;padding-top:14px}
.shiftFinance{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 14px}
.shiftFinance span{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e1e7e4;border-radius:12px;background:#f5f7f6}
.shiftFinance small{font-size:10px;font-weight:800;color:#74807b;text-transform:uppercase;letter-spacing:.04em}
.shiftFinance b{font-size:16px}.shiftFinance .pending{background:#fff8e6;border-color:#f0d88c}.shiftFinance .pending b{color:#8a6500}.shiftFinance .settled{background:#edf8f2;border-color:#cfe9da}.shiftFinance .settled b{color:#14733f}
@media(max-width:600px){.shiftFinance{grid-template-columns:1fr}.modalBody{scroll-padding-top:12px}}

/* Today: shift timeline */
.dayShifts{margin-top:20px;padding-top:16px;border-top:1px solid #dfe5e2}
.dayShiftsTitle{margin-bottom:10px}.dayShiftsTitle small{font-size:9px;font-weight:900;letter-spacing:.08em;color:#7a8581}.dayShiftsTitle h3{margin:2px 0 0;font-size:17px}
.dayShiftCard{border:1px solid #dfe5e2;border-radius:14px;padding:13px 14px;margin-top:9px;background:#fafcfb}
.dayShiftCard.current{border-color:#bcd8ca;background:#f1f8f4}
.dayShiftHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.dayShiftHead span small,.dayShiftHead span b{display:block}.dayShiftHead small{font-size:9px;font-weight:900;color:#71807a;letter-spacing:.06em}.dayShiftHead span b{margin-top:2px;font-size:13px}.dayShiftHead strong{font-size:17px}
.dayShiftStats{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;padding-top:9px;border-top:1px solid #e5ebe8}.dayShiftStats span{font-size:10px;color:#6f7b76}.dayShiftStats b{color:#202a26;margin-left:3px}
.dayShiftMethods,.dayShiftLegacy{margin-top:9px;font-size:10px;color:#74807b;line-height:1.45}.dayShiftLegacy{font-style:italic}
.dayShiftDetail{margin-top:10px;border:0;background:transparent;color:#176747;font-weight:800;font-size:11px;padding:0;cursor:pointer}.dayShiftDetail:hover{text-decoration:underline}
.dayShiftEmpty{padding:12px;border:1px dashed #d7dfdb;border-radius:12px;color:#7b8681;font-size:11px}
@media(max-width:600px){.dayShiftHead{align-items:flex-start}.dayShiftStats{display:grid;grid-template-columns:1fr 1fr}}

/* Management V1.1 */
.managementFinance{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 10px}
.managementFinance article{background:#fff;border:1px solid #dfe5e2;border-radius:15px;padding:15px}.managementFinance small,.managementFinance b,.managementFinance span{display:block}.managementFinance small{font-size:9px;font-weight:900;letter-spacing:.07em;color:#75817c}.managementFinance b{font-size:22px;margin:5px 0 2px}.managementFinance span{font-size:10px;color:#7a8581}.managementFinance .pending{background:#fff9e9;border-color:#eedb9d}.managementFinance .settled{background:#f1f8f4;border-color:#cfe6d9}
.managementShifts{margin-bottom:10px}.managementLink{border:0;background:transparent;color:#176747;font-weight:800;font-size:11px;cursor:pointer}.managementLink:hover{text-decoration:underline}
.managementShiftList{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.managementShift{border:1px solid #e1e7e4;border-radius:12px;padding:11px 12px;background:#fafcfb}.managementShift.current{background:#f1f8f4;border-color:#bddbca}.managementShift div{display:flex;justify-content:space-between;gap:10px;align-items:center}.managementShift small{font-size:9px;font-weight:900;color:#74807b}.managementShift div b{font-size:13px}.managementShift>span{display:block;margin-top:6px;font-size:10px;color:#74807b}
.managementAccount{width:100%;border:0;border-bottom:1px solid #edf1ef;background:transparent;font:inherit;cursor:pointer;text-align:left}.managementAccount:hover{background:#f5f8f6}.managementModalTitle{font-size:14px;margin:18px 0 6px}
@media(max-width:760px){.managementFinance{grid-template-columns:1fr}.managementShiftList{grid-template-columns:1fr}.managementShift div{align-items:flex-start;flex-direction:column;gap:3px}}

/* BRIVIG authentication */
.loginShell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#eef2f0}.loginCard{width:min(100%,390px);background:#fff;border:1px solid #dfe5e2;border-radius:20px;padding:28px;box-shadow:0 20px 55px #17211e18}.loginBrand{font-size:25px;font-weight:950;letter-spacing:-.05em}.loginBy{margin-top:2px;color:#77827e;font-size:11px}.loginCard h1{margin:28px 0 5px;font-size:22px;letter-spacing:-.04em}.loginCard p{margin:0 0 20px;color:#77827e;font-size:12px}.loginCard label{display:block;margin-top:12px;font-size:10px;font-weight:850;color:#59645f;text-transform:uppercase;letter-spacing:.05em}.loginCard input{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #d7dfdb;border-radius:11px;padding:12px 13px;background:#fafcfb;font:inherit;color:#17211e;outline:none}.loginCard input:focus{border-color:#718079;box-shadow:0 0 0 3px #17211e0d}.loginButton{width:100%;margin-top:18px;min-height:44px}.loginButton:disabled{opacity:.6;cursor:wait}.loginError{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#fdebed;color:#9b2d34;font-size:11px;font-weight:750}

/* BRIVIG Core communication states */
.working-bg{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;background:#0b1511b8;backdrop-filter:blur(3px);padding:20px}
.working-card{display:flex;align-items:center;gap:14px;width:min(100%,360px);box-sizing:border-box;padding:18px 20px;border:1px solid #dfe6e2;border-radius:16px;background:#fff;box-shadow:0 22px 60px #0003;color:#17211e}
.working-card b{display:block;font-size:14px}.working-card span{display:block;margin-top:3px;font-size:11px;color:#73807a}
.working-spinner{width:25px;height:25px;flex:0 0 25px;border:3px solid #dfe7e3;border-top-color:#17211e;border-radius:50%;animation:brivigSpin .75s linear infinite}
.bootShell{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:7px;background:#eef2f0;color:#17211e}
.bootMark{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#b9f22d;font-size:22px;font-weight:950}
.bootShell>b{font-size:18px;letter-spacing:-.03em}.bootShell>span{font-size:11px;color:#74807b}
.bootBar{width:150px;height:3px;margin-top:7px;overflow:hidden;border-radius:9px;background:#d9e1dd}.bootBar i{display:block;width:45%;height:100%;border-radius:9px;background:#17211e;animation:brivigLoad 1s ease-in-out infinite}
@keyframes brivigSpin{to{transform:rotate(360deg)}}@keyframes brivigLoad{0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}
