:root{--navy:#062349;--blue:#0a3d78;--blue2:#11549a;--yellow:#ffdf00;--ink:#172033;--muted:#68758a;--line:#dfe5ec;--bg:#f4f7fb;--white:#fff;--danger:#c73535;--success:#147a4b;--shadow:0 16px 45px rgba(5,29,61,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.55 "Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.brand{display:flex;align-items:center;gap:13px}.brand img{width:48px;height:56px;object-fit:contain}.brand span{display:grid;line-height:1.25}.brand b{letter-spacing:.6px}.brand small{font-size:11px;letter-spacing:.7px;color:inherit;opacity:.75}.public-nav{height:82px;background:var(--navy);color:#fff;padding:0 max(24px,calc((100% - 1160px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:4px solid var(--yellow)}.secure-badge{font-size:13px;color:#dce9f8}.secure-badge:first-letter{color:var(--yellow)}.hero{background:linear-gradient(120deg,var(--navy),#0b4a89);color:#fff;padding:60px max(24px,calc((100% - 1160px)/2)) 120px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:430px;height:430px;border:70px solid rgba(255,223,0,.07);border-radius:50%;right:-100px;top:-190px}.eyebrow{color:var(--yellow);font-weight:700;letter-spacing:1.8px;font-size:12px}.hero h1{font-size:clamp(32px,5vw,55px);line-height:1.06;max-width:720px;margin:12px 0 16px}.hero p{max-width:680px;color:#d8e4f2;font-size:17px}.public-wrap{max-width:1160px;margin:-76px auto 60px;padding:0 24px;position:relative;z-index:2}.form-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.form-head{padding:28px 34px;border-bottom:1px solid var(--line);display:flex;gap:15px;align-items:flex-start}.step-icon{width:42px;height:42px;border-radius:12px;background:var(--yellow);color:var(--navy);font-weight:800;display:grid;place-items:center;flex:0 0 auto}.form-head h2{margin:0;font-size:22px}.form-head p{margin:4px 0 0;color:var(--muted)}.guest-form{padding:30px 34px 36px}.section-title{font-weight:750;color:var(--navy);display:flex;align-items:center;gap:10px;margin:6px 0 18px}.section-title:after{content:"";height:1px;background:var(--line);flex:1}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:650;font-size:13px;color:#32425a}.required{color:var(--danger)}input,select,textarea{width:100%;border:1px solid #ccd5df;border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink);outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(17,84,154,.12)}textarea{min-height:92px;resize:vertical}.hint{font-size:12px;color:var(--muted)}.file-box{border:1.5px dashed #aec0d2;padding:18px;border-radius:10px;background:#f8fbff}.file-box img{display:block;max-width:180px;max-height:130px;margin-top:14px;border-radius:8px}.consent{display:flex;gap:10px;background:#fffbea;border:1px solid #f0df80;border-radius:10px;padding:14px;margin-top:24px}.consent input{width:auto;margin-top:4px}.btn{border:0;border-radius:9px;padding:11px 18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--blue)}.btn-yellow{background:var(--yellow);color:var(--navy)}.btn-light{background:#edf2f7;color:#304158}.btn-danger{background:#fff0f0;color:var(--danger)}.submit-row{display:flex;justify-content:flex-end;margin-top:24px}.submit-row .btn{min-width:230px;padding:14px}.public-footer{background:#041a36;color:#b9c7d8;text-align:center;padding:24px;font-size:13px}.alert{padding:13px 16px;border-radius:9px;margin:0 0 20px}.public-body>.alert{max-width:900px;margin:20px auto}.alert.error{background:#fff0f0;color:#a62323;border:1px solid #efc1c1}.alert.success{background:#eaf8f1;color:#11643e;border:1px solid #bde3cd}.modal{position:fixed;inset:0;background:rgba(2,14,31,.72);z-index:100;display:grid;place-items:center;padding:20px}.modal-card{background:#fff;border-radius:18px;width:min(460px,100%);box-shadow:0 30px 80px #0006;overflow:hidden;text-align:center}.modal-top{background:var(--navy);padding:28px;color:#fff;border-bottom:5px solid var(--yellow)}.success-check{width:58px;height:58px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;margin:auto;font-size:28px;font-weight:bold}.modal-top h2{margin:14px 0 3px}.modal-body{padding:26px}.queue-number{font-size:42px;font-weight:850;color:var(--navy);letter-spacing:2px;margin:8px}.receipt-info{background:#f4f7fa;border-radius:10px;padding:14px;margin:18px 0;text-align:left}.receipt-info div{display:flex;justify-content:space-between;gap:15px;padding:5px}.admin-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--navy);color:#dce6f2;display:flex;flex-direction:column;padding:24px 17px;z-index:20}.sidebar .brand{padding:0 8px 25px;border-bottom:1px solid #ffffff1c}.sidebar nav{display:grid;gap:5px;margin-top:24px}.sidebar nav a{padding:11px 13px;border-radius:8px;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff14;color:#fff}.sidebar nav a.active{border-left:3px solid var(--yellow)}.sidebar-footer{margin-top:auto;border-top:1px solid #ffffff1c;padding-top:18px}.admin-chip{display:flex;gap:10px;align-items:center;margin-bottom:14px}.admin-chip>span{width:35px;height:35px;background:var(--yellow);color:var(--navy);border-radius:50%;display:grid;place-items:center;font-weight:800}.admin-chip div{display:grid;font-weight:650}.admin-chip small{opacity:.65;font-weight:400}.sidebar-footer>a{font-size:13px;color:#ffdcda}.admin-main{margin-left:250px}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;gap:18px;position:sticky;top:0;z-index:10}.topbar>div{display:grid}.topbar small{font-size:10px;letter-spacing:1.4px;color:var(--muted)}.topbar strong{font-size:18px;color:var(--navy)}.view-site{margin-left:auto;background:#eef3f8;border-radius:8px;padding:9px 13px;font-size:13px;font-weight:650}.menu-btn{display:none;background:none;border:0;font-size:24px}.content{padding:28px;max-width:1500px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px}.stat-card,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 4px 15px rgba(12,38,70,.04)}.stat-card{padding:20px;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--yellow)}.stat-card span{font-size:12px;color:var(--muted);font-weight:650}.stat-card strong{display:block;font-size:30px;color:var(--navy);margin-top:3px}.panel{margin-bottom:22px}.panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-head h2,.panel-head h3{margin:0;color:var(--navy);font-size:18px}.panel-body{padding:20px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{background:#f4f7fa;text-align:left;color:#566579;font-size:11px;text-transform:uppercase;letter-spacing:.6px;padding:12px}.data-table td{padding:13px 12px;border-bottom:1px solid #edf0f4;vertical-align:middle}.data-table tr:hover td{background:#fbfcfe}.pill{display:inline-flex;padding:4px 9px;border-radius:20px;background:#e8f0fa;color:#194f89;font-size:11px;font-weight:750}.pill.archive{background:#f2eef9;color:#67458b}.actions{display:flex;gap:6px}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 9px;cursor:pointer;color:var(--blue)}.filter-bar{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:10px}.pagination{display:flex;gap:6px;justify-content:flex-end;margin-top:17px}.pagination a,.pagination span{padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.pagination .active{background:var(--navy);color:#fff}.chart-bars{height:230px;display:flex;align-items:flex-end;gap:14px;padding:20px 5px 0}.bar-col{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;color:var(--muted);font-size:11px}.bar{width:min(42px,80%);background:linear-gradient(var(--blue2),var(--navy));border-radius:7px 7px 2px 2px;min-height:5px;position:relative}.bar b{position:absolute;top:-24px;width:100%;text-align:center;color:var(--navy)}.empty{text-align:center;padding:45px 20px;color:var(--muted)}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:linear-gradient(140deg,var(--navy),#0b4b8a);color:#fff;padding:9vw;display:flex;flex-direction:column;justify-content:center}.login-brand img{width:100px}.login-brand h1{font-size:42px;line-height:1.1;margin:20px 0 10px}.login-brand p{color:#ccdaeb;max-width:470px}.login-box{display:grid;place-items:center;padding:30px}.login-card{width:min(400px,100%)}.login-card h2{color:var(--navy);font-size:28px;margin-bottom:4px}.login-card>p{color:var(--muted);margin-top:0;margin-bottom:28px}.login-card .field{margin-bottom:17px}.login-card .btn{width:100%;padding:13px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.info-item small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.info-item strong{font-size:15px}.ktp-view{width:100%;max-height:340px;object-fit:contain;border-radius:9px;background:#edf1f5}.text-danger{color:var(--danger)}@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(2,1fr)}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.admin-main{margin-left:0}.menu-btn{display:block}.detail-grid{grid-template-columns:1fr}}@media(max-width:700px){.public-nav{height:auto;padding:13px 18px}.public-nav .brand b{font-size:12px}.public-nav .brand small,.secure-badge{display:none}.hero{padding:45px 20px 100px}.public-wrap{padding:0 14px}.guest-form,.form-head{padding:22px 19px}.form-grid,.info-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.stat-grid{grid-template-columns:1fr}.content{padding:18px 13px}.topbar{padding:0 15px}.view-site{display:none}.filter-bar{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-brand{display:none}}
.link-button{border:0;background:none;color:#ffdcda;padding:0;cursor:pointer}.sidebar-footer form{margin:0}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.top-actions form{margin:0}.pwa-button,.account-button,.logout-button{border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.pwa-button{background:var(--yellow);border-color:#eed200;color:var(--navy)}.pwa-button.ready{box-shadow:0 0 0 3px rgba(255,223,0,.2)}.account-button{background:#eef3f8;color:var(--navy)}.logout-button{background:#fff2f2;border-color:#f1caca;color:#ad2e2e}.pwa-button:hover,.account-button:hover,.logout-button:hover{transform:translateY(-1px)}.panel-description{margin:3px 0 0;color:var(--muted);font-size:13px}.report-panel{max-width:850px}.report-form{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.report-summary{grid-column:1/-1;display:flex;align-items:center;gap:14px;background:#f3f7fb;border:1px solid var(--line);border-radius:10px;padding:16px}.report-summary>span{width:48px;height:48px;border-radius:9px;background:var(--navy);color:var(--yellow);font-size:11px;font-weight:850;display:grid;place-items:center}.report-summary div{display:grid}.report-summary small{color:var(--muted);margin-top:2px}.report-actions{grid-column:1/-1;margin-top:0}.content nav[role=navigation]{margin-top:18px}.content nav[role=navigation]>div:first-child{display:none}.content nav[role=navigation]>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:15px}.content nav[role=navigation] span,.content nav[role=navigation] a{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid var(--line);background:#fff;color:var(--blue);border-radius:6px}.content nav[role=navigation] span[aria-current=page]>span{background:var(--navy);color:#fff}.content nav[role=navigation] svg{width:16px}
@media(max-width:850px){.top-actions{gap:5px}.pwa-button,.account-button,.logout-button{padding:8px;font-size:0}.pwa-button:before{content:"⇩ PWA";font-size:11px}.account-button:before{content:"⚿";font-size:16px}.logout-button:before{content:"→";font-size:16px}}
@media(max-width:700px){.report-form{grid-template-columns:1fr}.report-summary,.report-actions{grid-column:auto}.top-actions{margin-left:auto}.pwa-button{display:none}}
@media print{.public-nav,.public-footer,.modal [data-close-modal]{display:none}.modal{position:static;background:#fff}.modal-card{box-shadow:none;border:1px solid #ddd}}

/* Admin topbar alignment */
.topbar>.topbar-title{display:grid;min-width:0}
.topbar>.top-actions{margin-left:auto;display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}
.topbar>.top-actions form{display:flex;margin:0}
.topbar>.top-actions .pwa-button,.topbar>.top-actions .account-button,.topbar>.top-actions .logout-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:8px;padding:8px 12px;font-size:12px;line-height:1;font-weight:700;white-space:nowrap}
@media(max-width:850px){.topbar>.top-actions{gap:5px}.topbar>.top-actions .pwa-button,.topbar>.top-actions .account-button,.topbar>.top-actions .logout-button{padding:8px;font-size:0}.topbar>.top-actions .pwa-button:before{content:"⇩ PWA";font-size:11px}.topbar>.top-actions .account-button:before{content:"⚿";font-size:16px}.topbar>.top-actions .logout-button:before{content:"→";font-size:16px}}

.sort-link{display:flex;align-items:center;justify-content:space-between;gap:8px;color:inherit;border-radius:5px;padding:2px 0;white-space:nowrap}.sort-link:hover,.sort-link.active{color:var(--blue);text-decoration:none}.sort-icon{font-size:10px;opacity:.55}.sort-link.active .sort-icon{opacity:1;color:var(--blue)}

.back-button{width:38px;height:38px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:9px;background:#f4f7fb;color:var(--navy);font-size:20px;font-weight:800;line-height:1}.back-button:hover{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateX(-1px)}.public-actions{display:flex;align-items:center;gap:14px}.public-nav .public-pwa-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;background:var(--yellow);border-color:var(--yellow);color:var(--navy);font-size:12px}.public-nav .public-pwa-button:before{content:none}
@media(max-width:480px){.public-actions{gap:6px}.public-nav .public-pwa-button{padding:8px;font-size:0}.public-nav .public-pwa-button:before{content:"⇩ PWA";font-size:11px}}

.modal[hidden]{display:none!important}.modal-open{overflow:hidden}.queue-modal-card{text-align:left}.queue-modal-card .modal-top{position:relative;text-align:center}.modal-close{position:absolute;top:12px;right:14px;width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:22px;line-height:1;cursor:pointer}.modal-close:hover{background:rgba(255,255,255,.2)}.modal-step{margin:0 auto;background:var(--yellow)}.queue-field input{font-size:22px;font-weight:800;letter-spacing:1.5px;text-align:center;text-transform:uppercase}.queue-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.queue-modal-actions .btn{min-width:120px}
@media(max-width:480px){.queue-modal-actions{display:grid;grid-template-columns:1fr 1fr}.queue-modal-actions .btn{min-width:0}}

.stat-card>small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.monitor-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}.monitoring-panel{height:100%}.today-monitoring{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.today-monitoring>div{padding:16px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.today-monitoring span,.today-monitoring small{display:block;color:var(--muted);font-size:11px}.today-monitoring strong{display:block;margin:3px 0;color:var(--navy);font-size:25px}.composition-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.composition-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:#fafbfd}.composition-list span{color:var(--muted);font-size:12px}.composition-list strong{color:var(--navy);font-size:18px}.service-ranking{display:grid;gap:15px}.service-rank-row{display:grid;gap:7px}.service-rank-label{display:flex;justify-content:space-between;gap:16px;font-size:13px}.service-rank-label strong{color:var(--navy)}.service-rank-track{height:7px;overflow:hidden;border-radius:10px;background:#e8edf3}.service-rank-track span{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,var(--blue2),var(--navy))}
@media(max-width:1000px){.monitor-grid{grid-template-columns:1fr}}
@media(max-width:600px){.today-monitoring{grid-template-columns:1fr}.composition-list{grid-template-columns:1fr}}

.success-message{margin:18px 0 2px;color:#fff;font-size:17px}.logout-icon-button{width:40px;min-width:40px;padding:0!important}.logout-icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.topbar>.top-actions .logout-icon-button:before{content:none!important}

.service-overview{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:30px;align-items:center}.service-table-wrap{border:1px solid var(--line);border-radius:10px}.service-summary-table{min-width:620px}.service-summary-table td:not(:first-child),.service-summary-table th:not(:first-child){text-align:center}.service-color{display:inline-block;width:10px;height:10px;margin-right:9px;border-radius:3px;vertical-align:middle}.service-pie-panel{display:grid;justify-items:center;gap:22px}.service-pie{width:220px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(6,35,73,.08)}.service-pie>div{width:116px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:#fff;box-shadow:0 3px 14px rgba(6,35,73,.12)}.service-pie strong{display:block;color:var(--navy);font-size:26px;line-height:1.1}.service-pie span{display:block;margin-top:4px;color:var(--muted);font-size:11px}.service-legend{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.service-legend>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:0;color:var(--muted);font-size:11px}.service-legend .service-color{margin-right:7px}.service-legend strong{color:var(--navy)}
@media(max-width:1100px){.service-overview{grid-template-columns:1fr}.service-pie-panel{grid-template-columns:auto minmax(240px,1fr);justify-items:start}.service-pie{width:190px}.service-legend{align-self:center}}
@media(max-width:650px){.service-pie-panel{grid-template-columns:1fr;justify-items:center}.service-legend{grid-template-columns:1fr 1fr}.service-pie{width:180px}}

.service-overview-compact{grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr)}.interactive-pie-wrap{position:relative;display:grid;place-items:center;min-height:330px}.interactive-service-pie{width:min(310px,100%);overflow:visible}.pie-background{fill:none;stroke:#e8edf3;stroke-width:18}.pie-segment{transform-box:view-box;transform-origin:center;transition:transform .22s ease,opacity .22s ease;outline:none}.pie-segment circle{fill:none;stroke-width:18;cursor:pointer;transition:stroke-width .22s ease,filter .22s ease}.pie-segment:hover,.pie-segment:focus{transform:translate(var(--pie-pop-x),var(--pie-pop-y)) scale(1.025)}.pie-segment:hover circle,.pie-segment:focus circle{stroke-width:20;filter:drop-shadow(0 4px 3px rgba(6,35,73,.26))}.interactive-service-pie:has(.pie-segment:hover) .pie-segment:not(:hover){opacity:.58}.pie-center{fill:#fff;filter:drop-shadow(0 2px 4px rgba(6,35,73,.12));pointer-events:none}.pie-total-number{fill:var(--navy);font-size:9px;font-weight:800;pointer-events:none}.pie-total-label{fill:var(--muted);font-size:4px;pointer-events:none}.pie-tooltip{position:absolute;z-index:5;min-width:150px;padding:10px 12px;border-radius:9px;background:var(--navy);color:#fff;box-shadow:0 10px 28px rgba(2,20,43,.28);transform:translate(-50%,-100%);pointer-events:none;animation:pieTooltipIn .16s ease}.pie-tooltip:after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:var(--navy);transform:translateX(-50%) rotate(45deg)}.pie-tooltip strong,.pie-tooltip span{display:block;position:relative;z-index:1}.pie-tooltip strong{max-width:220px;font-size:12px}.pie-tooltip span{margin-top:3px;color:#dbe8f5;font-size:11px}.pie-tooltip[hidden]{display:none!important}@keyframes pieTooltipIn{from{opacity:0;transform:translate(-50%,-92%) scale(.94)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}
@media(max-width:900px){.service-overview-compact{grid-template-columns:1fr}.interactive-pie-wrap{min-height:280px}.interactive-service-pie{width:260px}}

.stat-card{--card-accent:var(--blue2);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.stat-card:before{background:var(--card-accent)}.stat-card:hover{transform:translateY(-3px);border-color:#cbd8e5;box-shadow:0 12px 28px rgba(6,35,73,.11)}.stat-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.stat-card-heading>span:first-child{font-size:12px;color:var(--muted);font-weight:650}.stat-card .stat-card-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#eaf2fb;color:var(--card-accent)}.stat-card-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.stat-card-today{--card-accent:#1268ae}.stat-card-month{--card-accent:#168678}.stat-card-month .stat-card-icon{background:#e6f6f2}.stat-card-total{--card-accent:#6b50a1}.stat-card-total .stat-card-icon{background:#f0ebf8}.stat-card-archive{--card-accent:#cc8b12}.stat-card-archive .stat-card-icon{background:#fff5d9}.stat-card>strong{margin-top:5px}.service-overview-compact{background:linear-gradient(135deg,#fff 0%,#fbfdff 100%)}.service-table-wrap{overflow:visible!important;width:100%;min-width:0}.service-summary-table{width:100%;min-width:0!important;table-layout:fixed}.service-summary-table .service-name-column{width:auto}.service-summary-table .service-total-column{width:105px}.service-summary-table th,.service-summary-table td{white-space:normal}.service-summary-table td:first-child{overflow-wrap:anywhere;line-height:1.35}.service-summary-table tbody tr{transition:transform .16s ease,box-shadow .16s ease}.service-summary-table tbody tr:hover{position:relative;transform:translateX(3px);box-shadow:-3px 0 0 var(--yellow)}.service-total-badge{display:inline-flex;min-width:46px;justify-content:center;padding:5px 10px;border-radius:20px;background:#eaf2fb;color:var(--navy);font-size:12px}
@media(max-width:500px){.service-summary-table .service-total-column{width:76px}.service-summary-table th,.service-summary-table td{padding:10px 8px}.service-color{margin-right:5px}.service-total-badge{min-width:38px;padding:4px 7px}}

a.stat-card{color:inherit;text-decoration:none;cursor:pointer}a.stat-card:focus-visible{outline:3px solid rgba(17,84,154,.28);outline-offset:3px;transform:translateY(-3px)}.clickable-service-row{cursor:pointer}.clickable-service-row:focus{outline:2px solid var(--blue2);outline-offset:-2px;background:#f3f8fd}.pie-segment{cursor:pointer}.icon-btn{transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.icon-btn:hover,.icon-btn:focus-visible{background:var(--yellow);border-color:#e6c900;color:var(--navy);box-shadow:0 7px 16px rgba(6,35,73,.18);transform:translateY(-2px);outline:none}

.active-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:11px 14px;border:1px solid #c9d9ea;border-left:4px solid var(--blue2);border-radius:9px;background:#f4f8fc;color:var(--muted);font-size:12px}.active-filter-bar>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.active-filter-bar strong{display:inline-flex;padding:4px 9px;border-radius:20px;background:#dfeefa;color:var(--navy)}.active-filter-bar>a{flex:0 0 auto;color:var(--danger);font-weight:700}
@media(max-width:600px){.active-filter-bar{align-items:flex-start;flex-direction:column}}

.icon-btn:hover,.icon-btn:focus-visible{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 7px 16px rgba(6,35,73,.24)}

.content .panel-head{background:linear-gradient(135deg,#fff 0%,#f9fbfd 100%)}.guest-list-heading{align-items:flex-start}.guest-filter-area{background:#fbfcfe}.filter-bar-range{grid-template-columns:minmax(190px,1.45fr) minmax(160px,1.15fr) minmax(130px,.8fr) minmax(138px,.85fr) minmax(138px,.85fr) auto;align-items:end}.filter-field{display:grid;gap:6px;min-width:0}.filter-field label{color:#566579;font-size:11px;font-weight:700;letter-spacing:.3px}.filter-field input,.filter-field select{height:44px}.filter-actions{display:flex;align-items:center;gap:7px}.filter-actions .btn{height:44px;padding-inline:14px}.detail-grid .info-item{padding:11px 13px;border-left:3px solid #dce8f3;border-radius:4px;background:#f8fafc}.detail-grid .info-item:hover{border-left-color:var(--blue2);background:#f2f7fc}.form-actions{padding-top:18px;border-top:1px solid #edf0f4}.panel .btn{transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.panel .btn:hover{transform:translateY(-1px)}
@media(max-width:1250px){.filter-bar-range{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-search{grid-column:span 2}.filter-actions{align-self:end}}
@media(max-width:760px){.filter-bar-range{grid-template-columns:1fr}.filter-search{grid-column:auto}.filter-actions{display:grid;grid-template-columns:1fr 1fr}.filter-actions .btn{width:100%}}

/* Compact guest filters */
.filter-bar-range{grid-template-columns:minmax(170px,1.35fr) minmax(145px,1fr) minmax(120px,.75fr) minmax(215px,1fr) 88px;gap:10px;align-items:start}.filter-bar-range .filter-field{gap:5px}.filter-bar-range .filter-field>label{font-size:10px}.filter-bar-range input,.filter-bar-range select{height:38px;padding:8px 10px;font-size:13px}.date-range-inputs{display:grid;grid-template-columns:45px minmax(150px,1fr);align-items:center;gap:6px 8px}.date-range-inputs label{color:var(--muted);font-size:10px;font-weight:700}.date-range-inputs input{height:34px;padding:5px 8px}.filter-bar-range .filter-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding-top:19px}.filter-bar-range .filter-actions .btn{width:100%;height:36px;padding:7px 10px;font-size:12px}
@media(max-width:880px){.filter-bar-range{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search{grid-column:auto}.date-range-stack{grid-row:span 2}.filter-bar-range .filter-actions{padding-top:19px}}
@media(max-width:560px){.filter-bar-range{grid-template-columns:1fr}.date-range-stack{grid-row:auto}.filter-bar-range .filter-actions{display:grid;grid-template-columns:1fr 1fr;padding-top:4px}.date-range-inputs{grid-template-columns:42px 1fr}}

/* Single-row compact filters with one date-range field */
.filter-bar-range{grid-template-columns:minmax(150px,1.35fr) minmax(130px,1fr) minmax(105px,.75fr) minmax(180px,1.1fr) auto;align-items:end;gap:9px}.date-range-picker{position:relative}.date-range-trigger{width:100%;height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #ccd5df;border-radius:9px;padding:7px 10px;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.date-range-trigger:hover,.date-range-trigger[aria-expanded=true]{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(17,84,154,.1)}.date-range-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.date-range-trigger svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:var(--navy);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.date-range-popover{position:absolute;z-index:30;top:calc(100% + 7px);right:0;width:430px;padding:16px;border:1px solid #ccd8e5;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(6,35,73,.2)}.date-range-popover[hidden]{display:none!important}.date-range-popover-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.date-range-popover .field input{height:40px;font-size:13px}.date-range-error{margin:10px 0 0;color:var(--danger);font-size:11px}.date-range-popover-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}.date-range-popover-actions .btn{height:36px;padding:7px 12px;font-size:12px}.filter-bar-range .filter-actions{display:flex;flex-direction:row;align-items:center;gap:6px;padding-top:0}.filter-bar-range .filter-actions .btn{width:auto;min-width:62px;height:38px;padding:7px 10px}.filter-bar-range .filter-actions .btn-primary{min-width:76px}
@media(max-width:720px){.filter-bar-range{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar-range .filter-actions{align-self:end}.date-range-popover{right:auto;left:0;width:min(430px,calc(100vw - 56px))}}
@media(max-width:500px){.filter-bar-range{grid-template-columns:1fr}.filter-bar-range .filter-actions{display:grid;grid-template-columns:1fr 1fr}.filter-bar-range .filter-actions .btn{width:100%}.date-range-popover-fields{grid-template-columns:1fr}}

/* Subtle visual polish for admin pages */
.content{animation:contentIn .22s ease}.content .panel{border-color:#d9e3ed}.content .panel-head h2,.content .panel-head h3{display:flex;align-items:center;gap:9px}.content .panel-head h2:before,.content .panel-head h3:before{content:"";width:5px;height:20px;flex:0 0 auto;border-radius:6px;background:var(--yellow);box-shadow:0 0 0 3px rgba(255,223,0,.14)}.content .panel-head h3:before{height:17px}.content .panel-description{line-height:1.4}.content input,.content select,.content textarea{background:#fcfdff;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.content input:hover,.content select:hover,.content textarea:hover{border-color:#aebdcd;background:#fff}.form-panel>.panel-body,.password-panel>.panel-body{padding:24px}.form-panel .section-title{padding:8px 0;color:var(--blue)}.password-panel{margin-inline:auto}.password-panel .panel-body{background:linear-gradient(145deg,#fff,#fbfcfe)}.service-create-area{border-bottom:1px solid var(--line);background:#fbfcfe}.service-create-area .form-grid{align-items:end}.services-table input{height:38px;padding:8px 10px;font-size:13px}.status-check{width:max-content;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:20px;background:#eaf7f0;color:var(--success);font-size:12px;font-weight:700}.status-check input{width:auto;height:auto;margin:0}.detail-info-panel .info-grid{gap:12px}.detail-info-panel .info-item{transition:border-color .18s ease,background .18s ease,transform .18s ease}.detail-info-panel .info-item:hover{transform:translateX(2px)}.ktp-view{border:1px solid var(--line);box-shadow:0 6px 18px rgba(6,35,73,.08)}@keyframes contentIn{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.content{animation:none}.content *{transition:none!important}}
