:root{font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;font-synthesis:none;color:#1d3445;background:#f6f8fb;--ink:#1d3445;--muted:#718395;--border:#e4ebf0;--bg:#f6f8fb;--surface:#fff;--brand:#176584;--brand2:#0e4b67;--brand-light:#eaf5f7;--teal:#238c7b;--red:#c65357;--gold:#c58626;--shadow:0 9px 30px rgba(26,57,77,.045)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;scroll-behavior:smooth}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}svg{display:block;flex:none}a{color:var(--brand)}.app-shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;align-self:flex-start;min-width:248px;width:248px;height:100vh;background:#fff;border-right:1px solid var(--border);padding:27px 15px 18px;display:flex;flex-direction:column;z-index:20}.brand-row{display:flex;align-items:center;gap:12px;padding:5px 12px 26px}.brand-symbol{width:40px;height:40px;background:linear-gradient(145deg,#197695,#0d4866);color:#fff;border-radius:13px;display:grid;place-items:center;box-shadow:0 8px 16px rgba(14,75,103,.16)}.brand-name{font-size:22px;font-weight:820;letter-spacing:-.8px;line-height:1}.brand-sub{color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.04em;margin-top:5px}.nav-caption{font-size:10px;letter-spacing:1.3px;color:#9aacb8;font-weight:800;padding:12px 15px 8px}.nav{display:flex;flex-direction:column;gap:5px}.nav-btn{display:flex;align-items:center;gap:11px;width:100%;background:transparent;color:#526c7f;border:0;border-radius:11px;padding:12px 13px;text-align:left;font-size:13px;font-weight:650}.nav-btn:hover{background:#f1f7fa}.nav-btn.active{background:var(--brand-light);color:#135a79;font-weight:780}.nav-btn.active .nav-icon{color:#176584}.nav-icon{width:20px;color:#748c9e}.nav-btn .count{margin-left:auto;border-radius:99px;background:#e0eef1;color:#236783;padding:3px 6px;font-size:10px}.sidebar-bottom{margin-top:auto;padding:18px 11px 0}.side-info{background:#f0f6f8;border-radius:13px;padding:13px}.side-info strong{font-size:12px}.side-info p{font-size:11px;color:#688392;line-height:1.5;margin:5px 0 0}.main{width:calc(100% - 248px);min-width:0}.topbar{height:77px;display:flex;align-items:center;justify-content:space-between;padding:0 37px;background:rgba(255,255,255,.83);border-bottom:1px solid var(--border);gap:16px}.crumb{font-size:12px;color:#8393a0;font-weight:600}.page-label{font-size:17px;font-weight:750;color:#253e50;letter-spacing:-.45px;margin-top:3px}.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{width:38px;height:38px;border:1px solid var(--border);background:#fff;border-radius:11px;display:grid;place-items:center;color:#617d8e}.avatar{width:38px;height:38px;background:#deedf0;color:#176584;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:14px}.profile-mini{line-height:1.1;max-width:120px}.profile-mini strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-mini span{color:var(--muted);font-size:11px}.container{padding:31px 37px 95px;max-width:1550px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:22px}.page-head h1{font-size:26px;letter-spacing:-1px;line-height:1.2;margin:0;font-weight:800}.page-head p{font-size:13px;color:var(--muted);margin:8px 0 0}.eyebrow{color:#2d87a1;font-size:11px;letter-spacing:1.45px;font-weight:830;text-transform:uppercase;margin-bottom:9px}.page-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{border:1px solid transparent;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:41px;padding:9px 15px;font-size:12px;font-weight:750;transition:.18s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--brand);color:white;box-shadow:0 6px 12px rgba(23,101,132,.13)}.btn.primary:hover{background:var(--brand2)}.btn.secondary{border-color:var(--border);background:#fff;color:#38556a}.btn.soft{background:#eaf5f7;color:var(--brand)}.btn.danger{background:#fff1f0;color:#b34343;border-color:#f4d4d4}.btn.small{min-height:32px;padding:6px 11px;font-size:11px}.btn:focus-visible,.icon-btn:focus-visible,.nav-btn:focus-visible,.bed-card:focus-visible{outline:3px solid #a0cedc;outline-offset:2px}.mode-warning{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 16px;border:1px solid #e5ddc1;background:#fffcf1;border-radius:13px;margin-bottom:24px}.mode-warning .text{font-size:12px;color:#7b6737;line-height:1.45}.mode-warning strong{color:#77602c}.mode-warning .mode{font-size:10px;letter-spacing:.4px;font-weight:850;padding:6px 10px;background:#fff2c6;border-radius:7px;color:#8a6819;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:21px}.stat-card{border-radius:16px;background:#fff;border:1px solid var(--border);padding:19px 20px;box-shadow:var(--shadow);position:relative;min-width:0}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat-icon{border-radius:11px;width:38px;height:38px;display:grid;place-items:center;background:#eef6f9;color:#276e87}.stat-icon.green{background:#eaf7f2;color:#208b76}.stat-icon.amber{background:#fff7e7;color:#c28a32}.stat-icon.purple{background:#f3f0fd;color:#7865ac}.stat-value{font-size:29px;font-weight:820;letter-spacing:-1px;margin:13px 0 4px;line-height:1}.stat-label{font-size:12px;color:#687e8e;font-weight:620}.stat-foot{margin-top:8px;color:#a1afb8;font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,1fr);gap:20px}.panel{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px 21px;box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px}.panel-title{font-weight:780;font-size:14px;letter-spacing:-.2px}.panel-desc{font-size:11px;color:var(--muted);margin-top:5px}.subtle-link{font-size:11px;font-weight:750;color:var(--brand);border:0;background:transparent;padding:4px}.unit-row{display:grid;grid-template-columns:minmax(90px,1fr) 2fr 65px;gap:15px;align-items:center;padding:11px 0}.unit-name{font-size:12px;font-weight:700}.unit-meta{font-size:10px;color:#91a0a9;margin-top:3px}.progress{height:8px;background:#ecf1f4;border-radius:99px;overflow:hidden}.progress>span{height:100%;background:linear-gradient(90deg,#238d94,#2b7698);border-radius:99px;display:block}.unit-percent{text-align:right;font-size:12px;font-weight:800;color:#46697b}.activity{display:flex;gap:11px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #edf0f4}.activity:last-child{border-bottom:0}.activity-dot{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#eef6f9;color:var(--brand)}.activity strong{font-size:12px;font-weight:740}.activity p{font-size:11px;color:var(--muted);margin:4px 0 0;line-height:1.45}.activity time{font-size:10px;color:#9ba9b3;margin-left:auto;white-space:nowrap}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.quick-action{border:1px solid var(--border);background:#fff;border-radius:14px;padding:13px;text-align:left;display:flex;align-items:center;gap:10px;color:#34586e;font-size:12px;font-weight:720}.quick-action .tile{width:34px;height:34px;border-radius:10px;background:#eaf5f7;display:grid;place-items:center}.quick-action:hover,.bed-card:hover{border-color:#a3c5d4;background:#fbfefe}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:16px}.search{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:11px;padding:0 12px;min-height:42px;min-width:240px;flex:1;max-width:390px;color:#8499a7}.search input{outline:none;border:0;width:100%;min-height:40px;background:transparent;color:var(--ink);font-size:12px}.field-select{border:1px solid var(--border);border-radius:10px;min-height:41px;background:#fff;padding:0 11px;color:#466176;font-size:12px;max-width:100%}.pill-group{display:flex;background:#eff4f7;padding:4px;border-radius:11px;gap:4px}.pill{border:0;background:transparent;color:#6d8495;font-size:11px;font-weight:700;padding:8px 12px;border-radius:8px;white-space:nowrap}.pill.active{background:#fff;color:#176584;box-shadow:0 2px 7px rgba(28,69,91,.07)}.table-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:#91a1ab;font-weight:850;padding:16px 18px;background:#fcfdfe;border-bottom:1px solid var(--border);white-space:nowrap}td{font-size:12px;color:#465e6d;padding:16px 18px;border-bottom:1px solid #edf1f5}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfe}.strong-cell{font-size:12px;font-weight:760;color:#253d50}.small-muted{font-size:10px;color:#9ba8b3;margin-top:4px}.status{padding:5px 9px;font-size:10px;font-weight:790;border-radius:8px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.status:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.status.active,.status.available{background:#e7f7ee;color:#2a926a}.status.waiting,.status.cleaning,.status.reserved{background:#fff4da;color:#b4872c}.status.discharged,.status.maintenance{background:#f0f2f5;color:#85929c}.status.occupied{background:#e9f1fb;color:#387db2}.empty{padding:42px 17px;text-align:center;color:#8ea1ae;font-size:12px}.empty strong{display:block;color:#4e697c;margin-bottom:5px;font-size:14px}.bed-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.bed-card{text-align:left;min-height:140px;border-radius:13px;padding:15px;border:1px solid var(--border);background:#fff;position:relative;display:flex;flex-direction:column;justify-content:space-between}.bed-card .code{font-size:14px;font-weight:820;color:#29475a}.bed-card .room{font-size:11px;color:#8d9eaa;margin-top:3px}.bed-card .bed-bottom{display:flex;justify-content:space-between;align-items:end;gap:6px}.bed-card .patient-mini{font-size:11px;color:#4e6777;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:95px}.bed-card.occupied{background:#f6fafe;border-color:#dbeaf2}.bed-card.available{background:#f9fdfa;border-color:#deeee4}.bed-card.cleaning{background:#fffdf7;border-color:#f4ead3}.bed-card.maintenance{background:#fafafa}.section-title{font-size:13px;font-weight:800;margin:23px 0 15px}.bed-head{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px}.legend{display:flex;gap:13px;flex-wrap:wrap;margin-bottom:17px;font-size:11px;color:#778b9a}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:7px;height:7px;border-radius:50%}.legend-dot.occupied{background:#448ab5}.legend-dot.available{background:#38a275}.legend-dot.cleaning{background:#d59a36}.legend-dot.maintenance{background:#91a0a9}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.info-card{padding:15px;background:#f5f9fa;border-radius:12px;color:#536e7c;font-size:12px;line-height:1.6}.info-card strong{color:#244d64}.timeline{position:relative}.timeline-item{display:grid;grid-template-columns:35px minmax(0,1fr);gap:11px;position:relative;padding-bottom:20px}.timeline-item:before{content:'';position:absolute;top:30px;bottom:-2px;left:16px;width:1px;background:#e7edf1}.timeline-item:last-child:before{display:none}.timeline-icon{height:33px;width:33px;background:#eaf5f7;color:#24748e;border-radius:11px;display:grid;place-items:center;z-index:1}.timeline-main strong{font-size:12px}.timeline-main .detail{font-size:11px;color:#688291;margin-top:5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.timeline-main .muted{font-size:10px;color:#a2b0ba;margin-top:5px}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.detail-header h2{font-size:19px;letter-spacing:-.5px;margin:3px 0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-data{padding:12px;background:#f7f9fb;border-radius:10px;min-width:0}.detail-data label{display:block;color:#8c9eaa;font-size:10px;margin-bottom:5px}.detail-data strong{display:block;color:#365166;font-size:12px;overflow-wrap:anywhere}.drawer-overlay,.modal-overlay{position:fixed;inset:0;background:rgba(16,43,60,.43);z-index:50;display:flex}.drawer-overlay{justify-content:flex-end}.drawer{width:min(510px,100vw);height:100%;background:#fff;overflow:auto;padding:27px 25px 45px;box-shadow:-20px 0 60px rgba(15,43,64,.12)}.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.drawer-title{font-size:11px;font-weight:800;color:#6c899b;text-transform:uppercase;letter-spacing:1px}.close{border:0;background:#f3f6f8;color:#688393;width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.detail-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.modal-overlay{align-items:center;justify-content:center;padding:17px;z-index:60}.modal{background:#fff;border-radius:18px;width:min(560px,100%);max-height:min(90vh,900px);overflow-y:auto;padding:25px;box-shadow:0 25px 70px rgba(19,47,67,.19)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:19px}.modal h2{font-size:20px;margin:0 0 5px;letter-spacing:-.5px}.modal p{font-size:12px;color:var(--muted);line-height:1.6;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}.form-row.full{grid-column:1/-1}.form-row label{font-size:11px;color:#567080;font-weight:740}.form-row input,.form-row select,.form-row textarea{border:1px solid #dfe8ee;border-radius:10px;background:#fff;color:#304b5e;font-size:12px;min-height:43px;padding:10px 12px;outline:0;width:100%}.form-row textarea{resize:vertical;min-height:85px}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:#75b1c6;box-shadow:0 0 0 3px #e8f5f8}.form-row .help{font-size:10px;color:#95a4af}.modal-foot{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #edf0f3;padding-top:17px;margin-top:8px}.mini-kpi{font-size:12px;color:#78909c}.notes{background:#f7fafb;border:1px solid #e5edf1;padding:13px;border-radius:12px;font-size:11px;line-height:1.6;color:#657e8d}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-item{padding:18px;background:#fff;border-radius:15px;border:1px solid var(--border)}.settings-item h3{font-size:13px;margin:0 0 8px}.settings-item p{font-size:11px;line-height:1.6;color:#8095a2;min-height:48px}.bottom-nav{display:none}.boot{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:var(--brand)}.boot p{color:var(--muted);font-size:12px}.boot-mark{font-size:37px;margin-bottom:15px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 0%,#e0eff3,transparent 45%),#f6f8fb}.login-card{background:#fff;border:1px solid var(--border);width:min(420px,100%);padding:30px;border-radius:21px;box-shadow:0 22px 55px rgba(32,70,91,.07)}.login-logo{height:52px;width:52px;display:grid;place-items:center;background:var(--brand);border-radius:16px;color:#fff}.login-card h1{font-size:24px;letter-spacing:-1px;margin:19px 0 7px}.login-card .intro{font-size:12px;color:var(--muted);line-height:1.55;margin-bottom:23px}#toast-host{position:fixed;right:18px;bottom:18px;z-index:100;display:grid;gap:8px;max-width:360px}.toast{background:#23495d;color:#fff;padding:13px 16px;font-size:12px;line-height:1.5;border-radius:11px;box-shadow:0 10px 30px #102e4b33}.toast.error{background:#ad4548}.loading{opacity:.55;pointer-events:none}@media(max-width:1150px){.sidebar{width:210px;min-width:210px}.main{width:calc(100% - 210px)}.container{padding:26px 22px 100px}.topbar{padding:0 22px}.bed-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.dashboard-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.sidebar{display:none}.main{width:100%}.topbar{height:66px;padding:0 17px}.container{padding:23px 15px 105px}.page-head{align-items:flex-start}.page-head h1{font-size:23px}.page-head p{font-size:12px}.page-actions{gap:5px}.page-actions .btn.secondary{display:none}.stats{gap:10px}.stat-card{padding:14px}.stat-value{font-size:25px}.stat-icon{width:32px;height:32px}.stat-label{font-size:11px}.stat-foot{font-size:9px}.panel{padding:16px}.quick-actions{margin:15px 0}.quick-action{flex-direction:column;align-items:flex-start;font-size:10px;padding:12px 9px}.profile-mini{display:none}.mode-warning{align-items:start}.mode-warning .mode{font-size:9px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e2eaf0;justify-content:space-around;z-index:25;padding:8px 7px calc(8px + env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:transparent;color:#8c9ea9;min-width:52px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:9px;font-weight:750;padding:3px 4px}.bottom-nav button.active{color:var(--brand)}.bottom-nav button.active svg{stroke-width:2.7}.bed-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bed-card{min-height:125px;padding:12px}.pill-group{overflow-x:auto;max-width:100%}.toolbar{align-items:stretch}.search{max-width:none;min-width:150px}.form-grid{grid-template-columns:1fr}.form-row.full{grid-column:auto}.modal{padding:20px 16px}.drawer{padding:20px 17px 90px}.settings-grid{grid-template-columns:1fr}.unit-row{grid-template-columns:minmax(80px,1fr) 1.25fr 43px;gap:8px}.unit-percent{font-size:10px}#toast-host{left:13px;right:13px;bottom:82px;max-width:none}}@media(max-width:380px){.page-head h1{font-size:21px}.brand-sub{font-size:9px}.unit-row{grid-template-columns:92px 1fr 40px}.stat-card{padding:12px}.stat-value{font-size:22px}.page-actions .btn{padding:8px 10px;font-size:10px}}
