@layer etc-marketing-motion{:root{--mkt-motion-route-trace: var(--motion-duration-route-trace, 1.2s);--mkt-motion-telemetry-pulse: var(--motion-duration-telemetry-pulse, 1.4s);--mkt-motion-dashboard-reveal: var(--motion-duration-dashboard-reveal, .42s);--mkt-motion-kpi-reveal: var(--motion-duration-kpi-reveal, .26s);--mkt-motion-soft-fade: var(--motion-duration-operational-fade, .24s);--mkt-motion-step-delay: var(--motion-step-delay-operational, 70ms);--mkt-motion-ease-operational: var(--motion-ease-operational, cubic-bezier(.2, 0, .2, 1))}.mkt-operational-fade{opacity:1}.mkt-operational-fade[data-motion-state=active]{animation:mktOperationalFade var(--mkt-motion-soft-fade) var(--mkt-motion-ease-operational) both}.mkt-dashboard-reveal{opacity:1}.mkt-dashboard-reveal[data-motion-state=active]{animation:mktDashboardReveal var(--mkt-motion-dashboard-reveal) var(--mkt-motion-ease-operational) both}.mkt-kpi-reveal{min-width:0;animation:mktKpiReveal var(--mkt-motion-kpi-reveal) var(--mkt-motion-ease-operational) both;animation-delay:calc(var(--mkt-reveal-index, 0) * var(--mkt-motion-step-delay))}.mkt-route-trace[data-motion-state=active]{animation:mktRouteTrace var(--mkt-motion-route-trace) var(--mkt-motion-ease-operational) .18s forwards}.mkt-route-trace[data-motion-state=idle]{stroke-dashoffset:0}.mkt-telemetry-pulse{position:relative}.mkt-telemetry-pulse:after{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border:1px solid rgba(22,163,74,.38);border-radius:inherit;opacity:0;content:""}.mkt-telemetry-pulse[data-motion-state=active]:after{animation:mktTelemetryPulse var(--mkt-motion-telemetry-pulse) var(--mkt-motion-ease-operational) .78s 2}@keyframes mktRouteTrace{to{stroke-dashoffset:0}}@keyframes mktTelemetryPulse{0%{opacity:.54;transform:scale(1)}to{opacity:0;transform:scale(1.85)}}@keyframes mktDashboardReveal{0%{opacity:.94;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes mktKpiReveal{0%{opacity:.88;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes mktOperationalFade{0%{opacity:.92}to{opacity:1}}@media (prefers-reduced-motion: reduce){:root{--mkt-motion-route-trace: 1ms;--mkt-motion-telemetry-pulse: 1ms;--mkt-motion-dashboard-reveal: 1ms;--mkt-motion-kpi-reveal: 1ms;--mkt-motion-soft-fade: 1ms;--mkt-motion-step-delay: 0ms}.mkt-operational-fade,.mkt-dashboard-reveal,.mkt-kpi-reveal,.mkt-route-trace,.mkt-telemetry-pulse:after{animation:none!important;transition-duration:1ms!important}.mkt-route-trace{stroke-dashoffset:0!important}}}.login-page{position:relative;display:flex;min-height:100vh;align-items:center;justify-content:center;box-sizing:border-box;overflow:hidden;padding:clamp(18px,3vw,42px);background:var(--brand-midnight);color:var(--color-text-inverse)}.login-background{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.login-background:before{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 34%),linear-gradient(115deg,rgba(94,155,252,.08),transparent 38%),#171a2f;content:""}.login-background__grid{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;background-image:linear-gradient(rgba(255,255,255,.052) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.052) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);opacity:.52}.login-background>.login-route-network{position:absolute;inset:10% 5% auto auto;width:min(760px,68vw);height:460px;opacity:.34}.login-container{position:relative;z-index:1;display:grid;width:min(100%,900px);min-height:540px;grid-template-columns:minmax(280px,.92fr) minmax(340px,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);background:#f9fafbfb;box-shadow:0 24px 80px #07091861,0 1px #ffffff2e inset;color:var(--color-text)}.login-container--confirmed{pointer-events:none}.login-header{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:34px;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 42%),var(--brand-midnight-soft);color:var(--color-text-inverse)}.login-header:before{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:32px 32px;opacity:.34;content:""}.login-header:after{position:absolute;inset:auto 0 0;height:1px;background:#ffffff2e;content:""}.login-brand-scene,.login-access-copy{position:relative;z-index:1}.login-brand-scene{display:grid;gap:34px}.login-mark-lockup{display:flex;align-items:center;gap:14px}.login-infrastructure-mark{width:52px;height:52px;flex:0 0 auto;color:#f8fafc;filter:drop-shadow(0 10px 22px rgba(7,9,24,.28))}.login-infrastructure-mark__route{fill:var(--brand-signal)}.login-infrastructure-mark__checkpoint{fill:var(--brand-route)}.login-infrastructure-mark__signal{fill:#9cbffc}.login-etc-title{margin:0;color:#fff;font-size:30px;font-weight:var(--font-weight-bold);line-height:1}.login-header p{margin:6px 0 0;color:#ffffffa8;font-size:var(--font-size-md)}.login-brand-scene>.login-route-network{height:210px;min-height:210px;border:1px solid rgba(255,255,255,.11);background:#0a0e2052}.login-route-network{position:relative;overflow:hidden;border-radius:var(--radius-sm)}.login-route-network:before{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px;opacity:.58;content:""}.login-route-network__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.login-route-network__route-muted,.login-route-network__route-active{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.login-route-network__route-muted{stroke:#fff3;stroke-width:5}.login-route-network__route-active{stroke:var(--brand-signal);stroke-dasharray:150;stroke-dashoffset:150;stroke-width:2.5}.login-route-network__node{position:absolute;z-index:2;transform:translate(-50%,-50%)}.login-route-network__node--origin{left:8%;top:72%}.login-route-network__node--hub{left:43%;top:45%}.login-route-network__node--terminal{left:94%;top:39%}.login-route-network__dot{display:block;width:11px;height:11px;border:2px solid rgba(255,255,255,.86);border-radius:999px;background:var(--brand-route);box-shadow:0 0 0 1px #0a0e2073}.login-route-network__node--hub .login-route-network__dot{background:var(--brand-signal)}.login-route-network__node--terminal .login-route-network__dot{background:#f8fafc}.login-access-copy{display:grid;gap:7px;max-width:310px}.login-access-copy span{color:#ffffff8f;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase}.login-access-copy strong{color:#ffffffe0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.35}.login-form{display:flex;flex-direction:column;justify-content:center;padding:42px;background:var(--color-surface)}.login-form--confirmed{opacity:.82;transition:opacity var(--motion-duration-operational-fade) var(--motion-ease-operational)}.login-form h2{margin:0 0 24px;color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.2}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:7px;color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.form-group input{width:100%;min-height:46px;box-sizing:border-box;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--control-bg);color:var(--color-text);font-size:var(--font-size-lg);padding:11px 13px;transition:border-color var(--motion-duration-base) var(--motion-ease-standard),box-shadow var(--motion-duration-base) var(--motion-ease-standard),background-color var(--motion-duration-base) var(--motion-ease-standard)}.form-group input::placeholder{color:var(--color-text-tertiary)}.form-group input:focus{outline:none;border-color:var(--brand-primary);box-shadow:var(--control-focus-ring)}.form-group input:disabled{background:var(--control-bg-disabled);cursor:not-allowed}.login-password-field{position:relative}.login-password-field input{padding-right:96px}.login-password-field__toggle{position:absolute;top:50%;right:7px;display:inline-flex;min-width:78px;min-height:32px;align-items:center;justify-content:center;transform:translateY(-50%);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--brand-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:5px 9px;transition:background-color var(--motion-duration-base) var(--motion-ease-standard),border-color var(--motion-duration-base) var(--motion-ease-standard),color var(--motion-duration-base) var(--motion-ease-standard)}.login-password-field__toggle:hover{border-color:#1d49bf29;background:#1d49bf14}.login-password-field__toggle:focus-visible{outline:none;box-shadow:var(--control-focus-ring)}.form-group-checkbox{margin-bottom:14px}.form-group-checkbox label{display:flex;align-items:center;gap:9px;cursor:pointer;font-weight:var(--font-weight-regular)}.form-group-checkbox input[type=checkbox]{width:16px;height:16px;min-height:0;margin:1px 0 0;flex:0 0 auto;accent-color:var(--brand-primary)}.login-consent label{align-items:flex-start;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.42}.login-consent label.login-consent-required{color:var(--color-text)}.login-consent a{color:var(--brand-primary);text-decoration:none}.login-consent a:hover{text-decoration:underline}.login-button{display:inline-flex;width:100%;min-height:48px;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(29,73,191,.24);border-radius:var(--radius-sm);background:var(--button-primary-bg);box-shadow:0 10px 22px #2256d92e,0 1px 2px #07091814;color:var(--color-text-inverse);cursor:pointer;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:12px 16px;transition:background-color var(--motion-duration-base) var(--motion-ease-standard),border-color var(--motion-duration-base) var(--motion-ease-standard),box-shadow var(--motion-duration-base) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.login-button:hover:not(:disabled){background:var(--button-primary-bg-hover);box-shadow:0 14px 28px #2256d938,0 1px 2px #07091814}.login-button:active:not(:disabled){transform:translateY(1px);box-shadow:var(--shadow-press)}.login-button:disabled{opacity:.64;cursor:not-allowed}.login-button__status{position:relative;width:11px;height:11px;border-radius:999px;background:#ffffffc7}.login-button__pulse{display:block;width:11px;height:11px;border-radius:inherit}.login-button__pulse:after{border-color:#ffffff80}.error-message{margin-bottom:20px;border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-danger-soft);color:var(--color-danger-text);font-size:var(--font-size-base);padding:12px 14px}.login-hint{margin:20px 0 0;color:var(--color-text-tertiary);font-size:var(--font-size-md);text-align:center}.login-hint a{color:var(--brand-primary);text-decoration:none}.login-hint a:hover{text-decoration:underline}.login-splash{display:flex;min-height:100vh;align-items:center;justify-content:center;box-sizing:border-box;padding:24px;background:var(--brand-midnight);color:var(--color-text-inverse)}.login-splash__surface{position:relative;display:grid;width:min(320px,100%);min-height:210px;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);background:var(--brand-midnight-soft)}.login-splash__surface .login-route-network{position:absolute;inset:42% -16% auto;height:120px;opacity:.48}.login-splash__mark{position:relative;z-index:1;width:58px;height:58px}.login-splash__surface span{position:relative;z-index:1;align-self:end;margin-bottom:24px;color:#ffffffad;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}@media (max-width: 760px){.login-page{align-items:flex-start;overflow:auto;padding:16px}.login-background>.login-route-network{inset:4% -18% auto auto;width:520px;height:340px}.login-container{min-height:0;grid-template-columns:1fr}.login-header{gap:18px;padding:20px 24px}.login-brand-scene{gap:16px}.login-brand-scene>.login-route-network{height:108px;min-height:108px}.login-access-copy{max-width:none}.login-form{padding:22px 24px 24px}.login-form h2{margin-bottom:18px}.form-group{margin-bottom:14px}.login-consent label{line-height:1.34}}@media (max-height: 430px) and (orientation: landscape){.login-page{align-items:flex-start;min-height:100vh;overflow:auto;padding:8px 10px}.login-container{width:min(100%,720px);min-height:0;max-height:calc(100vh - 16px);grid-template-columns:minmax(190px,.45fr) minmax(0,1fr)}.login-header{padding:16px}.login-infrastructure-mark{width:38px;height:38px}.login-etc-title{font-size:24px}.login-header p{font-size:var(--font-size-xs)}.login-brand-scene{gap:12px}.login-brand-scene>.login-route-network{height:82px;min-height:82px}.login-access-copy strong{font-size:var(--font-size-base)}.login-form{max-height:calc(100vh - 16px);overflow-y:auto;padding:14px 16px}.login-form h2{margin-bottom:10px;font-size:var(--font-size-lg)}.form-group{margin-bottom:8px}.form-group label{margin-bottom:4px;font-size:var(--font-size-sm)}.form-group input{min-height:36px;padding:8px 10px;font-size:var(--font-size-base)}.form-group-checkbox{margin-bottom:6px}.login-consent label{gap:6px;font-size:var(--font-size-xs);line-height:1.25}.login-button{min-height:38px;padding:9px 12px;font-size:var(--font-size-base)}}@media (prefers-reduced-motion: reduce){.login-container,.login-form,.login-button,.form-group input{transition-duration:1ms!important}.login-route-network__route-active{stroke-dashoffset:0!important}.login-button__pulse:after,.login-route-network__dot:after{animation:none!important}}.dashboard-page{max-width:1280px;margin:0 auto;padding-bottom:40px}.dashboard-header{background:#fff;padding:24px 30px;border-radius:14px;box-shadow:0 2px 10px #00000014;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.dashboard-header__left h1{margin:0 0 6px;color:#1a1a2e;font-size:26px;font-weight:700}.dashboard-subtitle{margin:0;color:#888;font-size:14px}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:24px}.kpi-card{background:#fff;border-radius:14px;padding:22px 24px;box-shadow:0 2px 10px #00000012;border-left:5px solid #4a90e2;transition:transform .2s,box-shadow .2s}.kpi-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001f}.kpi-card--blue{border-left-color:#4a90e2}.kpi-card--green{border-left-color:#27ae60}.kpi-card--red{border-left-color:#e74c3c}.kpi-card--orange{border-left-color:#f39c12}.kpi-card__title{font-size:13px;color:#888;font-weight:500;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.kpi-card__value{font-size:28px;font-weight:700;color:#1a1a2e;line-height:1.1;margin-bottom:6px}.kpi-card__sub{font-size:12px;color:#aaa}.dashboard-section{background:#fff;border-radius:14px;padding:22px 24px;box-shadow:0 2px 10px #00000012;margin-bottom:24px}.section-title{margin:0 0 16px;font-size:16px;font-weight:600;color:#333}.alerts-list{display:flex;flex-direction:column;gap:8px}.alert-badge{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;font-size:13px}.alert-badge--info{background:#eaf4ff;color:#2980b9}.alert-badge--warning{background:#fff8e1;color:#e67e22}.alert-badge--error{background:#fdecea;color:#c0392b}.alert-badge__icon{font-size:16px;flex-shrink:0}.alert-badge__msg{flex:1}.alert-badge__date{font-size:12px;opacity:.7;white-space:nowrap}.alerts-more{font-size:13px;color:#888;padding:6px 14px}.dashboard-tables-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-bottom:24px}.dashboard-table-card{background:#fff;border-radius:14px;padding:22px 24px;box-shadow:0 2px 10px #00000012}.dash-table{width:100%;border-collapse:collapse;font-size:13px}.dash-table th{text-align:left;padding:8px 10px;color:#888;font-weight:600;border-bottom:1px solid #f0f0f0;font-size:12px;text-transform:uppercase}.dash-table td{padding:9px 10px;color:#333;border-bottom:1px solid #f8f8f8}.dash-table tr:last-child td{border-bottom:none}.dash-table tbody tr:hover{background:#fafbff}.quick-actions{display:flex;flex-wrap:wrap;gap:12px}.quick-action-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#f4f6fb;border:1px solid #e0e4ef;border-radius:10px;font-size:14px;color:#333;cursor:pointer;transition:background .15s,box-shadow .15s;font-weight:500}.quick-action-btn:hover{background:#e8eeff;box-shadow:0 2px 8px #4a90e226;border-color:#c0cff0}.modal-box{background:#fff;border-radius:16px;width:420px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040}.modal-body{flex:1;overflow-y:auto;padding:16px 24px}.modal-hint{font-size:13px;color:#888;margin:0 0 14px}.widget-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f5f5f5}.widget-row--disabled{opacity:.5}.widget-row__toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#333}.widget-row__controls{display:flex;gap:4px}.widget-row__controls button{background:#f4f6fb;border:1px solid #e0e4ef;border-radius:6px;width:28px;height:28px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.widget-row__controls button:disabled{opacity:.3;cursor:default}.widget-row__controls button:hover:not(:disabled){background:#e8eeff}.btn{padding:9px 18px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background .15s,box-shadow .15s}.btn-sm{padding:7px 14px;font-size:13px}.dashboard-loading,.dashboard-error{text-align:center;padding:60px 20px;color:#888;font-size:16px}.dashboard-error{color:#e74c3c}.clients-list-page{max-width:1400px;margin:0 auto}.filters-section{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.filters-form{display:flex;gap:15px;flex-wrap:wrap;align-items:flex-end}.filter-group{flex:1;min-width:150px}.filter-group input,.filter-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.clients-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.clients-mobile-list{display:none}.clients-table table{width:100%;border-collapse:collapse}.clients-table th{background:#f8f9fa;padding:15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6}.clients-table td{padding:15px;border-bottom:1px solid #dee2e6;color:#666}.clients-table tbody tr:hover{background-color:#f8f9fa}.client-name{color:#667eea;text-decoration:none;font-weight:500}.client-name:hover{text-decoration:underline}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-active{background-color:#d4edda;color:#155724}.status-inactive{background-color:#f8d7da;color:#721c24}.status-blocked{background-color:#f5c6cb;color:#721c24}.status-regular{background-color:#cce5ff;color:#004085}.filter-search{min-width:220px;flex:2}.filter-regular{flex:0 0 auto;min-width:auto}.checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#333}.checkbox-label input{width:auto;margin:0}.action-buttons{display:flex;gap:10px}.btn-icon{font-size:18px;text-decoration:none;cursor:pointer;transition:transform .2s;background:none;border:none;padding:0;line-height:1}.btn-icon:hover{transform:scale(1.2)}.btn-icon-danger{opacity:.7}.btn-icon-danger:hover{opacity:1}.modal-dialog{background:#fff;border-radius:14px;padding:28px 32px;max-width:420px;width:100%;box-shadow:0 8px 32px #0000002e}.modal-text{margin:0 0 24px;font-size:14px;color:#555;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.btn-danger{background:#ef4444;color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.btn-danger:hover:not(:disabled){background:var(--color-danger)}.modal-conflicts-list{list-style:none;padding:0;margin:0 0 16px;border:1px solid #fee2e2;border-radius:8px;overflow:hidden}.modal-conflicts-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;font-size:14px;background:#fff5f5;border-bottom:1px solid #fee2e2}.modal-conflicts-list li:last-child{border-bottom:none}.modal-conflict-label{color:#374151}.modal-conflict-count{font-weight:600;color:var(--color-danger);background:#fee2e2;border-radius:10px;padding:1px 8px;font-size:12px}.modal-text-hint{font-size:12px;color:#9ca3af;margin-top:0}.no-data{text-align:center;padding:40px!important;color:#999}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:15px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.page-info{color:#666;font-size:14px}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary:hover:not(:disabled){opacity:.9}.loading{text-align:center;padding:40px;color:#666;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.error-message{background-color:#fee;color:#c33;padding:15px;border-radius:6px;margin-bottom:20px;border:1px solid #fcc}.role-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid #e5e7eb;padding-bottom:0}.role-tab{padding:8px 20px;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-radius:4px 4px 0 0;transition:color .15s,border-color .15s}.role-tab:hover{color:#374151}.role-tab.active{color:#4f6ef7;border-bottom-color:#4f6ef7;font-weight:600}.roles-cell{display:flex;flex-wrap:wrap;gap:4px}.role-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.role-buyer{background:#dbeafe;color:var(--color-info-text)}.role-supplier{background:#dcfce7;color:#166534}.role-carrier{background:#fef3c7;color:#92400e}.role-none{background:#f3f4f6;color:#9ca3af}.exclusive-badge{margin-left:6px;color:var(--color-warning);font-size:13px}@media (max-width: 720px){.clients-list-page{max-width:none}.clients-list-page .page-header{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:16px}.clients-list-page .page-header h1{font-size:24px;line-height:1.2}.clients-list-page .page-header .btn{width:100%}.role-tabs{gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.role-tabs::-webkit-scrollbar{display:none}.role-tab{flex:0 0 auto;padding:9px 14px}.filters-section{padding:12px;border-radius:10px;margin-bottom:14px}.filters-form{gap:10px}.filter-group,.filter-search,.filter-regular{flex:1 1 100%;min-width:0}.filters-form .btn{width:100%}.clients-table{display:none}.clients-mobile-list{display:flex;flex-direction:column;gap:12px}.clients-mobile-empty,.client-mobile-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0f172a14}.clients-mobile-empty{padding:24px 16px;text-align:center;color:#6b7280}.client-mobile-card{padding:14px;cursor:pointer}.client-mobile-card:active{transform:scale(.995)}.client-mobile-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.client-mobile-card__title{display:flex;flex-direction:column;gap:2px;min-width:0}.client-mobile-card__title strong{color:#1f2937;font-size:16px;line-height:1.25;overflow-wrap:anywhere}.client-mobile-card__title span{color:#6b7280;font-size:13px;line-height:1.3;overflow-wrap:anywhere}.client-mobile-card .status-badge{flex-shrink:0;max-width:42%;text-align:center;white-space:normal;line-height:1.2}.client-mobile-card__roles{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:10px;border-bottom:1px solid #f1f3f5}.client-mobile-card__roles .exclusive-badge{margin-left:0;align-self:center}.client-mobile-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:12px 0}.client-mobile-card__meta div{min-width:0}.client-mobile-card__meta dt{color:#8b95a1;font-size:10px;font-weight:700;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.client-mobile-card__meta dd{color:#1f2937;font-size:13px;margin:0;overflow-wrap:anywhere}.client-mobile-card__actions{display:flex;flex-wrap:wrap;gap:8px}.client-mobile-card__actions .btn-link{min-height:36px;display:inline-flex;align-items:center;justify-content:center;background:#f4f6fb;border:1px solid #e0e4ef;border-radius:8px;color:#4f46e5;font-size:13px;font-weight:600;padding:0 12px;text-decoration:none}.client-mobile-card__actions .btn-link-danger{color:var(--color-danger);background:#fff5f5;border-color:#fecaca;cursor:pointer}.pagination{align-items:stretch;flex-direction:column;gap:10px}}@media (max-width: 720px) and (orientation: landscape){.clients-list-page .page-header{align-items:center;flex-direction:row;gap:10px;margin-bottom:8px}.clients-list-page .page-header h1{font-size:22px}.clients-list-page .page-header .btn{width:auto;min-height:34px;padding:6px 10px;font-size:13px}.role-tabs{margin-bottom:8px}.role-tab{padding:7px 12px}.clients-list-page .filters-section{margin-bottom:10px;padding:10px}.clients-list-page .filters-form{display:grid;grid-template-columns:minmax(150px,1.5fr) minmax(120px,1fr) repeat(3,minmax(0,1fr));align-items:center;gap:8px}.clients-list-page .filter-group,.clients-list-page .filter-search,.clients-list-page .filter-regular{flex:0 1 auto;min-width:0}.clients-list-page .filter-regular{align-self:center}.clients-list-page .checkbox-label{font-size:12px;line-height:1.2}.clients-list-page .filter-group input,.clients-list-page .filter-group select{min-height:32px;padding:6px 8px;font-size:12px}.clients-list-page .filters-form .btn{width:auto;min-height:34px;padding:6px 10px}.clients-mobile-list{gap:8px}.client-mobile-card{padding:10px}.client-mobile-card__header{margin-bottom:8px}.client-mobile-card__roles{padding-bottom:8px}.client-mobile-card__meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0}.client-mobile-card__actions .btn-link{min-height:32px}}.date-input-wrapper{position:relative;display:inline-flex;align-items:center;width:100%}.date-input-text{flex:1;padding-right:36px;font-variant-numeric:tabular-nums;letter-spacing:.5px}.date-input-calendar-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:6px;color:#8e8e93;cursor:pointer;padding:0;transition:background .15s,color .15s}.date-input-calendar-btn:hover:not(:disabled){background:#0000000f;color:var(--color-primary)}.date-input-calendar-btn:disabled{opacity:.4;cursor:not-allowed}.date-input-native{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;height:28px;opacity:0;pointer-events:none;border:none;padding:0}.date-input-disabled .date-input-text{background-color:#f5f5f7;color:#8e8e93;cursor:not-allowed}.contract-form-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.contract-form-modal{background:#fff;border-radius:14px;box-shadow:0 8px 40px #00000038;width:100%;max-width:780px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.contract-form-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 16px;border-bottom:1px solid #e8eaf0;position:sticky;top:0;background:#fff;z-index:10;border-radius:14px 14px 0 0}.contract-form-title{display:flex;align-items:center;gap:12px}.contract-form-title h2{margin:0;font-size:20px;font-weight:600;color:#1a1a2e}.contract-form-close{background:none;border:none;font-size:20px;color:#888;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}.contract-form-close:hover{background:#f0f0f5;color:#333}.approval-badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;letter-spacing:.3px}.contract-workflow-buttons{display:flex;flex-wrap:wrap;gap:8px;padding:12px 28px;background:#f8f9fc;border-bottom:1px solid #e8eaf0}.btn-workflow{padding:7px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s,box-shadow .15s}.btn-workflow:hover{opacity:.88}.btn-submit{background:#667eea;color:#fff}.btn-approve{background:#28a745;color:#fff}.btn-reject{background:#dc3545;color:#fff}.btn-activate{background:#17a2b8;color:#fff}.btn-close{background:#6c757d;color:#fff}.btn-terminate{background:#a71d2a;color:#fff}.contract-form-error{margin:0 28px;padding:10px 14px;background:#fde8e8;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;font-size:14px}.contract-form-tabs{display:flex;gap:4px;padding:14px 28px 0;border-bottom:2px solid #e8eaf0;overflow-x:auto}.contract-form-tab{padding:9px 16px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:13px;font-weight:500;color:#666;white-space:nowrap;transition:color .2s,border-color .2s;margin-bottom:-2px}.contract-form-tab:hover{color:#667eea}.contract-form-tab.active{color:#667eea;border-bottom-color:#667eea}.contract-form-section{padding:24px 28px;display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:13px;font-weight:600;color:#444}.form-group input,.form-group select,.form-group textarea{padding:9px 12px;border:1.5px solid #dde1ea;border-radius:8px;font-size:14px;color:#222;background:#fafbfd;transition:border-color .2s,box-shadow .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26;background:#fff}.form-hint{font-size:12px;color:#888;margin-top:2px}.form-group-checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500}.form-group-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer}.form-group-action{justify-content:flex-end}.section-hint{font-size:14px;color:#888;margin:0}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.contract-number-row{display:flex;gap:8px}.contract-number-row input{flex:1}.btn-generate{padding:9px 16px;background:#f0f2ff;border:1.5px solid #c5ccf7;border-radius:8px;color:#667eea;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-generate:hover{background:#e0e5ff}.btn-generate:disabled{opacity:.6;cursor:not-allowed}.tariff-table-wrapper{border:1.5px solid #e8eaf0;border-radius:10px;overflow:hidden}.tariff-table{width:100%;border-collapse:collapse;font-size:13px}.tariff-table th{background:#f5f6fa;padding:10px 12px;text-align:left;font-size:12px;font-weight:600;color:#666;border-bottom:1px solid #e8eaf0}.tariff-table td{padding:7px 10px;border-bottom:1px solid #f0f0f5;vertical-align:middle}.tariff-table tr:last-child td{border-bottom:none}.tariff-table input,.tariff-table select{width:100%;padding:6px 8px;border:1px solid #dde1ea;border-radius:6px;font-size:13px;background:#fff}.btn-tariff-delete{background:none;border:none;color:#dc3545;cursor:pointer;font-size:13px;padding:4px 8px;border-radius:5px;transition:background .15s}.btn-tariff-delete:hover{background:#fde8e8}.tariff-empty{padding:20px;text-align:center;color:#aaa;font-size:14px;margin:0}.btn-add-tariff{display:block;width:100%;padding:10px;background:#f8f9fc;border:none;border-top:1px dashed #dde1ea;color:#667eea;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-add-tariff:hover{background:#f0f2ff}.contract-documents-panel{display:flex;flex-direction:column;gap:20px}.documents-table{width:100%;border-collapse:collapse;font-size:14px}.documents-table th{background:#f5f6fa;padding:10px 12px;text-align:left;font-size:12px;font-weight:600;color:#666;border-bottom:1px solid #e8eaf0}.documents-table td{padding:10px 12px;border-bottom:1px solid #f0f0f5}.link-document-form{background:#f8f9fc;border:1.5px solid #e8eaf0;border-radius:10px;padding:16px}.link-document-form h4{margin:0 0 14px;font-size:14px;font-weight:600;color:#444}.contract-form-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 28px 22px;border-top:1px solid #e8eaf0;background:#fff;position:sticky;bottom:0;border-radius:0 0 14px 14px}.btn-save{padding:10px 24px;background:#667eea;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s;box-shadow:0 2px 6px #667eea4d}.btn-save:hover{background:#5a6fd6;box-shadow:0 3px 10px #667eea66}.btn-save:disabled{opacity:.65;cursor:not-allowed}.btn-cancel{padding:10px 20px;background:#f0f2f5;border:none;border-radius:8px;color:#555;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-cancel:hover{background:#e0e3ea}.approval-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.approval-modal{background:#fff;border-radius:12px;padding:28px;max-width:440px;width:100%;box-shadow:0 8px 30px #00000040;display:flex;flex-direction:column;gap:16px}.approval-modal h3{margin:0;font-size:17px;color:#1a1a2e}.approval-modal-footer{display:flex;justify-content:flex-end;gap:10px}@media (max-width: 600px){.form-row-2,.form-row-3{grid-template-columns:1fr}.contract-form-modal{max-height:95vh}.contract-form-header,.contract-form-section,.contract-form-footer,.contract-workflow-buttons,.contract-form-tabs{padding-left:16px;padding-right:16px}}.crrs-wrapper{display:flex;flex-direction:column;gap:12px}.crrs-loading{font-size:14px;color:#888;margin:0;padding:12px 0}.crrs-table th,.crrs-table td{white-space:nowrap}.crrs-label-cell{white-space:normal;min-width:160px;max-width:260px}.crrs-price-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.crrs-period-cell{font-size:12px;color:#666;white-space:nowrap}.crrs-actions-col{width:80px}.crrs-actions-cell{display:flex;gap:4px;align-items:center}.crrs-btn-edit{background:none;border:none;cursor:pointer;font-size:14px;padding:4px 6px;border-radius:5px;line-height:1;transition:background .15s}.crrs-btn-edit:hover{background:#f0f2ff}.crrs-modal{max-width:540px!important}.crrs-row-gap{margin-top:4px}.crrs-modal-footer{margin-top:8px}.client-detail-page{max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-header h1{margin:0 0 5px;color:#333;font-size:28px}.client-subtitle{margin:0;color:#666;font-size:16px}.header-actions{display:flex;gap:10px}.tabs{display:flex;gap:5px;margin-bottom:20px;border-bottom:2px solid #dee2e6}.tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .3s}.tab:hover{color:#667eea}.tab.active{color:#667eea;border-bottom-color:#667eea}.tab-content{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.info-item{display:flex;flex-direction:column;gap:5px}.info-item label{font-weight:600;color:#666;font-size:12px;text-transform:uppercase}.info-item span{color:#333;font-size:14px}.info-item .status-badge{margin-left:8px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.info-item .status-regular{background-color:#cce5ff;color:#004085}.info-block{margin-top:20px;padding-top:20px;border-top:1px solid #dee2e6}.info-block label{font-weight:600;color:#666;font-size:12px;text-transform:uppercase;display:block;margin-bottom:10px}.info-block p{margin:0;color:#333;line-height:1.6}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.contact-card{padding:20px;border:1px solid #dee2e6;border-radius:8px;position:relative}.contact-card h3{margin:0 0 10px;color:#333;font-size:18px}.contact-position{margin:0 0 5px;color:#667eea;font-size:14px;font-weight:500}.contact-role{margin:0 0 15px;color:#666;font-size:13px}.contact-info{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#666}.primary-badge{position:absolute;top:10px;right:10px;background:#667eea;color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600}.contracts-list{display:flex;flex-direction:column;gap:20px}.contract-card{padding:20px;border:1px solid #dee2e6;border-radius:8px}.contract-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.contract-header h3{margin:0;color:#333;font-size:18px}.contract-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.contract-info div{display:flex;flex-direction:column;gap:5px}.contract-info label{font-weight:600;color:#666;font-size:12px;text-transform:uppercase}.contract-info span{color:#333;font-size:14px}.contract-subject{margin:0;padding-top:15px;border-top:1px solid #dee2e6;color:#666;font-size:14px;line-height:1.6}.no-data{text-align:center;padding:40px;color:#999}.error-container{text-align:center;padding:40px}.loading{text-align:center;padding:40px;color:#666}.contracts-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.contracts-count{font-size:14px;color:#666;font-weight:500}.btn-sm{padding:7px 16px;font-size:13px}.contracts-empty{text-align:center;padding:48px 20px;color:#999;display:flex;flex-direction:column;align-items:center;gap:16px}.contracts-list-v2{display:flex;flex-direction:column;gap:14px}.contract-card-v2{border:1.5px solid #e4e7f0;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 1px 4px #0000000f;transition:box-shadow .2s}.contract-card-v2:hover{box-shadow:0 3px 12px #0000001a}.contract-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#f8f9fc;border-bottom:1px solid #e4e7f0;flex-wrap:wrap;gap:8px}.contract-card-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.contract-number{font-size:15px;font-weight:700;color:#1a1a2e}.approval-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;letter-spacing:.3px;text-transform:uppercase}.status-draft{background:#f0f0f5;color:#666}.status-pending{background:#fff3cd;color:#856404}.status-approved{background:#d1ecf1;color:#0c5460}.status-rejected{background:#f8d7da;color:#721c24}.status-active{background:#d4edda;color:#155724}.status-closed{background:#e2e3e5;color:#383d41}.status-terminated{background:#f5c6cb;color:#721c24}.expiring-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;background:#ffeeba;color:#856404}.contract-card-actions{display:flex;gap:8px;flex-shrink:0}.btn-card-edit,.btn-card-expand{padding:6px 14px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;border:1.5px solid;transition:background .15s}.btn-card-edit{border-color:#667eea;color:#667eea;background:#f0f2ff}.btn-card-edit:hover{background:#e0e5ff}.btn-card-expand{border-color:#dde1ea;color:#555;background:#fff}.btn-card-expand:hover{background:#f5f6fa}.contract-card-summary{display:flex;flex-wrap:wrap;gap:6px 24px;padding:12px 18px}.contract-summary-item{display:flex;align-items:center;gap:6px;font-size:14px;color:#333}.summary-label{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.3px}.contract-card-expanded{padding:18px;border-top:1px solid #e4e7f0;display:flex;flex-direction:column;gap:20px}.contract-detail-block{display:flex;flex-direction:column;gap:8px}.contract-detail-block h4{margin:0;font-size:13px;font-weight:700;color:#444;text-transform:uppercase;letter-spacing:.4px;padding-bottom:6px;border-bottom:1px solid #f0f0f5}.contract-detail-row{display:flex;gap:10px;font-size:14px}.contract-detail-row span:first-child{color:#888;min-width:160px;flex-shrink:0;font-size:13px}.tariff-notes-text{font-size:13px;color:#666;margin:0}.tariff-view-table{width:100%;border-collapse:collapse;font-size:13px}.tariff-view-table th{background:#f5f6fa;padding:8px 12px;text-align:left;font-size:12px;font-weight:600;color:#666;border-bottom:1px solid #e4e7f0}.tariff-view-table td{padding:8px 12px;border-bottom:1px solid #f0f0f5;color:#333}.tariff-view-table tr:last-child td{border-bottom:none}.contract-invoices-block{min-width:0}.contract-invoices-state,.contract-invoices-error{margin:0;font-size:13px}.contract-invoices-state{color:#6b7280}.contract-invoices-error{padding:8px 10px;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#991b1b}.contract-invoices-table-wrap{width:100%;overflow-x:auto}.contract-invoices-table{width:100%;min-width:620px;border-collapse:collapse;font-size:13px}.contract-invoices-table th{background:#f5f6fa;padding:8px 12px;text-align:left;font-size:12px;font-weight:600;color:#666;border-bottom:1px solid #e4e7f0}.contract-invoices-table td{padding:8px 12px;border-bottom:1px solid #f0f0f5;color:#333;vertical-align:middle}.contract-invoices-table tr:last-child td{border-bottom:none}.contract-invoice-number-link{color:var(--color-info-text);font-weight:600;text-decoration:none}.contract-invoice-number-link:hover{text-decoration:underline}.contract-invoice-kit-link{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:12px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap}.contract-invoice-kit-link:hover{background:#f3f4f6;border-color:#9ca3af}.contract-docs-list{display:flex;flex-direction:column;gap:8px}.contract-doc-item{display:flex;align-items:center;gap:10px;font-size:14px;padding:8px 12px;background:#f8f9fc;border-radius:8px}.doc-icon{font-size:16px}.doc-name{flex:1;color:#333;font-weight:500}.doc-type-badge{font-size:11px;padding:2px 8px;background:#e8eaf0;border-radius:10px;color:#555}.doc-date{font-size:12px;color:#999;white-space:nowrap}.registry-info-block{margin-top:20px;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px}.registry-info-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.registry-info-title{font-size:14px;font-weight:600;color:#374151;margin:0}.btn-registry-edit{font-size:12px;padding:4px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;transition:background .15s,border-color .15s}.btn-registry-edit:hover{background:#f3f4f6;border-color:#9ca3af}.registry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 20px}.registry-empty-hint{font-size:13px;color:#9ca3af;font-style:italic;margin:4px 0 0}.document-preferences-block{margin-top:20px;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px}.document-preferences-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.document-preferences-title{font-size:14px;font-weight:600;color:#374151;margin:0}.btn-document-preferences-edit{font-size:12px;padding:4px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;transition:background .15s,border-color .15s}.btn-document-preferences-edit:hover{background:#f3f4f6;border-color:#9ca3af}.document-preferences-status,.document-preferences-hint{margin:0 0 12px;color:#6b7280;font-size:13px}.document-preferences-hint{padding:8px 12px;background:#fff8f0;border:1px solid var(--color-warning);border-radius:6px;color:#92400e}.document-preferences-error{padding:10px 14px;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;font-size:13px}.document-preferences-view-grid,.document-preferences-edit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px 20px}.document-preferences-view-item,.document-preferences-field{display:flex;flex-direction:column;gap:5px;min-width:0}.document-preferences-view-item label,.document-preferences-field label,.document-preferences-secondary-title{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase}.document-preferences-view-item span{min-width:0;color:#333;font-size:14px;overflow-wrap:anywhere}.document-preferences-chips,.document-preferences-channel-list{display:flex;flex-wrap:wrap;gap:8px}.document-preferences-chip{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:12px;font-weight:500}.document-preferences-edit-form{display:flex;flex-direction:column;gap:14px}.document-preferences-field select,.document-preferences-field input[type=text]{min-width:0;width:100%;padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#111827;background:#fff;transition:border-color .15s}.document-preferences-field select:focus,.document-preferences-field input[type=text]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.document-preferences-secondary{display:flex;flex-direction:column;gap:8px}.document-preferences-channel,.document-preferences-portal-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#374151;cursor:pointer}.document-preferences-channel input,.document-preferences-portal-label input{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.document-preferences-save-error{margin:0;color:var(--color-danger);font-size:12px}.document-preferences-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-document-preferences-save,.btn-document-preferences-cancel{padding:7px 18px;border-radius:6px;font-size:13px;cursor:pointer;transition:background .15s,opacity .15s}.btn-document-preferences-save{background:#6366f1;color:#fff;border:none;font-weight:500}.btn-document-preferences-save:hover:not(:disabled){background:#4f46e5}.btn-document-preferences-cancel{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-document-preferences-cancel:hover:not(:disabled){background:#f3f4f6}.btn-document-preferences-save:disabled,.btn-document-preferences-cancel:disabled{opacity:.6;cursor:not-allowed}.document-delivery-contacts-section{margin-top:16px;padding-top:14px;border-top:1px solid #e5e7eb}.document-delivery-contacts-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.document-delivery-contacts-header h5{margin:0;color:#374151;font-size:13px;font-weight:600}.btn-document-delivery-contact-add,.btn-document-delivery-contact-edit{padding:4px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:12px;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;white-space:nowrap}.btn-document-delivery-contact-add:hover:not(:disabled),.btn-document-delivery-contact-edit:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.btn-document-delivery-contact-add:disabled,.btn-document-delivery-contact-edit:disabled{opacity:.6;cursor:not-allowed}.document-delivery-contacts-empty{margin:0;color:#9ca3af;font-size:13px}.document-delivery-contacts-list{display:flex;flex-direction:column;gap:8px}.document-delivery-contact-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(150px,.7fr) auto;align-items:center;gap:12px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.document-delivery-contact-row.inactive{background:#f9fafb;color:#6b7280}.document-delivery-contact-main,.document-delivery-contact-consent,.document-delivery-contact-recipient{min-width:0}.document-delivery-contact-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px}.document-delivery-contact-channel{color:#111827;font-size:13px;font-weight:600}.document-delivery-contact-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.4}.document-delivery-contact-badge.primary{background:#eef2ff;color:#4f46e5}.document-delivery-contact-badge.inactive{background:#f3f4f6;color:#6b7280}.document-delivery-contact-badge.notice{background:#ecfdf5;color:#047857}.document-delivery-contact-recipient{display:flex;flex-wrap:wrap;gap:6px;color:#374151;font-size:13px;overflow-wrap:anywhere}.document-delivery-contact-recipient small,.document-delivery-contact-consent small{color:#6b7280;font-size:12px}.document-delivery-contact-consent{display:flex;flex-direction:column;gap:2px;color:#374151;font-size:13px}.document-delivery-contact-form{display:flex;flex-direction:column;gap:12px;margin-top:12px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.document-delivery-contact-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.document-delivery-contact-flags{display:flex;flex-wrap:wrap;gap:14px}@media (max-width: 720px){.document-delivery-contact-row{grid-template-columns:1fr;align-items:flex-start}.btn-document-delivery-contact-edit{width:fit-content}}.reliability-warning{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;padding:10px 14px;background:#fff8f0;border:1px solid var(--color-warning);border-radius:8px;color:#92400e;font-size:13px;margin-bottom:12px}.reliability-warning-icon{font-size:16px;line-height:1}.reliability-issues-list{width:100%;margin:4px 0 0;padding-left:20px;font-size:12px;color:#b45309}.reliability-ok{display:inline-flex;align-items:center;gap:10px;padding:6px 14px;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:6px;color:#065f46;font-size:13px;margin-bottom:12px}.reliability-checked-via{font-size:11px;color:#6ee7b7;padding:1px 6px;background:#d1fae5;border-radius:4px}.reliability-unknown{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 14px;background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;font-size:13px;margin-bottom:12px}.reliability-unknown-icon{font-size:14px;color:#9ca3af}.reliability-unknown-reason{font-size:12px;color:#9ca3af;font-style:italic}.registry-no-inn-hint{font-size:12px;color:#9ca3af;font-style:italic;cursor:default;border-bottom:1px dashed #d1d5db}.registry-header-actions{display:flex;align-items:center;gap:8px}.btn-registry-refresh{font-size:12px;padding:4px 12px;border:1px solid #6366f1;border-radius:6px;background:#eef2ff;color:#4f46e5;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.btn-registry-refresh:hover:not(:disabled){background:#e0e7ff}.btn-registry-refresh:disabled{opacity:.6;cursor:not-allowed}.registry-refresh-success{display:flex;align-items:center;gap:6px;padding:8px 14px;margin-bottom:12px;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:6px;color:#065f46;font-size:13px}.registry-refresh-error{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;margin-bottom:12px;background:#fff8f0;border:1px solid var(--color-warning);border-radius:6px;color:#92400e;font-size:13px;line-height:1.45}.registry-refresh-error-icon{font-size:15px;flex-shrink:0;margin-top:1px}.registry-refresh-error-close{margin-left:auto;flex-shrink:0;background:none;border:none;font-size:14px;color:#b45309;cursor:pointer;padding:0 2px;line-height:1}.finance-year{color:#6b7280;font-size:12px}.registry-edit-form{display:flex;flex-direction:column;gap:14px}.registry-edit-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.registry-edit-checkbox-row{grid-template-columns:auto}.registry-edit-group{display:flex;flex-direction:column;gap:4px}.registry-edit-group label{font-size:12px;font-weight:500;color:#6b7280}.registry-edit-group select,.registry-edit-group input[type=number]{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#111827;background:#fff;transition:border-color .15s}.registry-edit-group select:focus,.registry-edit-group input[type=number]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.registry-reliable-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#374151;cursor:pointer}.registry-reliable-label input[type=checkbox]{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.registry-save-error{font-size:12px;color:var(--color-danger);margin:0}.registry-edit-actions{display:flex;gap:8px}.registry-edit-actions .btn-save{padding:7px 18px;background:#6366f1;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.registry-edit-actions .btn-save:hover:not(:disabled){background:#4f46e5}.registry-edit-actions .btn-save:disabled{opacity:.6;cursor:not-allowed}.registry-edit-actions .btn-cancel{padding:7px 18px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:13px;cursor:pointer;transition:background .15s}.registry-edit-actions .btn-cancel:hover:not(:disabled){background:#f3f4f6}.dadata-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:6px}.dadata-table th{text-align:left;font-weight:600;color:#6b7280;font-size:11px;padding:6px 10px;border-bottom:1px solid #e5e7eb;background:#f3f4f6}.dadata-table td{padding:6px 10px;border-bottom:1px solid #f3f4f6;color:#374151}.client-create-page{max-width:1200px;margin:0 auto;padding-bottom:40px;text-align:left}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h1{margin:0;color:#333;font-size:28px}.error-message{background-color:#fee;color:#c33;padding:15px;border-radius:8px;margin-bottom:20px;border:1px solid #fcc}.success-message{background-color:#d4edda;color:#155724;padding:15px;border-radius:8px;margin-bottom:20px;border:1px solid #c3e6cb}.client-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;text-align:left}.form-section{border:none;padding:30px;margin:0;border-bottom:1px solid #e9ecef;text-align:left}.form-section:last-of-type{border-bottom:none}.form-section legend{font-size:20px;font-weight:600;color:#333;margin-bottom:20px;padding:0 0 10px;width:100%;border-bottom:2px solid #667eea}.client-create-page .form-row,.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.client-create-page .form-group,.client-form .form-group{display:flex;flex-direction:column;margin-bottom:20px;flex:unset;min-width:unset;text-align:left}.client-create-page .form-group label,.client-form .form-group label{font-weight:500;color:#333;margin-bottom:8px;font-size:14px;text-transform:none;letter-spacing:normal;text-align:left}.form-group .required{color:#dc3545;font-weight:700}.form-group input,.form-group textarea,.form-group select{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .3s,box-shadow .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.error,.form-group textarea.error,.form-group select.error{border-color:#dc3545}.form-group input.error:focus,.form-group textarea.error:focus,.form-group select.error:focus{box-shadow:0 0 0 3px #dc35451a}.field-error{color:#dc3545;font-size:12px;margin-top:4px}.form-group textarea{resize:vertical;min-height:60px}.checkbox-group{flex-direction:row;align-items:center;justify-content:flex-start}.checkbox-group label{display:flex;align-items:center;gap:8px;margin-bottom:0;cursor:pointer;font-weight:400}.checkbox-group input[type=checkbox]{width:auto;margin:0;cursor:pointer}.form-actions{display:flex;gap:15px;justify-content:flex-end;padding:20px 30px;background:#f8f9fa;border-radius:0 0 12px 12px}.btn{padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .3s,transform .2s}.btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;min-width:120px}.btn-secondary{background:#6c757d;color:#fff;min-width:100px}@media (max-width: 720px){.client-create-page{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.client-create-page .form-row,.form-row{grid-template-columns:1fr;gap:0}.form-section{padding:20px}.client-create-page .form-actions,.form-actions{position:sticky;bottom:0;z-index:20;flex-direction:column;padding:15px 20px calc(15px + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 24px #0f172a1f}.client-create-page .btn{width:100%;min-height:42px}.page-header{flex-direction:column;align-items:flex-start;gap:15px}}.btn-primary:disabled{background:linear-gradient(135deg,#667eea,#764ba2);opacity:.6}.btn:focus-visible{outline:2px solid #667eea;outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #667eea;outline-offset:2px}.inn-preview-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in}.inn-preview-dialog{background:#fff;border-radius:12px;padding:32px;max-width:800px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d;animation:slideUp .3s ease-out}.inn-preview-dialog h2{margin:0 0 16px;font-size:24px;font-weight:600;color:#1a202c}.preview-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}.preview-table th,.preview-table td{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0}.preview-table th{background:#f7fafc;font-weight:600;color:#4a5568;position:sticky;top:0}.preview-table tbody tr:hover{background-color:#f7fafc}.preview-table .field-changed{background-color:#fff3cd}.preview-table .field-changed:hover{background-color:#ffe69c}.preview-table .field-new{background-color:#d4edda}.preview-table .field-new:hover{background-color:#c3e6cb}.inn-autocomplete-wrapper{position:relative;width:100%}.inn-autocomplete-input-row{display:flex;align-items:center;gap:6px}.inn-autocomplete-input-row input{flex:1}.inn-autocomplete-spinner{font-size:14px;flex-shrink:0}.inn-suggestions-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:1000;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 16px #0000001f;margin:0;padding:4px 0;list-style:none;max-height:260px;overflow-y:auto}.inn-suggestion-item{padding:10px 14px;cursor:pointer;line-height:1.4;border-bottom:1px solid #f3f4f6}.inn-suggestion-item:last-child{border-bottom:none}.inn-suggestion-item:hover,.inn-suggestion-item.active{background:#f0f4ff}.suggestion-name{font-weight:600;font-size:14px;color:#1a1a2e}.suggestion-meta{font-size:12px;color:#6b7280;margin-top:2px}.suggestion-address{display:inline-block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.btn-inn-lookup{margin-top:6px;padding:6px 14px;font-size:13px;background:transparent;border:1px solid #4f6ef7;border-radius:6px;color:#4f6ef7;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.btn-inn-lookup:hover:not(:disabled){background:#4f6ef7;color:#fff}.btn-inn-lookup:disabled{opacity:.45;cursor:not-allowed}.inn-preview-dialog--wide{max-width:780px;width:95vw}.inn-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.inn-preview-header h2{margin:0;font-size:18px;color:#1a1a2e}.inn-preview-close{background:none;border:none;font-size:24px;line-height:1;color:#6b7280;cursor:pointer;padding:0 4px}.inn-preview-close:hover{color:#1a1a2e}.inn-reliability-banner{display:flex;gap:12px;padding:12px 16px;background:#fff3cd;border:1px solid #f6c94e;border-radius:8px;margin-bottom:14px;font-size:14px}.inn-reliability-icon{font-size:20px;flex-shrink:0}.inn-reliability-list{margin:6px 0 0;padding-left:18px;color:#7a5c00}.inn-reliability-note{margin:6px 0 0;font-size:12px;color:#9e7b00}.inn-liquidated-banner{padding:10px 16px;background:#fce8e8;border:1px solid #f5a0a0;border-radius:8px;margin-bottom:14px;font-size:14px;color:#7a1a1a}.inn-preview-tabs{display:flex;gap:4px;border-bottom:2px solid #e5e7eb;margin-bottom:16px}.inn-tab-btn{padding:8px 16px;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:14px;color:#6b7280;cursor:pointer;border-radius:4px 4px 0 0;transition:color .15s,border-color .15s}.inn-tab-btn:hover{color:#4f6ef7}.inn-tab-btn.active{color:#4f6ef7;border-bottom-color:#4f6ef7;font-weight:600}.inn-preview-body{max-height:380px;overflow-y:auto}.inn-preview-subtitle{font-size:13px;color:#6b7280;margin:0 0 12px}.inn-empty-tab{color:#9ca3af;font-size:14px;padding:20px 0}.inn-preview-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.affiliated-section{padding:4px 0}.affiliated-title{font-size:16px;font-weight:600;color:#1a1a2e;margin:0 0 16px}.affiliated-loading,.affiliated-empty{color:#9ca3af;font-size:14px}.affiliated-table tr.affiliated-inactive td{color:#9ca3af}.form-label-section{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.roles-checkboxes{display:flex;flex-wrap:wrap;gap:16px}.role-checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.role-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.supplier-section{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.supplier-section legend{color:#166534;font-weight:600}.star-rating-input{display:flex;align-items:center;gap:2px}.star-btn{background:none;border:none;font-size:22px;color:#d1d5db;cursor:pointer;padding:2px;transition:color .1s;line-height:1}.star-btn.filled{color:var(--color-warning)}.star-btn:hover,.star-btn:focus{color:var(--color-warning);outline:none}.star-clear{background:none;border:none;color:#9ca3af;font-size:12px;cursor:pointer;padding:2px 6px;margin-left:4px}.star-clear:hover{color:#374151}.roles-block{display:flex;align-items:center;gap:12px}.roles-badges{display:flex;flex-wrap:wrap;gap:6px}.supplier-info-block{margin-top:20px;padding:16px 20px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.supplier-info-title{font-size:15px;font-weight:600;color:#166534;margin:0 0 12px}.exclusive-label{color:#92400e;font-weight:600}.certifications-list{margin:4px 0 0 16px;padding:0;list-style:disc;font-size:14px;color:#374151}.cert-date{color:#6b7280;font-size:12px}.dadata-section{background:#f0f4ff;border:1px solid #c7d2fe;border-radius:8px}.dadata-section legend{color:#3730a3;font-weight:600}.dadata-section-hint{font-size:12px;color:#6b7280;margin:0 0 12px}.dadata-readonly-block{margin-top:16px}.dadata-readonly-block>label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.dadata-table{width:100%;border-collapse:collapse;font-size:13px}.dadata-table th{background:#e0e7ff;color:#3730a3;padding:6px 10px;text-align:left;font-weight:600}.dadata-table td{padding:6px 10px;border-bottom:1px solid #e5e7eb;color:#374151}.dadata-table tr:last-child td{border-bottom:none}.reliability-warning{display:flex;flex-direction:column;gap:6px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:10px 14px;margin-bottom:12px;color:#991b1b;font-size:13px;font-weight:500}.reliability-warning-icon{font-size:15px;margin-right:6px}.reliability-issues-list{margin:4px 0 0 20px;padding:0;list-style:disc;font-weight:400;color:#7f1d1d}.reliability-ok{display:inline-flex;align-items:center;gap:6px;background:#dcfce7;border:1px solid #bbf7d0;border-radius:6px;padding:6px 12px;margin-bottom:12px;color:#166534;font-size:13px;font-weight:500}.reliability-ok:before{content:"✓";font-weight:700}.registry-info-block{margin-top:20px;padding:16px 20px;background:#f0f4ff;border:1px solid #c7d2fe;border-radius:8px}.registry-info-title{font-size:15px;font-weight:600;color:#3730a3;margin:0 0 14px}.registry-grid{margin-top:8px}.finance-year{color:#6b7280;font-size:12px;margin-left:4px}.etc-button{align-items:center;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-weight:var(--font-weight-semibold);gap:var(--space-sm);justify-content:center;line-height:1;text-decoration:none;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard);-webkit-user-select:none;user-select:none;white-space:nowrap}.etc-button--sm{font-size:var(--font-size-sm);min-height:var(--control-height-sm);padding:0 10px}.etc-button--md{font-size:var(--font-size-base);min-height:var(--control-height-md);padding:0 var(--control-padding-x)}.etc-button--lg{font-size:var(--font-size-lg);min-height:var(--control-height-lg);padding:0 var(--space-md)}.etc-button--full-width{width:100%}.etc-button--primary{background:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--color-text-inverse)}.etc-button--primary:hover:not(:disabled){background:var(--button-primary-bg-hover);border-color:var(--button-primary-bg-hover)}.etc-button--secondary{background:var(--button-secondary-bg);border-color:var(--control-border);color:var(--color-text)}.etc-button--secondary:hover:not(:disabled){background:var(--color-surface-subtle);border-color:var(--control-border-hover)}.etc-button--ghost{background:transparent;border-color:transparent;color:var(--color-text-secondary)}.etc-button--ghost:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.etc-button--danger{background:var(--button-danger-bg);border-color:var(--button-danger-bg);color:var(--color-text-inverse)}.etc-button--danger:hover:not(:disabled){background:var(--color-danger-text);border-color:var(--color-danger-text)}.etc-button--success{background:var(--color-success);border-color:var(--color-success);color:var(--color-text-inverse)}.etc-button--success:hover:not(:disabled){background:var(--color-success-text);border-color:var(--color-success-text)}.etc-button:focus-visible{box-shadow:var(--control-focus-ring);outline:none}.etc-button:disabled{cursor:not-allowed;opacity:.58}.etc-button__icon,.etc-button__label{align-items:center;display:inline-flex}.etc-button__spinner{animation:etc-button-spin .8s linear infinite;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;height:16px;opacity:.8;width:16px}@keyframes etc-button-spin{to{transform:rotate(360deg)}}.etc-field{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.etc-field__label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.etc-field__required{color:var(--color-danger);margin-left:var(--space-xs)}.etc-field__message{color:var(--color-text-tertiary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.etc-field__message--error{color:var(--color-danger-text)}.etc-filter-bar{align-items:flex-end;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg)}.etc-filter-bar--compact{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md)}.etc-filter-bar__controls{align-items:flex-end;display:flex;flex:1;flex-wrap:wrap;gap:var(--space-control-gap);min-width:0}.etc-filter-bar__actions{align-items:flex-end;display:flex;flex-shrink:0;flex-wrap:wrap;gap:var(--space-sm)}.etc-filter-bar .etc-field{min-width:180px}.etc-filter-bar .etc-field--wide{flex:1;min-width:260px}@media (max-width: 720px){.etc-filter-bar{align-items:stretch;flex-direction:column}.etc-filter-bar__actions,.etc-filter-bar__controls{align-items:stretch}.etc-filter-bar .etc-field{flex:1 1 100%}}.etc-form-section{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg)}.etc-form-section--compact{gap:var(--space-sm);padding:var(--space-md)}.etc-form-section__header{align-items:flex-start;display:flex;gap:var(--space-md);justify-content:space-between}.etc-form-section__heading{min-width:0}.etc-form-section__title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.etc-form-section__description{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-normal);margin:var(--space-xs) 0 0}.etc-form-section__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-sm)}.etc-form-section__body{display:flex;flex-direction:column;gap:var(--space-md)}@media (max-width: 640px){.etc-form-section__header{flex-direction:column}}.etc-input-wrap{display:inline-flex;min-width:0;position:relative;width:100%}.etc-input{background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);min-width:0;outline:none;padding:0 var(--control-padding-x);transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard);width:100%}.etc-input--sm{min-height:var(--control-height-sm)}.etc-input--md{min-height:var(--control-height-md)}.etc-input--lg{font-size:var(--font-size-lg);min-height:var(--control-height-lg)}.etc-input--with-left-icon{padding-left:calc(var(--control-padding-x) + 22px)}.etc-input--with-right-icon{padding-right:calc(var(--control-padding-x) + 22px)}.etc-input::placeholder{color:var(--color-text-muted)}.etc-input:hover:not(:disabled){border-color:var(--control-border-hover)}.etc-input:focus{border-color:var(--color-primary);box-shadow:var(--control-focus-ring)}.etc-input:disabled{background:var(--control-bg-disabled);color:var(--color-text-muted);cursor:not-allowed}.etc-input--error{border-color:var(--color-danger)}.etc-input--error:focus{box-shadow:0 0 0 3px var(--color-danger-focus)}.etc-input__icon{align-items:center;color:var(--color-text-tertiary);display:inline-flex;height:100%;justify-content:center;pointer-events:auto;position:absolute;top:0;width:22px;z-index:1}.etc-input__icon--left{left:var(--space-sm)}.etc-input__icon--right{right:var(--space-sm)}.etc-select-wrap{display:inline-flex;min-width:0;position:relative;width:100%}.etc-select-wrap:after{border-bottom:1px solid var(--color-text-tertiary);border-right:1px solid var(--color-text-tertiary);content:"";height:7px;pointer-events:none;position:absolute;right:var(--control-padding-x);top:50%;transform:translateY(-62%) rotate(45deg);width:7px}.etc-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);min-width:0;outline:none;padding:0 calc(var(--control-padding-x) + 22px) 0 var(--control-padding-x);transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard);width:100%}.etc-select--sm{min-height:var(--control-height-sm)}.etc-select--md{min-height:var(--control-height-md)}.etc-select--lg{font-size:var(--font-size-lg);min-height:var(--control-height-lg)}.etc-select:hover:not(:disabled){border-color:var(--control-border-hover)}.etc-select:focus{border-color:var(--color-primary);box-shadow:var(--control-focus-ring)}.etc-select:disabled{background:var(--control-bg-disabled);color:var(--color-text-muted);cursor:not-allowed}.etc-select--error{border-color:var(--color-danger)}.etc-select--error:focus{box-shadow:0 0 0 3px var(--color-danger-focus)}.etc-textarea{background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);min-width:0;outline:none;padding:var(--space-sm) var(--control-padding-x);resize:vertical;transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard);width:100%}.etc-textarea--sm{min-height:72px}.etc-textarea--md{min-height:96px}.etc-textarea--lg{font-size:var(--font-size-lg);min-height:128px}.etc-textarea::placeholder{color:var(--color-text-muted)}.etc-textarea:hover:not(:disabled){border-color:var(--control-border-hover)}.etc-textarea:focus{border-color:var(--color-primary);box-shadow:var(--control-focus-ring)}.etc-textarea:disabled{background:var(--control-bg-disabled);color:var(--color-text-muted);cursor:not-allowed}.etc-textarea--error{border-color:var(--color-danger)}.etc-textarea--error:focus{box-shadow:0 0 0 3px var(--color-danger-focus)}.etc-data-table{color:var(--table-text-primary);font-family:var(--font-sans);font-size:var(--font-size-base);min-width:0;width:100%}.etc-data-table__viewport{border:1px solid var(--table-border);border-radius:var(--radius-md);background:var(--color-surface);overflow-x:auto;overflow-y:visible}.etc-data-table__table{width:100%;border-collapse:separate;border-spacing:0;min-width:max-content}.etc-data-table:not(.etc-data-table--scroll) .etc-data-table__table{min-width:100%}.etc-data-table__table th,.etc-data-table__table td{border-bottom:1px solid var(--table-border);box-sizing:border-box;padding:0 var(--space-lg);text-align:left;vertical-align:middle}.etc-data-table__table th{height:40px;background:var(--table-header-bg);color:var(--table-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.02em;line-height:var(--line-height-tight);position:relative;text-transform:uppercase;white-space:nowrap}.etc-data-table--sticky .etc-data-table__table th{position:sticky;top:0;z-index:1}.etc-data-table__table td{color:var(--table-text-primary);line-height:1.35}.etc-data-table--compact .etc-data-table__table td{height:var(--table-row-height-compact);padding-block:var(--space-xs)}.etc-data-table--default .etc-data-table__table td{height:var(--table-row-height-default);padding-block:var(--space-sm)}.etc-data-table--comfortable .etc-data-table__table td{height:var(--table-row-height-comfortable);padding-block:var(--space-md)}.etc-data-table__table tbody tr:last-child td{border-bottom:none}.etc-data-table__table tbody tr{transition:background-color var(--motion-duration-fast) var(--motion-ease-standard)}.etc-data-table__table tbody tr:hover td{background:color-mix(in srgb,var(--table-row-hover-bg) 60%,transparent)}.etc-data-table--interactive .etc-data-table__table tbody tr{cursor:pointer}.etc-data-table--interactive .etc-data-table__table tbody tr:focus{outline:2px solid var(--color-primary-muted);outline-offset:-2px}.etc-data-table__row--selected td{background:var(--table-row-selected-bg)}.etc-data-table__select-cell{padding-inline:var(--space-md)!important;text-align:center!important;width:42px}.etc-data-table__checkbox{accent-color:var(--color-primary);width:15px;height:15px}.etc-data-table__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.etc-data-table__th--sortable:hover{color:var(--color-primary)}.etc-data-table__loading{align-items:center;color:var(--table-text-secondary);display:flex;gap:var(--space-sm);justify-content:center;min-height:120px}.etc-data-table__loader{animation:etc-table-spin .8s linear infinite;border:2px solid var(--color-border-light);border-radius:50%;border-top-color:var(--color-primary);display:inline-block;height:18px;width:18px}@keyframes etc-table-spin{to{transform:rotate(360deg)}}.etc-table-status-badge{align-items:center;border:1px solid currentColor;border-radius:var(--radius-pill);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--space-xs);line-height:1;min-height:24px;padding:4px 9px;white-space:nowrap}.etc-table-status-badge:before{background:currentColor;border-radius:50%;content:"";height:6px;opacity:.78;width:6px}.etc-table-status-badge--ready,.etc-table-status-badge--completed{background:color-mix(in srgb,var(--color-success-soft) 72%,transparent);color:var(--color-success-text)}.etc-table-status-badge--active,.etc-table-status-badge--live{background:color-mix(in srgb,var(--color-info-soft) 72%,transparent);color:var(--color-info-text)}.etc-table-status-badge--pending,.etc-table-status-badge--draft{background:var(--color-surface-muted);color:var(--status-draft)}.etc-table-status-badge--delayed,.etc-table-status-badge--risk{background:var(--color-warning-soft);color:var(--color-warning-text)}.etc-table-status-badge--critical,.etc-table-status-badge--cancelled{background:var(--color-danger-soft);color:var(--color-danger-text)}.etc-table-status-badge--offline{background:var(--color-surface-muted);color:var(--color-text-muted)}.etc-table-toolbar{align-items:center;display:flex;gap:var(--space-lg);justify-content:space-between;margin-bottom:var(--space-md);min-width:0}.etc-table-toolbar__main{min-width:0}.etc-table-toolbar__title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.etc-table-toolbar__subtitle{color:var(--table-text-secondary);font-size:var(--font-size-md);margin:var(--space-xs) 0 0}.etc-table-toolbar__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-sm)}.etc-table-empty-state{align-items:center;color:var(--table-text-secondary);display:flex;flex-direction:column;gap:var(--space-xs);justify-content:center;min-height:132px;padding:var(--space-xl);text-align:center}.etc-table-empty-state__title{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.etc-table-empty-state__description{color:var(--table-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-normal);max-width:420px}.etc-table-empty-state__action{margin-top:var(--space-sm)}.etc-table-pagination{align-items:center;display:flex;gap:var(--space-md);justify-content:center;margin-top:var(--space-lg)}.etc-table-pagination__info{color:var(--table-text-secondary);font-size:var(--font-size-md);min-width:180px;text-align:center}.etc-table-pagination__button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);justify-content:center;min-height:38px;padding:8px 14px;transition:background-color var(--motion-duration-fast),border-color var(--motion-duration-fast)}.etc-table-pagination__button:hover:not(:disabled){background:var(--color-surface-subtle);border-color:var(--color-border)}.etc-table-pagination__button:disabled{color:var(--color-text-tertiary);cursor:not-allowed;opacity:.58}@media (max-width: 640px){.etc-table-toolbar{align-items:stretch;flex-direction:column}.etc-table-toolbar__actions{flex-wrap:wrap}.etc-table-pagination{align-items:stretch;flex-direction:column}.etc-table-pagination__info{min-width:0}}.requests-list-page{padding:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.filters-section{display:flex;gap:16px;margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:14px;font-weight:500;color:#495057}.filter-group select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:200px}.table-container{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.requests-table{width:100%;border-collapse:collapse}.requests-table thead{background:#f8f9fa}.requests-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#495057;border-bottom:2px solid #dee2e6}.requests-table td{padding:12px 16px;border-bottom:1px solid #dee2e6;font-size:14px}.requests-table tbody tr:hover{background:#f8f9fa}.route-cell{display:flex;align-items:center;gap:8px;font-size:13px}.route-arrow{align-items:center;color:#6c757d;display:inline-flex}.status-processing{background:#fff3e0;color:#f57c00}.status-converted{background:#e8f5e9;color:#388e3c}.btn-link{align-items:center;color:#007bff;display:inline-flex;gap:4px;text-decoration:none;font-size:14px;padding:4px 8px;border-radius:4px;border:none;background:none;cursor:pointer;transition:background .2s}.btn-convert{color:#28a745}.btn-convert:hover{background:#e8f5e9}.error-message{padding:12px 16px;background:#ffebee;color:#c62828;border-radius:4px;margin-bottom:16px}.loading{text-align:center;padding:40px;color:#6c757d}.modal-content{background:#fff;border-radius:12px;padding:24px;max-width:520px;width:90%;box-shadow:0 8px 30px #0000002e}.print-dialog{min-width:340px;max-width:440px}.print-dialog h3{margin:0 0 14px;font-size:17px}.print-dialog-options{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.print-option{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:13px;transition:border-color .15s,background .15s}.print-option:hover{border-color:#93c5fd;background:#f0f7ff}.print-option.active{border-color:var(--color-info-hover);background:#eff6ff}.print-option input[type=radio]{accent-color:var(--color-info-hover)}.print-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.request-create-page{padding:2rem;max-width:1200px;margin:0 auto}.request-create-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.request-create-page .page-header h1{margin:0;font-size:1.75rem;color:#1a1a1a}.request-form{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.request-form .form-section{padding:1.5rem;border-bottom:1px solid #e5e7eb}.request-form .form-section:last-child{border-bottom:none}.request-form .form-section h2{margin:0 0 1rem;font-size:1.125rem;color:#374151;font-weight:600}.request-form .form-group{margin-bottom:1rem}.request-form .form-group:last-child{margin-bottom:0}.request-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.request-form .form-group input,.request-form .form-group select,.request-form .form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s}.request-form .form-group input:focus,.request-form .form-group select:focus,.request-form .form-group textarea:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61a}.request-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.request-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 8px 8px}.error-message{background:#fee;color:#c00;padding:1rem;border-radius:6px;margin-bottom:1rem;border:1px solid #fcc}@media (max-width: 768px){.request-create-page{padding:1rem}.request-form .form-row{grid-template-columns:1fr}.request-create-page .page-header{flex-direction:column;align-items:flex-start;gap:1rem}}.route-address-display{display:flex;flex-direction:column;gap:1px;min-width:0}.route-address-main{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-address-canonical{display:block;font-size:.85em;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.orders-list-page{padding:20px;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.page-header h1{margin:0;font-size:28px;font-weight:600}.page-header-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:0}.page-header-actions .btn{flex:0 1 auto;min-width:0;white-space:normal;text-align:center;line-height:1.2;overflow-wrap:anywhere}.orders-ops-header{align-items:flex-start;margin-bottom:12px}.orders-page-kicker{color:#64748b;display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.orders-page-subtitle{color:#64748b;font-size:14px;margin:4px 0 0}.orders-list-page .btn-ghost{background:#f8fafc;border:1px solid #dbe3ef;color:#475569}.orders-ops-panel{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 10px 28px #0f172a0f;margin-bottom:14px;padding:14px}.orders-kpi-grid{display:grid;gap:10px;grid-template-columns:repeat(6,minmax(120px,1fr))}.orders-kpi-chip{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 2px #0f172a0a;color:#334155;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:70px;padding:11px 12px;text-align:left}.orders-kpi-chip:hover{border-color:#bfdbfe;transform:translateY(-1px)}.orders-kpi-chip span{color:#64748b;font-size:12px;font-weight:700;line-height:1.2}.orders-kpi-chip strong{color:#0f172a;font-size:24px;line-height:1}.orders-kpi-chip--warning{background:#fffbeb;border-color:#fde68a}.orders-kpi-chip--danger{background:#fff1f2;border-color:#fecdd3}.orders-quickbar,.orders-quick-tabs,.orders-density-toggle,.orders-list-toolbar{align-items:center;display:flex;gap:8px}.orders-quickbar{border-top:1px solid #e2e8f0;justify-content:space-between;margin-top:12px;padding-top:12px}.orders-quick-tabs{flex-wrap:wrap}.orders-quick-tabs button,.orders-density-toggle button{background:#fff;border:1px solid #dbe3ef;border-radius:999px;color:#475569;cursor:pointer;font-size:13px;min-height:32px;padding:7px 12px}.orders-quick-tabs button.active,.orders-density-toggle button.active{background:#0f172a;border-color:#0f172a;color:#fff}.orders-density-toggle{background:#f1f5f9;border:1px solid #dbe3ef;border-radius:999px;flex-shrink:0;gap:2px;padding:2px}.orders-density-toggle button{background:transparent;border-color:transparent;min-height:30px;padding:6px 10px}.orders-list-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:14px 14px 0 0;justify-content:space-between;padding:10px 14px}.orders-list-toolbar div{display:grid;gap:2px}.orders-list-toolbar strong{color:#0f172a;font-size:14px}.orders-list-toolbar span{color:#64748b;font-size:12px}.filters-card{margin-bottom:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;overflow:hidden}.filters-card-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;min-height:40px;box-sizing:border-box}.filters-toggle{display:inline-flex;align-items:center;gap:8px;margin:0;background:transparent;border:none;cursor:pointer;font-size:14px;font-weight:600;color:#343a40;padding:6px 8px;border-radius:6px;font-family:inherit}.filters-toggle:hover{background:#0000000d}.filters-toggle:focus-visible{outline:2px solid #667eea;outline-offset:2px}.filters-toggle-chevron{display:inline-block;width:1em;text-align:center;font-size:11px;color:#6c757d;line-height:1}.filters-collapsed-summary{flex:1;font-size:13px;color:#6c757d;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filters-clear-btn{margin-left:auto}.orders-list-page .btn-sm{padding:6px 12px;font-size:13px;border-radius:6px}.filters-card .filters-section{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px 12px;align-items:end;margin:0;padding:10px 12px 12px;background:transparent;border-radius:0;border-top:1px solid #e9ecef;box-sizing:border-box}.filter-group--client{grid-column:span 2}@media (max-width: 720px){.filter-group--client{grid-column:span 1}}.filter-group label{font-size:12px;font-weight:500;color:#495057;line-height:1.2}.filter-group select,.filter-group input[type=text],.filter-group input[type=date]{width:100%;max-width:100%;box-sizing:border-box;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:13px;min-width:0}.orders-list-page .orders-filter-date-input.date-input-wrapper{width:100%;max-width:132px}@media (max-width: 720px){.orders-list-page .orders-filter-date-input.date-input-wrapper{max-width:100%}}.plan-input{width:100%;min-width:120px;padding:6px 8px;border:1px solid #ced4da;border-radius:4px;font-size:13px;box-sizing:border-box}.plan-input:focus{outline:none;border-color:#667eea}.table-container{position:relative;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;scrollbar-gutter:stable}.orders-list-toolbar+.table-container{border-top-left-radius:0;border-top-right-radius:0}.table-container:after{content:"";position:sticky;right:0;top:0;float:right;width:18px;height:100%;min-height:48px;margin-left:-18px;pointer-events:none;background:linear-gradient(90deg,#fff0,#f8f9fae6)}.orders-mobile-list{display:none}.orders-table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:fixed}.orders-table thead{background:#f8f9fa}.orders-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#495057;border-bottom:2px solid #dee2e6}.orders-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.orders-table th.sortable:hover{background:#e9ecef}.sort-icon{margin-left:4px;font-size:12px;opacity:.7}.sort-icon.sort-none{opacity:.35}.sort-icon.sort-asc,.sort-icon.sort-desc{opacity:1;font-weight:700}.orders-table td{padding:12px 16px;border-bottom:1px solid #dee2e6;font-size:14px;color:#212529}.orders-density-compact .orders-table td{padding:7px 12px;height:64px;vertical-align:middle}.orders-density-comfortable .orders-table td{padding:10px 14px;height:78px;vertical-align:middle}.orders-density-detailed .orders-table td{padding:14px 16px;height:96px;vertical-align:top}.orders-table tbody tr:nth-child(2n){background:#f8f9fa}.orders-table tbody tr:nth-child(odd){background:#fff}.orders-table tbody tr:hover{background:#e9ecef!important}.order-row-clickable{cursor:pointer}.order-row--draft-no-geocode{outline:2px solid #e53e3e;outline-offset:-2px}.order-row--draft-no-geocode td:first-child{border-left:4px solid #e53e3e}.draft-no-geocode-badge{display:inline-block;margin-top:4px;padding:2px 8px;background:#fff5f5;border:1px solid #fc8181;border-radius:4px;color:#c53030;font-size:11px;font-weight:500;white-space:nowrap}.route-cell{display:flex;flex-direction:column;gap:4px;font-size:13px;align-items:flex-start}.orders-route-compact{display:grid;gap:4px;min-width:0}.orders-route-compact__main{align-items:center;display:flex;gap:6px;min-width:0}.orders-route-compact__main>*:not(.route-arrow){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orders-route-compact__more{align-self:flex-start;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;color:#64748b;font-size:11px;font-weight:700;padding:2px 7px}.route-arrow{color:#6c757d;font-weight:700;margin-left:8px}.dates-cell{display:flex;flex-direction:column;gap:4px;font-size:13px}.planning-anchor-cell{color:#0f172a;font-weight:700;letter-spacing:-.01em}.cargo-weight{font-size:12px;color:#6c757d;margin-top:2px}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-new{background:#e3f2fd;color:#1976d2}.status-warehouse-agreed{background:#e1f5fe;color:#0277bd}.status-driver-assigned{background:#e0f7fa;color:#00838f}.status-in-progress{background:#fff3e0;color:#f57c00}.status-delivered{background:#e8f5e9;color:#388e3c}.status-accounting-docs-sent{background:#f3e5f5;color:#7b1fa2}.status-transport-docs-sent{background:#ede7f6;color:#512da8}.status-docs-sent{background:#e8eaf6;color:#303f9f}.status-payment-received{background:#e0f2f1;color:#00695c}.status-closed{background:#e0e0e0;color:#424242}.status-cancelled{background:#ffebee;color:#d32f2f}.status-default{background:#f5f5f5;color:#616161}.status-select-inline{display:block;margin-top:4px;font-size:11px;padding:2px 4px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;max-width:100%}.modal-content{background:#fff;border-radius:10px;padding:24px;max-width:480px;width:90%;box-shadow:0 8px 24px #00000026}.modal-content h3{margin:0 0 16px}.modal-content .form-group{margin-bottom:16px}.modal-content .form-group label{display:block;margin-bottom:6px;font-weight:500}.modal-content textarea{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.btn-danger{background:#d32f2f;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.actions-cell{display:flex;gap:8px}.btn-link{color:#0d6efd;text-decoration:underline;font-size:14px;font-weight:500;padding:4px 8px;border-radius:4px;transition:background .2s,color .2s}.btn-link:hover{background:#e7f3ff}.no-data{text-align:center;padding:40px!important;color:#6c757d}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.pagination-info{font-size:14px;color:#495057}.error-message{padding:12px 16px;background:#ffebee;color:#c62828;border-radius:4px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.error-message .btn-retry{flex-shrink:0;padding:6px 14px;font-size:13px;background:#fff;color:#c62828;border:1px solid #ef9a9a;border-radius:6px;cursor:pointer;transition:background .15s}.error-message .btn-retry:hover{background:#ffcdd2}.loading{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:40px;color:#6c757d}.loading-spinner{display:inline-block;width:28px;height:28px;border:3px solid #e9ecef;border-top-color:#4a90d9;border-radius:50%;animation:orders-spin .7s linear infinite}@keyframes orders-spin{to{transform:rotate(360deg)}}.resizable-header{position:relative!important;-webkit-user-select:none;user-select:none}.resize-handle{position:absolute;right:-3px;top:0;width:8px;height:100%;cursor:col-resize;background:transparent;z-index:10}.resize-handle:hover{background:#667eea4d;border-left:2px solid #667eea}.orders-table.resizing{-webkit-user-select:none;user-select:none}.orders-table.resizing .resize-handle{background:#667eea80;border-left:2px solid #667eea}.orders-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orders-table .orders-table-cell--order_number{line-height:1.2;overflow-wrap:anywhere;text-overflow:clip;white-space:normal;word-break:break-word}.orders-table .orders-table-cell--order_number strong{display:block}.table-settings-modal{min-width:500px;max-width:600px}.settings-list{max-height:400px;overflow-y:auto;margin:16px 0;border:1px solid #e0e0e0;border-radius:6px}.settings-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid #f0f0f0;transition:background .15s}.settings-item:last-child{border-bottom:none}.settings-item:hover{background:#f8f9fa}.settings-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.settings-item span{flex:1;font-size:14px}.settings-actions{display:flex;gap:4px}.settings-actions button{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;font-size:14px;transition:all .15s}.settings-actions button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.settings-actions button:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 1100px){.orders-list-page{padding:16px}.page-header{align-items:flex-start;flex-wrap:wrap}.page-header-actions{width:100%;justify-content:flex-start}.page-header-actions .btn{flex:1 1 190px;min-width:0}.filters-card .filters-section{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.orders-kpi-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.orders-quickbar{align-items:stretch;flex-direction:column}.orders-density-toggle{align-self:flex-start}}@media (max-width: 720px){.orders-list-page{padding:12px}.page-header{gap:12px}.page-header h1{font-size:24px}.page-header-actions{gap:8px}.page-header-actions .btn{flex-basis:100%;padding:8px 12px;text-align:center}.orders-ops-panel{border-radius:14px;padding:10px}.orders-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.orders-kpi-chip{min-height:64px;padding:10px}.orders-kpi-chip strong{font-size:21px}.orders-quick-tabs,.orders-density-toggle,.orders-list-toolbar{align-items:stretch;flex-wrap:wrap}.orders-quick-tabs button,.orders-density-toggle button{flex:1 1 auto}.orders-list-toolbar{border-radius:12px}.filters-card-header{gap:6px 8px;padding:8px 10px}.filters-toggle{flex:1 1 auto;min-width:0;justify-content:flex-start;padding-inline:4px}.filters-collapsed-summary{flex-basis:100%;order:3;padding-left:20px}.filters-clear-btn{margin-left:0}.filters-card .filters-section{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;padding:10px}.table-container{display:none}.orders-mobile-list{display:flex;flex-direction:column;gap:12px}.orders-mobile-empty,.order-mobile-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0f172a14}.orders-mobile-empty{padding:24px 16px;text-align:center;color:#6c757d}.order-mobile-card{padding:14px;cursor:pointer}.order-mobile-card:active{transform:scale(.995)}.order-mobile-card--draft-no-geocode{border-color:#fc8181;box-shadow:0 0 0 1px #e53e3e2e,0 1px 3px #0f172a14}.order-mobile-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.order-mobile-card__title{display:flex;flex-direction:column;gap:2px;min-width:0}.order-mobile-card__title strong{color:#1f2937;font-size:16px;line-height:1.2;overflow-wrap:anywhere}.order-mobile-card__title span{color:#6b7280;font-size:13px;line-height:1.3;overflow-wrap:anywhere}.order-mobile-card .status-badge{flex-shrink:0;max-width:44%;text-align:center;white-space:normal;line-height:1.2}.order-mobile-card__route{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-top:1px solid #f1f3f5;border-bottom:1px solid #f1f3f5;color:#343a40;font-size:13px}.order-mobile-card__route .route-arrow{margin-left:8px;color:#9ca3af}.order-mobile-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:12px 0}.order-mobile-card__meta div{min-width:0}.order-mobile-card__meta dt{color:#8b95a1;font-size:10px;font-weight:700;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.order-mobile-card__meta dd{color:#1f2937;font-size:13px;margin:0;overflow-wrap:anywhere}.order-mobile-card__actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.order-mobile-card__actions .status-select-inline{margin-top:0;flex:1 1 150px;min-height:36px;font-size:13px}.order-mobile-card__actions .btn-link{min-height:36px;display:inline-flex;align-items:center;justify-content:center;background:#f4f6fb;border:1px solid #e0e4ef;border-radius:8px;text-decoration:none}.order-mobile-card .draft-no-geocode-badge{margin:-2px 0 10px;white-space:normal;line-height:1.25}.pagination{align-items:stretch;flex-direction:column;gap:10px}}@media (max-width: 720px) and (orientation: landscape){.orders-list-page{padding:8px 12px}.orders-list-page .page-header{align-items:center;flex-direction:row;gap:10px;margin-bottom:8px}.orders-list-page .page-header h1{font-size:22px}.page-header-actions .btn{flex:1 1 0;flex-basis:auto;min-height:34px;padding:6px 10px;font-size:12px;white-space:nowrap}.page-header-actions{flex:1 1 auto;flex-wrap:nowrap}.filters-card{margin-bottom:10px}.filters-card-header{min-height:34px;padding:6px 10px}.orders-list-page .filters-card .filters-section{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:6px 10px 8px}.orders-list-page .filter-group label{display:none;font-size:11px}.orders-list-page .filter-group select,.orders-list-page .filter-group input[type=text],.orders-list-page .filter-group input[type=date]{min-height:32px;padding:4px 8px;font-size:12px}.orders-mobile-list{gap:8px}.order-mobile-card{padding:10px}.order-mobile-card__header{margin-bottom:8px}.order-mobile-card__route{padding:7px 0}.order-mobile-card__meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0}.order-mobile-card__actions .status-select-inline,.order-mobile-card__actions .btn-link{min-height:32px}}@media (max-width: 640px){.table-settings-modal{min-width:0;max-width:none;width:calc(100% - 24px);padding:18px}.settings-list{max-height:min(420px,58vh)}.settings-item{gap:8px;padding:9px 10px}.settings-actions button{padding:5px 8px}.modal-actions{flex-wrap:wrap}}.orders-dispatch-matrix-page{color:#0f172a;padding:24px}.odm-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:18px}.odm-header h1{font-size:30px;line-height:1.15;margin:4px 0 6px}.odm-header p{color:#64748b;font-size:14px;margin:0}.odm-kicker{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.odm-header-actions,.odm-toolbar,.odm-date-range,.odm-quick-range,.odm-segmented,.odm-summary,.odm-side-actions,.odm-modal-actions{align-items:center;display:flex;gap:10px}.odm-header-actions{flex-wrap:wrap;justify-content:flex-end}.odm-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 1px 3px #0f172a0f;flex-wrap:wrap;margin-bottom:14px;padding:14px}.odm-control-group,.odm-limit{color:#475569;display:grid;font-size:12px;font-weight:700;gap:5px;letter-spacing:.04em;text-transform:uppercase}.odm-date-range input,.odm-limit input{border:1px solid #cbd5e1;border-radius:9px;color:#0f172a;font-size:13px;min-height:34px;padding:6px 9px}.odm-limit input{width:78px}.odm-quick-range button,.odm-segmented button{background:#f8fafc;border:1px solid #dbe3ef;border-radius:9px;color:#475569;cursor:pointer;font-size:13px;min-height:34px;padding:7px 11px}.odm-segmented{background:#f1f5f9;border:1px solid #dbe3ef;border-radius:11px;gap:2px;padding:2px}.odm-segmented button{border-color:transparent}.odm-segmented button.active{background:#fff;border-color:#cbd5e1;color:#0f172a;font-weight:700}.odm-loading,.odm-summary,.odm-legend{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px 14px}.odm-loading{color:#64748b;text-align:center}.odm-summary{color:#475569;font-size:13px;margin-bottom:10px}.odm-summary span{background:#f8fafc;border-radius:999px;padding:5px 10px}.odm-matrix-wrap{background:#fff;border:1px solid #dbe3ef;border-radius:18px;box-shadow:0 12px 36px #0f172a0f;max-height:calc(100vh - 260px);overflow:auto}.odm-matrix{border-collapse:separate;border-spacing:0;min-width:100%;table-layout:fixed;width:max-content}.odm-matrix th,.odm-matrix td{border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0}.odm-matrix th{background:#f8fafc;color:#334155;font-size:12px;font-weight:700}.odm-sticky{left:0;position:sticky;z-index:3}.odm-date-head,.odm-date-cell{min-width:86px;width:86px}.odm-slot-head,.odm-slot-cell{left:86px;min-width:44px;text-align:center;width:44px}.odm-date-head,.odm-slot-head,.odm-resource-head,.odm-resource-row-head,.odm-day-head,.odm-slot-head-inline{position:sticky;top:0;z-index:4}.odm-date-cell,.odm-slot-cell,.odm-resource-row-cell{background:#f8fafc}.odm-date-cell{padding:8px;text-align:center;vertical-align:middle}.odm-date-cell strong,.odm-date-cell span{display:block}.odm-date-cell span{color:#64748b;font-size:11px;margin-top:2px}.odm-slot-cell{color:#94a3b8;font-size:11px}.odm-resource-head{line-height:1.2;min-width:136px;padding:8px;text-align:center;vertical-align:top;width:136px}.odm-resource-head span,.odm-resource-row-cell span{color:#64748b;display:block;font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.odm-resource-head .odm-resource-title{color:#0f172a;font-size:12px;font-weight:800}.matrix-cell{height:42px;min-width:136px;padding:0;vertical-align:middle;width:136px}.odm-density-comfortable .matrix-cell{height:58px}.matrix-cell--empty{background:#fff}.matrix-cell--order{background:#dbeafe}.matrix-cell--manual{background:#fef3c7}.matrix-cell--schedule_status{background:#e2e8f0}.matrix-cell--continuation .matrix-cell-content{font-style:italic;opacity:.85}.matrix-cell-content,.matrix-cell-empty{background:transparent;border:0;color:#0f172a;cursor:pointer;font:inherit;height:100%;padding:4px 6px;text-align:center;white-space:pre-line;width:100%}.matrix-cell-content{display:-webkit-box;font-size:10px;font-weight:700;line-height:1.15;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:3}.odm-density-comfortable .matrix-cell-content{font-size:11px;-webkit-line-clamp:4}.matrix-cell-empty{color:#cbd5e1;font-size:15px}.matrix-cell-empty:not(:disabled):hover{background:#f8fafc;color:#64748b}.odm-weekend-row .odm-date-cell,.odm-weekend-row .odm-slot-cell,.odm-day-head--weekend{background:#fff7ed}.odm-resource-row-head,.odm-resource-row-cell{left:0;min-width:210px;width:210px}.odm-resource-row-head--sub{top:35px}.odm-resource-row-cell{padding:8px;vertical-align:middle}.odm-resource-row-cell strong{display:block;font-size:12px;margin-bottom:3px}.odm-day-head{min-width:132px;padding:7px;text-align:center}.odm-slot-head-inline{min-width:44px;top:35px;width:44px}.odm-legend{align-items:center;display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:12px}.odm-legend-item{align-items:center;color:#475569;display:inline-flex;font-size:12px;gap:6px}.odm-legend-item i{border:1px solid rgba(15,23,42,.12);border-radius:4px;display:inline-block;height:14px;width:14px}.odm-side-panel{background:#fff;border-left:1px solid #e2e8f0;box-shadow:-18px 0 42px #0f172a24;bottom:0;max-width:420px;padding:24px;position:fixed;right:0;top:0;width:min(420px,92vw);z-index:50}.odm-side-close{background:#f8fafc;border:1px solid #dbe3ef;border-radius:9px;cursor:pointer;font-size:20px;position:absolute;right:16px;top:14px}.odm-side-panel h2{font-size:20px;margin:10px 0}.odm-side-panel p{color:#475569;line-height:1.5}.odm-side-panel dl{display:grid;gap:10px}.odm-side-panel dl div{background:#f8fafc;border-radius:12px;padding:10px}.odm-side-panel dt{color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase}.odm-side-panel dd{margin:2px 0 0}.odm-modal-backdrop{align-items:center;background:#0f172a5c;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:80}.odm-modal{background:#fff;border-radius:20px;box-shadow:0 24px 70px #0f172a3d;display:grid;gap:12px;max-width:520px;padding:24px;width:min(520px,calc(100vw - 32px))}.odm-modal h2{margin:0}.odm-modal label{color:#334155;display:grid;font-size:13px;font-weight:700;gap:6px}.odm-modal input,.odm-modal select,.odm-modal textarea{border:1px solid #cbd5e1;border-radius:10px;font:inherit;padding:9px 11px}.odm-modal-actions{justify-content:flex-end;margin-top:4px}@media (max-width: 900px){.orders-dispatch-matrix-page{padding:16px}.odm-header{flex-direction:column}.odm-header-actions,.odm-header-actions .btn{width:100%}.odm-matrix-wrap{max-height:calc(100vh - 320px)}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:4000;display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:10px;box-shadow:0 4px 20px #0000002e;font-size:14px;font-weight:500;white-space:nowrap;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast--success{background:#166534;color:#dcfce7}.toast--error{background:#991b1b;color:#fee2e2}.toast-message{flex:1}.toast-close{flex-shrink:0;background:none;border:none;color:inherit;opacity:.7;cursor:pointer;font-size:14px;padding:0;line-height:1;transition:opacity .15s}.toast-close:hover{opacity:1}.geocoding-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000006b;display:flex;align-items:center;justify-content:center;z-index:1400;padding:16px;animation:geocoding-modal-fadein .18s ease-out}@keyframes geocoding-modal-fadein{0%{opacity:0}to{opacity:1}}.geocoding-modal-box{background:#fff;border-radius:16px;box-shadow:0 2px 6px #00000012,0 12px 40px #00000029;width:100%;max-width:420px;display:flex;flex-direction:column;overflow:hidden;animation:geocoding-modal-slideup .22s cubic-bezier(.34,1.56,.64,1)}@keyframes geocoding-modal-slideup{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.geocoding-modal-header{padding:20px 20px 14px;border-bottom:1px solid #f0f0f5}.geocoding-modal-header-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.geocoding-modal-icon{font-size:20px;line-height:1;flex-shrink:0}.geocoding-modal-title{margin:0;font-size:16px;font-weight:700;color:#1a1a2e;letter-spacing:-.01em;flex:1;line-height:1.3}.geocoding-modal-close{background:none;border:none;font-size:22px;line-height:1;color:#adb5bd;cursor:pointer;padding:2px 6px;border-radius:6px;transition:color .15s,background .15s;flex-shrink:0}.geocoding-modal-close:hover{color:#495057;background:#f1f3f5}.geocoding-modal-desc{margin:0 0 6px;font-size:13px;color:#6c757d;line-height:1.5}.geocoding-modal-address{margin:0;font-size:12px;color:#868e96;background:#f8f9fa;border:1px solid #e9ecef;border-radius:7px;padding:6px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geocoding-modal-body{padding:16px 20px 12px}.geocoding-modal-mode-switch{display:flex;gap:0;background:#f1f3f5;border-radius:9px;padding:3px;margin-bottom:16px;width:fit-content}.geocoding-modal-mode-btn{padding:5px 14px;font-size:13px;font-weight:500;border:none;border-radius:7px;background:transparent;color:#6c757d;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;line-height:1.4}.geocoding-modal-mode-btn.active{background:#fff;color:#1a1a2e;box-shadow:0 1px 4px #0000001f}.geocoding-modal-mode-btn:not(.active):hover{color:#343a40}.geocoding-modal-fields{display:flex;gap:12px;flex-wrap:wrap}.geocoding-modal-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:130px}.geocoding-modal-field--wide{flex-basis:100%}.geocoding-modal-field label{font-size:12px;font-weight:600;color:#495057;letter-spacing:.01em}.geocoding-modal-input{padding:9px 12px;font-size:14px;border:1.5px solid #dee2e6;border-radius:9px;background:#fff;color:#212529;transition:border-color .15s,box-shadow .15s;outline:none;width:100%;box-sizing:border-box;-moz-appearance:textfield}.geocoding-modal-input::-webkit-outer-spin-button,.geocoding-modal-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.geocoding-modal-input:focus{border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d92e}.geocoding-modal-input.error{border-color:#e03131;box-shadow:0 0 0 3px #e031311f}.geocoding-modal-field-error{font-size:11.5px;color:#c92a2a;line-height:1.4}.geocoding-modal-field-hint{font-size:11px;color:#adb5bd;line-height:1.3}.geocoding-modal-footer{padding:12px 20px 18px;border-top:1px solid #f0f0f5;display:flex;gap:8px;justify-content:flex-end}.geocoding-modal-btn-cancel{padding:9px 18px;font-size:14px;font-weight:500;border:1.5px solid #dee2e6;border-radius:9px;background:#fff;color:#6c757d;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.geocoding-modal-btn-cancel:hover{background:#f8f9fa;border-color:#ced4da;color:#343a40}.geocoding-modal-btn-save{padding:9px 20px;font-size:14px;font-weight:600;border:none;border-radius:9px;background:#4a90d9;color:#fff;cursor:pointer;transition:background .15s,box-shadow .15s;letter-spacing:.01em}.geocoding-modal-btn-save:hover{background:#3a7cc5;box-shadow:0 2px 8px #4a90d959}.geocoding-modal-btn-save:active{background:#2d6aad}@media (max-width: 480px){.geocoding-modal-box{max-width:100%;border-radius:14px 14px 0 0;position:fixed;bottom:0;left:0;right:0}.geocoding-modal-overlay{align-items:flex-end;padding:0}.geocoding-modal-footer{flex-direction:column-reverse}.geocoding-modal-btn-cancel,.geocoding-modal-btn-save{width:100%;text-align:center}}.address-input-wrapper{position:relative;width:100%}.address-input-wrapper>label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.address-input-field{position:relative;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem}.address-input-field-inner{position:relative;flex:1;display:flex;align-items:flex-start;min-width:0}.address-input-field-inner input,.address-input-textarea{width:100%;padding:.5rem 2.25rem .5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s;box-sizing:border-box}.address-input-textarea{resize:none;overflow:hidden;line-height:1.5;font-family:inherit;min-height:38px}.address-input-textarea--readonly{background:#f8fafc;color:#374151;cursor:default}.address-input-field-inner input:focus,.address-input-textarea:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61a}.address-input-textarea--readonly:focus{border-color:#d1d5db;box-shadow:none}.address-input-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0;align-self:flex-start}.address-input-book-btn{flex-shrink:0;padding:.5rem .75rem;font-size:.8125rem;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;color:#374151;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.address-input-book-btn:hover{background:#f3f4f6;border-color:#9ca3af}.address-input-book-btn:disabled{cursor:not-allowed;opacity:.6}.address-input-info-btn{flex-shrink:0;padding:.5rem .75rem;font-size:.8125rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#4b5563;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.address-input-info-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.address-input-info-btn:disabled{opacity:.45;cursor:not-allowed}.address-info-modal{background:#fff;border-radius:10px;box-shadow:0 20px 40px #00000026;width:100%;max-width:420px;max-height:85vh;display:flex;flex-direction:column}.address-info-modal-body{padding:1rem 1.25rem 1.25rem;overflow-y:auto}.address-info-dl{margin:0;display:grid;grid-template-columns:minmax(7rem,38%) 1fr;gap:.5rem 1rem;font-size:.875rem}.address-info-dl dt{margin:0;color:#6b7280;font-weight:500}.address-info-dl dd{margin:0;color:#111827;word-break:break-word}.address-info-modal-note{margin:.5rem 0 0;font-size:.8125rem;color:#6b7280;line-height:1.4}.address-info-map-hint{margin:1rem 0 0;font-size:.8125rem}.address-info-map-hint a{color:var(--color-info-hover)}.coherence-warning-modal{background:#fff;border-radius:10px;box-shadow:0 20px 40px #0000002e;width:100%;max-width:520px;max-height:88vh;display:flex;flex-direction:column}.coherence-warning-body{padding:1rem 1.25rem;overflow-y:auto;flex:1}.coherence-warning-lead{margin:0 0 1rem;font-size:.9375rem;color:#374151}.coherence-warning-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.75rem}.coherence-item{border-radius:6px;padding:.75rem 1rem;border-left:4px solid #d1d5db;background:#f9fafb}.coherence-item--warn{border-left-color:var(--color-warning);background:#fffbeb}.coherence-item--unknown{border-left-color:#6b7280;background:#f3f4f6}.coherence-item strong{display:block;font-size:.875rem;font-weight:600;color:#111827;margin-bottom:.25rem}.coherence-item-address{margin:0 0 .25rem;font-size:.8125rem;color:#374151}.coherence-item-msg{margin:0 0 .25rem;font-size:.8125rem;color:#92400e}.coherence-item--unknown .coherence-item-msg{color:#4b5563}.coherence-item-distance{margin:0;font-size:.8125rem;color:#6b7280}.coherence-warning-note{margin:0;font-size:.8125rem;color:#6b7280;line-height:1.4}.coherence-warning-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #e5e7eb}.address-book-modal{background:#fff;border-radius:10px;box-shadow:0 20px 40px #00000026;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column}.address-book-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb}.address-book-modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#111827}.address-book-modal-close{width:2rem;height:2rem;padding:0;border:none;background:transparent;font-size:1.5rem;line-height:1;color:#6b7280;cursor:pointer;border-radius:4px}.address-book-modal-close:hover{background:#f3f4f6;color:#111827}.address-book-modal-search{margin:1rem 1.25rem 0;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;width:100%;box-sizing:border-box}.address-book-modal-list-wrapper{flex:1;overflow-y:auto;padding:1rem 1.25rem;min-height:120px}.address-book-modal-loading,.address-book-modal-empty{color:#6b7280;font-size:.875rem;padding:1rem 0}.address-book-modal-list{list-style:none;margin:0;padding:0}.address-book-modal-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid #f3f4f6;cursor:pointer;font-size:.875rem;transition:background .15s}.address-book-modal-item:last-child{border-bottom:none}.address-book-modal-item:hover{background:#f0f9ff}.address-book-modal-item-address{flex:1;min-width:0;color:#374151}.address-book-modal-item-coords{flex-shrink:0;color:#6b7280;font-size:.8125rem}.address-input-spinner{position:absolute;right:.625rem;top:.625rem;width:16px;height:16px;border:2px solid #d1d5db;border-top-color:var(--color-info);border-radius:50%;animation:address-spin .6s linear infinite;flex-shrink:0}@keyframes address-spin{to{transform:rotate(360deg)}}.address-input-coords-ok{position:absolute;right:.625rem;top:.5rem;color:var(--color-success);font-size:1rem;font-weight:700;line-height:1;flex-shrink:0}.address-suggestions-wrapper{position:absolute;top:100%;left:0;right:0;z-index:1000;background:#fff;border:1px solid #d1d5db;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 12px #0000001a;max-height:320px;overflow-y:auto}.address-suggestions-section{padding:0}.address-suggestions-section+.address-suggestions-section{border-top:1px solid #e5e7eb}.address-suggestions-section-title{padding:6px 12px 4px;font-size:11px;font-weight:600;color:#8e8e93;text-transform:uppercase;letter-spacing:.5px;background:#f8f8fa;cursor:default;-webkit-user-select:none;user-select:none}.address-suggestions-from-book{background:#f0fdf4}.address-suggestions-from-book .address-suggestions-section-title{background:#ecfdf5;color:#059669}.address-suggestions-loading{padding:.5rem .75rem;font-size:.8125rem;color:#6b7280}.address-suggestions-empty{padding:.625rem .75rem;font-size:.8125rem;color:#6b7280;font-style:italic}.address-suggestion-action-link{background:none;border:none;padding:0;margin:0;font-size:inherit;color:var(--color-primary, var(--color-info-hover));cursor:pointer;text-decoration:underline;font-style:normal}.address-suggestion-action-link:hover{color:var(--color-primary-dark, var(--color-info-text))}.address-suggestions-list,.address-suggestions{list-style:none;margin:0;padding:0}.address-suggestions-list li,.address-suggestions li{padding:.5rem .75rem;font-size:.875rem;color:#374151;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background .15s}.address-suggestions-list li:last-child,.address-suggestions li:last-child{border-bottom:none}.address-suggestions-list li:hover,.address-suggestions li:hover{background:#f0f9ff;color:var(--color-info-text)}.address-input-error{display:flex;align-items:flex-start;gap:4px;margin-top:4px;font-size:13px;color:var(--color-danger);line-height:1.4}.address-input-error-icon{flex-shrink:0;font-size:13px;line-height:1.4}.address-input-error-manual-btn{flex-shrink:0;margin-left:auto;padding:2px 10px;font-size:12px;font-weight:500;border:1px solid var(--color-danger);border-radius:6px;background:transparent;color:var(--color-danger);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.address-input-error-manual-btn:hover{background:var(--color-danger);color:#fff}.address-input-coords{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.address-input-coords-field{display:flex;flex-direction:column;gap:3px}.address-input-coords-field label{font-size:.75rem;color:#6b7280;font-weight:500;margin-bottom:0}.address-input-coords-field input{width:130px;padding:6px 8px;border:1px solid #d1d5db;border-radius:5px;font-size:.8125rem;transition:border-color .2s;box-sizing:border-box}.address-input-coords-field input:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 2px #3b82f61a}.address-input-manual-btn{display:inline-block;margin-top:4px;padding:0;background:none;border:none;color:#6b7280;font-size:.75rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.address-input-manual-btn:hover{color:#374151}.address-input-coords-mode-switch{display:flex;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb;width:100%}.address-input-coords-mode-switch label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151;cursor:pointer}.address-input-coords-mode-switch input[type=radio]{margin:0;cursor:pointer}.address-input-coords-hint{display:block;margin-top:.25rem;font-size:.75rem;color:#6b7280;font-style:italic}.address-input-coords-field input[type=text]{width:100%;max-width:300px}@media (max-width: 480px){.address-input-coords{flex-direction:column}.address-input-coords-field input{width:100%}}.address-input-alternatives{margin-top:8px;padding:12px;background:#fff3cd;border:1px solid #ffc107;border-radius:6px}.address-alternatives-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.address-alternative-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;transition:background .15s,border-color .15s}.address-alternative-item:hover{background:#e7f1ff;border-color:var(--color-info-hover)}.address-alternative-name{font-size:14px;font-weight:500;color:#212529;flex:1}.address-alternative-coords{font-size:12px;color:#6c757d;font-family:monospace;margin-left:12px}.address-alternatives-show-coords{margin-top:10px;padding:6px 12px;background:transparent;border:1px solid #6c757d;border-radius:4px;color:#495057;font-size:13px;cursor:pointer;transition:background .15s,color .15s}.address-alternatives-show-coords:hover{background:#6c757d;color:#fff}.address-suggestion-alias{background:#faf5ff}.address-suggestion-alias:hover{background:#ede9fe}.address-suggestions li{display:flex;align-items:flex-start;gap:6px;justify-content:space-between}.address-suggestion-text{flex:1;min-width:0;overflow:hidden}.address-suggestion-primary{display:block;font-size:.875rem;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.address-suggestion-secondary{display:block;font-size:.8em;color:#888;line-height:1.2;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.address-suggestion-alias-badge{flex-shrink:0;font-size:10px;font-weight:600;color:#7c3aed;background:#ede9fe;border-radius:3px;padding:1px 5px;line-height:1.6;white-space:nowrap}.address-similar-merge-modal{max-width:480px;width:100%}.address-similar-merge-body{padding:16px 20px 20px}.address-similar-merge-desc{font-size:.9rem;color:#1f2937;margin:0 0 6px;line-height:1.5}.address-similar-merge-desc strong{font-weight:600}.address-similar-merge-hint{font-size:.82rem;color:#6b7280;margin:0 0 12px}.address-similar-merge-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.address-similar-merge-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000a}.address-similar-merge-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.address-similar-merge-item-address{font-size:.875rem;color:#111827;line-height:1.4;word-break:break-word}.address-similar-merge-item-dist{font-size:.78rem;color:#9ca3af;font-variant-numeric:tabular-nums}.address-similar-merge-btn{flex-shrink:0;padding:6px 12px;font-size:.8125rem;font-weight:500;background:#4f46e5;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .15s,box-shadow .15s;white-space:nowrap;box-shadow:0 1px 3px #4f46e540}.address-similar-merge-btn:hover:not(:disabled){background:#4338ca;box-shadow:0 2px 6px #4f46e559}.address-similar-merge-btn:disabled{opacity:.6;cursor:not-allowed}.address-similar-merge-actions{display:flex;justify-content:flex-end;padding-top:4px}.address-similar-merge-skip-btn{padding:7px 16px;font-size:.875rem;background:transparent;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.address-similar-merge-skip-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.canonical-mismatch-modal{background:#fff;border-radius:12px;box-shadow:0 24px 48px #00000029,0 4px 12px #00000014;width:100%;max-width:480px;display:flex;flex-direction:column;overflow:hidden}.canonical-mismatch-body{padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.canonical-mismatch-row{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;border-radius:8px;border-left:4px solid #d1d5db;background:#f9fafb}.canonical-mismatch-row--user{border-left-color:#9ca3af}.canonical-mismatch-row--canonical{border-left-color:var(--color-info);background:#eff6ff}.canonical-mismatch-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.canonical-mismatch-row--canonical .canonical-mismatch-label{color:var(--color-info-hover)}.canonical-mismatch-text{font-size:.9rem;color:#111827;line-height:1.45;word-break:break-word}.canonical-mismatch-coords{font-size:.78rem;color:#6b7280;font-variant-numeric:tabular-nums;margin-top:.1rem}.canonical-mismatch-hint{margin:0;font-size:.8125rem;color:#6b7280;line-height:1.45}.canonical-mismatch-actions{display:flex;flex-direction:column;gap:.5rem;padding-top:.25rem}.canonical-mismatch-btn{width:100%;padding:.625rem 1rem;font-size:.9rem;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:background .15s,box-shadow .15s,transform .1s;line-height:1.4}.canonical-mismatch-btn:active{transform:scale(.99)}.canonical-mismatch-btn--replace{background:var(--color-info-hover);color:#fff;box-shadow:0 1px 4px #2563eb4d}.canonical-mismatch-btn--replace:hover{background:var(--color-info-text);box-shadow:0 2px 8px #2563eb66}.canonical-mismatch-btn--keep{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.canonical-mismatch-btn--keep:hover{background:#e5e7eb;border-color:#d1d5db}.rr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;background:#00000073;display:flex;align-items:center;justify-content:center;animation:rr-fade-in .18s ease-out}@keyframes rr-fade-in{0%{opacity:0}to{opacity:1}}.rr-modal{background:#fff;border-radius:18px;box-shadow:0 2px 6px #00000014,0 12px 40px #0000002e;width:min(420px,92vw);overflow:hidden;animation:rr-slide-up .22s cubic-bezier(.34,1.56,.64,1)}@keyframes rr-slide-up{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.rr-header{padding:24px 24px 16px;text-align:center;border-bottom:1px solid #f0f0f5}.rr-icon{width:44px;height:44px;border-radius:50%;background:#eef4ff;color:var(--color-info-hover);font-size:22px;font-weight:700;line-height:44px;text-align:center;margin:0 auto 12px;box-shadow:0 1px 4px #2563eb26;display:flex;align-items:center;justify-content:center}.rr-title{margin:0 0 4px;font-size:17px;font-weight:700;color:#111827;letter-spacing:-.01em}.rr-subtitle{margin:0;font-size:13px;color:#6b7280;line-height:1.45}.rr-body{padding:16px 24px}.rr-table{width:100%;border-collapse:collapse}.rr-th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:0 0 8px}.rr-th--label{text-align:left}.rr-th--old{text-align:right;width:80px}.rr-th--arrow{text-align:center;width:28px}.rr-th--new{text-align:right;width:80px}.rr-row{border-top:1px solid #f3f4f6}.rr-row:first-child{border-top:none}.rr-td{padding:10px 0;font-size:14px;color:#374151;vertical-align:middle}.rr-td--label{font-weight:500;text-align:left}.rr-td--old{text-align:right;color:#9ca3af;font-variant-numeric:tabular-nums}.rr-td--arrow{text-align:center;color:#d1d5db;font-size:13px;padding-left:4px;padding-right:4px}.rr-td--new{text-align:right;font-variant-numeric:tabular-nums}.rr-td--accent{font-weight:600;color:var(--color-info-hover)}.rr-td--empty{color:#d1d5db}.rr-footer{display:flex;gap:10px;padding:16px 24px 22px;border-top:1px solid #f0f0f5}.rr-btn{flex:1;height:44px;border:none;border-radius:11px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,transform .08s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.rr-btn:active{transform:scale(.97)}.rr-btn--secondary{background:#f3f4f6;color:#374151}.rr-btn--secondary:hover{background:#e5e7eb}.rr-btn--primary{background:var(--color-info-hover);color:#fff;box-shadow:0 2px 8px #2563eb4d}.rr-btn--primary:hover{background:var(--color-info-text);box-shadow:0 4px 12px #2563eb66}@media (max-width: 480px){.rr-modal{border-radius:14px}.rr-footer{flex-direction:column-reverse}.rr-btn{height:48px}}.etc-map-shell{position:relative;display:grid;grid-template-columns:minmax(0,1fr);min-height:360px;overflow:hidden;background:var(--map-surface-bg);border:1px solid var(--map-overlay-border);border-radius:var(--radius-sm)}.etc-map-shell--with-panels{grid-template-columns:minmax(0,1fr) minmax(260px,320px)}.etc-map-shell--compact{min-height:280px}.etc-map-shell__surface{position:relative;min-width:0;min-height:inherit}.etc-map-shell__surface>.leaflet-container,.etc-map-shell__surface .leaflet-container{background:var(--map-surface-bg);filter:saturate(.72) contrast(.94) brightness(1.03)}.etc-map-shell__panels{z-index:2;min-width:0;overflow:auto;background:var(--map-overlay-bg);border-left:1px solid var(--map-overlay-border)}.etc-map-shell__overlay{position:absolute;z-index:1000;display:flex;pointer-events:none}.etc-map-shell__overlay>*{pointer-events:auto}.etc-map-shell__overlay--top-left{top:var(--space-md);left:var(--space-md)}.etc-map-shell__overlay--top-right{top:var(--space-md);right:var(--space-md)}.etc-map-shell__overlay--bottom-left{bottom:var(--space-md);left:var(--space-md)}.etc-map-shell__overlay--bottom-right{right:var(--space-md);bottom:var(--space-md)}.etc-map-shell__overlay--center{top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;background:color-mix(in srgb,var(--map-surface-bg) 74%,transparent)}.etc-map-shell__loading{min-width:180px;padding:var(--space-md);color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);text-align:center;background:var(--map-overlay-bg);border:1px solid var(--map-overlay-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.etc-map-overlay-card{min-width:180px;max-width:min(360px,calc(100vw - 32px));padding:var(--space-sm) var(--space-md);color:var(--color-text);background:var(--map-overlay-bg);border:1px solid var(--map-overlay-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.etc-map-overlay-card--compact{min-width:0;padding:6px var(--space-sm)}.etc-map-overlay-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.etc-map-overlay-card__eyebrow{margin-bottom:2px;color:var(--color-text-tertiary);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:0;text-transform:uppercase}.etc-map-overlay-card__title{color:var(--color-text-strong);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.etc-map-overlay-card__body{margin-top:var(--space-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.45}.etc-map-legend{display:grid;gap:6px;min-width:160px}.etc-map-legend__title{color:var(--color-text-tertiary);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:0;text-transform:uppercase}.etc-map-legend__items{display:grid;gap:5px}.etc-map-legend__item{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-secondary);font-size:var(--font-size-xs)}.etc-map-legend__swatch{width:18px;height:3px;flex:0 0 auto;background:var(--map-route);border-radius:var(--radius-pill)}.etc-map-legend__swatch--marker{width:9px;height:9px;background:var(--map-marker);border:1px solid var(--map-marker-border);border-radius:50%}.etc-map-legend__swatch.etc-route-status-badge--live{background:var(--telemetry-live-color)}.etc-map-legend__swatch.etc-route-status-badge--delayed{background:var(--color-warning)}.etc-map-legend__swatch.etc-route-status-badge--critical{background:var(--color-danger)}.etc-map-legend__swatch.etc-route-status-badge--completed{background:var(--color-text-tertiary)}.etc-route-status-badge{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:2px 8px;color:var(--color-text-secondary);background:var(--color-surface-subtle);border:1px solid var(--color-border-light);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.2}.etc-route-status-badge:before{content:"";width:7px;height:7px;background:var(--map-route);border-radius:50%}.etc-route-status-badge--live:before{background:var(--telemetry-live-color)}.etc-route-status-badge--delayed:before{background:var(--color-warning)}.etc-route-status-badge--critical:before{background:var(--color-danger)}.etc-route-status-badge--completed:before{background:var(--color-text-tertiary)}.etc-telemetry-indicator{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.etc-telemetry-indicator__dot{width:8px;height:8px;flex:0 0 auto;background:var(--color-text-tertiary);border-radius:50%}.etc-telemetry-indicator--live .etc-telemetry-indicator__dot,.etc-telemetry-indicator--online .etc-telemetry-indicator__dot{background:var(--telemetry-live-color)}.etc-telemetry-indicator--offline .etc-telemetry-indicator__dot{background:var(--telemetry-offline-color)}.etc-telemetry-indicator--delayed .etc-telemetry-indicator__dot{background:var(--color-warning)}.etc-telemetry-indicator__quality{color:var(--color-text-tertiary);font-size:var(--font-size-2xs)}.etc-telemetry-indicator--compact .etc-telemetry-indicator__label{display:none}.etc-fleet-marker-icon,.etc-route-checkpoint-icon{background:none!important;border:none!important}.etc-fleet-marker{position:relative;display:grid;justify-items:center;gap:3px;min-width:var(--map-marker-size)}.etc-fleet-marker__dot{width:14px;height:14px;background:var(--map-stopped);border:2px solid var(--map-marker-border);border-radius:50%;box-shadow:var(--shadow-sm)}.etc-fleet-marker--moving .etc-fleet-marker__dot{background:var(--map-moving)}.etc-fleet-marker--at-depot .etc-fleet-marker__dot{background:var(--map-at-depot)}.etc-fleet-marker--offline .etc-fleet-marker__dot{background:var(--telemetry-offline-color)}.etc-fleet-marker--alert .etc-fleet-marker__dot,.etc-fleet-marker--risk .etc-fleet-marker__dot{outline:2px solid var(--color-danger-border);outline-offset:2px}.etc-fleet-marker--selected .etc-fleet-marker__dot{outline:2px solid var(--color-primary);outline-offset:2px}.etc-fleet-marker--live .etc-fleet-marker__dot:after{content:"";position:absolute;width:6px;height:6px;margin:2px 0 0 2px;background:var(--telemetry-live-color);border-radius:50%}.etc-fleet-marker__label{display:grid;gap:1px;min-width:58px;max-width:108px;padding:4px 6px;color:var(--color-text);text-align:center;background:var(--map-overlay-bg);border:1px solid var(--map-overlay-border);border-radius:var(--radius-xs);box-shadow:var(--shadow-sm)}.etc-fleet-marker__name{overflow:hidden;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.etc-fleet-marker__detail{color:var(--color-text-tertiary);font-size:var(--font-size-2xs);line-height:1.15}.etc-fleet-marker--compact .etc-fleet-marker__label{display:none}.etc-route-checkpoint{display:grid;place-items:center;width:var(--map-checkpoint-size);height:var(--map-checkpoint-size);color:var(--color-text-inverse);background:var(--map-marker);border:2px solid var(--map-marker-border);border-radius:50%;box-shadow:var(--shadow-sm);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);line-height:1}.etc-route-checkpoint--completed{background:var(--color-text-tertiary)}.etc-route-checkpoint--pending{background:var(--color-text-secondary)}.etc-route-checkpoint--arrival{background:var(--map-route)}.etc-route-checkpoint--departure{background:var(--color-primary)}.etc-route-checkpoint--delayed{background:var(--color-warning)}.etc-route-checkpoint--selected{outline:2px solid var(--color-primary);outline-offset:2px}.etc-leaflet-tooltip{color:var(--color-text);background:var(--map-overlay-bg);border:1px solid var(--map-overlay-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}@media (max-width: 760px){.etc-map-shell,.etc-map-shell--with-panels{grid-template-columns:minmax(0,1fr)}.etc-map-shell__panels{max-height:220px;border-top:1px solid var(--map-overlay-border);border-left:0}.etc-map-shell__overlay--top-left,.etc-map-shell__overlay--top-right,.etc-map-shell__overlay--bottom-left,.etc-map-shell__overlay--bottom-right{right:var(--space-sm);left:var(--space-sm)}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.route-map-container{margin-top:16px}.route-map-wrapper{overflow:hidden}.route-map-leaflet{height:400px;min-height:400px;width:100%;z-index:0}.route-map-leaflet .leaflet-container{height:100%;width:100%}.route-marker-tooltip{font-size:13px;line-height:1.5;min-width:180px}.route-marker-tooltip strong{display:block;margin-bottom:2px;font-size:13px;color:var(--color-text-strong)}.route-marker-tooltip-coords{margin-top:3px;font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.route-marker-tooltip-muted{font-size:11px;color:var(--color-text-tertiary)}.route-map-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.route-map-btn{white-space:nowrap}.route-map-result{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.route-map-distance{font-weight:600;font-size:16px;color:var(--map-route)}.route-map-duration{color:var(--color-text-tertiary);font-size:14px}.route-map-apply-btn{font-size:13px;padding:4px 12px}.route-map-error{color:var(--color-danger);font-size:14px}.address-input-wrapper{position:relative;flex:1}.address-input-field{position:relative}.address-input-field input{width:100%;box-sizing:border-box}.address-input-spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-info-hover);border-radius:50%;animation:address-spin .6s linear infinite}@keyframes address-spin{to{transform:translateY(-50%) rotate(360deg)}}.address-suggestions{position:absolute;z-index:1000;top:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-xs) var(--radius-xs);box-shadow:var(--shadow-md);list-style:none;margin:0;padding:0}.address-suggestions li{padding:8px 12px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--color-border-subtle);line-height:1.4;color:var(--color-text-secondary)}.address-suggestions li:last-child{border-bottom:none}.address-suggestions li:hover{background:var(--color-info-soft);color:var(--color-info-text)}.gps-fuel-marker{font-size:20px;line-height:28px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none}.gps-fuel-popup{font-size:13px;line-height:1.4}.gps-fuel-popup strong{display:block;margin-bottom:2px;color:var(--color-text-strong)}.gps-fuel-popup-time{color:var(--color-text-tertiary);font-size:11px;margin-top:2px}.via-marker{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border-radius:10px;background:var(--map-overlay-bg);border:1.5px solid var(--map-overlay-border);box-shadow:var(--shadow-sm);white-space:nowrap;cursor:default}.via-marker-label{font-size:10px;font-weight:700;color:var(--color-text-secondary);font-family:var(--font-mono);letter-spacing:0}.gps-km-badge{font-size:13px;font-weight:600;color:var(--map-route)}.map-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:color-mix(in srgb,var(--brand-midnight) 55%,transparent);display:flex;align-items:stretch;justify-content:center}.map-picker-modal{position:fixed;top:32px;right:32px;bottom:32px;left:32px;z-index:3001;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.map-picker-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-subtle);flex-shrink:0}.map-picker-title{font-size:15px;font-weight:600;color:var(--color-text-strong);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-picker-mode-tabs{display:flex;gap:4px;background:var(--color-surface-muted);border-radius:var(--radius-sm);padding:3px;flex-shrink:0}.map-picker-tab{padding:5px 14px;border:none;border-radius:var(--radius-xs);font-size:13px;font-weight:500;cursor:pointer;color:var(--color-text-tertiary);background:transparent;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.map-picker-tab:hover{color:var(--color-text-secondary);background:var(--color-surface)}.map-picker-tab--active{background:var(--color-surface);color:var(--color-info-text);box-shadow:var(--shadow-xs)}.map-picker-close{flex-shrink:0;width:32px;height:32px;border:none;background:none;border-radius:var(--radius-xs);font-size:18px;color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.map-picker-close:hover{background:var(--color-surface-muted);color:var(--color-text-strong)}.map-picker-hint{padding:6px 16px;font-size:12px;color:var(--color-text-secondary);background:var(--color-info-soft);border-bottom:1px solid var(--color-info-border);flex-shrink:0}.map-picker-map{flex:1;position:relative;min-height:0}.map-picker-map-shell{height:100%;min-height:100%;border:0;border-radius:0}.map-picker-leaflet,.map-picker-leaflet .leaflet-container{height:100%;width:100%}.map-picker-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;pointer-events:none;filter:none}.map-picker-marker-icon{background:none!important;border:none!important}.map-picker-marker-pin{width:36px;height:48px;position:relative;display:flex;align-items:flex-start;justify-content:center;cursor:grab}.map-picker-marker-pin:before{content:"";position:absolute;top:0;left:50%;width:32px;height:32px;background:var(--map-marker);border-radius:50% 50% 50% 0;transform:translate(-50%) rotate(-45deg);box-shadow:var(--shadow-md);transition:background-color var(--motion-duration-fast) var(--motion-ease-standard)}.map-picker-marker-pin:active:before{background:var(--map-route);cursor:grabbing}.map-picker-marker-pin span{position:relative;z-index:1;color:var(--color-text-inverse);font-size:18px;line-height:32px;width:32px;text-align:center}.map-picker-panel{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--color-border-light);background:var(--color-surface);flex-shrink:0;min-height:72px}.map-picker-panel-address{flex:1;font-size:13px;color:var(--color-text-strong);line-height:1.4;min-width:0}.map-picker-panel-coords{font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono);white-space:nowrap}.map-picker-panel-hint{flex:1;font-size:13px;color:var(--color-text-tertiary);font-style:italic}.map-picker-geocoding{color:var(--color-text-secondary);font-style:italic}.map-picker-panel-actions{display:flex;gap:8px;flex-shrink:0}.map-picker-other-marker-icon{background:none!important;border:none!important}.map-picker-other-marker-pin{width:28px;height:36px;position:relative;display:flex;align-items:flex-start;justify-content:center}.map-picker-other-marker-pin:before{content:"";position:absolute;top:0;left:50%;width:24px;height:24px;background:var(--telemetry-offline-color);border-radius:50% 50% 50% 0;transform:translate(-50%) rotate(-45deg);box-shadow:var(--shadow-sm)}.map-picker-other-marker-pin span{position:relative;z-index:1;color:var(--color-text-inverse);font-weight:700;font-size:11px;line-height:24px;width:24px;text-align:center}.btn-map-picker{flex-shrink:0;width:30px;height:30px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-subtle);cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard);margin-left:4px;padding:0}.btn-map-picker:hover{background:var(--color-info-soft);border-color:var(--color-info-border)}.btn-map-picker--active{background:var(--color-primary-soft);border-color:var(--color-primary);box-shadow:var(--control-focus-ring)}.map-picker-tooltip{max-width:220px;font-size:var(--font-size-sm);line-height:1.4}.map-picker-tooltip strong{color:var(--color-text-strong)}.etc-workflow-header{align-items:flex-start;display:flex;gap:var(--space-md);justify-content:space-between}.etc-workflow-header__main{min-width:0}.etc-workflow-header__kicker{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:0;margin-bottom:var(--space-xs);text-transform:uppercase}.etc-workflow-header__title{color:var(--color-text-strong);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.etc-workflow-header__subtitle,.etc-workflow-header__meta{color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:var(--space-xs) 0 0}.etc-workflow-header__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-sm)}.etc-modal-shell__overlay,.etc-drawer-panel__overlay{align-items:center;background:#171a2f6b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:var(--space-lg);position:fixed;z-index:1000}.etc-modal-shell{background:var(--modal-bg);border:1px solid var(--modal-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);color:var(--color-text);display:flex;flex-direction:column;max-height:min(86vh,920px);overflow:hidden;position:relative;width:min(100%,640px)}.etc-modal-shell--sm{width:min(100%,440px)}.etc-modal-shell--md{width:min(100%,640px)}.etc-modal-shell--lg{width:min(100%,860px)}.etc-modal-shell--xl{width:min(100%,1080px)}.etc-modal-shell__header,.etc-drawer-panel__header{border-bottom:1px solid var(--color-border-light);padding:var(--space-md) var(--space-lg)}.etc-modal-shell__header-row,.etc-drawer-panel__header-row{align-items:flex-start;display:flex;gap:var(--space-md);justify-content:space-between}.etc-modal-shell__title,.etc-drawer-panel__title{color:var(--color-text-strong);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.etc-modal-shell__subtitle,.etc-drawer-panel__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:var(--space-xs) 0 0}.etc-modal-shell__header-actions,.etc-drawer-panel__header-actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-sm)}.etc-modal-shell__close,.etc-drawer-panel__close{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.etc-modal-shell__close:hover,.etc-drawer-panel__close:hover{background:var(--color-surface-muted);color:var(--color-text)}.etc-modal-shell__body{flex:1;min-height:0;padding:var(--space-lg)}.etc-modal-shell__body--scrollable{overflow:auto}.etc-modal-shell__footer{align-items:center;border-top:1px solid var(--color-border-light);display:flex;gap:var(--space-sm);justify-content:flex-end;padding:var(--space-md) var(--space-lg)}.etc-modal-shell__footer--sticky{background:var(--modal-bg);bottom:0;position:sticky}.etc-modal-shell__loading{align-items:center;background:#ffffffb8;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-md);gap:var(--space-sm);top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute}.etc-workflow-spinner,.etc-modal-shell__spinner{animation:etc-workflow-spin .8s linear infinite;border:2px solid var(--color-primary);border-radius:50%;border-top-color:transparent;height:16px;width:16px}@keyframes etc-workflow-spin{to{transform:rotate(360deg)}}.etc-drawer-panel__overlay{align-items:stretch;justify-content:flex-end;padding:0}.etc-drawer-panel__overlay--left{justify-content:flex-start}.etc-drawer-panel__overlay--persistent{background:transparent;pointer-events:none}.etc-drawer-panel__overlay--persistent .etc-drawer-panel{pointer-events:auto}.etc-drawer-panel{background:var(--drawer-bg);border-left:1px solid var(--modal-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-width:100%;min-height:100%;width:min(440px,100vw)}.etc-drawer-panel--left{border-left:0;border-right:1px solid var(--modal-border)}.etc-drawer-panel--compact{width:min(360px,100vw)}.etc-drawer-panel--persistent{box-shadow:var(--shadow-md)}.etc-drawer-panel__body{flex:1;min-height:0;overflow:auto;padding:var(--space-lg)}.etc-drawer-panel__footer{border-top:1px solid var(--color-border-light);padding:var(--space-md) var(--space-lg)}.etc-detail-panel{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text)}.etc-detail-panel--compact .etc-detail-panel__body{padding:var(--space-md)}.etc-detail-panel__header{border-bottom:1px solid var(--color-border-light);padding:var(--space-md)}.etc-detail-panel__body{padding:var(--space-lg)}.etc-detail-panel__grid{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.etc-detail-panel__field-label{color:var(--color-text-tertiary);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-xs)}.etc-detail-panel__field-value{color:var(--color-text);font-size:var(--font-size-md);line-height:var(--line-height-normal)}.etc-workflow-stage{border:1px solid var(--color-border-light);border-radius:var(--workflow-stage-radius);display:grid;gap:var(--space-sm);grid-template-columns:auto 1fr;padding:var(--space-md)}.etc-workflow-stage--current{background:var(--color-primary-soft);border-color:var(--color-info-border)}.etc-workflow-stage__marker,.etc-timeline-event__marker{align-items:center;background:var(--color-surface);border:1px solid var(--timeline-line);border-radius:var(--radius-pill);color:var(--timeline-pending);display:inline-flex;height:24px;justify-content:center;margin-top:1px;width:24px}.etc-workflow-stage--completed .etc-workflow-stage__marker,.etc-timeline-event--completed .etc-timeline-event__marker{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--timeline-completed)}.etc-workflow-stage--current .etc-workflow-stage__marker,.etc-timeline-event--current .etc-timeline-event__marker{background:var(--color-primary-soft);border-color:var(--color-info-border);color:var(--timeline-current)}.etc-workflow-stage--error .etc-workflow-stage__marker,.etc-timeline-event--error .etc-timeline-event__marker{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger)}.etc-workflow-stage__title,.etc-timeline-event__title{color:var(--color-text-strong);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.etc-workflow-stage__description,.etc-timeline-event__description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-top:var(--space-xs)}.etc-workflow-stage__timestamp,.etc-timeline-event__timestamp,.etc-timeline-event__actor{color:var(--color-text-tertiary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.etc-workflow-stage__metadata,.etc-timeline-event__metadata,.etc-timeline-event__attachments{margin-top:var(--space-sm)}.etc-workflow-timeline{display:flex;gap:var(--space-md)}.etc-workflow-timeline--vertical{flex-direction:column}.etc-workflow-timeline--horizontal{align-items:stretch;flex-direction:row}.etc-workflow-timeline--horizontal .etc-workflow-stage{flex:1;min-width:160px}.etc-workflow-timeline--compact{gap:var(--space-sm)}.etc-workflow-timeline__events{display:flex;flex-direction:column}.etc-timeline-event{display:grid;gap:var(--space-sm);grid-template-columns:auto 1fr;padding:0 0 var(--space-md);position:relative}.etc-timeline-event:not(:last-child):after{background:var(--timeline-line);bottom:0;content:"";left:11px;position:absolute;top:28px;width:1px}.etc-timeline-event__head{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-sm)}.etc-timeline-event__body{min-width:0}.etc-status-timeline{display:flex;flex-direction:column;gap:var(--space-sm)}.etc-status-timeline__label{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.etc-activity-feed{display:flex;flex-direction:column;gap:var(--activity-feed-gap)}.etc-activity-feed--compact{--activity-feed-gap: var(--space-sm)}.etc-activity-feed__empty{border:1px dashed var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-tertiary);font-size:var(--font-size-md);padding:var(--space-md)}.etc-activity-feed__item{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:var(--space-md)}.etc-activity-feed__item--system{background:var(--color-surface-subtle)}.etc-activity-feed__item--comment{border-color:var(--color-info-border)}.etc-activity-feed__type{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}@media (max-width: 720px){.etc-modal-shell__overlay{align-items:flex-end;padding:var(--space-sm)}.etc-modal-shell{max-height:calc(100vh - var(--space-md));width:100%}.etc-workflow-timeline--horizontal{flex-direction:column}}.order-detail-page{padding:20px 20px 96px;width:100%;max-width:1180px;margin:0 auto;color:var(--color-text);box-sizing:border-box;overflow:hidden}.order-detail-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;text-align:center;color:#6c757d}.order-detail-loading .loading-spinner{display:inline-block;width:28px;height:28px;border:3px solid #e9ecef;border-top-color:#4a90d9;border-radius:50%;animation:detail-spin .7s linear infinite}@keyframes detail-spin{to{transform:rotate(360deg)}}.order-detail-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:24px}.order-detail-page .page-header>div:first-child{flex:1 1 360px;min-width:0}.order-detail-page .page-header h1{margin:0 0 5px;color:var(--color-text);font-size:28px;overflow-wrap:anywhere;line-height:1.2}.order-subtitle{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;color:#495057;font-size:16px}.order-subtitle .waybill-select{padding:2px 6px;font-size:14px;border-radius:4px;border:1px solid #dee2e6;background:#fff;min-width:140px;max-width:100%}.order-detail-dates-hint{margin:0 0 1rem;padding:0;font-size:.875rem;color:#6c757d}.order-detail-page .header-actions{display:flex;gap:10px;width:100%;justify-content:flex-start;flex-wrap:wrap;min-width:0}.order-detail-page .header-actions .btn{flex:1 1 180px;min-width:0;white-space:normal;text-align:center;line-height:1.2;overflow-wrap:anywhere}.order-status-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px;padding:12px 16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.order-status-actions .btn{white-space:normal;overflow-wrap:anywhere;line-height:1.2}.order-status-actions-label{font-weight:500;font-size:14px;color:#495057;margin-right:4px;flex-shrink:0}.btn-sm{font-size:13px;padding:5px 12px;border-radius:6px;cursor:pointer}.btn-outline{background:#fff;border:1px solid #0d6efd;color:#0d6efd}.btn-outline:hover{background:#e7f3ff}.btn-danger-outline{background:#fff;border:1px solid #d32f2f;color:#d32f2f}.btn-danger-outline:hover{background:#ffebee}.order-result-card{background:linear-gradient(135deg,#e8f4fd,#f0f7ff);border:1px solid #b6d4fe;border-radius:10px;padding:20px 24px;margin-bottom:24px;box-shadow:0 2px 8px #0d6efd14;color:#212529;max-width:100%;box-sizing:border-box;overflow-x:auto;scrollbar-gutter:stable}.order-result-card-title{margin:0 0 4px;font-size:18px;font-weight:600;color:#0d6efd}.order-result-card-subtitle{margin:0 0 16px;font-size:12px;color:#868e96;font-weight:400}.order-result-fallback-notice{margin:0 0 8px;font-size:12px;color:#868e96;font-style:italic}.planned-duration-source-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:500;color:#7c5c00;background:#fff3cd;border:1px solid #ffe69c;border-radius:4px;white-space:nowrap;vertical-align:middle;cursor:default}@media (max-width: 480px){.planned-duration-source-badge{display:block;margin-left:0;margin-top:3px;width:fit-content}}.order-result-top-row{display:flex;flex-wrap:wrap;gap:24px 40px;margin-bottom:20px}.order-result-big{display:flex;flex-direction:column;gap:4px}.order-result-big-label{font-size:13px;color:#6c757d;font-weight:500}.order-result-big-value{font-size:22px;font-weight:700;color:#212529}.order-result-table{width:100%;min-width:620px;border-collapse:collapse;font-size:14px;color:#212529}.order-result-table th,.order-result-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #d6e4f0}.order-result-table th{background:#0d6efd0f;color:#495057;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.3px}.order-result-table th:not(:first-child),.order-result-table td:not(:first-child){text-align:right;min-width:100px;color:#212529}.order-result-table td:first-child{font-weight:500;color:#495057}.order-result-row-highlight td{font-weight:700;color:#0d6efd}.order-result-cell-hint{display:block;font-size:11px;font-weight:400;color:#868e96;margin-top:2px;line-height:1.3}.order-result-cell-match{color:#2e7d32;font-weight:500}.info-icon{display:inline-block;width:14px;height:14px;font-size:10px;font-weight:600;line-height:14px;text-align:center;border-radius:50%;background:#adb5bd;color:#fff;cursor:help;vertical-align:middle;margin-left:3px;-webkit-user-select:none;user-select:none}.order-result-plan-value{font-variant-numeric:tabular-nums}.order-result-plan-missing{font-size:12px;color:#9ca3af;font-weight:400}.order-mileage-breakdown-block{margin-top:16px}.order-section-subtitle{font-size:15px;font-weight:600;color:#495057;margin:0 0 8px}.pickup-deadhead-missing{display:inline-block;font-size:11px;font-weight:500;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:4px;padding:2px 7px;line-height:1.5}.pickup-deadhead-source-hint{font-style:italic;color:#8e8e93;font-size:.85em;margin-top:4px;line-height:1.4}.pickup-deadhead-help-wrap{position:relative;display:inline-flex;align-items:center}.pickup-deadhead-help-btn{width:18px;height:18px;border-radius:50%;border:1px solid #c7c7cc;background:#f2f2f7;color:#636366;font-size:11px;font-weight:600;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;margin-left:4px;flex-shrink:0;transition:background .15s}.pickup-deadhead-help-btn:hover{background:#e5e5ea}.pickup-deadhead-help-popover{position:absolute;bottom:calc(100% + 8px);right:0;width:300px;background:#fff;border:1px solid #d1d1d6;border-radius:12px;padding:14px 16px 12px;box-shadow:0 4px 20px #0000001f;z-index:200;font-size:.82em;line-height:1.5;color:#3c3c43}.pickup-deadhead-help-popover p{margin:0 0 6px}.pickup-deadhead-help-popover ul{margin:4px 0 8px;padding-left:16px}.pickup-deadhead-help-popover li{margin-bottom:4px}.pickup-deadhead-help-popover__close{float:right;background:none;border:none;font-size:16px;color:#8e8e93;cursor:pointer;padding:0;margin-left:8px;line-height:1}.pickup-deadhead-help-popover__warn{font-style:italic;color:var(--color-danger-bright);margin-top:6px!important;margin-bottom:0!important}.pickup-deadhead-help-popover--left{right:auto;left:0;max-width:min(300px,calc(100vw - 32px))}.pickup-deadhead-source-badge{margin-left:6px}.pickup-deadhead-actions{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}.pickup-deadhead-btn{font-size:11px;padding:2px 8px;border-radius:5px;border:1px solid #d1d5db;background:#f9fafb;cursor:pointer;line-height:1.5;font-weight:500;transition:background .15s,border-color .15s}.pickup-deadhead-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.pickup-deadhead-btn:disabled{opacity:.5;cursor:default}.pickup-deadhead-btn--save{color:var(--color-info-text);border-color:#93c5fd;background:#eff6ff}.pickup-deadhead-btn--save:hover:not(:disabled){background:#dbeafe}.pickup-deadhead-btn--reset,.pickup-deadhead-btn--cancel{color:#6b7280}.pickup-deadhead-btn--edit{color:#374151}.pickup-deadhead-edit-row{display:inline-flex;align-items:center;gap:6px}.pickup-deadhead-input{width:80px;padding:3px 7px;border:1px solid #93c5fd;border-radius:5px;font-size:13px;font-variant-numeric:tabular-nums;outline:none;background:#fff}.pickup-deadhead-input:focus{border-color:var(--color-info);box-shadow:0 0 0 2px #3b82f626}.order-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.order-result-gps-info{font-size:13px;color:#198754;font-weight:500}.order-result-gps-block{display:flex;flex-direction:column;gap:6px}.order-result-gps-fuel{font-size:13px;color:#6c757d}.order-result-route-completion{margin-top:4px}.route-completion-warning{font-size:13px;color:#b45309;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;padding:6px 10px;margin-bottom:6px}.route-completion-points{display:flex;flex-direction:column;gap:4px}.route-completion-point{display:flex;align-items:center;gap:6px;font-size:13px}.route-completion-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#adb5bd}.route-completion-point.visited .route-completion-dot{background:#22c55e}.route-completion-point.not-visited .route-completion-dot{background:#ef4444}.route-completion-label{flex:1;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.route-completion-status{font-size:12px;font-weight:500;white-space:nowrap}.route-completion-status.ok{color:#22c55e}.route-completion-status.miss{color:#ef4444}.route-completion-status.unknown{color:#adb5bd}.route-completion-point-wrap{display:flex;flex-direction:column;gap:0}.route-visit-toggle-btn{background:none;border:none;padding:0;font-size:12px;font-weight:500;color:#0d6efd;cursor:pointer;white-space:nowrap}.route-visit-toggle-btn:hover{text-decoration:underline}.route-visits-list{margin:4px 0 4px 16px;display:flex;flex-direction:column;gap:4px}.route-visit-item{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px 8px;border-radius:6px;background:#f8f9fa;border:1px solid #e9ecef}.route-visit-item.selected{background:#e8f5e9;border-color:#a5d6a7}.route-visit-time{flex:1;color:#374151}.route-visit-dwell{color:#6b7280}.route-visit-select-btn{background:none;border:1px solid #0d6efd;color:#0d6efd;border-radius:4px;padding:2px 8px;font-size:11px;cursor:pointer;white-space:nowrap}.route-visit-select-btn:hover{background:#0d6efd;color:#fff}.route-visit-item.selected .route-visit-select-btn{border-color:#22c55e;color:#22c55e}.route-completion-status.skipped{color:#dc3545;font-weight:500}.route-completion-status.short-dwell{color:#d97706;font-weight:500}.route-completion-status.return-required{color:#f97316;font-weight:500}.route-completion-point.skipped .route-completion-dot{background:#dc3545}.route-completion-point.short-dwell .route-completion-dot{background:#d97706}.skip-dialog{max-width:460px}.skip-dialog h3{margin:0 0 12px;font-size:17px;color:#111827}.skip-dialog-desc{font-size:14px;color:#374151;margin:0 0 12px;line-height:1.5}.skip-dialog-question{font-size:15px;font-weight:600;color:#111827;margin:0 0 16px}.skip-dialog-confirm-btns{display:flex;gap:10px;flex-wrap:wrap}.skip-dialog-short-visit{font-size:13px;color:#374151;background:#f8f9fa;border-radius:6px;padding:6px 10px;margin-bottom:6px}.skip-dialog-options{display:flex;flex-direction:column;gap:10px;margin:0 0 20px}.skip-dialog-option{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;transition:border-color .15s}.skip-dialog-option:hover{border-color:#0d6efd}.skip-dialog-option input[type=radio]{margin-top:3px;flex-shrink:0;accent-color:#0d6efd}.skip-dialog-option span{display:flex;flex-direction:column;gap:2px}.skip-dialog-option strong{font-size:14px;color:#111827}.skip-dialog-option small{font-size:12px;color:#6b7280}.order-result-gps-error{font-size:13px;color:#dc3545}.order-result-hint-btn{margin-top:14px;padding:8px 16px;background:transparent;border:1px solid #0d6efd;color:#0d6efd;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s,color .2s}.order-result-hint-btn:hover{background:#0d6efd;color:#fff}.order-result-card-hint-only{display:flex;flex-direction:column;gap:10px}.order-result-no-data{margin:0;font-size:15px;color:#6c757d}.hint-modal .hint-block{margin-bottom:16px}.hint-modal .hint-block:last-of-type{margin-bottom:0}.hint-modal .hint-block strong{display:block;margin-bottom:6px;color:#212529}.hint-modal .hint-block p{margin:0 0 4px;font-size:13px;color:#6c757d}.hint-modal .hint-block ul{margin:0 0 0 18px;padding:0}.hint-modal .hint-block li{margin-bottom:2px;font-size:14px;color:#212529}.hint-modal .hint-block-tip{margin-top:8px;font-size:12px;color:#495057;background:#f8f9fa;border-left:3px solid #adb5bd;padding:6px 10px;border-radius:0 4px 4px 0}.order-detail-content{background:#fff;color:#212529;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.order-detail-page .info-section{padding:20px 24px;border-bottom:1px solid #dee2e6}.order-detail-page .info-section:last-child{border-bottom:none}.order-detail-page .info-section h2{margin:0 0 16px;font-size:18px;font-weight:600;color:#212529}.order-detail-page .info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px 24px}.order-detail-page .info-item{display:flex;flex-direction:column;gap:4px}.order-detail-page .info-item label{font-weight:500;color:#6c757d;font-size:13px}.order-detail-page .info-item span{color:#212529;font-size:15px}.order-detail-page .info-item-full{grid-column:1 / -1}.order-detail-page .order-profitability-section{background:#fbfcfd}.order-detail-page .order-profitability-note{margin:-4px 0 14px;color:#5f6b76;font-size:13px;line-height:1.35}.order-detail-page .order-profitability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 14px}.order-detail-page .order-profitability-item{min-width:0;padding:10px 12px;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.order-detail-page .order-profitability-item-accent{border-color:#bfd7ff;background:#f6f9ff}.order-detail-page .order-profitability-label{display:block;margin-bottom:4px;color:#6c757d;font-size:12px;font-weight:500;line-height:1.25}.order-detail-page .order-profitability-value{display:block;color:#212529;font-size:16px;font-weight:650;line-height:1.25;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.order-detail-page .order-profitability-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:14px}.order-detail-page .order-profitability-kpi{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0;padding:9px 12px;border-radius:6px;background:#eef5f0;color:#1f4d32}.order-detail-page .order-profitability-kpi span{min-width:0;font-size:13px;font-weight:600;line-height:1.25}.order-detail-page .order-profitability-kpi strong{min-width:0;font-size:17px;line-height:1.25;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.order-detail-page .order-profitability-warnings{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.order-detail-page .order-profitability-warning{max-width:100%;padding:4px 8px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:12px;line-height:1.25;overflow-wrap:anywhere}.route-points-list{display:flex;flex-direction:column;gap:10px}.route-point-item{display:flex;align-items:baseline;gap:12px;padding:10px 14px;background:#f8f9fa;border-radius:6px;border-left:3px solid #0d6efd}.route-point-num{flex-shrink:0;font-weight:600;color:#6c757d;font-size:13px}.route-point-value{color:#212529;font-size:15px}.route-point-detail-block{padding:12px 14px;background:#f8f9fa;border-radius:8px;border-left:3px solid #0d6efd;margin-bottom:10px}.route-point-detail-block .route-point-item{padding:0;background:none;border-left:none;margin-bottom:10px}.route-point-times{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}.route-time-row{display:flex;flex-direction:column;gap:2px}.route-time-label{font-size:12px;color:#6c757d;font-weight:500}.route-time-value{font-size:14px;color:#212529}.route-time-fact .route-time-value{color:#0d6efd;font-weight:500}.route-point-row-edit{display:flex;align-items:center;gap:10px;margin-bottom:10px}.route-point-canonical-hint{padding:0 0 6px}.route-point-row-edit .route-point-num{flex-shrink:0;width:70px;font-weight:600;color:#6c757d;font-size:13px}.route-point-input-edit{flex:1;padding:8px 10px;border:1px solid #dee2e6;border-radius:6px;font-size:14px}.route-address-locked{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;color:#212529;font-size:14px;line-height:1.45}.route-address-locked__text{min-width:0;overflow-wrap:anywhere}.route-address-locked__coords{flex-shrink:0;color:var(--color-success);font-weight:700}.btn-route-correct-sm{flex-shrink:0;padding:7px 10px;border:1px solid #c7d2fe;background:#eef2ff;color:#4338ca;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600}.btn-route-correct-sm:hover{background:#e0e7ff;border-color:#a5b4fc}.btn-route-remove-sm{flex-shrink:0;width:32px;height:32px;padding:0;border:1px solid #dee2e6;background:#fff;color:#6c757d;border-radius:6px;cursor:pointer;font-size:1.1rem;line-height:1}.btn-route-remove-sm:hover{background:#ffebee;color:#c62828;border-color:#fecaca}.route-time-edit{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.route-time-edit input[type=date],.route-time-edit input[type=time]{padding:6px 8px;border:1px solid #dee2e6;border-radius:4px;font-size:13px}.route-edit-actions{display:flex;gap:10px;margin-top:12px}.info-grid-editable input,.order-detail-page .info-section input[type=text],.order-detail-page .info-section input[type=number],.order-detail-page .info-section input[type=date],.order-detail-page .info-section input[type=time]{width:100%;max-width:240px;padding:8px 10px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;box-sizing:border-box}.info-grid-editable .info-item{min-width:0}.order-notes{margin:0 0 8px;color:#212529;font-size:14px}.order-notes.internal{color:#6c757d;font-style:italic}.order-detail-page .error-container{display:flex;flex-direction:column;gap:16px}.order-detail-page .error-message{padding:12px 16px;background:#ffebee;color:#c62828;border-radius:4px}.order-detail-page .btn{padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--color-border-light)}.order-detail-page .btn-secondary{background:linear-gradient(180deg,#fff,#f8f9fa);color:var(--color-text)}.order-detail-page .btn-secondary:hover{background:#fff}.checkpoints-table-wrap,.documents-table-wrap{overflow-x:auto}.checkpoints-table,.documents-table{width:100%;border-collapse:collapse;font-size:14px}.checkpoints-table th,.checkpoints-table td,.documents-table th,.documents-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #dee2e6;color:#212529}.checkpoints-table th,.documents-table th{font-weight:600;color:#495057;background:#f8f9fa}.documents-empty{margin:0;color:#6c757d;font-size:14px}.client-invoices-block{margin-top:18px;padding-top:16px;border-top:1px solid #e9ecef}.client-invoices-block h3{margin:0 0 12px;color:#212529;font-size:16px;font-weight:600}.client-invoices-table-wrap{margin-top:4px}.client-invoices-table td:last-child{white-space:nowrap}.client-invoice-number-link{color:var(--color-info-text);font-weight:600;text-decoration:none}.client-invoice-number-link:hover{text-decoration:underline}.client-invoice-kit-link{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;text-decoration:none}.section-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.order-detail-page .btn-sm{padding:6px 14px;font-size:13px}.order-payment-date-input{padding:8px 10px;border:1px solid #dee2e6;border-radius:4px;font-size:14px;max-width:160px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:24px;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:320px;max-width:90vw}.modal-content h3{margin:0 0 16px;font-size:20px;color:#212529}.modal-content .form-group{margin-bottom:14px}.modal-content .form-group label{display:block;font-weight:500;color:#495057;font-size:13px;margin-bottom:4px}.modal-content .form-group input{width:100%;padding:8px 10px;border:1px solid #dee2e6;border-radius:4px;font-size:14px;box-sizing:border-box}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.order-result-mileage-source{margin-top:18px;padding-top:14px;border-top:1px solid #e9ecef}.order-result-mileage-label{font-size:13px;font-weight:600;color:#495057;margin-bottom:8px;display:block}.order-result-mileage-options{display:flex;gap:6px;flex-wrap:wrap}.mileage-option{display:flex;align-items:center;gap:5px;padding:6px 14px;border:1px solid #dee2e6;border-radius:6px;font-size:13px;color:#495057;cursor:pointer;transition:all .15s;background:#fff}.mileage-option:hover{border-color:#0d6efd;color:#0d6efd}.mileage-option.active{background:#e7f1ff;border-color:#0d6efd;color:#0d6efd;font-weight:500}.mileage-option input[type=radio]{accent-color:#0d6efd;margin:0}.order-result-odometer{margin-top:14px;padding:14px 16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.odometer-fields{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-bottom:12px}.odometer-field{flex:1;min-width:180px}.odometer-field label{display:block;font-size:12px;font-weight:500;color:#6c757d;margin-bottom:4px}.odometer-input{width:100%;padding:8px 10px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;box-sizing:border-box;background:#fff;transition:border-color .15s}.odometer-input:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 2px #0d6efd26}.odometer-result{font-size:14px;color:#198754;padding:8px 0;flex-basis:100%}.order-result-manual-km{margin-top:14px;padding:14px 16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.order-result-manual-km .odometer-field{max-width:280px}.route-saved-info{display:flex;align-items:center;gap:12px;margin-top:10px;padding:8px 14px;background:#e7f1ff;border-radius:6px;font-size:14px;color:#0d6efd}.route-saved-label{font-weight:600;color:#495057}.route-saved-value{font-weight:500}.route-saved-geofence{display:flex;align-items:center;gap:4px;margin-left:auto;font-size:13px;color:#495057}.route-saved-geofence label{font-weight:500}.geofence-input{width:70px;padding:3px 6px;border:1px solid #dee2e6;border-radius:4px;font-size:13px;text-align:center}.checkpoint-facts-block{margin-top:8px;padding:10px 12px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px}.checkpoint-facts-no-data{padding:12px}.fact-empty-notice{color:#adb5bd;font-size:13px;font-style:italic}.fact-section{margin-bottom:12px}.fact-section:last-of-type{margin-bottom:6px}.fact-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.fact-label{font-weight:600;font-size:13px;color:#495057;min-width:90px}.fact-value{font-size:13px;font-weight:500;color:#212529}.fact-value-clickable{cursor:pointer;border-bottom:1px dashed #adb5bd;padding-bottom:1px}.fact-value-clickable:hover{color:#0d6efd}.fact-empty{color:#adb5bd;font-style:italic;font-weight:400}.fact-source-badge{display:inline-block;font-size:10px;font-weight:600;background:#d1e7dd;color:#0f5132;padding:1px 6px;border-radius:3px;margin-left:6px;vertical-align:middle}.fact-actions{display:flex;flex-direction:column;gap:5px;padding-left:12px;border-left:3px solid #dee2e6;margin-left:4px}.fact-action-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fact-action-label{font-size:12px;font-weight:600;color:#6c757d;min-width:65px}.fact-action-hint{opacity:.7}.fact-gps-hint{font-size:12px;color:#6c757d;font-style:italic}.btn-fact-now{padding:3px 12px;font-size:12px;font-weight:600;border:1px solid #198754;background:#d1e7dd;color:#0f5132;border-radius:5px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.btn-fact-now:hover{background:#198754;color:#fff}.fact-input{padding:3px 6px;font-size:12px;border:1px solid #dee2e6;border-radius:4px;max-width:130px;color:#212529;background:#fff}.btn-fact-save{padding:3px 10px;font-size:12px;font-weight:600;border:1px solid #0d6efd;background:#e7f1ff;color:#0d6efd;border-radius:5px;cursor:pointer;transition:background .15s,color .15s}.btn-fact-save:disabled{opacity:.4;cursor:not-allowed}.btn-fact-save:hover:not(:disabled){background:#0d6efd;color:#fff}.route-facts-list{margin-top:6px;padding:8px 10px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;font-size:12px}.route-facts-title{font-weight:600;color:#495057;margin-bottom:6px}.route-fact-item{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid #e9ecef;color:#212529}.route-fact-item:last-child{border-bottom:none}.route-fact-item.selected{font-weight:600}.route-fact-item-type{min-width:50px;color:#6c757d}.route-fact-item-time{flex:1}.route-fact-item-source{font-size:11px;font-weight:500;color:#0d6efd}.route-fact-item-badge{font-size:10px;background:#198754;color:#fff;padding:1px 6px;border-radius:3px}.btn-fact-select{font-size:11px;padding:1px 8px;border:1px solid #6c757d;background:#fff;color:#6c757d;border-radius:3px;cursor:pointer}.btn-fact-select:hover{background:#0d6efd;color:#fff;border-color:#0d6efd}.route-facts-empty{color:#adb5bd;font-style:italic}.cargo-fields{display:flex;flex-direction:column;gap:14px}.cargo-field{display:flex;flex-direction:column;gap:4px}.cargo-field>label{font-size:13px;font-weight:600;color:#495057}.cargo-field>input,.cargo-field>select{padding:7px 10px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;color:#212529;background:#fff;max-width:350px}.cargo-select-row{display:flex;align-items:center;gap:6px}.cargo-select-row select{flex:1;max-width:320px;padding:7px 10px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;color:#212529;background:#fff}.btn-dict-add{width:30px;height:30px;border:1px solid #0d6efd;background:#e7f1ff;color:#0d6efd;border-radius:6px;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;line-height:1}.btn-dict-add:hover{background:#0d6efd;color:#fff}.dict-add-row{display:flex;align-items:center;gap:6px;margin-top:4px}.dict-add-row input{flex:1;max-width:250px;padding:5px 8px;border:1px solid #dee2e6;border-radius:5px;font-size:13px;color:#212529}.btn-dict-save{padding:5px 12px;font-size:12px;font-weight:600;border:1px solid #198754;background:#d1e7dd;color:#0f5132;border-radius:5px;cursor:pointer;transition:background .15s,color .15s}.btn-dict-save:disabled{opacity:.4;cursor:not-allowed}.btn-dict-save:hover:not(:disabled){background:#198754;color:#fff}.assign-section h2{color:#212529}.assign-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.assign-row{display:flex;align-items:center;gap:10px}.assign-label{font-size:13px;font-weight:600;color:#6c757d;min-width:170px}.assign-value{font-size:14px;font-weight:500;color:#212529}.assign-status{text-transform:capitalize}.assign-actions{display:flex;gap:8px;margin-top:8px}.assign-edit{display:flex;flex-direction:column;gap:14px}.assign-field{display:flex;flex-direction:column;gap:4px}.assign-field>label{font-size:13px;font-weight:600;color:#495057}.assign-field>select{max-width:400px;padding:7px 10px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;color:#212529;background:#fff}.assign-combo-picker{width:400px;max-width:100%}.assign-combo{display:flex;align-items:center;gap:6px;width:100%;max-width:400px}.assign-combo-control{display:flex;width:100%;max-width:100%;border:1px solid #dee2e6;border-radius:6px;background:#fff;overflow:hidden}.assign-combo-field{flex:1;min-height:34px;padding:7px 10px;border:none;background:transparent;color:#212529;font-size:14px;text-align:left;cursor:pointer;line-height:1.25}.assign-combo-field span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assign-combo-field--selected{background:#fff}.assign-combo-placeholder{color:#6c757d}.assign-combo-arrow{width:34px;border:none;background:#fff;color:#212529;cursor:pointer;font-size:10px;line-height:1}.assign-combo-arrow:hover,.assign-combo-field:hover{background:#fff}.assign-dropdown{border:1px solid #dee2e6;border-radius:6px;background:#fff;box-shadow:0 4px 12px #00000014;width:100%;max-width:400px;max-height:360px;overflow-y:auto}.assign-dropdown-search{position:sticky;top:0;z-index:1;padding:8px;border-bottom:1px solid #e9ecef;background:#fff}.assign-dropdown-list{overflow:visible}.assign-dropdown-item{display:block;width:100%;padding:7px 10px;cursor:pointer;border-bottom:1px solid #f1f3f5;color:#212529;background:transparent;border-left:none;border-right:none;border-top:none;text-align:left;font-size:14px;line-height:1.25}.assign-dd-main{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left}.assign-dd-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:#64748b;width:100%;text-align:left}.assign-dropdown-empty{max-width:560px;padding:8px 10px;border:1px dashed #cbd5e1;border-radius:6px;color:#64748b;font-size:13px}.assign-selected{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#d1e7dd;border-radius:6px;font-size:14px;font-weight:500;color:#0f5132;max-width:400px}.assign-selected span{display:flex;flex-direction:column;gap:2px}.assign-selected small{font-size:12px;font-weight:400}.assign-trailer-stub{font-size:13px;color:#adb5bd;font-style:italic}.btn-danger{background:#f8d7da;color:#842029;border:1px solid #f5c2c7;border-radius:5px;padding:4px 12px;font-size:13px;cursor:pointer;transition:background .15s,color .15s}.btn-danger:hover{background:#dc3545;color:#fff}.route-point-detail-block .route-drag-handle{cursor:grab;font-size:20px;line-height:1;color:#9ca3af;padding:4px 6px;-webkit-user-select:none;user-select:none;flex-shrink:0;display:flex;align-items:center;border-radius:4px;transition:color .15s,background .15s}.route-point-detail-block .route-drag-handle:hover{color:#4b5563;background:#f3f4f6}.route-point-detail-block .route-drag-handle:active{cursor:grabbing}.route-point-detail-block.dragging{opacity:.5;border:2px dashed #6366f1;border-radius:8px}.wialon-resolve-msg{margin-top:8px;padding:6px 12px;border-radius:6px;font-size:.88rem;background:#f0fdf4;border:1px solid #86efac;color:#166534}.cp-status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-left:8px;vertical-align:middle;flex-shrink:0}.cp-status-delay{display:inline-block;margin-left:4px;font-size:.75rem;font-weight:600;color:#f97316;vertical-align:middle}.fact-compact-row{display:flex;align-items:center;gap:6px;padding:5px 0;flex-wrap:wrap}.fact-compact-icon{font-size:1rem;color:#6b7280;flex-shrink:0;width:16px;text-align:center}.fact-compact-label{font-size:.82rem;font-weight:600;color:#374151;min-width:48px;flex-shrink:0}.fact-compact-value{font-size:.85rem;color:var(--color-info-text);cursor:pointer;text-decoration:underline dotted;flex:1}.fact-compact-empty{font-size:.82rem;color:#9ca3af;font-style:italic;flex:1}.btn-fact-pill{font-size:.78rem;padding:3px 10px;background:#eff6ff;color:var(--color-info-text);border:1px solid #bfdbfe;border-radius:20px;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.btn-fact-pill:hover{background:#dbeafe}.btn-fact-manual-toggle{font-size:.76rem;padding:2px 8px;background:none;color:#6b7280;border:1px solid #d1d5db;border-radius:12px;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;flex-shrink:0}.btn-fact-manual-toggle:hover{color:#374151;border-color:#9ca3af}.fact-manual-row{display:flex;align-items:center;gap:6px;padding:4px 0 4px 22px;flex-wrap:wrap}.delay-badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:.78rem;font-weight:600}.delay-badge.delay-late{background:#fee2e2;color:#b91c1c}.delay-badge.delay-early{background:#dcfce7;color:#15803d}.delay-badge.delay-ok{background:#f3f4f6;color:#6b7280}.checkpoints-table-total td{font-weight:600;background:#f9fafb;border-top:2px solid #e5e7eb}.save-button-fixed-bottom{position:fixed;bottom:20px;right:20px;z-index:100;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 40px)}.btn-save-bottom{padding:12px 32px;font-size:16px;margin-left:0!important;white-space:normal;text-align:center;line-height:1.2}.toast-notification{position:fixed;top:80px;right:20px;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;z-index:1000;animation:slideIn .3s ease}.toast-notification.success{background:#4caf50;color:#fff}.toast-notification.error{background:#f44336;color:#fff}@media (max-width: 1100px){.order-detail-page{max-width:none;padding:16px 16px 96px}.order-detail-page .page-header{align-items:flex-start}.order-detail-page .header-actions{width:100%;justify-content:flex-start}.order-detail-page .header-actions .btn{flex:1 1 180px}.order-status-actions{align-items:stretch}.order-status-actions .btn{flex:1 1 180px}}@media (max-width: 720px){.order-detail-page{padding:12px 12px 118px}.order-detail-page .page-header h1{font-size:24px}.order-subtitle{align-items:flex-start;flex-direction:column;font-size:14px}.order-subtitle .waybill-select{width:100%}.order-detail-page .header-actions{gap:8px}.order-detail-page .header-actions .btn,.order-status-actions .btn{flex-basis:100%;padding:8px 12px}.order-status-actions{padding:12px}.order-status-actions-label{width:100%}.order-result-card{padding:16px}.order-result-top-row{gap:14px 24px}.order-result-big{flex:1 1 130px}.order-result-big-value{font-size:20px}.order-detail-content{border-radius:8px;overflow-x:auto}.order-detail-page .info-section{padding:16px}.save-button-fixed-bottom{left:12px;right:12px;bottom:12px;max-width:none;padding:10px;border-radius:12px;background:#fffffff5;border:1px solid #e5e7eb;box-shadow:0 8px 24px #00000029}.save-button-fixed-bottom .btn{flex:1 1 0;min-width:0}.btn-save-bottom{padding:10px 12px;font-size:14px}}@media (max-width: 520px){.order-result-table{min-width:560px}.modal-content{min-width:0;width:calc(100% - 24px);max-width:none;padding:20px;box-sizing:border-box}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:1 1 120px}}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.etrn-order-block{background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;padding:14px 16px;margin-top:12px}.etrn-order-block-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.etrn-order-block-id{font-weight:600;font-size:14px;color:#262626}.etrn-titles-mini{display:flex;align-items:center;gap:6px}.etrn-title-dot{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.etrn-title-dot.done{background:#52c41a;color:#fff}.etrn-title-dot.current{background:#1890ff;color:#fff}.etrn-title-dot.pending{background:#f0f0f0;color:#bfbfbf}.vehicle-archived-badge-sm{display:inline-block;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:600;background:#6c757d;color:#fff;border-radius:10px;vertical-align:middle}.hgv-departure-warning{grid-column:1 / -1;display:flex;align-items:flex-start;gap:8px;padding:10px 14px;margin:4px 0 6px;background:#fff8e1;border:1px solid #ffe082;border-left:4px solid var(--color-warning);border-radius:8px;font-size:13px;color:#78350f;line-height:1.45;box-shadow:0 1px 4px #f59e0b1f}.hgv-warning-icon{flex-shrink:0;font-size:15px;margin-top:1px}.offset-visit-alert{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;margin:6px 0 4px;background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid #f97316;border-radius:8px;font-size:13px;color:#7c2d12;line-height:1.45;box-shadow:0 1px 4px #f973161f}.offset-alert-icon{flex-shrink:0;font-size:15px;margin-top:1px;color:#f97316}.order-close-modal__description{font-size:13px;color:#555;margin-bottom:16px;line-height:1.5}.order-close-modal__loading{color:#888;font-size:14px;margin:12px 0}.order-close-modal__table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:12px}.order-close-modal__table td{padding:6px 10px;border-bottom:1px solid #f0f0f0}.order-close-modal__table td:first-child{color:#666;white-space:nowrap}.order-close-modal__table td:last-child{font-weight:500;text-align:right}.order-close-modal__warning{background:#fffbeb;border:1px solid #fcd34d;border-left:4px solid var(--color-warning);border-radius:6px;padding:8px 12px;font-size:13px;color:#78350f;margin-bottom:8px;line-height:1.45}.order-close-modal__error{background:#fef2f2;border:1px solid #fca5a5;border-left:4px solid #ef4444;border-radius:6px;padding:8px 12px;font-size:13px;color:#7f1d1d;margin-top:8px;line-height:1.45}.order-close-modal__validation-errors{background:#fef2f2;border:1px solid #fca5a5;border-left:4px solid #ef4444;border-radius:6px;padding:10px 14px;margin-bottom:12px}.order-close-modal__validation-errors-title{font-size:13px;font-weight:600;color:#7f1d1d;margin-bottom:6px;display:flex;align-items:center;gap:6px}.order-close-modal__validation-errors-title:before{content:"✕";font-size:12px;font-weight:700;color:#ef4444}.order-close-modal__validation-errors-list{margin:0;padding-left:18px;font-size:13px;color:#7f1d1d;line-height:1.6}.gps-block-overlay{z-index:2000;pointer-events:all}.gps-block-modal{max-width:440px;text-align:center;padding:32px 28px 28px;border-radius:16px;box-shadow:0 8px 40px #00000038;background:#fff;pointer-events:all}.gps-block-modal__icon{font-size:36px;line-height:1;margin-bottom:12px;color:var(--color-warning);filter:drop-shadow(0 2px 4px rgba(245,158,11,.25))}.gps-block-modal__title{margin:0 0 12px;font-size:19px;font-weight:700;color:#1a1a2e;letter-spacing:-.3px}.gps-block-modal__description{font-size:14px;color:#444;margin:0 0 10px;line-height:1.55}.gps-block-modal__hint{font-size:13px;color:#666;margin:0 0 24px;line-height:1.5;padding:10px 14px;background:#fffbeb;border:1px solid #fcd34d;border-left:4px solid var(--color-warning);border-radius:8px;text-align:left}.gps-block-modal__actions{display:flex;flex-direction:column;gap:10px}.gps-block-modal__btn-primary{width:100%;padding:12px 20px;font-size:15px;font-weight:600;border-radius:10px;background:linear-gradient(135deg,var(--color-info) 0%,var(--color-info-hover) 100%);color:#fff;border:none;cursor:pointer;box-shadow:0 2px 8px #2563eb40;transition:opacity .15s,transform .1s}.gps-block-modal__btn-primary:hover{opacity:.93;transform:translateY(-1px)}.gps-block-modal__btn-primary:active{transform:translateY(0)}.gps-block-modal__btn-snooze{width:100%;padding:10px 20px;font-size:14px;color:#555;background:#f4f5f7;border:1px solid #d1d5db;border-radius:10px;cursor:pointer;transition:background .15s}.gps-block-modal__btn-snooze:hover{background:#e9ebef}.inter-terminal-block{margin-top:16px;background:#f8f9fb;border:1px solid #e2e6ed;border-radius:10px;padding:14px 16px}.inter-terminal-header{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.inter-terminal-title{font-size:13px;font-weight:600;color:#374151;letter-spacing:.01em}.inter-terminal-zero-point{display:inline-flex;align-items:center;gap:4px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:500;color:var(--color-info-text);cursor:default}.inter-terminal-zero-point:before{content:"⊙";font-size:13px}.inter-terminal-pf-row{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}.inter-terminal-pf-cell{display:flex;flex-direction:column;gap:2px;min-width:90px}.inter-terminal-pf-label{font-size:11px;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;font-weight:500}.inter-terminal-pf-value{font-size:14px;font-weight:500;color:#1f2937}.inter-terminal-pf-calc-at{margin-left:auto}.inter-terminal-delta-neg{color:var(--color-danger)}.inter-terminal-delta-pos{color:var(--color-success)}.inter-terminal-no-data{font-size:13px;color:#9ca3af;margin:0 0 12px;font-style:italic}.inter-terminal-manual-section{border-top:1px solid #e5e7eb;padding-top:10px;display:flex;flex-direction:column;gap:8px}.inter-terminal-manual-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inter-terminal-manual-label{font-size:13px;color:#374151;font-weight:500;display:flex;align-items:center;gap:6px;white-space:nowrap}.inter-terminal-required-star{color:#ef4444;font-weight:700}.inter-terminal-manual-input{width:110px;padding:5px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#1f2937;background:#fff;outline:none;transition:border-color .15s}.inter-terminal-manual-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11f}.inter-terminal-manual-badge{display:inline-block;background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:500;color:#92400e}.inter-terminal-overridden{color:#b45309;font-weight:600}.inter-terminal-comment-row{display:flex;flex-direction:column;gap:4px}.inter-terminal-comment-input{width:100%;max-width:480px;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#1f2937;background:#fff;resize:vertical;outline:none;font-family:inherit;transition:border-color .15s;box-sizing:border-box}.inter-terminal-comment-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11f}.inter-terminal-comment-input.inter-terminal-comment-error{border-color:#ef4444;background:#fff5f5}.inter-terminal-comment-hint{font-size:12px;color:#ef4444;font-weight:500}.inter-terminal-header-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}.it-recalc-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:500;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:background .14s,border-color .14s,box-shadow .14s;line-height:1.5;white-space:nowrap}.it-recalc-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af;box-shadow:0 1px 3px #00000012}.it-recalc-btn:active:not(:disabled){background:#e5e7eb;box-shadow:none}.it-recalc-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes it-spin{to{transform:rotate(360deg)}}.it-recalc-spinner{display:inline-block;width:11px;height:11px;border:2px solid #d1d5db;border-top-color:#6366f1;border-radius:50%;animation:it-spin .7s linear infinite;flex-shrink:0}.inter-terminal-interval{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0 10px;font-size:12px;min-height:18px}.inter-terminal-interval-label{font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.inter-terminal-interval-value{color:#374151;font-variant-numeric:tabular-nums}.inter-terminal-interval-loading{color:#9ca3af;font-style:italic}.inter-terminal-interval-prev-link{color:#6366f1;font-weight:500;text-decoration:none;padding:1px 6px;border-radius:4px;background:#eef2ff;transition:background .13s;font-size:11px}.inter-terminal-interval-prev-link:hover{background:#e0e7ff;text-decoration:underline}.it-override-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.it-override-modal{background:#fff;border-radius:14px;padding:24px 28px;max-width:420px;width:100%;box-shadow:0 8px 40px #0000002e}.it-override-modal-title{font-size:15px;font-weight:700;color:#111827;margin:0 0 10px}.it-override-modal-body{font-size:14px;color:#374151;line-height:1.55;margin:0 0 20px}.it-override-modal-actions{display:flex;justify-content:flex-end;gap:10px}.it-override-modal-btn{padding:7px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:background .14s,box-shadow .14s}.it-override-modal-btn--cancel{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.it-override-modal-btn--cancel:hover{background:#e5e7eb}.it-override-modal-btn--confirm{background:#6366f1;color:#fff}.it-override-modal-btn--confirm:hover{background:#4f46e5;box-shadow:0 2px 8px #6366f14d}.tb-loading,.tb-error{font-size:13px;padding:8px 0;color:#6c757d}.tb-error{color:var(--color-danger)}.tb-groups{display:flex;flex-direction:column;gap:16px}.tb-point-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.tb-point-header{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:14px}.tb-point-index{font-weight:700;color:var(--color-info-text);background:#eff6ff;border-radius:4px;padding:2px 7px;font-size:12px}.tb-point-sep{color:#adb5bd;font-size:13px}.tb-point-address{font-weight:500;color:#212529}.tb-point-terminal{color:#374151;font-weight:600}.tb-point-tz{font-size:12px;color:#6c757d}.tb-autocancel-banner{display:flex;align-items:center;gap:10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:10px 14px;font-size:13px;color:#9a3412;flex-wrap:wrap}.tb-autocancel-icon{font-size:16px}.tb-active-booking{display:flex;flex-direction:column;gap:6px}.tb-active-slot{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.tb-active-label{font-size:13px;font-weight:600;color:#6c757d;white-space:nowrap}.tb-active-time{font-size:14px;font-weight:600;color:#15803d}.tb-active-note{display:flex;gap:6px;font-size:13px;color:#495057}.tb-active-note-label{font-weight:600;color:#6c757d;white-space:nowrap}.tb-active-note-text{color:#212529}.tb-active-actions{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}.tb-no-booking{display:flex;align-items:center;gap:12px;font-size:13px;color:#6c757d}.tb-no-booking-text{font-style:italic}.tb-history{margin-top:4px}.tb-history-summary{font-size:13px;font-weight:600;color:#6c757d;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.tb-history-summary:hover{color:#374151}.tb-history-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.tb-history-item{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-size:12px;color:#6c757d;border-left:3px solid #dee2e6;padding-left:10px}.tb-history-status{font-weight:700;font-size:11px;border-radius:4px;padding:1px 6px;text-transform:uppercase;letter-spacing:.04em}.tb-history-status--superseded{background:#fef3c7;color:#92400e}.tb-history-status--cancelled{background:#fee2e2;color:#991b1b}.tb-history-status--active{background:#dcfce7;color:#166534}.tb-history-time{color:#374151;font-weight:500}.tb-history-created{color:#9ca3af}.tb-history-note{color:#6b7280;font-style:italic;width:100%;padding-left:0}.slot-tz-hint{font-size:11px;color:#9ca3af;font-weight:400}.slot-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px}.slot-modal{background:#fff;border-radius:14px;box-shadow:0 8px 40px #0000002e;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.slot-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid #e9ecef}.slot-modal-title{margin:0;font-size:17px;font-weight:700;color:#212529}.slot-modal-close{background:none;border:none;font-size:22px;color:#6c757d;cursor:pointer;line-height:1;padding:0 4px;border-radius:4px;transition:color .14s}.slot-modal-close:hover{color:#212529}.slot-modal-body{padding:16px 20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px}.slot-modal-date-row{display:flex;align-items:center;gap:10px}.slot-modal-date-label{font-size:13px;font-weight:600;color:#374151;min-width:36px}.slot-modal-date-input{border:1px solid #d1d5db;border-radius:7px;padding:6px 10px;font-size:14px;color:#212529;outline:none;transition:border-color .14s}.slot-modal-date-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.slot-modal-loading{font-size:13px;color:#6c757d;padding:8px 0}.slot-modal-error{font-size:13px;color:var(--color-danger);background:#fee2e2;border-radius:7px;padding:8px 12px}.slot-modal-empty{font-size:13px;color:#6c757d;margin:0;padding:6px 0}.slot-grid{display:flex;flex-wrap:wrap;gap:8px}.slot-cell{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px;background:#fff;cursor:pointer;transition:border-color .14s,background .14s,box-shadow .14s;font-size:13px;min-width:80px}.slot-cell:hover:not(:disabled){border-color:#6366f1;background:#eef2ff;box-shadow:0 2px 6px #6366f11f}.slot-cell--selected{border-color:#6366f1;background:#eef2ff;box-shadow:0 2px 8px #6366f133}.slot-cell--occupied{background:#f3f4f6;border-color:#e5e7eb;cursor:not-allowed;opacity:.7}.slot-cell-time{font-weight:600;color:#212529;font-size:13px}.slot-cell--occupied .slot-cell-time{color:#9ca3af}.slot-cell-sep{color:#9ca3af;font-size:11px}.slot-cell-busy{font-size:10px;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.slot-modal-selected-info{font-size:14px;color:#374151;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:8px 12px}.slot-modal-note-row{display:flex;flex-direction:column;gap:4px}.slot-modal-note-label{font-size:13px;font-weight:600;color:#374151}.slot-modal-note-input{border:1px solid #d1d5db;border-radius:7px;padding:8px 10px;font-size:13px;color:#212529;resize:vertical;outline:none;transition:border-color .14s;font-family:inherit}.slot-modal-note-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.slot-modal-note-counter{font-size:11px;color:#9ca3af;text-align:right}.slot-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px 18px;border-top:1px solid #e9ecef}.slot-conflicts-badge-wrap{margin-bottom:12px}.slot-conflicts-badge{display:inline-flex;align-items:center;gap:6px;background:#fff7ed;border:1.5px solid #f97316;color:#9a3412;border-radius:20px;padding:5px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s;line-height:1.4}.slot-conflicts-badge:hover{background:#ffedd5}.slot-conflicts-badge:focus-visible{outline:2px solid #f97316;outline-offset:2px}.slot-conflicts-truncated{font-weight:400;font-size:11px;color:#c2410c}.slot-conflicts-list{list-style:none;margin:8px 0 0;padding:0 0 0 4px;display:flex;flex-direction:column;gap:4px}.slot-conflicts-list li{font-size:13px;color:#374151;padding:4px 10px;background:#fff7ed;border-left:3px solid #f97316;border-radius:0 6px 6px 0;line-height:1.5}.slot-pick-departure-wrap{margin-bottom:12px}.btn-spinner{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:detail-spin .6s linear infinite;vertical-align:middle;margin-right:6px;opacity:.7}.recalc-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.recalc-modal{background:#fff;border-radius:14px;box-shadow:0 8px 40px #0000002e;width:100%;max-width:480px;display:flex;flex-direction:column;overflow:hidden}.recalc-modal-header{padding:18px 20px 12px;border-bottom:1px solid #e9ecef}.recalc-modal-title{margin:0;font-size:17px;font-weight:700;color:#212529}.recalc-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:10px}.recalc-modal-recommendation{font-size:15px;color:#212529;margin:0}.recalc-modal-duration{font-size:14px;color:#495057;margin:0}.recalc-modal-no-slots{font-size:14px;color:#6c757d;margin:0}.recalc-modal-violations-title{font-size:13px;font-weight:600;color:#374151;margin:0 0 4px}.recalc-modal-truncated{font-size:12px;color:#9ca3af;margin:0}.recalc-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px 16px;border-top:1px solid #e9ecef}.leg-durations-section{margin:12px 0}.leg-durations-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:6px 0;font-size:13px;font-weight:600;color:#4a90d9;cursor:pointer;transition:color .15s}.leg-durations-toggle:hover{color:var(--color-info-hover)}.leg-durations-toggle:focus-visible{outline:2px solid #4a90d9;outline-offset:2px;border-radius:3px}.leg-durations-toggle-icon{font-size:10px}.leg-durations-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:13px;color:#374151}.leg-durations-table th,.leg-durations-table td{padding:6px 10px;text-align:left;border-bottom:1px solid #e9ecef;white-space:nowrap}.leg-durations-table th{font-weight:600;color:#6c757d;font-size:12px;background:#f8f9fa}.leg-durations-table tbody tr:hover{background:#f0f7ff}@media (max-width: 600px){.slot-conflicts-badge{font-size:12px;padding:4px 10px}.recalc-modal{max-width:100%;border-radius:12px 12px 0 0;margin-top:auto}.leg-durations-table{display:block;overflow-x:auto}}.terminal-point-block--edit{margin-top:8px;padding:10px 12px;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:8px;display:flex;flex-direction:column;gap:8px}.terminal-point-block--edit .terminal-point-name{display:flex;align-items:baseline;gap:6px}.terminal-point-block--edit .terminal-point-name-label{font-size:12px;color:#6b7280;flex-shrink:0}.terminal-point-block--edit .terminal-point-name-value{font-size:14px;font-weight:600;color:#1e3a5f}.terminal-point-block--edit .terminal-point-note-label,.terminal-point-block--edit .terminal-point-slot-label{display:block;font-size:12px;color:#4b5563;margin-bottom:3px}.terminal-point-block--edit .terminal-point-note-textarea{width:100%;box-sizing:border-box;padding:6px 8px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;resize:vertical;background:#fff;color:#111827;min-height:48px}.terminal-point-block--edit .terminal-point-note-textarea:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 2px #3b82f626}.terminal-point-block--edit .terminal-point-slot-select{width:100%;box-sizing:border-box;padding:6px 8px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#111827;cursor:pointer}.terminal-point-block--edit .terminal-point-slot-select:focus{outline:none;border-color:var(--color-info)}.terminal-point-block--edit .terminal-point-slot-tz{margin-top:3px;font-size:11px;color:#6b7280}.terminal-point-block--edit .terminal-point-slot-hint{margin-top:3px;font-size:11px;color:#9ca3af;font-style:italic}.via-points-block{margin:10px 0 4px;background:#f8fafd;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.via-points-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.via-points-title{font-size:12px;font-weight:600;color:#374151;display:flex;align-items:center;gap:6px}.via-points-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--color-info);color:#fff;border-radius:9px;font-size:11px;font-weight:700}.btn-via-toggle{background:none;border:none;padding:2px 6px;font-size:12px;color:var(--color-info);cursor:pointer;border-radius:4px;transition:background .15s;white-space:nowrap}.btn-via-toggle:hover{background:#eff6ff}.via-points-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.via-point-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#4b5563;padding:2px 0}.via-point-label{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:18px;padding:0 5px;background:#e0f2fe;color:#0369a1;border-radius:4px;font-size:11px;font-weight:600;flex-shrink:0}.via-point-coords{color:#6b7280;font-family:monospace;font-size:11px}.via-point-more{color:#6b7280;font-style:italic}.btn-via-toggle-inline{background:none;border:none;padding:0;font-size:12px;color:var(--color-info);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.overlap-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px}.overlap-modal-box{background:#fff;border-radius:14px;box-shadow:0 8px 40px #0000002e,0 2px 8px #00000014;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.overlap-modal-header{padding:24px 24px 16px;border-bottom:1px solid #e9ecef}.overlap-modal-title{margin:0 0 6px;font-size:18px;font-weight:700;color:#1a1a2e;letter-spacing:-.01em}.overlap-modal-subtitle{margin:0;font-size:13px;color:#6c757d;line-height:1.5}.overlap-modal-body{padding:16px 24px;overflow-y:auto;flex:1}.overlap-order-list{display:flex;flex-direction:column;gap:10px}.overlap-order-card{display:flex;align-items:flex-start;gap:12px;background:#f8f9fa;border:1px solid #e2e6ea;border-radius:10px;padding:12px 14px;transition:background .15s,box-shadow .15s,border-color .15s;cursor:default}.overlap-order-card:hover{background:#f1f3f5;border-color:#ced4da}.overlap-order-card.dragging{background:#e8f0fe;border-color:#4a90d9;box-shadow:0 4px 18px #4a90d938}.overlap-order-position{width:26px;height:26px;border-radius:50%;background:#4a90d9;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.overlap-order-drag-handle{font-size:20px;line-height:1;color:#adb5bd;cursor:grab;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0;margin-top:1px}.overlap-order-drag-handle:hover{color:#495057;background:#dee2e6}.overlap-order-drag-handle:active{cursor:grabbing}.overlap-order-info{flex:1;min-width:0}.overlap-order-number{font-size:14px;font-weight:600;color:#212529;margin-bottom:3px}.overlap-order-route{font-size:13px;color:#495057;margin-bottom:3px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.overlap-order-arrow{color:#adb5bd;flex-shrink:0}.overlap-order-origin,.overlap-order-dest{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.overlap-order-dates{font-size:12px;color:#868e96}.overlap-modal-error{margin:0 24px 4px;padding:10px 14px;background:#fff5f5;border:1px solid #ffc9c9;border-radius:8px;font-size:13px;color:#c92a2a;line-height:1.4}.overlap-modal-footer{padding:16px 24px 20px;border-top:1px solid #e9ecef;display:flex;flex-direction:column;gap:8px}.overlap-btn-confirm{width:100%;padding:11px 16px;font-size:14px;font-weight:600;border:none;border-radius:9px;background:#4a90d9;color:#fff;cursor:pointer;transition:background .15s,box-shadow .15s;letter-spacing:.01em}.overlap-btn-confirm:hover:not(:disabled){background:#3a7cc5;box-shadow:0 2px 8px #4a90d959}.overlap-btn-confirm:disabled{opacity:.6;cursor:not-allowed}.overlap-btn-dates{width:100%;padding:10px 16px;font-size:13px;font-weight:500;border:1px solid #ced4da;border-radius:9px;background:#fff;color:#495057;cursor:pointer;transition:background .15s,border-color .15s}.overlap-btn-dates:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd}.overlap-btn-dates:disabled{opacity:.6;cursor:not-allowed}.overlap-btn-cancel{width:100%;padding:10px 16px;font-size:13px;font-weight:500;border:1px solid #ffc9c9;border-radius:9px;background:#fff5f5;color:#c92a2a;cursor:pointer;transition:background .15s,border-color .15s}.overlap-btn-cancel:hover:not(:disabled){background:#ffe3e3;border-color:#ff8787}.overlap-btn-cancel:disabled{opacity:.6;cursor:not-allowed}.cpb-block{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid #e1e5ee;border-radius:8px;background:#fff}.cpb-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.cpb-header h3{margin:0;color:#1f2937;font-size:18px;font-weight:700}.cpb-loading,.cpb-hint{color:#667085;font-size:14px}.cpb-loading{white-space:nowrap}.cpb-hint{margin:0}.cpb-error{padding:10px 12px;border:1px solid #f5c2c7;border-radius:6px;background:#fff5f5;color:#842029;font-size:14px}.cpb-calculated-mode,.cpb-manual-mode{display:flex;flex-direction:column;gap:12px}.cpb-price-field{width:100%;min-height:56px;display:flex;align-items:center;padding:10px 12px;border:1px solid #d7dce6;border-radius:8px;background:#f8fafc;color:#111827;font-size:30px;font-weight:700;line-height:1.15}.cpb-warnings{display:flex;flex-wrap:wrap;gap:8px}.cpb-warning-pill{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid #ffc107;border-radius:999px;background:#fff8e1;color:#856404;font-size:13px;line-height:1.3}.cpb-action{align-self:flex-start}.cpb-manual-input{margin-bottom:0}.cpb-compare{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;color:#344054;font-size:14px}.cpb-delta{font-weight:700}.cpb-delta--positive{color:#2e7d32}.cpb-delta--negative{color:#ef6c00}@media (max-width: 640px){.cpb-block{padding:12px}.cpb-header{align-items:flex-start;flex-direction:column}.cpb-price-field{min-height:48px;font-size:24px}.cpb-action{width:100%}}.client-select{position:relative;flex:1;min-width:0}.client-select__trigger{display:flex;align-items:center;width:100%;min-height:38px;padding:6px 12px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;font-size:14px;color:#1a1a2e;cursor:pointer;text-align:left;gap:4px;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.client-select__trigger:hover{border-color:#adb5bd}.client-select--open .client-select__trigger,.client-select__trigger:focus{outline:none;border-color:#3f51b5;box-shadow:0 0 0 2px #3f51b526}.client-select--error .client-select__trigger{border-color:#e53935}.client-select__trigger--placeholder .client-select__trigger-text{color:#9ca3af}.client-select__trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-select__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:14px;line-height:1;color:#9ca3af;cursor:pointer;transition:background .1s,color .1s}.client-select__clear:hover{background:#f3f4f6;color:#374151}.client-select__arrow{flex-shrink:0;display:flex;align-items:center;color:#6b7280;transition:transform .15s}.client-select--open .client-select__arrow{transform:rotate(180deg)}.client-select__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:200;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001f,0 2px 6px #0000000f;overflow:hidden;display:flex;flex-direction:column;max-height:320px}.client-select__search-wrap{padding:8px 8px 6px;border-bottom:1px solid #f3f4f6;background:#fff;flex-shrink:0}.client-select__search{display:block;width:100%;padding:6px 10px 6px 30px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#1a1a2e;background:#f9fafb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat 9px center;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.client-select__search:focus{outline:none;border-color:#3f51b5;box-shadow:0 0 0 2px #3f51b51f;background-color:#fff}.client-select__search::placeholder{color:#9ca3af}.client-select__list{list-style:none;margin:0;padding:4px 0;overflow-y:auto;flex:1}.client-select__option{display:flex;flex-direction:column;padding:8px 12px;cursor:pointer;transition:background .1s;gap:1px}.client-select__option:hover{background:#f5f7ff}.client-select__option--highlighted,.client-select__option--selected{background:#eef0fd}.client-select__option--selected .client-select__option-name{color:#3f51b5}.client-select__option-name{font-size:14px;font-weight:500;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-select__option-inn{font-size:12px;color:#6b7280}.client-select__option-contact{font-size:12px;color:#9ca3af;font-style:italic}.client-select__empty{padding:12px 16px;font-size:14px;color:#9ca3af;text-align:center}.orrs-wrapper{display:flex;flex-direction:column;gap:10px}.orrs-row{display:flex;align-items:center;gap:8px}.orrs-select{flex:1 1 auto;min-width:0;width:100%}.orrs-add-btn{flex:0 0 auto;background:#667eea;color:#fff;border:none;border-radius:5px;padding:9px 14px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.orrs-add-btn:hover:not(:disabled){background:#5568d3}.orrs-add-btn:disabled{opacity:.6;cursor:not-allowed}.orrs-loading,.orrs-empty,.orrs-hint{font-size:14px;color:#666;margin:0;padding:8px 0}.orrs-loading{color:#888}.orrs-empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.orrs-modal{max-width:540px!important}@media (max-width: 640px){.orrs-row{align-items:stretch;flex-direction:column}.orrs-add-btn{width:100%}}.order-create-page{padding:2rem;max-width:1200px;margin:0 auto}.draft-restore-banner{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;margin-bottom:1rem;background:#fff9e6;border:1px solid #f5c842;border-radius:8px;box-shadow:0 1px 3px #f5c84226}.draft-restore-banner__text{flex:1;font-size:.875rem;color:#6b4f00}.draft-restore-banner__clear{flex-shrink:0;padding:.25rem .75rem;font-size:.8125rem;border:1px solid #c9a93a;border-radius:6px;background:#fff3cc;color:#6b4f00;cursor:pointer;transition:background .15s,border-color .15s}.draft-restore-banner__clear:hover{background:#ffe999;border-color:#b8922e}.order-create-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.order-create-page .page-header h1{margin:0;font-size:1.75rem;color:#1a1a1a}.order-form{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.order-form .form-section{padding:1.5rem;border-bottom:1px solid #e5e7eb}.order-form .form-section:last-child{border-bottom:none}.order-form .form-section h2{margin:0 0 1rem;font-size:1.125rem;color:#374151;font-weight:600}.order-form .form-group{margin-bottom:1rem}.order-form .form-group:last-child{margin-bottom:0}.order-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.order-form .form-hint--warning{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:6px 10px;margin-top:4px;font-size:13px}.form-hint{margin:.75rem 0 1rem;font-size:.8125rem;color:#6b7280}.order-form .form-group input,.order-form .form-group select,.order-form .form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s}.order-form .form-group input:focus,.order-form .form-group select:focus,.order-form .form-group textarea:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61a}.order-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.route-points{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1rem}.route-point-block{padding:.875rem 1rem 1rem;background:var(--color-surface);border-radius:12px;border:none;box-shadow:0 1px 3px #00000012,0 4px 14px #0000000d;min-width:0}.route-point-header{display:flex;align-items:center;gap:6px;margin-bottom:.625rem}.route-point-header-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.btn-check-request{display:inline-flex;align-items:center;gap:3px;padding:2px 9px;font-size:.75rem;font-weight:500;color:var(--color-info-hover);background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}.btn-check-request:hover{background:#dbeafe;border-color:#93c5fd;color:var(--color-info-text)}.btn-check-request:active{background:#bfdbfe}.btn-map-picker--inline{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;font-size:.875rem;background:transparent;border:1px solid #d1d5db;border-radius:50%;cursor:pointer;line-height:1;flex-shrink:0;transition:background .15s,border-color .15s}.btn-map-picker--inline:hover{background:#f0f9ff;border-color:#93c5fd}.route-point-label{font-size:.875rem;font-weight:500;letter-spacing:0;text-transform:none;color:#374151;line-height:1;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.route-point-role-badge{display:inline-flex;align-items:center;font-size:.6875rem;font-weight:500;padding:2px 7px;border-radius:10px;background:var(--color-primary-light, #eff6ff);color:var(--color-primary, var(--color-info-hover));border:1px solid var(--color-primary-border, #bfdbfe);white-space:nowrap;line-height:1.4}.route-point-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:0;margin-bottom:0}.route-point-left{flex:1 1 200px;min-width:200px;display:flex;flex-direction:column;gap:4px;padding-right:1rem}.route-point-left .route-point-input{margin-bottom:0}.route-point-coords-info{font-size:11px;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;letter-spacing:.02em;padding:0}.route-point-right{flex:0 0 auto;min-width:0;border-left:1px solid var(--color-border-light);padding-left:1rem;overflow:hidden}.route-point-plan{margin-left:0;padding-left:0}.route-point-no-coords-warning{margin:0;padding:.4rem .625rem;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;font-size:.75rem;color:#92400e;line-height:1.4}.plan-grid{display:flex;gap:.5rem;align-items:flex-start}.plan-grid-col{display:flex;flex-direction:column;gap:.375rem;min-width:0}.plan-grid-col--dates{width:130px;flex-shrink:0}.plan-grid-col--times{width:88px;flex-shrink:0}.plan-grid .form-group{margin-bottom:0;min-width:0}.plan-grid .form-group label{font-size:.6875rem;font-weight:400;letter-spacing:0;text-transform:none;color:#6b7280;margin-bottom:2px;display:block;line-height:1.2;white-space:normal}.plan-grid input,.plan-grid .date-input-wrapper input{font-size:.8125rem!important;padding:3px 6px!important;height:26px!important;line-height:1!important;box-sizing:border-box;width:100%}.plan-grid .date-input-calendar-btn{width:22px;height:22px}.plan-grid .date-input-wrapper{width:100%}.route-point-plan .form-row{display:flex;flex-wrap:nowrap;gap:.5rem;margin-bottom:.375rem;align-items:flex-start}.route-point-plan .form-row .form-group{flex:0 0 auto;min-width:0;margin-bottom:0}.route-point-plan .form-row:last-child{margin-bottom:0}.route-point-plan label,.route-point-plan .form-group label{font-size:.8125rem;font-weight:400;letter-spacing:0;text-transform:none;color:#374151;margin-bottom:2px}.route-point-plan input,.route-point-plan .date-input-wrapper input,.order-form .form-group .route-point-plan input,.order-form .form-group .route-point-plan .date-input-wrapper input{font-size:.8125rem!important;color:#374151;background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;padding:4px 6px!important;height:auto!important;width:100%;box-sizing:border-box;line-height:1.4}.route-point-plan .date-input-wrapper{width:100%}@media (max-width: 560px){.route-point-left{flex:1 1 100%;min-width:0;padding-right:0;padding-bottom:.75rem}.route-point-right{flex:1 1 100%;border-left:none;border-top:1px solid var(--color-border-light);padding-left:0;padding-top:.75rem;overflow:visible}}.btn-route-remove{flex-shrink:0;width:40px;height:40px;padding:0;border:1px solid #d1d5db;background:#fff;display:none;color:#6b7280;border-radius:6px;font-size:1.25rem;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.btn-route-remove:hover{background:#fef2f2;border-color:#fecaca;color:var(--color-danger)}.btn-route-remove--inline{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;margin-left:auto;border:1px solid #d1d5db;border-radius:50%;background:#fff;color:#9ca3af;font-size:1rem;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,color .2s;flex-shrink:0}.btn-route-remove--inline:hover{background:#fef2f2;border-color:#fecaca;color:var(--color-danger)}.btn-route-add{padding:.5rem 1rem;margin-bottom:1rem;border:1px dashed #d1d5db;background:#f9fafb;color:#374151;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.btn-route-add:hover{background:#f3f4f6;border-color:#9ca3af}.via-points-section{display:flex;flex-direction:column;gap:4px;padding:4px 0 4px 32px;margin:2px 0 4px}.via-point-row{display:flex;align-items:center;gap:8px;padding:4px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:.8125rem;color:#64748b}.via-point-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:1px 5px;background:#e2e8f0;color:#475569;border-radius:10px;font-size:.7rem;font-weight:600;letter-spacing:.02em;flex-shrink:0;font-family:monospace}.via-point-coords{flex:1;font-family:monospace;font-size:.75rem;color:#64748b}.via-point-remove{background:none;border:none;color:#cbd5e1;cursor:pointer;font-size:18px;line-height:1;padding:0 2px;border-radius:3px;transition:color .15s,background .15s;flex-shrink:0}.via-point-remove:hover{color:#ef4444;background:#fee2e2}.btn-via-add{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px dashed #cbd5e1;background:transparent;color:#94a3b8;border-radius:5px;font-size:.78125rem;cursor:pointer;transition:color .15s,border-color .15s,background .15s;align-self:flex-start}.btn-via-add:hover{color:#475569;border-color:#94a3b8;background:#f1f5f9}.via-limit-note{font-size:.75rem;color:#94a3b8;padding:2px 0}.via-input-form{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px}.via-input-label{font-size:.75rem;font-weight:600;color:#475569;font-family:monospace}.via-input-row{display:flex;gap:6px;align-items:center}.via-input-field{flex:1;padding:4px 8px;border:1px solid #d1d5db;border-radius:5px;font-size:.8125rem;font-family:monospace;background:#fff;color:#1f2937;transition:border-color .15s}.via-input-field:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f11f}.via-input-map-btn{background:#f1f5f9;border:1px solid #d1d5db;border-radius:5px;padding:4px 8px;cursor:pointer;font-size:.875rem;transition:background .15s;flex-shrink:0}.via-input-map-btn:hover{background:#e2e8f0}.via-input-error{font-size:.75rem;color:#ef4444;padding:2px 0}.via-input-actions{display:flex;gap:6px}.via-input-confirm{padding:4px 14px;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s}.via-input-confirm:hover{background:#4338ca}.via-input-cancel{padding:4px 10px;background:none;border:1px solid #d1d5db;color:#6b7280;border-radius:6px;font-size:.8125rem;cursor:pointer;transition:border-color .15s}.via-input-cancel:hover{border-color:#9ca3af;color:#374151}.via-drag-handle{cursor:grab;font-size:14px;color:#cbd5e1;flex-shrink:0;-webkit-user-select:none;user-select:none;padding:0 2px;border-radius:3px;transition:color .15s}.via-drag-handle:hover{color:#64748b}.via-drag-handle:active{cursor:grabbing}.via-drag-overlay{box-shadow:0 4px 16px #0000002e;opacity:.92;background:#fff;border:1.5px solid #6366f1;cursor:grabbing}.via-drop-zone{padding:6px 10px;border:1.5px dashed #cbd5e1;border-radius:6px;text-align:center;font-size:.75rem;color:#94a3b8;background:#f8fafc;transition:background .15s,border-color .15s,color .15s}.via-drop-zone--over{border-color:#6366f1;background:#ede9fe;color:#4f46e5;font-weight:500}.via-delete-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:10000;display:flex;align-items:center;justify-content:center;animation:via-overlay-in .15s ease}@keyframes via-overlay-in{0%{opacity:0}to{opacity:1}}.via-delete-dialog{background:#fffffffa;border-radius:14px;box-shadow:0 8px 40px #00000038,0 2px 8px #00000014;padding:24px 24px 16px;max-width:320px;width:100%;animation:via-dialog-in .18s ease}@keyframes via-dialog-in{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.via-delete-title{font-size:1rem;font-weight:600;color:#111827;margin-bottom:8px;text-align:center}.via-delete-body{font-size:.875rem;color:#6b7280;text-align:center;margin-bottom:20px;line-height:1.5}.via-delete-body strong{color:#374151;font-family:monospace}.via-delete-actions{display:flex;gap:8px}.via-delete-cancel{flex:1;padding:9px;background:#f3f4f6;border:none;border-radius:9px;font-size:.9375rem;font-weight:500;color:#374151;cursor:pointer;transition:background .15s}.via-delete-cancel:hover{background:#e5e7eb}.via-delete-confirm{flex:1;padding:9px;background:#ef4444;border:none;border-radius:9px;font-size:.9375rem;font-weight:600;color:#fff;cursor:pointer;transition:background .15s}.via-delete-confirm:hover{background:var(--color-danger)}.order-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 8px 8px}.assign-search-wrap{position:relative;max-width:400px}.assign-search-input{width:100%;padding:7px 10px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;color:#212529}.assign-search-spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#adb5bd;font-size:13px}.assign-dropdown{border:1px solid #dee2e6;border-radius:6px;background:#fff;max-height:200px;overflow-y:auto;box-shadow:0 4px 12px #00000014;max-width:400px;margin-top:4px}.assign-dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-bottom:1px solid #f1f3f5;color:#212529}.assign-dropdown-item:last-child{border-bottom:none}.assign-dropdown-item:hover{background:#e7f1ff}.assign-dd-plate{font-weight:700;font-size:14px;min-width:100px}.assign-dd-info{font-size:13px;color:#6c757d}.assign-selected{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#d1e7dd;border-radius:6px;font-size:14px;font-weight:500;color:#0f5132;max-width:400px;margin-top:4px}.btn-assign-clear{border:none;background:transparent;font-size:18px;color:#6c757d;cursor:pointer;line-height:1;padding:0 4px}.btn-assign-clear:hover{color:#dc3545}.route-drag-handle{cursor:grab;font-size:13px;line-height:1;color:var(--color-text-tertiary);padding:2px 4px;-webkit-user-select:none;user-select:none;flex-shrink:0;display:flex;align-items:center;border-radius:4px;transition:color .15s,background .15s}.route-drag-handle:hover{color:#4b5563;background:#f3f4f6}.route-drag-handle:active{cursor:grabbing}.route-point-block.dragging,.route-point-detail-block.dragging{opacity:.5;border:2px dashed #6366f1;border-radius:8px}.route-reorder-warning{background:#fef3c7;border:1px solid var(--color-warning);border-radius:6px;padding:8px 14px;color:#92400e;font-size:.9rem;margin-top:8px;margin-bottom:4px}.container-toggle-row{padding:12px 24px;background:#f0f4ff;border-bottom:1px solid #dbe4ff;border-top:1px solid #dbe4ff}.container-toggle-label{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.9rem;color:var(--color-info-text);cursor:pointer;-webkit-user-select:none;user-select:none}.container-toggle-label input[type=checkbox]{width:17px;height:17px;accent-color:var(--color-info);cursor:pointer;flex-shrink:0}.collapsible-section{padding-bottom:0}.collapsible-header{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:0 0 .75rem;cursor:pointer;font-size:1.125rem;font-weight:600;color:var(--color-info-text);text-align:left;transition:color .15s}.collapsible-header:hover{color:#1e40af}.collapsible-chevron{font-size:1.1rem;color:#6b7280;line-height:1;flex-shrink:0;transition:color .15s}.collapsible-header:hover .collapsible-chevron{color:var(--color-info-text)}.collapsible-body{padding-top:.25rem;padding-bottom:.5rem}.order-type-segmented{display:inline-flex;background:#f0f0f5;border-radius:10px;padding:3px;margin-bottom:1.5rem;box-shadow:inset 0 1px 3px #0000001f}.order-type-segment{padding:7px 22px;border:none;background:transparent;border-radius:8px;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;white-space:nowrap;-webkit-user-select:none;user-select:none}.order-type-segment.active{background:#fff;color:#1a1a1a;box-shadow:0 1px 4px #0000002e,0 .5px 1px #00000014}.order-type-segment:not(.active):hover{color:#374151;background:#ffffff80}.form-section--container{border-left:3px solid var(--color-info);background:#f8faff}.form-section--container h2{color:var(--color-info-text)}.input-readonly{background:#f3f4f6!important;color:#6b7280!important;cursor:default!important}.form-group--checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#374151}.form-group--checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-info)}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-dialog{background:#fff;border-radius:14px;padding:28px 32px 24px;max-width:400px;width:calc(100% - 32px);box-shadow:0 8px 32px #0000002e}.confirm-dialog-title{margin:0 0 10px;font-size:1.1rem;font-weight:700;color:#111827}.confirm-dialog-text{margin:0 0 24px;font-size:.95rem;color:#6b7280;line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.btn-danger{background:#ef4444;color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.client-stats-card{margin:0 0 12px;background:#f5f5f7;border-radius:10px;padding:10px 14px}.client-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px 16px}.client-stats-item{display:flex;flex-direction:column;gap:1px}.client-stats-label{font-size:11px;color:#8e8e93;line-height:1.3}.client-stats-value{font-size:13px;font-weight:500;color:#1c1c1e;line-height:1.4}.client-stats-skeleton{display:flex;gap:12px}.client-stats-skeleton span{flex:1;height:28px;background:linear-gradient(90deg,#e5e5ea 25%,#d1d1d6,#e5e5ea 75%);background-size:200% 100%;border-radius:6px;animation:stats-shimmer 1.4s infinite}@keyframes stats-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.container-validation-ok,.container-validation-error{margin-top:4px;font-size:12px;line-height:1.4}.container-validation-ok{color:#4caf50}.container-validation-error{color:#f44336}.container-validation-loading{color:#888}.container-validation-size{color:#1976d2}.container-validation-notfound{color:#888}.container-validation-mismatch{margin-top:4px;font-size:12px;line-height:1.4;color:#e65100;background:#fff3e0;border:1px solid #ffb74d;border-radius:4px;padding:4px 8px}.multi-trip-toggle-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;background:#f0f4ff;border:1px solid #c5d3f5;border-radius:8px}.multi-trip-toggle-label{display:flex;align-items:center;gap:8px;font-weight:600;color:#1a237e;cursor:pointer;white-space:nowrap}.multi-trip-toggle-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.multi-trip-toggle-hint{font-size:12px;color:#5c6bc0}.multi-trip-containers-block{margin-top:16px;padding:16px;background:#f8f9ff;border:1px solid #c5d3f5;border-radius:8px}.multi-trip-containers-title{font-size:14px;font-weight:600;color:#1a237e;margin:0 0 12px}.multi-trip-container-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.multi-trip-trip-label{font-size:13px;color:#555;white-space:nowrap;min-width:50px}.multi-trip-container-input{flex:1;max-width:220px;padding:7px 10px;border:1px solid #c5d3f5;border-radius:6px;font-size:14px;font-family:monospace;letter-spacing:1px}.multi-trip-container-input:focus{outline:none;border-color:#3f51b5;box-shadow:0 0 0 2px #3f51b526}.multi-trip-remove-btn{width:28px;height:28px;border:1px solid #ef9a9a;background:#fff;color:#c62828;border-radius:6px;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.multi-trip-remove-btn:hover:not(:disabled){background:#ffebee}.multi-trip-remove-btn:disabled{opacity:.35;cursor:not-allowed}.multi-trip-add-btn{margin-top:8px}.select-with-action{display:flex;gap:8px;align-items:stretch}.select-with-action select{flex:1;min-width:0}.btn-add-inline{flex-shrink:0;padding:0 14px;height:38px;border:1px solid #3f51b5;background:#fff;color:#3f51b5;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s;line-height:1}.btn-add-inline:hover{background:#3f51b5;color:#fff;box-shadow:0 2px 6px #3f51b540}.btn-add-inline:active{background:#303f9f;color:#fff}.empty-source-card{background:#f8f9fa;border:1.5px dashed #c9cdd4;border-radius:10px;padding:14px 16px 10px;margin-bottom:14px}.empty-source-label{font-size:12px;font-weight:600;color:#6b7280;letter-spacing:.03em;text-transform:uppercase;margin-bottom:8px}.empty-source-hint{font-size:11.5px;color:#9ca3af;margin-top:6px;line-height:1.4}.manual-pickup-row{display:flex;align-items:center;gap:10px;margin-top:10px;padding:8px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.manual-pickup-label{display:flex;flex-direction:column;font-size:13px;font-weight:500;color:#374151;flex:1}.manual-pickup-hint{font-size:11px;font-weight:400;color:#9ca3af;margin-top:1px}.manual-pickup-input{width:90px;padding:5px 9px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-variant-numeric:tabular-nums;background:#fff;outline:none}.manual-pickup-input:focus{border-color:var(--color-info);box-shadow:0 0 0 2px #3b82f61f}.route-exception-banner{background:#fffbeb;border:1.5px solid var(--color-warning);border-radius:8px;padding:12px 14px;margin-top:8px}.route-exception-banner-title{font-size:13px;font-weight:600;color:#92400e;margin-bottom:8px}.route-exception-confirm-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#78350f;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:8px}.route-exception-confirm-label input[type=checkbox]{width:15px;height:15px;flex-shrink:0;cursor:pointer}.route-exception-comment{width:100%;max-height:100px;min-height:60px;border:1px solid var(--color-warning);border-radius:6px;padding:8px 10px;font-size:13px;color:#374151;background:#fff;resize:vertical;box-sizing:border-box;font-family:inherit;line-height:1.5}.route-exception-comment:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 2px #f59e0b33}.route-point-stopover{display:flex;align-items:center;gap:8px;margin-top:6px}.route-point-stopover-label{font-size:12px;font-weight:500;color:#6b7280;white-space:nowrap;flex-shrink:0}.route-point-stopover-input{width:72px;padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#374151;background:#fff;text-align:right;-moz-appearance:textfield;transition:border-color .15s,box-shadow .15s}.route-point-stopover-input::-webkit-outer-spin-button,.route-point-stopover-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.route-point-stopover-input:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 2px #3b82f626}.empty-source-marker{width:14px;height:14px;border-radius:50%;background:#9ca3af;border:2px solid #6b7280;box-shadow:0 1px 3px #0003}.economics-preview-section{background:#f8fafc}.economics-preview-section h2{display:flex;align-items:center;gap:8px}.economics-preview-badge{font-size:11px;font-weight:500;color:#6b7280;background:#e5e7eb;border-radius:10px;padding:2px 8px;letter-spacing:.01em}.economics-preview-subtitle{margin:-.25rem 0 1rem;font-size:12px;color:#9ca3af;line-height:1.5}.economics-preview-rows{display:flex;flex-direction:column;gap:6px}.economics-preview-row{display:flex;align-items:baseline;gap:12px}.economics-preview-label{min-width:130px;font-size:13px;color:#6b7280;flex-shrink:0}.economics-preview-value{font-size:15px;font-weight:600;color:#1d2939;font-variant-numeric:tabular-nums}.economics-preview-hint{font-size:12px;color:#9ca3af;font-style:italic}@media (max-width: 720px){.economics-preview-row{flex-direction:column;gap:2px}.economics-preview-label{min-width:unset}}@media (max-width: 720px){.order-create-page{padding:1rem 1rem calc(5.5rem + env(safe-area-inset-bottom,0px))}.order-form .form-row{grid-template-columns:1fr}.order-create-page .page-header{flex-direction:column;align-items:flex-start;gap:1rem}.order-form .form-actions{position:sticky;bottom:0;z-index:20;flex-wrap:wrap;gap:.75rem;margin:0 -1rem -1rem;padding:.875rem 1rem calc(.875rem + env(safe-area-inset-bottom,0px));border-radius:0;box-shadow:0 -8px 24px #0f172a1f}.order-form .form-actions .btn{flex:1 1 136px;min-height:42px}}.terminal-point-block{margin-top:10px;padding:10px 12px;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:8px;display:flex;flex-direction:column;gap:8px}.terminal-point-name{display:flex;align-items:baseline;gap:6px}.terminal-point-name-label{font-size:12px;color:#6b7280;flex-shrink:0}.terminal-point-name-value{font-size:14px;font-weight:600;color:#1e3a5f}.terminal-point-note-label,.terminal-point-slot-label{display:block;font-size:12px;color:#4b5563;margin-bottom:3px}.terminal-point-note-textarea{width:100%;box-sizing:border-box;padding:6px 8px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;resize:vertical;background:#fff;color:#111827;min-height:48px}.terminal-point-note-textarea:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 2px #3b82f626}.terminal-point-slot-select{width:100%;box-sizing:border-box;padding:6px 8px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#111827;cursor:pointer}.terminal-point-slot-select:focus{outline:none;border-color:var(--color-info)}.terminal-point-slot-tz{margin-top:3px;font-size:11px;color:#6b7280}.terminal-point-slot-hint{margin-top:3px;font-size:11px;color:#9ca3af;font-style:italic}.via-add-row{display:flex;align-items:center;gap:6px}.via-help-wrap{position:relative;display:inline-flex;align-items:center}.via-help-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1.5px solid #93c5fd;background:#eff6ff;color:var(--color-info);font-size:11px;font-weight:700;cursor:pointer;line-height:1;padding:0;flex-shrink:0;transition:background .15s,border-color .15s}.via-help-btn:hover{background:#dbeafe;border-color:var(--color-info)}.via-help-popover{position:absolute;left:24px;bottom:0;z-index:200;background:#1e293b;color:#f1f5f9;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.55;width:270px;box-shadow:0 4px 16px #00000038;pointer-events:auto}.via-help-popover strong{color:#7dd3fc}.via-help-close{display:block;margin-top:8px;padding:4px 10px;background:#334155;border:none;border-radius:5px;color:#e2e8f0;font-size:11px;cursor:pointer;transition:background .15s}.via-help-close:hover{background:#475569}.assignments-list-page{padding:2rem}.assignments-list-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.assignments-list-page .page-header h1{margin:0;font-size:1.75rem;color:#1a1a1a}.assignments-list-loading{padding:2rem;text-align:center;color:#6b7280}.assignments-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto;overflow-y:hidden}.assignments-mobile-list{display:none}.assignments-table{width:100%;border-collapse:collapse;min-width:760px}.assignments-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.875rem;color:#374151;text-transform:uppercase;letter-spacing:.05em}.assignments-table td{padding:1rem;border-bottom:1px solid #e5e7eb;font-size:.875rem;color:#1f2937}.assignments-table tbody tr:hover{background:#f9fafb}.road-train-cell{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px}.road-train-sep{color:#6b7280;font-size:.8em}.link-button{background:none;border:none;color:var(--color-info);cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.link-button:hover{color:var(--color-info-hover)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge.status-pending{background:#fef3c7;color:#92400e}.status-badge.status-completed{background:#dbeafe;color:#1e40af}.status-badge.status-cancelled{background:#fee2e2;color:#991b1b}.empty-state p{margin:0 0 1.5rem;color:#6b7280;font-size:1rem}@media (max-width: 720px){.assignments-list-page{padding:1rem}.assignments-list-page .page-header{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:1rem}.assignments-list-page .page-header h1{font-size:1.5rem;line-height:1.2}.assignments-list-page .page-header .btn{width:100%}.assignments-table-container{display:none}.assignments-mobile-list{display:flex;flex-direction:column;gap:12px}.assignment-mobile-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0f172a14;cursor:pointer;padding:14px}.assignment-mobile-card:active{transform:scale(.995)}.assignment-mobile-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #f1f3f5}.assignment-mobile-card__title{display:flex;flex-direction:column;gap:4px;min-width:0}.assignment-mobile-card__title strong{color:#1f2937;font-size:16px;line-height:1.25;overflow-wrap:anywhere}.assignment-mobile-card .status-badge{flex-shrink:0;max-width:42%;text-align:center;white-space:normal;line-height:1.2}.assignment-mobile-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:12px 0}.assignment-mobile-card__meta div{min-width:0}.assignment-mobile-card__meta dt{color:#8b95a1;font-size:10px;font-weight:700;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.assignment-mobile-card__meta dd{color:#1f2937;font-size:13px;margin:0;overflow-wrap:anywhere}.assignment-mobile-card__actions{display:flex;justify-content:flex-start}.assignment-mobile-card__actions .btn{min-height:36px;width:auto}}@media (max-width: 720px) and (orientation: landscape){.assignments-list-page{padding:.75rem}.assignments-list-page .page-header{align-items:center;flex-direction:row;gap:10px;margin-bottom:.75rem}.assignments-list-page .page-header h1{font-size:1.35rem}.assignments-list-page .page-header .btn{width:auto;min-height:34px;padding:6px 10px}.assignments-mobile-list{gap:8px}.assignment-mobile-card{padding:10px}.assignment-mobile-card__header{padding-bottom:8px}.assignment-mobile-card__meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0}.assignment-mobile-card__actions .btn{min-height:32px;padding:6px 12px}}.assignment-create-page{padding:2rem;max-width:1200px;margin:0 auto}.assignment-create-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.assignment-create-page .page-header h1{margin:0;font-size:1.75rem;color:#1a1a1a}.assignment-form{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.assignment-form .form-section{padding:1.5rem;border-bottom:1px solid #e5e7eb}.assignment-form .form-section:last-child{border-bottom:none}.assignment-form .form-section h2{margin:0 0 1rem;font-size:1.125rem;color:#374151;font-weight:600}.assignment-form .form-group{margin-bottom:1rem}.assignment-form .form-group:last-child{margin-bottom:0}.assignment-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.assignment-form .form-group input,.assignment-form .form-group select,.assignment-form .form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s}.assignment-form .form-group input:focus,.assignment-form .form-group select:focus,.assignment-form .form-group textarea:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61a}.current-trailer-info{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px}.coupling-badge{font-size:.875rem;font-weight:600;color:var(--color-info-text)}.trailer-detail{font-size:.8rem;color:#6b7280}.text-muted{color:#9ca3af;font-size:.875rem}.vehicle-date-hint{font-size:.8rem;color:#4b5563;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:6px 12px;margin-bottom:10px}.vehicle-search-blocked{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#fefce8;border:1px solid #fde047;border-radius:8px;font-size:.875rem;color:#713f12}.vehicle-search-block-icon{font-size:1rem;flex-shrink:0;margin-top:1px}.vehicle-search-wrapper{position:relative;width:100%}.vehicle-search-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s;box-sizing:border-box}.vehicle-search-input:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61a}.vehicle-search-spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.75rem;color:#9ca3af;pointer-events:none}.vehicle-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 8px 24px #0000001f;list-style:none;margin:0;padding:4px 0;z-index:200;max-height:280px;overflow-y:auto}.vehicle-result-item{display:flex;flex-direction:column;padding:10px 14px;cursor:pointer;transition:background .15s;gap:2px}.vehicle-result-item:hover,.vehicle-result-item.selected{background:#eff6ff}.vehicle-result-plate{font-weight:600;font-size:.9rem;color:#1e40af;letter-spacing:.02em}.vehicle-result-info{font-size:.8rem;color:#6b7280}.vehicle-result-trailer{color:#9ca3af}.vehicle-search-empty{padding:12px 14px;font-size:.875rem;color:#9ca3af;background:#fff;border:1px solid #d1d5db;border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:200}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 8px 8px}@media (max-width: 768px){.assignment-create-page{padding:1rem}.assignment-create-page .page-header{flex-direction:column;align-items:flex-start;gap:1rem}}.manual-pickup-warning{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:10px 14px;background:#fffbeb;border:1.5px solid #fbbf24;border-radius:8px;font-size:13px;color:#78350f}.manual-pickup-warning-icon{font-size:16px;flex-shrink:0;margin-top:1px}.manual-pickup-warning-body{flex:1;line-height:1.5}.manual-pickup-warning-actions{display:flex;gap:8px;margin-top:8px}.manual-pickup-warning-btn{font-size:12px;padding:4px 12px;border-radius:6px;border:1px solid;cursor:pointer;font-weight:500;transition:background .15s}.manual-pickup-warning-btn--reset{background:#fef3c7;border-color:#fbbf24;color:#92400e}.manual-pickup-warning-btn--reset:hover:not(:disabled){background:#fde68a}.manual-pickup-warning-btn--reset:disabled{opacity:.6;cursor:default}.manual-pickup-warning-btn--keep{background:#f9fafb;border-color:#d1d5db;color:#6b7280}.manual-pickup-warning-btn--keep:hover{background:#f3f4f6}.assignment-detail-page{padding:2rem;max-width:1400px;margin:0 auto}.assignment-detail-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.assignment-detail-page .page-header h1{margin:0;font-size:1.75rem;color:#1a1a1a}.assignment-detail-loading{padding:2rem;text-align:center;color:#6b7280}.assignment-detail-content{display:flex;flex-direction:column;gap:1.5rem}.road-train-section{border-left:3px solid var(--color-info)}.road-train-section h2{color:#1e40af}.text-muted{color:#9ca3af}.info-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.info-section h2{margin:0 0 1rem;font-size:1.125rem;color:#374151;font-weight:600}.section-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header-with-action h2{margin:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.info-item span{font-size:.875rem;color:#1f2937}.checkpoints-table-wrap{overflow-x:auto}.checkpoints-table{width:100%;border-collapse:collapse;font-size:.875rem}.checkpoints-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.checkpoints-table th{padding:.75rem;text-align:left;font-weight:600;color:#374151;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.checkpoints-table td{padding:.75rem;border-bottom:1px solid #e5e7eb;color:#1f2937}.checkpoints-table tbody tr:last-child td{border-bottom:none}.checkpoints-table tbody tr:hover{background:#f9fafb}.empty-message{color:#6b7280;font-size:.875rem;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h3{margin:0 0 1.5rem;font-size:1.25rem;color:#1a1a1a}.modal-content .form-group{margin-bottom:1rem}.modal-content .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.modal-content .form-group input,.modal-content .form-group select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.modal-content .form-group input:focus,.modal-content .form-group select:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61a}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}@media (max-width: 768px){.assignment-detail-page{padding:1rem}.info-grid{grid-template-columns:1fr}.checkpoints-table{min-width:900px}}.waybills-list-page{padding:2rem}.waybills-list-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.waybills-list-page .page-header h1{margin:0;font-size:1.75rem;color:#1a1a1a}.waybills-list-page .filters{margin-bottom:1rem}.waybills-list-page .filters select{padding:.35rem .5rem;border-radius:6px;border:1px solid #d1d5db}.waybills-list-loading{padding:2rem;text-align:center;color:#6b7280}.waybills-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.waybills-table{width:100%;border-collapse:collapse}.waybills-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.waybills-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.875rem;color:#374151}.waybills-table td{padding:1rem;border-bottom:1px solid #e5e7eb;font-size:.875rem;color:#1f2937}.waybills-table tbody tr:last-child td{border-bottom:none}.waybills-table tbody tr:hover{background:#f9fafb}.waybills-list-page .link-button{background:none;border:none;color:var(--color-info);cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.waybills-list-page .link-button:hover{color:var(--color-info-hover)}.waybills-list-page .status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.waybills-list-page .status-badge.status-draft{background:#f3f4f6;color:#4b5563}.waybills-list-page .status-badge.status-active{background:#d1fae5;color:#065f46}.waybills-list-page .status-badge.status-completed{background:#dbeafe;color:#1e40af}.waybills-list-page .status-badge.status-cancelled{background:#fee2e2;color:#991b1b}.waybills-list-page .handover-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.waybills-list-page .handover-badge--not_issued{background:#e2e8f0;color:#64748b}.waybills-list-page .handover-badge--issued{background:#dbeafe;color:var(--color-info-hover)}.waybills-list-page .handover-badge--returned{background:#d1fae5;color:#059669}.waybills-list-page .handover-badge--lost{background:#fee2e2;color:var(--color-danger)}.waybills-list-page .empty-state{background:#fff;border-radius:8px;padding:3rem;text-align:center;box-shadow:0 1px 3px #0000001a}.waybills-list-page .empty-state p{margin:0 0 1.5rem;color:#6b7280;font-size:1rem}.waybills-list-page .pagination{display:flex;align-items:center;gap:1rem;margin-top:1rem}.waybills-list-page .pagination button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.waybills-list-page{padding:1rem}.waybills-table-container{overflow-x:auto}.waybills-table{min-width:700px}}.waybill-detail-page{padding:2rem}.waybill-detail-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.waybill-detail-page .page-header h1{margin:0;font-size:1.75rem;color:#1a1a1a}.waybill-detail-page .header-actions{display:flex;gap:.75rem}.waybill-detail-loading{padding:2rem;text-align:center;color:#6b7280}.waybill-state-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;width:min(760px,100%);padding:22px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 12px 30px #0f172a14}.waybill-state-card--error{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7)}.waybill-state-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#fee2e2;color:#b91c1c;font-size:22px;font-weight:800}.waybill-state-content h1{margin:0 0 6px;color:#1f2937;font-size:1.25rem}.waybill-state-content p{margin:0;color:#4b5563;line-height:1.45}.waybill-state-content .waybill-state-hint{margin-top:6px;color:#6b7280;font-size:.9rem}.waybill-state-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.waybill-detail-page .card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.waybill-detail-page .card h2{margin:0 0 1rem;font-size:1.125rem;color:#374151}.waybill-info .info-grid{display:grid;grid-template-columns:140px 1fr;gap:.5rem 1.5rem;margin:0}.waybill-info .info-grid dt{margin:0;color:#6b7280;font-size:.875rem}.waybill-info .info-grid dd{margin:0;font-size:.875rem;color:#1f2937}.waybill-detail-page .status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.waybill-detail-page .status-badge.status-draft{background:#f3f4f6;color:#4b5563}.waybill-detail-page .waybill-route-cell{display:flex;flex-direction:column;gap:4px;font-size:.8125rem;align-items:flex-start;max-width:28rem}.waybill-detail-page .waybill-route-arrow{color:#6b7280;font-weight:600;margin-left:.5rem}.waybill-detail-page .status-badge.status-active{background:#d1fae5;color:#065f46}.waybill-detail-page .status-badge.status-completed{background:#dbeafe;color:#1e40af}.waybill-detail-page .status-badge.status-cancelled{background:#fee2e2;color:#991b1b}.waybill-orders .empty-orders{color:#6b7280;font-size:.875rem;margin:0}.waybill-orders .orders-table{width:100%;border-collapse:collapse}.waybill-orders .orders-table th{text-align:left;padding:.5rem .75rem;font-size:.75rem;color:#6b7280;text-transform:uppercase;border-bottom:1px solid #e5e7eb}.waybill-orders .orders-table td{padding:.75rem;border-bottom:1px solid #e5e7eb;font-size:.875rem}.waybill-detail-page .link-button{background:none;border:none;color:var(--color-info);cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.waybill-detail-page .link-button:hover{color:var(--color-info-hover)}@media (max-width: 640px){.waybill-detail-page{padding:1rem}.waybill-state-card{grid-template-columns:1fr;align-items:start;gap:12px;padding:18px}.waybill-state-actions{justify-content:stretch}.waybill-state-actions .btn{flex:1 1 120px}}.handover-status{margin-bottom:16px}.handover-badge{display:inline-block;padding:6px 12px;border-radius:12px;font-size:.88rem;font-weight:600;text-transform:capitalize}.handover-badge--not_issued{background:#e2e8f0;color:#64748b}.handover-badge--issued{background:#dbeafe;color:var(--color-info-hover)}.handover-badge--returned{background:#d1fae5;color:#059669}.handover-badge--lost{background:#fee2e2;color:var(--color-danger)}.handover-history-table{width:100%;border-collapse:collapse;margin-top:12px}.handover-history-table td{padding:8px 12px;border-bottom:1px solid #e2e8f0}.handover-history-table td:first-child{font-weight:600;width:120px}.handover-notes{margin-top:12px;padding:12px;background:#f8fafc;border-radius:8px;font-size:.9rem;color:#475569}.handover-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.handover-modal{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:500px;box-shadow:0 10px 25px #0003}.handover-modal h3{margin:0 0 16px;font-size:1.25rem;color:#1e293b}.handover-modal-content{margin-bottom:20px}.handover-modal label{display:block;margin-bottom:8px;font-weight:600;color:#334155;font-size:.95rem}.handover-modal textarea{width:100%;min-height:80px;padding:10px;border:1px solid #cbd5e1;border-radius:6px;font-family:inherit;font-size:.95rem;resize:vertical;box-sizing:border-box}.handover-modal textarea:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61a}.handover-modal textarea:disabled{background-color:#f1f5f9;cursor:not-allowed}.handover-modal-actions{display:flex;gap:12px;justify-content:flex-end}.handover-modal-actions .btn{min-width:100px}.btn-success{background-color:#059669;color:#fff;border:none}.btn-success:hover:not(:disabled){background-color:#047857}.btn-success:disabled{opacity:.6;cursor:not-allowed}.waybill-form-page{padding:2rem}.waybill-form-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.waybill-form-page .page-header h1{margin:0;font-size:1.75rem;color:#1a1a1a}.waybill-form-page .card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;max-width:600px}.waybill-form .form-row{margin-bottom:1rem}.waybill-form .form-row.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.waybill-form .form-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.waybill-form .form-section-title{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.75rem}.waybill-form label{display:block;font-weight:500;font-size:.875rem;color:#374151;margin-bottom:.35rem}.waybill-form label .required{color:var(--color-danger)}.waybill-form input[type=text],.waybill-form input[type=date],.waybill-form input[type=datetime-local],.waybill-form input[type=number],.waybill-form select,.waybill-form textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.waybill-form textarea{resize:vertical;min-height:60px}.waybill-form .form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.waybill-form-page .error-message{color:var(--color-danger);margin-bottom:1rem;padding:.75rem;background:#fef2f2;border-radius:6px}.waybill-form-state-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;width:min(760px,100%);padding:22px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 12px 30px #0f172a14}.waybill-form-state-card--error{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7)}.waybill-form-state-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#fee2e2;color:#b91c1c;font-size:22px;font-weight:800}.waybill-form-state-content h1{margin:0 0 6px;color:#1f2937;font-size:1.25rem}.waybill-form-state-content p{margin:0;color:#4b5563;line-height:1.45}.waybill-form-state-hint{margin-top:6px!important;color:#6b7280!important;font-size:.9rem}.waybill-form-state-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 600px){.waybill-form-page{padding:1rem}.waybill-form .form-row.two-cols{grid-template-columns:1fr}.waybill-form-state-card{grid-template-columns:1fr;align-items:start;gap:12px;padding:18px}.waybill-form-state-actions{justify-content:stretch}.waybill-form-state-actions .btn{flex:1 1 120px}}.vehicle-photo-widget{position:relative;border-radius:10px;overflow:visible;flex-shrink:0;display:inline-block}.vehicle-photo-widget__img{border-radius:10px;object-fit:cover;display:block;border:1px solid var(--color-border-light, #e5e5ea)}.vehicle-photo-widget__placeholder{border-radius:10px;background:linear-gradient(135deg,#6c757d,#495057);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.5px;font-family:-apple-system,BlinkMacSystemFont,SF Mono,monospace;border:1px solid rgba(0,0,0,.1)}.vehicle-photo-widget__overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:opacity .15s ease}.vehicle-photo-widget__overlay--loading{background:#00000059;pointer-events:none}.vehicle-photo-widget__overlay--edit{background:#0000;color:transparent;padding:0;opacity:0}.vehicle-photo-widget:hover .vehicle-photo-widget__overlay--edit{opacity:1;background:#0000006b;color:#fff}.vehicle-photo-widget__spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:vpw-spin .7s linear infinite}@keyframes vpw-spin{to{transform:rotate(360deg)}}.vehicle-photo-widget__menu{position:absolute;top:calc(100% + 6px);left:0;z-index:200;background:var(--color-surface, #fff);border:1px solid var(--color-border, #c6c6c8);border-radius:10px;box-shadow:0 4px 16px #0000001f;min-width:160px;overflow:hidden;display:flex;flex-direction:column}.vehicle-photo-widget__menu-item{padding:10px 16px;border:none;background:none;text-align:left;font-size:14px;cursor:pointer;color:var(--color-text, #1c1c1e);transition:background .12s}.vehicle-photo-widget__menu-item:hover{background:var(--color-bg-subtle, #f2f2f7)}.vehicle-photo-widget__menu-item--danger{color:#dc3545}.vehicle-photo-widget__menu-item--cancel{color:var(--color-text-tertiary, #8e8e93);font-size:13px}.vehicle-photo-widget__error{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:#dc3545;color:#fff;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff}.vehicles-list-page{padding:2rem}.vehicles-list-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.vehicles-list-page .page-header h1{margin:0;font-size:1.75rem;color:#1a1a1a}.vehicles-list-page .btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.vehicles-list-page .btn-primary{background:#007bff;color:#fff}.vehicles-list-page .btn-primary:hover{background:#0056b3}.vehicles-list-page .btn-secondary{background:#6c757d;color:#fff}.vehicles-list-page .btn-secondary:hover{background:#5a6268}.filters-panel{background:#fff;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.search-box{position:relative;display:flex;align-items:center;min-width:260px;flex:1;max-width:360px}.search-box__icon{position:absolute;left:10px;font-size:14px;pointer-events:none;color:#9ca3af}.search-box__input{width:100%;padding:.5rem 2rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#1f2937;background:#fff;transition:border-color .2s,box-shadow .2s}.search-box__input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.search-box__input::placeholder{color:#9ca3af}.search-box__clear{position:absolute;right:8px;background:none;border:none;cursor:pointer;color:#9ca3af;font-size:14px;padding:0 4px;line-height:1;transition:color .15s}.search-box__clear:hover{color:#4b5563}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:180px}.filter-group label{font-size:.875rem;font-weight:500;color:#374151}.filter-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#1f2937;background:#fff;cursor:pointer;transition:border-color .2s}.filter-select:hover{border-color:#9ca3af}.filter-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.vehicles-list-loading{padding:2rem;text-align:center;color:#6b7280}.vehicles-table-container{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.vehicles-table-container .etc-table-toolbar{margin:0;padding:var(--space-md) var(--space-lg)}.vehicles-data-table .etc-data-table__viewport{border-left:0;border-radius:0 0 var(--radius-md) var(--radius-md);border-right:0}.vehicles-table-meta{padding:.5rem 1rem;font-size:.8rem;color:#9ca3af;border-bottom:1px solid #f3f4f6}.vehicles-table{width:100%;border-collapse:collapse}.vehicles-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.vehicles-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.875rem;color:#374151;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,color .15s}.sortable-th:hover{background:#f0f4ff;color:#007bff}.sortable-th--active{color:#007bff}.sort-icon{display:inline-flex;vertical-align:-2px;margin-left:4px}.sort-icon--idle{color:#d1d5db}.sort-icon--active{color:var(--color-primary)}.vehicles-table td{padding:1rem;border-bottom:1px solid #e5e7eb;font-size:.875rem;color:#1f2937}.vehicles-table tbody tr:last-child td{border-bottom:none}.vehicles-table tbody tr.clickable-row{cursor:pointer}.vehicles-table tbody tr.clickable-row:hover{background:#f9fafb}.garage-missing-badge{background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:var(--radius-pill);color:var(--color-warning-text);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;margin-left:var(--space-sm);padding:3px 7px;vertical-align:middle;white-space:nowrap}.vehicles-search-clear{align-items:center;background:transparent;border:0;color:var(--color-text-tertiary);cursor:pointer;display:inline-flex;height:22px;justify-content:center;line-height:1;padding:0;transition:color var(--motion-duration-fast) var(--motion-ease-standard);width:22px}.vehicles-search-clear:hover{color:var(--color-text)}.vehicles-table-meta__spinner{align-items:center;color:var(--color-text-tertiary);display:inline-flex;margin-left:var(--space-xs)}.empty-state{background:#fff;border-radius:8px;padding:3rem;text-align:center;box-shadow:0 1px 3px #0000001a}.coupling-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.82em;font-weight:500;white-space:nowrap}.coupling-active{background:#e8f5e9;color:#2e7d32;cursor:pointer;border:1px solid #a5d6a7}.coupling-active:hover{background:#c8e6c9;text-decoration:underline}.coupling-none{color:#9e9e9e}.coupling-trailer{background:#f3e5f5;color:#7b1fa2;border:1px solid #ce93d8}.vehicle-type-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.vehicle-type-badge.type-tractor{background:#dbeafe;color:#1e40af}.vehicle-type-badge.type-trailer{background:#fed7aa;color:#c2410c}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.status-badge.status-active{background:#d1fae5;color:#065f46}.status-badge.status-in_repair{background:#fef3c7;color:#92400e}.status-badge.status-without_driver{background:#e0e7ff;color:#3730a3}.status-badge.status-inactive{background:#f3f4f6;color:#4b5563}@media (max-width: 768px){.vehicles-list-page{padding:1rem}.filters-panel{flex-direction:column;align-items:stretch}.filter-group{min-width:100%}.vehicles-table-container{overflow-x:auto}.vehicles-table{min-width:900px}}@media (max-width: 1024px){.vehicles-table{font-size:.8rem}.vehicles-table th,.vehicles-table td{padding:.75rem .5rem}}.dict-select-wrapper{display:flex;flex-direction:column;gap:4px}.dict-select-row{display:flex;align-items:center;gap:6px}.dict-select-row .form-select{flex:1;min-width:0}.btn-dict-action{flex-shrink:0;width:30px;height:30px;border-radius:6px;border:1px solid #c8d0da;background:#f5f7fa;color:#4a5568;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;padding:0;line-height:1}.btn-dict-action:hover:not(:disabled){background:#e8edf5;border-color:#a0aec0}.btn-dict-action:disabled{opacity:.5;cursor:not-allowed}.btn-dict-add{color:#2b6cb0;font-weight:700}.btn-dict-edit{color:#744210}.dict-inline-form{display:flex;align-items:center;gap:6px;margin-top:4px;padding:8px;background:#f0f4ff;border-radius:6px;border:1px solid #bee3f8;flex-wrap:wrap}.dict-inline-form .form-input{flex:1;min-width:120px;height:30px;padding:4px 8px;font-size:13px}.btn-dict-confirm{padding:4px 12px;background:#3182ce;color:#fff;border:none;border-radius:5px;font-size:13px;cursor:pointer;white-space:nowrap}.btn-dict-confirm:hover{background:#2b6cb0}.btn-dict-cancel{padding:4px 10px;background:transparent;color:#718096;border:1px solid #cbd5e0;border-radius:5px;font-size:13px;cursor:pointer;white-space:nowrap}.btn-dict-cancel:hover{background:#edf2f7}.dict-error{color:#e53e3e;font-size:12px;width:100%}.axle-schema{padding:12px 0}.axle-schema-vehicle{display:flex;flex-direction:column;gap:12px;max-width:500px}.axle-schema-front-label{font-size:12px;color:#718096;font-style:italic;margin-bottom:-4px}.axle-row{display:flex;align-items:center;gap:16px}.axle-label{font-size:13px;color:#4a5568;font-weight:500;min-width:50px}.axle-wheels{display:flex;gap:8px;flex-wrap:wrap}.wheel-slot{width:52px;height:52px;border-radius:50%;border:2px solid #a0aec0;background:#edf2f7;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .15s;padding:0;font-size:11px;gap:2px}.wheel-slot:hover:not(.wheel-readonly){border-color:#3182ce;background:#ebf8ff;transform:scale(1.08)}.wheel-slot.wheel-readonly{cursor:default}.wheel-icon{font-size:18px;line-height:1}.wheel-brand{font-size:9px;color:#2d3748;font-weight:600;text-overflow:ellipsis;overflow:hidden;max-width:44px;white-space:nowrap}.tire-new{border-color:#38a169;background:#f0fff4}.tire-used{border-color:#d69e2e;background:ivory}.tire-worn{border-color:#e53e3e;background:#fff5f5}.tire-needs-replacement{border-color:#e53e3e;background:#fed7d7;animation:pulse-warn 1.5s infinite}.tire-empty{border-color:#a0aec0;background:#edf2f7}@keyframes pulse-warn{0%,to{border-color:#e53e3e}50%{border-color:#fc8181}}.tire-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.tire-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000040;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.tire-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.tire-modal-header h3{margin:0;font-size:16px;color:#2d3748}.tire-modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:#718096;padding:4px;border-radius:4px}.tire-modal-close:hover{background:#edf2f7}.tire-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.tire-modal-footer{padding:12px 20px;border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end}.tire-mileage-hint{background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;padding:8px 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tire-mileage-label{font-size:13px;color:#2b6cb0;font-weight:500}.tire-mileage-value{font-size:15px;font-weight:700;color:#2c5282}.tire-mileage-note{font-size:11px;color:#718096}.axle-mass-hint{background:#fffbeb;border:1px solid #f6e05e;border-radius:6px;padding:8px 12px;font-size:13px;color:#744210;margin-bottom:12px}.mkad-zone-hint{margin-top:6px}.mkad-zone-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.mkad-zone-mkad{background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8}.mkad-zone-ttk{background:ivory;color:#744210;border:1px solid #f6e05e}.mkad-zone-sk{background:#fff5f5;color:#c53030;border:1px solid #fed7d7}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in}.modal{background:#fff;border-radius:12px;padding:32px;max-width:800px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d;animation:slideUp .3s ease-out;position:relative}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:24px;font-weight:600;color:#1a202c}.modal-close{background:none;border:none;font-size:24px;color:#718096;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s}.modal-close:hover{color:#2d3748}.modal-body{margin-bottom:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #e2e8f0}.modal-alert{padding:12px 16px;border-radius:6px;margin-bottom:20px;display:flex;align-items:flex-start;gap:12px}.modal-alert.warning{background:#fff3cd;border:1px solid #ffc107;color:#856404}.modal-alert.info{background:#d1ecf1;border:1px solid #17a2b8;color:#0c5460}.modal-alert.success{background:#d4edda;border:1px solid #28a745;color:#155724}.modal-alert.error{background:#f8d7da;border:1px solid #dc3545;color:#721c24}.modal-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}.modal-table th,.modal-table td{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0}.modal-table th{background:#f7fafc;font-weight:600;color:#4a5568;position:sticky;top:0;z-index:1}.modal-table tbody tr:hover{background-color:#f7fafc}.modal-table .row-highlight{background-color:#fff3cd}.modal-table .row-highlight:hover{background-color:#ffe69c}.modal-table .row-success{background-color:#d4edda}.modal-table .row-success:hover{background-color:#c3e6cb}.modal-field-group{margin-bottom:20px}.modal-field-group label{display:block;font-weight:600;margin-bottom:8px;color:#2d3748}.modal-field-group .field-value{display:block;padding:10px 12px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#1a202c}.modal-loading{display:flex;justify-content:center;align-items:center;padding:40px}.modal-spinner{border:3px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.modal{padding:24px;width:95%;max-height:90vh}.modal-header h2{font-size:20px}.modal-footer{flex-direction:column}.modal-footer button{width:100%}.modal-table{font-size:13px}.modal-table th,.modal-table td{padding:8px}}.modal:focus{outline:none}.modal-close:focus-visible,.modal button:focus-visible{outline:2px solid #667eea;outline-offset:2px}.vehicle-create-page{padding:20px;max-width:1200px;margin:0 auto}.vehicle-create-page .page-header{margin-bottom:30px}.vehicle-create-page .page-header h1{font-size:28px;font-weight:600;color:#1a1a1a;margin:0}.vehicle-create-page .vehicle-form{background:#fff;border-radius:8px;padding:0}.vehicle-create-page .form-section{border:1px solid #e0e0e0;border-radius:8px;padding:24px;margin-bottom:24px;background:#fff}.vehicle-create-page .form-section legend{font-size:18px;font-weight:600;color:#1a1a1a;padding:0 8px;margin-bottom:0}.vehicle-create-page .form-subsection{margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}.vehicle-create-page .form-subsection:first-child{margin-top:0;padding-top:0;border-top:none}.vehicle-create-page .form-subsection h4{font-size:16px;font-weight:600;color:#333;margin:0 0 16px}.vehicle-create-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.vehicle-create-page .form-group{display:flex;flex-direction:column}.vehicle-create-page .form-group label{font-size:14px;font-weight:500;color:#333;margin-bottom:6px}.vehicle-create-page .form-group label .required{color:#dc3545;margin-left:2px}.vehicle-create-page .form-group input,.vehicle-create-page .form-group select,.vehicle-create-page .form-group textarea{padding:10px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.vehicle-create-page .form-group input:focus,.vehicle-create-page .form-group select:focus,.vehicle-create-page .form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.vehicle-create-page .form-group input.error,.vehicle-create-page .form-group select.error,.vehicle-create-page .form-group textarea.error{border-color:#dc3545}.vehicle-create-page .form-group input.error:focus,.vehicle-create-page .form-group select.error:focus,.vehicle-create-page .form-group textarea.error:focus{box-shadow:0 0 0 3px #dc35451a}.vehicle-create-page .form-group textarea{resize:vertical;min-height:80px}.vehicle-create-page .checkbox-group{flex-direction:row;align-items:center;padding-top:28px}.vehicle-create-page .checkbox-group label{display:flex;align-items:center;margin-bottom:0;cursor:pointer;font-weight:400}.vehicle-create-page .checkbox-group input[type=checkbox]{width:auto;margin-right:8px;cursor:pointer}.vehicle-create-page .error-text{color:#dc3545;font-size:12px;margin-top:4px;display:block}.vehicle-create-page .error-banner{background:#f8d7da;color:#721c24;padding:12px 16px;border-radius:6px;margin-bottom:20px;border:1px solid #f5c6cb;font-size:14px}.vehicle-create-page .field-error{color:#dc3545;font-size:12px;margin-top:4px}.vehicle-create-page .error-message{background:#f8d7da;color:#721c24;padding:12px 16px;border-radius:6px;margin-bottom:20px;border:1px solid #f5c6cb}.vehicle-create-page .success-message{background:#d4edda;color:#155724;padding:12px 16px;border-radius:6px;margin-bottom:20px;border:1px solid #c3e6cb}.vehicle-create-page .form-actions{display:flex;gap:12px;justify-content:flex-start;padding-top:20px}.vehicle-create-page .btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.vehicle-create-page .btn-primary{background:#007bff;color:#fff}.vehicle-create-page .btn-primary:hover{background:#0056b3}.vehicle-create-page .btn-secondary{background:#6c757d;color:#fff}.vehicle-create-page .btn-secondary:hover{background:#545b62}.vehicle-create-page .btn:disabled{opacity:.6;cursor:not-allowed}.vehicle-create-page .fuel-tanks-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.vehicle-create-page .fuel-tank-item{padding:1rem;border:1px solid #e0e0e0;border-radius:4px;background-color:#fafafa}.vehicle-create-page .fuel-tank-item .form-row{display:flex;gap:1rem;align-items:flex-end;margin-bottom:0}.vehicle-create-page .fuel-tank-item .form-group{flex:1}.vehicle-create-page .fuel-tank-item .btn-small{padding:.5rem 1rem;height:fit-content;margin-bottom:0}.vehicle-create-page .add-fuel-tank-btn{align-self:flex-start;margin-top:.5rem}.vehicle-create-page .btn-danger{background-color:#dc3545;color:#fff;border:none}.vehicle-create-page .btn-danger:hover{background-color:#c82333}@media (max-width: 768px){.vehicle-create-page{padding:16px}.vehicle-create-page .form-row{grid-template-columns:1fr;gap:16px}.vehicle-create-page .form-section{padding:16px}.vehicle-create-page .checkbox-group{padding-top:0;margin-top:12px}.vehicle-create-page .fuel-tank-item .form-row{flex-direction:column;align-items:stretch}}.tires-reference-page{padding:24px;max-width:1400px}.page-subtitle{color:#718096;font-size:14px;margin-top:4px}.tires-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.tires-filters .form-input{flex:1;min-width:200px;max-width:400px}.tires-filters .form-select{min-width:160px}.tires-summary{font-size:14px;color:#4a5568;margin-bottom:12px}.tires-warning{color:#744210}.tires-table-wrapper{overflow-x:auto;border-radius:8px;box-shadow:0 1px 4px #00000014}.tires-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.tires-table th{background:#f7fafc;padding:10px 12px;text-align:left;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0;white-space:nowrap}.tires-table td{padding:9px 12px;border-bottom:1px solid #edf2f7;color:#2d3748;vertical-align:middle}.tires-table tr:hover td{background:#f7fafc}.tire-row-warn td{background:#fff5f5!important}.vehicle-link{color:#3182ce;text-decoration:none;font-weight:500}.vehicle-link:hover{text-decoration:underline}.position-cell{font-family:monospace;font-size:12px;color:#4a5568}.condition-badge{font-weight:600;font-size:12px}.notes-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#718096}.vtype-reference-page{padding:24px;max-width:900px}.vtype-reference-page .page-header{margin-bottom:20px}.vtype-reference-page .page-subtitle{color:#718096;font-size:14px;margin-top:4px}.vtype-error{background:#fff5f5;color:#c53030;border:1px solid #feb2b2;border-radius:6px;padding:10px 14px;margin-bottom:16px;font-size:14px}.vtype-add-row{display:flex;gap:10px;margin-bottom:20px}.vtype-add-row .form-input{flex:1;max-width:400px;padding:8px 12px;border:1px solid #cbd5e0;border-radius:6px;font-size:14px}.vtype-add-row .form-input:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 2px #3182ce26}.vtype-table-wrapper{overflow-x:auto;border-radius:8px;box-shadow:0 1px 4px #00000014}.vtype-table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}.vtype-table th{background:#f7fafc;padding:10px 14px;text-align:left;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.vtype-table td{padding:10px 14px;border-bottom:1px solid #edf2f7;color:#2d3748;vertical-align:middle}.vtype-table tr:hover td{background:#f7fafc}.vtype-drag-cell{padding:8px;text-align:center;vertical-align:middle}.vtype-drag-handle{cursor:grab;color:#a0aec0;font-size:14px;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:4px}.vtype-drag-handle:hover{color:#718096;background:#edf2f7}.vtype-drag-handle:active{cursor:grabbing}.vtype-row--drop-target td{background:#ebf8ff;border-top:2px solid #3182ce}.vtype-num{color:#a0aec0;font-size:13px}.vtype-value{font-weight:500;font-size:16px}.vtype-value-with-icon{display:inline-flex;align-items:center;gap:18px}.vtype-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:112px;height:98px;flex-shrink:0;color:#374151}.vtype-icon{width:112px;height:98px;display:block}.vtype-icon--realistic{filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}.vtype-icon--photo{object-fit:contain;vertical-align:middle}.vtype-info-box{margin-top:12px;padding:10px 14px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;font-size:13px;color:#2d3748;line-height:1.45}.vtype-info-box strong{color:#2b6cb0}.vtype-edit-input{width:100%;padding:6px 10px;border:1px solid #3182ce;border-radius:4px;font-size:14px}.vtype-actions{display:flex;gap:6px}.btn-sm{padding:4px 10px;font-size:13px;border-radius:4px;cursor:pointer;border:1px solid transparent;transition:background .15s}.btn-sm.btn-primary{background:#3182ce;color:#fff}.btn-sm.btn-primary:hover{background:#2b6cb0}.btn-sm.btn-secondary{background:#edf2f7;color:#4a5568;border-color:#cbd5e0}.btn-sm.btn-secondary:hover{background:#e2e8f0}.btn-sm.btn-danger{background:#fff5f5;color:#c53030;border-color:#feb2b2}.btn-sm.btn-danger:hover{background:#fed7d7}.empty-state{text-align:center;color:#a0aec0;padding:32px;font-style:italic}.loading-state{text-align:center;color:#718096;padding:32px}.ctref-page{padding:24px;max-width:1100px}.ctref-page .page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.ctref-page .page-header h1{margin:0 0 4px;font-size:1.5rem;font-weight:700;color:#111827}.ctref-page .page-subtitle{margin:0;font-size:.875rem;color:#6b7280}.ctref-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:var(--color-danger);padding:10px 16px;margin-bottom:16px;font-size:.875rem}.ctref-add-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px 24px;margin-bottom:24px}.ctref-add-form h3{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--color-info-text)}.ctref-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px}.ctref-form-full{grid-column:1 / -1}.ctref-form-actions{display:flex;gap:10px;margin-top:16px}.ctref-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 4px #0000000f}.ctref-table{width:100%;border-collapse:collapse;font-size:.875rem}.ctref-table thead tr{background:#f9fafb;border-bottom:1px solid #e5e7eb}.ctref-table th{padding:10px 14px;text-align:left;font-weight:600;color:#374151;white-space:nowrap}.ctref-table td{padding:10px 14px;border-bottom:1px solid #f3f4f6;vertical-align:middle;color:#111827}.ctref-table tbody tr:last-child td{border-bottom:none}.ctref-table tbody tr:hover{background:#f9fafb}.ctref-code{font-weight:600;color:var(--color-info-text)}.ctref-dims{font-family:monospace;font-size:.8rem;color:#374151}.ctref-desc{color:#6b7280;max-width:260px}.ctref-actions{display:flex;gap:6px;flex-wrap:wrap}.ctref-edit-input{width:100%;min-width:60px}.ctref-dims-inputs{display:flex;align-items:center;gap:4px}.ctref-dim-input{width:72px;min-width:0}.loading-state,.empty-state{padding:32px;text-align:center;color:#6b7280;font-size:.9rem}@media (max-width: 768px){.ctref-page{padding:16px}.ctref-form-grid{grid-template-columns:1fr 1fr}.ctref-page .page-header{flex-direction:column;align-items:flex-start}}.vehicle-detail-page{padding:20px;max-width:1200px;margin:0 auto}.vehicle-detail-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.vehicle-detail-page .header-left{display:flex;flex-direction:column;gap:8px}.vehicle-detail-page .page-header h1{font-size:28px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.vehicle-detail-page .vehicle-subtitle{font-size:16px;color:#666;margin:0}.vehicle-detail-page .header-actions{display:flex;gap:12px}.vehicle-detail-page .btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.vehicle-detail-page .btn-primary{background:#007bff;color:#fff}.vehicle-detail-page .btn-primary:hover{background:#0056b3}.vehicle-detail-page .btn-secondary{background:#6c757d;color:#fff}.vehicle-detail-page .btn-secondary:hover{background:#545b62}.vehicle-detail-page .btn-danger{background:#dc3545;color:#fff}.vehicle-detail-page .btn-danger:hover:not(:disabled){background:#b02a37}.vehicle-detail-page .btn-danger:disabled{opacity:.65;cursor:not-allowed}.vehicle-archived-badge{display:inline-block;margin-left:12px;padding:2px 10px;font-size:13px;font-weight:600;background:#6c757d;color:#fff;border-radius:12px;vertical-align:middle}.modal-dialog{background:#fff;border-radius:10px;padding:28px 32px;max-width:440px;width:90%;box-shadow:0 8px 32px #0000002e}.modal-dialog h3{margin:0 0 14px;font-size:20px;font-weight:600;color:#1a1a1a}.modal-dialog p{margin:0 0 12px;color:#333;line-height:1.5}.modal-note{font-size:13px;color:#666;background:#f8f9fa;border-left:3px solid #6c757d;padding:10px 14px;border-radius:4px}.modal-actions{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.vehicle-detail-page .vehicle-info{background:#fff;border-radius:8px;padding:0}.vehicle-detail-page .info-section{margin-bottom:40px;padding:20px;background:#f8f9fa;border-radius:8px}.vehicle-detail-page .info-section h2{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #dee2e6}.vehicle-detail-page .info-subsection{margin-top:20px;padding-top:20px;border-top:1px solid #dee2e6}.vehicle-detail-page .info-subsection:first-child{margin-top:0;padding-top:0;border-top:none}.vehicle-detail-page .info-subsection h3{font-size:16px;font-weight:600;color:#495057;margin:0 0 15px}.vehicle-detail-page .info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:20px}.vehicle-detail-page .info-item{display:flex;flex-direction:column;gap:4px}.vehicle-detail-page .info-item label{font-size:13px;font-weight:500;color:#666;text-transform:uppercase;letter-spacing:.5px}.vehicle-detail-page .info-item span{font-size:15px;color:#1a1a1a}.vehicle-detail-page .info-block{margin-top:20px;padding-top:20px;border-top:1px solid #dee2e6}.vehicle-detail-page .info-block label{font-size:13px;font-weight:500;color:#666;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:8px}.vehicle-detail-page .info-block p{font-size:15px;color:#1a1a1a;margin:0;line-height:1.6}.vehicle-detail-page .status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.vehicle-detail-page .status-badge.status-active{background:#d4edda;color:#155724}.vehicle-detail-page .status-badge.status-inactive{background:#f8d7da;color:#721c24}.vehicle-detail-page .status-badge.status-maintenance{background:#fff3cd;color:#856404}.vehicle-detail-page .vehicle-type-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.vehicle-detail-page .vehicle-type-badge.tractor{background:#cfe2ff;color:#084298}.vehicle-detail-page .vehicle-type-badge.trailer{background:#e7d4f8;color:#6f42c1}.vehicle-detail-page .permit-zone-badge{display:inline-block;padding:4px 12px;border-radius:10px;font-size:12px;font-weight:600;letter-spacing:.03em;background:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}.vehicle-detail-page .insurance-type-badge{display:inline-block;padding:4px 10px;border-radius:10px;font-size:11px;font-weight:500;text-transform:uppercase}.vehicle-detail-page .insurance-type-badge.осаго{background:#d1ecf1;color:#0c5460}.vehicle-detail-page .insurance-type-badge.каско{background:#d4edda;color:#155724}.vehicle-detail-page .pass-badge{display:inline-block;padding:4px 10px;border-radius:10px;font-size:11px;font-weight:500}.vehicle-detail-page .pass-badge.passed{background:#d4edda;color:#155724}.vehicle-detail-page .pass-badge.failed{background:#f8d7da;color:#721c24}.vehicle-detail-page .condition-badge{display:inline-block;padding:4px 10px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize}.vehicle-detail-page .condition-badge.good,.vehicle-detail-page .condition-badge.хорошее{background:#d4edda;color:#155724}.vehicle-detail-page .condition-badge.fair,.vehicle-detail-page .condition-badge.удовлетворительное{background:#fff3cd;color:#856404}.vehicle-detail-page .condition-badge.poor,.vehicle-detail-page .condition-badge.плохое{background:#f8d7da;color:#721c24}.vehicle-detail-page .expiring-soon{color:#dc3545;font-weight:600}.vehicle-detail-page .data-table-container{overflow-x:auto;margin-top:15px}.vehicle-detail-page .data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.vehicle-detail-page .data-table thead{background:#e9ecef}.vehicle-detail-page .data-table th{padding:12px;text-align:left;font-size:12px;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #dee2e6}.vehicle-detail-page .data-table td{padding:12px;font-size:14px;color:#212529;border-bottom:1px solid #dee2e6}.vehicle-detail-page .data-table tbody tr:last-child td{border-bottom:none}.vehicle-detail-page .data-table tbody tr:hover{background:#f8f9fa}.vehicle-detail-page .empty-message{padding:20px;text-align:center;color:#6c757d;font-style:italic;background:#fff;border-radius:6px;margin-top:15px}.vehicle-detail-page .info-note{margin-top:10px;padding:12px;background:#e7f3ff;border-left:4px solid #007bff;border-radius:4px;font-size:14px;color:#004085}.vehicle-detail-page .coupling-info{background:#fff;padding:15px;border-radius:6px;margin-top:15px}.vehicle-detail-page .vehicle-link{color:#007bff;text-decoration:none;font-weight:500}.vehicle-detail-page .vehicle-link:hover{text-decoration:underline}.vehicle-detail-page .loading,.vehicle-detail-page .error-container{padding:40px;text-align:center}.vehicle-detail-page .error-message{color:#dc3545;font-size:16px;margin-bottom:20px}.vehicle-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:24px;border-bottom:2px solid #dee2e6;padding-bottom:0}.vehicle-tab-btn{padding:10px 18px;border:none;border-bottom:3px solid transparent;background:transparent;font-size:14px;font-weight:500;color:#6c757d;cursor:pointer;border-radius:6px 6px 0 0;transition:color .15s,border-color .15s,background .15s;margin-bottom:-2px;white-space:nowrap}.vehicle-tab-btn:hover{color:#007bff;background:#f0f4ff}.vehicle-tab-btn.active{color:#007bff;border-bottom-color:#007bff;background:#f0f4ff;font-weight:600}.vehicle-tab-content{min-height:200px}.tab-content{padding:4px 0}.tab-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tab-section-header h3{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.inline-form{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px;margin-bottom:24px}.inline-form-edit{background:#fff8e1;border-color:#ffc107}.inline-form h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#495057}.form-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.form-group{display:flex;flex-direction:column;gap:4px;min-width:160px;flex:1}.form-group-wide{flex:2;min-width:240px}.form-group label{font-size:12px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.4px}.form-group input,.form-group select,.form-group textarea{padding:8px 10px;border:1px solid #ced4da;border-radius:5px;font-size:14px;color:#212529;background:#fff;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff26}.form-actions{display:flex;gap:10px;margin-top:16px}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none;display:inline-block}.btn-sm{padding:5px 12px;font-size:13px}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#b02a37}.alert{padding:10px 16px;border-radius:6px;margin-bottom:16px;font-size:14px}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.loading-sm{padding:20px;text-align:center;color:#6c757d;font-size:14px}.report-block{background:#f0f4ff;border:1px solid #b8d0ff;border-radius:8px;padding:16px;margin-top:8px}.status-badge.status-pending{background:#fff3cd;color:#856404}.status-badge.status-in_progress{background:#cfe2ff;color:#084298}.status-badge.status-completed{background:#d4edda;color:#155724}.status-badge.status-cancelled{background:#e2e3e5;color:#383d41}.row-editing{background:#fff8e1!important}.text-danger{color:#dc3545;font-weight:600}.text-warning{color:#856404;font-weight:600}.text-success{color:#155724;font-weight:600}.warning-note{background:#fff3cd;border-left:4px solid #ffc107;padding:10px 14px;border-radius:4px;font-size:13px;color:#856404}@media (max-width: 768px){.vehicle-detail-page{padding:15px}.vehicle-detail-page .page-header{flex-direction:column;gap:15px}.vehicle-detail-page .header-actions{width:100%}.vehicle-detail-page .header-actions .btn{flex:1}.vehicle-detail-page .info-grid{grid-template-columns:1fr}.vehicle-detail-page .data-table-container{font-size:12px}.vehicle-detail-page .data-table th,.vehicle-detail-page .data-table td{padding:8px;font-size:12px}}.documents-tab{padding:4px 0}.documents-dropzone{border:2px dashed var(--color-border, #c6c6c8);border-radius:12px;padding:28px 20px;text-align:center;cursor:pointer;color:var(--color-text-tertiary, #8e8e93);display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .15s,background .15s;margin-bottom:20px;font-size:14px}.documents-dropzone:hover,.documents-dropzone--active{border-color:var(--color-accent, var(--color-primary));background:var(--color-accent-muted, rgba(0,122,255,.05));color:var(--color-text, #1c1c1e)}.documents-dropzone__hint{font-size:12px;color:var(--color-text-tertiary, #8e8e93)}.documents-empty{color:var(--color-text-tertiary, #8e8e93);font-size:14px;text-align:center;padding:20px 0}.documents-list{display:flex;flex-direction:column;gap:10px}.document-card{display:flex;align-items:flex-start;gap:14px;background:var(--color-surface, #fff);border:1px solid var(--color-border-light, #e5e5ea);border-radius:10px;padding:12px 14px;transition:box-shadow .12s}.document-card:hover{box-shadow:0 2px 8px #00000012}.document-card__preview{flex-shrink:0;width:48px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer}.document-card__thumb{width:48px;height:56px;object-fit:cover;border-radius:4px;border:1px solid var(--color-border-light, #e5e5ea)}.document-card__pdf-icon,.document-card__file-icon{width:48px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer}.document-card__info{flex:1;min-width:0}.document-card__name{font-size:14px;font-weight:500;color:var(--color-text, #1c1c1e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.document-card__type{font-size:12px;color:var(--color-accent, var(--color-primary));margin-bottom:4px}.document-card__meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--color-text-secondary, #3a3a3c)}.doc-expiry--expired{color:var(--color-error, #dc3545);font-weight:500}.doc-expiry--expiring{color:#856404;font-weight:500}.doc-badge{display:inline-block;padding:1px 7px;border-radius:20px;font-size:11px;font-weight:600;margin-left:4px}.doc-badge--expired{background:#dc35451f;color:#dc3545}.doc-badge--expiring{background:#ffc1072e;color:#856404}.doc-size,.doc-date{color:var(--color-text-tertiary, #8e8e93)}.document-card__actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.doc-btn{width:32px;height:32px;border:1px solid var(--color-border-light, #e5e5ea);border-radius:7px;background:var(--color-surface, #fff);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:background .12s,border-color .12s;color:var(--color-text-secondary, #3a3a3c)}.doc-btn:hover{background:var(--color-bg-subtle, #f2f2f7);border-color:var(--color-border, #c6c6c8)}.doc-btn--delete:hover{background:#dc354514;border-color:#dc35454d;color:#dc3545}.doc-btn--ocr{font-size:13px}.doc-btn--loading{opacity:.6;cursor:not-allowed}.documents-add-modal{max-width:480px;width:100%}.documents-add-modal__filename{font-size:13px;color:var(--color-text-secondary, #3a3a3c);background:var(--color-bg-subtle, #f2f2f7);padding:8px 12px;border-radius:7px;margin-bottom:16px;word-break:break-all}.ocr-fields{display:flex;flex-direction:column;gap:10px;margin:12px 0 20px}.ocr-field-row{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}.ocr-field-name{color:var(--color-text-secondary, #3a3a3c);font-weight:500;min-width:130px}.ocr-field-value{color:var(--color-text, #1c1c1e);font-family:-apple-system,BlinkMacSystemFont,SF Mono,monospace}.ocr-preview-modal{max-width:520px;width:95vw}.ocr-preview-hint{font-size:13px;color:var(--color-text-secondary, #6c757d);background:#f0f6ff;border:1px solid #b3d1ff;border-radius:6px;padding:8px 12px;margin:0 0 12px}.ocr-preview-filename{font-size:13px;font-weight:600;color:var(--color-text-primary, #212529);background:var(--color-bg-secondary, #f8f9fa);border:1px solid var(--color-border, #dee2e6);border-radius:4px;padding:6px 10px;margin-bottom:12px;word-break:break-all}.ocr-preview-pdf-hint{font-size:13px;color:var(--color-text-secondary, #6c757d);text-align:center;padding:20px;background:var(--color-bg-secondary, #f8f9fa);border-radius:6px;margin-bottom:16px}.ocr-preview-image-wrap{max-height:360px;overflow:auto;border:1px solid var(--color-border, #dee2e6);border-radius:6px;margin-bottom:16px;text-align:center;background:#fff}.ocr-preview-image{max-width:100%;height:auto;display:block;margin:0 auto}.ocr-preview-actions{display:flex;gap:8px;justify-content:flex-end}.ocr-compare-modal{max-width:760px;width:95vw}.ocr-compare-hint{font-size:13px;color:var(--color-text-secondary, #6c757d);background:#fff9e6;border:1px solid #ffe08a;border-radius:6px;padding:8px 12px;margin:0 0 14px}.ocr-compare-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:16px}.ocr-compare-table th{background:#f5f5f7;font-weight:600;font-size:12px;color:#6c757d;padding:8px 10px;text-align:left;border-bottom:2px solid #e0e0e0}.ocr-compare-table td{padding:8px 10px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.ocr-col-check{width:36px;text-align:center}.ocr-col-field{width:180px;font-weight:500;color:#3a3a3c}.ocr-col-ocr{font-family:SF Mono,monospace}.ocr-col-current{color:#6c757d;font-family:SF Mono,monospace}.ocr-col-status{width:100px;text-align:right}.ocr-row--new td{background:#f0fff4}.ocr-row--conflict td{background:#fffbf0}.ocr-row--match td{background:#fafafa;opacity:.7}.ocr-row--info td{background:#f8f9fa}.ocr-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.ocr-badge--match{background:#e8e8ea;color:#6c757d}.ocr-badge--new{background:#d4edda;color:#155724}.ocr-badge--conflict{background:#fff3cd;color:#856404}.ocr-badge--info{background:#e2eeff;color:#0d6efd}.ocr-badge--verify{background:#fff8e1;color:#7c5800;border:1px solid #ffe082}.ocr-badge--missing{background:#f3f4f6;color:#9ca3af}.ocr-row--missing td{color:#9ca3af;background:#fafafa}.ocr-summary-bar{padding:10px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:14px;font-size:13px}.ocr-summary-bar__header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.ocr-summary-bar__found{color:#15803d;font-weight:600}.ocr-summary-bar__missing{color:#6b7280}.ocr-field-checklist{display:flex;flex-wrap:wrap;gap:6px}.ocr-field-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap}.ocr-field-chip--found{background:#d1fae5;color:#065f46}.ocr-field-chip--missing{background:#f3f4f6;color:#9ca3af}.ocr-empty{color:#bbb}.ocr-not-found-hint{color:silver;font-size:11px;font-style:italic}.ocr-insurance-block{margin:16px 0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.ocr-insurance-block--verify{border-color:#fde68a;background:#fffbeb}.ocr-insurance-block__title{padding:8px 14px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb}.ocr-insurance-block--verify .ocr-insurance-block__title{background:#fef9c3;border-color:#fde68a;color:#92400e}.ocr-insurance-note{padding:8px 14px;font-size:12px;color:#6b7280;margin:0;border-top:1px solid #f3f4f6;background:#f9fafb}.tab-loading,.tab-error{padding:20px;text-align:center;color:var(--color-text-tertiary, #8e8e93);font-size:14px}.tab-error{color:var(--color-error, #dc3545)}.doc-btn--preview{background:none;border:1px solid #d1d5db;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:background .15s,border-color .15s;padding:0}.doc-btn--preview:hover:not(:disabled){background:#f0f4ff;border-color:#4870c0}.doc-btn--preview:disabled{opacity:.5;cursor:default}.document-card__thumb--clickable,.document-card__pdf-icon--clickable{cursor:pointer}.document-card__thumb--clickable:hover{opacity:.85;box-shadow:0 0 0 2px #4870c0;border-radius:4px}.document-card__pdf-icon--clickable:hover{opacity:.75}.doc-preview-overlay{background:#000000b8}.doc-preview-modal{position:relative;display:flex;flex-direction:column;width:92vw;max-width:1100px;height:90vh;background:#1a1a2e;border-radius:12px;overflow:hidden;box-shadow:0 24px 64px #0009}.doc-preview-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#22223b;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.doc-preview-modal__name{font-size:14px;font-weight:500;color:#e8eaf6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.doc-preview-modal__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.doc-preview-modal__close{background:#ffffff14;border:none;border-radius:6px;color:#e8eaf6;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:background .15s}.doc-preview-modal__close:hover{background:#ffffff2e}.doc-preview-modal__body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#12121f}.doc-preview-modal__iframe{width:100%;height:100%;border:none;display:block}.doc-preview-modal__image{max-width:100%;max-height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none}.doc-preview-modal__stub{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px;text-align:center}.doc-preview-modal__stub-icon{font-size:56px;line-height:1}.doc-preview-modal__stub-text{font-size:14px;color:#9e9eb8;margin:0}.doc-preview-modal__actions .btn-secondary{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#e8eaf6;font-size:12px;padding:5px 12px;border-radius:6px;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:background .15s}.doc-preview-modal__actions .btn-secondary:hover{background:#fff3}.vehicle-edit-page{padding:2rem;max-width:1200px;margin:0 auto}.vehicle-edit-page .header-left{display:flex;flex-direction:column;gap:8px}.nested-entities-section{margin-top:2rem;border:2px solid #e0e0e0;background-color:#f9f9f9}.nested-entities-section legend{background-color:#2196f3;color:#fff;padding:.5rem 1rem;border-radius:4px}.nested-entities-list{margin-bottom:1rem}.nested-table{width:100%;border-collapse:collapse;margin-bottom:1rem;background-color:#fff}.nested-table thead{background-color:#f5f5f5}.nested-table th,.nested-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e0e0e0}.nested-table th{font-weight:600;color:#333}.nested-table tbody tr:hover{background-color:#f9f9f9}.no-data{padding:1rem;text-align:center;color:#666;font-style:italic;background-color:#fff;border-radius:4px;margin-bottom:1rem}.nested-form{margin-top:1rem;padding:1.5rem;background-color:#fff;border:1px solid #ddd;border-radius:4px}.nested-form h4{margin-top:0;margin-bottom:1rem;color:#333}.btn-sm{padding:.25rem .75rem;font-size:.875rem}.vehicle-edit-page .page-header{margin-bottom:30px}.vehicle-edit-page .page-header h1{font-size:28px;font-weight:600;color:#1a1a1a;margin:0}.vehicle-edit-page .placeholder-content{background:#f5f5f5;border:1px dashed #ccc;border-radius:8px;padding:40px;text-align:center;margin-bottom:30px}.vehicle-edit-page .placeholder-content p{font-size:16px;color:#666;margin:0 0 12px}.vehicle-edit-page .placeholder-content p:last-child{margin-bottom:0}.vehicle-edit-page .form-actions{display:flex;gap:12px;justify-content:flex-start}.vehicle-edit-page .btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.vehicle-edit-page .btn-primary{background:#007bff;color:#fff}.vehicle-edit-page .btn-primary:hover{background:#0056b3}.vehicle-edit-page .btn-secondary{background:#6c757d;color:#fff}.vehicle-edit-page .btn-secondary:hover{background:#545b62}.vehicle-edit-page .btn:disabled{opacity:.6;cursor:not-allowed}.vehicle-edit-page .loading,.vehicle-edit-page .error-container{padding:40px;text-align:center}.vehicle-edit-page .error-message{color:#dc3545;font-size:16px;margin-bottom:20px}.vehicle-edit-page .road-train-section{border-color:#e8a020;background:#fffbf2}.vehicle-edit-page .road-train-section legend{color:#b36b00;font-weight:600}.vehicle-edit-page .road-train-info{margin-top:16px;padding:14px 16px;background:#fff8e6;border:1px solid #f0c060;border-radius:8px}.vehicle-edit-page .road-train-info h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#7a4f00}.vehicle-edit-page .road-train-stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.vehicle-edit-page .road-train-stat{display:flex;flex-direction:column;align-items:center;padding:8px 14px;background:#fff;border:1px solid #e8c87a;border-radius:6px;min-width:110px}.vehicle-edit-page .road-train-stat--total{border-color:#d4a017;background:#fff9e0}.vehicle-edit-page .road-train-stat--limit{border-color:#c0392b;background:#fff5f5}.vehicle-edit-page .road-train-stat .stat-label{font-size:11px;color:#888;text-align:center;margin-bottom:4px}.vehicle-edit-page .road-train-stat .stat-value{font-size:16px;font-weight:700;color:#333}.vehicle-edit-page .road-train-stat--limit .stat-value{color:#c0392b}.vehicle-edit-page .road-train-note{margin:8px 0 0;font-size:12px;color:#7a6030;line-height:1.5}.vehicle-edit-page .trailer-search-input{width:100%;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box;margin-bottom:4px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 8px center;padding:6px 10px 6px 28px}.vehicle-edit-page .trailer-search-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.vehicle-edit-page #current_trailer_id{width:100%;box-sizing:border-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog{background:#fff;border-radius:10px;padding:28px 32px;max-width:420px;width:90%;box-shadow:0 8px 32px #0000002e}.modal-title{margin:0 0 12px;font-size:17px;font-weight:600;color:#1a1a1a}.modal-body{font-size:14px;color:#444;line-height:1.6;margin:0 0 20px}.modal-tractor-link{color:var(--color-info-hover);text-decoration:underline;font-weight:500}.modal-tractor-link:hover{color:var(--color-info-text)}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.drivers-list-page{padding:2rem}.drivers-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.drivers-list-page .page-header h1{margin:0;font-size:1.75rem;color:#1a1a1a;font-weight:700}.drivers-skeleton{display:flex;flex-direction:column;gap:.75rem}.filter-search{flex:1;min-width:200px}.filter-input{height:36px;padding:0 .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#1f2937;background:#fafafa;transition:border-color .15s,box-shadow .15s;width:100%;box-sizing:border-box}.filter-select{height:36px;padding:0 .625rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#1f2937;background:#fafafa;cursor:pointer;transition:border-color .15s}.filter-select:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61f;background:#fff}.drivers-count{font-size:.8rem;color:#9ca3af;padding:.5rem 1rem .25rem}.drivers-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 6px #00000014,0 4px 16px #0000000a;overflow:hidden}.drivers-table{width:100%;border-collapse:collapse}.drivers-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.drivers-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.drivers-table td{padding:.875rem 1rem;border-bottom:1px solid #f3f4f6;font-size:.875rem;color:#1f2937;vertical-align:middle}.drivers-table tbody tr:last-child td{border-bottom:none}.drivers-table tbody tr.clickable-row{cursor:pointer;transition:background .1s}.drivers-table tbody tr.clickable-row:hover{background:#f0f7ff}.driver-name-cell{font-weight:500}.status-badge{display:inline-block;padding:.25rem .625rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.license-expired{color:var(--color-danger);font-weight:500}.license-expiring{color:#d97706;font-weight:500}.empty-state{background:#fff;border-radius:12px;padding:3rem;text-align:center;box-shadow:0 1px 4px #00000014}.empty-state p{margin:0;color:#6b7280;font-size:1rem}.btn-primary:hover{background:var(--color-info-text);box-shadow:0 2px 6px #2563eb66}@media (max-width: 768px){.drivers-list-page{padding:1rem}.filters-panel{flex-direction:column;align-items:stretch}.filter-search{min-width:unset}.drivers-table-container{overflow-x:auto}.drivers-table{min-width:640px}}.driver-form-page{padding:2rem;max-width:900px}.driver-form-header{margin-bottom:1.75rem}.driver-form-header h1{margin:.25rem 0 0;font-size:1.75rem;font-weight:700;color:#1a1a1a}.back-link{display:inline-block;font-size:.875rem;color:#6b7280;text-decoration:none;margin-bottom:.25rem;transition:color .15s}.form-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 4px #00000012,0 4px 12px #0000000a}.section-title{margin:0 0 1.25rem;font-size:1rem;font-weight:700;color:#374151}.form-section-collapsible{padding:0;overflow:hidden}.section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:none;border:none;cursor:pointer;text-align:left}.section-toggle .section-title{margin:0;font-size:1rem;font-weight:700;color:#374151}.section-toggle:hover{background:#f9fafb}.toggle-icon{font-size:.75rem;color:#9ca3af}.collapsible-content{padding:0 1.5rem 1.5rem;border-top:1px solid #f3f4f6}.form-grid{display:grid;gap:1rem;margin-bottom:1rem}.form-grid:last-child{margin-bottom:0}.form-grid-2{grid-template-columns:repeat(2,1fr)}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field label{font-size:.8125rem;font-weight:600;color:#374151}.form-field input,.form-field select,.form-field textarea{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#1f2937;background:#fafafa;transition:border-color .15s,box-shadow .15s;font-family:inherit}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61f;background:#fff}.form-field textarea{resize:vertical;min-height:80px}.form-field.field-error input,.form-field.field-error select,.form-field.field-error textarea{border-color:#ef4444}.field-error-msg{font-size:.75rem;color:var(--color-danger)}.field-hint{font-size:.73rem;color:#9ca3af;margin-top:2px;display:block}.form-error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.875rem 1rem;color:#991b1b;font-size:.875rem;margin-bottom:1rem}.form-skeleton{display:flex;flex-direction:column;gap:0}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5625rem 1.125rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:background .15s,box-shadow .15s,transform .1s;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary:hover:not(:disabled){background:var(--color-info-text);box-shadow:0 2px 6px #2563eb66}.passport-check-row{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}.passport-check-result{font-size:.8125rem;font-weight:600;padding:.25rem .625rem;border-radius:6px}.passport-valid{background:#d1fae5;color:#065f46}.passport-invalid{background:#fee2e2;color:#991b1b}.passport-check-error{background:#fef3c7;color:#92400e}.passport-check-hint{font-size:.75rem;color:#9ca3af}.section-filled-badge{margin-left:.5rem;font-size:.7rem;font-weight:600;padding:.125rem .5rem;border-radius:10px;background:#dbeafe;color:var(--color-info-text);vertical-align:middle}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.driver-consent-block{margin-top:1.5rem;padding:20px;background:#f8faff;border:1px solid #c9d8f5;border-radius:12px}.driver-consent-block__header{margin-bottom:14px}.driver-consent-block__title{font-size:15px;font-weight:700;color:#1c1c1e;margin:0 0 6px}.driver-consent-block__subtitle{font-size:13px;color:#5c6b8a;margin:0;line-height:1.5}.driver-consent-block__link{color:var(--color-info-hover);text-decoration:none}.driver-consent-block__link:hover{text-decoration:underline}.driver-consent-block__items{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.driver-consent-item{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1.5px solid #e0e7f0;border-radius:10px;padding:14px;cursor:pointer;transition:border-color .15s,background .15s}.driver-consent-item:hover{border-color:#93b3f0}.driver-consent-item--checked{border-color:var(--color-info-hover);background:#f0f5ff}.driver-consent-item--error{border-color:var(--color-danger);background:#fff5f5}.driver-consent-item__checkbox{margin-top:2px;width:16px;height:16px;accent-color:var(--color-info-hover);flex-shrink:0;cursor:pointer}.driver-consent-item__content{flex:1;min-width:0}.driver-consent-item__header{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:4px}.driver-consent-item__label{font-size:13px;font-weight:600;color:#1c1c1e}.driver-consent-item__badge{font-size:11px;font-weight:600;background:#fff3e0;color:#b25000;border:1px solid #ffd4a3;border-radius:20px;padding:1px 7px;white-space:nowrap}.driver-consent-item__required{font-size:11px;color:var(--color-danger);background:#fff0f0;border:1px solid #ffcccc;border-radius:20px;padding:1px 7px}.driver-consent-item__description{font-size:12px;color:#5c6b8a;margin:0;line-height:1.5}.driver-consent-item__error{font-size:12px;color:var(--color-danger);margin:4px 0 0}.driver-consent-block__note{font-size:12px;color:#8e8e93;margin:0;line-height:1.5}@media (max-width: 768px){.driver-form-page{padding:1rem}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.driver-detail-page{padding:2rem;max-width:1100px}.driver-detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.header-left{display:flex;flex-direction:column;gap:.375rem}.header-left h1{margin:0;font-size:1.75rem;font-weight:700;color:#1a1a1a}.header-actions{display:flex;gap:.625rem;align-items:center;flex-shrink:0}.back-link{font-size:.875rem;color:#6b7280;text-decoration:none;transition:color .15s}.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.section-title-row .section-title{margin-bottom:0}.assignments-table tbody tr.row-active{background:#f0fdf4}.text-muted{color:#9ca3af;font-style:italic}.driver-quick-links{display:flex;gap:.625rem;margin-bottom:1.25rem;flex-wrap:wrap}.quick-link-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:.8125rem;font-weight:500;color:#374151;text-decoration:none;transition:background .15s,border-color .15s}.quick-link-btn:hover{background:#f0f7ff;border-color:#93c5fd;color:var(--color-info-text)}.status-badge{display:inline-block;padding:.25rem .625rem;border-radius:20px;font-size:.75rem;font-weight:600}.status-active{background:#d1fae5;color:#065f46}.status-on_leave{background:#fef3c7;color:#92400e}.status-inactive{background:#f3f4f6;color:#6b7280}.status-suspended{background:#fee2e2;color:#991b1b}.status-dismissed{background:#f3f4f6;color:#4b5563}.gender-badge{display:inline-block;padding:.2rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;background:#ede9fe;color:#5b21b6}.header-badges{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.btn-outline{background:#fff;color:var(--color-info-hover);border:1.5px solid var(--color-info-hover)}.btn-outline:hover:not(:disabled){background:#eff6ff}.driver-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:2rem}.detail-card{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 1px 4px #00000012,0 4px 12px #0000000a}.detail-card-wide{grid-column:1 / -1}.card-title{margin:0 0 1rem;font-size:.875rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.detail-list{display:flex;flex-direction:column;gap:.625rem;margin:0}.detail-list-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem 1.5rem}.detail-item{display:flex;flex-direction:column;gap:.125rem}.detail-item-full{grid-column:1 / -1}.detail-item dt{font-size:.75rem;color:#9ca3af;font-weight:500}.detail-item dd{margin:0;font-size:.875rem;color:#1f2937;font-weight:500}.detail-item dd a{color:var(--color-info-hover);text-decoration:none}.detail-item dd a:hover{text-decoration:underline}.text-danger{color:var(--color-danger);font-weight:600}.text-warning{color:#d97706;font-weight:600}.notes-text{margin:0;font-size:.875rem;color:#374151;line-height:1.6;white-space:pre-wrap}.assignments-section{margin-top:.5rem}.assignments-section .section-title{font-size:1.125rem;font-weight:700;color:#1a1a1a;margin-bottom:1rem}.assignments-loading,.assignments-empty{background:#fff;border-radius:12px;padding:2rem;text-align:center;color:#9ca3af;font-size:.875rem;box-shadow:0 1px 4px #00000012}.assignments-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000012,0 4px 12px #0000000a;overflow:hidden}.assignments-table{width:100%;border-collapse:collapse}.assignments-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.assignments-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.assignments-table td{padding:.875rem 1rem;border-bottom:1px solid #f3f4f6;font-size:.875rem;color:#1f2937}.assignments-table tbody tr:last-child td{border-bottom:none}.table-link{color:var(--color-info-hover);text-decoration:none;font-weight:500}.table-link:hover{text-decoration:underline}.table-actions-cell{white-space:nowrap;text-align:right}.btn-xs{padding:.2rem .55rem;font-size:.75rem;border-radius:6px;margin-left:.35rem}.vehicle-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#1f2937;cursor:pointer;text-align:left;transition:border-color .15s}.vehicle-select-trigger:hover{border-color:#9ca3af}.vehicle-select-arrow{font-size:.65rem;color:#9ca3af;margin-left:.5rem;flex-shrink:0}.vehicle-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:200;overflow:hidden}.vehicle-select-search{padding:.5rem;border-bottom:1px solid #f3f4f6}.vehicle-select-search input{width:100%;padding:.4rem .6rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.875rem;outline:none;background:#f9fafb;box-sizing:border-box}.vehicle-select-search input:focus{border-color:#6366f1;background:#fff}.vehicle-select-options{max-height:220px;overflow-y:auto}.vehicle-select-option{display:flex;align-items:baseline;gap:.5rem;padding:.55rem .75rem;cursor:pointer;transition:background .1s}.vehicle-select-option:hover{background:#f5f3ff}.vehicle-select-option--selected{background:#ede9fe}.vehicle-option-plate{font-weight:600;font-size:.875rem;color:#1f2937;white-space:nowrap}.vehicle-option-name{font-size:.8rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-select-empty{padding:.75rem;text-align:center;font-size:.875rem;color:#9ca3af}.assignment-badge{display:inline-block;padding:.2rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.assignment-pending{background:#f3f4f6;color:#6b7280}.assignment-active{background:#dbeafe;color:var(--color-info-text)}.assignment-in_progress{background:#d1fae5;color:#065f46}.assignment-completed{background:#e0e7ff;color:#4338ca}.assignment-cancelled{background:#fee2e2;color:#991b1b}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:background .15s,box-shadow .15s,transform .1s;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-danger{background:#fef2f2;color:var(--color-danger);border:1px solid #fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2}.driver-detail-loading{padding:1rem 0}.skeleton-block{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:12px}.error-state{background:#fff;border-radius:12px;padding:3rem;text-align:center;box-shadow:0 1px 4px #00000012;display:flex;flex-direction:column;align-items:center;gap:1rem}.error-state p{margin:0;color:#6b7280;font-size:1rem}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.card-title-row .card-title{margin-bottom:0}.passport-check-inline{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.passport-qc-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:6px;font-size:.8125rem;font-weight:600}.qc-valid{background:#d1fae5;color:#065f46}.qc-invalid{background:#fee2e2;color:#991b1b}.qc-checked-at{font-weight:400;opacity:.7;font-size:.75rem}.passport-check-error-inline{font-size:.75rem;color:#d97706}.modal-dialog-md{max-width:500px}.modal-subtitle{margin:-.5rem 0 1rem;font-size:.875rem;color:#6b7280}.modal-loading{padding:.5rem 0;font-size:.875rem;color:#9ca3af}.modal-dialog .form-field{display:flex;flex-direction:column;gap:.3rem}.modal-dialog .form-field label{font-size:.8125rem;font-weight:600;color:#374151}.modal-dialog .form-field input,.modal-dialog .form-field select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#1f2937;background:#fafafa}.modal-dialog .form-field input:focus,.modal-dialog .form-field select:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61f}.modal-dialog .form-grid{display:grid;gap:.75rem}.modal-dialog .form-grid-2{grid-template-columns:repeat(2,1fr)}.modal-dialog .form-error-banner{margin-bottom:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.625rem .875rem;color:#991b1b;font-size:.8125rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-dialog{background:#fff;border-radius:16px;padding:2rem;max-width:400px;width:100%;box-shadow:0 20px 60px #0003}.modal-dialog h3{margin:0 0 .75rem;font-size:1.125rem;font-weight:700;color:#111827}.modal-dialog p{margin:0 0 1.5rem;font-size:.875rem;color:#4b5563;line-height:1.6}.modal-actions{display:flex;gap:.625rem;justify-content:flex-end}.modal-dialog--wide{max-width:600px}.schedule-conflict-table-wrap{max-height:280px;overflow-y:auto;margin:.75rem 0 1rem;border-radius:8px;border:1px solid #e5e7eb}.schedule-conflict-table th{padding:8px 12px;background:#f9fafb;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;position:sticky;top:0}.schedule-conflict-table td{padding:7px 12px;border-bottom:1px solid #f3f4f6;color:#374151}@media (max-width: 768px){.driver-detail-page{padding:1rem}.driver-detail-header{flex-direction:column}.header-actions{width:100%}.driver-detail-grid,.detail-list-2col{grid-template-columns:1fr}.assignments-table-container{overflow-x:auto}.assignments-table{min-width:560px}}.documents-page{max-width:900px;margin:0 auto;padding:0 16px}.documents-page .page-header{margin-bottom:24px}.documents-page .page-header h1{margin:0 0 4px;font-size:22px}.documents-page .page-subtitle{margin:0;color:#666;font-size:14px}.docs-overview{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media (max-width: 700px){.docs-overview{grid-template-columns:1fr}}.docs-section.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 4px #00000012;display:flex;flex-direction:column}.docs-section-icon{font-size:28px;margin-bottom:8px}.docs-section h2{font-size:16px;margin:0 0 8px}.docs-section p{font-size:13px;color:#555;margin:0 0 10px;line-height:1.5}.docs-features{margin:0;padding-left:18px;font-size:13px;color:#444;line-height:1.7}.docs-features li{margin-bottom:2px}.docs-status-banner{display:flex;align-items:center;gap:10px;background:#fffbeb;border:1px solid #f5d06050;border-radius:10px;padding:14px 18px;font-size:13px;color:#92690a}.docs-status-icon{font-size:20px;flex-shrink:0}.tp-page{max-width:960px;margin:0 auto;padding:24px 16px}.tp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.tp-header h1{font-size:22px;font-weight:700;color:#1a1a2e;margin:0}.tp-error{padding:12px 16px;background:#fdecea;border:1px solid #f5c6cb;border-radius:8px;color:#842029;margin-bottom:16px}.tp-empty{text-align:center;padding:48px 24px;color:#6c757d;background:#f8f9fa;border-radius:12px;border:1px dashed #ced4da}.tp-empty p{margin:4px 0}.tp-card{background:#fff;border:1px solid #dee2e6;border-radius:10px;padding:16px 20px;margin-bottom:12px;box-shadow:0 1px 4px #0000000f;transition:box-shadow .2s}.tp-card:hover{box-shadow:0 3px 10px #0000001a}.tp-card-inactive{opacity:.6}.tp-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.tp-card-title{display:flex;align-items:center;gap:8px;font-size:16px}.tp-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tp-status-dot.active{background:#198754;box-shadow:0 0 4px #19875480}.tp-status-dot.inactive{background:#adb5bd}.tp-badge{font-size:12px;padding:2px 8px;background:#e8f0fe;color:#1a73e8;border-radius:12px;font-weight:500}.tp-card-actions{display:flex;gap:6px;flex-wrap:wrap}.tp-card-info{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:10px;font-size:13px;color:#6c757d}.tp-card-info code{font-size:12px;background:#f1f3f5;padding:1px 5px;border-radius:4px}.tp-last-error{color:#dc3545;font-weight:500}.tp-test-banner{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;margin-bottom:12px;font-size:14px;font-weight:500}.tp-test-banner.success{background:#d1e7dd;color:#0f5132;border:1px solid #badbcc}.tp-test-banner.fail{background:#f8d7da;color:#842029;border:1px solid #f5c2c7}.tp-test-close{margin-left:auto;background:none;border:none;font-size:18px;cursor:pointer;color:inherit;padding:0 4px}.tp-modal{max-width:520px}.tp-modal-wide{max-width:720px}.tp-form-error{color:#dc3545;font-size:13px;margin-bottom:10px}.tp-field-hint{font-size:12px;color:#6c757d;margin:6px 0 0;line-height:1.45}.tp-field-hint a{color:#0d6efd;text-decoration:none}.tp-field-hint a:hover{text-decoration:underline}.tp-field-hint code{font-size:11px;background:#f1f3f4;padding:1px 4px;border-radius:4px}.form-row{display:flex;gap:16px;align-items:flex-end}.checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:500}.tp-mapping-hint{font-size:14px;color:#495057;margin-bottom:12px}.tp-mapping-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:12px}.tp-mapping-table th{text-align:left;padding:8px;background:#f8f9fa;border-bottom:2px solid #dee2e6;font-weight:600;color:#495057;font-size:13px}.tp-mapping-table td{padding:6px 8px;border-bottom:1px solid #eee}.tp-mapping-table select{width:100%;padding:6px 8px;border:1px solid #ced4da;border-radius:6px;font-size:13px}.tp-add-row{margin-bottom:16px}.monitoring-page{display:flex;flex-direction:column;height:calc(100vh - 64px)}.monitoring-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid #dee2e6;background:#fff;flex-shrink:0}.monitoring-header h1{font-size:20px;font-weight:700;margin:0;color:#1a1a2e}.monitoring-controls{display:flex;align-items:center;gap:12px;font-size:13px}.monitoring-auto-label{display:flex;align-items:center;gap:5px;cursor:pointer}.monitoring-controls select{padding:4px 8px;border:1px solid #ced4da;border-radius:6px;font-size:13px}.monitoring-last-update{color:#6c757d}.monitoring-body{display:flex;flex:1;min-height:0}.monitoring-map-wrap{flex:1;min-width:0;position:relative}.monitoring-map-shell{height:100%;min-height:100%;border:0;border-radius:0}.monitoring-map{width:100%;height:100%}.monitoring-sidebar{width:280px;flex-shrink:0;border-left:1px solid #dee2e6;background:#f8f9fa;overflow-y:auto;padding:12px}.monitoring-sidebar h3{font-size:15px;font-weight:600;margin:0 0 12px;color:#495057}.monitoring-empty{font-size:13px;color:#6c757d;text-align:left;padding:20px 0;line-height:1.6}.monitoring-error{font-size:13px;color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;padding:10px;margin-bottom:12px;white-space:pre-wrap;word-wrap:break-word;line-height:1.5}.monitoring-error strong{display:block;margin-bottom:4px}.monitoring-diagnostics-btn{display:block;margin-top:8px;padding:4px 8px;font-size:12px;background:#fff;border:1px solid #dc3545;border-radius:4px;color:#dc3545;cursor:pointer;transition:background .2s}.monitoring-diagnostics-btn:hover{background:#fff5f5}.monitoring-diagnostics{margin-top:12px;padding:10px;background:#fff;border-radius:4px;font-size:12px;line-height:1.6}.monitoring-diagnostics strong{display:block;margin-bottom:8px;color:#495057}.monitoring-diagnostics ol{margin:8px 0;padding-left:20px}.monitoring-diagnostics li{margin:6px 0}.monitoring-diagnostics kbd{background:#f1f3f4;border:1px solid #dadce0;border-radius:3px;padding:2px 6px;font-family:monospace;font-size:11px}.monitoring-diagnostics code{background:#f1f3f4;padding:2px 4px;border-radius:3px;font-size:11px;font-family:monospace}.monitoring-vehicle-list{display:flex;flex-direction:column;gap:6px}.monitoring-vehicle-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#fff;border-radius:8px;border:1px solid #e9ecef;cursor:default;transition:box-shadow .15s}.monitoring-vehicle-item:hover{box-shadow:0 2px 6px #00000014}.monitoring-v-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.monitoring-v-dot.moving{background:#198754;box-shadow:0 0 4px #19875480}.monitoring-v-dot.stopped{background:#adb5bd}.monitoring-v-dot.at-depot{background:#3d82c4;box-shadow:0 0 4px #3d82c480}.monitoring-v-info{min-width:0}.monitoring-v-name{font-size:13px;font-weight:600;color:#212529;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitoring-v-detail{font-size:12px;color:#6c757d}.monitoring-marker-icon{background:none!important;border:none!important}.monitoring-marker{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;width:80px;height:50px}.monitoring-marker-dot{width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px #0000004d;margin-bottom:4px}.monitoring-marker.moving .monitoring-marker-dot{background:#198754}.monitoring-marker.stopped .monitoring-marker-dot{background:#6c757d}.monitoring-marker.at-depot .monitoring-marker-dot{background:#3d82c4;border-color:#fff;box-shadow:0 1px 4px #3d82c473}.monitoring-marker-label{display:flex;flex-direction:column;align-items:center;gap:2px;background:#fffffff2;border:1px solid rgba(0,0,0,.2);border-radius:6px;padding:4px 6px;box-shadow:0 2px 6px #0003;min-width:60px;text-align:center}.monitoring-marker-number{font-size:12px;font-weight:700;color:#212529;line-height:1.2;white-space:nowrap}.monitoring-marker-speed-text{font-size:10px;color:#6c757d;line-height:1.2}.monitoring-popup strong{font-size:14px}.monitoring-popup-platform{margin-top:4px;font-size:11px;color:#6c757d}.monitoring-popup-muted{margin-top:4px;color:var(--color-text-tertiary);font-size:12px}.monitoring-popup-telemetry{margin:4px 0}.monitoring-popup-alarm,.monitoring-popup-violation{color:#dc3545;font-weight:600;margin-top:4px}.monitoring-popup-fueling{color:#198754;font-weight:600;margin-top:4px}.monitoring-data-list{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:12px;margin-bottom:16px;max-height:400px;overflow-y:auto}.monitoring-data-title{font-size:14px;font-weight:600;margin:0 0 10px;color:#495057;border-bottom:1px solid #dee2e6;padding-bottom:6px}.monitoring-data-categories{display:flex;flex-direction:column;gap:10px}.monitoring-data-category{font-size:12px}.monitoring-data-category strong{display:block;color:#212529;margin-bottom:4px;font-size:13px}.monitoring-data-category ul{margin:4px 0 0;padding-left:18px;color:#6c757d;line-height:1.5}.monitoring-data-category li{margin:2px 0}.monitoring-data-note{margin-top:12px;padding-top:10px;border-top:1px solid #e9ecef;font-size:11px;color:#6c757d;line-height:1.4}.monitoring-v-badge{display:inline-block;margin-left:4px;font-size:12px;vertical-align:middle}.monitoring-v-badge.alarm{color:#dc3545}.monitoring-v-badge.violation{color:#ffc107}.monitoring-v-badge.fueling{color:#198754}.monitoring-v-dot.has-alarm{box-shadow:0 0 6px #dc3545cc;animation:pulse-alarm 2s infinite}.monitoring-v-dot.has-violation{box-shadow:0 0 6px #ffc107cc}@keyframes pulse-alarm{0%,to{opacity:1}50%{opacity:.6}}.monitoring-v-extra{margin-top:4px;font-size:11px;color:#6c757d;display:flex;flex-wrap:wrap;gap:8px}.monitoring-v-extra span{white-space:nowrap}.monitoring-tabs{display:flex;gap:4px;margin-bottom:10px;border-bottom:1px solid #dee2e6;padding-bottom:8px}.monitoring-tab{flex:1;padding:6px 4px;font-size:12px;font-weight:500;color:#6c757d;background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:background .15s,color .15s;text-align:center;white-space:nowrap}.monitoring-tab:hover{background:#f1f3f4;color:#212529}.monitoring-tab--active{background:#e8f0f9;color:#1a5fa0;border-color:#c5d8ef;font-weight:600}.monitoring-tab-count{display:inline-block;margin-left:3px;background:#00000014;border-radius:10px;padding:0 5px;font-size:11px;font-weight:600}.monitoring-tab--active .monitoring-tab-count{background:#1a5fa026}.monitoring-summary{display:flex;gap:6px;flex-wrap:wrap;padding:6px 0 10px;border-bottom:1px solid #e9ecef;margin-bottom:10px}.monitoring-summary-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#495057;background:#f1f3f4;border-radius:10px;padding:3px 8px;white-space:nowrap}.monitoring-summary-item strong{font-weight:700}.monitoring-summary-item--depot{background:#e8f0f9;color:#1a5fa0}.monitoring-summary-item--moving{background:#e8f5ee;color:#145f37}.monitoring-summary-item--parked{background:#f1f3f4;color:#495057}.monitoring-depot-icon{background:none!important;border:none!important}.monitoring-depot-marker{display:flex;flex-direction:column;align-items:center;gap:2px}.monitoring-depot-marker__symbol{display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #5b7fa6;border-radius:50%;box-shadow:0 1px 4px #0003;font-style:normal;line-height:1}.monitoring-depot-marker--sm .monitoring-depot-marker__symbol{width:18px;height:18px;font-size:10px}.monitoring-depot-marker--md .monitoring-depot-marker__symbol{width:24px;height:24px;font-size:13px}.monitoring-depot-marker--lg .monitoring-depot-marker__symbol{width:30px;height:30px;font-size:16px}.monitoring-depot-marker__label{background:#ffffffeb;border:1px solid rgba(91,127,166,.4);border-radius:4px;padding:2px 5px;color:#1a3a5c;font-weight:600;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1.3}.monitoring-depot-marker__label--xs{font-size:9px}.monitoring-depot-marker__label--sm{font-size:10px}.monitoring-popup-depot{margin-top:4px;color:#1a5fa0;font-weight:600;font-size:12px}.monitoring-popup-depot-nocoords{margin-top:4px;color:#6c757d;font-size:12px;font-style:italic}.monitoring-map-overlay{padding:6px 10px}.monitoring-garages-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:#212529;cursor:pointer;-webkit-user-select:none;user-select:none}.address-book-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:20px}.page-header h1{margin:0;font-size:28px;font-weight:600;color:#1a1a1a}.address-book-subtitle{color:#64748b;font-size:14px;line-height:1.45;margin:6px 0 0}.page-header-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.page-header-info{color:#666;font-size:14px}.page-header-info strong{color:#1a1a1a;font-weight:600}.btn-edit{background:none;border:none;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;transition:background-color .2s;margin-right:4px}.btn-edit:hover{background:#e8e8ff}.filters-section{background:#fff;border:1px solid rgba(226,232,240,.92);border-radius:18px;padding:18px 20px;margin-bottom:24px;box-shadow:0 1px 3px #0f172a0f,0 16px 34px #0f172a0a;display:flex;flex-direction:column;gap:16px}.address-book-panel-heading{align-items:flex-start;border-bottom:1px solid rgba(226,232,240,.86);display:flex;gap:18px;justify-content:space-between;padding-bottom:14px}.address-book-panel-heading h2{color:#0f172a;font-size:18px;line-height:1.25;margin:4px 0 0}.address-book-panel-heading p{color:#64748b;font-size:13px;line-height:1.45;margin:0;max-width:430px}.address-book-kicker{color:#64748b;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.filters-form{display:block}.filters-row{align-items:end;display:grid;gap:14px;grid-template-columns:minmax(150px,180px) minmax(360px,1fr) minmax(150px,180px) auto auto}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:0}.filter-group label{white-space:nowrap;font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.filter-select{width:100%;padding:7px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.filter-select:focus{outline:none;border-color:#5e5ce6;box-shadow:0 0 0 3px #5e5ce61a}.filter-bbox{flex-direction:column;gap:4px;min-width:0}.filter-bbox-fields{display:grid;gap:6px;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}.filter-input-small{min-width:0;width:100%;max-width:none;padding:7px 8px;border:1px solid #ddd;border-radius:6px;font-size:13px}.filter-input-small:focus{outline:none;border-color:#5e5ce6;box-shadow:0 0 0 3px #5e5ce61a}.filter-input{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:0}.filter-input:focus{outline:none;border-color:#5e5ce6;box-shadow:0 0 0 3px #5e5ce61a}.filters-row .btn,.filters-row .btn-warning,.filters-row .filter-checkbox-label,.filters-row .bulk-check-controls{align-self:flex-end}.filter-search{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(280px,1fr) auto auto}.filter-search .filter-input{min-width:0}.filters-actions-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid rgba(226,232,240,.86)}.address-book-actions-copy{display:grid;gap:3px}.address-book-actions-copy strong{color:#0f172a;font-size:14px}.address-book-actions-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.error-message{background:#fee;color:#c33;padding:12px 16px;border-radius:6px;margin-bottom:16px;border:1px solid #fcc}.loading-message{text-align:center;padding:40px;color:#666;font-size:16px}.addresses-table-wrapper{background:#fff;border:1px solid rgba(226,232,240,.92);border-radius:16px;overflow-x:auto;overflow-y:visible;box-shadow:0 1px 3px #0f172a0f,0 14px 32px #0f172a09;-webkit-overflow-scrolling:touch}.addresses-table{width:100%;min-width:900px;border-collapse:collapse;table-layout:auto}.addresses-table thead{background:#f8fafc}.addresses-table th{padding:12px 0 12px 14px;text-align:left;font-weight:600;font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #e2e8f0;overflow:hidden}.addresses-table td{padding:14px;border-bottom:1px solid #edf2f7;vertical-align:top;font-size:13px}.addresses-table tbody tr:hover{background:#f8fafc}.addresses-table tbody tr:last-child td{border-bottom:none}.address-cell{min-width:180px;max-width:280px}.address-text{font-weight:500;color:#1a1a1a;margin-bottom:4px}.address-normalized{font-size:12px;color:#999;font-style:italic}.coords-cell{font-family:Monaco,Menlo,Courier New,monospace;font-size:12px;white-space:nowrap}.coords-value{color:#1a1a1a;margin-bottom:4px}.coords-link{color:#5e5ce6;text-decoration:none;font-size:12px}.coords-link:hover{text-decoration:underline}.source-cell{white-space:nowrap}.source-badge{display:inline-block;padding:4px 8px;background:#e8e8ff;color:#5e5ce6;border-radius:4px;font-size:12px;font-weight:500}.usage-cell{text-align:center;font-weight:500;color:#1a1a1a;white-space:nowrap;width:90px}.date-cell{font-size:13px;color:#666;white-space:nowrap}.actions-cell{text-align:center;white-space:nowrap;width:72px}.btn-delete{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:background-color .2s}.btn-delete:hover{background:#fee}.empty-state{text-align:center;padding:60px 20px;color:#999;font-size:16px}.address-book-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0006;display:flex;align-items:center;justify-content:center;padding:1rem}.address-book-modal-overlay--scrollable{align-items:flex-start;overflow-y:auto;padding:28px 18px}.address-book-form-modal{background:#fff;border-radius:10px;box-shadow:0 20px 40px #00000026;width:100%;max-width:440px;padding:1.5rem 1.75rem}.address-book-form-modal--edit{border:1px solid rgba(226,232,240,.92);border-radius:18px;box-shadow:0 24px 60px #0f172a38;max-width:720px;overflow:hidden;padding:0}.address-book-form-modal h2{margin:0 0 1.25rem;font-size:1.25rem;font-weight:600;color:#1a1a1a}.address-book-form-modal .form-error{background:#fee;color:#c33;padding:8px 12px;border-radius:6px;margin-bottom:1rem;font-size:13px}.address-book-form-modal .form-group{margin-bottom:1rem}.address-book-form-modal--edit .form-group{margin-bottom:14px}.address-book-form-modal--edit .form-group:last-child{margin-bottom:0}.address-book-form-modal .form-group label{display:block;margin-bottom:4px;font-size:13px;font-weight:500;color:#374151}.address-book-form-modal .form-group input,.address-book-form-modal .form-group select,.address-book-form-modal .form-group textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;box-sizing:border-box}.address-book-form-modal .form-group textarea{font-family:inherit;line-height:1.5;resize:vertical}.address-book-form-modal .form-row{display:flex;gap:12px}.address-book-form-modal .form-row .form-group{flex:1}.address-book-form-modal .form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e5e7eb}.address-book-form-modal--edit .form-actions{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-top:1px solid rgba(226,232,240,.92);bottom:0;margin:0;padding:16px 24px;position:sticky;z-index:2}.address-edit-header{background:radial-gradient(circle at 12% 18%,rgba(59,130,246,.12),transparent 30%),linear-gradient(135deg,#0f172a,#162033 58%,#1e293b);color:#f8fafc;padding:22px 24px}.address-edit-header h2{color:#fff;font-size:22px;line-height:1.25;margin:6px 0 8px}.address-edit-header p{color:#e2e8f0d1;font-size:13px;line-height:1.5;margin:0}.address-edit-kicker,.address-edit-section-label{display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.address-edit-kicker{color:#93c5fd}.address-edit-section-label{color:#64748b}.address-edit-form{background:#f8fafc;display:grid;gap:14px;padding:16px 18px 0}.address-edit-section{background:#fff;border:1px solid rgba(226,232,240,.92);border-radius:16px;box-shadow:0 1px 3px #0f172a0f,0 12px 28px #0f172a0a;padding:18px}.address-edit-section--primary{border-color:#2563eb2e;box-shadow:0 1px 3px #0f172a12,0 18px 36px #2563eb0f}.address-edit-section--terminal{background:linear-gradient(180deg,#fff,#fbfcff)}.address-edit-section__head{align-items:flex-start;border-bottom:1px solid rgba(226,232,240,.86);display:flex;gap:16px;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.address-edit-section__head h3{color:#0f172a;font-size:17px;line-height:1.25;margin:4px 0 0}.address-edit-section__head p{color:#64748b;font-size:12px;line-height:1.45;margin:0;max-width:320px}.address-book-form-modal--edit .address-edit-coordinates-row{align-items:start;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.address-book-form-modal--edit .address-edit-coordinates-row .form-group{min-width:0}.address-edit-confirm-backdrop{align-items:center;background:#0f172a7a;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:2100}.address-edit-confirm{background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:18px;box-shadow:0 28px 70px #0f172a42;max-width:520px;overflow:hidden;width:100%}.address-edit-confirm__body{padding:22px 24px 18px}.address-edit-confirm__kicker{color:#b45309;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.address-edit-confirm h3{color:#0f172a;font-size:22px;line-height:1.25;margin:8px 0}.address-edit-confirm p{color:#475569;font-size:14px;line-height:1.55;margin:0}.address-edit-confirm__actions{background:#f8fafc;border-top:1px solid rgba(226,232,240,.9);display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:16px 18px}.address-edit-confirm__actions .btn-danger{margin-left:auto}.address-book-form-modal--edit .form-checkbox-row,.address-book-form-modal--edit .terminal-binding-radio{align-items:center;display:inline-flex;gap:8px}.address-book-form-modal--edit .form-checkbox-row input,.address-book-form-modal--edit .terminal-binding-radio input{flex:0 0 auto;margin:0;width:auto}.address-book-form-modal--edit .form-checkbox-label{color:#0f172a;font-size:14px;font-weight:600}.terminal-binding-options{background:#f8fafc;border:1px solid rgba(226,232,240,.92);border-radius:12px;display:grid;gap:10px;margin-top:12px;padding:12px}.terminal-binding-status{align-items:center;background:#f8fafc;border:1px solid rgba(226,232,240,.92);border-radius:12px;display:flex;gap:12px;justify-content:space-between;margin-top:12px;padding:12px}.terminal-binding-info{color:#334155;font-size:13px;font-weight:600}.terminal-binding-name-input,.terminal-binding-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;box-sizing:border-box}@media (max-width: 1100px){.filters-row{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bbox{grid-column:1 / -1}.filters-actions-row{align-items:flex-start;flex-direction:column}.address-book-actions-buttons{justify-content:flex-start}}@media (max-width: 760px){.address-book-page{padding:16px}.page-header,.address-book-panel-heading,.table-toolbar{flex-direction:column;align-items:stretch}.page-header-actions{justify-content:flex-start}.filter-search,.filters-row,.filter-bbox-fields{grid-template-columns:1fr}.address-book-actions-buttons,.address-book-actions-buttons .btn,.bulk-check-controls{width:100%}.address-book-actions-buttons .btn,.bulk-check-controls .btn{justify-content:center}.address-book-modal-overlay--scrollable{padding:12px}.address-book-form-modal--edit{border-radius:14px}.address-edit-header{padding:20px}.address-edit-form{padding:12px 12px 0}.address-edit-section{padding:16px}.address-edit-section__head,.address-book-form-modal--edit .form-row:not(.address-edit-coordinates-row),.address-book-form-modal--edit .address-edit-coordinates-row,.terminal-binding-status{align-items:flex-start;flex-direction:column}.address-book-form-modal--edit .address-edit-coordinates-row{grid-template-columns:1fr}.address-edit-section__head p{max-width:none}.address-edit-confirm__actions{flex-direction:column;width:100%}.address-operation-confirm{margin:0 12px}.address-operation-confirm__actions{flex-direction:column-reverse}.address-operation-confirm__actions .btn,.address-edit-confirm__actions .btn{width:100%}.address-edit-confirm__actions .btn-danger{margin-left:0}.form-field-with-action{align-items:stretch;flex-direction:column}.address-book-form-modal--edit .form-actions{flex-direction:column-reverse;padding:12px}.address-book-form-modal--edit .form-actions .btn{width:100%}}.address-text-link{background:none;border:none;padding:0;margin:0;font-size:14px;font-weight:500;color:var(--color-info-hover);cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .15s,color .15s;line-height:1.4}.address-text-link:hover{color:var(--color-info-text);text-decoration-color:var(--color-info-text)}.address-view-modal{max-width:600px;width:100%}.address-view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.address-view-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.modal-close-btn{background:none;border:none;font-size:18px;color:#6b7280;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1;transition:background .15s,color .15s}.modal-close-btn:hover{background:#f3f4f6;color:#111827}.address-view-meta{display:flex;flex-direction:column;gap:8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;margin-bottom:1.5rem}.address-view-field{display:flex;gap:12px;align-items:baseline;font-size:13px}.address-view-label{width:160px;flex-shrink:0;color:#6b7280;font-weight:500}.address-view-value{color:#111827;flex:1}.address-visits-section{margin-bottom:1.5rem}.address-visits-title{font-size:15px;font-weight:600;color:#111827;margin:0 0 10px}.address-visits-loading,.address-visits-empty{font-size:13px;color:#9ca3af;padding:10px 0}.address-visits-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.address-visit-item{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:13px}.address-visit-dates{color:#111827;font-weight:500;flex:1;min-width:200px}.address-visit-dwell{color:#6b7280;font-weight:400}.address-visit-vehicle{background:#eff6ff;color:var(--color-info-text);border-radius:4px;padding:2px 7px;font-size:12px;font-weight:500}.address-visit-source{background:#f0fdf4;color:#15803d;border-radius:4px;padding:2px 7px;font-size:12px;font-weight:500}.address-visit-order-link{color:var(--color-info-hover);font-weight:600;font-size:13px;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}.address-visit-order-link:hover{border-bottom-color:var(--color-info-hover)}.address-row-alias{background:#fafbff;opacity:.92}.address-cell-main{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.alias-badge{display:inline-block;font-size:11px;font-weight:600;color:#7c3aed;background:#ede9fe;border-radius:4px;padding:1px 6px;line-height:1.5;white-space:nowrap;letter-spacing:.01em}.alias-badge-view{margin-left:8px;font-size:12px}.canonical-badge{display:inline-block;font-size:11px;font-weight:600;color:#0369a1;background:#e0f2fe;border-radius:4px;padding:1px 6px;line-height:1.5;white-space:nowrap}.alias-coords-note{font-size:12px;color:#6b7280;margin-left:4px}.address-aliases-section{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:14px}.address-aliases-section-alias{background:#faf5ff;border-radius:6px;padding:12px 14px;border:1px solid #ddd6fe;margin-top:12px}.address-aliases-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.address-aliases-title{margin:0;font-size:15px;font-weight:600;color:#1a1a1a}.address-aliases-empty{font-size:13px;color:#6b7280;margin:0}.address-aliases-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.address-alias-item{display:flex;align-items:center;gap:10px;background:#f5f3ff;border-radius:6px;padding:7px 12px;font-size:13px}.address-alias-text{flex:1;color:#1a1a1a}.address-alias-usage{color:#6b7280;font-size:12px;white-space:nowrap}.btn-unlink{background:none;border:1px solid #d1d5db;color:#374151;font-size:12px;border-radius:4px;padding:3px 10px;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-unlink:hover{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.address-alias-info{font-size:13px;color:#4b5563;margin:0 0 10px}.address-merge-modal-overlay{z-index:2100}.address-merge-modal{max-width:520px;width:100%}.address-merge-desc{font-size:14px;color:#374151;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:10px 14px;margin-bottom:16px}.address-merge-searching{font-size:13px;color:#6b7280;margin:6px 0}.address-merge-no-results{font-size:13px;color:#6b7280;margin:8px 0 0}.address-merge-results{list-style:none;padding:0;margin:8px 0 16px;display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.address-merge-result-item{display:flex;align-items:center;gap:10px;border:1px solid #e5e7eb;border-radius:6px;padding:8px 12px;background:#f9fafb;transition:border-color .15s,background .15s}.address-merge-result-item--added{background:#f0fdf4;border-color:#bbf7d0}.address-merge-result-in-group{font-size:12px;color:#15803d;font-weight:600;white-space:nowrap;padding:4px 8px;background:#dcfce7;border-radius:4px}.address-merge-result-text{flex:1;font-size:13px;color:#111827;font-weight:500}.address-merge-result-coords{font-size:12px;color:#6b7280;white-space:nowrap}.btn-sm{font-size:12px;padding:4px 10px}.address-merge-group-section{margin-bottom:16px}.address-merge-group-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.address-merge-group-count{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#4f46e5;color:#fff;border-radius:50%;font-size:11px;font-weight:700;line-height:1}.address-merge-group{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.address-merge-group-item{display:flex;align-items:center;gap:10px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;padding:7px 12px;font-size:13px}.address-merge-group-item-text{flex:1;color:#1e1b4b;font-weight:500}.address-merge-group-item-start{font-size:11px;font-weight:600;color:#4f46e5;background:#e0e7ff;border-radius:4px;padding:2px 7px;white-space:nowrap}.address-merge-group-item-remove{background:none;border:none;color:#9ca3af;font-size:14px;cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1;transition:color .15s,background .15s;flex-shrink:0}.address-merge-group-item-remove:hover{color:#b91c1c;background:#fee2e2}.address-merge-canonical-list{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px}.address-merge-canonical-item{border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:border-color .15s}.address-merge-canonical-item:has(input:checked){border-color:#4f46e5;background:#eef2ff}.address-merge-canonical-label{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;cursor:pointer;width:100%}.address-merge-canonical-label input[type=radio]{flex-shrink:0;margin-top:2px;width:16px;height:16px;accent-color:#4f46e5;cursor:pointer}.address-merge-canonical-text{flex:1;font-size:13px;font-weight:500;color:#111827;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-checkbox-label{display:flex;align-items:center;gap:6px;font-size:14px;color:#374151;cursor:pointer;white-space:nowrap}.filter-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#4f46e5;cursor:pointer}.btn-warning{background:var(--color-warning);color:#fff;border:none;border-radius:6px;padding:7px 14px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-warning:hover:not(:disabled){background:#d97706}.btn-warning:disabled{opacity:.5;cursor:not-allowed}.address-duplicates-modal{max-width:640px;max-height:85vh;overflow-y:auto}.dup-loading{text-align:center;padding:32px 0;color:#6b7280;font-size:14px}.dup-empty{text-align:center;padding:28px 0 12px}.dup-empty p{margin:0 0 4px;font-size:15px;font-weight:500;color:#111827}.dup-empty-sub{font-size:13px!important;color:#6b7280!important;font-weight:400!important}.dup-summary{font-size:13px;color:#6b7280;margin:0 0 16px}.dup-groups-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.dup-group-card{border-radius:8px;border:1.5px solid #e5e7eb;overflow:hidden}.dup-group-linked{border-color:#d1d5db;background:#f9fafb}.dup-group-unlinked{border-color:#fbbf24;background:#fffbeb}.dup-group-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#00000008;border-bottom:1px solid #e5e7eb}.dup-group-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.03em}.dup-badge-linked{background:#e5e7eb;color:#4b5563}.dup-badge-unlinked{background:#fef3c7;color:#92400e}.dup-group-items{list-style:none;margin:0;padding:0}.dup-group-item{display:flex;align-items:baseline;gap:10px;padding:7px 12px;border-bottom:1px solid #f3f4f6;flex-wrap:wrap}.dup-group-item:last-child{border-bottom:none}.dup-item-address{flex:1;font-size:13px;color:#111827;min-width:0;word-break:break-word}.dup-item-coords{font-size:11px;color:#9ca3af;white-space:nowrap;font-family:monospace}.dup-item-alias-badge{font-size:10px;background:#e0e7ff;color:#4338ca;padding:1px 6px;border-radius:8px;font-weight:600;white-space:nowrap}.dup-show-more{width:100%;margin-bottom:8px}.address-aliases-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.address-view-short-name{font-size:18px;font-weight:700;color:#111827;margin-bottom:10px;line-height:1.3}.address-view-contacts{white-space:pre-line;line-height:1.5}.address-view-field--coherence{align-items:flex-start;flex-wrap:wrap}.coherence-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 7px;border-radius:8px;margin-left:6px;vertical-align:middle}.coherence-badge--ok{background:#d1fae5;color:#065f46}.coherence-badge--warn{background:#fef3c7;color:#92400e}.coherence-badge--unknown{background:#f3f4f6;color:#6b7280}.coherence-last-check{font-size:11px;color:#9ca3af;margin-left:8px}.coherence-cell{white-space:nowrap;vertical-align:top;min-width:100px}.coherence-check-date{font-size:11px;color:#9ca3af;margin-top:3px}.coherence-not-checked{font-size:12px;color:#d1d5db}.coherence-result{display:flex;flex-direction:column;gap:3px;margin-top:6px;padding:8px 12px;border-radius:8px;font-size:13px;line-height:1.4}.coherence-result--ok{background:#ecfdf5;border:1px solid #a7f3d0}.coherence-result--warn{background:#fffbeb;border:1px solid #fcd34d}.coherence-result--unknown{background:#f9fafb;border:1px solid #e5e7eb}.coherence-result-status{font-weight:600}.coherence-result-message{color:#374151}.coherence-result-distance{color:#6b7280;font-size:12px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:12px}.table-toolbar>div{display:grid;gap:3px}.table-toolbar strong{color:#0f172a;font-size:14px}.btn-reset-cols{background:#fff;border:1px solid #dbe3ef;border-radius:9px;padding:7px 12px;font-size:12px;color:#475569;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn-reset-cols:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.th-resizable{position:relative;overflow:hidden}.th-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}.col-resizer{position:absolute;right:0;top:0;bottom:0;width:6px;cursor:col-resize;z-index:10;-webkit-user-select:none;user-select:none}.col-resizer:after{content:"";position:absolute;right:2px;top:20%;bottom:20%;width:2px;background:#d1d5db;border-radius:1px;transition:background .15s}.col-resizer:hover:after,.col-resizer:active:after{background:#5e5ce6}.col-resizer--last:after{display:none}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background .12s,color .12s}.th-sortable:hover{background:#eaeaea;color:#1a1a1a}.th-sortable:active{background:#e0e0f4}.sort-icon{display:inline-block;margin-left:5px;font-size:12px;vertical-align:middle;line-height:1}.sort-icon--inactive{color:#c4c4c4}.sort-icon--active{color:#5e5ce6;font-weight:700}.short-name-cell{min-width:80px;max-width:140px}.short-name-value{font-size:13px;font-weight:600;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.bulk-check-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bulk-check-spinner{font-size:13px;color:#6b7280;white-space:nowrap}.bulk-check-summary{font-size:12px;color:#374151;white-space:nowrap;background:#f3f4f6;border-radius:6px;padding:3px 8px}.address-view-fallback-note{font-size:11px;color:#9ca3af;font-style:italic;margin-left:4px}.form-field-with-action{display:flex;gap:8px;align-items:center}.form-field-with-action input{flex:1}.parse-preview{margin-top:6px;padding:8px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:12px;display:flex;flex-wrap:wrap;gap:8px;color:#1e40af}.parse-preview span{white-space:nowrap}.parse-preview--empty{color:#6b7280;font-style:italic}.address-book-form-modal.aem-wide{max-width:640px}.aem-address-field{align-items:flex-start}.aem-address-textarea{flex:1;width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;box-sizing:border-box;resize:vertical;min-height:72px;line-height:1.5}.aem-address-textarea:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f626}.address-operation-confirm{background:#fff;border:1px solid rgba(226,232,240,.94);border-radius:18px;box-shadow:0 22px 60px #0f172a38;display:grid;gap:12px;max-width:460px;padding:24px}.address-operation-confirm h3{color:#0f172a;font-size:20px;line-height:1.25;margin:0}.address-operation-confirm p{color:#475569;font-size:14px;line-height:1.55;margin:0}.address-operation-confirm__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.bulk-check-modal{background:#fff;border:1px solid rgba(226,232,240,.94);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:12px;min-width:320px;max-width:440px;box-shadow:0 22px 60px #0f172a38}.bulk-check-modal h3{margin:0;font-size:20px;font-weight:600;color:#0f172a}.bulk-check-modal p{color:#475569;font-size:14px;line-height:1.55;margin:0 0 4px}.bulk-check-modal .btn{align-items:flex-start;display:flex;flex-direction:column;gap:3px;line-height:1.25;text-align:left}.bulk-check-modal .btn span{font-size:12px;font-weight:500;opacity:.8}.btn-ghost{background:none;border:none;color:#6b7280;font-size:14px;padding:7px 0;cursor:pointer;text-align:center;transition:color .15s}.btn-ghost:hover{color:#374151}.form-field-hint{margin:4px 0 0;font-size:12px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:5px 9px;line-height:1.4}.sched-status-page{padding:24px;max-width:1000px}.sched-status-page .page-header{margin-bottom:20px}.sched-status-page .page-subtitle{color:#718096;font-size:14px;margin-top:4px}.sched-error{background:#fff5f5;color:#c53030;border:1px solid #feb2b2;border-radius:6px;padding:10px 14px;margin-bottom:16px;font-size:14px}.sched-add-row{display:flex;gap:10px;margin-bottom:20px;align-items:center}.sched-add-row .form-input{flex:1;max-width:260px;padding:8px 12px;border:1px solid #cbd5e0;border-radius:6px;font-size:14px}.sched-add-row .form-input:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 2px #3182ce26}.sched-code-input{max-width:180px!important;font-family:monospace}.sched-color-input{width:40px;height:36px;padding:2px;border:1px solid #cbd5e0;border-radius:6px;cursor:pointer;background:#fff}.sched-table-wrapper{overflow-x:auto;border-radius:8px;box-shadow:0 1px 4px #00000014}.sched-table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}.sched-table th{background:#f7fafc;padding:10px 14px;text-align:left;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.sched-table td{padding:10px 14px;border-bottom:1px solid #edf2f7;color:#2d3748;vertical-align:middle}.sched-table tr:hover td{background:#f7fafc}.sched-drag-cell{padding:8px;text-align:center;vertical-align:middle}.sched-drag-handle{cursor:grab;color:#a0aec0;font-size:14px;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:4px}.sched-drag-handle:hover{color:#718096;background:#edf2f7}.sched-drag-handle:active{cursor:grabbing}.sched-row--drop-target td{background:#ebf8ff;border-top:2px solid #3182ce}.sched-num{color:#a0aec0;font-size:13px}.sched-value{display:inline-flex;align-items:center;gap:8px;font-weight:500}.sched-color-dot{display:inline-block;width:14px;height:14px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.sched-code{font-family:monospace;font-size:13px;background:#edf2f7;padding:2px 6px;border-radius:4px;color:#4a5568}.sched-color-swatch{display:inline-block;width:28px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.sched-system-cell{color:#a0aec0;font-size:13px;text-align:center}.sched-edit-input{width:100%;padding:6px 10px;border:1px solid #3182ce;border-radius:4px;font-size:14px}.sched-actions{display:flex;gap:6px}.schedule-page{padding:24px}.schedule-header{margin-bottom:20px}.schedule-title-row h1{margin:0 0 12px}.schedule-controls{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.schedule-filter-row{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.schedule-search-input{padding:6px 12px;border:1px solid #cbd5e0;border-radius:6px;font-size:13px;color:#2d3748;outline:none;width:220px;transition:border-color .15s}.schedule-search-input:focus{border-color:#4299e1}.schedule-sort-select{padding:6px 10px;border:1px solid #cbd5e0;border-radius:6px;font-size:13px;color:#4a5568;background:#fff;cursor:pointer;outline:none}.schedule-search-count{font-size:12px;color:#718096;white-space:nowrap}.schedule-month-nav{display:flex;align-items:center;gap:8px}.schedule-month-label{font-size:16px;font-weight:600;min-width:160px;text-align:center;color:#2d3748}.schedule-orientation-toggle{display:inline-flex;border:1px solid #cbd5e0;border-radius:6px;overflow:hidden}.toggle-btn{padding:6px 14px;font-size:13px;cursor:pointer;border:none;background:#fff;color:#4a5568;transition:background .15s,color .15s}.toggle-btn:not(:last-child){border-right:1px solid #cbd5e0}.toggle-btn--active{background:#3182ce;color:#fff;font-weight:500}.toggle-btn:hover:not(.toggle-btn--active){background:#f7fafc}.schedule-error{display:flex;align-items:center;justify-content:space-between;background:#fff5f5;color:#c53030;border:1px solid #feb2b2;border-radius:6px;padding:10px 14px;margin-bottom:16px;font-size:14px}.schedule-error-close{background:none;border:none;font-size:18px;cursor:pointer;color:#c53030;padding:0 4px}.empty-state{text-align:center;padding:60px 20px;color:#718096}.empty-state p{margin-bottom:16px;font-size:16px}.tbl-wrapper{overflow:auto;max-height:calc(100vh - 240px);border-radius:8px;box-shadow:0 1px 4px #00000014;background:#fff}.tbl-table{border-collapse:separate;border-spacing:0;font-size:12px;white-space:nowrap;width:max-content}.tbl-table th,.tbl-table td{border:1px solid #e2e8f0}.tbl-sticky-col{position:sticky;z-index:2;background:#f7fafc}.tbl-col-num{left:0;min-width:36px;width:36px;text-align:center}.tbl-col-reg{left:36px;min-width:110px;width:110px}.tbl-col-brand{left:146px;min-width:130px;width:130px}.tbl-corner{position:sticky;top:0;z-index:4;background:#edf2f7;padding:8px 6px;font-weight:600;color:#4a5568;text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.3px}.tbl-num{color:#a0aec0;font-size:11px;text-align:center;padding:4px 2px;background:#f7fafc}.tbl-reg{padding:4px 8px;font-weight:600;color:#2d3748;background:#f7fafc}.tbl-reg a{color:#3182ce;text-decoration:none}.tbl-reg a:hover{text-decoration:underline}.tbl-reg-tractor{font-size:11px;font-weight:600;color:#2d3748;letter-spacing:.2px;text-transform:lowercase}.tbl-reg-trailer{font-size:9px;color:#718096;font-weight:400;margin-top:2px;letter-spacing:.2px}.tbl-brand{padding:4px 8px;color:#4a5568;font-size:11px;background:#f7fafc}.tbl-day-header{position:sticky;top:0;z-index:3;background:#edf2f7;padding:4px 2px;text-align:center;min-width:50px;width:50px;font-weight:500}.tbl-day-num{display:block;font-size:12px;font-weight:600;color:#2d3748}.tbl-day-name{display:block;font-size:10px;color:#718096}.tbl-day-header--weekend{background:#fef2f2}.tbl-day-header--weekend .tbl-day-name{color:#c53030}.tbl-cell{padding:2px 3px;text-align:center;cursor:pointer;transition:filter .15s;min-width:50px;width:50px;height:28px;vertical-align:middle;position:relative}.tbl-cell:hover{filter:brightness(.9)}.tbl-cell--empty{background:#fff}.tbl-cell--empty:hover{background:#f0f4f8;filter:none}.tbl-cell--weekend.tbl-cell--empty{background:#fefafa}.tbl-cell--saving{opacity:.6}.tbl-cell-text{font-size:10px;font-weight:500;color:#000000bf;overflow:hidden;text-overflow:ellipsis;max-width:46px;display:inline-block;line-height:1.2}.tbl-total-header{position:sticky;top:0;z-index:3;background:#edf2f7;padding:4px 6px;text-align:center;min-width:48px;font-weight:600;font-size:11px;color:#4a5568;border-left:2px solid #cbd5e0}.tbl-total-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:3px;vertical-align:middle;border:1px solid rgba(0,0,0,.1)}.tbl-total-cell{padding:4px 6px;text-align:center;font-weight:600;font-size:12px;color:#2d3748;background:#f7fafc;border-left:2px solid #cbd5e0}.tbl-totals-row{background:#edf2f7}.tbl-totals-row td{position:sticky;bottom:0;z-index:2;background:#edf2f7}.tbl-totals-row .tbl-sticky-col{z-index:4;background:#edf2f7}.tbl-totals-label{font-weight:700;font-size:12px;color:#2d3748;text-align:right;padding-right:10px}.tbl-totals-cell{text-align:center;font-weight:600;font-size:11px;color:#4a5568;padding:4px 2px}.tbl-totals-cell.tbl-cell--weekend{background:#fdf2f2}.tbl-col-date{left:0;min-width:90px;width:90px}.tbl-date-cell{display:flex;gap:8px;align-items:center;padding:6px 10px;font-weight:500;color:#2d3748;background:#f7fafc}.tbl-vehicle-header{position:sticky;top:0;z-index:2;background:#edf2f7;padding:8px 6px;font-weight:600;color:#2d3748;text-align:center;min-width:80px;max-width:100px;font-size:12px}.tbl-vehicle-header a{color:#3182ce;text-decoration:none}.tbl-vehicle-header a:hover{text-decoration:underline}.tbl-vehicle-header .tbl-reg-tractor{font-weight:600;font-size:11px;color:#2d3748;letter-spacing:.2px;text-transform:lowercase}.tbl-vehicle-header .tbl-reg-trailer{font-size:9px;color:#4a5568;font-weight:400;margin-top:1px;letter-spacing:.2px}.tbl-row--weekend .tbl-date-cell{background:#fef2f2}.tbl-row--weekend .tbl-date-cell .tbl-day-name{color:#c53030}.schedule-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding:12px 16px;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0}.schedule-legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#4a5568}.schedule-legend-color{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.schedule-legend-color--empty{background:#fff;border:1px dashed #cbd5e0}.schedule-legend-label{font-weight:500}.schedule-popover{position:absolute;z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #00000024;padding:14px;width:260px}.schedule-popover--upward{box-shadow:0 -4px 16px #00000024}.schedule-popover-title{font-weight:600;font-size:13px;color:#2d3748;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.schedule-popover-section{margin-bottom:12px}.schedule-popover-label{display:block;font-size:12px;font-weight:600;color:#718096;margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.schedule-popover-statuses{display:flex;flex-direction:column;gap:4px}.schedule-status-btn{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;font-size:13px;color:#2d3748;transition:background .1s;text-align:left;width:100%}.schedule-status-btn:hover{background:#f7fafc}.schedule-status-btn--active{border-color:#3182ce;background:#ebf8ff;font-weight:500}.schedule-status-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.schedule-popover-select{width:100%;padding:6px 10px;border:1px solid #cbd5e0;border-radius:6px;font-size:13px;color:#2d3748;background:#fff}.schedule-popover-select:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 2px #3182ce26}.schedule-popover-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #e2e8f0}.sync-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.sync-dialog{background:#fff;border-radius:10px;box-shadow:0 8px 32px #0000002e;padding:28px 32px;min-width:360px;max-width:480px;width:100%}.sync-dialog--wide{max-width:820px}.sync-dialog-title{font-size:17px;font-weight:600;color:#1a202c;margin:0 0 16px}.sync-dialog-body{font-size:14px;color:#2d3748;line-height:1.6;margin-bottom:20px}.sync-dialog-body p{margin:0 0 8px}.sync-dialog-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;margin-top:10px;color:#4a5568}.sync-dialog-error{color:#c53030;margin-top:8px}.sync-dialog-actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid #e2e8f0;padding-top:16px}.sync-dialog-period{font-size:13px;color:#4a5568;margin:0 0 12px}.sync-dialog-empty{color:#718096;font-style:italic}.sync-preview-table-wrap{overflow-x:auto;max-height:360px;overflow-y:auto;border-radius:6px;border:1px solid #e2e8f0;margin-bottom:14px}.sync-preview-table{width:100%;border-collapse:collapse;font-size:13px}.sync-preview-table thead{position:sticky;top:0;z-index:1}.sync-preview-table th{background:#f7fafc;color:#4a5568;font-weight:600;padding:8px 10px;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap}.sync-preview-table td{padding:7px 10px;border-bottom:1px solid #f0f4f8;vertical-align:middle;color:#2d3748}.sync-preview-table tfoot td{border-top:2px solid #e2e8f0;border-bottom:none;background:#f7fafc}.sync-tfoot-label{color:#718096;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.sync-row-new{background:#f0fff4}.sync-row-new:hover{background:#e6ffed}.sync-row-conflict{background:#fffbeb}.sync-row-conflict:hover{background:#fff3cd}.sync-preview-table tbody tr:hover{background:#f7fafc}.sync-row-new:hover,.sync-row-conflict:hover{filter:brightness(.97)}.sync-cell-vehicle{font-weight:500;white-space:nowrap}.sync-cell-period{white-space:nowrap;color:#718096;font-size:12px}.sync-cell-from{color:#c05621}.sync-cell-to{color:#2f855a;font-weight:500}.sync-cell-count{text-align:center}.sync-col-days{width:80px;text-align:center}.sync-conflict-label{color:#c05621}.sync-empty-label{color:#a0aec0}.sync-conflict-count{color:#c05621;font-weight:600}.history-panel{max-width:560px}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.history-item{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 12px;padding:10px 12px;border-radius:6px;background:#f7fafc;border:1px solid #e2e8f0;transition:background .15s}.history-item:hover{background:#edf2f7}.history-item-meta{grid-column:1;grid-row:1;display:flex;align-items:center;gap:10px}.history-item-action{font-weight:600;font-size:14px;color:#2d3748}.history-item-date{font-size:12px;color:#a0aec0}.history-item-desc{grid-column:1;grid-row:2;font-size:12px;color:#718096}.history-rollback-btn{grid-column:2;grid-row:1 / 3;align-self:center;padding:5px 12px;border-radius:6px;border:1px solid #fc8181;background:#fff5f5;color:#c53030;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.history-rollback-btn:hover{background:#fed7d7;border-color:#fc8181}.history-rollback-warn{font-size:13px;color:#c05621;margin-top:6px}.btn-danger{background:#e53e3e;color:#fff;border:none;padding:8px 18px;border-radius:7px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-danger:hover:not(:disabled){background:#c53030}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.schedule-conflict-table{width:100%;border-collapse:collapse;font-size:.8125rem}.schedule-conflict-table th{padding:7px 10px;background:#f9fafb;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.schedule-conflict-table td{padding:6px 10px;border-bottom:1px solid #f3f4f6;color:#374151}.schedule-conflict-table tr:last-child td{border-bottom:none}.conflict-cell-old{color:var(--color-danger);font-weight:500}.conflict-cell-new{color:var(--color-success);font-weight:500}.schedule-analytics{margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0}.schedule-analytics-header{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.schedule-analytics-title{font-size:17px;font-weight:700;color:#2d3748;margin:0}.schedule-analytics-subtitle{font-size:13px;color:#718096}.schedule-analytics-kpi{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.sa-kpi-card{flex:1 1 140px;min-width:130px;max-width:200px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column;gap:2px}.sa-kpi-card--accent{border-color:#bee3f8;background:linear-gradient(135deg,#ebf8ff,#fff)}.sa-kpi-value{font-size:26px;font-weight:700;color:#2d3748;line-height:1.1}.sa-kpi-value--green{color:#38a169}.sa-kpi-value--red{color:#e53e3e}.sa-kpi-value--gray{color:#a0aec0}.sa-kpi-label{font-size:13px;font-weight:600;color:#4a5568;margin-top:4px}.sa-kpi-sub{font-size:11px;color:#a0aec0}.sa-section{margin-bottom:16px}.sa-section-title{font-size:13px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.sa-toggle-btn{background:none;border:none;padding:0;font-size:13px;font-weight:600;color:#4a5568;cursor:pointer;display:flex;align-items:center;gap:6px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em;transition:color .15s}.sa-toggle-btn:hover{color:#2d3748}.sa-barchart-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 8px;box-shadow:0 1px 3px #0000000d}.sa-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.sa-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}.sa-table thead th{background:#f7fafc;color:#4a5568;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:9px 10px;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap}.sa-table tbody tr{border-bottom:1px solid #f0f4f8;transition:background .1s}.sa-table tbody tr:last-child{border-bottom:none}.sa-table tbody tr:hover{background:#f7fafc}.sa-table td{padding:8px 10px;color:#2d3748;vertical-align:middle}.sa-table-vehicle{display:flex;flex-direction:column;gap:1px}.sa-table-vehicle-model{font-size:11px;color:#a0aec0}.sa-td-work{color:#38a169;font-weight:600}.sa-td-downtime{color:#e53e3e;font-weight:600}.sa-td-unfilled{color:#a0aec0}.sa-td-pct{font-weight:700}.sa-td-status{text-align:center;color:#4a5568}.sa-td-vehicles{color:#718096;font-size:12px}.sa-table tfoot .sa-table-total td{font-weight:700;background:#edf2f7;color:#2d3748;border-top:2px solid #e2e8f0;padding:9px 10px}.sa-heatmap-wrap{border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;overflow:hidden}.sa-heatmap-scroll{overflow-x:auto}.sa-heatmap{border-collapse:collapse;background:#fff;font-size:11px}.sa-heatmap thead th{background:#f7fafc;color:#718096;font-weight:600;font-size:11px;padding:6px 4px;text-align:center;border-bottom:1px solid #e2e8f0;white-space:nowrap}.sa-hm-vehicle-col{min-width:100px;text-align:left!important;padding-left:10px!important}.sa-hm-day-col{min-width:26px;width:26px}.sa-hm-summary-col{min-width:50px;width:50px}.sa-heatmap tbody tr{border-bottom:1px solid #f0f4f8}.sa-heatmap tbody tr:hover{background:#f7fafc}.sa-hm-vehicle-cell{padding:5px 10px;color:#2d3748;font-weight:600;font-size:11px;white-space:nowrap;border-right:1px solid #e2e8f0}.sa-hm-cell{width:26px;height:26px;text-align:center;font-size:10px;color:#4a5568;border:1px solid #f0f4f8;cursor:default}.sa-hm-summary-cell{text-align:center;font-weight:700;font-size:11px;padding:5px 6px;border-left:1px solid #e2e8f0}.sa-empty{text-align:center;color:#a0aec0;font-size:14px;padding:32px 0}.mechanic-page{padding:24px;max-width:1400px}.mechanic-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.mechanic-page-actions{display:flex;gap:8px}.mechanic-page-title{font-size:1.5rem;font-weight:700;color:var(--color-text, #1a1a2e);margin:0}.mechanic-loading{padding:40px;text-align:center;color:#666}.mechanic-error{padding:16px;background:#fff3f3;border:1px solid #f5c6cb;border-radius:8px;color:#721c24}.mechanic-error p{margin:0 0 8px}.mechanic-error p:last-of-type{margin-bottom:12px}.mechanic-error-hint{font-size:.9rem;color:#856404!important}.mechanic-error .mechanic-btn{margin-top:4px}.mechanic-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.mechanic-kpi-grid--sm{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.mechanic-kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 1px 4px #0000000f}.mechanic-kpi-card--primary{border-left:4px solid var(--color-info)}.mechanic-kpi-value{font-size:2rem;font-weight:700;color:#1e293b;line-height:1;margin-bottom:6px}.mechanic-kpi-value--danger{color:var(--color-danger)}.mechanic-kpi-label{font-size:.85rem;color:#64748b;font-weight:500;margin-bottom:4px}.mechanic-kpi-sub{font-size:.78rem;color:#94a3b8}.mechanic-kpi-warn{margin-top:8px;font-size:.8rem;color:var(--color-danger);font-weight:500}.mechanic-alerts{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.mechanic-alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:.9rem;font-weight:500}.mechanic-alert--inspection{background:#fef3c7;border:1px solid #fbbf24;color:#92400e}.mechanic-alert--maintenance{background:#fee2e2;border:1px solid #f87171;color:#991b1b}.mechanic-alert--fuel_range{background:#fef3c7;border:1px solid var(--color-warning);color:#92400e}.mechanic-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.mechanic-count{font-size:.85rem;color:#64748b}.mechanic-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f;font-size:.88rem}.mechanic-table th{background:#f8fafc;padding:10px 14px;text-align:left;font-weight:600;color:#475569;border-bottom:1px solid #e2e8f0;white-space:nowrap}.mechanic-table td{padding:10px 14px;border-bottom:1px solid #f1f5f9;color:#334155}.mechanic-table tr:last-child td{border-bottom:none}.mechanic-table tr:hover td{background:#f8fafc}.fuel-cards-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.fuel-cards-filters .form-input{width:220px}.fuel-cards-table-wrap{overflow-x:auto}.fuel-cards-mobile-list{display:none}.fuel-card-row{transition:background .1s}.fuel-card-row:hover td{background:#f8fafc}.fuel-card-row--active td{background:#eff6ff}.fuel-card-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;background:transparent}.fuel-card-drawer{position:fixed;top:0;right:0;bottom:0;width:360px;z-index:200;background:#fff;box-shadow:-4px 0 24px #0000001a;display:flex;flex-direction:column;border-left:1px solid #e2e8f0}.fuel-card-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.fuel-card-drawer__title{display:flex;flex-direction:column;gap:2px;min-width:0}.fuel-card-drawer__number{font-family:monospace;font-size:1.1rem;font-weight:700;color:#1e293b;letter-spacing:.04em}.fuel-card-drawer__company{font-size:.82rem;color:#64748b;font-weight:500}.fuel-card-drawer__header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.fuel-card-drawer__close{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:1rem;padding:4px 6px;border-radius:6px;line-height:1;transition:color .15s,background .15s}.fuel-card-drawer__close:hover{color:#334155;background:#e2e8f0}.fuel-card-drawer__body{flex:1;overflow-y:auto;padding:0 20px 24px}.fuel-card-drawer__section{padding:16px 0;border-bottom:1px solid #f1f5f9}.fuel-card-drawer__section:last-child{border-bottom:none}.fuel-card-drawer__section-title{font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.fuel-card-drawer__props{display:flex;flex-direction:column;gap:8px;margin:0}.fuel-card-drawer__prop{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.fuel-card-drawer__prop dt{font-size:.82rem;color:#94a3b8;flex-shrink:0;width:110px}.fuel-card-drawer__prop dd{margin:0;font-size:.88rem;color:#334155;text-align:right;font-weight:500}.fuel-card-drawer__empty{color:#cbd5e1;font-weight:400}.fuel-card-drawer__pin-row{display:flex;align-items:center;gap:10px}.fuel-card-drawer__pin-value{font-family:monospace;font-size:1.05rem;font-weight:600;color:#1e293b;letter-spacing:.12em}.fuel-card-drawer__pin-toggle{background:none;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;color:#64748b;padding:4px 7px;display:flex;align-items:center;transition:border-color .15s,color .15s}.fuel-card-drawer__pin-toggle:hover{border-color:#94a3b8;color:#334155}.fuel-card-drawer__notes{font-size:.85rem;color:#475569;margin:0;line-height:1.5}.fuel-card-drawer__meta{padding-top:16px;font-size:.78rem;color:#94a3b8}.mechanic-row--active td{background:#f0fdf4}.mechanic-row--urgent td{background:#fff5f5}.mechanic-td-desc{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mechanic-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.78rem;font-weight:600}.mechanic-badge--ok{background:#dcfce7;color:#166534}.mechanic-badge--danger{background:#fee2e2;color:#991b1b}.mechanic-badge--warn{background:#fef3c7;color:#92400e}.mechanic-status{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.78rem;font-weight:600}.mechanic-status--new{background:#dbeafe;color:#1e40af}.mechanic-status--in_progress{background:#fef3c7;color:#92400e}.mechanic-status--done,.mechanic-status--completed{background:#dcfce7;color:#166534}.mechanic-status--forwarded,.mechanic-status--cancelled{background:#f1f5f9;color:#64748b}.mechanic-status--pending{background:#e0e7ff;color:#3730a3}.mechanic-priority{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.78rem;font-weight:600}.mechanic-priority--low{background:#f1f5f9;color:#64748b}.mechanic-priority--normal{background:#dbeafe;color:#1e40af}.mechanic-priority--high{background:#fef3c7;color:#92400e}.mechanic-priority--urgent{background:#fee2e2;color:#991b1b}.mechanic-status-row{display:flex;gap:10px;flex-wrap:wrap}.mechanic-status-badge{padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600}.mechanic-status-badge--new{background:#dbeafe;color:#1e40af}.mechanic-status-badge--progress{background:#fef3c7;color:#92400e}.mechanic-status-badge--done{background:#dcfce7;color:#166534}.mechanic-status-badge--forwarded{background:#f1f5f9;color:#64748b}.mechanic-section{margin-top:24px}.mechanic-section-title{font-size:1.1rem;font-weight:600;color:#1e293b;margin-bottom:12px}.mechanic-btn{padding:8px 16px;background:var(--color-info);color:#fff;border:none;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s}.mechanic-btn:hover:not(:disabled){background:var(--color-info-hover)}.mechanic-btn:disabled{opacity:.6;cursor:not-allowed}.mechanic-btn--secondary{background:#f1f5f9;color:#475569}.mechanic-btn--secondary:hover:not(:disabled){background:#e2e8f0}.mechanic-btn--sm{padding:4px 10px;font-size:.8rem}.mechanic-btn--escalate{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.mechanic-btn--escalate:hover:not(:disabled){background:#ffedd5}.mechanic-btn--success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;font-weight:600}.mechanic-btn--success:hover:not(:disabled){background:#dcfce7}.mechanic-select,.mechanic-input{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.88rem;color:#1e293b;background:#fff;width:100%;box-sizing:border-box}.mechanic-select:focus,.mechanic-input:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 2px #3b82f626}.mechanic-textarea{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.88rem;color:#1e293b;background:#fff;width:100%;box-sizing:border-box;resize:vertical}.mechanic-form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.mechanic-form-row label{font-size:.82rem;font-weight:600;color:#475569}.mechanic-form-row--checkbox{flex-direction:row;align-items:center}.mechanic-checkbox-label{display:flex;align-items:center;gap:6px;font-size:.88rem;color:#475569;cursor:pointer}.mechanic-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.mechanic-modal{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.mechanic-modal--wide{max-width:680px}.mechanic-modal h3{margin:0 0 16px;font-size:1.1rem;font-weight:700;color:#1e293b}.mechanic-modal-desc{background:#f8fafc;padding:10px 12px;border-radius:6px;font-size:.88rem;color:#334155;margin-bottom:14px}.mechanic-modal-actions{display:flex;gap:8px;margin-top:16px}.mechanic-checklist{margin-bottom:16px}.mechanic-checklist h4{font-size:.9rem;font-weight:600;color:#475569;margin:0 0 10px}.mechanic-checklist-item{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid #f1f5f9;gap:8px}.mechanic-checklist-label{font-size:.83rem;color:#334155;flex:1}.mechanic-checklist-btns{display:flex;gap:4px}.mechanic-check-btn{padding:3px 8px;border-radius:4px;border:1px solid #d1d5db;font-size:.75rem;cursor:pointer;background:#f8fafc;color:#475569;transition:all .1s}.mechanic-check-btn--ok.active{background:#dcfce7;border-color:var(--color-success);color:#166534}.mechanic-check-btn--issue.active{background:#fee2e2;border-color:var(--color-danger);color:#991b1b}.mechanic-check-btn--na.active{background:#f1f5f9;border-color:#94a3b8;color:#64748b}.mechanic-media-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.mechanic-media-link{padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:6px;font-size:.8rem;text-decoration:none}.mechanic-cheatsheet-steps{padding-left:20px;margin:0 0 16px}.mechanic-cheatsheet-steps li{margin-bottom:8px;font-size:.88rem;color:#334155;line-height:1.5}.mechanic-cheatsheet-contacts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem;color:#475569}.mechanic-contact-badge{padding:4px 10px;background:#fee2e2;color:#991b1b;border-radius:6px;font-weight:600}.mechanic-kpi-value--success{color:var(--color-success)}.mechanic-charts-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.mechanic-charts-label{font-size:.85rem;font-weight:600;color:#64748b;margin-right:4px}.mechanic-period-btn{padding:6px 14px;border:1px solid #d1d5db;border-radius:20px;background:#fff;color:#475569;font-size:.83rem;font-weight:500;cursor:pointer;transition:all .15s}.mechanic-period-btn:hover{border-color:var(--color-info);color:var(--color-info)}.mechanic-period-btn--active{background:var(--color-info);border-color:var(--color-info);color:#fff}.mechanic-select--sm{width:auto;padding:5px 8px;font-size:.83rem}.mechanic-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media (max-width: 900px){.mechanic-charts-grid{grid-template-columns:1fr}}@media (max-width: 720px){.mechanic-page{max-width:none;padding:16px}.mechanic-page-header{align-items:stretch;flex-direction:column;margin-bottom:16px}.mechanic-page-actions,.mechanic-page-actions .btn{width:100%}.fuel-cards-filters{gap:10px}.fuel-cards-filters .form-input,.fuel-cards-filters .form-select{width:100%}.fuel-cards-table-wrap{display:none}.fuel-cards-mobile-list{display:flex;flex-direction:column;gap:12px}.fuel-cards-mobile-empty,.fuel-card-mobile-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0f172a14}.fuel-cards-mobile-empty{padding:24px 16px;text-align:center;color:#6b7280}.fuel-card-mobile-card{padding:14px}.fuel-card-mobile-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.fuel-card-mobile-card__title{display:flex;flex-direction:column;gap:3px;min-width:0}.fuel-card-mobile-card__title strong{color:#1f2937;font-family:monospace;font-size:16px;line-height:1.25;overflow-wrap:anywhere}.fuel-card-mobile-card__title span{color:#6b7280;font-size:13px}.fuel-card-mobile-card__status{flex-shrink:0;max-width:42%;font-size:12px;font-weight:700;line-height:1.2;text-align:right;text-transform:uppercase}.fuel-card-mobile-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:12px 0}.fuel-card-mobile-card__meta div{min-width:0}.fuel-card-mobile-card__meta dt{color:#8b95a1;font-size:10px;font-weight:700;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.fuel-card-mobile-card__meta dd{color:#1f2937;font-size:13px;margin:0;overflow-wrap:anywhere}.fuel-card-mobile-card__notes{background:#f8fafc;border-radius:8px;color:#475569;font-size:13px;line-height:1.4;margin:0 0 12px;padding:8px 10px}.fuel-card-mobile-card__actions{display:flex;flex-wrap:wrap;gap:8px}.fuel-card-mobile-card__actions .btn{flex:1 1 120px;min-height:36px}.pagination-controls{align-items:stretch;display:flex;flex-direction:column;gap:10px}}@media (max-width: 720px) and (orientation: landscape){.mechanic-page{padding:10px 12px}.mechanic-page-header{margin-bottom:10px}.fuel-cards-filters{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;margin-bottom:10px}.fuel-card-mobile-card{padding:10px}.fuel-card-mobile-card__meta{grid-template-columns:repeat(4,minmax(0,1fr));margin:10px 0}}.mechanic-chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 1px 4px #0000000f}.mechanic-chart-card--wide{grid-column:1 / -1}.mechanic-chart-title{font-size:.95rem;font-weight:600;color:#1e293b;margin:0 0 16px}.mechanic-chart-note{font-size:.78rem;font-weight:400;color:#94a3b8}.mechanic-chart-empty{height:120px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.88rem}.mechanic-loading--charts{padding:20px;background:#f8fafc;border-radius:12px;margin-bottom:24px}.mechanic-media-thumbs{display:flex;gap:4px;align-items:center}.mechanic-thumb-btn{border:none;background:none;padding:0;cursor:pointer;border-radius:4px;overflow:hidden;flex-shrink:0}.mechanic-thumb{width:36px;height:36px;object-fit:cover;border-radius:4px;display:block;border:1px solid #e2e8f0;transition:opacity .15s}.mechanic-thumb-btn:hover .mechanic-thumb{opacity:.8}.mechanic-thumb--video{width:36px;height:36px;background:#1e293b;color:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px}.mechanic-thumb-more{width:36px;height:36px;background:#f1f5f9;color:#475569;border-radius:4px;font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0}.mechanic-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;display:flex;align-items:center;justify-content:center;z-index:2000}.mechanic-lightbox{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.mechanic-lightbox-media{max-width:90vw;max-height:85vh;border-radius:8px;object-fit:contain}.mechanic-lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:4px 8px;opacity:.8;transition:opacity .15s}.mechanic-lightbox-close:hover{opacity:1}.mechanic-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:8px 14px;border-radius:6px;transition:background .15s;z-index:10}.mechanic-lightbox-nav:hover{background:#ffffff4d}.mechanic-lightbox-nav--prev{left:-60px}.mechanic-lightbox-nav--next{right:-60px}.mechanic-lightbox-counter{position:absolute;bottom:-32px;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:.85rem}.mechanic-file-upload-area{border:2px dashed #d1d5db;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;display:flex;flex-direction:column;gap:4px;color:#64748b;font-size:.88rem}.mechanic-file-upload-area:hover{border-color:var(--color-info);background:#f0f7ff}.mechanic-file-upload-icon{font-size:1.5rem}.mechanic-file-upload-hint{font-size:.78rem;color:#94a3b8}.mechanic-file-list{margin-top:8px;display:flex;flex-direction:column;gap:4px}.mechanic-file-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f8fafc;border-radius:6px;font-size:.83rem}.mechanic-file-name{flex:1;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mechanic-file-size{color:#94a3b8;flex-shrink:0}.mechanic-file-remove{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.9rem;padding:0 2px;flex-shrink:0;transition:color .15s}.mechanic-file-remove:hover{color:var(--color-danger)}.mechanic-upload-progress{padding:10px 14px;background:#dbeafe;border-radius:6px;font-size:.85rem;color:#1e40af;margin-bottom:8px}.mechanic-diff-summary{padding:8px 12px;border-radius:6px;font-size:.85rem;font-weight:500;margin-bottom:14px;background:#fef3c7;color:#92400e;border:1px solid #fbbf24}.mechanic-diff-summary--ok{background:#dcfce7;color:#166534;border-color:#86efac}.mechanic-diff-summary--info{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.mechanic-diff-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:8px}.mechanic-diff-table th{background:#f8fafc;padding:8px 12px;text-align:left;font-weight:600;color:#475569;border-bottom:1px solid #e2e8f0}.mechanic-diff-table td{padding:7px 12px;border-bottom:1px solid #f1f5f9;color:#334155}.mechanic-diff-row--changed td{background:#fffbeb}.mechanic-diff-row--changed td:first-child{border-left:3px solid var(--color-warning)}.mechanic-diff-inline{display:flex;flex-direction:column;gap:2px;background:#f8fafc;border-radius:8px;padding:8px}.mechanic-diff-inline-row{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;border-radius:4px;font-size:.83rem}.mechanic-diff-inline-row--changed{background:#fffbeb;border-left:3px solid var(--color-warning)}.mechanic-diff-inline-label{color:#475569;flex:1}.mechanic-diff-inline-values{display:flex;align-items:center;gap:4px}.mechanic-diff-prev{display:flex;align-items:center;gap:4px;opacity:.7}.mechanic-diff-arrow{color:#94a3b8;font-size:.9rem}.mechanic-contact-block{background:#fff;border:1px solid #fbbf24;border-radius:12px;padding:16px 20px;margin-bottom:20px;box-shadow:0 1px 4px #0000000f}.mechanic-contact-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;flex-wrap:wrap}.mechanic-contact-title{font-size:.95rem;font-weight:600;color:#1e293b}.mechanic-contact-list{display:flex;flex-direction:column;gap:6px}.mechanic-contact-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fffbeb;border-radius:8px;flex-wrap:wrap}.mechanic-contact-driver{font-size:.88rem;font-weight:600;color:#1e293b;min-width:100px}.mechanic-contact-last{font-size:.83rem;color:#64748b;flex:1}.mechanic-budget-table td{padding:6px 8px}.mechanic-budget-input{width:72px;padding:4px 6px;border:1px solid #e2e8f0;border-radius:4px;font-size:.82rem;text-align:right;color:#1e293b;background:#fff;transition:border-color .15s}.mechanic-budget-input:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 2px #3b82f61a}.mechanic-budget-total-row td{background:#f8fafc;border-top:2px solid #e2e8f0;font-size:.85rem;color:#475569}.mechanic-pagination{display:flex;align-items:center;gap:12px;margin-top:16px;justify-content:center}.page-container{padding:24px;max-width:1600px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.page-header h1{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.header-actions{display:flex;gap:12px;align-items:center}.view-switcher{display:flex;gap:4px;background:#f1f5f9;padding:4px;border-radius:8px}.view-switcher button{padding:6px 12px;border:none;background:transparent;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .15s;color:#64748b}.view-switcher button:hover{background:#e2e8f0}.view-switcher button.active{background:var(--color-info);color:#fff}.month-navigation{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px}.month-navigation h2{font-size:1.2rem;font-weight:600;color:#1e293b;margin:0;min-width:200px;text-align:center}.month-navigation button{padding:8px 16px;background:#f1f5f9;border:none;border-radius:8px;font-size:.9rem;font-weight:600;color:#475569;cursor:pointer;transition:all .15s}.month-navigation button:hover{background:#e2e8f0}.error-message{background:#fff3f3;border:1px solid #f5c6cb;border-radius:8px;padding:16px;margin-bottom:20px;color:#721c24}.retry-button{margin-top:8px;padding:6px 14px;background:var(--color-danger);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.retry-button:hover{background:#b91c1c}.loading{padding:40px;text-align:center;color:#666;font-size:1rem}.schedule-grid{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000f;padding:16px}.schedule-grid-table{overflow-x:auto}.schedule-grid-table table{width:100%;border-collapse:collapse;min-width:800px}.schedule-grid-table th{background:#f8fafc;padding:10px 8px;text-align:center;font-weight:600;color:#475569;border:1px solid #e2e8f0;font-size:.85rem;white-space:nowrap}.schedule-grid-table th.driver-col{text-align:left;padding-left:14px;min-width:200px;position:sticky;left:0;background:#f8fafc;z-index:10}.schedule-grid-table th.day-col{min-width:36px;width:36px}.schedule-grid-table td{padding:8px;text-align:center;border:1px solid #e2e8f0;font-size:.83rem}.schedule-grid-table td.driver-name{text-align:left;font-weight:600;color:#1e293b;padding-left:14px;position:sticky;left:0;background:#fff;z-index:10;border-right:2px solid #e2e8f0}.schedule-cell{font-weight:600;font-size:.9rem}.schedule-cell.empty{color:#cbd5e1}.schedule-cell.worked{color:var(--color-success);background:#dcfce7}.schedule-cell.planned{color:var(--color-info);background:#dbeafe}.schedule-cell.absent{color:var(--color-danger);background:#fee2e2}.schedule-cell.sick{color:var(--color-warning);background:#fef3c7}.schedule-cell.vacation{color:#8b5cf6;background:#ede9fe}.schedule-legend{display:flex;gap:20px;margin-top:16px;padding:12px 0;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#475569}.legend-mark{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;font-weight:600;font-size:.85rem}.legend-mark.worked{background:#dcfce7;color:var(--color-success)}.legend-mark.planned{background:#dbeafe;color:var(--color-info)}.legend-mark.absent{background:#fee2e2;color:var(--color-danger)}.legend-mark.sick{background:#fef3c7;color:var(--color-warning)}.legend-mark.vacation{background:#ede9fe;color:#8b5cf6}.view-placeholder{padding:60px 20px;text-align:center;color:#94a3b8;font-size:1rem;background:#f8fafc;border-radius:12px}.calendar-view{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000f;padding:16px}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-weekday{text-align:center;font-weight:600;font-size:.85rem;color:#64748b;padding:8px 4px}.calendar-body{display:flex;flex-direction:column;gap:8px}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{min-height:100px;border:1px solid #e2e8f0;border-radius:8px;padding:8px;background:#fff;transition:all .15s}.calendar-day.empty{background:#f8fafc;border-color:#f1f5f9}.calendar-day:not(.empty):hover{border-color:var(--color-info);box-shadow:0 2px 8px #3b82f61a}.calendar-day-number{font-weight:600;font-size:.85rem;color:#1e293b;margin-bottom:4px}.calendar-day-content{display:flex;flex-direction:column;gap:3px}.calendar-no-data{font-size:.75rem;color:#cbd5e1;text-align:center;padding:8px 0}.calendar-driver-badge{padding:3px 6px;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:opacity .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-driver-badge:hover{opacity:.8}.calendar-driver-badge.worked{background:#dcfce7;color:#166534}.calendar-driver-badge.planned{background:#dbeafe;color:#1e40af}.calendar-driver-badge.absent{background:#fee2e2;color:#991b1b}.calendar-driver-badge.sick{background:#fef3c7;color:#92400e}.calendar-driver-badge.vacation{background:#ede9fe;color:#6d28d9}.calendar-more{font-size:.7rem;color:#94a3b8;text-align:center;padding:2px 0;font-weight:600}.timeline-view{display:flex;flex-direction:column;gap:16px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d}.timeline-header{display:flex;gap:12px;padding:0 0 12px;border-bottom:2px solid #e2e8f0}.timeline-driver-column{width:200px;flex-shrink:0;font-weight:600;font-size:.9rem;color:#1e293b}.timeline-days-header{flex:1;display:flex;gap:2px;overflow-x:auto}.timeline-day-label{flex:1;min-width:32px;text-align:center;font-size:.75rem;color:#64748b;font-weight:500}.timeline-body{display:flex;flex-direction:column;gap:8px}.timeline-row{display:flex;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid #f1f5f9}.timeline-row:hover{background:#f8fafc}.timeline-driver-name{width:200px;flex-shrink:0;font-size:.85rem;color:#1e293b;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-bars{flex:1;display:flex;gap:2px;overflow-x:auto;min-height:36px}.timeline-bar{flex:1;min-width:32px;height:32px;border-radius:4px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600}.timeline-bar:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.timeline-bar.empty{background:#f8fafc;border:1px dashed #e2e8f0}.timeline-bar.worked{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border:1px solid #86efac}.timeline-bar.planned{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #93c5fd}.timeline-bar.absent{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:1px solid #fca5a5}.timeline-bar.sick{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fcd34d}.timeline-bar.vacation{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9;border:1px solid #c4b5fd}.timeline-legend{display:flex;gap:16px;padding:12px;background:#f8fafc;border-radius:8px;flex-wrap:wrap}.timeline-empty-state{padding:48px 24px;text-align:center;color:#94a3b8;font-size:.9rem}.list-view{display:flex;flex-direction:column;gap:16px}.list-filters{display:flex;gap:12px;padding:16px;background:#f8fafc;border-radius:12px;flex-wrap:wrap;align-items:center}.list-filter-group{display:flex;flex-direction:column;gap:4px;min-width:180px}.list-filter-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase}.list-filter-input,.list-filter-select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;background:#fff;transition:all .15s}.list-filter-input:focus,.list-filter-select:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61a}.list-filter-reset{padding:8px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s;margin-left:auto}.list-filter-reset:hover{background:#f8fafc;color:#1e293b}.list-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.list-table{width:100%;border-collapse:collapse}.list-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.list-table th{padding:12px 16px;text-align:left;font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase}.list-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .15s}.list-table tbody tr:hover{background:#f8fafc}.list-table td{padding:12px 16px;font-size:.85rem;color:#1e293b}.list-status-badge{display:inline-block;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.list-status-badge.worked{background:#dcfce7;color:#166534}.list-status-badge.planned{background:#dbeafe;color:#1e40af}.list-status-badge.absent{background:#fee2e2;color:#991b1b}.list-status-badge.sick{background:#fef3c7;color:#92400e}.list-status-badge.vacation{background:#ede9fe;color:#6d28d9}.list-status-badge.empty{background:#f1f5f9;color:#94a3b8}.list-action-btn{padding:6px 12px;background:var(--color-info);color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.list-action-btn:hover{background:var(--color-info-hover);transform:translateY(-1px);box-shadow:0 2px 8px #3b82f64d}.list-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8fafc;border-radius:12px;margin-top:16px}.list-pagination-info{font-size:.85rem;color:#64748b}.list-pagination-controls{display:flex;gap:8px}.list-pagination-btn{padding:8px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;font-weight:500;color:#1e293b;cursor:pointer;transition:all .15s}.list-pagination-btn:hover:not(:disabled){background:#f8fafc;border-color:var(--color-info);color:var(--color-info)}.list-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.list-empty-state{padding:48px 24px;text-align:center;color:#94a3b8;font-size:.9rem;background:#fff;border-radius:12px}.sync-panel{display:flex;flex-direction:column;gap:12px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px}.sync-panel-header{display:flex;justify-content:space-between;align-items:center}.sync-panel-title{font-size:.9rem;font-weight:600;color:#1e293b}.sync-panel-actions{display:flex;gap:8px;flex-wrap:wrap}.sync-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.8rem;font-weight:500;color:#1e293b;cursor:pointer;transition:all .15s}.sync-btn:hover:not(:disabled){background:#f8fafc;border-color:var(--color-info);color:var(--color-info)}.sync-btn:disabled{opacity:.5;cursor:not-allowed}.sync-btn.syncing{background:#dbeafe;border-color:var(--color-info);color:#1e40af}.sync-icon{font-size:1rem}.sync-icon.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-status{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border-radius:6px;font-size:.75rem;color:#64748b}.sync-status.success{background:#dcfce7;color:#166534}.sync-status.error{background:#fee2e2;color:#991b1b}.sync-status-icon{font-size:.9rem}@media (max-width: 720px){.fuel-card-drawer{top:auto;left:0;right:0;bottom:0;width:100%;max-height:80vh;border-left:none;border-top:1px solid #e2e8f0;border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #0000001f}.fuel-card-drawer-overlay{background:#00000040}.fuel-card-drawer__prop{flex-direction:column;gap:2px}.fuel-card-drawer__prop dt{width:auto}.fuel-card-drawer__prop dd{text-align:left}}.doc-search-page{max-width:1200px;margin:0 auto;padding-bottom:40px}.doc-search-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.doc-search-header h1{margin:0;font-size:24px;color:#1a1a2e}.tab-btn{padding:7px 16px;border:none;background:none;border-radius:7px;font-size:14px;cursor:pointer;color:#666;display:flex;align-items:center;gap:6px;transition:background .15s}.tab-badge{background:#e74c3c;color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.expiry-panel{background:#fff;border-radius:14px;padding:20px 24px;box-shadow:0 2px 10px #00000012;margin-bottom:20px}.expiry-panel__title{margin:0 0 14px;font-size:16px;font-weight:600;color:#333}.expiry-list{display:flex;flex-direction:column;gap:8px}.expiry-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;font-size:13px}.expiry-item--warning{background:#fff8e1;color:#e67e22}.expiry-item--critical{background:#fdecea;color:#c0392b}.expiry-item__icon{font-size:16px;flex-shrink:0}.expiry-item__label{flex:1;font-weight:500}.expiry-item__date{font-size:12px;opacity:.8;white-space:nowrap}.doc-search-filters{display:flex;flex-wrap:wrap;gap:10px;background:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 2px 8px #00000012;margin-bottom:16px}.filter-input--wide{flex:1;min-width:200px}.btn-search{padding:8px 20px;background:#4a90e2;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-search:hover{background:#357abd}.doc-search-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.doc-search-count{font-size:14px;color:#888}.btn-download{padding:8px 18px;background:#27ae60;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-download:hover:not(:disabled){background:#219a52}.btn-download:disabled{opacity:.6;cursor:default}.doc-search-table-wrap{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000012;overflow:hidden;margin-bottom:16px}.doc-search-table{width:100%;border-collapse:collapse;font-size:13px}.doc-search-table th{text-align:left;padding:12px 14px;background:#f8f9fc;color:#888;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #eee}.doc-search-table td{padding:11px 14px;color:#333;border-bottom:1px solid #f5f5f5;vertical-align:middle}.doc-search-table tbody tr:last-child td{border-bottom:none}.doc-search-table tbody tr:hover{background:#fafbff}.doc-name{font-weight:500;max-width:260px;word-break:break-word}.doc-type{color:#888;font-size:12px}.tag-input{display:flex;gap:4px;align-items:center}.tag-input__field{width:80px;padding:4px 8px;border:1px solid #dde1ec;border-radius:6px;font-size:12px;outline:none;background:#fafbff}.tag-input__field:focus{border-color:#4a90e2}.tag-input__btn{padding:4px 8px;background:#4a90e2;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer}.doc-search-pagination{display:flex;align-items:center;justify-content:center;gap:16px;font-size:14px;color:#666}.bank-import-page{max-width:1200px;margin:0 auto;padding-bottom:40px}.bank-import-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.bank-import-header h1{margin:0;font-size:24px;color:#1a1a2e}.wizard-container{background:#fff;border-radius:14px;box-shadow:0 2px 10px #00000014;padding:28px 32px}.wizard-progress{display:flex;align-items:center;margin-bottom:32px}.wizard-progress__step{display:flex;align-items:center;gap:8px;flex:1}.wizard-progress__dot{width:32px;height:32px;border-radius:50%;background:#e0e4ef;color:#aaa;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;transition:background .2s,color .2s}.wizard-progress__step--done .wizard-progress__dot{background:#4a90e2;color:#fff}.wizard-progress__label{font-size:13px;color:#888;white-space:nowrap}.wizard-progress__step--done .wizard-progress__label{color:#333;font-weight:500}.wizard-progress__line{flex:1;height:2px;background:#e0e4ef;margin:0 8px}.wizard-step__title{margin:0 0 20px;font-size:18px;font-weight:600;color:#1a1a2e}.wizard-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0}.wizard-error{background:#fdecea;color:#c0392b;padding:10px 14px;border-radius:8px;font-size:14px;margin-top:12px}.upload-zone{border:2px dashed #c0cff0;border-radius:14px;padding:40px 24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:#fafbff;margin-bottom:20px}.upload-zone:hover,.upload-zone--has-file{border-color:#4a90e2;background:#f0f5ff}.upload-zone__icon{font-size:40px;display:block;margin-bottom:10px}.upload-zone__placeholder p{margin:6px 0;color:#555;font-size:14px}.upload-zone__hint{color:#aaa!important;font-size:12px!important}.upload-zone__file{display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px;color:#333}.upload-zone__name{font-weight:600}.upload-zone__size{color:#888;font-size:13px}.upload-format{display:flex;align-items:center;gap:12px;margin-bottom:8px}.upload-format__label{font-size:14px;color:#555;white-space:nowrap}.preview-stats{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.preview-stat{background:#f8f9fc;border-radius:10px;padding:14px 20px;text-align:center;min-width:100px}.preview-stat__value{font-size:26px;font-weight:700}.preview-stat__label{font-size:12px;color:#888;margin-top:4px}.preview-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid #eee;max-height:400px;overflow-y:auto}.preview-table{width:100%;border-collapse:collapse;font-size:13px}.preview-table th{text-align:left;padding:10px 12px;background:#f8f9fc;color:#888;font-weight:600;font-size:12px;text-transform:uppercase;border-bottom:1px solid #eee;position:sticky;top:0}.preview-table td{padding:9px 12px;border-bottom:1px solid #f5f5f5;vertical-align:top}.preview-row--matched{background:#f0fff4}.preview-row--unmatched{background:#fff8f0}.preview-row--duplicate{background:#f8f8f8}.preview-row--error{background:#fff5f5}.preview-amount{font-weight:600;white-space:nowrap}.dir-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600}.dir-badge--credit{background:#e8f8ef;color:#27ae60}.dir-badge--debit{background:#fdecea;color:#e74c3c}.preview-counterparty{max-width:160px}.preview-inn{font-size:11px;color:#888}.preview-purpose{max-width:200px;font-size:12px;color:#555}.preview-note{font-size:11px;color:#aaa;margin-top:2px}.status-badge{font-weight:600;font-size:12px}.wizard-step--success{text-align:center;padding:40px 20px}.success-icon{font-size:56px;margin-bottom:16px}.wizard-step--success h2{font-size:22px;margin-bottom:12px}.wizard-step--success p{font-size:15px;color:#555;margin:6px 0}.success-session{font-size:13px;color:#aaa;margin-bottom:24px}.history-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000012}.history-table th{text-align:left;padding:12px 14px;background:#f8f9fc;color:#888;font-weight:600;font-size:12px;text-transform:uppercase;border-bottom:1px solid #eee}.history-table td{padding:11px 14px;border-bottom:1px solid #f5f5f5;vertical-align:middle}.history-table tbody tr:last-child td{border-bottom:none}.history-table tbody tr:hover{background:#fafbff}.rules-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}.rule-form{background:#f8f9fc;border-radius:12px;padding:20px 24px;margin-bottom:20px;border:1px solid #e0e4ef}.rule-form h3{margin:0 0 16px;font-size:16px;color:#333}.rule-form__row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.rule-form__row label{min-width:180px;font-size:14px;color:#555}.rule-form__actions{display:flex;justify-content:flex-end;margin-top:8px}.rule-pattern{font-size:12px;background:#f0f0f0;padding:2px 6px;border-radius:4px;font-family:monospace;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}.toggle-btn{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:none}.toggle-btn--on{background:#e8f8ef;color:#27ae60}.toggle-btn--off{background:#f5f5f5;color:#aaa}.btn-delete{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:14px;padding:4px 8px;border-radius:6px;transition:background .15s}.btn-delete:hover{background:#fdecea}.btn-primary{padding:9px 20px;background:#4a90e2;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary:hover:not(:disabled){background:#357abd}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{padding:9px 20px;background:#f4f6fb;color:#333;border:1px solid #e0e4ef;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.filter-input{padding:8px 12px;border:1px solid #dde1ec;border-radius:8px;font-size:14px;color:#333;background:#fafbff;outline:none;transition:border-color .15s;min-width:120px}.filter-input:focus{border-color:#4a90e2;background:#fff}.entity-badge{display:inline-block;background:#eaf4ff;color:#2980b9;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:500}.etc-dashboard-shell{display:flex;flex-direction:column;gap:var(--dashboard-gap);max-width:1360px;width:100%}.etc-dashboard-shell--compact{gap:var(--space-sm)}.etc-dashboard-shell__header{align-items:flex-start;display:flex;gap:var(--space-md);justify-content:space-between}.etc-dashboard-shell__title{color:var(--color-text-strong);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0}.etc-dashboard-shell__subtitle{color:var(--color-text-tertiary);font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:var(--space-xs) 0 0;max-width:760px}.etc-dashboard-shell__actions{align-items:center;display:inline-flex;flex-shrink:0;gap:var(--space-sm)}.etc-dashboard-grid{display:grid;gap:var(--dashboard-gap);grid-template-columns:repeat(var(--etc-dashboard-columns, 3),minmax(0,1fr))}.etc-dashboard-grid[data-columns="1"]{--etc-dashboard-columns: 1}.etc-dashboard-grid[data-columns="2"]{--etc-dashboard-columns: 2}.etc-dashboard-grid[data-columns="3"]{--etc-dashboard-columns: 3}.etc-dashboard-grid[data-columns="4"]{--etc-dashboard-columns: 4}.etc-dashboard-grid[data-columns=auto]{grid-template-columns:repeat(auto-fit,minmax(var(--etc-dashboard-min, 240px),1fr))}.etc-dashboard-grid[data-gap=sm]{gap:var(--space-sm)}.etc-dashboard-grid[data-gap=lg]{gap:var(--space-lg)}.etc-dashboard-grid[data-density=compact]{--etc-dashboard-min: 200px}.etc-dashboard-grid[data-density=comfortable]{--etc-dashboard-min: 280px}.etc-dashboard-grid--compact{gap:var(--space-sm)}.etc-dashboard-card,.etc-dashboard-panel,.etc-operational-alert{background:var(--dashboard-card-bg);border:1px solid var(--dashboard-card-border);border-radius:var(--dashboard-card-radius)}.etc-dashboard-card{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0;padding:var(--space-md);transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard)}.etc-dashboard-card:hover{background:var(--color-surface-subtle);border-color:var(--color-border)}.etc-dashboard-card--compact{gap:var(--space-xs);padding:var(--space-sm) var(--space-md)}.etc-dashboard-card__top{align-items:flex-start;display:flex;gap:var(--space-sm);justify-content:space-between}.etc-dashboard-card__label-wrap{align-items:center;display:inline-flex;gap:var(--space-sm);min-width:0}.etc-dashboard-card__icon{align-items:center;color:var(--color-text-tertiary);display:inline-flex;flex-shrink:0}.etc-dashboard-card__title,.etc-dashboard-panel__subtitle,.etc-operational-alert__meta,.etc-operational-alert__description{color:var(--kpi-label-color);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.etc-dashboard-card__title{font-weight:var(--font-weight-semibold);min-width:0}.etc-dashboard-card__value{color:var(--kpi-value-color);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.etc-dashboard-card--compact .etc-dashboard-card__value{font-size:var(--font-size-xl)}.etc-dashboard-card__meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-sm)}.etc-dashboard-card__sparkline{min-height:28px}.etc-dashboard-card__footer{color:var(--color-text-tertiary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-top:auto}.etc-kpi-trend{align-items:center;color:var(--kpi-neutral);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--space-xs);line-height:1}.etc-kpi-trend[data-trend=positive],.etc-dashboard-card[data-status=positive] .etc-dashboard-card__value{color:var(--kpi-positive)}.etc-kpi-trend[data-trend=negative],.etc-dashboard-card[data-status=negative] .etc-dashboard-card__value{color:var(--kpi-negative)}.etc-kpi-trend__mark{font-size:var(--font-size-xs)}.etc-kpi-badge{align-items:center;background:var(--color-surface-muted);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--kpi-neutral);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;min-height:24px;padding:0 var(--space-sm);white-space:nowrap}.etc-kpi-badge[data-status=positive],.etc-operational-alert[data-severity=success] .etc-kpi-badge{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--color-success-text)}.etc-kpi-badge[data-status=negative],.etc-kpi-badge[data-status=critical],.etc-operational-alert[data-severity=critical] .etc-kpi-badge{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger-text)}.etc-kpi-badge[data-status=warning],.etc-operational-alert[data-severity=warning] .etc-kpi-badge{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning-text)}.etc-kpi-badge[data-status=info],.etc-operational-alert[data-severity=info] .etc-kpi-badge{background:var(--color-info-soft);border-color:var(--color-info-border);color:var(--color-info-text)}.etc-dashboard-panel{background:var(--dashboard-panel-bg);min-width:0}.etc-dashboard-panel__header{align-items:flex-start;display:flex;gap:var(--space-md);justify-content:space-between;padding:var(--space-md)}.etc-dashboard-panel__heading{min-width:0}.etc-dashboard-panel__title{color:var(--color-text-strong);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.etc-dashboard-panel__subtitle{margin-top:var(--space-xs)}.etc-dashboard-panel__actions{align-items:center;display:inline-flex;flex-shrink:0;gap:var(--space-sm)}.etc-dashboard-panel__collapse{align-items:center;background:transparent;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:30px;justify-content:center;padding:0;width:30px}.etc-dashboard-panel__collapse:hover{background:var(--color-surface-muted)}.etc-dashboard-panel__collapse-icon{transition:transform var(--motion-duration-fast) var(--motion-ease-standard)}.etc-dashboard-panel--collapsed .etc-dashboard-panel__collapse-icon{transform:rotate(-90deg)}.etc-dashboard-panel__body{border-top:1px solid var(--color-border-light);padding:var(--space-md)}.etc-dashboard-panel--loading .etc-dashboard-panel__body,.etc-dashboard-card--loading{position:relative}.etc-dashboard-skeleton{animation:etc-dashboard-pulse var(--motion-duration-slow) var(--motion-ease-in-out) infinite alternate;background:var(--color-surface-muted);border-radius:var(--radius-xs);min-height:14px}.etc-dashboard-skeleton--value{height:32px;width:56%}.etc-dashboard-skeleton--line{height:14px;width:72%}@keyframes etc-dashboard-pulse{0%{opacity:.58}to{opacity:1}}.etc-dashboard-section{display:flex;flex-direction:column;gap:var(--space-md)}.etc-dashboard-section__header{align-items:flex-end;display:flex;gap:var(--space-md);justify-content:space-between}.etc-dashboard-section__title{color:var(--color-text-strong);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.etc-dashboard-section__subtitle{color:var(--color-text-tertiary);font-size:var(--font-size-md);margin:var(--space-xs) 0 0}.etc-operational-alert{align-items:flex-start;display:flex;gap:var(--space-sm);padding:var(--space-md)}.etc-operational-alert--compact{padding:var(--space-sm) var(--space-md)}.etc-operational-alert__rail{background:var(--kpi-neutral);border-radius:var(--radius-pill);flex:0 0 3px;min-height:42px}.etc-operational-alert[data-severity=success] .etc-operational-alert__rail{background:var(--kpi-positive)}.etc-operational-alert[data-severity=warning] .etc-operational-alert__rail{background:var(--color-warning-text)}.etc-operational-alert[data-severity=critical] .etc-operational-alert__rail{background:var(--kpi-negative)}.etc-operational-alert[data-severity=info] .etc-operational-alert__rail{background:var(--color-info-text)}.etc-operational-alert__content{display:flex;flex:1;flex-direction:column;gap:var(--space-xs);min-width:0}.etc-operational-alert__header{align-items:center;display:flex;gap:var(--space-sm);justify-content:space-between}.etc-operational-alert__title{color:var(--color-text-strong);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.etc-operational-alert__action{flex-shrink:0}@media (max-width: 960px){.etc-dashboard-grid,.etc-dashboard-grid[data-columns="3"],.etc-dashboard-grid[data-columns="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.etc-dashboard-shell__header,.etc-dashboard-panel__header,.etc-dashboard-section__header{flex-direction:column}.etc-dashboard-shell__actions,.etc-dashboard-panel__actions{width:100%}.etc-dashboard-grid,.etc-dashboard-grid[data-columns]{grid-template-columns:1fr}.etc-dashboard-shell__title{font-size:var(--font-size-xl)}}.hub-page{max-width:1040px;margin:0 auto;padding-bottom:40px}.hub-header{background:var(--dashboard-panel-bg);padding:var(--space-lg);border:1px solid var(--dashboard-card-border);border-radius:var(--dashboard-card-radius);margin-bottom:24px}.hub-header__title{margin:0 0 6px;color:var(--color-text-strong);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.hub-header__subtitle{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-base)}.hub-grid{align-items:stretch}.hub-grid--single{grid-template-columns:1fr;max-width:500px}.hub-card{display:flex;align-items:center;gap:var(--space-md);background:var(--dashboard-card-bg);border:1px solid var(--dashboard-card-border);border-radius:var(--dashboard-card-radius);padding:var(--space-md);text-decoration:none;color:inherit;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard)}.hub-card:hover{background:var(--color-surface-subtle);border-color:var(--color-border)}.hub-card:active{background:var(--color-surface-muted)}.hub-card__icon{align-items:center;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-secondary);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.hub-card__body{flex:1;min-width:0}.hub-card__title{margin:0 0 4px;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.hub-card__desc{margin:0;font-size:var(--font-size-md);color:var(--color-text-tertiary);line-height:var(--line-height-normal)}.hub-card__arrow{color:var(--color-text-muted);flex-shrink:0;transition:color var(--motion-duration-fast) var(--motion-ease-standard)}.hub-card:hover .hub-card__arrow{color:var(--color-text-secondary)}.payments-hub-panels{margin-top:var(--space-md)}.hub-table-wrap{overflow-x:auto}.hub-table{border-collapse:collapse;font-size:var(--font-size-sm);min-width:520px;width:100%}.hub-table th,.hub-table td{border-bottom:1px solid var(--color-border-light);padding:var(--space-sm);text-align:left;vertical-align:top}.hub-table th{color:var(--color-text-tertiary);font-weight:var(--font-weight-semibold)}.hub-table td{color:var(--color-text-secondary)}.hub-panel-state{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin:0}.hub-panel-state--error{color:var(--color-danger)}.subscription-page{max-width:1100px;margin:0 auto;padding-bottom:40px}.subscription-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.subscription-header h1{margin:0;font-size:24px;color:#1a1a2e}.subscription-state-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 12px 30px #0f172a14}.subscription-state-card--error{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7)}.subscription-state-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#fee2e2;color:#b91c1c;font-size:22px;font-weight:800}.subscription-state-content h1{margin:0 0 6px;color:#1f2937;font-size:1.25rem}.subscription-state-content p{margin:0;color:#4b5563;line-height:1.45}.subscription-state-hint{margin-top:6px!important;color:#6b7280!important;font-size:.9rem}.subscription-state-action{min-height:40px;padding:0 16px;border:0;border-radius:10px;background:var(--color-info-hover);color:#fff;font-weight:700;cursor:pointer}.current-plan-card{background:#fff;border-radius:16px;padding:24px 28px;box-shadow:0 2px 12px #00000017;margin-bottom:8px;border-left:6px solid #4a90e2}.current-plan-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px}.current-plan-card__name{margin:0 0 6px;font-size:22px;font-weight:700;color:#1a1a2e}.current-plan-card__status{font-size:14px;font-weight:600}.current-plan-card__cost{text-align:right}.current-plan-card__cost-value{font-size:28px;font-weight:700;color:#1a1a2e}.current-plan-card__cost-label{font-size:13px;color:#888}.current-plan-card__usage{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #f0f0f0}.usage-item{display:flex;flex-direction:column;gap:4px}.usage-item__label{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.4px}.usage-item__value{font-size:16px;font-weight:600;color:#333}.current-plan-card__modules h3{margin:0 0 12px;font-size:14px;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.modules-grid{display:flex;flex-wrap:wrap;gap:8px}.module-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:500}.module-chip--on{background:#e8f8ef;color:#27ae60}.module-chip--off{background:#f5f5f5;color:#bbb}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.plan-card{background:#fff;border-radius:14px;padding:22px 24px;box-shadow:0 2px 10px #00000012;border:2px solid transparent;position:relative;transition:border-color .2s,box-shadow .2s;display:flex;flex-direction:column;gap:12px}.plan-card:hover{border-color:#c0cff0;box-shadow:0 6px 20px #4a90e21f}.plan-card--current{border-color:#4a90e2}.plan-card__current-badge{position:absolute;top:-10px;right:16px;background:#4a90e2;color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:10px}.plan-card__name{margin:0;font-size:18px;font-weight:700;color:#1a1a2e}.plan-card__desc{margin:0;font-size:13px;color:#888;line-height:1.5}.plan-card__price{display:flex;align-items:baseline;gap:4px}.plan-card__price-value{font-size:22px;font-weight:700;color:#1a1a2e}.plan-card__price-unit{font-size:13px;color:#888}.plan-card__estimate{font-size:13px;color:#555;background:#f8f9fc;padding:8px 12px;border-radius:8px}.plan-card__modules{display:flex;flex-wrap:wrap;gap:6px;flex:1}.plan-card__btn{margin-top:auto;padding:10px 0;background:#4a90e2;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;width:100%}.plan-card__btn:hover{background:#357abd}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:#fff;border-radius:16px;width:440px;max-width:95vw;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #f0f0f0}.modal-header h2{margin:0;font-size:18px;color:#1a1a2e}.modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:#888;padding:4px 8px;border-radius:6px}.modal-close:hover{background:#f5f5f5}.modal-body p{margin:0 0 12px;font-size:14px;color:#555}.effective-choice{display:flex;flex-direction:column;gap:10px;margin-top:16px}.effective-option{display:flex;align-items:center;gap:10px;font-size:14px;color:#333;cursor:pointer}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #f0f0f0}.change-result-banner{display:flex;align-items:center;gap:12px;background:#e8f8ef;color:#27ae60;padding:12px 18px;border-radius:10px;margin-bottom:20px;font-size:14px;font-weight:500}.change-result-banner__icon{font-size:18px}.change-result-banner__msg{flex:1}.change-result-banner__close{background:none;border:none;cursor:pointer;color:#27ae60;font-size:16px;padding:2px 6px}.invoices-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000012}.invoices-table th{text-align:left;padding:12px 14px;background:#f8f9fc;color:#888;font-weight:600;font-size:12px;text-transform:uppercase;border-bottom:1px solid #eee}.invoices-table td{padding:11px 14px;border-bottom:1px solid #f5f5f5;vertical-align:middle}.invoices-table tbody tr:last-child td{border-bottom:none}.invoices-table tbody tr:hover{background:#fafbff}.inv-status{display:inline-block;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:600}.inv-status--paid{background:#e8f8ef;color:#27ae60}.inv-status--issued{background:#eaf4ff;color:#2980b9}.inv-status--overdue{background:#fdecea;color:#c0392b}.inv-status--draft{background:#f5f5f5;color:#888}.inv-status--cancelled{background:#f5f5f5;color:#aaa}.inv-status--partially_paid{background:#fff8e1;color:#e67e22}.pdf-link{color:#4a90e2;font-weight:600;text-decoration:none;font-size:12px}.pdf-link:hover{text-decoration:underline}.section-title{font-size:16px;font-weight:600;color:#333}.tab-loading{text-align:center;padding:40px;color:#888}.doc-search-empty{text-align:center;padding:40px;color:#aaa}.doc-search-pagination{display:flex;align-items:center;justify-content:center;gap:16px;font-size:14px;color:#666;margin-top:16px}.doc-search-pagination button{padding:7px 14px;background:#f4f6fb;border:1px solid #dde1ec;border-radius:8px;cursor:pointer;font-size:13px;transition:background .15s}.doc-search-pagination button:disabled{opacity:.4;cursor:default}.doc-search-pagination button:hover:not(:disabled){background:#e8eeff}.doc-name{font-weight:500}.doc-search-tabs{display:flex;gap:4px;background:#f4f6fb;padding:4px;border-radius:10px}.tab-btn{padding:7px 16px;border:none;background:none;border-radius:7px;font-size:14px;cursor:pointer;color:#666;transition:background .15s}.tab-btn--active{background:#fff;color:#333;font-weight:600;box-shadow:0 1px 4px #0000001a}.btn{padding:9px 18px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background .15s}.btn-primary{background:#4a90e2;color:#fff}.btn-primary:hover{background:#357abd}.btn-secondary{background:#f4f6fb;color:#333;border:1px solid #e0e4ef}.btn-secondary:hover{background:#e8eeff}@media (max-width: 640px){.subscription-page{padding:0 16px 32px}.subscription-state-card{grid-template-columns:1fr;align-items:start;gap:12px;padding:18px}.subscription-state-action{width:100%}}.dadata-settings-grid{display:flex;flex-direction:column;gap:20px}.dadata-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.badge-partial{background:#fff8e1;color:#f57c00}.badge-paid{background:#fce4ec;color:#c62828}.dadata-config-table{width:100%;border-collapse:collapse;margin-bottom:16px}.dadata-config-table td{padding:8px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.dadata-config-table tr:last-child td{border-bottom:none}.config-label{font-family:SF Mono,Fira Code,monospace;font-size:13px;color:#555;width:200px;white-space:nowrap}.config-hint{font-size:12px;color:#888}.config-url{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:#555;background:#f5f5f5;padding:2px 6px;border-radius:4px}.config-hint-block{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:12px 16px;font-size:13px;color:#555;margin-top:8px}.config-pre{background:#2d2d2d;color:#f8f8f2;border-radius:6px;padding:10px 14px;margin:8px 0 0;font-family:SF Mono,Fira Code,monospace;font-size:12px;white-space:pre;overflow-x:auto}.dadata-features-list{display:flex;flex-direction:column;gap:16px}.dadata-feature-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;padding:12px 16px}.dadata-feature-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.dadata-feature-label{font-weight:600;font-size:14px;color:#333}.dadata-feature-desc{font-size:13px;color:#666;margin:0;line-height:1.5}.dadata-endpoints-table{width:100%;border-collapse:collapse;font-size:13px}.dadata-endpoints-table th{text-align:left;padding:8px 12px;background:#f5f5f5;font-weight:600;color:#555;border-bottom:2px solid #e0e0e0}.dadata-endpoints-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.dadata-endpoints-table tr:last-child td{border-bottom:none}.dadata-usage-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px}.dadata-usage-list li{font-size:13px;color:#555;line-height:1.5}.dadata-usage-list li strong{color:#333}.dgis-settings-grid{display:flex;flex-direction:column;gap:20px}.dgis-loading{color:#888;font-size:14px;padding:8px 0}.dgis-status-row{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:10px 14px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;flex-wrap:wrap}.dgis-status-label{font-size:13px;color:#555;font-weight:500}.dgis-key-preview{font-family:SF Mono,Fira Code,monospace;font-size:12px;background:#f0f0f0;color:#444;padding:2px 8px;border-radius:4px}.dgis-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.badge-active{background:#e8f5e9;color:#2e7d32}.badge-inactive{background:#fafafa;color:#9e9e9e;border:1px solid #e0e0e0}.badge-env{background:#e3f2fd;color:#1565c0}.dgis-form-group{margin-bottom:16px}.dgis-label{display:block;font-size:13px;font-weight:600;color:#333;margin-bottom:6px}.dgis-label-hint{font-weight:400;color:#888}.dgis-input-row{display:flex;gap:8px;align-items:center}.dgis-input{flex:1;padding:8px 12px;font-size:14px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;outline:none;font-family:SF Mono,Fira Code,monospace;color:#222;transition:border-color .15s}.dgis-input:focus{border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61f}.dgis-input::placeholder{color:#b0b8c1;font-family:inherit}.dgis-btn-icon{background:none;border:1px solid #d0d5dd;border-radius:8px;padding:7px 10px;font-size:16px;cursor:pointer;line-height:1;color:#555;transition:background .15s}.dgis-btn-icon:hover{background:#f5f5f5}.dgis-field-hint{font-size:12px;color:#888;margin:5px 0 0;line-height:1.5}.dgis-inline-code{font-family:SF Mono,Fira Code,monospace;font-size:11px;background:#f0f0f0;padding:1px 5px;border-radius:3px;color:#444}.dgis-default-label{color:#aaa;font-style:italic}.dgis-advanced-toggle{margin-bottom:12px}.dgis-btn-text{background:none;border:none;padding:0;font-size:13px;color:var(--color-info);cursor:pointer;font-weight:500}.dgis-btn-text:hover{text-decoration:underline}.dgis-actions{display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap}.btn-primary{background:var(--color-info);color:#fff;border:none;padding:9px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}.btn-primary:hover:not(:disabled){background:var(--color-info-hover);box-shadow:0 2px 8px #3b82f640}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-danger-outline{background:none;border:1px solid #ef4444;color:var(--color-danger);padding:9px 18px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-danger-outline:hover:not(:disabled){background:#fef2f2}.btn-danger-outline:disabled{opacity:.45;cursor:not-allowed}.dgis-msg-success{color:#2e7d32;font-size:13px;font-weight:500;margin-top:10px}.dgis-msg-error{color:#c62828;font-size:13px;margin-top:10px}.dgis-test-result{margin-top:14px;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:500}.dgis-test-ok{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.dgis-test-fail{background:#fce4ec;color:#c62828;border:1px solid #f8bbd9}.dgis-features-list{display:flex;flex-direction:column;gap:12px}.dgis-feature-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;padding:12px 16px}.dgis-feature-header{display:flex;align-items:center;gap:10px;margin-bottom:5px}.dgis-feature-label{font-weight:600;font-size:14px;color:#333}.dgis-feature-desc{font-size:13px;color:#666;margin:0;line-height:1.5}.dgis-endpoints-table{width:100%;border-collapse:collapse;font-size:13px}.dgis-endpoints-table th{text-align:left;padding:8px 12px;background:#f5f5f5;font-weight:600;color:#555;border-bottom:2px solid #e0e0e0}.dgis-endpoints-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle;color:#444}.dgis-endpoints-table tr:last-child td{border-bottom:none}.dgis-priority-list{display:flex;flex-direction:column;gap:8px}.dgis-priority-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;background:#f8f9fa;border:1px solid #e9ecef}.dgis-priority-inactive{opacity:.65}.dgis-priority-num{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#e0e7ff;color:#3730a3;font-size:13px;font-weight:700;flex-shrink:0}.dgis-priority-body{flex:1;display:flex;flex-direction:column;gap:2px}.dgis-priority-label{font-size:14px;font-weight:600;color:#222}.dgis-priority-note{font-size:12px;color:#888}.ocr-loading{padding:40px;text-align:center;color:#888}.ocr-settings-layout{display:flex;flex-direction:column;gap:20px}.ocr-active-backend{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ocr-backend-name{font-size:18px;font-weight:600;color:#1a1a2e}.ocr-active-desc{font-size:14px;color:#555;margin:0;line-height:1.5}.ocr-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.ocr-badge--ok{background:#e8f5e9;color:#2e7d32}.ocr-badge--warn{background:#fff8e1;color:#f57c00}.ocr-badge--active{background:#e3f2fd;color:#1565c0}.ocr-badge--free{background:#f3e5f5;color:#6a1b9a}.ocr-backend-list{display:flex;flex-direction:column;gap:10px}.ocr-backend-option{display:flex;align-items:flex-start;gap:14px;border:2px solid #e8e8e8;border-radius:10px;padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s}.ocr-backend-option:hover{border-color:#b0c4de;background:#f8faff}.ocr-backend-option--selected{border-color:#4870c0;background:#f0f4ff}.ocr-backend-radio{margin-top:3px;accent-color:#4870c0;flex-shrink:0}.ocr-backend-info{flex:1}.ocr-backend-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.ocr-backend-label{font-weight:600;font-size:14px;color:#222}.ocr-backend-desc{font-size:13px;color:#666;margin:4px 0 6px;line-height:1.45}.ocr-docs-link{font-size:12px;color:#4870c0;text-decoration:none}.ocr-docs-link:hover{text-decoration:underline}.ocr-keys-hint{font-size:13px;color:#888;margin-bottom:16px}.ocr-key-group{margin-bottom:16px}.ocr-key-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#444;margin-bottom:6px}.ocr-key-current{font-size:12px;font-weight:400;color:#888;font-family:SF Mono,Fira Code,monospace}.ocr-key-input{width:100%;padding:8px 12px;border:1.5px solid #d0d0d0;border-radius:8px;font-size:14px;color:#333;background:#fff;box-sizing:border-box;transition:border-color .15s}.ocr-key-input:focus{outline:none;border-color:#4870c0}.ocr-key-hint{font-size:12px;color:#888;margin:6px 0 0}.ocr-key-hint a{color:#4870c0}.ocr-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.ocr-msg{font-size:13px;padding:10px 14px;border-radius:8px;margin-top:10px}.ocr-msg--success{background:#e8f5e9;color:#2e7d32}.ocr-msg--error{background:#fce4ec;color:#c62828}.ocr-table-wrap{overflow-x:auto}.ocr-compare-table{width:100%;border-collapse:collapse;font-size:13px;min-width:500px}.ocr-compare-table th{text-align:left;padding:8px 12px;background:#f5f5f5;font-weight:600;color:#555;border-bottom:2px solid #e0e0e0}.ocr-compare-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle;color:#444}.ocr-compare-table tr:last-child td{border-bottom:none}.page-subtitle{font-size:14px;color:#888;margin:4px 0 20px}.report-back-button{flex:0 0 auto;min-height:40px;padding:0 16px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#334155;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 6px 14px #0f172a0f;transition:border-color .15s ease,box-shadow .15s ease,color .15s ease}.report-back-button:hover{border-color:var(--color-info-hover);color:var(--color-info-hover);box-shadow:0 8px 18px #0f172a1a}.report-back-button:focus-visible{border-color:var(--color-info-hover);box-shadow:0 0 0 3px #2563eb24;outline:none}@media (max-width: 720px){.report-back-button{min-height:36px;padding:0 12px;border-radius:9px;font-size:13px}}.tooltip-trigger{position:relative;display:inline-flex;align-items:center;gap:4px;cursor:help;outline:none}.tooltip-trigger:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 10px);z-index:20;width:max-content;max-width:260px;padding:8px 10px;border:1px solid rgba(17,24,39,.08);border-radius:10px;background:#111827f0;color:#fff;font-size:12px;font-weight:500;line-height:1.4;text-align:left;white-space:normal;box-shadow:0 10px 25px #0f172a2e;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .15s ease,transform .15s ease}.tooltip-trigger:hover:after,.tooltip-trigger:focus:after,.tooltip-trigger:focus-visible:after{opacity:1;transform:translate(-50%)}.tooltip-trigger:focus-visible{border-radius:6px;box-shadow:0 0 0 3px #2563eb2e}.efficiency-page{max-width:1360px;margin:0 auto;padding-bottom:40px}.efficiency-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding:24px 28px;border:1px solid rgba(226,232,240,.9);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 12px 30px #0f172a12}.efficiency-header__title{margin:0 0 6px;color:#111827;font-size:28px;font-weight:700}.efficiency-header__subtitle{max-width:640px;margin:0;color:#64748b;font-size:14px;line-height:1.5}.efficiency-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;padding:18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.efficiency-field{display:flex;flex-direction:column;gap:6px;min-width:180px;color:#475569;font-size:13px;font-weight:600}.efficiency-field select,.efficiency-field input{min-height:40px;padding:0 12px;border:1px solid #d7dee8;border-radius:11px;background:#f8fafc;color:#111827;font:inherit;font-weight:500}.efficiency-field select:focus,.efficiency-field input:focus{border-color:var(--color-info-hover);box-shadow:0 0 0 3px #2563eb24;outline:none}.efficiency-field--checkbox{flex-direction:row;align-items:center;gap:6px;min-width:auto;min-height:40px;cursor:pointer;-webkit-user-select:none;user-select:none}.efficiency-field--checkbox input{width:16px;height:16px;min-height:auto;margin:0;padding:0}.efficiency-button{min-height:40px;padding:0 18px;border:none;border-radius:11px;background:linear-gradient(180deg,var(--color-info) 0%,var(--color-info-hover) 100%);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px #2563eb33;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.efficiency-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #2563eb40}.efficiency-button:active:not(:disabled){transform:translateY(0)}.efficiency-button:disabled{cursor:default;opacity:.65}.efficiency-button--secondary{background:#fff;color:var(--color-info-hover);border:1px solid #bfdbfe;box-shadow:none}.efficiency-state{padding:28px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;color:#64748b;text-align:center;box-shadow:0 8px 22px #0f172a0d}.efficiency-state--error{color:#991b1b;background:#fff7f7;border-color:#fecaca}.efficiency-state--error p{margin:0 0 14px}.efficiency-card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 10px 26px #0f172a0f;overflow:hidden}.efficiency-table-wrap{overflow-x:auto}.efficiency-table{width:100%;border-collapse:collapse;min-width:860px}.efficiency-table th,.efficiency-table td{padding:14px 16px;border-bottom:1px solid #edf2f7;text-align:right;white-space:nowrap}.efficiency-table th:first-child,.efficiency-table td:first-child{text-align:left;white-space:normal}.efficiency-table th{background:#f8fafc;color:#475569;font-size:12px;font-weight:700;letter-spacing:.02em}.efficiency-table td{color:#111827;font-size:14px}.efficiency-table__total td{background:#fbfdff;font-weight:700}.efficiency-group{display:flex;flex-direction:column;gap:4px}.efficiency-group__note{color:#64748b;font-size:12px;font-weight:500}.efficiency-tooltip-mark{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:#e0ecff;color:var(--color-info-hover);font-size:11px;font-weight:800}.efficiency-footnote{margin:0;padding:12px 16px;border-top:1px solid #edf2f7;color:#94a3b8;font-size:12px}.efficiency-footnote .tooltip-trigger{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}@media (max-width: 720px){.efficiency-header{flex-direction:column;border-radius:14px;margin-bottom:12px;padding:14px}.efficiency-header__title{font-size:22px}.efficiency-header__subtitle{font-size:13px}.efficiency-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;margin-bottom:12px;padding:10px;border-radius:14px}.efficiency-field{min-width:0;width:auto;gap:4px;font-size:12px}.efficiency-field select,.efficiency-field input{min-height:36px;padding:0 10px;border-radius:9px}.efficiency-field--checkbox{grid-column:1 / -1;min-height:32px}.efficiency-button{min-height:36px;width:auto;padding:0 10px;border-radius:9px;font-size:13px}.efficiency-state{padding:18px}}@media (max-width: 720px) and (orientation: landscape){.efficiency-header{padding:10px 14px}.efficiency-header__title{font-size:20px}.efficiency-header__subtitle{display:none}.efficiency-filters{grid-template-columns:repeat(5,minmax(0,1fr));padding:8px}.efficiency-field--checkbox{grid-column:auto}.efficiency-button{min-height:32px}}.order-volume-page{max-width:1360px;margin:0 auto;padding-bottom:40px}.order-volume-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding:24px 28px;border:1px solid rgba(226,232,240,.9);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 12px 30px #0f172a12}.order-volume-header__title{margin:0 0 6px;color:#111827;font-size:28px;font-weight:700}.order-volume-header__subtitle{max-width:640px;margin:0;color:#64748b;font-size:14px;line-height:1.5}.order-volume-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;padding:18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.order-volume-field{display:flex;flex-direction:column;gap:6px;min-width:180px;color:#475569;font-size:13px;font-weight:600}.order-volume-field select,.order-volume-field input{min-height:40px;padding:0 12px;border:1px solid #d7dee8;border-radius:11px;background:#f8fafc;color:#111827;font:inherit;font-weight:500}.order-volume-field select:focus,.order-volume-field input:focus{border-color:var(--color-info-hover);box-shadow:0 0 0 3px #2563eb24;outline:none}.order-volume-field--checkbox{flex-direction:row;align-items:center;gap:6px;min-width:auto;min-height:40px;cursor:pointer;-webkit-user-select:none;user-select:none}.order-volume-field--checkbox input{width:16px;height:16px;min-height:auto;margin:0;padding:0}.order-volume-button{min-height:40px;padding:0 18px;border:none;border-radius:11px;background:linear-gradient(180deg,var(--color-info) 0%,var(--color-info-hover) 100%);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px #2563eb33;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.order-volume-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #2563eb40}.order-volume-button:active:not(:disabled){transform:translateY(0)}.order-volume-button:disabled{cursor:default;opacity:.65}.order-volume-button--secondary{background:#fff;color:var(--color-info-hover);border:1px solid #bfdbfe;box-shadow:none}.order-volume-state{padding:28px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;color:#64748b;text-align:center;box-shadow:0 8px 22px #0f172a0d}.order-volume-state--error{color:#991b1b;background:#fff7f7;border-color:#fecaca}.order-volume-state--error p{margin:0 0 14px}.order-volume-card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 10px 26px #0f172a0f;overflow:hidden}.order-volume-table-wrap{overflow-x:auto}.order-volume-table{width:100%;border-collapse:collapse;min-width:980px}.order-volume-table th,.order-volume-table td{padding:14px 16px;border-bottom:1px solid #edf2f7;text-align:right;white-space:nowrap}.order-volume-table th:first-child,.order-volume-table td:first-child{text-align:left;white-space:normal}.order-volume-table th{background:#f8fafc;color:#475569;font-size:12px;font-weight:700;letter-spacing:.02em}.order-volume-table td{color:#111827;font-size:14px}.order-volume-table__total td{background:#fbfdff;font-weight:700}.order-volume-group{display:flex;flex-direction:column;gap:4px}.order-volume-group__note{color:#64748b;font-size:12px;font-weight:500}.order-volume-tooltip-mark{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:#e0ecff;color:var(--color-info-hover);font-size:11px;font-weight:800}@media (max-width: 720px){.order-volume-header{flex-direction:column;border-radius:14px;margin-bottom:12px;padding:14px}.order-volume-header__title{font-size:22px}.order-volume-header__subtitle{font-size:13px}.order-volume-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;margin-bottom:12px;padding:10px;border-radius:14px}.order-volume-field{min-width:0;width:auto;gap:4px;font-size:12px}.order-volume-field select,.order-volume-field input{min-height:36px;padding:0 10px;border-radius:9px}.order-volume-field--checkbox{grid-column:1 / -1;min-height:32px}.order-volume-button{min-height:36px;width:auto;padding:0 10px;border-radius:9px;font-size:13px}.order-volume-state{padding:18px}}@media (max-width: 720px) and (orientation: landscape){.order-volume-header{padding:10px 14px}.order-volume-header__title{font-size:20px}.order-volume-header__subtitle{display:none}.order-volume-filters{grid-template-columns:repeat(5,minmax(0,1fr));padding:8px}.order-volume-field--checkbox{grid-column:auto}.order-volume-button{min-height:32px}}.fleet-report-page{max-width:1360px;margin:0 auto;padding-bottom:40px}.fleet-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding:24px 28px;border:1px solid rgba(226,232,240,.9);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 12px 30px #0f172a12}.fleet-report-header__title{margin:0 0 6px;color:#111827;font-size:28px;font-weight:700}.fleet-report-header__subtitle{max-width:720px;margin:0;color:#64748b;font-size:14px;line-height:1.5}.fleet-report-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;padding:18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.fleet-report-field{display:flex;flex-direction:column;gap:6px;min-width:180px;color:#475569;font-size:13px;font-weight:600}.fleet-report-field select,.fleet-report-field input{min-height:40px;padding:0 12px;border:1px solid #d7dee8;border-radius:11px;background:#f8fafc;color:#111827;font:inherit;font-weight:500}.fleet-report-field select:focus,.fleet-report-field input:focus{border-color:var(--color-info-hover);box-shadow:0 0 0 3px #2563eb24;outline:none}.fleet-report-field--checkbox{flex-direction:row;align-items:center;gap:6px;min-width:auto;min-height:40px;cursor:pointer;-webkit-user-select:none;user-select:none}.fleet-report-field--checkbox input{width:16px;height:16px;min-height:auto;margin:0;padding:0}.fleet-report-button{min-height:40px;padding:0 18px;border:none;border-radius:11px;background:linear-gradient(180deg,var(--color-info) 0%,var(--color-info-hover) 100%);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px #2563eb33;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.fleet-report-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #2563eb40}.fleet-report-button:active:not(:disabled){transform:translateY(0)}.fleet-report-button:disabled{cursor:default;opacity:.65}.fleet-report-button--secondary{background:#fff;color:var(--color-info-hover);border:1px solid #bfdbfe;box-shadow:none}.fleet-report-state{padding:28px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;color:#64748b;text-align:center;box-shadow:0 8px 22px #0f172a0d}.fleet-report-state--error{color:#991b1b;background:#fff7f7;border-color:#fecaca}.fleet-report-state--error p{margin:0 0 14px}.fleet-summary-card{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;margin-bottom:18px;padding:16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.fleet-summary-item{padding:14px;border:1px solid #edf2f7;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff)}.fleet-summary-item__label{display:block;margin-bottom:6px;color:#64748b;font-size:12px;font-weight:700}.fleet-summary-item__value{color:#111827;font-size:20px;font-weight:800}.fleet-report-card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 10px 26px #0f172a0f;overflow:hidden}.fleet-report-table-wrap{overflow-x:auto}.fleet-report-table{width:100%;min-width:1180px;border-collapse:collapse}.fleet-report-table th,.fleet-report-table td{padding:14px 16px;border-bottom:1px solid #edf2f7;text-align:right;white-space:nowrap}.fleet-report-table th:first-child,.fleet-report-table td:first-child{text-align:left;white-space:normal}.fleet-report-table th{background:#f8fafc;color:#475569;font-size:12px;font-weight:700;letter-spacing:.02em}.fleet-report-table td{color:#111827;font-size:14px}.fleet-report-vehicle{display:flex;flex-direction:column;gap:4px}.fleet-report-vehicle__note{color:#64748b;font-size:12px;font-weight:500}.fleet-report-tooltip-mark{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:#e0ecff;color:var(--color-info-hover);font-size:11px;font-weight:800}@media (max-width: 920px){.fleet-summary-card{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media (max-width: 720px){.fleet-report-header{flex-direction:column;border-radius:14px;margin-bottom:12px;padding:14px}.fleet-report-header__title{font-size:22px}.fleet-report-header__subtitle{font-size:13px}.fleet-report-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;margin-bottom:12px;padding:10px;border-radius:14px}.fleet-report-field{min-width:0;width:auto;gap:4px;font-size:12px}.fleet-report-field select,.fleet-report-field input{min-height:36px;padding:0 10px;border-radius:9px}.fleet-report-field--checkbox{grid-column:1 / -1;min-height:32px}.fleet-report-button{min-height:36px;width:auto;padding:0 10px;border-radius:9px;font-size:13px}.fleet-summary-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;padding:10px}.fleet-summary-item{padding:10px;border-radius:12px}.fleet-summary-item__value{font-size:17px}.fleet-report-state{padding:18px}}@media (max-width: 720px) and (orientation: landscape){.fleet-report-header{padding:10px 14px}.fleet-report-header__title{font-size:20px}.fleet-report-header__subtitle{display:none}.fleet-report-filters{grid-template-columns:repeat(4,minmax(0,1fr));padding:8px}.fleet-report-field--checkbox{grid-column:auto}.fleet-report-button{min-height:32px}}.delivery-perf-page{max-width:1360px;margin:0 auto;padding-bottom:40px}.delivery-perf-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding:24px 28px;border:1px solid rgba(226,232,240,.9);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 12px 30px #0f172a12}.delivery-perf-header__title{margin:0 0 6px;color:#111827;font-size:28px;font-weight:700}.delivery-perf-header__subtitle{max-width:720px;margin:0;color:#64748b;font-size:14px;line-height:1.5}.delivery-perf-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;padding:18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.delivery-perf-field{display:flex;flex-direction:column;gap:6px;min-width:180px;color:#475569;font-size:13px;font-weight:600}.delivery-perf-field select,.delivery-perf-field input{min-height:40px;padding:0 12px;border:1px solid #d7dee8;border-radius:11px;background:#f8fafc;color:#111827;font:inherit;font-weight:500}.delivery-perf-field select:focus,.delivery-perf-field input:focus{border-color:var(--color-info-hover);box-shadow:0 0 0 3px #2563eb24;outline:none}.delivery-perf-button{min-height:40px;padding:0 18px;border:none;border-radius:11px;background:linear-gradient(180deg,var(--color-info) 0%,var(--color-info-hover) 100%);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px #2563eb33;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.delivery-perf-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #2563eb40}.delivery-perf-button:active:not(:disabled){transform:translateY(0)}.delivery-perf-button:disabled{cursor:default;opacity:.65}.delivery-perf-button--secondary{background:#fff;color:var(--color-info-hover);border:1px solid #bfdbfe;box-shadow:none}.delivery-perf-state{padding:28px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;color:#64748b;text-align:center;box-shadow:0 8px 22px #0f172a0d}.delivery-perf-state--error{color:#991b1b;background:#fff7f7;border-color:#fecaca}.delivery-perf-state--error p{margin:0 0 14px}.delivery-perf-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.delivery-perf-card{padding:16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.delivery-perf-card__title{margin:0 0 14px;color:#111827;font-size:18px;font-weight:800}.delivery-perf-card__grid{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:12px}.delivery-perf-item{padding:14px;border:1px solid #edf2f7;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff)}.delivery-perf-item__label{display:block;margin-bottom:6px;color:#64748b;font-size:12px;font-weight:700}.delivery-perf-item__value{color:#111827;font-size:20px;font-weight:800}@media (max-width: 920px){.delivery-perf-cards{grid-template-columns:1fr}}@media (max-width: 720px){.delivery-perf-header{flex-direction:column;border-radius:14px;margin-bottom:12px;padding:14px}.delivery-perf-header__title{font-size:22px}.delivery-perf-header__subtitle{font-size:13px}.delivery-perf-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;margin-bottom:12px;padding:10px;border-radius:14px}.delivery-perf-field{min-width:0;width:auto;gap:4px;font-size:12px}.delivery-perf-field select,.delivery-perf-field input{min-height:36px;padding:0 10px;border-radius:9px}.delivery-perf-button{min-height:36px;width:auto;padding:0 10px;border-radius:9px;font-size:13px}.delivery-perf-state{padding:18px}.delivery-perf-cards{gap:12px}.delivery-perf-card{padding:12px;border-radius:14px}.delivery-perf-card__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.delivery-perf-item{padding:10px;border-radius:12px}.delivery-perf-item__value{font-size:17px}}@media (max-width: 720px) and (orientation: landscape){.delivery-perf-header{padding:10px 14px}.delivery-perf-header__title{font-size:20px}.delivery-perf-header__subtitle{display:none}.delivery-perf-filters{grid-template-columns:repeat(4,minmax(0,1fr));padding:8px}.delivery-perf-button{min-height:32px}}.receivables-page{max-width:1360px;margin:0 auto;padding-bottom:40px}.receivables-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding:24px 28px;border:1px solid rgba(226,232,240,.9);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 12px 30px #0f172a12}.receivables-header__title{margin:0 0 6px;color:#111827;font-size:28px;font-weight:700}.receivables-header__subtitle{max-width:720px;margin:0;color:#64748b;font-size:14px;line-height:1.5}.receivables-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;padding:18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.receivables-field{display:flex;flex-direction:column;gap:6px;min-width:180px;color:#475569;font-size:13px;font-weight:600}.receivables-field input{min-height:40px;padding:0 12px;border:1px solid #d7dee8;border-radius:11px;background:#f8fafc;color:#111827;font:inherit;font-weight:500}.receivables-field input:focus{border-color:var(--color-info-hover);box-shadow:0 0 0 3px #2563eb24;outline:none}.receivables-button{min-height:40px;padding:0 18px;border:none;border-radius:11px;background:linear-gradient(180deg,var(--color-info) 0%,var(--color-info-hover) 100%);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px #2563eb33;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.receivables-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #2563eb40}.receivables-button:active:not(:disabled){transform:translateY(0)}.receivables-button:disabled{cursor:default;opacity:.65}.receivables-button--secondary{border:1px solid #bfdbfe;background:#fff;color:var(--color-info-hover);box-shadow:none}.receivables-state{padding:28px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;color:#64748b;text-align:center;box-shadow:0 8px 22px #0f172a0d}.receivables-state--error{border-color:#fecaca;background:#fff7f7;color:#991b1b}.receivables-state--error p{margin:0 0 14px}.receivables-state--empty{color:#475569;font-weight:700}.receivables-total-card,.receivables-buckets-card,.receivables-discipline-card,.receivables-table-card{margin-bottom:18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.receivables-total-card{display:flex;flex-direction:column;gap:8px;padding:22px;background:linear-gradient(180deg,#eff6ff,#fff)}.receivables-total-card__label{color:#475569;font-size:13px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.receivables-total-card__value{color:#111827;font-size:34px;font-weight:850;line-height:1.15}.receivables-buckets-card,.receivables-discipline-card{padding:16px}.receivables-card-title{margin:0 0 14px;color:#111827;font-size:18px;font-weight:800}.receivables-bucket-list{display:flex;flex-direction:column;gap:10px}.receivables-bucket-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(180px,2fr) minmax(140px,.9fr);align-items:center;gap:14px;padding:12px;border:1px solid #edf2f7;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff)}.receivables-bucket-row__main{display:flex;flex-direction:column;gap:4px}.receivables-bucket-row__name{color:#111827;font-size:14px;font-weight:800}.receivables-bucket-row__orders{color:#64748b;font-size:12px;font-weight:600}.receivables-bucket-row__bar{height:10px;overflow:hidden;border-radius:999px;background:#e5edf7}.receivables-bucket-row__bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#60a5fa 0%,var(--color-info-hover) 100%)}.receivables-bucket-row__amount{display:flex;flex-direction:column;gap:3px;text-align:right}.receivables-bucket-row__amount strong{color:#111827;font-size:15px}.receivables-bucket-row__amount span{color:#64748b;font-size:12px;font-weight:700}.receivables-discipline-card__grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px}.receivables-metric{padding:14px;border:1px solid #edf2f7;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff)}.receivables-metric__label{display:block;margin-bottom:6px;color:#64748b;font-size:12px;font-weight:700}.receivables-metric__value{color:#111827;font-size:20px;font-weight:800}.receivables-table-card{overflow:hidden}.receivables-table-card__header{padding:16px 18px 0}.receivables-table-card__header h2{margin:0 0 4px;color:#111827;font-size:18px;font-weight:800}.receivables-table-card__header p{margin:0 0 14px;color:#64748b;font-size:13px}.receivables-table-wrap{overflow-x:auto}.receivables-table{width:100%;min-width:980px;border-collapse:collapse}.receivables-table th,.receivables-table td{padding:14px 16px;border-bottom:1px solid #edf2f7;text-align:right;white-space:nowrap}.receivables-table th:first-child,.receivables-table td:first-child{text-align:left;white-space:normal}.receivables-table th{background:#f8fafc;color:#475569;font-size:12px;font-weight:700;letter-spacing:.02em}.receivables-table td{color:#111827;font-size:14px}@media (max-width: 920px){.receivables-bucket-row{grid-template-columns:1fr}.receivables-bucket-row__amount{text-align:left}.receivables-discipline-card__grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media (max-width: 720px){.receivables-header{flex-direction:column;border-radius:14px;margin-bottom:12px;padding:14px}.receivables-header__title{font-size:22px}.receivables-header__subtitle{font-size:13px}.receivables-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;margin-bottom:12px;padding:10px;border-radius:14px}.receivables-field{min-width:0;width:auto;gap:4px;font-size:12px}.receivables-field input{min-height:36px;padding:0 10px;border-radius:9px}.receivables-button{min-height:36px;width:auto;padding:0 10px;border-radius:9px;font-size:13px}.receivables-total-card,.receivables-buckets-card,.receivables-discipline-card,.receivables-table-card{margin-bottom:12px;border-radius:14px}.receivables-total-card,.receivables-buckets-card,.receivables-discipline-card{padding:12px}.receivables-total-card__value{font-size:24px}.receivables-bucket-row{gap:8px;padding:10px;border-radius:12px}.receivables-discipline-card__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.receivables-metric{padding:10px;border-radius:12px}.receivables-metric__value{font-size:17px}.receivables-state{padding:18px}}@media (max-width: 720px) and (orientation: landscape){.receivables-header{padding:10px 14px}.receivables-header__title{font-size:20px}.receivables-header__subtitle{display:none}.receivables-filters{grid-template-columns:repeat(3,minmax(0,1fr));padding:8px}.receivables-button{min-height:32px}}.order-profitability-page{max-width:1360px;margin:0 auto;padding-bottom:40px}.order-profitability-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding:24px 28px;border:1px solid rgba(226,232,240,.9);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 12px 30px #0f172a12}.order-profitability-header__title{margin:0 0 6px;color:#111827;font-size:28px;font-weight:700}.order-profitability-header__subtitle{max-width:680px;margin:0;color:#64748b;font-size:14px;line-height:1.5}.order-profitability-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;padding:18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.order-profitability-field{display:flex;flex-direction:column;gap:6px;min-width:170px;color:#475569;font-size:13px;font-weight:600}.order-profitability-field select,.order-profitability-field input{min-height:40px;padding:0 12px;border:1px solid #d7dee8;border-radius:11px;background:#f8fafc;color:#111827;font:inherit;font-weight:500}.order-profitability-field select:focus,.order-profitability-field input:focus{border-color:var(--color-info-hover);box-shadow:0 0 0 3px #2563eb24;outline:none}.order-profitability-button{min-height:40px;padding:0 18px;border:none;border-radius:11px;background:linear-gradient(180deg,var(--color-info) 0%,var(--color-info-hover) 100%);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px #2563eb33;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.order-profitability-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #2563eb40}.order-profitability-button:active:not(:disabled){transform:translateY(0)}.order-profitability-button:disabled{cursor:default;opacity:.65}.order-profitability-button--secondary{background:#fff;color:var(--color-info-hover);border:1px solid #bfdbfe;box-shadow:none}.order-profitability-state{padding:28px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;color:#64748b;text-align:center;box-shadow:0 8px 22px #0f172a0d}.order-profitability-state--error{color:#991b1b;background:#fff7f7;border-color:#fecaca}.order-profitability-state--error p{margin:0 0 14px}.order-profitability-note,.order-profitability-warnings,.order-profitability-card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 10px 26px #0f172a0f}.order-profitability-note{margin-bottom:14px;padding:14px 18px;color:#334155;font-size:14px;line-height:1.5;background:#f8fafc}.order-profitability-warnings{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:12px 14px;color:#92400e;background:#fffbeb;border-color:#fde68a;box-shadow:none}.order-profitability-warnings__label{font-size:13px;font-weight:700}.order-profitability-warning{padding:4px 8px;border-radius:999px;background:#fff7d6;color:#78350f;font-size:12px;font-weight:700}.order-profitability-card{margin-bottom:16px;overflow:hidden}.order-profitability-section-head{padding:16px 18px;border-bottom:1px solid #edf2f7;background:#fbfdff}.order-profitability-section-head h2{margin:0;color:#111827;font-size:18px;font-weight:700}.order-profitability-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#edf2f7}.order-profitability-metric{min-width:0;padding:16px;background:#fff}.order-profitability-metric span{display:block;margin-bottom:8px;color:#64748b;font-size:12px;font-weight:700;line-height:1.35}.order-profitability-metric strong{display:block;color:#111827;font-size:20px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}.order-profitability-metric--accent{background:#f0f7ff}.order-profitability-metric--accent strong{color:var(--color-info-text)}.order-profitability-table-wrap{overflow-x:auto}.order-profitability-table{width:100%;min-width:1040px;border-collapse:collapse}.order-profitability-table th,.order-profitability-table td{padding:14px 16px;border-bottom:1px solid #edf2f7;text-align:right;white-space:nowrap}.order-profitability-table th:first-child,.order-profitability-table td:first-child,.order-profitability-table th:nth-child(2),.order-profitability-table td:nth-child(2){text-align:left}.order-profitability-table th{background:#f8fafc;color:#475569;font-size:12px;font-weight:700;letter-spacing:.02em}.order-profitability-table td{color:#111827;font-size:14px}@media (max-width: 900px){.order-profitability-totals{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 720px){.order-profitability-header{flex-direction:column;border-radius:14px;margin-bottom:12px;padding:14px}.order-profitability-header__title{font-size:22px}.order-profitability-header__subtitle{font-size:13px}.order-profitability-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;margin-bottom:12px;padding:10px;border-radius:14px}.order-profitability-field{min-width:0;width:auto;gap:4px;font-size:12px}.order-profitability-field select,.order-profitability-field input{min-height:36px;padding:0 10px;border-radius:9px}.order-profitability-button{min-height:36px;width:auto;padding:0 10px;border-radius:9px;font-size:13px}.order-profitability-state{padding:18px}.order-profitability-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.order-profitability-metric{padding:12px}.order-profitability-metric strong{font-size:17px}}@media (max-width: 720px) and (orientation: landscape){.order-profitability-header{padding:10px 14px}.order-profitability-header__title{font-size:20px}.order-profitability-header__subtitle{display:none}.order-profitability-filters{grid-template-columns:repeat(4,minmax(0,1fr));padding:8px}.order-profitability-button{min-height:32px}}.directory-quality-page{max-width:1360px;margin:0 auto;padding-bottom:40px}.directory-quality-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;padding:22px 26px;border:1px solid rgba(226,232,240,.95);border-radius:16px;background:#fff;box-shadow:0 10px 24px #0f172a0f}.directory-quality-header__title{margin:0 0 6px;color:#111827;font-size:28px;font-weight:700}.directory-quality-header__subtitle{max-width:760px;margin:0;color:#64748b;font-size:14px;line-height:1.5}.directory-quality-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;padding:16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 20px #0f172a0d}.directory-quality-field{display:flex;flex-direction:column;gap:6px;min-width:170px;color:#475569;font-size:13px;font-weight:600}.directory-quality-field--compact{min-width:112px}.directory-quality-field select,.directory-quality-field input{min-height:40px;padding:0 12px;border:1px solid #d7dee8;border-radius:10px;background:#f8fafc;color:#111827;font:inherit;font-weight:500}.directory-quality-field select:focus,.directory-quality-field input:focus{border-color:var(--color-info-hover);box-shadow:0 0 0 3px #2563eb24;outline:none}.directory-quality-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:none;border-radius:10px;background:var(--color-info);color:#fff;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;box-shadow:0 8px 18px #2563eb2e;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.directory-quality-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #2563eb3d}.directory-quality-button:disabled{cursor:default;opacity:.65}.directory-quality-button--secondary{border:1px solid #bfdbfe;background:#fff;color:var(--color-info-hover);box-shadow:none}.directory-quality-state{padding:26px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;color:#64748b;text-align:center;box-shadow:0 8px 20px #0f172a0d}.directory-quality-state--error{color:#991b1b;background:#fff7f7;border-color:#fecaca}.directory-quality-state--error p{margin:0 0 14px}.directory-quality-state--empty{border:none;border-radius:0;box-shadow:none}.directory-quality-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:16px;overflow:hidden;border:1px solid #e5e7eb;border-radius:16px;background:#edf2f7;box-shadow:0 10px 24px #0f172a0f}.directory-quality-metric{min-width:0;padding:15px 16px;background:#fff}.directory-quality-metric span{display:block;min-height:32px;margin-bottom:8px;color:#64748b;font-size:12px;font-weight:700;line-height:1.35}.directory-quality-metric strong{display:block;color:#111827;font-size:22px;font-weight:800;line-height:1.15;overflow-wrap:anywhere}.directory-quality-metric--accent{background:#eef6ff}.directory-quality-metric--danger{background:#fff5f5}.directory-quality-metric--accent strong{color:var(--color-info-text)}.directory-quality-metric--danger strong{color:#991b1b}.directory-quality-buckets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.directory-quality-bucket-panel,.directory-quality-table-card{overflow:hidden;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 10px 24px #0f172a0f}.directory-quality-bucket-panel h2{margin:0;padding:15px 16px;border-bottom:1px solid #edf2f7;background:#fbfdff;color:#111827;font-size:17px;font-weight:700}.directory-quality-bucket-panel__empty{margin:0;padding:18px 16px;color:#64748b}.directory-quality-bucket-list{display:grid;gap:1px;background:#edf2f7}.directory-quality-bucket-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff}.directory-quality-bucket-row span{color:#334155;font-size:14px;font-weight:600}.directory-quality-bucket-row strong{color:#111827;font-size:18px;font-weight:800}.directory-quality-section-head{padding:15px 18px;border-bottom:1px solid #edf2f7;background:#fbfdff}.directory-quality-section-head h2{margin:0 0 4px;color:#111827;font-size:18px;font-weight:700}.directory-quality-section-head p{margin:0;color:#64748b;font-size:13px;line-height:1.45}.directory-quality-table-wrap{overflow-x:auto}.directory-quality-table{width:100%;min-width:1060px;border-collapse:collapse}.directory-quality-table th,.directory-quality-table td{padding:12px 14px;border-bottom:1px solid #edf2f7;text-align:left;vertical-align:top}.directory-quality-table th{background:#f8fafc;color:#475569;font-size:12px;font-weight:800;text-transform:uppercase}.directory-quality-table td{color:#1f2937;font-size:13px;line-height:1.4}.directory-quality-table tbody tr:last-child td{border-bottom:none}.directory-quality-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.directory-quality-pill--blocker{background:#fee2e2;color:#991b1b}.directory-quality-pill--warning{background:#fef3c7;color:#92400e}.directory-quality-pill--info{background:#dbeafe;color:#1d4ed8}@media (max-width: 900px){.directory-quality-header{flex-direction:column}.directory-quality-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-quality-buckets{grid-template-columns:1fr}}@media (max-width: 640px){.directory-quality-header,.directory-quality-filters{border-radius:12px;padding:16px}.directory-quality-header__title{font-size:24px}.directory-quality-field,.directory-quality-field--compact,.directory-quality-button{width:100%}.directory-quality-summary{grid-template-columns:1fr}}.privacy-page{min-height:100vh;background:#f5f5f7;padding:24px 16px 48px}.privacy-container{max-width:860px;margin:0 auto}.privacy-header{margin-bottom:24px}.privacy-back{display:inline-block;color:var(--color-primary);text-decoration:none;font-size:14px;margin-bottom:12px;transition:opacity .15s}.privacy-back:hover{opacity:.7}.privacy-title{font-size:28px;font-weight:700;color:#1c1c1e;margin:0 0 6px;line-height:1.2}.privacy-updated{font-size:13px;color:#8e8e93;margin:0}.privacy-alert{background:linear-gradient(135deg,#e8f4ff,#f0f8ff);border:1px solid #c9e2ff;border-radius:12px;padding:14px 18px;font-size:14px;color:#1a4e8a;margin-bottom:28px;line-height:1.5}.privacy-section{background:#fff;border-radius:14px;padding:24px;margin-bottom:16px;box-shadow:0 1px 4px #0000000f,0 0 0 1px #0000000a}.privacy-section-title{font-size:18px;font-weight:600;color:#1c1c1e;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid #f2f2f7}.privacy-card{background:#f9f9fb;border-radius:10px;padding:16px}.privacy-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid #eeeef0;font-size:14px;line-height:1.5}.privacy-row:last-child{border-bottom:none}.privacy-label{font-weight:600;color:#3c3c43;min-width:180px;flex-shrink:0}.privacy-link{color:var(--color-primary);text-decoration:none}.privacy-link:hover{text-decoration:underline}.privacy-category{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #f2f2f7}.privacy-category:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.privacy-category-title{font-size:15px;font-weight:600;color:#3c3c43;margin:0 0 10px}.privacy-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.privacy-tag{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;white-space:nowrap}.privacy-tag--general{background:#e8f4ff;color:#1a4e8a}.privacy-tag--special{background:#fff3e0;color:#b25000;border:1px solid #ffd4a3}.privacy-tag--geo{background:#e8f5e9;color:#2e7d32}.privacy-tag--system{background:#f3e5f5;color:#6a1b9a}.privacy-note{font-size:12px;color:#8e8e93;margin:6px 0 0;line-height:1.5}.privacy-list{margin:8px 0 0;padding-left:20px;font-size:14px;color:#3c3c43;line-height:1.7}.privacy-list--compact{margin-top:8px}.privacy-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.privacy-table{width:100%;border-collapse:collapse;font-size:13px;color:#3c3c43}.privacy-table th{background:#f2f2f7;padding:10px 12px;text-align:left;font-weight:600;border-bottom:1px solid #e5e5ea}.privacy-table td{padding:10px 12px;border-bottom:1px solid #f2f2f7;vertical-align:top;line-height:1.5}.privacy-table tr:last-child td{border-bottom:none}.privacy-cross-border{margin-top:14px;padding:14px;background:#fffbe6;border:1px solid #ffe082;border-radius:10px}.privacy-cross-border h4{font-size:14px;font-weight:600;margin:0 0 8px;color:#6d4c00}.privacy-cross-border p{font-size:13px;color:#5d4000;margin:0 0 6px;line-height:1.5}.privacy-cross-border p:last-child{margin:0}.privacy-revoke-steps{display:flex;flex-direction:column;gap:12px;margin:12px 0}.privacy-revoke-step{display:flex;gap:14px;align-items:flex-start;background:#f9f9fb;border-radius:10px;padding:14px;font-size:14px;color:#3c3c43;line-height:1.5}.privacy-revoke-step__num{width:28px;height:28px;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.privacy-measures{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 600px){.privacy-measures{grid-template-columns:1fr}}.privacy-measure{display:flex;gap:12px;align-items:flex-start;background:#f9f9fb;border-radius:10px;padding:14px}.privacy-measure__icon{font-size:22px;flex-shrink:0}.privacy-measure strong{display:block;font-size:14px;font-weight:600;color:#1c1c1e;margin-bottom:3px}.privacy-measure p{font-size:12px;color:#8e8e93;margin:0;line-height:1.4}.privacy-footer{text-align:center;font-size:12px;color:#aeaeb2;margin-top:24px;padding-top:20px;border-top:1px solid #e5e5ea}.etrn-list-page{padding:24px;max-width:1400px;margin:0 auto}.etrn-list-loading{padding:48px;text-align:center;color:#8c8c8c}.etrn-table-container{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000014;margin-top:16px}.etrn-table{width:100%;border-collapse:collapse;font-size:14px}.etrn-table th{background:#fafafa;font-weight:600;color:#595959;text-align:left;padding:12px 16px;border-bottom:1px solid #f0f0f0;white-space:nowrap}.etrn-table td{padding:12px 16px;border-bottom:1px solid #f5f5f5;vertical-align:middle}.etrn-table tr:last-child td{border-bottom:none}.etrn-table tr.row-error td{background:#fff1f0}.etrn-table tr:hover td{background:#fafafa}.etrn-table tr.row-error:hover td{background:#ffe7e6}.etrn-docflow-id{font-size:12px;color:#595959;font-family:monospace}.status-badge{display:inline-block;padding:2px 10px;border-radius:12px;color:#fff;font-size:12px;font-weight:500;white-space:nowrap}.error-hint{margin-left:6px;color:#f5222d;cursor:help;font-size:14px}.pagination{display:flex;align-items:center;gap:16px;padding:16px 0;justify-content:center}.pagination button{background:#f5f5f5;border:1px solid #d9d9d9;border-radius:6px;padding:6px 14px;cursor:pointer;font-size:14px}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{color:#595959;font-size:14px}.filters{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.filters label{display:flex;align-items:center;gap:8px;font-size:14px;color:#595959}.filters select{border:1px solid #d9d9d9;border-radius:6px;padding:6px 10px;font-size:14px;background:#fff}.empty-state{text-align:center;padding:64px 24px;color:#8c8c8c;background:#fff;border-radius:8px;margin-top:16px;box-shadow:0 1px 4px #0000000f}.empty-state p{margin:0 0 8px;font-size:16px}.empty-state-hint{font-size:14px!important;color:#bfbfbf!important}.etrn-detail-page{padding:24px;max-width:1200px;margin:0 auto}.etrn-detail-loading{padding:48px;text-align:center;color:#8c8c8c}.etrn-state-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;width:min(760px,100%);padding:22px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 12px 30px #0f172a14}.etrn-state-card--error{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7)}.etrn-state-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#fee2e2;color:#b91c1c;font-size:22px;font-weight:800}.etrn-state-content h1{margin:0 0 6px;color:#1f2937;font-size:1.25rem}.etrn-state-content p{margin:0;color:#4b5563;line-height:1.45}.etrn-state-hint{margin-top:6px!important;color:#6b7280!important;font-size:.9rem}.etrn-state-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-header h1{margin:0;font-size:22px;font-weight:600}.btn-back{background:none;border:none;color:#1890ff;cursor:pointer;font-size:14px;padding:0}.btn-back:hover{color:#096dd9}.status-badge{display:inline-block;padding:2px 10px;border-radius:12px;color:#fff;font-size:12px;font-weight:500}.status-badge-large{padding:4px 14px;font-size:14px;border-radius:16px}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;border:1px solid}.alert-error{background:#fff1f0;border-color:#ffa39e;color:#cf1322}.alert-success{background:#f6ffed;border-color:#b7eb8f;color:#389e0d}.alert-warning{background:#fffbe6;border-color:#ffe58f;color:#874d00}.etrn-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-bottom:24px}.etrn-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 4px #00000014}.etrn-card h3{margin:0 0 16px;font-size:15px;font-weight:600;color:#262626;border-bottom:1px solid #f0f0f0;padding-bottom:10px}.info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:7px 0;border-bottom:1px solid #fafafa;gap:12px;font-size:14px}.info-row:last-child{border-bottom:none}.info-label{color:#8c8c8c;flex-shrink:0;min-width:130px}.mono{font-family:monospace;font-size:12px;background:#f5f5f5;padding:2px 6px;border-radius:4px}.text-error{color:#f5222d;font-size:13px}.titles-progress{display:flex;flex-direction:column;gap:12px}.title-step{display:flex;align-items:flex-start;gap:12px}.title-step-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.title-step.done .title-step-icon{background:#52c41a;color:#fff}.title-step.current .title-step-icon{background:#1890ff;color:#fff;box-shadow:0 0 0 3px #1890ff33}.title-step.pending .title-step-icon{background:#f0f0f0;color:#bfbfbf}@media (max-width: 640px){.etrn-detail-page{padding:16px}.etrn-state-card{grid-template-columns:1fr;align-items:start;gap:12px;padding:18px}.etrn-state-actions{justify-content:stretch}.etrn-state-actions .btn{flex:1 1 120px}}.title-step-info{flex:1}.title-step-name{font-size:14px;font-weight:500;color:#262626;line-height:1.4}.title-step.pending .title-step-name{color:#bfbfbf}.title-step-actor{font-size:12px;color:#8c8c8c;margin-top:1px}.title-step-date{font-size:11px;color:#52c41a;margin-top:2px}.registry-row{display:flex;flex-direction:column;padding:10px 0;border-bottom:1px solid #fafafa;gap:2px;font-size:14px}.registry-row:last-child{border-bottom:none}.registry-label{font-weight:500;color:#262626;margin-bottom:2px}.registry-number{font-size:12px;color:#52c41a}.registry-message{font-size:12px;color:#8c8c8c}.registry-note{font-size:11px;color:#bfbfbf;font-style:italic}.etrn-actions{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 4px #00000014;margin-bottom:20px}.etrn-actions h3{margin:0 0 16px;font-size:15px;font-weight:600;color:#262626;border-bottom:1px solid #f0f0f0;padding-bottom:10px}.etrn-action-buttons{display:flex;flex-wrap:wrap;gap:10px}.btn{padding:8px 18px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:6px;text-decoration:none;transition:opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#1890ff;color:#fff}.btn-primary:hover:not(:disabled){background:#096dd9}.btn-secondary{background:#f5f5f5;color:#262626;border:1px solid #d9d9d9}.btn-secondary:hover:not(:disabled){background:#ebebeb}.btn-danger{background:#fff;color:#f5222d;border:1px solid #ffa39e}.btn-danger:hover:not(:disabled){background:#fff1f0}.btn-sm{padding:4px 12px;font-size:13px}.etrn-events{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 4px #00000014}.etrn-events h3{margin:0 0 16px;font-size:15px;font-weight:600;color:#262626;border-bottom:1px solid #f0f0f0;padding-bottom:10px}.events-timeline{display:flex;flex-direction:column;gap:4px}.event-item{border:1px solid #f0f0f0;border-radius:8px;overflow:hidden}.event-item.event-error{border-color:#ffa39e;background:#fff1f0}.event-header{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.event-header:hover{background:#fafafa}.event-item.event-error .event-header:hover{background:#ffe7e6}.event-time{font-size:12px;color:#8c8c8c;white-space:nowrap}.event-type{font-size:13px;font-weight:500;color:#262626;flex:1}.event-actor{font-size:12px}.btn-expand{background:none;border:none;cursor:pointer;color:#8c8c8c;font-size:11px;padding:0 4px}.event-payload{background:#f5f5f5;padding:12px 14px;margin:0;font-size:12px;overflow-x:auto;color:#262626;border-top:1px solid #f0f0f0;max-height:300px;overflow-y:auto}.link-button{background:none;border:none;color:#1890ff;cursor:pointer;font-size:14px;padding:0;text-align:left}.link-button:hover{color:#096dd9;text-decoration:underline}.muted{color:#bfbfbf;font-size:12px}.error-message{background:#fff1f0;border:1px solid #ffa39e;border-radius:6px;padding:12px 16px;color:#cf1322;margin-bottom:16px;font-size:14px}.terminal-detail-page{max-width:1180px;padding-bottom:96px}.terminal-detail-form{display:grid;gap:18px}.terminal-detail-page .form-card{padding:22px}.terminal-detail-page .form-row{align-items:stretch;display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.terminal-detail-page .form-row:last-child{margin-bottom:0}.terminal-detail-page .form-row--cols2{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.terminal-detail-page .form-row--cols2>div{display:flex;flex-direction:column;gap:7px;min-width:0}.terminal-detail-page .form-input,.terminal-detail-page .form-select{width:100%}.terminal-detail-page .checkbox-label{align-items:center;display:inline-flex;gap:8px}.terminal-detail-page .checkbox-label input[type=checkbox]{flex:0 0 auto;width:auto}.terminal-detail-hero{align-items:center;background:radial-gradient(circle at 12% 18%,rgba(59,130,246,.12),transparent 30%),linear-gradient(135deg,#0f172a,#162033 55%,#1e293b);border:1px solid rgba(148,163,184,.22);border-radius:18px;box-shadow:0 18px 42px #0f172a29;color:#f8fafc;display:flex;gap:24px;justify-content:space-between;overflow:hidden;padding:22px 24px}.terminal-detail-hero h2{color:#fff;font-size:22px;line-height:1.25;margin:6px 0 8px}.terminal-detail-hero p{color:#e2e8f0d1;font-size:14px;line-height:1.55;margin:0;max-width:720px}.terminal-detail-kicker,.terminal-detail-section-label{color:#64748b;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.terminal-detail-kicker{color:#93c5fd}.terminal-detail-hero__meta{background:#0f172a5c;border:1px solid rgba(226,232,240,.16);border-radius:14px;min-width:230px;padding:14px 16px}.terminal-detail-hero__meta span{color:#cbd5e1c7;display:block;font-size:12px;margin-bottom:5px}.terminal-detail-hero__meta strong{color:#fff;display:block;font-size:14px}.terminal-detail-card{border:1px solid var(--color-border-light);border-radius:16px;box-shadow:0 1px 3px #0f172a0f,0 14px 32px #0f172a0b}.terminal-detail-card--primary{border-color:#2563eb2e;box-shadow:0 1px 3px #0f172a12,0 18px 36px #2563eb0f}.terminal-detail-card--secondary{background:linear-gradient(180deg,#fff,#fbfcff)}.terminal-detail-card__hint{margin-bottom:14px}.terminal-detail-page .form-group-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.terminal-detail-section-heading{align-items:flex-start;border-bottom:1px solid rgba(226,232,240,.86);display:flex;gap:16px;justify-content:space-between;margin:-2px 0 18px;padding-bottom:14px}.terminal-detail-section-heading .form-group-title,.terminal-detail-page .form-group-header .form-group-title{margin-top:4px}.terminal-detail-section-heading>.form-hint,.terminal-detail-section-heading .form-hint{margin-bottom:0;max-width:430px}.terminal-detail-button-group{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.terminal-detail-textarea{min-height:96px;resize:vertical}.terminal-schedule-list{display:grid;gap:12px}.terminal-empty-state{align-items:center;background:#f8fafc;border:1px dashed rgba(148,163,184,.65);border-radius:12px;color:var(--color-text-secondary);display:flex;gap:8px;justify-content:space-between;padding:16px}.terminal-empty-state strong{color:var(--color-text);font-size:14px}.terminal-empty-state span{font-size:13px}.terminal-schedule-day{border:1px solid var(--color-border-light);border-radius:12px;background:linear-gradient(180deg,#fff,#fbfcff);padding:14px}.terminal-schedule-day__header{align-items:center;display:flex;gap:12px;justify-content:space-between}.terminal-schedule-day__body{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-top:14px}.terminal-schedule-subhead{align-items:center;display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.terminal-schedule-subhead span{color:var(--color-text-secondary);font-size:13px;font-weight:600}.terminal-time-range-row{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr) auto;margin-bottom:8px}.terminal-route-scheme-preview{align-items:center;background:#f8fafc;border:1px solid var(--color-border-light);border-radius:12px;display:flex;justify-content:center;min-height:180px;overflow:hidden}.terminal-route-scheme-preview img{display:block;max-height:420px;max-width:100%;object-fit:contain}.terminal-route-scheme-empty{align-items:center;background:#f8fafc;border:1px dashed var(--color-border);border-radius:12px;color:var(--color-text-secondary);display:flex;justify-content:center;min-height:140px}.terminal-route-scheme-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.terminal-route-scheme-input{display:none}.terminal-detail-actions{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid rgba(226,232,240,.92);border-radius:16px;bottom:18px;box-shadow:0 18px 36px #0f172a1f;position:sticky;z-index:5}@media (max-width: 760px){.terminal-detail-page{padding-bottom:120px}.terminal-detail-page .form-card{padding:18px}.terminal-detail-page .form-row--cols2{grid-template-columns:1fr}.terminal-detail-hero{align-items:stretch;flex-direction:column;padding:20px}.terminal-detail-hero__meta{min-width:0}.terminal-detail-section-heading,.terminal-detail-page .form-group-header,.terminal-schedule-day__header{align-items:flex-start;flex-direction:column}.terminal-detail-button-group{justify-content:flex-start;width:100%}.terminal-detail-button-group .btn{flex:1 1 150px}.terminal-empty-state{align-items:flex-start;flex-direction:column}.terminal-schedule-day__body{grid-template-columns:1fr}.terminal-time-range-row{grid-template-columns:1fr auto 1fr}.terminal-time-range-row .btn{grid-column:1 / -1;width:100%}.terminal-detail-actions{align-items:stretch;bottom:10px;flex-direction:column}.terminal-detail-actions .form-actions__left,.terminal-detail-actions .form-actions__right{display:flex;width:100%}.terminal-detail-actions .btn{flex:1}}.depots-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid #f3f4f6;padding-bottom:0}.depots-tab{padding:8px 20px;border:none;background:transparent;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;border-radius:0;transition:color .15s,border-color .15s}.depots-tab:hover{color:#111827}.depots-tab--active{color:var(--color-info-hover);border-bottom-color:var(--color-info-hover)}.depots-map-container{height:300px;border-radius:12px;overflow:hidden;margin-bottom:16px}.depots-detail-map{height:250px;border-radius:12px;overflow:hidden;margin-top:16px}.depot-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:16px;margin-bottom:8px;display:flex;align-items:center;gap:16px}.depot-card__body{flex:1;min-width:0}.depot-card__name{font-weight:600;font-size:15px;display:flex;align-items:center;gap:6px;margin-bottom:2px}.depot-card__address{font-size:13px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.depot-card__actions{display:flex;gap:8px;flex-shrink:0}.depot-default-star{color:#ffb800;font-size:16px}.depot-no-coords{color:var(--color-danger);font-size:13px;display:inline-flex;gap:4px;align-items:center;margin-top:2px}.depots-counter{font-size:13px;color:#8e8e93;margin-left:12px;font-weight:400}.depots-banner{padding:10px 16px;border-radius:8px;margin-bottom:12px;font-size:14px}.depots-banner--success{background:#d1fae5;color:#065f46}.depots-banner--error{background:#fee2e2;color:#991b1b}.depots-no-coords-block{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;color:var(--color-danger);font-size:14px;display:flex;align-items:center;gap:8px;margin-top:16px}.depot-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 600px){.depot-form-grid{grid-template-columns:1fr}.depot-card{flex-direction:column;align-items:flex-start}.depot-card__actions{width:100%;flex-wrap:wrap}}.le-page{padding:var(--space-lg, 24px);position:relative}.le-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.le-title{margin:0 0 4px;font-size:1.75rem;font-weight:700;color:var(--color-text, #1c1c1e);line-height:1.2}.le-subtitle{margin:0;font-size:.9rem;color:var(--color-text-secondary, #6b7280)}.le-skeleton{display:flex;flex-direction:column;gap:12px}.le-skeleton .skeleton-row{height:140px;border-radius:12px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:le-shimmer 1.4s infinite}@keyframes le-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.le-toast{position:fixed;top:20px;right:24px;z-index:2100;padding:12px 20px;border-radius:10px;font-size:.9rem;font-weight:500;box-shadow:0 4px 20px #00000026;animation:le-slide-in .25s ease;max-width:360px}.le-toast--success{background:var(--color-success);color:#fff}.le-toast--error{background:var(--color-danger);color:#fff}@keyframes le-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.le-empty{background:var(--color-surface, #fff);border-radius:12px;box-shadow:0 1px 6px #00000012;padding:40px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.le-empty__text{margin:0;font-size:1rem;color:var(--color-text-secondary, #6b7280);max-width:380px;line-height:1.5}.le-access-denied{background:var(--color-surface, #fff);border-radius:12px;box-shadow:0 1px 6px #00000012;padding:48px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:480px;margin:32px auto 0}.le-access-denied__icon{font-size:2.5rem}.le-access-denied__title{margin:0;font-size:1.2rem;font-weight:600;color:var(--color-text, #1c1c1e)}.le-access-denied__text{margin:0;font-size:.9rem;color:var(--color-text-secondary, #6b7280);line-height:1.5}.le-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.le-toolbar__toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.88rem;color:var(--color-text-secondary, #6b7280);-webkit-user-select:none;user-select:none}.le-toolbar__toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary, var(--color-info-hover))}.le-cards{display:flex;flex-direction:column;gap:12px}.le-card{background:var(--color-surface, #fff);border-radius:12px;box-shadow:0 1px 4px #0000000f,0 2px 12px #0000000a;padding:20px 24px;border:1px solid var(--color-border-light, #f0f0f0);transition:box-shadow .15s ease}.le-card:hover{box-shadow:0 2px 8px #00000017,0 4px 16px #0000000f}.le-card--archived{opacity:.7;background:var(--color-bg-subtle, #f9f9fb)}.le-card__header{margin-bottom:8px}.le-card__name{margin:0;font-size:1rem;font-weight:600;color:var(--color-text, #1c1c1e);display:flex;align-items:center;flex-wrap:wrap;gap:8px;line-height:1.4}.le-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.01em;vertical-align:middle}.le-badge--default{background:#fffbeb;color:#b45309;border:1px solid #fcd34d}.le-badge--archived{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.le-card__meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;color:var(--color-text-secondary, #6b7280);margin-bottom:6px}.le-card__bank{font-size:.85rem;color:var(--color-text-secondary, #6b7280);margin-bottom:4px}.le-card__regime{font-size:.85rem;color:var(--color-text-secondary, #6b7280);margin-bottom:8px}.le-card__address-section{margin-top:4px;margin-bottom:8px}.le-card__address-toggle{background:none;border:none;cursor:pointer;font-size:.82rem;color:var(--color-primary, var(--color-info-hover));padding:0;line-height:1.6;text-align:left}.le-card__address-toggle:hover{text-decoration:underline}.le-card__address-body{margin-top:6px;font-size:.85rem;color:var(--color-text-secondary, #6b7280);line-height:1.6;display:flex;flex-direction:column;gap:2px}.le-card__address-label{font-weight:500;color:var(--color-text, #1c1c1e)}.le-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--color-border-light, #f0f0f0)}.le-card__btn-archive{color:var(--color-text-secondary, #6b7280)}.le-card__btn-archive:not(:disabled):hover{color:var(--color-danger);border-color:#fca5a5}.le-form-modal{width:100%;max-width:580px;max-height:85vh;overflow-y:auto}.le-form{display:flex;flex-direction:column;gap:4px}.le-form__server-error{margin-bottom:8px}.le-form__row-group{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.le-form__row-group--2{grid-template-columns:repeat(2,1fr)}.le-form__details{border:1px solid var(--color-border-light, #e5e7eb);border-radius:8px;padding:0;margin-top:4px;overflow:hidden}.le-form__details-summary{cursor:pointer;padding:10px 14px;font-size:.9rem;font-weight:500;color:var(--color-text-secondary, #374151);background:var(--color-bg-subtle, #f9fafb);-webkit-user-select:none;user-select:none;list-style:none}.le-form__details-summary::-webkit-details-marker{display:none}.le-form__details-summary:before{content:"▶ ";font-size:.7rem;margin-right:4px;color:var(--color-text-secondary, #6b7280);transition:transform .15s}.le-form__details[open] .le-form__details-summary:before{content:"▼ "}.le-form__details-summary:hover{background:var(--color-border-light, #f3f4f6)}.le-form__details-body{padding:12px 14px;display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--color-border-light, #e5e7eb)}.form-label{font-size:.85rem;font-weight:500;color:var(--color-text-secondary, #374151);margin-bottom:4px;display:block}.form-label-checkbox{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--color-text, #1c1c1e);cursor:pointer}.form-input--error{border-color:#ef4444!important;box-shadow:0 0 0 2px #ef444426}.form-field-error{margin:2px 0 0;font-size:.8rem;color:var(--color-danger)}@media (max-width: 640px){.le-page{padding:16px}.le-form__row-group,.le-form__row-group--2{grid-template-columns:1fr}.le-header{flex-direction:column;align-items:stretch}.le-card{padding:16px}.le-card__actions{flex-direction:column}}.apply-tariff-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.apply-tariff-modal-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000029,0 2px 8px #00000014;padding:28px 28px 24px;max-width:560px;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.apply-tariff-modal-title{margin:0 0 4px;font-size:18px;font-weight:700;color:#1c1c1e;letter-spacing:-.2px}.apply-tariff-modal-template-name{margin:0 0 20px;font-size:14px;font-weight:600;color:#3c3c43}.apply-tariff-modal-fieldset{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.apply-tariff-modal-label{font-size:13px;font-weight:600;color:#6c6c70;letter-spacing:.01em;text-transform:uppercase}.apply-tariff-modal-select{height:40px;padding:0 12px;border:1px solid #d1d1d6;border-radius:8px;font-size:14px;color:#1c1c1e;background:#f9f9fb;outline:none;transition:border-color .15s;font-family:inherit;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;width:100%}.apply-tariff-modal-select:focus{border-color:var(--color-primary);background:#fff}.apply-tariff-modal-select:disabled{opacity:.6;cursor:not-allowed}.apply-tariff-modal-no-contracts{margin:0 0 16px;padding:12px 14px;background:#fff9ec;border:1px solid #ffe58f;border-radius:8px;font-size:13px;color:#7d5a00;line-height:1.5}.apply-tariff-modal-error{margin:0 0 14px;padding:10px 14px;background:#fff0ef;border-radius:8px;color:#d70015;font-size:13px;line-height:1.5}.apply-tariff-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.apply-tariff-modal-btn-primary{height:36px;padding:0 18px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 1px 3px #007aff4d;transition:background .15s,box-shadow .15s,transform .1s;white-space:nowrap}.apply-tariff-modal-btn-primary:hover:not(:disabled){background:#0066d6;box-shadow:0 2px 6px #007aff66}.apply-tariff-modal-btn-primary:active:not(:disabled){transform:scale(.97)}.apply-tariff-modal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.apply-tariff-modal-btn-secondary{height:36px;padding:0 16px;background:#f2f2f7;color:#3c3c43;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s;white-space:nowrap}.apply-tariff-modal-btn-secondary:hover:not(:disabled){background:#e5e5ea}.apply-tariff-modal-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.tariff-templates-page{padding:24px;max-width:1200px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.tariff-templates-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.tariff-templates-title-group{display:flex;flex-direction:column;gap:4px}.tariff-templates-breadcrumb{font-size:12px;color:#8e8e93;letter-spacing:.01em}.tariff-templates-breadcrumb-link{color:#8e8e93;text-decoration:none}.tariff-templates-breadcrumb-link:hover{color:var(--color-primary);text-decoration:underline}.tariff-templates-title{margin:0;font-size:26px;font-weight:700;color:#1c1c1e;letter-spacing:-.3px}.tariff-templates-description{margin:0;font-size:13px;color:#8e8e93}.tariff-templates-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000f;overflow:hidden}.tariff-templates-filters{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #f2f2f7;flex-wrap:wrap}.tariff-templates-select{height:36px;padding:0 12px;border:1px solid #d1d1d6;border-radius:8px;font-size:14px;color:#1c1c1e;background:#f9f9fb;outline:none;transition:border-color .15s;font-family:inherit;min-width:220px;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.tariff-templates-select:focus{border-color:var(--color-primary);background:#fff}.tariff-templates-select:disabled{opacity:.6;cursor:not-allowed}.tariff-templates-checkbox-label{display:flex;align-items:center;gap:6px;font-size:14px;color:#3c3c43;cursor:pointer;-webkit-user-select:none;user-select:none}.tariff-templates-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.tariff-templates-btn-primary{display:inline-flex;align-items:center;height:36px;padding:0 18px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 1px 3px #007aff4d;transition:background .15s,box-shadow .15s,transform .1s;white-space:nowrap;text-decoration:none}.tariff-templates-btn-primary:hover{background:#0066d6;box-shadow:0 2px 6px #007aff66}.tariff-templates-btn-primary:active{transform:scale(.97)}.tariff-templates-btn-secondary{height:36px;padding:0 16px;background:#f2f2f7;color:#3c3c43;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s;white-space:nowrap}.tariff-templates-btn-secondary:hover:not(:disabled){background:#e5e5ea}.tariff-templates-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.tariff-templates-btn-danger{height:36px;padding:0 16px;background:var(--color-danger-bright);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 1px 3px #ff3b304d;transition:background .15s,box-shadow .15s,transform .1s;white-space:nowrap}.tariff-templates-btn-danger:hover:not(:disabled){background:#d93025;box-shadow:0 2px 6px #ff3b3066}.tariff-templates-btn-danger:active:not(:disabled){transform:scale(.97)}.tariff-templates-btn-danger:disabled{opacity:.6;cursor:not-allowed}.tariff-templates-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:56px 24px;text-align:center}.tariff-templates-loading{color:#8e8e93;font-size:15px}.tariff-templates-error-text{margin:0;color:var(--color-danger-bright);font-size:15px}.tariff-templates-state--empty .tariff-templates-empty-icon{font-size:48px;line-height:1}.tariff-templates-empty-text{margin:0;color:#8e8e93;font-size:16px}.tariff-templates-table-wrap{overflow-x:auto}.tariff-templates-table{width:100%;border-collapse:collapse;font-size:14px;color:#1c1c1e}.tariff-templates-table thead tr{background:#f9f9fb;border-bottom:1px solid #e5e5ea}.tariff-templates-table th{padding:10px 16px;text-align:left;font-size:12px;font-weight:600;color:#6c6c70;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.tariff-templates-row{border-bottom:1px solid #f2f2f7;transition:background .1s}.tariff-templates-row:last-child{border-bottom:none}.tariff-templates-row:hover{background:#f7f8fc}.tariff-templates-table td{padding:13px 16px;vertical-align:middle}.tariff-templates-id-cell{color:#8e8e93;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.tariff-templates-name-link{color:var(--color-primary);text-decoration:none;font-weight:500}.tariff-templates-name-link:hover{text-decoration:underline}.tariff-templates-type-cell{color:#3c3c43;white-space:nowrap}.tariff-templates-count-cell{color:#3c3c43;font-variant-numeric:tabular-nums;text-align:center}.tariff-templates-date-cell{color:#8e8e93;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.tariff-templates-actions-cell{display:flex;align-items:center;gap:8px;white-space:nowrap}.tariff-templates-action-link{color:var(--color-primary);text-decoration:none;font-size:13px;font-weight:500;padding:4px 0}.tariff-templates-action-link:hover{text-decoration:underline}.tariff-templates-action-btn{background:none;border:none;font-size:13px;font-family:inherit;cursor:pointer;padding:4px 0;font-weight:500;transition:opacity .15s}.tariff-templates-action-btn--danger{color:var(--color-danger-bright)}.tariff-templates-action-btn--danger:hover{opacity:.75}.tariff-templates-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.tariff-templates-modal{background:#fff;border-radius:14px;box-shadow:0 8px 32px #0000002e,0 2px 8px #0000001a;padding:28px 28px 24px;max-width:420px;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.tariff-templates-modal-title{margin:0 0 8px;font-size:18px;font-weight:700;color:#1c1c1e}.tariff-templates-modal-name{margin:0 0 12px;font-size:14px;font-weight:600;color:#3c3c43}.tariff-templates-modal-text{margin:0 0 16px;font-size:14px;color:#6c6c70;line-height:1.5}.tariff-templates-modal-error{margin:0 0 14px;padding:10px 14px;background:#fff0ef;border-radius:8px;color:#c0392b;font-size:13px}.tariff-templates-modal-actions{display:flex;justify-content:flex-end;gap:10px}.tariff-templates-action-btn--apply{color:var(--color-primary)}.tariff-templates-action-btn--apply:hover{opacity:.75}.tariff-apply-success{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:16px;background:#e6f9f0;border:1px solid #a3e4c1;border-radius:10px;font-size:14px;color:#1a7a4a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.tariff-apply-success-close{background:none;border:none;font-size:18px;line-height:1;color:#1a7a4a;cursor:pointer;padding:0 4px;flex-shrink:0;opacity:.7;transition:opacity .15s}.tariff-apply-success-close:hover{opacity:1}.tariff-form-page{padding:24px 24px 84px;max-width:1200px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.tariff-form-state{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;width:min(760px,100%);padding:22px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 12px 30px #0f172a14}.tariff-form-state--error{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7)}.tariff-form-state-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#fee2e2;color:#b91c1c;font-size:22px;font-weight:800}.tariff-form-state-content h1{margin:0 0 6px;color:#1f2937;font-size:20px;font-weight:700}.tariff-form-loading{font-size:15px;color:#8e8e93}.tariff-form-error-text{margin:0;font-size:15px;color:#4b5563;line-height:1.45}.tariff-form-state-hint{margin:6px 0 0;color:#6b7280;font-size:14px;line-height:1.45}.tariff-form-page-header{margin-bottom:20px}.tariff-form-title-group{display:flex;flex-direction:column;gap:6px}.tariff-form-breadcrumb{font-size:12px;color:#8e8e93;line-height:1.4}.tariff-form-breadcrumb-link{color:var(--color-primary);text-decoration:none;transition:opacity .15s}.tariff-form-breadcrumb-link:hover{opacity:.75}.tariff-form-breadcrumb-current{color:#3c3c43;font-weight:500}.tariff-form-title{margin:0;font-size:22px;font-weight:700;color:#1c1c1e;letter-spacing:-.02em}.tariff-form-warning-banner{background:#fff9eb;border:1px solid #ffe58f;border-radius:10px;padding:12px 16px;font-size:14px;color:#b45309;margin-bottom:16px;line-height:1.4}.tariff-form-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000f;padding:24px;margin-bottom:16px}.tariff-form-section-title{margin:0 0 20px;font-size:16px;font-weight:600;color:#1c1c1e}.tariff-form-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px}@media (max-width: 768px){.tariff-form-fields-grid{grid-template-columns:1fr;gap:16px}}.tariff-form-field{display:flex;flex-direction:column;gap:6px}.tariff-form-field--full{grid-column:1 / -1}.tariff-form-field--checkbox{justify-content:flex-end;padding-bottom:4px}.tariff-form-label{font-size:11px;font-weight:600;color:#6c6c70;text-transform:uppercase;letter-spacing:.04em;-webkit-user-select:none;user-select:none}.tariff-form-required{color:var(--color-danger-bright);margin-left:2px}.tariff-form-optional{color:#aeaeb2;font-weight:400;text-transform:none;font-size:10px}.tariff-form-select,.tariff-form-input,.tariff-form-textarea{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid #d1d1d6;border-radius:8px;font-size:14px;font-family:inherit;color:#1c1c1e;background:#f9f9fb;outline:none;transition:border-color .15s,background .15s}.tariff-form-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6H0z' fill='%238e8e93'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;cursor:pointer}.tariff-form-select:focus,.tariff-form-input:focus,.tariff-form-textarea:focus{border-color:var(--color-primary);background:#fff}.tariff-form-select:disabled,.tariff-form-input:disabled,.tariff-form-textarea:disabled{opacity:.5;cursor:not-allowed}.tariff-form-textarea{resize:vertical;line-height:1.5}.tariff-form-checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#1c1c1e;cursor:pointer;-webkit-user-select:none;user-select:none}.tariff-form-checkbox{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.tariff-form-lines-card{padding:0;overflow:hidden}.tariff-form-lines-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #f2f2f7;gap:12px}.tariff-form-lines-title{margin:0;font-size:16px;font-weight:600;color:#1c1c1e}.tariff-form-add-line-btn{white-space:nowrap;flex-shrink:0}.tariff-form-lines-empty{padding:40px 24px;text-align:center;color:#8e8e93;font-size:14px}.tariff-form-lines-table-wrap{overflow-x:auto}.tariff-form-lines-table{width:100%;border-collapse:collapse;font-size:13px;color:#1c1c1e}.tariff-form-lines-table thead tr{background:#f9f9fb;border-bottom:1px solid #e5e5ea}.tariff-form-lines-table th{padding:10px;text-align:left;font-size:11px;font-weight:600;color:#6c6c70;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.tariff-form-th-narrow{width:36px;text-align:center}.tariff-form-th-center{text-align:center;width:72px}.tariff-form-th-del{width:36px}.tariff-form-line-row{border-bottom:1px solid #f2f2f7;vertical-align:top}.tariff-form-line-row:last-child{border-bottom:none}.tariff-form-lines-table td{padding:8px 10px;vertical-align:middle}.tariff-form-td-narrow{text-align:center;color:#8e8e93;font-size:12px}.tariff-form-td-center,.tariff-form-td-del{text-align:center}.tariff-form-input--sm{padding:6px 8px;font-size:12px;min-width:72px}.tariff-form-input--name{padding:6px 8px;font-size:13px;min-width:160px}.tariff-form-input--unit{padding:6px 8px;font-size:13px;min-width:56px;max-width:80px}.tariff-form-input--price{padding:6px 8px;font-size:13px;min-width:80px;max-width:110px}.tariff-form-input--sort{padding:6px 8px;font-size:13px;min-width:56px;max-width:72px}.tariff-form-select--sm{padding:6px 24px 6px 8px;font-size:12px;min-width:64px}.tariff-form-select--calc{padding:6px 24px 6px 8px;font-size:12px;min-width:180px}.tariff-form-checkbox--line{width:16px;height:16px;margin:2px auto;display:block}.tariff-form-delete-line-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;color:var(--color-danger-bright);border:1.5px solid transparent;border-radius:6px;font-size:18px;line-height:1;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s;padding:0}.tariff-form-delete-line-btn:hover{background:#fff0ef;border-color:#ffd5d3}.tariff-form-delete-line-btn:active{transform:scale(.95)}.tariff-form-delete-line-btn:disabled{opacity:.4;cursor:not-allowed}.tariff-form-save-error{padding:12px 16px;background:#fff0ef;border-radius:10px;border:1px solid #ffd5d3;color:#c0392b;font-size:14px;line-height:1.4;margin-bottom:12px}.tariff-form-btn-primary,.tariff-form-btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:9px 18px;border-radius:9px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,opacity .15s,transform .1s;text-decoration:none;white-space:nowrap;border:none}.tariff-form-btn-primary{background:var(--color-primary);color:#fff}.tariff-form-btn-primary:hover{background:#006de3}.tariff-form-btn-primary:active{transform:scale(.98)}.tariff-form-btn-primary:disabled{opacity:.5;cursor:not-allowed}.tariff-form-btn-secondary{background:#f2f2f7;color:#1c1c1e;border:1px solid #e5e5ea}.tariff-form-btn-secondary:hover{background:#e5e5ea}.tariff-form-btn-secondary:active{transform:scale(.98)}.tariff-form-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.tariff-form-footer{position:sticky;bottom:0;background:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;gap:8px;padding:12px 0;border-top:1px solid rgba(0,0,0,.06);z-index:100;justify-content:flex-end}.tariff-form-th-toggle{width:36px;text-align:center}.tariff-form-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:none;border-radius:6px;color:#8e8e93;font-size:11px;cursor:pointer;transition:background .12s,color .12s;padding:0;line-height:1}.tariff-form-toggle-btn:hover{background:#f2f2f7;color:var(--color-primary)}.tariff-form-toggle-btn:active{transform:scale(.92)}.tariff-form-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.tariff-form-line-extra{background:#f9f9fb;border-bottom:1px solid #e5e5ea}.tariff-form-line-extra:last-child{border-bottom:none}.tariff-form-line-extra>td{padding:16px 20px}.tariff-form-extra-content{display:flex;flex-direction:column;gap:14px}.tariff-form-extra-section{background:#fff;border-radius:10px;border:1px solid #e5e5ea;padding:14px 16px}.tariff-form-extra-section-title{font-size:11px;font-weight:600;color:#6c6c70;text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;-webkit-user-select:none;user-select:none}.tariff-form-extra-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px 20px;align-items:start}.tariff-form-extra-field{display:flex;flex-direction:column;gap:4px}.tariff-form-extra-field--wide{grid-column:1 / -1}.tariff-form-extra-label{font-size:10px;font-weight:600;color:#8e8e93;text-transform:uppercase;letter-spacing:.04em;-webkit-user-select:none;user-select:none}@media (max-width: 480px){.tariff-form-page{padding:16px 16px 84px}.tariff-form-state{grid-template-columns:1fr;align-items:start;gap:12px;padding:18px}.tariff-form-state .tariff-form-btn-secondary{width:100%;justify-content:center}.tariff-form-footer{flex-direction:column;align-items:stretch}.tariff-form-footer button,.tariff-form-footer a{width:100%;justify-content:center}.tariff-form-fields-grid{grid-template-columns:1fr}}.zp-page-container{padding:24px;max-width:1200px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.zp-form-page{padding-bottom:84px}.zp-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.zp-title-group{display:flex;flex-direction:column;gap:5px;min-width:0}.zp-breadcrumb{color:#8e8e93;font-size:12px;line-height:1.4}.zp-breadcrumb-link{color:var(--color-primary);text-decoration:none}.zp-breadcrumb-link:hover{opacity:.75}.zp-breadcrumb-current{color:#3c3c43;font-weight:500}.zp-title{margin:0;color:#1c1c1e;font-size:26px;font-weight:700;letter-spacing:-.2px}.zp-description{margin:0;color:#8e8e93;font-size:13px;line-height:1.45}.zp-card,.zp-form-section{background:#fff;border-radius:14px;box-shadow:0 1px 4px #00000014,0 4px 18px #0000000f;overflow:hidden}.zp-form-section{padding:24px;margin-bottom:16px;overflow:visible}.zp-section-title{margin:0 0 18px;color:#1c1c1e;font-size:16px;font-weight:650}.zp-filters{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #f2f2f7;flex-wrap:wrap}.zp-state,.zp-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:56px 24px;text-align:center}.zp-form-state{align-items:flex-start;width:min(680px,100%);background:#fff;border:1px solid #e5e5ea;border-radius:14px}.zp-form-state--error{border-color:#fecaca;background:#fff7f7}.zp-loading,.zp-empty-text{color:#8e8e93;font-size:15px}.zp-error-text{margin:0;color:var(--color-danger-bright);font-size:15px}.zp-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:#eef6ff;color:var(--color-primary);font-size:22px;font-weight:800}.zp-empty-title{margin:0;color:#1c1c1e;font-size:17px;font-weight:650}.zp-empty-text{max-width:440px;margin:0;line-height:1.45}.zp-btn-primary,.zp-btn-secondary,.zp-btn-danger{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 16px;border:none;border-radius:9px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s,box-shadow .15s,transform .1s,opacity .15s}.zp-btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 1px 3px #007aff4d}.zp-btn-primary:hover:not(:disabled){background:#0066d6;box-shadow:0 2px 6px #007aff61}.zp-btn-secondary{background:#f2f2f7;color:#3c3c43}.zp-btn-secondary:hover:not(:disabled){background:#e5e5ea}.zp-btn-danger{background:var(--color-danger-bright);color:#fff;box-shadow:0 1px 3px #ff3b304d}.zp-btn-danger:hover:not(:disabled){background:#d93025}.zp-btn-primary:active:not(:disabled),.zp-btn-secondary:active:not(:disabled),.zp-btn-danger:active:not(:disabled){transform:scale(.98)}.zp-btn-primary:disabled,.zp-btn-secondary:disabled,.zp-btn-danger:disabled{opacity:.55;cursor:not-allowed}.zp-table-wrap{overflow-x:auto}.zp-table{width:100%;border-collapse:collapse;color:#1c1c1e;font-size:14px}.zp-table thead tr{background:#f9f9fb;border-bottom:1px solid #e5e5ea}.zp-table th{padding:10px 16px;color:#6c6c70;font-size:12px;font-weight:650;text-align:left;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.zp-table td{padding:13px 16px;vertical-align:middle}.zp-row{border-bottom:1px solid #f2f2f7;transition:background .1s}.zp-row:last-child{border-bottom:none}.zp-row:hover{background:#f7f8fc}.zp-id-cell,.zp-date-cell,.zp-hours-cell{color:#8e8e93;font-variant-numeric:tabular-nums;white-space:nowrap}.zp-description-cell{max-width:340px;color:#3c3c43;line-height:1.4}.zp-name-link,.zp-action-link{color:var(--color-primary);font-weight:500;text-decoration:none}.zp-name-link:hover,.zp-action-link:hover{text-decoration:underline}.zp-actions-cell{display:flex;align-items:center;gap:10px;white-space:nowrap}.zp-action-btn{padding:4px 0;background:none;border:none;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer}.zp-action-btn--danger{color:var(--color-danger-bright)}.zp-action-btn--danger:hover{opacity:.75}.status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:650;white-space:nowrap}.status-badge--active{background:#e6f9f0;color:#1a7a4a}.status-badge--inactive{background:#f2f2f7;color:#8e8e93}.zp-form-grid,.zp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}.zp-form-field{display:flex;flex-direction:column;gap:6px}.zp-form-field--full,.zp-form-row{grid-column:1 / -1}.zp-form-field--checkbox{justify-content:flex-end;padding-bottom:6px}.zp-form-label{color:#6c6c70;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.04em}.zp-required{color:var(--color-danger-bright)}.zp-optional{color:#aeaeb2;font-size:10px;font-weight:400;text-transform:none}.zp-input,.zp-textarea{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid #d1d1d6;border-radius:9px;outline:none;background:#f9f9fb;color:#1c1c1e;font-family:inherit;font-size:14px;transition:border-color .15s,background .15s,box-shadow .15s}.zp-input:focus,.zp-textarea:focus{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 3px #007aff1f}.zp-input:disabled,.zp-textarea:disabled{opacity:.55;cursor:not-allowed}.zp-textarea{min-height:96px;line-height:1.5;resize:vertical}.zp-checkbox-label{display:inline-flex;align-items:center;gap:8px;color:#3c3c43;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.zp-checkbox{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.zp-form-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:14px 0 0;background:#f5f5f7c7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.zp-placeholder-block{padding:24px;border-radius:12px;background:#f5f5f7;color:#86868b;font-size:14px;font-style:italic;line-height:1.45;text-align:center}.zp-rows-editor,.zp-surcharges-editor{display:flex;flex-direction:column;gap:12px}.zp-row-card,.zp-surcharge-card{padding:16px;border:1px solid #e5e5ea;border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000000d}.zp-warning-banner,.zp-success-banner,.zp-error-banner{padding:12px 16px;margin-bottom:16px;border-radius:10px;font-size:14px;line-height:1.45}.zp-warning-banner{border:1px solid #ffe58f;background:#fff9eb;color:#b45309}.zp-success-banner{border:1px solid #a3e4c1;background:#e6f9f0;color:#1a7a4a}.zp-error-banner{border:1px solid #ffd3d0;background:#fff0ef;color:#c0392b}.zp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.zp-modal{width:min(420px,100%);padding:28px 28px 24px;border-radius:16px;background:#fff;box-shadow:0 8px 32px #0000002e,0 2px 8px #0000001a}.zp-modal-title{margin:0 0 8px;color:#1c1c1e;font-size:18px;font-weight:700}.zp-modal-name{margin:0 0 12px;color:#3c3c43;font-size:14px;font-weight:650}.zp-modal-text{margin:0 0 16px;color:#6c6c70;font-size:14px;line-height:1.5}.zp-modal-error{margin:0 0 14px;padding:10px 14px;border-radius:9px;background:#fff0ef;color:#c0392b;font-size:13px}.zp-modal-actions{display:flex;justify-content:flex-end;gap:10px}@media (max-width: 760px){.zp-page-container{padding:16px}.zp-form-grid,.zp-form-row{grid-template-columns:1fr}.zp-form-actions{flex-direction:column}.zp-btn-primary,.zp-btn-secondary,.zp-btn-danger{width:100%}}.snig-panel{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);width:100%}.snig-panel--denied{background:var(--color-surface-subtle)}.snig-header{align-items:flex-start;display:flex;gap:var(--space-md);justify-content:space-between}.snig-title-block{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-xs);min-width:0}.snig-eyebrow{color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0;text-transform:uppercase}.snig-title{color:var(--color-text-strong);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0;overflow-wrap:anywhere}.snig-badge{border:1px solid transparent;border-radius:var(--radius-sm);flex:0 0 auto;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);padding:5px 8px;text-align:center;white-space:normal}.snig-badge--confirmed{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--color-success-text)}.snig-badge--pending{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning-text)}.snig-badge--unknown{background:var(--color-info-soft);border-color:var(--color-info-border);color:var(--color-info-text)}.snig-badge--denied{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger-text)}.snig-text,.snig-status,.snig-note,.snig-readonly,.snig-alert p{font-size:var(--font-size-base);line-height:var(--line-height-normal);margin:0}.snig-text,.snig-status{color:var(--color-text-secondary)}.snig-body{display:flex;flex-direction:column;gap:var(--space-sm)}.snig-note{border-left:3px solid var(--color-warning);color:var(--color-text);padding-left:var(--space-sm)}.snig-note--confirmed{border-left-color:var(--color-success)}.snig-note--blocked{border-left-color:var(--color-warning)}.snig-readonly{color:var(--color-text-secondary)}.snig-alert{align-items:center;background:var(--color-danger-soft);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);color:var(--color-danger-text);display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:space-between;padding:var(--space-sm)}.snig-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-sm)}.snig-button--danger-light{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger-text)}.snig-button--danger-light:hover:not(:disabled){background:var(--color-danger-border);border-color:var(--color-danger-border);color:var(--color-danger-text)}.snig-refresh{color:var(--color-text-tertiary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}@media (max-width: 520px){.snig-header{align-items:stretch;flex-direction:column}.snig-badge{align-self:flex-start}.snig-actions,.snig-alert{align-items:stretch;flex-direction:column}.snig-actions .etc-button,.snig-alert .etc-button{width:100%}}.snp-page{display:flex;flex-direction:column;gap:16px;width:100%;padding:24px;color:#172033}.snp-header,.snp-access-denied{display:flex;flex-direction:column;gap:6px}.snp-eyebrow{margin:0;color:#5f6f89;font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}.snp-title{margin:0;color:#111827;font-size:28px;line-height:1.2;letter-spacing:0}.snp-instruction{width:100%}.snp-hint{border-left:4px solid #d97706;background:#fff7ed;color:#7c2d12;padding:10px 12px;font-size:14px;line-height:1.45}.snp-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px 18px;padding:12px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.snp-field{display:flex;flex-direction:column;gap:6px;min-width:220px;color:#374151;font-size:13px;font-weight:700}.snp-field select,.snp-field input{min-height:36px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#111827;padding:6px 10px;font-size:14px}.snp-field select{padding-right:34px}.snp-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;color:#374151;font-size:14px;font-weight:600}.snp-toggle input{width:16px;height:16px;margin:0}.snp-state,.snp-empty,.snp-access-denied{border:1px solid #d8dee8;border-radius:8px;background:#fff;padding:18px}.snp-state{color:#475569;font-size:15px}.snp-state--error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-color:#fecaca;background:#fef2f2;color:#7f1d1d}.snp-state--error p{margin:0}.snp-retry{min-height:34px;border:1px solid #b91c1c;border-radius:6px;background:#fff;color:#991b1b;padding:6px 12px;font-size:14px;font-weight:700;cursor:pointer}.snp-retry:hover{background:#fee2e2}.snp-primary-button,.snp-secondary-button,.snp-danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid transparent;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:800;line-height:1.2;cursor:pointer}.snp-primary-button{border-color:#14532d;background:#166534;color:#fff}.snp-secondary-button{border-color:#cbd5e1;background:#fff;color:#334155}.snp-danger-button{border-color:#b91c1c;background:#fff;color:#991b1b}.snp-primary-button:hover:not(:disabled){background:#14532d}.snp-secondary-button:hover:not(:disabled){background:#f8fafc}.snp-danger-button:hover:not(:disabled){background:#fee2e2}.snp-primary-button:disabled,.snp-secondary-button:disabled,.snp-danger-button:disabled{cursor:not-allowed;opacity:.6}.snp-state-text{margin:0;color:#4b5563;font-size:15px;line-height:1.5}.snp-sections{display:flex;flex-direction:column;gap:22px}.snp-section{display:flex;flex-direction:column;gap:10px}.snp-section-header{display:flex;align-items:end;justify-content:space-between;gap:12px}.snp-section-header h2{margin:0;color:#111827;font-size:18px;line-height:1.25;letter-spacing:0}.snp-section-header p{margin:2px 0 0;color:#64748b;font-size:13px}.snp-empty{color:#64748b;font-size:14px}.snp-table-wrap{width:100%;overflow-x:auto;border:1px solid #d8dee8;border-radius:8px;background:#fff}.snp-table{width:100%;min-width:880px;border-collapse:collapse;font-size:13px;line-height:1.35}.snp-table--mappings{min-width:1120px}.snp-table--quality{min-width:1180px}.snp-table--events{min-width:760px}.snp-table th,.snp-table td{padding:10px 12px;border-bottom:1px solid #edf0f5;text-align:left;vertical-align:top}.snp-table th{background:#f8fafc;color:#475569;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase;white-space:nowrap}.snp-table tr:last-child td{border-bottom:0}.snp-table .snp-row--handoff td{background:#fff7ed;box-shadow:inset 3px 0 #d97706}.snp-code{color:#0f3b57;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-weight:700;white-space:nowrap}.snp-row-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:210px}.snp-link-button{border:0;background:transparent;color:#075985;padding:0;font:inherit;font-weight:800;text-align:left;cursor:pointer}.snp-link-button:hover{color:#0c4a6e;text-decoration:underline}.snp-status,.snp-activity{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800;line-height:1.2;white-space:nowrap}.snp-status--draft{background:#eff6ff;color:#1d4ed8}.snp-status--verified{background:#ecfdf5;color:#047857}.snp-status--needs-fix{background:#fef3c7;color:#92400e}.snp-activity--active{background:#f0fdf4;color:#166534}.snp-activity--archived{background:#f1f5f9;color:#475569}.snp-quality-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px 18px;border:1px solid #d8dee8;border-radius:8px;background:#fff;padding:12px}.snp-quality-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800;line-height:1.2;white-space:nowrap}.snp-quality-status--open{background:#eff6ff;color:#1d4ed8}.snp-quality-status--in-review{background:#fef3c7;color:#92400e}.snp-quality-status--resolved{background:#ecfdf5;color:#047857}.snp-quality-status--dismissed{background:#f1f5f9;color:#475569}.snp-quality-severity--info{background:#f0f9ff;color:#0369a1}.snp-quality-severity--warning{background:#fff7ed;color:#c2410c}.snp-quality-severity--blocker{background:#fef2f2;color:#b91c1c}.snp-quality-detail{display:flex;flex-direction:column;gap:12px;border:1px solid #d8dee8;border-radius:8px;background:#fff;padding:16px}.snp-quality-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.snp-quality-detail-header h3,.snp-quality-form h4,.snp-quality-text-block h4,.snp-quality-events h4{margin:0;color:#111827;letter-spacing:0}.snp-quality-detail-header h3{font-size:17px;line-height:1.3}.snp-handoff-context{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff;padding:12px 14px}.snp-handoff-context p{margin:3px 0 0;color:#475569;font-size:13px;line-height:1.4}.snp-handoff-context__label{color:#1e3a8a;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.snp-quality-detail-body{display:flex;flex-direction:column;gap:14px}.snp-quality-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.snp-quality-summary div,.snp-quality-text-block{border:1px solid #edf0f5;border-radius:8px;background:#f8fafc;padding:10px 12px}.snp-quality-summary span{display:block;margin-bottom:4px;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.snp-quality-summary strong{color:#111827;font-size:14px;line-height:1.35}.snp-quality-text-block{display:flex;flex-direction:column;gap:8px}.snp-quality-form h4,.snp-quality-text-block h4,.snp-quality-events h4{font-size:14px;line-height:1.35}.snp-quality-text-block p{margin:0;color:#334155;font-size:14px;line-height:1.5}.snp-quality-text-block pre{max-height:220px;overflow:auto;margin:0;border-radius:6px;background:#111827;color:#f8fafc;padding:10px;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.snp-quality-json-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.snp-quality-events{display:flex;flex-direction:column;gap:8px}.snp-quality-mutations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.snp-quality-form{display:flex;flex-direction:column;gap:12px;border:1px solid #edf0f5;border-radius:8px;background:#fff;padding:12px}.snp-quality-actions{display:flex;justify-content:flex-end}.snp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;overflow-y:auto;background:#0f172a7a;padding:24px}.snp-modal{width:min(760px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border-radius:8px;background:#fff;box-shadow:0 18px 45px #0f172a3d}.snp-modal--sm{width:min(520px,100%)}.snp-modal--wide{width:min(920px,100%)}.snp-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #e5e7eb}.snp-modal-header h2{margin:0;color:#111827;font-size:20px;line-height:1.25;letter-spacing:0}.snp-modal-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;font-size:22px;line-height:1;cursor:pointer}.snp-modal-close:disabled{cursor:not-allowed;opacity:.6}.snp-form{display:flex;flex-direction:column;gap:14px;padding:20px}.snp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.snp-form-field{display:flex;flex-direction:column;gap:6px;color:#374151;font-size:13px;font-weight:800}.snp-form-field input,.snp-form-field select,.snp-form-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#111827;padding:8px 10px;font:inherit;font-weight:500}.snp-form-field textarea{resize:vertical}.snp-form-help{color:#64748b;font-size:12px;font-weight:600;line-height:1.35}.snp-form-toggle{display:inline-flex;align-items:center;gap:8px;min-height:64px;color:#374151;font-size:13px;font-weight:800}.snp-form-toggle input{width:16px;height:16px;margin:0}.snp-form-error{margin:0;border:1px solid #fecaca;border-radius:6px;background:#fef2f2;color:#7f1d1d;padding:10px 12px;font-size:14px;line-height:1.4}.snp-modal-text{margin:0;color:#475569;font-size:15px;line-height:1.5}.snp-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}@media (max-width: 720px){.snp-page{padding:16px}.snp-title{font-size:24px}.snp-toolbar,.snp-handoff-context,.snp-quality-filters,.snp-quality-detail-header,.snp-section-header,.snp-state--error,.snp-modal-actions{align-items:stretch;flex-direction:column}.snp-field{min-width:0;width:100%}.snp-retry{width:100%}.snp-modal-backdrop{align-items:stretch;padding:12px}.snp-modal{max-height:none}.snp-form-grid,.snp-quality-summary,.snp-quality-json-grid,.snp-quality-mutations{grid-template-columns:1fr}.snp-primary-button,.snp-secondary-button,.snp-danger-button{width:100%}}.client-invoices-page{padding:24px;max-width:1200px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.client-invoices-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.client-invoices-title-group{display:flex;flex-direction:column;gap:4px}.client-invoices-breadcrumb{font-size:12px;color:#8e8e93;letter-spacing:.01em}.client-invoices-title{margin:0;font-size:26px;font-weight:700;color:#1c1c1e;letter-spacing:-.3px}.client-invoices-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000f;overflow:hidden}.client-invoices-filters{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid #f2f2f7;flex-wrap:wrap}.client-invoices-select,.client-invoices-input{height:36px;padding:0 12px;border:1px solid #d1d1d6;border-radius:8px;font-size:14px;color:#1c1c1e;background:#f9f9fb;outline:none;transition:border-color .15s;font-family:inherit}.client-invoices-select{min-width:160px;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.client-invoices-select--debt-segment{min-width:210px}.client-invoices-input{width:130px}.client-invoices-select:focus,.client-invoices-input:focus{border-color:var(--color-primary);background:#fff}.client-invoices-btn-primary{height:36px;padding:0 18px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 1px 3px #007aff4d;transition:background .15s,box-shadow .15s,transform .1s;white-space:nowrap}.client-invoices-btn-primary:hover{background:#0066d6;box-shadow:0 2px 6px #007aff66}.client-invoices-btn-primary:active{transform:scale(.97)}.client-invoices-btn-reset{height:36px;padding:0 14px;background:#f2f2f7;color:#3c3c43;border:none;border-radius:8px;font-size:14px;cursor:pointer;font-family:inherit;margin-left:auto;transition:background .15s;white-space:nowrap}.client-invoices-btn-reset:hover{background:#e5e5ea}.client-invoices-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:56px 24px;text-align:center}.client-invoices-loading{color:#8e8e93;font-size:15px}.client-invoices-error-text{margin:0;color:var(--color-danger-bright);font-size:15px}.client-invoices-state--empty .client-invoices-empty-icon{font-size:48px;line-height:1}.client-invoices-empty-text{margin:0;color:#8e8e93;font-size:16px}.client-invoices-table-wrap{overflow-x:auto}.client-invoices-table{width:100%;border-collapse:collapse;font-size:14px;color:#1c1c1e}.client-invoices-table thead tr{background:#f9f9fb;border-bottom:1px solid #e5e5ea}.client-invoices-table th{padding:10px 16px;text-align:left;font-size:12px;font-weight:600;color:#6c6c70;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.client-invoices-row{border-bottom:1px solid #f2f2f7;transition:background .1s}.client-invoices-row:last-child{border-bottom:none}.client-invoices-row--overdue{background:linear-gradient(90deg,#c0392b14,#fff0 34%);box-shadow:inset 3px 0 #c0392b8c}.client-invoices-row:hover{background:#f7f8fc}.client-invoices-row--overdue:hover{background:linear-gradient(90deg,#c0392b1c,#f7f8fc 40%)}.client-invoices-table td{padding:13px 16px;vertical-align:middle}.client-invoices-number-link{color:var(--color-primary);text-decoration:none;font-weight:500}.client-invoices-number-link:hover{text-decoration:underline}.client-invoices-draft-number{color:#8e8e93;font-style:italic;font-size:13px}.client-invoices-client-cell{color:#3c3c43}.client-invoices-amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:500}.status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;letter-spacing:.01em}.status-badge--draft{background:#f2f2f7;color:#6c6c70}.status-badge--issued{background:#e8f0fe;color:#1a56db}.status-badge--partially-paid{background:#fff7e0;color:#b07800}.status-badge--paid{background:#e6f9f0;color:#1a7a4a}.status-badge--overdue{background:#fff0ef;color:#c0392b}.status-badge--cancelled{background:#f2f2f7;color:#8e8e93}.client-invoices-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-top:1px solid #f2f2f7}.client-invoices-btn-page{height:34px;padding:0 16px;background:#f2f2f7;color:var(--color-primary);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.client-invoices-btn-page:hover:not(:disabled){background:#e5e5ea}.client-invoices-btn-page:disabled{color:#c7c7cc;cursor:not-allowed}.client-invoices-pagination-info{font-size:13px;color:#8e8e93;min-width:60px;text-align:center}.invoice-detail-page{padding:24px;max-width:1100px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.invoice-detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.invoice-detail-title-group{display:flex;flex-direction:column;gap:6px}.invoice-detail-breadcrumb{font-size:12px;color:#8e8e93;letter-spacing:.01em}.invoice-detail-breadcrumb-link{color:#8e8e93;text-decoration:none;transition:color .15s}.invoice-detail-breadcrumb-link:hover{color:var(--color-primary)}.invoice-detail-breadcrumb-current{color:#3c3c43}.invoice-detail-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.invoice-detail-title{margin:0;font-size:26px;font-weight:700;color:#1c1c1e;letter-spacing:-.3px}.invoice-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px}.invoice-detail-btn-primary{display:inline-flex;align-items:center;height:36px;padding:0 18px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 1px 3px #007aff4d,0 0 0 .5px #007aff26;transition:background .15s,box-shadow .15s,transform .1s;white-space:nowrap;text-decoration:none}.invoice-detail-btn-primary:hover{background:#0066d6;box-shadow:0 2px 6px #007aff66}.invoice-detail-btn-primary:active{transform:scale(.97)}.invoice-detail-btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.invoice-detail-btn-link{line-height:36px}.invoice-detail-btn-secondary{display:inline-flex;align-items:center;height:36px;padding:0 16px;background:#f2f2f7;color:#3c3c43;border:none;border-radius:8px;font-size:14px;cursor:pointer;font-family:inherit;transition:background .15s;white-space:nowrap}.invoice-detail-btn-secondary:hover{background:#e5e5ea}.invoice-detail-btn-danger{display:inline-flex;align-items:center;height:36px;padding:0 16px;background:transparent;color:var(--color-danger-bright);border:1.5px solid var(--color-danger-bright);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s,color .15s;white-space:nowrap}.invoice-detail-btn-danger:hover{background:#fff0ef}.invoice-detail-btn-danger:active{transform:scale(.97)}.invoice-detail-btn-danger:disabled{opacity:.5;cursor:not-allowed}.invoice-detail-btn-warning{display:inline-flex;align-items:center;height:36px;padding:0 16px;background:var(--color-warning-bright);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 1px 3px #ff950040;transition:background .15s,transform .1s;white-space:nowrap}.invoice-detail-btn-warning:hover{background:#e08600}.invoice-detail-btn-warning:active{transform:scale(.97)}.invoice-detail-btn-warning:disabled{opacity:.5;cursor:not-allowed}.invoice-detail-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:72px 24px;text-align:center}.invoice-detail-loading{color:#8e8e93;font-size:15px}.invoice-detail-error-text{margin:0;color:var(--color-danger-bright);font-size:15px}.invoice-detail-not-found-text{margin:0;color:#3c3c43;font-size:18px;font-weight:600}.invoice-detail-info-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000f;padding:24px;margin-bottom:16px}.invoice-detail-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px}@media (max-width: 768px){.invoice-detail-info-grid{grid-template-columns:1fr;gap:16px}}.invoice-detail-info-group{display:flex;flex-direction:column;gap:4px}.invoice-detail-label{font-size:11px;font-weight:600;color:#8e8e93;text-transform:uppercase;letter-spacing:.04em}.invoice-detail-value{font-size:15px;color:#1c1c1e;display:flex;flex-direction:column;gap:2px}.invoice-detail-client-name{font-weight:500}.invoice-detail-client-inn{font-size:12px;color:#8e8e93}.invoice-detail-pdf-block{margin-top:20px;padding-top:20px;border-top:1px solid #f2f2f7;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.invoice-detail-pdf-main{display:flex;flex-direction:column;gap:5px;min-width:0}.invoice-detail-pdf-version{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:15px;font-weight:600;color:#1c1c1e}.invoice-detail-pdf-generated,.invoice-detail-pdf-muted{font-size:13px;font-weight:400;color:#8e8e93}.invoice-detail-pdf-error{font-size:13px;color:#c0392b;line-height:1.4}.invoice-detail-pdf-button{flex-shrink:0}@media (max-width: 560px){.invoice-detail-pdf-block{align-items:stretch}.invoice-detail-pdf-button{width:100%;justify-content:center}}.invoice-detail-notes{margin-top:20px;padding-top:20px;border-top:1px solid #f2f2f7;display:flex;flex-direction:column;gap:6px}.invoice-detail-notes-text{margin:0;font-size:14px;color:#3c3c43;line-height:1.5;white-space:pre-wrap}.invoice-detail-cancel-block{margin-top:20px;padding:16px;background:#fff0ef;border-radius:8px;border:1px solid #ffd5d3;display:flex;flex-direction:column;gap:6px}.invoice-detail-cancel-block-label{font-size:11px;font-weight:600;color:#c0392b;text-transform:uppercase;letter-spacing:.04em}.invoice-detail-cancel-block-text{margin:0;font-size:14px;color:#3c3c43;line-height:1.5}.invoice-detail-kit-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000f;overflow:hidden;margin-bottom:16px}.invoice-detail-kit-header{padding:18px 24px 14px;border-bottom:1px solid #f2f2f7;display:flex;justify-content:space-between;gap:16px}.invoice-detail-kit-title{margin:0;font-size:16px;font-weight:600;color:#1c1c1e}.invoice-detail-kit-muted{color:#8e8e93;font-size:14px;line-height:1.4}.invoice-detail-kit-card>.invoice-detail-kit-muted{padding:24px}.invoice-detail-kit-controls{padding:18px 24px 12px;display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.invoice-detail-kit-field{display:flex;flex-direction:column;gap:6px;min-width:240px;flex:1 1 280px}.invoice-detail-kit-select{height:36px;width:100%;border:1px solid #d1d1d6;border-radius:8px;background:#f9f9fb;color:#1c1c1e;font:inherit;font-size:14px;padding:0 10px;outline:none}.invoice-detail-kit-select:focus{border-color:var(--color-primary);background:#fff}.invoice-detail-kit-select:disabled{opacity:.65;cursor:not-allowed}.invoice-detail-kit-preview-button{justify-content:center}.invoice-detail-kit-hint,.invoice-detail-kit-error{margin:0 24px 12px;font-size:13px;line-height:1.4}.invoice-detail-kit-hint{color:#8e8e93}.invoice-detail-kit-warning{margin:18px 24px 0;padding:10px 12px;border:1px solid #ffd9a8;border-radius:8px;background:#fff8ed;color:#6c4a00;font-size:13px;line-height:1.4}.invoice-detail-kit-error{padding:10px 12px;background:#fff0ef;border-radius:8px;color:#c0392b}.invoice-detail-kit-preview{padding:0 24px 20px;display:flex;flex-direction:column;gap:14px}.invoice-detail-kit-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.invoice-detail-kit-summary-item{display:flex;flex-direction:column;gap:4px;font-size:14px;color:#1c1c1e}.invoice-detail-kit-delivery{border:1px solid #f2f2f7;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px}.invoice-detail-kit-delivery-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.invoice-detail-kit-delivery-title{margin:0;color:#1c1c1e;font-size:14px;font-weight:600}.invoice-detail-kit-delivery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.invoice-detail-kit-delivery-row{min-width:0;border:1px solid #e5e5ea;border-radius:8px;background:#f9f9fb;padding:10px;display:flex;flex-direction:column;gap:6px}.invoice-detail-kit-delivery-row--usable{border-color:#cfe9d7;background:#fbfffc}.invoice-detail-kit-delivery-row-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.invoice-detail-kit-delivery-channel{min-width:0;color:#1c1c1e;font-size:13px;font-weight:600;overflow-wrap:anywhere}.invoice-detail-kit-delivery-state{flex:0 0 auto;border-radius:999px;background:#eef0f4;color:#4b5563;font-size:11px;font-weight:600;line-height:1.2;padding:3px 7px;white-space:nowrap}.invoice-detail-kit-delivery-row--usable .invoice-detail-kit-delivery-state{background:#e8f7ee;color:#188038}.invoice-detail-kit-delivery-recipient,.invoice-detail-kit-delivery-note,.invoice-detail-kit-delivery-hint,.invoice-detail-kit-delivery-warning{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.invoice-detail-kit-delivery-recipient{color:#1c1c1e;font-weight:500}.invoice-detail-kit-delivery-note,.invoice-detail-kit-delivery-hint{color:#636366}.invoice-detail-kit-delivery-hint,.invoice-detail-kit-delivery-warning{margin:0}.invoice-detail-kit-delivery-warning{border-radius:8px;background:#fff7e0;color:#8a5a00;padding:9px 10px}.invoice-detail-kit-table{border:1px solid #f2f2f7;border-radius:8px}.invoice-detail-kit-doc-cell,.invoice-detail-kit-status-cell{display:flex;flex-direction:column;gap:6px;min-width:0}.invoice-detail-kit-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.invoice-detail-kit-status--available{background:#e8f7ee;color:#188038}.invoice-detail-kit-status--pending{background:#fff7e0;color:#b07800}.invoice-detail-kit-status--missing{background:#fff0ef;color:#c0392b}.invoice-detail-kit-etrn-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;line-height:1.35}.invoice-detail-kit-etrn-actions a{color:var(--color-primary);font-weight:600;text-decoration:none}.invoice-detail-kit-etrn-actions a:hover{text-decoration:underline}.invoice-detail-kit-etrn-status{color:#636366;font-size:12px;line-height:1.35}.invoice-detail-kit-generate-action{align-items:center;border-top:1px solid #f2f2f7;display:flex;flex-wrap:wrap;gap:10px;padding-top:12px}.invoice-detail-kit-generate-success{color:#065f46;font-size:13px}.invoice-detail-kit-pdf-action{display:flex;align-items:center;justify-content:flex-end;gap:10px}.invoice-detail-kit-email-form{border-top:1px solid #f2f2f7;padding-top:14px;display:flex;flex-direction:column;gap:12px}.invoice-detail-kit-email-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px}.invoice-detail-kit-email-field{display:flex;flex-direction:column;gap:6px;min-width:0}.invoice-detail-kit-email-input,.invoice-detail-kit-email-textarea{width:100%;border:1px solid #d1d1d6;border-radius:8px;background:#f9f9fb;color:#1c1c1e;font:inherit;font-size:14px;outline:none}.invoice-detail-kit-email-input{height:36px;padding:0 10px}.invoice-detail-kit-email-textarea{min-height:84px;padding:9px 10px;resize:vertical;line-height:1.4}.invoice-detail-kit-email-input:focus,.invoice-detail-kit-email-textarea:focus{border-color:var(--color-primary);background:#fff}.invoice-detail-kit-email-input:disabled,.invoice-detail-kit-email-textarea:disabled{opacity:.65;cursor:not-allowed}.invoice-detail-kit-email-error,.invoice-detail-kit-email-success{margin:0;padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.invoice-detail-kit-email-error{background:#fff0ef;color:#c0392b}.invoice-detail-kit-email-success{background:#e8f7ee;color:#188038}.invoice-detail-kit-email-actions{display:flex;justify-content:flex-end}.invoice-detail-kit-email-submit{justify-content:center}.invoice-detail-btn-secondary:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 640px){.invoice-detail-kit-header,.invoice-detail-kit-controls,.invoice-detail-kit-preview{padding-left:16px;padding-right:16px}.invoice-detail-kit-card>.invoice-detail-kit-muted{padding:20px 16px}.invoice-detail-kit-field{min-width:0;flex-basis:100%}.invoice-detail-kit-preview-button,.invoice-detail-kit-pdf-action .invoice-detail-btn-secondary{width:100%;justify-content:center}.invoice-detail-kit-hint,.invoice-detail-kit-warning,.invoice-detail-kit-error{margin-left:16px;margin-right:16px}.invoice-detail-kit-summary,.invoice-detail-kit-delivery-grid{grid-template-columns:1fr}.invoice-detail-kit-delivery-row-header{align-items:flex-start;flex-direction:column}.invoice-detail-kit-pdf-action{justify-content:stretch;align-items:stretch;flex-direction:column}.invoice-detail-kit-email-grid{grid-template-columns:1fr}.invoice-detail-kit-email-actions{justify-content:stretch}.invoice-detail-kit-email-submit{width:100%}}.invoice-detail-edo-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000f;overflow:hidden;margin-bottom:16px}.invoice-detail-edo-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px 14px;border-bottom:1px solid #f2f2f7}.invoice-detail-edo-title{margin:0;font-size:16px;font-weight:600;color:#1c1c1e}.invoice-detail-edo-description{margin:4px 0 0;color:#636366;font-size:13px;line-height:1.35}.invoice-detail-edo-scope,.invoice-detail-edo-status{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap}.invoice-detail-edo-scope{color:#0f766e;background:#ccfbf1}.invoice-detail-edo-state,.invoice-detail-edo-error{padding:18px 24px;color:#6b7280;font-size:14px}.invoice-detail-edo-error{color:#b91c1c}.invoice-detail-edo-list{display:grid;gap:16px;padding:18px 24px 24px}.invoice-detail-edo-container{border:1px solid #e5e7eb;border-radius:8px;padding:18px;background:#f9fafb}.invoice-detail-edo-container-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.invoice-detail-edo-container-head strong{display:block;margin-top:4px;color:#111827}.invoice-detail-edo-status--draft{color:#374151;background:#f3f4f6}.invoice-detail-edo-status--prepared{color:#166534;background:#dcfce7}.invoice-detail-edo-status--failed{color:#991b1b;background:#fee2e2}.invoice-detail-edo-status--cancelled{color:#854d0e;background:#fef3c7}.invoice-detail-edo-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:16px}.invoice-detail-edo-meta-grid>div{display:flex;min-width:0;flex-direction:column;gap:4px}.invoice-detail-edo-mono{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.invoice-detail-edo-subsection{margin-top:18px}.invoice-detail-edo-subtitle{margin:0 0 10px;font-size:15px;line-height:1.3;font-weight:700;color:#111827}.invoice-detail-edo-table td{vertical-align:top}.invoice-detail-edo-events{display:grid;gap:10px}.invoice-detail-edo-event{display:grid;gap:6px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.invoice-detail-edo-event-main,.invoice-detail-edo-event-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.invoice-detail-edo-event-main{color:#111827;font-size:14px}.invoice-detail-edo-event-meta{color:#6b7280;font-size:12px}@media (max-width: 640px){.invoice-detail-edo-header,.invoice-detail-edo-container-head{flex-direction:column;align-items:flex-start}.invoice-detail-edo-meta-grid{grid-template-columns:1fr}.invoice-detail-edo-list,.invoice-detail-edo-state,.invoice-detail-edo-error{padding-left:16px;padding-right:16px}}.invoice-detail-delivery-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000f;overflow:hidden;margin-bottom:16px}.invoice-detail-delivery-header{padding:18px 24px 14px;border-bottom:1px solid #f2f2f7}.invoice-detail-delivery-title{margin:0;font-size:16px;font-weight:600;color:#1c1c1e}.invoice-detail-delivery-form{padding:18px 24px 14px;display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;border-bottom:1px solid #f2f2f7}.invoice-detail-delivery-field{display:flex;flex-direction:column;gap:6px;min-width:150px;flex:1 1 160px}.invoice-detail-delivery-field--recipient{flex:2 1 240px}.invoice-detail-delivery-select,.invoice-detail-delivery-input{height:36px;width:100%;border:1px solid #d1d1d6;border-radius:8px;background:#f9f9fb;color:#1c1c1e;font:inherit;font-size:14px;padding:0 10px;outline:none}.invoice-detail-delivery-select:focus,.invoice-detail-delivery-input:focus{border-color:var(--color-primary);background:#fff}.invoice-detail-delivery-select:disabled,.invoice-detail-delivery-input:disabled{opacity:.65;cursor:not-allowed}.invoice-detail-delivery-checkbox{min-height:36px;display:inline-flex;align-items:center;gap:8px;color:#1c1c1e;font-size:14px;font-weight:500}.invoice-detail-delivery-checkbox input{width:16px;height:16px;accent-color:var(--color-primary)}.invoice-detail-delivery-submit{justify-content:center}.invoice-detail-delivery-state{padding:24px;color:#8e8e93;font-size:14px}.invoice-detail-delivery-error{margin:14px 24px;padding:10px 12px;background:#fff0ef;border-radius:8px;color:#c0392b;font-size:13px;line-height:1.4}.invoice-detail-delivery-list{display:flex;flex-direction:column}.invoice-detail-delivery-item{padding:14px 24px;display:flex;justify-content:space-between;gap:16px;border-top:1px solid #f2f2f7}.invoice-detail-delivery-form+.invoice-detail-delivery-list .invoice-detail-delivery-item:first-child,.invoice-detail-delivery-header+.invoice-detail-delivery-list .invoice-detail-delivery-item:first-child{border-top:none}.invoice-detail-delivery-item-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.invoice-detail-delivery-channel{color:#1c1c1e;font-size:14px;font-weight:600}.invoice-detail-delivery-event-type,.invoice-detail-delivery-result{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.invoice-detail-delivery-event-type{background:#f2f2f7;color:#3a3a3c}.invoice-detail-delivery-result--success{background:#e8f7ee;color:#188038}.invoice-detail-delivery-result--error{background:#fff0ef;color:#c0392b}.invoice-detail-delivery-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;color:#8e8e93;font-size:13px;line-height:1.4;text-align:right}.invoice-detail-delivery-recipient{color:#3a3a3c}@media (max-width: 720px){.invoice-detail-delivery-header,.invoice-detail-delivery-form,.invoice-detail-delivery-state,.invoice-detail-delivery-item{padding-left:16px;padding-right:16px}.invoice-detail-delivery-error{margin-left:16px;margin-right:16px}.invoice-detail-delivery-field{min-width:0;flex-basis:100%}.invoice-detail-delivery-submit{width:100%}.invoice-detail-delivery-item{flex-direction:column;gap:8px}.invoice-detail-delivery-meta{justify-content:flex-start;text-align:left}}.invoice-detail-payments-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000f;overflow:hidden;margin-bottom:16px}.invoice-detail-payments-header{padding:18px 24px 14px;border-bottom:1px solid #f2f2f7}.invoice-detail-payments-title{margin:0;font-size:16px;font-weight:600;color:#1c1c1e}.invoice-detail-payments-summary{padding:16px 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-bottom:1px solid #f2f2f7}.invoice-detail-payments-summary-item{min-width:0;display:flex;flex-direction:column;gap:4px;font-size:15px;font-weight:600;color:#1c1c1e}.invoice-detail-payments-form{padding:18px 24px 14px;display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;border-bottom:1px solid #f2f2f7}.invoice-detail-payments-field{display:flex;flex-direction:column;gap:6px;min-width:150px;flex:1 1 160px}.invoice-detail-payments-field--notes{flex:2 1 260px}.invoice-detail-payments-input,.invoice-detail-payments-select{height:36px;width:100%;border:1px solid #d1d1d6;border-radius:8px;background:#f9f9fb;color:#1c1c1e;font:inherit;font-size:14px;padding:0 10px;outline:none}.invoice-detail-payments-textarea{width:100%;min-height:36px;border:1px solid #d1d1d6;border-radius:8px;background:#f9f9fb;color:#1c1c1e;font:inherit;font-size:14px;padding:8px 10px;outline:none;resize:vertical;line-height:1.4}.invoice-detail-payments-input:focus,.invoice-detail-payments-select:focus,.invoice-detail-payments-textarea:focus{border-color:var(--color-primary);background:#fff}.invoice-detail-payments-input:disabled,.invoice-detail-payments-select:disabled,.invoice-detail-payments-textarea:disabled{opacity:.65;cursor:not-allowed}.invoice-detail-payments-submit{justify-content:center}.invoice-detail-payments-hint{flex:1 1 100%;margin:0;color:#8e8e93;font-size:13px;line-height:1.4}.invoice-detail-payments-state{padding:24px;color:#8e8e93;font-size:14px}.invoice-detail-payments-error{margin:14px 24px;padding:10px 12px;background:#fff0ef;border-radius:8px;color:#c0392b;font-size:13px;line-height:1.4}.invoice-detail-payments-table{min-width:840px}.invoice-detail-payment-status{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.invoice-detail-payment-status--received{background:#e8f7ee;color:#188038}.invoice-detail-payment-status--revoked{background:#fff0ef;color:#c0392b}.invoice-detail-payment-details{max-width:260px;color:#3a3a3c;word-break:break-word}.invoice-detail-payment-reference,.invoice-detail-payment-notes,.invoice-detail-payment-audit{display:block;line-height:1.4}.invoice-detail-payment-reference{font-weight:600}.invoice-detail-payment-notes,.invoice-detail-payment-audit{margin-top:3px;color:#6c6c70;font-size:12px}.invoice-detail-payment-revoke-button{justify-content:center}.invoice-detail-payment-revoke-row td{background:#f9f9fb;border-top:1px solid #f2f2f7}.invoice-detail-payment-revoke-form{display:flex;flex-direction:column;gap:10px}.invoice-detail-payment-revoke-label{display:flex;flex-direction:column;gap:6px}.invoice-detail-payment-revoke-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}@media (max-width: 720px){.invoice-detail-payments-header,.invoice-detail-payments-summary,.invoice-detail-payments-form,.invoice-detail-payments-state{padding-left:16px;padding-right:16px}.invoice-detail-payments-summary{grid-template-columns:1fr}.invoice-detail-payments-error{margin-left:16px;margin-right:16px}.invoice-detail-payments-field{min-width:0;flex-basis:100%}.invoice-detail-payments-submit{width:100%}.invoice-detail-payment-revoke-actions{justify-content:stretch}.invoice-detail-payment-revoke-actions .invoice-detail-btn-secondary,.invoice-detail-payment-revoke-actions .invoice-detail-btn-danger{width:100%;justify-content:center}}.invoice-detail-lines-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000f;overflow:hidden}.invoice-detail-lines-header{padding:18px 24px 14px;border-bottom:1px solid #f2f2f7;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.invoice-detail-lines-title{margin:0;font-size:16px;font-weight:600;color:#1c1c1e}.invoice-detail-lines-warning-summary{padding:6px 10px;border:1px solid #ffd9a8;border-radius:8px;background:#fff8ed;color:#8a5a00;font-size:12px;font-weight:600;line-height:1.35}.invoice-detail-lines-empty{padding:40px 24px;text-align:center;color:#8e8e93;font-size:14px}.invoice-detail-table-wrap{overflow-x:auto}.invoice-detail-table{width:100%;border-collapse:collapse;font-size:13px;color:#1c1c1e}.invoice-detail-table thead tr{background:#f9f9fb;border-bottom:1px solid #e5e5ea}.invoice-detail-table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:600;color:#6c6c70;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.invoice-detail-th-num{text-align:right}.invoice-detail-table-row{border-bottom:1px solid #f2f2f7;transition:background .1s}.invoice-detail-table-row:last-child{border-bottom:none}.invoice-detail-table-row:hover{background:#f7f8fc}.invoice-detail-table td{padding:11px 14px;vertical-align:top}.invoice-detail-td-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-detail-td-qty{white-space:nowrap}.invoice-detail-line-name{display:block;font-weight:500}.invoice-detail-line-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.invoice-detail-line-service-type{display:block;font-size:11px;color:#8e8e93;margin-top:2px}.invoice-detail-line-snapshot{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:6px}.invoice-detail-line-snapshot-item{color:#6c6c70;font-size:11px;line-height:1.35}.invoice-detail-line-warning-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:20px;background:#fff3d6;color:#9a6500;font-size:11px;font-weight:700;line-height:1.35;white-space:nowrap}.invoice-detail-line-warnings{display:flex;flex-direction:column;gap:4px;margin-top:6px}.invoice-detail-line-warning{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;color:#6c4a00;font-size:11px;line-height:1.35}.invoice-detail-line-warning-severity,.invoice-detail-line-warning-code{font-weight:700}.invoice-detail-line-warning-severity{color:#9a6500}.invoice-detail-line-type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;background:#fff7e0;color:#b07800;white-space:nowrap}.invoice-detail-vat-rate{color:#8e8e93;font-size:11px;margin-right:2px}.invoice-detail-table-footer{border-top:1px solid #e5e5ea;background:#f9f9fb}.invoice-detail-table-footer td{padding:10px 14px}.invoice-detail-footer-label{font-size:12px;font-weight:600;color:#6c6c70;text-transform:uppercase;letter-spacing:.02em}.invoice-detail-table-total td{padding:10px 14px}.invoice-detail-total-label{font-weight:700;color:#1c1c1e}.invoice-detail-total-amount{font-weight:700;font-size:15px;color:#1c1c1e;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1c1e80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.invoice-modal-card{background:#fff;border-radius:14px;box-shadow:0 16px 48px #0003;max-width:480px;width:100%;padding:28px 24px 24px}.invoice-modal-title{margin:0 0 12px;font-size:18px;font-weight:700;color:#1c1c1e}.invoice-modal-body{margin:0 0 16px;font-size:15px;color:#3c3c43;line-height:1.5}.invoice-modal-label{display:block;font-size:13px;font-weight:600;color:#3c3c43;margin-bottom:8px}.invoice-modal-required{color:var(--color-danger-bright)}.invoice-modal-textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #d1d1d6;border-radius:8px;font-size:14px;font-family:inherit;color:#1c1c1e;background:#f9f9fb;resize:vertical;outline:none;transition:border-color .15s;line-height:1.5}.invoice-modal-textarea:focus{border-color:var(--color-primary);background:#fff}.invoice-modal-textarea:disabled{opacity:.6;cursor:not-allowed}.invoice-modal-char-count{font-size:11px;color:#8e8e93;text-align:right;margin-top:4px}.invoice-modal-error{margin:0 0 12px;padding:10px 12px;background:#fff0ef;border-radius:8px;color:#c0392b;font-size:14px;line-height:1.4}.invoice-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.invoice-form-page{padding:24px 24px 80px;max-width:1100px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.invoice-form-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:72px 24px;text-align:center}.invoice-form-page-header{margin-bottom:20px}.invoice-form-number-hint{margin:4px 0 0;font-size:12px;font-style:italic;color:#8e8e93}.invoice-form-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000f;padding:24px;margin-bottom:16px}.invoice-form-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px}@media (max-width: 768px){.invoice-form-fields-grid{grid-template-columns:1fr;gap:16px}}.invoice-form-field{display:flex;flex-direction:column;gap:6px}.invoice-form-field--full{grid-column:1 / -1}.invoice-form-label{font-size:11px;font-weight:600;color:#6c6c70;text-transform:uppercase;letter-spacing:.04em;-webkit-user-select:none;user-select:none}.invoice-form-required{color:var(--color-danger-bright);margin-left:2px}.invoice-form-optional{color:#aeaeb2;font-weight:400;text-transform:none;font-size:10px}.invoice-form-field-error{margin:0;font-size:13px;color:var(--color-danger-bright)}.invoice-form-select,.invoice-form-input,.invoice-form-textarea{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid #d1d1d6;border-radius:8px;font-size:14px;font-family:inherit;color:#1c1c1e;background:#f9f9fb;outline:none;transition:border-color .15s,background .15s}.invoice-form-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6H0z' fill='%238e8e93'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}.invoice-form-select:focus,.invoice-form-input:focus,.invoice-form-textarea:focus{border-color:var(--color-primary);background:#fff}.invoice-form-select:disabled,.invoice-form-input:disabled,.invoice-form-textarea:disabled{opacity:.5;cursor:not-allowed}.invoice-form-select--sm{font-size:13px;padding:6px 28px 6px 8px;min-width:110px}.invoice-form-search-input{margin-bottom:4px}.invoice-form-input--sub{margin-top:4px;font-size:12px;color:#8e8e93;background:transparent;border-color:#e5e5ea}.invoice-form-input--sub:focus{border-color:var(--color-primary);background:#fff;color:#1c1c1e}.invoice-form-qty-row{display:flex;gap:6px}.invoice-form-input--qty{width:80px;flex-shrink:0}.invoice-form-input--unit{flex:1}.invoice-form-input--price{margin-bottom:2px}.invoice-form-price-hint{font-size:11px;color:var(--color-warning-bright);line-height:1.35;margin-bottom:2px}.invoice-form-price-note{font-size:10px;color:#aeaeb2}.invoice-form-textarea{resize:vertical;line-height:1.5}.invoice-form-char-count{font-size:11px;color:#8e8e93;text-align:right;margin-top:2px}.invoice-form-currency-readonly{font-size:14px;font-weight:600;color:#3c3c43;padding:8px 0}.invoice-form-lines-card{padding:0;overflow:hidden}.invoice-form-lines-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #f2f2f7;gap:12px}.invoice-form-lines-title{margin:0;font-size:16px;font-weight:600;color:#1c1c1e}.invoice-form-lines-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.invoice-form-add-line-btn{white-space:nowrap;flex-shrink:0}.invoice-form-lines-empty{padding:40px 24px;text-align:center;color:#8e8e93;font-size:14px}.invoice-form-lines-table-wrap{overflow-x:auto}.invoice-form-lines-table{width:100%;border-collapse:collapse;font-size:13px;color:#1c1c1e}.invoice-form-lines-table thead tr{background:#f9f9fb;border-bottom:1px solid #e5e5ea}.invoice-form-lines-table th{padding:10px 12px;text-align:left;font-size:11px;font-weight:600;color:#6c6c70;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.invoice-form-th-narrow{width:40px}.invoice-form-th-del{width:36px}.invoice-form-line-row{border-bottom:1px solid #f2f2f7;vertical-align:top}.invoice-form-line-row:last-child{border-bottom:none}.invoice-form-lines-table td{padding:10px 12px;vertical-align:top}.invoice-form-td-narrow{text-align:center;color:#8e8e93;font-size:12px;padding-top:14px}.invoice-form-td-del{text-align:center;padding-top:10px}.invoice-form-delete-line-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;color:var(--color-danger-bright);border:1.5px solid transparent;border-radius:6px;font-size:18px;line-height:1;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s;padding:0}.invoice-form-delete-line-btn:hover{background:#fff0ef;border-color:#ffd5d3}.invoice-form-delete-line-btn:active{transform:scale(.95)}.invoice-form-delete-line-btn:disabled{opacity:.4;cursor:not-allowed}.invoice-form-totals{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding:16px 24px;border-top:1px solid #f2f2f7;background:#f9f9fb}.invoice-form-totals-row{display:flex;gap:24px;align-items:baseline}.invoice-form-totals-label{font-size:12px;font-weight:600;color:#6c6c70;text-transform:uppercase;letter-spacing:.02em;min-width:80px;text-align:right}.invoice-form-totals-value{font-size:14px;color:#1c1c1e;font-variant-numeric:tabular-nums;min-width:120px;text-align:right}.invoice-form-totals-total .invoice-form-totals-label,.invoice-form-totals-total .invoice-form-totals-value{font-weight:700}.invoice-form-totals-total-amount{font-size:17px;color:#1c1c1e}.invoice-form-save-error{padding:12px 16px;background:#fff0ef;border-radius:10px;border:1px solid #ffd5d3;color:#c0392b;font-size:14px;line-height:1.4;margin-bottom:12px}.invoice-form-footer{position:sticky;bottom:0;background:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;gap:8px;padding:12px 0;border-top:1px solid rgba(0,0,0,.06);z-index:100;justify-content:flex-end}@media (max-width: 480px){.invoice-form-footer{flex-direction:column;align-items:stretch}.invoice-form-footer button,.invoice-form-footer a{width:100%;justify-content:center}.invoice-form-lines-header{align-items:stretch;flex-direction:column}.invoice-form-lines-actions{justify-content:stretch}.invoice-form-lines-actions button{flex:1 1 100%;justify-content:center}.invoice-form-totals{align-items:stretch}.invoice-form-totals-value{min-width:auto}}.invoice-numbering-page{color:var(--color-text);display:flex;flex-direction:column;gap:16px;padding:24px}.invoice-numbering-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.invoice-numbering-header h1{font-size:24px;line-height:1.2;margin:0}.invoice-numbering-header p{color:var(--color-text-secondary);margin:6px 0 0}.invoice-numbering-primary,.invoice-numbering-actions button,.invoice-numbering-form-actions button{border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font:inherit;min-height:36px;padding:8px 12px}.invoice-numbering-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.invoice-numbering-primary:disabled,.invoice-numbering-actions button:disabled,.invoice-numbering-form-actions button:disabled{cursor:not-allowed;opacity:.6}.invoice-numbering-alert,.invoice-numbering-success{border-radius:6px;padding:12px 14px}.invoice-numbering-alert{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}.invoice-numbering-deactivate-warn{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;color:#92400e;font-size:13px;line-height:1.5;padding:10px 12px}.invoice-numbering-alert--retryable{align-items:center;display:flex;gap:12px;justify-content:space-between}.invoice-numbering-alert-retry{background:none;border:1px solid #fca5a5;border-radius:6px;color:#9f1239;cursor:pointer;flex-shrink:0;font:inherit;font-size:13px;font-weight:500;padding:4px 10px;transition:background .15s;white-space:nowrap}.invoice-numbering-alert-retry:hover{background:#fecdd3}.invoice-numbering-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.invoice-numbering-toolbar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.invoice-numbering-toolbar label,.invoice-numbering-form label{color:var(--color-text-secondary);display:flex;flex-direction:column;font-size:13px;gap:6px}.invoice-numbering-toolbar select,.invoice-numbering-form input,.invoice-numbering-form select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font:inherit;min-height:38px;padding:8px 10px}.invoice-numbering-check{align-items:center;flex-direction:row!important;gap:8px!important}.invoice-numbering-check input{min-height:auto}.invoice-numbering-layout{align-items:flex-start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(320px,420px)}.invoice-numbering-panel{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:8px;padding:16px}.invoice-numbering-panel h2{font-size:18px;margin:0 0 14px}.invoice-numbering-table-wrap{overflow-x:auto}.invoice-numbering-table{border-collapse:collapse;min-width:820px;width:100%}.invoice-numbering-table th,.invoice-numbering-table td{border-bottom:1px solid var(--color-border-light);padding:10px 8px;text-align:left;vertical-align:top}.invoice-numbering-table th{color:var(--color-text-secondary);font-size:12px;font-weight:600;text-transform:uppercase}.invoice-numbering-code{background:var(--color-background);border-radius:4px;color:var(--color-text);display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;padding:2px 5px}.invoice-numbering-counter{font-variant-numeric:tabular-nums;font-weight:600}.invoice-numbering-counter-group-cell{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.invoice-numbering-counter-group-label{color:var(--color-text-secondary);font-size:12px}.invoice-numbering-status{align-items:center;border:1px solid var(--color-border-light);border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;line-height:1;min-height:24px;padding:5px 8px}.invoice-numbering-status--active{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.invoice-numbering-status--archived{background:var(--color-background);color:var(--color-text-secondary)}.invoice-numbering-actions,.invoice-numbering-form-actions{display:flex;flex-wrap:wrap;gap:8px}.invoice-numbering-form{display:flex;flex-direction:column;gap:12px}.invoice-numbering-field-help{color:var(--color-text-secondary);font-size:12px;line-height:1.45}.invoice-numbering-preview{background:var(--color-background);border:1px solid var(--color-border-light);border-radius:6px;display:flex;flex-direction:column;gap:10px;padding:12px}.invoice-numbering-preview-row{display:grid;gap:2px}.invoice-numbering-preview span,.invoice-numbering-muted{color:var(--color-text-secondary)}.invoice-numbering-empty-state{align-items:center;display:flex;flex-direction:column;gap:8px;padding:32px 16px;text-align:center}.invoice-numbering-empty-state-title{color:var(--color-text);font-size:15px;font-weight:600;margin:0}.invoice-numbering-empty-state-desc{color:var(--color-text-secondary);font-size:13px;margin:0 0 8px;max-width:280px}.invoice-numbering-preview strong{font-size:18px;line-height:1.2}.invoice-numbering-preview-mask{color:var(--color-primary)}.invoice-numbering-preview small{color:#9f1239}@keyframes invoice-numbering-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.invoice-numbering-skeleton-title,.invoice-numbering-skeleton-row,.invoice-numbering-skeleton-field{animation:invoice-numbering-shimmer 1.4s infinite;background:linear-gradient(90deg,var(--color-background) 25%,#e8e8e8 50%,var(--color-background) 75%);background-size:200% 100%;border-radius:6px}.invoice-numbering-skeleton-title{height:20px;margin-bottom:14px;width:40%}.invoice-numbering-skeleton-rows{display:flex;flex-direction:column;gap:10px}.invoice-numbering-skeleton-row{height:44px}.invoice-numbering-skeleton-form{display:flex;flex-direction:column;gap:12px}.invoice-numbering-skeleton-field{height:38px}.invoice-numbering-counter-mode{border:1px solid var(--color-border-light);border-radius:8px;margin:0;padding:12px 14px}.invoice-numbering-counter-mode-legend{color:var(--color-text-secondary);font-size:13px;padding:0 4px}.invoice-numbering-counter-mode-options{display:flex;flex-direction:column;gap:6px;margin-top:8px}.invoice-numbering-counter-mode-option{align-items:flex-start;border:1px solid var(--color-border-light);border-radius:6px;cursor:pointer;display:grid;column-gap:10px;grid-template-columns:auto 1fr;grid-template-rows:auto auto;padding:10px 12px;transition:border-color .15s,background .15s}.invoice-numbering-counter-mode-option:has(input:checked){background:color-mix(in srgb,var(--color-primary) 5%,transparent);border-color:var(--color-primary)}.invoice-numbering-counter-mode-option input[type=radio]{grid-column:1;grid-row:1 / 3;margin-top:2px;min-height:auto}.invoice-numbering-counter-mode-label{font-size:13px;font-weight:600;grid-column:2;grid-row:1;line-height:1.3}.invoice-numbering-counter-mode-desc{color:var(--color-text-secondary);font-size:12px;grid-column:2;grid-row:2;line-height:1.4}.invoice-numbering-counter-mode-group{display:flex;flex-direction:column;gap:4px;margin-top:10px}.invoice-numbering-counter-mode-group-label{color:var(--color-text-secondary);display:flex;flex-direction:column;font-size:12px;gap:4px}.invoice-numbering-overlay{align-items:center;animation:invoice-numbering-fade .18s ease;background:#00000073;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@keyframes invoice-numbering-fade{0%{opacity:0}to{opacity:1}}.invoice-numbering-dialog{animation:invoice-numbering-slide .2s ease;background:var(--color-surface);border-radius:14px;box-shadow:0 20px 60px #0000002e;max-width:400px;overflow-y:auto;width:100%}@keyframes invoice-numbering-slide{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.invoice-numbering-dialog-header{align-items:center;display:flex;justify-content:space-between;padding:1.25rem 1.5rem 0}.invoice-numbering-dialog-header h2{font-size:1.05rem;font-weight:700;margin:0}.invoice-numbering-dialog-close{background:none;border:none;border-radius:4px;color:var(--color-text-secondary);cursor:pointer;font-size:1rem;line-height:1;padding:4px;transition:color .15s}.invoice-numbering-dialog-close:hover{color:var(--color-text)}.invoice-numbering-dialog-body{padding:1rem 1.5rem 1.5rem}.invoice-numbering-dialog-desc{color:var(--color-text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 1.25rem}.invoice-numbering-dialog-footer{display:flex;gap:.75rem;justify-content:flex-end}.invoice-numbering-dialog-cancel,.invoice-numbering-dialog-confirm{border-radius:6px;cursor:pointer;font:inherit;font-size:.875rem;font-weight:500;min-height:38px;padding:8px 16px;transition:background .15s,border-color .15s}.invoice-numbering-dialog-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.invoice-numbering-dialog-cancel:hover{background:var(--color-background)}.invoice-numbering-dialog-confirm{background:#dc2626;border:1px solid #dc2626;box-shadow:0 1px 3px #dc26264d;color:#fff}.invoice-numbering-dialog-confirm:hover{background:#b91c1c;border-color:#b91c1c}.invoice-numbering-dialog-confirm:disabled{background:#fca5a5;border-color:#fca5a5;cursor:not-allowed}@media (max-width: 1100px){.invoice-numbering-layout{grid-template-columns:1fr}}@media (max-width: 720px){.invoice-numbering-page{padding:16px}.invoice-numbering-header{flex-direction:column}.invoice-numbering-primary{width:100%}}.gz-page{color:var(--color-text);display:flex;flex-direction:column;gap:16px;padding:24px}.gz-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.gz-header-text{display:flex;flex-direction:column;gap:4px}.gz-eyebrow{color:var(--color-text-secondary);font-size:12px;font-weight:700;letter-spacing:.05em;margin:0;text-transform:uppercase}.gz-title{font-size:24px;line-height:1.2;margin:0}.gz-toolbar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.gz-toolbar label{color:var(--color-text-secondary);display:flex;flex-direction:column;font-size:13px;gap:6px}.gz-toolbar select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font:inherit;min-height:36px;min-width:180px;padding:6px 10px}.gz-toggle{align-items:center;display:flex;flex-direction:row!important;gap:8px!important;min-height:36px}.gz-toggle input{min-height:auto}.gz-alert{align-items:center;border-radius:6px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.gz-alert--error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}.gz-alert--loading{border:1px solid var(--color-border-light);color:var(--color-text-secondary)}.gz-retry{background:none;border:1px solid #fca5a5;border-radius:6px;color:#9f1239;cursor:pointer;flex-shrink:0;font:inherit;font-size:13px;font-weight:500;padding:4px 10px;transition:background .15s;white-space:nowrap}.gz-retry:hover{background:#fecdd3}.gz-table-wrap{border:1px solid var(--color-border-light);border-radius:8px;overflow-x:auto}.gz-table{border-collapse:collapse;min-width:680px;width:100%}.gz-table th,.gz-table td{border-bottom:1px solid var(--color-border-light);padding:10px 12px;text-align:left;vertical-align:middle}.gz-table tr:last-child td{border-bottom:none}.gz-table th{background:var(--color-background);color:var(--color-text-secondary);font-size:12px;font-weight:600;text-transform:uppercase}.gz-empty{border:1px solid var(--color-border-light);border-radius:8px;color:var(--color-text-secondary);font-size:14px;padding:32px 16px;text-align:center}.gz-badge{border-radius:999px;display:inline-flex;align-items:center;font-size:12px;font-weight:600;line-height:1;min-height:22px;padding:3px 8px;white-space:nowrap}.gz-badge--active{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.gz-badge--archived{background:var(--color-background);border:1px solid var(--color-border-light);color:var(--color-text-secondary)}.gz-type-chip{background:color-mix(in srgb,var(--color-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-radius:4px;color:var(--color-primary);display:inline-block;font-size:12px;font-weight:600;padding:2px 7px}.gz-desc{color:var(--color-text-secondary);font-size:13px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gz-row-actions{display:flex;flex-wrap:wrap;gap:6px}.gz-primary{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:6px;color:#fff;cursor:pointer;font:inherit;font-size:14px;font-weight:500;min-height:36px;padding:8px 14px;transition:opacity .15s;white-space:nowrap}.gz-primary:disabled{cursor:not-allowed;opacity:.55}.gz-secondary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer;font:inherit;font-size:13px;font-weight:500;min-height:32px;padding:5px 10px;transition:background .15s}.gz-secondary:hover{background:var(--color-background)}.gz-secondary:disabled{cursor:not-allowed;opacity:.55}.gz-danger{background:none;border:1px solid #fca5a5;border-radius:6px;color:#9f1239;cursor:pointer;font:inherit;font-size:13px;font-weight:500;min-height:32px;padding:5px 10px;transition:background .15s,border-color .15s}.gz-danger:hover{background:#fff1f2}.gz-danger:disabled{cursor:not-allowed;opacity:.55}.gz-overlay{align-items:center;animation:gz-fade .15s ease;background:#0000006b;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@keyframes gz-fade{0%{opacity:0}to{opacity:1}}.gz-dialog{animation:gz-slide .18s ease;background:var(--color-surface);border-radius:14px;box-shadow:0 20px 60px #0000002e;display:flex;flex-direction:column;max-height:90vh;overflow-y:auto;width:100%}.gz-dialog--form{max-width:480px}.gz-dialog--sm{max-width:380px}@keyframes gz-slide{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.gz-dialog-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.gz-dialog-header h2{font-size:1rem;font-weight:700;margin:0}.gz-dialog-close{background:none;border:none;border-radius:4px;color:var(--color-text-secondary);cursor:pointer;font-size:1.1rem;line-height:1;padding:4px;transition:color .15s}.gz-dialog-close:hover{color:var(--color-text)}.gz-form{display:flex;flex-direction:column;gap:14px;padding:1.25rem 1.5rem 1.5rem}.gz-form-field{display:flex;flex-direction:column;gap:6px}.gz-form-field>span{color:var(--color-text-secondary);font-size:13px;font-weight:500}.gz-form-field input,.gz-form-field select,.gz-form-field textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font:inherit;min-height:38px;padding:8px 10px;transition:border-color .15s}.gz-form-field input:focus,.gz-form-field select:focus,.gz-form-field textarea:focus{border-color:var(--color-primary);outline:none}.gz-form-field textarea{min-height:auto;resize:vertical}.gz-form-toggle{align-items:center;display:flex;flex-direction:row;gap:8px}.gz-form-toggle input{min-height:auto}.gz-form-toggle span{color:var(--color-text);font-size:14px}.gz-form-error{border-radius:6px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;font-size:13px;padding:10px 12px}.gz-dialog-body{padding:1.25rem 1.5rem}.gz-dialog-desc{color:var(--color-text-secondary);font-size:14px;line-height:1.5;margin:0 0 1rem}.gz-dialog-footer{display:flex;gap:8px;justify-content:flex-end;padding:0 1.5rem 1.5rem}@media (max-width: 720px){.gz-page{padding:16px}.gz-header{flex-direction:column}.gz-primary{width:100%}}.tpc-page{display:flex;flex-direction:column;gap:24px;max-width:1200px;padding:32px 24px}.tpc-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.tpc-header h1{color:var(--color-text-primary, #1a1a2e);font-size:22px;font-weight:600;margin:0}.tpc-toolbar{align-items:center;display:flex;gap:16px}.tpc-archived-toggle{align-items:center;color:var(--color-text-secondary, #6b7280);cursor:pointer;display:flex;font-size:13px;gap:6px;-webkit-user-select:none;user-select:none}.tpc-table-wrap{background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;overflow:hidden}.tpc-table{border-collapse:collapse;font-size:13px;width:100%}.tpc-table thead th{background:var(--color-surface-secondary, #f9fafb);border-bottom:1px solid var(--color-border, #e5e7eb);color:var(--color-text-secondary, #6b7280);font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 16px;text-align:left;text-transform:uppercase}.tpc-table tbody tr{border-bottom:1px solid var(--color-border, #e5e7eb);transition:background .1s}.tpc-table tbody tr:last-child{border-bottom:none}.tpc-table tbody tr:hover{background:var(--color-surface-hover, #f9fafb)}.tpc-table td{color:var(--color-text-primary, #1a1a2e);padding:12px 16px;vertical-align:middle}.tpc-name{font-weight:500}.tpc-description{color:var(--color-text-secondary, #6b7280);font-size:12px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpc-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.tpc-badge--active{background:#d1fae5;color:#065f46}.tpc-badge--archived{background:#f3f4f6;color:#6b7280}.tpc-base-price-chip{background:var(--color-surface-secondary, #f3f4f6);border-radius:4px;color:var(--color-text-secondary, #6b7280);font-size:11px;font-weight:500;padding:2px 7px}.tpc-actions{display:flex;gap:8px}.tpc-btn-icon{background:none;border:1px solid transparent;border-radius:6px;color:var(--color-text-secondary, #6b7280);cursor:pointer;font-size:12px;padding:4px 10px;transition:background .1s,border-color .1s}.tpc-btn-icon:hover{background:var(--color-surface-secondary, #f3f4f6);border-color:var(--color-border, #e5e7eb)}.tpc-btn-danger{color:var(--color-danger, #dc2626)}.tpc-btn-danger:hover{background:#fef2f2;border-color:#fca5a5}.tpc-btn-primary{background:var(--color-primary, #1a1a2e);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:opacity .15s}.tpc-btn-primary:hover{opacity:.88}.tpc-empty{color:var(--color-text-secondary, #6b7280);font-size:14px;padding:40px 16px;text-align:center}.tpc-modal-overlay{align-items:center;background:#00000073;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.tpc-modal{background:#fff;border-radius:10px;box-shadow:0 8px 32px #0000002e;max-height:90vh;max-width:680px;overflow-y:auto;padding:28px 32px;width:100%}.tpc-modal-sm{max-width:420px}.tpc-modal h2{color:var(--color-text-primary, #1a1a2e);font-size:18px;font-weight:600;margin:0 0 24px}.tpc-modal-section{border-top:1px solid var(--color-border, #e5e7eb);margin-top:24px;padding-top:20px}.tpc-modal-section h3{color:var(--color-text-secondary, #6b7280);font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 0 14px;text-transform:uppercase}.tpc-field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.tpc-field label{color:var(--color-text-secondary, #6b7280);font-size:12px;font-weight:500}.tpc-field input,.tpc-field textarea,.tpc-field select{background:#fff;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;color:var(--color-text-primary, #1a1a2e);font-size:13px;padding:8px 10px;transition:border-color .15s;width:100%}.tpc-field input:focus,.tpc-field textarea:focus,.tpc-field select:focus{border-color:var(--color-primary, #1a1a2e);outline:none}.tpc-field textarea{min-height:72px;resize:vertical}.tpc-norms-grid{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.tpc-surcharge-row{align-items:center;background:var(--color-surface-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;display:flex;gap:10px;margin-bottom:8px;padding:10px 12px}.tpc-surcharge-row label{align-items:center;cursor:pointer;display:flex;flex:1;gap:8px}.tpc-surcharge-name{color:var(--color-text-primary, #1a1a2e);font-size:13px;font-weight:500}.tpc-surcharge-price-field{align-items:center;display:flex;gap:6px}.tpc-surcharge-price-field input{border:1px solid var(--color-border, #e5e7eb);border-radius:5px;font-size:13px;padding:5px 8px;text-align:right;width:90px}.tpc-optional-list{display:flex;flex-direction:column;gap:6px}.tpc-optional-item{align-items:center;background:var(--color-surface-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;display:grid;gap:8px;grid-template-columns:1fr 1fr 90px auto;padding:8px 12px}.tpc-optional-item input{border:1px solid var(--color-border, #e5e7eb);border-radius:5px;font-size:13px;padding:5px 8px;width:100%}.tpc-btn-remove{background:none;border:none;color:var(--color-danger, #dc2626);cursor:pointer;font-size:15px;line-height:1;padding:2px 4px}.tpc-btn-add{background:none;border:1px dashed var(--color-border, #d1d5db);border-radius:6px;color:var(--color-text-secondary, #6b7280);cursor:pointer;font-size:12px;margin-top:6px;padding:6px 14px;transition:border-color .1s,color .1s;width:100%}.tpc-btn-add:hover{border-color:var(--color-primary, #1a1a2e);color:var(--color-primary, #1a1a2e)}.tpc-modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.tpc-btn-secondary{background:none;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;color:var(--color-text-secondary, #6b7280);cursor:pointer;font-size:13px;padding:8px 16px;transition:background .1s}.tpc-btn-secondary:hover{background:var(--color-surface-secondary, #f3f4f6)}.tpc-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#dc2626;font-size:13px;margin-bottom:16px;padding:10px 14px}.tpc-confirm-text{color:var(--color-text-primary, #1a1a2e);font-size:14px;line-height:1.5;margin:0 0 24px}@media (max-width: 768px){.tpc-page{padding:20px 16px}.tpc-norms-grid{grid-template-columns:1fr}.tpc-optional-item{grid-template-columns:1fr 1fr}.tpc-table thead{display:none}.tpc-table tbody tr{border-bottom:2px solid var(--color-border, #e5e7eb);display:block;padding:12px 0}.tpc-table td{display:block;padding:4px 16px}}.users-page{padding:2rem;position:relative}.users-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.users-page .page-header h1{margin:0;font-size:1.75rem;color:#1a1a1a;font-weight:700}.users-toast{position:fixed;top:1.25rem;right:1.5rem;z-index:2000;padding:.75rem 1.25rem;border-radius:10px;font-size:.9rem;font-weight:500;box-shadow:0 4px 16px #00000026;animation:slideIn .25s ease}.users-toast--success{background:var(--color-success);color:#fff}@keyframes slideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.users-skeleton{display:flex;flex-direction:column;gap:.75rem}.skeleton-row{height:52px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.filters-panel{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;background:#fff;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem;box-shadow:0 1px 4px #00000014}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.filter-search{flex:1;min-width:220px}.filter-input{height:36px;padding:0 .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#1f2937;background:#fafafa;transition:border-color .15s,box-shadow .15s;width:100%}.filter-input:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61f;background:#fff}.filter-select{padding-right:2rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 6px #00000014;overflow:hidden}.users-count{padding:.65rem 1.25rem;font-size:.8rem;color:#6b7280;border-bottom:1px solid #f3f4f6}.users-table{width:100%;border-collapse:collapse;font-size:.875rem}.users-table thead tr{background:#f9fafb}.users-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb;white-space:nowrap}.users-table td{padding:.85rem 1rem;border-bottom:1px solid #f3f4f6;color:#1f2937;vertical-align:middle}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr:hover{background:#f8faff}.users-td-name{font-weight:500}.users-td-mono{font-family:SF Mono,Fira Code,monospace;font-size:.82rem;color:#4b5563}.users-td-date{color:#9ca3af;font-size:.82rem;white-space:nowrap}.users-td-actions{white-space:nowrap;display:flex;gap:.25rem;align-items:center}.role-badge{display:inline-block;padding:.2rem .6rem;background:#eff6ff;color:var(--color-info-text);border-radius:6px;font-size:.78rem;font-weight:600;white-space:nowrap}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:6px;font-size:.78rem;font-weight:600;white-space:nowrap}.status-badge--active{background:#f0fdf4;color:var(--color-success)}.status-badge--inactive{background:#fef2f2;color:var(--color-danger)}.btn-icon{background:none;border:none;cursor:pointer;padding:.3rem .4rem;border-radius:6px;font-size:1rem;transition:background .15s;line-height:1}.btn-icon:hover{background:#f3f4f6}.btn-icon--danger:hover{background:#fee2e2}.empty-state{text-align:center;padding:3rem;color:#9ca3af;background:#fff;border-radius:12px;box-shadow:0 1px 6px #0000000f}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:8px;font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:background .15s,box-shadow .15s,transform .1s;text-decoration:none}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-info-hover);color:#fff;box-shadow:0 1px 3px #2563eb4d}.btn-primary:hover{background:var(--color-info-text)}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn-danger{background:var(--color-danger);color:#fff;box-shadow:0 1px 3px #dc26264d}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{background:#fca5a5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0000002e;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}.modal-card--sm{max-width:380px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 0}.modal-header h2{margin:0;font-size:1.1rem;font-weight:700;color:#111827}.modal-close{background:none;border:none;font-size:1.1rem;color:#9ca3af;cursor:pointer;padding:.25rem;border-radius:4px;transition:color .15s}.modal-close:hover{color:#374151}.modal-body{padding:1.25rem 1.5rem 1.5rem}.modal-desc{color:#6b7280;font-size:.9rem;margin:0 0 1rem}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.form-row{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.form-row label{font-size:.8rem;font-weight:600;color:#374151}.form-row--checkbox{flex-direction:row;align-items:center;gap:.5rem}.form-row--checkbox label{font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.4rem}.form-input{height:38px;padding:0 .85rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#111827;background:#fafafa;transition:border-color .15s,box-shadow .15s}.form-input:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61f;background:#fff}.required{color:#ef4444}.form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.6rem .9rem;color:var(--color-danger);font-size:.85rem;margin-bottom:1rem}.perm-override-section{border-top:1px solid #e5e7eb;margin-top:0;padding:0 1.5rem 1rem}.perm-override-toggle{background:none;border:none;cursor:pointer;font-size:.88rem;font-weight:600;color:#4b5563;padding:.75rem 0 .5rem;display:flex;align-items:center;gap:.4rem;width:100%;text-align:left;letter-spacing:.01em}.perm-override-toggle:hover{color:var(--color-info-text)}.perm-override-hint{font-size:.78rem;color:#6b7280;margin:0 0 .6rem;display:flex;align-items:center;gap:.15rem;flex-wrap:wrap}.perm-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:2px}.perm-dot--role{background:#93c5fd}.perm-dot--grant{background:#6ee7b7}.perm-dot--deny{background:#fca5a5}.perm-matrix{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;font-size:.78rem}.perm-matrix-row{display:flex;align-items:stretch;border-bottom:1px solid #f3f4f6}.perm-matrix-row:last-child{border-bottom:none}.perm-matrix-header{background:#f9fafb;font-weight:600;color:#374151}.perm-col-module{flex:1;padding:.35rem .6rem;border-right:1px solid #e5e7eb;min-width:110px}.perm-col-action{width:72px;text-align:center;padding:.35rem 0;border-right:1px solid #f3f4f6;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s;font-size:.85rem}.perm-col-action:last-child{border-right:none}.perm-col-action:hover{background:#f0f9ff}.perm-cell--role{background:#eff6ff;color:var(--color-info)}.perm-cell--grant{background:#d1fae5;color:#059669;font-weight:700}.perm-cell--deny{background:#fee2e2;color:var(--color-danger);font-weight:700}.perm-cell--na{background:#f9fafb;color:#d1d5db;cursor:default}.perm-override-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.btn-sm{font-size:.82rem;padding:.35rem .85rem}.tenants-page{padding:32px;max-width:1200px;margin:0 auto}.tenants-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px}.tenants-title{font-size:24px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.tenants-subtitle{font-size:14px;color:#6b7280;margin:0}.tenants-alert{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px;font-weight:500}.tenants-alert-error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.tenants-alert-success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.tenants-filters{display:flex;gap:12px;margin-bottom:16px}.tenants-search{flex:1;padding:10px 14px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:14px;color:#1a1a2e;background:#fff;transition:border-color .2s}.tenants-search:focus{outline:none;border-color:#6366f1}.tenants-filter-select{padding:10px 14px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:14px;color:#1a1a2e;background:#fff;cursor:pointer}.tenants-stats{font-size:13px;color:#6b7280;margin-bottom:12px}.tenants-loading{text-align:center;padding:40px;color:#6b7280;font-size:15px}.tenants-table-wrap{overflow-x:auto;border-radius:14px;box-shadow:0 2px 12px #00000012;border:1px solid #f3f4f6}.tenants-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}.tenants-table th{padding:12px 14px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb;border-bottom:1px solid #f3f4f6;white-space:nowrap}.tenants-table td{padding:13px 14px;border-bottom:1px solid #f9fafb;vertical-align:middle;color:#1a1a2e}.tenants-table tbody tr:hover{background:#fafafa}.tenants-table tbody tr:last-child td{border-bottom:none}.tenant-row-inactive td{opacity:.55}.tenant-id{font-size:12px;color:#9ca3af;font-weight:500}.tenant-name{font-weight:600}.tenant-slug code{background:#f3f4f6;padding:2px 7px;border-radius:6px;font-size:12px;color:#4b5563}.tenant-users{text-align:center;font-weight:600;color:#6366f1}.tenant-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-active{background:#dcfce7;color:#15803d}.badge-inactive{background:#f3f4f6;color:#9ca3af}.tenant-actions{display:flex;gap:8px;white-space:nowrap}.btn-edit{padding:6px 12px;background:#eff6ff;color:var(--color-info-text);border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.btn-edit:hover{background:#dbeafe}.btn-deactivate{padding:6px 12px;background:#fff7ed;color:#c2410c;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.btn-deactivate:hover{background:#ffedd5}.tenants-empty{text-align:center;padding:40px;color:#9ca3af;font-size:15px}.tenants-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.tenants-modal{background:#fff;border-radius:18px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000002e}.tenants-modal-sm{max-width:400px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;position:sticky;top:0;background:#fff;border-bottom:1px solid #f3f4f6}.form-section-title{font-size:12px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.8px;margin:20px 0 12px}.form-section-title:first-child{margin-top:0}.form-row input,.form-row select{width:100%;padding:9px 13px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:14px;color:#1a1a2e;background:#fff;transition:border-color .2s;box-sizing:border-box}.form-row input:focus,.form-row select:focus{outline:none;border-color:#6366f1}.form-row input:disabled{background:#f9fafb;color:#9ca3af}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.form-row-checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500}.form-row-checkbox input[type=checkbox]{width:16px;height:16px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid #f3f4f6}.btn-cancel{padding:10px 20px;background:#f3f4f6;color:#4b5563;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-danger{padding:10px 20px;background:#ef4444;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.roles-page{display:flex;flex-direction:column;height:100%;padding:24px 32px;box-sizing:border-box}.roles-alert{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px;font-weight:500}.roles-alert-error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.roles-alert-success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.roles-layout{display:flex;gap:24px;flex:1;min-height:0}.roles-sidebar{width:260px;flex-shrink:0;background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000012;border:1px solid #f3f4f6;display:flex;flex-direction:column;overflow:hidden}.roles-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 14px;border-bottom:1px solid #f3f4f6}.roles-sidebar-title{font-size:16px;font-weight:700;color:#1a1a2e;margin:0}.btn-new-role{padding:6px 12px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s}.btn-new-role:hover{background:#4f46e5}.roles-loading{text-align:center;padding:40px 20px;color:#9ca3af;font-size:14px}.roles-list{overflow-y:auto;flex:1;padding:8px}.role-card{display:block;width:100%;text-align:left;padding:12px 14px;background:transparent;border:1.5px solid transparent;border-radius:10px;cursor:pointer;transition:all .15s;margin-bottom:4px}.role-card:hover{background:#f9fafb;border-color:#e5e7eb}.role-card-active{background:#eff6ff;border-color:#bfdbfe}.role-card-name{font-size:14px;font-weight:600;color:#1a1a2e;margin-bottom:4px}.role-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.role-card-users{font-size:12px;color:#9ca3af}.role-tag{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600}.role-tag-super{background:#fef3c7;color:#b45309}.role-tag-system{background:#ede9fe;color:#7c3aed}.role-tag-custom{background:#dcfce7;color:#15803d}.roles-detail{flex:1;background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000012;border:1px solid #f3f4f6;overflow-y:auto;display:flex;flex-direction:column}.roles-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding:60px 40px;color:#9ca3af}.roles-empty-icon{font-size:48px;margin-bottom:16px}.roles-empty-state h3{font-size:18px;font-weight:700;color:#4b5563;margin:0 0 8px}.roles-empty-state p{font-size:14px;line-height:1.5;max-width:300px}.role-detail-content{padding:24px;flex:1}.role-detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.role-detail-title{font-size:20px;font-weight:700;color:#1a1a2e;margin:0 0 6px}.role-detail-desc{font-size:14px;color:#6b7280;margin:0 0 8px}.role-detail-tags{display:flex;align-items:center;gap:8px}.role-users-count{font-size:13px;color:#9ca3af}.role-detail-actions{display:flex;gap:8px;flex-shrink:0}.btn-edit-role{padding:8px 16px;background:#eff6ff;color:var(--color-info-text);border:none;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-edit-role:hover{background:#dbeafe}.btn-delete-role{padding:8px 16px;background:#fff1f2;color:#be123c;border:none;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-delete-role:hover{background:#fce7f3}.btn-cancel-edit{padding:8px 16px;background:#f3f4f6;color:#4b5563;border:none;border-radius:9px;font-size:13px;font-weight:500;cursor:pointer}.btn-save-role{padding:8px 16px;background:#6366f1;color:#fff;border:none;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-save-role:hover:not(:disabled){background:#4f46e5}.btn-save-role:disabled{opacity:.6;cursor:not-allowed}.role-edit-form{display:flex;flex-direction:column;gap:4px}.form-row{margin-bottom:14px}.form-row label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:5px}.form-hint{font-weight:400;color:#9ca3af}.form-row input{width:100%;padding:9px 13px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:14px;color:#1a1a2e;background:#fff;transition:border-color .2s;box-sizing:border-box}.form-row input:focus{outline:none;border-color:#6366f1}.perm-section-title{font-size:12px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.8px;margin:20px 0 12px}.permissions-matrix{overflow-x:auto;border-radius:12px;border:1px solid #f3f4f6}.permissions-mobile-list{display:none}.permissions-table{width:100%;border-collapse:collapse;font-size:13px}.permissions-table th{padding:10px 12px;background:#f9fafb;font-size:12px;font-weight:600;color:#6b7280;text-align:center;border-bottom:1px solid #f3f4f6;white-space:nowrap}.perm-module-col{text-align:left!important;min-width:160px}.perm-action-col{min-width:90px}.perm-all-col{min-width:60px}.permissions-table td{padding:9px 12px;border-bottom:1px solid #fafafa;text-align:center;vertical-align:middle}.permissions-table tbody tr:last-child td{border-bottom:none}.perm-row-active{background:#fafbff}.permissions-table tbody tr:hover{background:#f9fafb}.perm-module-label{text-align:left!important;font-weight:500;color:#374151}.perm-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#6366f1}.perm-checkbox-all{accent-color:#10b981}.perm-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.perm-dot-on{background:#6366f1}.perm-dot-off{background:#e5e7eb}.perm-cell-na{color:#d1d5db;cursor:default}.roles-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.roles-modal{background:#fff;border-radius:18px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000002e}.roles-modal-sm{max-width:400px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;position:sticky;top:0;background:#fff;border-bottom:1px solid #f3f4f6;z-index:1}.modal-header h2{font-size:18px;font-weight:700;color:#1a1a2e;margin:0}.modal-close{background:none;border:none;font-size:22px;color:#9ca3af;cursor:pointer;padding:0;line-height:1;transition:color .2s}.modal-close:hover{color:#1a1a2e}.modal-body{padding:20px 24px}.modal-body p{color:#4b5563;font-size:15px;line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid #f3f4f6;position:sticky;bottom:0;background:#fff}.btn-primary{padding:10px 20px;background:#6366f1;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:#4f46e5}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{padding:10px 20px;background:#f3f4f6;color:#4b5563;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer}.btn-cancel:hover:not(:disabled){background:#e5e7eb}.btn-danger{padding:10px 20px;background:#ef4444;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.btn-danger:hover{background:var(--color-danger)}@media (max-width: 720px){.roles-page{height:auto;min-height:100%;padding:16px}.roles-layout{flex-direction:column;gap:14px}.roles-sidebar{width:100%;max-height:none;border-radius:12px}.roles-sidebar-header{padding:14px}.roles-list{display:flex;gap:8px;overflow-x:auto;padding:10px;scrollbar-width:none}.roles-list::-webkit-scrollbar{display:none}.role-card{flex:0 0 min(240px,78vw);margin-bottom:0;padding:11px 12px}.roles-detail{border-radius:12px;overflow:visible}.role-detail-content{padding:16px}.role-detail-header{flex-direction:column;gap:14px;margin-bottom:18px}.role-detail-actions{width:100%;flex-wrap:wrap}.role-detail-actions button,.btn-new-role{min-height:36px}.btn-edit-role,.btn-delete-role,.btn-cancel-edit,.btn-save-role{flex:1 1 120px}.role-detail-tags{align-items:flex-start;flex-wrap:wrap}.roles-empty-state{min-height:260px;padding:36px 18px}.roles-empty-icon{font-size:38px}.permissions-matrix{overflow:visible;border:0;border-radius:0}.permissions-table{display:none}.permissions-mobile-list{display:flex;flex-direction:column;gap:10px}.permission-mobile-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px}.permission-mobile-card-active{border-color:#c7d2fe;background:#fafbff}.permission-mobile-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.permission-mobile-card__header h3{margin:0;color:#1f2937;font-size:14px;line-height:1.25}.permission-mobile-card__all,.permission-mobile-toggle,.permission-mobile-readonly{display:inline-flex;align-items:center;gap:7px;min-height:32px;color:#374151;font-size:13px}.permission-mobile-card__all{flex-shrink:0;color:#047857;font-weight:600}.permission-mobile-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.permission-mobile-toggle input,.permission-mobile-card__all input{width:16px;height:16px;accent-color:#6366f1}.roles-modal-overlay{align-items:stretch;padding:10px}.roles-modal{max-height:calc(100vh - 20px);border-radius:14px}.modal-header,.modal-body{padding:16px}.modal-footer{gap:8px;padding:12px 16px 16px}.modal-footer button{flex:1 1 120px}}@media (max-width: 720px) and (orientation: landscape){.roles-page{padding:10px 12px}.roles-layout{gap:10px}.roles-sidebar-header{padding:10px 12px}.roles-list{padding:8px}.role-card{flex-basis:min(220px,56vw)}.role-detail-content{padding:12px}.role-detail-header{gap:10px;margin-bottom:12px}.perm-section-title{margin:14px 0 8px}.permission-mobile-card{padding:10px}.permission-mobile-card__actions{grid-template-columns:repeat(4,minmax(0,1fr))}}.network-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:.875rem;font-weight:500;border-bottom:1px solid transparent;flex-wrap:wrap;position:relative;z-index:200}.network-banner__icon{font-size:1rem;flex-shrink:0}.network-banner__text{flex:1;min-width:0;line-height:1.45}.network-banner__action{background:#ffffff40;border:1px solid rgba(255,255,255,.5);border-radius:6px;padding:4px 12px;font-size:.8125rem;font-weight:600;cursor:pointer;white-space:nowrap;color:inherit;transition:background .15s}.network-banner__action:hover{background:#ffffff59}.network-banner__close{background:none;border:none;cursor:pointer;font-size:1.1rem;color:inherit;opacity:.75;padding:0 4px;line-height:1;flex-shrink:0;transition:opacity .15s}.network-banner__close:hover{opacity:1}.network-banner--loading{background:#f0f4ff;border-bottom-color:#c7d4f5;color:#3b5bdb}.network-banner--loading .network-banner__icon{animation:banner-spin 1s linear infinite}@keyframes banner-spin{0%{display:inline-block;transform:rotate(0)}to{display:inline-block;transform:rotate(360deg)}}.network-banner--success{background:#ecfdf5;border-bottom-color:#a7f3d0;color:#065f46}.network-banner--warning{background:#fff7ed;border-bottom-color:#fed7aa;color:#92400e}.network-banner--warning .network-banner__action{border-color:#92400e66}.layout{display:flex;flex-direction:row;min-height:100vh}.layout-sidebar{width:240px;min-width:240px;height:100vh;position:sticky;top:0;background:var(--color-brainfab-bg);color:#fff;display:flex;flex-direction:column;box-shadow:2px 0 18px #1415212e,1px 0 3px #14152114;overflow-y:auto}.layout-sidebar::-webkit-scrollbar{width:8px}.layout-sidebar::-webkit-scrollbar-track{background:#ffffff14}.layout-sidebar::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.layout-sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff80}.sidebar-logo{font-size:20px;font-weight:700;margin:0;padding:20px;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-nav{flex:1;padding:var(--space-md) 0}.nav-section{margin-bottom:20px}.nav-section:last-child{margin-bottom:0}.nav-section-title,.nav-section-title-static{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#ffffff9e;padding:8px 20px;margin-bottom:4px;position:sticky;top:0;z-index:10;background:var(--color-brainfab-bg)}.nav-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 20px;background:transparent;border:none;cursor:pointer;transition:background-color .2s;margin-bottom:4px;position:sticky;top:0;z-index:10}.nav-section-toggle:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--color-brainfab-bg);z-index:-1}.nav-section-toggle:hover{background-color:#ffffff17}.nav-section-icon{align-items:center;color:#ffffffb3;display:inline-flex;height:var(--icon-size-xs);transition:transform .3s ease}.nav-submenu{animation:slideDown .3s ease-out;overflow:hidden}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 16px;margin:2px 10px;color:#ffffffe6;text-decoration:none;transition:background-color .15s,color .15s,box-shadow .15s;font-size:15px;border-left:0;border-radius:8px;min-height:44px;box-sizing:border-box}.nav-link:hover{background-color:#ffffff17;color:#fff}.nav-link.active{background:#fff;color:var(--color-brainfab-text);box-shadow:0 6px 18px #0a0b1633,0 1px 2px #0a0b161f}.nav-icon{align-items:center;color:currentColor;display:inline-flex;flex-shrink:0;justify-content:center;opacity:.82;width:var(--icon-size-md)}.layout-main{flex:1;display:flex;flex-direction:column;min-width:0}.layout-header{background:var(--color-surface);padding:0 var(--space-lg);display:flex;justify-content:flex-end;align-items:center;box-shadow:var(--shadow-sm);border-bottom:1px solid var(--color-border-light);height:56px}.header-right{display:flex;align-items:center;gap:20px}.user-info{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-weight:600;font-size:14px;color:var(--color-text)}.user-role{font-size:12px;color:var(--color-text-secondary)}.logout-button{padding:10px 18px;background:linear-gradient(180deg,#fff,#f8f9fa);color:var(--color-text);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;transition:transform .12s ease,box-shadow .2s ease,background-color .2s;box-shadow:0 1px 2px #1d1f4814;min-height:40px}.logout-button:hover{background:#fff;box-shadow:0 6px 18px #1d1f481f,0 1px 2px #1d1f480f}.logout-button:active{transform:scale(.98);box-shadow:0 1px 2px #00000014 inset}.layout-content{flex:1;padding:var(--space-lg);background:transparent;color:var(--color-text);overflow-y:auto;height:calc(100vh - 56px)}.hamburger-btn{display:none}@media (max-width: 1100px){.layout-header{justify-content:space-between}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;cursor:pointer;color:var(--color-text);flex-shrink:0}.layout-sidebar{position:fixed;left:-240px;top:0;z-index:300;transition:left .25s ease}.layout-sidebar--open{left:0}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:299}.layout-main{width:100%}}@media (max-width: 520px){.layout-header{height:48px;padding:0 10px}.hamburger-btn{width:38px;height:38px;font-size:20px}.header-right{gap:8px;min-width:0}.user-info{max-width:min(150px,42vw);min-width:0}.user-name,.user-role{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{display:none}.logout-button{min-height:36px;padding:8px 11px;font-size:13px}.layout-content{height:calc(100vh - 48px);padding:14px}}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff3cd;border-bottom:2px solid var(--color-warning-bright);padding:10px 20px;font-size:14px;color:#7a4f00;flex-wrap:wrap}.impersonation-end-btn{padding:6px 16px;background:var(--color-warning-bright);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.impersonation-end-btn:hover{background:#e08600}.App{max-width:1280px;margin:0 auto;padding:var(--space-lg, 24px)}.placeholder-page{padding:var(--space-lg);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light)}.placeholder-page h1{margin:0 0 12px;font-size:22px;font-weight:600;color:var(--color-text)}.placeholder-page p{margin:0;color:var(--color-text-secondary)}:root{--brand-midnight: #171a2f;--brand-midnight-soft: #242536;--brand-steel: #2d2e42;--brand-ink: #1d1f48;--brand-primary: #2256d9;--brand-primary-hover: #1d49bf;--brand-primary-active: #1d4ed8;--brand-primary-soft: #e8f0ff;--brand-primary-muted: rgba(34, 86, 217, .12);--brand-signal: #5e9bfc;--brand-signal-hover: #4a8bf5;--brand-route: #0a6f5c;--color-canvas: #f8f9fa;--color-canvas-subtle: #f1f3f4;--color-surface: #ffffff;--color-surface-subtle: #f9fafb;--color-surface-muted: #f2f2f7;--color-surface-raised: #ffffff;--color-text: var(--brand-ink);--color-text-strong: #1c1c1e;--color-text-secondary: #4f5668;--color-text-tertiary: #7d8494;--color-text-muted: #8e8e93;--color-text-inverse: #ffffff;--color-border: #d5d9e0;--color-border-light: #e8ebf0;--color-border-subtle: #f2f2f7;--color-primary: var(--brand-primary);--color-primary-hover: var(--brand-primary-hover);--color-primary-active: var(--brand-primary-active);--color-primary-soft: var(--brand-primary-soft);--color-primary-muted: var(--brand-primary-muted);--color-accent: var(--color-primary);--color-accent-hover: var(--color-primary-hover);--color-accent-muted: var(--color-primary-muted);--color-info: #3b82f6;--color-info-hover: #2563eb;--color-info-soft: #eff6ff;--color-info-border: #bfdbfe;--color-info-text: #1d4ed8;--color-success: #16a34a;--color-success-bright: #34c759;--color-success-soft: #f0fdf4;--color-success-border: #bbf7d0;--color-success-text: #166534;--color-warning: #f59e0b;--color-warning-bright: #ff9500;--color-warning-soft: #fffbeb;--color-warning-border: #fde68a;--color-warning-text: #92400e;--color-danger: #dc2626;--color-danger-bright: #ff3b30;--color-danger-soft: #fee2e2;--color-danger-border: #fecaca;--color-danger-text: #991b1b;--color-danger-focus: rgba(220, 38, 38, .15);--status-active: var(--color-success-bright);--status-ok: var(--color-success-bright);--status-moving: #198754;--status-stopped: #6c757d;--status-at-depot: #3d82c4;--status-suspended: var(--color-warning-bright);--status-cancelled: var(--color-danger-bright);--status-expired: var(--color-text-muted);--status-repair: var(--color-warning);--status-overdue: var(--color-danger);--status-draft: #64748b;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--font-size-2xs: 10px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 13px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 26px;--font-size-3xl: 30px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.15;--line-height-normal: 1.5;--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 40px;--space-3xl: 40px;--space-control-gap: 12px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-card: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .06);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12), 0 2px 6px rgba(0, 0, 0, .06);--shadow-xl: 0 18px 48px rgba(10, 11, 22, .28);--shadow-press: 0 1px 2px rgba(0, 0, 0, .1) inset;--shadow-primary: 0 8px 18px rgba(37, 99, 235, .2);--motion-duration-fast: .12s;--motion-duration-base: .18s;--motion-duration-slow: .3s;--motion-duration-operational-fade: .24s;--motion-duration-kpi-reveal: .26s;--motion-duration-dashboard-reveal: .42s;--motion-duration-route-trace: 1.2s;--motion-duration-telemetry-pulse: 1.4s;--motion-step-delay-operational: 70ms;--motion-ease-standard: ease;--motion-ease-out: cubic-bezier(.16, 1, .3, 1);--motion-ease-in-out: cubic-bezier(.42, 0, .58, 1);--motion-ease-operational: cubic-bezier(.2, 0, .2, 1);--chart-primary: var(--brand-signal);--chart-secondary: var(--color-success-bright);--chart-tertiary: #6366f1;--chart-warning: var(--color-warning-bright);--chart-danger: var(--color-danger-bright);--chart-grid: #e5e5ea;--chart-axis: var(--color-text-muted);--chart-fill-primary: rgba(94, 155, 252, .25);--map-surface-bg: var(--color-canvas-subtle);--map-overlay-bg: rgba(255, 255, 255, .94);--map-overlay-border: var(--color-border-light);--map-route: var(--color-primary);--map-route-muted: var(--color-info);--map-marker: var(--color-info-hover);--map-marker-border: #ffffff;--map-route-width: 4px;--map-route-selected-width: 6px;--map-marker-size: 28px;--map-checkpoint-size: 24px;--map-moving: var(--status-moving);--map-stopped: var(--status-stopped);--map-at-depot: var(--status-at-depot);--telemetry-live-color: var(--color-success);--telemetry-offline-color: var(--color-text-tertiary);--table-header-bg: var(--color-surface-subtle);--table-row-hover-bg: var(--color-info-soft);--table-row-selected-bg: var(--color-primary-soft);--table-border: var(--color-border-light);--table-text-primary: var(--color-text);--table-text-secondary: var(--color-text-tertiary);--table-row-height-compact: 40px;--table-row-height-default: 52px;--table-row-height-comfortable: 64px;--dashboard-card-bg: var(--color-surface);--dashboard-card-border: var(--color-border-light);--dashboard-card-radius: var(--radius-sm);--dashboard-gap: var(--space-md);--dashboard-panel-bg: var(--color-surface);--kpi-value-color: var(--color-text-strong);--kpi-label-color: var(--color-text-tertiary);--kpi-positive: var(--color-success-text);--kpi-negative: var(--color-danger-text);--kpi-neutral: var(--color-text-secondary);--modal-bg: var(--color-surface);--modal-border: var(--color-border-light);--drawer-bg: var(--color-surface);--timeline-line: var(--color-border-light);--timeline-completed: var(--color-success);--timeline-current: var(--color-primary);--timeline-pending: var(--color-text-tertiary);--activity-feed-gap: var(--space-md);--workflow-stage-radius: var(--radius-sm);--control-height-sm: 32px;--control-height-md: 38px;--control-height-lg: 46px;--control-padding-x: 12px;--control-border: var(--color-border);--control-border-hover: var(--color-text-tertiary);--control-focus-ring: 0 0 0 3px var(--color-primary-muted);--control-bg: var(--color-surface);--control-bg-disabled: var(--color-surface-muted);--button-primary-bg: var(--color-primary);--button-primary-bg-hover: var(--color-primary-hover);--button-secondary-bg: var(--color-surface);--button-danger-bg: var(--color-danger);--icon-size-xs: 14px;--icon-size-sm: 16px;--icon-size-md: 20px;--icon-size-lg: 24px;--icon-stroke-width: 1.875;--color-platform-primary: var(--brand-signal);--color-platform-primary-hover: var(--brand-signal-hover);--color-brainfab-bg: var(--brand-midnight-soft);--color-brainfab-bg-soft: var(--brand-steel);--color-brainfab-text: var(--brand-ink);--color-brainfab-accent: var(--brand-route);--color-brainfab-primary: var(--brand-primary);--color-brainfab-primary-hover: var(--brand-primary-hover);--color-bg: var(--color-canvas);--color-bg-subtle: var(--color-canvas-subtle);--color-error: var(--color-danger);--color-error-bg: var(--color-danger-soft);--color-error-border: var(--color-danger-border);--color-error-text: var(--color-danger-text);--color-error-focus-shadow: var(--color-danger-focus)}:root{font-family:var(--font-sans);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light;color:var(--color-text);background-color:var(--color-bg)}body{margin:0;display:flex;min-width:320px;min-height:100vh;background:linear-gradient(165deg,#fff,#f8f9fa 44%,#f1f3f4);background-attachment:fixed}#root{width:100%;margin:0 auto;text-align:left}.etc-icon{display:inline-block;flex-shrink:0;vertical-align:middle}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 18px;font-size:14px;font-weight:500;line-height:1.2;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:transform .12s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease;box-shadow:0 1px 2px #1d1f4814;min-height:44px}.btn:hover{box-shadow:0 6px 18px #1d1f481f,0 1px 2px #1d1f480f}.btn:active{transform:scale(.98);box-shadow:var(--shadow-press)}.btn-primary{background:linear-gradient(180deg,#2a62e8 0%,var(--color-brainfab-primary) 100%);color:#fff;border-color:#2256d933}.btn-primary:hover{background:linear-gradient(180deg,var(--color-brainfab-primary) 0%,var(--color-brainfab-primary-hover) 100%)}.btn-secondary{background:linear-gradient(180deg,#fff,#f8f9fa);color:var(--color-text);border:1px solid var(--color-border-light)}.btn-secondary:hover{background:#fff;border-color:var(--color-border)}.card,.placeholder-page{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light)}.card:active,.placeholder-page:active{box-shadow:var(--shadow-sm)}.field-invalid input,.field-invalid select,.field-invalid textarea{border-color:var(--color-error)!important;background-color:#dc354508;box-shadow:0 0 0 2px #dc35451f}.field-invalid input:focus,.field-invalid select:focus,.field-invalid textarea:focus{outline:none;box-shadow:0 0 0 3px var(--color-error-focus-shadow)!important}input.error,select.error,textarea.error{border-color:var(--color-error)!important;background-color:#dc354508}input.error:focus,select.error:focus,textarea.error:focus{outline:none;box-shadow:0 0 0 3px var(--color-error-focus-shadow)!important}.form-field.field-error input,.form-field.field-error select,.form-field.field-error textarea{border-color:var(--color-error)!important;background-color:#dc354508}@media (max-width: 720px) and (orientation: landscape),(max-height: 430px) and (orientation: landscape){:where(.modal-overlay,.modal-backdrop,.confirm-dialog-overlay,.via-delete-overlay,.handover-modal-overlay,.invoice-modal-backdrop,.mechanic-modal-overlay,.address-book-modal-overlay,.geocoding-modal-overlay,.apply-tariff-modal-overlay,.approval-modal-overlay,.contract-form-overlay,.tire-modal-overlay,.sync-dialog-overlay,.rr-overlay,.overlap-modal-overlay,[class*=modalOverlay]){align-items:flex-start;box-sizing:border-box;justify-content:center;overflow-y:auto;padding:8px}:where(.modal,.modal-content,.modal-dialog,.modal-box,.modal-card,.table-settings-modal,.confirm-dialog,.via-delete-dialog,.handover-modal,.invoice-modal-card,.mechanic-modal,.address-book-modal,.address-view-modal,.address-info-modal,.bulk-check-modal,.le-form-modal,.tariff-templates-modal,.tp-modal,.geocoding-modal-box,.apply-tariff-modal-dialog,.approval-modal,.contract-form-modal,.tire-modal,.sync-dialog,.rr-modal,.overlap-modal-box,[class*=modalOverlay]>[class*=modal]){box-sizing:border-box;max-height:calc(100svh - 16px);overflow-y:auto;padding:12px}:where(.modal-header,.address-book-modal-header,.geocoding-modal-header,.rr-modal-header,.slot-modal-header,.recalc-modal-header){margin-bottom:8px;padding-bottom:8px}:where(.modal-body,.geocoding-modal-body,.sync-dialog-body,.rr-modal-body,.slot-modal-body,.recalc-modal-body,.overlap-modal-body){margin-bottom:8px}:where(.modal-footer,.modal-actions,.confirm-dialog-actions,.handover-modal-actions,.invoice-modal-footer,.mechanic-modal-actions,.geocoding-modal-footer,.apply-tariff-modal-actions,.approval-modal-footer,.tire-modal-footer,.sync-dialog-actions,.rr-modal-footer,.overlap-modal-footer,[class*=modalActions],[class*=modalFooter]){background:#fff;bottom:0;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:8px;position:sticky;z-index:1}}.form-field.field-error input:focus,.form-field.field-error select:focus,.form-field.field-error textarea:focus{outline:none;box-shadow:0 0 0 3px var(--color-error-focus-shadow)!important}.field-error-msg,.error-text,.field-error-inline{color:var(--color-error);font-size:12px;margin-top:4px;display:block;line-height:1.4}.error-banner,.form-error-banner,.error-message{background:var(--color-error-bg);color:var(--color-error-text);border:1px solid var(--color-error-border);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:14px;line-height:1.5}.back-link{display:inline-block;font-size:.875rem;color:#6b7280;text-decoration:none;background:none;border:none;padding:0;cursor:pointer;transition:color .15s}.back-link:hover{color:var(--color-info-hover)}.header-left{display:flex;flex-direction:column;gap:6px}.driver-suggestion-hint{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;font-size:.875rem;margin-bottom:12px}.driver-suggestion-found{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.driver-suggestion-loading{background:#f9fafb;border:1px solid #e5e7eb;color:#6b7280}.driver-suggestion-clear{margin-left:auto;background:none;border:1px solid var(--color-success);border-radius:5px;color:var(--color-success);font-size:.8rem;padding:2px 10px;cursor:pointer;transition:background .15s}.driver-suggestion-clear:hover{background:#dcfce7}@media (max-width: 640px){#root table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#root th,#root td{white-space:nowrap}}
