form{background:#fff;padding:40px;border-radius:10px;width:320px;display:flex;flex-direction:column;text-align:center;gap:15px;box-shadow:0 10px 25px #0003}*/ body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(135deg,#1976d2,#64b5f6)}.reg-container{height:100vh;display:flex;justify-content:center;align-items:center}form{background:#fff;padding:40px;border-radius:10px;box-shadow:0 10px 25px #0003;width:300px;display:flex;flex-direction:column;gap:15px}form h2{text-align:center;margin-bottom:10px;color:#1976d2}form input{padding:12px;border-radius:6px;border:1px solid #ccc;font-size:14px;outline:none;transition:.3s}form input:focus{border-color:#1976d2;box-shadow:0 0 5px #1976d24d}form button{padding:12px;border:none;background:#1976d2;color:#fff;font-size:16px;border-radius:6px;cursor:pointer;transition:.3s}form button:hover{background:#0d47a1}p{margin-top:10px;font-size:14px}p a{color:#2b7cff;text-decoration:none;font-weight:700}p a:hover{text-decoration:underline}.login-container{min-height:100vh;display:flex}.login-left{flex:1;background:linear-gradient(135deg,#0d47a1,#1976d2,#42a5f5);display:flex;align-items:center;justify-content:center;padding:60px 50px;color:#fff}.login-brand{max-width:380px}.login-logo{font-size:64px;margin-bottom:20px}.login-brand h1{font-size:28px;font-weight:800;margin-bottom:14px;line-height:1.2}.login-brand p{font-size:16px;opacity:.85;margin-bottom:28px;line-height:1.6}.login-features{display:flex;flex-direction:column;gap:10px}.lf-item{font-size:15px;padding:10px 16px;background:#ffffff1f;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-right{width:440px;display:flex;align-items:center;justify-content:center;padding:40px;background:#fff}.login-form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:18px}.login-form-header{text-align:center;margin-bottom:4px}.login-form-header h2{font-size:26px;color:var(--text);margin-bottom:4px}.login-form-header p{color:var(--text-light);font-size:14px}.login-error{background:#fdecea;color:#c0392b;padding:10px 14px;border-radius:8px;font-size:14px;border-left:4px solid #e74c3c}.login-btn{width:100%;justify-content:center;padding:13px;font-size:16px}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-link{text-align:center;font-size:14px;color:var(--text-light)}.login-link a{color:var(--primary);font-weight:600}.login-link a:hover{text-decoration:underline}@media(max-width:768px){.login-left{display:none}.login-right{width:100%}}.navbar{position:fixed;top:0;left:0;width:100%;height:var(--navbar-height);background:var(--primary);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 28px;box-sizing:border-box;z-index:1000;box-shadow:0 2px 12px #0d47a12e}.navbar-left,.navbar-right{display:flex;align-items:center;gap:16px}.logo{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:800;letter-spacing:.5px}.logo span:first-of-type{font-size:22px;letter-spacing:1px}.logo-sub{font-size:12px!important;font-weight:400!important;color:#ffffffb3;letter-spacing:.5px!important;margin-left:2px}.nav-date{font-size:13px;color:#fffc;background:#ffffff1f;padding:5px 12px;border-radius:20px}.nav-divider{width:1px;height:28px;background:#ffffff40}.nav-user{display:flex;align-items:center;gap:10px;cursor:pointer;position:relative;padding:6px 10px;border-radius:8px;transition:background var(--transition)}.nav-user:hover{background:#ffffff1f}.nav-avatar{width:36px;height:36px;background:var(--accent);color:var(--primary-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}.nav-user-info{display:flex;flex-direction:column;line-height:1.2}.nav-username{font-size:14px;font-weight:600}.nav-role{font-size:11px;color:#ffffffb3}.nav-caret{font-size:12px;color:#fffc}.nav-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:8px;box-shadow:0 8px 30px #0000002e;min-width:160px;overflow:hidden;z-index:2000}.nav-dropdown-item{padding:12px 16px;color:var(--text);font-size:14px;display:flex;align-items:center;gap:8px;transition:background var(--transition)}.nav-dropdown-item:hover{background:#f0f6ff;color:var(--danger)}.sidebar{width:var(--sidebar-width);height:calc(100vh - var(--navbar-height));background:var(--secondary);display:flex;flex-direction:column;padding:18px 0 0;position:fixed;left:0;top:var(--navbar-height);z-index:900;overflow-y:auto;box-shadow:2px 0 12px #0d47a11a}.sidebar-section-label{font-size:10px;color:#ffffff73;font-weight:700;letter-spacing:.12em;padding:0 20px 10px}.sidebar-link{display:flex;align-items:center;gap:13px;color:#ffffffd1;padding:13px 20px;font-size:14.5px;font-weight:500;transition:all var(--transition);border-left:3px solid transparent;text-decoration:none;border-radius:0 8px 8px 0;margin:1px 10px 1px 0}.sidebar-link:hover{background:#ffffff1a;color:#fff;border-left-color:#ffffff4d}.sidebar-link.active{background:#ffffff26;color:#fff;border-left-color:var(--accent);font-weight:700}.sidebar-icon{font-size:18px;min-width:22px;text-align:center}.sidebar-label{flex:1}.sidebar-footer{margin-top:auto;padding:18px 20px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-footer-text{font-size:11px;color:#ffffff59;text-align:center}.layout{min-height:100vh}.main-container{display:flex;margin-top:var(--navbar-height)}.page-content{margin-left:var(--sidebar-width);flex:1;padding:28px;min-height:calc(100vh - var(--navbar-height));background:var(--bg)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:22px}.stat-card{background:#fff;border-radius:var(--radius);padding:20px 18px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow);border-top:4px solid transparent;transition:transform var(--transition),box-shadow var(--transition)}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.stat-blue{border-top-color:#1976d2}.stat-green{border-top-color:#27ae60}.stat-purple{border-top-color:#8e44ad}.stat-orange{border-top-color:#e67e22}.stat-red{border-top-color:#e74c3c}.stat-icon{font-size:32px}.stat-value{font-size:26px;font-weight:800;color:var(--text)}.stat-label{font-size:13px;color:var(--text-light);font-weight:500}.stat-sub{font-size:12px;color:var(--text-light);margin-top:2px}.dash-card{background:#fff;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:20px}.dash-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dash-card-header h3{font-size:16px;color:var(--text)}.dash-row{display:flex;gap:20px}.flex-1{flex:1}.occ-bar{background:#e8eef7;border-radius:99px;height:16px;overflow:hidden;margin-bottom:10px}.occ-fill{background:linear-gradient(90deg,#1976d2,#64b5f6);height:100%;border-radius:99px;transition:width .4s ease}.occ-labels{display:flex;gap:20px;font-size:13px;color:var(--text-light)}.apt-list{display:flex;flex-direction:column;gap:10px}.apt-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f8faff;border-radius:8px}.apt-time{font-size:13px;font-weight:700;color:var(--primary);min-width:48px}.apt-info{flex:1}.apt-patient{font-size:14px;font-weight:600}.apt-doctor{font-size:12px;color:var(--text-light)}.patient-list{display:flex;flex-direction:column;gap:10px}.patient-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f8faff;border-radius:8px}.patient-avatar{width:36px;height:36px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.patient-info{flex:1}.patient-name{font-size:14px;font-weight:600}.patient-meta{font-size:12px;color:var(--text-light)}.dash-alert{border-left:4px solid var(--warning)}.dash-alert h3{margin-bottom:12px;font-size:16px}.pending-bills{display:flex;flex-direction:column;gap:8px}.pending-bill-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fffbf0;border-radius:6px;font-size:14px}.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.doc-chip{display:flex;align-items:center;gap:12px;padding:12px;background:#f8faff;border-radius:8px;transition:background var(--transition)}.doc-chip:hover{background:#eef4ff}.doc-chip-avatar{width:38px;height:38px;background:var(--primary-light);color:var(--primary-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}.doc-chip-name{font-size:14px;font-weight:600}.doc-chip-spec{font-size:12px;color:var(--text-light)}@media(max-width:900px){.dash-row{flex-direction:column}}.doc-name-cell{display:flex;align-items:center;gap:10px}.doc-avatar{width:36px;height:36px;background:var(--primary-light);color:var(--primary-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0}.spec-chip{background:#e8f0fe;color:#1565c0;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.action-btns{display:flex;gap:6px}.table-wrap{overflow-x:auto;border-radius:var(--radius);box-shadow:var(--shadow)}.fw-600{font-weight:600}.text-sm{font-size:12px}.text-muted{color:var(--text-light)}.result-count{font-size:13px;color:var(--text-light);margin-left:auto}code{background:#f0f4f8;padding:2px 7px;border-radius:4px;font-size:12px;font-family:monospace;color:var(--primary-dark)}.patient-avatar-sm{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0}.blood-badge{background:#fdecea;color:#c0392b;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.patient-detail-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px;background:#f8faff;border-radius:10px}.patient-detail-avatar{width:56px;height:56px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:24px}.patient-detail-header h4{font-size:18px;margin-bottom:4px}.patient-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:#f8faff;border-radius:8px}.detail-item span{font-size:11px;color:var(--text-light);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.detail-item strong{font-size:14px;color:var(--text)}.apt-summary{display:flex;gap:14px;margin-bottom:20px}.apt-sum-card{flex:1;padding:16px 18px;border-radius:var(--radius);color:#fff;text-align:center;box-shadow:var(--shadow)}.apt-sum-card.blue{background:linear-gradient(135deg,#1976d2,#42a5f5)}.apt-sum-card.green{background:linear-gradient(135deg,#2e7d32,#4caf50)}.apt-sum-card.teal{background:linear-gradient(135deg,#00695c,#26a69a)}.apt-sum-card.red{background:linear-gradient(135deg,#c62828,#ef5350)}.apt-sum-val{font-size:28px;font-weight:800}.apt-sum-label{font-size:12px;opacity:.9;margin-top:2px}.row-today,.row-today td{background:#fffde7!important}.today-badge{background:#fff9c4;color:#f57f17;padding:2px 8px;border-radius:6px;font-weight:700;font-size:12px}.bill-summary{display:flex;gap:14px;margin-bottom:20px}.bill-sum-card{flex:1;padding:18px 20px;border-radius:var(--radius);color:#fff;box-shadow:var(--shadow)}.bill-sum-card.green{background:linear-gradient(135deg,#1b5e20,#43a047)}.bill-sum-card.orange{background:linear-gradient(135deg,#e65100,#fb8c00)}.bill-sum-card.blue{background:linear-gradient(135deg,#1565c0,#42a5f5)}.bill-sum-card.red{background:linear-gradient(135deg,#b71c1c,#ef5350)}.bill-sum-label{font-size:12px;opacity:.88;margin-bottom:6px}.bill-sum-val{font-size:26px;font-weight:800}.bill-modal{max-width:580px}.bill-items-section{margin-top:18px}.bill-items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.bill-items-header label{font-size:13px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em}.bill-item-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.bill-total-row{display:flex;justify-content:space-between;padding:12px 0;border-top:2px solid var(--border);margin-top:8px;font-size:16px}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:14px;border-bottom:2px solid var(--border)}.invoice-header h3{font-size:17px;color:var(--primary-dark)}.invoice-patient{display:flex;gap:30px;margin-bottom:16px;font-size:14px;color:var(--text)}.invoice-table{margin-bottom:8px}.invoice-table th{background:#f0f4f8;color:var(--text)}.invoice-total-row td{background:#e8f0fe;font-size:15px}.bed-stats{display:flex;gap:14px;margin-bottom:20px}.bed-stat-card{flex:1;background:#fff;border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:var(--shadow);border-top:4px solid}.bed-stat-val{font-size:28px;font-weight:800;color:var(--text)}.bed-stat-label{font-size:13px;color:var(--text-light)}.ward-tabs{display:flex;gap:8px;margin-bottom:14px}.ward-tab{padding:8px 18px;border:1.5px solid var(--border);background:#fff;border-radius:999px;font-size:14px;font-weight:500;color:var(--text-light);cursor:pointer;transition:all var(--transition)}.ward-tab:hover{border-color:var(--primary);color:var(--primary)}.ward-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.bed-legend{display:flex;gap:18px;margin-bottom:18px;font-size:13px;color:var(--text-light)}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.legend-dot.green{background:#27ae60}.legend-dot.red{background:#e74c3c}.legend-dot.orange{background:#f39c12}.bed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.bed-card{padding:14px 10px 12px;border-radius:10px;text-align:center;cursor:pointer;border:2px solid transparent;transition:all var(--transition);display:flex;flex-direction:column;align-items:center;gap:4px}.bed-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.bed-available{background:#e8f8f0;border-color:#a8e6c1}.bed-occupied{background:#fdecea;border-color:#f5a9a6}.bed-maintenance{background:#fff8e1;border-color:#ffe082}.bed-icon{font-size:24px}.bed-id{font-size:12px;font-weight:700;color:var(--text)}.bed-ward{font-size:10px;color:var(--text-light)}.bed-patient{font-size:10px;font-weight:600;color:var(--primary);margin-top:2px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bed-detail-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.bed-detail-info .full{grid-column:1/-1}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1976d2;--primary-dark: #0d47a1;--primary-light: #64b5f6;--secondary: #1e4fa1;--accent: #ffd54f;--success: #2ecc71;--danger: #e74c3c;--warning: #f39c12;--info: #3498db;--sidebar-width: 230px;--navbar-height: 64px;--bg: #f0f4f8;--card-bg: #ffffff;--text: #1a2332;--text-light: #6b7a94;--border: #dde3ed;--shadow: 0 2px 12px rgba(25, 118, 210, .08);--shadow-md: 0 4px 24px rgba(25, 118, 210, .13);--radius: 10px;--radius-sm: 6px;--transition: .22s ease}body{margin:0;font-family:Segoe UI,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6}a{text-decoration:none;color:inherit}input,select,textarea{font-family:inherit;font-size:14px}button{cursor:pointer;font-family:inherit}h1,h2,h3,h4{font-weight:700;line-height:1.3}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:#e8eef7}::-webkit-scrollbar-thumb{background:#b0c4de;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#1976d2}table{width:100%;border-collapse:collapse;background:var(--card-bg);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);font-size:14px}th{background:var(--primary-dark);color:#fff;font-weight:600;letter-spacing:.03em;font-size:13px}tr:last-child td{border-bottom:none}tr:hover td{background:#f0f6ff}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em}.badge-success{background:#e8f8f0;color:#219150}.badge-danger{background:#fdecea;color:#c0392b}.badge-warning{background:#fff8e1;color:#b8860b}.badge-info{background:#e3f2fd;color:#1565c0}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;transition:all var(--transition);cursor:pointer;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 3px 10px #1976d240}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#c0392b}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#27ae60}.btn-secondary{background:#e8eef7;color:var(--text)}.btn-secondary:hover{background:#d0daea}.btn-warning{background:var(--warning);color:#fff}.btn-warning:hover{background:#d68910}.btn-sm{padding:5px 12px;font-size:13px}.btn-icon{padding:7px 10px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:13px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em}.form-control{padding:10px 13px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;outline:none;width:100%;transition:border-color var(--transition),box-shadow var(--transition);background:#fff;color:var(--text)}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1976d21f}.form-control::placeholder{color:#aab4c5}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%236b7a94' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.modal-overlay{position:fixed;inset:0;background:#0a1e3c73;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .15s ease}.modal-box{background:#fff;border-radius:14px;padding:32px 28px 24px;width:100%;max-width:500px;box-shadow:0 12px 40px #0d47a12e;animation:slideUp .2s ease;max-height:90vh;overflow-y:auto}.modal-box h3{font-size:20px;margin-bottom:20px;color:var(--primary-dark)}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-grid .full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h2{font-size:22px;color:var(--text)}.page-header .subtitle{font-size:13px;color:var(--text-light);margin-top:2px}.search-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px;font-size:14px;transition:border-color var(--transition)}.search-bar:focus-within{border-color:var(--primary)}.search-bar input{border:none;outline:none;background:transparent;width:220px}.search-bar span{color:var(--text-light);font-size:16px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-light)}.empty-state .icon{font-size:48px;margin-bottom:12px}.empty-state p{font-size:15px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px}.toast{min-width:260px;padding:14px 18px;border-radius:var(--radius-sm);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-md);animation:slideInRight .25s ease;display:flex;align-items:center;gap:10px}.toast-success{background:#27ae60}.toast-error{background:#e74c3c}.toast-info{background:#2980b9}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(60px);opacity:0}to{transform:translate(0);opacity:1}}
