:root{--brand:#d11f23;--brand-hover:#b3171b;--brand-soft:#fdeeee;--bg:#f6f7f9;--surface:#ffffff;--surface-muted:#f1f3f6;--border:#e5e8ec;--text:#1a1f29;--text-muted:#6b7280;--primary:var(--brand);--primary-hover:var(--brand-hover);--red:#dc2626;--red-bg:#fdecec;--yellow:#b7791f;--yellow-bg:#fdf6e3;--green:#2f8f4e;--green-bg:#eaf7ee;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 3px rgba(16,24,40,0.06);--shadow-hover:0 4px 12px rgba(16,24,40,0.08),0 2px 4px rgba(16,24,40,0.05)}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}.page{flex:1 1}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}code{font-family:SF Mono,Consolas,monospace;font-size:13px;background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;padding:2px 6px}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-top:3px solid var(--brand);border-bottom:1px solid var(--border)}.app-header-inner{max-width:1040px;margin:0 auto;padding:10px 20px;flex-direction:column;gap:10px}.app-header-inner,.brand{display:flex;align-items:center}.brand{gap:14px;color:var(--text)}.brand:hover{text-decoration:none}.brand-logo{height:40px;width:auto;display:block}.brand-divider{width:1px;height:32px;background:var(--border)}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-title{font-weight:700;font-size:16px;letter-spacing:-.01em}.brand-section{font-size:12px;color:var(--text-muted)}.app-header-actions{gap:8px}.app-header-actions,.app-header-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.app-header-bar{gap:12px}.main-nav{display:flex;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:center}.main-nav-item{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:9px;font-size:14px;font-weight:500;color:var(--text-muted);text-decoration:none;transition:background .15s,color .15s}.main-nav-item:hover{background:var(--surface-muted);color:var(--text)}.main-nav-item.active{background:var(--brand-soft);color:var(--brand)}.user-chip{display:flex;align-items:center;gap:8px}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.user-name{font-size:14px;font-weight:500;color:var(--text)}.logout-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-muted);cursor:pointer}.logout-btn:hover{color:var(--brand);border-color:var(--brand)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar h1{font-size:18px;margin:0}.container{max-width:880px;margin:0 auto;padding:28px 20px 48px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.page-header h2{letter-spacing:-.01em}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}.section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:28px 0 10px;display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:3px;height:12px;border-radius:2px;background:var(--brand)}.patient-card{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--text);border-left-width:4px;border-left-style:solid;transition:box-shadow .15s ease,transform .15s ease}a.patient-card:hover{text-decoration:none;box-shadow:var(--shadow-hover);transform:translateY(-1px)}.patient-card.status-red{border-left-color:var(--red)}.patient-card.status-yellow{border-left-color:var(--yellow)}.patient-card.status-green{border-left-color:var(--green)}.patient-card.status-closed,.patient-card.status-none{border-left-color:var(--border)}.patient-card.status-closed{opacity:.7}.patient-name{font-weight:600;font-size:16px}.patient-meta{color:var(--text-muted);font-size:13px;margin-top:4px}.badge{font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;white-space:nowrap}.badge.status-red{color:var(--red);background:var(--red-bg)}.badge.status-yellow{color:var(--yellow);background:var(--yellow-bg)}.badge.status-green{color:var(--green);background:var(--green-bg)}.badge.status-closed,.badge.status-none{color:var(--text-muted);background:var(--surface-muted)}.empty-state{text-align:center;color:var(--text-muted);padding:56px 20px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--primary);color:#fff;border:1px solid transparent;padding:9px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;font-family:inherit;line-height:1.3;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn:hover{background:var(--primary-hover);text-decoration:none}.btn:disabled{opacity:.6;cursor:default}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);font-weight:500}.btn-secondary:hover{background:var(--surface-muted);border-color:#d5d9df}.btn-excel{background:#1d6f42;color:#fff}.btn-excel:hover{background:#185c37;color:#fff}.btn-danger{background:var(--surface);color:var(--red);border:1px solid #f3b8b8}.btn-danger:hover{background:var(--red-bg);border-color:var(--red)}.form-field{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.form-field label{color:var(--text-muted)}.closure-option textarea,.form-field input,.form-field select,.form-field textarea{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand)!important;box-shadow:0 0 0 3px rgba(209,31,35,.12)}.check-line{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:14px}.error-banner{background:var(--red-bg);color:var(--red);padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px}.checkin-row{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.checkin-row:last-child{border-bottom:none}.checkin-day{min-width:70px;font-weight:600;color:var(--text-muted);font-size:13px}.checkin-details{flex:1 1}.checkin-details p{margin:3px 0;font-size:14px}.reasons{margin-top:6px;font-size:13px}.reasons li{margin-bottom:2px}.link-code{font-family:SF Mono,Consolas,monospace;font-size:20px;letter-spacing:3px;background:var(--brand-soft);color:var(--brand);font-weight:700;padding:8px 16px;border-radius:var(--radius-sm);display:inline-block}.attachment-row{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.attachment-row:last-child{border-bottom:none}.attachment-thumb{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.attachment-file-link{display:inline-block;padding:10px 14px;background:var(--surface-muted);border-radius:var(--radius-sm);font-size:14px;white-space:nowrap}.closure-option{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;background:var(--surface);transition:border-color .15s ease}.closure-option[open]{border-color:#d5d9df;background:#fcfcfd}.closure-option>summary{cursor:pointer;padding:12px 14px;font-weight:600;font-size:14px}.closure-option form{padding:0 14px 14px}.closure-option textarea{resize:vertical}.closed-banner{background:var(--surface-muted);border-left:4px solid var(--text-muted)}.login-screen{min-height:calc(100vh - 90px);display:flex;align-items:center;justify-content:center;padding:40px 16px;background:radial-gradient(900px 420px at 0 0,rgba(209,31,35,.08),transparent 60%),radial-gradient(700px 380px at 100% 100%,rgba(209,31,35,.06),transparent 60%)}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--brand);border-radius:18px;padding:32px 28px 28px;box-shadow:0 12px 40px rgba(16,24,40,.08)}.login-logo{display:block;height:64px;width:auto;margin:0 auto 20px}.login-title{text-align:center;font-size:20px;font-weight:700;margin:0;letter-spacing:-.01em}.login-subtitle{text-align:center;color:var(--text-muted);font-size:14px;margin:4px 0 24px}.app-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 16px 28px;color:var(--text-muted);font-size:12px;text-align:left}.accreditation-seal{width:40px;height:40px;flex-shrink:0}.app-footer-title{font-weight:600;color:var(--text);font-size:13px}.print-only{display:none}@media print{@page{size:landscape;margin:10mm}.no-print{display:none!important}.print-only{display:block}.app-footer,.app-header{display:none!important}body{background:#fff}.container{max-width:none}.card{box-shadow:none;border:1px solid #ccc;page-break-inside:avoid;break-inside:avoid}.card:has(table){page-break-inside:auto;break-inside:auto}tr{page-break-inside:avoid;break-inside:avoid}thead{display:table-header-group}}@media (max-width:640px){.app-header-inner{padding:8px 16px}.brand-logo{height:32px}.brand-divider,.brand-section{display:none}.brand-title{font-size:14px}.main-nav-label,.user-name{display:none}.main-nav-item{padding:8px 10px}.app-header-bar{gap:8px}.app-header-actions{gap:6px}.app-header-actions .btn{padding:6px 10px;font-size:13px}.hide-mobile{display:none}.container{padding:20px 16px 40px}.patient-card{flex-direction:column;align-items:flex-start}.page-header{flex-wrap:wrap}}.collapsible-section>summary{list-style:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.collapsible-section>summary::-webkit-details-marker{display:none}.collapsible-section .chevron{display:inline-block;margin-right:6px;font-size:11px;transition:transform .15s ease}.collapsible-section[open] .chevron{transform:rotate(90deg)}.saving-indicator{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:1000;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:0 4px 16px rgba(0,0,0,.15);pointer-events:none}.saving-indicator--saving{background:#eaf1fb;border:1px solid #bcd3f0;color:#2563eb;animation:saving-blink 1s ease-in-out infinite}.saving-indicator--saved{background:var(--green-bg);border:1px solid #b7e4c7;color:var(--green)}.saving-indicator__dot{width:10px;height:10px;border-radius:50%;background:#2563eb}@keyframes saving-blink{0%,to{opacity:1}50%{opacity:.45}}[data-saving]{opacity:.6;pointer-events:none;cursor:progress}@media print{.saving-indicator{display:none}}.saving-indicator--failed{background:#fdecec;border:1px solid #f5b5b5;color:var(--red)}.lab-group>summary{list-style:none}.lab-group>summary::-webkit-details-marker{display:none}.lab-arrow{color:var(--text-muted);transition:transform .15s}.lab-group[open] .lab-arrow{transform:rotate(180deg)}.patient-tabs{justify-content:flex-start;margin:4px 0 16px}.tab-button{border:none;background:transparent;cursor:pointer;font-family:inherit}.tab-count{font-size:12px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--surface-muted);color:var(--text-muted)}.list-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.list-filter input[type=search]{flex:1 1;min-width:200px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:15px;font-family:inherit;background:var(--surface)}.nurse-card{gap:14px;align-items:center}.nurse-ward{min-width:68px;padding:10px 8px;border-radius:10px;background:#eaf1fb;color:#2563eb;font-size:22px;font-weight:700;text-align:center}.nurse-badge{font-size:14px;padding:8px 12px;white-space:nowrap}.vitals-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 14px;gap:0 14px}.vitals-wide{grid-column:1/-1}.vitals-form .form-field input{font-size:20px;padding:12px 14px}.btn-big{width:100%;font-size:18px;padding:14px 18px;justify-content:center}@media (max-width:640px){.patient-card.nurse-card{flex-direction:row;align-items:center;gap:10px}.nurse-ward{min-width:58px;font-size:20px}.nurse-badge{font-size:13px;padding:6px 10px}}.vitals-grid>*{min-width:0}.vitals-form .form-field input{width:100%;box-sizing:border-box}.nurse-ward-button{border:1px dashed #9cbcf0;cursor:pointer;font-family:inherit;line-height:1.1}.nurse-ward-form{display:flex;flex-direction:column;gap:4px;width:92px}.nurse-ward-form input{width:100%;box-sizing:border-box;font-size:18px;padding:6px 8px;border:1px solid var(--border);border-radius:8px}.nurse-card-link{flex:1 1;min-width:0;display:flex;align-items:center;gap:10px;color:inherit}.nurse-card-link,.nurse-card-link:hover{text-decoration:none}.patient-card.nurse-card{flex-wrap:wrap}.nurse-left{display:flex;flex-direction:column;align-items:center;gap:6px}.nurse-status-button{border:none;background:transparent;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;padding:2px 4px}.nurse-status-confirm{flex-basis:100%;display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:4px;padding:12px;border-radius:10px;background:var(--red-bg)}@supports selector(:has(*)){.status-form .obs-choice{display:none}.status-form:has(#wardStatus option[value=discharged]:checked) .obs-choice{display:block}.status-form .transfer-choice{display:none}.status-form:has(#wardStatus option[value=transferred]:checked) .transfer-choice{display:block}}.bonus-people{display:flex;flex-wrap:wrap;gap:8px}.bonus-person{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-weight:600;text-decoration:none}.bonus-person.active,.bonus-person:hover{border-color:var(--primary)}.bonus-person.active{background:var(--primary);color:#fff}.bonus-person-tag{font-size:11px;font-weight:500;opacity:.75}.bonus-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:8px;gap:8px}.bonus-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:10px 14px;border:1px solid;border-radius:12px;font:inherit;font-size:14px;text-align:left;color:var(--text);cursor:pointer}.bonus-item:hover{filter:brightness(.96)}.bonus-item:active{transform:scale(.99)}.link-button{background:none;border:none;padding:0;color:var(--red);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}.bonus-group-title{font-weight:700;font-size:14px;margin:0 0 8px}.bonus-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px}.bonus-card{--tone:#2563eb;--tone-bg:#eef4ff;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .05s}.bonus-card.resident{--tone:#0f8a5f;--tone-bg:#e8f7f0}.bonus-card:hover{border-color:var(--tone);box-shadow:0 2px 10px rgba(0,0,0,.06)}.bonus-card:active{transform:scale(.99)}.bonus-card.active{border-color:var(--tone);background:var(--tone-bg);box-shadow:0 0 0 2px var(--tone) inset}.bonus-avatar{flex:none;width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--tone-bg);color:var(--tone);font-weight:800;font-size:15px}.bonus-card.active .bonus-avatar{background:var(--tone);color:#fff}.bonus-card-text{display:flex;flex-direction:column;min-width:0}.bonus-card-name{font-weight:700;font-size:15px}.bonus-card-sub{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bonus-table{width:100%;border-collapse:collapse;font-size:14px;min-width:980px}.bonus-table th{text-align:left;color:var(--text-muted);font-size:12px;font-weight:600;padding:6px}.bonus-table td,.bonus-table th{border-bottom:1px solid var(--border)}.bonus-table td{padding:8px 6px;vertical-align:top}.bonus-salary-form{display:flex;gap:4px}.bonus-salary-form input{width:108px;padding:6px 8px}.bonus-salary-form .btn{padding:4px 8px}.bonus-days-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;background:var(--surface-muted);border-radius:10px}.bonus-days-form label{font-weight:600;font-size:14px}.bonus-days-form input{width:64px;padding:6px 8px;text-align:center;font-size:16px;font-weight:700}.bonus-days-form .btn{padding:4px 8px}.bonus-pool-form{align-items:flex-start}.bonus-shares{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:6px 14px;gap:6px 14px}.bonus-share{display:flex;justify-content:space-between;gap:10px;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:14px}.bonus-share-total{background:#fdf1d6;border-color:#f0d9a0}.bonus-share-name{min-width:0}.bonus-save-status{align-self:center;min-width:110px;font-size:13px;font-weight:600;color:var(--text-muted)}.bonus-save-saved{color:#15803d}.bonus-save-status.compact{min-width:14px}.bonus-salary-form{align-items:center}.bonus-revenue,.bonus-vacation{background:var(--surface-2,#f6f6f7);border-radius:10px;padding:10px 12px;margin-bottom:10px;font-size:14px}.bonus-days-table{margin-top:6px;border-collapse:collapse;font-size:13px}.bonus-days-table td,.bonus-days-table th{padding:3px 14px 3px 0;text-align:left}.bonus-vacation-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.bonus-vacation-form input,.bonus-vacation-form select{font-size:14px;padding:5px 8px}.bonus-vacation-list{margin:8px 0 0;padding-left:18px}.bonus-pool-fields{flex-basis:100%;display:flex;flex-direction:column;gap:8px}.bonus-pool-field{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bonus-pool-field label{min-width:420px}.bonus-steps{flex-basis:100%;display:grid;grid-gap:2px;gap:2px;font-size:13px}.bt-board{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.bt-board .bonus-table{min-width:1020px;border-collapse:separate;border-spacing:0}.bt-board .bonus-table th{background:var(--surface-muted);padding:10px 14px;font-size:11.5px;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.bt-th{display:inline-flex;align-items:center;gap:6px}.bt-th-pay{color:#0f8a5f}.bt-board .bonus-table td{padding:14px;vertical-align:middle;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bt-board .bonus-table tbody tr:last-child td{border-bottom:none}.bt-board .bonus-table tbody tr:hover td{background:#fafbfc}.bt-details>summary{list-style:none;cursor:pointer}.bt-details>summary::-webkit-details-marker{display:none}.bt-person{display:flex;align-items:center;gap:10px}.bt-person-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.bt-person-text b{font-size:14.5px}.bt-avatar{flex:none;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef4ff;color:#2563eb;font-weight:800;font-size:14px}.bt-avatar.resident{background:#e8f7f0;color:#0f8a5f}.bt-sub{font-size:12px;color:var(--text-muted)}.bt-dash{color:#c4c9d1}.bt-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.bt-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap}.bt-chip-blue{background:#eef4ff;color:#1d4ed8}.bt-chip-minus{background:#fdecec;color:#b42318}.bt-chip-plus{background:#e7f6ec;color:#15803d}.bt-chip-gold{background:#fdf1d6;color:#a16207}.bt-chip-money{background:#e8f0fd;color:#1d4ed8}.bt-chip-sky{background:#e6f4fb;color:#0b6a99;font-weight:600;font-size:11.5px;padding:2px 8px}.bt-net{font-size:12px;font-weight:700}.bt-net.minus{color:#b42318}.bt-net.plus{color:#15803d}.bt-money{margin-top:4px;font-size:15px;font-weight:700}.bt-money.small{font-size:13px;font-weight:600;color:#a16207}.bt-delta{display:inline-flex;align-items:center;gap:5px;font-weight:700}.bt-delta.minus{color:#b42318}.bt-delta.plus{color:#15803d}.bt-pay{display:inline-block;padding:6px 12px;border-radius:10px;background:#e8f7f0;color:#0b6b49;font-size:16px;font-weight:800;white-space:nowrap}.pf{margin-bottom:12px;display:grid;grid-gap:12px;gap:12px}.pf-blue{--pf:#2563eb;--pf-bg:#eef4ff}.pf-green{--pf:#0f8a5f;--pf-bg:#e8f7f0}.pf-gold{--pf:#a16207;--pf-bg:#fdf1d6}.pf-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px}.pf-field{flex-direction:column;padding:14px;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--pf);border-radius:var(--radius);box-shadow:var(--shadow)}.pf-field,.pf-label{display:flex;gap:10px}.pf-label{align-items:center;font-size:14px}.pf-label>span:last-child{display:flex;flex-direction:column;min-width:0}.pf-icon,.pf-step-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--pf-bg);color:var(--pf)}.pf-hint{font-size:12px;font-weight:400;color:var(--text-muted)}.pf-input{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pf-input input{flex:1 1 140px;min-width:0;padding:9px 12px;font-size:18px;font-weight:700;text-align:right;border-radius:10px}.pf-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:10px;gap:10px}.pf-step{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-muted);border-radius:var(--radius-sm)}.pf-step-final{background:#fdf1d6}.pf-step-icon{width:32px;height:32px;background:var(--surface)}.pf-step-text{display:flex;flex-direction:column;min-width:0}.pf-step-title{font-size:12px;font-weight:600;color:var(--text-muted)}.pf-step-text b{font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pf-doctors{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:10px;gap:10px}.pf-doctor{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.pf-avatar{flex:none;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef4ff;color:#2563eb;font-weight:800;font-size:13px}.pf-doctor-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1 1}.pf-doctor-name{font-weight:700;font-size:14px}.pf-chip{padding:1px 8px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-size:11.5px;font-weight:700}.pf-doctor-sum{font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pf-section{margin-top:6px;padding:12px 14px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.pf-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.pf-section-title{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700;font-size:14.5px}.pf-section-total{padding:4px 12px;border-radius:999px;background:#fdf1d6;color:#7a4a05;font-size:14px}.pf-section-total b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:15px}.pf-section .pf-doctor{background:var(--surface-muted);border-color:transparent}.pf-doctor-name{white-space:nowrap}.pf-doctors{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.bx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.bx-card{padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column}.bx-card,.bx-head{display:flex;gap:10px}.bx-head{align-items:center}.bx-title{display:flex;flex-direction:column;flex:1 1;min-width:0;font-size:14.5px}.bx-icon{flex:none;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.bx-green{background:#e8f7f0;color:#0f8a5f}.bx-gold{background:#fdf1d6;color:#a16207}.bx-total{flex:none;padding:4px 12px;border-radius:999px;background:var(--surface-muted);font-weight:800;font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bx-lines{display:flex;flex-direction:column;gap:6px}.bx-line{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface-muted);border-radius:var(--radius-sm);font-size:14px}.bx-line-text,.bx-line>span:first-child{flex:1 1;min-width:0;display:flex;flex-direction:column}.bx-line b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bx-line.off{opacity:.55}.bx-line.off b{text-decoration:line-through}.bx-split{display:flex;flex-wrap:wrap;gap:6px}.bx-form{flex-wrap:wrap;align-items:center}.bx-form input[name=label]{flex:1 1 180px;min-width:0}.bx-form .bx-amount{width:130px;text-align:right}.bx-form input,.bx-form select{padding:7px 10px;font-size:14px}.bx-check{display:inline-flex;align-items:center;gap:6px;font-size:14px;white-space:nowrap}.bx-tick{width:24px;height:24px;border-radius:6px;border:2px solid #c4c9d1;background:var(--surface);color:#fff;font-weight:800;font-size:14px;line-height:1;cursor:pointer;padding:0}.bx-tick.on{background:#0f8a5f;border-color:#0f8a5f}.bt-board .bonus-table{min-width:1140px;min-width:1060px}.bt-board .bonus-table td,.bt-board .bonus-table th{padding-left:10px;padding-right:10px}.bt-person-text b{white-space:nowrap}.bt-board .bonus-save-status{min-width:16px}.bt-board .bonus-table th{white-space:normal}.bt-board .bonus-table{min-width:1000px}.bonus-entry-form.pending .bonus-item{opacity:.6;pointer-events:none}.bonus-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:50;max-width:min(560px,calc(100vw - 32px));padding:12px 18px;border-radius:12px;font-size:14.5px;font-weight:600;box-shadow:0 8px 24px rgba(16,24,40,.18);animation:bonus-toast-in .18s ease-out}.bonus-toast.ok{background:#0f8a5f;color:#fff}.bonus-toast.error{background:#b42318;color:#fff}@keyframes bonus-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.bx-card{border-top:3px solid var(--bx-accent,var(--border));gap:12px}.bx-card-green{--bx-accent:#0f8a5f}.bx-card-gold{--bx-accent:#d4a017}.bx-icon{width:40px;height:40px}.bx-title b{font-size:15.5px}.bx-total{padding:6px 14px;font-size:17px;white-space:nowrap}.bx-total small{font-size:12px;font-weight:600;opacity:.75}.bx-total-green{background:#e8f7f0;color:#0b6b49}.bx-total-gold{background:#fdf1d6;color:#7a4a05}.bx-empty{flex:1 1;display:flex;flex-direction:column;gap:6px;padding:22px 12px;text-align:center;border:1.5px dashed var(--border);border-radius:var(--radius-sm);background:#fbfcfd;font-size:14px}.bx-empty,.bx-empty-icon{align-items:center;justify-content:center}.bx-empty-icon{width:44px;height:44px;border-radius:50%;display:inline-flex;background:#e8f7f0;color:#0f8a5f;margin-bottom:2px}.bx-subtitle{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:-4px}.bx-person{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface-muted);border-radius:var(--radius-sm);font-size:14px}.bx-person-name{flex:1 1;min-width:0;font-weight:600;gap:6px;flex-wrap:wrap}.bx-avatar,.bx-person-name{display:inline-flex;align-items:center}.bx-avatar{flex:none;width:30px;height:30px;border-radius:50%;justify-content:center;background:#eef4ff;color:#2563eb;font-weight:800;font-size:11.5px}.bx-avatar.resident{background:#e8f7f0;color:#0f8a5f}.bx-avatar.tiny{width:18px;height:18px;font-size:9px}.bx-plus{color:#15803d}.bx-minus,.bx-plus{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bx-minus{color:#b42318}.bx-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:#fffbf0;border:1px solid #f3e3b5;border-radius:var(--radius-sm)}.bx-form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bx-input{padding:9px 12px;font-size:14.5px;border-radius:10px}.bx-input-wide{width:100%}.bx-form-row select.bx-input{flex:1 1 200px;min-width:0}.bx-money{position:relative;flex:0 1 200px;min-width:150px}.bx-money .bx-input{width:100%;padding-right:44px;text-align:right;font-weight:700;font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bx-money-suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12.5px;color:var(--text-muted);pointer-events:none}.bx-switch{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:auto}.bx-switch input{position:absolute;opacity:0;width:1px;height:1px}.bx-switch-track{position:relative;width:38px;height:22px;border-radius:999px;background:#d0d5dd;transition:background .15s}.bx-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}.bx-switch input:checked+.bx-switch-track{background:#0f8a5f}.bx-switch input:checked+.bx-switch-track:after{transform:translateX(16px)}.bx-switch input:focus-visible+.bx-switch-track{outline:2px solid #2563eb;outline-offset:2px}.bx-exp{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.bx-exp-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:14.5px}.bx-exp-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--text-muted)}.bx-payer{display:inline-flex;align-items:center;gap:5px}.bx-off-note{color:#b42318;font-weight:600}.bx-exp-amount{font-size:15.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.bx-exp.off{opacity:.6;background:var(--surface-muted)}.bx-exp.off .bx-exp-amount{text-decoration:line-through}.bx-trash{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:#9aa3af;cursor:pointer}.bx-trash:hover{background:#fdecec;color:#b42318}.bx-form .bx-input-wide{flex:none}.bx-form .bx-input{padding:9px 12px;font-size:14.5px}.bx-form .bx-money .bx-input{padding-right:44px;font-size:16px}.bx-form input.bx-input-wide[name=label]{flex:none;height:auto}.bx-form .bx-form-row{width:100%;justify-content:flex-start}.bx-card .bx-form{align-items:stretch;background:#f8f9fb;border:1px solid var(--border);padding:14px;gap:10px}.bx-card .bx-form .bx-input{background:#fff;border:1px solid #d5dae1;border-radius:10px;box-shadow:none;color:var(--text);transition:border-color .15s,box-shadow .15s}.bx-card .bx-form .bx-input::placeholder{color:#a0a7b2;font-weight:400}.bx-card .bx-form .bx-input:focus{outline:none;border-color:#c58a12;box-shadow:0 0 0 3px rgba(197,138,18,.18)}.bx-add,.bx-card .bx-form .bx-money .bx-input{font-weight:700}.bx-add{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border:none;border-radius:10px;background:#b7791f;color:#fff;font-size:14.5px;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.12);transition:background .15s}.bx-add:hover{background:#975f12}.bx-add:focus-visible{outline:2px solid #c58a12;outline-offset:2px}.bx-card .bx-form input.bx-input:focus,.bx-card .bx-form select.bx-input:focus{outline:none;border-color:#c58a12;box-shadow:0 0 0 3px rgba(197,138,18,.18);border-color:#c58a12!important}.month-picker{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.month-picker.pending{opacity:.6}.month-picker select{padding:7px 12px;border-radius:10px;font-size:15px;font-weight:700;min-width:170px;cursor:pointer}.month-picker-arrow{width:38px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:17px;cursor:pointer}.month-picker-arrow:hover{background:var(--surface-muted)}.month-picker-today{padding:7px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:13.5px;font-weight:600;cursor:pointer}.month-picker-today:hover{background:var(--surface-muted)}.bx-card-sky{--bx-accent:#0b84c6}.vc-card{margin-bottom:12px}.vc-sky,.vc-total{background:#e6f4fb;color:#0b6a99}.vc-total{font-size:13.5px}.vc-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;background:#f8f9fb;border:1px solid var(--border);border-radius:var(--radius-sm)}.vc-form .bx-input{background:#fff;border:1px solid #d5dae1;border-radius:10px;padding:8px 12px;font-size:14.5px;box-shadow:none}.vc-form input.bx-input:focus,.vc-form select.bx-input:focus{outline:none;border-color:#0b84c6!important;box-shadow:0 0 0 3px rgba(11,132,198,.16)}.vc-select{flex:1 1 220px;min-width:0;font-weight:600;cursor:pointer}.vc-range{gap:8px;flex-wrap:wrap}.vc-date,.vc-range{display:inline-flex;align-items:center}.vc-date{gap:6px;font-size:13.5px;color:var(--text-muted)}.vc-dash{color:#a0a7b2}.vc-add{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border:none;border-radius:10px;background:#0b84c6;color:#fff;font-size:14.5px;font-weight:700;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.12);transition:background .15s}.vc-add:hover{background:#096ca2}.vc-item{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.vc-item-text{flex:1 1;min-width:0;display:flex;flex-direction:column;font-size:14.5px}.vc-days{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:#e6f4fb;color:#0b6a99;font-size:12.5px;font-weight:700;white-space:nowrap}.bx-card-indigo{--bx-accent:#4f46e5}.rv-card{margin-bottom:12px}.rv-indigo{background:#eef0ff;color:#4338ca}.rv-stats{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.rv-stat{flex:1 1 160px;display:flex;flex-direction:column;gap:2px;padding:10px 14px;background:var(--surface-muted);border-radius:var(--radius-sm)}.rv-stat b{font-size:17px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rv-stat-label{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.rv-stat-main{background:#eef0ff}.rv-stat-main b{color:#3730a3}.rv-arrow{align-self:center;color:#a0a7b2;font-size:18px}.rv-details>summary{cursor:pointer;font-weight:600;font-size:14px;color:#4338ca}.rv-days{margin-top:10px;display:grid;grid-gap:4px;gap:4px}.rv-day{display:grid;grid-template-columns:70px 1fr 120px minmax(0,180px);align-items:center;grid-gap:10px;gap:10px;padding:4px 8px;border-radius:8px;font-size:13.5px}.rv-day:hover{background:var(--surface-muted)}.rv-day.weekend .rv-date{color:#b42318}.rv-bar{height:10px;border-radius:999px;background:#eef0ff;overflow:hidden}.rv-bar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#818cf8,#4f46e5)}.rv-sum{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rv-away{min-width:0}@media (max-width:640px){.rv-day{grid-template-columns:60px 1fr 100px}.rv-away{grid-column:1/-1}}.discharge-check{margin-top:14px;padding:12px 14px;border:1px solid #f3e3b5;border-left:4px solid #d4a017;border-radius:var(--radius-sm);background:#fffbf0}.discharge-check-title{font-weight:700;margin-bottom:8px}.discharge-check-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:6px 0;border-bottom:1px dashed #f0dfb0}.discharge-check-row label{font-weight:600}.discharge-check-confirm{margin-top:10px;font-weight:600}@supports selector(:has(*)){.status-form .discharge-check{display:none}.status-form:has(#wardStatus option[value=discharged]:checked) .discharge-check{display:block}}.resp-note{display:flex;gap:10px;align-items:flex-start;background:#f6f8fb;border-left:4px solid #94a3b8;font-size:14px}.resp-note-icon{font-size:18px;line-height:1.2}.discharge-check-row input{padding:7px 10px;font-size:15px;font-weight:700;text-align:right;background:#fff}.status-form .label-discharge{display:none}@supports selector(:has(*)){.status-form.can-discharge:has(#wardStatus option[value=discharged]:checked) .label-save{display:none}.status-form.can-discharge:has(#wardStatus option[value=discharged]:checked) .label-discharge{display:inline}}.discharge-check .discharge-submit{margin-top:10px}@supports selector(:has(*)){.status-form.has-amount-check:has(#wardStatus option[value=discharged]:checked) .status-submit{display:none}}.ph-hero{margin-bottom:14px;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px}.ph-top{display:flex;align-items:flex-start;gap:14px}.ph-avatar{flex:none;width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;letter-spacing:.02em}.ph-avatar.female{background:#fdecf3;color:#be185d}.ph-avatar.male{background:#eef4ff;color:#1d4ed8}.ph-id{flex:1 1;min-width:0}.ph-name{margin:0 0 8px;font-size:23px;line-height:1.2}.ph-chips{display:flex;flex-wrap:wrap;gap:6px}.ph-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:var(--surface-muted);font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}a.ph-chip-link{color:#1d4ed8;text-decoration:none;background:#eef4ff}.ph-chip-ok{background:#e7f6ec;color:#15803d}.ph-chip-warn{background:#fdf1d6;color:#92400e}.ph-back{flex:none}.ph-procedure{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;padding:12px 14px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--brand-soft),#fff 85%);border-left:4px solid var(--brand);font-size:15.5px}.ph-label{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--brand)}.ph-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:10px;gap:10px}.ph-fact{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--surface-muted);min-width:0}.ph-fact b{font-size:14.5px}.ph-fact-label{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.ph-progress{height:6px;margin-top:4px;background:#e2e6ec;overflow:hidden}.ph-progress,.ph-progress>span{display:block;border-radius:999px}.ph-progress>span{height:100%;background:linear-gradient(90deg,#34d399,#0f8a5f)}@media (max-width:640px){.ph-top{flex-wrap:wrap}.ph-back{order:-1;margin-left:auto}.ph-name{font-size:20px}}.patient-tabs.main-nav{padding:5px;gap:4px;margin:0 0 16px}.patient-tabs .tab-button{padding:9px 16px;font-size:14.5px;font-weight:600}.ph-facts{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:480px){.ph-facts{grid-template-columns:1fr}}@media (max-width:640px){.ph-hero{padding:14px}.ph-top .ph-back{display:none}.ph-top{flex-wrap:nowrap}.ph-avatar{width:46px;height:46px;font-size:16px}.ph-chip{white-space:normal}}.patient-page [role=tabpanel] .card{padding:18px 20px;border-radius:16px}.patient-page [role=tabpanel] .card>.section-title{font-size:15px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--text);margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.patient-page [role=tabpanel] .card>.section-title:before{width:4px;height:18px}.patient-page [role=tabpanel]>*>.section-title,.patient-page [role=tabpanel]>.section-title{font-size:13px}.patient-page [role=tabpanel] details>summary{cursor:pointer}.patient-page [role=tabpanel] .card input[type=date],.patient-page [role=tabpanel] .card input[type=datetime-local],.patient-page [role=tabpanel] .card input[type=text],.patient-page [role=tabpanel] .card select,.patient-page [role=tabpanel] .card textarea{border-radius:10px}.patient-page .card-subtitle{font-size:13.5px;font-weight:700;color:var(--text);margin-bottom:4px}.patient-page .card .status-form,.patient-page .surgery-done-form{padding:12px 14px;border-radius:12px;background:#f8f9fb}.patient-page .card .status-form>.card-subtitle{margin-bottom:10px}.st-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:8px;gap:8px;margin-bottom:14px}.st-fact{display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;border-radius:12px;background:var(--surface-muted)}.st-fact b{font-size:14.5px}.st-fact-ok{background:#e7f6ec}.st-fact-ok b{color:#15803d}.st-fact-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.op-form{margin-bottom:14px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:#fafbfc}.op-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.op-head b{font-size:15px}.op-head.done b{color:#15803d}.op-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:start}.op-grid .form-field{margin:0;min-width:0}.op-grid .form-field input,.op-grid .form-field select{width:100%}.op-grid .op-amount,.op-grid .op-beds{grid-column:span 2}.op-grid .op-beds{margin:26px 0 0}.op-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px}@media (max-width:820px){.op-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.op-grid{grid-template-columns:1fr}.op-grid .op-amount,.op-grid .op-beds{grid-column:auto;margin-top:0}}.op-grid,.st-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.op-grid .op-beds{grid-column:1/-1;margin:0}.op-grid .form-field label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:820px){.op-grid,.st-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.op-grid,.st-facts{grid-template-columns:1fr}}.patient-page .card .status-form{padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:#fafbfc}.patient-page .card .status-form>.card-subtitle{font-size:15px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.patient-page .card .status-form>.card-subtitle,.patient-page .op-head b{letter-spacing:0}.vt-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.vt-table{width:100%;border-collapse:collapse;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vt-table th{background:var(--surface-muted);text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.vt-table td,.vt-table th{padding:8px 12px;white-space:nowrap}.vt-table td{border-top:1px solid var(--border)}.vt-table .vt-time{color:var(--text-muted)}.vt-table .vt-cell{font-weight:600}.vt-table .vt-red{background:#fdecec;color:#b42318;font-weight:800}.vt-table .vt-yellow{background:#fdf6e3;color:#92400e;font-weight:800}.vt-table .vt-note{white-space:normal;color:var(--text-muted);min-width:140px}.sf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:end}.sf-grid .form-field{margin:0;min-width:0}.sf-grid .form-field input[type=text],.sf-grid .form-field select{width:100%}.sf-pills{display:flex;gap:6px;flex-wrap:wrap}.sf-pills label{position:relative;display:inline-flex;align-items:center;padding:8px 16px;border:1px solid #d5dae1;border-radius:999px;background:#fff;font-weight:600;font-size:14px;cursor:pointer}.sf-pills input{position:absolute;opacity:0;width:1px;height:1px}.sf-pills label:has(input:checked){background:#e7f6ec;border-color:#0f8a5f;color:#0b6b49}.sf-pills label:has(input:focus-visible){outline:2px solid #2563eb;outline-offset:2px}.sf-outcome{margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--border)}.sf-outcome-title{font-weight:700;font-size:14px;margin-bottom:10px}.sf-switch{margin:0 0 10px}.sf-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px}.sf-actions [role=status]{align-self:center!important;margin-bottom:0!important}@supports selector(:has(*)){.status-form .sf-outcome{display:none}.status-form:has(#wardStatus option[value=discharged]:checked) .sf-outcome,.status-form:has(#wardStatus option[value=transferred]:checked) .sf-outcome{display:block}.status-form.has-amount-check:has(#wardStatus option[value=discharged]:checked)>.sf-actions{display:none}}@media (max-width:640px){.sf-grid{grid-template-columns:1fr}}:where(input[type=text],input[type=search],input[type=tel],input[type=number],input[type=password],input[type=email],input[type=date],input[type=datetime-local],input[type=time],input:not([type]),select,textarea){font-family:inherit;font-size:14.5px;color:var(--text);background-color:#fff;border:1px solid #d0d5dd;border-radius:10px;padding:9px 12px;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}:where(input,select,textarea):hover{border-color:#b4bcc8}:where(input,textarea)::placeholder{color:#98a2b3}select:not([multiple]){-moz-appearance:none!important;appearance:none!important;-webkit-appearance:none!important;padding-right:34px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 11px center!important;background-size:15px!important;cursor:pointer}input[type=checkbox],input[type=radio]{accent-color:var(--brand);width:16px;height:16px;cursor:pointer}.form-field label{font-size:13px;font-weight:600;color:#475467}.form-field input,.form-field select,.form-field textarea{border-color:#d0d5dd;border-radius:10px;font-size:14.5px;min-height:42px}.form-field textarea{min-height:0}.ac-chevron{position:absolute;right:11px;top:50%;transform:translateY(-50%);pointer-events:none;color:#667085;display:inline-flex}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px;margin-bottom:16px}.kpi{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;border-left:4px solid var(--kpi);background:var(--kpi-bg)}.kpi b{font-size:24px;line-height:1.1;color:var(--kpi);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.kpi-label{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.kpi-blue{--kpi:#1d4ed8;--kpi-bg:#eef4ff}.kpi-red{--kpi:#b42318;--kpi-bg:#fdecec}.kpi-teal{--kpi:#0e7490;--kpi-bg:#e6f6fa}.kpi-green{--kpi:#15803d;--kpi-bg:#e7f6ec}.kpi-purple{--kpi:#6d28d9;--kpi-bg:#f1ecfe}.kpi-gold{--kpi:#a16207;--kpi-bg:#fdf1d6}.kpi-gold b{font-size:19px}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:560px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 14px;gap:0 14px}@media (max-width:640px){.form-grid-2{grid-template-columns:1fr}}.doc-row{display:flex;align-items:center;gap:12px}.doc-avatar{flex:none;width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef4ff;color:#1d4ed8;font-weight:800;font-size:14px}.doc-avatar.nurse{background:#fdecf3;color:#be185d}.doc-avatar.admin{background:var(--brand-soft);color:var(--brand)}.info-details>summary{cursor:pointer;font-weight:600;font-size:14px;color:#475467}.info-details[open]>summary{margin-bottom:4px}.choice-list{display:grid;grid-gap:8px;gap:8px}.choice-list>label{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;font-weight:500!important;color:var(--text)!important;font-size:14.5px!important;cursor:pointer}.choice-list>label:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.form-field .sf-pills label{color:var(--text)}@media (max-width:640px){.form-grid-2{grid-template-columns:minmax(0,1fr)}}.form-grid-2 .form-field,.form-grid-2 select{min-width:0}.form-grid-2 select{width:100%}.bx-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}@media (max-width:480px){.bx-head{flex-wrap:wrap}}.card table thead th{background:var(--surface-muted);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.card table thead th:first-child{border-top-left-radius:8px}.card table thead th:last-child{border-top-right-radius:8px}@media print{.card table thead th{background:none}}.pc-head{display:flex;flex-wrap:wrap;gap:6px 8px;margin-bottom:4px}.pc-chip,.pc-head{align-items:center}.pc-chip{display:inline-flex;padding:2px 9px;border-radius:999px;background:var(--surface-muted);color:#475467;font-size:12.5px;font-weight:600;white-space:nowrap}.pc-ward{background:#eef4ff;color:#1d4ed8;font-weight:700}.pc-tg-ok{background:#e7f6ec;color:#15803d}.pc-tg-no{background:#f3f4f6;color:#98a2b3}.pc-state{font-size:14px;font-weight:600;color:#475467;margin-bottom:2px}.patient-card.status-none{border-left-color:#cbd2db}.patient-card.status-hospital{border-left-color:#94a3b8}.badge.status-hospital{color:#475467;background:#eef1f5}.pc-facts{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}.pc-fact{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:8px;background:#f1f5f9;color:#334155;font-size:13px;font-weight:600;white-space:nowrap}.pc-fact-ok{background:#e7f6ec;color:#15803d}.pc-fact-plan{background:#eef4ff;color:#1e40af}.pc-fact-warn{background:#fff4e5;color:#b45309}.wd-block{margin:14px 0 8px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafbfc}.wd-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.wd-count{min-width:28px;text-align:center;padding:2px 10px;border-radius:999px;background:#e7f6ec;color:#15803d;font-weight:800}.wd-days{display:flex;flex-wrap:wrap;gap:4px}.wd-day{width:38px;padding:4px 0;border-radius:8px;border:1px solid transparent;display:flex;flex-direction:column;align-items:center;line-height:1.15;cursor:pointer;font-family:inherit}.wd-num{font-weight:800;font-size:14px}.wd-name{font-size:10.5px;text-transform:uppercase;opacity:.8}.wd-work{background:#fff;border-color:#cfd6df;color:var(--text)}.wd-weekend{background:#eceff3;color:#98a2b3}.wd-holiday{background:#fdecec;border-color:#f5b5b5;color:#b42318}.wd-extra{background:#e7f6ec;border-color:#a6dbb7;color:#15803d}.wd-day:hover{filter:brightness(.96)}.wd-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12px;color:var(--text-muted)}.wd-dot{display:inline-block;width:11px;height:11px;border-radius:3px;border:1px solid #cfd6df;vertical-align:-1px;margin-right:4px}.wd-dot.wd-holiday{border-color:#f5b5b5}.wd-dot.wd-extra{border-color:#a6dbb7}.sp-details{margin-top:6px}.sp-details>summary{cursor:pointer;font-size:12px;font-weight:600;color:#1d4ed8}.sp-lines{margin-top:6px;min-width:250px;display:grid;grid-gap:3px;gap:3px;font-size:12.5px}.sp-line{display:flex;justify-content:space-between;gap:12px;color:#475467}.sp-line b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.sp-plus b{color:#15803d}.sp-minus b{color:#b42318}.sp-sum{margin-top:3px;padding-top:4px;border-top:1px dashed var(--border)}.sp-total{padding-top:4px;border-top:1px solid var(--border);font-weight:700}.sp-total span{color:var(--text)}.sp-note{font-size:11.5px;color:#98a2b3}.sp-sum{border-top:0}.view-switch{display:inline-flex;margin-left:auto;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--surface-muted)}.view-switch a{padding:6px 16px;border-radius:8px;font-size:14px;font-weight:600;color:var(--text-muted);text-decoration:none}.view-switch a.active{background:#fff;color:var(--text);box-shadow:var(--shadow)}.day-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.day-bar.pending{opacity:.65}.day-bar input[type=date]{font-size:16px;font-weight:600;padding:9px 12px;border-radius:12px}.day-pill{padding:9px 18px;border-radius:999px;border:1px solid #d0d5dd;background:#fff;color:var(--text);font-size:14.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.day-pill:hover{background:var(--surface-muted)}.day-pill.active{background:var(--brand);border-color:var(--brand);color:#fff}.day-label{color:var(--text-muted);font-size:14px}.day-pill-month{margin-left:auto}.day-pill-month.active{background:#1d4ed8;border-color:#1d4ed8}.discharge-check .cancel-switch{margin-top:10px}.discharge-check .cancel-fields{display:none;margin-top:10px;gap:10px}.discharge-check:has(input[name=cancelled]:checked) .cancel-fields{display:grid}.status-form:has(input[name=cancelled]:checked)>.sf-actions{display:none}fieldset.month-lock{border:0;padding:0;margin:0;min-width:0}fieldset.month-lock:disabled button,fieldset.month-lock:disabled input,fieldset.month-lock:disabled select{cursor:not-allowed}fieldset.month-lock:disabled button{opacity:.55}.month-closed-banner,.month-closed-note{padding:12px 14px;border-radius:10px;background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;font-size:14px;line-height:1.45}.month-closed-banner{margin-bottom:12px}.month-close-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}fieldset.month-lock:disabled input,fieldset.month-lock:disabled select{background:var(--surface-muted)!important;color:var(--text-muted)!important}fieldset.month-lock:disabled .bx-switch,fieldset.month-lock:disabled .wd-strip{opacity:.6}.badge.ward-in_ward{color:var(--green);background:var(--green-bg)}.badge.ward-awaiting_surgery{color:var(--yellow);background:var(--yellow-bg)}.badge.ward-in_icu{color:var(--red);background:var(--red-bg)}.badge.ward-in_recovery{color:#6d28d9;background:#f3e8ff}.death-note{display:none;color:var(--red)}@supports selector(:has(*)){.status-form:has(#outcome option[value=death]:checked) .obs-choice{display:none}.status-form:has(#outcome option[value=death]:checked) .death-note{display:block}}.user-profile-link{display:inline-flex;align-items:center;gap:inherit;color:inherit;text-decoration:none}.user-profile-link:hover .user-name{text-decoration:underline}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_62111f{font-family:Inter,Inter Fallback;font-style:normal}