:root{--font-family: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 28px;--font-size-5xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--title-page: 28px;--title-section: 18px;--title-card: 16px;--title-item: 14px;--title-small: 13px;--text-body: 14px;--text-secondary: 12px;--text-small: 11px}h1{font-size:var(--title-page);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}h2{font-size:var(--title-section);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h3{font-size:var(--title-card);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}h4{font-size:var(--title-item);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}h5,h6{font-size:var(--title-small);font-weight:var(--font-weight-medium)}body{font-family:var(--font-family);font-size:var(--text-body);color:var(--text-primary);line-height:var(--line-height-normal)}:root{--color-primary: #4D6DE4;--color-secondary: #5B7DE4;--color-accent: #E2E8F4;--color-highlight: #4D6DE4;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-purple: #8b5cf6;--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--bg-primary: #E2E8F4;--bg-secondary: #FFFFFF;--bg-content: #E2E8F4;--bg-card: #FFFFFF;--bg-header: #FFFFFF;--text-primary: #000000;--text-secondary: #8E8E8E;--text-light: #ffffff;--text-muted: #838383;--border-color: rgba(226, 232, 244, .8);--sidebar-width: 270px;--sidebar-bg: #4D6DE4;--sidebar-text: #ffffff;--sidebar-active-bg: #ffffff;--sidebar-active-text: #4D6DE4;--sidebar-hover-bg: rgba(255, 255, 255, .12);--header-height: 64px;--content-padding: 32px;--card-border-radius: 20px;--card-shadow: 0 2px 8px rgba(0, 0, 0, .08);--card-shadow-hover: 0 4px 16px rgba(77, 109, 228, .12);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--z-sidebar: 100;--z-header: 99;--z-dropdown: 200;--z-modal: 300;--z-toast: 400}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:#2149dd}img{max-width:100%;height:auto}button{cursor:pointer;font-family:inherit;border:none;outline:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit;outline:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.3;color:var(--text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000040}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-muted{color:var(--text-secondary)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:8px}.gap-md{gap:16px}.gap-lg{gap:24px}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--card-border-radius);padding:28px;transition:all var(--transition-normal)}.card:hover{border-color:var(--color-primary);box-shadow:0 0 0 3px #4d6de41f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:10px;font-size:var(--font-size-base);font-weight:500;transition:all var(--transition-normal);cursor:pointer;border:none;outline:none}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background:#3b5bd9;transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{border-color:var(--color-primary);box-shadow:0 0 0 3px #4d6de41f}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover{border-color:var(--color-primary);box-shadow:0 0 0 3px #4d6de41f}.btn-success{background:var(--color-success);color:var(--color-white)}.btn-success:hover{background:#0d9367}.btn-danger{background:transparent;border:1px solid var(--color-danger);color:var(--color-danger)}.btn-danger:hover{background:var(--color-danger);color:var(--color-white)}.btn-sm{padding:8px 16px;font-size:var(--font-size-sm)}.btn-lg{padding:14px 28px;font-size:var(--font-size-md)}.btn-block{width:100%}.btn .btn-icon{font-size:16px}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:8px;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.form-label{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:8px}.form-input,.form-control{width:100%;padding:14px 16px;border:1px solid var(--border-color);border-radius:10px;font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input::placeholder,.form-control::placeholder{color:var(--text-muted)}.form-input:focus,.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4d6de41f}.form-input:disabled,.form-control:disabled{background:var(--color-gray-100);cursor:not-allowed}.form-select{width:100%;padding:10px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-card);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4d6de41f}.form-textarea{width:100%;padding:14px 16px;border:1px solid var(--border-color);border-radius:10px;font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);resize:vertical;min-height:100px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4d6de41f}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.table-container,.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.data-table th,.data-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);background:var(--bg-secondary);text-transform:uppercase;letter-spacing:1px;white-space:nowrap}.data-table td{color:var(--text-primary)}.data-table tbody tr{transition:background-color var(--transition-fast)}.data-table tbody tr:hover{background-color:#4d6de40d}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:var(--font-size-xs);font-weight:500}.status-badge.badge-success,.status-badge.status-active,.status-badge.status-confirmed,.status-badge.status-completed{background:#10b9811a;color:var(--color-success)}.status-badge.badge-warning,.status-badge.status-pending{background:#f59e0b1a;color:var(--color-warning)}.status-badge.badge-danger,.status-badge.status-cancelled{background:#ef44441a;color:var(--color-danger)}.status-badge.badge-info{background:#3b82f61a;color:#3b82f6}.status-badge.status-booked{background:#ef44441a;color:var(--color-danger)}.status-badge.status-available{background:#10b9811a;color:var(--color-success)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-header h1{font-size:var(--font-size-3xl);font-weight:700;color:#00104c;margin:0 0 6px}.page-header .page-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}.page-header .page-actions{display:flex;gap:12px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-header h2{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0}.section-header .view-all{font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none;cursor:pointer;padding:6px 12px;border-radius:6px;border:1px solid var(--border-color);background:transparent;transition:all var(--transition-normal)}.section-header .view-all:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.mat-mdc-button-base{font-family:var(--font-family)!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn var(--transition-normal)}.slide-in-left{animation:slideInLeft var(--transition-normal)}.slide-in-up{animation:slideInUp var(--transition-normal)}@media (max-width: 1400px){.kpi-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1200px){.section-row{grid-template-columns:1fr}}@media (max-width: 768px){.kpi-grid,.stats-grid{grid-template-columns:1fr}:root{--content-padding: 16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.form-row{grid-template-columns:1fr}}
