@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f4f3ee;--panel: #ffffff;--ink: #1d2024;--muted: #6b6f76;--line: #d8d5cc;--line2: #ebe9e2;--accent: #2c5aa0;--accent-ink: #ffffff;--ok: #3a7d44;--warn: #b7791f;--crit: #c2452d;--crit-bg: #fbe9e5;--hover: #eef1f7;--sticky: #faf9f5;--shadow: 0 6px 24px rgba(20, 24, 30, .14);--c108: #cfe0f7;--c108i: #1e3f6f;--c106: #dbe7f5;--c106i: #2b4a75;--cui: #c9dcf3;--cuii: #1c3d6e;--ckztm: #e4d9f5;--ckztmi: #4a2e7a;--cozon: #cdeceb;--cozoni: #155e5a;--cyandex: #fbe9b3;--cyandexi: #6a4c00;--clkds: #d8ecc9;--clkdsi: #2f5a1b;--cetm: #fbd9c0;--cetmi: #7a3c0f;--cuslon: #e3efcf;--cusloni: #3f5a14;--coez: #dbe4ec;--coezi: #2f4453;--cokb: #f2d9d9;--cokbi: #6e2727;--csibur: #e8e6e0;--csiburi: #4f4c44;--corder: #f7d1e6;--corderi: #7a1f4f;--cother: #e6e4dd;--cotheri: #3d3b36}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #17191d;--panel: #1f2227;--ink: #e8e6e0;--muted: #9a9ea6;--line: #3a3e45;--line2: #2b2f35;--accent: #7fa6e0;--accent-ink: #0f1a2c;--ok: #7cc48a;--warn: #e0b25a;--crit: #ef8a77;--crit-bg: #3a1f1a;--hover: #262b33;--sticky: #1b1e22;--shadow: 0 8px 28px rgba(0, 0, 0, .5);--c108: #25406a;--c108i: #cfe0f7;--c106: #2a4064;--c106i: #dbe7f5;--cui: #213a62;--cuii: #c9dcf3;--ckztm: #3f2f66;--ckztmi: #e4d9f5;--cozon: #1b4a47;--cozoni: #cdeceb;--cyandex: #5a4300;--cyandexi: #fbe9b3;--clkds: #2c4a1c;--clkdsi: #d8ecc9;--cetm: #63321a;--cetmi: #fbd9c0;--cuslon: #3a4d1a;--cusloni: #e3efcf;--coez: #33414d;--coezi: #dbe4ec;--cokb: #5a2727;--cokbi: #f2d9d9;--csibur: #3d3b36;--csiburi: #e8e6e0;--corder: #5e1f42;--corderi: #f7d1e6;--cother: #3a3a3a;--cotheri: #e6e4dd}}:root[data-theme=dark]{--bg: #17191d;--panel: #1f2227;--ink: #e8e6e0;--muted: #9a9ea6;--line: #3a3e45;--line2: #2b2f35;--accent: #7fa6e0;--accent-ink: #0f1a2c;--ok: #7cc48a;--warn: #e0b25a;--crit: #ef8a77;--crit-bg: #3a1f1a;--hover: #262b33;--sticky: #1b1e22;--shadow: 0 8px 28px rgba(0, 0, 0, .5);--c108: #25406a;--c108i: #cfe0f7;--c106: #2a4064;--c106i: #dbe7f5;--cui: #213a62;--cuii: #c9dcf3;--ckztm: #3f2f66;--ckztmi: #e4d9f5;--cozon: #1b4a47;--cozoni: #cdeceb;--cyandex: #5a4300;--cyandexi: #fbe9b3;--clkds: #2c4a1c;--clkdsi: #d8ecc9;--cetm: #63321a;--cetmi: #fbd9c0;--cuslon: #3a4d1a;--cusloni: #e3efcf;--coez: #33414d;--coezi: #dbe4ec;--cokb: #5a2727;--cokbi: #f2d9d9;--csibur: #3d3b36;--csiburi: #e8e6e0;--corder: #5e1f42;--corderi: #f7d1e6;--cother: #3a3a3a;--cotheri: #e6e4dd}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.35}.mono{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:6px 12px}button:hover{background:var(--hover)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.primary:hover{filter:brightness(1.08)}button:disabled{opacity:.6;cursor:default;filter:none}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login-card{width:min(380px,100%);background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:26px 26px 22px}.login-card h1{margin:0 0 4px;font-size:18px;font-weight:600;letter-spacing:.01em}.login-card .subtitle{margin:0 0 20px;color:var(--muted);font-size:13px}.field{margin-bottom:14px}.field label{display:block;margin-bottom:4px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.field input{width:100%;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--bg)}.login-card button[type=submit]{width:100%;margin-top:4px;padding:9px 12px}.message{margin-top:14px;font-size:13px;min-height:18px}.message.error{color:var(--crit)}.message.info{color:var(--muted)}.login-foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--line2);font-size:12px;color:var(--muted)}.top{position:sticky;top:0;z-index:30;background:var(--bg);display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 16px 10px;border-bottom:1px solid var(--line)}.top h1{font-size:17px;font-weight:600;margin:0;letter-spacing:.01em}.nav{display:flex;gap:6px}.nav button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.spacer{flex:1}.who{color:var(--muted);font-size:13px}.content{padding:16px}.muted{color:var(--muted)}.placeholder{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px 20px;max-width:720px}.placeholder h2{margin:0 0 8px;font-size:16px}.placeholder p{margin:6px 0}.directory{max-width:900px}.directory h2{margin:0 0 6px;font-size:16px}.directory>.muted{margin:0 0 14px;font-size:13px}.data-table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.data-table th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:8px 10px;background:var(--sticky);border-bottom:1px solid var(--line)}.data-table td{padding:7px 10px;border-bottom:1px solid var(--line2);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr.inactive td{color:var(--muted)}.data-table select{border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:var(--panel)}.row-actions{display:flex;gap:6px;flex-wrap:wrap}button.small{padding:3px 8px;font-size:12px}.password-row td{background:var(--hover);display:flex;gap:8px;flex-wrap:wrap;align-items:center}.password-row input{flex:1;min-width:220px;border:1px solid var(--line);border-radius:6px;padding:5px 8px;background:var(--panel)}.create-user{margin-top:18px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 14px;align-items:end}.create-user h3{grid-column:1 / -1;margin:0;font-size:14px}.create-user .field{margin-bottom:0}.create-user select{width:100%;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--bg)}.message.success{color:var(--ok)}@media (max-width: 600px){.top h1{width:100%}.data-table th:nth-child(2),.data-table td:nth-child(2){display:none}}.cell-input{width:100%;min-width:70px;border:1px solid transparent;border-radius:5px;padding:3px 5px;background:transparent}.cell-input:hover{border-color:var(--line2)}.cell-input:focus{border-color:var(--line);background:var(--bg)}.data-table td input[type=checkbox]{width:16px;height:16px}.bulk-form{margin-top:18px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px}.bulk-form h3{margin:0 0 4px;font-size:14px}.bulk-form p{margin:0 0 10px;font-size:12px}.bulk-form textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--bg);font:inherit;resize:vertical;margin-bottom:10px}#app{height:100vh;height:100dvh;display:flex;flex-direction:column}.content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:auto}.board-page{flex:1;display:flex;flex-direction:column;min-height:0;gap:10px}.board-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.date-picker{display:flex;align-items:center;gap:4px}.date-picker input[type=date]{border:1px solid var(--line);border-radius:6px;padding:5px 8px;background:var(--panel)}.date-picker button{padding:4px 10px;font-size:15px;line-height:1}.stats{display:flex;gap:14px;color:var(--muted);font-size:13px;flex-wrap:wrap}.stats b{color:var(--ink);font-weight:600}.stats .bad b{color:var(--crit)}.stats .warn b{color:var(--warn)}.status{font-size:12px;color:var(--muted)}.status.bad{color:var(--crit)}.role-badge{font-size:12px;padding:3px 9px;border-radius:10px;background:var(--hover);border:1px solid var(--line);color:var(--muted)}.board{flex:1 1 auto;min-height:220px;border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:auto;position:relative}.board-empty{padding:24px;color:var(--muted)}.grid{display:grid;grid-template-columns:var(--left-w, 200px) auto;min-width:max-content}.hdr{position:sticky;top:0;z-index:20;background:var(--sticky);border-bottom:1px solid var(--line)}.hdr.left{left:0;z-index:25;padding:8px 10px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-right:1px solid var(--line)}.ticks{position:relative;min-height:34px}.tick{position:absolute;top:0;bottom:0;border-left:1px solid var(--line2);padding:8px 0 0 5px;font-size:12px;color:var(--muted)}.tick.major{border-left-color:var(--line)}.grp{grid-column:1 / -1;position:sticky;left:0;background:var(--sticky);padding:6px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line2)}.busl{position:sticky;left:0;z-index:10;background:var(--sticky);border-right:1px solid var(--line);border-bottom:1px solid var(--line2);padding:6px 10px;display:flex;flex-direction:column;gap:3px;justify-content:center}.busl .plate{font-weight:500;font-size:13px}.busl.retired{opacity:.65}.busl.retired .plate:after{content:" · выведен";font-size:11px;color:var(--muted);font-weight:400}.busl input{border:none;border-bottom:1px dashed var(--line);background:transparent;padding:1px 0;font-size:12px;color:var(--muted);width:100%}.busl input:focus{color:var(--ink);border-bottom-style:solid}.busl input.inherited{font-style:italic}.driver-readonly{font-size:12px;color:var(--muted)}.lanes{position:relative;border-bottom:1px solid var(--line2);background-image:linear-gradient(to right,var(--line2) 1px,transparent 1px);background-size:var(--hour-px) 100%}.lanes.over{background-color:var(--hover)}.blk{position:absolute;height:32px;border-radius:5px;padding:3px 6px;font-size:12px;line-height:1.15;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:grab;border:1px solid rgba(0,0,0,.08);-webkit-user-select:none;user-select:none;background:var(--cother);color:var(--cotheri)}.blk:hover{filter:brightness(.96);box-shadow:0 2px 8px #00000026}.blk .t{font-weight:500;margin-right:5px}.blk.conflict{outline:2px solid var(--crit);outline-offset:-1px}.blk.typewarn:after{content:"⚠";position:absolute;right:4px;top:2px;color:var(--warn);font-size:13px}.blk.fullday{opacity:.7;background-image:repeating-linear-gradient(135deg,transparent 0 8px,rgba(0,0,0,.06) 8px 16px)}.blk.dragging{opacity:.4}.blk.deleted,.chip.deleted{opacity:.5;border-style:dashed}.blk.deleted .ttl,.chip.deleted .ttl{text-decoration:line-through}.blk.deleted:before{content:"✖ ";font-weight:600}.chip.deleted:before{content:"✖ ";font-weight:600}.f108{background:var(--c108);color:var(--c108i)}.f106{background:var(--c106);color:var(--c106i)}.fui{background:var(--cui);color:var(--cuii)}.fkztm{background:var(--ckztm);color:var(--ckztmi)}.fozon{background:var(--cozon);color:var(--cozoni)}.fyandex{background:var(--cyandex);color:var(--cyandexi)}.flkds{background:var(--clkds);color:var(--clkdsi)}.fetm{background:var(--cetm);color:var(--cetmi)}.fuslon{background:var(--cuslon);color:var(--cusloni)}.foez{background:var(--coez);color:var(--coezi)}.fokb{background:var(--cokb);color:var(--cokbi)}.fsibur{background:var(--csibur);color:var(--csiburi)}.forder{background:var(--corder);color:var(--corderi)}.fother{background:var(--cother);color:var(--cotheri)}.tray{flex:0 0 auto;max-height:30vh;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:10px 12px}.tray.over{background:var(--hover)}.tray-toggle{display:none}.tray-group+.tray-group{margin-top:10px;padding-top:10px;border-top:1px solid var(--line2)}.tray h2,.tray summary{font-size:13px;margin:0;padding:0 0 8px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:sticky;top:0;z-index:2;background:var(--panel)}.tray summary{cursor:pointer}.tray details[open] summary{margin-bottom:8px}.tray .n{display:inline-block;min-width:22px;text-align:center;padding:1px 6px;border-radius:10px;background:var(--crit);color:#fff;font-size:12px}.tray .n.zero{background:var(--ok)}.tray .hint{font-weight:400;color:var(--muted);font-size:12px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border-radius:5px;padding:4px 8px;font-size:12px;cursor:grab;border:1px solid rgba(0,0,0,.08);display:flex;gap:6px;align-items:baseline;max-width:100%}.chip .t{font-weight:500}.chip .bt{color:inherit;opacity:.7;font-size:11px}.chip .bt.carrier{font-style:italic}.empty{color:var(--muted);font-size:13px}.legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.1)}.pop{position:fixed;z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:12px 14px;width:min(380px,calc(100vw - 32px));font-size:13px}.pop h3{margin:0 24px 6px 0;font-size:14px}.pop dl{margin:0 0 10px;display:grid;grid-template-columns:auto 1fr;gap:3px 10px}.pop dt{color:var(--muted)}.pop dd{margin:0;overflow-wrap:anywhere}.pop .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pop label{color:var(--muted);font-size:12px}.pop select{border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--panel);flex:1;min-width:160px}.pop .close{position:absolute;top:6px;right:8px;border:none;background:none;font-size:16px;padding:2px 6px}.pop .card-warning{margin:0 0 8px;color:var(--crit);font-size:12px}.pop .card-readonly{font-weight:500}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1073;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--panel);border-radius:10px;box-shadow:var(--shadow);width:min(720px,100%);max-height:90vh;overflow:auto;padding:18px 20px}.modal h2{margin:0 0 6px;font-size:16px}.modal>p{margin:4px 0 12px;color:var(--muted);font-size:13px}.modal .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}.modal .field input[type=file]{width:100%}.modal textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:8px;background:var(--bg);font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:12px;resize:vertical}.report{margin:0;padding-left:18px;font-size:13px}.report>li{margin-bottom:6px}.report-details{margin:4px 0 8px;padding-left:18px;color:var(--muted);font-size:12px}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:6px;font-size:13px;z-index:70;opacity:0;pointer-events:none;max-width:min(560px,calc(100vw - 32px));transition:opacity .2s}.toast.show{opacity:1}.toast.error{background:var(--crit);color:#fff}@media (prefers-reduced-motion: reduce){.toast{transition:none}}@media (max-width: 599px){.tray-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;width:100%;border:none;background:none;padding:0;text-align:left;font-size:13px}.tray-toggle-title{font-weight:600}.tray-toggle-title:before{content:"▾ "}.tray.collapsed .tray-toggle-title:before{content:"▸ "}.tray-count{color:var(--muted);font-size:12px;display:inline-flex;align-items:center;gap:4px}.tray-count .n{min-width:20px;text-align:center;padding:1px 6px;border-radius:10px;background:var(--crit);color:#fff;font-size:12px;font-weight:600}.tray-count .n.zero{background:var(--hover);color:var(--muted)}.tray.collapsed{max-height:none}.tray.collapsed .tray-body{display:none}.tray:not(.collapsed) .tray-body{margin-top:10px}}@media (max-width: 760px){.content{padding:10px}.grid{--left-w: 128px}.busl{padding:5px 7px}.busl .plate{font-size:12px}.busl.retired .plate:after{content:""}.board-bar{gap:8px 10px}.stats{gap:10px;font-size:12px;width:100%;order:3}.spacer{display:none}.tray{max-height:34vh}.legend{display:none}}.blk.tight{padding-left:0;padding-right:0;text-align:center}.blk.tight .t{font-size:11px;margin-right:0}.blk.tight.deleted:before{content:none}.blk.tight.typewarn:after{content:none}.report .bad-line{color:var(--crit)}.report .warn-line{color:var(--warn)}.report .ok-line{color:var(--ok)}a.button{display:inline-block;border:1px solid var(--line);border-radius:6px;padding:6px 12px;text-decoration:none;color:inherit;background:var(--panel)}a.button:hover{background:var(--hover)}a.button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}a.button.primary:hover{filter:brightness(1.08)}a.button.disabled{opacity:.6;pointer-events:none}.modal-body>.report+textarea{margin-top:10px}.modal textarea[readonly]{white-space:pre;overflow-x:auto}.busl.charterer{background:var(--sticky)}.charterer-name{font-weight:500;font-size:12px;white-space:normal;overflow-wrap:anywhere;line-height:1.2}.blk.at-charterer{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.45) 0 4px,transparent 4px 9px);border-style:dashed;cursor:grab}:root[data-theme=dark] .blk.at-charterer,:root:not([data-theme=light]) .blk.at-charterer{background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.35) 0 4px,transparent 4px 9px)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]) .blk.at-charterer{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.45) 0 4px,transparent 4px 9px)}}.lanes.out-of-service{background-color:var(--line2);opacity:.75}.busl.out-of-service{background:var(--crit-bg)}.bus-state{font-size:11px;font-weight:600;color:var(--crit);text-transform:uppercase;letter-spacing:.04em}.busl .plate{border:none;background:none;padding:0;text-align:left;font-weight:500;font-size:13px;cursor:pointer;color:inherit}.busl .plate:hover{text-decoration:underline}.blk .kind{font-size:10px;font-weight:700;opacity:.55;margin-right:3px;border:1px solid currentColor;border-radius:3px;padding:0 1px;line-height:1.1}.blk .order{font-size:11px;opacity:.65;margin-left:6px}.blk .note{font-size:10px;font-weight:600;margin-right:4px;padding:0 2px;border-radius:3px;background:#0000001f}.pop .card-hint{margin:8px 0 0;font-size:12px;color:var(--muted)}.pop .card-actions{justify-content:flex-end;margin-top:10px}.pop .row input[type=text]{flex:1;min-width:150px;border:1px solid var(--line);border-radius:6px;padding:7px 9px;background:var(--panel)}.directory.wide{max-width:1200px}.pto-filters{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.pto-filters input[type=search]{min-width:280px;border:1px solid var(--line);border-radius:6px;padding:7px 10px;background:var(--panel);color:inherit}.pto-filters select{border:1px solid var(--line);border-radius:6px;padding:7px 10px;background:var(--panel);color:inherit}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover td{background:var(--hover)}.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}.directory.wide .data-table td.mono{white-space:nowrap}.badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;border:1px solid var(--line);color:var(--muted)}.badge.status-work{border-color:var(--ok);color:var(--ok)}.badge.status-repair{border-color:var(--warn);color:var(--warn)}.badge.status-sold{opacity:.7}.pto-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px;align-items:end;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;margin:14px 0}.pto-form h3{grid-column:1 / -1;margin:0;font-size:14px}.pto-form .field{margin-bottom:0}.pto-form .field.wide-field{grid-column:1 / -1}.pto-form select,.pto-form input{width:100%;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--bg);color:inherit}.pto-form input:disabled,.pto-form select:disabled{opacity:.75}.pto-form button[type=submit]{justify-self:start}.pto-block{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;margin:14px 0}.pto-block h3{margin:0 0 4px;font-size:14px}.pto-block .muted{font-size:13px;margin:0 0 10px}.pto-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.pto-list li{display:flex;gap:10px;align-items:center}.pto-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pto-inline-form input,.pto-inline-form select{border:1px solid var(--line);border-radius:6px;padding:6px 9px;background:var(--bg);color:inherit}.pto-list li.issue{flex-wrap:wrap}.pto-list li.issue .muted{flex:1 1 320px;font-size:13px}.pto-list li.merge-form{flex-wrap:wrap;gap:8px;padding-left:16px}.data-table tr.doc-warn td{background:color-mix(in srgb,var(--warn) 12%,transparent)}.data-table tr.doc-alert td{background:color-mix(in srgb,var(--crit) 14%,transparent)}.data-table tr.doc-expired td{background:color-mix(in srgb,var(--crit) 28%,transparent);font-weight:500}
