:root{--navy-900:#0f172a;--slate-700:#334155;--slate-600:#475569;--slate-500:#64748b;--slate-400:#94a3b8;--slate-300:#cbd5e1;--slate-200:#e2e8f0;--slate-100:#f1f5f9;--slate-50:#f8fafc;--accent:#0369a1;--accent-hover:#075985;--accent-soft:#e0f2fe;--accent-ink:#ffffff;--bg:#f6f8fb;--surface:#ffffff;--ink:#0f172a;--ink-soft:#334155;--muted:#64748b;--border:#e2e8f0;--border-strong:#cbd5e1;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#fecaca;--success:#15803d;--success-bg:#f0fdf4;--success-border:#bbf7d0;--warn:#b45309;--warn-bg:#fffbeb;--warn-border:#fde68a;--excel-green:#c6e0b4;--excel-orange:#f8cbad;--r-sm:8px;--r:12px;--r-lg:16px;--r-pill:999px;--shadow-sm:0 1px 2px rgba(2,6,23,0.06);--shadow-md:0 6px 18px rgba(2,6,23,0.08);--shadow-lg:0 16px 40px rgba(2,6,23,0.12);--ring:0 0 0 3px rgba(3,105,161,0.35);--font-sans:"Plus Jakarta Sans",-apple-system,"Segoe UI",Roboto,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-size:15px;line-height:1.55}h1,h2,h3{color:var(--ink);margin:0;line-height:1.2;letter-spacing:-.01em}h1{font-size:26px}h1,h2{font-weight:700}h2{font-size:18px}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent-soft)}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}.container{max-width:1040px;margin:0 auto;padding:28px 20px 96px}.page-head{margin:4px 0 22px}.page-head h1{display:flex;align-items:center;gap:10px}.sub{color:var(--muted);font-size:14px;margin-top:6px;max-width:65ch}.stack{flex-direction:column;gap:16px}.row,.stack{display:flex}.row{gap:12px;align-items:center;flex-wrap:wrap}.grow{flex:1 1;min-width:0}.foot,.muted{color:var(--muted)}.foot{font-size:13px}.tabnums{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.app-shell.no-nav{grid-template-columns:1fr}.app-main{min-width:0}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:8px;padding:16px 12px;border-right:1px solid var(--border);background:var(--surface)}.sidebar .brand{padding:8px 8px 18px}.sidebar-nav{display:flex;flex-direction:column;gap:16px;margin-top:4px;overflow-y:auto;flex:1 1}.sidebar-group{display:flex;flex-direction:column;gap:2px}.sidebar-group-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 8px;margin:0 0 2px}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:14px;font-weight:600;color:var(--slate-600);text-decoration:none;transition:background .15s,color .15s}.sidebar-nav a svg{flex:none}.sidebar-nav a:hover{background:var(--slate-100);color:var(--ink);text-decoration:none}.sidebar-nav a.active{background:var(--accent-soft);color:var(--accent-hover);box-shadow:inset 3px 0 0 var(--accent)}.sidebar-foot{border-top:1px solid var(--border);padding-top:10px;gap:4px}.sidebar-foot,.sidebar-user{display:flex;flex-direction:column}.sidebar-user{padding:4px 10px 8px;min-width:0}.sidebar-user-name{font-weight:700;font-size:14px;color:var(--ink)}.sidebar-user-email,.sidebar-user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:12px;color:var(--muted)}.sidebar-foot .navbtn{width:100%;justify-content:flex-start}.sidebar-toggle{display:none}@media (max-width:820px){.app-shell,.app-shell.no-nav{grid-template-columns:1fr}.sidebar{position:fixed;z-index:40;left:0;top:0;width:248px;box-shadow:var(--shadow-lg);transform:translateX(-100%);transition:transform .2s ease-out}.sidebar.open{transform:translateX(0)}.sidebar-toggle{display:inline-grid;place-items:center;position:fixed;z-index:50;top:12px;left:12px;width:40px;height:40px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border-strong);color:var(--ink-soft);box-shadow:var(--shadow-sm);cursor:pointer;transition:background .15s,color .15s}.sidebar-toggle:hover{background:var(--slate-100)}}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border)}.appbar-inner{max-width:1040px;margin:0 auto;padding:0 20px;height:58px;gap:20px}.appbar-inner,.brand{display:flex;align-items:center}.brand{gap:9px;font-weight:800;font-size:16px;color:var(--ink);letter-spacing:-.02em}.brand:hover{text-decoration:none}.brand .mark{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--navy-900);color:#fff;font-weight:800;font-size:14px}.nav{display:flex;gap:4px;margin-left:auto}.nav,.nav a{align-items:center}.nav a{display:inline-flex;gap:7px;padding:7px 12px;border-radius:var(--r-sm);font-size:14px;font-weight:600;color:var(--slate-600);transition:background .15s,color .15s}.nav a:hover{background:var(--slate-100);color:var(--ink);text-decoration:none}.nav a.active{background:var(--accent-soft);color:var(--accent-hover)}.nav a.muted-link{color:var(--slate-400)}.nav a svg{flex:none}.navbtn{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:var(--r-sm);font-size:14px;font-weight:600;color:var(--slate-600);background:none;border:none;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.navbtn:hover{background:var(--slate-100);color:var(--ink)}.navbtn svg{flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-soft);border-radius:var(--r-sm);padding:9px 15px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .05s}.btn:hover{background:var(--slate-100);border-color:var(--slate-300)}.btn:active{transform:translateY(1px)}.btn svg{flex:none}.btn-ghost{border-color:transparent;background:transparent;color:var(--accent)}.btn-ghost:hover{background:var(--accent-soft);border-color:transparent}.btn-sm{padding:6px 11px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--slate-500);cursor:pointer;transition:background .15s,color .15s}.icon-btn:hover{background:var(--slate-100);color:var(--ink)}.icon-btn.danger:hover{background:var(--danger-bg);color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm)}.card-pad{padding:18px}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:13px;font-weight:600;color:var(--ink-soft)}.hint{font-size:12px;color:var(--muted)}input[type=datetime-local],input[type=email],input[type=number],input[type=text],select{border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:9px 11px;font-size:14px;font-family:inherit;color:var(--ink);background:var(--surface);width:100%;transition:border-color .15s,box-shadow .15s}input:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:var(--ring)}input::placeholder{color:var(--slate-400)}input[type=number]{text-align:right}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:30px}.alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-sm);font-size:14px;border:1px solid}.alert svg{flex:none;margin-top:1px}.alert-error{background:var(--danger-bg);color:#991b1b;border-color:var(--danger-border)}.alert-ok{background:var(--success-bg);color:#166534;border-color:var(--success-border)}.alert-warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.alert-info{background:var(--accent-soft);color:var(--accent-hover);border-color:#bae6fd}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--r-pill);letter-spacing:.02em;text-transform:uppercase}.badge-new{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-border)}.badge-soon{color:var(--slate-500)}.badge-soon,.chip{background:var(--slate-100);border:1px solid var(--border)}.chip{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);border-radius:var(--r-pill);padding:5px 6px 5px 13px;font-size:13px;font-weight:500}.chips{display:flex;gap:8px;flex-wrap:wrap}.stepper{display:flex;gap:0;margin:22px 0 26px}.step{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;background:none;border:none;font-family:inherit;padding:0}.step:before{content:"";position:absolute;top:17px;left:-50%;width:100%;height:2px;background:var(--border);z-index:0}.step:first-child:before{display:none}.step.active:before,.step.done:before{background:var(--accent)}.step.clickable{cursor:pointer}.step .num{width:36px;height:36px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--surface);border:2px solid var(--border);font-weight:700;font-size:14px;color:var(--muted);z-index:1;transition:border-color .15s,background .15s,color .15s}.step .num svg{stroke-width:2.5}.step .lbl{font-size:12.5px;color:var(--muted);text-align:center;max-width:130px;font-weight:600}.step.active .num{border-color:var(--accent);color:var(--accent);box-shadow:var(--ring)}.step.done .num{background:var(--accent);border-color:var(--accent);color:#fff}.step.active .lbl,.step.done .lbl{color:var(--ink)}.drop{display:flex;flex-direction:column;align-items:center;gap:8px;border:2px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface);padding:48px 24px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.drop:hover{border-color:var(--slate-400)}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.drop input{display:none}.drop .drop-icon{color:var(--accent);margin-bottom:4px}.drop .big{font-size:16px;font-weight:700;color:var(--ink)}.drop .small{color:var(--muted);font-size:13px}.wiznav{display:flex;gap:12px;align-items:center;margin-top:26px;flex-wrap:wrap}.dispatch-card{display:flex;gap:14px;align-items:flex-start;padding:16px 18px}.dispatch-card .di{width:38px;height:38px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-hover);flex:none}.dispatch-card .dt{font-weight:700;font-size:14px}.dispatch-card .dd{font-size:13px;color:var(--muted);margin-top:1px}.block{padding:16px}.block .title-in{width:100%;font-weight:700;font-size:15px;margin-bottom:12px;border:1px solid transparent;background:var(--slate-50);border-radius:var(--r-sm);padding:9px 11px}.block .title-in:hover{border-color:var(--border)}.block .title-in:focus-visible{background:var(--surface)}table{border-collapse:collapse;width:100%;font-size:14px}.tbl-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-sm)}.tbl-wrap table{border:none}td,th{border-bottom:1px solid var(--border);padding:7px 10px;text-align:left}th{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--slate-600)}td.num,th.num{text-align:right;width:84px}tr:last-child td{border-bottom:none}.preview thead th{background:var(--excel-green);color:#1f3d18;border-bottom:1px solid #aacb91}.preview tr.subtotal td{background:var(--excel-orange);font-weight:700;color:#7a3b1d}.preview tr.total td{font-weight:700;background:var(--slate-100)}.preview td input[type=text]{border:1px solid transparent;background:transparent;padding:6px 8px}.preview td input[type=text]:hover{border-color:var(--border);background:var(--surface)}.preview td input[type=number]{border:1px solid transparent;background:transparent;padding:6px 8px}.preview tr.unknown input{color:var(--danger);font-weight:600}.preview tr.unknown td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.cfg th{background:var(--slate-100);position:-webkit-sticky;position:sticky;top:0;z-index:1}.cfg input[type=text]{padding:6px 8px}.cfg tbody tr:hover td{background:var(--slate-50)}.inline-actions{display:flex;gap:8px;align-items:center;margin-top:7px;flex-wrap:wrap}.preview tr.insert-row td{padding:0;border:none;background:transparent}.preview .insert-stub{position:relative;height:6px}.preview .insert-stub:before{content:"";left:8px;right:8px;height:1px;background:var(--accent)}.preview .insert-menu,.preview .insert-stub:before{position:absolute;top:50%;opacity:0;transition:opacity .12s}.preview .insert-menu{left:50%;transform:translate(-50%,-50%);display:flex;gap:6px;padding:4px 6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-sm);pointer-events:none;z-index:2;white-space:nowrap}.preview .insert-stub:focus-within:before,.preview .insert-stub:hover:before{opacity:.5}.preview .insert-stub:focus-within .insert-menu,.preview .insert-stub:hover .insert-menu{opacity:1;pointer-events:auto}.preview .insert-menu .btn{padding:4px 9px;font-size:12px}.preview td.ro{color:var(--ink);font-weight:500;padding:6px 10px;background:var(--slate-50)}.preview td.ro.num{text-align:right}.tabs.subtabs{margin-bottom:12px}.tabs.subtabs .tab{padding:6px 12px;font-size:13px}.drops2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:720px){.drops2{grid-template-columns:1fr}}.dropzone-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin-bottom:8px}.dropzone-head svg{color:var(--accent)}.dropzone-head .count{margin-left:auto;font-size:13px;font-weight:600;color:var(--muted)}.tabs{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:18px}.tab{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;background:none;font-family:inherit;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;border-top-left-radius:var(--r-sm);border-top-right-radius:var(--r-sm)}.tab:hover{color:var(--ink);background:var(--slate-50)}.tab.active{color:var(--accent-hover);border-bottom-color:var(--accent)}.tab .warn-dot{width:7px;height:7px;border-radius:50%;background:var(--warn);flex:none}.leg-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:var(--r-pill);margin-bottom:8px}.leg-tag.dep{background:var(--accent-soft);color:var(--accent-hover)}.leg-tag.arr{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.hero{padding:24px 0 8px}.hero h1{font-size:32px}.hero .sub{font-size:16px;margin-top:10px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:16px;gap:16px;margin-top:8px}.tool-card{position:relative;display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:22px;color:var(--ink);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,transform .08s}a.tool-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none}a.tool-card:active{transform:translateY(0)}.tool-card.disabled{opacity:.65;cursor:default}.tool-card .ic{width:42px;height:42px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-hover);margin-bottom:8px}.tool-card.disabled .ic{background:var(--slate-100);color:var(--slate-400)}.tool-card .ct{font-size:18px;font-weight:700}.tool-card .cd{font-size:13.5px;color:var(--muted)}.tool-card .go{margin-top:10px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--accent)}.tool-card .soon-tag{position:absolute;top:16px;right:16px}.how{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px;margin-top:16px}.how .h{display:flex;gap:11px;align-items:flex-start}.how .h .n{width:24px;height:24px;border-radius:var(--r-pill);background:var(--navy-900);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;flex:none}.how .h .ht{font-weight:600;font-size:14px}.how .h .hs{font-size:12.5px;color:var(--muted)}.hist-date{display:flex;align-items:center;gap:8px;color:var(--slate-600);font-size:15px}.hist-date svg{color:var(--accent)}.hist-row{display:flex;align-items:center;gap:12px;padding:14px 16px}.hist-main{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:0;color:var(--ink)}.hist-main:hover{text-decoration:none}.hist-row:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.hist-label{font-weight:700;font-size:15px}.hist-meta{gap:8px;font-size:13px;color:var(--muted);flex-wrap:wrap}.hist-actions,.hist-meta{display:flex;align-items:center}.hist-actions{gap:6px;flex:none}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:64px 24px}.empty .ei{width:64px;height:64px;border-radius:var(--r-lg);display:grid;place-items:center;background:var(--slate-100);color:var(--slate-400)}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin .8s linear infinite}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:640px){.container{padding:20px 14px 80px}h1{font-size:22px}.hero h1{font-size:26px}.step .lbl{font-size:11px}.nav a span{display:none}.nav a{padding:8px}.appbar-inner{gap:10px}}.auth-main{max-width:420px;margin:0 auto;padding:8vh 20px 96px}.auth-card{padding:26px}.auth-card h1{font-size:22px}.auth-card .sub{margin:6px 0 20px}.auth-card form .btn-primary{width:100%;margin-top:4px}.user-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600}.dot{width:8px;height:8px;border-radius:50%;flex:none}.dot.on{background:var(--success)}.dot.off{background:var(--slate-400)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.crm-form{gap:14px;max-width:520px}.crm-field,.crm-form{display:flex;flex-direction:column}.crm-field{gap:4px}.crm-field>span{font-size:13px;font-weight:600}.crm-form-actions{display:flex;gap:10px;align-items:center}.field-error,.form-error{color:var(--danger);font-size:13px}.crm-table{width:100%;border-collapse:collapse}.crm-table td,.crm-table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.crm-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.empty{color:var(--muted)}.btn-danger:not(.btn),.btn-primary:not(.btn),.btn-secondary:not(.btn){display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-sm);padding:9px 15px;font-size:14px;font-weight:600;font-family:inherit;line-height:1.2;cursor:pointer;white-space:nowrap;text-decoration:none;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s,transform .05s}.btn-danger:hover,.btn-primary:hover,.btn-secondary:hover{text-decoration:none}.btn-danger:active,.btn-primary:active,.btn-secondary:active{transform:translateY(1px)}.btn-danger:disabled,.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--ink-soft)}.btn-secondary:hover{background:var(--slate-100);border-color:var(--slate-300)}.btn-danger{background:var(--surface);border-color:var(--danger-border);color:var(--danger)}.btn-danger:hover{background:var(--danger-bg);border-color:var(--danger)}.crm-toolbar h1{gap:10px}.crm-toolbar h1,.row-actions{display:flex;align-items:center}.row-actions{gap:8px;flex-wrap:wrap}.crm-search{margin-bottom:14px}.crm-search input{width:100%;max-width:320px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:14px;font-family:inherit;color:var(--ink);background:var(--surface)}.crm-search input:focus-visible{border-color:var(--accent)}.crm-detail{display:grid;grid-template-columns:max-content 1fr;grid-gap:8px 18px;gap:8px 18px;margin:18px 0 28px}.crm-detail dt{color:var(--muted);font-size:13px;font-weight:600}.crm-detail dd{margin:0;color:var(--ink);font-size:14px}.crm-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.crm-links li{padding:9px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.notes-panel{margin-top:32px;padding-top:20px;border-top:1px solid var(--border)}.notes-panel h2{display:flex;align-items:center;gap:8px;margin-bottom:12px}.notes-add{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:520px;margin-bottom:18px}.notes-add textarea{width:100%;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:14px;font-family:inherit;color:var(--ink);background:var(--surface);resize:vertical}.notes-add textarea:focus-visible{border-color:var(--accent)}.notes-add button{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}.notes-add button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.notes-add button:disabled{opacity:.5;cursor:not-allowed}.notes-list{list-style:none;margin:0;padding:0;gap:10px}.notes-list,.notes-list li.note{display:flex;flex-direction:column}.notes-list li.note{position:relative;gap:6px;padding:12px 64px 12px 14px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}.notes-list li.note.resolved{background:var(--slate-50);color:var(--muted)}.note-text{font-size:14px;white-space:pre-wrap}.note-meta{font-size:12px;color:var(--muted)}.note-actions{position:absolute;top:8px;right:8px;display:flex;gap:2px}.note-actions button{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--slate-500);cursor:pointer;transition:background .15s,color .15s}.note-actions button:hover{background:var(--slate-100);color:var(--ink)}.note-actions button:last-child:hover{background:var(--danger-bg);color:var(--danger)}.crm-form-wide{max-width:860px}.crm-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 18px;gap:14px 18px}@media (max-width:640px){.crm-form-grid{grid-template-columns:1fr}}.crm-fieldset{display:flex;flex-direction:column;gap:14px;margin:0;border:1px solid var(--border);border-radius:var(--r);padding:14px 16px}.crm-fieldset>legend{padding:0 6px;font-size:13px;font-weight:700;color:var(--ink-soft)}.crm-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.crm-filters input,.crm-filters select{border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:9px 11px;font-size:14px;font-family:inherit;color:var(--ink);background:var(--surface)}.crm-filters input:focus-visible,.crm-filters select:focus-visible{border-color:var(--accent);box-shadow:var(--ring)}.crm-filters input:not([type=date]){flex:1 1 220px;min-width:160px}.crm-filters select{flex:0 1 200px}.crm-filter-date{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}.crm-filter-date input[type=date]{width:auto;flex:none}.crm-card{border:1px solid var(--border);border-radius:var(--r);padding:18px 20px;margin-top:20px}.crm-card>h2{margin:0 0 12px;font-size:15px}.crm-card .crm-detail{margin:0}.crm-detail dd,.crm-table td,.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.crm-table td .num{display:block;text-align:right}.crm-detail dd.num,.crm-table th.num,.crm-total{text-align:right}.crm-total{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:14px;color:var(--muted)}.crm-total strong{font-size:16px;font-weight:700;color:var(--ink)}.crm-section{margin-top:28px}.crm-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.crm-section-head h2{margin:0;font-size:15px}.group-derived{margin:20px 0}.derived-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px;margin:8px 0 0}.derived-grid>div{border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:10px 12px;background:var(--surface,#fff)}.derived-grid dt{font-size:12px;color:var(--muted,#6b7280)}.derived-grid dd{margin:2px 0 0;font-size:22px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pay-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid transparent;border-radius:var(--r-pill);font-size:12px;font-weight:700}.pay-badge:before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:currentColor}.pay-placeno{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.pay-dospjelo{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.pay-neplaceno{background:var(--slate-100);border-color:var(--border);color:var(--ink-soft)}.picker{display:flex;flex-direction:column;gap:8px}.picker-finder{position:relative;max-width:360px}.picker-input{display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--slate-400);transition:border-color .15s,box-shadow .15s}.picker-input:hover{border-color:var(--slate-400)}.picker-input:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.picker-input input{flex:1 1;min-width:0;padding:9px 0;border:none;outline:none;background:transparent;color:var(--ink);font-size:14px;font-family:inherit}.picker-input input::placeholder{color:var(--slate-400)}.picker-options{position:absolute;z-index:20;left:0;right:0;margin:4px 0 0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-md);max-height:220px;overflow-y:auto}.picker-options button{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--ink);font-size:14px;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s}.picker-options button:focus-visible,.picker-options button:hover{background:var(--slate-100)}.picker-options button svg{flex:none;color:var(--accent)}.picker-chips{display:flex;flex-wrap:wrap;gap:8px}.picker-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-hover);font-size:13px;font-weight:600}.picker-chip button{display:inline-grid;place-items:center;padding:2px;border:none;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:color .15s}.picker-chip button:hover{color:var(--danger)}@media (max-width:640px){.picker-finder{max-width:none}}.driver-chips,.search-picker{position:relative}.picker-search{display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--slate-400);transition:border-color .15s,box-shadow .15s}.picker-search:hover{border-color:var(--slate-400)}.picker-search:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.picker-search input{flex:1 1;min-width:0;padding:9px 0;border:none;outline:none;background:transparent;color:var(--ink);font-size:14px;font-family:inherit}.picker-search input::placeholder{color:var(--slate-400)}.picker-selected{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-hover);font-size:14px;font-weight:600}.driver-chips .chip button,.picker-selected button{display:inline-grid;place-items:center;padding:2px;border:none;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:color .15s}.driver-chips .chip button:hover,.picker-selected button:hover{color:var(--danger)}.picker-results{position:absolute;z-index:20;left:0;right:0;margin:4px 0 0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-md);max-height:240px;overflow-y:auto}.picker-results li button{display:block;width:100%;text-align:left;padding:8px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--ink);font-size:14px;font-family:inherit;cursor:pointer;transition:background .15s}.picker-results li button:focus-visible,.picker-results li button:hover{background:var(--slate-100)}.picker-results li.empty{display:block;padding:8px;color:var(--muted);font-size:13px;text-align:left}.chips-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chips-row:empty{display:none}.chips-hint{margin:4px 0 0;font-size:12px;color:var(--muted)}.segment-form{max-width:640px}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 18px;gap:14px 18px}@media (max-width:640px){.field-row{grid-template-columns:1fr}}input[type=datetime-local]{width:100%;border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:9px 11px;font-size:14px;font-family:inherit;color:var(--ink);background:var(--surface);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s}input[type=datetime-local]:focus-visible{border-color:var(--accent);box-shadow:var(--ring)}.segment-form textarea{width:100%;padding:9px 11px;border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:14px;font-family:inherit;color:var(--ink);background:var(--surface);resize:vertical;transition:border-color .15s,box-shadow .15s}.segment-form textarea:focus-visible{border-color:var(--accent);box-shadow:var(--ring)}.timeline{margin:24px 0 0}.timeline-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.timeline-head h2{font-size:15px}.timeline-grid{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;background:var(--surface)}.timeline-axis,.timeline-lane{display:grid;grid-template-columns:160px 1fr;align-items:stretch}.timeline-axis{height:28px;background:var(--slate-50)}.timeline-axis,.timeline-lane{border-bottom:1px solid var(--border)}.timeline-lane{min-height:56px;transition:background .15s ease}.timeline-lane:hover{background:var(--slate-50)}.timeline-lane:last-child{border-bottom:0}.timeline-lane-label{display:flex;align-items:center;padding:0 12px;font-size:13px;font-weight:600;color:var(--ink-soft);border-right:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-track{position:relative;overflow:hidden}.timeline-tick{position:absolute;top:0;bottom:0}.tick-label{position:absolute;top:6px;left:4px;font-size:11px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline-gridline{position:absolute;top:0;bottom:0;width:1px;background:var(--border)}.timeline-bar{position:absolute;top:8px;bottom:8px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:4px 8px;border:1px solid var(--warn-border);border-radius:var(--r-sm);background:var(--warn-bg);color:var(--warn);font:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:filter .15s ease,box-shadow .15s ease,border-color .15s ease}.timeline-bar:hover{filter:brightness(.96);box-shadow:var(--shadow-sm);border-color:var(--warn)}.timeline-bar.conflict{border-color:var(--danger);background:repeating-linear-gradient(135deg,var(--danger-bg) 0 8px,rgba(220,38,38,.12) 8px 16px);color:#991b1b}.timeline-bar.conflict:hover{border-color:#991b1b}.timeline-bar.conflict:after{content:"!";position:absolute;top:3px;right:3px;width:14px;height:14px;display:grid;place-items:center;border-radius:50%;background:var(--danger);color:#fff;font-size:10px;font-weight:800;line-height:1}.bar-route{font-size:12px;font-weight:600}.bar-drivers,.bar-route{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-drivers{font-size:11px;opacity:.9}.timeline-unscheduled{margin-top:16px}.timeline-unscheduled h3{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--muted)}.timeline-unscheduled ul{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.timeline-unscheduled li{font-size:14px}.timeline-unscheduled li.conflict{font-weight:600}.timeline-unscheduled li.conflict:before{content:"!";display:inline-grid;place-items:center;width:14px;height:14px;margin-right:6px;border-radius:50%;background:var(--danger);color:#fff;font-size:10px;font-weight:800;line-height:1;vertical-align:middle}.timeline-unscheduled li.conflict a{color:var(--danger)}@media (max-width:640px){.timeline-axis,.timeline-lane{grid-template-columns:96px 1fr}.timeline-lane-label{font-size:12px;padding:0 8px}}.status-panel{border:1px solid var(--border);border-radius:var(--r);padding:18px 20px;margin-top:20px}.status-panel h2{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:16px}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:12px;gap:12px}.status-metric{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--slate-50);border-radius:var(--r-sm)}.status-metric-label{font-size:12px;color:var(--muted)}.status-metric-value{font-size:18px;font-weight:700}.tabnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-warnings{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.status-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--warn-border);border-radius:var(--r-sm);background:var(--warn-bg);color:var(--warn);font-size:14px}.status-warning svg{flex:none;margin-top:2px}.status-ok{display:flex;align-items:center;gap:8px;margin:16px 0 0;padding:10px 12px;border:1px solid var(--success-border);border-radius:var(--r-sm);background:var(--success-bg);color:var(--success);font-size:14px}.status-ok svg{flex:none}.status-breaks{margin-top:16px}.status-breaks h3{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--muted)}.status-breaks ul{display:flex;flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13px;color:var(--ink-soft)}.home-panel{border:1px solid var(--border);border-radius:var(--r);padding:18px 20px;margin-top:20px}.home-panel h2{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:16px}.home-hint{margin:0 0 14px;color:var(--muted);font-size:13px}.home-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}.home-add .crm-field{flex:1 1 200px;min-width:160px}.home-add button{display:inline-flex;align-items:center;gap:8px;flex:none;padding:9px 16px;border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}.home-add button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.home-add button:disabled{opacity:.5;cursor:not-allowed}.home-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.home-item{display:flex;align-items:center;gap:12px;padding:8px 4px;border-bottom:1px solid var(--border);font-size:14px}.home-item:last-child{border-bottom:0}.home-when{flex:none;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.home-note{overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.home-item .btn-icon{margin-left:auto}.btn-icon{display:inline-grid;place-items:center;width:30px;height:30px;flex:none;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--slate-500);cursor:pointer;transition:background .15s,color .15s}.btn-icon:hover{background:var(--danger-bg);color:var(--danger)}.legality-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--warn-border);border-radius:var(--r-pill);background:var(--warn-bg);color:var(--warn);font-size:11px;font-weight:700;line-height:1.5;white-space:nowrap;cursor:help}.legality-badge svg{flex:none}.timeline-bar .legality-badge{border-color:var(--warn);background:var(--warn);color:#fff}