@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--green:#123a2b;--green2:#1d5b43;--lime:#d9ef8b;--gold:#dba928;--red:#b63b3b;--ink:#17231e;--muted:#6e7b75;--line:#dfe6e2;--bg:#f4f7f5;--white:#fff;--shadow:0 16px 42px rgba(19,50,38,.10)}*{box-sizing:border-box}html{font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:270px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--green);color:white;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:white;text-decoration:none;font-size:16px;font-weight:700;margin:0 8px 34px}.brand small{display:block;color:#a9c1b6;font-size:11px;font-weight:500;margin-top:3px}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--lime);color:var(--green);font-size:23px;font-weight:800;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}.brand-mark.large{width:58px;height:58px;font-size:30px;border-radius:17px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:#c2d1cb;text-decoration:none;padding:12px 14px;border-radius:12px;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff14;color:#fff}.nav-dot{width:8px;height:8px;border:2px solid currentColor;border-radius:50%}.sidebar nav a.active .nav-dot{background:var(--lime);border-color:var(--lime)}.sidebar-user{margin-top:auto;border-top:1px solid #ffffff22;padding:18px 10px 0;display:grid}.sidebar-user strong{font-size:13px}.sidebar-user small{color:#a9c1b6;margin-top:3px}.link-button{background:none;border:0;color:var(--lime);padding:10px 0;text-align:left;cursor:pointer}.main{min-width:0;padding:0 34px 42px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:30px}.topbar p{font-size:12px;color:var(--muted);margin:0 0 4px}.topbar h1{font-size:25px;margin:0}.status-pill,.tag{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:white;padding:8px 12px;font-size:12px;color:var(--muted)}.status-pill i{width:7px;height:7px;background:#3bb56b;border-radius:50%}.menu-button{display:none}.welcome{background:linear-gradient(115deg,var(--green),#275f49);color:#fff;border-radius:24px;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow);position:relative;overflow:hidden}.welcome:after{content:"";position:absolute;width:240px;height:240px;border:40px solid #ffffff0d;border-radius:50%;right:-40px;top:-90px}.welcome>div,.welcome>a{position:relative;z-index:1}.welcome h2{font-size:28px;margin:7px 0}.welcome p{margin:0;color:#d8e3de;max-width:680px}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--lime)}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:11px 16px;text-decoration:none;font-weight:700;font-size:13px;cursor:pointer}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:var(--green2)}.btn.secondary{background:#fff;color:var(--green);border:1px solid var(--line)}.btn.light{background:white;color:var(--green)}.btn.wide{width:100%;padding:14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stat-card{background:white;padding:20px;border:1px solid var(--line);border-radius:18px;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#60a982}.stat-card.gold:before{background:var(--gold)}.stat-card.red:before{background:var(--red)}.stat-card.blue:before{background:#4488b8}.stat-card span{display:block;color:var(--muted);font-size:12px}.stat-card strong{display:block;font-size:24px;margin-top:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;margin-top:20px;box-shadow:0 5px 20px rgba(21,47,37,.04)}.panel.narrow{max-width:820px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.panel-head h3{margin:0}.panel-head p{margin:4px 0 0;font-size:12px;color:var(--muted)}.panel-head a{color:var(--green2);font-size:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid #edf1ef;white-space:nowrap}td small{display:block;color:var(--muted);margin-top:4px}.tag{padding:5px 9px;background:#f4f7f5}.tag.success{background:#e8f7ee;color:#227547;border-color:#caead7}.empty{text-align:center;color:var(--muted);padding:40px}.page-actions{display:flex;gap:10px;margin-bottom:16px}.filters{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.filters input,.filters select{min-width:180px}.form-stack{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.span-2{grid-column:1/-1}label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#42514a}input,select,textarea{width:100%;border:1px solid #ccd6d1;border-radius:10px;padding:11px 12px;background:white;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green2);box-shadow:0 0 0 3px #1d5b4317}label small{font-weight:400;color:var(--muted)}textarea{resize:vertical}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.station-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.station-card h3{margin:17px 0 8px}.station-card p{color:var(--muted);min-height:42px}.station-card strong{font-size:12px;color:var(--green2)}dialog{border:0;border-radius:20px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.25);width:min(620px,calc(100% - 30px))}dialog::backdrop{background:#0d241bb8}.modal-form{padding:24px;display:grid;gap:18px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0}.modal-head button{border:0;background:#edf2ef;width:34px;height:34px;border-radius:50%;font-size:21px;cursor:pointer}.qr-layout,.scanner-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:20px;max-width:980px}.qr-card,.rules-card,.scanner-card,.scan-result{background:white;border:1px solid var(--line);border-radius:22px;padding:28px}.qr-card{text-align:center}.qr-card h2{margin:8px 0}.qr-card>p{color:var(--muted);max-width:580px;margin:0 auto}.qr-box{width:270px;height:270px;border:1px dashed #aabbb3;border-radius:18px;margin:24px auto 13px;display:grid;place-items:center;padding:15px;background:#fbfdfc}.qr-box img,.qr-box canvas{max-width:100%;height:auto!important}.qr-placeholder{font-size:44px;font-weight:800;color:#d5ded9}.qr-status{font-size:13px;color:var(--muted);margin:12px}.rules-card ol{padding-left:20px;color:var(--muted);line-height:1.7}.rules-card li{margin-bottom:10px}.rules-card>p{background:#fff8df;color:#725a18;padding:12px;border-radius:10px;font-size:12px}.scanner-card #reader{border-radius:15px;overflow:hidden;min-height:280px;background:#132d24}.scanner-controls{display:flex;gap:9px;margin-top:15px}.manual-entry{border-top:1px solid var(--line);margin-top:20px;padding-top:18px;display:grid;gap:10px}.manual-entry span{font-size:12px;color:var(--muted)}.scan-result{text-align:center;align-self:start}.result-icon{margin:10px auto 16px;width:64px;height:64px;border-radius:50%;background:#edf2ef;color:#a4b1ab;display:grid;place-items:center;font-size:29px;font-weight:800}.scan-result.success .result-icon{background:#dff4e7;color:#207745}.scan-result.error .result-icon{background:#fbe4e4;color:#a92828}.scan-result dl{text-align:left;display:grid;grid-template-columns:100px 1fr;font-size:13px}.scan-result dt{color:var(--muted);padding:7px}.scan-result dd{margin:0;padding:7px;font-weight:700}.report-summary{display:flex;align-items:baseline;gap:10px;padding:10px 0 18px}.report-summary strong{font-size:28px}.report-summary span{color:var(--muted)}.warning{background:#fff9e7;border:1px solid #f1dda1;padding:16px;border-radius:13px;margin-bottom:20px}.warning p{margin:6px 0 0;color:#6f5b25;font-size:13px}.flash{position:fixed;right:25px;top:20px;z-index:50;padding:14px 18px;border-radius:12px;background:#173c2d;color:white;box-shadow:var(--shadow);max-width:420px}.flash.error{background:#9e3030}.auth-shell{background:radial-gradient(circle at top right,#d7e7df,#f5f8f6 50%);display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);background:white;padding:34px;border-radius:24px;box-shadow:var(--shadow);border:1px solid var(--line)}.login-brand{display:flex;gap:13px;align-items:center}.login-brand strong{display:block}.login-brand small{color:var(--muted)}.login-card h1{margin:30px 0 6px;font-size:30px}.login-card>p{color:var(--muted);margin:0 0 25px}.privacy-note{display:block;color:var(--muted);margin-top:18px;line-height:1.5}.login-card .btn{padding:14px}.login-card .flash{position:static;margin-bottom:14px}.menu-button{border:0;background:none;font-size:22px}.countdown{font-weight:700}
@media(max-width:1000px){.stats{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:1fr 1fr}.app-shell{grid-template-columns:230px 1fr}.main{padding-left:24px;padding-right:24px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:100;left:-285px;width:270px;transition:.2s}.sidebar.open{left:0}.main{padding:0 15px 30px}.topbar{height:86px;margin-bottom:20px}.topbar>div{flex:1}.topbar h1{font-size:20px}.status-pill{display:none}.menu-button{display:block;margin-right:9px}.welcome{padding:24px;display:block}.welcome h2{font-size:23px}.welcome .btn{margin-top:18px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:16px}.stat-card strong{font-size:19px}.card-grid{grid-template-columns:1fr}.qr-layout,.scanner-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-actions,.filters{align-items:stretch}.filters{display:grid;grid-template-columns:1fr}.filters input,.filters select{min-width:0}.page-actions{overflow:auto}.qr-card,.rules-card,.scanner-card,.scan-result{padding:20px}.qr-box{width:235px;height:235px}.flash{left:15px;right:15px;top:12px}.topbar p{font-size:10px}}
@media print{.sidebar,.topbar,.page-actions,.filters,.btn{display:none!important}.app-shell{display:block}.main{padding:0}.panel{border:0;box-shadow:none;margin:0}body{background:white}table{font-size:10px}td,th{padding:7px}}

.auth-shell{background:#eef5f1;display:block;padding:0}.auth-shell>main{min-height:100vh}.landing-page{min-height:100vh;background:linear-gradient(135deg,#0b3c2f 0%,#14573e 54%,#f2b544 54%,#f7c860 100%);color:#fff;padding:24px}.landing-nav{width:min(1160px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.landing-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:800}.landing-brand small{display:block;color:#dbece4;font-weight:500;font-size:12px}.landing-nav .btn.secondary{border-color:#ffffff55;background:#ffffff12;color:#fff}.landing-hero{width:min(1160px,100%);min-height:calc(100vh - 150px);margin:28px auto 0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:34px}.landing-copy h1{font-size:clamp(34px,5vw,62px);line-height:1.03;margin:14px 0 16px;max-width:760px}.landing-copy p{max-width:650px;color:#e8f1ed;font-size:18px;line-height:1.65;margin:0}.landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.landing-actions .btn{padding:14px 20px}.landing-actions .btn.primary{background:#f2b544;color:#123a2b}.landing-actions .btn.light{background:#ffffff;color:#123a2b}.landing-panel{background:#fff;color:#17231e;border-radius:8px;padding:28px;box-shadow:0 24px 70px rgba(3,31,21,.28);border-top:6px solid #f2b544}.landing-panel h2{margin:0 0 16px;font-size:25px;color:#123a2b}.landing-panel ol{margin:0;padding-left:20px;color:#4d5d55;line-height:1.9}.ticket-strip{margin-top:24px;border:1px dashed #bfccbd;background:#f7fbf8;border-radius:8px;padding:18px;display:grid;gap:5px}.ticket-strip span{width:48px;height:48px;border-radius:50%;background:#123a2b;color:#f2b544;display:grid;place-items:center;font-weight:800}.ticket-strip strong{font-size:18px}.ticket-strip small{color:#6e7b75}.landing-stats{width:min(1160px,100%);margin:-34px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative}.landing-stats article{background:#ffffff;color:#123a2b;border-radius:8px;padding:18px;border-bottom:4px solid #f2b544;box-shadow:0 14px 38px rgba(5,41,29,.14)}.landing-stats strong{display:block;font-size:30px}.landing-stats span{font-size:13px;color:#51645a}.login-card.password-card{margin:9vh auto}.login-card{margin:14vh auto}.login-card .privacy-note strong{color:var(--green)}
@media(max-width:860px){.landing-page{padding:16px}.landing-hero{grid-template-columns:1fr;min-height:auto;margin-top:42px}.landing-copy h1{font-size:38px}.landing-copy p{font-size:16px}.landing-stats{grid-template-columns:1fr 1fr;margin:20px auto}.landing-nav{align-items:flex-start}.landing-panel{padding:22px}.login-card{margin:7vh auto;width:min(440px,calc(100% - 28px))}}
@media(max-width:520px){.landing-nav{display:grid}.landing-stats{grid-template-columns:1fr}.landing-actions .btn{width:100%}.landing-copy h1{font-size:32px}}

/* ORIENTATION SYSTEM theme */
:root{--green:#168c55;--green2:#117545;--lime:#ffc20a;--gold:#ffc20a;--cyan:#18bfd6;--navy:#1f416a;--navy2:#18355b;--orange:#df7a00;--ink:#061b33;--muted:#667085;--line:#e6dfd2;--bg:#fbf7ef;--white:#fff;--shadow:0 10px 28px rgba(20,34,51,.10)}html{background:var(--bg);color:var(--ink)}body{background:var(--bg)}.app-shell{grid-template-columns:248px 1fr;background:var(--bg)}.sidebar{background:var(--navy);padding:18px 12px 10px;box-shadow:inset -1px 0 0 rgba(255,255,255,.08)}.brand{margin:0 8px 18px;font-size:21px;line-height:1.1}.brand small{font-size:20px;color:#fff;font-weight:800}.brand-mark{background:#fff;color:var(--navy);border:2px solid #d9e6f6;border-radius:50%;box-shadow:0 1px 8px rgba(0,0,0,.18)}.brand-mark.small{width:38px;height:38px;font-size:18px}.brand-mark.large{border-radius:50%;background:#fff;color:var(--navy)}.sidebar-profile{display:flex;gap:10px;align-items:center;padding:14px 4px 18px;margin:0 0 10px;border-bottom:1px solid rgba(255,255,255,.13);color:#fff}.sidebar-profile strong{display:block;font-size:13px;line-height:1.25}.sidebar-profile small{display:block;color:#bdd0e5;font-size:12px;margin-top:3px}.sidebar nav{gap:7px}.sidebar nav a{border-radius:8px;color:#fff;font-weight:700;font-size:16px;padding:12px 14px}.sidebar nav a:hover,.sidebar nav a.active{background:var(--orange);color:#fff}.nav-dot{width:16px;height:16px;border:2px solid currentColor;border-radius:50%;position:relative}.nav-dot:after{content:"";position:absolute;inset:4px;border-radius:50%;background:currentColor}.sidebar-user{margin:12px -12px 0;padding:18px 22px 0;background:rgba(17,44,77,.36);border-top:1px solid rgba(255,255,255,.13)}.sidebar-user strong,.sidebar-user small{color:#fff}.link-button{color:#fff;font-weight:700}.main{background:var(--bg);padding:22px 22px 38px}.topbar{height:auto;min-height:98px;margin-bottom:22px;border:0;align-items:flex-start}.topbar h1{font-size:34px;font-weight:500;color:#111;margin-top:0}.topbar p{font-size:16px;color:#4f5d6d}.role-chip{display:inline-flex;align-items:center;border:1px solid #9cc3ff;background:#d8e9ff;color:#075cff;border-radius:6px;padding:4px 16px;font-size:14px;font-weight:700;line-height:1}.status-pill{background:var(--green);border:0;color:#fff;border-radius:6px;font-weight:800;margin-top:22px}.status-pill i{background:#fff}.welcome{background:var(--navy);border-radius:8px;box-shadow:var(--shadow);padding:24px 28px}.welcome:after{display:none}.welcome h2{font-size:26px}.eyebrow{color:#125dff;letter-spacing:.08em}.btn{border-radius:7px;font-size:15px;font-weight:800}.btn.primary{background:var(--orange);color:#fff}.btn.primary:hover{background:#c96f00}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.light{background:#fff;color:var(--navy)}.stats{gap:16px;margin:20px 0 24px}.stat-card{border:0;border-left:4px solid var(--navy);border-radius:12px;box-shadow:var(--shadow);padding:21px 22px;background:#fff}.stat-card:before{display:none}.stat-card span{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:#707987}.stat-card strong{font-size:31px;color:var(--navy);font-weight:900}.stat-card.gold{border-left-color:var(--gold)}.stat-card.red{border-left-color:#d83a3a}.stat-card.blue{border-left-color:var(--cyan)}.panel,.station-card,.qr-card,.rules-card,.scanner-card,.scan-result{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow)}.panel{padding:18px;margin-top:20px}.panel-head{border-bottom:1px solid var(--line);margin:-18px -18px 16px;padding:16px 18px}.panel-head h3{color:var(--navy);font-size:21px}.table-wrap table{background:#fff}th{background:#fbfaf7;color:var(--navy);font-size:14px;text-transform:none;letter-spacing:0;font-weight:900;border-bottom:1px solid var(--line)}td{font-size:15px;border-bottom:1px solid var(--line);color:#061b33}.tag{border:0;border-radius:7px;background:var(--gold);color:#111;font-weight:800}.tag.success{background:var(--green);color:#fff}.page-actions{margin-bottom:18px}.filters input,.filters select,input,select,textarea{border-radius:7px;border-color:#d7dce3}.card-grid{gap:18px}.station-card{border-top:7px solid var(--cyan)}dialog{border-radius:10px}.modal-head{background:var(--cyan);color:#fff;margin:-24px -24px 0;padding:16px 24px;border-radius:10px 10px 0 0}.modal-head button{background:rgba(255,255,255,.22);color:#fff}.qr-box{border-radius:8px;border-color:var(--cyan)}.scanner-card #reader{background:var(--navy)}.warning{background:#fff8df;border-color:#f4d375}.flash{background:var(--green);border-radius:8px}.flash.error{background:#c73f3f}.auth-shell{background:var(--bg);display:block;padding:0}.login-card{border-radius:10px;border:1px solid var(--line);box-shadow:var(--shadow);margin:11vh auto;border-top:7px solid var(--cyan)}.login-card h1{color:var(--navy)}.login-brand strong{color:var(--navy)}

.landing-page{min-height:100vh;background:var(--bg);color:var(--ink);padding:0;display:grid;grid-template-columns:248px 1fr}.landing-side{background:var(--navy);color:#fff;padding:18px 12px;min-height:100vh}.landing-side .landing-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:21px;font-weight:900;line-height:1.1;margin:0 8px 18px}.landing-side .landing-brand small{display:block;color:#fff;font-size:20px;font-weight:900}.landing-side-card{display:flex;gap:10px;align-items:center;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);padding:16px 4px;margin-bottom:14px}.landing-side-card strong{display:block;font-size:14px}.landing-side-card small{display:block;color:#bdd0e5;font-size:12px;margin-top:3px}.landing-side nav{display:grid;gap:7px}.landing-side nav a{color:#fff;text-decoration:none;padding:12px 14px;border-radius:8px;font-weight:800;font-size:16px}.landing-side nav a.active,.landing-side nav a:hover{background:var(--orange)}.landing-main{padding:24px}.landing-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.landing-top h1{font-size:36px;font-weight:500;margin:0;color:#111}.landing-top p{font-size:16px;color:#4f5d6d;margin:8px 0 0}.landing-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.landing-metrics article{background:#fff;border-left:4px solid var(--navy);border-radius:12px;box-shadow:var(--shadow);padding:20px 22px}.landing-metrics span{display:block;text-transform:uppercase;color:#707987;font-size:13px}.landing-metrics strong{display:block;color:var(--navy);font-size:29px;margin:8px 0;font-weight:900}.landing-metrics small{color:#6e7b75}.landing-service-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:0;overflow:hidden;margin-bottom:24px}.landing-service-hero>div:first-child{padding:32px}.landing-service-hero h2{font-size:37px;line-height:1.1;color:var(--navy);margin:8px 0 12px}.landing-service-hero p{font-size:17px;line-height:1.6;color:#4f5d6d;max-width:760px}.now-card{background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px}.now-card h3{font-size:22px;margin:0 0 12px}.now-card strong{font-size:42px;color:#fff}.now-card span{color:#cfe0f1}.cyan-panel{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:24px}.cyan-panel h3{background:var(--cyan);color:#fff;margin:0;padding:16px 18px;font-size:22px}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:18px}.flow-grid article{border:1px solid #dfe5ea;border-radius:9px;padding:18px;text-align:center;background:#fff}.flow-grid strong{display:block;color:#125dff;font-size:30px}.flow-grid span{font-weight:800}.landing-table{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:18px}.landing-table h3{margin:0 0 14px;color:var(--navy);font-size:22px}
@media(max-width:1000px){.landing-page{grid-template-columns:1fr}.landing-side{min-height:auto}.landing-side nav{grid-template-columns:repeat(4,1fr)}.landing-metrics{grid-template-columns:1fr 1fr}.landing-service-hero{grid-template-columns:1fr}.now-card{min-height:200px}}
@media(max-width:760px){.app-shell{background:var(--bg)}.sidebar{left:-285px}.sidebar.open{left:0}.main{padding:16px}.topbar h1{font-size:26px}.landing-main{padding:16px}.landing-top{display:grid}.landing-metrics,.flow-grid{grid-template-columns:1fr}.landing-side nav{grid-template-columns:1fr}.landing-service-hero h2{font-size:28px}}

.login-wrap{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top left,rgba(24,191,214,.14),transparent 34%),linear-gradient(135deg,#fbf7ef 0%,#f6efe3 100%)}.login-panel{width:min(980px,100%);display:grid;grid-template-columns:.92fr 1fr;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(17,44,77,.18);overflow:hidden}.login-intro{background:linear-gradient(145deg,var(--navy),#17365d);color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:space-between;min-height:560px;position:relative}.login-intro:after{content:"";position:absolute;right:-76px;bottom:-76px;width:230px;height:230px;border-radius:50%;border:38px solid rgba(255,255,255,.07)}.login-home-link{align-self:flex-start;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;text-decoration:none;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:900}.login-home-link:hover{background:#fff;color:var(--navy)}.login-intro .login-brand{margin:34px 0 0;align-items:center}.login-intro .login-brand strong{color:#fff;font-size:21px}.login-intro .login-brand small{color:#d7e4f2}.login-intro h1{font-size:38px;line-height:1.08;margin:42px 0 14px;color:#fff;max-width:360px}.login-intro p{color:#d7e4f2;line-height:1.65;margin:0;max-width:390px}.login-mini-stats{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.login-mini-stats span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900}.login-form-panel{padding:54px 48px;display:flex;flex-direction:column;justify-content:center}.login-form-panel .eyebrow{color:var(--orange)}.login-form-panel h2{font-size:40px;color:var(--navy);margin:8px 0 8px}.login-form-panel>p{color:#586a7d;line-height:1.55;margin:0 0 28px}.login-form-panel label{color:#172b43;font-size:13px}.login-form-panel input{min-height:48px;border-radius:8px;background:#fff}.login-form-panel input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(24,191,214,.14)}.login-form-panel .btn.primary{background:var(--orange);min-height:52px;border-radius:8px;font-size:15px}.login-note{margin-top:18px;background:#f7fbff;border:1px solid #dbe7f4;border-radius:10px;padding:14px 15px;color:#526173;font-size:13px;line-height:1.55}.login-note strong{color:var(--navy)}.login-note span{color:#168c55;font-weight:800}
@media(max-width:860px){.login-wrap{padding:18px}.login-panel{grid-template-columns:1fr}.login-intro{min-height:auto;padding:28px}.login-intro h1{font-size:30px;margin-top:28px}.login-form-panel{padding:32px 24px}.login-form-panel h2{font-size:32px}.login-mini-stats{margin-top:24px}}

.ticket-landing{min-height:100vh;background:#fbf7ef;color:#061b33}.ticket-nav{width:min(1180px,calc(100% - 32px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}.ticket-brand{display:flex;align-items:center;gap:12px;color:#173b63;text-decoration:none;font-weight:900;font-size:18px}.ticket-brand small{display:block;color:#69788a;font-size:12px;font-weight:700;margin-top:2px}.ticket-nav nav{display:flex;align-items:center;gap:24px}.ticket-nav nav a{color:#42556b;text-decoration:none;font-weight:800;font-size:14px}.ticket-nav nav a:hover{color:#df7a00}.ticket-hero{width:min(1180px,calc(100% - 32px));margin:10px auto 0;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:28px;align-items:stretch}.ticket-copy{background:linear-gradient(135deg,#173b63 0%,#1f416a 56%,#18bfd6 56%,#18bfd6 100%);color:#fff;border-radius:18px;padding:56px;min-height:470px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 22px 70px rgba(23,59,99,.24)}.ticket-copy .eyebrow{color:#ffc20a}.ticket-copy h1{font-size:clamp(38px,5vw,68px);line-height:1.02;margin:14px 0 18px;max-width:780px;color:#fff}.ticket-copy p{font-size:18px;line-height:1.65;color:#eaf4f8;max-width:700px;margin:0 0 26px}.service-search{display:flex;background:#fff;border-radius:12px;padding:8px;max-width:610px;box-shadow:0 18px 45px rgba(0,0,0,.18)}.service-search input{border:0;box-shadow:none;min-height:46px}.service-search input:focus{box-shadow:none;border:0}.service-search .btn{min-width:120px}.ticket-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.ticket-tabs a{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;border-radius:999px;padding:9px 14px;font-weight:800;font-size:13px}.hero-ticket{background:#fff;border:1px solid #e6dfd2;border-radius:18px;padding:32px;box-shadow:0 22px 70px rgba(23,59,99,.14);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.hero-ticket:before,.hero-ticket:after{content:"";position:absolute;right:28px;width:34px;height:34px;border-radius:50%;background:#fbf7ef;border:1px solid #e6dfd2}.hero-ticket:before{top:-17px}.hero-ticket:after{bottom:-17px}.hero-ticket span{color:#df7a00;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.hero-ticket strong{display:block;color:#173b63;font-size:34px;line-height:1.1;margin:16px 0}.hero-ticket p{color:#5a6a7b;line-height:1.6;margin:0 0 24px}.service-section,.steps-section,.ticket-footer{width:min(1180px,calc(100% - 32px));margin:34px auto 0}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title span{font-size:22px;font-weight:900;color:#173b63}.section-title a{color:#df7a00;font-weight:900;text-decoration:none}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-grid article{background:#fff;border:1px solid #e6dfd2;border-radius:14px;padding:22px;box-shadow:0 12px 34px rgba(23,59,99,.09)}.service-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e8f8fb;color:#0b8aa0;font-weight:900;margin-bottom:18px}.service-grid h3{color:#173b63;margin:0 0 10px;font-size:19px}.service-grid p{color:#5d6c7d;line-height:1.55;margin:0}.steps-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1fr);gap:24px;align-items:start;background:#fff;border:1px solid #e6dfd2;border-radius:18px;padding:32px;box-shadow:0 14px 42px rgba(23,59,99,.09)}.steps-section h2{font-size:34px;line-height:1.12;color:#173b63;margin:10px 0 12px}.steps-section p{color:#5d6c7d;line-height:1.6;margin:0 0 22px}.steps-section ol{counter-reset:steps;list-style:none;margin:0;padding:0;display:grid;gap:12px}.steps-section li{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:center;border:1px solid #e8e1d6;border-radius:13px;padding:15px;background:#fffdf9}.steps-section li:before{counter-increment:steps;content:counter(steps);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#ffc20a;color:#173b63;font-weight:900}.steps-section li strong{display:block;color:#173b63}.steps-section li span{display:block;color:#667085;margin-top:3px}.ticket-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:26px 0 36px}.ticket-footer strong{display:block;color:#173b63}.ticket-footer span{display:block;color:#6a7888;margin-top:4px}
@media(max-width:980px){.ticket-nav{align-items:flex-start}.ticket-nav nav{display:none}.ticket-hero{grid-template-columns:1fr}.ticket-copy{padding:38px;min-height:390px}.hero-ticket{min-height:260px}.service-grid{grid-template-columns:1fr 1fr}.steps-section{grid-template-columns:1fr}}
@media(max-width:560px){.ticket-nav{display:grid}.ticket-nav .btn{width:100%}.ticket-copy{padding:28px 22px}.ticket-copy h1{font-size:34px}.service-search{display:grid}.service-search .btn{width:100%}.service-grid{grid-template-columns:1fr}.steps-section{padding:22px}.steps-section h2{font-size:27px}.ticket-footer{display:grid}}

.event-home{background:#fffaf2;min-height:100vh;overflow:hidden}.event-nav{width:min(1180px,calc(100% - 36px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 0;position:relative;z-index:2}.event-nav nav{display:flex;gap:28px}.event-nav nav a{color:#34495f;text-decoration:none;font-weight:900;font-size:14px}.event-nav nav a:hover{color:#df7a00}.event-hero{width:min(1180px,calc(100% - 36px));margin:16px auto 0;min-height:610px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:30px;align-items:stretch}.event-copy{background:linear-gradient(135deg,rgba(23,59,99,.96),rgba(31,65,106,.94)),linear-gradient(45deg,#173b63,#18bfd6);border-radius:28px;padding:64px;display:flex;flex-direction:column;justify-content:center;color:#fff;position:relative;overflow:hidden;box-shadow:0 30px 90px rgba(23,59,99,.23)}.event-copy:before{content:"";position:absolute;right:-140px;top:-160px;width:430px;height:430px;border-radius:50%;background:#18bfd6;opacity:.24}.event-copy:after{content:"KSU";position:absolute;right:34px;bottom:18px;color:rgba(255,255,255,.08);font-size:118px;font-weight:900;letter-spacing:.03em}.event-copy .eyebrow{color:#ffc20a;position:relative;z-index:1}.event-copy h1{position:relative;z-index:1;color:#fff;font-size:clamp(44px,6vw,82px);line-height:.98;margin:18px 0;max-width:760px}.event-copy p{position:relative;z-index:1;color:#e9f3f8;font-size:20px;line-height:1.6;max-width:650px;margin:0}.event-actions{position:relative;z-index:1;display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.event-actions .btn{padding:15px 20px}.event-actions .btn.secondary{background:#fff;color:#173b63;border:0}.event-pass{background:#fff;border:1px solid #eadfce;border-radius:28px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 80px rgba(23,59,99,.14);position:relative;overflow:hidden}.event-pass:before,.event-pass:after{content:"";position:absolute;left:-18px;width:36px;height:36px;border-radius:50%;background:#fffaf2;border:1px solid #eadfce}.event-pass:before{top:92px}.event-pass:after{bottom:92px}.pass-top{display:flex;justify-content:space-between;align-items:center;color:#df7a00;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.08em}.pass-top strong{background:#ffc20a;color:#173b63;border-radius:999px;padding:8px 12px}.event-pass h2{font-size:35px;line-height:1.08;color:#173b63;margin:42px 0 10px}.event-pass p{color:#667085;margin:0}.pass-code{border:1px dashed #b9c8d6;border-radius:18px;padding:22px;margin:34px 0;background:#f8fbfe}.pass-code span{display:block;color:#df7a00;font-weight:900;font-size:13px}.pass-code strong{display:block;color:#173b63;font-size:26px;margin-top:6px}.event-cards{width:min(1180px,calc(100% - 36px));margin:32px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event-cards article{background:#fff;border:1px solid #eadfce;border-radius:22px;padding:26px;min-height:210px;box-shadow:0 16px 46px rgba(23,59,99,.09);display:flex;flex-direction:column;justify-content:space-between}.event-cards span{color:#df7a00;font-size:12px;font-weight:900;letter-spacing:.08em}.event-cards h3{color:#173b63;font-size:28px;line-height:1.1;margin:14px 0}.event-cards a{color:#173b63;font-weight:900;text-decoration:none}.event-about{width:min(900px,calc(100% - 36px));margin:62px auto 0;text-align:center}.event-about h2{font-size:42px;color:#173b63;margin:12px 0}.event-about p{font-size:18px;color:#607083;line-height:1.55}.event-footer{border-top:1px solid #eadfce;margin-top:58px}
@media(max-width:920px){.event-nav nav{display:none}.event-hero{grid-template-columns:1fr;min-height:auto}.event-copy{padding:42px;min-height:480px}.event-pass{min-height:430px}.event-cards{grid-template-columns:1fr}.event-about h2{font-size:32px}}
@media(max-width:560px){.event-nav{display:grid}.event-nav .btn{width:100%}.event-copy{padding:30px 22px;border-radius:22px}.event-copy h1{font-size:39px}.event-copy p{font-size:17px}.event-actions .btn{width:100%}.event-pass{border-radius:22px;padding:24px}.event-pass h2{font-size:30px}.event-cards article{min-height:180px}}

.scout-home{min-height:100vh;background:#fbf7ef;color:#2b2b2b}.scout-nav{height:72px;background:#1f416a;color:#fff;display:flex;align-items:center;justify-content:center;gap:34px;padding:0 28px;box-shadow:0 2px 10px rgba(0,0,0,.12);position:relative;z-index:5}.scout-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:18px;font-weight:900;white-space:nowrap}.scout-brand .brand-mark{width:42px;height:42px;font-size:22px;background:#fff;color:#1f416a}.scout-nav nav{display:flex;align-items:center;gap:12px}.scout-nav nav a{color:#fff;text-decoration:none;font-weight:900;font-size:14px;padding:13px 16px;border-radius:7px}.scout-nav nav a.active,.scout-nav nav a:hover{background:rgba(255,255,255,.14)}.scout-hero{min-height:532px;background:linear-gradient(rgba(61,91,119,.78),rgba(61,91,119,.78)),linear-gradient(135deg,#456b8c,#6f879c);display:grid;place-items:center;text-align:center;color:#fff;position:relative;overflow:hidden;padding:58px 20px}.scout-hero-copy{position:relative;z-index:2;width:min(980px,100%)}.scout-hero h1{font-size:clamp(34px,4vw,54px);line-height:1.1;color:#fff;margin:0 0 18px;font-weight:900}.scout-hero h2{font-size:clamp(29px,3.5vw,46px);line-height:1.15;color:#fff;margin:0 0 20px;font-weight:900}.scout-hero p{font-size:18px;margin:0 0 28px;color:#fff}.hero-crest{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:154px;height:154px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);border:4px solid rgba(255,255,255,.18);color:rgba(255,255,255,.22);font-size:92px;font-weight:900;z-index:1}.scout-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.scout-actions .btn{min-width:190px;height:52px;text-transform:uppercase;font-size:18px}.scout-actions .btn.primary{background:#1f416a}.scout-actions .btn.secondary{background:rgba(255,255,255,.08);border:1px solid #fff;color:#fff}.hero-strip{margin:34px auto 0;width:min(526px,92%);height:68px;background:#285c91;color:rgba(255,255,255,.28);display:flex;align-items:center;padding-left:24px;font-size:27px;font-weight:900;letter-spacing:.02em;text-align:left}.shape{position:absolute;z-index:1;color:rgba(50,53,57,.38);font-weight:900}.shape-x{left:5%;top:26%;font-size:58px;transform:rotate(-14deg)}.shape-triangle{right:12%;top:27%;font-size:52px}.shape-dot{width:12px;height:12px;border-radius:50%;background:#0e78b7}.shape-dot.one{left:15%;top:33%}.shape-dot.two{right:14%;top:42%}.scout-services{padding:42px 20px 20px}.scout-section-title{text-align:center;margin-bottom:32px}.scout-section-title h2{font-size:30px;margin:0 0 8px;color:#272727}.scout-section-title p{font-size:17px;color:#666;margin:0}.scout-service-grid{width:min(1300px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.scout-service-grid article{background:#fff;border:1px solid #e6dfd2;border-radius:10px;min-height:172px;padding:30px;text-align:center;box-shadow:0 12px 34px rgba(23,59,99,.08)}.service-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#edf2f7;color:#1f416a;margin:0 auto 14px;font-weight:900}.scout-service-grid h3{font-size:24px;margin:0 0 10px;color:#282828}.scout-service-grid p{color:#666;line-height:1.45;margin:0}.scout-about{width:min(1000px,calc(100% - 32px));margin:38px auto 0;text-align:center;background:#fff;border:1px solid #e6dfd2;border-radius:10px;padding:34px;box-shadow:0 12px 34px rgba(23,59,99,.08)}.scout-about h2{margin:0 0 10px;color:#1f416a}.scout-about p{color:#666;margin:0 0 18px}
@media(max-width:920px){.scout-nav{height:auto;justify-content:space-between;align-items:flex-start;display:grid;gap:14px;padding:16px}.scout-nav nav{flex-wrap:wrap}.scout-hero{min-height:500px}.scout-service-grid{grid-template-columns:1fr}}
@media(max-width:560px){.scout-nav nav{display:grid;width:100%;grid-template-columns:1fr 1fr}.scout-nav nav a{text-align:center}.scout-hero{padding:44px 16px}.scout-actions .btn{width:100%;font-size:15px}.hero-strip{height:56px;font-size:19px}.shape{display:none}.scout-hero h1{font-size:32px}.scout-hero h2{font-size:27px}}

.btn.small{padding:7px 10px;font-size:12px;min-height:32px}.btn.warning{background:#ffc20a;color:#173b63}.btn.success{background:#168c55;color:#fff}.btn.danger{background:#c73f3f;color:#fff}.action-tabs{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.action-tabs form{margin:0}.profile-panel{max-width:980px}.profile-card{display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}.profile-photo{width:92px;height:92px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;overflow:hidden;font-size:40px;font-weight:900;box-shadow:0 10px 24px rgba(23,59,99,.18)}.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-card h2{margin:0 0 6px;color:var(--navy);font-size:28px}.profile-card p{margin:0 0 10px;color:var(--muted);text-transform:capitalize}.profile-form h3{margin:8px 0 0;color:var(--navy)}
.station-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:20px}.station-actions form{margin:0}
.confirm-dialog{width:min(430px,calc(100% - 32px));border-radius:14px}.confirm-box{padding:28px;text-align:center;background:#fff}.confirm-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#fff2d2;color:var(--orange);font-size:28px;font-weight:900}.confirm-box h3{margin:0 0 8px;color:var(--navy);font-size:24px}.confirm-box p{margin:0;color:#5d6c7d;line-height:1.55}.confirm-actions{display:flex;justify-content:center;gap:10px;margin-top:22px;flex-wrap:wrap}.confirm-actions .btn{min-width:130px}
.sidebar-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid #d9e6f6;box-shadow:0 1px 8px rgba(0,0,0,.18);background:#fff}
.sidebar-logout{margin-top:auto;padding:14px 10px 0;border-top:1px solid rgba(255,255,255,.13)}
.sidebar-logout .link-button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;color:#fff;font-size:16px;font-weight:800}
.sidebar-logout .link-button:hover{background:var(--orange)}
.tag.blocked{background:#e8edf4;color:#526173}
.access-table td,.access-table th{text-align:center}.access-table td:first-child,.access-table th:first-child,.access-table td:last-child,.access-table th:last-child{text-align:left}
.simulation-panel{overflow:hidden}.simulation-filter{margin:0}.simulation-grid{display:grid;grid-template-columns:250px 1fr;gap:18px}.simulation-sidebar{background:var(--navy);border-radius:10px;padding:18px 14px;color:#fff;display:grid;gap:8px;align-content:start}.simulation-brand{display:flex;gap:12px;align-items:center;margin-bottom:10px;font-weight:900}.simulation-sidebar span{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:8px;font-weight:800}.simulation-sidebar span.active{background:var(--orange)}.simulation-screen{background:#fff;border:1px solid var(--line);border-top:7px solid var(--cyan);border-radius:10px;padding:28px;box-shadow:var(--shadow)}.simulation-screen h2{font-size:30px;color:var(--navy);margin:10px 0}.simulation-screen p{color:var(--muted);max-width:720px}.simulation-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.simulation-actions span{background:#fbfaf7;border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:8px;padding:13px 16px;font-weight:900;color:var(--navy)}
@media(max-width:760px){.simulation-grid{grid-template-columns:1fr}.access-table td,.access-table th{text-align:left}}
.role-form{width:min(1100px,calc(100vw - 30px))}.permission-grid{max-height:56vh;border:1px solid var(--line);border-radius:8px;overflow:auto}.permission-grid table{min-width:0;width:100%;table-layout:fixed}.permission-grid th,.permission-grid td{text-align:center;padding:10px 8px;white-space:normal}.permission-grid th:first-child,.permission-grid td:first-child{text-align:left;width:34%;min-width:132px}.permission-grid th:not(:first-child),.permission-grid td:not(:first-child){width:13.2%}.check-cell{display:inline-grid;place-items:center}.check-cell input{position:absolute;opacity:0;pointer-events:none}.check-cell span{width:22px;height:22px;border:2px solid #c7d1dc;border-radius:6px;background:#fff;display:grid;place-items:center}.check-cell input:checked+span{background:var(--green);border-color:var(--green)}.check-cell input:checked+span:after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg);margin-top:-2px}.permission-grid small{display:block;color:var(--muted);margin-top:4px;max-width:440px}
@media(max-width:560px){.permission-grid th,.permission-grid td{padding:9px 4px;font-size:12px}.permission-grid th:first-child,.permission-grid td:first-child{width:36%;min-width:118px}.permission-grid th:not(:first-child),.permission-grid td:not(:first-child){width:12.8%}.check-cell span{width:20px;height:20px}.permission-grid small{display:none}}
.simulation-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--orange);color:#fff;border-radius:8px;padding:14px 18px;margin:-8px 0 22px;box-shadow:var(--shadow)}.simulation-banner form{margin:0}.simulation-banner .btn.light{color:var(--navy)}.simulation-chip{background:#fff4d6;color:#8a5700;border-color:#ffd36d}.simulation-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.simulation-controls form{margin:0}
.app-logo{width:46px;height:46px;object-fit:contain;flex:0 0 auto}.site-logo{height:45px;width:auto;object-fit:contain}.logo-crest{object-fit:contain;padding:10px;background:rgba(255,255,255,.14)}

/* compact app-style sidebar */
.app-shell{grid-template-columns:252px 1fr}
.sidebar{top:14px;height:calc(100vh - 28px);margin:14px 12px;border-radius:16px;background:#11131b;padding:18px 12px 14px;box-shadow:0 18px 48px rgba(17,19,27,.22), inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden}
.sidebar:before{content:"";display:block;width:9px;height:9px;border-radius:50%;background:#ff5f57;box-shadow:18px 0 #ffbd2e,36px 0 #28c840;margin:0 0 30px 13px}
.brand{margin:0 12px 30px;gap:12px;color:#e9f2fb;font-size:17px;font-weight:900;letter-spacing:0}
.brand span{line-height:1.1}.brand small{font-size:17px;color:#e9f2fb;font-weight:900}.brand .app-logo{width:38px;height:38px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.24))}
.sidebar nav{gap:8px;overflow:auto;padding-right:2px;scrollbar-width:thin}
.sidebar nav a{min-height:46px;border-radius:10px;color:#aab5c4;background:transparent;font-size:15px;font-weight:700;padding:11px 12px;gap:12px;letter-spacing:0;text-decoration:none;transition:background .16s ease,color .16s ease,transform .16s ease}
.sidebar nav a:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(2px)}
.sidebar nav a.active{background:#2b2d38;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.sidebar nav a.active .nav-dot{background:#e8f4ff;color:#0b84d8;border-color:#e8f4ff}
.nav-dot{width:28px;height:28px;border-radius:8px;border:0;background:rgba(255,255,255,.07);color:#8fa0b4;display:grid;place-items:center;flex:0 0 auto;font-size:12px;font-weight:900}
.nav-dot:after{content:"";display:none}
.nav-dashboard .nav-dot:before{content:"D"}.nav-profile .nav-dot:before{content:"P"}.nav-users .nav-dot:before{content:"U"}.nav-roles .nav-dot:before{content:"R"}.nav-simulation .nav-dot:before{content:"S"}.nav-stations .nav-dot:before{content:"ST";font-size:10px}.nav-sessions .nav-dot:before{content:"SE";font-size:10px}.nav-scanner .nav-dot:before{content:"QR";font-size:10px}.nav-attendances .nav-dot:before{content:"A"}.nav-settings .nav-dot:before{content:"G"}.nav-audit .nav-dot:before{content:"L"}.nav-my-qr .nav-dot:before{content:"QR";font-size:10px}
.sidebar-logout{margin-top:auto;border-top:0;padding:18px 8px 0}
.sidebar-logout .link-button{min-height:44px;border-radius:10px;color:#aab5c4;font-size:15px;font-weight:800;padding:10px 12px}
.sidebar-logout .link-button:hover{background:rgba(255,255,255,.07);color:#fff}
.sidebar-logout .nav-dot:before{content:"<";font-size:16px}
@media(max-width:760px){.sidebar{top:0;height:100vh;margin:0;border-radius:0;left:-285px;width:270px}.sidebar.open{left:0}.app-shell{display:block}}

/* Icons8 navigation and system light/dark themes */
:root[data-theme="light"]{--theme-bg:#fbf7ef;--theme-surface:#ffffff;--theme-sidebar:#ffffff;--theme-sidebar-text:#607083;--theme-sidebar-strong:#173b63;--theme-sidebar-active:#edf6ff;--theme-sidebar-icon:#eef5fb;--theme-sidebar-border:#e7dfd2;--theme-ink:#061b33;--theme-muted:#667085;--theme-panel:#ffffff;--theme-line:#e6dfd2;--theme-shadow:0 18px 42px rgba(23,59,99,.10)}
:root[data-theme="dark"]{--theme-bg:#0f1218;--theme-surface:#171b23;--theme-sidebar:#11131b;--theme-sidebar-text:#aab5c4;--theme-sidebar-strong:#eef5ff;--theme-sidebar-active:#2b2d38;--theme-sidebar-icon:#222733;--theme-sidebar-border:#242936;--theme-ink:#eef5ff;--theme-muted:#9aa7b8;--theme-panel:#171b23;--theme-line:#2a3140;--theme-shadow:0 18px 48px rgba(0,0,0,.28)}
html[data-theme] body,html[data-theme] .app-shell,html[data-theme] .main{background:var(--theme-bg);color:var(--theme-ink)}
html[data-theme] .sidebar{background:var(--theme-sidebar);color:var(--theme-sidebar-text);box-shadow:var(--theme-shadow),inset 0 0 0 1px var(--theme-sidebar-border)}
html[data-theme] .brand{color:var(--theme-sidebar-strong)}html[data-theme] .brand small{color:var(--theme-sidebar-strong)}
html[data-theme] .sidebar nav a{color:var(--theme-sidebar-text)}html[data-theme] .sidebar nav a:hover,html[data-theme] .sidebar nav a.active{background:var(--theme-sidebar-active);color:var(--theme-sidebar-strong)}
html[data-theme] .nav-dot{background:var(--theme-sidebar-icon)}html[data-theme] .nav-dot img{width:18px;height:18px;object-fit:contain;display:block;opacity:.72;filter:none}
html[data-theme] .nav-dot:before{content:none!important;display:none!important}
html[data-theme="dark"] .nav-dot img{filter:invert(1);opacity:.76}
html[data-theme] .sidebar nav a.active .nav-dot{background:#e8f4ff}html[data-theme] .sidebar nav a.active .nav-dot img{filter:none;opacity:1}
html[data-theme] .panel,html[data-theme] .stat-card,html[data-theme] .station-card,html[data-theme] .qr-card,html[data-theme] .rules-card,html[data-theme] .scanner-card,html[data-theme] .scan-result,html[data-theme] dialog,html[data-theme] .modal-form,html[data-theme] .login-panel,html[data-theme] .login-form-panel{background:var(--theme-panel);border-color:var(--theme-line);color:var(--theme-ink)}
html[data-theme] .panel-head,html[data-theme] th,html[data-theme] td{border-color:var(--theme-line);color:var(--theme-ink)}
html[data-theme] th{background:color-mix(in srgb,var(--theme-panel) 92%,var(--theme-bg))}
html[data-theme] .topbar h1,html[data-theme] .panel-head h3,html[data-theme] .profile-card h2,html[data-theme] .stat-card strong{color:var(--theme-ink)}
html[data-theme] .topbar p,html[data-theme] .panel-head p,html[data-theme] .station-card p,html[data-theme] .simulation-screen p,html[data-theme] .profile-card p{color:var(--theme-muted)}
html[data-theme] input,html[data-theme] select,html[data-theme] textarea{background:var(--theme-surface);border-color:var(--theme-line);color:var(--theme-ink)}
html[data-theme] .sidebar-logout{border-top:1px solid var(--theme-sidebar-border)}html[data-theme] .sidebar-logout .link-button{color:var(--theme-sidebar-text)}html[data-theme] .sidebar-logout .link-button:hover{background:var(--theme-sidebar-active);color:var(--theme-sidebar-strong)}
.theme-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:auto 8px 0;padding-top:14px;border-top:1px solid var(--theme-sidebar-border)}
.theme-switch button{border:0;border-radius:9px;background:var(--theme-sidebar-icon);color:var(--theme-sidebar-text);min-height:36px;font-weight:900;cursor:pointer}
.theme-switch button.active{background:var(--orange);color:#fff}
html[data-theme="light"] .sidebar:before{background:#ff5f57;box-shadow:18px 0 #ffbd2e,36px 0 #28c840}
html[data-theme="light"] .sidebar .brand .app-logo{filter:none}
html[data-theme="dark"] .sidebar .brand .app-logo{filter:drop-shadow(0 6px 12px rgba(0,0,0,.24))}

.sidebar nav{flex:1;align-content:start}
.sidebar-logout{margin:10px 0 0;border-top:1px solid var(--theme-sidebar-border);padding:10px 0 0}
.sidebar-logout .link-button{width:100%;min-height:46px;border-radius:10px;color:var(--theme-sidebar-text);font-size:15px;font-weight:700;padding:11px 12px;display:flex;align-items:center;gap:12px}
.sidebar-logout .link-button:hover{background:var(--theme-sidebar-active);color:var(--theme-sidebar-strong);transform:translateX(2px)}
.sidebar-footer{margin-top:14px;padding:14px 8px 0;border-top:1px solid var(--theme-sidebar-border);display:grid;gap:12px}
.sidebar-footer small{color:var(--theme-sidebar-text);font-size:11px;text-align:center;opacity:.78}
.theme-switch{margin:0;padding:0;border:0}
html[data-theme] .nav-dot.icon-fallback:before{display:block!important;content:"•"!important;color:var(--theme-sidebar-strong);font-size:12px;font-weight:900}
html[data-theme] .nav-dashboard .nav-dot.icon-fallback:before{content:"D"!important}
html[data-theme] .nav-profile .nav-dot.icon-fallback:before{content:"P"!important}
html[data-theme] .nav-users .nav-dot.icon-fallback:before{content:"U"!important}
html[data-theme] .nav-roles .nav-dot.icon-fallback:before{content:"R"!important}
html[data-theme] .nav-simulation .nav-dot.icon-fallback:before{content:"S"!important}
html[data-theme] .nav-stations .nav-dot.icon-fallback:before{content:"ST"!important;font-size:10px}
html[data-theme] .nav-sessions .nav-dot.icon-fallback:before{content:"SE"!important;font-size:10px}
html[data-theme] .nav-scanner .nav-dot.icon-fallback:before{content:"QR"!important;font-size:10px}
html[data-theme] .nav-attendances .nav-dot.icon-fallback:before{content:"A"!important}
html[data-theme] .nav-settings .nav-dot.icon-fallback:before{content:"G"!important}
html[data-theme] .nav-audit .nav-dot.icon-fallback:before{content:"L"!important}
html[data-theme] .nav-my-qr .nav-dot.icon-fallback:before{content:"QR"!important;font-size:10px}
.role-subtabs{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}
.role-subtabs a{display:inline-flex;align-items:center;min-height:42px;padding:10px 16px;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-panel);color:var(--theme-muted);font-weight:900;text-decoration:none}
.role-subtabs a.active{background:var(--orange);border-color:var(--orange);color:#fff}
.role-edit-form .permission-grid{max-height:none}
.quick-duration{display:flex;gap:8px;flex-wrap:wrap;margin-top:-6px}
.quick-duration button{border:1px solid var(--theme-line);background:var(--theme-panel);color:var(--theme-ink);border-radius:8px;padding:9px 12px;font-weight:900;cursor:pointer}
.quick-duration button:hover{background:var(--theme-sidebar-active)}
.location-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.location-actions span{color:var(--theme-muted);font-size:13px}
.tag.warning{background:#ffc20a;color:#173b63}
.app-shell{grid-template-columns:292px 1fr}
.sidebar{width:268px}
.sidebar nav a,.sidebar-logout .link-button{font-size:16px}
@media(max-width:1000px) and (min-width:761px){.app-shell{grid-template-columns:280px 1fr}.sidebar{width:256px}.main{padding-left:18px;padding-right:18px}}
@media(max-width:760px){.sidebar{width:292px;left:-310px}.sidebar.open{left:0}}

/* Attendance scan confirmation popup */
.attendance-confirm-dialog{width:min(560px,calc(100% - 28px));padding:0;border:0;border-radius:14px;box-shadow:0 28px 90px rgba(0,0,0,.28)}
.attendance-confirm-dialog::backdrop{background:rgba(6,27,51,.70);backdrop-filter:blur(2px)}
.attendance-confirm-box{padding:0;background:#fff}
.attendance-popup-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;background:var(--navy);color:#fff}
.attendance-popup-head h3{margin:4px 0 0;font-size:24px}
.attendance-popup-head .eyebrow{color:#fff5b8}
.attendance-popup-head button{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:24px;cursor:pointer}
.attendance-person-badge{display:flex;gap:13px;align-items:center;padding:20px 22px 14px}
.attendance-person-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#dff4e7;color:#207745;font-size:23px;font-weight:900;flex:0 0 auto}
.attendance-person-badge strong{display:block;font-size:20px;color:var(--navy)}
.attendance-person-badge span{display:block;margin-top:3px;color:var(--muted);font-weight:700}
.attendance-popup-details{display:grid;grid-template-columns:145px minmax(0,1fr);margin:0 22px;padding:10px 0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.attendance-popup-details dt,.attendance-popup-details dd{padding:8px 4px;margin:0;font-size:14px}
.attendance-popup-details dt{color:var(--muted);font-weight:700}
.attendance-popup-details dd{color:var(--ink);font-weight:800;overflow-wrap:anywhere}
.attendance-popup-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 22px 22px}
.attendance-popup-actions .btn{min-width:145px}
@media(max-width:560px){.attendance-popup-details{grid-template-columns:1fr}.attendance-popup-details dt{padding-bottom:1px}.attendance-popup-details dd{padding-top:1px;margin-bottom:6px}.attendance-popup-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-popup-actions .btn{min-width:0}.attendance-popup-head h3{font-size:21px}}

/* Open attendance selector on Generate My QR */
.attendance-choice-list{display:grid;gap:10px;margin:18px 0 20px;text-align:left}.attendance-choice{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border:1px solid #d9dee7;border-radius:12px;background:#fff;cursor:pointer}.attendance-choice:hover{border-color:#8aa9d6}.attendance-choice input{margin-top:4px;transform:scale(1.15)}.attendance-choice span{display:grid;gap:3px;flex:1}.attendance-choice strong{font-size:15px;color:#082f63}.attendance-choice small{color:#667085}.attendance-choice em{font-style:normal;font-size:12px;font-weight:700;color:#12833b}.attendance-choice:has(input:checked){border-color:#1877d2;box-shadow:0 0 0 2px rgba(24,119,210,.10);background:#f6fbff}.attendance-choice.is-done{opacity:.7;cursor:not-allowed}.attendance-choice.is-done em{color:#667085}@media(max-width:640px){.attendance-choice{padding:12px}.attendance-choice-list{margin-top:14px}}
