*{box-sizing:border-box;margin:0;padding:0}:root{--mm-yellow:#ffeb00;--mm-black:#000;--mm-gray:#6d6962;--mm-cream:#f9f4e1;--mm-orange:#ffab00;--mm-epic:#e8670d;--mm-blue:#bcd3ec;--mm-green:#004e32;--bg:#fff;--card:#fff;--border:#e7e4da;--font-head:"Montserrat";--font-body:"Open Sans"}body,html{height:100%}body{font-family:var(--font-body),"Open Sans",-apple-system,sans-serif;background:var(--bg);color:var(--mm-black)}.big,.mont,.num,.queue-no,.stat .v,h1,h2{font-family:var(--font-head),"Montserrat",sans-serif}button{cursor:pointer}button,input,select{font-family:inherit}.kiosk{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:24px;background:var(--mm-cream);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.kiosk input,.kiosk select{-moz-user-select:text;user-select:text;-webkit-user-select:text}.kiosk .back-link:active,.kiosk .btn-big:active{transform:translateY(2px)}.kiosk{position:relative}.lang-bar{position:absolute;top:14px;right:14px;display:flex;gap:6px;z-index:5}.lang-pill{padding:10px 16px;font-size:14px;font-weight:700;border:2px solid var(--mm-black);border-radius:999px;background:#fff;cursor:pointer}.lang-pill.active{background:var(--mm-black);color:var(--mm-yellow)}.kiosk-header{display:flex;align-items:center;gap:10px;padding:12px 0 8px;font-family:var(--font-head),"Montserrat",sans-serif;font-size:20px;font-weight:800;letter-spacing:.5px}.mascot{width:34px;height:34px;border-radius:50%;background:var(--mm-yellow);border:2px solid var(--mm-black);display:inline-flex;align-items:center;font-size:16px}.kiosk-body,.mascot{justify-content:center}.kiosk-body{flex:1 1;width:100%;max-width:560px;display:flex;flex-direction:column;gap:16px;padding-bottom:40px}.btn-start{width:100%;padding:38px;font-family:var(--font-head),"Montserrat",sans-serif;font-size:30px;font-weight:900;color:var(--mm-black);background:var(--mm-yellow);border:3px solid var(--mm-black);border-radius:20px;box-shadow:6px 6px 0 var(--mm-black)}.btn-start:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--mm-black)}.btn-big{width:100%;padding:24px;font-size:21px;font-weight:700;border:2px solid var(--mm-black);border-radius:16px;background:var(--card);text-align:left}.btn-big .sub{display:block;font-size:14px;font-weight:400;color:var(--mm-gray);margin-top:4px}.btn-big.primary{background:var(--mm-yellow);border-color:var(--mm-black);color:var(--mm-black);text-align:center;box-shadow:4px 4px 0 var(--mm-black)}.btn-big.primary .sub{color:#55501a}.btn-big:disabled{opacity:.5;cursor:default}.kiosk h1{font-size:26px;font-weight:800}.kiosk .hint{color:var(--mm-gray);font-size:15px}.field label{display:block;font-size:15px;font-weight:700;margin-bottom:6px}.field input,.field select{width:100%;padding:16px;font-size:20px;border:2px solid var(--mm-black);border-radius:12px;background:#fff}.field input:focus,.field select:focus{outline:3px solid var(--mm-yellow)}.error-box{background:#fff;border:2px solid var(--mm-epic);color:var(--mm-epic);padding:14px;border-radius:12px;font-size:15px;font-weight:600}.back-link{align-self:flex-start;background:var(--mm-black);color:#fff;border:none;font-size:17px;font-weight:700;padding:14px 28px;border-radius:12px;margin-top:4px;cursor:pointer}.cat-btn{display:flex;align-items:center;gap:12px}.cat-btn .idx{font-family:var(--font-head),"Montserrat",sans-serif;font-weight:800;color:var(--mm-epic);font-size:18px;width:22px}.cat-btn .cn{flex:1 1}.disc-box{text-align:left;background:#fff;border:1px solid #c9c5b8;border-radius:12px;padding:12px 14px;font-size:13px;color:var(--mm-gray);line-height:1.6;width:100%}.disc-box b{color:var(--mm-black)}.qcap{font-size:15px;font-weight:700;margin-top:5px}.qcap,.ticket{text-align:center}.ticket{background:#fff;border:2px dashed var(--mm-black);border-radius:20px;padding:26px;display:flex;flex-direction:column;align-items:center;gap:12px}.ticket .queue-no{font-size:72px;font-weight:900;line-height:1.15;background:var(--mm-yellow);padding:4px 24px;border-radius:14px}.ticket .label{font-size:13px;color:var(--mm-gray);text-transform:uppercase;letter-spacing:1.5px;font-weight:700}.ticket .meta{font-size:16px}.ticket .eco{font-size:13px;color:var(--mm-green);font-style:italic}.qr-wrap{padding:8px;background:#fff;border:1px solid var(--border)}.staff{min-height:100vh;padding:20px;max-width:1150px;margin:0 auto}.staff-topbar{background:var(--mm-yellow);border:2px solid var(--mm-black);border-radius:16px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.staff-topbar h1{font-size:20px;font-weight:800}.topbar-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn-call{padding:14px 26px;font-family:var(--font-head),"Montserrat",sans-serif;font-size:17px;font-weight:800;color:var(--mm-yellow);background:var(--mm-black);border:none;border-radius:12px}.btn-call:disabled{opacity:.5}.policy-wrap{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}.policy-wrap select{padding:10px 12px;font-size:14px;font-weight:600;border:2px solid var(--mm-black);border-radius:10px;background:#fff}.stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.stat{flex:1 1;min-width:130px;background:var(--card);border:2px solid var(--border);border-radius:14px;padding:14px 18px}.stat .v{font-size:30px;font-weight:800}.stat .k{font-size:13px;color:var(--mm-gray)}.stat.now{border-color:var(--mm-black);background:var(--mm-cream)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab{padding:10px 18px;border-radius:999px;border:2px solid var(--border);background:#fff;font-size:14px;font-weight:700}.tab.active{background:var(--mm-black);color:var(--mm-yellow);border-color:var(--mm-black)}table.queue{width:100%;border-collapse:collapse;background:var(--card);border:2px solid var(--border);border-radius:14px;overflow:hidden}table.queue th{text-align:left;font-size:12px;color:var(--mm-gray);text-transform:uppercase;letter-spacing:.5px;padding:12px 14px;border-bottom:2px solid var(--border);background:#faf9f4}table.queue td{padding:13px 14px;border-bottom:1px solid var(--border);font-size:15px;vertical-align:top}table.queue tr:last-child td{border-bottom:none}.tnum{font-family:var(--font-head),"Montserrat",sans-serif;font-size:17px;font-weight:800}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge.priority{background:var(--mm-yellow);color:var(--mm-black)}.badge.standard{background:#eceae2;color:var(--mm-gray)}.badge.appt{background:var(--mm-blue);color:#1d3a5f;margin-top:4px}.appt-detail{font-size:13px;color:var(--mm-gray);margin-top:4px;line-height:1.5}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-sm{padding:8px 14px;font-size:13px;font-weight:700;border-radius:10px;border:2px solid var(--border);background:#fff}.btn-sm.yellow{background:var(--mm-yellow);border-color:var(--mm-black);color:var(--mm-black)}.btn-sm.green{background:var(--mm-green);border-color:var(--mm-green);color:#fff}.btn-sm.red{background:#fff;border-color:var(--mm-epic);color:var(--mm-epic)}h2.sec{font-size:15px;margin:16px 0 10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.pin-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--mm-cream)}.pin-card{background:var(--card);border:2px solid var(--mm-black);border-radius:16px;padding:32px;width:340px;gap:14px}.display,.pin-card{display:flex;flex-direction:column}.display{min-height:100vh;background:var(--mm-black);color:#fff;padding:3vh 3vw}.display-header{display:flex;justify-content:space-between;align-items:center;font-size:2.2vh;color:#b8b4ab;margin-bottom:2vh;font-family:var(--font-head),"Montserrat",sans-serif;font-weight:700}.display-header .brand{color:var(--mm-yellow)}.display-main{flex:1 1;display:flex;gap:3vw}.now-serving{flex:2 1;background:var(--mm-yellow);border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1vh}.now-serving .label{font-size:3vh;color:var(--mm-black);text-transform:uppercase;letter-spacing:4px;font-weight:800}.now-serving .num{font-size:19vh;font-weight:900;color:var(--mm-black);line-height:1}.now-serving .svc{font-size:3vh;color:#3d3a00;font-weight:600}.display-side{flex:1 1;display:flex;flex-direction:column;gap:3vh}.side-card{flex:1 1;background:#1c1c1c;border:1px solid #333;border-radius:24px;padding:3vh}.side-card .label{font-size:2.2vh;color:#b8b4ab;text-transform:uppercase;letter-spacing:2px;margin-bottom:1.5vh;font-weight:700}.side-card .nums{display:flex;flex-wrap:wrap;gap:1.5vh 2.5vh;font-size:4.5vh;font-weight:800;font-family:var(--font-head),"Montserrat",sans-serif}.side-card .nums .missed-num{color:var(--mm-orange)}.side-card .empty{color:#555;font-size:2.6vh}@media (max-width:700px){.display-main{flex-direction:column}}.qstatus{min-height:100vh;flex-direction:column;padding:28px 20px;gap:16px;max-width:480px;margin:0 auto}.qstatus,.status-brand{display:flex;align-items:center}.status-brand{gap:10px;font-family:var(--font-head),"Montserrat",sans-serif;font-weight:800;font-size:19px}.store-line{font-size:14px;color:var(--mm-gray);font-weight:600;margin-top:-8px}.qcard{width:100%;background:var(--card);border:2px solid var(--mm-black);border-radius:18px;padding:24px;text-align:center}.qcard.hero{background:var(--mm-yellow)}.qcard .big{font-size:56px;font-weight:900}.qcard .k{font-size:12px;color:var(--mm-gray);text-transform:uppercase;letter-spacing:1.5px;font-weight:700}.qcard.hero .k{color:#55501a}.status-pill{display:inline-block;margin-top:8px;padding:6px 16px;border-radius:999px;font-weight:700;font-size:15px}.status-pill.waiting{background:var(--mm-black);color:var(--mm-yellow)}.status-pill.called{background:var(--mm-green);color:#fff;animation:pulse 1.2s infinite}.status-pill.missed{background:var(--mm-epic);color:#fff}.status-pill.done{background:#eceae2;color:var(--mm-gray)}@keyframes pulse{50%{opacity:.55}}.note{color:var(--mm-gray);font-size:13px;text-align:center;line-height:1.6}.home{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;background:var(--mm-cream)}.home a{display:block;width:100%;max-width:420px;padding:20px 24px;background:var(--card);border:2px solid var(--mm-black);border-radius:14px;text-decoration:none;color:var(--mm-black);font-size:18px;font-weight:700}.home a span{display:block;font-weight:400;margin-top:2px}.branch-line,.home a span{font-size:14px;color:var(--mm-gray)}.branch-line{font-weight:700;margin-bottom:4px}.logo-img{display:block}.phone-row{display:flex;gap:8px}.phone-row input{flex:1 1}.cc-btn{flex:0 0 auto;padding:14px;font-size:18px;font-weight:700;border:2px solid var(--mm-black);border-radius:12px;background:#fff}.cc-search{width:100%;padding:12px;font-size:16px;border:2px solid var(--mm-black);border-radius:10px}.cc-list{max-height:50vh;overflow-y:auto;padding:10px 18px 18px;display:flex;flex-direction:column;gap:4px}.cc-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px;font-size:15px;border:none;background:none;border-radius:10px;text-align:left}.cc-item:hover{background:var(--mm-cream)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:50;display:none;align-items:center;justify-content:center;padding:20px}.modal-overlay.open{display:flex}.modal{background:#fff;border:2px solid var(--mm-black);border-radius:18px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:2px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:var(--mm-yellow);border-radius:16px 16px 0 0;z-index:1}.modal-head h3{font-family:var(--font-head),"Montserrat",sans-serif;font-size:17px;font-weight:800}.modal-head button{background:none;border:none;font-size:22px;line-height:1;cursor:pointer}.modal-body{padding:20px 22px;display:flex;flex-direction:column;gap:12px}.set-group>.set-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.opt{display:flex;gap:12px;align-items:flex-start;border:2px solid var(--border);border-radius:12px;padding:12px 14px;cursor:pointer}.opt input{margin-top:3px;accent-color:var(--mm-black);width:18px;height:18px}.opt.sel{border-color:var(--mm-black);background:var(--mm-cream)}.opt .t{font-size:15px;font-weight:700}.staff-topbar .brandline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-add{padding:12px 18px;font-size:15px;font-weight:700;background:#fff;border:2px solid var(--mm-black);border-radius:12px;text-decoration:none;color:var(--mm-black);display:inline-block}.display-header .brand-chip{background:var(--mm-yellow);border-radius:10px;padding:.6vh 1.2vh;display:inline-flex;align-items:center}.display-header .brand-chip img{height:4vh;display:block}.display-serving-band{flex:1 1;background:var(--mm-yellow);border-radius:24px;padding:3vh;margin-bottom:3vh;display:flex;flex-direction:column;justify-content:center}.display-serving-band .band-label{font-size:3vh;color:var(--mm-black);text-transform:uppercase;letter-spacing:4px;font-weight:800;text-align:center;margin-bottom:2vh}.display-serving-band .band-svc{font-size:2.6vh;color:#3d3a00;font-weight:700;text-align:center;margin-top:2vh}.ns-grid{display:grid;grid-gap:1.5vh 3vh;gap:1.5vh 3vh;width:100%}.ns-grid.c1{grid-template-columns:1fr}.ns-grid.c2{grid-template-columns:1fr 1fr}.ns-grid.c3{grid-template-columns:repeat(3,1fr)}.ns-grid.c4{grid-template-columns:1fr 1fr}.ns-cell .n{font-family:var(--font-head),"Montserrat",sans-serif;font-weight:900;color:var(--mm-black);line-height:1;text-align:center;font-size:11vh}.ns-grid.c1 .ns-cell .n{font-size:18vh}.ns-grid.c2 .ns-cell .n{font-size:13vh}.ns-cell.flash .n{animation:nsflash 1.05s step-end infinite}@keyframes nsflash{0%,49%{opacity:1}50%,to{opacity:.22}}.empty-slot{font-size:4vh;font-weight:600;color:#3d3a00;text-align:center;padding:4vh 0}.display-bottom{display:flex;gap:3vw}.side-msg{margin-top:1.5vh;font-size:1.9vh;color:#8a867d}.cancel-link{background:none;border:2px solid var(--mm-epic);color:var(--mm-epic);font-weight:700;font-size:15px;padding:12px 22px;border-radius:12px;width:100%}.whoami{gap:10px;background:#fff;border:2px solid var(--mm-black);border-radius:14px;padding:8px 14px}.whoami,.whoami .avatar{display:flex;align-items:center}.whoami .avatar{width:36px;height:36px;border-radius:50%;background:var(--mm-epic);color:#fff;justify-content:center;font-weight:800;font-family:var(--font-head),"Montserrat",sans-serif}.sec-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--mm-gray);font-size:13px;margin-left:10px}.sec-empty{color:var(--mm-gray);font-size:14px;margin-bottom:18px}.stat{cursor:pointer;transition:border-color .15s}.stat:hover{border-color:var(--mm-black)}.stat-hint{font-size:12px;color:var(--mm-gray);margin-bottom:14px}.resv-link{color:#1a56b0;font-weight:700;text-decoration:underline;margin-left:6px}.ms-announce{width:100%;background:#fff;border-radius:18px;padding:0 0 18px;text-align:left;overflow:hidden;box-shadow:0 2px 14px rgba(0,0,0,.08)}.ms-announce .bar{background:var(--mm-black);color:var(--mm-yellow);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:9px 20px}.ms-announce .bar,.ms-announce .k{font-family:var(--font-head),"Montserrat",sans-serif;font-weight:800}.ms-announce .k{font-size:17px;color:var(--mm-black);margin:16px 20px 8px}.ms-announce p{color:#555;font-size:13px;line-height:1.6;margin:0 20px 12px}.ms-announce b{color:var(--mm-black)}.ms-announce>ul{list-style:none;display:flex;flex-direction:column;gap:7px;margin:0 20px 14px;padding:0}.ms-announce>ul>li{color:#333;font-size:13px;font-weight:600;line-height:1.5;padding-left:24px;position:relative}.ms-announce>ul>li:before{content:"✓";position:absolute;left:0;top:-1px;width:17px;height:17px;display:flex;align-items:center;justify-content:center;background:var(--mm-yellow);border-radius:50%;font-size:10px;font-weight:800;color:var(--mm-black)}.ms-announce .foot{margin:0 20px;padding-top:12px;border-top:1px solid #ececec;font-size:13px;color:#555}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;left:0;top:0;width:100%;border:none}.no-print{display:none!important}}.search-wrap{margin:14px 0 6px}.search-count{font-size:13px;font-weight:600;color:var(--mm-gray);margin-bottom:8px}.search-box{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--border);border-radius:12px;padding:12px 16px}.search-box:focus-within{border-color:var(--mm-black)}.search-box input{flex:1 1;border:0;outline:0;font-size:15px;font-family:inherit;background:transparent}.search-clear{border:0;background:var(--border);border-radius:50%;width:26px;height:26px;font-size:12px;cursor:pointer;color:var(--mm-black)}.error-box{font-weight:800}.scan-guide{text-align:center;padding:8px 0 4px}.scan-guide .sg-art{font-size:84px;line-height:1;margin:18px 0 6px}.scan-guide .sg-steps{text-align:left;max-width:560px;margin:18px auto 0;font-size:17px}.scan-guide .sg-steps li{margin-bottom:12px}.scan-pulse{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--mm-green);margin-right:8px;animation:sgpulse 1.2s infinite}@keyframes sgpulse{0%,to{opacity:1}50%{opacity:.25}}.scan-guide .sg-img{max-width:420px;width:80%;margin:14px auto 4px;display:block;border-radius:16px}.or-split{display:flex;align-items:center;gap:14px;color:var(--mm-gray);font-weight:700;font-size:14px;margin:2px 0}.or-split:after,.or-split:before{content:"";flex:1 1;border-top:2px solid var(--border)}.btn-scan{display:flex;align-items:center;justify-content:center;gap:14px}.qr-glyph{width:26px;height:26px}.rec-chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:99px;font-size:11px;font-weight:700;white-space:nowrap;line-height:1.6}.rec-chip.ok{background:var(--mm-green);color:#fff}.rec-chip.no{background:#fdecec;color:#c0392b}.rec-chip.sys{background:#eceae2;color:var(--mm-gray)}.rec-chip.cust{background:#fdecec;color:#c0392b}.rec-chip.expired{background:var(--mm-epic);color:#fff}.rec-reason{margin-top:4px;font-size:12px;color:var(--mm-gray)}.scan-field{width:100%;padding:16px 18px;font-size:20px;text-align:center;letter-spacing:1px;border:2px dashed var(--mm-black);border-radius:12px;background:#fff;font-family:inherit}.scan-field:focus{outline:none;border-style:solid;box-shadow:0 0 0 3px var(--mm-yellow)}.scan-field:-moz-read-only{caret-color:var(--mm-black);cursor:text}.scan-field:read-only{caret-color:var(--mm-black);cursor:text}