:root{--bg: #0A0D14;--surface: #12151F;--surface-2: #171B27;--ink: #F2F3F7;--ink-soft: #8B93A7;--line: #232838;--sidebar: #0D1019;--sidebar-ink: #8B93A7;--sidebar-ink-active: #FFFFFF;--accent: #F2994A;--accent-ink: #FBC08A;--teal: #2FBF9F;--danger: #EF5A5A;--info: #4C8DFF;--purple: #9B7BF2;--radius: 12px;--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overflow-x:hidden}input,select,textarea,button{max-width:100%;box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:-.01em}.mono{font-family:var(--font-mono)}[dir=rtl] .mono{font-family:var(--font-mono);direction:ltr;display:inline-block}body.lang-ar,body.lang-ar h1,body.lang-ar h2,body.lang-ar h3,body.lang-ar .display{font-family:Tajawal,Inter,sans-serif}a{color:inherit}button{font-family:var(--font-body);cursor:pointer}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.app-content{display:flex;flex-direction:column;min-width:0}.topbar{height:64px;flex:none;display:flex;align-items:center;gap:16px;padding:0 24px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:5}.topbar .menu-btn{display:none;background:none;border:none;color:var(--ink);font-size:20px;padding:4px}.topbar .search{flex:1;max-width:420px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 16px;color:var(--ink-soft);font-size:13px}.topbar .search input{background:none;border:none;outline:none;color:var(--ink);font-size:13px;width:100%}.search-wrapper{position:relative;flex:1;max-width:420px}.search-wrapper .search{max-width:none}@media (max-width: 860px){.search-wrapper{display:none}}.notif-wrapper{position:relative}.search-results{position:absolute;top:calc(100% + 8px);left:0;width:100%;min-width:260px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #00000059;padding:8px;z-index:30;max-height:320px;overflow-y:auto}.search-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:6px 8px 4px}.search-result{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;color:var(--ink);padding:8px;border-radius:8px;font-size:13px}.search-result:hover{background:#ffffff0d}.search-empty{padding:10px 8px;font-size:13px;color:var(--ink-soft)}.notif-dot{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:grid;place-items:center;padding:0 3px}.topbar .spacer{flex:1}.topbar .icon-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:15px}.topbar .user{display:flex;align-items:center;gap:10px;padding-left:12px}.topbar .user .avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--purple));display:grid;place-items:center;font-weight:700;font-size:13px;color:#14181f;flex:none}.topbar .user .meta{line-height:1.2}.topbar .user .meta .name{font-size:13px;font-weight:600}.topbar .user .meta .role{font-size:11px;color:var(--ink-soft);text-transform:capitalize}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.topbar .menu-btn{display:grid;place-items:center}.topbar .search{display:none}}@media (max-width: 480px){.topbar{padding:0 12px;gap:8px}.topbar .user .meta{display:none}}.sidebar{background:var(--sidebar);color:var(--sidebar-ink);padding:20px 14px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line)}.sidebar .brand{font-family:var(--font-display);font-weight:700;font-size:19px;color:#fff;margin:4px 8px 20px;display:flex;align-items:baseline;gap:6px}.sidebar .brand span{color:var(--accent)}.sidebar .nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#545c70;padding:8px 12px 6px}.sidebar a{text-decoration:none;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;font-size:14px;font-weight:500}.sidebar a .nav-icon{font-size:15px;width:18px;text-align:center}.sidebar a:hover{background:#ffffff0d;color:#fff}.sidebar a.active{background:#f2994a24;color:var(--sidebar-ink-active)}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}@media (max-width: 860px){.sidebar{position:fixed;top:0;right:25%;bottom:0;left:0;z-index:20;transform:translate(-100%);transition:transform .2s ease;box-shadow:20px 0 40px #0006}.sidebar.open{transform:translate(0)}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:15}}.main{padding:28px 32px 48px;max-width:1320px;width:100%}@media (max-width: 640px){.main{padding:20px 16px 40px}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:border-color .15s}.btn{transition:filter .12s,transform .08s}.btn:active{transform:scale(.97)}.btn:hover{filter:brightness(1.08)}.stat-card{position:relative;display:flex;flex-direction:column;gap:14px}.stat-card .icon-badge{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:16px}.stat-card .label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);max-width:75%}.stat-card .value{font-family:var(--font-display);font-size:26px;font-weight:600}.stat-card .sub{font-size:12px;color:var(--ink-soft)}.status-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500}.status-available{background:#2fbf9f24;color:var(--teal)}.status-rented{background:#f2994a29;color:var(--accent-ink)}.status-maintenance{background:#ef5a5a24;color:var(--danger)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px;white-space:nowrap}th{color:var(--ink-soft);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.table-scroll{overflow-x:auto}.btn{background:var(--ink);color:var(--bg);border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:500}.btn.accent{background:var(--accent);color:#1a1002}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;min-width:0}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-soft);min-width:0}.form-grid input,.form-grid select,.form-grid textarea{font-family:var(--font-body);padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;color:var(--ink);background:var(--surface-2);width:100%}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:var(--accent)}@media (max-width: 400px){.form-grid{grid-template-columns:1fr}.modal-card{padding:16px}.card{padding:14px}}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}@media (max-width: 860px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}}.auth-brand{position:relative;overflow:hidden;background:var(--sidebar);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between}.auth-brand .brand{font-family:var(--font-display);font-weight:700;font-size:24px;position:relative;z-index:1}.auth-brand .brand span{color:var(--accent)}.auth-brand .tagline{position:relative;z-index:1;max-width:360px}.auth-brand .tagline h2{font-size:28px;line-height:1.25;margin:0 0 12px}.auth-brand .tagline p{color:var(--sidebar-ink);font-size:14px;line-height:1.6}.auth-brand .roadline{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.auth-card{width:100%;max-width:380px}.auth-card .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0 0 6px}.auth-card h1{font-size:24px;margin:0 0 24px}.field{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:14px}.field input,.field select{width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:var(--font-body);color:var(--ink);background:var(--surface-2);transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f2994a26}.auth-error{background:#ef5a5a1a;color:var(--danger);border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:14px}.btn-block{width:100%;padding:12px;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}.btn-block:disabled{opacity:.65;cursor:not-allowed}.spinner{width:14px;height:14px;border:2px solid rgba(0,0,0,.25);border-top-color:#1a1002;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-switch{font-size:13px;margin-top:18px;text-align:center;color:var(--ink-soft)}.auth-switch a{color:var(--accent-ink);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.fab{position:fixed;right:28px;bottom:28px;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#1a1002;border:none;font-size:28px;font-weight:700;line-height:1;display:grid;place-items:center;box-shadow:0 10px 28px #f2994a59;z-index:40}.fab:hover{filter:brightness(1.05)}@media (max-width: 640px){.fab{right:18px;bottom:18px;width:50px;height:50px;font-size:24px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:50;padding:16px}.modal-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.chip{background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);padding:7px 14px;border-radius:999px;font-size:13px;font-weight:500;transition:all .15s}.chip:active{transform:scale(.96)}.chip-active{background:#f2994a24;border-color:var(--accent);color:var(--accent-ink)}.clickable-row{cursor:pointer;transition:background .12s}.clickable-row:hover{background:#ffffff08}.clickable-row:active{background:#ffffff0f}.reservation-cards{display:none}.reservation-table-wrap{display:block}.reservation-card{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;transition:transform .1s,background .15s}.reservation-card:active{transform:scale(.98);background:var(--surface-2)}.reservation-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.reservation-card-vehicle{font-weight:600;font-size:14px}.reservation-card-customer{font-size:13px;color:var(--ink-soft);margin-bottom:4px}.reservation-card-dates{font-size:12px;color:var(--ink-soft);margin-bottom:8px}.reservation-card-price{font-size:15px;font-weight:700}@media (max-width: 760px){.reservation-cards{display:block}.reservation-table-wrap{display:none}}.bottom-nav{display:none}@media (max-width: 640px){.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--sidebar);border-top:1px solid var(--line);z-index:25;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--sidebar-ink);font-size:10px;font-weight:500;border:none;background:none;font-family:var(--font-body);cursor:pointer}.bottom-nav-icon{font-size:19px}.bottom-nav-item.active{color:var(--accent)}.main{padding-bottom:84px}.fab{bottom:78px}.sidebar,.topbar .menu-btn{display:none}}.install-banner{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px #0006;padding:12px 14px;display:flex;align-items:center;gap:10px;width:100%;animation:slide-up .25s ease}.install-banner-icon{font-size:20px;flex:none}.install-banner-text{font-size:13px;flex:1}.notification-stack{position:fixed;left:16px;right:16px;bottom:16px;z-index:40;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:10px}@media (max-width: 640px){.notification-stack{bottom:74px}}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}[dir=rtl] .fab{right:auto;left:28px}@media (max-width: 640px){[dir=rtl] .fab{left:18px;right:auto}}[dir=rtl] .sidebar{border-right:none;border-left:1px solid var(--line)}@media (max-width: 860px){[dir=rtl] .sidebar{top:0;right:0;bottom:0;left:25%;transform:translate(100%);box-shadow:-20px 0 40px #0006}[dir=rtl] .sidebar.open{transform:translate(0)}}[dir=rtl] .search-results{left:0!important;right:auto!important}[dir=rtl] .stat-card .icon-badge{right:auto;left:18px}[dir=rtl] .notif-dot{right:auto;left:-4px}
