.clinic-contact-links[data-v-b3654b14]{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 16px;margin:14px auto 0;color:#64758b;font-size:14px;font-style:normal;line-height:1.5;text-align:center}.clinic-contact-links>span[data-v-b3654b14]{flex-basis:100%}.clinic-contact-links a[data-v-b3654b14]{color:#2678c9;font-weight:650}.clinic-contact-links a[data-v-b3654b14]:hover{text-decoration:underline}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--blue:#1688c0;--navy:#1b1b59;--orange:#f5a623;--orange-strong:#f4772b}.brand-mark{background:linear-gradient(145deg,#168cc3,#1b1b59);font-family:Arial,sans-serif;font-size:30px}.brand-mark.small{font-size:24px}.clinic-logo{display:block;flex-shrink:0;-o-object-fit:contain;object-fit:contain;background:#fff}.clinic-logo-small{width:48px;height:48px;padding:2px;border:1px solid #e8edf3;border-radius:11px;box-shadow:0 3px 10px #173a6410}.clinic-logo-large{width:96px;height:96px;margin:0 auto 20px;border:1px solid #eef1f5;border-radius:18px;box-shadow:0 6px 18px #173a6410}.side-link.active{box-shadow:inset 3px 0 var(--orange)}.brand b{color:#0878e8}:root{font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:#14243a;background:#f5f8fc;font-synthesis:none;text-rendering:optimizeLegibility;font-weight:400;--blue:#1674dc;--navy:#102d52;--muted:#758399;--line:#e6ebf2}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:inherit;text-decoration:none}.muted{color:var(--muted);margin:7px 0 0;font-size:16px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.35px;color:#8593a6;margin:0 0 8px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#1685f5,#125bb8);color:#fff;font-weight:800;font-size:27px;box-shadow:0 8px 18px #1674dc31}.brand-mark.small{width:38px;height:38px;border-radius:11px;font-size:21px;flex-shrink:0}.button{border:1px solid transparent;border-radius:9px;padding:10px 15px;font-weight:700;font-size:15px;transition:.18s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button-primary{background:var(--blue);color:#fff;box-shadow:0 4px 10px #1674dc25}.button-primary:hover{background:#0862c2}.button-outline{background:#fff;border-color:#dbe3ee;color:#31435c}.button-outline:hover{border-color:#9bbce5;color:var(--blue)}.button-danger{background:#fff4f3;color:#c95147;border-color:#f5dad7}.button-danger:hover{background:#ffe9e6}.full-width{width:100%}.error-message{color:#c13c36;font-size:15px}.notice{color:#137d5a;background:#eaf8f2;padding:10px 12px;border-radius:8px;font-size:15px}.text-button{border:0;background:transparent;color:var(--blue);font-weight:700}.alert{margin:0 0 14px;padding:10px 13px;border-radius:8px;background:#fff}.capitalize{text-transform:capitalize}.app-shell{min-height:100vh;display:flex}.sidebar{width:238px;background:#fff;border-right:1px solid var(--line);padding:24px 16px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:2}.brand{display:flex;align-items:center;gap:11px;padding:2px 6px 35px}.brand b,.patient-header b{display:block;color:#126fd2;font-size:17px}.brand small,.patient-header small,.account-card small,.qr-top small{display:block;color:#8895a7;font-size:13px;margin-top:3px}.side-label{font-size:11px;letter-spacing:1.2px;font-weight:800;color:#9aa5b5;padding:0 11px 12px}.side-link{height:43px;display:flex;align-items:center;gap:12px;padding:0 11px;border:0;background:transparent;text-align:left;border-radius:8px;color:#657389;font-size:15px;font-weight:600;margin-bottom:4px}.side-link span{font-size:19px}.side-link.active,.side-link:hover{background:#edf5ff;color:var(--blue)}.side-spacer{flex:1}.account-card{border-top:1px solid var(--line);padding:18px 3px 0;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eaf3ff;color:#2678cf;font-size:13px;font-weight:800}.account-card b{font-size:14px}.account-card button{margin-left:auto;border:0;background:none;color:#8290a4;font-size:20px}.main-content{margin-left:238px;max-width:1600px;width:calc(100% - 238px);padding:32px 38px 20px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.topbar h1{font-size:28px;margin:0;font-weight:750;letter-spacing:-.7px}.topbar .eyebrow{margin-bottom:5px}.top-actions{display:flex;align-items:center;gap:12px}.reception-clock{display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid #e4ebf3;border-radius:10px;background:#fff;box-shadow:0 3px 10px #1c3e6807}.reception-clock time{min-width:94px;color:#173b66;font-size:19px;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:1px}.clock-indicator{width:8px;height:8px;border-radius:50%;background:#21b483;box-shadow:0 0 0 4px #21b48320}.live-pill{display:inline-flex;align-items:center;gap:7px;background:#eaf8f2;color:#218363;border-radius:30px;padding:7px 10px;font-size:12px;font-weight:800;white-space:nowrap}.live-pill i,.registration-status i{width:7px;height:7px;background:#25b886;border-radius:50%;box-shadow:0 0 0 3px #25b88620}.icon-button{width:35px;height:35px;border:1px solid var(--line);background:#fff;border-radius:9px;color:#738197;font-size:24px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px;display:flex;align-items:center;gap:12px;min-height:102px;box-shadow:0 3px 10px #1c3e6805}.stat-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;font-size:20px;font-weight:700}.stat-icon.blue{color:#1979df;background:#eaf4ff}.stat-icon.amber{color:#d7901a;background:#fff5e3}.stat-icon.green{color:#17956a;background:#e9f8f2}.stat-card small{display:block;color:#7e8ba0;font-size:13px}.stat-card strong{display:block;font-size:25px;margin-top:3px}.stat-caption{position:absolute;right:13px;bottom:15px;color:#9aa5b5;font-size:11px}.registration-card{justify-content:space-between;gap:6px}.registration-card strong{font-size:16px;margin-top:8px}.registration-card .button{padding:8px 10px;font-size:13px}.queue-panel,.history-panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 12px #1c3e6805;margin-bottom:17px}.queue-panel{padding:21px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h2{margin:0;font-size:19px;letter-spacing:-.25px}.panel-heading .eyebrow{margin-bottom:5px}.queue-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-top:19px}.queue-tabs button{border:0;background:none;padding:0 13px 12px;color:#7b899c;font-size:14px;font-weight:700;border-bottom:2px solid transparent}.queue-tabs button.selected{color:var(--blue);border-color:var(--blue)}.tab-count{margin-left:5px;padding:3px 6px;border-radius:20px;background:#f0f3f7;color:#718096;font-size:12px}.queue-tabs .selected .tab-count{background:#edf5ff;color:var(--blue)}.queue-layout{display:grid;grid-template-columns:minmax(245px,.8fr) minmax(380px,1.4fr);gap:15px;padding-top:17px}.current-card{border:1px solid #e6edf6;border-radius:10px;background:linear-gradient(140deg,#f4f9ff,#fff 70%);padding:17px;display:flex;flex-direction:column;min-height:242px}.current-top{display:flex;justify-content:space-between;align-items:center}.type-chip{font-size:11px;font-weight:800;letter-spacing:.5px;padding:5px 8px;background:#eaf4ff;color:#1873d0;border-radius:5px}.current-number{text-align:center;font-size:45px;font-weight:800;letter-spacing:1px;color:#102d52;margin:24px 0 0}.current-card>.muted{text-align:center;font-size:13px;margin:3px 0 16px}.current-actions{display:flex;gap:6px;margin-top:auto}.current-actions .button{flex:1;padding:8px 7px;font-size:12px}.waiting-card{border:1px solid #e6edf6;border-radius:10px;padding:15px 16px;min-height:242px}.waiting-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:11px;border-bottom:1px solid #edf0f5}.waiting-heading h3{margin:0;font-size:16px}.waiting-heading .muted{font-size:12px;margin-top:4px}.call-button{font-size:13px;padding:9px 11px}.ticket-list{max-height:174px;overflow:auto}.ticket-row{display:flex;align-items:center;gap:11px;padding:10px 2px;border-bottom:1px solid #f0f2f6}.ticket-position{width:25px;height:25px;border:1px solid #e6ebf2;border-radius:50%;display:grid;place-items:center;color:#8a97aa;font-size:11px}.ticket-row strong{font-size:15px;min-width:45px}.ticket-time{color:#98a3b2;font-size:12px;margin-left:auto}.status-label{border-radius:20px;font-size:11px;font-weight:700;padding:5px 8px}.status-label.waiting{background:#fff6e8;color:#b6791b}.status-label.done{background:#e8f8f1;color:#13815b}.status-label.skipped{background:#fff0ee;color:#bb554b}.empty-state{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8c99aa;font-size:14px}.empty-state>span{display:grid;place-items:center;width:30px;height:30px;background:#eef8f3;border-radius:50%;color:#319a70;font-size:19px}.empty-state p{margin:8px 0 0}.history-panel{padding:18px 21px}.panel-heading.compact{margin-bottom:14px}.panel-heading.compact h2{font-size:17px}.panel-heading.compact .muted{font-size:13px}.history-head,.history-row{display:grid;grid-template-columns:1fr 1.3fr 1fr 1fr;align-items:center;gap:10px}.history-head{padding:9px;background:#f7f9fc;color:#8995a6;font-size:11px;font-weight:800;letter-spacing:.5px;border-radius:6px}.history-row{padding:11px 9px;border-bottom:1px solid #f0f2f5;font-size:13px;color:#65738a}.history-row strong{color:#24364e;font-size:14px}.empty-table{text-align:center;color:#96a1b0;font-size:13px;padding:14px 0 2px;margin:0}.footer{text-align:center;font-size:12px;color:#9aa5b3;padding:3px}.footer span,.patient-footer span,.tv-footer span{padding:0 6px;color:#c0c8d2}.device-controls select{height:36px;border:1px solid #dfe6ef;border-radius:8px;padding:0 8px;color:#44546a;background:#fff;font-size:13px}.device-row{display:flex;align-items:center;gap:11px;padding:10px 4px;border-top:1px solid #eef1f5;font-size:13px}.device-row>strong{min-width:120px}.device-row>.muted{margin:0 auto 0 0;font-size:12px}.device-row .button{padding:7px 10px;font-size:12px}.device-symbol{display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:#edf5ff;color:#2879c8}.pairing-code{background:#f0f7ff;border:1px solid #dfedfb;color:#50657d;padding:11px 12px;border-radius:8px;font-size:13px;margin:10px 0}.pairing-code strong{font-size:20px;letter-spacing:3px;color:#126fcf;padding-left:8px}.pairing-code span{color:#8a97a8}.login-page,.patient-page,.qr-page{min-height:100vh;background:radial-gradient(ellipse at 50% 20%,#eaf4ff 0,#f6f9fd 55%,#f3f6fa);display:flex;align-items:center;justify-content:center;padding:25px}.login-card,.patient-card{width:min(100%,420px);background:#fff;padding:36px;border:1px solid #e7edf4;border-radius:17px;box-shadow:0 16px 50px #173a6410}.login-card .brand-mark{margin-bottom:24px}.login-card h1,.patient-card h1{font-size:28px;letter-spacing:-.6px;margin:0}.stack-form{display:grid;gap:15px;margin-top:24px}.stack-form label{display:grid;gap:7px;color:#35465c;font-size:14px;font-weight:700}.stack-form input,.stack-form select{height:43px;border:1px solid #dfe6ef;border-radius:8px;padding:0 12px;outline:none;color:#21334c;background:#fff}.stack-form input:focus,.stack-form select:focus{border-color:#6aa7eb;box-shadow:0 0 0 3px #2180e51a}.login-hint,.privacy-note{font-size:12px;color:#9aa5b3;text-align:center;line-height:1.6;margin:15px 0 0}.login-card .button{height:44px}.patient-page{display:flex;flex-direction:column;gap:30px}.patient-header{display:flex;align-items:center;gap:11px}.patient-header b{color:#213c5c}.patient-card{text-align:center;padding:30px 34px}.patient-icon,.ticket-success{width:50px;height:50px;margin:0 auto 18px;display:grid;place-items:center;border-radius:15px;background:#eaf4ff;color:#1674dc;font-size:27px;font-weight:800}.patient-card>.muted{line-height:1.6}.service-options{display:grid;gap:10px;margin:23px 0 17px}.service-options button{display:flex;align-items:center;gap:13px;text-align:left;padding:13px;border:1px solid #e1e8f1;background:#fff;border-radius:10px;color:#304158}.service-options button.chosen{border-color:#6da8e9;background:#f4f9ff}.service-options button>span:first-child{width:38px;height:38px;border-radius:9px;background:#ebf4ff;display:grid;place-items:center;color:#267ccf;font-size:20px}.service-options button b,.service-options button small{display:block}.service-options button b{font-size:14px}.service-options button small{font-size:12px;color:#8c99a9;margin-top:4px}.service-options button i{margin-left:auto;color:var(--blue);font-style:normal}.patient-card>.button{height:46px}.ticket-card{padding-top:37px}.ticket-success{background:#e9f8f2;color:#1b9a6e;border-radius:50%}.patient-number{font-size:76px;font-weight:850;letter-spacing:2px;color:#126fcf;margin:18px 0 6px}.ticket-status{color:#218363;background:#eaf8f2;border-radius:20px;padding:9px 12px;display:inline-block;font-size:14px;font-weight:700}.patient-current{margin:19px 0 10px;padding:15px;border-radius:10px;background:#f6f9fc}.patient-current small,.patient-current strong{display:block}.patient-current small{font-size:11px;color:#8996a8;letter-spacing:.7px;font-weight:800}.patient-current strong{font-size:27px;color:#18385f;margin-top:5px}.patient-footer{font-size:12px;color:#9aa5b3}.patient-page>.patient-footer{margin-top:auto}.qr-page{display:block;position:relative;background:#f7faff;padding:0 24px}.qr-top{max-width:1040px;margin:auto;height:82px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #e8edf4}.qr-top b{display:block;font-size:16px}.qr-top .registration-status{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#eaf8f2;color:#19805e;border-radius:20px;font-size:12px;font-weight:800}.qr-top .registration-status.paused{background:#fff1e9;color:#b45e2a}.qr-top .registration-status.paused i{background:#e88942;box-shadow:none}.qr-content{text-align:center;margin:43px auto 0;max-width:640px}.qr-content h1{font-size:31px;margin:0;letter-spacing:-.6px}.qr-content>.muted{font-size:15px}.qr-frame{background:#fff;border:1px solid #e7edf3;border-radius:17px;padding:14px;width:-moz-max-content;width:max-content;margin:27px auto 13px;box-shadow:0 10px 30px #153d690b}.qr-frame canvas{display:block;max-width:75vw}.qr-direct-link{max-width:600px;margin:0 auto 14px;color:#627187;font-size:14px;line-height:1.6}.qr-direct-link a{display:block;margin-top:3px;color:#126fcf;font-weight:700;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}.qr-countdown{font-size:13px;color:#8390a2}.qr-countdown strong{color:#1674dc}.qr-instructions{display:flex;align-items:center;justify-content:center;gap:9px;margin:25px auto;color:#627187;font-size:12px}.qr-instructions span{width:20px;height:20px;display:grid;place-items:center;background:#eaf4ff;color:#2678ca;border-radius:50%;font-weight:800;margin-left:12px}.paused-banner{background:#fff6e9;color:#9e681d;border-radius:8px;padding:10px;font-size:14px}.qr-content>.error-message{margin-top:12px}.qr-page>.patient-footer{position:absolute;bottom:20px;left:0;right:0;text-align:center}.tv-page{min-height:100vh;background:#f2f6fb;padding:0 32px 22px;display:flex;flex-direction:column}.tv-header{height:91px;display:flex;align-items:center;gap:25px;border-bottom:1px solid #dde5ef}.tv-header .brand{padding:0}.tv-title{margin-right:auto}.tv-title h1{font-size:24px;margin:0 0 4px}.tv-title span,.tv-clock small{font-size:12px;color:#8693a4}.tv-clock{text-align:right}.tv-clock b,.tv-clock small{display:block}.tv-clock b{font-size:25px;letter-spacing:1px}.tv-clock small{margin-top:4px}.sound-toggle{font-size:12px}.tv-queues{width:100%;margin:30px 0;display:grid;grid-template-columns:1fr 1fr;gap:23px;flex:1}.tv-queue{background:#fff;border:1px solid #e4eaf2;border-radius:16px;overflow:hidden;box-shadow:0 8px 25px #173b6609}.tv-queue-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 21px;border-bottom:1px solid #eef1f5}.tv-queue-heading .type-chip{font-size:13px;padding:7px 10px}.tv-current{text-align:center;padding:28px 20px 24px;background:linear-gradient(180deg,#f1f7ff,#fff);border-bottom:1px solid #edf0f4}.tv-current small{font-size:12px;font-weight:800;letter-spacing:1px;color:#7d8ba0}.tv-current strong{display:block;font-size:clamp(60px,8vw,112px);line-height:1.1;letter-spacing:2px;color:#116ecb;margin:11px 0 5px}.tv-current>span{font-size:15px;color:#687991}.tv-waiting{padding:17px 21px}.tv-waiting-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.tv-waiting-heading b{font-size:16px}.tv-waiting-heading span{font-size:12px;color:#8794a5}.tv-ticket{display:flex;align-items:center;gap:13px;padding:12px 3px;border-bottom:1px solid #f0f2f6}.tv-ticket>span{width:27px;height:27px;border:1px solid #e2e8f0;border-radius:50%;display:grid;place-items:center;color:#8592a4;font-size:13px}.tv-ticket b{font-size:20px;color:#253851}.tv-ticket small{margin-left:auto;color:#95a1b0;font-size:11px;font-weight:800}.tv-ticket:first-child small{color:#20815e}.tv-queue .empty-state{min-height:100px}.tv-footer{border-top:1px solid #dfe6ee;padding:14px 10px 0;display:flex;justify-content:space-between;color:#8090a3;font-size:12px}@media(max-width:1100px){.main-content{padding:25px 22px}.stats-grid{grid-template-columns:repeat(2,1fr)}.queue-layout{grid-template-columns:1fr}.current-card,.waiting-card{min-height:210px}}@media(max-width:760px){.sidebar{width:62px;padding:18px 8px}.sidebar .brand{padding:0 4px 28px}.sidebar .brand>span:last-child,.side-label,.side-link:not(.active),.account-card>div:not(.avatar),.account-card button{display:none}.side-link{justify-content:center;padding:0}.account-card{justify-content:center}.main-content{margin-left:62px;width:calc(100% - 62px);padding:20px 13px}.topbar{align-items:flex-start}.topbar h1{font-size:22px}.live-pill{font-size:0}.live-pill i{width:8px;height:8px}.stats-grid{gap:8px}.stat-card{padding:12px;min-height:90px;gap:8px}.stat-caption{display:none}.stat-card strong{font-size:20px}.stat-card small{font-size:12px}.registration-card{align-items:flex-start;flex-direction:column}.queue-panel{padding:14px}.panel-heading h2{font-size:17px}.panel-heading>.button{font-size:0;padding:9px}.panel-heading>.button span{display:none}.current-actions{flex-wrap:wrap}.current-actions .button{font-size:11px}.history-panel{padding:14px}.history-head,.history-row{grid-template-columns:1fr 1fr 1fr}.history-head span:nth-child(2),.history-row>span:nth-child(2){display:none}.tv-page{padding:0 14px}.tv-header{height:auto;min-height:76px;gap:10px}.tv-header .brand small,.tv-title span,.sound-toggle{display:none}.tv-title h1{font-size:16px}.tv-clock b{font-size:19px}.tv-clock small{font-size:10px}.tv-queues{grid-template-columns:1fr;gap:12px;margin:15px auto}.tv-current{padding:17px}.tv-current strong{font-size:65px}.tv-queue-heading,.tv-waiting{padding:12px}.tv-ticket{padding:8px}.tv-ticket b{font-size:16px}.tv-footer{font-size:10px}.patient-card{padding:27px 22px}.qr-page{padding:0 14px}.qr-content{margin-top:40px}.qr-content h1{font-size:25px}.qr-instructions{font-size:10px;gap:3px}.qr-instructions span{margin-left:7px}}.clinic-clock{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 11px;border:1px solid #e4ebf3;border-radius:10px;background:#fff;box-shadow:0 3px 10px #1c3e6807}.clinic-clock-copy{display:grid;min-width:0;gap:2px}.clinic-clock-date{color:#758399;font-size:10px;font-weight:650;line-height:1.3;text-transform:capitalize}.clinic-clock time{color:#173b66;font-size:18px;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:.5px;line-height:1.2}.login-clock,.pairing-clock{width:-moz-fit-content;width:fit-content;margin:18px auto 0}.patient-header{flex-wrap:wrap;gap:10px}.patient-header .clinic-clock{margin-left:auto}.page-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.qr-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.qr-top .clinic-clock{flex-shrink:1;padding:6px 8px}.qr-top .clinic-clock-date{font-size:9px}.qr-top .clinic-clock time{font-size:15px}.tv-header .clinic-clock{flex-shrink:0}.registration-info{min-width:0}.registration-card .registration-reason{display:block;position:static;margin-top:5px;color:#8290a2;font-size:10px;line-height:1.35}.settings-note{margin:-8px 0 16px;font-size:13px}.session-expired-message{margin:14px 0 0;padding:10px 12px;border:1px solid #f1dfbf;border-radius:9px;background:#fff9ed;color:#9a6518;font-size:13px;line-height:1.45}@media(max-width:850px){.page-header-actions,.top-actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:600px){.clinic-clock{gap:7px;padding:6px 8px}.clinic-clock-date{font-size:9px}.clinic-clock time{font-size:15px}.patient-header .clinic-clock{flex-basis:100%;justify-content:center;margin-left:0}.qr-top{height:auto;min-height:68px;flex-wrap:wrap;padding:8px 0}.qr-top .clinic-clock{order:3;flex-basis:100%;justify-content:center}.tv-header{flex-wrap:wrap}}@media(max-width:420px){.page-header-actions{width:100%;justify-content:space-between}.admin-header{flex-wrap:wrap}}.wait-estimate{display:grid;justify-items:center;gap:6px;margin:17px 0;padding:14px 16px;border:1px solid #dceaf6;border-radius:12px;background:linear-gradient(145deg,#f3f9ff,#fff);text-align:center}.wait-estimate>small{color:#71849a;font-size:10px;font-weight:800;letter-spacing:.55px}.wait-estimate>strong{color:#126fc5;font-size:23px;line-height:1.2}.wait-estimate>span{color:#314d6b;font-size:14px;font-weight:650}.wait-estimate .wait-estimate-source{margin-top:3px;color:#8a97a8;font-size:10px;font-weight:500;letter-spacing:0;line-height:1.45}.admin-page{max-width:1320px;margin:0 auto;padding:32px 38px}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-header h1{margin:0;font-size:29px;letter-spacing:-.6px}.admin-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px;margin-bottom:16px;box-shadow:0 3px 12px #1c3e6805}.admin-card h2{font-size:17px;margin:0 0 16px}.admin-form{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));align-items:end;gap:12px}.admin-form label,.settings-form label,.report-toolbar label,.queue-type-setting label{display:grid;gap:6px;color:#58677c;font-size:13px;font-weight:700}.admin-form input,.admin-form select,.settings-form input,.report-toolbar input,.queue-type-setting input{height:38px;border:1px solid #dfe6ef;border-radius:7px;padding:0 10px;background:#fff;color:#24374f}.admin-form button{height:38px}.admin-table{overflow:auto}.admin-table-head,.admin-table-row{min-width:740px;display:grid;grid-template-columns:1.35fr 1.1fr 1.2fr 1fr auto;align-items:center;gap:12px}.admin-table-head{padding:10px;background:#f7f9fc;color:#8995a6;font-size:11px;font-weight:800;letter-spacing:.5px;border-radius:6px}.admin-table-row{padding:12px 9px;border-bottom:1px solid #eff2f6;font-size:13px;color:#627187}.admin-table-row b{color:#2e4058}.admin-table-row small{display:block;color:#8f9bad;margin-top:4px}.admin-table-row .button{font-size:12px;padding:7px 9px}.admin-role-layout{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(400px,1.3fr);gap:15px}.role-list{display:flex;flex-direction:column;align-items:stretch}.role-option{padding:12px;text-align:left;background:#fff;border:1px solid transparent;border-bottom-color:#edf0f5;border-radius:8px;color:#304158}.role-option.selected{background:#f1f7ff;border-color:#cfe2f8}.role-option b,.role-option small,.role-option span{display:block}.role-option b{font-size:14px}.role-option small,.role-option span{font-size:12px;color:#8794a5;margin-top:4px}.permission-list .panel-heading{margin-bottom:12px}.permission-option{display:flex;align-items:center;gap:11px;padding:10px 4px;border-bottom:1px solid #f0f2f6;cursor:pointer}.permission-option input{accent-color:var(--blue)}.permission-option b,.permission-option small{display:block}.permission-option b{font-size:13px;color:#34465e}.permission-option small{font-size:12px;color:#8d99a9;margin-top:3px}.settings-form{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));align-items:end;gap:12px}.queue-type-setting{display:grid;grid-template-columns:1.1fr 1.5fr .7fr .8fr .8fr auto;gap:11px;align-items:end;padding:13px 0;border-top:1px solid #eff2f6}.queue-type-setting>b{font-size:14px;padding-bottom:10px}.queue-type-setting .inline-check{display:flex;align-items:center;padding-bottom:10px;white-space:nowrap}.queue-type-setting .inline-check input{height:auto}.report-toolbar{display:flex;align-items:end;justify-content:flex-end;gap:10px}.report-toolbar label{margin-right:auto}.report-stats .stat-card{min-height:80px}.hourly-chart{height:150px;display:flex;align-items:end;gap:6px;padding:15px 4px 0;border-bottom:1px solid #e8edf3}.hourly-column{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px}.hourly-bar{width:80%;background:linear-gradient(180deg,#52a5f2,#1674dc);border-radius:4px 4px 0 0;min-height:3px}.hourly-column small{font-size:10px;color:#8995a6;height:11px}.dashboard-wait{font-size:41px;font-weight:800;color:#1472d4;margin:0 0 15px}.dashboard-wait small{font-size:16px;color:#758399}.admin-shortcuts{display:flex;gap:12px;flex-wrap:wrap}.admin-shortcuts a{padding:10px 13px;border:1px solid #e4eaf2;border-radius:8px;color:#2678ca;font-size:13px;font-weight:700}.device-controls{display:flex;align-items:center;gap:8px}.tv-recent{display:flex;align-items:center;gap:9px;padding:0 21px 17px;color:#718197}.tv-recent small{font-size:11px;font-weight:800;letter-spacing:.5px}.tv-recent span{padding:5px 8px;border-radius:6px;background:#f0f4f8;color:#596d87;font-size:12px;font-weight:700}@media(max-width:850px){.admin-page{padding:22px 14px}.admin-header{align-items:flex-start;gap:10px}.admin-header h1{font-size:22px}.admin-form,.settings-form{grid-template-columns:1fr 1fr}.admin-role-layout{grid-template-columns:1fr}.queue-type-setting{grid-template-columns:1fr 1fr}.queue-type-setting>b{grid-column:1/-1}.report-toolbar{flex-wrap:wrap}.report-toolbar label{width:100%}}@media print{.admin-header>.button,.report-toolbar,.sidebar{display:none!important}.admin-page{padding:0}.admin-card{box-shadow:none;-moz-column-break-inside:avoid;break-inside:avoid}}.tv-display-error{grid-column:1/-1;padding:13px 17px;border:1px solid #f1ceca;border-radius:9px;background:#fff2f0;color:#a84037;font-size:15px;font-weight:650;text-align:center}.optional-label{display:inline-block;margin-left:6px;padding:3px 6px;border-radius:10px;background:#f1f5f9;color:#7a8798;font-size:9px;vertical-align:middle;letter-spacing:.4px}.device-panel .panel-heading{align-items:flex-start}.device-panel .panel-heading>div{min-width:0}.device-panel .panel-heading .muted{max-width:560px;line-height:1.5}.pairing-code-card{display:flex;align-items:center;gap:20px;margin:14px 0;padding:16px;border:1px solid #dfeaf6;border-radius:12px;background:linear-gradient(120deg,#f6faff,#fff)}.pairing-qr{width:150px;height:150px;flex-shrink:0;padding:7px;border:1px solid #e6edf5;border-radius:10px;background:#fff}.pairing-code-details{min-width:0;display:grid;justify-items:start;gap:4px}.pairing-code-details .eyebrow{margin:0;color:#6b819a;font-size:10px}.pairing-code-label{color:#40556d;font-size:13px}.pairing-code-number{display:flex;align-items:center;gap:12px;margin:3px 0;padding:7px 11px;border:1px solid #e6edf5;border-radius:9px;background:#fff}.pairing-code-number strong{color:#1b1b59;font-size:30px;letter-spacing:6px;line-height:1}.pairing-code-number span{padding-left:10px;border-left:1px solid #e7edf4;color:#8a97a8;font-size:9px;font-weight:800;letter-spacing:.5px}.pairing-code-expiry{margin-top:2px;color:#8996a7;font-size:12px}.pairing-link{display:inline-flex;align-items:center;gap:7px;margin-top:6px;padding:8px 11px;border-radius:8px;background:#1688c0;color:#fff;font-size:12px;font-weight:750}.pairing-link:hover{background:#0874b4}.pairing-link-url{max-width:100%;overflow-wrap:anywhere;color:#718096;font-size:11px}.pairing-qr-error{margin:4px 0 0;font-size:12px}@media(max-width:850px){.device-panel .panel-heading{flex-wrap:wrap}.device-panel .device-controls{width:100%;flex-wrap:wrap}}@media(max-width:560px){.pairing-code-card{align-items:flex-start;gap:12px;padding:12px}.pairing-qr{width:112px;height:112px;padding:5px}.pairing-code-number{gap:7px;padding:6px 8px}.pairing-code-number strong{font-size:24px;letter-spacing:4px}.pairing-code-number span{padding-left:7px;font-size:8px}.pairing-code-details .eyebrow{font-size:9px}.pairing-link{padding:7px 9px;font-size:11px}}.device-access{display:flex;align-items:center;gap:10px;flex-basis:100%;margin:4px 0 2px 38px;padding:9px 11px;border:1px solid #e8edf4;border-radius:9px;background:#fafcff}.device-row{flex-wrap:wrap}.device-access img{display:block;width:88px;height:88px;padding:4px;border:1px solid #e7edf4;border-radius:6px;background:#fff}.device-access>div{display:grid;gap:5px;min-width:0}.device-access small{color:#8190a3;font-size:9px;font-weight:800;letter-spacing:.35px}.device-access-url{overflow-wrap:anywhere;color:#2879c8;font-size:12px}.queue-panel-actions{display:flex;align-items:center;gap:8px}.qr-visibility-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:0 12px;border:1px solid #d8e4f2;border-radius:9px;background:#f7fbff;color:#244465;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer}.qr-visibility-toggle input{width:17px;height:17px;margin:0;accent-color:#1679c5;cursor:pointer}.tv-qr-toggle{flex-shrink:0}.tv-qr-managed{flex-shrink:0;color:#7a8a9e;font-size:11px;font-weight:650;white-space:nowrap}.queue-layout.with-inline-qr{grid-template-columns:minmax(210px,.8fr) minmax(330px,1.4fr) minmax(230px,.85fr)}.inline-qr-card{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:16px;border:1px solid #e4eaf2;border-radius:12px;background:#fff;text-align:center;box-shadow:0 3px 12px #1c3e6805}.inline-qr-card .eyebrow{margin:0 0 5px;color:#75869b;font-size:10px;font-weight:800;letter-spacing:.6px}.inline-qr-card h3{margin:0 0 9px;color:#263b55;font-size:15px}.inline-qr-image{width:min(100%,320px);padding:8px;border:1px solid #e9edf3;border-radius:9px;background:#fff}.inline-qr-image canvas{display:block;width:100%;height:auto}.inline-qr-countdown{margin:7px 0 0;color:#7f8da0;font-size:11px}.inline-qr-link{margin-top:8px;color:#1679c5;font-size:12px;font-weight:700}.inline-qr-closed{display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;color:#56677e}.inline-qr-closed>span{font-size:14px;font-weight:800}.inline-qr-closed small{color:#8693a4;font-size:12px;line-height:1.5}.inline-qr-error{margin:8px 0 0;color:#b43e36;font-size:11px;line-height:1.4}.skipped-queue{margin-top:16px;padding:14px 16px;border:1px solid #f1e4ce;border-radius:10px;background:#fffdf9}.skipped-queue-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #f2eadc}.skipped-queue-heading h3{margin:0;color:#684c28;font-size:15px}.skipped-queue-heading .muted{display:block;margin-top:3px;font-size:11px}.skipped-queue-heading>small{color:#8e7c61;font-size:11px}.skipped-ticket-list{max-height:200px;overflow:auto}.skipped-ticket-row{display:flex;align-items:center;gap:9px;padding:9px 2px;border-bottom:1px solid #f5efe5}.skipped-ticket-row>strong{min-width:55px;color:#684c28;font-size:14px}.skipped-ticket-row>.muted{margin-right:auto;font-size:11px}.skipped-ticket-row .button{padding:7px 10px;font-size:11px;white-space:nowrap}.skipped-empty{padding:13px 0 3px;color:#8f9aab;font-size:12px;text-align:center}.tv-queues.has-registration-qr{grid-template-columns:minmax(230px,.72fr) 1fr 1fr}.tv-registration-qr{min-height:100%;padding:20px}.tv-registration-qr .inline-qr-image{width:min(100%,360px)}.tv-registration-qr h3{font-size:17px}.tv-queues.single-queue{grid-template-columns:minmax(0,1fr)}.tv-queues.single-queue.has-registration-qr{grid-template-columns:minmax(230px,.72fr) minmax(0,1fr)}.tv-queues.single-queue>.tv-queue{display:flex;min-height:0;flex-direction:column}.tv-queues.single-queue .tv-current{display:flex;flex:1;flex-direction:column;justify-content:center}.tv-queues.single-queue .tv-current strong{font-size:clamp(90px,14vw,190px)}@media(max-width:1100px){.queue-layout.with-inline-qr{grid-template-columns:1fr}.tv-queues.has-registration-qr{grid-template-columns:1fr 1fr}.tv-registration-qr{grid-column:1/-1;min-height:0}.tv-queues.single-queue.has-registration-qr{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.queue-panel-actions{gap:5px}.queue-panel-actions .button{padding:8px 7px;font-size:11px}.queue-layout.with-inline-qr{grid-template-columns:minmax(0,1fr)}.device-access{margin-left:0}.tv-queues.has-registration-qr{grid-template-columns:1fr}.tv-registration-qr{grid-column:auto}.tv-header .sound-toggle{display:inline-flex}.tv-header{flex-wrap:wrap;padding:9px 0}.tv-header .tv-title{min-width:0}.tv-header .sound-toggle{font-size:10px;padding:6px}.tv-qr-toggle{font-size:10px;padding:0 8px;min-height:32px}.skipped-queue-heading{align-items:flex-start;flex-direction:column}.skipped-ticket-row{flex-wrap:wrap}.skipped-ticket-row>.muted{margin-right:0}.skipped-ticket-row .button{margin-left:auto}}@media(max-width:560px){.device-access img{width:72px;height:72px}.device-access small{font-size:8px}.queue-panel-actions .button{font-size:10px}.queue-panel-actions .qr-visibility-toggle{min-height:34px;padding:0 8px;font-size:10px}.skipped-ticket-row .button{flex:1;margin-left:0}}.report-page .report-toolbar label{margin-right:0}.report-exports{display:flex;align-items:center;gap:7px}.report-period{display:flex;align-items:center;gap:8px;margin:2px 0 15px;color:#78879a;font-size:13px}.report-period b{color:#344961}.report-period-dot{width:8px;height:8px;border-radius:50%;background:#1674dc}.report-period-filter{margin-left:auto;padding:6px 10px;border-radius:20px;background:#edf5ff;color:#3179bd;font-size:12px;font-weight:700}.report-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:15px}.report-kpi{min-height:110px}.report-kpi>div{min-width:0}.report-kpi strong{font-size:27px}.report-kpi strong small{display:inline;font-size:13px;color:#8190a3}.kpi-note{display:block;margin-top:5px;color:#98a4b3;font-size:11px}.report-chart-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.85fr);gap:14px}.report-chart-card{min-width:0;min-height:275px;margin:0;padding:20px}.report-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.report-card-heading h2{margin:0;color:#263a53;font-size:17px}.report-card-heading .eyebrow{margin-bottom:5px}.report-card-heading .muted{margin-top:5px;font-size:13px}.chart-legend{display:flex;align-items:center;gap:6px;color:#728198;font-size:11px;white-space:nowrap}.chart-legend i,.status-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-exam,.daily-exam{background:#3187e3}.legend-treatment,.daily-treatment{background:#9ac8f3}.daily-chart{height:196px;display:flex;align-items:flex-end;gap:clamp(7px,2vw,20px);overflow-x:auto;padding:4px 5px 0;border-bottom:1px solid #e8edf3}.daily-chart-column{height:100%;min-width:31px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.daily-chart-value{color:#738198;font-size:10px;font-weight:700}.daily-chart-stack{width:min(100%,36px);height:150px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:5px 5px 0 0}.daily-chart-stack i{display:block;min-height:0;flex-shrink:0}.daily-chart-column small{height:15px;color:#8b98aa;font-size:10px;white-space:nowrap}.status-chart-layout{display:flex;align-items:center;justify-content:center;gap:25px;padding:8px 0}.status-donut{width:152px;height:152px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;position:relative}.status-donut:before{content:"";position:absolute;top:19px;right:19px;bottom:19px;left:19px;border-radius:50%;background:#fff}.status-donut>div{z-index:1;text-align:center}.status-donut strong,.status-donut small{display:block}.status-donut strong{color:#253d59;font-size:26px}.status-donut small{color:#8a97a8;font-size:11px}.status-legend{display:grid;gap:11px;min-width:120px}.status-legend>div:not(.skip-rate-note){display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px;color:#758399;font-size:12px}.status-legend b{color:#344a64}.legend-completed{background:#20a779}.legend-called{background:#3987df}.legend-waiting{background:#f0ad42}.legend-skipped{background:#e46c62}.skip-rate-note{padding-top:8px;border-top:1px solid #edf0f4;color:#8794a5;font-size:11px}.skip-rate-note b{margin-left:5px;color:#d76a5e}.report-hour-card{grid-column:1/-1;min-height:240px}.peak-hour{display:grid;gap:2px;text-align:right}.peak-hour small{color:#9aa5b5;font-size:9px;font-weight:800;letter-spacing:.7px}.peak-hour b{color:#1674dc;font-size:20px}.report-hourly-chart{height:153px;gap:clamp(2px,.7vw,9px);padding:10px 3px 0}.report-hourly-chart .hourly-column{min-width:14px;gap:3px}.hourly-value{height:12px;color:#8593a5;font-size:9px}.hourly-bar-wrap{height:100%;width:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #e8edf3}.report-hourly-chart .hourly-bar{width:65%;min-height:2px;background:linear-gradient(180deg,#7bb8f2,#3787dd);border-radius:4px 4px 0 0}.report-hourly-chart .hourly-bar.peak-bar{background:linear-gradient(180deg,#f6bd63,#e99822)}.report-hourly-chart .hourly-column small{height:12px}.report-queue-card{grid-column:1/-1;min-height:unset}.queue-performance+.queue-performance{margin-top:20px;padding-top:17px;border-top:1px solid #edf0f4}.queue-performance-heading{display:flex;justify-content:space-between;align-items:center;color:#344a64;font-size:13px}.queue-performance-heading span{color:#8693a4;font-size:12px}.queue-progress{height:8px;overflow:hidden;margin:9px 0 10px;border-radius:8px;background:#eff3f8}.queue-progress i{display:block;height:100%;border-radius:8px}.exam-progress{background:linear-gradient(90deg,#348ae4,#79b8f1)}.treatment-progress{background:linear-gradient(90deg,#4ab89a,#91d5bd)}.queue-performance-stats{display:flex;flex-wrap:wrap;gap:9px 22px;color:#8a97a8;font-size:11px}.queue-performance-stats b{margin-left:3px;color:#415770}.report-detail-card{margin-top:14px}.report-detail-card .report-card-heading{align-items:center}.detail-count{padding:6px 10px;border-radius:18px;background:#f1f5f9;color:#728198;font-size:11px;font-weight:700;white-space:nowrap}.report-detail-table .admin-table-head,.report-detail-table .admin-table-row{min-width:1100px;grid-template-columns:1.15fr .8fr .65fr .7fr .9fr .8fr .7fr .7fr .95fr .95fr;gap:9px}.report-detail-table .admin-table-head{font-size:10px;letter-spacing:.2px}.report-detail-table .admin-table-row{font-size:12px}.report-detail-table .admin-table-row b{white-space:nowrap}.metric-positive{color:#16815e;font-weight:700}.metric-warning{color:#c67a24;font-weight:700}.report-no-data{padding:10px}.report-table-footer{margin-top:10px;color:#8b97a8;font-size:11px}.report-empty{text-align:center;color:#78879a;padding:35px}@media(max-width:1050px){.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-chart-grid{grid-template-columns:1fr 1fr}.report-trend-card,.report-hour-card,.report-queue-card{grid-column:1/-1}}@media(max-width:680px){.report-period{flex-wrap:wrap}.report-period-filter{width:100%;margin-left:0}.report-stats{grid-template-columns:1fr 1fr;gap:8px}.report-kpi{padding:12px;gap:8px;min-height:95px}.report-kpi .stat-icon{width:31px;height:31px}.report-kpi strong{font-size:21px}.report-kpi small{font-size:11px}.kpi-note{font-size:10px}.report-chart-grid{grid-template-columns:1fr}.report-trend-card,.report-status-card,.report-hour-card,.report-queue-card{grid-column:1}.report-chart-card{padding:15px;min-height:unset}.status-chart-layout{gap:16px}.status-donut{width:125px;height:125px}.status-legend{gap:8px}.report-detail-card .report-card-heading{align-items:flex-start}.report-detail-card .muted{max-width:250px}.report-toolbar .report-exports{width:100%;display:flex;flex-wrap:wrap}.report-exports .button{flex:1}.queue-performance-stats{gap:8px 13px}}@media print{.report-page{max-width:none;padding:0}.report-page .report-toolbar,.report-page>.admin-header>.button{display:none!important}.report-chart-card,.report-detail-card,.report-kpi{box-shadow:none;-moz-column-break-inside:avoid;break-inside:avoid}.report-chart-grid{grid-template-columns:1fr 1fr}.report-trend-card,.report-hour-card,.report-queue-card{grid-column:1/-1}.report-detail-table{overflow:visible}.report-detail-table .admin-table-head,.report-detail-table .admin-table-row{min-width:0;font-size:9px;gap:3px}.report-period-filter{background:transparent}}.report-page{max-width:1450px;padding-top:38px;padding-bottom:48px}.report-page>.admin-header{margin-bottom:30px}.report-page>.admin-header h1{font-size:32px;letter-spacing:-.8px;color:#18324f}.report-page>.admin-header .muted{margin-top:8px;color:#7a899c}.report-page>.admin-card.report-toolbar{margin-bottom:23px;padding:20px 22px;gap:13px;border-color:#e3eaf2;border-radius:14px;box-shadow:0 6px 20px #173b6608}.report-page .report-toolbar input,.report-page .report-toolbar select{height:42px;border-color:#dce5ef;border-radius:8px}.report-page .report-toolbar .button{min-height:42px}.report-exports{padding-left:12px;border-left:1px solid #e8edf3}.report-period{margin-bottom:18px;padding:0 3px}.report-stats{gap:16px;margin-bottom:20px}.report-kpi{min-height:122px;padding:20px;border-color:#e5ebf2;border-radius:14px;box-shadow:0 5px 16px #173b6608;transition:transform .18s ease,box-shadow .18s ease}.report-kpi:hover{transform:translateY(-2px);box-shadow:0 9px 22px #173b6610}.report-kpi .stat-icon{width:43px;height:43px;border-radius:12px}.report-kpi small{font-size:12px}.report-kpi strong{margin-top:6px;font-size:30px;line-height:1.15}.kpi-note{margin-top:7px}.report-chart-grid{gap:18px}.report-chart-card,.report-detail-card{padding:24px;border:1px solid #e4eaf2;border-radius:15px;box-shadow:0 6px 20px #173b6608}.report-chart-card{min-height:300px}.report-card-heading{align-items:center;margin-bottom:21px;padding-bottom:15px;border-bottom:1px solid #edf1f5}.report-card-heading h2{font-size:18px;letter-spacing:-.2px}.report-trend-card{border-top:3px solid #3987df}.report-status-card{border-top:3px solid #20a779}.report-hour-card{border-top:3px solid #e8a43c}.report-queue-card{border-top:3px solid #6c88b8}.daily-chart{height:207px}.status-chart-layout{gap:clamp(20px,4vw,48px)}.report-hour-card{min-height:270px}.report-hourly-chart{height:170px}.report-detail-card{margin-top:19px}.report-detail-table .admin-table-head{padding:13px 11px;background:#f3f6fa;color:#6e7c90}.report-detail-table .admin-table-row{padding:14px 11px;border-bottom-color:#edf1f5}.report-detail-table .admin-table-row:nth-child(odd){background:#fbfcfe}.report-detail-table .admin-table-row:hover{background:#f1f7fd}.report-table-footer{margin-top:14px;padding-top:13px;border-top:1px solid #edf1f5}.report-empty{margin-top:20px;border-radius:14px}@media(max-width:850px){.report-page{padding:24px 16px 36px}.report-page>.admin-header{margin-bottom:22px}.report-page>.admin-card.report-toolbar{padding:16px;gap:10px}.report-exports{padding-left:0;border-left:0}.report-chart-grid{gap:13px}.report-chart-card,.report-detail-card{padding:18px}}@media(max-width:680px){.report-page>.admin-header h1{font-size:25px}.report-page>.admin-card.report-toolbar{margin-bottom:18px}.report-stats{gap:9px;margin-bottom:14px}.report-kpi{min-height:102px;padding:12px;border-radius:11px}.report-kpi:hover{transform:none}.report-kpi .stat-icon{width:31px;height:31px}.report-kpi strong{font-size:21px}.report-chart-grid{gap:12px}.report-chart-card,.report-detail-card{padding:15px;border-radius:12px}.report-card-heading{margin-bottom:15px;padding-bottom:12px}.report-card-heading h2{font-size:16px}.report-detail-card{margin-top:13px}}.qr-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:0 24px 18px;background:radial-gradient(ellipse at 50% 4%,#e9f3ff 0,#f6f9fd 43%,#f4f7fb)}.qr-top{width:min(100%,1080px);height:78px;flex-shrink:0;margin:0 auto;border-bottom:1px solid #e3eaf2}.qr-brand{display:flex;align-items:center;gap:11px;min-width:0}.qr-brand>span:last-child{min-width:0}.qr-brand b{display:block;max-width:min(65vw,520px);overflow:hidden;color:#203b5a;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.qr-brand small{display:block;margin-top:3px;color:#8794a5;font-size:12px}.qr-top .registration-status{flex-shrink:0;padding:8px 12px;border:1px solid #d6efe5;border-radius:20px;background:#effaf5;color:#18815f;font-size:11px;letter-spacing:.3px}.qr-top .registration-status i{width:7px;height:7px;border-radius:50%;background:#21b483;box-shadow:0 0 0 3px #21b48320}.qr-top .registration-status.paused{border-color:#f3dfd1;background:#fff5ee;color:#aa5d30}.qr-content{width:min(100%,560px);margin:28px auto 0;padding:29px 34px 25px;border:1px solid #e3eaf2;border-radius:21px;background:#fff;box-shadow:0 14px 45px #173a6410;text-align:center}.qr-heading .eyebrow{margin-bottom:8px;color:#4684c2;font-size:10px;letter-spacing:1.6px}.qr-heading h1{max-width:460px;margin:0 auto;color:#183553;font-size:27px;line-height:1.2;letter-spacing:-.6px}.qr-heading>.muted{margin:8px 0 0;color:#7e8da1;font-size:13px;line-height:1.5}.qr-service{display:inline-flex;align-items:center;gap:10px;margin:17px auto 0;padding:8px 14px;border:1px solid #e7eef7;border-radius:11px;background:#f8fbff;text-align:left}.qr-service-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#e8f3ff;color:#2678c9;font-size:17px}.qr-service-options{display:grid;gap:5px}.qr-service small{color:#8a98aa;font-size:9px;font-weight:800;letter-spacing:.7px}.qr-service-options>span{display:flex;align-items:center;gap:7px}.qr-service b{color:#344d69;font-size:13px}.qr-service-options i{color:#d79535;font-size:14px;font-style:normal}.qr-frame{width:min(100%,360px);margin:15px auto 0;padding:10px;border:1px solid #e8edf3;border-radius:16px;background:#fff;box-shadow:0 6px 20px #173a640c}.qr-frame canvas{display:block;width:100%;height:auto;max-width:none;margin:0 auto;image-rendering:pixelated}.qr-countdown{display:flex;align-items:center;justify-content:center;gap:7px;margin:11px 0 0;color:#8290a2;font-size:12px}.qr-countdown-icon{color:#4386ca;font-size:16px}.qr-countdown strong{color:#1674dc;font-variant-numeric:tabular-nums}.qr-direct-link{display:flex;align-items:center;gap:11px;margin:16px auto 0;padding:12px 14px;border:1px solid #e4edf7;border-radius:12px;background:#f7faff;text-align:left}.qr-link-icon{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:9px;background:#e7f2ff;color:#2377c8;font-size:17px}.qr-link-copy{min-width:0;display:grid;gap:3px}.qr-link-copy b{color:#314a66;font-size:12px}.qr-link-copy small{color:#8a97a8;font-size:10px;line-height:1.35}.qr-direct-link>a{flex-shrink:0;margin-left:auto;padding:8px 10px;border-radius:8px;background:#1674dc;color:#fff;font-size:11px;font-weight:750;white-space:nowrap}.qr-direct-link>a span{margin-left:3px}.qr-instructions{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr;align-items:center;gap:4px;margin:18px auto 0}.qr-instructions>div{display:grid;justify-items:center;gap:5px}.qr-instructions>div>span{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#edf5ff;color:#2879c8;font-size:11px;font-weight:800}.qr-instructions small{color:#7d8b9e;font-size:10px;white-space:nowrap}.qr-instructions>i{height:1px;background:#e5ecf4}.qr-content>.paused-banner{margin-top:15px;border:1px solid #f1dfbf;line-height:1.5}.qr-content>.error-message{margin:12px 0 0;font-size:12px}.qr-content>.error-message .text-button{padding:5px}.qr-page>.patient-footer{position:static;margin:auto auto 0;padding:16px 0 0;color:#9aa6b5;font-size:11px}@media(max-width:600px){.qr-page{padding:0 14px 13px}.qr-top{height:68px}.qr-brand{gap:9px}.qr-brand b{max-width:54vw;font-size:13px}.qr-brand small{font-size:10px}.qr-top .registration-status{gap:6px;padding:7px 9px;font-size:9px}.qr-content{width:min(100%,440px);margin:17px auto 0;padding:22px 17px 19px;border-radius:17px}.qr-heading .eyebrow{font-size:9px}.qr-heading h1{max-width:350px;font-size:23px}.qr-heading>.muted{max-width:310px;margin:7px auto 0;font-size:12px}.qr-service{margin-top:13px;padding:7px 11px}.qr-service-icon{width:28px;height:28px}.qr-frame{width:min(100%,330px);margin-top:12px;padding:8px;border-radius:14px}.qr-countdown{font-size:11px}.qr-direct-link{gap:8px;margin-top:13px;padding:10px}.qr-link-icon{width:29px;height:29px}.qr-link-copy b{font-size:11px}.qr-link-copy small{font-size:9px}.qr-direct-link>a{padding:8px;font-size:10px}.qr-instructions{margin-top:15px;grid-template-columns:1fr 15px 1fr 15px 1fr}.qr-instructions small{font-size:9px}.qr-page>.patient-footer{padding-top:12px;font-size:10px}}@media(max-width:370px){.qr-page{padding-right:10px;padding-left:10px}.qr-content{padding:19px 12px 16px}.qr-heading h1{font-size:21px}.qr-brand b{max-width:48vw}.qr-top .registration-status{padding:6px 7px;font-size:8px}.qr-direct-link{gap:6px;padding:8px}.qr-link-icon{width:26px;height:26px}.qr-link-copy small{font-size:8px}.qr-direct-link>a{padding:7px 6px;font-size:9px}.qr-instructions{grid-template-columns:1fr 10px 1fr 10px 1fr}.qr-instructions small{font-size:8px}}@media(max-height:720px)and (min-width:601px){.qr-page{padding-bottom:10px}.qr-top{height:64px}.qr-content{margin-top:12px;padding-top:18px;padding-bottom:16px}.qr-heading h1{font-size:24px}.qr-service{margin-top:10px}.qr-frame{width:250px;margin-top:9px;padding:7px}.qr-frame canvas{max-width:234px}.qr-direct-link{margin-top:10px;padding:9px 12px}.qr-instructions{margin-top:12px}.qr-page>.patient-footer{padding-top:9px}}.brand b{color:#1688c0}.button-primary{background:linear-gradient(110deg,#1688c0,#0874b4)}.side-link.active{box-shadow:inset 3px 0 #f5a623}.patient-icon{background:#fff3dc;color:#df841b}.login-card .clinic-logo-large{margin:0 auto 24px}.sidebar .clinic-logo-small{width:42px;height:42px}.tv-header .clinic-logo-small{width:52px;height:52px}.qr-service-icon{background:#fff1d4;color:#e48118}@media(max-width:760px){.sidebar .clinic-logo-small{width:38px;height:38px}.tv-header .clinic-logo-small{width:42px;height:42px}}@media(max-width:600px){.qr-brand .clinic-logo-small{width:42px;height:42px}}@media(max-width:370px){.qr-brand .clinic-logo-small{width:38px;height:38px}}.tv-page{padding:0 clamp(16px,2.4vw,48px) 20px;background:#eaf0f7}.tv-header{min-height:100px;height:auto;gap:clamp(14px,2vw,30px)}.tv-header .brand{gap:14px}.tv-header .brand b{font-size:20px}.tv-header .brand small{font-size:15px}.tv-title h1{font-size:clamp(23px,1.8vw,32px);line-height:1.2}.tv-title span{font-size:16px}.tv-header .clinic-clock{padding:10px 14px}.tv-header .clinic-clock-date{font-size:13px}.tv-header .clinic-clock time{font-size:25px}.tv-qr-managed{font-size:15px}.tv-queues{gap:clamp(14px,1.5vw,24px);margin:22px 0;align-items:stretch}.tv-queue,.tv-registration-qr{border:2px solid #cbd8e6;box-shadow:0 8px 24px #173b6614}.tv-queue{display:flex;min-width:0;flex-direction:column}.tv-queue-heading{padding:18px 22px;background:#f7faff}.tv-queue-heading .type-chip{padding:9px 13px;font-size:18px}.tv-queue-heading .live-pill{padding:9px 13px;font-size:14px}.tv-current{padding:26px 20px;border-bottom:0;background:linear-gradient(145deg,#173b64,#0d2f53)}.tv-current small{color:#d3e4f7;font-size:17px;letter-spacing:1.3px}.tv-current strong{margin:12px 0;color:#fff;font-size:clamp(72px,7.5vw,126px);line-height:1}.tv-current>span{color:#e1edf9;font-size:21px;font-weight:650}.tv-waiting{flex:1;max-height:min(52vh,560px);overflow:auto;padding:20px 22px}.tv-waiting-heading{margin-bottom:12px}.tv-waiting-heading b{color:#243d5b;font-size:23px}.tv-waiting-heading span{color:#526782;font-size:18px;font-weight:650}.tv-ticket{gap:16px;margin:8px 0;padding:13px 12px;border:1px solid #dfe7f0;border-radius:11px;background:#f7f9fc}.tv-ticket>span{width:35px;height:35px;border-color:#b9c9dc;background:#fff;color:#38536f;font-size:17px;font-weight:750}.tv-ticket b{color:#203c5c;font-size:clamp(25px,2vw,36px);line-height:1.1}.tv-ticket small{color:#536982;font-size:14px}.tv-ticket:first-child{border:2px solid #83c9ad;background:#e9f7f1}.tv-ticket:first-child>span{border-color:#31936e;background:#31936e;color:#fff}.tv-ticket:first-child b,.tv-ticket:first-child small{color:#17684d}.tv-queue .empty-state{display:grid;min-height:130px;place-items:center;border:1px dashed #cbd8e6;border-radius:12px;background:#f7f9fc;color:#536982;font-size:20px}.tv-recent{flex-wrap:wrap;padding:0 22px 20px}.tv-recent small{color:#536982;font-size:14px}.tv-recent span{padding:8px 12px;border:1px solid #d9e3ee;background:#eef3f8;color:#304a67;font-size:17px}.tv-registration-qr{justify-content:center;padding:20px}.tv-registration-qr .eyebrow{font-size:14px}.tv-registration-qr h3{font-size:22px}.tv-registration-qr .inline-qr-image{width:min(100%,320px)}.tv-registration-qr .inline-qr-countdown,.tv-registration-qr .inline-qr-link{font-size:15px}.tv-registration-qr .inline-qr-closed>span{font-size:18px}.tv-registration-qr .inline-qr-closed small,.tv-clinic-contact.clinic-contact-links{font-size:15px}.tv-footer{flex-wrap:wrap;gap:8px 20px;padding-top:16px;color:#536982;font-size:15px}.patient-card h1{font-size:32px}.patient-card>.muted{font-size:17px;line-height:1.5}.patient-card .ticket-status{font-size:17px}.patient-card .patient-current{padding:18px;border:1px solid #dce5ef}.patient-card .patient-current small{font-size:14px}.patient-card .patient-current strong{font-size:32px}.patient-card .privacy-note{color:#65758a;font-size:14px}.qr-heading .eyebrow,.qr-service small{font-size:12px}.qr-heading h1{font-size:32px}.qr-heading>.muted{font-size:16px}.qr-service b{font-size:16px}.qr-countdown,.qr-instructions small,.qr-page .clinic-contact-links{font-size:14px}@media(max-width:1100px){.tv-queues.has-registration-qr{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-registration-qr{grid-column:1 / -1}}@media(max-width:760px){.tv-page{padding:0 12px 16px}.tv-header{min-height:82px;gap:8px 12px}.tv-title h1{font-size:20px}.tv-header .clinic-clock{padding:7px 9px}.tv-header .clinic-clock-date{font-size:10px}.tv-header .clinic-clock time{font-size:19px}.tv-queues.has-registration-qr{grid-template-columns:minmax(0,1fr)}.tv-registration-qr{grid-column:auto}.tv-current{padding:20px 14px}.tv-current small{font-size:14px}.tv-current strong{font-size:clamp(72px,19vw,108px)}.tv-current>span{font-size:18px}.tv-waiting{max-height:45vh;padding:16px}.tv-waiting-heading b{font-size:20px}.tv-waiting-heading span{font-size:15px}.tv-ticket b{font-size:26px}.tv-footer{justify-content:center;font-size:13px;text-align:center}.patient-card h1,.qr-heading h1{font-size:27px}}
