:root{--bg:#09090b;--surface:#111113;--card:#18181b;--card-hover:#1f1f23;--card-active:#27272a;--border:#ffffff0f;--border-strong:#ffffff1f;--primary:#14b8a6;--primary-dim:#14b8a626;--success:#22c55e;--danger:#ef4444;--warning:#f59e0b;--info:#3b82f6;--text:#fafafa;--text-secondary:#ffffffb8;--text-muted:#ffffff7a;--text-disabled:#ffffff47;--shadow-sm:0 1px 2px #0000003d;--shadow-md:0 4px 12px #00000052;--shadow-lg:0 8px 28px #0000006b;--shadow-xl:0 16px 48px #00000085;--shadow-glow-primary:0 0 24px #14b8a638;--shadow-glow-danger:0 0 24px #ef444438;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}html,body,#root{background:var(--bg);width:100%;min-height:100%;margin:0;padding:0}#root{position:relative}.glass{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg);background:#111113c7}.glass-hover{transition:background .2s var(--ease-out-expo), border-color .2s var(--ease-out-expo), transform .2s var(--ease-out-expo), box-shadow .2s var(--ease-out-expo)}.glass-hover:hover{background:var(--card-hover);border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.slide-in-left{animation:slideInLeft .35s var(--ease-out-expo) forwards}.slide-in-top{animation:slideInTop .35s var(--ease-out-expo) forwards}.slide-in-bottom{animation:slideInBottom .35s var(--ease-out-expo) forwards}.slide-in-right{animation:slideInRight .35s var(--ease-out-expo) forwards}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%{box-shadow:0 0 #22c55e8c}70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}@keyframes pulseDanger{0%{box-shadow:0 0 #ef44448c}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.online{background:var(--success);animation:2s infinite pulse}.status-dot.offline{background:var(--danger);animation:2.5s infinite pulseDanger}.map-marker{width:20px;height:20px;box-shadow:var(--shadow-md);cursor:pointer;border:2px solid #fff;border-radius:50%;transition:box-shadow .2s}@media (pointer:coarse){.map-marker:after{content:"";position:absolute;inset:-12px}}.map-marker.selected{box-shadow:0 0 0 4px #14b8a659, var(--shadow-md)}.map-marker.online{background:var(--success)}.map-marker.offline{background:var(--danger)}.map-marker.arrow{width:24px;height:24px;box-shadow:none;color:var(--text);filter:drop-shadow(0 1px 2px #00000080);background:0 0;border:none;border-radius:0}.map-marker.arrow.online{color:var(--success)}.map-marker.arrow.offline{color:var(--danger)}.map-marker.arrow.selected{filter:drop-shadow(0 0 6px var(--primary))}.map-marker-label{border:1px solid var(--border-strong);color:var(--text);white-space:nowrap;pointer-events:auto;filter:none;background:#111113e0;border-radius:6px;gap:6px;padding:3px 8px;font-size:12px;font-weight:500;line-height:1.4;display:flex;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.map-marker-label-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.map-marker-label-speed{color:var(--text-secondary);flex-shrink:0}.map-marker-label-speed:empty{display:none}.map-marker.selected .map-marker-label{border-color:var(--primary)}@media (width<=768px){.map-marker-label{gap:4px;padding:2px 6px;font-size:11px;left:calc(100% + 6px)}.map-marker-label-name{max-width:90px}}.map-marker-arrow{width:100%;height:100%;transition:transform .8s;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff38}.alerts-toast-container{z-index:100;pointer-events:none;flex-direction:column;gap:10px;max-width:360px;display:flex;position:fixed;top:84px;right:16px}.alerts-toast{pointer-events:auto;border-radius:var(--radius-md);background:var(--card);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);animation:slideInRight .35s var(--ease-out-expo) forwards;align-items:center;gap:12px;padding:14px 16px;display:flex}.alerts-toast span{flex:1;font-size:14px;line-height:1.4}.alerts-toast button{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.alerts-toast button:hover{color:var(--text);background:#ffffff0f}.alerts-toast.warning{border-left:4px solid var(--warning)}.alerts-toast.danger{border-left:4px solid var(--danger)}.alerts-toast.success{border-left:4px solid var(--success)}.alerts-toast.info{border-left:4px solid var(--info);border-left:4px solid var(--info)}.alerts-toast.neutral{border-left:4px solid var(--text-muted)}.ad-alerts-device-item{cursor:pointer;color:var(--text);background:#ffffff08;border-radius:8px;align-items:center;gap:10px;padding:8px;font-size:14px;display:flex}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right{bottom:88px!important}@media (width<=768px){.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right{bottom:96px!important}.mapboxgl-ctrl-top-right{top:76px!important}}.tracking-header{z-index:20;align-items:center;gap:16px;height:60px;padding:10px 16px;display:flex;position:absolute;top:16px;left:16px;right:16px}.tracking-header-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.tracking-logo-mark{background:linear-gradient(135deg, var(--primary), var(--success));color:#09090b;border-radius:10px;place-items:center;width:34px;height:34px;font-size:16px;font-weight:700;display:grid}.tracking-logo-text{letter-spacing:-.3px;font-size:18px;font-weight:700}.tracking-header-nav{align-items:center;gap:6px;display:flex}.tracking-header-nav button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.tracking-header-nav button:hover{color:var(--text)}.tracking-header-nav button.active{background:var(--primary-dim);color:var(--primary)}.tracking-header-badge{background:var(--danger);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.tracking-header-search{flex:1;align-items:center;max-width:260px;display:flex;position:relative}.tracking-header-search svg{pointer-events:none;position:absolute;left:12px}.tracking-header-search input{border:1px solid var(--border);width:100%;color:var(--text);background:#ffffff0a;border-radius:10px;outline:none;padding:8px 12px 8px 36px;font-size:14px;transition:border-color .2s}.tracking-header-search input:focus{border-color:var(--primary)}.tracking-header-lang{flex-shrink:0;align-items:center;gap:4px;display:flex}.tracking-header-lang button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;min-width:32px;min-height:32px;padding:5px 8px;font-size:12px;font-weight:600}.tracking-header-lang button.active{background:var(--card-hover);color:var(--text)}.tracking-header-settings{border:1px solid var(--border);width:40px;height:40px;color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:10px;flex-shrink:0;place-items:center;text-decoration:none;transition:background .2s;display:grid}.tracking-header-settings:hover{background:#ffffff1a}.tracking-header-burger{border:1px solid var(--border);width:44px;height:44px;color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:none}.tracking-mobile-menu{z-index:31;animation:slideInTop .25s var(--ease-out-expo) forwards;flex-direction:column;gap:16px;padding:16px;display:none;position:absolute;top:84px;left:16px;right:16px}.tracking-mobile-search{align-items:center;display:flex;position:relative}.tracking-mobile-search svg{pointer-events:none;position:absolute;left:12px}.tracking-mobile-search input{border:1px solid var(--border);width:100%;color:var(--text);background:#ffffff0a;border-radius:10px;outline:none;padding:10px 12px 10px 36px;font-size:16px}.tracking-mobile-nav{flex-direction:column;gap:6px;display:flex}.tracking-mobile-nav button,.tracking-mobile-nav a{color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:space-between;align-items:center;min-height:44px;padding:12px 14px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.tracking-mobile-nav button.active,.tracking-mobile-nav a.active,.tracking-mobile-nav a:hover{background:var(--primary-dim);color:var(--primary)}.tracking-mobile-badge{background:var(--danger);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.tracking-mobile-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.tracking-mobile-lang{gap:4px;display:flex}.tracking-mobile-lang button{color:var(--text-muted);background:0 0;border:none;border-radius:6px;min-width:36px;min-height:36px;padding:6px 10px;font-size:13px;font-weight:600}.tracking-mobile-lang button.active{background:var(--card-hover);color:var(--text)}.tracking-mobile-logout{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:0 0;border-radius:8px;min-height:40px;padding:8px 14px;font-size:13px;font-weight:600}.tracking-body{width:100%;height:100vh;min-height:100vh;display:flex;overflow:hidden}.tracking-map-area{flex:1;min-width:0;height:100%;position:relative;overflow:hidden}.tracking-sidebar-toggle{z-index:15;border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);width:48px;height:48px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-lg);transition:left .3s var(--ease-out-expo), background .2s;background:#111113d9;border-radius:12px;place-items:center;display:grid;position:absolute;top:92px;left:16px}.tracking-sidebar-toggle:hover{background:var(--card-hover)}.tracking-sidebar.desktop{z-index:14;-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border);width:340px;height:100%;box-shadow:var(--shadow-lg);transition:width .35s var(--ease-out-expo), opacity .3s ease;background:#111113eb;flex-shrink:0;position:relative;overflow:hidden}.tracking-sidebar.desktop.closed{opacity:0;pointer-events:none;width:0}.tracking-sidebar.desktop.open{opacity:1;width:340px}.tracking-sidebar.desktop .tracking-sidebar-inner{padding-top:92px}.tracking-sidebar-overlay{z-index:30;background:#0000008c;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@media (width>=769px){.tracking-sidebar-overlay,.tracking-slide-panel-overlay{display:none!important}}@media (width<=768px){.tracking-slide-panel.desktop{display:none!important}}.tracking-sidebar.mobile{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);border:1px solid var(--border);width:100%;max-height:85vh;box-shadow:var(--shadow-xl);animation:slideUp .35s var(--ease-out-expo) forwards;border-bottom:none;overflow:hidden}.tracking-sidebar-inner{height:100%;max-height:inherit;flex-direction:column;display:flex}.tracking-sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px;display:flex}.tracking-sidebar-title{align-items:center;gap:10px;display:flex}.tracking-sidebar-title h2{margin:0;font-size:16px;font-weight:600}.tracking-sidebar-count{color:var(--text-muted);background:#ffffff0f;border-radius:20px;padding:3px 8px;font-size:12px}.tracking-sidebar-close{width:36px;height:36px;color:var(--text);cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;place-items:center;display:grid}.tracking-sidebar-filters{border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;flex-shrink:0;gap:8px;padding:12px 16px;display:flex;overflow-x:auto}.tracking-sidebar-filter{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #0000;border-radius:20px;flex-shrink:0;align-items:center;gap:8px;min-height:32px;padding:7px 14px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.tracking-sidebar-filter:hover{color:var(--text);background:#ffffff14}.tracking-sidebar-filter.active{border-color:var(--filter-color);background:color-mix(in srgb, var(--filter-color) 12%, transparent);color:var(--filter-color)}.tracking-sidebar-filter-dot{border-radius:50%;width:7px;height:7px}.tracking-sidebar-filter-count{background:#ffffff14;border-radius:10px;padding:1px 5px;font-size:10px;font-weight:600}.tracking-sidebar-filter.active .tracking-sidebar-filter-count{background:color-mix(in srgb, var(--filter-color) 22%, transparent)}.tracking-sidebar-list{flex:1;padding:8px;overflow-y:auto}.tracking-vehicle-card{text-align:left;width:100%;color:var(--text);cursor:pointer;background:#ffffff08;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:8px;margin-bottom:8px;padding:12px;transition:all .2s;display:flex}.tracking-vehicle-card:hover{background:var(--card-hover);border-color:var(--border-strong)}.tracking-vehicle-card.selected{background:var(--primary-dim);border-color:var(--primary)}.tracking-vehicle-row{justify-content:space-between;align-items:center;display:flex}.tracking-vehicle-name{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.tracking-vehicle-status{font-size:12px;font-weight:500}.tracking-vehicle-meta{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.tracking-sidebar-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;font-size:14px;display:flex}.tracking-sidebar-error{color:var(--danger);margin:0;font-weight:500}.tracking-sidebar-state-hint{color:var(--text-disabled);font-size:12px}.tracking-sidebar-retry{background:var(--primary);color:#09090b;cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:8px 16px;font-size:13px;font-weight:600}.layer-panel{z-index:13;min-width:140px;transition:right .3s var(--ease-out-expo);flex-direction:column;padding:6px;display:flex;position:absolute;top:92px;right:16px}.layer-panel-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:10px;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.layer-panel-toggle:hover{background:var(--card-hover)}.layer-panel-active-icon{font-size:16px}.layer-panel-active-label{text-align:left;flex:1}.layer-panel-dropdown{border:1px solid var(--border);box-shadow:var(--shadow-lg);background:#111113f2;border-radius:12px;flex-direction:column;gap:4px;max-height:320px;margin-top:6px;padding:6px;display:flex;overflow-y:auto}.layer-panel-option{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.layer-panel-option:hover{background:var(--card-hover);color:var(--text)}.layer-panel-option.active{background:var(--primary-dim);color:var(--primary)}.layer-panel-option-icon{text-align:center;width:22px;font-size:16px}.layer-panel-option-label{flex:1}.layer-panel-check{color:var(--primary)}.tracking-live-badge{z-index:11;background:var(--primary-dim);color:var(--primary);border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;display:flex;position:absolute;top:92px;right:180px}.tracking-live-dot{background:var(--primary);border-radius:50%;width:7px;height:7px;animation:1.5s infinite pulse}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.tracking-header{gap:10px;height:56px;padding:8px 12px;top:12px;left:12px;right:12px}.tracking-logo-text{font-size:16px}.tracking-header-nav,.tracking-header-search,.tracking-header-lang{display:none}.tracking-header-burger{display:grid}.tracking-mobile-menu{display:flex}.tracking-sidebar-toggle{width:44px;height:44px;top:80px;left:12px}.tracking-body{display:block}.tracking-map-area{height:100vh}.tracking-sidebar.desktop{display:none}.layer-panel{min-width:120px;top:80px;right:12px}.layer-panel-toggle{padding:8px}.layer-panel-active-label{display:none}.layer-panel-dropdown{z-index:25;width:220px;position:fixed;top:136px;left:auto;right:12px}.tracking-live-badge{top:136px;left:12px;right:auto}}.tracking-panel-backdrop{z-index:13;background:0 0;position:fixed;inset:0}.tracking-slide-panel.desktop{z-index:25;-webkit-backdrop-filter:blur(18px);border-right:1px solid var(--border);width:360px;box-shadow:var(--shadow-xl);opacity:0;transition:transform .25s var(--ease-out-expo), opacity .25s ease;pointer-events:none;background:#111113f0;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%)}.tracking-slide-panel.desktop.open{opacity:1;pointer-events:auto;transform:translate(0)}.tracking-slide-panel-overlay{z-index:30;pointer-events:none;background:#0000008c;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.tracking-slide-panel.mobile{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);border:1px solid var(--border);width:100%;height:92vh;max-height:92vh;box-shadow:var(--shadow-xl);animation:slideUp .35s var(--ease-out-expo) forwards;pointer-events:auto;border-bottom:none;overflow:hidden}@media (width>=769px){.tracking-slide-panel-overlay{display:none!important}}.tracking-slide-panel-inner{height:100%;max-height:inherit;flex-direction:column;display:flex}.tracking-slide-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:92px 16px 16px;display:flex}.tracking-slide-panel-title{align-items:center;gap:10px;display:flex}.tracking-slide-panel-title h2{margin:0;font-size:17px;font-weight:600}.tracking-slide-panel-count{color:var(--text-muted);background:#ffffff0f;border-radius:20px;padding:3px 8px;font-size:12px}.tracking-slide-panel-close{width:36px;height:36px;color:var(--text);cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;place-items:center;display:grid}.tracking-sidebar-toggle.panel-open{left:376px}.history-panel-content{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow-y:auto}.history-panel-field{flex-direction:column;gap:6px;display:flex}.history-panel-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:600}.history-panel-field select,.history-panel-field input[type=datetime-local]{border:1px solid var(--border);width:100%;color:var(--text);background:#ffffff0a;border-radius:10px;outline:none;padding:10px 12px;font-size:14px}.history-panel-field select:focus,.history-panel-field input:focus{border-color:var(--primary)}.history-panel-presets{flex-wrap:wrap;gap:8px;display:flex}.history-panel-presets button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:20px;padding:7px 12px;font-size:12px;font-weight:500;transition:all .2s}.history-panel-presets button.active,.history-panel-presets button:hover{border-color:var(--primary);background:var(--primary-dim);color:var(--primary)}.history-panel-dates{grid-template-columns:1fr 1fr;gap:10px;display:grid}.history-panel-show-btn{background:var(--primary);color:#09090b;cursor:pointer;border:none;border-radius:10px;padding:12px;font-size:14px;font-weight:700;transition:opacity .2s,transform .2s}.history-panel-show-btn:disabled{opacity:.5;cursor:not-allowed}.history-panel-show-btn:not(:disabled):hover{opacity:.9;transform:translateY(-1px)}.history-panel-error{color:var(--danger);margin:0;font-size:13px}.history-panel-results{border-top:1px solid var(--border);flex-direction:column;gap:14px;padding-top:14px;display:flex}.history-panel-stats{color:var(--text-muted);gap:12px;font-size:13px;display:flex}.history-panel-replay{align-items:center;gap:10px;display:flex}.history-panel-play{background:var(--primary);color:#09090b;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:8px 14px;font-size:13px;font-weight:700}.history-panel-play:disabled{opacity:.5;cursor:not-allowed}.history-panel-progress{accent-color:var(--primary);flex:1;min-height:24px}.history-panel-replay select{border:1px solid var(--border);color:var(--text);background:#ffffff0a;border-radius:6px;padding:6px 8px;font-size:13px}.history-panel-stops h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin:0 0 8px;font-size:13px;font-weight:600}.history-panel-stops-list{flex-direction:column;gap:8px;display:flex}.history-panel-stop{border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;background:#ffffff08;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;transition:background .2s;display:flex}.history-panel-stop:hover{background:var(--card-hover)}.history-panel-stop-time{font-size:13px}.history-panel-stop-duration{color:var(--text-muted);font-size:12px}.tp-alerts-panel-meta{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:12px 16px;font-size:13px;display:flex}.tp-alerts-panel-list{flex:1;padding:12px;overflow-y:auto}.trip-marker{color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:800;display:grid;box-shadow:0 2px 8px #00000080}.trip-marker-start{background:var(--success)}.trip-marker-end{background:var(--danger)}.trip-marker-replay{background:var(--primary);width:16px;height:16px;box-shadow:0 0 12px var(--primary);border:2px solid #fff;border-radius:50%}@media (width<=768px){.tracking-slide-panel-header{padding-top:20px}.tracking-sidebar-toggle.panel-open{left:12px}.history-panel-dates{grid-template-columns:1fr}}:root{--ld-cream:#fafaf7;--ld-cream-dark:#f2f0ea;--ld-teal:#0f766e;--ld-teal-hover:#115e59;--ld-teal-light:#2dd4bf;--ld-text:#1a1a1a;--ld-text-muted:#57534e;--ld-border:#0f766e1f;--ld-radius:16px;--ld-shadow:0 12px 40px #0000000f}.landing{color:var(--ld-text);background:var(--ld-cream);font-family:Tajawal,Cairo,system-ui,-apple-system,sans-serif;line-height:1.65;overflow-x:hidden}.landing *{box-sizing:border-box}.landing a{color:inherit;text-decoration:none}.landing img{max-width:100%;display:block}.landing-section{width:100%;max-width:1200px;margin:0 auto;padding:80px 24px}.landing-title{margin:0 0 16px;font-size:clamp(28px,5vw,42px);font-weight:800;line-height:1.25}.landing-subtitle{color:var(--ld-text-muted);max-width:620px;margin:0 auto 40px;font-size:clamp(16px,2vw,19px)}.landing-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px 24px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .1s,background .2s,box-shadow .2s;display:inline-flex}.landing-btn:active{transform:scale(.98)}.landing-btn.primary{background:var(--ld-teal);color:#fff}.landing-btn.primary:hover{background:var(--ld-teal-hover)}.landing-btn.whatsapp{color:var(--ld-teal);border:1px solid var(--ld-border);background:#fff}.landing-btn.whatsapp:hover{background:var(--ld-cream-dark)}.landing-btn.light{color:var(--ld-teal);background:#fff}.landing-btn.light:hover{background:var(--ld-cream-dark)}.ld-header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--ld-border);background:#fafaf7eb;position:sticky;top:0}.ld-header-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:14px 24px;display:flex}.ld-logo{align-items:center;gap:10px;font-size:22px;font-weight:800;display:flex}.ld-logo-mark{background:linear-gradient(135deg, var(--ld-teal), var(--ld-teal-light));color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.ld-nav{align-items:center;gap:28px;display:flex}.ld-nav a{color:var(--ld-text-muted);font-size:15px;font-weight:600;transition:color .2s}.ld-nav a:hover{color:var(--ld-teal)}.ld-header-actions{align-items:center;gap:12px;display:flex}.ld-menu-btn{cursor:pointer;color:var(--ld-text);background:0 0;border:none;padding:6px;display:none}@media (width<=900px){.ld-nav{background:var(--ld-cream);border-bottom:1px solid var(--ld-border);flex-direction:column;gap:0;padding:12px 24px;display:none;position:absolute;top:100%;left:0;right:0}.ld-nav.open{display:flex}.ld-nav a{border-bottom:1px solid var(--ld-border);padding:12px 0}.ld-menu-btn{display:block}.ld-header-actions .landing-btn.whatsapp{display:none}}.ld-hero{padding-top:60px;padding-bottom:80px}.ld-hero-grid{grid-template-columns:1fr 1.1fr;align-items:center;gap:48px;display:grid}.ld-hero-badge{border:1px solid var(--ld-border);color:var(--ld-teal);background:#fff;border-radius:20px;align-items:center;gap:8px;margin-bottom:20px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.ld-hero-title{margin:0 0 20px;font-size:clamp(34px,5vw,52px);font-weight:900;line-height:1.15}.ld-hero-subtitle{color:var(--ld-text-muted);max-width:520px;margin-bottom:32px;font-size:18px}.ld-hero-actions{flex-wrap:wrap;gap:14px;display:flex}.ld-mockup{background:#0f0f11;border:1px solid #ffffff14;border-radius:20px;transition:transform .4s;overflow:hidden;transform:perspective(1200px)rotateY(-4deg)rotateX(2deg);box-shadow:0 24px 70px #00000038}.ld-mockup:hover{transform:perspective(1200px)rotateY(0)rotateX(0)}.ld-mockup-bar{background:#18181b;border-bottom:1px solid #ffffff0f;align-items:center;gap:8px;padding:10px 14px;display:flex}.ld-mockup-dot{border-radius:50%;width:10px;height:10px}.ld-mockup-content{background:#0f0f11;height:320px;position:relative;overflow:hidden}.ld-mockup-img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}@media (width<=900px){.ld-hero-grid{grid-template-columns:1fr}.ld-mockup{max-width:560px;margin:0 auto;transform:none}.ld-mockup-content{height:260px}}.ld-stats{border-top:1px solid var(--ld-border);border-bottom:1px solid var(--ld-border);background:#fff}.ld-stats-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.ld-stat{text-align:center}.ld-stat-value{color:var(--ld-teal);font-size:clamp(28px,4vw,40px);font-weight:900;line-height:1}.ld-stat-label{color:var(--ld-text-muted);margin-top:8px;font-size:15px;font-weight:600}@media (width<=768px){.ld-stats-grid{grid-template-columns:repeat(2,1fr)}}.ld-section-header{text-align:center;margin-bottom:56px}.ld-features-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.ld-feature{border:1px solid var(--ld-border);border-radius:var(--ld-radius);background:#fff;padding:24px;transition:transform .2s,box-shadow .2s}.ld-feature:hover{box-shadow:var(--ld-shadow);transform:translateY(-4px)}.ld-feature-icon{width:44px;height:44px;color:var(--ld-teal);background:#0f766e14;border-radius:12px;place-items:center;margin-bottom:16px;display:grid}.ld-feature-title{margin:0 0 8px;font-size:17px;font-weight:800}.ld-feature-desc{color:var(--ld-text-muted);margin:0;font-size:14px;line-height:1.6}@media (width<=1024px){.ld-features-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.ld-features-grid{grid-template-columns:1fr}}.ld-how{border-top:1px solid var(--ld-border);border-bottom:1px solid var(--ld-border);background:#fff}.ld-how-grid{counter-reset:step;grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.ld-step{border:1px solid var(--ld-border);border-radius:var(--ld-radius);background:var(--ld-cream);padding:32px;position:relative}.ld-step-number{background:var(--ld-teal);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;margin-bottom:20px;font-size:18px;font-weight:800;display:grid}.ld-step-title{margin:0 0 10px;font-size:19px;font-weight:800}.ld-step-desc{color:var(--ld-text-muted);margin:0;font-size:15px}@media (width<=768px){.ld-how-grid{grid-template-columns:1fr}}.ld-device-grid{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.ld-device-visual{aspect-ratio:4/3;border-radius:var(--ld-radius);border:1px solid var(--ld-border);background:linear-gradient(135deg,#e7f5f4,#f0fdfa);place-items:center;display:grid}.ld-device-box{border:1px solid var(--ld-border);width:160px;height:100px;box-shadow:var(--ld-shadow);background:#fff;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.ld-device-led{background:var(--ld-teal-light);width:10px;height:10px;box-shadow:0 0 12px var(--ld-teal-light);border-radius:50%}.ld-device-name{color:var(--ld-teal);font-size:15px;font-weight:800}.ld-device-title{margin:0 0 16px;font-size:clamp(26px,4vw,36px);font-weight:800}.ld-device-desc{color:var(--ld-text-muted);margin-bottom:24px;font-size:16px}.ld-device-list{flex-direction:column;gap:12px;margin:0 0 24px;padding:0;list-style:none;display:flex}.ld-device-list li{align-items:center;gap:10px;font-size:15px;display:flex}.ld-device-check{width:22px;height:22px;color:var(--ld-teal);background:#0f766e1a;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.ld-device-compat{border:1px solid var(--ld-border);color:var(--ld-text-muted);background:#0f766e0f;border-radius:12px;padding:14px 18px;font-size:14px}@media (width<=900px){.ld-device-grid{grid-template-columns:1fr}.ld-device-visual{order:-1;width:100%;max-width:480px;margin:0 auto}}.ld-pricing{border-top:1px solid var(--ld-border);border-bottom:1px solid var(--ld-border);background:#fff}.ld-pricing-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:20px;max-width:1120px;margin:0 auto;display:grid}.ld-pricing-grid.three{grid-template-columns:repeat(3,1fr)}.ld-plan{border:1px solid var(--ld-border);border-radius:var(--ld-radius);background:var(--ld-cream);flex-direction:column;padding:28px;display:flex;position:relative}.ld-plan.featured{border-color:var(--ld-teal);box-shadow:0 0 0 2px var(--ld-teal), var(--ld-shadow);z-index:1;background:#fff;transform:scale(1.03)}.ld-plan-badge{background:var(--ld-teal);color:#fff;white-space:nowrap;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:800;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.ld-plan-name{color:var(--ld-text);margin:0 0 6px;font-size:22px;font-weight:900}.ld-plan-name-ar{color:var(--ld-teal);font-size:15px;font-weight:700}.ld-plan-headline{color:var(--ld-text-muted);min-height:48px;margin:0 0 20px;font-size:15px}.ld-plan-price-block{margin-bottom:20px}.ld-plan-price-block.secondary{margin-top:-12px;margin-bottom:20px}.ld-plan-price{color:var(--ld-teal);font-size:34px;font-weight:900;line-height:1}.ld-plan-price-block.secondary .ld-plan-price{color:var(--ld-text);font-size:22px}.ld-plan-price-label{color:var(--ld-text-muted);margin-top:6px;font-size:14px}.ld-plan-features{flex-direction:column;gap:11px;margin:0 0 24px;padding:0;list-style:none;display:flex}.ld-plan-features li{align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.ld-plan-features li:before{content:"✓";width:20px;height:20px;color:var(--ld-teal);background:#0f766e1a;border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;font-size:12px;font-weight:800;display:grid}.ld-plan .landing-btn{margin-top:auto}.ld-plan-note{color:var(--ld-text-muted);border:1px solid var(--ld-border);background:#0f766e0f;border-radius:10px;margin:-8px 0 18px;padding:12px;font-size:13px;line-height:1.6}.ld-pricing-options{background:var(--ld-cream);border:1px solid var(--ld-border);border-radius:var(--ld-radius);max-width:760px;margin:40px auto 0;padding:24px}.ld-options-title{text-align:center;color:var(--ld-text);margin:0 0 16px;font-size:18px;font-weight:800}.ld-options-list{flex-direction:column;gap:12px;display:flex}.ld-option{border:1px solid var(--ld-border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;font-size:15px;display:flex}.ld-option-price{color:var(--ld-teal);white-space:nowrap;font-weight:800}.ld-pricing-guarantee{text-align:center;color:var(--ld-text-muted);margin-top:32px;font-size:14px}@media (width<=960px){.ld-pricing-grid,.ld-pricing-grid.three{grid-template-columns:1fr;max-width:480px}.ld-plan.featured{order:-1;transform:none}.ld-plan-headline{min-height:auto}.ld-option{flex-direction:column;align-items:flex-start;gap:6px}}.ld-faq-list{flex-direction:column;gap:12px;max-width:760px;margin:0 auto;display:flex}.ld-faq-item{border:1px solid var(--ld-border);background:#fff;border-radius:14px;overflow:hidden}.ld-faq-question{text-align:right;cursor:pointer;width:100%;color:var(--ld-text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-family:inherit;font-size:16px;font-weight:700;display:flex}.ld-faq-icon{flex-shrink:0;width:22px;height:22px;transition:transform .25s}.ld-faq-item.open .ld-faq-icon{transform:rotate(180deg)}.ld-faq-answer{max-height:0;transition:max-height .3s,padding .3s;overflow:hidden}.ld-faq-item.open .ld-faq-answer{max-height:300px;padding:0 20px 18px}.ld-faq-answer p{color:var(--ld-text-muted);margin:0;font-size:15px;line-height:1.7}.ld-final-cta{background:var(--ld-teal);color:#fff}.ld-final-cta-inner{text-align:center;max-width:1200px;margin:0 auto;padding:64px 24px}.ld-final-cta h2{margin:0 0 12px;font-size:clamp(28px,4vw,40px);font-weight:900}.ld-final-cta p{opacity:.92;margin:0 0 28px;font-size:18px}.ld-final-cta-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.ld-footer{color:#ffffffb8;background:#111113;font-size:14px}.ld-footer-inner{max-width:1200px;margin:0 auto;padding:56px 24px 24px}.ld-footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:40px;margin-bottom:40px;display:grid}.ld-footer-brand{color:#fff;align-items:center;gap:10px;margin-bottom:12px;font-size:20px;font-weight:800;display:flex}.ld-footer-brand .ld-logo-mark{width:32px;height:32px;font-size:16px}.ld-footer p{margin:0 0 8px;line-height:1.7}.ld-footer h4{color:#fff;margin:0 0 16px;font-size:15px;font-weight:800}.ld-footer-links{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ld-footer-links a:hover{color:var(--ld-teal-light)}.ld-footer-bottom{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;display:flex}@media (width<=768px){.ld-footer-grid{grid-template-columns:1fr;gap:32px}}.ld-zellige{opacity:.04;pointer-events:none;z-index:0;width:220px;height:220px;position:absolute}@media (width<=768px){.ld-zellige{display:none}}.ld-header{opacity:0;transition:background .25s,box-shadow .25s,transform .4s;transform:translateY(-16px)}.ld-header.mounted{opacity:1;transform:translateY(0)}.ld-header.scrolled{box-shadow:0 1px 0 var(--ld-border), 0 8px 24px #0000000d;background:#fafaf7fa}.ld-hero-title,.ld-hero-subtitle,.ld-hero-actions,.ld-mockup{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(24px)}.ld-mockup{transform:translate(-40px)}.ld-hero-title.in{opacity:1;transition-delay:.12s;transform:none}.ld-hero-subtitle.in{opacity:1;transition-delay:.24s;transform:none}.ld-hero-actions.in{opacity:1;transition-delay:.36s;transform:none}.ld-mockup.in{opacity:1;transition-delay:.2s;transform:none}@keyframes ld-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.ld-mockup.in{animation:4s ease-in-out .8s infinite ld-float}@keyframes ld-pulse{0%,to{box-shadow:0 0 #0f766e59}50%{box-shadow:0 0 0 10px #0f766e00}}.hero-pulse{animation:2.5s ease-in-out infinite ld-pulse}.landing-btn{transition:transform .15s,background .2s,box-shadow .2s}.landing-btn:hover{transform:scale(1.03)}.ld-feature,.ld-step,.ld-plan,.ld-option,.ld-faq-item{transition:transform .2s,box-shadow .2s}.ld-feature:hover,.ld-step:hover,.ld-plan:hover,.ld-option:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0f766e1a}.ld-plan.featured:hover{transform:translateY(-4px)scale(1.03)}.ld-reveal{opacity:0;will-change:opacity, transform;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(24px)}.ld-reveal-visible{opacity:1;transform:none}.ld-faq-answer{opacity:0;max-height:0;transition:max-height .3s,opacity .3s,padding .3s;overflow:hidden}.ld-faq-item.open .ld-faq-answer{opacity:1;max-height:300px;padding:0 20px 18px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ld-mockup.in,.hero-pulse{animation:none}}@media (width<=900px){.ld-mockup{transform:translateY(32px)}}:root{--auth-cream:#fafaf7;--auth-cream-dark:#f2f0ea;--auth-teal:#0f766e;--auth-teal-light:#2dd4bf;--auth-teal-hover:#115e59;--auth-text:#1a1a1a;--auth-text-muted:#57534e;--auth-border:#0f766e2e;--auth-radius:16px;--auth-shadow:0 12px 40px #00000014}.auth-page{background:var(--auth-cream);min-height:100vh;color:var(--auth-text);place-items:center;padding:24px;font-family:Tajawal,Cairo,system-ui,sans-serif;display:grid}.auth-card{border:1px solid var(--auth-border);border-radius:var(--auth-radius);width:100%;max-width:420px;box-shadow:var(--auth-shadow);background:#fff;padding:40px 32px;animation:.35s ease-out both authFadeIn}@keyframes authFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-logo{justify-content:center;align-items:center;gap:12px;margin-bottom:32px;display:flex}.auth-logo-mark{background:linear-gradient(135deg, var(--auth-teal), var(--auth-teal-light));color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-size:20px;font-weight:800;display:grid}.auth-logo-text{letter-spacing:-.5px;color:var(--auth-text);font-size:24px;font-weight:800}.auth-title{text-align:center;margin:0 0 8px;font-size:22px;font-weight:700}.auth-subtitle{text-align:center;color:var(--auth-text-muted);margin-bottom:28px;font-size:15px}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:var(--auth-text);font-size:14px;font-weight:600}.auth-field input,.auth-field textarea,.auth-field select{border:1px solid var(--auth-border);background:var(--auth-cream);color:var(--auth-text);border-radius:12px;outline:none;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.auth-field input:focus,.auth-field textarea:focus,.auth-field select:focus{border-color:var(--auth-teal);box-shadow:0 0 0 3px #0f766e1a}.auth-field textarea{resize:vertical;min-height:90px}.auth-options{justify-content:space-between;align-items:center;font-size:13px;display:flex}.auth-checkbox{cursor:pointer;color:var(--auth-text-muted);align-items:center;gap:8px;display:flex}.auth-checkbox input{width:16px;height:16px;accent-color:var(--auth-teal);cursor:pointer}.auth-btn{background:var(--auth-teal);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:13px 20px;font-family:inherit;font-size:16px;font-weight:700;transition:background .2s,transform .1s}.auth-btn:hover{background:var(--auth-teal-hover)}.auth-btn:active{transform:scale(.99)}.auth-btn:disabled{opacity:.65;cursor:not-allowed}.auth-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 14px;font-size:14px}.auth-footer{text-align:center;color:var(--auth-text-muted);margin-top:24px;font-size:14px}.auth-footer a{color:var(--auth-teal);font-weight:700;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-contact-options{flex-direction:column;gap:12px;margin-top:8px;display:flex}.auth-contact-btn{border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .1s,opacity .2s;display:flex}.auth-contact-btn:hover{opacity:.92}.auth-contact-btn.whatsapp{color:#fff;background:#25d366}.auth-contact-btn.email{background:var(--auth-cream-dark);color:var(--auth-text);border:1px solid var(--auth-border)}.auth-hint{color:var(--auth-teal);text-align:center;background:#f0fdfa;border:1px solid #0f766e1f;border-radius:12px;margin-top:16px;padding:14px;font-size:14px}@media (width<=480px){.auth-page{padding:16px;padding-top:env(safe-area-inset-top,16px);padding-bottom:env(safe-area-inset-bottom,16px);align-items:flex-start}.auth-card{border-radius:14px;padding:28px 22px}.auth-logo-mark{width:38px;height:38px;font-size:18px}.auth-logo-text,.auth-title{font-size:20px}.auth-field input,.auth-field textarea,.auth-field select{min-height:48px;padding:14px;font-size:16px}.auth-btn,.auth-contact-btn{min-height:48px;font-size:16px}.auth-checkbox{min-height:44px}}.vdp-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;z-index:20;background:#111113eb;border:1px solid #ffffff0f;border-radius:16px;width:320px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 96px);padding:16px;position:absolute;top:80px;right:16px;overflow-y:auto;box-shadow:0 8px 32px #0006}[dir=rtl] .vdp-panel{left:16px;right:auto}.vdp-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.vdp-title{word-break:break-word;margin:0;font-size:16px;font-weight:700;line-height:1.3}.vdp-close{color:#fff;cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.vdp-status{align-items:center;gap:8px;margin-bottom:16px;font-size:14px;display:flex}.vdp-status-dot{border-radius:50%;width:8px;height:8px}.vdp-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.vdp-item{background:#ffffff0a;border-radius:10px;padding:10px}.vdp-item-label{color:#ffffff80;margin-bottom:4px;font-size:11px;display:block}.vdp-item-value{word-break:break-word;font-size:13px;font-weight:600;display:block}.vdp-engine{border-top:1px solid #ffffff0f;padding-top:16px}.vdp-engine-title{margin:0 0 12px;font-size:14px;font-weight:700}.vdp-engine-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.vdp-engine-btn{cursor:pointer;border:none;border-radius:10px;min-height:44px;padding:10px 12px;font-size:14px;font-weight:700;transition:opacity .15s,transform .1s}.vdp-engine-btn:disabled{opacity:.5;cursor:not-allowed}.vdp-engine-btn.danger{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.vdp-engine-btn.success{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.vdp-engine-btn.disabled,.vdp-engine-btn:disabled:not(.disabled){opacity:.45;cursor:not-allowed;filter:grayscale(.4)}.vdp-engine-note{color:#ffffff8c;text-align:center;margin:10px 0 0;font-size:12px}.vdp-modal-overlay{z-index:100;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.vdp-modal{color:#fff;background:#18181b;border:1px solid #ffffff14;border-radius:16px;width:100%;max-width:360px;padding:20px}.vdp-modal-title{margin:0 0 10px;font-size:16px;font-weight:700}.vdp-modal-message{color:#fffc;margin:0 0 20px;font-size:14px;line-height:1.6}.vdp-modal-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.vdp-modal-btn{cursor:pointer;border:none;border-radius:10px;min-height:44px;padding:10px 12px;font-size:14px;font-weight:700}.vdp-modal-btn.danger{color:#fff;background:#ef4444}.vdp-modal-btn.success{color:#fff;background:#22c55e}.vdp-modal-btn.secondary{color:#fff;background:#ffffff14}@media (width<=768px){.vdp-panel{width:auto;max-width:none;max-height:calc(100dvh - 112px);inset:auto 12px 16px}[dir=rtl] .vdp-panel{left:12px;right:12px}.vdp-grid{grid-template-columns:1fr 1fr}}@media (width<=360px){.vdp-grid,.vdp-engine-actions{grid-template-columns:1fr}}.app-shell{background:var(--bg);width:100%;min-height:100vh;position:relative;overflow:hidden}.ts-app{background:var(--bg);min-height:100vh;color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif}.ts-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#09090beb;align-items:center;gap:16px;padding:16px;display:flex;position:sticky;top:0}.ts-header h1{margin:0;font-size:18px;font-weight:700}.ts-back{color:var(--text-muted);align-items:center;gap:8px;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.ts-back:hover{color:var(--text)}.ts-main{flex-direction:column;gap:20px;max-width:720px;margin:0 auto;padding:24px 16px 80px;display:flex}.ts-section{border:1px solid var(--border);border-radius:var(--radius-lg);background:#11111399;overflow:hidden}.ts-section-title{border-bottom:1px solid var(--border);color:var(--text);margin:0;padding:16px;font-size:15px;font-weight:700}.ts-section-body{flex-direction:column;gap:16px;padding:16px;display:flex}.ts-field{flex-direction:column;gap:6px;display:flex}.ts-field-label{color:var(--text-secondary);font-size:13px;font-weight:600}.ts-field input,.ts-field select{border:1px solid var(--border);color:var(--text);background:#ffffff0a;border-radius:10px;outline:none;min-height:44px;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.ts-field input:disabled{opacity:.6;cursor:not-allowed;background:#ffffff05}.ts-field input:focus,.ts-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #14b8a61a}.ts-field-hint{color:var(--text-muted);font-size:12px}.ts-actions{justify-content:flex-end;padding-top:4px;display:flex}.ts-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.ts-btn:disabled{opacity:.6;cursor:not-allowed}.ts-btn.primary{background:var(--primary);color:#09090b}.ts-btn.primary:hover:not(:disabled){background:#0d9488}.ts-btn.secondary{color:var(--text);border:1px solid var(--border);background:#ffffff0f}.ts-btn.secondary:hover:not(:disabled){background:#ffffff1a}.ts-btn.whatsapp{color:#fff;background:#25d366;width:100%}.ts-btn.whatsapp:hover:not(:disabled){background:#1fbd59}.ts-notifs{flex-direction:column;gap:16px;display:flex}.ts-toggle{cursor:pointer;align-items:center;gap:12px;display:flex}.ts-toggle input{opacity:0;width:0;height:0;position:absolute}.ts-toggle-slider{background:#ffffff1f;border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .2s;position:relative}.ts-toggle-slider:after{content:"";background:var(--text);border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px}.ts-toggle input:checked+.ts-toggle-slider{background:var(--primary)}.ts-toggle input:checked+.ts-toggle-slider:after{transform:translate(20px)}.ts-toggle-label{color:var(--text);font-size:14px}.ts-lang-options{gap:10px;display:flex}.ts-lang-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:10px;flex:1;min-height:44px;padding:10px 14px;font-size:14px;font-weight:600;transition:all .2s}.ts-lang-btn.active{border-color:var(--primary);background:var(--primary-dim);color:var(--primary)}.ts-sub-info{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.ts-sub-row{background:#ffffff08;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;display:flex}.ts-sub-row span{color:var(--text-muted)}.ts-sub-row strong{color:var(--text);font-weight:600}.ts-disabled-hint{color:var(--text-muted);margin:0;font-size:13px}.ts-footer-actions{justify-content:center;padding-top:8px;display:flex}.ts-toast{z-index:100;box-shadow:var(--shadow-xl);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-width:280px;max-width:calc(100vw - 32px);padding:12px 18px;font-size:14px;font-weight:600;animation:.25s slideInBottom;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.ts-toast.success{background:var(--success);color:#000}.ts-toast.error{background:var(--danger);color:#fff}.ts-toast button{color:inherit;cursor:pointer;background:0 0;border:none;place-items:center;padding:2px;display:grid}@media (width>=640px){.ts-header{padding:16px 28px}.ts-header h1{font-size:20px}.ts-main{padding:32px 24px 80px}.ts-section-body{padding:20px}}:root{--ad-cream:#fafaf7;--ad-cream-dark:#f2f0ea;--ad-teal:#0f766e;--ad-teal-hover:#115e59;--ad-teal-light:#2dd4bf;--ad-text:#1a1a1a;--ad-text-muted:#57534e;--ad-border:#0f766e1f;--ad-radius:14px;--ad-shadow:0 8px 30px #0000000f;--ad-danger:#dc2626;--ad-danger-hover:#b91c1c;--ad-warning:#f59e0b;--ad-success:#16a34a}.admin-app{min-height:100vh;color:var(--ad-text);background:var(--ad-cream);font-family:Inter,system-ui,-apple-system,sans-serif;display:flex}.admin-sidebar{border-right:1px solid var(--ad-border);z-index:100;background:#fff;flex-direction:column;width:240px;display:flex;position:fixed;inset:0 auto 0 0}.admin-sidebar-brand{border-bottom:1px solid var(--ad-border);align-items:center;gap:10px;padding:22px 20px;display:flex}.admin-logo-mark{background:linear-gradient(135deg, var(--ad-teal), var(--ad-teal-light));color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-size:16px;font-weight:800;display:grid}.admin-logo-text{font-size:20px;font-weight:800}.admin-sidebar-nav{flex-direction:column;flex:1;gap:6px;padding:16px 12px;display:flex}.admin-sidebar-link{color:var(--ad-text-muted);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.admin-sidebar-link:hover{background:var(--ad-cream-dark);color:var(--ad-teal)}.admin-sidebar-link.active{color:var(--ad-teal);background:#0f766e14}.admin-sidebar-icon{width:20px;height:20px}.admin-sidebar-footer{border-top:1px solid var(--ad-border);flex-direction:column;gap:8px;padding:16px 12px;display:flex}.admin-sidebar-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.admin-sidebar-btn.tracking{background:var(--ad-cream-dark);color:var(--ad-text)}.admin-sidebar-btn.tracking:hover{background:var(--ad-border)}.admin-sidebar-btn.logout{color:var(--ad-danger);background:0 0;border:1px solid #dc262633}.admin-sidebar-btn.logout:hover{background:#fef2f2}.admin-main{flex-direction:column;flex:1;min-width:0;min-height:100vh;margin-left:240px;display:flex}.admin-header{z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ad-border);background:#fafaf7eb;justify-content:space-between;align-items:center;padding:16px 28px;display:flex;position:sticky;top:0}.admin-header h1{margin:0;font-size:22px;font-weight:800}.admin-header-user{color:var(--ad-text-muted);font-size:13px;font-weight:500}.admin-content{flex:1;width:100%;min-width:0;max-width:1400px;padding:28px}.admin-bottom-bar{z-index:100;border-top:1px solid var(--ad-border);background:#fff;justify-content:space-around;padding:8px 16px;display:none;position:fixed;bottom:0;left:0;right:0}.admin-bottom-link{color:var(--ad-text-muted);border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:6px 12px;font-size:11px;font-weight:600;display:flex}.admin-bottom-link.active{color:var(--ad-teal);background:#0f766e14}@media (width<=768px){.admin-sidebar{display:none}.admin-main{margin-left:0;padding-bottom:72px}.admin-bottom-bar{display:flex}.admin-content{padding:16px}}.admin-card{border:1px solid var(--ad-border);border-radius:var(--ad-radius);box-shadow:var(--ad-shadow);background:#fff;min-width:0;padding:24px}.admin-card-title{margin:0 0 20px;font-size:16px;font-weight:700}.admin-stats-grid{grid-template-columns:repeat(5,1fr);gap:20px;margin-bottom:28px;display:grid}@media (width<=1280px){.admin-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.admin-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.admin-stats-grid{grid-template-columns:1fr}}.admin-stat-card{border:1px solid var(--ad-border);border-radius:var(--ad-radius);box-shadow:var(--ad-shadow);background:#fff;align-items:flex-start;gap:14px;padding:20px;display:flex}.admin-stat-icon{width:44px;height:44px;color:var(--ad-teal);background:#0f766e14;border-radius:12px;place-items:center;display:grid}.admin-stat-value{margin-bottom:6px;font-size:28px;font-weight:800;line-height:1}.admin-stat-label{color:var(--ad-text-muted);font-size:13px;font-weight:500}.admin-table-wrap{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table-wrap:after{content:"";height:4px;display:block}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--ad-text-muted);background:var(--ad-cream-dark);border-bottom:1px solid var(--ad-border);padding:14px 16px;font-size:12px;font-weight:700}.admin-table td{border-bottom:1px solid var(--ad-border);color:var(--ad-text);vertical-align:middle;padding:14px 16px}.admin-table tr:hover td{background:var(--ad-cream)}.admin-table-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn.primary{background:var(--ad-teal);color:#fff}.admin-btn.primary:hover:not(:disabled){background:var(--ad-teal-hover)}.admin-btn.secondary{background:var(--ad-cream-dark);color:var(--ad-text)}.admin-btn.secondary:hover:not(:disabled){background:var(--ad-border)}.admin-btn.danger{color:var(--ad-danger);background:0 0;border:1px solid #dc262633}.admin-btn.danger:hover:not(:disabled){background:#fef2f2}.admin-btn.sm{padding:5px 10px;font-size:12px}.admin-badge{border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.admin-badge.success{color:var(--ad-success);background:#16a34a1a}.admin-badge.warning{color:#b45309;background:#f59e0b1f}.admin-badge.danger{color:var(--ad-danger);background:#dc26261a}.admin-badge.neutral{background:var(--ad-cream-dark);color:var(--ad-text-muted)}.admin-dot{border-radius:50%;width:8px;height:8px}.admin-modal-overlay{z-index:200;background:#00000059;place-items:center;padding:20px;animation:.2s adFadeIn;display:grid;position:fixed;inset:0}.admin-modal{border-radius:var(--ad-radius);background:#fff;width:100%;max-width:520px;max-height:90vh;animation:.25s adSlideUp;overflow-y:auto;box-shadow:0 24px 60px #0000002e}.admin-modal-header{border-bottom:1px solid var(--ad-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.admin-modal-header h2{margin:0;font-size:18px;font-weight:800}.admin-modal-close{cursor:pointer;color:var(--ad-text-muted);background:0 0;border:none;padding:4px}.admin-modal-body{padding:24px}.admin-modal-footer{border-top:1px solid var(--ad-border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}@keyframes adFadeIn{0%{opacity:0}to{opacity:1}}@keyframes adSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.admin-form{flex-direction:column;gap:16px;display:flex}.admin-field{flex-direction:column;gap:6px;display:flex}.admin-field label{color:var(--ad-text);font-size:13px;font-weight:600}.admin-field input,.admin-field select,.admin-field textarea{border:1px solid var(--ad-border);background:var(--ad-cream);color:var(--ad-text);border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:var(--ad-teal);box-shadow:0 0 0 3px #0f766e14}.admin-field input:disabled,.admin-field select:disabled{opacity:.6;cursor:not-allowed}.admin-field-hint{color:var(--ad-text-muted);font-size:12px}.admin-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=480px){.admin-form-row{grid-template-columns:1fr}}.admin-toasts{z-index:300;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.admin-toast{color:#fff;border-radius:10px;align-items:center;gap:10px;padding:14px 18px;font-size:14px;font-weight:600;animation:.25s adSlideRight;display:flex;box-shadow:0 8px 24px #00000026}.admin-toast.success{background:var(--ad-success)}.admin-toast.error{background:var(--ad-danger)}.admin-toast.info{background:var(--ad-teal)}@keyframes adSlideRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.admin-empty{text-align:center;color:var(--ad-text-muted);padding:40px 20px}.admin-empty p{margin:0;font-size:14px}.admin-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.expired-banner{z-index:20;color:#991b1b;box-shadow:var(--ad-shadow);background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:700;position:absolute;top:84px;left:50%;transform:translate(-50%)}@media (width<=768px){.expired-banner{text-align:center;top:76px;left:16px;right:16px;transform:none}.admin-header{gap:12px;padding:12px 16px}.admin-header h1{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:18px;overflow:hidden}.admin-header-user{display:none}.admin-content{padding:16px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.admin-page-header{flex-direction:column;align-items:flex-start}.admin-page-header h2{font-size:17px}.admin-card{border-radius:12px;padding:18px}.admin-card-title{margin-bottom:16px;font-size:15px}.admin-stat-value{font-size:22px}.admin-stat-card{padding:16px}.admin-stat-icon{width:38px;height:38px}.admin-stat-icon svg{width:20px;height:20px}.admin-table th,.admin-table td{white-space:nowrap;padding:12px 14px}.admin-table-actions{gap:8px}.admin-table-actions .admin-btn{min-width:36px;min-height:36px}.admin-modal-overlay{align-items:flex-end;padding:12px}.admin-modal{border-radius:16px 16px 0 0;max-width:100%;max-height:calc(100vh - 24px);animation:.25s adSlideUp}.admin-modal-header{padding:16px 18px}.admin-modal-header h2{font-size:16px}.admin-modal-body{padding:18px}.admin-modal-footer{flex-direction:column-reverse;gap:8px;padding:14px 18px}.admin-modal-footer .admin-btn,.admin-modal-footer a.admin-btn{width:100%;min-height:44px}.admin-form-row{grid-template-columns:1fr}.admin-field input,.admin-field select,.admin-field textarea{min-height:44px;font-size:16px}.admin-btn{min-height:40px;padding:10px 16px}.admin-btn.sm{min-height:36px;padding:7px 12px}.admin-toasts{top:12px;left:12px;right:12px}.admin-toast{width:100%}.admin-bottom-bar{padding-bottom:env(safe-area-inset-bottom,0px)}.admin-bottom-link{justify-content:center;min-width:44px;min-height:44px}}@media (width<=480px){.admin-stats-grid{grid-template-columns:1fr;gap:12px}.admin-card{padding:16px}.admin-modal-overlay{padding:0}.admin-modal{border-radius:0;max-height:100vh}}.admin-finance-grid{grid-template-columns:1fr 360px;align-items:start;gap:24px;margin-bottom:24px;display:grid}@media (width<=1100px){.admin-finance-grid{grid-template-columns:1fr}}.admin-period-selector{background:var(--ad-cream);border:1px solid var(--ad-border);border-radius:10px;flex-wrap:wrap;padding:4px;display:inline-flex}.admin-period-selector button{color:var(--ad-text);cursor:pointer;background:0 0;border:none;border-radius:8px;min-height:36px;padding:8px 14px;font-size:13px;font-weight:600}.admin-period-selector button.active{background:var(--ad-teal);color:#fff}@media (width<=480px){.admin-period-selector{width:100%}.admin-period-selector button{flex:45%;min-width:70px;padding:8px 6px;font-size:12px}}.admin-client-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-client-header-main{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.admin-client-header-main>div{min-width:0}.admin-client-header-main h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-client-header-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=768px){.admin-client-header{flex-direction:column;align-items:flex-start;gap:12px}.admin-client-header-main{align-items:flex-start;gap:12px;width:100%}.admin-client-header-main>div{width:calc(100% - 60px)}.admin-client-header-main h2{white-space:normal;word-break:break-word;font-size:17px}.admin-client-header-actions{width:100%}.admin-client-header-actions .admin-btn{flex:1;min-height:44px;padding:8px 10px;font-size:12px}}.admin-modal-arabic-preview{text-align:right;word-break:break-word;overflow-wrap:break-word;direction:rtl;font-size:14px;line-height:1.7}.admin-btn-icon-text{align-items:center;gap:8px;display:inline-flex}.touch-min{min-width:44px;min-height:44px}.documents-page{flex-direction:column;gap:20px;display:flex}.documents-tabs{border-bottom:1px solid var(--ad-border);gap:8px;display:flex}.documents-tabs button{color:var(--ad-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 20px;font-weight:700;transition:color .2s,border-color .2s}.documents-tabs button.active{color:var(--ad-teal);border-bottom-color:var(--ad-teal)}.documents-section-title{margin:0 0 16px;font-size:16px;font-weight:800}.documents-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.documents-section-header .documents-section-title{margin:0}.documents-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;display:grid}.documents-vehicles{margin-top:20px}.documents-vehicles h4{margin:0 0 10px;font-size:14px;font-weight:700}.documents-total{border-radius:var(--ad-radius);background:#0f766e0f;margin-top:16px;padding:14px;font-size:15px}.documents-total-propriete{flex-direction:column;gap:6px;display:flex}.documents-renewal{color:#57534e;font-size:14px}.documents-actions{gap:12px;margin-top:20px;display:flex}.documents-lines-title{margin:24px 0 12px;font-size:14px;font-weight:700}.documents-line{grid-template-columns:2fr 100px 120px 120px auto;align-items:end;gap:12px;margin-bottom:12px;display:grid}.documents-line-total{color:var(--ad-teal);text-align:center;padding:10px 0;font-weight:700}.documents-invoice-summary{border:1px solid var(--ad-border);border-radius:var(--ad-radius);background:#fff;width:280px;margin:20px 0 0 auto;padding:16px}.documents-invoice-summary div{justify-content:space-between;margin:6px 0;display:flex}.documents-invoice-ttc{border-top:1px solid var(--ad-border);margin-top:10px;padding-top:10px;font-size:16px;font-weight:800}@media (width<=900px){.documents-grid{grid-template-columns:1fr}.documents-line{border:1px solid var(--ad-border);border-radius:var(--ad-radius);background:#fff;grid-template-columns:1fr;gap:8px;padding:12px}.documents-line-total{text-align:right}.documents-invoice-summary{width:100%}}.ad-alerts-map-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px}.ad-alerts-map-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.ad-alerts-map-header h3{margin:0}.ad-alerts-map-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ad-alerts-map-controls .admin-field{min-width:200px;margin:0}.ad-alerts-map{border-radius:var(--radius-md);background:var(--bg);width:100%;height:360px;overflow:hidden}.ad-alerts-map-hint{color:var(--text-muted);margin:12px 0 0;font-size:13px}.ad-alerts-device-list{border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff08;flex-direction:column;gap:8px;max-height:240px;padding:10px;display:flex;overflow-y:auto}.ad-alerts-device-item{cursor:pointer;color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:8px;font-size:14px;display:flex}.ad-alerts-device-item:hover{background:#ffffff0a}.ad-alerts-device-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}@media (width<=768px){.ad-alerts-map-header{flex-direction:column;align-items:flex-start}.ad-alerts-map-controls{width:100%}.ad-alerts-map-controls .admin-field{width:100%;min-width:auto}.ad-alerts-map{height:280px}}
