.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(165deg,#5e5ce6,#4a48c9 40%,#3634a3)}.login-container{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff1a;padding:40px;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:28px}.login-header h1{font-size:28px;font-weight:600;color:var(--color-text);margin:0 0 8px}.login-header p{color:var(--color-text-secondary);margin:0;font-size:14px}.login-form h2{font-size:20px;font-weight:600;margin:0 0 20px;color:var(--color-text);text-align:center}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--color-text);font-weight:500;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:16px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;background:var(--color-surface)}.form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.form-group input:disabled{background:var(--color-bg-subtle);cursor:not-allowed}.form-group-checkbox{margin-bottom:16px}.form-group-checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.form-group-checkbox input[type=checkbox]{width:auto;margin:0;flex-shrink:0}.login-consent label{align-items:flex-start;font-size:13px;color:var(--color-text-secondary);line-height:1.45}.login-consent label.login-consent-required{color:var(--color-text)}.login-consent a{color:var(--color-accent);text-decoration:none}.login-consent a:hover{text-decoration:underline}.login-button{width:100%;padding:14px;background:linear-gradient(180deg,#007aff,#0051d5);color:#fff;border:none;border-radius:var(--radius-sm);font-size:16px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease;box-shadow:var(--shadow-sm);min-height:48px}.login-button:hover:not(:disabled){box-shadow:var(--shadow-md)}.login-button:active:not(:disabled){transform:scale(.99);box-shadow:0 1px 2px #00000026 inset}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#ff3b301a;color:#c33;padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:20px;font-size:14px;border:1px solid rgba(255,59,48,.25)}.login-hint{margin:20px 0 0;font-size:13px;color:var(--color-text-tertiary);text-align:center}.login-hint a{color:var(--color-accent);text-decoration:none}.login-hint a:hover{text-decoration:underline}.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-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:#dc2626}.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:#dc2626;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:#1d4ed8}.role-supplier{background:#dcfce7;color:#166534}.role-carrier{background:#fef3c7;color:#92400e}.role-none{background:#f3f4f6;color:#9ca3af}.exclusive-badge{margin-left:6px;color:#f59e0b;font-size:13px}.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:#007aff}.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}}.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-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}.reliability-warning{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;padding:10px 14px;background:#fff8f0;border:1px solid #f59e0b;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 #f59e0b;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:#dc2626;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: 768px){.client-create-page .form-row,.form-row{grid-template-columns:1fr;gap:0}.form-section{padding:20px}.client-create-page .form-actions,.form-actions{flex-direction:column;padding:15px 20px}.client-create-page .btn{width:100%}.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:#f59e0b}.star-btn:hover,.star-btn:focus{color:#f59e0b;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}.requests-list-page{padding:20px}.filter-group select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:200px}.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{color:#6c757d;font-weight:700}.status-processing{background:#fff3e0;color:#f57c00}.status-converted{background:#e8f5e9;color:#388e3c}.btn-link{color:#007bff;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}.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:#2563eb;background:#eff6ff}.print-option input[type=radio]{accent-color:#2563eb}.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:#3b82f6;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}}.orders-list-page{padding:20px}.page-header h1{margin:0;font-size:28px;font-weight:600}.page-header-actions{display:flex;gap:10px;align-items:center}.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,.filter-group input[type=text],.filter-group input[type=date]{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:140px}.filter-group input[type=text]{min-width:160px}.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{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.orders-table{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-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}.route-cell{display:flex;flex-direction:column;gap:4px;font-size:13px;align-items:flex-start}.route-arrow{color:#6c757d;font-weight:700;margin-left:8px}.dates-cell{display:flex;flex-direction:column;gap:4px;font-size:13px}.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}.loading{text-align:center;padding:40px;color:#6c757d}.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}.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}.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}.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-field-inner input:focus,.address-input-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.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-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:#2563eb}.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:#f59e0b;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:#3b82f6;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:#16a34a;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-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:#1d4ed8}.address-input-error{display:flex;align-items:flex-start;gap:4px;margin-top:4px;font-size:13px;color:#dc2626;line-height:1.4}.address-input-error-icon{flex-shrink:0;font-size:13px;line-height:1.4}.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:#3b82f6;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:#2563eb}.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:center;gap:6px;justify-content:space-between}.address-suggestion-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}.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{border:1px solid #d1d5db;border-radius:8px;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-icon{background:none!important;border:none!important}.route-marker-flag{position:relative;width:32px;height:42px;display:flex;align-items:flex-start;justify-content:center}.route-marker-flag:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:28px;height:28px;background:#2563eb;border-radius:50% 50% 50% 0;transform:translate(-50%) rotate(-45deg);box-shadow:0 2px 6px #0000004d}.route-marker-flag span{position:relative;z-index:1;color:#fff;font-weight:700;font-size:13px;line-height:28px;text-align:center;width:28px}.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:#111827}.route-marker-tooltip-coords{margin-top:3px;font-size:11px;color:#6b7280;font-family:monospace}.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:#1e40af}.route-map-duration{color:#6b7280;font-size:14px}.route-map-apply-btn{font-size:13px;padding:4px 12px}.route-map-error{color:#dc2626;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 #d1d5db;border-top-color:#2563eb;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:#fff;border:1px solid #d1d5db;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 12px #0000001f;list-style:none;margin:0;padding:0}.address-suggestions li{padding:8px 12px;font-size:13px;cursor:pointer;border-bottom:1px solid #f3f4f6;line-height:1.4;color:#374151}.address-suggestions li:last-child{border-bottom:none}.address-suggestions li:hover{background:#eff6ff;color:#1e40af}.gps-fuel-marker{font-size:20px;line-height:28px;text-align:center;cursor:pointer;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));-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:#1f2937}.gps-fuel-popup-time{color:#6b7280;font-size:11px;margin-top:2px}.gps-km-badge{position:absolute;bottom:12px;left:12px;z-index:1000;background:#ffffffeb;border:1px solid #d1d5db;border-radius:8px;padding:4px 10px;font-size:13px;font-weight:600;color:#2563eb;box-shadow:0 1px 4px #00000026;pointer-events:none}.map-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#0000008c;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:#fff;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 48px #00000047}.map-picker-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.map-picker-title{font-size:15px;font-weight:600;color:#111827;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-picker-mode-tabs{display:flex;gap:4px;background:#e5e7eb;border-radius:8px;padding:3px;flex-shrink:0}.map-picker-tab{padding:5px 14px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;color:#6b7280;background:transparent;transition:background .15s,color .15s}.map-picker-tab:hover{color:#374151;background:#fff9}.map-picker-tab--active{background:#fff;color:#1d4ed8;box-shadow:0 1px 3px #0000001f}.map-picker-close{flex-shrink:0;width:32px;height:32px;border:none;background:none;border-radius:6px;font-size:18px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.map-picker-close:hover{background:#f3f4f6;color:#111827}.map-picker-hint{padding:6px 16px;font-size:12px;color:#6b7280;background:#f0f9ff;border-bottom:1px solid #bae6fd;flex-shrink:0}.map-picker-map{flex:1;position:relative;min-height: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:drop-shadow(0 1px 3px rgba(0,0,0,.3))}.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:#2563eb;border-radius:50% 50% 50% 0;transform:translate(-50%) rotate(-45deg);box-shadow:0 3px 10px #2563eb73;transition:background .15s}.map-picker-marker-pin:active:before{background:#1d4ed8;cursor:grabbing}.map-picker-marker-pin span{position:relative;z-index:1;color:#fff;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 #e5e7eb;background:#fff;flex-shrink:0;min-height:72px}.map-picker-panel-address{flex:1;font-size:13px;color:#111827;line-height:1.4;min-width:0}.map-picker-panel-coords{font-size:11px;color:#9ca3af;font-family:monospace;white-space:nowrap}.map-picker-panel-hint{flex:1;font-size:13px;color:#9ca3af;font-style:italic}.map-picker-geocoding{color:#6b7280;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:#9ca3af;border-radius:50% 50% 50% 0;transform:translate(-50%) rotate(-45deg);box-shadow:0 2px 5px #00000040}.map-picker-other-marker-pin span{position:relative;z-index:1;color:#fff;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 #d1d5db;border-radius:6px;background:#f9fafb;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;margin-left:4px;padding:0}.btn-map-picker:hover{background:#eff6ff;border-color:#93c5fd}.btn-map-picker--active{background:#eef2ff;border-color:#6366f1;box-shadow:0 0 0 2px #6366f140}.order-detail-page{padding:20px;max-width:900px;margin:0 auto;color:#212529}.order-detail-loading{padding:40px;text-align:center;color:#212529}.order-detail-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.order-detail-page .page-header h1{margin:0 0 5px;color:#212529;font-size:28px}.order-subtitle{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}.order-detail-dates-hint{margin:0 0 1rem;padding:0;font-size:.875rem;color:#6c757d}.order-detail-page .header-actions{display:flex;gap:10px}.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-label{font-weight:500;font-size:14px;color:#495057;margin-right:4px}.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}.order-result-card-title{margin:0 0 16px;font-size:18px;font-weight:600;color:#0d6efd}.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%;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-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}.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}.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-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}.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:6px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid #dee2e6}.order-detail-page .btn-secondary{background:#fff;color:#495057}.order-detail-page .btn-secondary:hover{background:#f8f9fa}.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}.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-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}.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-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:#1d4ed8;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:#1d4ed8;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}.btn-save-bottom{padding:12px 32px;font-size:16px}.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}@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 #f59e0b;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 #f59e0b;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}.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:#1d4ed8;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:#dc2626}.inter-terminal-delta-pos{color:#16a34a}.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}.order-create-page{padding:2rem;max-width:1200px;margin:0 auto}.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:#3b82f6;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-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}.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:#dc2626}.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:#dc2626}.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}.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 #f59e0b;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:#1d4ed8;cursor:pointer;-webkit-user-select:none;user-select:none}.container-toggle-label input[type=checkbox]{width:17px;height:17px;accent-color:#3b82f6;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:#1d4ed8;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:#1d4ed8}.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 #3b82f6;background:#f8faff}.form-section--container h2{color:#1d4ed8}.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:#3b82f6}.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}@media (max-width: 768px){.order-create-page{padding:1rem}.order-form .form-row{grid-template-columns:1fr}.order-create-page .page-header{flex-direction:column;align-items:flex-start;gap:1rem}}.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:hidden}.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:#3b82f6;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.link-button:hover{color:#2563eb}.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: 768px){.assignments-list-page{padding:1rem}.assignments-table-container{overflow-x:auto}.assignments-table{min-width:800px}}.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:#3b82f6;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:#1d4ed8}.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:#3b82f6;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}}.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 #3b82f6}.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:#3b82f6;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:#3b82f6;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.waybills-list-page .link-button:hover{color:#2563eb}.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:#2563eb}.waybills-list-page .handover-badge--returned{background:#d1fae5;color:#059669}.waybills-list-page .handover-badge--lost{background:#fee2e2;color:#dc2626}.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-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:#3b82f6;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.waybill-detail-page .link-button:hover{color:#2563eb}.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:#2563eb}.handover-badge--returned{background:#d1fae5;color:#059669}.handover-badge--lost{background:#fee2e2;color:#dc2626}.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:#3b82f6;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:#dc2626}.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:#dc2626;margin-bottom:1rem;padding:.75rem;background:#fef2f2;border-radius:6px}@media (max-width: 600px){.waybill-form .form-row.two-cols{grid-template-columns:1fr}}.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:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.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-block;margin-left:4px;font-size:.75em}.sort-icon--idle{color:#d1d5db}.sort-icon--active{color:#007bff}.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}.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}.vtype-value-with-icon{display:inline-flex;align-items:center;gap:10px}.vtype-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:48px;height:24px;flex-shrink:0;color:#374151}.vtype-icon{width:48px;height:24px;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:#dc2626;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:#1d4ed8}.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:#1d4ed8}.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, #007aff);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, #007aff);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:#2563eb;text-decoration:underline;font-weight:500}.modal-tractor-link:hover{color:#1d4ed8}.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:#3b82f6;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:#dc2626;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:#1d4ed8;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:#3b82f6;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:#dc2626}.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:#1d4ed8;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:#1d4ed8;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:#2563eb;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:#2563eb;background:#f0f5ff}.driver-consent-item--error{border-color:#dc2626;background:#fff5f5}.driver-consent-item__checkbox{margin-top:2px;width:16px;height:16px;accent-color:#2563eb;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:#dc2626;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:#dc2626;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:#1d4ed8}.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:#2563eb;border:1.5px solid #2563eb}.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:#2563eb;text-decoration:none}.detail-item dd a:hover{text-decoration:underline}.text-danger{color:#dc2626;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:#2563eb;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:#1d4ed8}.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:#dc2626;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:#3b82f6;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}.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-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-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-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}.address-book-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{margin:0;font-size:28px;font-weight:600;color:#1a1a1a}.page-header-actions{display:flex;align-items:center;gap:16px}.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-radius:8px;padding:16px 20px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:12px}.filters-form{display:flex;gap:10px;align-items:center}.filters-row{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px;flex:0 0 auto}.filter-group label{white-space:nowrap;font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.filter-select{width:160px;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;flex:1 1 auto;min-width:0}.filter-bbox-fields{display:flex;gap:6px;flex-wrap:wrap;min-width:0}.filter-input-small{flex:1 1 70px;min-width:0;width:70px;max-width:110px;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:200px}.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{margin-top:auto;align-self:flex-end}.filter-search{flex-direction:row!important;align-items:center;gap:8px}.filter-search .filter-input{min-width:240px;flex:1}.filters-actions-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:4px;border-top:1px solid #f0f0f0}.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-radius:8px;overflow-x:auto;overflow-y:visible;box-shadow:0 1px 3px #0000001a;-webkit-overflow-scrolling:touch}.addresses-table{width:100%;min-width:900px;border-collapse:collapse;table-layout:auto}.addresses-table thead{background:#f5f5f5}.addresses-table th{padding:10px 0 10px 12px;text-align:left;font-weight:600;font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid #e0e0e0;overflow:hidden}.addresses-table td{padding:12px;border-bottom:1px solid #f0f0f0;vertical-align:top;font-size:13px}.addresses-table tbody tr:hover{background:#f9f9f9}.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-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 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 .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{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;box-sizing:border-box}.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-text-link{background:none;border:none;padding:0;margin:0;font-size:14px;font-weight:500;color:#2563eb;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:#1d4ed8;text-decoration-color:#1d4ed8}.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:#1d4ed8;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:#2563eb;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:#2563eb}.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:#f59e0b;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;justify-content:flex-end;margin-bottom:6px}.btn-reset-cols{background:none;border:1px solid #d1d5db;border-radius:5px;padding:4px 10px;font-size:12px;color:#6b7280;cursor:pointer;transition:background .15s,color .15s}.btn-reset-cols:hover{background:#f3f4f6;color:#374151}.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:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.bulk-check-modal{background:#fff;border-radius:12px;padding:24px 28px;display:flex;flex-direction:column;gap:10px;min-width:300px;max-width:380px;box-shadow:0 8px 32px #0000001f}.bulk-check-modal h3{margin:0 0 6px;font-size:16px;font-weight:600;color:#111827}.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}.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:#dc2626;font-weight:500}.conflict-cell-new{color:#16a34a;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 #3b82f6}.mechanic-kpi-value{font-size:2rem;font-weight:700;color:#1e293b;line-height:1;margin-bottom:6px}.mechanic-kpi-value--danger{color:#dc2626}.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:#dc2626;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 #f59e0b;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}.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:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s}.mechanic-btn:hover:not(:disabled){background:#2563eb}.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-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:#3b82f6;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:#16a34a;color:#166534}.mechanic-check-btn--issue.active{background:#fee2e2;border-color:#dc2626;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:#16a34a}.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:#3b82f6;color:#3b82f6}.mechanic-period-btn--active{background:#3b82f6;border-color:#3b82f6;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}}.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:#3b82f6;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:#dc2626}.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 #f59e0b}.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 #f59e0b}.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:#3b82f6;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:#3b82f6;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:#dc2626;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:#16a34a;background:#dcfce7}.schedule-cell.planned{color:#3b82f6;background:#dbeafe}.schedule-cell.absent{color:#dc2626;background:#fee2e2}.schedule-cell.sick{color:#f59e0b;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:#16a34a}.legend-mark.planned{background:#dbeafe;color:#3b82f6}.legend-mark.absent{background:#fee2e2;color:#dc2626}.legend-mark.sick{background:#fef3c7;color:#f59e0b}.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:#3b82f6;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:#3b82f6;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:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.list-action-btn:hover{background:#2563eb;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:#3b82f6;color:#3b82f6}.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:#3b82f6;color:#3b82f6}.sync-btn:disabled{opacity:.5;cursor:not-allowed}.sync-btn.syncing{background:#dbeafe;border-color:#3b82f6;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}.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}.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}.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}.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:#3b82f6;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:#3b82f6;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:#3b82f6;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:#2563eb;box-shadow:0 2px 8px #3b82f640}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-danger-outline{background:none;border:1px solid #ef4444;color:#dc2626;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}.hub-page{max-width:900px;margin:0 auto;padding-bottom:40px}.hub-header{background:#fff;padding:24px 30px;border-radius:14px;box-shadow:0 2px 10px #00000014;margin-bottom:24px}.hub-header__title{margin:0 0 6px;color:#1a1a2e;font-size:26px;font-weight:700}.hub-header__subtitle{margin:0;color:#888;font-size:14px}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px}.hub-grid--single{grid-template-columns:1fr;max-width:500px}.hub-card{display:flex;align-items:center;gap:16px;background:#fff;border-radius:14px;padding:20px 22px;box-shadow:0 2px 10px #00000012;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;border:1px solid transparent}.hub-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001c;border-color:#e0e8f5}.hub-card:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.hub-card__icon{font-size:32px;flex-shrink:0;width:48px;text-align:center}.hub-card__body{flex:1;min-width:0}.hub-card__title{margin:0 0 4px;font-size:16px;font-weight:600;color:#1a1a2e}.hub-card__desc{margin:0;font-size:13px;color:#666;line-height:1.45}.hub-card__arrow{font-size:22px;color:#bbb;flex-shrink:0;transition:color .15s}.hub-card:hover .hub-card__arrow{color:#4a90e2}.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:#007aff;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:#007aff;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:#007aff;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}.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}.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}.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:#16a34a;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:#3b82f6;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:#1d4ed8;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:#16a34a}.status-badge--inactive{background:#fef2f2;color:#dc2626}.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:#2563eb;color:#fff;box-shadow:0 1px 3px #2563eb4d}.btn-primary:hover{background:#1d4ed8}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn-danger{background:#dc2626;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:#3b82f6;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:#dc2626;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:#1d4ed8}.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:#3b82f6}.perm-cell--grant{background:#d1fae5;color:#059669;font-weight:700}.perm-cell--deny{background:#fee2e2;color:#dc2626;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:#1d4ed8;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:#1d4ed8;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-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}.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:#dc2626}.layout{display:flex;flex-direction:row;min-height:100vh}.layout-sidebar{width:240px;min-width:240px;height:100vh;position:sticky;top:0;background:linear-gradient(180deg,#5e5ce6,#4a48c9,#3634a3);color:#fff;display:flex;flex-direction:column;box-shadow:2px 0 12px #0000001f,1px 0 3px #0000000f;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:600;margin:0;padding:20px;border-bottom:1px solid rgba(255,255,255,.15)}.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:#ffffffa6;padding:8px 20px;margin-bottom:4px;position:sticky;top:0;z-index:10;background:linear-gradient(180deg,#5e5ce6,#4a48c9,#3634a3)}.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:linear-gradient(180deg,#5e5ce6,#4a48c9,#3634a3);z-index:-1}.nav-section-toggle:hover{background-color:#ffffff1f}.nav-section-icon{font-size:10px;color:#ffffffb3;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:12px 20px;color:#fffffff2;text-decoration:none;transition:background-color .15s,border-left-color .15s;font-size:15px;border-left:3px solid transparent;min-height:44px;box-sizing:border-box}.nav-link:hover{background-color:#ffffff1a}.nav-link.active{background-color:#ffffff2e;border-left-color:#fff}.nav-icon{font-size:18px;flex-shrink:0}.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:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border);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:var(--shadow-sm);min-height:40px}.logout-button:hover{background:var(--color-border-light);box-shadow:var(--shadow-md)}.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: 768px){.layout-header{justify-content:space-between}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;font-size:22px;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%}}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff3cd;border-bottom:2px solid #ff9500;padding:10px 20px;font-size:14px;color:#7a4f00;flex-wrap:wrap}.impersonation-end-btn{padding:6px 16px;background:#ff9500;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{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg: #f2f2f7;--color-bg-subtle: #e8e8ed;--color-surface: #ffffff;--color-text: #1c1c1e;--color-text-secondary: #3a3a3c;--color-text-tertiary: #8e8e93;--color-border: #c6c6c8;--color-border-light: #e5e5ea;--color-accent: #007aff;--color-accent-hover: #0051d5;--color-accent-muted: rgba(0, 122, 255, .12);--color-error: #dc3545;--color-error-bg: #f8d7da;--color-error-border: #f5c6cb;--color-error-text: #721c24;--color-error-focus-shadow: rgba(220, 53, 69, .15);--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 4px 16px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06);--shadow-press: 0 1px 2px rgba(0, 0, 0, .1) inset;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;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,#f5f5f9,#ebeef2,#f2f2f7);background-attachment:fixed}#root{width:100%;margin:0 auto;text-align:left}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 20px;font-size:15px;font-weight:500;line-height:1.2;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:transform .12s ease,box-shadow .2s ease,background-color .2s ease;box-shadow:var(--shadow-sm);min-height:44px}.btn:hover{box-shadow:var(--shadow-md)}.btn:active{transform:scale(.98);box-shadow:var(--shadow-press)}.btn-primary{background:linear-gradient(180deg,#007aff,#0051d5);color:#fff}.btn-primary:hover{background:linear-gradient(180deg,#0051d5,#0041b3)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-subtle);border-color:var(--color-text-tertiary)}.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}.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:#2563eb}.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 #16a34a;border-radius:5px;color:#16a34a;font-size:.8rem;padding:2px 10px;cursor:pointer;transition:background .15s}.driver-suggestion-clear:hover{background:#dcfce7}
