:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--primary-border:#bfdbfe;--secondary:#0f172a;--secondary-light:#f8fafc;--accent-emerald:#059669;--accent-emerald-light:#ecfdf5;--accent-emerald-border:#a7f3d0;--accent-amber:#d97706;--accent-amber-light:#fffbeb;--accent-amber-border:#fde68a;--accent-rose:#e11d48;--accent-rose-light:#fff1f2;--accent-rose-border:#fecdd3;--accent-indigo:#4f46e5;--accent-indigo-light:#eef2ff;--text-main:#0f172a;--text-muted:#64748b;--text-subtle:#94a3b8;--bg-page:#f8fafc;--bg-card:#fff;--bg-card-subtle:#f1f5f9;--border-light:#e2e8f0;--border-focus:#3b82f6;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #00000008;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-page);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.app-container{min-height:100vh;display:flex}.sidebar{color:#f8fafc;z-index:40;background-color:#0f172a;flex-direction:column;flex-shrink:0;width:260px;height:100vh;transition:all .2s;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid #1e293b;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.brand-badge{color:#fff;border-radius:var(--radius-sm);letter-spacing:-.5px;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);justify-content:center;align-items:center;padding:.35rem .65rem;font-size:1.1rem;font-weight:800;display:inline-flex}.brand-title{color:#fff;align-items:center;gap:.35rem;font-size:1.2rem;font-weight:700;display:flex}.brand-sub{color:#94a3b8;font-size:.72rem;font-weight:400}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem .75rem;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius-sm);color:#94a3b8;align-items:center;gap:.75rem;padding:.65rem .85rem;font-size:.9rem;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{color:#fff;background-color:#1e293b}.nav-item.active{background-color:var(--primary);color:#fff}.sidebar-footer{background-color:#0b1120;border-top:1px solid #1e293b;padding:1rem 1.25rem}.main-content{background-color:var(--bg-page);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border-light);z-index:30;background-color:#fff;justify-content:space-between;align-items:center;padding:.85rem 1.75rem;display:flex;position:sticky;top:0}.page-body{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:1.75rem}.card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.card-title{color:var(--text-main);font-size:1.05rem;font-weight:600}.card-body{padding:1.25rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:.5rem;padding:1.25rem;transition:transform .15s,box-shadow .15s;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-top{justify-content:space-between;align-items:center;display:flex}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.stat-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex}.stat-value{color:var(--text-main);letter-spacing:-.5px;font-size:1.75rem;font-weight:700}.stat-subtext{color:var(--text-muted);font-size:.78rem}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-emerald{background-color:var(--accent-emerald-light);color:var(--accent-emerald);border:1px solid var(--accent-emerald-border)}.badge-amber{background-color:var(--accent-amber-light);color:var(--accent-amber);border:1px solid var(--accent-amber-border)}.badge-rose{background-color:var(--accent-rose-light);color:var(--accent-rose);border:1px solid var(--accent-rose-border)}.badge-blue{background-color:var(--primary-light);color:var(--primary);border:1px solid var(--primary-border)}.badge-slate{color:#475569;background-color:#f1f5f9;border:1px solid #cbd5e1}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.88rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{border-color:var(--border-light);color:var(--text-main);background-color:#fff}.btn-secondary:hover{background-color:var(--bg-card-subtle);border-color:#cbd5e1}.btn-emerald{background-color:var(--accent-emerald);color:#fff}.btn-emerald:hover{background-color:#047857}.btn-danger{background-color:var(--accent-rose);color:#fff}.btn-danger:hover{background-color:#be123c}.btn-sm{padding:.35rem .65rem;font-size:.78rem}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.data-table th{color:var(--text-muted);border-bottom:1px solid var(--border-light);text-transform:uppercase;letter-spacing:.5px;background-color:#f8fafc;padding:.75rem 1rem;font-size:.72rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-light);color:var(--text-main);padding:.85rem 1rem}.data-table tbody tr:hover{background-color:#f8fafc}.form-group{margin-bottom:1rem}.form-label{color:var(--text-main);margin-bottom:.35rem;font-size:.82rem;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--border-light);border-radius:var(--radius-sm);width:100%;color:var(--text-main);background-color:#fff;padding:.6rem .85rem;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #3b82f626}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background-color:#0f172a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-md);box-shadow:var(--shadow-xl);background-color:#fff;flex-direction:column;width:100%;max-width:600px;max-height:90vh;animation:.2s ease-out modalFadeIn;display:flex;overflow:hidden}.modal-content>form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-body{flex:1;min-height:0;padding:1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-light);background-color:#f8fafc;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.bed-chip{border-radius:var(--radius-sm);border:1px solid;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8rem;font-weight:500;display:inline-flex}.bed-available{color:#065f46;background-color:#ecfdf5;border-color:#a7f3d0}.bed-occupied{color:#1e40af;background-color:#eff6ff;border-color:#bfdbfe}.bed-maintenance{color:#92400e;background-color:#fffbeb;border-color:#fde68a}@media (max-width:768px){.sidebar{display:none}.sidebar.mobile-open{width:280px;display:flex;position:fixed;inset:0}.stats-grid{grid-template-columns:1fr}.page-body{padding:1rem}}
