:root{--primary:#4f46e5;--primary-dark:#4338ca;--primary-light:#818cf8;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--radius-xs:3px;--radius-sm:4px;--radius:8px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--radius-2xl:24px;--sidebar-width:360px;--details-width:380px;--header-height:56px;--transition-fast:.15s;--transition-normal:.2s;--text-3xs:9px;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:18px;--info:#3b82f6;--purple:#8b5cf6;--bg-surface:#fff;--bg-surface-alt:#f9fafb;--text-color:#111827;--text-secondary:#4b5563;--border-color:#e5e7eb;--bg-primary:#fff;--bg-secondary:#f1f5f9;--bg-hover:#e8f0fe;--text-muted:#64748b;--header-bg:linear-gradient(135deg, #111827 0%, #1f2937 100%);--header-text:#fff}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}.mapa-input,input.mapa-input,select.mapa-input,textarea.mapa-input,.task-search-bar input,.sched-header-search input,.hotel-form input[type=text],.hotel-residents-search,.abs-field input,.abs-field select,#sidebar-search-input{width:100%;min-height:36px;font-size:var(--text-md);color:var(--text-color);background:var(--bg-surface);border:1px solid var(--gray-300);border-radius:var(--radius);box-shadow:none;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:8px 12px;line-height:1.35}.mapa-input::placeholder,.task-search-bar input::placeholder,.sched-header-search input::placeholder,#sidebar-search-input::placeholder{color:var(--gray-500)}.mapa-input:hover,.task-search-bar input:hover,.sched-header-search input:hover,#sidebar-search-input:hover{border-color:var(--gray-400)}.mapa-input:focus,.task-search-bar input:focus,.sched-header-search input:focus,#sidebar-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);outline:none}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:var(--gray-100);color:var(--gray-800);font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;font-size:var(--text-md);line-height:1.5}.app-header{height:var(--header-height);background:var(--header-bg);color:var(--header-text);box-shadow:var(--shadow-md);z-index:100;align-items:center;gap:10px;min-width:0;padding:0 16px;display:flex;overflow:visible}.app-header:has(.header-menu.open){z-index:10050}.header-left{flex:0 auto;align-items:center;gap:20px;min-width:0;display:flex}.logo{font-size:var(--text-xl);align-items:center;gap:10px;font-weight:700;display:flex}.logo i{color:var(--primary-light);font-size:24px}.header-stats{flex-shrink:1;gap:16px;min-width:0;display:flex;overflow:hidden}.header-stats .stat{font-size:var(--text-base);color:var(--gray-300);align-items:center;gap:6px;display:flex}.header-stats .stat i{color:var(--gray-400)}.header-actions{flex:none;align-items:center;gap:6px;display:flex}.header-user-pill{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:6px;max-width:220px;padding:4px 8px 4px 10px;font-size:12px;line-height:1.2;display:inline-flex;box-shadow:0 1px 2px #0f172a0f}.header-user-pill i.fa-user-circle{opacity:.9;flex-shrink:0;font-size:1.15rem}.header-user-text{flex-direction:column;min-width:0;display:flex;overflow:hidden}.header-user-text strong{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.header-user-text small{color:#64748b;opacity:1;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.header-logout-btn{color:#475569;flex-shrink:0;margin-left:2px}.header-logout-btn:hover{color:#0f172a;background:#e2e8f0}.header-btn-logout{color:#fecaca;background:#ef444438;border-color:#ef444459}.header-btn-logout:hover{color:#fff;background:#ef44446b;border-color:#ef44448c}.header-btn-logout:active{transform:translateY(0)}.data-source-pill{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:4px 10px;font-family:inherit;font-size:12px;display:inline-flex;box-shadow:0 1px 2px #0f172a0f}.data-source-pill--clickable{cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .12s}.data-source-pill--clickable:hover{background:#fff;border-color:#a5b4fc;transform:translateY(-1px);box-shadow:0 0 0 3px #6366f12e}.data-source-pill--clickable:active{transform:translateY(0);box-shadow:0 0 0 2px #6366f138}.data-source-pill--clickable:focus-visible{outline-offset:2px;outline:2px solid #6366f1}.data-source-pill.server,.data-source-pill.mode-server{color:#14532d;background:#f0fdf4;border-color:#86efac}.data-source-pill.local,.data-source-pill.mode-local{color:#1e3a8a;background:#eff6ff;border-color:#93c5fd}.onboarding-hint-banner{z-index:12000;background:color-mix(in srgb, var(--bg-surface,#fff) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--gray-200,#e5e7eb);border-radius:10px;flex-wrap:nowrap;align-items:center;gap:8px;max-width:min(360px,100vw - 28px);padding:8px 10px;font-size:12px;display:flex;position:fixed;bottom:14px;right:14px;box-shadow:0 6px 20px #00000024}.onboarding-hint-banner>span{flex:auto;min-width:0;line-height:1.35}.onboarding-hint-banner .btn{flex:none}.abs-tab-panel[hidden]{display:none!important}.abs-list-container{margin-top:12px}.abs-item-actions{align-items:center;gap:4px;display:flex}.abs-calendar-view{margin-top:12px}.abs-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.abs-calendar-day{border:1px solid var(--gray-200,#e5e7eb);border-radius:8px;min-height:72px;padding:6px;font-size:11px}.abs-calendar-day.is-holiday{background:#ef444414}.abs-calendar-day-num{margin-bottom:4px;font-weight:700}.abs-calendar-chip{white-space:nowrap;text-overflow:ellipsis;background:var(--gray-100,#f3f4f6);border-radius:4px;margin-top:2px;padding:1px 4px;overflow:hidden}.pom-scraper-update-mode{border-top:1px solid var(--gray-200,#e5e7eb);flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;display:flex}.pom-scraper-update-title{font-size:13px;font-weight:600}.data-source-clear-btn{color:var(--gray-200)}.data-source-clear-btn:hover{color:#fecaca}.data-source-upload-btn{color:var(--gray-200)}.data-source-upload-btn:hover{color:#93c5fd}.server-sync-body{text-align:left}.server-sync-intro{color:var(--text-secondary,#666);margin:0 0 10px;font-size:13px;line-height:1.5}.server-sync-actions{flex-direction:column;gap:6px;display:flex}.server-sync-btn{text-align:left;align-items:center;gap:10px;padding:8px 12px;display:flex}.server-sync-btn-text{flex-direction:column;gap:2px;display:flex}.server-sync-btn-text small{opacity:.8;font-weight:400}.server-sync-hint{opacity:.85;margin:14px 0 0;font-size:12px}.server-sync-sidebar-hint{background:#3b82f61a;border:1px solid #3b82f640;border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:12px;line-height:1.45}.pom-scraper-activity-banner{z-index:1200;background:var(--bg-surface,#1e293b);border:1px solid #3b82f680;border-radius:12px;width:100%;max-width:min(560px,100vw - 24px);padding:12px 14px;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000059}.pom-scraper-activity-banner.is-done{border-color:#22c55e8c}.pom-scraper-activity-banner.is-error{border-color:#ef444499}.pom-scraper-activity-inner{flex-direction:column;gap:8px;display:flex}.pom-scraper-activity-title{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.pom-scraper-activity-status{white-space:pre-wrap;opacity:.9;max-height:120px;margin:0;font-family:inherit;font-size:12px;line-height:1.45;overflow:auto}.pom-scraper-activity-actions{flex-wrap:wrap;gap:8px;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#data-mode-overlay .app-confirm-box.dm-box{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:min(460px,100vw - 24px);min-width:min(340px,100vw - 24px);max-width:min(460px,100vw - 24px);padding:14px 16px 12px;box-shadow:0 6px 24px #0f172a2e}#data-mode-overlay .dm-box .app-confirm-msg{display:none}#data-mode-overlay .dm-panel{margin:0;padding:0;line-height:1.2}#data-mode-overlay .dm-head{justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:3px;display:flex}#data-mode-overlay .dm-title{font-size:13px;font-weight:700}#data-mode-overlay .dm-hint{color:#94a3b8;font-size:10px}#data-mode-overlay .dm-counts{color:#64748b;margin:0 0 4px;font-size:10px}#data-mode-overlay .dm-counts strong{color:#0f172a}#data-mode-overlay .dm-detail-link{font:inherit;color:var(--primary,#6366f1);cursor:pointer;background:0 0;border:none;margin:0;padding:0;text-decoration:underline;display:inline}#data-mode-overlay .dm-radios{flex-direction:column;gap:6px;display:flex}#data-mode-overlay label.dm-radio{cursor:pointer;box-shadow:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:8px;margin:0;padding:8px 10px;font-size:12px;display:flex}#data-mode-overlay .dm-radio:has(input:checked){color:#4338ca;background:#eef2ff;border-color:#818cf8}#data-mode-overlay .dm-radio-copy{flex-direction:column;gap:2px;min-width:0;line-height:1.25;display:flex}#data-mode-overlay .dm-radio-copy strong{font-weight:700}#data-mode-overlay .dm-radio-copy small{color:#64748b;font-size:11px;line-height:1.3}#data-mode-overlay .dm-radio input{flex-shrink:0;width:14px;height:14px;margin:1px 0 0}#data-mode-overlay .dm-scope{border-top:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:2px 6px;margin-top:3px;padding-top:3px;display:none}#data-mode-overlay .dm-scope-label{color:#64748b;margin-right:2px;font-size:10px;font-weight:600}#data-mode-overlay label.dm-check{color:#475569;cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;margin:0;padding:0;font-size:10px;display:inline-flex}#data-mode-overlay .dm-check input{width:11px;height:11px;margin:0}#data-mode-overlay .app-confirm-actions.dm-actions{gap:5px;margin-top:5px}.data-status-box{max-width:min(520px,100vw - 32px);padding:14px 16px 12px}.app-confirm-overlay .app-confirm-box.data-status-box.data-status-box--wide{flex-direction:column;width:min(900px,100vw - 32px);min-width:0;max-width:min(900px,100vw - 32px);height:min(72vh,680px);max-height:min(72vh,680px);padding:14px 16px 12px;display:flex;overflow:hidden}.data-status-pom-table-host,.data-status-tasks-table-host{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.data-status-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.data-status-panels{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.data-status-panel{flex:1;min-height:0;padding-top:8px;display:none;overflow:hidden}.data-status-panel[data-panel=pom],.data-status-panel[data-panel=tasks]{flex-direction:column}.data-status-panel[data-panel=pom].active,.data-status-panel[data-panel=tasks].active{display:flex}.data-status-panel.active{flex:1;min-height:0}.data-status-panel[data-panel=summary].active,.data-status-panel[data-panel=hotels].active{display:block;overflow-y:auto}.data-status-panel[data-panel=summary] .data-status-table,.data-status-panel[data-panel=summary] .data-status-meta{max-width:100%}.data-status-tabs{border-bottom:1px solid var(--gray-200,#e2e8f0);flex-shrink:0;gap:4px;margin-bottom:0;display:flex;overflow-x:auto}.app-confirm-box.data-status-box--wide .app-confirm-actions{flex-shrink:0;margin-top:10px}.data-status-tab{font:inherit;cursor:pointer;color:var(--gray-500,#64748b);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-size:12px;font-weight:600}.data-status-tab.active{color:var(--primary,#6366f1);border-bottom-color:var(--primary,#6366f1)}.data-status-pom-subtabs{flex-wrap:wrap;flex-shrink:0;gap:4px;margin-bottom:8px;display:flex}.data-status-pom-tab,.data-status-tasks-tab{border:1px solid var(--gray-200,#e2e8f0);background:var(--gray-50,#f8fafc);font:inherit;cursor:pointer;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:600}.data-status-pom-tab.active,.data-status-tasks-tab.active{background:color-mix(in srgb, var(--primary) 12%, var(--bg-surface,#fff));border-color:var(--primary,#6366f1);color:var(--primary-dark,#4338ca)}.data-status-pom-toolbar{flex-shrink:0;align-items:center;gap:8px;margin-bottom:8px;display:flex}.data-status-pom-actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.data-status-pom-search{flex:1;min-width:0;padding:6px 10px;font-size:12px}.data-status-pom-count,.data-status-tasks-count{color:var(--gray-500,#64748b);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.data-status-table-wrap{border:1px solid var(--gray-200,#e2e8f0);-webkit-overflow-scrolling:touch;border-radius:8px;flex:1;min-height:0;overflow:auto}.app-confirm-box.data-status-box--wide .data-status-table-wrap{max-height:none}.data-status-pom-panel,.data-status-tasks-panel{flex-direction:column;flex:1;min-height:0;display:none}.data-status-pom-panel.active,.data-status-tasks-panel.active{display:flex}.data-status-pom-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:640px;font-size:11px}.data-status-pom-table .col-num{width:36px}.data-status-pom-table .col-addr{width:22%;max-width:200px}.data-status-pom-table .col-unit{width:44px}.data-status-pom-table .col-city{width:14%;max-width:130px}.data-status-pom-table .col-status{width:72px}.data-status-pom-table .col-ola{width:48px}.data-status-pom-table .col-uid{width:88px}.data-status-tasks-table{table-layout:fixed;min-width:720px}.data-status-tasks-table .col-num{width:36px}.data-status-tasks-table .col-date{width:88px}.data-status-tasks-table .col-time{width:52px}.data-status-tasks-table .col-tech{width:14%}.data-status-tasks-table .col-street{width:18%;max-width:200px}.data-status-tasks-table .col-city{width:12%;max-width:120px}.data-status-tasks-table .col-type{width:22%}.data-status-tasks-table .col-status{width:auto}.data-status-pom-table .col-addr,.data-status-tasks-table .col-street,.data-status-tasks-table .col-type,.data-status-tasks-table .col-tech{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.data-status-pom-table th,.data-status-pom-table td{border-bottom:1px solid var(--gray-200,#e2e8f0);text-align:left;vertical-align:top;padding:6px 8px}.data-status-pom-table th{background:var(--gray-50,#f8fafc);text-transform:uppercase;letter-spacing:.03em;z-index:1;font-size:10px;position:sticky;top:0}.data-status-pom-table tbody tr:hover{background:color-mix(in srgb, var(--primary) 6%, transparent)}.data-status-pom-table td.num{text-align:right;width:32px;color:var(--gray-500,#64748b)}.data-status-uid{word-break:break-all;max-width:120px;font-family:ui-monospace,monospace;font-size:10px}.data-status-pom-badge{background:var(--gray-100,#f1f5f9);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.data-status-table-count{color:var(--gray-500,#64748b);margin:4px 0 0;font-size:10px}.data-status-table{border-collapse:collapse;width:100%;margin-bottom:10px;font-size:12px}.data-status-table th,.data-status-table td{border-bottom:1px solid var(--gray-200,#e2e8f0);text-align:left;padding:5px 8px}.data-status-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500,#64748b);font-size:10px;font-weight:600}.data-status-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.data-status-meta{color:var(--gray-500,#64748b);margin:0 0 8px;font-size:11px;line-height:1.4}.data-status-samples{color:var(--gray-600,#475569);background:var(--gray-50,#f8fafc);border:1px solid var(--gray-200,#e2e8f0);white-space:pre-wrap;border-radius:8px;max-height:120px;margin:0;padding:8px;font-size:11px;line-height:1.45;overflow-y:auto}.data-status-mode-row{color:var(--gray-500,#64748b);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px 12px;margin:0 0 10px;font-size:11px;display:flex}.data-status-expand-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.data-status-expand-btn i{opacity:.7;font-size:10px}.data-status-table tr.data-status-detail-row td{border-bottom:none;padding-top:0}.data-status-detail-split{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=520px){.data-status-detail-split{grid-template-columns:1fr}}.data-status-detail-list{border:1px solid var(--gray-200,#e2e8f0);background:var(--gray-50,#f8fafc);border-radius:8px;max-height:160px;margin:6px 0 0;padding:0;font-size:11px;list-style:none;overflow-y:auto}.data-status-detail-list li{border-bottom:1px solid var(--gray-200,#e2e8f0);flex-direction:column;gap:2px;padding:6px 8px;display:flex}.data-status-detail-list li:last-child{border-bottom:none}.data-status-detail-meta{color:var(--gray-500,#64748b);font-size:10px}.data-status-empty{color:var(--gray-500,#64748b);margin:6px 0 0;font-size:11px}.data-status-table .data-status-pom-local{white-space:nowrap;font-size:11px}.pom-scraper-activity-banner .pom-scraper-activity-inner{cursor:pointer}.pom-scraper-activity-banner.is-done .pom-scraper-activity-title{color:var(--success,#16a34a)}.server-sync-modal{width:min(400px,92vw);max-width:400px}#data-mode-overlay .dm-actions .btn-primary{min-width:0}.header-divider{background:var(--gray-600);width:1px;height:24px;margin:0 8px}.header-menus{flex:1 1 0;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex;overflow:visible}.header-btn{cursor:pointer;color:var(--header-text);transition:all var(--transition-fast);white-space:nowrap;background:#ffffff1a;border:1px solid #0000;border-radius:8px;flex-shrink:0;align-items:center;gap:7px;height:34px;padding:7px 14px;font-size:13px;font-weight:600;line-height:1.2;display:inline-flex}.header-btn:hover{background:#ffffff2e;transform:translateY(-1px)}.header-btn:active{transform:translateY(0)}.header-btn i{font-size:13px}.header-btn-accent{color:#ede9fe;background:linear-gradient(135deg,#8b5cf64d,#a855f74d);border-color:#a855f773}.header-btn-accent:hover{color:#fff;background:linear-gradient(135deg,#8b5cf68c,#a855f78c);border-color:#a855f7b3}.header-btn-success{color:#bbf7d0;background:#22c55e38;border-color:#22c55e59}.header-btn-success:hover{color:#fff;background:#22c55e6b;border-color:#22c55e8c}.header-icon-btn{color:#ffffffd9;cursor:pointer;width:34px;height:34px;transition:all var(--transition-fast);background:#ffffff0f;border:1px solid #0000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;display:inline-flex}.header-icon-btn:hover{color:#fff;background:#ffffff29}.header-icon-btn-danger{color:#fca5a5d9}.header-icon-btn-danger:hover{color:#fff;background:#ef444433}.header-icon-btn #lang-flag{font-size:16px;line-height:1}.header-menu-btn .header-menu-caret{margin-left:2px}.header-menu.open .header-menu-btn{background:#fff3}.data-source-pill--compact{max-width:min(310px,30vw);padding:4px 8px;font-size:11px}.data-source-pill--compact #data-source-pill-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tasks-dataset-indicator{color:var(--gray-600);margin-top:2px;font-size:11px}.tasks-dataset-indicator.is-test{color:#b45309;font-weight:600}.header-user-pill{max-width:min(180px,18vw)}.header-menu{z-index:1;position:relative}.header-menu.open{z-index:10051}.header-menu-btn{cursor:pointer;color:var(--header-text);transition:background var(--transition-fast);background:#ffffff14;border:none;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;display:inline-flex}.header-menu-btn:hover{background:#ffffff29}.header-menu-caret{opacity:.75;font-size:10px}.header-menu-panel{background:var(--bg-surface);min-width:210px;max-width:min(280px,100vw - 16px);color:var(--gray-800);border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);z-index:11000;padding:6px 0;display:none;position:absolute;top:calc(100% + 6px);left:auto;right:0}.header-menu.open .header-menu-panel{display:block}.header-menu-section-label{color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none;pointer-events:none;padding:6px 12px 2px;font-size:11px;font-weight:700}.header-menu-item{width:100%;font-size:var(--text-base);color:var(--gray-800);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:7px 12px;display:flex}.header-menu-item:hover{background:var(--gray-50)}.header-menu-item-accent{color:#6d28d9;font-weight:600}.header-menu-separator{background:var(--gray-200);height:1px;margin:6px 0}.header-menu-panel .header-tool-badge{margin-left:auto}.header-menu-panel--flyout{min-width:220px;max-width:260px;padding:4px 0;overflow:visible}.header-menu-flyout-item{position:relative}.header-menu-item-parent{justify-content:space-between;gap:10px}.header-menu-flyout-caret{opacity:.55;flex-shrink:0;font-size:10px}.header-menu-submenu{background:var(--bg-surface);min-width:280px;max-width:min(340px,100vw - 24px);color:var(--gray-800);border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);z-index:11001;margin-left:-1px;padding:4px 0;display:none;position:absolute;top:0;left:100%}.header-menu-flyout-item:hover>.header-menu-submenu,.header-menu-flyout-item:focus-within>.header-menu-submenu,.header-menu-flyout-item.is-open>.header-menu-submenu{display:block}.header-menu-flyout-item:nth-child(n+4) .header-menu-submenu{margin-left:0;margin-right:-1px;left:auto;right:100%}.header-menu-item-danger{color:#b91c1c}.header-menu-item-danger:hover{background:#fef2f2}.header-tool{cursor:pointer;color:#ffffffbf;white-space:nowrap;background:#ffffff14;border:none;border-radius:6px;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:500;line-height:1;transition:all .15s;display:inline-flex;position:relative}.header-tool:hover{color:#fff;background:#ffffff2e}.header-tool i{text-align:center;width:14px;font-size:13px}.header-tool-badge{color:#fff;background:#ffffff40;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:2px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex}.header-tool-badge.badge-danger{background:#ef4444}#toolbar-shooting-btn{color:#fbbf24}#toolbar-shooting-btn:hover{background:#fbbf2433}#toolbar-shooting-btn .header-tool-badge{color:#fff;background:#f59e0b}.header-tool-accent{color:#c7d2fe;background:#6366f140}.header-tool-accent:hover{color:#fff;background:#6366f173}.header-tool-success{color:#86efac;background:#22c55e33}.header-tool-success:hover{color:#fff;background:#22c55e66}.btn{border-radius:var(--radius);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-normal);background:var(--gray-100);color:var(--gray-700);border:none;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-weight:500;display:inline-flex}.btn:hover{background:var(--gray-200)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-success{background:var(--success);color:#fff}.btn-danger{color:var(--danger);background:0 0}.btn-danger:hover{background:#ef44441a}.btn-ghost{color:inherit;background:0 0}.btn-ghost:hover{background:#ffffff1a}.btn-icon{padding:8px 12px}.btn-icon-only{padding:8px 10px}.btn-icon-only span{display:none}.btn-icon span{margin-left:4px}.btn-xs{font-size:var(--text-xs);padding:4px 8px}.btn-sm{font-size:var(--text-sm);padding:6px 12px}.btn-block{width:100%}.app-main{height:calc(100vh - var(--header-height));display:flex;overflow:hidden}@media (width<=1200px){:root{--sidebar-width:280px;--details-width:320px}}@media (width<=1320px){.header-left{gap:12px}}@media (width<=900px){.header-stats{display:none}.details-panel{right:0;top:var(--header-height);z-index:100;box-shadow:var(--shadow-lg);position:fixed;bottom:0}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.marker-highlight-pulse{filter:drop-shadow(0 0 6px);animation:.8s ease-in-out infinite alternate marker-pulse}@keyframes marker-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:1;transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.marker-highlight-pulse,.btn,*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tour-backdrop{z-index:100000;background:#0000008c;position:fixed;inset:0}.tour-highlight{border-radius:var(--radius);box-shadow:0 0 0 4px var(--primary), 0 0 0 9999px #00000080;z-index:100001;pointer-events:none;transition:all .3s;position:fixed}.tour-tooltip{z-index:100002;background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:280px;max-width:360px;color:var(--gray-800);border:1px solid var(--gray-200);padding:20px 24px;font-size:15px;line-height:1.6;position:fixed}.tour-tooltip-text{margin-bottom:14px;font-weight:500}.tour-tooltip-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.tour-step-counter{font-size:var(--text-sm);color:var(--gray-500);font-weight:600}.tour-tooltip-btns{gap:6px;display:flex}.header-btn-success,.header-btn-accent{color:var(--header-text);background:#ffffff14;border-color:#ffffff24}.header-btn-success:hover,.header-btn-accent:hover{color:#fff;background:#ffffff2e;border-color:#ffffff3d}.header-btn-success i{color:#6ee7b7}.header-btn-accent i{color:#c4b5fd}.header-btn-primary{color:#e0e7ff;background:#6366f13d;border-color:#818cf873}.header-btn-primary:hover{color:#fff;background:#6366f16b;border-color:#818cf8a6}.header-stats .stat{font-weight:500}.header-account-btn{background:#ffffff14;border:1px solid #ffffff24}.header-account-btn:hover{background:#ffffff2e}.header-menu--account.open .header-account-btn{background:#fff3}.header-account-btn .fa-user-circle{font-size:15px}.header-menu-panel--account{min-width:240px;max-width:min(300px,100vw - 16px);padding:6px 0}.header-account-info{border-bottom:1px solid var(--gray-200);align-items:center;gap:10px;margin-bottom:4px;padding:10px 14px 12px;display:flex}.header-account-info i.fa-user-circle{color:var(--primary);flex-shrink:0;font-size:26px}.header-account-info .header-user-text{flex-direction:column;min-width:0;display:flex}.header-account-info .header-user-text strong{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.header-account-info .header-user-text small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.header-account-info[hidden]{display:none}.header-menu-flag{text-align:center;flex-shrink:0;width:20px;font-size:15px;line-height:1}.header-menu-item.theme-toggle i{text-align:center;width:16px}.header-menu-separator--account:first-child,.header-menu-separator--account:last-child{display:none}.sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--gray-200);transition:width var(--transition-normal);flex-direction:column;flex-shrink:0;display:flex}body.sidebar-expanded{--sidebar-width:560px}.sidebar-tabs{border-bottom:1px solid var(--gray-200);background:var(--gray-50);align-items:stretch;gap:2px;padding:4px 4px 0;display:flex}.sidebar-tab{color:var(--gray-500);font-size:var(--text-xs);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 8px;font-weight:500;display:flex;position:relative}.sidebar-expand-btn{border:none;border-left:1px solid var(--gray-200);width:40px;color:var(--gray-500);cursor:pointer;transition:all var(--transition-normal);background:0 0}.sidebar-expand-btn:hover{background:var(--gray-100);color:var(--gray-700)}.sidebar-expand-btn.active{background:var(--bg-surface);color:var(--primary)}.sidebar-tab i{font-size:var(--text-xl)}.sidebar-tab:hover{background:var(--gray-100);color:var(--gray-700)}.sidebar-tab.active{background:var(--bg-surface);color:var(--primary);font-weight:600}.sidebar-tab-permits{color:#059669}.sidebar-tab-permits:hover{color:#047857}.sidebar-tab-permits.active{color:#059669}.sidebar-tab-permits.active:after{background:#059669}.sidebar-tab.active:after{content:"";background:var(--primary);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.sidebar-tab .badge{background:var(--danger);color:#fff;font-size:var(--text-2xs);border-radius:10px;min-width:18px;padding:2px 6px;position:absolute;top:6px;right:50%;transform:translate(16px)}.sidebar-content{--sidebar-row-padding:8px 12px;--sidebar-section-gap:12px;gap:var(--sidebar-section-gap);flex-direction:column;flex:1;display:none;position:relative;overflow:hidden}.compact-weeks,.compact-days,.compact-techs{padding:var(--sidebar-row-padding)}.sidebar-content.active{display:flex}.sidebar-extra-panel{display:none}body.sidebar-expanded .sidebar-content.active{padding-right:260px}body.sidebar-expanded.sidebar-tech-preview .sidebar-content.active{padding-right:520px}body.sidebar-expanded .sidebar-content.active .sidebar-extra-panel{border-left:1px solid var(--gray-200);background:var(--gray-50);z-index:2;width:250px;height:100%;padding:12px;display:block;position:absolute;top:0;right:0;overflow-y:auto}body.sidebar-expanded .sidebar-content.active .sidebar-tech-detail-panel{border-left:1px solid var(--gray-200);background:var(--bg-surface);z-index:3;width:250px;height:100%;padding:12px;display:block;position:absolute;top:0;right:250px;overflow-y:auto}body.sidebar-expanded .sidebar-content.active .sidebar-tech-detail-panel[hidden]{display:none!important}.extra-card-compact{margin-bottom:8px;padding:8px 10px}.extra-hint{font-size:var(--text-xs);color:var(--gray-500);margin:0 0 8px;line-height:1.35}.extra-tech-picker{max-height:min(52vh,420px);overflow-y:auto}.extra-tech-row{cursor:pointer;gap:8px}.extra-tech-row.active,.extra-tech-row:hover{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--bg-surface))}.extra-item-clickable{cursor:pointer}.extra-item-clickable:hover{border-color:var(--primary)}.extra-item-icon{color:var(--gray-400);flex-shrink:0;font-size:12px}.extra-list-scroll{max-height:min(58vh,480px);overflow-y:auto}.extra-title{font-size:var(--text-xs);text-transform:uppercase;color:var(--gray-600);letter-spacing:.04em;margin-bottom:10px;font-weight:700}.extra-card{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius);margin-bottom:10px;padding:10px}.extra-kv{font-size:var(--text-sm);color:var(--gray-600);justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.extra-kv strong{color:var(--gray-800)}.extra-list{flex-direction:column;gap:6px;display:flex}.extra-item{border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;display:flex}.extra-item.extra-item-editor{display:block}.extra-inline-editor{grid-template-columns:1fr;gap:6px;margin-top:8px;display:grid}.extra-policy-select,.extra-policy-date{border:1px solid var(--gray-300);border-radius:var(--radius-sm);width:100%;font-size:var(--text-xs);color:var(--gray-700);background:var(--bg-surface);padding:5px 8px}.extra-item-main{min-width:0}.extra-item-title{font-size:var(--text-sm);color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.extra-item-sub{font-size:var(--text-xs);color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.extra-actions{flex-wrap:wrap;gap:6px;display:flex}.sidebar-section{border-bottom:1px solid var(--gray-100);padding:16px}.sidebar-section.flex-grow{border-bottom:none;flex:1;overflow-y:auto}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-header h3{font-size:var(--text-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;font-weight:700;display:flex}.section-header h3 i{font-size:var(--text-md);color:var(--gray-400)}.section-actions{gap:4px;display:flex}.tech-groups-bar{flex-wrap:nowrap;align-items:center;gap:4px;display:flex}.tech-group-chip{border:1px solid var(--gray-200);border-radius:var(--radius-xl);background:var(--bg-surface);min-width:0;color:var(--gray-600);cursor:pointer;transition:all var(--transition-normal);text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;padding:5px 12px;font-size:12px;font-weight:600}.tech-group-chip:hover{border-color:var(--primary-light);color:var(--primary)}.tech-group-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.tech-group-chip.off{background:var(--gray-100);border-color:var(--gray-200);color:var(--gray-400)}.tech-group-chip .chip-count{opacity:.75;font-size:11px;font-weight:400}.tech-list-dropdown{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--bg-surface);max-height:40vh;margin-top:6px;padding:4px;overflow-y:auto}.techs-filter{flex-direction:column;gap:4px;padding-right:4px;display:flex}.tech-group{border:1px solid var(--gray-200);border-radius:var(--radius);margin-bottom:6px;overflow:visible}.tech-group.collapsed .tech-group-body{display:none}.tech-group.collapsed .tech-group-title i{transform:rotate(-90deg)}.tech-group-header{background:var(--gray-50);cursor:pointer;font-weight:600;font-size:var(--text-sm);color:var(--gray-700);transition:background var(--transition-normal);align-items:center;gap:8px;padding:8px 12px;display:flex}.tech-group-header:hover{background:var(--gray-100)}.tech-group-title{cursor:pointer;flex:1;align-items:center;gap:8px;display:flex}.tech-group-title i{font-size:var(--text-2xs);color:var(--gray-400);transition:transform var(--transition-normal)}.tech-group-actions{gap:4px;display:flex}.btn-mini{border:1px solid var(--gray-200);background:var(--bg-surface);border-radius:var(--radius-sm);cursor:pointer;width:24px;height:24px;transition:all var(--transition-normal);color:var(--gray-400);justify-content:center;align-items:center;display:flex}.btn-mini:hover{background:var(--gray-100);color:var(--gray-600)}.btn-mini.active{background:var(--primary);border-color:var(--primary);color:#fff}.tech-group-count{font-size:var(--text-xs);color:var(--gray-400);background:var(--gray-200);border-radius:10px;padding:2px 8px;font-weight:500}.tech-group-body{padding:4px}.tech-filter-item{border-radius:var(--radius);cursor:pointer;transition:background var(--transition-normal);align-items:center;gap:10px;padding:8px 10px;display:flex}.tech-filter-item:hover{background:var(--gray-50)}.tech-filter-item.selected{background:var(--gray-100)}.tech-filter-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.tech-color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.tech-filter-item .tech-name{font-size:var(--text-base);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.tech-filter-item .tech-count{font-size:var(--text-xs);color:var(--gray-400);background:var(--gray-100);border-radius:10px;padding:2px 8px}.days-filter{flex-wrap:wrap;gap:4px;display:flex}.day-chip{border:1px solid var(--gray-200);border-radius:var(--radius-xl);background:var(--bg-surface);font-size:var(--text-xs);color:var(--gray-600);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);text-align:center;flex:1;min-width:0;padding:5px 10px;font-weight:600}.day-chip:hover{border-color:var(--primary-light);color:var(--primary)}.day-chip.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 1px 2px #4f46e540}.section-header.collapsible{cursor:pointer;margin-bottom:0;padding:8px 0}.section-header.collapsible:hover{color:var(--primary)}.section-header .toggle-icon{transition:transform var(--transition-normal)}.sidebar-section.collapsed .section-body{display:none}.sidebar-section.collapsed .toggle-icon{transform:rotate(180deg)}.section-body{padding-top:12px}.task-search-bar{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:var(--text-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;gap:6px;margin:0 0 6px;padding:5px 8px;display:flex}.task-search-bar:focus-within{border-color:var(--primary);background:var(--bg-surface);box-shadow:0 0 0 2px #3b82f61f}.task-search-bar i.fa-search{color:var(--gray-400);font-size:var(--text-xs);flex-shrink:0}.task-search-bar input{font-size:var(--text-xs);color:var(--gray-700);background:0 0;border:none;outline:none;flex:1;min-width:0}.task-search-bar input::placeholder{color:var(--gray-400);font-size:var(--text-xs)}.task-search-clear{color:var(--gray-400);cursor:pointer;font-size:var(--text-2xs);background:0 0;border:none;flex-shrink:0;padding:0 2px;display:none}.task-search-clear:hover{color:var(--danger)}.task-search-bar.has-query .task-search-clear{display:block}.task-search-bar.has-query i.fa-search{color:var(--primary)}.task-item.search-highlight{border-left:3px solid var(--primary);background:#3b82f614;padding-left:5px}[data-theme=dark] .task-item.search-highlight{border-left-color:var(--primary);background:#3b82f614}.sched-task-block.search-dimmed,.sched-week-task.search-dimmed,.sched-week-task.compact.search-dimmed{opacity:.15;pointer-events:none}.sched-task-block.search-match,.sched-week-task.search-match,.sched-week-task.search-match:hover{box-shadow:0 0 0 2px var(--primary), 0 2px 8px #3b82f640;z-index:10}.tasks-list{flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto}.tasks-tech-section{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius);margin-bottom:8px;overflow:hidden}.tasks-tech-section.collapsed .tasks-tech-body{display:none}.tasks-tech-section.collapsed .tasks-tech-header:after{transform:rotate(-90deg)}.tasks-tech-header{background:var(--gray-50);cursor:pointer;transition:background var(--transition-normal);flex-wrap:nowrap;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.tasks-tech-header:after{content:"▼";font-family:inherit;font-size:var(--text-2xs);color:var(--gray-400);transition:transform var(--transition-normal);flex-shrink:0;margin-left:4px}.tasks-tech-header:hover{background:var(--gray-100)}.tasks-tech-name{font-size:var(--text-base);color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tasks-tech-count{font-size:var(--text-xs);color:var(--gray-500);white-space:nowrap;flex-shrink:0;font-weight:500}.tasks-tech-body{padding:8px}.task-day-badge{background:var(--primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-2xs);margin-right:4px;padding:2px 6px;font-weight:700;display:inline-block}.task-group{background:var(--gray-50);border-radius:var(--radius);margin-bottom:6px;overflow:hidden}.task-group.collapsed .task-group-body{display:none}.task-group.collapsed .task-group-header:after{transform:rotate(-90deg)}.task-group-header{background:var(--bg-surface);border-bottom:1px solid var(--gray-100);cursor:pointer;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.task-group-header:after{content:"▼";font-family:inherit;font-size:var(--text-2xs);color:var(--gray-400);transition:transform var(--transition-normal)}.task-group-header:hover{background:var(--gray-50)}.task-group-title{font-weight:600;font-size:var(--text-base);align-items:center;gap:8px;display:flex}.task-group-title .tech-color-dot{width:10px;height:10px}.task-group-count{font-size:var(--text-xs);color:var(--gray-400)}.task-group-body{padding:8px}.task-item{background:var(--bg-surface);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);font-size:var(--text-sm);border:1px solid #0000;flex-direction:column;gap:2px;margin-bottom:4px;padding:7px 10px;display:flex}button.task-item.task-card{text-align:left;width:100%;font:inherit;color:inherit;border-left:3px solid var(--task-tech-color,transparent);transition:background var(--transition-fast,.12s), box-shadow var(--transition-fast,.12s);border-radius:0 4px 4px 0;padding:6px 10px 6px 9px}.task-card__meta{align-items:center;gap:5px;min-width:0;min-height:18px;display:flex}.task-card__flags{flex-shrink:0;align-items:center;gap:3px;margin-left:auto;display:flex}.task-card__time{font-weight:600;font-size:var(--text-xs);color:var(--gray-700);white-space:nowrap;font-feature-settings:"tnum" 1, "lnum" 1;letter-spacing:-.01em;flex-shrink:0}.task-card__dur{font-size:var(--text-3xs);color:var(--gray-400);white-space:nowrap;font-feature-settings:"tnum" 1;flex-shrink:0;font-weight:500}.task-card__addr{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--gray-800);margin-top:2px;font-size:12.5px;font-weight:400;line-height:1.3;overflow:hidden}.task-card__travel{font-size:var(--text-3xs);white-space:nowrap;font-feature-settings:"tnum" 1;flex-shrink:0;font-weight:600}.task-card__travel--medium{color:var(--warning,#d97706)}.task-card__travel--bad{color:var(--danger,#dc2626)}.task-card__flag{flex-shrink:0;align-items:center;font-size:10px;line-height:1;display:inline-flex}.task-card__flag--biz{color:var(--primary,#2563eb);opacity:.8}.task-card__flag--warn{color:var(--warning,#d97706)}.task-card__flag--danger{color:var(--danger,#dc2626)}.task-item.task-csv-cancelled .task-card__addr{color:var(--gray-500);text-decoration:line-through}.task-item.task-csv-cancelled .task-card__time{color:var(--gray-400)}.task-item:last-child{margin-bottom:0}.task-item:hover{background:var(--gray-50);border-color:var(--gray-200);box-shadow:var(--shadow-sm)}.task-item.highlighted{box-shadow:inset 3px 0 0 var(--primary);background:#dbeafe}.task-time{font-weight:600;font-size:var(--text-xs);color:var(--gray-600);white-space:nowrap;font-feature-settings:"tnum" 1, "lnum" 1;letter-spacing:-.01em;flex-shrink:0}.task-duration{font-size:var(--text-3xs);color:var(--gray-400);white-space:nowrap;font-feature-settings:"tnum" 1, "lnum" 1;flex-shrink:0;font-weight:500}.task-address{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--gray-700);font-size:var(--text-sm);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex:1;overflow:hidden}.task-travel{font-size:var(--text-3xs);white-space:nowrap;font-feature-settings:"tnum" 1, "lnum" 1;flex-shrink:0;font-weight:600}.task-travel.good{color:var(--success)}.task-travel.medium{color:var(--warning)}.task-travel.bad{color:var(--danger)}.task-item.task-csv-cancelled{opacity:.5;background:repeating-linear-gradient(-45deg,#0000,#0000 6px,#e539350a 6px 12px);border-left:3px solid #e5393580}.task-item.task-csv-cancelled .task-address{color:var(--gray-500);text-decoration:line-through}.task-item.task-csv-cancelled .task-time{color:var(--gray-400)}.task-item.task-csv-cancelled:hover{opacity:.75}.task-cancelled-badge{text-transform:uppercase;letter-spacing:.5px;color:#e53935;white-space:nowrap;background:#e5393512;border:1px solid #e5393530;border-radius:3px;flex-shrink:0;align-items:center;padding:1px 5px;font-size:9px;font-weight:700;display:inline-flex}.task-permit-badge{cursor:help;flex-shrink:0;margin-right:2px;font-size:11px}.empty-state{text-align:center;color:var(--gray-400);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:40px 20px;display:flex}.empty-state i{opacity:.5;color:var(--gray-300);margin-bottom:12px;font-size:48px}.empty-state p{font-size:var(--text-base);color:var(--gray-600);margin:0;font-weight:500;line-height:1.4}.empty-state-hint{font-size:var(--text-xs);color:var(--gray-400);max-width:260px;margin:0;line-height:1.5}.empty-state .btn,.empty-state button.btn{margin-top:12px}.empty-state.success{color:var(--success)}.empty-state.success i{opacity:1;color:var(--success)}.empty-state.success p{color:var(--success)}.empty-state.compact{padding:20px 16px}.empty-state.compact i{margin-bottom:8px;font-size:32px}.empty-state--inline{flex-flow:wrap;justify-content:center;align-items:center;gap:.35rem .5rem;min-height:0;padding:.35rem .5rem}.empty-state--inline i{display:none}.empty-state--inline p,.empty-state--inline span{margin:0;font-size:.75rem;font-weight:500}.empty-state--inline .empty-state-hint{display:none}.empty-state--inline .btn{margin-top:0;padding:.15rem .45rem;font-size:.72rem}.empty-state.error{color:var(--danger)}.empty-state.error i{color:var(--danger);opacity:1}.alerts-list{flex-direction:column;gap:8px;display:flex}.alerts-subtitle{font-size:var(--text-xs);color:var(--gray-600);text-transform:uppercase;letter-spacing:.04em;margin-top:8px;font-weight:700}.alerts-subtitle.muted{color:var(--gray-500)}.alerts-subtitle.missing-estimation{color:#b45309;border-left:3px solid var(--warning);padding-left:8px}.alert-item.missing-estimation-actions{border-left-color:#f59e0b}.alert-item{border-radius:var(--radius);border:1px solid #fcd34d;border-left:4px solid var(--warning);background:#fef3c7;padding:12px}.alert-item.error{border-color:#fca5a5;border-left-color:var(--danger);background:#fee2e2}.alert-item.warning{border-color:#fcd34d;border-left-color:var(--warning);background:#fef3c7}.alert-item.muted{background:var(--gray-100);border-color:var(--gray-300);border-left-color:var(--gray-400)}.alert-address{font-weight:600;font-size:var(--text-base);color:var(--gray-800);margin-bottom:4px}.alert-reason{font-size:var(--text-sm);color:var(--danger);margin-bottom:8px}.alert-item.warning .alert-reason{color:#92400e}.alert-tech{font-size:var(--text-xs);color:var(--gray-500);margin-bottom:8px}.alert-actions{gap:8px;display:flex}.compact-weeks,.compact-days,.compact-techs{border-bottom:1px solid var(--gray-100);background:var(--bg-surface);padding:8px 16px}.compact-weeks{background:var(--gray-50)}.week-filter-row{align-items:center;gap:4px;display:flex}.week-filter-row .btn-xs{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--gray-300);cursor:pointer;width:24px;height:24px;color:var(--gray-500);font-size:var(--text-2xs);transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.week-filter-row .btn-xs:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.week-filter-label{border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;font-size:var(--text-sm);color:var(--gray-500);text-align:center;transition:all var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;flex:1;padding:4px 10px;font-weight:600;overflow:hidden}.week-filter-label:hover{border-color:var(--primary);color:var(--primary)}.week-filter-label.has-week{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.week-filter-label.has-week:hover{background:var(--primary-dark,#2563eb)}.days-filter-inline{flex-wrap:nowrap;align-items:center;gap:4px;display:flex}.days-label{font-size:var(--text-xs);color:var(--gray-500);white-space:nowrap;margin-right:2px;font-weight:600}.group-filter-dropdown{position:relative}.dropdown-toggle{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-normal);align-items:center;gap:8px;padding:8px 14px;display:flex}.dropdown-toggle:hover{border-color:var(--primary);background:var(--gray-50)}.dropdown-arrow{font-size:var(--text-2xs);color:var(--gray-400);transition:transform var(--transition-normal)}.group-filter-dropdown.open .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow-lg);z-index:1000;display:none;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.group-filter-dropdown.open .dropdown-menu{display:block}.dropdown-item{cursor:pointer;transition:background var(--transition-fast);font-size:var(--text-base);align-items:center;gap:10px;padding:10px 14px;display:flex}.dropdown-item:hover{background:var(--gray-50)}.dropdown-item.active{background:var(--primary);color:#fff}.dropdown-item i{text-align:center;opacity:.7;width:16px}.dropdown-divider{background:var(--gray-200);height:1px;margin:4px 0}.tasks-tech-header{position:relative}.sidebar-collapse{border-bottom:1px solid var(--gray-100)}.sidebar-collapse-btn{background:var(--gray-50);width:100%;color:var(--text-color);cursor:pointer;transition:background var(--transition-fast);border:none;justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.sidebar-collapse-btn:hover{background:var(--gray-100)}.sidebar-collapse-btn span{align-items:center;gap:8px;display:flex}.sidebar-collapse-btn span i:first-child{color:var(--primary);text-align:center;width:16px}.sidebar-collapse-arrow{color:var(--gray-400);font-size:11px;transition:transform .2s}.sidebar-collapse-body{border-top:1px solid var(--gray-100);background:var(--bg-surface);padding:12px 16px}.sidebar-collapse-body .hotel-form .form-group{margin-bottom:8px}.sidebar-collapse-body .hotel-import-export{flex-direction:column;gap:6px;display:flex}.sidebar-group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#64748b);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:10px 12px 4px;font-size:11px;font-weight:700;display:flex}.sidebar-group-label i{opacity:.7;font-size:10px}.sidebar-filters{border-bottom:1px solid var(--gray-200);flex-direction:column;gap:2px;margin:0 8px;padding-bottom:10px;display:flex}.sidebar-filters .sidebar-section.compact-weeks,.sidebar-filters .sidebar-section.compact-days,.sidebar-filters .sidebar-section.compact-techs{padding:6px 4px}#sidebar-tasks .section-header h3{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#64748b);align-items:center;gap:6px;margin:0;padding:4px 4px 2px;font-size:11px;font-weight:700;display:flex}#sidebar-tasks .section-header h3 i{opacity:.7;font-size:10px}#sidebar-tasks .sidebar-section.flex-grow{padding:4px 12px 8px}#tasks-list[hidden],#sidebar-task-search[hidden],#hotels-list[hidden],#alerts-list[hidden]{display:none!important}#sidebar-tasks.sidebar-tasks--react .sidebar-section.flex-grow{flex-direction:column;min-height:0;display:flex}#sidebar-react-root.sidebar-react-active{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.sidebar-react-terminy{flex-direction:column;flex:1;gap:.35rem;min-height:0;display:flex}.sidebar-react-search{background:var(--bg-secondary,#f1f5f9);border-radius:6px;flex-shrink:0;align-items:center;gap:.35rem;padding:.35rem .5rem;display:flex}.sidebar-react-search input{background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.8rem}.sidebar-react-list{flex-direction:column;flex:1;gap:1px;margin:0;padding:0 0 4px;display:flex;overflow-y:auto}.task-card:hover,.task-card.search-highlight{background:var(--bg-hover,#eff6ff)}.task-card.no-coords{border-left-color:var(--warning,#f59e0b)}.sidebar-react-group{display:contents}.sidebar-react-group-header{background:var(--bg-surface-alt,var(--bg-secondary,#f1f5f9));border-bottom:1px solid var(--border-color,#e2e8f0);flex-shrink:0;align-items:center;gap:.35rem;margin-top:4px;padding:4px 8px;font-size:13px;font-weight:700;display:flex}.sidebar-react-group-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.sidebar-react-group-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sidebar-react-group-count{color:var(--gray-500,#64748b);background:var(--bg-primary,#fff);border:1px solid var(--border-color,#e2e8f0);text-align:center;border-radius:10px;flex-shrink:0;min-width:1rem;padding:0 .3rem;font-size:.72rem;font-weight:400}.sidebar-react-day-header{color:var(--gray-400,#94a3b8);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;align-items:center;gap:6px;margin-top:2px;padding:5px 8px 2px;font-size:10px;font-weight:600;display:flex}.sidebar-react-day-header:after{content:"";background:var(--border-color,#e2e8f0);flex:1;height:1px}.sidebar-react-group-toggle.is-active{color:var(--primary,#2563eb);opacity:1}.sidebar-react-group-toggle{opacity:.55;flex-shrink:0}.sidebar-react-group-toggle:hover{opacity:1}.sidebar-react-count{color:var(--text-muted,#64748b);text-align:center;flex-shrink:0;margin:0;padding:.25rem;font-size:.7rem}.sidebar-react-empty{text-align:center;flex-shrink:0;padding:.35rem .5rem}.sidebar-react-empty.empty-state--inline{flex-flow:wrap;justify-content:center;align-items:center;gap:.35rem .5rem;min-height:0}.sidebar-react-empty.empty-state--inline i{display:none}.sidebar-react-empty.empty-state--inline p,.sidebar-react-empty.empty-state--inline span{color:var(--text-muted,#64748b);margin:0;font-size:.75rem;font-weight:500}.sidebar-react-empty.empty-state--inline .btn{margin-top:0;padding:.15rem .45rem;font-size:.72rem;line-height:1.3}#sidebar-hotels.sidebar-hotels--react .sidebar-section.flex-grow{flex-direction:column;min-height:0;display:flex}#sidebar-react-hotels-root.sidebar-react-active{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.sidebar-react-hotele{flex-direction:column;flex:1;gap:.35rem;min-height:0;display:flex;overflow:hidden}.sidebar-react-hotele__day{color:var(--text-muted,#64748b);flex-shrink:0;margin:0;padding:.2rem .35rem;font-size:.72rem}.sidebar-react-hotele__toolbar{flex-shrink:0}.sidebar-react-accordion{border:1px solid var(--border-color,#e2e8f0);border-radius:6px;flex-direction:column;flex-shrink:0;min-height:0;max-height:45%;display:flex;overflow:hidden}.sidebar-react-accordion:last-of-type{flex:1;max-height:none}.sidebar-react-accordion__btn{background:var(--bg-secondary,#f1f5f9);width:100%;font:inherit;cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .55rem;font-size:.78rem;font-weight:600;display:flex}.sidebar-react-accordion__title{align-items:center;gap:.35rem;display:flex}.sidebar-react-accordion__body{flex:1;min-height:0;padding:.35rem;overflow-y:auto}.sidebar-react-badge{background:var(--primary,#2563eb);color:#fff;text-align:center;border-radius:10px;min-width:1.1rem;padding:0 .35rem;font-size:.68rem;font-weight:600}.sidebar-react-hint{color:var(--text-muted,#64748b);margin:0 0 .35rem;font-size:.72rem}.sidebar-react-hotel-assignments,.sidebar-react-hotel-saved{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar-react-hotel-row{background:var(--bg-primary,#fff);width:100%;font:inherit;text-align:left;cursor:pointer;border:none;border-radius:4px;justify-content:space-between;align-items:center;gap:.35rem;padding:.4rem .45rem;font-size:.75rem;display:flex}.sidebar-react-hotel-row:hover{background:var(--bg-hover,#e8f0fe)}.sidebar-react-hotel-row__main{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sidebar-react-hotel-row__action{color:var(--primary,#2563eb);flex-shrink:0;font-size:.68rem}.sidebar-react-muted{color:var(--text-muted,#94a3b8);font-weight:400}.sidebar-react-saved-card{background:var(--bg-primary,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:4px;gap:.35rem;padding:.4rem .45rem;display:flex}.sidebar-react-hotel--inactive .sidebar-react-saved-card{opacity:.65}.sidebar-react-saved-card__info{flex:1;min-width:0}.sidebar-react-saved-card__name{font-size:.78rem;font-weight:600}.sidebar-react-saved-card__addr,.sidebar-react-saved-card__meta{color:var(--text-muted,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.sidebar-react-saved-card__actions{flex-direction:column;flex-shrink:0;gap:2px;display:flex}#sidebar-alerts.sidebar-alerts--react .sidebar-section.flex-grow{flex-direction:column;min-height:0;display:flex}#sidebar-react-alerts-root.sidebar-react-active{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.sidebar-react-alerty{flex-direction:column;flex:1;gap:.35rem;min-height:0;display:flex;overflow-y:auto}.sidebar-react-alerty__toolbar{flex-wrap:wrap;flex-shrink:0;gap:.35rem;display:flex}.sidebar-react-alert{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-primary,#fff);border-radius:4px;margin-bottom:.35rem;padding:.4rem .45rem;font-size:.75rem}.sidebar-react-alert.error{border-left:3px solid var(--danger,#dc2626)}.sidebar-react-alert.warning{border-left:3px solid var(--warning,#d97706)}.sidebar-react-alert.critical{border-left:3px solid #b91c1c}.sidebar-react-alert.muted{opacity:.75}.sidebar-react-alert__addr{word-break:break-word;font-weight:600}.sidebar-react-alert__reason,.sidebar-react-alert__meta{color:var(--text-muted,#64748b);margin-top:.15rem;font-size:.7rem}.sidebar-react-alert__subtitle{margin-bottom:.25rem;font-weight:600}.sidebar-react-alert__actions{flex-wrap:wrap;gap:.25rem;margin-top:.35rem;display:flex}.sidebar-react-geocode-log{margin:0;padding:0;font-size:.72rem;list-style:none}.sidebar-react-geocode-log__item{border-bottom:1px dashed var(--border-color,#e2e8f0);padding:.3rem 0}.sidebar-react-geocode-log__time{color:var(--text-muted,#94a3b8);font-size:.65rem;display:block}.sidebar-react-group-header{z-index:3;letter-spacing:.03em;text-transform:uppercase;border-left:3px solid var(--group-accent,transparent);background:color-mix(in srgb, var(--group-accent,transparent) 9%, var(--bg-surface-alt,#f1f5f9));border-bottom:1px solid color-mix(in srgb, var(--group-accent,transparent) 18%, var(--border-color,#e2e8f0));box-shadow:none;border-radius:0;align-items:center;gap:.35rem;margin-top:6px;padding:5px 8px 5px 10px;font-size:11.5px;font-weight:700;display:flex;position:sticky;top:0}.sidebar-react-group-header:first-child{margin-top:0}.sidebar-react-group-dot{width:9px;height:9px;box-shadow:0 0 0 2px color-mix(in srgb, currentColor 15%, transparent);border-radius:50%;flex-shrink:0}.sidebar-react-group-contact{opacity:.45;border-radius:4px;flex-shrink:0;padding:2px 5px;line-height:1;transition:opacity .12s,background .12s}.sidebar-react-group-contact:hover{opacity:1;color:var(--primary,#2563eb);background:var(--bg-primary,#fff)}.sidebar-react-saved-card{transition:border-color var(--transition-fast,.15s), box-shadow var(--transition-fast,.15s);border-radius:8px;gap:.5rem;padding:.5rem .55rem}.sidebar-react-saved-card:hover{border-color:var(--primary,#2563eb);box-shadow:0 1px 4px #0f172a14}.sidebar-react-saved-card__name{align-items:center;gap:.35rem;display:flex}.sidebar-react-saved-card__name:before{content:"";color:var(--primary,#2563eb);font-family:"Font Awesome 6 Free";font-size:.72rem;font-weight:900}.sidebar-react-hotel-row{border-radius:8px;padding:.5rem .55rem}.sidebar-react-hotel-row__action{font-weight:600}.sidebar-react-hotele__toolbar .btn{justify-content:center;width:100%}.map-area{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.map-toolbar{background:var(--bg-surface);border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.toolbar-group{align-items:center;gap:6px;display:flex}#map{z-index:1;flex:1}:root{--map-marker-radius:8;--map-marker-ring:2px;--map-marker-diameter:calc(var(--map-marker-radius) * 2px);--map-marker-stroke:#fff;--map-marker-stroke-border:#0f172a2e;--map-marker-fill-opacity:.88}[data-theme=dark]{--map-marker-stroke:#ffffffeb;--map-marker-stroke-border:#00000073;--map-marker-fill-opacity:.92}@media (prefers-color-scheme:dark){html:not([data-theme=light]){--map-marker-stroke:#ffffffeb;--map-marker-stroke-border:#00000073;--map-marker-fill-opacity:.92}}.leaflet-container{background:#d8d8d8}[data-theme=dark] .leaflet-container{background:#0a0a0a}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .leaflet-container{background:#0a0a0a}}.leaflet-container img.leaflet-tile,.leaflet-container .leaflet-tile-pane img{mix-blend-mode:normal;image-rendering:auto;backface-visibility:hidden;border:none;outline:none;max-width:none;max-height:none;margin:0;padding:0}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{will-change:transform}.map-notification{background:var(--gray-900);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;font-size:var(--text-base);align-items:center;gap:12px;padding:12px 20px;display:none;position:absolute;top:70px;left:50%;transform:translate(-50%)}.map-notification.active{display:flex}.map-notification i{color:var(--primary-light);animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.map-floating-panel{z-index:1000;flex-direction:column;gap:8px;max-width:min(220px,100vw - 32px);display:flex;position:absolute;bottom:16px;left:16px}.map-floating-panel .map-legend,.map-floating-panel .map-controls-panel{position:static;bottom:auto;left:auto}.map-floating-section.collapsed .legend-body,.map-floating-section.collapsed .controls-body{display:none}.context-menu-item.disabled,.sched-ctx-item.sched-ctx-disabled{opacity:.45;pointer-events:none}.map-legend{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:1000;min-width:160px;position:absolute;bottom:20px;left:20px;overflow:hidden}.legend-header{background:var(--gray-50);cursor:pointer;font-weight:600;font-size:var(--text-sm);align-items:center;gap:8px;padding:10px 12px;display:flex}.legend-header i:first-child{color:var(--primary)}.legend-header span{flex:1}.legend-header .toggle-icon{color:var(--gray-400);transition:transform var(--transition-normal)}.map-legend.collapsed .legend-body{display:none}.map-legend.collapsed .toggle-icon{transform:rotate(180deg)}.legend-body{max-height:260px;padding:8px;overflow-y:auto}.legend-group-tabs{border-bottom:1px solid var(--gray-200);gap:2px;margin-bottom:6px;padding:0 0 6px;display:flex}.legend-tab{font-size:var(--text-3xs);border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--gray-500);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:3px;padding:4px 6px;font-weight:600;display:flex}.legend-tab:hover{background:var(--gray-50);color:var(--gray-700)}.legend-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.legend-tab i{font-size:8px}.legend-item{font-size:var(--text-sm);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:6px 8px;display:flex}.legend-item:hover{background:var(--gray-50)}.legend-color{width:var(--map-marker-diameter);height:var(--map-marker-diameter);border-radius:50%;flex-shrink:0}.map-legend-swatch{box-shadow:0 0 0 var(--map-marker-ring) var(--map-marker-stroke);border:1px solid var(--map-marker-stroke-border)}.map-controls-panel{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:900;min-width:160px;position:absolute;bottom:20px;right:10px;overflow:hidden}.controls-header{background:var(--gray-50);cursor:pointer;font-weight:600;font-size:var(--text-sm);align-items:center;gap:8px;padding:10px 12px;display:flex}.controls-header i:first-child{color:var(--primary)}.controls-header span{flex:1}.controls-header .toggle-icon{color:var(--gray-400);transition:transform var(--transition-normal)}.map-controls-panel.collapsed .controls-body{display:none}.map-controls-panel.collapsed .toggle-icon{transform:rotate(180deg)}.controls-body{padding:4px}.control-item{cursor:pointer;border-radius:var(--radius-sm);font-size:var(--text-sm);align-items:center;gap:8px;padding:7px 10px;display:flex}.control-item:hover{background:var(--gray-50)}.control-item input{accent-color:var(--primary)}.control-item i{width:16px;color:var(--gray-400)}.details-panel{width:var(--details-width);background:var(--bg-surface);border-left:1px solid var(--gray-200);flex-direction:column;flex-shrink:0;display:none}.details-panel.active{display:flex}.details-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.details-title{align-items:center;gap:12px;display:flex}.details-title .tech-color-dot{width:16px;height:16px}.details-title h2{font-size:var(--text-lg);font-weight:600}.details-body{flex:1;padding:16px;overflow-y:auto}.detail-section{margin-bottom:20px}.detail-section-header{font-size:var(--text-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:12px;font-weight:600;display:flex}.hotel-search-box{position:relative}.hotel-search-box input{border:1px solid var(--gray-200);border-radius:var(--radius);width:100%;font-size:var(--text-base);padding:10px 12px 10px 36px}.hotel-search-box i{color:var(--gray-400);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.hotel-suggestions{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;max-height:200px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.hotel-suggestions.active{display:block}.hotel-suggestion-item{cursor:pointer;font-size:var(--text-base);border-bottom:1px solid var(--gray-100);padding:10px 12px}.hotel-suggestion-item:hover{background:var(--gray-50)}.hotel-actions{gap:8px;margin-top:12px;display:flex}.day-schedule{background:var(--gray-50);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.day-schedule-header{background:var(--bg-surface);border-bottom:1px solid var(--gray-100);font-weight:600;font-size:var(--text-base);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.day-schedule-stats{color:var(--gray-600);font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.day-schedule-body{padding:8px}.schedule-task{background:var(--bg-surface);border-radius:var(--radius-sm);font-size:var(--text-sm);align-items:flex-start;gap:10px;margin-bottom:6px;padding:8px;display:flex}.schedule-task:last-child{margin-bottom:0}.schedule-time{color:var(--gray-600);min-width:45px;font-weight:600}.schedule-address{flex:1;line-height:1.4}.schedule-duration{font-size:var(--text-xs);color:var(--gray-600);background:var(--gray-100);border-radius:4px;flex:none;padding:2px 6px;font-weight:700}.schedule-travel{font-size:var(--text-xs);background:var(--gray-100);border-radius:10px;padding:2px 8px}.day-total{background:var(--gray-100);font-weight:600;font-size:var(--text-sm);justify-content:space-between;padding:10px 12px;display:flex}.week-summary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;border-radius:var(--radius);padding:16px}.summary-row{font-size:var(--text-base);justify-content:space-between;margin-bottom:8px;display:flex}.summary-row:last-child{margin-bottom:0}.summary-row.total{font-size:var(--text-lg);border-top:1px solid #fff3;margin-top:12px;padding-top:12px;font-weight:600}.week-summary-row{font-size:var(--text-sm);justify-content:space-between;padding:4px 0;display:flex}.week-summary-row .label{opacity:.95;font-size:var(--text-base)}.week-summary-row .value{font-weight:700;font-size:var(--text-base);color:#fff}.tech-progress{padding:8px 12px}.tech-progress:empty{padding:0;display:none}.suggestions-container{margin-top:16px}.suggestion-card{background:var(--gray-50);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-normal);align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.suggestion-card:hover{background:var(--gray-100);transform:translate(4px)}.suggestion-card.highlighted{box-shadow:inset 3px 0 0 var(--primary);background:#dbeafe}.suggestion-color{border-radius:50%;flex-shrink:0;width:16px;height:16px}.suggestion-info{flex:1}.suggestion-name{font-weight:600;font-size:var(--text-base);margin-bottom:2px}.suggestion-time{font-size:var(--text-sm);color:var(--gray-500)}.suggestion-time.exact{color:var(--success);font-weight:500}.suggestion-actions{gap:4px;display:flex}.progress-container{margin:12px 0}.progress-bar{background:var(--gray-200);border-radius:var(--radius-sm);height:8px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transition:width .3s}.progress-text{font-size:var(--text-xs);color:var(--gray-500);text-align:center;margin-top:4px}.leaflet-container .leaflet-control-layers.leaflet-control{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow-md);border:none;min-width:150px}.leaflet-container .leaflet-control-layers-toggle{background-size:20px 20px;width:36px;height:36px}.leaflet-control-layers-expanded{padding:10px 14px}.leaflet-control-layers-base label{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-normal);font-size:var(--text-base);align-items:center;padding:6px 4px;display:flex}.leaflet-control-layers-base label:hover{background:var(--gray-100)}.leaflet-control-layers-base input{margin-right:8px}.leaflet-control-layers-separator{border-top:1px solid var(--gray-200);margin:6px 0}.preview-marker-icon{background:0 0}.preview-marker-dot{background:var(--danger);border:3px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #ef444480}.preview-marker-pulse{background:#ef44444d;border-radius:50%;width:40px;height:40px;animation:1.5s ease-out infinite pulse-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse-ring{0%{opacity:1;transform:translate(-50%,-50%)scale(.5)}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}.geocode-review-panel{background:var(--bg-surface);border-radius:var(--radius-lg);z-index:1001;border:1px solid var(--gray-200);flex-direction:column;width:460px;max-width:calc(100vw - 40px);animation:.3s gcr-slide-up;display:none;position:absolute;bottom:20px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 32px #0000002e,0 2px 8px #00000014}@keyframes gcr-slide-up{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.gcr-header{background:var(--primary);color:#fff;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.gcr-title{font-weight:600;font-size:var(--text-sm);align-items:center;gap:8px;display:flex}.gcr-title i{opacity:.9;font-size:14px}.gcr-counter{border-radius:var(--radius-xl);font-size:var(--text-xs);background:#fff3;padding:2px 8px;font-weight:700}.gcr-stats{font-size:var(--text-xs);gap:10px;display:flex}.gcr-stat{align-items:center;gap:3px;font-weight:600;display:flex}.gcr-stat-ok{color:#86efac}.gcr-stat-no{color:#fca5a5}.gcr-stat-wait{color:#ffffffb3}.gcr-body{padding:12px 16px}.gcr-address{font-weight:600;font-size:var(--text-base);color:var(--text-color);margin-bottom:6px;line-height:1.3}.gcr-meta{font-size:var(--text-xs);color:var(--gray-500);gap:12px;margin-bottom:8px;display:flex}.gcr-meta i{opacity:.7;margin-right:3px}.gcr-subject{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.gcr-coords-old,.gcr-coords-new{font-size:var(--text-xs);padding:3px 0;font-family:Courier New,monospace}.gcr-coords-old{color:var(--gray-400)}.gcr-coords-old i{color:var(--gray-400);margin-right:4px}.gcr-coords-new{color:var(--success);font-weight:600}.gcr-coords-new i{color:var(--success);margin-right:4px}.gcr-actions{border-top:1px solid var(--gray-100);background:var(--gray-50);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.gcr-nav{gap:4px;display:flex}.gcr-buttons{flex:1;justify-content:center;gap:4px;display:flex}.gcr-bulk{gap:4px;margin-left:auto;display:flex}.gcr-marker-icon{background:0 0}.gcr-marker-dot{border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gcr-marker-new{background:var(--success,#22c55e);border:3px solid #fff;width:18px;height:18px;box-shadow:0 2px 8px #22c55e80}.gcr-marker-old{background:var(--gray-400,#9ca3af);opacity:.7;border:2px solid #fff;width:12px;height:12px;box-shadow:0 1px 4px #0000004d}.tracking-admin-panel{z-index:10050;background:var(--bg-surface);flex-direction:column;display:none;position:fixed;inset:0}.tracking-admin-panel.open{display:flex}.tracking-admin-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.tracking-admin-map{height:45vh;min-height:240px}.tracking-admin-list{flex:1;padding:12px 16px;overflow-y:auto}.tracking-admin-row{border-bottom:1px solid var(--gray-100);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0;display:flex}.tracking-admin-row strong{flex:1}.tracking-admin-row--stale{opacity:.55}.tracking-admin-ts{color:var(--gray-500,#6b7280);white-space:nowrap;font-size:11px}.tracking-admin-tabs{border-bottom:1px solid var(--gray-200);gap:4px;padding:8px 16px 0;display:flex}.tracking-admin-tab{color:var(--gray-500,#6b7280);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 14px;font-size:13px;display:inline-flex}.tracking-admin-tab.active{color:var(--primary,#2563eb);border-bottom-color:var(--primary,#2563eb);font-weight:600}.tracking-admin-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tracking-admin-inbox{flex:1;padding:12px 16px;overflow-y:auto}.tracking-admin-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tracking-admin-eta{color:var(--primary,#2563eb);font-size:12px}.tracking-admin-eta--muted{color:var(--gray-500,#6b7280)}.tracking-admin-eta--late{color:#dc2626;font-weight:600}.tracking-admin-next{color:var(--gray-500,#6b7280);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.msg-thread{border:1px solid var(--gray-200,#e5e7eb);background:var(--bg-surface,#fff);border-radius:8px;margin-bottom:8px;overflow:hidden}.msg-thread--unread{border-color:var(--primary,#2563eb)}.msg-thread-header{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;grid-template-rows:auto auto auto;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px;display:grid}.msg-thread-title{grid-column:1;font-size:13px;font-weight:600}.msg-thread-badge{background:var(--primary,#2563eb);color:#fff;text-align:center;border-radius:10px;grid-area:1/2/span 2;align-self:start;min-width:20px;padding:2px 7px;font-size:11px}.msg-thread-time{color:var(--gray-500,#6b7280);grid-column:1;font-size:11px}.msg-thread-preview{color:var(--gray-600,#4b5563);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;font-size:12px;overflow:hidden}.msg-thread-chevron{color:var(--gray-400,#9ca3af);grid-area:3/2;font-size:11px}.msg-thread-body{border-top:1px solid var(--gray-100,#f3f4f6);padding:4px 8px 8px}.msg-thread-body .msg-item{border-bottom:1px solid var(--gray-100,#f3f4f6);padding:8px 4px}.msg-thread-body .msg-item:last-child{border-bottom:none}.gcr-marker-pulse{background:#22c55e40;border-radius:50%;width:44px;height:44px;animation:1.5s ease-out infinite gcr-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes gcr-pulse{0%{opacity:1;transform:translate(-50%,-50%)scale(.5)}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}@media (width<=600px){.geocode-review-panel{width:calc(100vw - 20px);bottom:10px}.gcr-bulk{flex-basis:100%;justify-content:center}}.mapa-cluster-icon{background:0 0;border:none}.mapa-cluster-inner{background:var(--bg-surface,#fff);width:100%;height:100%;color:var(--gray-800,#1f2937);box-shadow:0 0 0 3px var(--accent,#2563eb), 0 2px 6px #00000059;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}[data-theme=dark] .mapa-cluster-inner{background:var(--bg-surface,#1f2937);color:var(--gray-100,#f3f4f6)}.map-floating-panel .map-legend,.map-floating-panel .map-controls-panel,.map-legend,.map-controls-panel{background:color-mix(in srgb, var(--bg-surface) 85%, transparent);-webkit-backdrop-filter:blur(10px)saturate(1.05);backdrop-filter:blur(10px)saturate(1.05);border:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);box-shadow:0 6px 20px #00000029}.legend-header,.controls-header{background:0 0}.legend-header i:first-child,.controls-header i:first-child{color:var(--text-muted,#64748b)}.modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#route-calc-modal,#hotel-assign-modal{display:flex}#import-modal{display:none}#import-modal.active{display:flex}#sugar-upload-modal{display:none}#sugar-upload-modal.active{display:flex}.modal{background:var(--bg-surface);border-radius:var(--radius-lg);width:90%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-lg);overflow:hidden}.modal-header{background:var(--bg-surface);border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;min-height:56px;padding:14px 20px;display:flex}.modal-header h2{font-size:var(--text-lg);color:var(--gray-900);align-items:center;gap:10px;margin:0;font-weight:600;display:flex}.modal-header h2 i{color:var(--primary)}.modal-header h3{font-size:var(--text-lg);color:var(--gray-900);align-items:center;gap:10px;margin:0;font-weight:600;display:flex}.modal-header h3 i{color:var(--primary)}.modal-close-x{width:32px;height:32px;color:var(--gray-500);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.modal-close-x:hover{background:var(--gray-100);color:var(--gray-900)}.modal-body{padding:20px;overflow-y:auto}.modal .form-group,.modal-body .form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.modal .form-group:last-child,.modal-body .form-group:last-child{margin-bottom:0}.modal .form-group>label,.modal-body .form-group>label{font-size:var(--text-xs);color:var(--gray-600);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.instructions{margin-bottom:20px}.import-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.import-source-card{border:1px solid var(--gray-200);background:var(--bg-surface);border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.import-source-card--primary{border-color:color-mix(in srgb, var(--primary) 34%, var(--gray-200));background:color-mix(in srgb, var(--primary) 7%, var(--bg-surface))}.import-source-card--primary .btn{grid-column:2;justify-self:start;margin-top:6px}.import-source-icon{width:34px;height:34px;color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.import-source-copy h3{font-size:var(--text-md);color:var(--gray-900);margin:0 0 3px}.import-source-copy{min-width:0}.import-source-copy p{font-size:var(--text-xs);color:var(--gray-600);margin:0;line-height:1.35}@media (width<=640px){.import-source-grid{grid-template-columns:1fr}.import-source-card--primary{grid-template-columns:34px minmax(0,1fr)}.import-source-card--primary .btn{grid-column:1/-1;justify-content:center;width:100%}}.instructions h3{font-size:var(--text-md);color:var(--gray-700);margin-bottom:12px}.instructions ol{padding-left:20px}.instructions li{font-size:var(--text-base);margin-bottom:10px;line-height:1.6}.instructions li i{color:var(--primary);width:16px;margin-right:8px}.instructions code{background:var(--gray-100);border-radius:var(--radius-sm);font-size:var(--text-sm);padding:2px 6px}.instructions a{color:var(--primary);font-weight:500;text-decoration:none}.instructions a:hover{text-decoration:underline}.upload-area{border:2px dashed var(--gray-300);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-normal);padding:40px 20px}.upload-area:hover{border-color:var(--primary);background:var(--gray-50)}.upload-area.dragover{border-color:var(--primary);background:#4f46e50d}.upload-area i{color:var(--gray-400);margin-bottom:16px;font-size:48px}.upload-area p{font-size:var(--text-md);color:var(--gray-600);margin-bottom:8px}.upload-hint{font-size:var(--text-sm);color:var(--gray-400)}.context-menu{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:10000;min-width:180px;padding:6px 0;display:none;position:fixed}.context-menu.active{display:block}.context-menu-item{cursor:pointer;font-size:var(--text-base);transition:background var(--transition-normal);align-items:center;gap:10px;padding:10px 14px;display:flex}.context-menu-item:hover{background:var(--gray-50)}.context-menu-item i{width:16px;color:var(--gray-400)}.context-menu-item.danger,.context-menu-item.danger i{color:var(--danger)}.context-menu-item.ctx-contact-item{color:inherit;text-decoration:none}.context-menu-item.ctx-contact-item.disabled{opacity:.45;pointer-events:none;cursor:default;font-style:italic}.context-menu-separator{background:var(--gray-200);height:1px;margin:6px 0}.context-menu-header{font-weight:600;font-size:var(--text-sm);color:var(--gray-500);background:var(--gray-50);border-bottom:1px solid var(--gray-200);white-space:nowrap;text-overflow:ellipsis;padding:8px 12px;overflow:hidden}.toast-container{z-index:10001;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--gray-900);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:var(--text-base);align-items:center;gap:12px;padding:14px 18px;animation:.3s slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}.toast.warning{background:var(--warning);color:var(--gray-900)}.toast i{font-size:var(--text-xl)}.edit-coords-modal{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:10001;min-width:400px;padding:24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.edit-coords-modal h3{align-items:center;gap:10px;margin-bottom:16px;display:flex}.edit-coords-modal .form-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.edit-coords-modal .form-row label{min-width:80px;font-weight:500;font-size:var(--text-base)}.edit-coords-modal .form-row input{border:1px solid var(--gray-200);border-radius:var(--radius);font-size:var(--text-base);flex:1;padding:10px 12px}.edit-coords-modal .buttons{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.modal-backdrop{z-index:10000;background:#00000080;position:fixed;inset:0}.route-calc-modal{background:var(--bg-surface);border-radius:var(--radius-lg);width:95%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-lg);overflow:hidden}.route-calc-section{margin-bottom:20px}.route-calc-section:last-child{margin-bottom:0}.route-calc-section-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.route-calc-section-header .section-title{font-weight:600;font-size:var(--text-md);align-items:center;gap:8px;display:flex}#jpg-export-modal{display:none}#jpg-export-modal.active{display:flex}.jpg-export-modal{max-width:640px}.jpg-export-hint{color:var(--gray-600);margin-bottom:14px}.jpg-export-quick-actions{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.jpg-export-list{border:1px solid var(--gray-200);border-radius:var(--radius);max-height:340px;overflow:auto}.jpg-export-item{border-bottom:1px solid var(--gray-100);cursor:pointer;align-items:center;gap:8px;padding:10px 12px;display:flex}.jpg-export-item:last-child{border-bottom:none}.jpg-export-name{font-weight:600}.jpg-export-meta{font-size:var(--text-sm);color:var(--gray-500);margin-left:auto}.jpg-export-footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.jpg-export-map-holder{pointer-events:none;opacity:0;position:fixed;top:-99999px;left:-99999px}.route-calc-section-header .section-title i{color:var(--primary)}.disabled-section .section-title i{color:var(--warning)}.route-calc-list{flex-direction:column;gap:8px;max-height:300px;display:flex;overflow-y:auto}.route-calc-list.muted{opacity:.6}.route-calc-item{background:var(--gray-50);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-normal);align-items:center;gap:10px;padding:10px 12px;display:flex}.route-calc-item:hover{background:var(--gray-100)}.route-calc-item.disabled{cursor:not-allowed;opacity:.7}.route-calc-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.route-calc-item .tech-color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.route-calc-item .tech-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.route-calc-item .tech-name{font-weight:500;font-size:var(--text-base);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.route-calc-item .tech-hotel{font-size:var(--text-xs);color:var(--gray-500);align-items:center;gap:4px;display:flex}.route-calc-item .tech-hotel i{font-size:var(--text-2xs);color:var(--success)}.route-calc-item .tech-task-count{font-size:var(--text-xs);color:var(--gray-500);background:var(--gray-200);border-radius:10px;flex-shrink:0;padding:2px 8px}.route-calc-item .no-hotel-badge{font-size:var(--text-2xs);color:var(--warning);background:#f59e0b1a;border-radius:10px;flex-shrink:0;padding:2px 8px}.more-techs{text-align:center;font-size:var(--text-sm);color:var(--gray-500);padding:8px;font-style:italic}.route-progress-view{padding:4px 0}.route-progress-overall{margin-bottom:20px}.route-progress-label{font-size:var(--text-sm);color:var(--text-color);justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:600;display:flex}.route-progress-label #rp-counter{font-variant-numeric:tabular-nums;color:var(--gray-500)}.progress-bar.route-progress-bar-lg{border-radius:var(--radius);height:12px}.route-progress-bar-lg .progress-fill{border-radius:var(--radius);background:linear-gradient(90deg, var(--primary), var(--success));transition:width .4s}.route-progress-techs{flex-direction:column;gap:8px;max-height:320px;display:flex;overflow-y:auto}.route-progress-tech{background:var(--gray-50);border-radius:var(--radius);border-left:3px solid #0000;grid-template-rows:auto auto;grid-template-columns:14px 1fr auto;align-items:center;gap:4px 10px;padding:10px 12px;transition:all .3s;display:grid}.route-progress-tech .tech-color-dot{border-radius:50%;grid-area:1/1;width:14px;height:14px}.route-progress-tech .rp-tech-name{font-weight:500;font-size:var(--text-base);white-space:nowrap;text-overflow:ellipsis;grid-area:1/2;overflow:hidden}.route-progress-tech .rp-tech-status{font-size:var(--text-xs);color:var(--gray-500);white-space:nowrap;grid-area:1/3}.route-progress-tech .progress-bar.rp-tech-bar{grid-area:2/1/auto/-1;height:6px}.route-progress-tech .rp-tech-bar .progress-fill{transition:width .3s}.route-progress-tech.rp-active{border-left-color:var(--primary);background:var(--blue-50,#3b82f60f)}.route-progress-tech.rp-active .rp-tech-name,.route-progress-tech.rp-active .rp-tech-status{color:var(--primary)}.route-progress-tech.rp-done{opacity:.7}.route-progress-tech.rp-done .rp-tech-bar .progress-fill{background:var(--success)}.app-confirm-overlay{z-index:99999;background:#00000073;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.app-confirm-overlay.active{display:flex}.app-confirm-box{background:var(--bg-surface,#fff);border-radius:var(--radius-lg,12px);min-width:320px;max-width:460px;padding:24px 28px;box-shadow:0 8px 32px #00000040}.app-confirm-msg{color:var(--text-color,#1f2937);white-space:pre-wrap;max-height:60vh;margin-bottom:20px;font-size:14px;line-height:1.6;overflow-y:auto}.app-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.estimation-confirm-overlay{z-index:99998;opacity:0;background:#00000080;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.estimation-confirm-overlay.visible{opacity:1}.estimation-confirm-box{background:var(--bg-surface,#fff);border-radius:var(--radius-lg,12px);flex-direction:column;min-width:500px;max-width:90vw;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000004d}.estimation-confirm-header{background:var(--primary,#3b82f6);color:#fff;align-items:center;gap:8px;padding:16px 20px;font-size:15px;font-weight:600;display:flex}.estimation-confirm-body{flex:1;padding:16px 20px;overflow-y:auto}.estimation-confirm-body p{color:var(--text-secondary,#6b7280);margin:0 0 12px;font-size:13px}.estimation-confirm-table-wrap{overflow-x:auto}.estimation-confirm-table{border-collapse:collapse;width:100%;font-size:12px}.estimation-confirm-table th{text-align:left;border-bottom:2px solid var(--border,#e5e7eb);color:var(--text-secondary,#6b7280);white-space:nowrap;padding:6px 8px;font-weight:600}.estimation-confirm-table td{border-bottom:1px solid var(--border-light,#f3f4f6);padding:5px 8px}.estimation-confirm-table tr:hover td{background:var(--bg-hover,#f9fafb)}.estimation-confirm-actions{border-top:1px solid var(--border,#e5e7eb);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.import-tech-filter-overlay{z-index:99998;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.import-tech-filter-box{background:var(--bg-surface,#fff);border-radius:var(--radius-lg,12px);flex-direction:column;width:min(960px,96vw);max-height:88vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000004d}.import-tech-filter-header{border-bottom:1px solid var(--border,#e5e7eb);padding:16px 20px}.import-tech-filter-header h3{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.import-tech-filter-header i{color:var(--primary,#3b82f6)}.import-tech-filter-body{flex:1;padding:16px 20px;overflow:auto}.import-tech-filter-subtitle{color:var(--text-secondary,#6b7280);margin:0 0 12px;font-size:13px}.import-tech-filter-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.import-tech-filter-selected{color:var(--text-secondary,#6b7280);margin-left:auto;font-size:12px}.import-tech-filter-table-wrap{border:1px solid var(--border,#e5e7eb);border-radius:8px;max-height:50vh;overflow:auto}.import-tech-filter-table{border-collapse:collapse;width:100%;font-size:13px}.import-tech-filter-table th,.import-tech-filter-table td{border-bottom:1px solid var(--border-light,#f3f4f6);text-align:left;vertical-align:top;padding:8px 10px}.import-tech-filter-table th{background:var(--gray-50,#f9fafb);z-index:1;font-weight:600;position:sticky;top:0}.import-tech-filter-check{cursor:pointer;align-items:flex-start;gap:8px;display:inline-flex}.import-tech-filter-check input[type=checkbox]{margin-top:2px}.import-tech-filter-actions{border-top:1px solid var(--border,#e5e7eb);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.mapa-permit-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:11000;background:#0b1e3d8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.mapa-permit-card{background:var(--bg-surface,#fff);border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-lg,12px);width:min(580px,100vw - 32px);max-height:min(85vh,100vh - 32px);box-shadow:var(--shadow-xl,0 20px 60px #00000040);flex-direction:column;display:flex;overflow:hidden}.mapa-permit-header{border-bottom:1px solid var(--border,#e5e7eb);background:linear-gradient(180deg, var(--bg-muted,#f9fafb) 0%, var(--bg-surface,#fff) 100%);flex-direction:column;align-items:center;gap:8px;padding:20px 24px;display:flex}.mapa-permit-logo{font-size:2rem;line-height:1}.mapa-permit-title{color:var(--text-primary,#111827);text-align:center;margin:0;font-size:1.2rem;font-weight:700}.mapa-permit-subtitle{color:var(--text-muted,#6b7280);text-align:center;margin:0;font-size:.88rem}.mapa-permit-body{flex:1;padding:20px 24px;overflow:auto}.mapa-permit-footer{border-top:1px solid var(--border,#e5e7eb);background:var(--bg-muted,#f9fafb);flex-direction:column;align-items:center;gap:10px;padding:16px 24px;display:flex}.mapa-permit-btn{border-radius:var(--radius,8px);background:var(--primary,#2563eb);color:#fff;cursor:pointer;border:none;height:40px;padding:0 24px;font-size:.95rem;font-weight:600;transition:all .15s}.mapa-permit-btn:hover{background:var(--primary-hover,#1d4ed8)}.mapa-permit-config{color:var(--text-muted,#6b7280);text-align:center;font-size:.8rem}.mapa-permit-config a{color:var(--primary,#2563eb);text-decoration:underline}.mapa-permit-summary{border-radius:var(--radius,8px);align-items:center;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.mapa-permit-ok{background:#dcfce7;border:1px solid #86efac}.mapa-permit-warning{background:#fef3c7;border:1px solid #fcd34d}.mapa-permit-icon{font-size:1.5rem;line-height:1}.mapa-permit-message{color:var(--text-primary,#111827);font-size:.92rem;line-height:1.5}.mapa-permit-details{flex-direction:column;gap:16px;display:flex}.mapa-permit-section{border:1px solid var(--border,#e5e7eb);border-radius:var(--radius,8px);background:var(--bg-muted,#f9fafb);overflow:hidden}.mapa-permit-section-title{background:var(--bg-surface,#fff);border-bottom:1px solid var(--border,#e5e7eb);color:var(--text-primary,#111827);align-items:center;gap:10px;margin:0;padding:12px 14px;font-size:.9rem;font-weight:700;display:flex}.mapa-permit-list{max-height:220px;margin:0;padding:8px;list-style:none;overflow:auto}.mapa-permit-item{border-bottom:1px solid var(--border-light,#f3f4f6);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 10px;font-size:.85rem;display:flex}.mapa-permit-item:last-child{border-bottom:none}.mapa-permit-addr{color:var(--text-primary,#111827);flex:100%;font-weight:600}.mapa-permit-city{color:var(--text-muted,#6b7280);font-size:.78rem}.mapa-permit-status,.mapa-permit-date{color:#7f1d1d;white-space:nowrap;background:#fee2e2;border:1px solid #fecaca;border-radius:999px;padding:2px 10px;font-size:.78rem}.mapa-permit-item.mapa-permit-invalid{background:#fef2f2}.mapa-permit-item.mapa-permit-expiring{background:#fffbeb}.mapa-permit-item.mapa-permit-unknown{background:#f3f4f6}.badge{color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:20px;padding:0 8px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-missing{background:#ef4444}.badge-expired{background:#dc2626}.badge-expiring{background:#f59e0b}.permits-list{max-height:calc(100vh - 200px);padding:0;overflow-y:auto}.permit-group{border-radius:var(--radius,8px);background:var(--bg-surface,#fff);border:1px solid var(--border,#e5e7eb);margin-bottom:16px;overflow:hidden}.permit-group-title{background:var(--bg-muted,#f9fafb);border-bottom:1px solid var(--border,#e5e7eb);color:var(--text-primary,#111827);align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:.85rem;font-weight:600;display:flex}.permit-items{margin:0;padding:0;list-style:none}.permit-item{border-bottom:1px solid var(--border-light,#f3f4f6);cursor:pointer;padding:10px 12px;transition:background .15s}.permit-item:last-child{border-bottom:none}.permit-item:hover{background:var(--bg-muted,#f9fafb)}.permit-item-addr{color:var(--text-primary,#111827);margin-bottom:2px;font-size:.85rem;font-weight:500}.permit-item-city{color:var(--text-muted,#6b7280);font-size:.75rem}.permit-item-status{color:#dc2626;margin-top:4px;font-size:.75rem;font-weight:500}.permit-item-invalid{background:#fef2f2}.permit-item-invalid:hover{background:#fee2e2}.permit-item-expiring{background:#fffbeb}.permit-item-expiring:hover{background:#fef3c7}.pom-modal,.pom-file-modal,.pom-scraper-modal{z-index:10001;flex-direction:column;width:min(600px,100vw - 24px);max-height:90vh;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.pom-modal{width:100%;max-width:min(920px,96vw)}.pom-modal-body{flex-direction:column;gap:12px;display:flex}.pom-modal-meta{font-size:var(--text-sm);color:var(--gray-600);margin:0}.pom-aggregate{border-radius:4px;padding:2px 8px;font-weight:600}.pom-aggregate-open{color:#1b5e20;background:#c6efce}.pom-aggregate-cancelled{color:#9c0006;background:#ffc7ce}.pom-aggregate-hold{color:#7a6000;background:#fff59d}.pom-aggregate-mixed{color:#e65100;background:#ffe0b2}.pom-table-wrap{border:1px solid var(--gray-200);border-radius:var(--radius);max-height:50vh;overflow:auto}.pom-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.pom-table th,.pom-table td{text-align:left;border-bottom:1px solid var(--gray-100);padding:8px 10px}.pom-table th{background:var(--gray-50);z-index:1;font-weight:600;position:sticky;top:0}.pom-table tbody tr:hover{background:var(--gray-50)}.pom-row-open td:nth-child(3){color:#1b5e20;font-weight:600}.pom-row-cancelled td:nth-child(3){color:#9c0006;font-weight:600}.pom-row-hold td:nth-child(3){color:#7a6000;font-weight:600}.pom-table td.pom-empty{text-align:center;color:var(--gray-500);padding:24px}.pom-modal-hint{font-size:var(--text-xs);color:var(--gray-400);margin:0}.pom-load-warn{color:var(--danger)}.pom-file-modal{max-width:480px}.pom-file-modal-body{flex-direction:column;gap:14px;display:flex}.pom-file-hint{font-size:var(--text-sm);color:var(--gray-600);margin:0}.pom-file-hint-warning{color:var(--warning,#b45309);font-weight:600}.pom-file-label{font-size:var(--text-sm);flex-direction:column;gap:6px;font-weight:500;display:flex}.pom-file-label input[type=file]{font-size:var(--text-sm)}.pom-scraper-from-today-row{font-size:var(--text-sm);color:var(--gray-600);cursor:pointer;align-items:center;gap:8px;padding:4px 0 2px;display:flex}.pom-scraper-from-today-row input[type=checkbox]{cursor:pointer;flex-shrink:0;width:15px;height:15px}.pom-file-current{font-size:var(--text-xs);color:var(--gray-500);margin:0}.pom-scraper-results-section{flex-direction:column;gap:6px;margin-top:8px;display:flex}.pom-scraper-results-summary{font-size:var(--text-sm);color:var(--gray-600);align-items:center;gap:8px;font-weight:500;display:flex}.pom-scraper-addr-wrap{max-height:200px}.pom-scraper-addr-table td:nth-child(2){text-align:right;width:70px}.pom-scraper-addr-table td:nth-child(3){width:90px}.pom-result-ok{color:#1b5e20;font-weight:600}.pom-result-warn{color:#7a6000;font-weight:600}.pom-result-error{color:#9c0006;cursor:help;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.pom-result-row-error td{background:#fff5f5}.pom-result-row-warn td{background:#fffde7}.pom-result-badge-error{color:#9c0006;font-size:var(--text-xs);background:#ffc7ce;border-radius:4px;padding:2px 7px;font-weight:600}.pom-result-badge-warn{color:#7a6000;font-size:var(--text-xs);background:#fff59d;border-radius:4px;padding:2px 7px;font-weight:600}.forecast-card{width:min(1120px,100vw - 32px);max-height:min(820px,100vh - 32px)}.forecast-body{flex:1;padding:12px 20px;overflow:auto}.forecast-legend{font-size:var(--text-xs);color:var(--gray-500);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.fc-dot{border-radius:2px;width:10px;height:10px;display:inline-block}.fc-dot.fc-low{background:#d1fae5}.fc-dot.fc-med{background:#fef3c7}.fc-dot.fc-high{background:#fee2e2}.forecast-table-wrap{overflow-x:auto}.forecast-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-xs);min-width:720px}.forecast-table th,.forecast-table td{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);text-align:center;white-space:nowrap;padding:6px 8px}.forecast-table th:first-child,.forecast-table td:first-child{border-left:1px solid var(--border-color)}.forecast-table thead th{border-top:1px solid var(--border-color);z-index:1;position:sticky;top:0}.forecast-table th{background:var(--gray-50);font-size:11px;font-weight:700}.forecast-table .fc-week-label{z-index:2;background:var(--bg-surface);text-align:left;color:var(--gray-600);min-width:112px;font-weight:600;position:sticky;left:0}.forecast-table thead .fc-week-label{background:var(--gray-50);z-index:3}.fc-tech-col{text-overflow:ellipsis;min-width:86px;max-width:110px;overflow:hidden}.fc-empty{color:var(--gray-300)}.fc-low{background:#d1fae5}.fc-med{background:#fef3c7}.fc-high{background:#fee2e2}.fc-cell-lines{gap:2px;line-height:1.2;display:grid}.fc-task-count{font-size:13px}.fc-hour-count{color:var(--gray-700)}.fc-km{color:var(--gray-500);font-size:9px;font-weight:400;display:block}.fc-current-week .fc-week-label{color:var(--primary);font-weight:700}.fc-current-week td:not(.fc-week-label){outline:2px solid var(--primary);outline-offset:-1px}.fc-total{background:var(--gray-100);font-weight:700}.fc-total span{line-height:1.25;display:block}.forecast-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:10px;padding:12px 20px;display:flex}.hotel-form{flex-direction:column;gap:12px;display:flex}.form-group{position:relative}.form-group input{border:1px solid var(--gray-200);border-radius:var(--radius);width:100%;font-size:var(--text-base);transition:all var(--transition-normal);padding:10px 12px}.form-group input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.form-group input[type=checkbox]{width:auto;box-shadow:none;border:none;padding:0}.autocomplete-dropdown{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;max-height:200px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.autocomplete-dropdown.active{display:block}.autocomplete-item{cursor:pointer;font-size:var(--text-base);border-bottom:1px solid var(--gray-100);padding:10px 12px}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--gray-50)}.hotels-list{flex-direction:column;gap:8px;display:flex}.hotel-item{background:var(--gray-50);border-radius:var(--radius);transition:all var(--transition-normal);align-items:center;gap:12px;padding:12px;display:flex}.hotel-item:hover{background:var(--gray-100)}.hotel-item-icon{background:var(--primary);color:#fff;border-radius:var(--radius);width:40px;height:40px;font-size:var(--text-xl);justify-content:center;align-items:center;display:flex}.hotel-item-info{flex:1;min-width:0}.hotel-item-name{font-weight:600;font-size:var(--text-base);margin-bottom:2px}.hotel-item-address{font-size:var(--text-xs);color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hotel-item-meta{font-size:var(--text-2xs);color:var(--gray-500);align-items:center;gap:5px;margin-top:4px;display:flex}.hotel-item-actions{gap:4px;display:flex}.hotel-global-section{border-bottom:1px solid var(--border-color);flex-direction:column;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.hotel-global-badge{color:var(--primary);background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-flex}.hotel-date-range{gap:8px;display:flex}.hotel-date-group{flex-direction:column;flex:1;gap:3px;display:flex}.hotel-date-group label{font-size:var(--text-xs);color:var(--gray-500);font-weight:600}.hotel-date-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;font-size:var(--text-xs);color:var(--text-color);background:var(--bg-surface);padding:5px 8px}.hotel-item-daterange{color:var(--gray-400);align-items:center;gap:4px;margin-top:3px;font-size:10px;display:flex}.hotel-edit-card{flex-direction:column;gap:10px;width:100%;padding:8px;display:flex}.hotel-edit-group{margin-bottom:0}.hotel-edit-label{color:var(--gray-500);margin-bottom:5px;font-size:11px;font-weight:600;display:block}.hotel-edit-input{border:1px solid var(--gray-300);border-radius:6px;width:100%;padding:7px 9px;font-size:13px}.hotel-edit-input-address{font-size:12px}.hotel-edit-suggestions{position:relative}.hotel-residents-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.hotel-residents-tools{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.hotel-residents-count{font-size:var(--text-2xs);color:var(--gray-600);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:10px;padding:2px 7px}.hotel-residents-search-wrap{margin-bottom:6px;position:relative}.hotel-residents-search-wrap i{color:var(--gray-400);font-size:var(--text-sm);position:absolute;top:50%;left:9px;transform:translateY(-50%)}.hotel-residents-search{border:1px solid var(--gray-200);background:var(--bg-surface);border-radius:6px;width:100%;padding:6px 8px 6px 28px;font-size:12px}.hotel-residents-list{border:1px solid var(--gray-200);background:var(--gray-50);border-radius:6px;max-height:140px;padding:6px 8px;overflow-y:auto}.hotel-residents-group{margin-bottom:6px}.hotel-residents-group:last-child{margin-bottom:0}.hotel-residents-group-title{color:var(--gray-500);letter-spacing:.3px;text-transform:uppercase;padding:2px 0 4px;font-size:10px;font-weight:700}.hotel-resident-row{cursor:pointer;grid-template-columns:18px 1fr;align-items:center;gap:8px;padding:4px 0;display:grid}.hotel-bulk-bar{background:color-mix(in srgb, var(--primary) 8%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--primary) 25%, var(--gray-200));border-radius:var(--radius);flex-direction:column;gap:8px;margin-bottom:10px;padding:10px 12px;display:flex}.hotel-bulk-hint{font-size:var(--text-sm);color:var(--gray-700)}.hotel-bulk-select{max-width:100%}.hotel-resident-row input[type=checkbox]{width:14px;height:14px;margin:0}.hotel-resident-name{color:var(--gray-700);word-break:break-word;font-size:12px;line-height:1.2}.hotel-residents-empty{color:var(--gray-500);text-align:center;padding:10px 6px;font-size:12px}.hotel-edit-actions{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.leaflet-div-icon.hotel-icon{background:0 0;border:none;overflow:visible}.hotel-icon-only{color:#fff;width:28px;height:28px;font-size:var(--text-md);background:#1e293b;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 1px 4px #0006}.hotel-icon-only.multi{font-size:var(--text-sm);background:#4f46e5}.hotel-icon-label{color:#fff;border-radius:var(--radius-sm);font-size:var(--text-xs);white-space:nowrap;background:#1e293b;border:1px solid #fff3;width:max-content;padding:4px 10px;font-weight:600;box-shadow:0 1px 4px #0006}.hotel-icon-label.multi{background:#4f46e5;border:2px solid #fff}.tech-hotel-btn{background:var(--gray-200);border-radius:var(--radius-sm);font-size:var(--text-2xs);cursor:pointer;transition:all var(--transition-normal);opacity:.7;white-space:nowrap;border:none;flex-shrink:0;align-items:center;gap:3px;padding:3px 6px;display:flex;position:absolute;top:50%;right:30px;transform:translateY(-50%)}.tech-hotel-btn:hover{background:var(--primary);color:#fff;opacity:1}.tech-hotel-btn.has-hotel{background:var(--success);color:#fff;opacity:1}.tech-hotel-btn i{font-size:var(--text-3xs)}.tech-hotel-btn .hotel-name{text-overflow:ellipsis;max-width:60px;overflow:hidden}.hotel-assign-popup{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:2000;border:1px solid var(--gray-200);width:min(460px,94vw);min-width:360px;max-width:460px;padding:20px 20px 18px;animation:.16s hotelAssignIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes hotelAssignIn{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.hotel-assign-popup h3{font-size:var(--text-lg);border-bottom:1px solid var(--gray-200);border-radius:var(--radius-lg) var(--radius-lg) 0 0;align-items:center;gap:8px;margin:-20px -20px 16px;padding:14px 20px;display:flex}.hotel-assign-popup h3 i{color:var(--primary)}.hotel-assign-popup .form-group{margin-bottom:12px}.hotel-assign-popup input{border:1px solid var(--gray-200);border-radius:var(--radius);width:100%;font-size:var(--text-md);padding:10px 12px}.hotel-assign-popup input:focus{border-color:var(--primary);outline:none}.hotel-assign-popup .saved-hotels-list{max-height:200px;margin-bottom:12px;overflow-y:auto}.hotel-assign-popup .saved-hotel-item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:10px;padding:8px 10px;display:flex}.hotel-assign-popup .saved-hotel-item:hover{background:var(--gray-50)}.hotel-assign-popup .saved-hotel-item i{color:var(--primary)}.hotel-assign-popup .popup-actions{gap:8px;margin-top:16px;display:flex}.hotel-assign-popup .popup-actions .btn{flex:1}.popup-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1999;background:#00000073;display:none;position:fixed;inset:0}.hotel-assign-popup .saved-hotel-item{border:1px solid #0000}.hotel-assign-popup .saved-hotel-item:hover{background:var(--gray-50);border-color:var(--gray-200)}.tech-hotel-indicator{font-size:var(--text-2xs);color:var(--success);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;max-width:100px;display:flex;overflow:hidden}.tech-hotel-indicator i{font-size:var(--text-2xs);flex-shrink:0}.hotel-assign-popup .form-group{position:relative}.hotel-assign-popup .autocomplete-dropdown{z-index:2001}.current-hotel-info{justify-content:space-between;align-items:center;display:flex}.current-hotel-info .btn{margin-left:10px}.hotel-import-export{flex-direction:column;gap:8px;display:flex}.hotel-import-export .btn{font-size:var(--text-base);padding:8px 12px}.scheduler-overlay{top:var(--header-height);background:var(--gray-50);z-index:90;--zoom:1;--sched-hour-height:calc(40px * var(--zoom));--sched-font-scale:var(--zoom);flex-direction:column;display:none;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.scheduler-overlay.active{display:flex}.scheduler-header{background:var(--bg-surface);border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.scheduler-nav{align-items:center;gap:8px;display:flex}.scheduler-nav .btn{font-size:var(--text-base);padding:6px 10px}.scheduler-week-label{border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:var(--text-md);background:var(--bg-surface);cursor:pointer;color:var(--gray-800);text-align:center;min-width:220px;transition:background var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;padding:6px 14px;font-weight:600}.scheduler-week-label:hover{background:var(--gray-50);border-color:var(--primary)}.scheduler-week-label.month-active{background:var(--primary);color:#fff;border-color:var(--primary)}.sched-header-search{border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:var(--text-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;align-items:center;gap:6px;min-width:180px;max-width:280px;margin-left:12px;padding:5px 10px;display:flex}.sched-header-search:focus-within{border-color:var(--primary);background:var(--bg-surface);box-shadow:0 0 0 2px #3b82f61f}.sched-header-search i.fa-search{color:var(--gray-400);font-size:var(--text-xs);flex-shrink:0}.sched-header-search input{font-size:var(--text-sm);color:var(--gray-700);background:0 0;border:none;outline:none;flex:1;min-width:0}.sched-header-search input::placeholder{color:var(--gray-400)}.sched-header-search .task-search-clear{color:var(--gray-400);cursor:pointer;font-size:var(--text-2xs);background:0 0;border:none;padding:0 2px;display:none}.sched-header-search.has-query .task-search-clear{display:block}.sched-header-search.has-query i.fa-search{color:var(--primary)}.scheduler-close-btn{margin-left:auto}.scheduler-week-overview{background:var(--bg-surface);border-bottom:1px solid var(--gray-200);flex-shrink:0;padding:4px 20px}.sched-week-row{gap:3px;display:flex}.sched-week-day{border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;transition:all var(--transition-fast);flex-direction:row;flex:1;justify-content:center;align-items:center;gap:4px;min-width:40px;padding:3px 4px;display:flex}.sched-week-day:hover{background:var(--gray-100);border-color:var(--primary)}.sched-week-day.active{background:var(--primary);color:#fff;border-color:var(--primary)}.sched-week-day.empty{opacity:.5}.sched-week-dayname{font-size:var(--text-2xs);text-transform:uppercase;font-weight:600}.sched-week-daynum{font-size:var(--text-sm);font-weight:700}.sched-week-day.active .sched-week-daynum{color:#fff}.sched-week-count{font-size:var(--text-3xs);background:var(--gray-200);border-radius:10px;margin-top:0;padding:0 5px}.sched-week-day.active .sched-week-count{color:#fff;background:#ffffff4d}.scheduler-tech-filter{background:var(--bg-surface);border-bottom:1px solid var(--gray-200);flex-direction:column;flex-shrink:0;gap:3px;padding:5px 20px;display:flex;overflow-x:auto}.sched-chip-row{flex-wrap:nowrap;align-items:center;gap:5px;min-height:36px;display:flex}.sched-chip-row-label{font-size:var(--text-2xs);color:var(--gray-500);text-transform:uppercase;white-space:nowrap;letter-spacing:.3px;min-width:52px;font-weight:700}.scheduler-tech-filter::-webkit-scrollbar{height:4px}.scheduler-tech-filter::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-sm)}.sched-chip{border:1px solid var(--gray-300);border-radius:var(--radius-lg);background:var(--bg-surface);cursor:pointer;font-size:var(--text-sm);white-space:nowrap;transition:all var(--transition-fast);box-sizing:border-box;align-items:center;gap:5px;min-height:32px;padding:4px 10px;display:flex}.sched-chip-name-wrap{flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.sched-chip-firstname{font-size:var(--text-sm);font-weight:600}.sched-chip-lastname{font-size:var(--text-2xs);opacity:.7;font-weight:400}.sched-chip:hover{border-color:var(--primary);background:var(--gray-50)}.sched-chip.active{border:2px solid var(--chip-color,var(--primary));background:var(--bg-surface);color:#333;box-shadow:0 0 0 2px color-mix(in srgb, var(--chip-color,var(--primary)) 35%, transparent);min-height:32px;padding:3px 9px;font-weight:600}.sched-chip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sched-chip-count{font-size:var(--text-2xs);background:#0000001a;border-radius:10px;padding:1px 5px}.sched-chip.active .sched-chip-count{background:color-mix(in srgb, var(--chip-color,var(--primary)) 20%, transparent);color:#333;font-weight:700}.sched-pom-filter-row{border-bottom:1px solid var(--gray-200);margin-bottom:2px;padding-bottom:4px}button.sched-pom-legend-pill{font-size:var(--text-xs);color:#fff;background:var(--pom-color,#64748b);white-space:nowrap;letter-spacing:.02em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-family:inherit;font-weight:700;transition:opacity .15s,filter .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 2px #0000001f}button.sched-pom-legend-pill.active{opacity:1;filter:none;box-shadow:0 0 0 2px color-mix(in srgb, var(--pom-color) 55%, white), 0 1px 3px #00000026}button.sched-pom-legend-pill:not(.active){opacity:.38;filter:grayscale(.45)}button.sched-pom-legend-pill:hover{opacity:1;filter:none}.sched-pom-legend-swatch{background:#ffffffd9;border-radius:50%;flex-shrink:0;width:10px;height:10px}.task-biz-mark{color:#16a34a;vertical-align:middle;align-items:center;font-size:.92em;display:inline-flex}.task-biz-mark--lg{font-size:1.15em}.task-biz-badge{color:#15803d;letter-spacing:.04em;background:#dcfce7;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.scheduler-body{flex:1;display:flex;overflow:hidden}.scheduler-grid-area{flex:1;padding:0;overflow:auto}.scheduler-analysis-panel{border-left:1px solid var(--gray-200);background:var(--bg-surface);flex-shrink:0;width:340px;padding:16px;overflow-y:auto}.sched-grid-wrapper{height:100%;overflow:auto}.sched-grid{min-height:100%;display:flex}.sched-col{border-right:1px solid var(--gray-200);flex-shrink:0}.sched-time-col{z-index:2;background:var(--gray-50);width:60px;position:sticky;left:0}.sched-col-header{background:var(--bg-surface);border-bottom:1px solid var(--gray-200);z-index:3;white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:40px;padding:6px 8px;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:0 1px #00000005}.sched-time-header{color:var(--gray-400);font-size:var(--text-lg)}.sched-tech-name{font-weight:700;font-size:var(--text-base);align-items:center;gap:6px;display:flex}.sched-tech-name-wrap{flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.sched-tech-firstname{font-weight:700}.sched-tech-lastname{opacity:.7;font-size:.8em;font-weight:400}.sched-tech-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.sched-tech-task-count{font-size:var(--text-xs);color:var(--gray-500)}.sched-tech-hotel{font-size:var(--text-xs);color:var(--primary,#3b82f6);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:3px;max-width:100%;display:flex;overflow:hidden}.sched-tech-hotel i{flex-shrink:0;font-size:9px}.sched-day-hotel-badge{height:16px;color:var(--primary,#3b82f6);z-index:3;white-space:nowrap;background:#eff6ff;border:1px dashed #93c5fd;border-radius:3px;align-items:center;gap:4px;padding:0 5px;font-size:9px;font-weight:600;display:flex;position:absolute;left:4px;right:4px;overflow:hidden}.sched-day-hotel-badge i{flex-shrink:0;font-size:8px}.sched-dhb-time{color:var(--gray-500);margin-left:auto;font-weight:400}.sched-day-hotel-badge.warn{color:var(--warning,#f59e0b);background:#fffbeb;border-color:#fcd34d}.sched-day-hotel-badge.danger{color:var(--danger,#ef4444);background:#fef2f2;border-color:#fca5a5}.sched-tech-col{min-width:80px;transition:background var(--transition-normal)}.sched-tech-col.sched-drag-over{background:#4f46e50d}.sched-col-body{position:relative}.sched-time-slot{height:var(--sched-hour-height,40px);font-size:clamp(8px, calc(11px * max(var(--zoom,1), .72)), 14px);color:var(--gray-500);border-bottom:1px solid var(--gray-100);font-feature-settings:"tnum" 1, "lnum" 1;justify-content:center;align-items:flex-start;padding-top:4px;font-weight:600;display:flex}.sched-tech-col[data-col-width-base]{--col-width:calc(var(--col-width-base) * max(var(--zoom,1), .5));min-width:max(80px, var(--col-width));width:var(--col-width)}.sched-tech-col .sched-tech-name{font-size:clamp(9px, calc(13px * max(var(--zoom,1), .6)), 18px)}.sched-tech-col .sched-tech-dot{width:clamp(6px, calc(10px * max(var(--zoom,1), .6)), 14px);height:clamp(6px, calc(10px * max(var(--zoom,1), .6)), 14px)}.sched-tech-col .sched-tech-task-count{font-size:clamp(8px, calc(11px * max(var(--zoom,1), .6)), 14px)}.sched-week-tech-col-header[data-col-width-base],.sched-week-tech-col[data-col-width-base]{width:calc(var(--col-width-base) * max(var(--zoom,1), .6));flex:none}.sched-slots-bg{width:100%;position:relative}.sched-hour-line{z-index:0;background:#cbd5e1;height:1px;position:absolute;left:0;right:0}.sched-half-hour-line{opacity:.95;z-index:0;background:#e2e8f0;height:1px;position:absolute;left:0;right:0}.sched-task-block{box-sizing:border-box;border-radius:var(--radius-sm);cursor:grab;z-index:1;transition:box-shadow var(--transition-fast), transform var(--transition-fast);font-size:calc(9px * var(--sched-font-scale,1));text-align:left;font-feature-settings:"tnum" 1, "lnum" 1;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;padding:4px 6px 4px 8px;display:flex;position:absolute;overflow:hidden}.sched-task-block:not(.sched-compact){border-left-width:4px;box-shadow:0 1px #0000000a}.sched-task-block:not(.sched-compact):hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sched-task-inline{white-space:nowrap;align-items:center;gap:4px;width:100%;min-width:0;display:flex;overflow:hidden}.sched-task-inline .sched-task-time{flex-shrink:0}.sched-task-inline .sched-task-address{white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:unset;flex:1;min-width:0;display:block;overflow:hidden}.sched-inline-sep{color:var(--gray-400);font-size:calc(8px * var(--sched-font-scale,1));flex-shrink:0}.sched-task-block.sched-h-tiny{justify-content:center;gap:0;padding:1px 3px}.sched-task-block.sched-h-tiny .sched-task-time,.sched-task-block.sched-h-tiny .sched-task-address{font-size:calc(8px * var(--sched-font-scale,1))}.sched-task-block.sched-h-small{justify-content:center;gap:0;padding:2px 4px}.sched-task-block.sched-h-medium{gap:0;padding:2px 4px}.sched-task-block:hover{box-shadow:var(--shadow-md);z-index:2;transform:translate(2px)}.sched-task-block.sched-dragging{opacity:.5;cursor:grabbing;transform:scale(.95)}.sched-task-block.status-complete{opacity:.7}.sched-task-block.status-complete:after{content:"✔";font-size:calc(14px * var(--sched-font-scale,1));color:var(--success);font-weight:700;position:absolute;top:4px;right:6px}.sched-task-block.status-cancelled{opacity:.4;text-decoration:line-through}.sched-task-block.status-not-planned,.sched-task-block.status-not-planned .sched-task-time,.sched-task-block.status-not-planned .sched-task-address,.sched-task-block.status-not-planned .sched-compact-time,.sched-task-block.status-not-planned .sched-compact-city,.sched-task-block.status-not-planned .sched-compact-line,.sched-week-task.status-not-planned.status-not-planned,.sched-week-task.status-not-planned.status-not-planned .task-time,.sched-week-task.status-not-planned.status-not-planned .task-city,.sched-week-task.status-not-planned.status-not-planned .wt-type,.sched-week-task.status-not-planned.status-not-planned .wt-top,.sched-week-task.status-not-planned.status-not-planned .wt-bottom,.status-task-item.status-not-planned,.status-task-item.status-not-planned .status-task-tech,.status-task-item.status-not-planned .status-task-date,.status-task-item.status-not-planned .status-task-addr{color:#e53935}.sched-task-block.sched-task-modified{box-shadow:0 0 0 2px #e5393588, var(--shadow-sm);animation:2s ease-in-out infinite modified-pulse}@keyframes modified-pulse{0%,to{box-shadow:0 0 0 2px #e5393588}50%{box-shadow:0 0 0 3px #e53935cc,0 0 8px #e5393544}}.sched-task-modified-badge{width:20px;height:20px;font-size:var(--text-sm);color:#e53935;border-radius:var(--radius-sm);cursor:pointer;background:#ffebee;border:1px solid #e5393555;justify-content:center;align-items:center;padding:0;transition:all .12s;display:inline-flex}.sched-task-modified-badge:hover{color:#fff;background:#e53935;transform:scale(1.05);box-shadow:0 2px 6px #0000001f}.sched-task-modified-badge i{font-size:var(--text-sm);line-height:1}.sched-week-task.sched-task-modified{animation:2s ease-in-out infinite modified-pulse;box-shadow:0 0 0 2px #e5393588}.sched-week-mod-icon{color:#e53935;font-size:var(--text-md);cursor:pointer;border-radius:var(--radius-sm);min-width:24px;min-height:24px;transition:all var(--transition-fast);z-index:5;background:#ffebee;border:1px solid #e5393540;justify-content:center;align-items:center;padding:4px 5px;line-height:1;display:inline-flex;position:absolute;top:-2px;right:-2px;box-shadow:0 1px 3px #0000001f}.sched-week-mod-icon:hover{color:#fff;background:#e53935;transform:scale(1.15);box-shadow:0 2px 8px #e5393559}.sched-task-block.sched-task-shooting-kept,.sched-week-task.sched-task-shooting-kept{animation:3s ease-in-out infinite shooting-kept-pulse;position:relative;box-shadow:0 0 0 2.5px #c00,0 0 8px #c004}.sched-task-block.sched-task-shooting-kept:before,.sched-week-task.sched-task-shooting-kept:before{content:"";color:#c00;z-index:5;background:#fff0f0;border:1px solid #c006;border-radius:3px;padding:1px 3px;font-family:"Font Awesome 5 Free";font-size:10px;font-weight:900;line-height:1;position:absolute;top:2px;right:2px}@keyframes shooting-kept-pulse{0%,to{box-shadow:0 0 0 2.5px #c00}50%{box-shadow:0 0 0 3px #c00c,0 0 10px #c004}}.sched-task-block.sched-task-selected.sched-task-selected,.sched-week-task.sched-task-selected.sched-task-selected{outline-offset:-2px;z-index:10;outline:2.5px solid #1976d2;box-shadow:0 0 0 3px #1976d240}.sched-task-block.sched-task-selected:after,.sched-week-task.sched-task-selected:after{content:"";pointer-events:none;border-radius:inherit;background:#1976d210;position:absolute;inset:0}.sched-multi-select-badge{color:#fff;border-radius:var(--radius-xl);font-size:var(--text-base);z-index:9999;pointer-events:auto;background:#1565c0;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;max-width:min(720px,100vw - 24px);padding:7px 10px 7px 14px;font-weight:600;animation:.2s fadeInUp;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0005}.sched-multi-select-text{align-items:center;gap:8px;min-width:0;display:inline-flex}.sched-multi-select-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.sched-multi-select-btn{color:#fff;border-radius:var(--radius-md);min-height:30px;font:inherit;cursor:pointer;white-space:nowrap;background:#ffffff24;border:1px solid #ffffff59;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.sched-multi-select-btn:hover{background:#ffffff3d}.sched-multi-select-btn.danger{background:#dc2626;border-color:#fecaca66}.sched-multi-select-btn.danger:hover{background:#b91c1c}.sched-multi-select-btn.ghost{justify-content:center;width:30px;padding:5px}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sched-chip-separator{background:var(--gray-300);vertical-align:middle;width:1px;height:20px;margin:0 4px;display:inline-block}.sched-chip.sched-chip-group.partial{border-style:dashed;border-color:var(--gray-400);background:var(--gray-50)}.sched-task-time{font-weight:700;font-size:calc(11px * var(--sched-font-scale,1));color:var(--gray-700);white-space:nowrap;letter-spacing:0}.sched-task-address{font-weight:600;font-size:calc(11px * var(--sched-font-scale,1));color:var(--gray-900);white-space:normal;text-overflow:clip;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;line-height:1.2;display:-webkit-box;overflow:hidden}.sched-task-street{font-weight:500;font-size:clamp(9px, calc(10px * var(--sched-font-scale,1)), 13px);color:var(--gray-600);letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;white-space:normal;text-overflow:clip;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;line-height:1.25;display:-webkit-box;overflow:hidden}.sched-task-type{font-size:calc(9px * var(--sched-font-scale,1));color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.sched-task-status{font-size:calc(9px * var(--sched-font-scale,1));text-transform:uppercase;letter-spacing:.5px;font-weight:600}.sched-task-status.status-complete{color:var(--success)}.sched-task-status.status-planned{color:var(--primary)}.sched-task-status.status-progress{color:var(--warning)}.sched-task-status.status-cancelled{color:var(--danger)}.sched-task-status.status-sent-back{color:#f59e0b}.sched-task-warning,.sched-task-distance{font-size:calc(9px * var(--sched-font-scale,1));justify-content:center;align-items:center;gap:3px;margin-top:1px;display:flex}.sched-task-warning i{font-size:calc(12px * var(--sched-font-scale,1))}.sched-task-warning.danger{color:var(--danger);font-weight:700}.sched-task-warning.warn{color:var(--warning);font-weight:600}.sched-task-distance{color:var(--gray-400)}.sched-empty{height:300px;color:var(--gray-400);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.sched-empty i{font-size:48px}.sched-empty .hint{font-size:var(--text-base);color:var(--gray-400)}.sched-task-detail{background:var(--bg-surface);border-radius:var(--radius-lg);z-index:200;width:400px;max-width:90vw;animation:.2s schedDetailIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 25px 50px #00000040}@keyframes schedDetailIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.sched-detail-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.sched-detail-header h3{align-items:center;gap:8px;font-size:15px;display:flex}.sched-permit-banner{font-size:var(--text-sm);align-items:center;gap:8px;padding:8px 16px;font-weight:600;display:flex}.sched-permit-banner--danger{color:#b91c1c;background:#fef2f2;border-bottom:1px solid #fecaca}.sched-permit-banner--warn{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a}.sched-detail-body{flex-direction:column;gap:8px;padding:16px 20px;display:flex}.sched-detail-row{font-size:var(--text-base);align-items:center;gap:8px;display:flex}.sched-detail-row i{color:var(--gray-400);text-align:center;width:16px}.sched-detail-actions{border-top:1px solid var(--gray-200);gap:8px;margin-top:8px;padding-top:12px;display:flex}.sched-detail-reassign{border-top:1px solid var(--gray-200);flex-direction:column;gap:6px;margin-top:8px;padding-top:12px;display:flex}.sched-detail-reassign label{font-size:var(--text-sm);color:var(--gray-500);font-weight:600}.sched-detail-reassign select{border:1px solid var(--gray-300);border-radius:var(--radius-sm);width:100%;font-size:var(--text-base);padding:8px 10px}.sched-analysis-section{margin-bottom:20px}.sched-analysis-section h4{font-size:var(--text-base);color:var(--gray-600);align-items:center;gap:6px;margin-bottom:10px;display:flex}.sched-stats-grid{flex-direction:column;gap:8px;display:flex}.sched-stat-card{background:var(--gray-50);border-radius:var(--radius-sm);padding:10px 12px}.sched-stat-name{font-weight:700;font-size:var(--text-sm);color:var(--gray-700)}.sched-stat-value{font-size:var(--text-md);color:var(--gray-800);font-weight:600}.sched-stat-detail{font-size:var(--text-xs);color:var(--gray-500);gap:12px;margin-top:4px;display:flex}.sched-stat-detail span{align-items:center;gap:3px;display:flex}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.sched-issues-list{flex-direction:column;gap:6px;display:flex}.sched-issue{border-radius:var(--radius-sm);font-size:var(--text-sm);align-items:flex-start;gap:8px;padding:8px 10px;line-height:1.4;display:flex}.sched-issue.danger{color:var(--danger);background:#ef444414}.sched-issue.warning{color:var(--warning);background:#f59e0b14}.sched-issue.info{color:#3b82f6;background:#3b82f614}.sched-issue i{flex-shrink:0;margin-top:2px}.sched-suggestions-list{flex-direction:column;gap:10px;display:flex}.sched-suggestion{border-radius:var(--radius);background:#10b9810f;border:1px solid #10b98133;padding:10px 12px}.sched-suggestion-text{font-size:var(--text-sm);color:var(--gray-800);margin-bottom:4px;font-weight:600}.sched-suggestion-detail{font-size:var(--text-xs);color:var(--gray-500);margin-bottom:8px;line-height:1.4}.sched-all-good{text-align:center;color:var(--success);font-size:var(--text-md);padding:20px;font-weight:600}.sched-all-good i{margin-bottom:4px;font-size:24px;display:block}.sched-task-detail{top:var(--header-height,56px);border-left:1px solid var(--gray-200);border-radius:0;flex-direction:column;width:380px;max-width:92vw;animation:.22s schedDetailInRight;display:flex;bottom:0;left:auto;right:0;overflow:hidden;transform:translate(0);box-shadow:-14px 0 36px #0003}@keyframes schedDetailInRight{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.sched-task-detail .sched-detail-body{flex:auto;overflow-y:auto}.sched-task-detail .sched-detail-header{background:var(--bg-surface);z-index:1;position:sticky;top:0}@media (width<=640px){.sched-task-detail{border-left:none;border-top:1px solid var(--gray-200);border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:82vh;animation:.22s schedDetailInBottom;inset:auto 0 0;box-shadow:0 -14px 36px #00000047}}@keyframes schedDetailInBottom{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.scheduler-analysis-panel{width:280px}.sched-tech-col{min-width:160px}}@media (width<=768px){.scheduler-body{flex-direction:column}.scheduler-analysis-panel{border-left:none;border-top:1px solid var(--gray-200);width:100%;max-height:250px}.scheduler-header{gap:8px;padding:8px 12px}.scheduler-date-label{font-size:var(--text-md);min-width:auto}}.btn.scheduler-toggle.active{background:var(--primary);color:#fff}.sched-view-toggle{border:1px solid var(--gray-300);border-radius:var(--radius-sm);display:flex;overflow:hidden}.sched-view-toggle .btn{font-size:var(--text-sm);background:var(--bg-surface);color:var(--gray-500);border:none;border-radius:0;padding:5px 10px}.sched-view-toggle .btn.active{background:var(--primary);color:#fff}.sched-view-toggle .btn:first-child{border-right:1px solid var(--gray-300)}.sched-zoom-controls{border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--bg-surface);align-items:center;gap:2px;padding:2px 4px;display:flex}.sched-zoom-controls .btn{font-size:var(--text-sm);color:var(--gray-600);background:0 0;border:none;min-width:auto;padding:3px 6px}.sched-zoom-controls .btn:hover:not(:disabled){background:var(--gray-100);color:var(--primary)}.sched-zoom-controls .btn:disabled{opacity:.35;cursor:not-allowed}.sched-zoom-label{font-size:var(--text-xs);color:var(--gray-600);text-align:center;-webkit-user-select:none;user-select:none;min-width:36px;font-weight:700}.sched-header-sep{background:var(--gray-300);width:1px;height:24px;margin:0 4px}.sched-task-block.sched-compact{box-shadow:none;font-feature-settings:"tnum" 1, "lnum" 1;border-left-width:3px;flex-direction:column;justify-content:center;gap:0;padding:2px 6px;display:flex}.sched-task-block.sched-compact:hover{box-shadow:var(--shadow-sm)}.sched-compact-line{align-items:center;gap:5px;min-width:0;line-height:1.15;display:flex;overflow:hidden}.sched-compact-time{font-weight:700;font-size:calc(10px * var(--sched-font-scale,1));color:var(--gray-700);white-space:nowrap;letter-spacing:-.01em;flex:none}.sched-compact-sep{color:var(--gray-400);flex:none;font-weight:600}.sched-compact-city{font-weight:600;font-size:calc(10px * var(--sched-font-scale,1));color:var(--gray-900);white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.sched-compact-check{color:var(--success);font-size:calc(10px * var(--sched-font-scale,1));flex-shrink:0}.sched-compact .sched-task-warning,.sched-compact .sched-task-distance{font-size:calc(9px * var(--sched-font-scale,1));margin-top:0}.scheduler-header-right{align-items:center;gap:8px;margin-left:auto;display:flex}.sched-badge{font-size:var(--text-2xs);background:var(--danger);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 4px;font-weight:700;display:inline-flex}.trash-badge{background:#dc2626}@keyframes trash-pulse{0%{box-shadow:none;transform:scale(1)}30%{transform:scale(1.15);box-shadow:0 0 12px #dc262680}60%{transform:scale(1.05);box-shadow:0 0 6px #dc26264d}to{box-shadow:none;transform:scale(1)}}#trash-btn.trash-pulse{animation:.6s ease-out trash-pulse}#trash-btn.trash-has-items,#trash-btn.trash-has-items i.fa-trash{color:#dc2626}@keyframes task-fade-out{0%{opacity:1;background-color:inherit;transform:scale(1)translate(0)}40%{opacity:.7;background-color:#dc26261f}to{opacity:0;transform:scale(.95)translate(30px)}}.task-deleting{pointer-events:none;animation:.45s ease-out forwards task-fade-out}.sched-history-panel{background:var(--bg-surface);border-radius:var(--radius-lg);z-index:210;flex-direction:column;width:480px;max-width:90vw;max-height:80vh;animation:.2s schedDetailIn;display:flex;position:fixed;top:50%;right:20px;transform:translateY(-50%);box-shadow:0 25px 50px #00000040}.sched-history-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.sched-history-header h3{align-items:center;gap:8px;font-size:15px;display:flex}.sched-history-actions{border-bottom:1px solid var(--gray-100);flex-wrap:wrap;gap:6px;padding:10px 20px;display:flex}.sched-history-list{flex:1;padding:8px 12px;overflow-y:auto}.sched-history-empty{color:var(--gray-400);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.sched-history-empty i{font-size:32px}.sched-history-item{border-bottom:1px solid var(--gray-100);align-items:flex-start;gap:10px;padding:10px 8px;display:flex}.sched-history-item:last-child{border-bottom:none}.sched-history-nr{font-size:var(--text-xs);color:var(--gray-400);min-width:28px;padding-top:2px;font-weight:700}.sched-history-content{flex:1;min-width:0}.sched-history-address{font-weight:600;font-size:var(--text-sm);color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;overflow:hidden}.sched-history-meta{font-size:var(--text-sm);align-items:center;gap:6px;margin-bottom:4px;display:flex}.sched-history-from{color:var(--danger);font-weight:600}.sched-history-arrow{color:var(--gray-400);font-size:var(--text-2xs)}.sched-history-to{color:var(--success);font-weight:600}.sched-history-time{font-size:var(--text-xs);color:var(--gray-400);gap:12px;display:flex}.sched-history-time span{align-items:center;gap:4px;display:flex}.sched-view-sep{background:var(--gray-300);width:1px;height:20px;margin:0 4px}.sched-week-wrapper{flex-direction:column;flex:1;display:flex;overflow:hidden}.sched-week-scroll{flex:1;padding:10px;overflow:auto}.sched-week-tech-header-row{z-index:20;background:var(--bg-surface);border-bottom:2px solid var(--gray-200);margin-bottom:5px;display:flex;position:sticky;top:0}.sched-week-day-label-corner{width:70px;min-width:70px;font-weight:600;font-size:var(--text-2xs);color:var(--gray-500);background:var(--gray-100);z-index:21;justify-content:center;align-items:center;padding:6px 4px;display:flex;position:sticky;left:0}.sched-week-tech-col-header{text-align:center;background:var(--gray-50);border-left:1px solid var(--gray-200);box-sizing:border-box;flex-direction:column;flex:none;align-items:center;gap:1px;padding:5px 4px;display:flex}.sched-week-tech-col-header .tech-name{font-weight:700;font-size:var(--text-sm);flex-direction:column;align-items:center;line-height:1.15;display:flex}.sched-week-tech-col-header .tech-name .sched-tech-firstname{font-weight:700}.sched-week-tech-col-header .tech-name .sched-tech-lastname{font-size:var(--text-2xs);opacity:.7;font-weight:400}.sched-week-tech-col-header .tech-count{font-size:var(--text-2xs);color:var(--gray-500);align-items:center;gap:3px;display:flex}.sched-week-group-sep{background:linear-gradient(to bottom, var(--gray-300), var(--gray-200));flex-shrink:0;width:3px;min-width:3px}.sched-week-group-sep-day{background:linear-gradient(to bottom, transparent, var(--gray-300), transparent);flex-shrink:0;width:3px;min-width:3px}.sched-group-icon{opacity:.6;font-size:8px}.sched-group-icon.tech{color:var(--primary)}.sched-group-icon.konstr{color:var(--warning)}.sched-week-day-section{border:1px solid var(--gray-200);background:var(--bg-surface);border-radius:6px;min-width:fit-content;margin-bottom:6px;display:flex;overflow:hidden}.sched-week-day-section.empty{opacity:.6}.sched-week-day-section.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-light)}.sched-week-day-label{background:var(--gray-50);border-right:1px solid var(--gray-200);cursor:pointer;width:70px;min-width:70px;transition:background var(--transition-fast);z-index:5;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:6px 4px;display:flex;position:sticky;left:0}.sched-week-day-label:hover{background:var(--primary-light)}.sched-week-day-section.active .sched-week-day-label{background:var(--primary);color:#fff}.sched-week-day-label .day-name{font-size:var(--text-2xs);text-transform:none;font-weight:600}.sched-week-day-label .day-num{font-size:16px;font-weight:700}.sched-week-day-label .day-count{font-size:var(--text-3xs);background:#0000001a;border-radius:10px;padding:1px 6px}.sched-week-day-section.active .sched-week-day-label .day-count{background:#ffffff4d}.sched-week-day-techs{flex:none;display:flex}.sched-week-tech-col{border-left:1px solid var(--gray-100);box-sizing:border-box;flex-direction:column;flex:none;gap:3px;min-height:40px;padding:4px;display:flex}.sched-week-tech-col:first-child{border-left:none}.sched-week-tech-col.empty{background:var(--gray-50);justify-content:center;align-items:center}.sched-week-no-tasks{color:var(--gray-300);font-size:var(--text-lg)}.sched-week-overlap-row{flex-direction:row;align-items:stretch;gap:3px;width:100%;display:flex}.sched-week-overlap-row.sched-week-overlap-stack{flex-direction:column;gap:2px}.sched-week-overlap-row.sched-week-overlap-stack>.sched-week-task{flex:none;width:100%}.sched-mode-compact .sched-week-overlap-row:not(.sched-week-overlap-stack){flex-direction:column}.sched-week-overlap-row>.sched-week-task{flex:1 1 0;min-width:0}.sched-week-overlap-row>.sched-week-task:hover{transform:none}.sched-week-task{border-radius:var(--radius-sm);cursor:pointer;border-left:3px solid #0000;flex-direction:column;align-items:stretch;gap:1px;padding:3px 5px;transition:transform .1s,box-shadow .1s;display:flex;position:relative;overflow:hidden}.sched-week-task:hover{box-shadow:var(--shadow-sm);transform:translate(2px)}.sched-week-task.compact{border-radius:var(--radius-xs);opacity:.92;border-left-width:2px;gap:0;padding:1px 4px;min-height:auto!important}.sched-week-task.compact .wt-top,.sched-week-task.compact .wt-bottom{align-items:center;gap:3px;display:flex;overflow:hidden}.sched-week-task.compact .task-time{font-weight:700;font-size:calc(11px * var(--sched-font-scale,1));color:var(--gray-700);white-space:nowrap;letter-spacing:-.2px;flex-shrink:0}.sched-week-task.compact .task-city{font-size:calc(12px * var(--sched-font-scale,1));color:var(--gray-900);white-space:normal;text-overflow:unset;word-break:break-word;min-width:0;font-weight:700;line-height:1.2;overflow:visible}.sched-week-task.compact .wt-type{color:var(--gray-400);white-space:nowrap;text-transform:uppercase;letter-spacing:.2px;text-overflow:ellipsis;background:#0000000d;border-radius:2px;flex-shrink:0;max-width:50px;padding:0 3px;font-size:9px;font-weight:600;overflow:hidden}.sched-week-task .sched-task-modified-badge{display:inline-flex}.sched-week-task.compact .sched-week-mod-icon{font-size:var(--text-sm);min-width:18px;min-height:18px;padding:2px 3px;top:2px;right:4px}.sched-week-task.full .sched-week-mod-icon{font-size:var(--text-md);min-width:22px;min-height:22px;padding:3px 4px;top:-4px;right:-4px}.sched-week-task.full{border-left-width:3px;border-radius:5px;gap:1px;padding:4px 6px;box-shadow:0 1px 2px #0000000d}.sched-week-task.full .task-time{font-weight:700;font-size:var(--text-2xs);color:var(--gray-700);white-space:nowrap}.sched-week-task.full .task-city{font-size:var(--text-xs);color:var(--gray-900);white-space:nowrap;text-overflow:ellipsis;width:100%;font-weight:700;display:block;overflow:hidden}.sched-week-task.full .task-street{font-size:clamp(9px, calc(10px * var(--sched-font-scale,1)), 12px);color:var(--gray-600);-webkit-font-smoothing:antialiased;white-space:nowrap;text-overflow:ellipsis;width:100%;font-weight:500;line-height:1.25;display:block;overflow:hidden}.sched-week-task.full .wt-type{border-radius:var(--radius-xs);color:var(--gray-500);white-space:nowrap;text-transform:uppercase;letter-spacing:.2px;text-overflow:ellipsis;background:#0000000f;flex-shrink:0;max-width:70px;padding:0 4px;font-size:8px;font-weight:600;overflow:hidden}.wt-top{flex-wrap:nowrap;align-items:center;gap:3px;display:flex;overflow:hidden}.wt-bottom{flex-direction:column;gap:0;width:100%;display:flex;overflow:hidden}.sched-week-travel{font-size:var(--text-2xs);color:var(--gray-400);border-left:2px dotted var(--gray-300);cursor:default;align-items:center;gap:4px;margin:1px 0 1px 6px;padding:2px 6px;font-weight:600;line-height:1.2;display:flex}.sched-week-travel i{font-size:var(--text-sm);flex-shrink:0}.sched-week-travel.warn{color:var(--warning);border-left-color:var(--warning)}.sched-week-travel.danger{color:var(--danger);border-left-color:var(--danger);font-weight:700}.sched-week-travel.late{color:var(--danger);border-left-color:var(--danger)}.sched-week-travel .wt-late{color:var(--danger);margin-left:2px;font-size:8px;font-weight:700}.sched-week-travel.no-gps,.sched-task-distance.no-gps{color:var(--gray-300);border-left-color:var(--gray-200);font-style:italic}.sched-week-travel.hotel{color:var(--primary,#3b82f6);border-left:2px dotted var(--primary,#3b82f6);opacity:.75}.sched-week-travel.hotel.warn{color:var(--warning);border-left-color:var(--warning);opacity:1}.sched-week-travel.hotel.danger{color:var(--danger);border-left-color:var(--danger);opacity:1}.sched-week-travel .wt-time{color:var(--gray-400);margin-left:1px;font-size:8px}.sched-week-analysis{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius);margin-top:15px;overflow:hidden}.sched-week-analysis-header{font-weight:600;font-size:var(--text-base);background:var(--gray-50);border-bottom:1px solid var(--gray-200);align-items:center;gap:8px;padding:10px 15px;display:flex}.sched-week-analysis-header i{color:var(--primary)}.sched-week-analysis-content{flex-wrap:wrap;gap:10px;padding:10px;display:flex}.sched-week-tech-stat{background:var(--gray-50);border-radius:6px;flex:1;min-width:180px;max-width:250px;padding:8px}.sched-week-tech-stat-header{justify-content:space-between;align-items:center;margin-bottom:8px;padding-left:8px;display:flex}.sched-week-tech-stat-header span:first-child{font-weight:700;font-size:var(--text-sm)}.sched-week-tech-stat-header .stat-total{font-size:var(--text-2xs);color:var(--gray-500)}.sched-week-mini-chart{justify-content:space-around;align-items:flex-end;height:50px;padding:0 4px;display:flex}.sched-week-mini-bar{flex-direction:column;align-items:center;gap:2px;display:flex}.sched-week-mini-bar .bar{border-radius:2px 2px 0 0;width:16px;min-height:2px}.sched-week-mini-bar .day{color:var(--gray-500);font-size:8px;font-weight:600}.sched-week-mini-bar .count{font-size:var(--text-3xs);color:var(--gray-700);font-weight:700}#sched-view-day-btn.active,#sched-view-week-btn.active{background:var(--primary);color:#fff}.mini-map-overlay{background:var(--bg-surface);border-radius:var(--radius-lg);z-index:95;resize:both;border:2px solid var(--gray-300);flex-direction:column;width:320px;min-width:200px;max-width:80vw;height:240px;min-height:150px;max-height:70vh;display:flex;position:fixed;bottom:16px;right:16px;overflow:hidden;box-shadow:0 8px 32px #00000040}.mini-map-overlay .mini-map-header{background:var(--gray-800);color:#fff;font-size:var(--text-xs);cursor:move;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 10px;font-weight:600;display:flex}.mini-map-overlay .mini-map-header i{font-size:var(--text-sm)}.mini-map-overlay .mini-map-header .mini-map-actions{gap:6px;display:flex}.mini-map-overlay .mini-map-header .mini-map-actions button{color:var(--gray-400);cursor:pointer;font-size:var(--text-sm);background:0 0;border:none;padding:2px}.mini-map-overlay .mini-map-header .mini-map-actions button:hover{color:#fff}.mini-map-overlay .mini-map-body{flex:1;position:relative}.mini-map-overlay .mini-map-body #mini-map-container{width:100%;height:100%}.leaflet-div-icon.minimap-hotel-icon{background:0 0;border:none}.minimap-hotel-label{color:#4338ca;white-space:nowrap;background:#ffffffeb;border:1.5px solid #6366f1;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:600;line-height:1.3;box-shadow:0 1px 4px #0000002e}.sched-context-menu{background:var(--bg-surface);border-radius:var(--radius);z-index:10000;min-width:200px;max-width:min(280px,100vw - 16px);max-height:min(85vh,100dvh - 16px);padding:4px 0;display:none;position:fixed;overflow:hidden auto;box-shadow:0 8px 24px #0003}.sched-context-menu.active{display:block}.sched-context-menu .sched-ctx-header{font-size:var(--text-xs);color:var(--gray-500);background:var(--gray-50);border-bottom:1px solid var(--gray-200);white-space:nowrap;text-overflow:ellipsis;padding:8px 14px;font-weight:600;overflow:hidden}.sched-context-menu .sched-ctx-item{cursor:pointer;font-size:var(--text-sm);transition:background var(--transition-fast);align-items:center;gap:8px;padding:7px 12px;display:flex}.sched-ctx-contact-row{align-items:center;gap:6px;padding:6px 10px;display:flex}.sched-ctx-icon-btn{border:1px solid var(--gray-200);background:var(--bg-surface);width:34px;height:34px;color:var(--gray-700);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:14px;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.sched-ctx-icon-btn:hover:not(.sched-ctx-disabled){background:var(--gray-50);border-color:var(--primary-light);color:var(--primary)}.sched-ctx-icon-btn.sched-ctx-disabled{opacity:.35;pointer-events:none}.sched-ctx-flyout-host{position:relative}.sched-ctx-flyout-trigger{justify-content:space-between}.sched-ctx-flyout-trigger .sched-ctx-chevron{opacity:.7;margin-left:auto;font-size:10px}.sched-ctx-flyout{z-index:10050;background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow-lg);padding:4px 0;position:fixed}.sched-ctx-flyout.open-left{box-shadow:-4px 8px 24px #0000001f}.sched-ctx-flyout .sched-ctx-item{font-size:var(--text-sm);padding:8px 12px}.sched-context-menu .sched-ctx-item:hover{background:var(--gray-50)}.sched-context-menu .sched-ctx-item i{width:16px;color:var(--gray-400)}.sched-context-menu .sched-ctx-separator{background:var(--gray-200);height:1px;margin:4px 0}.sched-context-menu .sched-ctx-danger,.sched-context-menu .sched-ctx-danger i{color:var(--danger)}.sched-context-menu .sched-ctx-danger:hover{background:#fee2e2}.sched-context-menu .sched-ctx-disabled{opacity:.4;pointer-events:none;cursor:not-allowed}.sched-context-menu .ctx-contact-item{color:inherit;text-decoration:none}.sched-context-menu .ctx-contact-item.disabled{opacity:.45;pointer-events:none;cursor:default;font-style:italic}.sched-task-locked{cursor:not-allowed;background-image:repeating-linear-gradient(-45deg,#0000,#0000 5px,#0000000a 5px 10px)!important}.sched-task-locked:after{content:"";border-radius:inherit;pointer-events:none;border:1.5px dashed #64646459;position:absolute;inset:0}.sched-lock-icon{color:#b91c1c;opacity:.7;flex-shrink:0;font-size:8px}.sched-week-task.sched-task-locked{cursor:not-allowed}.sched-task-block.sched-task-locked{position:relative}.time-edit-modal-backdrop{z-index:10001;background:#0000004d;position:fixed;inset:0}.time-edit-modal{background:var(--bg-surface);border-radius:var(--radius-lg);z-index:10002;min-width:320px;max-width:400px;padding:24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000004d}.time-edit-modal h3{font-size:var(--text-lg);align-items:center;gap:8px;margin-bottom:4px;display:flex}.time-edit-modal .time-edit-address{font-size:var(--text-sm);color:var(--gray-500);align-items:center;gap:8px;margin-bottom:16px;display:flex}.time-edit-modal .time-edit-address>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sched-copy-raw,.task-copy-raw{width:24px;height:24px;color:var(--gray-500);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;font-size:11px;display:inline-flex}.sched-copy-raw:hover,.task-copy-raw:hover{background:var(--gray-100);color:var(--primary);border-color:var(--gray-200)}.sched-detail-address-row{align-items:center;gap:8px;display:flex}.sched-detail-address-row>strong{flex:1;min-width:0}.task-item .task-copy-raw{opacity:0;margin-left:auto}.task-item:hover .task-copy-raw,.task-item:focus-within .task-copy-raw{opacity:1}.time-edit-modal .time-edit-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.time-edit-modal .time-edit-row label{font-size:var(--text-base);min-width:80px;color:var(--gray-600);font-weight:600}.time-edit-modal .time-edit-row input[type=time]{border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:var(--text-md);flex:1;padding:8px 12px;font-family:inherit}.time-edit-modal .time-edit-row input[type=time]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.time-edit-modal .time-edit-buttons{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.time-edit-modal .task-edit-select,.time-edit-modal input[type=date],.time-edit-modal .task-edit-input{border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:var(--text-md);background:var(--bg-surface);cursor:pointer;flex:1;padding:8px 12px;font-family:inherit}.time-edit-modal .task-edit-select:focus,.time-edit-modal input[type=date]:focus,.time-edit-modal .task-edit-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.scheduler-create-task-modal{width:min(520px,100vw - 32px)}.time-edit-modal .task-edit-input{cursor:text}.worker-groups-manager-modal{width:min(760px,100vw - 32px)}.worker-groups-list{gap:8px;margin:12px 0;display:grid}.worker-group-row{grid-template-columns:minmax(160px,1.5fr) minmax(68px,.6fr) minmax(96px,.8fr) 48px 36px;align-items:center;gap:8px;display:grid}.worker-group-row input[type=color],.worker-group-color{border:1px solid var(--border-color,#cbd5e1);background:var(--surface,#fff);border-radius:6px;width:44px;height:36px;padding:2px}.worker-group-row-spacer{width:36px;height:1px}@media (width<=720px){.worker-group-row{grid-template-columns:1fr 74px}.worker-group-row .worker-group-icon,.worker-group-row input[id$=-icon]{grid-column:1}}.time-edit-modal .time-edit-checkbox-row{margin-top:4px;margin-bottom:8px}.time-edit-modal .task-edit-checkbox-label{cursor:pointer;font-size:var(--text-base);color:var(--gray-600);align-items:center;gap:8px;min-width:auto;font-weight:600;display:flex}.time-edit-modal .task-edit-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}#multiday-fields{background:var(--gray-50);border-radius:var(--radius-sm);border:1px dashed var(--gray-300);margin-bottom:12px;padding:8px 12px}.sched-multiday-icon{font-size:var(--text-3xs);color:#8b5cf6;vertical-align:middle;margin:0 2px}.sched-task-multiday{font-size:var(--text-3xs);color:#8b5cf6;border-radius:var(--radius-xs);white-space:nowrap;text-overflow:ellipsis;background:#8b5cf610;margin-top:2px;padding:1px 4px;font-weight:600;overflow:hidden}.sched-week-multiday{border-right:2px dashed #8b5cf6}.sched-history-item.no-change{opacity:.4;text-decoration:line-through}.sched-history-diff-label{font-size:var(--text-2xs);border-radius:10px;margin-left:6px;padding:1px 6px;font-weight:600}.sched-history-diff-label.changed{color:#92400e;background:#fef3c7}.sched-history-diff-label.reverted{color:#065f46;background:#d1fae5}.sched-history-diff-label.time-changed{color:#1e40af;background:#dbeafe}.sched-history-diff-label.date-changed{color:#9d174d;background:#fce7f3}.sched-travel-block{box-sizing:border-box;border-radius:var(--radius-sm);z-index:0;font-size:var(--text-3xs);color:#3b82f6;pointer-events:none;background:repeating-linear-gradient(-45deg,#3b82f60f,#3b82f60f 4px,#3b82f61f 4px 8px);border:1px dashed #3b82f659;align-items:center;gap:4px;padding:2px 6px;font-weight:600;display:flex;position:absolute;overflow:hidden}.sched-travel-block i{font-size:var(--text-3xs);flex-shrink:0}.sched-travel-block .travel-dist{opacity:.7;margin-left:auto;font-size:8px}.sched-travel-block.late{color:var(--danger);background:repeating-linear-gradient(-45deg,#ef44440f,#ef44440f 4px,#ef44441f 4px 8px);border:1px dashed #ef444480}#sched-travel-btn.active{background:var(--info);color:#fff}#sched-delays-btn.active{background:var(--warning);color:#fff}.sched-delays-summary{border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:16px;margin-bottom:12px;padding:10px 14px;display:flex}.delays-count{font-weight:700;font-size:var(--text-md);color:#dc2626;align-items:center;gap:6px;display:flex}.sched-delays-list{flex-direction:column;gap:8px;display:flex}.sched-delay-item{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden}.sched-delay-header{background:#fef2f2;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.delay-tech{font-weight:700;font-size:var(--text-base);color:var(--gray-800)}.delay-badge{font-size:var(--text-xs);color:#fff;background:var(--danger);border-radius:10px;padding:2px 8px;font-weight:700}.sched-delay-body{padding:8px 12px}.delay-route{font-size:var(--text-sm);align-items:center;gap:8px;margin-bottom:6px;display:flex}.delay-from{color:var(--gray-700);font-weight:600}.delay-arrow{color:var(--gray-400);font-size:var(--text-2xs)}.delay-to{color:var(--gray-700);font-weight:600}.delay-details{font-size:var(--text-xs);color:var(--gray-500);gap:16px;display:flex}.delay-details span{align-items:center;gap:4px;display:flex}.sched-travel-table{font-size:var(--text-xs);width:100%}.sched-travel-table-header{background:var(--gray-100);color:var(--gray-600);text-transform:uppercase;font-weight:700;font-size:var(--text-2xs);border-radius:var(--radius-sm) var(--radius-sm) 0 0;grid-template-columns:80px 1fr 1fr 70px 70px 90px 100px;gap:4px;padding:6px 8px;display:grid}.sched-travel-row{border-bottom:1px solid var(--gray-100);grid-template-columns:80px 1fr 1fr 70px 70px 90px 100px;align-items:center;gap:4px;padding:6px 8px;display:grid}.sched-travel-row:hover{background:var(--gray-50)}.sched-travel-row.tt-late{background:#fef2f2}.sched-travel-row.tt-tight{background:#fffbeb}.sched-travel-row .tt-tech{color:var(--gray-700);font-weight:600}.sched-travel-row .tt-from,.sched-travel-row .tt-to{color:var(--gray-700);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sched-travel-row .tt-from small,.sched-travel-row .tt-to small{color:var(--gray-400);font-size:var(--text-2xs);margin-left:4px}.sched-travel-row .tt-status{font-weight:600}.sched-travel-row.tt-late .tt-status{color:var(--danger)}.sched-travel-row.tt-tight .tt-status{color:var(--warning)}.sched-travel-row.tt-ok .tt-status{color:var(--success)}.abs-modal-overlay{z-index:10000;display:none}.abs-modal-overlay.active{display:flex}.abs-modal{flex-direction:column;width:min(640px,92vw);max-width:640px;max-height:85vh;display:flex}.abs-modal .modal-body{flex:1;min-height:0;padding:0;overflow-y:auto}.abs-modal-tabs{border-bottom:1px solid var(--gray-200);background:var(--bg-surface);flex-shrink:0;gap:4px;padding:0 12px;display:flex}.abs-tab{cursor:pointer;font-size:var(--text-base);color:var(--gray-500);transition:all var(--transition-normal);background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:6px;padding:8px 12px;font-weight:600;display:flex}.abs-tab:hover{color:var(--gray-700);background:var(--gray-100)}.abs-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.abs-tab-content{padding:12px 14px}.abs-form{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius-lg);margin-bottom:10px;padding:10px 12px;box-shadow:0 1px 2px #0f172a0a}.abs-form-row{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.abs-form-row:last-child{margin-bottom:0}.abs-field{flex-direction:column;flex:1;gap:3px;min-width:100px;display:flex}.abs-field label{font-size:var(--text-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;font-weight:600}.abs-field input,.abs-field select{border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:var(--text-base);background:var(--bg-surface);padding:6px 8px;font-family:inherit}.abs-field input:focus,.abs-field select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #4f46e51a}.abs-add-btn{width:100%;margin-top:8px}.abs-termination-warning{border-radius:var(--radius-md);font-size:var(--text-sm);color:#bf360c;background:#fff3e0;border:1px solid #ffcc80;border-left:4px solid #e65100;align-items:center;gap:10px;margin-bottom:10px;padding:10px 14px;display:flex}.abs-termination-warning i{color:#e65100;flex-shrink:0;font-size:18px}.abs-list{border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden}.abs-list-header{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);background:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:8px 12px;font-weight:700}.abs-list-item{border-bottom:1px solid var(--gray-100);transition:background var(--transition-fast);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.abs-list-item:last-child{border-bottom:none}.abs-list-item:hover{background:var(--gray-50)}.abs-item-main{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.abs-item-icon{font-size:var(--text-md);text-align:center;flex-shrink:0;width:20px}.abs-item-tech{font-weight:600;font-size:var(--text-base);color:var(--gray-800)}.abs-item-type{font-size:var(--text-sm);border-radius:var(--radius-sm);background:currentColor;background:color-mix(in srgb, currentColor 10%, transparent);padding:1px 6px;font-weight:600}.abs-item-dates{font-size:var(--text-sm);color:var(--gray-500);font-family:SF Mono,monospace}.abs-item-dayname{font-size:var(--text-xs);color:var(--gray-400)}.abs-item-hours{font-size:var(--text-sm);color:var(--gray-600);font-family:SF Mono,monospace;font-weight:600}.abs-item-note{font-size:var(--text-xs);color:var(--gray-400);font-style:italic}.abs-remove-btn{color:var(--gray-400);flex-shrink:0}.abs-remove-btn:hover{color:var(--danger)}.abs-empty{color:var(--gray-400);font-size:var(--text-base);justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.abs-empty i{font-size:var(--text-xl);color:var(--success)}.abs-overlay{z-index:2;border-radius:var(--radius-sm);pointer-events:none;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;left:2px;right:2px}.abs-overlay-fullday{background:color-mix(in srgb, var(--abs-color) 8%, transparent);border:2px dashed var(--abs-color,#3b82f6);opacity:.85;justify-content:flex-start;align-items:flex-start;padding:6px 8px}.abs-overlay-fullday .abs-overlay-label{color:var(--abs-color,#3b82f6);font-weight:700;font-size:var(--text-base);text-shadow:none;text-align:left;width:100%}.abs-overlay-fullday .abs-overlay-note{font-size:var(--text-xs);color:var(--abs-color,#3b82f6);opacity:.7;margin-top:2px}.abs-overlay-holiday{background:#ef44440f;border:2px dashed #ef444459}.abs-overlay-holiday .abs-overlay-label{color:var(--danger);font-weight:700;font-size:var(--text-base)}.abs-overlay-hourblock{background:color-mix(in srgb, var(--abs-color) 12%, transparent);border:1.5px solid var(--abs-color,#f59e0b);border-radius:var(--radius-sm)}.abs-overlay-hourblock .abs-overlay-label{color:var(--abs-color,#f59e0b);font-weight:600;font-size:var(--text-2xs);white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:0 4px;overflow:hidden}.sched-tech-col.abs-blocked .sched-col-body{opacity:.35;pointer-events:none}.sched-tech-col.abs-blocked .sched-col-header:after{content:"";background:repeating-linear-gradient(90deg, transparent, transparent 4px, var(--danger) 4px, var(--danger) 8px);height:3px;position:absolute;bottom:0;left:0;right:0}.sched-tech-col.abs-blocked .sched-col-header{position:relative}.abs-badge{border-radius:var(--radius-xs);font-size:var(--text-2xs);white-space:nowrap;border:1px solid;align-items:center;gap:3px;margin:1px 0;padding:1px 5px;font-weight:600;display:inline-flex}.abs-badge-holiday{color:var(--danger);background:#ef444414;border-color:#ef44444d}.sched-week-tech-col.abs-week-blocked{background:repeating-linear-gradient(-45deg,#0000,#0000 8px,#ef44440a 8px 16px)}.sched-week-tech-col.abs-week-blocked .sched-week-no-tasks{color:var(--gray-300)}.sched-week-day.sched-week-holiday{background:#ef44440a;border-color:#ef44444d}.sched-week-day.sched-week-holiday .sched-week-dayname{color:var(--danger)}.sched-col-abs-warning{border-radius:var(--radius-xs);font-size:var(--text-2xs);color:var(--abs-color,#f59e0b);background:color-mix(in srgb, var(--abs-color,#f59e0b) 12%, transparent);border:1px solid color-mix(in srgb, var(--abs-color,#f59e0b) 30%, transparent);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;margin-top:2px;padding:3px 6px;font-weight:700;animation:2s ease-in-out infinite absConflictPulse;display:flex;overflow:hidden}.sched-tech-col.abs-has-conflict .sched-col-header{position:relative}.sched-tech-col.abs-has-conflict .sched-col-header:after{content:"";background:repeating-linear-gradient(90deg,#0000,#0000 4px,#f59e0b 4px 8px);height:3px;position:absolute;bottom:0;left:0;right:0}.sched-task-abs-badge{border-radius:var(--radius-xs);white-space:nowrap;text-overflow:ellipsis;z-index:3;align-items:center;gap:3px;padding:1px 5px;font-size:9px;font-weight:700;display:flex;position:relative;overflow:hidden}.sched-task-abs-badge.critical{color:#dc2626;background:#ef44442e;border:1px solid #ef444466}.sched-task-abs-badge.warning{color:#d97706;background:#f59e0b2e;border:1px solid #f59e0b66}.sched-nt-badge{border-radius:var(--radius-xs);letter-spacing:.02em;white-space:nowrap;z-index:3;justify-content:center;align-items:center;margin-right:3px;padding:1px 5px;font-size:9px;font-weight:800;display:inline-flex;position:relative}.sched-nt-badge.sched-nt-bad{color:var(--danger);background:#ef44442e;border:1px solid #ef444466}.sched-nt-badge.sched-nt-hold{color:var(--warning);background:#f59e0b2e;border:1px solid #f59e0b66}.sched-task-block.sched-task-abs-conflict{outline-offset:-1px;outline:2px dashed #f59e0b;animation:2s ease-in-out infinite absConflictPulse}.sched-task-block.sched-task-abs-conflict-critical{outline-offset:-1px;outline:2px dashed #ef4444;animation:1.5s ease-in-out infinite absConflictPulse}.sched-week-task.sched-task-abs-conflict{outline-offset:-1px;outline:2px dashed #f59e0b;animation:2s ease-in-out infinite absConflictPulse}.sched-week-task.sched-task-abs-conflict-critical{outline-offset:-1px;outline:2px dashed #ef4444;animation:1.5s ease-in-out infinite absConflictPulse}.sched-abs-conflict-icon{color:#ef4444;margin-right:2px;font-size:10px;animation:1.5s ease-in-out infinite absConflictPulse}@keyframes absConflictPulse{0%,to{opacity:1}50%{opacity:.6}}.sched-task-time,.sched-compact-time,.sched-week-task .task-time,.sched-week-task.compact .task-time,.sched-week-task.full .task-time{font-feature-settings:"tnum" 1, "lnum" 1;flex-shrink:0}.sched-compact-line,.sched-task-inline,.wt-top,.sched-react-task-line{min-width:0}.sched-compact-sep,.sched-inline-sep,.sched-react-task-line__marks,.sched-compact-check,.task-biz-mark,.sched-lock-icon{flex-shrink:0}.sched-compact-city,.sched-task-address,.sched-react-task-line__text{min-width:0}.sched-task-distance,.sched-task-warning{white-space:nowrap;flex-shrink:0}.sched-task-block.status-complete .sched-task-time,.sched-task-block.status-complete .sched-task-address,.sched-task-block.status-complete .sched-task-street,.sched-task-block.status-complete .sched-task-type,.sched-task-block.status-complete .sched-compact-time,.sched-task-block.status-complete .sched-compact-city,.sched-task-block.status-complete .sched-compact-line,.sched-week-task.status-complete.compact .task-time,.sched-week-task.status-complete.compact .task-city,.sched-week-task.status-complete.compact .wt-type,.sched-week-task.status-complete.full .task-time,.sched-week-task.status-complete.full .task-city,.sched-week-task.status-complete.full .task-street,.sched-week-task.status-complete.full .wt-type,.status-task-item.status-complete,.status-task-item.status-complete .status-task-tech,.status-task-item.status-complete .status-task-date,.status-task-item.status-complete .status-task-addr{color:var(--success)}.sched-task-block.status-sent-back .sched-task-time,.sched-task-block.status-sent-back .sched-task-address,.sched-task-block.status-sent-back .sched-task-street,.sched-task-block.status-sent-back .sched-task-type,.sched-task-block.status-sent-back .sched-compact-time,.sched-task-block.status-sent-back .sched-compact-city,.sched-task-block.status-sent-back .sched-compact-line,.sched-week-task.status-sent-back.compact .task-time,.sched-week-task.status-sent-back.compact .task-city,.sched-week-task.status-sent-back.compact .wt-type,.sched-week-task.status-sent-back.full .task-time,.sched-week-task.status-sent-back.full .task-city,.sched-week-task.status-sent-back.full .task-street,.sched-week-task.status-sent-back.full .wt-type,.status-task-item.status-sent-back,.status-task-item.status-sent-back .status-task-tech,.status-task-item.status-sent-back .status-task-date,.status-task-item.status-sent-back .status-task-addr{color:#b45309}.trash-tabs{border-bottom:2px solid var(--gray-200);background:var(--gray-50);flex-shrink:0;gap:0;padding:0 8px;display:flex}.trash-tab{cursor:pointer;font-size:var(--text-sm);color:var(--gray-500);transition:all var(--transition-normal);white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:6px;padding:10px 16px;font-weight:600;display:flex}.trash-tab:hover{color:var(--gray-700);background:var(--gray-100)}.trash-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.trash-tab-badge{background:var(--gray-400);color:#fff;text-align:center;border-radius:10px;min-width:18px;padding:1px 6px;font-size:10px}.trash-tab-badge.shooting-badge{background:#c62828}.shooting-trash-header{border-bottom:1px solid var(--gray-200);background:linear-gradient(135deg,#ffebee 0%,#fff3e0 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.shooting-trash-summary{font-size:var(--text-sm);color:#c62828}.shooting-trash-summary i{margin-right:4px}.shooting-trash-actions{gap:6px;display:flex}.shooting-trash-table{padding:0;overflow-x:auto}.shooting-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.shooting-table thead th{background:var(--gray-100);text-align:left;text-transform:uppercase;color:var(--gray-600);border-bottom:2px solid var(--gray-200);white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:600}.shooting-table tbody td{vertical-align:middle;border-bottom:1px solid var(--gray-100);padding:8px 10px}.shooting-table tbody tr:hover{background:var(--gray-50)}.shooting-row .addr-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.shooting-row .shooting-val{color:#c62828;font-weight:700}.shooting-row .action-cell{white-space:nowrap;gap:4px;display:flex}.alerts-subtitle.absence-conflict-critical{color:#c62828;background:#ffebee;border-left:4px solid #ef4444;align-items:center;gap:6px;display:flex}.alerts-subtitle.absence-conflict-warning{color:#e65100;background:#fff8e1;border-left:4px solid #f59e0b;align-items:center;gap:6px;display:flex}.alert-item.absence-conflict-critical{background:linear-gradient(90deg,#ffebee 0%,#0000 40%);border-left:4px solid #ef4444}.alert-item.absence-conflict-warning{background:linear-gradient(90deg,#fff8e1 0%,#0000 40%);border-left:4px solid #f59e0b}.alerts-subtitle.shooting-critical{color:#c62828;background:#ffebee;border-left:4px solid #c62828;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.alerts-subtitle.shooting-warning{color:#e65100;background:#fff3e0;border-left:4px solid #e65100}.alert-item.shooting-critical{background:linear-gradient(90deg,#ffebee 0%,#0000 40%);border-left:4px solid #c62828}.alert-item.shooting-warning{background:linear-gradient(90deg,#fff3e0 0%,#0000 40%);border-left:4px solid #e65100}.alerts-subtitle.shooting-warning-sibling{color:#5c6bc0;background:#e8eaf6;border-left:4px solid #5c6bc0}.alert-item.shooting-warning-sibling{background:linear-gradient(90deg,#e8eaf6 0%,#0000 40%);border-left:4px solid #7986cb}.alert-item.shooting-warning-sibling .alert-reason em{color:#5c6bc0;font-style:normal;font-weight:500}.alerts-subtitle.pre-cancelled{color:#78909c;background:#eceff1;border-left:4px solid #90a4ae;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.alerts-subtitle.pre-cancelled .alerts-subtitle-hint{color:#90a4ae;font-size:11px;font-style:italic;font-weight:400}.alert-item.pre-cancelled{opacity:.7;background:linear-gradient(90deg,#eceff1 0%,#0000 40%);border-left:4px solid #b0bec5}.alert-item.pre-cancelled .alert-address{color:#78909c;text-decoration:line-through}.alert-item.pre-cancelled .alert-reason strong{color:#78909c}.shooting-cancel-banner{z-index:11000;background:var(--bg-surface);border-radius:var(--radius-lg);opacity:0;pointer-events:none;border:2px solid #c62828;width:auto;min-width:420px;max-width:720px;transition:opacity .3s,transform .3s;position:fixed;top:60px;left:50%;overflow:hidden;transform:translate(-50%)translateY(-20px);box-shadow:0 8px 32px #0003,0 2px 8px #0000001a}.shooting-cancel-banner.scb-visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.shooting-cancel-banner.scb-closing{animation:.3s forwards scb-slideout}@keyframes scb-slideout{to{opacity:0;transform:translate(-50%)translateY(-30px)}}.scb-header{color:#fff;background:linear-gradient(135deg,#c62828 0%,#e53935 100%);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.scb-title{font-weight:700;font-size:var(--text-base);align-items:center;gap:8px;display:flex}.scb-title i{font-size:16px}.scb-header .scb-close{color:#fff;opacity:.8}.scb-header .scb-close:hover{opacity:1;background:#ffffff26}.scb-content{flex-direction:column;gap:8px;padding:12px 16px;display:flex}.scb-section{border-radius:var(--radius-md);align-items:center;gap:12px;padding:10px 14px;display:flex}.scb-section.scb-critical{background:#ffebee;border-left:4px solid #c62828}.scb-section.scb-warning{background:#fff3e0;border-left:4px solid #e65100}.scb-section.scb-kept{background:#e8f5e9;border-left:4px solid #2e7d32}.scb-icon{flex-shrink:0;font-size:22px}.scb-critical .scb-icon{color:#c62828}.scb-warning .scb-icon{color:#e65100}.scb-kept .scb-icon{color:#2e7d32}.scb-text{flex-direction:column;gap:2px;display:flex}.scb-text strong{font-size:var(--text-sm)}.scb-text span{color:var(--gray-600);font-size:12px}.scb-details{max-height:300px;padding:0 16px 12px;overflow-y:auto}.scb-details-title{text-transform:uppercase;align-items:center;gap:6px;margin:10px 0 6px;font-size:12px;font-weight:700;display:flex}.scb-details-title.critical{color:#c62828}.scb-details-title.warning{color:#e65100}.scb-details-title.kept{color:#2e7d32}.scb-table{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:12px}.scb-table thead th{background:var(--gray-100);text-align:left;text-transform:uppercase;color:var(--gray-500);border-bottom:1px solid var(--gray-200);padding:5px 8px;font-size:10px;font-weight:600}.scb-table tbody td{border-bottom:1px solid var(--gray-100);white-space:nowrap;text-overflow:ellipsis;max-width:180px;padding:4px 8px;overflow:hidden}.scb-table tbody tr:hover{background:var(--gray-50)}.scb-val-critical{color:#c62828;font-weight:700}.scb-val-warning{color:#e65100;font-weight:700}.scb-val-kept{color:#2e7d32;font-weight:700}.scb-details-title.sibling{color:#5c6bc0;border-bottom-color:#c5cae9}.scb-details-title.sibling i{color:#5c6bc0}.scb-table-sibling{border-color:#c5cae9}.scb-sibling-row{background:#f3f0ff}.scb-sibling-row:hover{background:#ede7f6}.scb-sibling-row em{color:#5c6bc0;font-style:normal;font-weight:500}.scb-details-title.kept{border-bottom-color:#a5d6a7}.scb-details-title.kept i{color:#2e7d32}.scb-table-kept{border-color:#a5d6a7}.scb-kept-row{background:#e8f5e9}.scb-kept-row:hover{background:#c8e6c9}.scb-kept-row em{color:#2e7d32;font-style:normal;font-weight:500}.scb-actions{border-top:1px solid var(--gray-200);background:var(--gray-50);justify-content:flex-end;align-items:center;gap:8px;padding:10px 16px;display:flex}.scb-ok-btn{min-width:70px}#scheduler-content.scheduler-content--react{flex-direction:column;min-height:0;display:flex}#scheduler-content.scheduler-content--react #scheduler-legacy-grid{display:none}#scheduler-react-root.scheduler-react-active{flex:1;min-height:0;display:flex;overflow:hidden}.scheduler-react-day{flex:1;min-height:0;overflow:auto}.scheduler-react-grid-wrapper{height:100%}.sched-react-task-line{min-width:0;line-height:1.25;font-size:calc(.72rem * var(--sched-font-scale,var(--zoom,1)));align-items:center;gap:.25rem;display:flex}.sched-react-task-line__text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.sched-react-task-line__marks{flex-shrink:0;align-items:center;gap:.2rem;display:inline-flex}.sched-react-permit--bad{color:#ef4444}.sched-react-permit--pending{color:#f59e0b}.sched-task-block.sched-react-task .sched-task-modified-badge{cursor:pointer;background:0 0;border:none;padding:0;position:absolute;top:2px;right:2px}.sched-task-block.sched-react-task .sched-task-street,.sched-task-block.sched-react-task .sched-task-multiday{font-size:calc(.65rem * var(--sched-font-scale,var(--zoom,1)));opacity:.85}.scheduler-react-week{flex:1;min-height:0;overflow:auto}.scheduler-react-week-wrapper{height:100%}.sched-week-task.sched-react-week-task{border-left-style:solid;border-left-width:3px}.sched-react-week-line .wt-type{opacity:.85;margin-right:.15rem;font-size:.65em}.sched-week-mod-icon-btn{cursor:pointer;color:inherit;background:0 0;border:none;padding:0}button.sched-week-day-label{background:inherit;font:inherit;cursor:pointer;text-align:inherit;border:none;width:100%}#scheduler-month-view.scheduler-month-view--react #scheduler-month-legacy{display:none}#scheduler-month-react-root.scheduler-react-active{width:100%;min-height:0;display:block}.scheduler-react-month .sched-month-container{width:100%}.scheduler-overlay .sched-month-container{font-size:calc(14px * var(--sched-font-scale,var(--zoom,1)))}.scheduler-month-view{padding:calc(12px * var(--sched-font-scale,1)) calc(20px * var(--sched-font-scale,1)) calc(20px * var(--sched-font-scale,1));background:var(--gray-50);flex:1;display:none;overflow-y:auto}.scheduler-month-view.active{display:block}.sched-month-container{max-width:1200px;margin:0 auto}.sched-month-header{justify-content:center;align-items:center;gap:16px;padding:10px 0 14px;display:flex}.sched-month-title{font-size:var(--text-xl);color:var(--gray-800);text-align:center;min-width:200px;font-weight:700}.sched-month-header .btn-icon{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--gray-300);cursor:pointer;width:32px;height:32px;color:var(--gray-600);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.sched-month-header .btn-icon:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.sched-month-kpi{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.kpi-card{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius-md);text-align:center;min-width:140px;box-shadow:var(--shadow-sm);flex:1;padding:14px 16px}.kpi-value{font-size:calc(26px * var(--sched-font-scale,var(--zoom,1)));color:var(--gray-800);font-weight:800;line-height:1.2}.kpi-value .kpi-sub{font-size:var(--text-md);color:var(--gray-400);font-weight:400}.kpi-label{font-size:var(--text-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;margin-top:4px}.sched-month-split{gap:16px;margin-bottom:16px;display:flex}.sched-month-cal-wrap{flex:1;min-width:0}.sched-month-side-panels{flex-direction:column;flex-shrink:0;gap:12px;width:320px;display:flex}@media (width<=900px){.sched-month-split{flex-direction:column}.sched-month-side-panels{width:100%}}.sched-month-panel{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:14px 16px}.sched-month-panel.full-width{margin-bottom:16px}.panel-title{font-size:var(--text-base);color:var(--gray-700);align-items:center;gap:6px;margin-bottom:12px;font-weight:700;display:flex}.panel-title i{color:var(--primary);font-size:var(--text-sm)}.group-bar-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.group-bar-label{font-size:var(--text-sm);color:var(--gray-600);align-items:center;gap:6px;min-width:100px;font-weight:600;display:flex}.group-bar-label i{font-size:var(--text-xs)}.group-bar-track{background:var(--gray-100);border-radius:var(--radius);flex:1;height:16px;overflow:hidden}.group-bar-track.small{height:8px}.group-bar-fill{border-radius:var(--radius);min-width:2px;height:100%;transition:width .4s}.group-bar-value{font-size:var(--text-sm);color:var(--gray-700);text-align:right;min-width:60px;font-weight:700}.group-bar-pct{color:var(--gray-400);font-weight:400;font-size:var(--text-xs)}.city-list{flex-direction:column;gap:4px;display:flex}.city-row{font-size:var(--text-sm);align-items:center;gap:6px;padding:2px 0;display:flex}.city-rank{color:var(--gray-400);min-width:18px;font-weight:600}.city-name{color:var(--gray-700);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.city-count{color:var(--gray-600);white-space:nowrap;font-weight:600}.city-pct{color:var(--gray-400);font-weight:400;font-size:var(--text-xs)}.status-row{font-size:var(--text-sm);align-items:center;gap:8px;margin-bottom:6px;display:flex}.status-name{min-width:100px;color:var(--gray-600);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-count{color:var(--gray-700);text-align:right;min-width:30px;font-weight:700}.tech-table{width:100%;font-size:var(--text-sm)}.tech-table-header{border-bottom:2px solid var(--gray-200);margin-bottom:4px;padding-bottom:6px;display:flex}.tech-table-header .tech-table-cell{color:var(--gray-500);text-transform:uppercase;font-weight:700;font-size:var(--text-2xs);letter-spacing:.4px}.tech-table-row{border-bottom:1px solid var(--gray-100);align-items:center;padding:5px 0;transition:background .1s;display:flex}.tech-table-row:hover{background:var(--gray-50)}.tech-table-row.empty-row{opacity:.45}.tech-table-cell{padding:0 4px}.tech-table-cell.name-cell{text-overflow:ellipsis;white-space:nowrap;flex:2;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.tech-table-cell.group-cell{flex:.8}.tech-table-cell.num-cell{text-align:center;flex-shrink:0;width:58px}.tech-table-cell.bar-cell{flex:1.5;min-width:80px}.tech-table-cell.money-cell{text-align:right;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;width:100px;overflow:hidden}.tech-table-cell.action-cell{text-align:center;flex-shrink:0;width:80px}.tech-table-cell.cities-cell{font-size:var(--text-xs);color:var(--gray-500);text-overflow:ellipsis;white-space:nowrap;flex:2;overflow:hidden}.tech-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tech-bar-track{background:var(--gray-100);border-radius:6px;width:100%;height:12px;overflow:hidden}.tech-bar-fill{border-radius:6px;min-width:2px;height:100%;transition:width .4s}.group-badge{font-size:var(--text-3xs);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px;padding:2px 6px;font-weight:700}.tech-badge{color:#1976d2;background:#2196f31f}.konstr-badge{color:#e64a19;background:#ff57221f}.more-cities{color:var(--gray-400);font-size:var(--text-2xs)}.sched-month-grid{background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);overflow:hidden}.sched-month-weekdays{background:var(--gray-100);border-bottom:1px solid var(--gray-200);grid-template-columns:repeat(7,1fr);display:grid}.sched-month-weekday{text-align:center;font-size:var(--text-2xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;padding:6px 4px;font-weight:600}.sched-month-days{flex-direction:column;display:flex}.sched-month-week{grid-template-columns:repeat(7, 1fr) calc(44px * max(var(--zoom,1), .65));border-bottom:1px solid var(--gray-100);transition:background var(--transition-fast);display:grid}.sched-month-week:last-child{border-bottom:none}.sched-month-week.selected-week{background:#3b82f60a}.sched-month-day{padding:calc(4px * var(--sched-font-scale,1)) calc(3px * var(--sched-font-scale,1));min-height:calc(44px * max(var(--zoom,1), .65));cursor:pointer;transition:all var(--transition-fast);border:2px solid #0000;flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.sched-month-day:hover{background:var(--gray-50)}.sched-month-day.other-month{opacity:.3}.sched-month-day.weekend{background:#00000004}.sched-month-day.today .sched-month-day-num{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.sched-month-day.selected{border-color:var(--primary);border-radius:var(--radius-sm);background:#3b82f614}.sched-month-day.holiday{background:#ef44440a}.sched-month-day-num{font-size:var(--text-sm);color:var(--gray-700);font-weight:600;line-height:1}.sched-month-day.no-tasks .sched-month-day-num{color:var(--gray-400);font-weight:400}.sched-month-day-count{font-size:var(--text-3xs);color:var(--primary);background:#3b82f61a;border-radius:6px;padding:1px 4px;font-weight:700;line-height:1.3}.sched-month-week-summary{cursor:pointer;background:var(--gray-50);border-left:1px solid var(--gray-200);transition:background var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:2px;display:flex}.sched-month-week-summary:hover{background:#3b82f614}.sched-month-week-summary .week-num{font-size:var(--text-3xs);color:var(--gray-500);font-weight:700}.sched-month-week-summary .week-total{font-size:var(--text-3xs);color:var(--gray-400)}.sched-chip.sched-chip-empty:not(.active){opacity:.5;border-style:dashed}.sched-chip.sched-chip-empty:not(.active) .sched-chip-count{color:var(--gray-400)}.sched-chip-action{min-width:28px;font-size:var(--text-xs);border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;color:var(--gray-500);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:4px 8px;display:flex}.sched-chip-action:hover{color:var(--primary);border-color:var(--primary);background:#3b82f60d}.sched-view-month-btn{font-size:var(--text-sm);border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;color:var(--gray-600);transition:all var(--transition-fast);align-items:center;gap:4px;padding:5px 10px;display:flex}.sched-view-month-btn:hover{border-color:var(--primary);color:var(--primary)}.sched-view-month-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.sched-month-group-tabs{justify-content:center;gap:6px;margin-bottom:16px;display:flex}.sched-month-tab{border:2px solid var(--gray-200);border-radius:var(--radius-2xl);background:var(--bg-surface);font-size:var(--text-base);color:var(--gray-600);cursor:pointer;transition:all var(--transition-normal);align-items:center;gap:6px;padding:8px 18px;font-weight:600;display:flex}.sched-month-tab:hover{border-color:var(--primary-light);color:var(--primary);background:var(--gray-50)}.sched-month-tab.active{border-color:var(--primary);background:var(--primary);color:#fff}.sched-month-tab .tab-count{font-size:var(--text-xs);border-radius:var(--radius-lg);background:#0000001a;padding:1px 7px;font-weight:700}.sched-month-tab.active .tab-count{background:#ffffff4d}.status-row.clickable{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);padding:6px 8px}.status-row.clickable:hover{background:var(--gray-100)}.status-toggle{font-size:var(--text-2xs);color:var(--gray-400);transition:transform var(--transition-normal);flex-shrink:0;margin-left:4px}.group-bar-row.clickable{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);padding:6px 8px}.group-bar-row.clickable:hover{background:var(--gray-100)}.status-task-list{border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-50);max-height:300px;margin:0 0 8px;overflow-y:auto}.status-task-item{border-bottom:1px solid var(--gray-100);cursor:pointer;font-size:var(--text-sm);padding:8px 12px;transition:background .1s}.status-task-item:last-child{border-bottom:none}.status-task-item:hover{background:var(--bg-surface)}.status-task-main{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.status-task-tech{color:var(--gray-700);align-items:center;gap:4px;font-weight:600;display:flex}.status-task-tech i{font-size:var(--text-2xs);color:var(--gray-400)}.status-task-date{font-size:var(--text-xs);color:var(--gray-500);white-space:nowrap}.status-task-addr{color:var(--gray-500);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-live-tasks{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius-md);min-width:220px;max-width:480px;max-height:430px;box-shadow:var(--shadow-sm);flex-direction:column;flex:1;display:flex;overflow:hidden}.month-live-tasks:not(.has-tech){justify-content:center;align-items:center}.mlt-empty{color:var(--gray-400);text-align:center;font-size:var(--text-sm);flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.mlt-empty i{color:var(--gray-300);font-size:28px}.mlt-header{border-bottom:1px solid var(--gray-100);background:var(--gray-50);flex-shrink:0;padding:10px 12px}.mlt-tech-name{font-weight:600;font-size:var(--text-base);align-items:center;gap:6px;margin-bottom:4px;display:flex}.mlt-tech-stats{color:var(--gray-500);flex-wrap:wrap;gap:10px;margin-bottom:6px;font-size:11px;display:flex}.mlt-tech-stats i{color:var(--gray-400);margin-right:2px}.mlt-tech-stats .mlt-earn{color:var(--success);font-weight:600}.mlt-tech-stats .mlt-earn i{color:var(--success)}.mlt-days{flex:1;padding:4px 0;overflow-y:auto}.mlt-no-tasks{text-align:center;color:var(--gray-400);font-size:var(--text-sm);padding:24px 16px}.mlt-day{border-bottom:1px solid var(--gray-50)}.mlt-day:last-child{border-bottom:none}.mlt-day-header{color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;cursor:pointer;background:var(--gray-25,#fafbfc);justify-content:space-between;align-items:center;padding:5px 12px 3px;font-size:11px;font-weight:600;display:flex}.mlt-day-header:hover{background:var(--primary-bg);color:var(--primary)}.mlt-day-count{background:var(--gray-200);color:var(--gray-600);border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600}.mlt-task{cursor:pointer;align-items:center;gap:6px;padding:3px 12px 3px 20px;font-size:12px;transition:background .15s;display:flex}.mlt-task:hover{background:var(--primary-bg)}.mlt-task-time{color:var(--primary);flex-shrink:0;min-width:72px;font-size:11px;font-weight:500}.mlt-task-status{border-radius:50%;flex-shrink:0;width:7px;height:7px}.mlt-task-city{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gray-700);flex:1;overflow:hidden}.mlt-task-earn{color:var(--success);flex-shrink:0;font-size:11px;font-weight:600}.mlt-day-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mlt-day-title-text{font-weight:600;font-size:var(--text-base)}.mlt-holiday{color:var(--warning);font-size:11px;font-weight:500}.mlt-tech-tabs{border-bottom:1px solid var(--gray-100);background:var(--gray-50);flex-wrap:wrap;flex-shrink:0;gap:4px;padding:6px 10px;display:flex}.mlt-tech-tab{border:1px solid var(--gray-200);background:var(--bg-surface);color:var(--gray-600);cursor:pointer;white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;transition:all .15s;display:inline-flex}.mlt-tech-tab:hover{border-color:var(--primary-light);background:var(--primary-bg)}.mlt-tech-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.mlt-tech-tab .tech-dot{width:7px;height:7px}.mlt-task-full{cursor:pointer;border-bottom:1px solid var(--gray-50);align-items:baseline;gap:6px;padding:4px 12px;transition:background .15s;display:flex}.mlt-task-full:hover{background:var(--primary-bg)}.mlt-task-full:last-child{border-bottom:none}.mlt-task-row1{flex-shrink:0;align-items:center;gap:6px;font-size:12px;display:flex}.mlt-task-tech-name{color:var(--gray-700);align-items:center;gap:3px;font-size:11px;font-weight:500;display:inline-flex}.mlt-task-row2{color:var(--gray-500);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.sched-month-split.compact-layout .month-live-tasks{flex:1;min-width:200px;max-width:420px;max-height:430px}.sched-month-split.compact-layout{flex-wrap:wrap}.sched-month-split.compact-layout .sched-month-cal-wrap{flex:auto;min-width:480px;max-width:700px}.sched-month-split.compact-layout .sched-month-side-panels{flex-flow:wrap;flex-basis:100%;order:10;gap:10px;width:100%}.sched-month-split.compact-layout .sched-month-side-panels .sched-month-panel{flex:1;min-width:200px}.tech-compact-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.tech-compact-card{background:var(--gray-50);border-radius:var(--radius-sm);border:1px solid var(--gray-200);transition:box-shadow var(--transition-fast), transform .1s;cursor:pointer;padding:10px 12px}.tech-compact-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light);transform:translateY(-1px)}.tech-compact-card.empty{opacity:.4;cursor:default}.tech-compact-card.empty:hover{box-shadow:none;border-color:var(--gray-200);transform:none}.tcc-header{justify-content:space-between;align-items:center;margin-bottom:5px;padding-left:6px;display:flex}.tcc-name{font-weight:700;font-size:var(--text-sm);color:var(--gray-800);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tcc-count{font-weight:800;font-size:var(--text-md);color:var(--gray-900);flex-shrink:0}.tcc-bar{background:var(--gray-200);border-radius:var(--radius-xs);height:6px;margin-bottom:4px;overflow:hidden}.tcc-bar-fill{border-radius:var(--radius-xs);min-width:2px;height:100%;transition:width .4s}.tcc-meta{font-size:var(--text-2xs);color:var(--gray-400);text-align:right}.tcc-details{font-size:var(--text-2xs);color:var(--gray-500);gap:8px;margin-bottom:3px;display:flex}.tcc-details i{color:var(--gray-400);margin-right:1px;font-size:9px}.tcc-earn{font-size:var(--text-xs);color:#16a34a;text-align:right;font-weight:700}.tcc-cities{font-size:var(--text-2xs);color:var(--gray-400);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.tcc-cities i{margin-right:2px;font-size:9px}.group-badge.mini{vertical-align:middle;border-radius:4px;padding:1px 4px;font-size:8px}.sched-month-tech-selector{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:10px 16px;display:flex}.sched-month-tech-selector label{color:var(--gray-600);white-space:nowrap;align-items:center;gap:5px;font-size:13px;font-weight:600;display:flex}.sched-month-tech-selector label i{color:var(--primary);font-size:12px}.sched-month-tech-selector select{border:1px solid var(--gray-300);border-radius:var(--radius-sm);min-width:220px;color:var(--gray-700);background:var(--bg-surface);cursor:pointer;padding:6px 10px;font-size:13px}.sched-month-tech-selector select:focus{border-color:var(--primary);outline:none}.btn-primary-outline{border:1px solid var(--primary);color:var(--primary);background:var(--bg-surface)}.btn-primary-outline:hover{background:var(--primary);color:#fff}.sched-month-dayclick-toggle{margin-left:auto}.sched-month-dayclick-toggle label{color:var(--gray-500);cursor:pointer;align-items:center;gap:5px;font-size:12px;display:flex}.sched-month-dayclick-toggle input[type=checkbox]{accent-color:var(--primary);cursor:pointer;width:14px;height:14px}.mdp-modal{background:var(--bg-surface);z-index:1200;border-radius:12px;flex-direction:column;width:680px;max-width:96vw;max-height:80vh;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 16px 64px #00000038}.mdp-header{border-bottom:1px solid var(--gray-200);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.mdp-header-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mdp-header-right{align-items:center;gap:8px;display:flex}.mdp-date{color:var(--gray-800);margin:0;font-size:17px;font-weight:700}.mdp-holiday{color:#d97706;background:#f59e0b1a;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.mdp-holiday i{margin-right:3px;font-size:10px}.mdp-summary{color:var(--gray-500);font-size:12px}.mdp-tech-tabs{background:var(--gray-50);border-bottom:1px solid var(--gray-200);flex-wrap:wrap;flex-shrink:0;gap:4px;padding:8px 16px;display:flex;overflow-x:auto}.mdp-tech-tab{border:1px solid var(--gray-300);background:var(--bg-surface);color:var(--gray-600);cursor:pointer;white-space:nowrap;border-radius:16px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.mdp-tech-tab:hover{border-color:var(--primary-light);color:var(--primary)}.mdp-tech-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.mdp-tech-tab .tech-dot{width:7px;height:7px}.mdp-task-list{flex:1;padding:0;overflow-y:auto}.mdp-task{border-bottom:1px solid var(--gray-100);cursor:pointer;padding:10px 16px;transition:background .1s}.mdp-task:hover{background:var(--gray-50)}.mdp-task-top{align-items:center;gap:8px;margin-bottom:3px;display:flex}.mdp-task-time{color:var(--primary);white-space:nowrap;font-size:12px;font-weight:700}.mdp-task-tech{color:var(--gray-600);white-space:nowrap;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.mdp-task-status{color:#fff;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:8px;margin-left:auto;padding:1px 6px;font-size:9px;font-weight:600}.mdp-task-subject{color:var(--gray-800);text-overflow:ellipsis;white-space:nowrap;margin-bottom:1px;font-size:13px;font-weight:600;overflow:hidden}.mdp-task-addr{color:var(--gray-500);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mdp-task-earn{color:#16a34a;margin-top:2px;font-size:11px;font-weight:600}.mdp-task-earn i{margin-right:2px;font-size:10px}.mdp-empty{text-align:center;color:var(--gray-400);padding:40px 20px;font-size:14px}.tdp-modal{background:var(--bg-surface);z-index:1200;border-radius:12px;flex-direction:column;width:1060px;max-width:97vw;height:88vh;max-height:88vh;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 16px 64px #00000038}.tdp-header{border-bottom:1px solid var(--gray-200);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.tdp-header-left{align-items:center;gap:10px;display:flex}.tdp-header-right{align-items:center;gap:8px;display:flex}.tdp-tech-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.tdp-tech-name{color:var(--gray-800);margin:0;font-size:18px;font-weight:700}.tdp-group-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.tdp-period{color:var(--gray-500);font-size:13px}.tdp-kpi-bar{border-bottom:1px solid var(--gray-200);background:var(--gray-50);flex-shrink:0;gap:0;display:flex}.tdp-kpi{border-right:1px solid var(--gray-200);flex-direction:column;flex:1;align-items:center;padding:10px 8px;display:flex}.tdp-kpi:last-child{border-right:none}.tdp-kpi-val{color:var(--gray-800);font-size:16px;font-weight:800;line-height:1.2}.tdp-kpi-lbl{color:var(--gray-500);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-size:10px}.tdp-body{flex:1;min-height:0;display:flex;overflow:hidden}.tdp-left{border-right:1px solid var(--gray-200);flex-direction:column;flex-shrink:0;gap:12px;width:360px;padding:16px;display:flex;overflow-y:auto}.tdp-right{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.tdp-calendar{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:8px;overflow:hidden}.tdp-cal-weekdays{background:var(--gray-100);border-bottom:1px solid var(--gray-200);grid-template-columns:repeat(7,1fr);display:grid}.tdp-cal-wd{text-align:center;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;padding:5px 2px;font-size:10px;font-weight:700}.tdp-cal-days{flex-direction:column;display:flex}.tdp-cal-week{border-bottom:1px solid var(--gray-100);grid-template-columns:repeat(7,1fr);display:grid}.tdp-cal-week:last-child{border-bottom:none}.tdp-cal-day{cursor:pointer;border:2px solid #0000;flex-direction:column;align-items:center;gap:2px;min-height:46px;padding:3px 2px;transition:all .15s;display:flex;position:relative}.tdp-cal-day:hover{background:var(--gray-50)}.tdp-cal-day.other-month{opacity:.25}.tdp-cal-day.weekend{background:#00000004}.tdp-cal-day.empty .tdp-day-num{color:var(--gray-400);font-weight:400}.tdp-cal-day.absence{background:#ef44440f}.tdp-cal-day.holiday{background:#f59e0b0f}.tdp-cal-day.selected{border-color:var(--primary);background:#3b82f61a;border-radius:6px}.tdp-day-num{color:var(--gray-700);font-size:12px;font-weight:600;line-height:1}.tdp-day-num.today-num{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:flex}.tdp-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;display:flex}.tdp-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.tdp-dot-more{color:var(--gray-500);font-size:8px;font-weight:700}.tdp-absence-icon{margin-top:1px;font-size:11px}.tdp-holiday-mark{background:#f59e0b;border-radius:2px;width:14px;height:3px;position:absolute;bottom:2px}.tdp-today-mark{background:var(--primary);vertical-align:middle;border-radius:50%;width:14px;height:14px;display:inline-block}.tdp-legend{flex-wrap:wrap;gap:12px;padding:0 4px;display:flex}.tdp-legend-item{color:var(--gray-600);align-items:center;gap:4px;font-size:11px;display:flex}.tdp-status-bar{flex-wrap:wrap;gap:6px;display:flex}.tdp-status-chip{background:var(--gray-50);color:var(--gray-700);border-radius:4px;padding:3px 8px;font-size:11px}.tdp-status-chip strong{color:var(--gray-800);margin-left:2px}.tdp-search-bar{border-bottom:1px solid var(--gray-200);background:var(--gray-50);flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:flex}.tdp-search-bar i{color:var(--gray-400);font-size:13px}.tdp-search-bar input{border:1px solid var(--gray-300);border-radius:6px;outline:none;flex:1;padding:6px 10px;font-size:13px;transition:border-color .15s}.tdp-search-bar input:focus{border-color:var(--primary)}.tdp-clear-btn{opacity:.6}.tdp-clear-btn:hover{opacity:1}.tdp-task-count{color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--gray-100);flex-shrink:0;padding:6px 16px;font-size:11px;font-weight:600}.tdp-task-list{flex:1;padding:0;overflow-y:auto}.tdp-task-item{border-bottom:1px solid var(--gray-100);cursor:pointer;padding:10px 16px;transition:background .1s}.tdp-task-item:hover{background:var(--gray-50)}.tdp-task-header{align-items:center;gap:8px;margin-bottom:3px;display:flex}.tdp-task-date{color:var(--primary);white-space:nowrap;font-size:11px;font-weight:600}.tdp-lock-icon{color:#d97706;font-size:10px}.tdp-task-status{color:#fff;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:8px;margin-left:auto;padding:1px 6px;font-size:9px;font-weight:600}.tdp-task-subject{color:var(--gray-800);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:13px;font-weight:600;overflow:hidden}.tdp-task-address{color:var(--gray-500);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:12px;overflow:hidden}.tdp-task-address i{color:var(--gray-400);margin-right:3px;font-size:10px}.tdp-task-meta{color:var(--gray-500);gap:12px;font-size:11px;display:flex}.tdp-task-meta i{margin-right:2px;font-size:10px}.tdp-task-earn{color:#16a34a;font-weight:600}.tdp-empty{text-align:center;color:var(--gray-400);padding:40px 20px;font-size:14px}:root{--agent-blue:#2563eb;--agent-blue-dark:#1e3a5f;--agent-blue-light:#3b82f6;--agent-blue-hover:#93c5fd;--agent-blue-bg:#eff6ff;--agent-blue-bg-deep:#dbeafe;--agent-blue-800:#1e40af;--agent-green:#16a34a;--agent-green-light:#22c55e;--agent-green-bg:#f0fdf4;--agent-green-bg-deep:#dcfce7;--agent-green-dark:#166534;--agent-red:#dc2626;--agent-red-bg:#fef2f2;--agent-red-bg-deep:#fecaca;--agent-red-bg-light:#fee2e2;--agent-red-dark:#991b1b;--agent-orange:#ea580c;--agent-orange-bg:#fff7ed;--agent-orange-bg-deep:#fed7aa;--agent-orange-dark:#9a3412;--agent-amber-bg:#fffbeb;--agent-amber-dark:#92400e;--agent-amber-border:#fcd34d;--agent-amber-bg-deep:#fef3c7;--agent-indigo-bg:#e0e7ff;--agent-indigo-dark:#3730a3;--agent-violet-bg:#f5f3ff;--agent-violet-dark:#5b21b6;--agent-slate-50:#f8fafc;--agent-slate-100:#f1f5f9;--agent-slate-300:#cbd5e1;--agent-slate-400:#94a3b8;--agent-slate-500:#64748b}.agent-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0009;justify-content:center;align-items:center;animation:.2s ease-out agentFadeIn;display:flex;position:fixed;inset:0}@keyframes agentFadeIn{0%{opacity:0}to{opacity:1}}.agent-panel{background:var(--bg-primary,#fff);border-radius:var(--radius-xl,12px);flex-direction:column;width:90vw;max-width:1100px;height:85vh;animation:.25s ease-out agentSlideUp;display:flex;overflow:hidden;box-shadow:0 24px 80px #00000059}@keyframes agentSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.agent-panel-header{background:linear-gradient(135deg, var(--agent-blue-dark), var(--agent-blue));color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.agent-title{align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.agent-title i.fa-robot{font-size:20px;animation:2s ease-in-out infinite agentPulse}@keyframes agentPulse{0%,to{opacity:1}50%{opacity:.6}}.agent-status{background:#ffffff26;border-radius:12px;align-items:center;gap:5px;padding:2px 10px;font-size:11px;font-weight:400;display:flex}.agent-status code{background:#fff3;border-radius:3px;padding:0 4px;font-size:10px}.agent-panel-header .btn-ghost{color:#fff}.agent-panel-header .btn-ghost:hover{background:#fff3}.agent-panel-header .agent-run-btn{padding:7px 18px;font-weight:600}.agent-panel-body{flex:1;padding:16px 20px;overflow-y:auto}.agent-welcome{text-align:center;color:var(--text-secondary,#6b7280);padding:60px 20px}.agent-welcome-icon{color:var(--agent-blue);opacity:.8;margin-bottom:16px;font-size:48px}.agent-welcome h3{color:var(--text-primary,#1f2937);margin-bottom:8px}.agent-rules-summary{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:inline-flex}.agent-rule{background:var(--bg-secondary,#f0f4f8);border-radius:var(--radius-md,6px);color:var(--text-primary,#374151);padding:6px 14px;font-size:12px}.agent-rule i{color:var(--agent-green-light);margin-right:4px}.agent-loading{text-align:center;padding:80px 20px}.agent-loading-spinner{border:4px solid var(--gray-200);border-top-color:var(--agent-blue);border-radius:50%;width:48px;height:48px;margin:0 auto 20px;animation:.8s linear infinite agentSpin}@keyframes agentSpin{to{transform:rotate(360deg)}}.agent-loading h3{color:var(--text-primary,#1f2937);margin-bottom:8px}.agent-loading p{color:var(--text-secondary,#6b7280);font-size:13px}.agent-loading-hint{margin-top:8px;font-style:italic}.agent-summary-bar{background:var(--bg-secondary,#f0f4f8);border-radius:var(--radius-lg,8px);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.agent-summary-item{flex-direction:column;align-items:center;min-width:70px;padding:4px 12px;display:flex}.agent-summary-value{color:var(--text-primary,#1f2937);font-size:20px;font-weight:700}.agent-summary-label{color:var(--text-secondary,#6b7280);margin-top:2px;font-size:10px}.agent-summary-good .agent-summary-value{color:var(--agent-green)}.agent-summary-warn .agent-summary-value{color:var(--agent-orange)}.agent-summary-actions{flex-shrink:0;gap:6px;margin-left:auto;display:flex}.agent-rerun-btn{border:1px solid var(--gray-200);border-radius:var(--radius-xl,20px);background:var(--bg-surface,#fff);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.agent-rerun-btn i{font-size:11px}.agent-rerun-continue{background:var(--primary,#4f46e5);color:#fff;border-color:var(--primary,#4f46e5)}.agent-rerun-continue:hover{background:var(--primary-dark,#4338ca);border-color:var(--primary-dark,#4338ca)}.agent-rerun-new{color:var(--gray-600);background:var(--bg-surface,#fff)}.agent-rerun-new:hover{background:var(--gray-100);color:var(--gray-800);border-color:var(--gray-300)}.agent-ai-summary{background:var(--agent-blue-bg);border-left:4px solid var(--agent-blue);border-radius:var(--radius-md,6px);color:var(--agent-blue-dark);align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 16px;font-size:13px;display:flex}.agent-ai-summary i{color:var(--agent-blue);margin-top:2px}.agent-section{border:1px solid var(--border-color,#e5e7eb);border-radius:var(--radius-lg,8px);margin-bottom:20px;overflow:hidden}.agent-section-header{border-bottom:1px solid var(--border-color,#e5e7eb);align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.agent-section-count{color:var(--text-tertiary,#9ca3af);font-weight:400}.agent-select-all-btn{margin-left:auto}.agent-section-green .agent-section-header{background:var(--agent-green-bg);color:var(--agent-green-dark)}.agent-section-orange .agent-section-header{background:var(--agent-orange-bg);color:var(--agent-orange-dark)}.agent-section-red .agent-section-header{background:var(--agent-red-bg);color:var(--agent-red-dark)}.agent-section-blue .agent-section-header{background:var(--agent-blue-bg);color:var(--agent-blue-800)}.agent-section-warning .agent-section-header{background:var(--agent-amber-bg);color:var(--agent-amber-dark)}.agent-proposals-list{padding:4px}.agent-proposal-card{border-bottom:1px solid var(--border-light,#f3f4f6);align-items:flex-start;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.agent-proposal-card:last-child{border-bottom:none}.agent-proposal-card:hover{background:var(--bg-hover,#f9fafb)}.agent-proposal-applied{background:var(--agent-green-bg);opacity:.7}.agent-proposal-checkbox{flex-shrink:0;padding-top:4px}.agent-proposal-cb{width:16px;height:16px;accent-color:var(--agent-blue)}.agent-proposal-content{flex:1;min-width:0}.agent-proposal-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.agent-proposal-type{color:var(--agent-blue);align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.agent-proposal-priority{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:1px 8px;font-weight:600}.agent-priority-high{background:var(--agent-red-bg);color:var(--agent-red)}.agent-priority-medium{background:var(--agent-orange-bg);color:var(--agent-orange)}.agent-priority-low{color:var(--gray-500);background:#f0f4f8}.agent-proposal-saving{color:var(--agent-green);background:var(--agent-green-bg);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700}.agent-proposal-address{color:var(--text-primary,#374151);align-items:center;gap:5px;margin-bottom:4px;font-size:12px;display:flex}.agent-proposal-address i{color:var(--text-tertiary,#9ca3af);font-size:var(--text-2xs)}.agent-proposal-date-info{color:var(--text-secondary,#6b7280);align-items:center;gap:5px;margin-bottom:4px;font-size:11px;display:flex}.agent-proposal-date-info i{color:var(--accent-primary,#3b82f6);font-size:10px}.agent-proposal-date-info span{font-weight:500}.agent-proposal-changes{flex-wrap:wrap;gap:10px;margin-bottom:4px;display:flex}.agent-change{color:var(--text-secondary,#6b7280);align-items:center;gap:4px;font-size:11px;display:flex}.agent-change strong{color:var(--text-primary,#1f2937)}.agent-change-big,.agent-change-big strong{color:var(--agent-red)}.agent-no-notify{font-size:var(--text-2xs);color:var(--agent-green);background:var(--agent-green-bg);border-radius:10px;align-items:center;gap:3px;padding:1px 8px;display:flex}.agent-yes-notify{font-size:var(--text-2xs);color:var(--agent-orange);background:var(--agent-orange-bg);border-radius:10px;align-items:center;gap:3px;padding:1px 8px;display:flex}.agent-blocked-badge{font-size:var(--text-2xs);color:var(--agent-amber-dark);background:var(--agent-amber-bg);border:1px solid var(--agent-amber-border);border-radius:10px;align-items:center;gap:3px;padding:1px 8px;display:flex}.agent-blocked-reason{font-size:var(--text-2xs);color:var(--agent-amber-dark);background:var(--agent-amber-bg);border-radius:10px;align-items:center;gap:3px;padding:1px 8px;display:flex}.agent-proposal-blocked{background:#f9fafb}.agent-proposal-blocked .agent-proposal-actions .btn[disabled]{opacity:.5;cursor:not-allowed}.agent-proposal-reason{color:var(--text-tertiary,#9ca3af);align-items:flex-start;gap:5px;font-size:11px;font-style:italic;display:flex}.agent-proposal-reason i{margin-top:2px}.agent-proposal-actions{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.agent-applied-badge{color:var(--agent-green);align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;display:flex}.agent-monday-list,.agent-trash-list{padding:4px}.agent-monday-item,.agent-trash-item{border-bottom:1px solid var(--border-light,#f3f4f6);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.agent-monday-item:last-child,.agent-trash-item:last-child{border-bottom:none}.agent-monday-info,.agent-trash-info{color:var(--text-primary,#374151);flex-wrap:wrap;flex:1;align-items:center;gap:6px;font-size:12px;display:flex}.agent-monday-info i{color:var(--agent-orange)}.agent-trash-reason{color:var(--text-tertiary,#9ca3af);font-style:italic}.agent-hotel-suggestions-list{padding:4px}.agent-hotel-suggestion-item{border-bottom:1px solid var(--border-light,#f3f4f6);align-items:center;gap:12px;padding:8px 12px;display:flex}.agent-hotel-suggestion-item:last-child{border-bottom:none}.agent-hotel-suggestion-info{color:var(--text-primary,#374151);flex-wrap:wrap;flex:1;align-items:center;gap:8px;font-size:12px;display:flex}.agent-hotel-city{color:var(--agent-blue-800,#1e40af);font-weight:500}.agent-hotel-coords{color:var(--text-tertiary,#9ca3af);font-family:monospace;font-size:11px}.agent-hotel-reason{color:var(--text-tertiary,#9ca3af);font-size:11px;font-style:italic}.agent-monday-actions{flex-shrink:0;gap:4px;display:flex}.agent-panel-footer{background:var(--bg-secondary,#f8f9fa);border-top:1px solid var(--border-color,#e5e7eb);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.agent-footer-stats{color:var(--text-secondary,#6b7280);gap:20px;font-size:12px;display:flex}.agent-footer-actions{gap:8px;display:flex}.agent-error-state{text-align:center;color:var(--agent-red);padding:60px 20px}.agent-error-state i{opacity:.7;margin-bottom:16px;font-size:40px}.agent-error-state p{max-width:500px;margin:0 auto;font-size:14px}.agent-empty-result{text-align:center;color:var(--agent-green);padding:60px 20px}.agent-empty-result i{margin-bottom:12px;font-size:40px}.agent-empty-result h3{margin-bottom:6px}.agent-empty-result p{color:var(--text-secondary,#6b7280)}.agent-email-overlay{z-index:10001;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.agent-email-modal{background:var(--bg-primary,#fff);border-radius:var(--radius-xl,12px);flex-direction:column;width:600px;max-width:95vw;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 16px 60px #0000004d}.agent-email-header{background:linear-gradient(135deg, var(--agent-blue-dark), var(--agent-blue));color:#fff;justify-content:space-between;align-items:center;padding:12px 20px;font-weight:600;display:flex}.agent-email-header .btn-ghost{color:#fff}.agent-email-body{flex:1;padding:20px;overflow-y:auto}.agent-email-field{margin-bottom:14px}.agent-email-field label{color:var(--text-secondary,#6b7280);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.agent-email-input{border:1px solid var(--border-color,#d1d5db);border-radius:var(--radius-md,6px);width:100%;padding:8px 12px;font-family:inherit;font-size:13px}.agent-email-textarea{border:1px solid var(--border-color,#d1d5db);border-radius:var(--radius-md,6px);resize:vertical;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.5}.agent-email-footer{background:var(--bg-secondary,#f8f9fa);border-top:1px solid var(--border-color,#e5e7eb);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.agent-error{text-align:center;color:var(--agent-red);padding:30px;font-size:13px}.agent-error i{margin-bottom:8px;font-size:24px;display:block}.btn.btn-agent{background:linear-gradient(135deg, var(--agent-blue-dark), var(--agent-blue));color:#fff;border:none;font-weight:600}.btn.btn-agent:hover{background:linear-gradient(135deg, var(--agent-blue), var(--agent-blue-light));box-shadow:0 2px 8px #2563eb66}.btn-agent i{margin-right:2px}.agent-strategy-bar{background:var(--bg-secondary,#f8f9fa);border-bottom:1px solid var(--border-color,#e5e7eb);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.agent-strategy-pills{gap:6px;display:flex}.agent-strat-pill{border:2px solid var(--border-color,#e2e8f0);background:var(--bg-primary,#fff);cursor:pointer;border-radius:10px;outline:none;align-items:center;gap:8px;padding:8px 16px;transition:all .2s;display:flex;position:relative}.agent-strat-pill i{color:var(--agent-slate-400);flex-shrink:0;font-size:14px}.agent-strat-pill-name{color:var(--text-primary,#1e293b);white-space:nowrap;font-size:13px;font-weight:700}.agent-strat-pill-desc{color:var(--text-tertiary,#9ca3af);white-space:nowrap;font-size:10px}.agent-strat-pill:hover{border-color:var(--agent-blue-hover);box-shadow:0 2px 8px #2563eb14}.agent-strat-pill.strat-safe.active{border-color:var(--agent-green);background:var(--agent-green-bg)}.agent-strat-pill.strat-safe.active i{color:var(--agent-green)}.agent-strat-pill.strat-balanced.active{border-color:var(--agent-blue);background:var(--agent-blue-bg)}.agent-strat-pill.strat-balanced.active i{color:var(--agent-blue)}.agent-strat-pill.strat-aggressive.active{border-color:var(--agent-red);background:var(--agent-red-bg)}.agent-strat-pill.strat-aggressive.active i{color:var(--agent-red)}.agent-action-group{flex-shrink:0;align-items:center;gap:8px;display:flex}.agent-model-toggle{background:var(--agent-amber-bg-deep);color:var(--agent-amber-dark);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.agent-model-toggle:hover{box-shadow:0 2px 6px #0000001a}.agent-model-toggle.model-pro{background:var(--agent-indigo-bg);color:var(--agent-indigo-dark)}.agent-adv-toggle-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-primary,#fff);width:34px;height:34px;color:var(--agent-slate-400);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:13px;transition:all .2s;display:flex}.agent-adv-toggle-btn:hover{border-color:var(--agent-blue);color:var(--agent-blue);background:var(--agent-blue-bg)}.agent-adv-toggle-btn.active{background:var(--agent-blue-bg);color:var(--agent-blue);border-color:var(--agent-blue)}.agent-settings-panel{border-bottom:1px solid var(--border-color,#e2e8f0);background:var(--agent-slate-50);flex-shrink:0;max-height:50vh;padding:12px 20px;animation:.2s ease-out agentSettingsSlide;overflow-y:auto}@keyframes agentSettingsSlide{0%{opacity:0}to{opacity:1}}.agent-advanced-grid{grid-template-columns:1fr 1fr;gap:6px 24px;display:grid}.agent-advanced-col{flex-direction:column;gap:6px;display:flex}.agent-adv-row{justify-content:space-between;align-items:center;gap:10px;min-height:30px;display:flex}.agent-adv-label{color:var(--text-secondary,#64748b);white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.agent-adv-label i{color:var(--agent-slate-400);text-align:center;width:13px;font-size:10px}.agent-adv-control{align-items:center;gap:4px;display:flex}.agent-adv-instructions{margin-top:8px}.agent-instructions-textarea{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-primary,#fff);resize:vertical;width:100%;color:var(--text-primary,#334155);border-radius:6px;padding:6px 10px;font-family:inherit;font-size:11px;line-height:1.4}.agent-instructions-textarea:focus{border-color:var(--agent-blue);outline:none;box-shadow:0 0 0 2px #2563eb1f}.agent-instructions-textarea::placeholder{color:var(--agent-slate-400);font-style:italic}.agent-range{cursor:pointer;width:80px;accent-color:var(--agent-blue);height:4px}.agent-range-value{color:var(--agent-blue);text-align:center;background:var(--agent-blue-bg);border-radius:4px;min-width:20px;padding:1px 4px;font-size:11px;font-weight:700}.agent-range-unit{color:var(--agent-slate-400);font-size:10px;font-weight:500}.agent-toggle-switch{cursor:pointer;align-items:center;gap:6px;display:flex}.agent-toggle-switch input{display:none}.agent-toggle-slider{background:var(--agent-slate-300);border-radius:9px;width:32px;height:18px;transition:background .2s;position:relative}.agent-toggle-slider:after{content:"";background:var(--bg-surface,#fff);border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.agent-toggle-switch input:checked+.agent-toggle-slider{background:var(--agent-blue)}.agent-toggle-switch input:checked+.agent-toggle-slider:after{transform:translate(14px)}.agent-select{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-primary,#fff);cursor:pointer;color:var(--text-primary,#334155);border-radius:5px;padding:3px 6px;font-size:11px}.agent-time-input{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-primary,#fff);width:70px;color:var(--text-primary,#334155);border-radius:5px;padding:2px 5px;font-size:11px}.agent-time-range{color:var(--agent-slate-400);align-items:center;gap:4px;font-size:11px;display:flex}.agent-select:focus,.agent-time-input:focus{border-color:var(--agent-blue);outline:none;box-shadow:0 0 0 2px #2563eb1f}.agent-undo-btn{background:var(--agent-amber-bg-deep);color:var(--agent-amber-dark);border:1px solid var(--agent-amber-border);transition:all var(--transition-fast);margin-left:4px}.agent-undo-btn:hover{background:var(--agent-amber-border);color:#78350f}.agent-scope-section{border-top:2px solid var(--agent-blue-hover,#93c5fd);background:var(--agent-blue-bg,#eff6ff);border-radius:8px;margin-top:10px;margin-bottom:4px;padding:12px}.agent-scope-header{color:var(--agent-blue);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.agent-scope-header i{font-size:10px}.agent-scope-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.agent-scope-col{flex-direction:column;gap:6px;display:flex}.agent-scope-label{color:var(--text-primary,#334155);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.agent-scope-label i{color:var(--agent-slate-400);text-align:center;width:13px;font-size:10px}.agent-scope-checkboxes{flex-wrap:wrap;gap:12px;display:flex}.agent-scope-cb-label{color:var(--text-primary,#334155);cursor:pointer;align-items:center;gap:5px;padding:3px 0;font-size:11px;display:flex}.agent-scope-cb-label input[type=checkbox]{accent-color:var(--agent-blue);cursor:pointer;width:14px;height:14px}.agent-scope-cb-label i{color:var(--agent-slate-400);font-size:10px}.agent-scope-option{flex-direction:column;gap:2px;margin-top:4px;display:flex}.agent-scope-hint{color:var(--agent-slate-400);font-size:10px;font-style:italic}.agent-ignored-count{color:var(--agent-slate-400);font-size:10px;font-weight:400}.agent-ignored-chips{flex-wrap:wrap;gap:4px;min-height:24px;max-height:80px;display:flex;overflow-y:auto}.agent-ignored-empty{color:var(--agent-slate-400);padding:4px 0;font-size:10px;font-style:italic}.agent-ignored-chip{background:var(--agent-red-bg-light,#fee2e2);color:var(--agent-red-dark,#991b1b);border:1px solid var(--agent-red-bg-deep,#fecaca);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:500;line-height:1.4;display:inline-flex}.agent-ignored-chip i{opacity:.7;font-size:9px}.agent-chip-remove{cursor:pointer;color:var(--agent-red-dark,#991b1b);opacity:.6;background:0 0;border:none;padding:0 2px;font-size:9px;line-height:1;transition:opacity .15s}.agent-chip-remove:hover{opacity:1}.agent-ignored-add{position:relative}.agent-add-ignored-btn{background:var(--bg-secondary,#f0f4f8);border:1px dashed var(--border-color,#e2e8f0);color:var(--agent-slate-500);cursor:pointer;border-radius:12px;padding:3px 10px;font-size:10px;transition:all .15s}.agent-add-ignored-btn:hover{background:var(--agent-blue-bg);border-color:var(--agent-blue);color:var(--agent-blue)}.agent-ignore-picker{z-index:100;background:var(--bg-surface,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;flex-direction:column;width:240px;max-height:260px;animation:.15s ease-out agentFadeIn;display:flex;position:absolute;top:100%;left:0;box-shadow:0 8px 30px #00000026}.agent-ignore-picker-header{border-bottom:1px solid var(--border-color,#e2e8f0);align-items:center;gap:4px;padding:6px 8px;display:flex}.agent-ignore-search{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-primary,#fff);color:var(--text-primary,#334155);border-radius:5px;flex:1;padding:4px 8px;font-size:11px}.agent-ignore-search:focus{border-color:var(--agent-blue);outline:none}.agent-ignore-picker-list{flex:1;padding:4px 0;overflow-y:auto}.agent-ignore-group-header{color:var(--agent-slate-500);text-transform:uppercase;letter-spacing:.3px;justify-content:space-between;align-items:center;gap:5px;padding:6px 10px 3px;font-size:10px;font-weight:700;display:flex}.agent-ignore-group-header i{font-size:9px}.agent-ignore-all-btn{background:var(--agent-red-bg-light);color:var(--agent-red-dark);border:1px solid var(--agent-red-bg-deep);cursor:pointer;text-transform:none;letter-spacing:0;border-radius:8px;padding:1px 6px;font-size:9px;font-weight:500}.agent-ignore-all-btn:hover{background:var(--agent-red-bg-deep)}.agent-ignore-picker-item{cursor:pointer;color:var(--text-primary,#334155);align-items:center;gap:6px;padding:5px 12px;font-size:11px;transition:background .1s;display:flex}.agent-ignore-picker-item:hover{background:var(--agent-red-bg-light,#fee2e2)}.agent-ignore-picker-item i{color:var(--agent-slate-400);text-align:center;width:14px;font-size:10px}.agent-locked-badge{background:var(--agent-amber-bg-deep);color:var(--agent-amber-dark);border:1px solid var(--agent-amber-border);border-radius:10px;align-items:center;gap:3px;padding:1px 7px;font-size:10px;font-weight:500;display:inline-flex}@media (width<=768px){.agent-scope-grid{grid-template-columns:1fr}.agent-ignore-picker{width:100%;left:0;right:0}}.agent-elapsed-timer{font-size:var(--text-lg);color:var(--agent-blue);font-variant-numeric:tabular-nums;margin-top:8px;font-weight:700}@media (width<=768px){.agent-panel{width:98vw;height:95vh}.agent-strategy-bar{flex-direction:column;gap:8px}.agent-strategy-pills{flex-wrap:wrap}.agent-strat-pill{flex:1;justify-content:center;min-width:100px}.agent-strat-pill-desc{display:none}.agent-advanced-grid{grid-template-columns:1fr}.agent-summary-bar{gap:8px}.agent-summary-item{min-width:60px;padding:4px 6px}.agent-summary-value{font-size:18px}.agent-summary-actions{justify-content:center;width:100%}.agent-proposal-card{flex-direction:column}.agent-proposal-actions{flex-direction:row}.agent-scope-bar{flex-direction:column;gap:8px}.agent-scope-bar-right,.agent-people-picker-btn{width:100%}}.agent-header-actions{align-items:center;gap:4px;display:flex}.agent-scope-bar{background:var(--agent-blue-bg,#eff6ff);border-bottom:2px solid var(--agent-blue-hover,#93c5fd);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.agent-scope-bar-left{align-items:center;gap:10px;display:flex}.agent-scope-bar-label{color:var(--agent-blue,#2563eb);white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:5px;font-size:12px;font-weight:700;display:flex}.agent-scope-bar-label i{color:var(--agent-blue);font-size:10px}.agent-scope-group-toggles{gap:6px;display:flex}.agent-scope-toggle{border:2px solid var(--border-color,#e2e8f0);background:var(--bg-primary,#fff);color:var(--text-secondary,#64748b);cursor:pointer;border-radius:20px;outline:none;align-items:center;gap:6px;padding:5px 14px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.agent-scope-toggle i{font-size:11px}.agent-scope-toggle:hover{border-color:var(--agent-blue-hover);background:var(--agent-blue-bg)}.agent-scope-toggle.active{border-color:var(--agent-blue);background:var(--agent-blue-bg);color:var(--agent-blue)}.agent-scope-toggle.active i{color:var(--agent-blue)}.agent-scope-bar-right{align-items:center;display:flex}.agent-people-picker-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-primary,#fff);color:var(--text-primary,#334155);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;max-width:280px;padding:5px 14px;font-size:12px;transition:all .2s;display:flex;overflow:hidden}.agent-people-picker-btn:hover{border-color:var(--agent-blue);background:var(--agent-blue-bg)}.agent-people-picker-btn i:first-child{color:var(--agent-blue);font-size:11px}.agent-people-chevron{color:var(--agent-slate-400);margin-left:auto;font-size:9px;transition:transform .2s}.agent-people-picker{border-bottom:1px solid var(--border-color,#e5e7eb);background:var(--agent-slate-50);flex-direction:column;flex-shrink:0;max-height:300px;animation:.2s ease-out agentSettingsSlide;display:flex}.agent-people-picker-header{border-bottom:1px solid var(--border-color,#e2e8f0);align-items:center;gap:8px;padding:8px 16px;display:flex}.agent-people-search{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-primary,#fff);color:var(--text-primary,#334155);border-radius:6px;flex:1;padding:5px 10px;font-size:12px}.agent-people-search:focus{border-color:var(--agent-blue);outline:none;box-shadow:0 0 0 2px #2563eb1f}.agent-people-picker-actions{gap:4px;display:flex}.agent-people-picker-list{flex:1;max-height:200px;padding:4px 0;overflow-y:auto}.agent-people-group{margin-bottom:2px}.agent-people-group-disabled{opacity:.45;pointer-events:none}.agent-people-group-header{background:var(--bg-secondary,#f0f4f8);border-bottom:1px solid var(--border-color,#e2e8f0);padding:4px 16px}.agent-people-group-cb-label{color:var(--text-primary,#334155);cursor:pointer;text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.agent-people-group-cb-label input[type=checkbox]{accent-color:var(--agent-blue);width:14px;height:14px}.agent-people-group-cb-label i{color:var(--agent-slate-400);font-size:10px}.agent-people-group-count{color:var(--agent-slate-400);font-size:10px;font-weight:400}.agent-people-item{padding:3px 16px 3px 32px;transition:background .1s}.agent-people-item:hover{background:var(--agent-blue-bg)}.agent-people-item-disabled{opacity:.4;pointer-events:none}.agent-people-item-ignored{opacity:.5}.agent-people-item-label{color:var(--text-primary,#334155);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.agent-people-item-label input[type=checkbox]{accent-color:var(--agent-blue);cursor:pointer;width:14px;height:14px}.agent-people-name{flex:1}.agent-people-ignored-badge{color:var(--agent-red);background:var(--agent-red-bg);border-radius:8px;align-items:center;gap:3px;padding:1px 6px;font-size:9px;display:flex}.agent-people-picker-footer{border-top:1px solid var(--border-color,#e2e8f0);background:var(--bg-secondary,#f0f4f8);justify-content:space-between;align-items:center;padding:6px 16px;display:flex}.agent-people-count{color:var(--text-secondary,#64748b);font-size:11px;font-weight:500}.agent-loading-actions{justify-content:center;gap:8px;margin-top:16px;display:flex}.agent-abort-btn{border:1px solid var(--agent-red);color:var(--agent-red);background:var(--agent-red-bg);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 16px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.agent-abort-btn:hover{background:var(--agent-red);color:#fff}.agent-minimize-btn-inline{border:1px solid var(--border-color,#e2e8f0);color:var(--text-secondary,#64748b);background:var(--bg-primary,#fff);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 16px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.agent-minimize-btn-inline:hover{background:var(--agent-blue-bg);border-color:var(--agent-blue);color:var(--agent-blue)}.agent-floating-indicator{z-index:10002;background:linear-gradient(135deg, var(--agent-blue-dark), var(--agent-blue));color:#fff;cursor:pointer;border-radius:14px;align-items:center;gap:6px;padding:8px 6px 8px 14px;animation:.3s ease-out agentFloatIn;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 30px #2563eb66,0 0 0 2px #fff3}@keyframes agentFloatIn{0%{opacity:0;transform:translateY(20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.agent-floating-content{flex:1;align-items:center;gap:8px;display:flex}.agent-floating-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite agentSpin}.agent-floating-text{white-space:nowrap;font-size:12px;font-weight:600}.agent-floating-timer{font-variant-numeric:tabular-nums;background:#fff3;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:700}.agent-floating-abort,.agent-floating-restore{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;transition:all .2s;display:flex}.agent-floating-abort:hover{background:var(--agent-red)}.agent-floating-restore:hover{background:#ffffff4d}.agent-completion-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10003;background:#00000080;justify-content:center;align-items:center;animation:.2s ease-out agentFadeIn;display:flex;position:fixed;inset:0}.agent-completion-card{background:var(--bg-primary,#fff);text-align:center;border-radius:16px;width:90vw;max-width:400px;padding:32px 40px;animation:.3s ease-out agentSlideUp;box-shadow:0 24px 80px #0000004d}.agent-completion-icon{color:var(--agent-green);margin-bottom:12px;font-size:48px;animation:.6s ease-out agentCompletionPulse}@keyframes agentCompletionPulse{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.agent-completion-card h3{color:var(--text-primary,#1f2937);margin-bottom:16px;font-size:18px}.agent-completion-stats{justify-content:center;gap:20px;margin-bottom:20px;display:flex}.agent-completion-stat{flex-direction:column;align-items:center;display:flex}.agent-completion-stat-value{color:var(--text-primary,#1f2937);font-size:24px;font-weight:700}.agent-completion-stat-good .agent-completion-stat-value{color:var(--agent-green)}.agent-completion-stat-label{color:var(--text-secondary,#6b7280);margin-top:2px;font-size:11px}.agent-completion-actions{justify-content:center;gap:8px;display:flex}.agent-completion-hint{color:var(--text-tertiary,#9ca3af);margin-top:14px;font-size:11px;font-style:italic}.agent-ready-badge{background:var(--agent-green);color:#fff;border:2px solid var(--bg-primary,#fff);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;animation:2s ease-in-out infinite agentBadgePulse;display:flex;position:absolute;top:-5px;right:-5px}@keyframes agentBadgePulse{0%,to{transform:scale(1);box-shadow:0 0 #16a34a80}50%{transform:scale(1.15);box-shadow:0 0 0 6px #16a34a00}}.btn-agent.agent-btn-has-results{animation:2s ease-in-out infinite agentBtnGlow}@keyframes agentBtnGlow{0%,to{box-shadow:0 0 #2563eb4d}50%{box-shadow:0 0 12px 4px #2563eb66}}[data-theme=dark]{--primary:#818cf8;--primary-dark:#6366f1;--primary-light:#a5b4fc;--success:#34d399;--warning:#fbbf24;--danger:#f87171;--info:#60a5fa;--purple:#a78bfa;--gray-50:#111827;--gray-100:#1f2937;--gray-200:#374151;--gray-300:#4b5563;--gray-400:#6b7280;--gray-500:#9ca3af;--gray-600:#d1d5db;--gray-700:#e5e7eb;--gray-800:#f3f4f6;--gray-900:#f9fafb;--bg-surface:#1a2131;--bg-surface-alt:#222c3d;--text-color:#e2e8f0;--text-secondary:#94a3b8;--border-color:#2a3446;--header-bg:linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--header-text:#fff;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -2px #0000004d;--agent-blue:#60a5fa;--agent-blue-dark:#1e3a5f;--agent-blue-light:#93c5fd;--agent-blue-hover:#3b82f6;--agent-blue-bg:#1e293b;--agent-blue-bg-deep:#1e3a5f;--agent-blue-800:#93c5fd;--agent-green:#34d399;--agent-green-light:#6ee7b7;--agent-green-bg:#052e16;--agent-green-bg-deep:#064e3b;--agent-green-dark:#6ee7b7;--agent-red:#f87171;--agent-red-bg:#450a0a;--agent-red-bg-deep:#7f1d1d;--agent-red-bg-light:#991b1b;--agent-red-dark:#fca5a5;--agent-orange:#fb923c;--agent-orange-bg:#431407;--agent-orange-bg-deep:#7c2d12;--agent-orange-dark:#fdba74;--agent-amber-bg:#451a03;--agent-amber-dark:#fbbf24;--agent-amber-border:#92400e;--agent-amber-bg-deep:#78350f;--agent-indigo-bg:#312e81;--agent-indigo-dark:#c7d2fe;--agent-violet-bg:#2e1065;--agent-violet-dark:#c4b5fd;--agent-slate-50:#0f172a;--agent-slate-100:#1e293b;--agent-slate-300:#475569;--agent-slate-400:#94a3b8;--agent-slate-500:#cbd5e1;--text-primary:#e2e8f0;--text-tertiary:#94a3b8;--bg-primary:#1e293b;--bg-secondary:#141a24;--bg-hover:#1e2a3b;--text-muted:#94a3b8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){html:not([data-theme=light]){--primary:#818cf8;--primary-dark:#6366f1;--primary-light:#a5b4fc;--success:#34d399;--warning:#fbbf24;--danger:#f87171;--info:#60a5fa;--purple:#a78bfa;--gray-50:#111827;--gray-100:#1f2937;--gray-200:#374151;--gray-300:#4b5563;--gray-400:#6b7280;--gray-500:#9ca3af;--gray-600:#d1d5db;--gray-700:#e5e7eb;--gray-800:#f3f4f6;--gray-900:#f9fafb;--bg-surface:#1a2131;--bg-surface-alt:#222c3d;--text-color:#e2e8f0;--text-secondary:#94a3b8;--border-color:#2a3446;--header-bg:linear-gradient(135deg, #0a0c10 0%, #12161d 100%);--header-text:#fff;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -2px #0000004d;--agent-blue:#60a5fa;--agent-blue-dark:#1e3a5f;--agent-blue-light:#93c5fd;--agent-blue-hover:#3b82f6;--agent-blue-bg:#1e293b;--text-primary:#e2e8f0;--text-tertiary:#94a3b8;--bg-primary:#1e293b;--bg-secondary:#141a24;--bg-hover:#1e2a3b;--text-muted:#94a3b8;--agent-blue-bg-deep:#1e3a5f;--agent-blue-800:#93c5fd;--agent-green:#34d399;--agent-green-light:#6ee7b7;--agent-green-bg:#052e16;--agent-green-bg-deep:#064e3b;--agent-green-dark:#6ee7b7;--agent-red:#f87171;--agent-red-bg:#450a0a;--agent-red-bg-deep:#7f1d1d;--agent-red-bg-light:#991b1b;--agent-red-dark:#fca5a5;--agent-orange:#fb923c;--agent-orange-bg:#431407;--agent-orange-bg-deep:#7c2d12;--agent-orange-dark:#fdba74;--agent-amber-bg:#451a03;--agent-amber-dark:#fbbf24;--agent-amber-border:#92400e;--agent-amber-bg-deep:#78350f;--agent-indigo-bg:#312e81;--agent-indigo-dark:#c7d2fe;--agent-violet-bg:#2e1065;--agent-violet-dark:#c4b5fd;--agent-slate-50:#0f172a;--agent-slate-100:#1e293b;--agent-slate-300:#475569;--agent-slate-400:#94a3b8;--agent-slate-500:#cbd5e1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}[data-theme=dark] body{color:var(--text-color);background:#0f141d}@media (prefers-color-scheme:dark){html:not([data-theme=light]) body{color:var(--text-color);background:#0f141d}}[data-theme=dark] .app-header{border-bottom:1px solid var(--border-color)}[data-theme=dark] .header-stats span,[data-theme=dark] .header-stats .stat-value{color:#cbd5e1}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .app-header{border-bottom:1px solid var(--border-color)}html:not([data-theme=light]) .header-stats span,html:not([data-theme=light]) .header-stats .stat-value{color:#cbd5e1}}[data-theme=dark] .modal-overlay{background:#000000bf}[data-theme=dark] .modal,[data-theme=dark] .route-calc-modal{border:1px solid var(--border-color)}[data-theme=dark] .modal-header{background:var(--bg-surface);border-bottom:1px solid var(--border-color);color:var(--text-color)}[data-theme=dark] .modal-body{color:var(--text-color)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .modal-overlay{background:#000000bf}html:not([data-theme=light]) .modal,html:not([data-theme=light]) .route-calc-modal{border:1px solid var(--border-color)}html:not([data-theme=light]) .modal-header{background:var(--bg-surface);border-bottom:1px solid var(--border-color);color:var(--text-color)}html:not([data-theme=light]) .modal-body{color:var(--text-color)}}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--gray-200);color:var(--text-color);border-color:var(--border-color)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--gray-400)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) input,html:not([data-theme=light]) select,html:not([data-theme=light]) textarea{background:var(--gray-200);color:var(--text-color);border-color:var(--border-color)}html:not([data-theme=light]) input::placeholder,html:not([data-theme=light]) textarea::placeholder{color:var(--gray-400)}}html[data-theme=dark] #forecast-week-picker-select,html[data-theme=dark] #forecast-week-picker-select:disabled{color:#111827;-webkit-text-fill-color:#111827;opacity:1;background:#f8fafc;border-color:#94a3b8}html[data-theme=dark] #forecast-week-picker-select option{color:#111827;background:#f8fafc}@media (prefers-color-scheme:dark){html:not([data-theme=light]) #forecast-week-picker-select,html:not([data-theme=light]) #forecast-week-picker-select:disabled{color:#111827;-webkit-text-fill-color:#111827;opacity:1;background:#f8fafc;border-color:#94a3b8}html:not([data-theme=light]) #forecast-week-picker-select option{color:#111827;background:#f8fafc}}[data-theme=dark] .btn{color:var(--text-color)}[data-theme=dark] .btn-primary{color:#fff}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .btn{color:var(--text-color)}html:not([data-theme=light]) .btn-primary{color:#fff}}[data-theme=dark] .sidebar{border-right:1px solid var(--border-color)}[data-theme=dark] .sidebar-tabs{background:var(--gray-50);border-bottom:1px solid var(--border-color)}[data-theme=dark] .sidebar-tab{color:var(--text-secondary)}[data-theme=dark] .sidebar-tab.active{background:var(--bg-surface);color:var(--primary-light);border-bottom-color:var(--primary)}[data-theme=dark] .sidebar-tab:hover:not(.active){background:var(--gray-200)}[data-theme=dark] .sidebar-content{color:var(--text-color)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .sidebar{border-right:1px solid var(--border-color)}html:not([data-theme=light]) .sidebar-tabs{background:var(--gray-50);border-bottom:1px solid var(--border-color)}html:not([data-theme=light]) .sidebar-tab{color:var(--text-secondary)}html:not([data-theme=light]) .sidebar-tab.active{background:var(--bg-surface);color:var(--primary-light);border-bottom-color:var(--primary)}html:not([data-theme=light]) .sidebar-tab:hover:not(.active){background:var(--gray-200)}html:not([data-theme=light]) .sidebar-content{color:var(--text-color)}}[data-theme=dark] .task-card,[data-theme=dark] .task-item{background:var(--gray-200);border-color:var(--border-color);color:var(--text-color)}[data-theme=dark] .task-card:hover,[data-theme=dark] .task-item:hover{background:var(--gray-300)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .task-card,html:not([data-theme=light]) .task-item{background:var(--gray-200);border-color:var(--border-color);color:var(--text-color)}html:not([data-theme=light]) .task-card:hover,html:not([data-theme=light]) .task-item:hover{background:var(--gray-300)}}[data-theme=dark] .tech-item,[data-theme=dark] .tech-header{color:var(--text-color)}[data-theme=dark] .tech-item:hover{background:var(--gray-200)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .tech-item,html:not([data-theme=light]) .tech-header{color:var(--text-color)}html:not([data-theme=light]) .tech-item:hover{background:var(--gray-200)}}[data-theme=dark] .dropdown-menu,[data-theme=dark] .context-menu,[data-theme=dark] .sched-context-menu,[data-theme=dark] .header-menu-panel{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-color)}[data-theme=dark] .dropdown-menu li:hover,[data-theme=dark] .context-menu li:hover,[data-theme=dark] .sched-context-menu li:hover,[data-theme=dark] .header-menu-item:hover{background:var(--gray-200)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .dropdown-menu,html:not([data-theme=light]) .context-menu,html:not([data-theme=light]) .sched-context-menu,html:not([data-theme=light]) .header-menu-panel{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-color)}html:not([data-theme=light]) .dropdown-menu li:hover,html:not([data-theme=light]) .context-menu li:hover,html:not([data-theme=light]) .sched-context-menu li:hover,html:not([data-theme=light]) .header-menu-item:hover{background:var(--gray-200)}}[data-theme=dark] .map-legend,[data-theme=dark] .map-controls-panel,[data-theme=dark] .map-toolbar{background:var(--bg-surface);color:var(--text-color);border:1px solid var(--border-color)}[data-theme=dark] .legend-tab{color:var(--text-color)}[data-theme=dark] .legend-tab.active{background:var(--gray-200)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .map-legend,html:not([data-theme=light]) .map-controls-panel,html:not([data-theme=light]) .map-toolbar{background:var(--bg-surface);color:var(--text-color);border:1px solid var(--border-color)}html:not([data-theme=light]) .legend-tab{color:var(--text-color)}html:not([data-theme=light]) .legend-tab.active{background:var(--gray-200)}}[data-theme=dark] .details-panel{background:var(--bg-surface);color:var(--text-color);border-left:1px solid var(--border-color)}[data-theme=dark] .details-panel-header{border-bottom:1px solid var(--border-color)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .details-panel{background:var(--bg-surface);color:var(--text-color);border-left:1px solid var(--border-color)}html:not([data-theme=light]) .details-panel-header{border-bottom:1px solid var(--border-color)}}[data-theme=dark] .scheduler-header,[data-theme=dark] .scheduler-week-overview,[data-theme=dark] .sched-week-day,[data-theme=dark] .scheduler-week-label{color:var(--text-color);border-color:var(--border-color)}[data-theme=dark] .sched-cell{border-color:var(--border-color)}[data-theme=dark] .sched-day-header{background:var(--gray-50);color:var(--text-secondary);border-color:var(--border-color)}[data-theme=dark] .sched-tech-name{color:var(--text-color)}[data-theme=dark] .sched-task{border-color:var(--border-color)}[data-theme=dark] .scheduler-container{border:1px solid var(--border-color)}[data-theme=dark] #trash-btn.trash-has-items,[data-theme=dark] #trash-btn.trash-has-items i.fa-trash{color:#f87171}[data-theme=dark] .task-deleting{background-color:#f8717126}[data-theme=dark] .sched-grid-wrapper,[data-theme=dark] .sched-week-wrapper{background:var(--bg-surface-alt)}[data-theme=dark] .sched-col-header{background:var(--gray-100);color:var(--text-color);border-color:var(--border-color)}[data-theme=dark] .sched-col-body{border-color:var(--border-color)}[data-theme=dark] .sched-time-header{background:var(--gray-100)}[data-theme=dark] .sched-time-slot{color:var(--gray-500);border-color:var(--border-color)}[data-theme=dark] .sched-half-hour-line{background:var(--gray-100)}[data-theme=dark] .sched-slots-bg{background:var(--bg-surface)}[data-theme=dark] .sched-task-time{color:var(--gray-600)}[data-theme=dark] .sched-task-address{color:var(--gray-700)}[data-theme=dark] .sched-task-type{color:var(--gray-500)}[data-theme=dark] .sched-task-street{color:var(--gray-400);font-weight:500}[data-theme=dark] .sched-compact-time{color:var(--gray-600)}[data-theme=dark] .sched-compact-city{color:var(--gray-800)}[data-theme=dark] .sched-week-task{color:var(--text-color)}[data-theme=dark] .sched-week-task .task-city{color:var(--gray-700)}[data-theme=dark] .sched-week-task .task-time{color:var(--gray-500)}[data-theme=dark] .sched-week-task .task-street{color:var(--gray-400);font-weight:500}[data-theme=dark] .sched-week-col-header{background:var(--gray-100);color:var(--text-color);border-color:var(--border-color)}[data-theme=dark] .sched-week-time-col{background:var(--gray-100);color:var(--gray-500);border-color:var(--border-color)}[data-theme=dark] .sched-week-hour-line{background:var(--gray-200)}[data-theme=dark] .sched-week-half-line{background:var(--gray-100)}[data-theme=dark] .sched-travel-block{color:var(--gray-500);background:#60a5fa1f;border-color:#60a5fa66}[data-theme=dark] .sched-travel-block.late{color:#fca5a5;background:#f871711f;border-color:#f8717166}[data-theme=dark] .sched-task-warning.danger{color:#fca5a5}[data-theme=dark] .sched-task-warning.warn{color:#fbbf24}[data-theme=dark] .sched-task-distance{color:var(--gray-500)}[data-theme=dark] .scheduler-overlay{background:var(--bg-surface-alt)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .scheduler-header,html:not([data-theme=light]) .scheduler-week-overview,html:not([data-theme=light]) .sched-week-day,html:not([data-theme=light]) .scheduler-week-label{color:var(--text-color);border-color:var(--border-color)}html:not([data-theme=light]) .sched-cell{border-color:var(--border-color)}html:not([data-theme=light]) .sched-day-header{background:var(--gray-50);color:var(--text-secondary);border-color:var(--border-color)}html:not([data-theme=light]) .sched-tech-name{color:var(--text-color)}html:not([data-theme=light]) .sched-task{border-color:var(--border-color)}html:not([data-theme=light]) .scheduler-container{border:1px solid var(--border-color)}html:not([data-theme=light]) #trash-btn.trash-has-items,html:not([data-theme=light]) #trash-btn.trash-has-items i.fa-trash{color:#f87171}html:not([data-theme=light]) .task-deleting{background-color:#f8717126}html:not([data-theme=light]) .sched-grid-wrapper,html:not([data-theme=light]) .sched-week-wrapper{background:var(--bg-surface-alt)}html:not([data-theme=light]) .sched-col-header{background:var(--gray-100);color:var(--text-color);border-color:var(--border-color)}html:not([data-theme=light]) .sched-col-body{border-color:var(--border-color)}html:not([data-theme=light]) .sched-time-header{background:var(--gray-100)}html:not([data-theme=light]) .sched-time-slot{color:var(--gray-500);border-color:var(--border-color)}html:not([data-theme=light]) .sched-hour-line{background:var(--gray-200)}html:not([data-theme=light]) .sched-half-hour-line{background:var(--gray-100)}html:not([data-theme=light]) .sched-slots-bg{background:var(--bg-surface)}html:not([data-theme=light]) .sched-task-time{color:var(--gray-600)}html:not([data-theme=light]) .sched-task-address{color:var(--gray-700)}html:not([data-theme=light]) .sched-task-type{color:var(--gray-500)}html:not([data-theme=light]) .sched-task-street{color:var(--gray-400);font-weight:500}html:not([data-theme=light]) .sched-compact-time{color:var(--gray-600)}html:not([data-theme=light]) .sched-compact-city{color:var(--gray-800)}html:not([data-theme=light]) .sched-week-task{color:var(--text-color)}html:not([data-theme=light]) .sched-week-task .task-city{color:var(--gray-700)}html:not([data-theme=light]) .sched-week-task .task-time{color:var(--gray-500)}html:not([data-theme=light]) .sched-week-col-header{background:var(--gray-100);color:var(--text-color);border-color:var(--border-color)}html:not([data-theme=light]) .sched-week-time-col{background:var(--gray-100);color:var(--gray-500);border-color:var(--border-color)}html:not([data-theme=light]) .sched-week-hour-line{background:var(--gray-200)}html:not([data-theme=light]) .sched-week-half-line{background:var(--gray-100)}html:not([data-theme=light]) .sched-travel-block{color:var(--gray-500);background:#60a5fa1f;border-color:#60a5fa66}html:not([data-theme=light]) .sched-travel-block.late{color:#fca5a5;background:#f871711f;border-color:#f8717166}html:not([data-theme=light]) .sched-task-warning.danger{color:#fca5a5}html:not([data-theme=light]) .sched-task-warning.warn{color:#fbbf24}html:not([data-theme=light]) .sched-task-distance{color:var(--gray-500)}html:not([data-theme=light]) .scheduler-overlay{background:var(--bg-surface-alt)}}[data-theme=dark] .sched-permit-banner--danger{color:#fca5a5;background:#450a0a;border-color:#991b1b}[data-theme=dark] .sched-permit-banner--warn{color:#fde68a;background:#451a03;border-color:#92400e}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .sched-permit-banner--danger{color:#fca5a5;background:#450a0a;border-color:#991b1b}html:not([data-theme=light]) .sched-permit-banner--warn{color:#fde68a;background:#451a03;border-color:#92400e}}[data-theme=dark] .day-schedule-header,[data-theme=dark] .schedule-task,[data-theme=dark] .day-column{background:var(--bg-surface);color:var(--text-color);border-color:var(--border-color)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .day-schedule-header,html:not([data-theme=light]) .schedule-task,html:not([data-theme=light]) .day-column{background:var(--bg-surface);color:var(--text-color);border-color:var(--border-color)}}[data-theme=dark] .status-warning,[data-theme=dark] .alert-warning{color:#fbbf24;background:#78350f;border-color:#92400e}[data-theme=dark] .status-error,[data-theme=dark] .alert-error,[data-theme=dark] .alert-danger{color:#fca5a5;background:#7f1d1d;border-color:#991b1b}[data-theme=dark] .status-success,[data-theme=dark] .alert-success{color:#6ee7b7;background:#064e3b;border-color:#065f46}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .status-warning,html:not([data-theme=light]) .alert-warning{color:#fbbf24;background:#78350f;border-color:#92400e}html:not([data-theme=light]) .status-error,html:not([data-theme=light]) .alert-error,html:not([data-theme=light]) .alert-danger{color:#fca5a5;background:#7f1d1d;border-color:#991b1b}html:not([data-theme=light]) .status-success,html:not([data-theme=light]) .alert-success{color:#6ee7b7;background:#064e3b;border-color:#065f46}}[data-theme=dark] .hotel-suggestion-item{background:var(--gray-200);border-color:var(--border-color);color:var(--text-color)}[data-theme=dark] .hotel-suggestion-item:hover{background:var(--gray-300)}[data-theme=dark] .sidebar-collapse{border-color:var(--border-color)}[data-theme=dark] .sidebar-collapse-btn{background:var(--bg-surface-alt);color:var(--text-color)}[data-theme=dark] .sidebar-collapse-btn:hover{background:var(--gray-200)}[data-theme=dark] .sidebar-collapse-body{background:var(--bg-surface);border-color:var(--border-color)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .hotel-suggestion-item{background:var(--gray-200);border-color:var(--border-color);color:var(--text-color)}html:not([data-theme=light]) .hotel-suggestion-item:hover{background:var(--gray-300)}html:not([data-theme=light]) .sidebar-collapse{border-color:var(--border-color)}html:not([data-theme=light]) .sidebar-collapse-btn{background:var(--bg-surface-alt);color:var(--text-color)}html:not([data-theme=light]) .sidebar-collapse-btn:hover{background:var(--gray-200)}html:not([data-theme=light]) .sidebar-collapse-body{background:var(--bg-surface);border-color:var(--border-color)}}[data-theme=dark] .sched-chip{color:var(--text-color);border-color:var(--border-color);background:var(--bg-surface)}[data-theme=dark] .sched-chip:hover{background:var(--gray-200)}[data-theme=dark] .sched-chip.active{color:var(--text-color);background:var(--gray-200)}[data-theme=dark] .sched-chip.active .sched-chip-count{color:var(--text-color)}[data-theme=dark] .sched-chip-count,[data-theme=dark] .sched-chip-row-label{color:var(--text-secondary)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .sched-chip{color:var(--text-color);border-color:var(--border-color);background:var(--bg-surface)}html:not([data-theme=light]) .sched-chip:hover{background:var(--gray-200)}html:not([data-theme=light]) .sched-chip.active{color:var(--text-color);background:var(--gray-200)}html:not([data-theme=light]) .sched-chip.active .sched-chip-count{color:var(--text-color)}html:not([data-theme=light]) .sched-chip-count,html:not([data-theme=light]) .sched-chip-row-label{color:var(--text-secondary)}}[data-theme=dark] .alert-item{background:var(--gray-200);border-color:var(--border-color)}[data-theme=dark] .alert-item.error{background:#450a0a;border-color:#991b1b #991b1b #991b1b #f87171}[data-theme=dark] .alert-item.error .alert-address{color:#fca5a5}[data-theme=dark] .alert-item.error .alert-reason{color:#f87171}[data-theme=dark] .alert-item.error .alert-tech{color:#fca5a5}[data-theme=dark] .alert-item.warning{background:#451a03;border-color:#92400e #92400e #92400e #fbbf24}[data-theme=dark] .alert-item.warning .alert-address{color:#fde68a}[data-theme=dark] .alert-item.warning .alert-reason{color:#fbbf24}[data-theme=dark] .alert-item.warning .alert-tech{color:#fde68a}[data-theme=dark] .alert-item.muted{background:var(--gray-100);border-color:var(--gray-300);border-left-color:var(--gray-400)}[data-theme=dark] .alert-item.muted .alert-address{color:var(--gray-500)}[data-theme=dark] .alert-item.muted .alert-reason{color:var(--gray-400)}[data-theme=dark] .alert-item .alert-address{color:var(--text-color)}[data-theme=dark] .alert-item .alert-tech,[data-theme=dark] .alerts-subtitle{color:var(--text-secondary)}[data-theme=dark] .alerts-subtitle.muted{color:var(--gray-500)}[data-theme=dark] .alert-item.shooting-critical{background:#450a0a;border-left-color:#ef5350}[data-theme=dark] .alert-item.shooting-warning{background:#451a03;border-left-color:#ff9800}[data-theme=dark] .alerts-subtitle.shooting-critical{color:#f87171;background:#450a0a;border-left-color:#ef5350}[data-theme=dark] .alerts-subtitle.shooting-warning{color:#ffb74d;background:#451a03;border-left-color:#ff9800}[data-theme=dark] .alerts-subtitle.shooting-warning-sibling{color:#9fa8da;background:#1a1a2e;border-left-color:#5c6bc0}[data-theme=dark] .alert-item.shooting-warning-sibling{background:#1a1a2e;border-left-color:#7986cb}[data-theme=dark] .alert-item.shooting-warning-sibling .alert-reason em{color:#9fa8da}[data-theme=dark] .alerts-subtitle.absence-conflict-critical{color:#f87171;background:#450a0a;border-left-color:#ef5350}[data-theme=dark] .alerts-subtitle.absence-conflict-warning{color:#ffb74d;background:#451a03;border-left-color:#f59e0b}[data-theme=dark] .alert-item.absence-conflict-critical{background:#450a0a;border-left-color:#ef5350}[data-theme=dark] .alert-item.absence-conflict-warning{background:#451a03;border-left-color:#f59e0b}[data-theme=dark] .alerts-subtitle.pre-cancelled{color:#78909c;background:#1a2027;border-left-color:#546e7a}[data-theme=dark] .alerts-subtitle.pre-cancelled .alerts-subtitle-hint{color:#546e7a}[data-theme=dark] .alert-item.pre-cancelled{background:#1a2027;border-left-color:#546e7a}[data-theme=dark] .alert-item.pre-cancelled .alert-address,[data-theme=dark] .alert-item.pre-cancelled .alert-reason strong{color:#546e7a}[data-theme=dark] .task-item.task-csv-cancelled{background:repeating-linear-gradient(-45deg,#0000,#0000 6px,#f871710f 6px 12px);border-left-color:#f8717180}[data-theme=dark] .task-cancelled-badge{color:#f87171;background:#f8717115;border-color:#f8717130}[data-theme=dark] .trash-tabs{background:var(--gray-100);border-bottom-color:var(--border-color)}[data-theme=dark] .trash-tab{color:var(--gray-400)}[data-theme=dark] .trash-tab:hover{color:var(--gray-200);background:var(--gray-200)}[data-theme=dark] .trash-tab.active{color:var(--primary-light);border-bottom-color:var(--primary-light)}[data-theme=dark] .shooting-trash-header{background:linear-gradient(135deg,#450a0a 0%,#451a03 100%)}[data-theme=dark] .shooting-trash-summary{color:#f87171}[data-theme=dark] .shooting-table thead th{background:var(--gray-200);color:var(--text-secondary);border-bottom-color:var(--border-color)}[data-theme=dark] .shooting-table tbody td{border-bottom-color:var(--border-color)}[data-theme=dark] .shooting-table tbody tr:hover{background:var(--gray-100)}[data-theme=dark] .shooting-row .shooting-val{color:#f87171}[data-theme=dark] .shooting-cancel-banner{background:var(--gray-100);border-color:#ef5350;box-shadow:0 8px 32px #00000080}[data-theme=dark] .scb-section.scb-critical{background:#450a0a;border-left-color:#ef5350}[data-theme=dark] .scb-section.scb-warning{background:#451a03;border-left-color:#ff9800}[data-theme=dark] .scb-section.scb-kept{background:#0a3d0a;border-left-color:#4caf50}[data-theme=dark] .scb-kept-row{background:#0a3d0a}[data-theme=dark] .scb-kept-row:hover{background:#1b5e20}[data-theme=dark] .sched-day-hotel-badge{color:#93c5fd;background:#1e3a5f;border-color:#3b82f6}[data-theme=dark] .sched-day-hotel-badge.warn{color:#fbbf24;background:#451a03;border-color:#f59e0b}[data-theme=dark] .sched-day-hotel-badge.danger{color:#f87171;background:#450a0a;border-color:#ef4444}[data-theme=dark] .sched-tech-hotel{color:#93c5fd}[data-theme=dark] .scb-text span{color:var(--gray-400)}[data-theme=dark] .scb-actions{background:var(--gray-200);border-top-color:var(--border-color)}[data-theme=dark] .scb-table thead th{background:var(--gray-200);color:var(--text-secondary);border-bottom-color:var(--border-color)}[data-theme=dark] .scb-table tbody td{border-bottom-color:var(--border-color)}[data-theme=dark] .scb-table tbody tr:hover{background:var(--gray-200)}[data-theme=dark] .scb-details-title.sibling{color:#9fa8da;border-bottom-color:#3949ab}[data-theme=dark] .scb-details-title.sibling i{color:#9fa8da}[data-theme=dark] .scb-table-sibling{border-color:#3949ab}[data-theme=dark] .scb-sibling-row{background:#1a1a2e}[data-theme=dark] .scb-sibling-row:hover{background:#1e1e3a}[data-theme=dark] .scb-sibling-row em{color:#9fa8da}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .alert-item{background:var(--gray-200);border-color:var(--border-color)}html:not([data-theme=light]) .alert-item.error{background:#450a0a;border-color:#991b1b #991b1b #991b1b #f87171}html:not([data-theme=light]) .alert-item.error .alert-address{color:#fca5a5}html:not([data-theme=light]) .alert-item.error .alert-reason{color:#f87171}html:not([data-theme=light]) .alert-item.error .alert-tech{color:#fca5a5}html:not([data-theme=light]) .alert-item.warning{background:#451a03;border-color:#92400e #92400e #92400e #fbbf24}html:not([data-theme=light]) .alert-item.warning .alert-address{color:#fde68a}html:not([data-theme=light]) .alert-item.warning .alert-reason{color:#fbbf24}html:not([data-theme=light]) .alert-item.warning .alert-tech{color:#fde68a}html:not([data-theme=light]) .alert-item.muted{background:var(--gray-100);border-color:var(--gray-300);border-left-color:var(--gray-400)}html:not([data-theme=light]) .alert-item.muted .alert-address{color:var(--gray-500)}html:not([data-theme=light]) .alert-item.muted .alert-reason{color:var(--gray-400)}html:not([data-theme=light]) .alert-item .alert-address{color:var(--text-color)}html:not([data-theme=light]) .alert-item .alert-tech,html:not([data-theme=light]) .alerts-subtitle{color:var(--text-secondary)}html:not([data-theme=light]) .alerts-subtitle.muted{color:var(--gray-500)}html:not([data-theme=light]) .alert-item.shooting-critical{background:#450a0a;border-left-color:#ef5350}html:not([data-theme=light]) .alert-item.shooting-warning{background:#451a03;border-left-color:#ff9800}html:not([data-theme=light]) .alerts-subtitle.shooting-critical{color:#f87171;background:#450a0a;border-left-color:#ef5350}html:not([data-theme=light]) .alerts-subtitle.shooting-warning{color:#ffb74d;background:#451a03;border-left-color:#ff9800}html:not([data-theme=light]) .alerts-subtitle.shooting-warning-sibling{color:#9fa8da;background:#1a1a2e;border-left-color:#5c6bc0}html:not([data-theme=light]) .alert-item.shooting-warning-sibling{background:#1a1a2e;border-left-color:#7986cb}html:not([data-theme=light]) .alert-item.shooting-warning-sibling .alert-reason em{color:#9fa8da}html:not([data-theme=light]) .alerts-subtitle.absence-conflict-critical{color:#f87171;background:#450a0a;border-left-color:#ef5350}html:not([data-theme=light]) .alerts-subtitle.absence-conflict-warning{color:#ffb74d;background:#451a03;border-left-color:#f59e0b}html:not([data-theme=light]) .alert-item.absence-conflict-critical{background:#450a0a;border-left-color:#ef5350}html:not([data-theme=light]) .alert-item.absence-conflict-warning{background:#451a03;border-left-color:#f59e0b}html:not([data-theme=light]) .alerts-subtitle.pre-cancelled{color:#78909c;background:#1a2027;border-left-color:#546e7a}html:not([data-theme=light]) .alerts-subtitle.pre-cancelled .alerts-subtitle-hint{color:#546e7a}html:not([data-theme=light]) .alert-item.pre-cancelled{background:#1a2027;border-left-color:#546e7a}html:not([data-theme=light]) .alert-item.pre-cancelled .alert-address,html:not([data-theme=light]) .alert-item.pre-cancelled .alert-reason strong{color:#546e7a}html:not([data-theme=light]) .task-item.task-csv-cancelled{background:repeating-linear-gradient(-45deg,#0000,#0000 6px,#f871710f 6px 12px);border-left-color:#f8717180}html:not([data-theme=light]) .task-cancelled-badge{color:#f87171;background:#f8717115;border-color:#f8717130}html:not([data-theme=light]) .trash-tabs{background:var(--gray-100);border-bottom-color:var(--border-color)}html:not([data-theme=light]) .trash-tab{color:var(--gray-400)}html:not([data-theme=light]) .trash-tab:hover{color:var(--gray-200);background:var(--gray-200)}html:not([data-theme=light]) .trash-tab.active{color:var(--primary-light);border-bottom-color:var(--primary-light)}html:not([data-theme=light]) .shooting-trash-header{background:linear-gradient(135deg,#450a0a 0%,#451a03 100%)}html:not([data-theme=light]) .shooting-trash-summary{color:#f87171}html:not([data-theme=light]) .shooting-table thead th{background:var(--gray-200);color:var(--text-secondary);border-bottom-color:var(--border-color)}html:not([data-theme=light]) .shooting-table tbody td{border-bottom-color:var(--border-color)}html:not([data-theme=light]) .shooting-table tbody tr:hover{background:var(--gray-100)}html:not([data-theme=light]) .shooting-row .shooting-val{color:#f87171}html:not([data-theme=light]) .shooting-cancel-banner{background:var(--gray-100);border-color:#ef5350;box-shadow:0 8px 32px #00000080}html:not([data-theme=light]) .scb-section.scb-critical{background:#450a0a;border-left-color:#ef5350}html:not([data-theme=light]) .scb-section.scb-warning{background:#451a03;border-left-color:#ff9800}html:not([data-theme=light]) .scb-section.scb-kept{background:#0a3d0a;border-left-color:#4caf50}html:not([data-theme=light]) .scb-kept-row{background:#0a3d0a}html:not([data-theme=light]) .scb-kept-row:hover{background:#1b5e20}html:not([data-theme=light]) .sched-day-hotel-badge{color:#93c5fd;background:#1e3a5f;border-color:#3b82f6}html:not([data-theme=light]) .sched-day-hotel-badge.warn{color:#fbbf24;background:#451a03;border-color:#f59e0b}html:not([data-theme=light]) .sched-day-hotel-badge.danger{color:#f87171;background:#450a0a;border-color:#ef4444}html:not([data-theme=light]) .sched-tech-hotel{color:#93c5fd}html:not([data-theme=light]) .scb-text span{color:var(--gray-400)}html:not([data-theme=light]) .scb-actions{background:var(--gray-200);border-top-color:var(--border-color)}html:not([data-theme=light]) .scb-table thead th{background:var(--gray-200);color:var(--text-secondary);border-bottom-color:var(--border-color)}html:not([data-theme=light]) .scb-table tbody td{border-bottom-color:var(--border-color)}html:not([data-theme=light]) .scb-table tbody tr:hover{background:var(--gray-200)}html:not([data-theme=light]) .scb-details-title.sibling{color:#9fa8da;border-bottom-color:#3949ab}html:not([data-theme=light]) .scb-details-title.sibling i{color:#9fa8da}html:not([data-theme=light]) .scb-table-sibling{border-color:#3949ab}html:not([data-theme=light]) .scb-sibling-row{background:#1a1a2e}html:not([data-theme=light]) .scb-sibling-row:hover{background:#1e1e3a}html:not([data-theme=light]) .scb-sibling-row em{color:#9fa8da}}[data-theme=dark] .tech-group-chip{background:var(--gray-200);border-color:var(--border-color);color:var(--text-color)}[data-theme=dark] .tech-group-chip:hover{border-color:var(--primary-light);color:var(--primary-light)}[data-theme=dark] .tech-group-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}[data-theme=dark] .tech-group-chip.off{background:var(--gray-100);color:var(--gray-400)}[data-theme=dark] .tech-filter-item{color:var(--text-color)}[data-theme=dark] .tech-filter-item.selected,[data-theme=dark] .tech-filter-item:hover{background:var(--gray-200)}[data-theme=dark] .tech-filter-item .tech-name{color:var(--text-color)}[data-theme=dark] .tech-filter-item .tech-count{color:var(--text-secondary)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .tech-group-chip{background:var(--gray-200);border-color:var(--border-color);color:var(--text-color)}html:not([data-theme=light]) .tech-group-chip:hover{border-color:var(--primary-light);color:var(--primary-light)}html:not([data-theme=light]) .tech-group-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}html:not([data-theme=light]) .tech-group-chip.off{background:var(--gray-100);color:var(--gray-400)}html:not([data-theme=light]) .tech-filter-item{color:var(--text-color)}html:not([data-theme=light]) .tech-filter-item.selected,html:not([data-theme=light]) .tech-filter-item:hover{background:var(--gray-200)}html:not([data-theme=light]) .tech-filter-item .tech-name{color:var(--text-color)}html:not([data-theme=light]) .tech-filter-item .tech-count{color:var(--text-secondary)}}[data-theme=dark] .agent-email-modal{background:var(--bg-surface);color:var(--text-color)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .agent-email-modal{background:var(--bg-surface);color:var(--text-color)}}[data-theme=dark] .toast{background:var(--gray-200);color:var(--text-color);box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .toast{background:var(--gray-200);color:var(--text-color);box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}}[data-theme=dark] table th{background:var(--gray-50);color:var(--text-secondary);border-color:var(--border-color)}[data-theme=dark] table td{border-color:var(--border-color);color:var(--text-color)}[data-theme=dark] table tr:hover td{background:var(--gray-200)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) table th{background:var(--gray-50);color:var(--text-secondary);border-color:var(--border-color)}html:not([data-theme=light]) table td{border-color:var(--border-color);color:var(--text-color)}html:not([data-theme=light]) table tr:hover td{background:var(--gray-200)}}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6{color:var(--text-color)}[data-theme=dark] a{color:var(--primary-light)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) h1,html:not([data-theme=light]) h2,html:not([data-theme=light]) h3,html:not([data-theme=light]) h4,html:not([data-theme=light]) h5,html:not([data-theme=light]) h6{color:var(--text-color)}html:not([data-theme=light]) a{color:var(--primary-light)}}[data-theme=dark] hr{border-color:var(--border-color)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) hr{border-color:var(--border-color)}}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--gray-100)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--gray-300)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) ::-webkit-scrollbar-track{background:var(--gray-100)}html:not([data-theme=light]) ::-webkit-scrollbar-thumb{background:var(--gray-300)}html:not([data-theme=light]) ::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}}[data-theme=dark] .leaflet-popup-content-wrapper,[data-theme=dark] .leaflet-popup-tip{background:var(--bg-surface);color:var(--text-color)}html[data-theme=dark] .leaflet-container .leaflet-control-layers.leaflet-control,html[data-theme=dark] .leaflet-container .leaflet-control-zoom.leaflet-bar a{background:var(--bg-surface);color:var(--text-color);border-color:var(--border-color)}html[data-theme=dark] .leaflet-container .leaflet-control-zoom.leaflet-bar a:hover{background:var(--gray-200)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .leaflet-popup-content-wrapper,html:not([data-theme=light]) .leaflet-popup-tip{background:var(--bg-surface);color:var(--text-color)}html:not([data-theme=light]) .leaflet-container .leaflet-control-layers.leaflet-control,html:not([data-theme=light]) .leaflet-container .leaflet-control-zoom.leaflet-bar a{background:var(--bg-surface);color:var(--text-color);border-color:var(--border-color)}html:not([data-theme=light]) .leaflet-container .leaflet-control-zoom.leaflet-bar a:hover{background:var(--gray-200)}}[data-theme=dark] .month-cell,[data-theme=dark] .month-header,[data-theme=dark] .month-toolbar{color:var(--text-color);border-color:var(--border-color)}[data-theme=dark] .month-cell.other-month{background:var(--gray-50);color:var(--gray-400)}[data-theme=dark] .month-cell:hover{background:var(--gray-200)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .month-cell,html:not([data-theme=light]) .month-header,html:not([data-theme=light]) .month-toolbar{color:var(--text-color);border-color:var(--border-color)}html:not([data-theme=light]) .month-cell.other-month{background:var(--gray-50);color:var(--gray-400)}html:not([data-theme=light]) .month-cell:hover{background:var(--gray-200)}}[data-theme=dark] .calc-container,[data-theme=dark] .calc-card{background:var(--bg-surface);color:var(--text-color)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .calc-container,html:not([data-theme=light]) .calc-card{background:var(--bg-surface);color:var(--text-color)}}[data-theme=dark] .tour-tooltip{color:#e2e8f0;background:#1e293b;border:1px solid #475569;box-shadow:0 10px 40px #00000080}[data-theme=dark] .tour-step-counter{color:#94a3b8}[data-theme=dark] .tour-tooltip .btn{color:#e2e8f0;background:#374151;border-color:#4b5563}[data-theme=dark] .tour-tooltip .btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .tour-tooltip{color:#e2e8f0;background:#1e293b;border:1px solid #475569;box-shadow:0 10px 40px #00000080}html:not([data-theme=light]) .tour-step-counter{color:#94a3b8}html:not([data-theme=light]) .tour-tooltip .btn{color:#e2e8f0;background:#374151;border-color:#4b5563}html:not([data-theme=light]) .tour-tooltip .btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}}.theme-toggle .theme-icon-half{display:none}.theme-toggle .theme-icon-moon,[data-theme=dark] .theme-toggle .theme-icon-half{display:inline}[data-theme=dark] .theme-toggle .theme-icon-moon{display:none}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .theme-toggle .theme-icon-half{display:inline}html:not([data-theme=light]) .theme-toggle .theme-icon-moon{display:none}}[data-theme=dark] .geocode-review-panel{background:var(--gray-100);border-color:var(--gray-300);box-shadow:0 8px 32px #00000080}[data-theme=dark] .gcr-body{background:var(--gray-100)}[data-theme=dark] .gcr-address{color:var(--text-color)}[data-theme=dark] .gcr-meta{color:var(--gray-500)}[data-theme=dark] .gcr-actions{background:var(--gray-200);border-color:var(--gray-300)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .geocode-review-panel{background:var(--gray-100);border-color:var(--gray-300);box-shadow:0 8px 32px #00000080}html:not([data-theme=light]) .gcr-body{background:var(--gray-100)}html:not([data-theme=light]) .gcr-address{color:var(--text-color)}html:not([data-theme=light]) .gcr-meta{color:var(--gray-500)}html:not([data-theme=light]) .gcr-actions{background:var(--gray-200);border-color:var(--gray-300)}}[data-theme=dark] .sidebar,[data-theme=dark] .task-list,[data-theme=dark] .scheduler-overlay{background:#0c0f14}[data-theme=dark] .task-item{box-shadow:none;background:#12161d;border:1px solid #1a2230}[data-theme=dark] .task-item:hover{background:#161c26;border-color:#243044}[data-theme=dark] body.sidebar-expanded .sidebar-content.active .sidebar-extra-panel,[data-theme=dark] body.sidebar-expanded .sidebar-content.active .sidebar-tech-detail-panel{background:#0c0f14;border-left-color:#1a2230}[data-theme=dark] .extra-tech-row.active,[data-theme=dark] .extra-tech-row:hover{background:#161c26;border-color:#3b82f6}[data-theme=dark] .mapa-input,[data-theme=dark] .task-search-bar input,[data-theme=dark] .sched-header-search input,[data-theme=dark] #sidebar-search-input,[data-theme=dark] .abs-field input,[data-theme=dark] .abs-field select{color:#e8edf5;background:#12161d;border-color:#2a3548}[data-theme=dark] .sched-week-task.compact .task-city,[data-theme=dark] .sched-week-task.compact .task-time{color:#e8edf5}[data-theme=dark] .sched-week-task:not([class*=sched-pom-]){background:#12161d!important}[data-theme=dark] button.sched-pom-legend-pill{box-shadow:0 1px 3px #00000073}[data-theme=dark] button.sched-pom-legend-pill.active{box-shadow:0 0 0 2px color-mix(in srgb, var(--pom-color) 60%, #0f172a), 0 1px 4px #00000080}[data-theme=dark] .task-biz-mark{color:#4ade80}[data-theme=dark] .task-biz-badge{color:#bbf7d0;background:#14532d}html[data-theme=dark] .mini-map-overlay .leaflet-tile-pane{filter:none}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .mini-map-overlay .leaflet-tile-pane{filter:none}}[data-theme=dark] .sched-ctx-flyout{background:#12161d;border-color:#2a3548}[data-theme=dark] .task-time{color:#e2e8f0;font-weight:600}[data-theme=dark] .task-duration{color:#94a3b8}[data-theme=dark] .sched-context-menu .sched-ctx-header,[data-theme=dark] .context-menu-header{color:#94a3b8;background:#12161d;border-bottom-color:#1a2230}[data-theme=dark] .sched-context-menu .sched-ctx-item:hover,[data-theme=dark] .context-menu-item:hover{background:#1a2230}[data-theme=dark] .sched-grid,[data-theme=dark] .sched-day-col,[data-theme=dark] .sched-tech-col{background:#0c0f14}[data-theme=dark] .sched-task-block{filter:saturate(.8)brightness();color:#f8fafc}[data-theme=dark] .sched-hour-line{background:#334155}[data-theme=dark] .sched-half-hour-line{opacity:1;background:#1f2937}[data-theme=dark] .sched-task-time,[data-theme=dark] .sched-task-address,[data-theme=dark] .sched-task-type{color:#f8fafc}[data-theme=dark] .sched-task-street{color:#cbd5e1}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .sidebar,html:not([data-theme=light]) .task-list,html:not([data-theme=light]) .scheduler-overlay{background:#0c0f14}html:not([data-theme=light]) .task-item{background:#12161d;border:1px solid #1a2230}html:not([data-theme=light]) .task-time{color:#e2e8f0}html:not([data-theme=light]) .task-duration{color:#94a3b8}}body.tech-view-mode{--tech-bar-height:64px;--tech-chrome-height:48px}body.tech-view-mode .app-header{display:none}body.tech-view-mode .tech-mobile-chrome{display:flex}body.tech-view-mode #mapa-test-badge{display:none!important}.tech-chrome-title-row{align-items:center;gap:6px;min-width:0;display:flex}.tech-chrome-title-row strong{min-width:0}.tech-chrome-test-badge{letter-spacing:.03em;text-transform:uppercase;color:#fff;background:#b91c1c;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:9px;font-weight:700;line-height:1.2;display:inline-flex}.tech-chrome-test-badge[hidden]{display:none!important}.tech-chrome-offline-badge{letter-spacing:.03em;text-transform:uppercase;color:#fff;background:#64748b;border-radius:999px;flex-shrink:0;align-items:center;padding:2px 7px;font-size:9px;font-weight:700;line-height:1.2;display:inline-flex}.tech-chrome-offline-badge[hidden]{display:none!important}.tech-pwa-install{left:8px;right:8px;bottom:calc(var(--tech-bar-height,64px) + 8px + env(safe-area-inset-bottom,0px));z-index:12050;color:#fff;background:#1e3a8a;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex;position:fixed;box-shadow:0 4px 16px #0f172a59}.tech-pwa-install-text{flex:1;min-width:0;line-height:1.3}.tech-pwa-install .btn-primary{white-space:nowrap;flex-shrink:0}.tech-pwa-install-dismiss{flex-shrink:0;min-width:28px;padding:0 6px;font-size:18px;line-height:1}body.tech-view-mode .toast-container,body.tech-view-mode #geocode-progress-overlay,body.tech-view-mode .leaflet-control-attribution{display:none!important}body.tech-view-mode #header-opcje-btn,body.tech-view-mode .header-menus,body.tech-view-mode .header-actions,body.tech-view-mode .header-stats,body.tech-view-mode .data-source-pill,body.tech-view-mode .header-icon-btn[onclick="restartTour()"],body.tech-view-mode .sidebar-tabs,body.tech-view-mode .sidebar-expand-btn,body.tech-view-mode .compact-weeks,body.tech-view-mode .compact-days,body.tech-view-mode .compact-techs,body.tech-view-mode .map-toolbar,body.tech-view-mode .sidebar-extra-panel,body.tech-view-mode .sidebar-tech-detail-panel,body.tech-view-mode #sidebar-search-input,body.tech-view-mode .sidebar-collapse,body.tech-view-mode .hamburger-btn{display:none}body.tech-view-mode .sidebar{top:auto;left:0;right:0;bottom:var(--tech-bar-height);border-right:none;border-top:1px solid var(--gray-200);z-index:85;width:100%;max-width:100%;height:auto;max-height:0;box-shadow:none;transition:max-height .25s;position:fixed;overflow:hidden;transform:none}body.tech-view-mode.sidebar-open .sidebar{max-height:0}body.tech-view-mode .sidebar-backdrop,body.tech-view-mode .sidebar-content.active{display:none}body.tech-view-mode .map-area{flex:1;min-height:0}body.tech-view-mode .map-floating-panel{display:none}.tech-google-nav-wrap{z-index:5;background:var(--gray-100);position:absolute;inset:0}.tech-google-nav-frame{border:0;width:100%;height:100%}.tech-google-nav-fallback{text-align:center;color:var(--gray-600);background:var(--bg-surface);justify-content:center;align-items:center;padding:24px;font-size:14px;display:flex;position:absolute;inset:0}body.tech-view-mode.tech-google-nav-mode #map{visibility:hidden;pointer-events:none}.tech-menu-item.active{background:var(--primary-50,#eff6ff);color:var(--primary-700,#1d4ed8)}.tech-menu-notify-btn{justify-content:flex-start}.tech-notify-badge{background:var(--primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.tech-notify-badge[hidden]{display:none!important}.tech-notifications-panel{border:1px solid var(--gray-200);background:var(--gray-50);border-radius:10px;flex-direction:column;max-height:160px;margin:0 12px 8px;padding:8px 10px;display:flex;overflow:hidden}.tech-notifications-panel[hidden]{display:none!important}.tech-notifications-head{color:var(--gray-600);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:11px;font-weight:600;display:flex}.tech-notifications-list{-webkit-overflow-scrolling:touch;flex-direction:column;gap:6px;display:flex;overflow-y:auto}.tech-notify-empty{color:var(--gray-500);margin:0;font-size:12px}.tech-notify-item{background:var(--bg-surface);border:1px solid var(--gray-100);border-radius:8px;grid-template-columns:auto 1fr auto;align-items:start;gap:6px 8px;padding:6px 8px;font-size:12px;line-height:1.3;display:grid}.tech-notify-item i{opacity:.85;margin-top:2px;font-size:11px}.tech-notify-success i{color:var(--success,#16a34a)}.tech-notify-error i{color:var(--danger,#dc2626)}.tech-notify-warning i{color:var(--warning,#d97706)}.tech-notify-info i{color:var(--primary)}.tech-notify-time{color:var(--gray-400);font-variant-numeric:tabular-nums;font-size:10px}.tech-menu-geocode-block{border:1px solid color-mix(in srgb, var(--primary) 25%, var(--gray-200));background:color-mix(in srgb, var(--primary) 6%, var(--bg-surface));border-radius:10px;margin:4px 12px 10px;padding:10px 12px}.tech-menu-geocode-block[hidden]{display:none!important}.tech-menu-geocode-head{color:var(--gray-800);align-items:center;gap:8px;margin-bottom:4px;font-size:12px;font-weight:600;display:flex}.tech-menu-geocode-head i{color:var(--primary);font-size:11px}.tech-menu-geocode-sub{color:var(--gray-500);margin-bottom:8px;font-size:11px;line-height:1.3}.tech-menu-geocode-track{background:var(--gray-200);border-radius:999px;height:4px;overflow:hidden}.tech-menu-geocode-track #gpo-fill{background:var(--primary);width:0%;height:100%;transition:width .25s}.tech-menu-geocode-foot{color:var(--gray-500);font-variant-numeric:tabular-nums;margin-top:6px;font-size:10px}.hotel-field-addr-wrap{position:relative}.hotel-field-modal .hotel-field-suggestions{z-index:20;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.hotel-field-modal .hotel-field-suggestions .autocomplete-item{text-align:left;background:var(--bg-surface);cursor:pointer;border:none;width:100%}.speed-cam-marker-wrap{background:0 0;border:none}.speed-cam-marker{color:#fff;background:linear-gradient(145deg,#f97316,#dc2626);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;display:flex;box-shadow:0 2px 8px #dc262673}body.tech-google-nav-mode .speed-cam-marker-wrap{display:none}body.tech-view-mode .app-main{padding-bottom:var(--tech-bar-height);padding-top:var(--tech-chrome-height)}body.tech-view-mode .app-layout{margin-top:0}.tech-mobile-chrome{height:var(--tech-chrome-height);padding:0 8px;padding-top:env(safe-area-inset-top);background:var(--bg-surface);border-bottom:1px solid var(--gray-200);z-index:220;align-items:center;gap:8px;display:none;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 8px #0f172a0f}.tech-chrome-btn{border:1px solid var(--gray-200);background:var(--gray-50);width:40px;height:40px;color:var(--gray-800);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tech-chrome-title{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.tech-chrome-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.tech-chrome-title small{color:var(--gray-500);font-size:11px}.tech-chrome-actions{flex-shrink:0;gap:4px;display:flex}.tech-chrome-logout{color:var(--danger,#dc2626)}.tech-menu-drawer{z-index:10050;pointer-events:none;visibility:hidden;position:fixed;inset:0}.tech-menu-drawer.open{pointer-events:auto;visibility:visible}.tech-menu-backdrop{opacity:0;background:#0f172a73;transition:opacity .2s;position:absolute;inset:0}.tech-menu-drawer.open .tech-menu-backdrop{opacity:1}.tech-menu-panel{background:var(--bg-surface);width:min(280px,86vw);padding:max(12px, env(safe-area-inset-top)) 0 12px;flex-direction:column;transition:transform .25s;display:flex;position:absolute;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 24px #0f172a26}.tech-menu-drawer.open .tech-menu-panel{transform:translate(0)}.tech-menu-head{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:8px 14px 12px;display:flex}.tech-menu-item{width:100%;font:inherit;color:var(--gray-800);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:14px 16px;font-size:15px;font-weight:500;display:flex}.tech-menu-item:hover{background:var(--gray-50)}.tech-menu-item i{width:20px;color:var(--primary)}body.tech-view-mode .sidebar{display:none}body.tech-preview-banner:not(:empty)~.tech-mobile-chrome{top:36px}body:has(.tech-preview-banner:not([hidden])) .tech-mobile-chrome{top:36px}body.tech-view-mode .details-panel{max-height:50vh;bottom:var(--tech-bar-height)}.tech-view-bar{min-height:var(--tech-bar-height);padding:4px 6px;padding-bottom:max(4px, env(safe-area-inset-bottom));background:var(--bg-surface);border-top:1px solid var(--gray-200);z-index:200;align-items:stretch;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0f172a1f}.tech-bar-btn{border:1px solid var(--gray-200);background:var(--gray-50);min-width:0;color:var(--gray-800);cursor:pointer;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:52px;padding:4px 2px;font-size:9px;font-weight:600;line-height:1.15;transition:background .15s,border-color .15s;display:inline-flex}.tech-bar-btn i{font-size:15px;line-height:1}.tech-bar-btn span{text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:100%;padding:0 1px;display:block;overflow:hidden}.tech-bar-btn:active{transform:scale(.98)}.tech-bar-btn.tech-bar-accent{background:color-mix(in srgb, var(--primary) 12%, var(--bg-surface));border-color:color-mix(in srgb, var(--primary) 35%, var(--gray-200));color:var(--primary-dark)}body.tech-view-compact .tech-view-bar{gap:3px;padding:4px 5px}.tech-task-sheet{left:0;right:0;bottom:var(--tech-bar-height);background:var(--bg-surface);z-index:190;border-radius:16px 16px 0 0;flex-direction:column;max-height:55vh;transition:transform .28s;display:flex;position:fixed;overflow:hidden;transform:translateY(100%);box-shadow:0 -8px 32px #0f172a2e}.tech-task-sheet.open{transform:translateY(0)}.tech-sheet-handle{background:var(--gray-300);cursor:pointer;touch-action:none;border-radius:4px;width:36px;height:4px;margin:8px auto 4px}.tech-sheet-header{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:4px 14px 10px;display:flex}.tech-sheet-header h3{margin:0;font-size:14px;font-weight:700}.tech-sheet-body{-webkit-overflow-scrolling:touch;box-sizing:border-box;flex:1;padding:8px 10px 12px;overflow:hidden auto}.tech-sheet-summary{color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;padding:4px 6px 8px;font-size:11px;font-weight:600}.tech-task-row{border:1px solid var(--gray-200);background:var(--bg-surface);text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:10px 12px;display:flex}.tech-task-row:hover{border-color:var(--primary-light);background:color-mix(in srgb, var(--primary) 6%, var(--bg-surface))}.tech-task-time{color:var(--primary);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px;font-weight:700}.tech-task-addr{white-space:normal;overflow-wrap:anywhere;word-break:break-word;flex:1;min-width:0;font-size:13px;font-weight:500;line-height:1.3;display:block;overflow:visible}.tech-task-addr small{color:var(--gray-500);margin-top:1px;font-size:11px;font-weight:400;display:block}.tech-task-dist{color:var(--gray-500);margin-top:2px;font-size:11px;font-weight:500;display:block}.tech-task-dist i{opacity:.8;margin-right:4px}.tech-task-distance-row{flex-wrap:wrap;align-items:center;gap:6px 10px;padding:0 12px 6px;display:flex}.tech-sheet-travel-summary{background:color-mix(in srgb, var(--primary) 7%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--primary) 25%, var(--gray-200));color:var(--gray-700);border-radius:8px;margin:0 6px 8px;padding:8px 10px;font-size:11px;font-weight:600}.tech-task-contact{flex-wrap:wrap;gap:8px 12px;padding:0 12px 8px;font-size:12px;display:flex}.tech-task-contact a{color:var(--primary);text-decoration:none}.tech-task-contact a i{opacity:.85;margin-right:4px}.tech-task-row>i{color:var(--gray-400);flex-shrink:0}.tech-task-row-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.tech-task-share,.tech-task-reply{min-width:0;padding:4px 6px}.messages-inbox-list{max-height:calc(100vh - 180px);padding:0 4px;overflow-y:auto}.tech-sheet-empty{text-align:center;color:var(--gray-400);padding:24px 16px}.tech-sheet-empty i{margin-bottom:8px;font-size:28px;display:block}.tech-nearby-overlay{z-index:10060;background:#0f172a80;justify-content:center;align-items:flex-end;padding:0;display:none;position:fixed;inset:0}.tech-nearby-overlay.active{display:flex}.tech-nearby-modal{background:var(--bg-surface);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:520px;max-height:85vh;animation:.25s techSheetUp;display:flex;overflow:hidden}@keyframes techSheetUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.tech-nearby-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.tech-nearby-header h2{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.tech-nearby-hint{color:var(--gray-500);margin:0;padding:8px 16px 0;font-size:12px;line-height:1.4}.tech-nearby-list{flex:1;padding:12px 16px 16px;overflow-y:auto}.tech-nearby-card{border:1px solid var(--gray-200);background:var(--gray-50);border-radius:12px;margin-bottom:10px;padding:12px}.tech-nearby-card-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.tech-nearby-card-top strong{font-size:14px}.tech-nearby-meta{color:var(--gray-500);margin-left:auto;font-size:11px}.tech-nearby-cities{color:var(--gray-600);margin-bottom:10px;font-size:12px}.tech-nearby-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tech-nearby-badge.overlap{color:#92400e;background:#fef3c7;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.tech-nearby-no-phone{color:var(--gray-400);font-size:11px;font-style:italic}.tech-call-btn{text-decoration:none}.tech-preview-banner{top:var(--header-height);z-index:10055;color:#92400e;background:#fef3c7;border-bottom:1px solid #fcd34d;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;font-size:13px;display:flex;position:fixed;left:0;right:0}body.tech-view-mode:has(.tech-preview-banner:not([hidden])) .app-main{margin-top:40px}body.tech-view-tablet .tech-view-bar{border-radius:12px 12px 0 0;max-width:768px;left:50%;transform:translate(-50%)}body.tech-view-tablet .tech-task-sheet{width:100%;max-width:100%;left:0;right:0;transform:translateY(100%)}body.tech-view-tablet .tech-task-sheet.open{transform:translateY(0)}body.tech-view-tablet .tech-calendar-modal{max-width:100%}@media (width>=769px){body.tech-view-mode:not(.tech-view-tablet) .tech-view-bar,body.tech-view-mode:not(.tech-view-tablet) .tech-task-sheet{display:none}}.tech-calendar-overlay{z-index:10065;background:#0f172a80;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.tech-calendar-overlay.active{display:flex}.tech-calendar-modal{background:var(--bg-surface);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:100%;max-height:88vh;animation:.25s techSheetUp;display:flex;overflow:hidden}body.tech-view-mode .tech-calendar-modal,body.tech-view-mode .tech-task-sheet{width:100%;max-width:100%;left:0;right:0}.tech-calendar-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.tech-cal-nav{border-bottom:1px solid var(--gray-100);justify-content:center;align-items:center;gap:8px;padding:8px 12px 4px;display:flex}.tech-cal-nav-btn{border:1px solid var(--gray-200);background:var(--gray-50);width:36px;height:36px;color:var(--gray-800);cursor:pointer;border-radius:8px;flex-shrink:0}.tech-cal-date-display{text-align:center;font-variant-numeric:tabular-nums;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;display:flex}.tech-cal-week-kw{color:var(--gray-900,#0f172a);font-size:14px;font-weight:700}.tech-cal-week-range{color:var(--gray-600);font-size:12px;font-weight:600}.tech-cal-week-day{color:var(--gray-500);font-size:11px}.tech-cal-today-btn{flex-shrink:0;margin-left:4px}.tech-map-legend-overlay{z-index:10060;padding:12px;padding-bottom:calc(var(--tech-bar-height) + 12px);background:#0f172a66;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.tech-map-legend-overlay.active{display:flex}.tech-map-legend-panel{background:var(--bg-surface);border-radius:14px;width:min(400px,100%);max-height:50vh;padding:14px 16px;overflow:auto;box-shadow:0 8px 32px #0f172a33}.tech-map-legend-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tech-colleagues-map-toggle{border-radius:var(--radius-md);background:color-mix(in srgb, var(--primary) 8%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--primary) 22%, var(--gray-200));cursor:pointer;align-items:flex-start;gap:10px;margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.35;display:flex}.tech-colleagues-map-toggle input{flex-shrink:0;margin-top:2px}.tech-map-legend-hint{color:var(--gray-500);margin:0 0 12px;font-size:12px;line-height:1.4}.tech-legend-row{align-items:center;gap:10px;padding:6px 0;font-size:13px;display:flex}.tech-legend-row.is-me{font-weight:600}.tech-legend-swatch{border-radius:50%;flex-shrink:0}.tech-calendar-header h2{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.tech-calendar-strip{border-bottom:1px solid var(--gray-100);grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:10px 10px 8px;display:grid}.tech-cal-day{border:1px solid var(--gray-200);background:var(--gray-50);cursor:pointer;min-width:0;font:inherit;color:inherit;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.tech-cal-day.has-tasks .tech-cal-day-count{color:var(--primary-dark,#1d4ed8)}.tech-cal-weekday{text-transform:uppercase;letter-spacing:.02em;color:var(--gray-500);font-size:10px;font-weight:600;line-height:1.1}.tech-cal-day-num{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;line-height:1.1}.tech-cal-day.active{background:color-mix(in srgb, var(--primary) 14%, var(--bg-surface));border-color:var(--primary);color:var(--primary-dark)}.tech-cal-day-count{font-variant-numeric:tabular-nums;color:var(--gray-400);font-size:10px;font-weight:600;line-height:1}.tech-cal-empty{color:var(--gray-500);margin:0;padding:8px;font-size:13px}.tech-calendar-body{-webkit-overflow-scrolling:touch;flex:1;padding:10px 12px 16px;overflow-y:auto}body.tech-calendar-open .tech-view-bar{z-index:100}.tour-tooltip.tour-tooltip--tech-sheet{width:auto;max-width:none}.tour-highlight--subtle{box-shadow:0 0 0 3px var(--primary), 0 0 0 9999px #00000073}body.tech-view-mode .onboarding-hint-banner{display:none}.tech-route-bar{left:8px;right:8px;bottom:calc(var(--tech-bar-height) + max(6px, env(safe-area-inset-bottom)) + 4px);z-index:88;background:color-mix(in srgb, var(--bg-surface) 92%, transparent);border:1px solid var(--gray-200);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;font-size:12px;display:flex;position:fixed;box-shadow:0 4px 16px #0000001f}.tech-route-bar.tech-route-late{background:#fef2f2eb;border-color:#f87171}.tech-route-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tech-route-main strong{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);font-size:10px}.tech-route-addr{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.tech-route-meta{color:var(--gray-500);font-variant-numeric:tabular-nums}.tech-route-nav{white-space:nowrap;flex-shrink:0}body.tech-view-mode.tech-route-visible .sidebar{bottom:calc(var(--tech-bar-height) + 56px)}.tech-task-card{border-bottom:1px solid var(--gray-100,#f1f5f9)}.tech-task-card:last-child{border-bottom:none}.tech-task-card .tech-task-row{box-sizing:border-box;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;align-items:flex-start;gap:8px;width:100%;min-height:52px;margin-bottom:0;padding:10px 12px;display:flex}.tech-task-card .tech-task-row:active{background:var(--gray-50,#f8fafc)}.tech-task-card .tech-task-time{flex:none;max-width:34%}.tech-task-card .tech-task-addr{flex:1 1 0;min-width:0}.tech-task-card .tech-task-row-actions{flex:none;align-self:center}.tech-status-badge{vertical-align:middle;background:var(--gray-200,#e2e8f0);color:var(--gray-700,#334155);border-radius:10px;margin-left:4px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.tech-status-badge.tech-status-arrived{color:#1e40af;background:#dbeafe}.tech-status-badge.tech-status-in_progress{color:#92400e;background:#fef3c7}.tech-status-badge.tech-status-done{color:#166534;background:#dcfce7}.tech-status-badge.tech-status-missed{color:#991b1b;background:#fee2e2}.tech-task-tools-row{flex-wrap:wrap;gap:6px;padding:0 10px 8px;display:flex}.tech-tool-btn{border:1px solid var(--gray-200);background:var(--gray-50);min-height:36px;color:var(--gray-800);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:600;display:inline-flex}.tech-tool-btn i{text-align:center;flex-shrink:0;width:16px;font-size:14px}.tech-tool-btn:active{transform:scale(.98)}.tech-tool-map{color:var(--primary-dark,#1d4ed8);border-color:color-mix(in srgb, var(--primary) 30%, var(--gray-200));background:color-mix(in srgb, var(--primary) 8%, var(--bg-surface));margin-left:auto}.tech-tool-delay{color:#b45309;background:#fffbeb;border-color:#fcd34d}.tech-field-actions{padding:0 10px 10px}.tech-fa-toggle{border:1px solid var(--gray-200);background:var(--bg-surface);width:100%;min-height:40px;color:var(--gray-800);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.tech-fa-toggle .tech-fa-chevron{margin-left:auto;font-size:11px;transition:transform .2s}.tech-fa-toggle.expanded .tech-fa-chevron{transform:rotate(180deg)}.tech-fa-toggle-label{flex:1;min-width:0}.tech-fa-panel{margin-top:8px;padding-top:4px}.tech-fa-panel[hidden]{display:none!important}.tech-fa-status-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:6px;display:grid}@media (width>=400px){.tech-fa-status-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=520px){.tech-fa-status-row{grid-template-columns:repeat(5,minmax(0,1fr))}}.tech-fa-status-btn{border:1px solid var(--gray-200,#e2e8f0);background:var(--gray-50,#f8fafc);min-width:0;color:var(--gray-600,#475569);cursor:pointer;white-space:normal;text-align:center;border-radius:6px;padding:5px 4px;font-size:10px;font-weight:500;line-height:1.2;transition:background .12s,color .12s;overflow:hidden}.tech-fa-status-btn:active,.tech-fa-status-btn.active{border-color:var(--primary,#3b82f6);background:var(--primary,#3b82f6);color:#fff}.tech-fa-note-row{align-items:flex-start;gap:6px;display:flex}.tech-fa-note-input{border:1px solid var(--gray-200,#e2e8f0);resize:none;background:var(--white,#fff);color:var(--text-primary,#1e293b);border-radius:6px;flex:1;padding:6px 8px;font-family:inherit;font-size:13px}.tech-fa-note-input:focus{border-color:var(--primary,#3b82f6);outline:none}.tech-fa-note-send{flex-shrink:0;align-self:flex-end;padding:6px 10px;font-size:12px}.tech-task-delay{color:#b45309;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 5px;line-height:1}.tech-task-delay:hover{background:#b453091f}body.tech-view-narrow{--tech-bar-height:54px;--tech-chrome-height:44px}body.tech-view-compact.tech-view-mode .app-main,body.tech-view-narrow.tech-view-mode .app-main{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body.tech-view-narrow .tech-mobile-chrome{gap:4px;padding-left:4px;padding-right:4px}body.tech-view-narrow .tech-chrome-title strong{font-size:13px}body.tech-view-narrow .tech-chrome-test-badge{padding:1px 5px;font-size:8px}body.tech-view-narrow .tech-chrome-btn{width:36px;height:36px}body.tech-view-narrow .tech-view-bar{padding:3px 4px;padding-bottom:max(3px, env(safe-area-inset-bottom));gap:2px}body.tech-view-narrow .tech-bar-btn{border-radius:8px;gap:1px;min-height:46px;padding:2px 1px;font-size:7px}body.tech-view-narrow .tech-bar-btn i{font-size:13px}body.tech-view-narrow .tech-bar-btn.tech-bar-accent span{max-width:100%}body.tech-view-narrow .tech-task-sheet{max-height:min(58vh, calc(100dvh - var(--tech-chrome-height) - var(--tech-bar-height) - 80px));width:100%;max-width:100%;left:0;right:0}body.tech-view-narrow .tech-sheet-body{padding:6px 8px 10px}body.tech-view-narrow .tech-sheet-header{padding:4px 10px 8px}body.tech-view-narrow .tech-sheet-header h3{font-size:13px}body.tech-view-narrow .tech-task-card .tech-task-row{gap:6px;min-height:44px;padding:8px}body.tech-view-narrow .tech-task-card .tech-task-time{max-width:30%;font-size:10px}body.tech-view-narrow .tech-task-addr{font-size:12px}body.tech-view-narrow .tech-task-distance-row{padding:0 8px 6px}body.tech-view-narrow .tech-fa-status-row{grid-template-columns:repeat(2,minmax(0,1fr))}body.tech-view-narrow .tech-fa-status-btn{padding:5px 3px;font-size:9px}body.tech-view-narrow .tech-fa-note-row{flex-direction:column;align-items:stretch}body.tech-view-narrow .tech-fa-note-send{align-self:stretch;width:100%}body.tech-view-narrow .tech-field-actions{padding:0 8px 8px}body.tech-view-narrow .tech-task-tools-row{gap:4px;padding:0 8px 6px}body.tech-view-narrow .tech-tool-btn{min-height:34px;padding:5px 7px;font-size:10px}body.tech-view-narrow .tech-tool-btn span{text-overflow:ellipsis;white-space:nowrap;max-width:52px;overflow:hidden}body.tech-view-narrow .tech-tool-map{justify-content:center;width:100%;margin-left:0}body.tech-view-narrow .tech-calendar-strip{box-sizing:border-box;gap:2px;width:100%;padding:6px 4px;overflow:visible}body.tech-view-narrow .tech-cal-day{border-radius:6px;justify-content:center;min-height:44px;padding:4px 1px}body.tech-view-narrow .tech-cal-weekday{letter-spacing:-.02em;font-size:8px;font-weight:700}body.tech-view-narrow .tech-cal-day-num{font-size:13px}body.tech-view-narrow .tech-cal-day-count{min-height:10px;font-size:8px}body.tech-view-narrow .tech-cal-nav{gap:4px;padding:6px 8px 4px}body.tech-view-narrow .tech-cal-date-display{flex:1;min-width:0;font-size:13px}body.tech-view-narrow .tech-cal-nav-btn{width:32px;height:32px}body.tech-view-narrow .tech-cal-today-btn{padding:4px 6px;font-size:10px}body.tech-view-narrow .tech-calendar-modal{border-radius:14px 14px 0 0;width:100%;max-width:100%;max-height:92dvh}body.tech-view-narrow .tech-route-bar{padding:6px 8px;font-size:11px;left:4px;right:4px}body.tech-view-narrow .tech-route-addr{-webkit-line-clamp:1;font-size:12px}body.tech-view-narrow .tech-map-legend-panel,body.tech-view-narrow .tech-map-legend-overlay{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}body.tech-view-narrow .tech-menu-panel{width:min(272px,94vw)}body.tech-view-narrow .tech-menu-item{padding:12px 14px;font-size:14px}body.tech-view-mode.tech-view-narrow #map{min-height:120px}body.tech-view-narrow.tech-task-sheet-open .tech-route-bar{display:none}body.tech-view-narrow:has(.tech-task-sheet.open) .tech-route-bar{display:none}.tech-calendar-strip{grid-template-columns:repeat(7,minmax(0,1fr))}.tech-cal-dow-0{grid-column:1}.tech-cal-dow-1{grid-column:2}.tech-cal-dow-2{grid-column:3}.tech-cal-dow-3{grid-column:4}.tech-cal-dow-4{grid-column:5}.tech-cal-dow-5{grid-column:6}.tech-cal-dow-6{grid-column:7}#tech-task-sheet.tech-task-sheet--react .tech-sheet-body{flex-direction:column;min-height:0;padding:0;display:flex}#tech-sheet-body.tech-sheet-body--legacy-hidden>:not(#tech-mobile-react-root){display:none!important}#tech-mobile-react-root.tech-mobile-react-active{flex:1;min-height:0;display:flex;overflow:hidden}.mobile-today{background:var(--bg-primary,#fff);min-height:0;color:var(--text-primary,#0f172a);flex-direction:column;flex:1;display:flex;overflow:hidden}.mobile-today__week{border-bottom:1px solid var(--border-color,#e2e8f0);flex-shrink:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;padding:.5rem .75rem .35rem;display:grid}.mobile-today__day{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;flex-direction:column;align-items:center;gap:.1rem;padding:.35rem .15rem;display:flex}.mobile-today__day--active{border-color:var(--accent,#2563eb);background:color-mix(in srgb, var(--accent,#2563eb) 12%, transparent)}.mobile-today__day--has-tasks .mobile-today__dnum{font-weight:700}.mobile-today__dow{opacity:.75;font-size:.65rem;line-height:1}.mobile-today__dnum{font-size:.95rem;line-height:1.1}.mobile-today__count{color:var(--accent,#2563eb);font-size:.6rem;line-height:1}.mobile-today__header{flex-shrink:0;padding:.5rem .85rem .35rem}.mobile-today__title{margin:0;font-size:.95rem;font-weight:700}.mobile-today__summary,.mobile-today__travel{opacity:.85;margin:.2rem 0 0;font-size:.78rem}.mobile-today__route-bar{background:color-mix(in srgb, var(--accent,#2563eb) 10%, var(--bg-secondary,#f8fafc));border:1px solid color-mix(in srgb, var(--accent,#2563eb) 25%, transparent);border-radius:.55rem;flex-shrink:0;margin:0 .75rem .5rem;padding:.55rem .65rem}.mobile-today__route-bar--late{background:color-mix(in srgb, #ef4444 8%, var(--bg-secondary,#f8fafc));border-color:#ef4444}.mobile-today__route-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.mobile-today__route-addr{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.mobile-today__route-meta{opacity:.9;font-size:.75rem}.mobile-route-list{-webkit-overflow-scrolling:touch;flex:1;min-height:0;margin:0;padding:0 .65rem .75rem;list-style:none;overflow-y:auto}.mobile-route-list__item+.mobile-route-list__item{margin-top:.45rem}.mobile-stop{text-align:left;border:1px solid var(--border-color,#e2e8f0);background:var(--bg-secondary,#f8fafc);width:100%;min-height:56px;color:inherit;font:inherit;cursor:pointer;border-radius:.65rem;padding:.65rem .7rem;display:block;box-shadow:0 1px 2px #0f172a0a}.mobile-stop--next{border-color:var(--accent,#2563eb);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent,#2563eb) 35%, transparent)}.mobile-stop__head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.2rem;display:flex}.mobile-stop__time{font-size:.9rem;font-weight:700}.mobile-stop__status{white-space:nowrap;background:#e2e8f0;border-radius:999px;padding:.15rem .4rem;font-size:.68rem}.mobile-stop__status--planned{color:#1d4ed8;background:#dbeafe}.mobile-stop__status--arrived{color:#b45309;background:#fef3c7}.mobile-stop__status--in_progress{color:#c2410c;background:#ffedd5}.mobile-stop__status--done{color:#15803d;background:#dcfce7}.mobile-stop__status--missed{color:#b91c1c;background:#fee2e2}.mobile-stop__addr{font-size:.84rem;font-weight:600;line-height:1.25}.mobile-stop__city{opacity:.8;margin-top:.1rem;font-size:.78rem}.mobile-stop__dist,.mobile-stop__eta{opacity:.85;margin-top:.25rem;font-size:.72rem}.mobile-stop__next-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--accent,#2563eb);margin-top:.3rem;font-size:.65rem;font-weight:700;display:inline-block}.mobile-today__empty{text-align:center;color:var(--text-muted,#64748b);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1rem;display:flex}.mobile-today__empty i{opacity:.5;font-size:1.75rem}body.dark-mode .mobile-today{background:var(--bg-primary,#0f172a);color:var(--text-primary,#f1f5f9)}body.dark-mode .mobile-stop{background:var(--bg-secondary,#1e293b);border-color:var(--border-color,#334155)}body.tech-task-sheet-open.tech-task-sheet--react .tech-route-bar{display:none!important}.mobile-today--detail{-webkit-overflow-scrolling:touch;overflow-y:auto}.mobile-task-card{flex-direction:column;flex:1;gap:.65rem;min-height:0;padding:.55rem .75rem 1rem;display:flex}.mobile-task-card__back{min-height:44px;color:var(--accent,#2563eb);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:.4rem;padding:.35rem .15rem;font-size:.88rem;font-weight:600;display:inline-flex}.mobile-task-card__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.mobile-task-card__time{font-size:1rem;font-weight:700}.mobile-task-card__status{white-space:nowrap;background:#e2e8f0;border-radius:999px;padding:.2rem .5rem;font-size:.72rem}.mobile-task-card__status--planned{color:#1d4ed8;background:#dbeafe}.mobile-task-card__status--arrived{color:#b45309;background:#fef3c7}.mobile-task-card__status--in_progress{color:#c2410c;background:#ffedd5}.mobile-task-card__status--done{color:#15803d;background:#dcfce7}.mobile-task-card__status--missed{color:#b91c1c;background:#fee2e2}.mobile-task-card__addr{margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.mobile-task-card__city{opacity:.85;margin:0;font-size:.85rem}.mobile-task-card__dist{opacity:.9;margin:0;padding:0;font-size:.78rem;list-style:none}.mobile-task-card__actions{flex-direction:column;gap:.45rem;margin-top:.25rem;display:flex}.mobile-task-card__action,.mobile-task-card__phone{justify-content:center;align-items:center;gap:.5rem;width:100%;font-weight:600;text-decoration:none;border-radius:.65rem!important;min-height:48px!important;font-size:.92rem!important;display:inline-flex!important}.mobile-task-card__field{border-top:1px solid var(--border-color,#e2e8f0);flex-direction:column;gap:.45rem;margin-top:.35rem;padding-top:.65rem;display:flex}.mobile-task-card__field-label,.mobile-task-card__note-label{margin:0;font-size:.82rem;font-weight:700}.mobile-task-card__status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.mobile-task-card__status-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-secondary,#f8fafc);min-height:48px;color:inherit;font:inherit;cursor:pointer;text-align:center;border-radius:.55rem;padding:.45rem .5rem;font-size:.8rem;font-weight:600}.mobile-task-card__status-btn--active{border-color:var(--accent,#2563eb);background:color-mix(in srgb, var(--accent,#2563eb) 12%, transparent);color:var(--accent,#2563eb)}.mobile-task-card__note-input{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-primary,#fff);width:100%;min-height:72px;color:inherit;font:inherit;resize:vertical;border-radius:.55rem;padding:.55rem .65rem;font-size:.88rem}.mobile-task-card__note-send{min-height:48px!important}body.dark-mode .mobile-task-card__status-btn,body.dark-mode .mobile-task-card__note-input{background:var(--bg-secondary,#1e293b);border-color:var(--border-color,#334155)}.hamburger-btn{color:var(--gray-300);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;margin-right:8px;padding:6px 10px;font-size:22px;display:none}.hamburger-btn:hover{color:#fff}.sidebar-backdrop{inset:0;top:var(--header-height);z-index:89;opacity:0;transition:opacity var(--transition-normal);background:#00000073;display:none;position:fixed}.sidebar-backdrop.active{opacity:1}.header-menu-backdrop{inset:0;top:var(--header-height);z-index:10040;background:#00000073;display:none;position:fixed}body.header-menu-open .header-menu-backdrop{display:block}@media (width<=1360px){.header-stats .stat:nth-child(3){display:none}.data-source-pill--compact{max-width:140px}}@media (width<=1180px){.header-btn span:not(.header-tool-badge){display:none}.header-btn{gap:0;padding:7px 10px}.header-menu-btn span:first-of-type{display:none}.header-btn-logout span{display:inline}}@media (width<=1024px){.header-actions .btn-icon:not(.btn-icon-only) span{display:none}.header-actions .btn-icon{padding:8px 10px}}@media (width<=768px){.hamburger-btn{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-header{gap:6px;padding:0 10px;overflow:visible}.header-left{flex:0 auto;gap:6px;min-width:0}.header-menus{flex:0 auto;justify-content:flex-start;gap:4px;min-width:0;overflow:visible}.header-actions{flex-shrink:0;gap:4px;margin-left:auto}.header-menus>.header-btn:not(.header-menu-btn){gap:0;padding:7px 9px}.header-menus>.header-btn:not(.header-menu-btn) span{display:none}.header-menu-panel{top:calc(var(--header-height) + 6px);width:auto;min-width:0;max-height:min(72vh, calc(100dvh - var(--header-height) - 20px));-webkit-overflow-scrolling:touch;position:fixed;left:12px;right:12px;overflow:hidden auto}.header-menu-item{white-space:normal;word-break:break-word}.sidebar{top:var(--header-height);z-index:90;width:min(320px,100vw);max-width:100vw;transition:transform var(--transition-normal);box-shadow:none;position:fixed;bottom:0;left:0;transform:translate(-100%)}body.sidebar-open .sidebar{box-shadow:var(--shadow-lg);transform:translate(0)}body.sidebar-open .sidebar-backdrop{opacity:1;display:block}.app-main .sidebar{flex-shrink:0}body.sidebar-open .app-main,body.sidebar-open,body.header-menu-open{overflow:hidden}body.sidebar-expanded{--sidebar-width:320px}body.sidebar-expanded.sidebar-tech-preview .sidebar-content.active{padding-right:0}body.sidebar-expanded .sidebar-tech-detail-panel,body.sidebar-expanded .sidebar-content.active .sidebar-extra-panel,.sidebar-expand-btn{display:none}.map-area{flex:1;width:100%;min-width:0}.logo span,.header-stats,.header-menu-btn span:not(.header-tool-badge){display:none}.header-menu-btn{padding:7px 10px}.header-user-pill{max-width:none;padding:4px 8px}.header-user-text{display:none}.header-btn-logout span{display:inline}.header-btn-logout{padding:6px 10px;font-size:12px}.header-actions .header-icon-btn[onclick="restartTour()"]{display:none}.data-source-pill--compact #data-source-pill-text{max-width:64px}.details-panel{z-index:100;border-left:none;border-top:1px solid var(--gray-200);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:60vh;box-shadow:var(--shadow-lg);position:fixed;inset:auto 0 0}.map-toolbar{flex-wrap:wrap;gap:6px;padding:8px 12px}.toolbar-group{gap:4px}.toolbar-group .btn span{display:none}.map-legend{min-width:140px;max-width:200px;bottom:10px;left:10px}.map-controls-panel{bottom:20px;right:6px}.sidebar-tab{padding:10px 4px;font-size:9px}.sidebar-tab i{font-size:var(--text-lg)}.scheduler-header{gap:6px;padding:8px 10px}.scheduler-week-label{min-width:auto;font-size:var(--text-sm);padding:4px 10px}.sched-header-search{width:100%;margin-left:0}.scheduler-actions{flex-wrap:wrap;gap:4px}.scheduler-actions .btn span{display:none}.sched-view-toggle{order:-1}.scheduler-overlay.active{top:var(--header-height);z-index:95}.scheduler-header{flex-wrap:wrap}.scheduler-nav{flex:100%;min-width:0}.scheduler-actions .sched-zoom-controls{display:none}.map-legend{max-height:40vh;overflow-y:auto}.map-controls-panel{transform-origin:100% 100%;transform:scale(.92)}.map-toolbar .dropdown-menu{min-width:0;max-width:calc(100vw - 24px);left:0;right:auto}.map-toolbar .dropdown-toggle span{text-overflow:ellipsis;white-space:nowrap;max-width:80px;overflow:hidden}.map-floating-panel{max-width:min(200px,100vw - 24px);bottom:10px;left:10px}.map-notification{text-align:center;flex-wrap:wrap;justify-content:center;max-width:none;left:12px;right:12px;transform:none}.modal-overlay{align-items:flex-start;padding:12px;overflow-y:auto}.modal-overlay>.modal,.modal.pom-modal,.modal.pom-file-modal,.modal.pom-scraper-modal,.time-edit-modal,.edit-coords-modal,.route-calc-modal,.jpg-export-modal{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.app-confirm-box:not(.dm-box):not(.data-status-box--wide){width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.app-confirm-overlay .app-confirm-box.data-status-box.data-status-box--wide{width:calc(100vw - 24px);max-width:calc(100vw - 24px);height:min(85vh,680px);max-height:min(85vh,680px)}#data-mode-overlay .app-confirm-box.dm-box{width:calc(100vw - 24px);min-width:0;max-width:calc(100vw - 24px)}.sched-history-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;max-height:75vh;inset:auto 0 0;transform:none}.scheduler-header-right{flex-wrap:wrap;justify-content:flex-end;gap:6px;width:100%}.sched-view-toggle{flex-wrap:wrap;max-width:100%}.sched-view-toggle .btn span{display:none}.mini-map-overlay{width:min(280px,100vw - 24px);height:200px;bottom:10px;right:10px}.shooting-cancel-banner{top:calc(var(--header-height) + 8px);width:calc(100vw - 24px);min-width:0;max-width:calc(100vw - 24px)}.onboarding-hint-banner{max-width:none;bottom:12px;left:12px;right:12px}.sidebar-tab span{text-align:center;word-break:break-word;font-size:9px;line-height:1.2}.header-menu-panel--flyout{min-width:0}.header-menu-submenu{min-width:0;max-width:none;box-shadow:none;background:0 0;border:none;border-radius:0;margin-left:0;padding:0 0 4px 10px;display:none;position:static}.header-menu-flyout-item.is-open>.header-menu-submenu{display:block}.header-menu-flyout-item:hover>.header-menu-submenu{display:none}.header-menu-flyout-item.is-open:hover>.header-menu-submenu{display:block}}@media (width<=480px){:root{--header-height:48px}.sidebar{width:100vw}.app-header{gap:4px;padding:0 6px}.header-btn-logout span{display:none}.header-btn-logout{gap:0;padding:7px 9px}.logo i{font-size:20px}.header-actions .btn-icon{font-size:var(--text-sm);padding:6px 8px}.theme-toggle{width:32px;height:32px}.header-actions .header-user-pill{display:none}.data-source-pill--compact{padding:4px 8px}.data-source-pill--compact #data-source-pill-text{display:none}.modal{width:95vw;max-height:90vh;margin:5vh auto}.sched-tech-col{min-width:120px}.sched-task-cell{min-height:28px;font-size:var(--text-2xs)}#data-mode-overlay .app-confirm-box.dm-box{padding:8px 10px 6px}.sched-history-panel{max-height:85vh}.abs-modal{width:calc(100vw - 16px);max-height:90dvh}.abs-tab{font-size:var(--text-xs);padding:8px 10px}}:root{--fops-rail-w:248px;--fops-rail-w-collapsed:74px;--fops-rail-bg:linear-gradient(185deg, #23386c 0%, #1a2c56 52%, #131f41 100%);--fops-rail-border:#7896dc29;--fops-rail-item:#e2e8f5b8;--fops-rail-item-hover:#fff;--fops-rail-item-hover-bg:#ffffff14;--fops-rail-active-bg:#6091f533;--fops-rail-active-text:#fff;--fops-rail-accent:#4b8bff;--fops-rail-muted:#c6d2eb8c;--fops-brand-grad:linear-gradient(135deg, #4b8bff 0%, #8b5cf6 100%);--fops-z-rail:1200}body.fops{padding-left:var(--fops-rail-w);transition:padding-left .22s}body.fops.fops-rail-collapsed{padding-left:var(--fops-rail-w-collapsed)}body.fops .scheduler-overlay{left:var(--fops-rail-w);transition:left .22s}body.fops.fops-rail-collapsed .scheduler-overlay{left:var(--fops-rail-w-collapsed)}.fops-rail{width:var(--fops-rail-w);background:var(--fops-rail-bg);border-right:1px solid var(--fops-rail-border);z-index:var(--fops-z-rail);-webkit-font-smoothing:antialiased;flex-direction:column;transition:width .22s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;box-shadow:4px 0 24px #0b163047}body.fops-rail-collapsed .fops-rail{width:var(--fops-rail-w-collapsed)}.fops-rail-head{flex:none;align-items:center;gap:10px;height:64px;padding:0 16px;display:flex}.fops-brand{color:#fff;flex:auto;align-items:center;gap:11px;min-width:0;text-decoration:none;display:flex}.fops-brand-mark{background:var(--fops-brand-grad);border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 4px 12px #4b8bff66}.fops-brand-mark svg{width:20px;height:20px;display:block}.fops-brand-name{letter-spacing:.2px;white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.fops-rail-collapse{width:30px;height:30px;color:var(--fops-rail-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;place-items:center;transition:background .15s,color .15s;display:grid}.fops-rail-collapse:hover{background:var(--fops-rail-item-hover-bg);color:#fff}.fops-rail-collapse i{transition:transform .22s}body.fops-rail-collapsed .fops-rail-collapse i{transform:rotate(180deg)}.fops-nav{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex-direction:column;flex:auto;gap:2px;margin:0;padding:8px 12px;list-style:none;display:flex;overflow:hidden auto}.fops-nav::-webkit-scrollbar{width:6px}.fops-nav::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:3px}.fops-nav-item{color:var(--fops-rail-item);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;align-items:center;gap:13px;padding:10px 12px;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.fops-nav-item:hover{background:var(--fops-rail-item-hover-bg);color:var(--fops-rail-item-hover)}.fops-nav-item:focus-visible{outline:2px solid var(--fops-rail-accent);outline-offset:1px}.fops-nav-item.is-active{background:var(--fops-rail-active-bg);color:var(--fops-rail-active-text);font-weight:600}.fops-nav-item.is-active:before{content:"";background:var(--fops-rail-accent);border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;top:50%;left:-12px;transform:translateY(-50%);box-shadow:0 0 10px #4b8bff99}.fops-nav-item i{text-align:center;flex:none;width:22px;font-size:16px}.fops-nav-item .fops-nav-label{text-overflow:ellipsis;flex:auto;overflow:hidden}.fops-nav-item .fops-nav-soon{letter-spacing:.4px;text-transform:uppercase;color:var(--fops-rail-muted);background:#ffffff0f;border-radius:5px;flex:none;padding:2px 5px;font-size:8px;font-weight:700}.fops-rail-foot{border-top:1px solid var(--fops-rail-border);flex:none;padding:12px}.fops-rail-card{background:#ffffff0d;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:11px;padding:11px 12px;display:flex}.fops-rail-card-icon{color:#9dc0ff;background:#4b8bff2e;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;font-size:14px;display:grid}.fops-rail-card-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.fops-rail-card-text strong{color:#eef2fb;white-space:nowrap;font-size:12px}.fops-rail-card-text span{color:var(--fops-rail-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}body.fops-rail-collapsed .fops-brand-name,body.fops-rail-collapsed .fops-nav-label,body.fops-rail-collapsed .fops-nav-soon,body.fops-rail-collapsed .fops-rail-card-text{display:none}body.fops-rail-collapsed .fops-rail-head{justify-content:center;padding:0}body.fops-rail-collapsed .fops-rail-collapse{display:none}body.fops-rail-collapsed .fops-nav-item{justify-content:center;padding:11px 0}body.fops-rail-collapsed .fops-nav-item i{width:auto;font-size:17px}body.fops-rail-collapsed .fops-rail-card{justify-content:center;padding:9px}body.fops-rail-collapsed .fops-nav-item:after{content:attr(data-label);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:5;background:#0f1b36;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .12s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%);box-shadow:0 6px 18px #00000059}body.fops-rail-collapsed .fops-nav-item:hover:after{opacity:1}.fops-view-stub{top:var(--header-height);left:var(--fops-rail-w);text-align:center;background:var(--bg-surface,#fff);color:var(--text-color,#111827);z-index:1150;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:32px;transition:left .22s;display:none;position:fixed;bottom:0;right:0}body.fops-rail-collapsed .fops-view-stub{left:var(--fops-rail-w-collapsed)}.fops-view-stub.is-visible{display:flex}.fops-view-stub-icon{width:76px;height:76px;color:var(--fops-rail-accent);background:color-mix(in srgb, var(--fops-rail-accent) 12%, transparent);border-radius:20px;place-items:center;margin-bottom:14px;font-size:32px;display:grid}.fops-view-stub h2{margin:0;font-size:22px;font-weight:700}.fops-view-stub p{max-width:420px;color:var(--text-secondary,#4b5563);margin:0;font-size:14px;line-height:1.55}.fops-view-stub-badge{color:var(--fops-rail-accent);background:color-mix(in srgb, var(--fops-rail-accent) 12%, transparent);border-radius:999px;align-items:center;gap:7px;margin-top:8px;padding:6px 13px;font-size:12px;font-weight:600;display:inline-flex}body.fops .app-header .logo{display:none}.fops-mobile-trigger{width:38px;height:38px;color:var(--header-text,#fff);cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;font-size:17px;display:none}.fops-mobile-trigger:hover{background:#ffffff1f}body.fops{--header-height:64px}body.fops .app-header{background:var(--bg-surface,#fff);color:var(--text-color,#111827);--header-text:var(--text-color,#111827);border-bottom:1px solid var(--border-color,#e5e7eb);gap:16px;padding:0 20px;box-shadow:0 1px 2px #1018280a}body.fops .app-header .header-stats,body.fops .app-header .data-source-pill{display:none}body.fops .header-left{flex:0 auto;gap:14px}.fops-topbar-heading{flex-direction:column;justify-content:center;min-width:0;display:flex}.fops-topbar-heading h1{white-space:nowrap;text-overflow:ellipsis;color:var(--text-color,#111827);margin:0;font-size:17px;font-weight:700;line-height:1.15;overflow:hidden}.fops-topbar-heading p{color:var(--text-secondary,#6b7280);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;line-height:1.3;overflow:hidden}.fops-topbar-search{background:var(--bg-secondary,#f1f5f9);border:1px solid #0000;border-radius:10px;flex:auto;align-items:center;gap:9px;max-width:520px;height:40px;padding:0 14px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.fops-topbar-search:focus-within{background:var(--bg-surface,#fff);border-color:var(--fops-rail-accent);box-shadow:0 0 0 3px #4b8bff24}.fops-topbar-search>i{color:var(--text-muted,#94a3b8);font-size:14px}.fops-topbar-search input{min-width:0;font:inherit;color:var(--text-color,#111827);background:0 0;border:none;outline:none;flex:auto;font-size:13px}.fops-topbar-search input::placeholder{color:var(--text-muted,#94a3b8)}.fops-icon-btn{width:40px;height:40px;color:var(--text-secondary,#4b5563);cursor:pointer;background:0 0;border:none;border-radius:10px;place-items:center;font-size:16px;transition:background .15s,color .15s;display:grid;position:relative}.fops-icon-btn:hover{background:var(--bg-secondary,#f1f5f9);color:var(--text-color,#111827)}.fops-icon-btn .fops-dot{border:2px solid var(--bg-surface,#fff);background:#ef4444;border-radius:999px;min-width:7px;height:7px;position:absolute;top:9px;right:10px}body.fops .app-header .header-btn{background:var(--bg-secondary,#f1f5f9);color:var(--text-secondary,#475569);border-color:#0000;border-radius:10px;height:40px}body.fops .app-header .header-btn:hover{background:var(--gray-200,#e5e7eb);color:var(--text-color,#111827);transform:none}body.fops .app-header .header-btn-primary{background:var(--info,#3b82f6);color:#fff;border-color:#0000}body.fops .app-header .header-btn-primary:hover{color:#fff;background:#2563eb}body.fops .app-header .header-btn-success{color:#15803d;background:#16a34a1f}body.fops .app-header .header-btn-success:hover{color:#166534;background:#16a34a33}body.fops .app-header .header-btn-accent{color:#7c3aed;background:#8b5cf61f}body.fops .app-header .header-btn-accent:hover{color:#6d28d9;background:#8b5cf633}body.fops .app-header .header-icon-btn{color:var(--text-secondary,#4b5563)}body.fops .app-header .header-icon-btn:hover{background:var(--bg-secondary,#f1f5f9);color:var(--text-color)}body.fops .header-account-btn{background:0 0;border-color:#0000;align-items:center;gap:9px;height:44px;padding:0 10px 0 6px;display:inline-flex}body.fops .header-account-btn:hover{background:var(--bg-secondary,#f1f5f9)}.fops-account-avatar{background:var(--fops-brand-grad);color:#fff;text-transform:uppercase;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.fops-account-meta{flex-direction:column;align-items:flex-start;min-width:0;max-width:150px;line-height:1.2;display:flex}.fops-account-name{color:var(--text-color,#111827);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:13px;font-weight:600;overflow:hidden}.fops-account-role{color:var(--text-muted,#6b7280);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:11px;font-weight:500;overflow:hidden}.fops-account-role:empty{display:none}body.tech-view-mode .fops-rail,body.tech-view-mode .fops-rail-backdrop{display:none!important}body.tech-view-mode{padding-left:0!important}.fops-demo-fab{z-index:3000;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.fops-demo-fab-toggle{color:#fff;font:inherit;cursor:pointer;background:#1a2c56;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:9px;padding:8px 14px;font-size:13px;display:inline-flex;box-shadow:0 10px 28px #0b16306b}.fops-demo-fab-toggle:hover{background:#223a6d}.fops-demo-fab-icon{color:#7aa2ff}.fops-demo-fab-label strong{font-weight:700}.fops-demo-fab-caret{opacity:.8;font-size:11px;transition:transform .2s}.fops-demo-fab.is-open .fops-demo-fab-caret{transform:rotate(180deg)}.fops-demo-fab-menu{background:var(--bg-surface,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:12px;flex-direction:column;gap:3px;min-width:210px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 14px 36px #0000003d}.fops-demo-fab-menu[hidden]{display:none}.fops-demo-fab-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted,#94a3b8);padding:4px 8px 6px;font-size:10px;font-weight:700}.fops-demo-fab-item{color:var(--text-color,#111827);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:9px 10px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.fops-demo-fab-item:hover{background:var(--bg-secondary,#f1f5f9)}.fops-demo-fab-item.is-active{background:var(--fops-rail-accent);color:#fff;font-weight:600}.fops-demo-fab-item i{text-align:center;opacity:.9;width:18px}.fops-demo-badge{letter-spacing:.5px;color:#b45309;background:#fef3c7;border-radius:5px;width:fit-content;margin-top:3px;padding:1px 5px;font-size:8px;font-weight:800;display:inline-block}@media (width<=1280px){body.fops .app-header .header-menus .header-btn span:not(.header-menu-caret):not(.header-tool-badge){display:none}body.fops .app-header .header-btn{padding:0 12px}.fops-topbar-heading p{display:none}}@media (width<=900px){.fops-topbar-search,.fops-account-meta{display:none}}@media (width<=1024px){body.fops{padding-left:var(--fops-rail-w-collapsed)}body.fops .scheduler-overlay{left:var(--fops-rail-w-collapsed)}.fops-rail{width:var(--fops-rail-w-collapsed)}.fops-view-stub{left:var(--fops-rail-w-collapsed)}.fops-brand-name,.fops-rail-collapse,.fops-nav-label,.fops-nav-soon,.fops-rail-card-text{display:none}.fops-rail-head{justify-content:center;padding:0}.fops-nav-item{justify-content:center;padding:11px 0}.fops-nav-item i{width:auto;font-size:17px}.fops-nav-item.is-active:before{left:-12px}.fops-rail-card{justify-content:center;padding:9px}}@media (width<=640px){body.fops{padding-left:0}body.fops .scheduler-overlay,.fops-view-stub{left:0}.fops-rail{transition:transform .24s;transform:translate(-100%);box-shadow:8px 0 32px #0b163080}body.fops-rail-open .fops-rail{transform:translate(0)}.fops-rail-backdrop{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);opacity:0;visibility:hidden;z-index:calc(var(--fops-z-rail) - 1);background:#09102280;transition:opacity .2s;position:fixed;inset:0}body.fops-rail-open .fops-rail-backdrop{opacity:1;visibility:visible}.fops-mobile-trigger{display:inline-flex}}@media (width>=641px){.fops-rail-backdrop{display:none}}[data-theme=dark] .fops-view-stub{background:var(--bg-surface);color:var(--text-color)}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform .3s ease-out,opacity .3s ease-in;-o-transition:-o-transform .3s ease-out, opacity .3s ease-in;-moz-transition:-moz-transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset .3s ease-out,-webkit-stroke-opacity .3s ease-in;-o-transition:-o-stroke-dashoffset .3s ease-out, -o-stroke-opacity .3s ease-in;-moz-transition:-moz-stroke-dashoffset .3s ease-out,-moz-stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.marker-cluster-small{background-color:#b5e28c99}.marker-cluster-small div{background-color:#6ecc3999}.marker-cluster-medium{background-color:#f1d35799}.marker-cluster-medium div{background-color:#f0c20c99}.marker-cluster-large{background-color:#fd9c7399}.marker-cluster-large div{background-color:#f1801799}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{text-align:center;border-radius:15px;width:30px;height:30px;margin-top:5px;margin-left:5px;font:12px Helvetica Neue,Arial,Helvetica,sans-serif}.marker-cluster span{line-height:30px}
