@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap);:root{--bg:#f2f6fb;--card:#fff;--sunken:#f7fafd;--border:#e2e9f2;--border-strong:#cfdbe9;--text:#1d2b3a;--muted:#6b7c91;--primary:#3b82c4;--primary-ink:#275b8d;--primary-soft:#e9f2fb;--primary-edge:#bfd8ee;--ok:#2f9e78;--ok-ink:#1f7458;--ok-soft:#e6f5ef;--ok-edge:#bfe4d5;--warn:#c8871f;--warn-soft:#fdf2e0;--warn-edge:#f0dcb4;--danger:#d1544c;--danger-soft:#fdedec;--danger-edge:#f2c9c6;--shadow:0 1px 2px #1d2b3a0d,0 6px 20px #1d2b3a0f;--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#f2f6fb;background:var(--bg);color:#1d2b3a;color:var(--text);font-family:DM Sans,system-ui,sans-serif;min-height:100vh}a{color:#275b8d;color:var(--primary-ink);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{border-radius:6px;outline:2px solid #3b82c4;outline:2px solid var(--primary);outline-offset:2px}.layout{display:flex;min-height:100vh}.sidebar{background:#fff;background:var(--card);border-right:1px solid #e2e9f2;border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:20px 14px 16px;position:-webkit-sticky;position:sticky;top:0;width:240px}.brand{align-items:center;border-bottom:1px solid #e2e9f2;border-bottom:1px solid var(--border);display:flex;justify-content:center;margin-bottom:12px;padding:2px 6px 16px}.brand img{border-radius:8px;display:block;height:46px;max-width:100%;object-fit:contain}.brand .wordmark{align-items:center;color:#1d2b3a;color:var(--text);display:flex;font-size:19px;font-weight:700;gap:9px;letter-spacing:-.01em}.brand .wordmark .mark{background:linear-gradient(140deg,#3b82c4,#2f9e78);background:linear-gradient(140deg,var(--primary),var(--ok));border-radius:9px;color:#fff;flex:none;font-size:17px;font-weight:700;height:30px;line-height:30px;text-align:center;width:30px}.brand .wordmark b{color:#3b82c4;color:var(--primary);font-weight:700}.sidebar nav{flex:1 1;overflow-y:auto}.sidebar nav a{border-radius:9px;color:#6b7c91;color:var(--muted);display:block;font-size:14px;font-weight:500;margin-bottom:2px;padding:9px 12px}.sidebar nav a:hover{background:#f7fafd;background:var(--sunken);color:#1d2b3a;color:var(--text);text-decoration:none}.sidebar nav a.active{background:#e9f2fb;background:var(--primary-soft);box-shadow:inset 2px 0 0 #3b82c4;box-shadow:inset 2px 0 0 var(--primary);color:#275b8d;color:var(--primary-ink);font-weight:600}.sidebar .who{border-top:1px solid #e2e9f2;border-top:1px solid var(--border);color:#6b7c91;color:var(--muted);font-size:12px;margin-top:auto;padding-top:14px}.user-chip{gap:10px;min-width:0;padding:2px 2px 12px}.user-avatar,.user-chip{align-items:center;display:flex}.user-avatar{background:linear-gradient(140deg,#3b82c4,#2f9e78);background:linear-gradient(140deg,var(--primary),var(--ok));border-radius:50%;color:#fff;flex:none;font-size:12.5px;font-weight:700;height:34px;justify-content:center;width:34px}.user-chip .meta{min-width:0}.user-chip .name{color:#1d2b3a;color:var(--text);font-size:13.5px;font-weight:600}.user-chip .name,.user-chip .role-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip .role-line{color:#6b7c91;color:var(--muted);font-size:11.5px;text-transform:capitalize}.who .btn.secondary{margin-bottom:12px;width:100%}.sidebar-contact{border-top:1px solid #e2e9f2;border-top:1px solid var(--border);color:#6b7c91;color:var(--muted);display:flex;flex-direction:column;font-size:11px;gap:6px;padding-top:11px}.sidebar-contact .contact-row{align-items:center;display:flex;gap:7px}.sidebar-contact .contact-row .ic{flex:none;opacity:.8;text-align:center;width:14px}.sidebar-contact .contact-row a{color:#6b7c91;color:var(--muted)}.sidebar-contact .contact-row a:hover{color:#275b8d;color:var(--primary-ink)}.sidebar-contact .copyright{font-size:10.5px;letter-spacing:.01em;margin-top:3px;opacity:.7}.main{flex:1 1;max-width:1440px;min-width:0;padding:28px 32px 48px}.page-title{font-size:22px;font-weight:700;letter-spacing:-.01em}.page-sub{color:#6b7c91;color:var(--muted);font-size:13.5px;margin:3px 0 22px}.mobile-topbar{align-items:center;background:#fff;background:var(--card);border-bottom:1px solid #e2e9f2;border-bottom:1px solid var(--border);display:none;gap:12px;justify-content:space-between;padding:10px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:200}.mobile-topbar .brand{border:none;justify-content:flex-start;margin:0;padding:0}.mobile-topbar .brand img{height:30px}.mobile-topbar .brand .wordmark{font-size:16px}.mobile-topbar .brand .wordmark .mark{border-radius:7px;font-size:14px;height:24px;line-height:24px;width:24px}.mobile-topbar-user{align-items:center;color:#6b7c91;color:var(--muted);display:flex;font-size:12.5px;gap:10px}.mobile-topbar-user .name{color:#1d2b3a;color:var(--text);font-weight:600}.bottom-tabbar{align-items:stretch;background:#fff;background:var(--card);border-top:1px solid #e2e9f2;border-top:1px solid var(--border);bottom:0;box-shadow:0 -4px 16px #1d2b3a0f;display:none;gap:2px;left:0;padding:4px 2px calc(4px + env(safe-area-inset-bottom, 0px));position:fixed;right:0;z-index:250}.tabbar-item{align-items:center;border-radius:10px;border-top:2px solid #0000;color:#6b7c91;color:var(--muted);display:flex;flex:1 1;flex-direction:column;font-size:11px;font-weight:500;gap:3px;justify-content:center;min-width:0;padding:7px 2px;text-align:center}.tabbar-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar-item .ic{font-size:17px;line-height:1}.tabbar-more-sheet a .ic{flex:none;margin-right:8px;opacity:.85;text-align:center;width:18px}.tabbar-more-sheet a .label-wrap{align-items:center;display:flex;flex:1 1;min-width:0}.tabbar-item.active{background:#e9f2fb;background:var(--primary-soft);border-top-color:#3b82c4;border-top-color:var(--primary);color:#275b8d;color:var(--primary-ink);font-weight:600}.tabbar-item .dot{background:#2f9e78;background:var(--ok);border-radius:20px;color:#fff;font-size:10px;font-weight:700;height:16px;line-height:16px;margin-top:-2px;min-width:16px;padding:0 4px}.tabbar-more-sheet{background:#fff;background:var(--card);border:1px solid #e2e9f2;border:1px solid var(--border);border-radius:14px;bottom:calc(66px + env(safe-area-inset-bottom, 0px));box-shadow:0 1px 2px #1d2b3a0d,0 6px 20px #1d2b3a0f;box-shadow:var(--shadow);left:10px;overflow:hidden;position:fixed;right:10px;z-index:260}.tabbar-more-sheet a{align-items:center;border-bottom:1px solid #e2e9f2;border-bottom:1px solid var(--border);color:#1d2b3a;color:var(--text);display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:space-between;padding:12px 16px}.tabbar-more-sheet a:last-child{border-bottom:none}.tabbar-more-sheet a:hover{background:#f7fafd;background:var(--sunken);text-decoration:none}.tabbar-more-backdrop{background:#1d2b3a40;inset:0;position:fixed;z-index:255}.cards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:20px}.stat-card{background:#fff;background:var(--card);border:1px solid #e2e9f2;border-top:3px solid #bfd8ee;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);border-top:3px solid var(--primary-edge);box-shadow:0 1px 2px #1d2b3a0d,0 6px 20px #1d2b3a0f;box-shadow:var(--shadow);padding:16px 18px}.stat-card:nth-child(3n){border-top-color:#bfe4d5;border-top-color:var(--ok-edge)}.stat-card .v{font-size:25px;font-weight:700;letter-spacing:-.02em}.stat-card .l{color:#6b7c91;color:var(--muted);font-size:12px;margin-top:3px}.panel{background:#fff;background:var(--card);border:1px solid #e2e9f2;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 2px #1d2b3a0d,0 6px 20px #1d2b3a0f;box-shadow:var(--shadow);margin-bottom:20px;padding:18px 20px}.panel h3{border-left:3px solid #3b82c4;border-left:3px solid var(--primary);font-size:15px;font-weight:600;margin-bottom:14px;padding-left:10px}table{border-collapse:collapse;font-size:13.5px;width:100%}th{background:#f7fafd;background:var(--sunken);border-bottom:1px solid #e2e9f2;border-bottom:1px solid var(--border);color:#6b7c91;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;padding:9px 10px;text-align:left;text-transform:uppercase}th:first-child{border-top-left-radius:8px}th:last-child{border-top-right-radius:8px}td{border-bottom:1px solid #e2e9f2;border-bottom:1px solid var(--border);padding:10px}tbody tr:hover td{background:#e9f2fb;background:var(--primary-soft)}tfoot td{background:#f7fafd;background:var(--sunken);border-bottom:none}.btn{background:#3b82c4;background:var(--primary);border:1px solid #0000;border-radius:9px;color:#fff;cursor:pointer;display:inline-block;font:500 13px/1.35 DM Sans,sans-serif;padding:8px 16px;transition:background .12s ease}.btn:hover{background:#275b8d;background:var(--primary-ink)}.btn.secondary{background:#fff;border-color:#cfdbe9;border-color:var(--border-strong);color:#1d2b3a;color:var(--text)}.btn.secondary:hover{background:#f7fafd;background:var(--sunken)}.btn.ok{background:#2f9e78;background:var(--ok);color:#fff}.btn.ok:hover{background:#1f7458;background:var(--ok-ink)}.btn.danger{background:#d1544c;background:var(--danger);color:#fff}.btn.danger:hover{background:#b8433c}.btn.sm{font-size:12.5px;padding:5px 11px}.btn:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{background:#fff;border:1px solid #cfdbe9;border:1px solid var(--border-strong);border-radius:9px;color:#1d2b3a;color:var(--text);font:400 13.5px DM Sans,sans-serif;padding:9px 12px;width:100%}input:focus,select:focus,textarea:focus{border-color:#3b82c4;border-color:var(--primary);box-shadow:0 0 0 3px #e9f2fb;box-shadow:0 0 0 3px var(--primary-soft);outline:none}input:disabled,textarea:disabled{background:#f7fafd;background:var(--sunken);color:#6b7c91;color:var(--muted)}input[type=checkbox]{accent-color:#3b82c4;accent-color:var(--primary);width:auto}label{color:#6b7c91;color:var(--muted);display:block;font-size:12px;font-weight:500;margin-bottom:5px}.form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:14px}.form-section-block{background:#f7fafd;background:var(--sunken);border:1px solid #e2e9f2;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);margin-bottom:16px;padding:16px}.form-section-block>h4{color:#275b8d;color:var(--primary-ink);font-size:12px;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.badge{border:1px solid #0000;border-radius:20px;display:inline-block;font-size:11.5px;font-weight:600;padding:3px 10px}.badge.active,.badge.approved,.badge.claimed,.badge.completed,.badge.free,.badge.paid{background:#e6f5ef;background:var(--ok-soft);border-color:#bfe4d5;border-color:var(--ok-edge);color:#1f7458;color:var(--ok-ink)}.badge.accepted,.badge.accepted_pending,.badge.assigned,.badge.in_progress{background:#e9f2fb;background:var(--primary-soft);border-color:#bfd8ee;border-color:var(--primary-edge);color:#275b8d;color:var(--primary-ink)}.badge.pending,.badge.pending_approval,.badge.urgent,.badge.waiting{background:#fdf2e0;background:var(--warn-soft);border-color:#f0dcb4;border-color:var(--warn-edge);color:#c8871f;color:var(--warn)}.badge.ringing{animation:pulse 1.2s infinite}.badge.busy,.badge.cancelled,.badge.failed,.badge.reassign_needed,.badge.refunded,.badge.rejected,.badge.ringing{background:#fdedec;background:var(--danger-soft);border-color:#f2c9c6;border-color:var(--danger-edge);color:#d1544c;color:var(--danger)}.badge.deferred,.badge.draft,.badge.low,.badge.normal,.badge.offline{background:#f7fafd;background:var(--sunken);border-color:#cfdbe9;border-color:var(--border-strong);color:#6b7c91;color:var(--muted)}@keyframes pulse{50%{opacity:.5}}.alert-banner{background:#e9f2fb;background:var(--primary-soft);border:1px solid #bfd8ee;border-left:3px solid #3b82c4;border:1px solid var(--primary-edge);border-left:3px solid var(--primary);border-radius:10px;color:#275b8d;color:var(--primary-ink);font-size:13.5px;gap:12px;justify-content:space-between;margin-bottom:16px;padding:11px 15px}.alert-banner,.login-wrap{align-items:center;display:flex}.login-wrap{background:radial-gradient(900px 480px at 15% -10%,#e9f2fb,#0000 70%),radial-gradient(760px 440px at 95% 110%,#e6f5ef,#0000 70%),#f2f6fb;background:radial-gradient(900px 480px at 15% -10%,var(--primary-soft),#0000 70%),radial-gradient(760px 440px at 95% 110%,var(--ok-soft),#0000 70%),var(--bg);justify-content:center;min-height:100vh;padding:24px}.login-card{background:#fff;background:var(--card);border:1px solid #e2e9f2;border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 40px #1d2b3a1a;max-width:410px;padding:34px 32px 30px;width:100%}.login-card .logo{display:block;height:54px;margin:0 auto 16px;max-width:210px;object-fit:contain;width:auto}.login-card h1{font-size:21px;font-weight:700;letter-spacing:-.01em;text-align:center}.login-card p.sub{color:#6b7c91;color:var(--muted);font-size:13px;margin:5px 0 22px;text-align:center}.login-card .field{margin-bottom:13px}.login-card .error{background:#fdedec;background:var(--danger-soft);border:1px solid #f2c9c6;border:1px solid var(--danger-edge);border-radius:9px;color:#d1544c;color:var(--danger);font-size:13px;margin-bottom:13px;padding:10px 12px}.doctor-status{align-items:center;background:#fff;border:1px solid #cfdbe9;border:1px solid var(--border-strong);border-radius:20px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:7px 14px;position:relative}.doctor-status:hover{background:#f7fafd;background:var(--sunken)}.status-indicator{border-radius:50%;flex:none;height:9px;width:9px}.status-indicator.free{background:#2f9e78;background:var(--ok);box-shadow:0 0 0 3px #e6f5ef;box-shadow:0 0 0 3px var(--ok-soft)}.status-indicator.busy{background:#d1544c;background:var(--danger);box-shadow:0 0 0 3px #fdedec;box-shadow:0 0 0 3px var(--danger-soft)}.status-indicator.offline{background:#6b7c91;background:var(--muted)}.status-menu{background:#fff;border:1px solid #e2e9f2;border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px #1d2b3a0d,0 6px 20px #1d2b3a0f;box-shadow:var(--shadow);min-width:140px;overflow:hidden;position:absolute;right:0;top:112%;z-index:100}.status-menu div{align-items:center;display:flex;font-size:13px;gap:8px;padding:9px 14px}.status-menu div:hover{background:#e9f2fb;background:var(--primary-soft)}.ringing-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1d2b3a73;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:3000}.ringing-card{animation:slideUp .22s ease-out;background:#fff;background:var(--card);border:1px solid #e2e9f2;border-top:4px solid #d1544c;border:1px solid var(--border);border-radius:16px;border-top:4px solid var(--danger);box-shadow:0 24px 60px #1d2b3a38;max-width:430px;padding:26px 24px;text-align:center;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ringing-icon{align-items:center;animation:ringbell 1s infinite;background:#fdedec;background:var(--danger-soft);border-radius:50%;color:#d1544c;color:var(--danger);display:flex;font-size:25px;height:54px;justify-content:center;margin:0 auto 12px;width:54px}@keyframes ringbell{0%,to{transform:rotate(0)}25%{transform:rotate(13deg)}75%{transform:rotate(-13deg)}}.ringing-card h2{font-size:17px;font-weight:700}.ringing-sub{color:#6b7c91;color:var(--muted);font-size:12.5px;margin-bottom:8px}.countdown-timer{color:#d1544c;color:var(--danger);font:700 30px/1.1 DM Sans,monospace;letter-spacing:.04em;margin:6px 0 4px}.patient-info-box{background:#f7fafd;background:var(--sunken);border:1px solid #e2e9f2;border:1px solid var(--border);border-radius:10px;font-size:13.5px;margin:14px 0;padding:13px 15px;text-align:left}.patient-info-box p{margin:5px 0}.patient-info-box strong{color:#6b7c91;color:var(--muted);display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;width:96px}.ringing-actions{display:flex;gap:8px;margin-top:10px}.ringing-actions .btn{flex:1 1}.acceptance-card{background:#fff;background:var(--card);border:1px solid #e2e9f2;border-top:4px solid #2f9e78;border:1px solid var(--border);border-radius:16px;border-top:4px solid var(--ok);box-shadow:0 1px 2px #1d2b3a0d,0 6px 20px #1d2b3a0f;box-shadow:var(--shadow);margin:20px auto;max-width:620px;padding:36px 32px;text-align:center}.acceptance-icon{font-size:46px;margin-bottom:6px}.info-grid{grid-gap:9px 20px;display:grid;font-size:13.5px;gap:9px 20px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.info-grid .info-item strong{color:#6b7c91;color:var(--muted);font-weight:600;margin-right:5px}.items-table td{vertical-align:top}.nav-item-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.nav-badge{background:#2f9e78;background:var(--ok);border-radius:20px;color:#fff;font-size:11px;font-weight:700;min-width:20px;padding:1px 7px;text-align:center}.tab-navigation{border-bottom:1px solid #e2e9f2;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:4px;margin-bottom:18px}.tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:#6b7c91;color:var(--muted);cursor:pointer;font:500 13.5px DM Sans,sans-serif;margin-bottom:-1px;padding:10px 16px}.tab-btn:hover{color:#1d2b3a;color:var(--text)}.tab-btn.active{border-bottom-color:#3b82c4;border-bottom-color:var(--primary);color:#275b8d;color:var(--primary-ink);font-weight:600}.payment-split-item{background:#fff;border:1px solid #e2e9f2;border-left:3px solid #bfd8ee;border:1px solid var(--border);border-left:3px solid var(--primary-edge);border-radius:10px;margin-bottom:10px;padding:13px}.total-display{font-size:14px;font-weight:600;padding:10px 0}.total-display .due{color:#c8871f;color:var(--warn)}.total-display .settled{color:#1f7458;color:var(--ok-ink)}.muted{color:#6b7c91;color:var(--muted)}.right{text-align:right}.mt{margin-top:14px}.row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}body.tw-density-compact .main{padding:18px 22px 28px}body.tw-density-compact .page-sub{margin:3px 0 14px}body.tw-density-compact .cards{gap:10px;margin-bottom:16px}body.tw-density-compact .stat-card{padding:11px 14px}body.tw-density-compact .stat-card .v{font-size:20px}body.tw-density-compact .panel{margin-bottom:14px;padding:13px 16px}body.tw-density-compact .panel h3{margin-bottom:10px}body.tw-density-compact td,body.tw-density-compact th{padding:7px 10px}@media (max-width:1100px){.main{padding:24px 22px 40px}.cards{gap:12px}}@media (max-width:860px){.layout{flex-direction:column}.sidebar{display:none}.bottom-tabbar,.mobile-topbar{display:flex}.main{max-width:none;padding:16px 14px calc(76px + env(safe-area-inset-bottom, 0px))}.page-title{font-size:19px}.cards{gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat-card{padding:13px 14px}.stat-card .v{font-size:21px}.panel{overflow-x:auto;padding:15px 14px}table{font-size:12.5px;min-width:560px}.form-grid{grid-template-columns:1fr}}@media (max-width:420px){.tabbar-item{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.login-divider{align-items:center;color:#6b7c91;color:var(--muted);display:flex;font-size:11.5px;font-weight:500;gap:12px;letter-spacing:.08em;margin:20px 0 16px;text-transform:uppercase}.login-divider:after,.login-divider:before{background:#e2e9f2;background:var(--border);content:"";flex:1 1;height:1px}.staff-portal-btn{align-items:center;background:#f7fafd;background:var(--sunken);border:1px solid #cfdbe9;border:1px solid var(--border-strong);border-radius:11px;color:#1d2b3a;color:var(--text);display:flex;gap:12px;padding:12px 14px;text-decoration:none;transition:background .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease;width:100%}.staff-portal-btn:hover{background:#e6f5ef;background:var(--ok-soft);border-color:#bfe4d5;border-color:var(--ok-edge);box-shadow:0 4px 14px #2f9e7829;text-decoration:none;transform:translateY(-1px)}.staff-portal-btn:active{transform:translateY(0)}.staff-portal-icon{background:#fff;border:1px solid #e2e9f2;border:1px solid var(--border);border-radius:9px;color:#2f9e78;color:var(--ok);display:grid;flex:none;height:36px;place-items:center;transition:background .14s ease,color .14s ease,border-color .14s ease;width:36px}.staff-portal-btn:hover .staff-portal-icon{background:#2f9e78;background:var(--ok);border-color:#2f9e78;border-color:var(--ok);color:#fff}.staff-portal-text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.staff-portal-text strong{font-size:13.5px;font-weight:600;line-height:1.2}.staff-portal-text small{color:#6b7c91;color:var(--muted);font-size:11.5px;line-height:1.2}.staff-portal-arrow{color:#6b7c91;color:var(--muted);flex:none;transition:color .14s ease,transform .14s ease}.staff-portal-btn:hover .staff-portal-arrow{color:#2f9e78;color:var(--ok);transform:translateX(2px)}.toast-stack{display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 32px);max-width:calc(100vw - 32px);overflow-y:auto;position:fixed;right:16px;top:16px;width:356px;z-index:3200}.toast{animation:toast-in .22s ease-out;background:#fff;background:var(--card);border:1px solid #f0dcb4;border-left:4px solid #c8871f;border:1px solid var(--warn-edge);border-left:4px solid var(--warn);border-radius:11px;box-shadow:0 10px 30px #1d2b3a29;padding:13px 14px}.toast.declined{border-color:#f2c9c6;border-color:var(--danger-edge);border-left-color:#d1544c;border-left-color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}.toast-head{align-items:center;color:#c8871f;color:var(--warn);display:flex;font-size:11px;font-weight:700;gap:7px;letter-spacing:.06em;margin-bottom:7px;text-transform:uppercase}.toast.declined .toast-head{color:#d1544c;color:var(--danger)}.toast-head .toast-close{background:none;border:none;color:#6b7c91;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;margin-left:auto;padding:0 2px}.toast-title{font-size:14px;font-weight:600;margin-bottom:3px}.toast-meta{color:#6b7c91;color:var(--muted);font-size:12.5px;line-height:1.5}.toast-wait{color:#c8871f;color:var(--warn);font-weight:600}.toast .row{justify-content:flex-end;margin-top:11px}.assign-overlay{z-index:3100}.assign-overlay .ringing-card{border-top:4px solid #c8871f;border-top:4px solid var(--warn)}.assign-icon{border-radius:50%;display:grid;height:52px;margin:0 auto 12px;place-items:center;width:52px}.assign-icon,.assign-waited{background:#fdf2e0;background:var(--warn-soft);border:1px solid #f0dcb4;border:1px solid var(--warn-edge);color:#c8871f;color:var(--warn)}.assign-waited{border-radius:20px;display:inline-block;font-size:12.5px;font-weight:600;margin:0 auto 14px;padding:5px 13px}.filter-bar{align-items:flex-end;background:#f7fafd;background:var(--sunken);border:1px solid #e2e9f2;border:1px solid var(--border);border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:12px}.filter-field{display:flex;flex-direction:column;min-width:150px}.filter-field.grow{flex:1 1 220px}.filter-field label{color:#6b7c91;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.filter-field input,.filter-field select{font-size:13px;padding:7px 10px}.filter-actions{align-items:center;display:flex;gap:10px;margin-left:auto}.filter-count{color:#6b7c91;color:var(--muted);font-size:12.5px;white-space:nowrap}.filter-count b{color:#1d2b3a;color:var(--text);font-weight:600}@media (max-width:640px){.filter-field,.filter-field.grow{flex-basis:100%;min-width:100%}.filter-actions{justify-content:space-between;margin-left:0;width:100%}.toast-stack{width:calc(100vw - 32px)}}.page-head{align-items:flex-start;gap:14px;justify-content:space-between;margin-bottom:14px}.page-head,.page-tools{display:flex;flex-wrap:wrap}.page-tools{align-items:center;gap:8px}.page-tools .tool{align-items:center;background:#fff;background:var(--card);border:1px solid #cfdbe9;border:1px solid var(--border-strong);border-radius:9px;color:#6b7c91;color:var(--muted);display:flex;gap:6px;padding:5px 9px}.page-tools .tool input,.page-tools .tool select{background:#0000;border:none;color:#1d2b3a;color:var(--text);font-size:13px;min-width:116px;padding:2px 0}.page-tools .tool input:focus,.page-tools .tool select:focus{box-shadow:none;outline:none}.kpi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:14px}.kpi{background:#fff;background:var(--card);border:1px solid #e2e9f2;border:1px solid var(--border);border-radius:13px;display:flex;flex-direction:column;gap:7px;padding:14px;transition:box-shadow .16s ease,transform .16s ease}.kpi:hover{box-shadow:0 6px 20px #1d2b3a14;transform:translateY(-1px)}.kpi-top{align-items:center;display:flex;gap:9px}.kpi-icon{border-radius:10px;color:#fff;display:grid;flex:none;height:34px;place-items:center;width:34px}.kpi-icon.brand{background:var(--brand)}.kpi-icon.ok{background:#2f9e78;background:var(--ok)}.kpi-icon.warn{background:#c8871f;background:var(--warn)}.kpi-icon.danger{background:#d1544c;background:var(--danger)}.kpi-label{color:#6b7c91;color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.kpi-value{font-size:25px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.delta{align-items:baseline;display:inline-flex;flex-wrap:wrap;font-size:12px;font-weight:600;gap:4px}.delta.up{color:#2f9e78;color:var(--ok)}.delta.down{color:#d1544c;color:var(--danger)}.delta.flat{color:#6b7c91;color:var(--muted);font-weight:500}.delta-icon{font-size:12.5px;font-weight:700}.delta-sub{color:#6b7c91;color:var(--muted);font-weight:500}.chart-wrap{position:relative;width:100%}.chart-axis{fill:#6b7c91;fill:var(--muted);font-family:inherit;font-size:10px}.chart-empty{color:#6b7c91;color:var(--muted);font-size:13px;padding:34px 0;text-align:center}.chart-tip{background:#1d2b3a;background:var(--text);border-radius:7px;color:#fff;display:flex;flex-direction:column;font-size:11.5px;gap:1px;padding:5px 9px;pointer-events:none;position:absolute;top:2px;transform:translateX(-50%);white-space:nowrap;z-index:5}.chart-tip span{font-size:10.5px;opacity:.7}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{background:#f7fafd;background:var(--sunken)}th.sortable .th-inner{align-items:center;display:inline-flex;gap:5px}th.sortable .sort-arrow{font-size:9px;opacity:.35;transition:opacity .12s ease}th.sortable:hover .sort-arrow{opacity:.7}th.sortable.sorted{color:var(--brand)}th.sortable.sorted .sort-arrow{color:var(--brand);opacity:1}.detail-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:16px}.detail-grid section{background:#f7fafd;background:var(--sunken);border:1px solid #e2e9f2;border:1px solid var(--border);border-radius:10px;padding:12px}.detail-grid section.full{grid-column:1/-1}.detail-grid h4{color:#6b7c91;color:var(--muted);font-size:11.5px;font-weight:700;letter-spacing:.05em;margin:0 0 9px;text-transform:uppercase}.detail-grid dl{grid-gap:5px 12px;display:grid;font-size:13px;gap:5px 12px;grid-template-columns:auto 1fr;margin:0}.detail-grid dt{color:#6b7c91;color:var(--muted);white-space:nowrap}.detail-grid dd{margin:0;text-align:right;word-break:break-word}.tabs{border-bottom:1px solid #e2e9f2;border-bottom:1px solid var(--border);display:flex;gap:4px;margin-bottom:12px;overflow-x:auto}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7c91;color:var(--muted);cursor:pointer;font-size:13px;font-weight:500;margin-bottom:-1px;padding:8px 13px;white-space:nowrap}.tab:hover{color:#1d2b3a;color:var(--text)}.tab.active{border-bottom-color:var(--brand);color:var(--brand);font-weight:600}.panel-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.panel-head h3{margin:0}.grid-2{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.mini-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.mini-card{background:#f7fafd;background:var(--sunken);border:1px solid #e2e9f2;border:1px solid var(--border);border-radius:10px;padding:11px;text-align:center}.mini-card .v{font-size:20px;font-weight:700;line-height:1.1}.mini-card .l{color:#6b7c91;color:var(--muted);font-size:11px;margin-top:3px}.quick-links{display:flex;flex-wrap:wrap;font-size:13px;gap:12px;margin-top:14px}.link-btn{background:none;border:none;color:var(--brand);cursor:pointer;font:inherit;padding:0;text-align:left}.link-btn:hover{text-decoration:underline}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}table.compact td,table.compact th{font-size:12.5px;padding:7px 9px}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll table{min-width:620px}@media (max-width:720px){.page-head{align-items:stretch;flex-direction:column}.page-tools{width:100%}.page-tools .tool{flex:1 1 auto}.page-tools .tool input,.page-tools .tool select{min-width:0;width:100%}.kpi-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpi{padding:12px}.kpi-value{font-size:21px}.delta-sub{display:none}.detail-grid,.detail-grid dl{grid-template-columns:1fr}.detail-grid dl{gap:2px}.detail-grid dd{font-weight:500;margin-bottom:6px;text-align:left}.grid-2{grid-template-columns:1fr}}@media (max-width:420px){.kpi-grid{grid-template-columns:1fr 1fr}.kpi-label{font-size:10.5px}.kpi-value{font-size:19px}}.assign-select{font-size:12.5px;min-width:150px;padding:5px 8px}.assign-select.dirty{background:#fdf2e0;background:var(--warn-soft);border-color:#c8871f;border-color:var(--warn);font-weight:600}.assign-meta{color:#6b7c91;color:var(--muted);font-size:11px;margin-top:3px}@media (max-width:640px){.assign-select{min-width:100%}}:root{--rail-w:clamp(320px,30vw,460px)}.assign-rail{animation:rail-in .22s ease-out;background:#fff;background:var(--card);border-left:1px solid #cfdbe9;border-left:1px solid var(--border-strong);bottom:0;box-shadow:-10px 0 34px #1d2b3a21;display:flex;flex-direction:column;position:fixed;right:0;top:0;width:clamp(320px,30vw,460px);width:var(--rail-w);z-index:2500}@keyframes rail-in{0%{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}.assign-rail-head{background:#2f9e78;background:var(--ok);color:#fff;flex:none;padding:16px 18px 13px}.assign-rail-title{align-items:center;display:flex;font-size:16px;font-weight:700;gap:9px;letter-spacing:-.01em}.assign-rail-count{background:#ffffff3d;border-radius:12px;display:inline-grid;font-size:12.5px;font-weight:700;height:23px;min-width:23px;padding:0 7px;place-items:center}.assign-rail-sub{font-size:12.5px;margin-top:3px;opacity:.88}.assign-rail-body{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:14px}.assign-card{background:#f7fafd;background:var(--sunken);border:1px solid #e2e9f2;border-left:4px solid #2f9e78;border:1px solid var(--border);border-left:4px solid var(--ok);border-radius:11px;padding:13px}.assign-card.escalated{background:#fdf2e0;background:var(--warn-soft);border-left-color:#c8871f;border-left-color:var(--warn)}.assign-card-name{font-size:15.5px;font-weight:700;line-height:1.2}.assign-card-badges{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 10px}.assign-card-dl{grid-gap:4px 10px;display:grid;font-size:12.5px;gap:4px 10px;grid-template-columns:auto 1fr;margin:0}.assign-card-dl dt{color:#6b7c91;color:var(--muted);white-space:nowrap}.assign-card-dl dd{margin:0;text-align:right;word-break:break-word}.assign-card-notes{border-top:1px solid #e2e9f2;border-top:1px solid var(--border);color:#6b7c91;color:var(--muted);font-size:12.5px;margin:10px 0 0;padding-top:9px}.assign-card-actions{display:flex;flex-direction:column;gap:7px;margin-top:12px}.assign-card-actions .btn{justify-content:center;width:100%}body.assign-rail-open .main{padding-right:calc(clamp(320px, 30vw, 460px) + 32px);padding-right:calc(var(--rail-w) + 32px)}@media (max-width:900px){.assign-rail{border-left:none;border-radius:14px 14px 0 0;border-top:1px solid #cfdbe9;border-top:1px solid var(--border-strong);box-shadow:0 -10px 34px #1d2b3a2b;left:0;max-height:56vh;padding-bottom:env(safe-area-inset-bottom,0);right:0;top:auto;width:auto}@keyframes rail-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}body.assign-rail-open .main{padding-bottom:58vh;padding-right:14px}.assign-card-actions{flex-direction:row}}