:root{--navy:#082f52;--blue:#0b69b6;--blue-dark:#074d86;--blue-soft:#e9f4ff;--green:#1f8a5b;--green-soft:#e8f7f0;--yellow:#e7a800;--yellow-soft:#fff7d6;--red:#c83d43;--red-soft:#fff0f0;--ink:#152536;--muted:#637487;--line:#dce4eb;--surface:#fff;--background:#f4f7f9;--shadow:0 18px 50px #0f304b1a;--radius:20px}*{box-sizing:border-box}html{background:var(--background);min-width:320px}body{color:var(--ink);background:var(--background);margin:0;font-family:Arial,Roboto,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;font-size:clamp(2rem,5vw,4.7rem);line-height:1.02}h2{line-height:1.15}.muted{color:var(--muted)}.eyebrow,.section-kicker{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800}.brand{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:linear-gradient(145deg, var(--blue), var(--navy));letter-spacing:.08em;border-radius:14px;place-items:center;width:44px;height:44px;font-size:.72rem;font-weight:900;display:grid;box-shadow:0 8px 22px #0b69b63d}.brand strong,.brand small{display:block}.brand strong{color:var(--navy);letter-spacing:.05em;font-size:.92rem}.brand small{color:var(--muted);font-size:.68rem}.button{cursor:pointer;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-weight:800;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button:focus-visible,input:focus-visible,select:focus-visible,.service-card:focus-visible{outline-offset:2px;outline:3px solid #0b69b640}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{color:#fff;background:var(--blue);box-shadow:0 10px 22px #0b69b63b}.button-primary:hover:not(:disabled){background:var(--blue-dark)}.button-secondary{color:var(--blue-dark);background:#fff;border-color:#b8d7ef}.button-dark{color:#fff;background:var(--navy)}.button-success{color:#fff;background:var(--green)}.button-danger{color:var(--red)}.button-ghost{border-color:var(--line);box-shadow:none;background:0 0}.button-small{min-height:38px;padding:0 14px;font-size:.82rem}.button-large{min-height:58px}.button-full{width:100%}.back-link{color:var(--muted);margin-top:20px;font-size:.86rem;text-decoration:none;display:inline-block}input,select{width:100%;min-height:50px;color:var(--ink);background:#fff;border:1px solid #cbd6df;border-radius:11px;padding:0 14px}label{color:#31465a;gap:7px;font-size:.84rem;font-weight:700;display:grid}label small{color:var(--muted);font-weight:400}.form-stack{gap:17px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.span-two{grid-column:1/-1}.alert{border-radius:11px;padding:13px 16px;font-size:.88rem}.alert-error{color:#8b2429;background:var(--red-soft);border:1px solid #f1c0c2}.loader{border:4px solid #d9e8f4;border-top-color:var(--blue);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.public-nav{justify-content:space-between;align-items:center;max-width:1160px;margin:auto;padding:25px 28px;display:flex}.public-nav>a:not(.brand){color:var(--navy);font-size:.86rem;font-weight:800;text-decoration:none}.landing{background:radial-gradient(circle at 82% 22%,#d7edff 0,#0000 26%),linear-gradient(#fbfdff,#eef5f9);min-height:100vh;overflow:hidden}.hero{text-align:center;max-width:920px;margin:5vh auto 9vh;padding:65px 28px 35px;position:relative}.hero:before{z-index:-1;content:"";border:1px solid #0b69b61f;border-radius:50%;width:540px;height:540px;position:absolute;top:0;left:50%;transform:translate(-50%)}.hero h1{max-width:800px;color:var(--navy);margin:18px auto 22px}.hero>p{max-width:620px;color:var(--muted);margin:0 auto 32px;font-size:1.15rem}.hero-actions{justify-content:center;gap:12px;display:flex}.track-form{max-width:530px;box-shadow:var(--shadow);text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc2;border:1px solid #bed2e1cc;border-radius:18px;margin:46px auto 0;padding:18px}.track-form label{margin:0 0 10px 3px}.track-form>div{grid-template-columns:1fr auto;gap:8px;display:grid}.benefit-grid{grid-template-columns:repeat(3,1fr);gap:18px;max-width:1080px;margin:0 auto 65px;padding:0 28px;display:grid}.benefit-grid article{border-radius:var(--radius);background:#ffffffad;border:1px solid #dbe6ed;padding:27px}.benefit-grid article>span{color:var(--blue);font-size:.73rem;font-weight:900}.benefit-grid h2{margin:18px 0 8px;font-size:1.15rem}.benefit-grid p{color:var(--muted);margin:0;font-size:.88rem}.landing footer{max-width:1080px;color:var(--muted);border-top:1px solid #d8e3eb;justify-content:space-between;margin:auto;padding:30px 28px;font-size:.77rem;display:flex}.auth-page{background:#fff;grid-template-columns:minmax(520px,56%) 1fr;min-height:100vh;display:grid}.auth-card{width:min(470px,100% - 48px);margin:auto;padding:45px 0}.auth-card-wide{width:min(620px,100% - 48px)}.auth-heading{margin:55px 0 30px}.auth-heading h1{color:var(--navy);margin:12px 0;font-size:clamp(2.2rem,4vw,3.7rem)}.auth-heading p{color:var(--muted)}.auth-switch{color:var(--muted);text-align:center;margin:24px 0 0;font-size:.88rem}.auth-switch a{color:var(--blue);font-weight:800}.auth-aside{color:#fff;background:linear-gradient(150deg,#082f52f2,#0b69b6c7),radial-gradient(circle at 70% 20%,#62b5ef,#073558);align-items:flex-end;padding:60px;display:flex;position:relative;overflow:hidden}.auth-aside:before,.auth-aside:after{content:"";border:1px solid #ffffff26;border-radius:50%;position:absolute}.auth-aside:before{width:430px;height:430px;top:-120px;right:-100px}.auth-aside:after{width:520px;height:520px;bottom:-220px;right:20%}.auth-aside>div{z-index:1;max-width:520px;position:relative}.auth-aside span{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:800}.auth-aside blockquote,.auth-aside h2{letter-spacing:-.04em;margin:20px 0;font-size:clamp(2rem,4vw,4rem);font-weight:800;line-height:1.05}.auth-aside p{color:#ffffffbd}.app-shell{min-height:100vh}.app-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;justify-content:space-between;align-items:center;padding:16px clamp(20px,5vw,68px);display:flex;position:sticky;top:0}.header-actions{align-items:center;gap:12px;display:flex}.role-pill{color:var(--blue-dark);background:var(--blue-soft);border-radius:99px;padding:7px 12px;font-size:.73rem;font-weight:800}.dashboard-main{width:min(1180px,100% - 40px);margin:auto;padding:55px 0 80px}.page-intro{max-width:740px;margin-bottom:34px}.page-intro h1{color:var(--navy);margin:12px 0 14px;font-size:clamp(2rem,5vw,3.7rem)}.page-intro p{color:var(--muted)}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 12px 35px #1639550f}.service-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.service-card{border-radius:var(--radius);cursor:pointer;text-align:left;background:#fff;border:2px solid #0000;flex-direction:column;align-items:flex-start;min-height:180px;padding:24px;display:flex;box-shadow:0 8px 24px #1639550f}.service-card:hover,.service-card.selected{border-color:var(--blue);background:var(--blue-soft)}.service-icon{width:46px;height:46px;color:var(--blue);background:#d9edfd;border-radius:13px;place-items:center;margin-bottom:25px;font-size:1.4rem;font-weight:900;display:grid}.service-card strong{color:var(--navy);margin-bottom:7px;font-size:1rem}.service-card small{color:var(--muted)}.continue-button{width:min(420px,100%);margin:28px auto 0;display:flex}.active-ticket-card{border-radius:var(--radius);background:linear-gradient(120deg, white, var(--blue-soft));box-shadow:var(--shadow);border:1px solid #b9d8ee;grid-template-columns:1fr auto auto;align-items:center;gap:35px;padding:30px;display:grid}.active-ticket-card h2{color:var(--navy);margin:5px 0 10px;font-size:2.8rem}.ticket-metrics{gap:28px;display:flex}.ticket-metrics p{margin:0}.ticket-metrics strong,.ticket-metrics span{display:block}.ticket-metrics strong{color:var(--navy);font-size:1.25rem}.ticket-metrics span{color:var(--muted);font-size:.73rem}.status-badge{border-radius:99px;padding:6px 11px;font-size:.72rem;font-weight:900;display:inline-flex}.status-badge.success{color:#146440;background:var(--green-soft)}.status-badge.warning{color:#875e00;background:var(--yellow-soft)}.status-badge.danger{color:#9d2d32;background:var(--red-soft)}.tracking-page{background:radial-gradient(circle at 50% 35%, #e5f4ff, transparent 38%), var(--background);min-height:100vh}.tracking-page>.alert{width:min(540px,100% - 40px);margin:20px auto}.tracking-card{width:min(560px,100% - 40px);box-shadow:var(--shadow);text-align:center;background:#fffffff0;border:1px solid #d7e3eb;border-radius:28px;margin:4vh auto 70px;padding:38px}.ticket-orb{color:#fff;background:linear-gradient(145deg, #1483d3, var(--blue-dark));letter-spacing:.03em;border:8px solid #d6eafb;border-radius:50%;place-items:center;width:150px;height:150px;margin:13px auto 18px;font-size:2.3rem;font-weight:900;display:grid;box-shadow:0 16px 35px #0b69b642}.ticket-orb.small{border-width:6px;width:100px;height:100px;margin:0;font-size:1.5rem}.tracking-metrics{background:var(--line);border-radius:15px;grid-template-columns:1fr 1fr;gap:1px;margin:30px 0 20px;display:grid;overflow:hidden}.tracking-metrics div{background:#f8fafb;padding:19px 12px}.tracking-metrics span,.tracking-metrics strong{display:block}.tracking-metrics span{color:var(--muted);font-size:.76rem}.tracking-metrics strong{color:var(--navy);margin-top:6px;font-size:1.25rem}.queue-progress{background:#e2e9ee;border-radius:10px;height:8px;margin:20px 0;overflow:hidden}.queue-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--green), #54c98f);height:100%;transition:width .4s;display:block}.live-note{color:var(--muted);font-size:.75rem}.live-note i,.display-page footer i{background:var(--green);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block;box-shadow:0 0 0 4px #1f8a5b1f}.callout{border-radius:13px;margin:22px 0;padding:15px;display:grid}.callout.success{color:#135f3d;background:var(--green-soft)}.split-dashboard{grid-template-columns:1.1fr .9fr;align-items:start;gap:35px;display:grid}.split-dashboard h1,.cashier-main h1{color:var(--navy);margin:10px 0 12px;font-size:clamp(2.2rem,4vw,3.7rem)}.split-dashboard .panel{margin-top:28px;padding:28px}.ticket-preview{text-align:center;min-height:530px;margin-top:0!important}.ticket-preview h2{margin-bottom:25px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:350px;display:flex}.empty-state>span{width:60px;height:60px;color:var(--blue);background:var(--blue-soft);border-radius:50%;place-items:center;margin-bottom:18px;font-size:1.7rem;display:grid}.empty-state h2{color:var(--navy);margin-bottom:8px}.empty-state p{max-width:380px;color:var(--muted)}.cashier-main{max-width:960px}.cashier-top{justify-content:space-between;align-items:end;margin-bottom:24px;display:flex}.compact-select{width:210px}.compact-select select{min-height:42px}.counter-status{justify-content:space-between;align-items:center;margin-bottom:18px;padding:18px 22px;display:flex}.status-dot{background:#96a3ae;border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.status-dot.open{background:var(--green)}.status-dot.paused{background:var(--yellow)}.status-dot.closed{background:#8b98a4}.inline-actions{gap:9px;display:flex}.current-service{padding:32px}.current-ticket-row{align-items:center;gap:24px;margin:35px 0;display:flex}.current-ticket-row h2{color:var(--navy);margin:0 0 10px;font-size:2rem}.action-grid{grid-template-columns:1.4fr 1fr;gap:12px;display:grid}.admin-shell{background:#f2f5f7}.admin-intro{justify-content:space-between;align-items:center;max-width:none;display:flex}.admin-intro h1{font-size:clamp(2rem,4vw,3.2rem)}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.stats-grid article{border:1px solid var(--line);background:#fff;border-radius:17px;padding:22px}.stats-grid span,.stats-grid strong,.stats-grid small{display:block}.stats-grid span{color:var(--muted);font-size:.76rem}.stats-grid strong{color:var(--navy);margin:9px 0 2px;font-size:2rem}.stats-grid small{color:var(--green)}.stats-grid .danger-stat small{color:var(--red)}.admin-grid{grid-template-columns:1.4fr .75fr;gap:18px;display:grid}.admin-grid>.panel{padding:26px}.panel-title{justify-content:space-between;align-items:center;display:flex}.panel-title h2,.admin-grid h2{color:var(--navy);margin:5px 0 22px}.counter-list{background:var(--line);gap:1px;display:grid}.counter-list article{background:#fff;justify-content:space-between;align-items:center;padding:16px 0;display:flex}.counter-list article>div{grid-template-columns:auto 1fr;align-items:center;display:grid}.counter-list small{color:var(--muted);grid-column:2}.mini-stats{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.mini-stats p{color:var(--muted);justify-content:space-between;margin:8px 0;font-size:.82rem;display:flex}.mini-stats strong{color:var(--navy)}.center-page{min-height:50vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.display-page{color:#fff;background:radial-gradient(circle at 50% 25%,#0c6aa8,#0000 40%),#052b49;grid-template-rows:auto 1fr auto auto;min-height:100vh;padding:32px clamp(30px,5vw,80px);display:grid}.display-page header{align-items:center;gap:13px;display:flex}.display-page header strong,.display-page header small{display:block}.display-page header small{color:#9dc3df}.display-page header time{margin-left:auto;font-size:1.8rem;font-weight:700}.display-current{flex-direction:column;justify-content:center;align-items:center;display:flex}.display-current>span{color:#8dc9f0;letter-spacing:.16em;text-transform:uppercase;font-size:1rem;font-weight:800}.display-current>strong{letter-spacing:-.07em;text-shadow:0 22px 50px #00000040;font-size:clamp(7rem,18vw,15rem);line-height:.95}.display-current p{font-size:clamp(1.2rem,2.5vw,2rem)}.display-recent h2{color:#a7cee9;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem}.display-recent>div{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.display-recent article{background:#ffffff12;border:1px solid #ffffff26;border-radius:14px;justify-content:space-between;padding:18px;display:flex}.display-page footer{color:#9dc3df;border-top:1px solid #ffffff26;justify-content:space-between;margin-top:22px;padding-top:20px;display:flex}@media (max-width:900px){.auth-page{grid-template-columns:1fr}.auth-aside{display:none}.service-grid{grid-template-columns:1fr 1fr}.active-ticket-card,.split-dashboard,.admin-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){body{font-size:15px}.brand small,.role-pill{display:none}.public-nav,.app-header{padding:16px 18px}.hero{margin-top:1vh;padding-top:45px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.track-form>div,.benefit-grid{grid-template-columns:1fr}.landing footer{flex-direction:column;gap:15px}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.auth-card{width:calc(100% - 36px)}.auth-heading{margin-top:40px}.dashboard-main{width:calc(100% - 28px);padding-top:35px}.service-grid{grid-template-columns:1fr}.service-card{min-height:130px}.service-icon{margin-bottom:14px}.tracking-card{width:calc(100% - 24px);padding:28px 20px}.cashier-top{flex-direction:column;align-items:stretch}.compact-select{width:100%}.counter-status{flex-direction:column;align-items:stretch;gap:16px}.action-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid article{padding:17px}.stats-grid strong{font-size:1.5rem}.admin-intro{flex-direction:column;align-items:flex-start}.display-page{padding:20px}.display-page header time{font-size:1.1rem}.display-recent>div{grid-template-columns:1fr 1fr}.display-page footer{flex-direction:column;gap:12px}}@media print{.app-header,.split-dashboard>section{display:none}.split-dashboard{display:block}.ticket-preview{box-shadow:none;border:0}.ticket-preview .button{display:none}}
