@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--navy:#1b2a4a;--navy-dark:#0f1e38;--navy-light:#243352;--steel:#4a7ba7;--steel-light:#6b9ec4;--steel-pale:#eaf1f8;--sidebar-bg:#0f1e38;--sidebar-hover:#1b2a4a;--sidebar-active:#243352;--sidebar-text:#8c9bab;--sidebar-width:240px;--page-bg:#f4f7fb;--white:#fff;--border:#dde4ed;--border-light:#eef2f7;--text:#1b2a4a;--text-muted:#5a6e85;--text-light:#8c9bab;--green:#22c55e;--green-bg:#f0fdf4;--green-border:#86efac;--green-text:#15803d;--yellow:#f59e0b;--yellow-bg:#fffbeb;--yellow-border:#fcd34d;--yellow-text:#b45309;--red:#ef4444;--red-bg:#fef2f2;--red-border:#fecaca;--red-text:#dc2626;--blue-bg:#eff6ff;--blue-border:#bfdbfe;--blue-text:#1d4ed8;--orange-bg:#fff7ed;--orange-border:#fed7aa;--orange-text:#c2410c;--grey-bg:#f9fafb;--grey-border:#e5e7eb;--grey-text:#6b7280;--shadow-sm:0 1px 4px #1b2a4a12;--shadow-md:0 4px 16px #1b2a4a1a;--shadow-lg:0 8px 32px #1b2a4a21}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--page-bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,Segoe UI,system-ui,sans-serif}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:#f0f0f0}::-webkit-scrollbar-thumb{background:var(--steel);border-radius:10px}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .18s;display:inline-flex}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-dark);transform:translateY(-1px);box-shadow:0 4px 12px #1b2a4a40}.btn-secondary{background:var(--steel);color:#fff}.btn-secondary:hover{background:var(--steel-light)}.btn-success{color:#fff;background:#16a34a}.btn-success:hover{background:#15803d}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-outline{color:var(--navy);border:1.5px solid var(--border);background:0 0}.btn-outline:hover{border-color:var(--navy);background:var(--steel-pale)}.btn-ghost{color:var(--text-muted);background:0 0;border:none}.btn-sm{padding:5px 10px;font-size:11px}.btn-lg{padding:11px 24px;font-size:14px}.btn-icon{border-radius:8px;padding:7px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.input,.select,.textarea{border:1.5px solid var(--border);width:100%;color:var(--text);background:var(--white);border-radius:8px;outline:none;padding:9px 12px;font-size:13px;transition:border-color .2s,box-shadow .2s}.input::placeholder,.textarea::placeholder{color:var(--text-light)}.input-error{border-color:var(--red)!important}.card{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:20px}.card-hover{transition:box-shadow .2s,transform .2s}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.badge{border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.badge-available{background:var(--green-bg);color:var(--green-text);border:1px solid var(--green-border)}.badge-booked{background:var(--blue-bg);color:var(--blue-text);border:1px solid var(--blue-border)}.badge-maintenance{background:var(--grey-bg);color:var(--grey-text);border:1px solid var(--grey-border)}.badge-reserved,.badge-pending{background:var(--yellow-bg);color:var(--yellow-text);border:1px solid var(--yellow-border)}.badge-confirmed{background:var(--blue-bg);color:var(--blue-text);border:1px solid var(--blue-border)}.badge-active{background:var(--green-bg);color:var(--green-text);border:1px solid var(--green-border)}.badge-cancelled{background:var(--red-bg);color:var(--red-text);border:1px solid var(--red-border)}.badge-paid{background:var(--green-bg);color:var(--green-text);border:1px solid var(--green-border)}.badge-failed{background:var(--red-bg);color:var(--red-text);border:1px solid var(--red-border)}.badge-refunded{background:var(--orange-bg);color:var(--orange-text);border:1px solid var(--orange-border)}.badge-approved{background:var(--green-bg);color:var(--green-text);border:1px solid var(--green-border)}.badge-rejected{background:var(--red-bg);color:var(--red-text);border:1px solid var(--red-border)}.table-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.table{border-collapse:collapse;background:var(--white);width:100%}.table th{background:var(--page-bg);color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:700}.table td{color:var(--text);border-bottom:1px solid var(--border-light);vertical-align:middle;padding:12px 14px;font-size:13px}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:#fafbfd}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#0f1e388c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--white);border-radius:16px;width:100%;max-height:90vh;animation:.2s modalIn;overflow-y:auto;box-shadow:0 24px 64px #0003}.modal-sm{max-width:420px}.modal-md{max-width:600px}.modal-lg{max-width:800px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{color:var(--navy);font-size:16px;font-weight:700}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(-8px)}to{opacity:1;transform:none}}.drawer-overlay{z-index:998;background:#0f1e3873;position:fixed;inset:0}.drawer{background:var(--white);z-index:999;width:480px;max-width:95vw;animation:.25s drawerIn;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 40px #00000026}@keyframes drawerIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid var(--border);background:var(--white);z-index:1;justify-content:space-between;align-items:center;padding:20px 24px;display:flex;position:sticky;top:0}.stat-card{background:var(--white);border:1px solid var(--border);border-radius:14px;align-items:flex-start;gap:14px;padding:20px;display:flex}.stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.stat-value{color:var(--navy);font-size:26px;font-weight:900;line-height:1}.stat-label{color:var(--text-muted);margin-top:4px;font-size:12px}.stat-change{margin-top:6px;font-size:11px;font-weight:600}.stat-up{color:var(--green-text)}.stat-down{color:var(--red-text)}.tabs{background:var(--page-bg);border:1px solid var(--border);border-radius:10px;gap:2px;padding:4px;display:flex}.tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .15s}.tab.active{background:var(--white);color:var(--navy);box-shadow:0 1px 4px #1b2a4a1a}.tab:hover:not(.active){color:var(--navy);background:#fff9}.search-bar input{padding-left:36px}.search-bar .search-icon{color:var(--text-light);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.chart-bar-wrap{align-items:flex-end;gap:6px;height:80px;display:flex}.chart-bar{background:var(--steel-pale);border-radius:4px 4px 0 0;flex:1;min-width:8px;transition:height .3s;position:relative}.chart-bar:hover{background:var(--steel)}.chart-bar .bar-tip{color:var(--navy);white-space:nowrap;opacity:0;font-size:10px;font-weight:700;transition:opacity .2s;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.chart-bar:hover .bar-tip{opacity:1}.divider{background:var(--border);height:1px}.text-muted{color:var(--text-muted)}.text-sm{font-size:12px}.text-xs{font-size:11px}.fw-700{font-weight:700}.fw-800{font-weight:800}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.spinner-dark{border-color:#1b2a4a33;border-top-color:var(--navy)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.hide-mobile{display:none!important}.drawer{width:100vw}}@media (width>=769px){.show-mobile-only{display:none!important}}:focus-visible{outline:2px solid var(--steel);outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.skip-link{background:var(--navy);color:#fff;z-index:100;padding:8px;text-decoration:none;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.fade-up{animation:.3s fadeUp}.btn{transition:all .15s;position:relative;overflow:hidden}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #1b2a4a1f}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.btn-primary:hover{background:#0d1f35;border-color:#0d1f35}.btn-outline:hover{background:var(--page-bg);border-color:var(--navy);color:var(--navy)}.btn-ghost:hover{background:var(--page-bg);color:var(--navy)}.input,.select,.textarea{transition:all .15s}.input:hover,.select:hover,.textarea:hover{border-color:var(--steel)}.input:focus,.select:focus,.textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px #1b2a4a1a}.field-label{color:var(--navy);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.field-error{color:var(--red-text);margin-top:4px;font-size:12px}.table tbody tr:hover{background:var(--steel-pale)}.table tbody tr:focus-within{box-shadow:inset 0 0 0 2px var(--navy)}.badge{transition:all .15s}.badge-available{color:#15803d;background:#f0fdf4;border:1px solid #86efac}.badge-reserved{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.badge-booked{color:#1e40af;background:#dbeafe;border:1px solid #93c5fd}.badge-maintenance{color:#6b21a8;background:#f3e8ff;border:1px solid #e9d5ff}.badge-pending{color:#b45309;background:#fffbeb;border:1px solid #fcd34d}.badge-confirmed{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.badge-active{color:#1e40af;background:#eff6ff;border:1px solid #93c5fd}.badge-completed{color:#15803d;background:#f0fdf4;border:1px solid #86efac}.badge-cancelled{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.badge-paid{color:#15803d;background:#f0fdf4;border:1px solid #86efac}.badge-advance{color:#92400e;background:#fff7ed;border:1px solid #fed7aa}.badge-failed{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.badge-refunded{color:#6b21a8;background:#f3e8ff;border:1px solid #e9d5ff}.badge-approved{color:#15803d;background:#f0fdf4;border:1px solid #86efac}.badge-rejected{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.badge-sm{padding:2px 6px;font-size:10px}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1b2a4a66}.modal{max-height:90vh;animation:.25s fadeUp;overflow-y:auto}.modal::-webkit-scrollbar{width:6px}.modal::-webkit-scrollbar-track{background:var(--border-light);border-radius:3px}.modal::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.modal::-webkit-scrollbar-thumb:hover{background:var(--steel-pale)}.drawer{animation:.3s slideIn}.drawer::-webkit-scrollbar{width:6px}.drawer::-webkit-scrollbar-track{background:var(--border-light)}.drawer::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.tab{transition:all .15s}.tab:hover:not(.active){color:var(--navy);border-bottom-color:var(--border)}.tab.active{color:var(--navy);border-bottom-color:var(--navy);font-weight:700}.tab:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}.search-bar{position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}@media (width<=768px){.table{font-size:12px}.btn{padding:6px 12px;font-size:12px}.modal{margin:16px}.drawer{width:85vw!important}.stats-4{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.main-area main{padding:16px!important}.stat-card{padding:12px!important}.stat-value{font-size:20px!important}.stat-label{font-size:11px!important}.stat-change{font-size:10px!important}}@media print{.btn,.tab,.search-bar,.modal-overlay,.drawer-overlay{display:none!important}body{background:#fff}.table{border-collapse:collapse}.table td,.table th{border:1px solid #000}}
