/* ASTRAAL HELIX(TM) design tokens - Emerald / Aqua / Charcoal enterprise theme */
:root{--hx-primary:#0F8A5F;--hx-primary-d:#0B6B4A;--hx-accent:#18A7C9;--hx-ink:#2B2F33;--hx-muted:#6B7580;--hx-surface:#F4F6F7;--hx-line:#E3E7EA;--hx-critical:#C62828;--hx-warning:#E0A100;--hx-ok:#2E7D32}
body{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;color:var(--hx-ink)}
.content-wrapper{background:var(--hx-surface)}
.hx-demo-ribbon{position:fixed;top:0;left:0;right:0;z-index:1040;height:22px;line-height:22px;font-size:11px;letter-spacing:.3px;text-align:center;background:#FFF4D6;color:#7A5B00;border-bottom:1px solid #F0DC9A;font-weight:600}
.layout-navbar-fixed .wrapper .main-header{top:22px}.main-sidebar{top:22px}.layout-fixed .wrapper .sidebar{height:calc(100vh - 79px)}
.layout-navbar-fixed .wrapper .content-wrapper{margin-top:79px}
.hx-sidebar{background:#15211D!important}.hx-sidebar .brand-link{border-bottom:1px solid rgba(255,255,255,.08)!important;display:flex;align-items:center}
.hx-logo{display:inline-flex;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--hx-primary),var(--hx-accent));color:#fff;font-weight:800;align-items:center;justify-content:center;margin:0 10px 0 6px}
.hx-hosp{color:#8FB5A6;text-transform:uppercase;letter-spacing:.6px;font-size:10.5px}
.nav-sidebar .nav-link.active,.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active{background:var(--hx-primary)!important;color:#fff!important}
.nav-treeview>.nav-item>.nav-link.active{background:rgba(24,167,201,.18)!important;color:#fff!important}
.nav-sidebar .nav-link p{font-size:13.5px}
.hx-title{font-size:1.45rem;font-weight:700;margin:0}.hx-crumbs{background:none;padding:0;margin:2px 0 0;font-size:12px}
.btn-hx{background:var(--hx-primary);color:#fff;border-color:var(--hx-primary)}.btn-hx:hover{background:var(--hx-primary-d);color:#fff}
.btn-outline-hx{color:var(--hx-primary);border-color:var(--hx-primary)}.btn-outline-hx:hover{background:var(--hx-primary);color:#fff}
.text-hx{color:var(--hx-primary)!important}.text-aqua{color:var(--hx-accent)!important}
.hx-search{min-width:420px}.hx-search .form-control{border-radius:6px 0 0 6px}
.hx-avatar{display:inline-flex;width:26px;height:26px;border-radius:50%;background:var(--hx-accent);color:#fff;align-items:center;justify-content:center;font-weight:700;font-size:12px}
.hx-card{border:1px solid var(--hx-line);box-shadow:0 1px 2px rgba(16,24,40,.04);border-radius:10px}
.hx-card>.card-header{background:#fff;border-bottom:1px solid var(--hx-line);border-radius:10px 10px 0 0}.hx-card .card-title{font-weight:600;font-size:15px}
.hx-kpi-link{color:inherit}.hx-kpi-link:hover{color:inherit;text-decoration:none}
.hx-kpi{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--hx-line);border-radius:10px;padding:14px;margin-bottom:14px;min-height:88px;transition:box-shadow .15s}
.hx-kpi:hover{box-shadow:0 4px 14px rgba(16,24,40,.08)}
.hx-kpi-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 44px}
.hx-kpi-primary .hx-kpi-icon{background:#E3F4ED;color:var(--hx-primary)}.hx-kpi-aqua .hx-kpi-icon{background:#E0F4FA;color:var(--hx-accent)}
.hx-kpi-warn .hx-kpi-icon{background:#FFF4D6;color:#B07F00}.hx-kpi-danger .hx-kpi-icon{background:#FDE8E8;color:var(--hx-critical)}.hx-kpi-ink .hx-kpi-icon{background:#ECEEF0;color:var(--hx-ink)}
.hx-kpi-val{font-size:22px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.hx-kpi-label{font-size:12px;color:var(--hx-muted);text-transform:uppercase;letter-spacing:.4px}.hx-kpi-sub{font-size:12px;color:var(--hx-muted)}
.hx-badge{font-weight:600;letter-spacing:.2px;font-size:11px;padding:.3em .55em}
.table{font-variant-numeric:tabular-nums}.table thead th{font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--hx-muted);border-top:0;background:#FAFBFC}
.table td{vertical-align:middle}
.hx-empty{text-align:center;color:var(--hx-muted);padding:28px}.hx-empty i{font-size:28px;display:block;margin-bottom:8px;opacity:.5}
.hx-banner{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--hx-line);border-left:4px solid var(--hx-primary);border-radius:10px;padding:12px 16px;margin-bottom:14px}
.hx-banner-avatar{width:48px;height:48px;border-radius:50%;background:#E3F4ED;color:var(--hx-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px}
.hx-banner-name{font-size:17px;font-weight:700}.hx-uhid{font-family:ui-monospace,Consolas,monospace;font-size:12.5px;background:#E0F4FA;color:#0B6F87;border-radius:4px;padding:2px 6px;margin-left:6px}
.hx-banner-meta{color:var(--hx-muted);font-size:13px}
.hx-stepper{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}.hx-step{font-size:11.5px;padding:4px 10px 4px 4px;border-radius:14px;background:#ECEFF1;color:#607080;display:flex;align-items:center;gap:6px}
.hx-step span{width:18px;height:18px;border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.hx-step.done{background:#E3F4ED;color:var(--hx-primary)}.hx-step.current{background:var(--hx-primary);color:#fff}.hx-step.current span{color:var(--hx-primary)}
.hx-timeline{position:relative;padding-left:4px}.hx-tl-day{font-weight:700;font-size:12px;color:var(--hx-muted);text-transform:uppercase;letter-spacing:.5px;margin:14px 0 6px}
.hx-tl-item{display:flex;gap:10px;position:relative;padding-bottom:10px}.hx-tl-time{width:44px;font-size:12px;color:var(--hx-muted);padding-top:2px;font-variant-numeric:tabular-nums}
.hx-tl-dot{width:12px;height:12px;border-radius:50%;margin-top:4px;flex:0 0 12px;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--hx-line)}
.hx-tl-item:before{content:"";position:absolute;left:59px;top:16px;bottom:-2px;width:2px;background:var(--hx-line)}
.hx-tl-body{background:#fff;border:1px solid var(--hx-line);border-radius:8px;padding:8px 12px;flex:1}.hx-tl-domain{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.hx-bedboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
.hx-bed{border-radius:8px;padding:8px;font-size:12px;border:1px solid var(--hx-line);background:#fff;min-height:78px;display:block;color:inherit}
.hx-bed:hover{text-decoration:none;color:inherit;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.hx-bed b{font-size:13px}.hx-bed.OCCUPIED{border-left:4px solid var(--hx-accent);background:#F2FBFD}.hx-bed.AVAILABLE{border-left:4px solid var(--hx-ok)}
.hx-bed.CLEANING{border-left:4px solid var(--hx-warning);background:#FFFBEF}.hx-bed.BLOCKED,.hx-bed.MAINTENANCE{border-left:4px solid var(--hx-critical);background:#FDF3F3}.hx-bed.RESERVED{border-left:4px solid #7B5EA7}
.hx-ai{border:1px solid #CFE3F6;border-radius:10px;background:#F7FBFF;margin-bottom:12px}.hx-ai-head{background:#E6F1FC;color:#1F4E79;font-weight:700;font-size:12px;letter-spacing:.4px;padding:8px 12px;border-radius:10px 10px 0 0}
.hx-ai-body{padding:12px;white-space:normal}.hx-ai-foot{padding:6px 12px;border-top:1px dashed #CFE3F6}
.hx-flash{margin-top:4px}.nav-tabs .nav-link.active{font-weight:600;color:var(--hx-primary)}
.hx-login{min-height:100vh;display:flex;background:linear-gradient(135deg,#0B3B2C 0%,#0F8A5F 55%,#18A7C9 100%)}
.hx-login-left{flex:1;color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:center}.hx-login-right{width:560px;background:#fff;padding:36px;overflow:auto;max-height:100vh}
.hx-persona{display:flex;align-items:center;gap:8px;border:1px solid var(--hx-line);border-radius:8px;padding:6px 8px;font-size:12.5px;cursor:pointer;background:#fff;width:100%;text-align:left;margin-bottom:6px}
.hx-persona:hover{border-color:var(--hx-primary);background:#F3FBF7}
.hx-mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}.hx-pre{background:#1E2A26;color:#CFE9DD;padding:12px;border-radius:8px;font-size:12px;max-height:380px;overflow:auto;white-space:pre-wrap}
.small-box-footer{display:none}.dataTables_wrapper .dataTables_filter input{border-radius:6px}
@media(max-width:768px){.hx-search{min-width:0;display:none!important}.hx-login-left{display:none}.hx-login-right{width:100%}}
@media print{.main-header,.main-sidebar,.hx-demo-ribbon,.main-footer,.no-print{display:none!important}.content-wrapper{margin:0!important}}
