:root{--ink:#142244;--muted:#7b87a2;--line:#e7ebf4;--bg:#f5f7fc;--white:#fff;--navy:#111b3c;--purple:#6657e8;--teal:#11a99d;--orange:#f5a249;--red:#f06770;--shadow:0 12px 45px rgba(27,42,87,.045)}
*{box-sizing:border-box}body{margin:0;font-family:'DM Sans','Segoe UI',Arial,sans-serif;color:var(--ink);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{text-decoration:none;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a9a3f9;outline-offset:2px}svg{display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,.brand-text{font-family:'Plus Jakarta Sans','Segoe UI',sans-serif}small{font-size:11px}.app-body{background:var(--bg);min-height:100vh}
/* layouts */
.shell{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:#111c3a;color:#c4cce0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;box-shadow:8px 0 30px rgba(10,25,50,.02);z-index:5}.brand{padding:30px 25px 28px;display:flex;align-items:center;gap:11px;color:#fff}.brand-mark,.brand-symbol{height:38px;width:38px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:white;font-size:22px;font-weight:800;background:linear-gradient(145deg,#33c9b8,#7771f1);box-shadow:0 10px 24px rgba(76,111,241,.28)}.brand-text{font-size:20px;font-weight:800;letter-spacing:-.8px}.brand-text b,.brand-accent{color:#4bd7c2}.sidebar-label{font-size:10px;font-weight:800;letter-spacing:2px;color:#74809e;padding:21px 25px 12px}.nav-stack{display:grid;gap:5px;padding:0 12px}.nav-btn{border:0;background:transparent;color:#aab5d0;display:flex;align-items:center;gap:13px;padding:13px 16px;text-align:left;border-radius:12px;font-weight:700;font-size:13px;transition:background .2s,color .2s}.nav-btn:hover{background:#213055;color:#fff}.nav-btn.active{background:linear-gradient(95deg,#544de2,#6962e8);color:#fff;box-shadow:0 7px 18px rgba(90,83,222,.25)}.nav-btn svg{opacity:.88}.nav-count{margin-left:auto;display:grid;place-items:center;background:rgba(255,255,255,.16);color:white;font-size:11px;font-weight:800;min-width:22px;height:22px;border-radius:30px}.sidebar-bottom{margin-top:auto;padding:16px}.sidebar-tip{padding:17px;border-radius:16px;background:linear-gradient(145deg,#263a6a,#28335b);color:#fff}.sidebar-tip .tip-icon{width:34px;height:34px;background:#fff2;border-radius:10px;display:grid;place-items:center;margin-bottom:9px}.sidebar-tip strong{font-size:13px}.sidebar-tip p{color:#b6c4e1;font-size:11px;line-height:1.65;margin:6px 0 0}.side-user{padding:22px 7px 5px;display:flex;align-items:center;gap:10px}.avatar{display:grid;place-items:center;background:#e8eaff;color:#6661df;border-radius:13px;width:38px;height:38px;flex-shrink:0;font-weight:800}.side-user .avatar{color:#fff;background:#4b5b88}.user-meta{min-width:0}.user-meta strong{color:#fff;display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta span{font-size:11px;color:#91a2c5;text-transform:capitalize}.logout-btn{border:0;background:none;color:#b8c3dc;margin-left:auto;padding:5px}
.main{flex:1;min-width:0}.topbar{height:85px;border-bottom:1px solid #eaedf5;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:16px}.crumbs{display:flex;align-items:center;gap:11px}.crumbs .crumb-icon{color:#756df0}.crumbs strong{font-weight:800}.crumbs span{color:#a9b1c5}.top-actions{display:flex;align-items:center;gap:13px}.live-pill{display:flex;align-items:center;gap:7px;border-radius:30px;border:1px solid #d9f4e7;padding:8px 11px;font-weight:800;font-size:11px;color:#248f69;background:#f0fff6}.live-pill i,.online-dot{height:7px;width:7px;border-radius:50%;background:#22c58d;box-shadow:0 0 0 4px #26b9851c}.top-date{color:#7d88a0;font-size:12px;font-weight:700}.top-clock{font-size:13px;font-weight:800;background:#f1f3fa;padding:10px 13px;border-radius:12px}.content{max-width:1500px;margin:0 auto;padding:33px 38px 60px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:25px}.page-heading .eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:800;color:#7266e7;margin-bottom:8px}.page-heading h1{font-size:29px;letter-spacing:-1px;line-height:1.2;margin:0 0 8px;font-weight:800}.page-heading p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.page-heading .heading-side{display:flex;gap:10px;align-items:center}.btn{border:0;padding:11px 17px;border-radius:11px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;transition:transform .14s,box-shadow .14s,background .14s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{background:#6258e8;color:#fff;box-shadow:0 6px 17px rgba(99,89,233,.17)}.btn-primary:hover{background:#554bdb;box-shadow:0 9px 24px rgba(99,89,233,.25)}.btn-teal{background:#11a99d;color:#fff;box-shadow:0 6px 17px #0fb5a225}.btn-teal:hover{background:#078e83}.btn-soft{background:#f1efff;color:#6157d9}.btn-slate{background:#f0f3fa;color:#495677}.btn-outline{border:1px solid #dbe0ee;background:#fff;color:#4d5a7b}.btn-danger{background:#ffeff0;color:#df5261}.btn-wide{width:100%;justify-content:space-between}.btn-xl{font-size:15px;padding:17px 24px;border-radius:14px}.btn-sm{padding:8px 11px;border-radius:9px;font-size:11px}.btn-ghost{padding:8px;background:transparent;color:#9ba5bc}.btn-ghost:hover{background:#f1f2fb}.card{border:1px solid #e9edf6;background:#fff;border-radius:20px;box-shadow:var(--shadow)}.card-pad{padding:24px}.section-title{font-size:16px;letter-spacing:-.3px;font-weight:800;margin:0}.section-sub{color:var(--muted);font-size:12px;margin:7px 0 0}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-card{border:1px solid #edf0f7;background:#fff;border-radius:18px;padding:21px 22px;min-height:135px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.stat-card .stat-ico{height:38px;width:38px;border-radius:12px;display:grid;place-items:center;margin-bottom:14px}.stat-card.purple .stat-ico{background:#eeecff;color:#7868dc}.stat-card.teal .stat-ico{background:#e1faf4;color:#0da592}.stat-card.orange .stat-ico{background:#fff2e4;color:#e59b3f}.stat-card.pink .stat-ico{background:#fff0f2;color:#e97591}.stat-card .stat-value{font:800 29px 'Plus Jakarta Sans',sans-serif;letter-spacing:-1px;margin-bottom:4px}.stat-card .stat-label{font-weight:700;color:#8490a6;font-size:12px}.stat-card:before{content:'';width:110px;height:110px;position:absolute;right:-60px;top:-50px;border-radius:50%;background:radial-gradient(circle,#6f69e812,transparent)}
.hero-banner{border-radius:21px;min-height:176px;background:linear-gradient(111deg,#5149c9,#6b66df 55%,#8d7eef);overflow:hidden;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:29px 31px;position:relative;margin-bottom:25px}.hero-banner:before,.hero-banner:after{position:absolute;content:'';width:245px;height:245px;border:1px solid #ffffff32;border-radius:50%;right:40px;top:-121px}.hero-banner:after{right:-70px;top:20px;width:220px;height:220px}.hero-banner .eyebrow{color:#c5c1ff;letter-spacing:1.7px;font-weight:800;font-size:10px;margin-bottom:10px}.hero-banner h2{font-size:24px;max-width:510px;line-height:1.33;letter-spacing:-.6px;margin:0 0 10px}.hero-banner p{color:#e1dfff;font-size:12px;max-width:470px;margin:0;line-height:1.6}.hero-art{display:flex;align-items:center;gap:7px;margin-right:35px;z-index:1}.hero-art span{background:#fff2;color:#fff;border:1px solid #fff5;border-radius:13px;padding:17px 19px;font-size:13px;font-weight:800}.hero-art i{height:2px;width:27px;background:#c4bfff}.split-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:21px}.flow-steps{display:flex;align-items:stretch;gap:8px;margin-top:20px}.flow-step{flex:1;border:1px solid #eaeef7;border-radius:14px;padding:17px 12px;text-align:center;position:relative}.flow-step .step-number{margin:0 auto 9px;height:35px;width:35px;display:grid;place-items:center;border-radius:11px;background:#efedff;color:#655ce6;font-weight:900}.flow-step:nth-child(2) .step-number{background:#e4faf5;color:#12ac99}.flow-step:nth-child(3) .step-number{background:#ffefe1;color:#eea047}.flow-step strong{display:block;font-size:12px}.flow-step span{display:block;color:#8490a6;font-size:10px;line-height:1.5;margin-top:5px}.queue-snapshot{display:grid;gap:13px;margin-top:8px}.queue-line{display:flex;align-items:center;justify-content:space-between;gap:16px}.queue-line span{font-size:12px;color:#79869f}.queue-line strong{font-size:12px}.progress-bar{height:8px;border-radius:99px;overflow:hidden;background:#f1f3f8;margin-top:6px}.progress-bar i{height:100%;background:#675eeb;border-radius:99px;display:block}.muted{color:var(--muted)}.inline-link{border:0;color:#6258e8;background:none;font-size:12px;font-weight:800;padding:0}.divider{border:0;border-top:1px solid var(--line);margin:20px 0}.pill{border-radius:100px;padding:7px 10px;font-size:10px;font-weight:800;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.pill.wait{background:#fff2e6;color:#da8b38}.pill.nurse{background:#eaf9f8;color:#0c9a8c}.pill.doctor{background:#eeeaff;color:#695bda}.pill.done{background:#eff9f2;color:#339b61}.pill.gray{background:#f2f4f8;color:#748097}.tag{background:#f2f3fa;padding:6px 10px;border-radius:9px;color:#64718c;font-size:11px;font-weight:700}.token-code{font-weight:900;color:#6055db;font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:-.35px}.token-code.lg{font-size:28px}.token-strong{font-weight:800;font-size:15px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:560px}.data-table th{text-align:left;font-size:10px;letter-spacing:1px;color:#a1abc0;text-transform:uppercase;font-weight:800;background:#fafbfe;padding:15px 17px}.data-table td{padding:16px 17px;border-top:1px solid #eff1f6;font-size:12px;vertical-align:middle}.data-table tr:hover td{background:#fcfcff}.data-table td.name-cell{font-weight:800}.data-table td span.secondary{display:block;font-size:10px;font-weight:500;color:#9da7bb;margin-top:4px}.td-actions{display:flex;align-items:center;gap:7px}.table-empty{text-align:center!important;color:#9aa5b9!important;padding:38px!important}
/* reception */
.register-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(460px,1.4fr);gap:22px}.issue-card{padding:28px;background:linear-gradient(150deg,#fff 60%,#f7f5ff);align-self:start}.issue-symbol{height:53px;width:53px;border-radius:17px;background:linear-gradient(145deg,#655af1,#9387f7);color:white;display:grid;place-items:center;box-shadow:0 12px 30px #7569eb30;margin-bottom:22px}.issue-card h2{font-size:21px;letter-spacing:-.6px;margin:0 0 7px}.issue-card p{font-size:12px;color:#8a95aa;line-height:1.7;margin-bottom:25px}.form-label{display:block;font-size:11px;font-weight:800;color:#64718c;margin-bottom:9px}.field{border:1px solid #dfe5ef;background:#fff;border-radius:12px;width:100%;height:46px;padding:0 14px;color:#26334e;outline:none;transition:border-color .14s,box-shadow .14s}.field:focus{border-color:#857cf1;box-shadow:0 0 0 4px #7f77ec18;outline:none}.field::placeholder{color:#b5bfd0}.issue-card .field{height:54px;font-size:15px;margin-bottom:13px}.issued-inline{display:flex;align-items:center;gap:12px;background:#ecfaf6;border:1px solid #c9ece3;border-radius:13px;padding:12px;margin:-7px 0 19px}.issued-inline strong{font:800 22px 'Plus Jakarta Sans',sans-serif;color:#079b87}.issued-inline span{flex:1;font-size:11px;color:#148b76;font-weight:800}.issued-inline small{display:block;color:#729f91;font-weight:500;margin-top:3px}.issued-inline .btn{background:#fff}.help-note{display:flex;align-items:start;gap:9px;color:#7e8ba2;background:#f7f9fd;border-radius:11px;padding:13px;margin-top:18px;font-size:11px;line-height:1.7}.help-note svg{flex-shrink:0;color:#26ab99;margin-top:1px}.filter-input{height:38px;border:1px solid #e3e8f2;border-radius:10px;background:#fbfcfe;padding:0 12px;width:240px;font-size:12px}.filter-input:focus{outline:none;border-color:#756dea}.queue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:15px}.patient-card{padding:19px 19px 16px;position:relative;overflow:hidden;transition:box-shadow .2s,transform .2s}.patient-card:hover{box-shadow:0 16px 35px #15245612;transform:translateY(-2px)}.patient-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.patient-card .patient-name{font-size:15px;font-weight:800;overflow-wrap:anywhere;margin-bottom:5px}.patient-card .patient-time{font-size:11px;color:#96a3b8}.patient-card .patient-bottom{display:flex;align-items:center;gap:8px;justify-content:flex-end;border-top:1px solid #eff1f7;padding-top:15px;margin-top:18px}.patient-meta{color:#93a1b6;font-size:11px;line-height:1.7;min-height:24px}.patient-card.is-called{border-color:#ace3d8;background:linear-gradient(150deg,#fff,#f4fffb)}.empty-state{padding:48px 30px;text-align:center;border:1px dashed #dce2ef;border-radius:17px;color:#8a96ac;background:#fcfdff}.empty-state .empty-ico{width:62px;height:62px;margin:0 auto 16px;display:grid;place-items:center;border-radius:18px;background:#f0efff;color:#786bf0}.empty-state h3{color:#31405e;font-size:15px;margin-bottom:8px}.empty-state p{font-size:12px;max-width:340px;margin:0 auto;line-height:1.6}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 17px}.section-bar h2{font-size:16px;letter-spacing:-.4px;margin:0}.section-bar small{color:#97a3b9}.section-bar .section-heading{display:flex;align-items:center;gap:9px}.count-bubble{background:#eceafe;color:#695bd4;padding:5px 9px;border-radius:30px;font-size:11px;font-weight:800}.nurse-controls{display:flex;align-items:center;gap:10px}.doctor-selector{height:36px;max-width:100%;border:1px solid #e0e4ee;color:#52617e;background:#fff;border-radius:9px;padding:0 9px;font-size:11px;font-weight:700}.nurse-card .patient-bottom{flex-wrap:wrap}.nurse-card .patient-bottom .doctor-selector{flex:1;min-width:130px}.doctor-current{padding:24px;border-radius:19px;background:linear-gradient(130deg,#15aa9d,#0a948b);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;position:relative;overflow:hidden}.doctor-current:after{content:'';width:180px;height:180px;position:absolute;border-radius:50%;right:-75px;top:-92px;border:35px solid #ffffff18}.doctor-current .eyebrow{color:#c2fff1;font-size:10px;font-weight:800;letter-spacing:1.4px}.doctor-current .current-code{font-size:44px;font-weight:900;letter-spacing:-2px;font-family:'Plus Jakarta Sans',sans-serif;margin:6px 0}.doctor-current .current-name{font-weight:700;color:#edfffd;font-size:13px}.doctor-current .btn{position:relative;z-index:1}.role-help{padding:13px 16px;border-radius:13px;background:#eef0ff;color:#6b61b0;font-size:12px;margin:0 0 22px;display:flex;gap:10px;align-items:center;line-height:1.5}.role-help.teal{background:#eafaf5;color:#298576}.role-help.orange{background:#fff6eb;color:#b8813d}.role-help svg{flex-shrink:0}
/* admin settings / forms */
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-card{padding:25px}.settings-card h3{font-size:16px;margin:0 0 6px}.settings-card p{font-size:12px;color:#8d98ac;line-height:1.6;margin-bottom:22px}.form-row{display:grid;gap:7px;margin-bottom:18px}.form-row label{font-size:11px;font-weight:800;color:#67738d}.form-hint{color:#a0a9bc;font-size:10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.staff-form{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.staff-form .form-row{margin:0}.staff-form .span2{grid-column:span 2}.staff-badge{border-radius:8px;background:#f2f0ff;color:#7163d8;padding:5px 8px;font-size:10px;font-weight:800;text-transform:capitalize}.staff-badge.nurse{background:#e3faf7;color:#098f82}.staff-badge.doctor{background:#fff1e2;color:#dd8d34}.staff-badge.reception{background:#eaf1ff;color:#5471d0}.key-link{padding:15px;border-radius:12px;border:1px dashed #cbd4e8;background:#fafbff;color:#61708c;font-size:11px;line-height:1.65;overflow-wrap:anywhere;margin-bottom:12px}.security-tip{font-size:11px;color:#9da7ba;line-height:1.6;margin:9px 0 0}.activity-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #f0f2f7;padding:15px 0}.activity-dot{height:34px;width:34px;flex-shrink:0;border-radius:11px;display:grid;place-items:center;background:#eeebff;color:#7167e1}.activity-row strong{font-size:12px;display:block}.activity-row p{margin:4px 0 0;font-size:11px;color:#8c98b0}.activity-row time{margin-left:auto;font-size:11px;color:#9aa5b9;white-space:nowrap}
/* overlays */
.overlay{z-index:99;position:fixed;inset:0;background:#101c39a3;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:24px;max-width:450px;width:100%;box-shadow:0 30px 95px #09122f3a;padding:28px;max-height:92vh;overflow-y:auto}.modal h2{font-size:22px;letter-spacing:-.6px;margin:0 0 8px}.modal p{color:#8793a9;font-size:13px;line-height:1.6}.modal-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:20px}.token-receipt{text-align:center;padding:8px 0 0}.receipt-icon{width:59px;height:59px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#e2faf1;color:#0fa887}.receipt-code{font:900 61px 'Plus Jakarta Sans',sans-serif;letter-spacing:-3px;color:#6257e4;margin:16px 0 8px}.receipt-name{color:#25344f;font-weight:800;font-size:15px}.receipt-caption{color:#8793a9;font-size:11px;margin-top:7px}.receipt-path{display:flex;justify-content:center;gap:9px;align-items:center;margin:18px 0;border-radius:10px;background:#f7f8fc;padding:12px;color:#687591;font-size:10px;font-weight:800}.receipt-path b{color:#796eea}.token-modal-actions{display:flex;gap:9px;margin-top:22px}.token-modal-actions .btn{flex:1}.notice{border-radius:11px;padding:13px 15px;margin:15px 0;font-size:12px;line-height:1.5}.notice.error{background:#fff0f1;color:#c84051}.notice.success{background:#e9f9f2;color:#158461}.toast-wrap{position:fixed;right:25px;bottom:24px;z-index:200;display:grid;gap:10px}.toast{padding:15px 19px;border-radius:12px;color:#fff;background:#24355d;box-shadow:0 15px 38px #111a3e2b;font-size:12px;font-weight:800;animation:toastIn .2s ease;min-width:240px;max-width:400px}.toast.error{background:#e95468}.toast.success{background:#168d80}@keyframes toastIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.boot-loader{height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:#7f8eaf;font-weight:700}.spinner{height:20px;width:20px;border:3px solid #ebeaff;border-top-color:#6258e8;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mobile-bar{display:none}
/* auth and installer */
.auth-body{min-height:100vh;background:#f8f9fd;display:flex;justify-content:center;align-items:center;padding:20px}.auth-shell{width:min(1020px,100%);min-height:615px;display:grid;grid-template-columns:1.02fr 1fr;border-radius:27px;background:#fff;overflow:hidden;box-shadow:0 22px 90px #22285216}.auth-showcase{background:linear-gradient(145deg,#121d45,#263579);color:white;padding:43px 42px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-showcase .install-brand{color:#fff;position:relative;z-index:1}.showcase-glow{position:absolute;width:460px;height:460px;border-radius:50%;background:#705bee33;right:-200px;top:90px;box-shadow:0 0 160px 50px #7071df20}.showcase-message{position:relative;z-index:1}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.7px;color:#7163e0}.eyebrow.light{color:#95e4d8}.showcase-message h1{font-size:54px;letter-spacing:-2.5px;line-height:1.18;margin:15px 0 17px}.showcase-message h1 em{font-style:normal;color:#66ddc7}.showcase-message p{font-size:13px;color:#bdc9ec;line-height:1.8;max-width:360px}.showcase-progress{display:flex;gap:9px;align-items:center;margin-top:33px}.showcase-progress span{font-size:11px;font-weight:800;background:#ffffff16;border:1px solid #ffffff20;padding:10px;border-radius:9px;white-space:nowrap}.showcase-progress i{width:12px;height:2px;background:#8d9fce}.showcase-footer{color:#8391bd;font-size:10px;font-weight:800;letter-spacing:1px}.auth-panel{display:flex;align-items:center;padding:45px}.auth-panel-inner{width:100%;max-width:340px;margin:auto}.auth-panel h2{font-size:27px;letter-spacing:-.9px;margin:10px 0}.auth-panel p{color:#9aa4b7;font-size:13px;margin-bottom:32px}.login-form label,.install-form label{display:grid;gap:9px;color:#6b7893;font-size:11px;font-weight:800;margin-bottom:19px}.login-form input,.install-form input{border:1px solid #e0e5ef;border-radius:11px;padding:13px 14px;outline:none;width:100%;background:#fff;color:#1b2a49}.login-form input:focus,.install-form input:focus{border-color:#7b70ed;box-shadow:0 0 0 4px #eceaff}.login-form .btn{padding:14px 16px;margin-top:8px}.login-security{font-size:10px;color:#a9b4c7;line-height:1.7;margin-top:30px}.install-brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-.8px}.install-shell{background:white;border:1px solid #e9edf5;border-radius:24px;max-width:700px;width:100%;padding:38px;box-shadow:0 15px 60px #1b28531c}.install-shell h1{font-size:28px;margin:25px 0 7px}.install-shell>p{color:#8290a9;line-height:1.6;font-size:13px}.install-form h3{font-size:12px;letter-spacing:.5px;color:#534bd3;margin:24px 0 13px}.install-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.install-form label small{color:#a5aec0}.auth-foot{color:#a0abc0;font-size:11px;margin-top:17px;line-height:1.5}
/* display */
.display-body{background:#08132d;color:white;font-family:'Plus Jakarta Sans',sans-serif;overflow-x:hidden;min-height:100vh}.display-shell{min-height:100vh;padding:28px 42px 26px;display:flex;flex-direction:column;background:radial-gradient(circle at 75% 30%,#24336d 0%,#101c40 35%,#09122c 75%)}.display-top{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:26px;border-bottom:1px solid #ffffff19}.display-title{font-size:26px;font-weight:800;letter-spacing:-1px;display:flex;gap:12px;align-items:center}.display-title b{color:#60decb}.display-title .brand-mark{width:38px;height:38px}.display-tools{display:flex;gap:12px;align-items:center}.display-clock{font-size:19px;font-weight:700}.display-date{font-size:12px;color:#9daed8}.display-tool{background:#ffffff15;border:1px solid #ffffff25;color:#e9ecff;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:800}.display-main{flex:1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.65fr);gap:25px;padding:25px 0}.now-box{border:1px solid #ffffff1f;border-radius:26px;background:linear-gradient(135deg,#182a5b,#192453);padding:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.now-box:before{content:'';width:370px;height:370px;border-radius:50%;position:absolute;top:-220px;left:-100px;background:#797aff18}.now-eyebrow{font-size:13px;font-weight:800;letter-spacing:3px;color:#93c6ff}.now-token{font-size:clamp(85px,13vw,188px);font-weight:800;letter-spacing:-.075em;line-height:1.22;margin:21px 0;color:#fff;text-shadow:0 22px 38px #070d2666}.now-token.active{color:#75ecdc}.now-destination{padding:16px 26px;border-radius:14px;background:#ffffff11;border:1px solid #ffffff20;font-size:clamp(17px,2vw,28px);font-weight:800;text-align:center}.now-help{font-size:13px;color:#a9b9da;margin-top:22px;text-align:center}.now-latest{font-size:12px;color:#adc2ed;letter-spacing:1px;font-weight:800;margin-bottom:18px}.recent-box{padding:27px 25px;border-radius:25px;background:#ffffff0d;border:1px solid #ffffff22;display:flex;flex-direction:column}.recent-heading{font-size:20px;font-weight:800;margin:0 0 24px}.recent-list{display:grid;align-content:start;gap:13px}.recent-item{display:flex;align-items:center;justify-content:space-between;padding:18px;border-radius:15px;background:#ffffff10;gap:15px}.recent-item strong{font-size:26px;font-weight:900;color:white}.recent-item .dest{font-size:12px;font-weight:800;color:#d0daf4;text-align:right;line-height:1.5}.recent-item small{font-size:10px;color:#95a6d3;display:block;margin-top:5px}.display-bottom{padding:17px 0 0;border-top:1px solid #ffffff15;font-size:12px;color:#94a9d3;display:flex;align-items:center;justify-content:space-between;gap:15px}.display-bottom strong{color:#80e7cc}
@media(max-width:1100px){.sidebar{width:218px}.content{padding:28px 25px 50px}.topbar{padding:0 24px}.stats-grid{gap:12px}.stat-card{padding:17px}.split-grid{grid-template-columns:1fr}.register-grid{grid-template-columns:1fr}.issue-card{max-width:none}.hero-art{margin-right:0}}
@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;width:min(295px,90%);height:100vh;transform:translateX(-102%);transition:transform .2s;box-shadow:10px 0 30px #1a24552f;z-index:30}.shell.nav-open .sidebar{transform:translateX(0)}.mobile-bar{display:flex;align-items:center;gap:13px}.mobile-menu{background:#f0efff;color:#6257e6;border:0;height:38px;width:38px;border-radius:12px;display:grid;place-items:center}.topbar{height:70px;padding:0 15px}.crumbs{display:none}.top-date{display:none}.content{padding:24px 15px 45px}.page-heading{align-items:start}.page-heading h1{font-size:25px}.stats-grid{grid-template-columns:repeat(2,1fr)}.hero-banner{padding:24px;min-height:185px}.hero-art{display:none}.flow-steps{flex-direction:column}.flow-step{text-align:left;display:flex;gap:12px;align-items:center}.flow-step .step-number{margin:0}.flow-step span{margin-top:0}.register-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-showcase{min-height:300px;padding:28px}.showcase-message h1{font-size:38px}.showcase-message p,.showcase-progress,.showcase-footer{display:none}.auth-panel{padding:35px 25px}.display-shell{padding:18px}.display-main{grid-template-columns:1fr;gap:16px}.now-box{padding:24px 15px;min-height:290px}.recent-box{padding:20px}.display-title{font-size:18px}.display-clock{font-size:15px}.display-tools{gap:6px}.display-date{display:none}.display-tool{padding:8px}.recent-item{padding:13px}.display-bottom{flex-direction:column;align-items:flex-start}.install-form .form-grid{grid-template-columns:1fr}.install-shell{padding:24px}}
@media(max-width:420px){.stats-grid{gap:10px}.stat-card{padding:15px;min-height:122px}.stat-card .stat-value{font-size:26px}.page-heading{flex-direction:column;align-items:stretch}.page-heading .heading-side{display:flex;justify-content:flex-start}.two-col,.staff-form{grid-template-columns:1fr}.staff-form .span2{grid-column:span 1}.hero-banner h2{font-size:20px}.doctor-current{flex-wrap:wrap}.nurse-controls{flex-wrap:wrap}.display-title{font-size:14px}.display-title .brand-mark{display:none}.display-tool{font-size:10px}.now-token{font-size:77px}.token-modal-actions{flex-direction:column}}

/* v1.1 — clearly assigned doctor at registration, autosaving receptionist routing */
.doctor-create-select{margin:0 0 18px!important;min-height:54px;font-size:13px!important;font-weight:750;background:#fafaff!important;border-color:#cbc9fa!important}
.reassignment-select{width:100%;min-width:175px;max-width:260px;background:#f7f6ff;border:1px solid #dad6ff;color:#4c43a9;font-weight:800;font-size:11px;min-height:37px}
.reassignment-select:focus{outline:3px solid #ddd9ff}
.reassignment-select:disabled{opacity:.6}
.auto-save-hint{display:flex;align-items:center;gap:4px;margin:5px 0 0 3px;font-size:9px;font-weight:700;color:#17a58a;white-space:nowrap}
.assigned-doctor{display:flex;align-items:center;gap:10px;border:1px solid #d9ece8;background:#f0fcf9;color:#1c7f70;border-radius:12px;padding:11px 13px;margin:17px 0 0;min-height:65px}
.assigned-doctor svg{flex-shrink:0}
.assigned-doctor small{display:block;font-size:9px;color:#71a69c;font-weight:800;letter-spacing:.75px;margin-bottom:4px}
.assigned-doctor strong{display:block;font-size:12px;color:#176c61;overflow-wrap:anywhere}
.assigned-doctor span{display:block;font-size:10px;color:#6d958e;margin-top:2px}
.assigned-doctor.needs-doctor{border-color:#f5d4c7;background:#fff5f0;color:#af5f33}
.assigned-doctor.needs-doctor strong{color:#af5f33}
.missing-doctors{background:#fff3e9;border:1px solid #f4d8c1;color:#ae6840!important;padding:12px;border-radius:10px;margin:0 0 18px!important;font-size:11px!important}
@media(max-width:700px){.reassignment-select{min-width:180px}.auto-save-hint{white-space:normal}.doctor-create-select{width:100%}}

.reception-table th,.reception-table td{padding:13px 10px}
.reception-table th:nth-child(3){min-width:190px}
.reception-table .td-actions{gap:5px}
.reception-table .td-actions .btn{padding:8px;min-width:32px;display:inline-flex;justify-content:center}


/* ClinicFlow 1.2 — viewport workspace: no document scrolling, usable nested queues */
html:has(.app-body), body.app-body {height:100%;width:100%;overflow:hidden;}
.app-body #app{height:100dvh;min-height:0;overflow:hidden;}
.app-body .shell{height:100dvh;min-height:0;overflow:hidden;display:flex;}
.app-body .sidebar{height:100dvh;min-height:0;position:relative;width:214px;flex:0 0 214px;overflow-y:auto;overscroll-behavior:contain;}
.app-body .brand{padding:19px 18px 14px;}
.app-body .brand-mark{height:34px;width:34px;border-radius:11px;}
.app-body .sidebar-label{padding:17px 16px 8px;font-size:9px;}
.app-body .nav-stack{padding:0 10px;gap:4px;}
.app-body .nav-btn{padding:10px 12px;gap:11px;border-radius:10px;font-size:12px;min-height:40px;}
.app-body .sidebar-bottom{padding:10px;}
.app-body .sidebar-tip{padding:12px;border-radius:12px;}
.app-body .sidebar-tip .tip-icon{display:none;}
.app-body .sidebar-tip p{margin-top:3px;line-height:1.4;}
.app-body .side-user{padding:12px 4px 2px;}
.app-body .main{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;flex:1;}
.app-body .topbar{flex:0 0 59px;height:59px;padding:0 23px;}
.app-body .content{width:100%;max-width:1650px;margin:0 auto;flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:16px 21px 19px;gap:0;}
.app-body .page-heading{flex:0 0 auto;min-height:51px;margin:0 0 13px;align-items:center;gap:12px;}
.app-body .page-heading .eyebrow{font-size:9px;letter-spacing:1.45px;margin:0 0 3px;}
.app-body .page-heading h1{font-size:22px;line-height:1.2;letter-spacing:-.65px;margin:0 0 3px;}
.app-body .page-heading p{font-size:11px;line-height:1.35;}
.app-body .card{border-radius:15px;}
.app-body .card-pad{padding:17px;}
.app-body .btn{padding:9px 13px;}
.app-body .btn-xl{padding:12px 16px;font-size:13px;min-height:44px;}
.app-body .btn-sm{padding:7px 9px;}
.app-body .stats-grid{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 12px;}
.app-body .stat-card{min-height:87px;padding:14px 16px;border-radius:15px;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:10px;align-content:center;}
.app-body .stat-card .stat-ico{grid-column:1;grid-row:1/3;margin:0;width:37px;height:37px;border-radius:11px;}
.app-body .stat-card .stat-value{grid-column:2;grid-row:1;font-size:25px;line-height:1.12;margin:0;}
.app-body .stat-card .stat-label{grid-column:2;grid-row:2;font-size:10px;line-height:1.2;margin-top:3px;}
.app-body .role-help{flex:0 0 auto;margin:0 0 12px;padding:9px 12px;font-size:11px;line-height:1.4;}
.app-body .role-help svg{width:15px;height:15px;}
.app-body .section-bar{margin:0 0 10px;min-height:35px;flex:0 0 auto;}
.app-body .section-bar h2{font-size:14px;}
.app-body .section-title{font-size:14px;}
.app-body .section-sub{font-size:11px;line-height:1.3;}
.app-body .hero-banner{flex:0 0 auto;min-height:96px;margin:0 0 12px;padding:16px 23px;border-radius:16px;}
.app-body .hero-banner h2{font-size:20px;margin:0 0 5px;max-width:none;}
.app-body .hero-banner p{font-size:11px;max-width:none;}
.app-body .hero-art span{padding:10px 12px;border-radius:10px;}
.app-body .split-grid{flex:1;min-height:0;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:12px;overflow:hidden;}
.app-body .split-grid >.card{min-height:0;overflow:auto;}
.app-body .flow-steps{margin-top:11px;gap:8px;}
.app-body .flow-step{padding:11px 8px;}
.app-body .flow-step .step-number{width:28px;height:28px;margin-bottom:6px;font-size:11px;}
.app-body .queue-snapshot{gap:9px;margin-top:0;}
.app-body .card-heading{margin:0 0 12px;}

/* Reception: form permanently visible left; patient table only scrolls inside right panel */
.app-body .register-grid{display:grid;flex:1;min-height:0;grid-template-columns:minmax(295px,31%) minmax(0,1fr);gap:14px;overflow:hidden;}
.app-body .issue-card{min-height:0;height:100%;align-self:stretch;padding:21px 22px;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;}
.app-body .issue-symbol{height:37px;width:37px;margin:0 0 10px;border-radius:11px;box-shadow:none;}
.app-body .issue-card h2{font-size:18px;margin:0 0 5px;}
.app-body .issue-card >p{margin:0 0 14px;line-height:1.4;font-size:11px;}
.app-body .issue-card form{display:flex;flex-direction:column;}
.app-body .issue-card .form-label{font-size:10px;margin:0 0 6px;}
.app-body .issue-card .field,.app-body .issue-card .doctor-create-select{height:43px!important;min-height:43px!important;font-size:13px!important;margin:0 0 13px!important;}
.app-body .issue-card .help-note{font-size:10px;line-height:1.42;padding:11px;margin:14px 0 0;}
.app-body .issued-inline{margin:0 0 12px;padding:10px;}
.app-body .reception-list{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;}
.app-body .reception-list .section-bar{margin:0 0 10px!important;}
.app-body #receptionTable{flex:1;min-height:0;min-width:0;overflow:hidden;}
.app-body #receptionTable>.card{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden!important;}
.app-body #receptionTable .table-wrap{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;}
.app-body .data-table{min-width:660px;}
.app-body .data-table thead th{position:sticky;top:0;z-index:2;background:#f8f9fd;box-shadow:0 1px 0 #e8ebf3;}
.app-body .reception-table th,.app-body .reception-table td{padding:10px 9px;}
.app-body .reassignment-select{min-height:34px;height:34px;}
.app-body .auto-save-hint{font-size:9px;margin:3px 0 0 3px;}
.app-body .filter-input{width:min(245px,43%);height:34px;}
.app-body .empty-state{padding:22px 16px;}
.app-body .empty-state .empty-ico{width:44px;height:44px;margin-bottom:9px;}

/* Nursing: both stages side by side, independent scroll panes */
.app-body .nursing-columns{display:grid;flex:1;min-height:0;grid-template-columns:1fr 1fr;gap:13px;overflow:hidden;}
.app-body .queue-panel{display:flex;flex-direction:column;min-height:0;min-width:0;border:1px solid #e5eaf3;background:linear-gradient(180deg,#fff,#fdfdff);border-radius:16px;padding:14px;box-shadow:var(--shadow);overflow:hidden;}
.app-body .queue-panel .section-bar{margin:0 0 11px;}
.app-body .queue-panel .queue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));align-content:start;gap:10px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1px 4px 7px 1px;scrollbar-gutter:stable;}
.app-body .queue-panel>.empty-state{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;}
.app-body .patient-card{padding:13px 15px 12px;border-radius:13px;}
.app-body .patient-card .patient-top{margin:0 0 7px;}
.app-body .patient-card .patient-name{font-size:13px;margin:0 0 3px;}
.app-body .patient-card .patient-time{font-size:10px;}
.app-body .patient-card .patient-bottom{margin-top:10px;padding-top:9px;}
.app-body .patient-card .token-code.lg{font-size:23px;}
.app-body .patient-card .pill{padding:5px 8px;font-size:9px;}
.app-body .nurse-card .assigned-doctor{min-height:46px;margin:10px 0 0;padding:8px 10px;border-radius:10px;}
.app-body .nurse-card .assigned-doctor small{font-size:8px;margin-bottom:2px;}
.app-body .nurse-card .assigned-doctor strong{font-size:11px;}
.app-body .nurse-card .patient-bottom{justify-content:flex-start;}
.app-body .nurse-card .patient-bottom .btn-teal{margin-left:auto;}

/* Doctor: active call and compact status in one row; waiting cards scroll inside queue */
.app-body .doctor-overview{display:grid;flex:0 0 auto;grid-template-columns:minmax(230px,1fr) minmax(0,2.25fr);gap:11px;margin-bottom:12px;min-height:100px;}
.app-body .doctor-overview .doctor-current{height:100%;min-height:105px;margin:0;padding:13px 17px;border-radius:15px;}
.app-body .doctor-overview .doctor-current .current-code{font-size:35px;line-height:1.05;margin:2px 0;}
.app-body .doctor-overview .doctor-current .current-name{font-size:11px;}
.app-body .doctor-overview .doctor-current .eyebrow{font-size:9px;}
.app-body .doctor-current.is-idle{background:linear-gradient(130deg,#3b4d7a,#5e6494);}
.app-body .doctor-overview .stats-grid{margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.app-body .doctor-overview .stat-card{min-height:48px;padding:8px 11px;grid-template-columns:31px 1fr;column-gap:8px;border-radius:11px;}
.app-body .doctor-overview .stat-card .stat-ico{width:27px;height:27px;border-radius:8px;}
.app-body .doctor-overview .stat-card .stat-ico svg{height:15px;width:15px;}
.app-body .doctor-overview .stat-card .stat-value{font-size:18px;}
.app-body .doctor-overview .stat-card .stat-label{font-size:9px;margin:1px 0 0;}
.app-body .doctor-queue-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e6eaf5;border-radius:15px;background:white;padding:13px 14px;}
.app-body .doctor-queue-panel>.section-bar{margin:0 0 10px;}
.app-body .doctor-queue-panel>.queue-grid{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;align-content:start;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:11px;padding:2px 3px 8px 1px;}
.app-body .doctor-queue-panel>.empty-state{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0;}

/* Settings and staff: a fixed workspace with independently scrollable configuration area */
.app-body .content>.settings-grid{flex:1;min-height:0;overflow-y:auto;align-content:start;gap:12px;overscroll-behavior:contain;padding:0 3px 8px 0;}
.app-body .settings-card{padding:17px;}
.app-body .settings-card>p{margin:0 0 13px;}
.app-body .form-row{margin-bottom:12px;}
.app-body #activityRows{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;}
.app-body .activity-row{padding:10px 0;}

/* TV display uses the screen too; recent calls scroll only within the side panel */
.display-body{height:100dvh;min-height:0;overflow:hidden;}
.display-shell{height:100dvh;min-height:0;overflow:hidden;padding:15px 24px;}
.display-top{padding-bottom:14px;flex-shrink:0;}
.display-main{min-height:0;overflow:hidden;padding:14px 0;gap:15px;}
.now-box{min-height:0;padding:18px;}
.now-token{font-size:clamp(58px,min(11vw,21vh),155px);margin:10px 0;}
.now-help{margin-top:9px;}
.recent-box{min-height:0;overflow:hidden;padding:18px;}
.recent-heading{margin-bottom:11px;}
.recent-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;gap:8px;}
.recent-item{padding:11px;}
.display-bottom{flex-shrink:0;padding-top:11px;}

@media(max-width:1150px){
 .app-body .sidebar{width:185px;flex-basis:185px;}
 .app-body .sidebar-tip{display:none;}
 .app-body .content{padding:13px 15px 16px;}
 .app-body .register-grid{grid-template-columns:minmax(260px,33%) minmax(0,1fr);gap:11px;}
 .app-body .stat-card{padding:10px;grid-template-columns:34px 1fr;column-gap:7px;}
 .app-body .stat-card .stat-ico{width:31px;height:31px;}
 .app-body .split-grid{grid-template-columns:1.15fr 1fr;}
}
@media(max-height:730px) and (min-width:761px){
 .app-body .topbar{height:51px;flex-basis:51px;}
 .app-body .content{padding-top:9px;padding-bottom:10px;}
 .app-body .page-heading{margin-bottom:9px;min-height:44px;}
 .app-body .page-heading h1{font-size:19px;}
 .app-body .page-heading p{font-size:10px;}
 .app-body .hero-banner{min-height:77px;padding:11px 20px;margin-bottom:9px;}
 .app-body .hero-banner h2{font-size:17px;margin-bottom:3px;}
 .app-body .stats-grid{margin-bottom:9px;}
 .app-body .stat-card{min-height:70px;}
 .app-body .role-help{margin-bottom:9px;padding:7px 10px;}
 .app-body .issue-card{padding:15px 17px;}
 .app-body .issue-symbol{display:none;}
 .app-body .issue-card .help-note{margin-top:10px;}
 .app-body .doctor-overview{min-height:88px;}
 .app-body .doctor-overview .doctor-current{min-height:88px;}
 .app-body .doctor-overview .stat-card{min-height:40px;padding:5px 9px;}
}
@media(max-width:760px){
 .app-body .shell{display:flex;}
 .app-body .sidebar{position:fixed;top:0;left:0;height:100dvh;width:min(290px,86vw);flex-basis:auto;transform:translateX(-105%);z-index:50;}
 .app-body .shell.nav-open .sidebar{transform:translateX(0);}
 .app-body .main{width:100%;}
 .app-body .topbar{height:54px;flex-basis:54px;padding:0 12px;}
 .app-body .content{padding:9px 10px 10px;}
 .app-body .page-heading{margin-bottom:9px;min-height:39px;}
 .app-body .page-heading h1{font-size:18px;margin:0;}
 .app-body .page-heading .eyebrow,.app-body .page-heading p{display:none;}
 .app-body .page-heading .heading-side .btn{padding:8px 10px;font-size:11px;}
 .app-body .top-clock{font-size:11px;padding:7px 9px;}
 .app-body .live-pill{padding:6px 9px;}
 .app-body .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:8px;}
 .app-body .stat-card{display:flex;flex-direction:column;align-items:start;min-height:65px;padding:7px 7px;gap:2px;border-radius:11px;}
 .app-body .stat-card .stat-ico{display:none;}
 .app-body .stat-card .stat-value{font-size:20px;}
 .app-body .stat-card .stat-label{font-size:9px;line-height:1.16;}
 .app-body .register-grid{display:flex;flex-direction:column;gap:8px;min-height:0;}
 .app-body .issue-card{flex:0 0 auto;height:auto;padding:10px 13px;overflow:visible;}
 .app-body .issue-symbol,.app-body .issue-card>p,.app-body .issue-card .help-note,.app-body .issued-inline{display:none;}
 .app-body .issue-card h2{font-size:13px;margin-bottom:7px;}
 .app-body .issue-card form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px 8px;align-items:end;}
 .app-body .issue-card .form-label{font-size:9px;margin:0;}
 .app-body .issue-card .form-label[for="patientName"]{grid-column:1;grid-row:1;}
 .app-body .issue-card #patientName{grid-column:1;grid-row:2;}
 .app-body .issue-card .form-label[for="newTokenDoctor"]{grid-column:2;grid-row:1;}
 .app-body .issue-card #newTokenDoctor{grid-column:2;grid-row:2;}
 .app-body .issue-card .field,.app-body .issue-card .doctor-create-select{height:35px!important;min-height:35px!important;padding:0 8px;margin:0!important;font-size:11px!important;}
 .app-body .issue-card .btn-xl{grid-column:1/3;min-height:34px;padding:7px 11px;font-size:11px;border-radius:9px;}
 .app-body .reception-list{flex:1;min-height:0;}
 .app-body .reception-list .section-bar{min-height:30px;margin:0 0 5px!important;}
 .app-body .reception-table th,.app-body .reception-table td{padding:7px;}
 .app-body .nursing-columns{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:7px;}
 .app-body .queue-panel{padding:9px;border-radius:12px;}
 .app-body .queue-panel .section-bar{min-height:25px;margin-bottom:5px;}
 .app-body .queue-panel .queue-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:7px;}
 .app-body .role-help{display:none;}
 .app-body .doctor-overview{grid-template-columns:1fr;min-height:0;gap:7px;margin-bottom:8px;}
 .app-body .doctor-overview .doctor-current{min-height:75px;padding:10px 13px;}
 .app-body .doctor-overview .doctor-current .current-code{font-size:26px;}
 .app-body .doctor-overview .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
 .app-body .doctor-overview .stat-card{min-height:42px;display:flex;padding:7px;}
 .app-body .doctor-queue-panel{padding:10px;}
 .app-body .doctor-queue-panel>.queue-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));}
 .app-body .hero-banner{min-height:65px;padding:11px 13px;margin-bottom:8px;}
 .app-body .hero-banner h2{font-size:15px;line-height:1.25;margin:0;}
 .app-body .hero-banner p,.app-body .hero-banner .eyebrow{display:none;}
 .app-body .split-grid{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:8px;}
 .app-body .flow-steps{margin-top:7px;}
 .app-body .flow-step{flex:1;text-align:center;padding:6px;display:flex;flex-direction:column;}
 .app-body .flow-step span{display:none;}
 .app-body .settings-grid{grid-template-columns:1fr;}
 .display-shell{padding:10px;}
 .display-main{grid-template-columns:1fr;grid-template-rows:2fr 1fr;gap:7px;padding:8px 0;}
 .now-box{min-height:0;padding:10px;}
 .now-token{font-size:clamp(58px,15vw,125px);margin:4px 0;}
 .recent-box{min-height:0;padding:10px;}
 .recent-list{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));}
 .recent-heading{font-size:14px;margin-bottom:5px;}
 .recent-item{padding:7px;}
 .recent-item strong{font-size:15px;}
 .display-top{padding-bottom:8px;}
 .display-bottom{padding-top:6px;font-size:10px;}
}
@media(max-width:420px){
 .app-body .page-heading{flex-direction:row;align-items:center;justify-content:space-between;}
 .app-body .page-heading .heading-side{flex:0 0 auto;align-items:center;}
 .app-body .page-heading h1{font-size:16px;}
 .app-body .page-heading .tag{padding:5px 7px;font-size:9px;}
 .app-body .top-actions{gap:6px;}
 .app-body .nurse-card .patient-bottom .btn-teal{margin-left:0;}
 .app-body .nurse-card .patient-bottom{flex-wrap:wrap;}
 .app-body .doctor-current{flex-wrap:nowrap;}
 .app-body .reception-list .filter-input{width:42%;min-width:0;font-size:10px;padding:0 7px;}
}
@media(max-height:540px){
 .app-body .page-heading p,.app-body .issue-card>p,.app-body .issue-card .help-note{display:none;}
 .app-body .hero-banner{display:none;}
 .app-body .role-help{display:none;}
 .app-body .sidebar-tip{display:none;}
}
/* Ensure overflowing queues keep their natural row height instead of clipping card actions. */
.app-body .queue-panel .queue-grid,.app-body .doctor-queue-panel>.queue-grid{grid-auto-rows:max-content;}
@media(max-width:760px){
 /* All essential reception actions fit in each mobile patient row, without horizontal table panning. */
 .app-body #receptionTable .table-wrap{overflow-y:auto;overflow-x:hidden;}
 .app-body .reception-table{width:100%;min-width:0!important;display:block;}
 .app-body .reception-table thead{display:none;}
 .app-body .reception-table tbody{display:block;}
 .app-body .reception-table tbody tr{display:grid;grid-template-columns:65px minmax(0,1fr) 66px;grid-template-areas:"token patient actions" "doctor doctor doctor" "status status created";gap:4px 7px;padding:9px 11px;border-bottom:1px solid #e9ecf4;align-items:center;}
 .app-body .reception-table td{border:0!important;padding:0!important;min-width:0;}
 .app-body .reception-table td:nth-child(1){grid-area:token;}
 .app-body .reception-table td:nth-child(2){grid-area:patient;font-size:12px;}
 .app-body .reception-table td:nth-child(3){grid-area:doctor;}
 .app-body .reception-table td:nth-child(4){grid-area:status;}
 .app-body .reception-table td:nth-child(5){grid-area:created;justify-self:end;color:#8190a8;font-size:10px;}
 .app-body .reception-table td:nth-child(6){grid-area:actions;justify-self:end;}
 .app-body .reception-table .reassignment-select{width:100%;max-width:none;min-width:0;height:34px;}
 .app-body .reception-table .auto-save-hint{display:none;}
 .app-body .reception-table .td-actions{gap:2px;}
 .app-body .reception-table .td-actions .btn{padding:5px;min-width:28px;}
 .app-body .reception-table .token-code{font-size:12px;}
 .app-body .reception-table .pill{padding:4px 7px;font-size:9px;}
 .app-body .reception-table .table-empty{grid-column:1/4;}
}

/* ClinicFlow 1.3 — spacious, task-first screens: no miniature dashboard controls. */
.app-body{--v13-violet:#5d50dc;--v13-text:#14264b;--v13-sub:#76859f;background:#f2f5fb;color:var(--v13-text);font-size:15px}
.app-body .shell{height:100dvh;overflow:hidden}
.app-body .sidebar{width:200px;flex-basis:200px;background:#121f3f;border-right:1px solid #27365a;overflow:hidden}
.app-body .brand{padding:27px 18px 26px;gap:11px}
.app-body .brand-mark{width:41px;height:41px;border-radius:13px;font-size:27px}
.app-body .brand-text{font-size:21px}
.app-body .sidebar-label{font-size:11px;padding:0 21px 14px;color:#8a9aba;letter-spacing:1.7px}
.app-body .nav-stack{padding:0 10px;gap:8px}
.app-body .nav-btn{min-height:50px;padding:13px 15px;gap:12px;font-size:15px;border-radius:13px;font-weight:700}
.app-body .nav-btn svg{width:21px;height:21px;flex-shrink:0}
.app-body .nav-count{font-size:11px}
.app-body .sidebar-bottom{padding:13px 10px 19px}
.app-body .sidebar-tip{display:none}
.app-body .side-user{padding:12px 6px 0;border-top:1px solid #ffffff1c}
.app-body .side-user .user-meta strong{font-size:13px}
.app-body .topbar{height:66px;flex:0 0 66px;padding:0 28px;background:#fff;border-bottom:1px solid #e3e9f3}
.app-body .v13-clinic-name{font-weight:800;font-size:18px;letter-spacing:-.4px}
.app-body .top-clock{font-size:17px;font-weight:800;color:#233257}
.app-body .top-date{font-size:14px;color:#65738d}
.app-body .live-pill{font-size:11px;padding:7px 10px}
.app-body .content{max-width:none;min-width:0;flex:1;padding:22px 25px 22px;overflow:hidden;gap:0}
.app-body .page-heading{min-height:64px;margin-bottom:17px;align-items:center;gap:12px}
.app-body .page-heading h1{font-size:29px;line-height:1.1;letter-spacing:-1px;margin:3px 0 3px;font-weight:800}
.app-body .page-heading .eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:850;color:#6658de;margin:0}
.app-body .page-heading p{font-size:13px;line-height:1.3;color:#7a879e;margin:0}
.app-body .v13-heading-count{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e3e7f1;border-radius:12px;padding:11px 14px;font-weight:800;font-size:14px;color:#445272;white-space:nowrap}
.app-body .btn:disabled,.app-body button:disabled{opacity:.5}
.app-body .v13-reception{display:grid;grid-template-columns:minmax(325px,365px) minmax(0,1fr);gap:17px;flex:1;min-height:0;overflow:hidden}
.app-body .v13-compose,.app-body .v13-queue-surface,.app-body .v13-stage-panel,.app-body .v13-doctor-queue{min-height:0;min-width:0;border:1px solid #e3e8f2;box-shadow:0 10px 28px #14234b08;background:#fff;border-radius:22px;overflow:hidden}
.app-body .v13-compose{display:flex;flex-direction:column;padding:26px 25px 16px}
.app-body .v13-panel-title{display:flex;align-items:center;gap:14px;margin-bottom:29px}
.app-body .v13-title-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;flex-shrink:0;background:#eeeaff;color:#5e51db}
.app-body .v13-panel-title h2{font-size:21px;letter-spacing:-.6px;margin:0 0 4px;font-weight:850}
.app-body .v13-panel-title p{font-size:13px;line-height:1.4;margin:0;color:#7a879d}
.app-body .v13-create-form{display:flex;flex-direction:column;gap:0}
.app-body .v13-create-form label{font-size:14px;font-weight:800;color:#253754;margin:0 0 9px}
.app-body .v13-create-form .field,.app-body .v13-create-form .doctor-create-select{height:55px!important;min-height:55px!important;margin:0 0 23px!important;padding:0 16px!important;border:1.5px solid #dce3f1!important;border-radius:12px!important;font-size:16px!important;font-weight:600;background:#f9faff!important;color:#1d2c4b;box-shadow:none;max-width:100%;min-width:0}
.app-body .v13-create-form .field:focus{border-color:#786cf3!important;background:#fff!important}
.app-body .v13-generate{width:100%;height:58px;min-height:58px;font-weight:850;font-size:16px;gap:10px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#6254e6;box-shadow:0 9px 18px #6654e333}
.app-body .v13-generate svg:last-child{margin-left:auto}
.app-body .v13-last-token{margin-top:24px;border:1px solid #d8f1e9;background:#f0fbf7;border-radius:15px;padding:15px}
.app-body .v13-last-token>span{font-size:10px;font-weight:850;letter-spacing:1.5px;color:#218270}
.app-body .v13-last-token>div{display:flex;align-items:center;gap:12px;margin-top:8px}
.app-body .v13-last-token>div>strong{font-size:28px;color:#0d967e}
.app-body .v13-last-token>div>div{min-width:0;flex:1;display:grid;gap:4px}
.app-body .v13-last-token b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-body .v13-last-token small{color:#6d8291;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-body .v13-tip{display:flex;align-items:flex-start;gap:10px;margin-top:28px;padding:14px 13px;background:#f0faf8;border:1px solid #d4f0e9;border-radius:13px;color:#287f73;font-size:13px;line-height:1.4}
.app-body .v13-tip svg{flex-shrink:0}
.app-body .v13-compose-foot{display:flex;align-items:center;gap:7px;font-size:12px;color:#8591a7;margin-top:auto;padding-top:20px}
.app-body .v13-queue-surface{display:flex;flex-direction:column}
.app-body .v13-queue-head{padding:23px 23px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;border-bottom:1px solid #edf0f6}
.app-body .v13-queue-head h2{font-size:21px;margin:0 0 6px;font-weight:850;white-space:nowrap;letter-spacing:-.5px}
.app-body .v13-queue-head h2 span,.app-body .v13-doctor-queue header h2 span{display:inline-grid;place-items:center;min-width:30px;height:30px;margin-left:7px;padding:0 7px;background:#eeebff;border-radius:9px;color:#6a5ee5;font-size:13px}
.app-body .v13-queue-head p{margin:0;color:#8893a7;font-size:12px}
.app-body .v13-search{display:flex;align-items:center;gap:9px;border:1px solid #e0e6f1;background:#f8faff;border-radius:11px;height:45px;width:206px;padding:0 12px;flex-shrink:0;color:#7b88a3}
.app-body .v13-search input{border:0;background:transparent;outline:none;width:100%;min-width:0;font-size:13px;color:#1c2c50}
.app-body #receptionTable{flex:1;min-height:0;overflow:hidden}
.app-body .v13-patients{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px 11px 12px}
.app-body .v13-patient-row{display:grid;grid-template-columns:74px minmax(125px,1fr) minmax(170px,1.1fr) 90px;gap:10px;align-items:center;min-height:97px;padding:13px 12px;border-bottom:1px solid #edf0f6;background:#fff}
.app-body .v13-patient-row:last-child{border-bottom:0}
.app-body .v13-patient-id{font-size:19px;color:#6455df;font-weight:850;letter-spacing:-.4px}
.app-body .v13-patient-who{min-width:0}
.app-body .v13-patient-who strong{display:block;font-weight:800;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px}
.app-body .v13-patient-who>span{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.app-body .v13-patient-who small{font-size:11px;color:#8793a9}
.app-body .v13-patient-who .pill{font-size:10px;font-weight:750;padding:6px 9px;line-height:1.2;white-space:nowrap}
.app-body .v13-doc-field{display:flex;flex-direction:column;min-width:0;gap:6px}
.app-body .v13-doc-field label{font-size:11px;color:#8490a4;font-weight:700}
.app-body .v13-doc-field .reassignment-select{margin:0;min-height:45px;height:45px;min-width:0;width:100%;max-width:100%;background:#f6f5ff;border:1px solid #dcd9ff;color:#453ab2;font-weight:750;font-size:12px;border-radius:11px;padding:0 10px}
.app-body .v13-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.app-body .v13-icon-btn{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;background:#f1f4fa;border:1px solid #e8edf5;color:#667692;border-radius:11px}
.app-body .v13-icon-btn:hover{background:#e8ecfc}
.app-body .v13-icon-btn.danger{color:#df5462;background:#fff0f1;border-color:#ffe7e9}
.app-body .v13-stage-panes{display:grid;grid-template-columns:1fr 1fr;gap:18px;flex:1;min-height:0;overflow:hidden}
.app-body .v13-stage-panel{display:flex;flex-direction:column}
.app-body .v13-stage-header{height:102px;min-height:102px;display:flex;align-items:center;gap:13px;padding:21px;border-bottom:1px solid #ebeff5}
.app-body .v13-stage-dot{width:12px;height:12px;background:#f5a04a;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 6px #fff4e8}
.app-body .v13-stage-dot.teal{background:#10ad9b;box-shadow:0 0 0 6px #e9f9f5}
.app-body .v13-stage-header>div:nth-child(2){min-width:0;flex:1}
.app-body .v13-stage-header h2{font-size:22px;line-height:1.1;font-weight:850;letter-spacing:-.5px;margin:0 0 7px}
.app-body .v13-stage-header p{font-size:13px;line-height:1.3;color:#8792a6;margin:0}
.app-body .v13-stage-number{background:#fff0df;color:#dc8a32;font-size:20px;min-width:46px;height:46px;display:grid;place-items:center;border-radius:13px}
.app-body .v13-stage-number.teal{background:#e9f9f6;color:#029581}
.app-body .v13-stage-list{flex:1;min-height:0;overflow:auto;padding:12px;overscroll-behavior:contain}
.app-body .v13-queue-item{display:grid;grid-template-columns:83px minmax(0,1fr);gap:0 13px;align-items:center;padding:16px 14px;margin-bottom:12px;border:1px solid #e6eaf3;border-radius:15px;background:#fff}
.app-body .v13-queue-id{display:grid;place-items:center;height:69px;background:#f1edff;border-radius:13px;color:#6254db;font-size:23px;font-weight:850;white-space:nowrap}
.app-body .v13-queue-id.teal{background:#e5f9f5;color:#039985}
.app-body .v13-queue-info{min-width:0}
.app-body .v13-person-name{font-size:18px;font-weight:850;line-height:1.2;margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-body .v13-destination{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:650;color:#52617f;min-width:0}
.app-body .v13-destination span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-body .v13-destination svg{flex-shrink:0}
.app-body .v13-queue-info small{display:block;font-size:11px;color:#8793a9;margin-top:7px}
.app-body .v13-queue-actions{grid-column:1/-1;display:grid;grid-template-columns:125px minmax(0,1fr);gap:10px;margin-top:15px}
.app-body .v13-queue-actions button{min-height:45px;border-radius:11px;font-size:14px;font-weight:800;display:flex;justify-content:center;align-items:center;gap:7px}
.app-body .v13-call-btn{color:#574bd2;background:#eeebff;border:1px solid #e4dfff}
.app-body .v13-forward-btn{background:#0ea993;color:white;border:1px solid #0a9d89}
.app-body .v13-header-action{font-size:15px;font-weight:800;display:flex;align-items:center;gap:9px;min-height:48px;padding:11px 17px!important;border-radius:12px;background:#5d50df;color:white;white-space:nowrap}
.app-body .v13-page-nursing .v13-header-action{background:#119d8f}
.app-body .v13-doctor-layout{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(0,1.25fr);gap:18px;flex:1;min-height:0;overflow:hidden}
.app-body .v13-current-call{background:linear-gradient(152deg,#5249cd 0%,#6459e6 65%,#786af5 100%);color:#fff;border-radius:23px;padding:27px 29px;display:flex;align-items:flex-start;flex-direction:column;min-height:0;position:relative;overflow:hidden}
.app-body .v13-current-call:after{content:"";position:absolute;right:-120px;top:35%;border:50px solid #ffffff13;border-radius:50%;width:240px;height:240px;pointer-events:none}
.app-body .v13-onair{font-size:13px;letter-spacing:1.5px;font-weight:850;display:flex;align-items:center;gap:9px;color:#eeeaff}
.app-body .v13-onair i{width:10px;height:10px;border-radius:50%;background:#50e1bc;box-shadow:0 0 0 5px #ffffff23}
.app-body .v13-big-token{font-size:clamp(72px,8vw,125px);line-height:1;font-weight:900;letter-spacing:-6px;margin:58px 0 20px}
.app-body .v13-current-call h2{font-size:27px;font-weight:800;line-height:1.2;letter-spacing:-.6px;margin:0 0 10px}
.app-body .v13-current-call p{font-size:15px;color:#dfdbff;margin:0 0 25px}
.app-body .v13-recall{background:white;color:#5f50d9;min-height:52px;padding:12px 20px;border-radius:12px;font-size:15px;font-weight:850;display:flex;align-items:center;gap:9px}
.app-body .v13-idle-icon{width:95px;height:95px;border:1px solid #ffffff55;background:#ffffff15;border-radius:28px;display:grid;place-items:center;margin:54px 0 24px}
.app-body .v13-current-bottom{display:flex;gap:40px;margin-top:auto;padding-top:25px;border-top:1px solid #ffffff38;width:100%}
.app-body .v13-current-bottom>div{display:flex;flex-direction:column;gap:4px}
.app-body .v13-current-bottom strong{font-size:30px;font-weight:850;line-height:1.1}
.app-body .v13-current-bottom span{font-size:13px;color:#dedbff}
.app-body .v13-doctor-queue{display:flex;flex-direction:column}
.app-body .v13-doctor-queue>header{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:20px 21px;border-bottom:1px solid #ebeff6;flex-shrink:0}
.app-body .v13-doctor-queue header h2{font-size:20px;font-weight:850;letter-spacing:-.4px;margin:0 0 6px}
.app-body .v13-doctor-queue header p{font-size:13px;color:#8190a6;margin:0}
.app-body .v13-doctor-list{flex:1;min-height:0;overflow:auto;padding:11px 17px;overscroll-behavior:contain}
.app-body .v13-doctor-row{display:flex;align-items:center;gap:15px;min-height:98px;border-bottom:1px solid #edf0f6;padding:11px 4px}
.app-body .v13-doctor-id{display:grid;place-items:center;min-width:80px;height:65px;background:#f0edff;border-radius:13px;color:#6254df;font-size:22px;font-weight:850;letter-spacing:-.3px}
.app-body .v13-doctor-name{flex:1;min-width:0;display:grid;gap:7px}
.app-body .v13-doctor-name strong{font-size:17px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-body .v13-doctor-name span{font-size:12px;color:#8995aa}
.app-body .v13-doc-call{flex-shrink:0;display:flex;align-items:center;gap:7px;min-height:45px;background:#6254df;color:#fff;padding:11px 16px;border-radius:11px;font-size:14px;font-weight:850}
.app-body .v13-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;flex:0 0 auto;margin-bottom:19px}
.app-body .v13-stat{min-height:155px;border-radius:20px;background:#fff;border:1px solid #e3e9f3;display:flex;align-items:center;gap:17px;padding:23px}
.app-body .v13-stat-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#f0edff;color:#6859e2;flex-shrink:0}
.app-body .v13-stat.teal .v13-stat-icon{background:#e4f9f6;color:#00a48c}
.app-body .v13-stat.orange .v13-stat-icon{background:#fff1df;color:#d58c38}
.app-body .v13-stat.green .v13-stat-icon{background:#e8f8eb;color:#36a66a}
.app-body .v13-stat-number{font-size:37px;line-height:1;font-weight:900;display:block;margin-bottom:9px}
.app-body .v13-stat-label{font-size:13px;color:#73819a;font-weight:700}
.app-body .v13-dashboard-bottom{flex:1;min-height:0;display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.app-body .v13-route-card,.app-body .v13-dash-actions{background:#fff;border:1px solid #e5e9f2;border-radius:22px;padding:29px;overflow:auto}
.app-body .v13-overline{font-size:11px;letter-spacing:1.8px;font-weight:850;color:#6d5ee1;margin-bottom:13px}
.app-body .v13-dashboard-bottom h2{font-size:25px;letter-spacing:-.6px;margin:0 0 8px}
.app-body .v13-dashboard-bottom p{font-size:14px;line-height:1.45;color:#8190a5;margin:0 0 24px}
.app-body .v13-flow-line{display:grid;gap:18px}
.app-body .v13-flow-item{display:flex;gap:16px;align-items:center}
.app-body .v13-flow-item>span{width:49px;height:49px;background:#eeeaff;color:#6254dd;display:grid;place-items:center;border-radius:13px;font-size:16px;font-weight:850}
.app-body .v13-flow-item>div{display:grid;gap:3px}
.app-body .v13-flow-item b{font-size:16px}
.app-body .v13-flow-item small{font-size:13px;color:#8190a5}
.app-body .v13-quick-btn{display:flex;align-items:center;gap:12px;width:100%;border:1px solid #e6e7fa;background:#f7f6ff;border-radius:13px;min-height:57px;margin-bottom:11px;padding:12px 15px;font-size:16px;color:#403b9e;text-align:left}
.app-body .v13-quick-btn strong{flex:1}
.app-body .v13-quick-btn:hover{background:#edeaff}
.app-body .v13-page-staff,.app-body .v13-page-settings,.app-body .v13-page-activity{overflow:hidden}
.app-body .v13-page-staff>.settings-grid,.app-body .v13-page-settings>.settings-grid{overflow:auto;min-height:0;flex:1}
.app-body .v13-page-staff .settings-card h3,.app-body .v13-page-settings .settings-card h3{font-size:19px}
.app-body .v13-admin-select{min-height:44px;font-size:14px;font-weight:750}
@media(max-width:1180px) and (min-width:761px){
 .app-body .sidebar{width:180px;flex-basis:180px}
 .app-body .content{padding:18px 16px}
 .app-body .v13-reception{grid-template-columns:305px minmax(0,1fr);gap:12px}
 .app-body .v13-compose{padding:21px 17px}
 .app-body .v13-patient-row{grid-template-columns:64px minmax(90px,1fr) 155px 76px;gap:6px;padding:10px 7px}
 .app-body .v13-patient-who strong{font-size:14px}
 .app-body .v13-patient-who .pill{font-size:9px}
 .app-body .v13-doc-field .reassignment-select{font-size:11px}
 .app-body .v13-queue-head{padding:16px}
 .app-body .v13-queue-head p{display:none}
 .app-body .v13-search{width:154px}
 .app-body .v13-stage-panes{gap:12px}
 .app-body .v13-stage-header{padding:17px}
 .app-body .v13-stage-header h2{font-size:19px}
 .app-body .v13-queue-item{grid-template-columns:70px minmax(0,1fr);gap:10px;padding:12px 10px}
 .app-body .v13-queue-id{font-size:19px;height:63px}
 .app-body .v13-person-name{font-size:16px}
 .app-body .v13-stat{padding:15px;gap:10px}
 .app-body .v13-stat-icon{width:45px;height:45px}
 .app-body .v13-stat-number{font-size:30px}
}
@media(max-height:730px) and (min-width:761px){
 .app-body .topbar{height:56px;flex-basis:56px}
 .app-body .content{padding-top:13px;padding-bottom:14px}
 .app-body .page-heading{min-height:53px;margin-bottom:11px}
 .app-body .page-heading h1{font-size:25px}
 .app-body .v13-panel-title{margin-bottom:18px}
 .app-body .v13-compose{padding-top:18px}
 .app-body .v13-create-form .field,.app-body .v13-create-form .doctor-create-select{margin-bottom:15px!important;height:50px!important;min-height:50px!important}
 .app-body .v13-generate{min-height:52px;height:52px}
 .app-body .v13-stage-header{height:82px;min-height:82px}
 .app-body .v13-current-call{padding:20px 22px}
 .app-body .v13-big-token{margin-top:29px}
 .app-body .v13-stats .v13-stat{min-height:112px}
 .app-body .v13-dashboard-bottom p{margin-bottom:12px}
}
@media(max-width:760px){
 .app-body .sidebar{width:min(310px,90vw);flex-basis:auto;position:fixed;height:100dvh;transform:translateX(-105%);overflow:auto;z-index:30}
 .app-body .shell.nav-open .sidebar{transform:translateX(0)}
 .app-body .topbar{height:58px;flex-basis:58px;padding:0 15px}
 .app-body .v13-clinic-name{display:none}
 .app-body .top-date{display:none}
 .app-body .top-clock{font-size:15px}
 .app-body .content{padding:12px;gap:0}
 .app-body .page-heading{min-height:50px;margin-bottom:10px}
 .app-body .page-heading h1{font-size:24px}
 .app-body .page-heading p{font-size:11px;line-height:1.2}
 .app-body .page-heading .eyebrow{font-size:9px}
 .app-body .v13-heading-count{padding:7px 8px;font-size:11px}
 .app-body .v13-reception{display:flex;flex-direction:column;gap:10px;overflow:hidden}
 .app-body .v13-compose{flex:0 0 auto;padding:12px 15px;border-radius:16px}
 .app-body .v13-panel-title{margin:0 0 10px}
 .app-body .v13-title-icon{width:36px;height:36px;border-radius:10px}
 .app-body .v13-title-icon svg{height:17px;width:17px}
 .app-body .v13-panel-title h2{font-size:17px;margin-bottom:0}
 .app-body .v13-panel-title p{display:none}
 .app-body .v13-create-form{display:grid;grid-template-columns:1fr 1fr;column-gap:10px}
 .app-body .v13-create-form label{font-size:11px;margin:0 0 5px}
 .app-body .v13-create-form label:first-of-type{grid-column:1;grid-row:1}
 .app-body .v13-create-form label:nth-of-type(2){grid-column:2;grid-row:1}
 .app-body .v13-create-form .field,.app-body .v13-create-form .doctor-create-select{min-width:0;height:42px!important;min-height:42px!important;font-size:12px!important;margin:0 0 8px!important;padding:0 8px!important}
 .app-body .v13-create-form #patientName{grid-column:1;grid-row:2}
 .app-body .v13-create-form #newTokenDoctor{grid-column:2;grid-row:2}
 .app-body .v13-generate{grid-column:1/-1;min-height:43px;height:43px;font-size:13px}
 .app-body .v13-compose-foot,.app-body .v13-tip{display:none}
 .app-body .v13-last-token{margin-top:8px;padding:6px 10px}
 .app-body .v13-last-token>span{display:none}
 .app-body .v13-last-token>div{margin:0}
 .app-body .v13-last-token>div>strong{font-size:20px}
 .app-body .v13-queue-surface{flex:1;min-height:0;border-radius:16px}
 .app-body .v13-queue-head{padding:10px 12px;gap:8px}
 .app-body .v13-queue-head h2{font-size:16px;margin:0}
 .app-body .v13-queue-head h2 span{height:23px;min-width:23px;font-size:11px}
 .app-body .v13-queue-head p{display:none}
 .app-body .v13-search{height:38px;width:140px}
 .app-body .v13-patients{padding:3px 6px}
 .app-body .v13-patient-row{grid-template-columns:70px 1fr 75px;grid-template-areas:'id person actions' 'assign assign assign';min-height:130px;gap:6px;padding:11px 8px}
 .app-body .v13-patient-id{grid-area:id;font-size:17px}
 .app-body .v13-patient-who{grid-area:person}
 .app-body .v13-doc-field{grid-area:assign;flex-direction:row;align-items:center}
 .app-body .v13-doc-field label{white-space:nowrap;font-size:11px}
 .app-body .v13-doc-field .reassignment-select{font-size:12px;max-width:none;height:38px;min-height:38px}
 .app-body .v13-row-actions{grid-area:actions;gap:4px}
 .app-body .v13-icon-btn{width:33px;height:33px;flex-basis:33px}
 .app-body .v13-patient-who strong{font-size:14px;margin-bottom:5px}
 .app-body .v13-patient-who .pill{padding:4px 6px;font-size:9px}
 .app-body .v13-stage-panes{display:flex;flex-direction:column;gap:9px}
 .app-body .v13-stage-panel{flex:1;min-height:0;border-radius:16px}
 .app-body .v13-stage-header{min-height:55px;height:55px;padding:9px 14px}
 .app-body .v13-stage-header h2{font-size:17px;margin:0}
 .app-body .v13-stage-header p{display:none}
 .app-body .v13-stage-number{height:35px;min-width:35px;font-size:15px}
 .app-body .v13-stage-dot{height:9px;width:9px}
 .app-body .v13-stage-list{padding:7px}
 .app-body .v13-queue-item{grid-template-columns:66px 1fr;gap:8px;padding:10px;margin-bottom:7px}
 .app-body .v13-queue-id{height:55px;font-size:18px}
 .app-body .v13-person-name{font-size:15px;margin-bottom:3px}
 .app-body .v13-destination{font-size:11px}
 .app-body .v13-queue-info small{font-size:10px;margin-top:3px}
 .app-body .v13-queue-actions{margin-top:8px;grid-template-columns:1fr 1fr;gap:7px}
 .app-body .v13-queue-actions button{min-height:37px;font-size:12px}
 .app-body .v13-doctor-layout{display:flex;flex-direction:column;gap:10px}
 .app-body .v13-current-call{flex:0 0 auto;min-height:178px;padding:15px 19px;border-radius:17px}
 .app-body .v13-onair{font-size:11px}
 .app-body .v13-big-token{font-size:53px;letter-spacing:-2px;margin:12px 0 5px}
 .app-body .v13-idle-icon{width:44px;height:44px;margin:10px 0 5px;border-radius:13px}
 .app-body .v13-idle-icon svg{width:24px;height:24px}
 .app-body .v13-current-call h2{font-size:18px;margin:0 0 5px}
 .app-body .v13-current-call p{font-size:11px;margin:0}
 .app-body .v13-recall{min-height:35px;font-size:12px;margin-top:7px;padding:5px 10px}
 .app-body .v13-current-bottom{position:absolute;right:18px;bottom:16px;width:auto;border:0;gap:14px;padding:0}
 .app-body .v13-current-bottom strong{font-size:20px}
 .app-body .v13-current-bottom span{font-size:10px}
 .app-body .v13-doctor-queue{flex:1;min-height:0;border-radius:17px}
 .app-body .v13-doctor-queue>header{padding:10px;gap:7px}
 .app-body .v13-doctor-queue header h2{font-size:16px;margin:0}
 .app-body .v13-doctor-queue header h2 span{height:22px;min-width:22px;font-size:11px}
 .app-body .v13-doctor-queue header p{display:none}
 .app-body .v13-header-action{min-height:37px;font-size:12px;padding:6px 9px!important}
 .app-body .v13-header-action svg{width:16px;height:16px}
 .app-body .v13-doctor-list{padding:5px 10px}
 .app-body .v13-doctor-row{min-height:77px;gap:8px}
 .app-body .v13-doctor-id{height:53px;min-width:62px;font-size:18px}
 .app-body .v13-doctor-name strong{font-size:14px}
 .app-body .v13-doctor-name span{font-size:10px}
 .app-body .v13-doc-call{min-height:38px;font-size:12px;padding:5px 8px}
 .app-body .v13-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}
 .app-body .v13-stat{padding:9px;min-height:77px;gap:9px;border-radius:13px}
 .app-body .v13-stat-icon{width:34px;height:34px;border-radius:10px}
 .app-body .v13-stat-icon svg{width:19px;height:19px}
 .app-body .v13-stat-number{font-size:25px;margin-bottom:4px}
 .app-body .v13-stat-label{font-size:10px}
 .app-body .v13-dashboard-bottom{display:flex;flex-direction:column;gap:8px}
 .app-body .v13-route-card,.app-body .v13-dash-actions{flex:1;min-height:0;padding:14px;border-radius:16px}
 .app-body .v13-overline{font-size:9px;margin-bottom:5px}
 .app-body .v13-dashboard-bottom h2{font-size:18px}
 .app-body .v13-dashboard-bottom p{font-size:11px;margin-bottom:10px}
 .app-body .v13-flow-line{gap:8px}
 .app-body .v13-flow-item>span{width:32px;height:32px;font-size:11px}
 .app-body .v13-flow-item b{font-size:13px}
 .app-body .v13-flow-item small{font-size:10px}
 .app-body .v13-quick-btn{min-height:39px;font-size:13px;margin-bottom:6px}
}
