.analytics-filters{padding:19px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:22px}.filter-fields{display:flex;align-items:end;gap:15px;flex-wrap:wrap}.filter-fields .field{flex:1;min-width:140px}.filter-fields .btn{min-height:41px}.analytics-metrics .metric-num{font-size:1.7rem}.analytics-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.chart-panel{padding:23px;min-width:0}.chart-panel>p{font-size:.8rem;color:var(--muted);margin-top:7px}.bar-chart{position:relative;padding-top:34px;margin-top:15px}.chart-axis{position:absolute;top:0;left:0;color:var(--muted);font-size:.73rem}.bar-columns{height:190px;display:flex;align-items:end;gap:8px;border-bottom:1px solid var(--line)}.bar-column{min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.bar-slot{height:150px;width:100%;display:flex;align-items:end}.bar-slot .bar-fill{width:100%;min-height:0;border-radius:4px 4px 0 0;background:#78a38a;max-width:90px;margin:0 auto}.bar-label{font-size:.65rem;color:var(--muted);height:30px;display:flex;align-items:center;white-space:nowrap}.bar-number{font-size:.72rem;color:var(--forest);margin-bottom:3px}.analytics-note{font-size:.78rem;line-height:1.7;color:var(--muted);margin-top:18px}.report-tabs{padding:0;margin-bottom:22px}.report-summary{display:flex;gap:15px;align-items:center;padding:18px 22px;background:#f0f6eb;font-size:.85rem;color:var(--muted)}.report-summary strong{font-size:1.5rem;color:var(--forest)}.staff-summary{display:flex;gap:25px;align-items:center;flex-wrap:wrap;padding:18px 20px;background:#eef4e8;border-radius:9px;font-size:.82rem;color:var(--muted);margin-bottom:22px}.staff-summary strong{font-size:1.2rem;color:var(--ink);margin-right:4px}.wrap-cell{white-space:normal;min-width:170px;max-width:300px;line-height:1.6}.department-panel{margin-top:23px}.department-picker{border:1px solid var(--line);border-radius:8px;margin:22px 0;padding:17px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.department-picker legend{font-size:.82rem;padding:0 6px}.public-link-row{margin:20px 0}.public-link-row label{font-size:.8rem;font-weight:600;display:block;margin-bottom:8px}.public-link-row .row{margin-top:9px}.qr-block{display:flex;align-items:center;gap:20px;padding:15px 0;border-top:1px solid var(--line);margin-top:23px}.qr-block img{width:160px;height:160px;flex-shrink:0}.qr-block h3{font-size:1rem}.qr-block p{margin:8px 0 14px!important}.public-links-panel{grid-row:span 2}.public-display{background:#f4f7f0;min-height:100vh;padding:35px}.public-display>header{display:flex;justify-content:space-between;align-items:center;padding-bottom:28px;border-bottom:1px solid #dce5d6}.public-display .brand{color:var(--forest);padding:0 0 15px}.public-display .brand em{color:#5c8469}.public-display h1{font-size:1.8rem}.public-display header p{color:var(--muted);font-size:.85rem;margin-top:7px}.display-time{font-size:2rem;color:var(--forest);text-align:right;font-weight:600}.display-time small{display:block;font-size:.82rem;font-weight:400;margin-top:7px;color:var(--muted)}.display-intro{display:flex;align-items:center;justify-content:space-between;margin:28px 0 22px;gap:18px}.display-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:21px}.display-queue{border:1px solid #dce5d6;background:white;border-radius:13px;overflow:hidden}.display-queue header{display:flex;align-items:center;justify-content:space-between;padding:20px}.display-queue h2{font-size:1.1rem}.display-now{padding:25px 20px;background:#e6f0de;text-align:center}.display-now span{display:block;color:#5f7a50;font-size:.74rem;letter-spacing:.8px}.display-now strong{font-family:ui-monospace,monospace;font-size:3rem;letter-spacing:-2px;display:block;margin-top:13px;color:#265c35}.display-next{padding:21px;text-align:center}.display-next small{font-size:.72rem;color:var(--muted)}.display-next p{font-size:1rem;margin-top:8px;line-height:1.6}.display-queue>footer{padding:13px 20px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.display-footer{display:flex;justify-content:space-between;gap:20px;line-height:1.8;font-size:.85rem;color:var(--muted);margin-top:30px}.kiosk-page{min-height:100vh;padding:30px 18px;background:#edf3e8}.kiosk-page>.brand{justify-content:center;color:var(--forest);padding:0 0 26px}.kiosk-page .brand em{color:#6b8d71}.kiosk-card{max-width:650px;margin:auto;background:#fff;border:1px solid #dce6d5;border-radius:14px;overflow:hidden}.kiosk-card>header{padding:30px;background:#193e2e;color:#f1f7e9}.kiosk-card h1{font-size:1.75rem;margin:17px 0 10px;line-height:1.4;letter-spacing:-.5px}.kiosk-card header p{font-size:.88rem;color:#b5cdb0;line-height:1.7}.kiosk-card form{padding:28px}.kiosk-card .input,.kiosk-card .select{font-size:1rem;min-height:46px}.kiosk-submit{width:100%;margin-top:22px;padding:13px;min-height:49px}.kiosk-footnote{font-size:.75rem;color:var(--muted);line-height:1.7;margin-top:18px;text-align:center}.badge.Active{background:#e6f3e8;color:#387249}.badge.Inactive{background:#f3eae6;color:#88665c}
@media(max-width:950px){.analytics-charts{grid-template-columns:1fr}.filter-fields .field{min-width:170px}.display-now strong{font-size:2.5rem}}
@media(max-width:600px){.filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filter-fields .field{min-width:0}.filter-fields>.btn{grid-column:span 2}.analytics-filters{padding:15px}.bar-columns{gap:4px}.bar-label{font-size:.6rem}.chart-panel{padding:18px}.analytics-metrics .metric-num{font-size:1.5rem}.qr-block{flex-direction:column;text-align:center}.public-display{padding:20px}.public-display>header{align-items:start}.public-display h1{font-size:1.2rem}.display-time{font-size:1.1rem}.display-intro{flex-direction:column;align-items:start}.display-footer{flex-direction:column}.department-picker{grid-template-columns:1fr}.kiosk-card form{padding:22px}.kiosk-card>header{padding:25px}.kiosk-card h1{font-size:1.5rem}.kiosk-card .form-grid{grid-template-columns:1fr}.kiosk-card .span2{grid-column:auto}.report-summary{flex-direction:column;align-items:start;gap:6px}}
