*{box-sizing:border-box;margin:0;padding:0}body{color:#1f2937;background:#f4f6f8;font-family:Arial,sans-serif}.app{min-height:100vh;display:flex}.sidebar{color:#fff;background:#111827;flex-direction:column;width:240px;padding:24px;display:flex}.sidebar-brand{margin-bottom:30px}.sidebar-brand h2{font-size:22px}.sidebar-brand p,.sidebar-version{color:#9ca3af;font-size:12px;line-height:1.4}.sidebar-brand p{margin-top:4px}.sidebar-version{margin-top:12px;padding-top:18px}.sidebar-version span{display:block}.sidebar-user{flex-direction:column;gap:8px;margin-top:auto;padding-top:18px;font-size:13px;display:flex}.sidebar-user span{color:#9ca3af}.sidebar-user .secondary-btn{padding:9px 10px;font-size:13px}.sidebar ul{list-style:none}.sidebar li{cursor:default;color:#d1d5db;border-radius:8px;margin-bottom:8px;padding:12px 14px}.sidebar li.active{color:#fff;background:#2563eb}.content{flex:1;padding:32px}.page-header{margin-bottom:24px}.page-header h1{margin-bottom:6px;font-size:30px}.page-header p{color:#6b7280}.table-card{background:#fff;border-radius:12px;padding:20px;overflow-x:auto;box-shadow:0 4px 14px #0000000f}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:14px 12px}th{background:#f9fafb;font-size:14px}td{font-size:14px}.error{color:#dc2626;font-weight:700}.success{color:#047857;font-weight:700}.user-badge{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-block}.user-badge-role{color:#1d4ed8;background:#dbeafe}.user-badge-active{color:#065f46;background:#d1fae5}.user-badge-inactive{color:#991b1b;background:#fee2e2}.login-page{background:#111827;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border-radius:8px;flex-direction:column;gap:18px;width:min(100%,380px);padding:28px;display:flex;box-shadow:0 18px 45px #00000038}.login-card h1{margin-bottom:4px;font-size:28px}.login-card p{color:#6b7280}.login-card .primary-btn,.password-required-card .secondary-btn{width:100%}.security-message{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:12px;line-height:1.5}.account-password-card{max-width:760px}.page-header{justify-content:space-between;align-items:center;display:flex}.primary-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:12px 18px;font-weight:700}.secondary-btn{color:#111827;cursor:pointer;background:#e5e7eb;border:none;border-radius:8px;padding:12px 18px}.form-card{background:#fff;border-radius:12px;margin-bottom:24px;padding:20px;box-shadow:0 4px 14px #0000000f}.form-card h2{margin-bottom:18px}.form-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}input,select,textarea{border:1px solid #d1d5db;border-radius:8px;padding:12px;font-size:14px}textarea{resize:vertical;width:100%;min-height:90px;margin-top:12px}.form-actions{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}.form-card h3{color:#111827;margin:22px 0 12px;font-size:18px}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f3f4f6}.header-actions{gap:12px;display:flex}.danger-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;padding:12px 18px;font-weight:700}.detail-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 14px #0000000f}.detail-card h2{margin:24px 0 12px}.detail-card h2:first-child{margin-top:0}.detail-grid{grid-template-columns:repeat(2,1fr);gap:12px 28px;margin-bottom:10px;display:grid}.document-center{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:end;gap:14px;margin-bottom:18px;display:grid}.document-selector{flex-direction:column;gap:6px;display:flex}.document-selector label{color:#374151;font-size:13px;font-weight:700}.document-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:16px;min-height:58px;padding:12px;display:grid}.document-panel-disabled{color:#6b7280;background:#f3f4f6}.document-status{border-radius:999px;margin-left:10px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-block}.document-status-ready{color:#92400e;background:#fef3c7}.document-status-done{color:#065f46;background:#d1fae5}.document-status-planned{color:#374151;background:#e5e7eb}.document-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.document-btn{white-space:nowrap;padding:8px 10px;font-size:13px}.table-action-btn{padding:8px 10px;font-size:13px}.backup-restore-note{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:18px;padding:14px}.backup-restore-note p{margin:6px 0 10px}.backup-restore-note code,.backup-actions code{color:#f9fafb;overflow-wrap:anywhere;background:#111827;border-radius:6px;max-width:100%;padding:6px 8px;font-size:12px;display:inline-block}.backup-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}@media (width<=900px){.document-center,.document-panel{grid-template-columns:1fr}.document-actions{justify-content:flex-start}}button:disabled{opacity:.55;cursor:not-allowed}.view-filter-bar{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:12px 14px;display:flex}.view-filter-bar strong{font-size:14px}.client-search-field{flex-direction:column;gap:8px;display:flex;position:relative}.client-search-selected,.client-search-empty{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.client-search-summary{flex-direction:column;gap:2px;min-width:0;display:flex}.client-search-summary strong{color:#111827}.client-search-summary span,.client-search-muted,.client-search-empty p{color:#6b7280;font-size:13px}.client-search-results{flex-direction:column;gap:8px;display:flex}.client-search-result{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:10px}.client-search-result:hover{background:#f9fafb;border-color:#111827}.dashboard-page{flex-direction:column;gap:18px;display:flex}.dashboard-header{margin-bottom:4px}.dashboard-section{background:#fff;border-radius:8px;padding:18px;box-shadow:0 4px 14px #0000000f}.dashboard-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dashboard-section-header h2{font-size:19px}.dashboard-section-header p{color:#6b7280;margin-top:4px;font-size:13px}.quick-availability-card{border-left:4px solid #111827}.quick-availability-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.quick-availability-actions{flex-wrap:wrap;gap:8px;display:flex}.quick-availability-note{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.quick-availability-note span{color:#4b5563;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;font-size:12px}.quick-availability-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.quick-availability-vehicle{background:#fff;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:10px;padding:12px;display:grid}.quick-availability-vehicle div{flex-direction:column;gap:4px;display:flex}.quick-availability-vehicle strong{color:#111827}.quick-availability-vehicle span{color:#4b5563;font-size:13px}.dashboard-link-btn,.dashboard-row-action{white-space:nowrap;padding:8px 10px;font-size:13px}.dashboard-list{flex-direction:column;gap:10px;display:flex}.dashboard-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:12px;display:grid}.dashboard-row p{color:#4b5563;margin-top:3px}.dashboard-row small{color:#6b7280;margin-top:4px;display:block}.dashboard-pill{border-radius:999px;justify-content:center;min-width:78px;padding:5px 8px;font-size:12px;font-weight:700;display:inline-flex}.dashboard-pill-critical{color:#991b1b;background:#fee2e2}.dashboard-pill-important{color:#92400e;background:#fef3c7}.dashboard-pill-information{color:#1d4ed8;background:#dbeafe}.dashboard-alert-critical{border-color:#fecaca}.dashboard-alert-important{border-color:#fde68a}.dashboard-alert-information{border-color:#bfdbfe}.dashboard-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dashboard-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard-kpi-card{color:#111827;text-align:left;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;justify-content:space-between;gap:10px;min-height:86px;padding:14px;display:flex}.dashboard-kpi-card span{color:#6b7280;font-size:13px}.dashboard-kpi-card strong{font-size:28px}.dashboard-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dashboard-mini-grid p{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;min-height:68px;padding:12px}.dashboard-mini-grid strong,.dashboard-mini-grid span{display:block}.dashboard-mini-grid strong{margin-bottom:4px;font-size:24px}.dashboard-mini-grid span,.dashboard-muted,.dashboard-empty{color:#6b7280;font-size:13px}.dashboard-empty{background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;padding:12px}@media (width<=1100px){.dashboard-kpi-grid,.quick-availability-form,.quick-availability-note,.quick-availability-results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.dashboard-two-columns,.dashboard-row,.quick-availability-form,.quick-availability-note,.quick-availability-results,.quick-availability-vehicle{grid-template-columns:1fr}.dashboard-row-action{justify-self:start}}.field{flex-direction:column;gap:6px;display:flex}.field label{color:#374151;font-size:13px;font-weight:700}.compact-3-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.driver-add-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;margin-bottom:18px;display:grid}.driver-add-form select{width:100%}.driver-add-button{white-space:nowrap;justify-self:start;width:auto;min-width:112px;height:45px;padding:0 18px}.rental-form input,.rental-form select,.rental-form textarea{height:35px;padding:6px 10px;font-size:14px}.rental-form textarea{height:auto;min-height:80px}.rental-form .field{gap:4px}.rental-form .field label{margin-bottom:2px;font-size:12px;font-weight:600}.rental-form h3{margin-top:20px;margin-bottom:10px}.rental-form .form-grid{gap:10px}
