:root{--gray-50: #f7f8fa;--gray-100: #eef0f3;--gray-200: #e2e5ea;--gray-300: #cbd0d8;--gray-400: #9aa1ac;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--color-bg: var(--gray-50);--color-card: #ffffff;--color-border: var(--gray-200);--color-text: var(--gray-800);--color-text-muted: var(--gray-500);--color-accent: #185fa5;--color-accent-hover: #0c447c;--color-accent-wash: #e6f1fb;--color-danger: #b23b3b;--color-danger-wash: #fbebeb;--color-success: #2f7a4f;--color-success-wash: #e7f4ec;--radius: 10px;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 8px rgba(0, 0, 0, .04)}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.btn-primary{background:var(--color-accent);color:#fff;border:none;border-radius:8px;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;cursor:pointer}.btn-primary:hover{background:var(--color-accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-success,.btn-danger{border:none;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;color:#fff;cursor:pointer;white-space:nowrap}.btn-success{background:var(--color-success)}.btn-success:hover:not(:disabled){background:#245f3f}.btn-danger{background:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#8f2f2f}.btn-success:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-success-compact,.btn-danger-compact{padding:.3rem .65rem;font-size:.78rem}.input{border:1px solid var(--color-border);border-radius:8px;padding:.6rem .75rem;font-size:.95rem;width:100%}.input:focus{outline:2px solid var(--color-accent);outline-offset:1px}table.data-table{width:100%;border-collapse:collapse}table.data-table th{text-align:left;color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;padding:.6rem .75rem;border-bottom:1px solid var(--color-border)}table.data-table td{padding:.75rem;border-bottom:1px solid var(--color-border);font-size:.9rem}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge-active{background:var(--color-success-wash);color:var(--color-success)}.badge-inactive{background:var(--color-danger-wash);color:var(--color-danger)}.badge-neutral,.badge-assigned,.badge-maintenance,.badge-deleted,.badge-scope-vehicle,.badge-scope-driver,.badge-scope-company,.badge-recurring,.badge-one-off{background:var(--gray-100);color:var(--gray-600)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;border:1px solid var(--color-border);background:#fff;color:var(--gray-500);cursor:pointer}.icon-btn:hover:not(:disabled){background:var(--gray-50);color:var(--color-text)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn-danger:hover:not(:disabled){background:var(--color-danger-wash);color:var(--color-danger);border-color:#eccaca}.grid-cell-wrap{min-width:0;overflow-wrap:anywhere}.grid-cell-clamp-2{min-width:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin-bottom:1.5rem}.metric-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:.9rem 1.1rem}.metric-card-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 .35rem}.metric-card-value{font-size:18px;font-weight:500;color:var(--color-text);margin:0}.row-card-list{display:flex;flex-direction:column;gap:.5rem}.row-card{display:grid;grid-template-columns:var(--row-card-columns, 1fr);align-items:center;gap:.75rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;font-size:.9rem}.row-card-header{display:grid;grid-template-columns:var(--row-card-columns, 1fr);gap:.75rem;padding:0 1rem;margin-bottom:.5rem;color:var(--color-text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.row-card-actions{display:flex;gap:.4rem;justify-content:flex-end}.avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:var(--color-accent-wash);color:var(--color-accent);font-size:.75rem;font-weight:700;flex-shrink:0}.app-hamburger-btn,.app-sidebar-backdrop{display:none}@media (max-width: 860px){.app-hamburger-btn{display:inline-flex}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:40;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow)}.app-sidebar-open .app-sidebar{transform:translate(0)}.app-sidebar-open .app-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:30}.app-main{min-width:0}}.flat-table-container{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.mobile-row-card{display:none}@media (max-width: 700px){.flat-table-desktop{display:none!important}.flat-table-container{border:none;border-radius:0;overflow:visible}.mobile-row-card{display:block;border:1px solid var(--color-border);border-radius:10px;padding:.9rem 1rem;margin-bottom:.75rem;background:var(--color-card)}.mobile-row-card-field{display:flex;justify-content:space-between;gap:.75rem;padding:.35rem 0;border-top:1px dotted var(--color-border);font-size:.85rem}.mobile-row-card-field:first-of-type{border-top:none}.mobile-row-card-field .label{color:var(--color-text-muted);flex-shrink:0}.mobile-row-card-field .value{text-align:right;min-width:0;overflow-wrap:anywhere}}.merge-icon-wrap{position:relative;display:inline-flex;outline:none}.merge-tooltip{position:absolute;bottom:calc(100% + 6px);right:0;background:var(--gray-800);color:#fff;padding:.45rem .65rem;border-radius:6px;font-size:.75rem;line-height:1.3;white-space:normal;width:max-content;max-width:260px;opacity:0;visibility:hidden;transform:translateY(2px);transition:opacity .12s,transform .12s;z-index:30;box-shadow:var(--shadow);pointer-events:none}.merge-tooltip strong{font-weight:700}.merge-icon-wrap:hover .merge-tooltip,.merge-icon-wrap:focus-visible .merge-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.searchable-select{position:relative;width:100%}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#fff;text-align:left;cursor:pointer}.searchable-select-trigger:disabled{opacity:.6;cursor:not-allowed}.searchable-select-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-placeholder{color:var(--color-text-muted)}.searchable-select-panel{position:fixed;z-index:1000;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow),0 8px 24px #00000014;overflow:hidden}.searchable-select-search{display:flex;align-items:center;gap:.4rem;padding:.55rem .7rem;border-bottom:1px solid var(--color-border)}.searchable-select-search input{flex:1;border:none;outline:none;font-size:.85rem;background:transparent;color:var(--color-text)}.searchable-select-options{max-height:240px;overflow-y:auto;padding:.25rem}.searchable-select-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;text-align:left;padding:.5rem .6rem;border:none;background:transparent;border-radius:6px;font-size:.85rem;color:var(--color-text);cursor:pointer}.searchable-select-option:hover{background:var(--gray-50)}.searchable-select-option.active{background:var(--color-accent-wash);color:var(--color-accent);font-weight:600}.searchable-select-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-empty{padding:.6rem;font-size:.82rem;color:var(--color-text-muted);text-align:center}
