@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.table{display:table}}:root{--bg:#f5f6f3;--panel:#fff;--panel-strong:#eef3ec;--surface-soft:#fbfcfa;--surface-muted:#f1f5f9;--ink:#17211d;--muted:#647067;--line:#d9ded6;--teal:#0f766e;--teal-deep:#0b4f49;--amber:#b45309;--amber-soft:#fff3d7;--red:#b91c1c;--red-soft:#fee2e2;--blue:#2563eb;--blue-soft:#dbeafe;--shadow:0 18px 45px #14241c17;--body-wash:linear-gradient(180deg, #0f766e14, transparent 310px)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d120f;--panel:#171d19;--panel-strong:#213027;--surface-soft:#1a211c;--surface-muted:#252e28;--ink:#edf4ef;--muted:#a8b6ac;--line:#3a4940;--teal:#3bb5a8;--teal-deep:#86d9cf;--amber:#f1ad55;--amber-soft:#3b2b18;--red:#ff9292;--red-soft:#402224;--blue:#8db2ff;--blue-soft:#203252;--shadow:0 18px 45px #0000004d;--body-wash:linear-gradient(180deg, #3bb5a81a, transparent 310px)}html[data-theme=retro]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#050505;--panel:#f7f7ed;--panel-strong:#e9ead8;--surface-soft:#f1f1e5;--surface-muted:#e4e5d7;--ink:#080808;--muted:#45453f;--line:#141414;--teal:#111;--teal-deep:#050505;--amber:#8f5200;--amber-soft:#fff0b8;--red:#8c0000;--red-soft:#ffd9d2;--blue:#0039b8;--blue-soft:#d9e5ff;--shadow:none;--body-wash:none}*{box-sizing:border-box}html{background:var(--bg);-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--body-wash), var(--bg);min-height:100vh;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:clip}.topbar-actions{justify-content:flex-end;align-items:stretch;gap:8px;display:flex}.theme-toggle{border:1px solid var(--line);background:var(--panel);min-width:138px;min-height:54px;color:var(--ink);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:8px 11px;display:flex}.theme-toggle:hover{border-color:var(--teal)}.theme-toggle>span:last-child{gap:1px;display:grid}.theme-toggle small{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:800}.theme-toggle strong{font-size:.82rem}.theme-swatches{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);width:26px;height:30px;display:grid;overflow:hidden}.theme-swatches i{display:block}.theme-toggle[data-theme-choice=light] .theme-swatches i:first-child{background:#f5f6f3}.theme-toggle[data-theme-choice=light] .theme-swatches i:nth-child(2){background:#fff}.theme-toggle[data-theme-choice=light] .theme-swatches i:nth-child(3){background:#0f766e}.theme-toggle[data-theme-choice=dark] .theme-swatches i:first-child{background:#0d120f}.theme-toggle[data-theme-choice=dark] .theme-swatches i:nth-child(2){background:#253129}.theme-toggle[data-theme-choice=dark] .theme-swatches i:nth-child(3){background:#3bb5a8}.theme-toggle[data-theme-choice=retro] .theme-swatches i:first-child{background:#050505}.theme-toggle[data-theme-choice=retro] .theme-swatches i:nth-child(2){background:#fff58a}.theme-toggle[data-theme-choice=retro] .theme-swatches i:nth-child(3){background:#f7f7ed}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{width:min(1480px,100% - 32px);margin:0 auto;padding:24px 0 40px}.topbar{grid-template-columns:1fr auto;align-items:center;gap:18px;margin-bottom:20px;display:grid}.topbar h1{font-size:2rem}.brand-lockup,.auth-brand{align-items:center;gap:12px;display:flex}.club-logo{flex:none;width:144px;height:62px;overflow:hidden}.club-logo-image{mix-blend-mode:multiply;width:100%;height:auto;display:block;transform:translateY(-27%)}.auth-card-topline{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;display:grid}.auth-brand{gap:8px;min-width:0}.auth-brand .club-logo{width:120px;height:52px}.auth-brand .eyebrow{white-space:nowrap;margin-bottom:0}.auth-screen{place-items:center;min-height:100vh;display:grid}.auth-card{border:1px solid var(--line);background:var(--panel);width:min(560px,100%);box-shadow:var(--shadow);border-radius:8px;padding:28px}.auth-card h1{margin-bottom:12px}.auth-form{gap:12px;margin-top:18px;display:grid}.auth-form label{color:var(--muted);gap:6px;font-size:.78rem;font-weight:700;display:grid}.form-error{background:var(--red-soft);color:var(--red);border:1px solid #b91c1c40;border-radius:8px;margin:14px 0 0;padding:10px 12px;font-weight:800}.account-box{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;min-width:230px;padding:12px;display:grid}.account-box span{color:var(--ink);font-weight:900}.account-box strong,.account-box a{color:var(--muted);font-size:.82rem}.account-box a{width:fit-content;font-weight:900;text-decoration:none}.link-like{width:fit-content;min-height:auto;color:var(--muted);background:0 0;border:0;padding:0;font-size:.82rem;font-weight:900}.notice{border:1px solid var(--line);border-radius:8px;margin-bottom:14px;padding:12px 14px;font-weight:800}.notice.success{background:var(--panel-strong);color:var(--teal-deep);border-color:#0f766e40}.notice.error{background:var(--red-soft);color:var(--red);border-color:#b91c1c40}.eyebrow{color:var(--teal-deep);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.72rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:clamp(1.8rem,3vw,3rem);line-height:1}h2{letter-spacing:0;margin-bottom:0;font-size:1.25rem}h3{letter-spacing:0;margin-bottom:6px;font-size:1rem}p{color:var(--muted)}.date-picker,.conductor-bar label,.inline-form label,.vehicle-form label,.duty-form label,.assignment-form label,.line-form label,.profile-form label,.assign-select{color:var(--muted);gap:6px;font-size:.78rem;font-weight:700;display:grid}input,select{border:1px solid var(--line);width:100%;min-width:0;max-width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:0 12px}input[type=file]{min-height:42px;padding:8px 12px}input[readonly]{color:var(--muted);background:#f1f5f9}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f766e24}.segmented,.tabs{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.segmented button,.tabs button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 14px;font-weight:800}.segmented button.active,.tabs button.active{background:var(--teal);color:#fff}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.metric{border:1px solid var(--line);background:var(--panel);min-height:96px;box-shadow:var(--shadow);border-radius:8px;padding:16px}.metric span{color:var(--muted);font-size:.82rem;font-weight:800;display:block}.metric strong{margin-top:10px;font-size:2rem;line-height:1;display:block}.metric.warning strong{color:var(--amber)}.metric.success strong{color:var(--teal)}.workspace{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:18px;display:grid}.workspace.no-sidebar{grid-template-columns:1fr}.calendar-panel,.main-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px}.calendar-panel{padding:16px;position:sticky;top:18px}.main-panel{min-width:0;padding:16px}.panel-heading,.section-heading,.service-main,.capacity-row,.conductor-bar{justify-content:space-between;align-items:center;gap:14px;display:flex}.panel-heading{margin-bottom:12px}.icon-button{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);background:#fff;border-radius:8px;font-size:1.5rem;line-height:1}.weekday-row,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.weekday-row{margin-bottom:6px}.weekday-row span{color:var(--muted);text-align:center;font-size:.72rem;font-weight:800}.day-cell{border:1px solid var(--line);min-height:58px;color:var(--ink);text-align:left;background:#fff;border-radius:8px;padding:8px;display:grid;position:relative}.day-cell span{font-weight:900}.day-cell small{color:var(--muted);font-size:.68rem;font-weight:700}.day-cell.available{background:var(--panel-strong)}.day-cell.working{border-color:var(--teal);box-shadow:inset 0 0 0 2px #0f766e33}.day-cell.needs-crew:after{background:var(--amber);content:"";border-radius:999px;width:8px;height:8px;position:absolute;top:7px;right:7px}.day-cell.selected{background:var(--teal);color:#fff}.day-cell.selected small{color:#ffffffb8}.legend{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:14px;font-size:.76rem;font-weight:800;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.mark{border-radius:999px;width:10px;height:10px}.mark.work{border:2px solid var(--teal)}.mark.ready{background:var(--panel-strong);border:1px solid var(--line)}.mark.gap{background:var(--amber)}.tabs{width:fit-content;margin-bottom:16px}.panel-stack{gap:16px;display:grid}.upcoming-assignments{border-bottom:1px solid var(--line);gap:10px;margin:-2px 0 16px;padding:0 0 16px;display:grid}.upcoming-heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.upcoming-heading h2{font-size:1.15rem}.upcoming-heading>strong,.log-count{background:var(--panel-strong);min-width:34px;min-height:34px;color:var(--teal-deep);border-radius:8px;place-items:center;display:grid}.upcoming-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.upcoming-item{border:1px solid var(--line);min-width:0;min-height:82px;color:var(--ink);text-align:left;background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px;display:grid}.upcoming-item:hover{background:#fbfcfa;border-color:#0f766e73}.upcoming-item span,.upcoming-item small{color:var(--muted);font-size:.76rem;font-weight:800}.upcoming-item strong,.upcoming-item small{grid-column:1/-1}.inline-form,.vehicle-form{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;grid-template-columns:1.2fr 1.2fr .7fr .7fr auto;align-items:end;gap:10px;padding:12px;display:grid}.vehicle-form{grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) .65fr .8fr .65fr}.line-form{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;grid-template-columns:.7fr .8fr minmax(160px,1fr);align-items:end;gap:10px;margin-bottom:12px;padding:12px;display:grid}.wide-field,.vehicle-picker,.line-form .primary,.vehicle-form .form-actions,.user-form .form-actions,.duty-form .form-actions{grid-column:1/-1}.vehicle-picker{color:var(--muted);gap:8px;font-size:.78rem;font-weight:700;display:grid}.checkbox-list{flex-wrap:wrap;gap:8px;display:flex}.checkbox-list label{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:7px;min-height:34px;padding:0 10px;display:inline-flex}.checkbox-list input{min-height:auto}.management-form{margin-bottom:0}.user-form{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;grid-template-columns:repeat(4,minmax(170px,1fr));align-items:end;gap:10px;padding:12px;display:grid}.duty-form,.assignment-form{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;align-items:end;gap:10px;padding:12px;display:grid}.duty-form{grid-template-columns:repeat(5,minmax(140px,1fr))}.assignment-form{grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) minmax(160px,.8fr) minmax(260px,1.2fr)}.assignment-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.assignment-actions button{flex:180px}.compact-date{color:var(--muted);gap:5px;font-size:.78rem;font-weight:800;display:grid}.calendar-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-heading .eyebrow{margin-bottom:0}.calendar-controls{grid-template-columns:repeat(3,auto);gap:4px;display:grid}.calendar-controls button{min-height:30px;padding:0 8px;font-size:.74rem}.calendar-status-legend{color:var(--muted);flex-wrap:wrap;gap:6px 12px;font-size:.68rem;font-weight:800;display:flex}.calendar-status-legend span{align-items:center;gap:5px;display:inline-flex}.calendar-status-legend i{border-radius:4px;flex:0 0 14px;place-items:center;width:14px;height:14px;font-size:.56rem;font-style:normal;line-height:1;display:inline-grid}.calendar-status-legend .my-availability-mark{border:2px solid var(--blue);background:var(--panel)}.calendar-status-legend .my-assignment-mark{border:2px solid var(--amber);background:var(--amber-soft)}.calendar-status-legend .availability-count-mark{border:1px solid var(--blue);background:var(--blue);color:#fff}.calendar-workspace{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.workspace,.main-panel,.panel-stack,.calendar-workspace,.calendar-side,.daily-side,.assignment-editor,.assignment-form,.availability-card,.manager-availability,.availability-board{min-width:0;max-width:100%}.calendar-side,.daily-side,.assignment-editor{gap:12px;min-width:0;display:grid}.calendar-months,.calendar-month{gap:8px;display:grid}.calendar-months{gap:18px}.calendar-month+.calendar-month{border-top:1px solid var(--line);padding-top:16px}.calendar-month h2{font-size:1.05rem}.month-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-weekday{color:var(--muted);text-align:center;text-transform:uppercase;font-size:.74rem;font-weight:900}.calendar-day{border:1px solid var(--line);min-height:52px;color:var(--ink);text-align:center;background:#fff;border-radius:8px;place-items:center;padding:6px;display:grid;position:relative}.calendar-day:hover{border-color:#0f766e66}.calendar-day.selected{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:none}.calendar-day.has-assignments{background:var(--panel-strong);color:var(--teal-deep);border-color:#0f766e73}.calendar-status-legend .vehicle-plan-mark{border:1px solid var(--teal);background:var(--panel-strong)}.calendar-day.has-vehicle-plan{border-color:#0f766e8c}.calendar-day.has-vehicle-plan:not(.has-assignments):after{background:var(--teal);content:"";border-radius:999px;width:5px;height:5px;position:absolute;bottom:6px}.calendar-day.selected.has-vehicle-plan:not(.has-assignments):after{background:#fff}.calendar-day.selected.has-assignments{background:var(--teal);color:#fff}.calendar-day.has-assignments:after{background:var(--teal);content:"";border-radius:999px;width:5px;height:5px;position:absolute;bottom:6px}.calendar-day.selected.has-assignments:after{background:#fff}.calendar-day.has-my-assignment{color:#9a3412;background:#fff7ed;border-color:#d97706;box-shadow:inset 0 0 0 2px #d9770633}.calendar-day.selected.has-my-assignment{background:var(--teal);color:#fff;border-color:#f59e0b;box-shadow:inset 0 0 0 2px #fbbf24}.calendar-day.has-my-assignment:before{content:"";background:#d97706;border:2px solid #fff;border-radius:999px;width:7px;height:7px;position:absolute;top:5px;right:5px}.calendar-day.has-my-availability{outline:2px solid var(--blue);outline-offset:-3px}.calendar-day.selected.has-my-availability{outline-color:#93c5fd}.calendar-day .availability-count{background:var(--blue);color:#fff;border:1px solid #fff;border-radius:4px;place-items:center;min-width:15px;height:15px;font-size:.58rem;font-weight:900;line-height:1;display:grid;position:absolute;bottom:4px;left:4px}html[data-theme=dark] .calendar-status-legend .availability-count-mark,html[data-theme=dark] .calendar-day .availability-count{color:#101722}.calendar-day.muted{opacity:.45}.calendar-day strong,.calendar-day span,.calendar-day small{display:block}.calendar-day strong{font-size:.95rem}.availability-card{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.manager-availability,.availability-board{border-top:1px solid var(--line);flex:100%;gap:8px;padding-top:10px;display:grid}.manager-availability{grid-template-columns:minmax(220px,1fr) auto;align-items:end}.manager-availability label{gap:6px;min-width:0;display:grid}.availability-actions{flex-wrap:wrap;gap:8px;display:flex}.availability-card span,.manager-availability label span,.assigned-person span,.duty-detail-panel dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.availability-card strong,.assigned-person strong{display:block}.availability-lock-note{color:var(--muted);flex:100%;font-size:.72rem;font-weight:800}.availability-list{flex-wrap:wrap;flex:100%;gap:6px;display:flex}.availability-list span{background:var(--panel-strong);min-height:28px;color:var(--teal-deep);text-transform:none;border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.daily-duty-list{gap:8px;display:grid}.daily-duty-item{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.daily-duty-item.expanded{border-color:#0f766e59}.daily-duty-item.train-manager{border-left:4px solid #d97706}.daily-duty-summary{grid-template-columns:minmax(170px,1.1fr) minmax(170px,.9fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.duty-row-main{min-height:auto;color:var(--ink);text-align:left;background:0 0;border:0;gap:2px;padding:0;display:grid}.duty-row-main strong{font-size:1.05rem}.duty-row-main span,.duty-row-main small{color:var(--muted);font-weight:800}.duty-row-main small{font-size:.78rem}.assigned-person{gap:2px;display:grid}.train-manager-pill{color:#9a3412;background:#fff7ed;border-radius:999px;align-items:center;width:fit-content;min-height:24px;padding:0 8px;font-size:.7rem;font-weight:900;display:inline-flex}.duty-detail-panel{border-top:1px solid var(--line);background:#fbfcfa;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:10px;display:grid}.duty-detail-panel div{min-width:0}.duty-detail-panel dd{overflow-wrap:anywhere;margin:2px 0 0;font-weight:800}.vehicle-duty-slots{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:9px;padding:10px;display:grid}.vehicle-duty-slots-heading,.vehicle-duty-slot-add,.vehicle-section-heading,.daily-vehicle-heading,.driver-shift-row,.legacy-assignment-row{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.vehicle-duty-slots-heading>div,.vehicle-duty-slot-add,.vehicle-duty-slot-list li>span,.daily-vehicle-heading>div,.vehicle-section-heading>div,.driver-shift-row>*,.legacy-assignment-row>*{min-width:0}.vehicle-duty-slots-heading span,.vehicle-section-heading>span,.driver-shift-row span,.driver-shift-row small,.legacy-assignment-row span,.vehicle-duty-slot-list small,.form-hint{color:var(--muted);font-size:.76rem;font-weight:800}.vehicle-duty-slots-heading small,.vehicle-duty-slot-list small{margin-top:2px;display:block}.vehicle-duty-slot-add{flex:340px;justify-content:flex-end}.vehicle-duty-slot-add select{flex:220px;min-width:0}.vehicle-duty-slot-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.vehicle-duty-slot-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-width:0;padding-top:7px;display:flex}.vehicle-plan-add{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;flex-wrap:wrap;align-items:end;gap:10px;padding:12px;display:flex}.vehicle-plan-add label{flex:320px;gap:6px;min-width:min(100%,260px);display:grid}.vehicle-plan-add label>span,.vehicle-section-heading>strong,.vehicle-drivers>strong,.vehicle-duty-list>strong,.batch-assignment-bar strong{color:var(--teal-deep);text-transform:uppercase;font-size:.76rem;font-weight:900}.daily-vehicle-list{gap:12px;display:grid}.daily-vehicle-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:13px;min-width:0;padding:12px;display:grid}.daily-vehicle-card:has(.vehicle-duty-item.my-duty){border-left:4px solid #d97706}.daily-vehicle-heading{border-bottom:1px solid var(--line);align-items:start;padding-bottom:10px}.daily-vehicle-heading h3{margin:1px 0 3px;font-size:1.08rem}.daily-vehicle-toggle{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:8px;padding:0;display:inline-flex}.daily-vehicle-toggle>span{overflow-wrap:anywhere;min-width:0}.daily-vehicle-toggle small{color:var(--teal-deep);text-transform:uppercase;font-size:.7rem;font-weight:900}.daily-vehicle-toggle:hover>span,.daily-vehicle-toggle:focus-visible>span{text-decoration:underline}.daily-vehicle-heading small{color:var(--muted);font-size:.78rem;font-weight:800}.daily-vehicle-details{gap:13px;min-width:0;display:grid}.vehicle-drivers,.vehicle-duty-list,.legacy-assignments{gap:8px;min-width:0;display:grid}.standalone-duty-list{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:12px}.standalone-duty-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.standalone-duty-row .vehicle-duty-item{grid-column:1}.standalone-duty-remove{margin-top:9px}.vehicle-section-heading{border-bottom:1px solid var(--line);min-height:28px;padding-bottom:6px}.driver-shift-row{grid-template-columns:minmax(150px,1fr) 110px minmax(120px,.8fr) auto;padding:4px 0;display:grid}.driver-shift-row small{overflow-wrap:anywhere}.driver-form,.vehicle-duty-assign-form{border-top:1px dashed var(--line);gap:8px;min-width:0;padding-top:9px;display:grid}.driver-form{grid-template-columns:minmax(180px,1.3fr) 108px 108px minmax(130px,.8fr) auto}.vehicle-duty-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(190px,.9fr) minmax(0,1.1fr);gap:10px;min-width:0;padding:9px 0;display:grid;position:relative}.vehicle-duty-item:last-child{border-bottom:0}.vehicle-duty-item.expanded{background:var(--surface-soft);margin:0 -6px;padding:9px 6px}.vehicle-duty-main{min-width:0;min-height:auto;color:var(--ink);text-align:left;background:0 0;border:0;justify-items:start;gap:2px;padding:0;display:grid}.vehicle-duty-main strong{font-size:1.05rem}.vehicle-duty-main span,.vehicle-duty-main small{color:var(--muted);overflow-wrap:anywhere;font-weight:800}.vehicle-duty-main small{font-size:.76rem}.vehicle-duty-assignment{grid-template-columns:1fr auto;align-content:center;gap:2px 8px;min-width:0;display:grid}.vehicle-duty-assignment span,.vehicle-duty-assignment small{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.vehicle-duty-assignment strong{overflow-wrap:anywhere}.vehicle-duty-assignment .danger{grid-area:1/2/span 2;align-self:center}.vehicle-duty-assignment small{color:#9a3412}.vehicle-duty-assign-form{border-top:0;grid-template-columns:minmax(180px,1fr) minmax(120px,.7fr) minmax(130px,.8fr) minmax(110px,.7fr);align-items:center;padding-top:0}.vehicle-duty-list-controls,.vehicle-day-duty-add{border-top:1px dashed var(--line);grid-column:1/-1;gap:8px;padding-top:9px;display:grid}.vehicle-duty-list-controls{grid-template-columns:minmax(180px,1fr) auto auto;align-items:center}.vehicle-day-duty-add{border:1px dashed var(--line);background:var(--surface-soft);grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:9px}.vehicle-day-duty-add label{gap:5px;min-width:0;display:grid}.vehicle-day-duty-add label>span{color:var(--muted);font-size:.76rem;font-weight:800}.batch-assignment-bar{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.batch-assignment-bar>div{gap:3px;display:grid}.batch-assignment-bar span{color:var(--muted);font-size:.8rem;font-weight:700}.batch-assignment-bar .batch-assignment-warning{color:#b45309}.vehicle-duty-item .duty-detail-panel{grid-column:1/-1;margin:2px -6px -9px}.vehicle-duty-position{color:var(--muted);font-size:.68rem;font-weight:900;position:absolute;top:9px;right:0}.vehicle-duty-item:has(.vehicle-duty-assignment) .vehicle-duty-position{display:none}.unassigned-duty{color:var(--muted);align-self:center;font-size:.82rem;font-weight:800}.legacy-assignments{border:1px dashed var(--line);background:var(--surface-soft);border-radius:8px;padding:10px}.legacy-assignment-row{border-top:1px solid var(--line);grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) auto;padding-top:8px;display:grid}.legacy-assignment-row>div{gap:2px;display:grid}.duty-groups{gap:10px;display:grid}.duties-workspace{grid-template-columns:minmax(320px,380px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.duty-list-pane{overscroll-behavior-y:contain;gap:10px;min-width:0;max-height:calc(100vh - 24px);padding-right:2px;display:grid;position:sticky;top:12px;overflow-y:auto}.duty-list-heading{justify-content:space-between;align-items:end;gap:10px;display:flex}.duty-list-heading h3{margin-bottom:0;font-size:1rem}.duty-list-heading>strong{background:var(--panel-strong);min-width:34px;min-height:34px;color:var(--teal-deep);border-radius:8px;place-items:center;display:grid}.duty-group{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.duty-group>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 14px;font-weight:900;list-style:none;display:flex}.duty-group>summary::-webkit-details-marker{display:none}.duty-group>summary:after{color:var(--muted);content:"+";font-size:1.15rem}.duty-group[open]>summary{border-bottom:1px solid var(--line);background:#fbfcfa}.duty-group[open]>summary:after{content:"-"}.duty-group>summary strong{background:var(--panel-strong);min-width:30px;min-height:28px;color:var(--teal-deep);border-radius:8px;place-items:center;margin-left:auto;display:grid}.duty-group .data-table{padding:10px}.compact-duty-list{padding:0 10px;display:grid}.compact-duty-row{border-bottom:1px solid var(--line);gap:7px;padding:10px 0;display:grid}.compact-duty-row:last-child{border-bottom:0}.compact-duty-main{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:8px;display:grid}.compact-duty-main>strong{font-size:.95rem}.compact-duty-main b,.compact-duty-main small{display:block}.compact-duty-main b{overflow-wrap:anywhere;font-size:.82rem}.compact-duty-main small,.compact-duty-place{color:var(--muted);font-size:.7rem;font-weight:800}.compact-duty-main small{margin-top:2px}.compact-duty-tags{flex-wrap:wrap;gap:5px;display:flex}.compact-duty-tags .duty-mode,.compact-duty-tags .status{min-height:24px;padding:0 8px;font-size:.66rem}.compact-duty-actions{justify-content:flex-start}.duty-timeline-panel{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.timeline-heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.timeline-heading h3{margin-bottom:0;font-size:1.05rem}.timeline-heading>span{color:var(--muted);font-size:.78rem;font-weight:900}.duty-timeline-scroll{overscroll-behavior-x:contain;max-width:100%;padding-bottom:4px;overflow-x:auto}.duty-timeline{border:1px solid var(--line);background:#fff;border-radius:6px;overflow:hidden}.timeline-header-row,.timeline-duty-row{grid-template-columns:140px minmax(640px,1fr) 60px;align-items:stretch;display:grid}.timeline-header-row{background:#f1f5f9;min-height:38px}.timeline-header-row>strong{color:var(--muted);text-transform:uppercase;place-items:center;font-size:.72rem;display:grid}.timeline-header-row>strong:first-child,.timeline-duty-label{z-index:3;border-right:1px solid var(--line);position:sticky;left:0}.timeline-scale{min-height:38px;position:relative}.timeline-scale span{color:var(--muted);font-size:.68rem;font-weight:900;position:absolute;top:50%;transform:translate(-50%,-50%)}.timeline-scale span.first{transform:translate(2px,-50%)}.timeline-scale span.last{transform:translate(calc(-100% - 2px),-50%)}.timeline-duty-group h4{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-strong);color:var(--teal-deep);text-align:center;text-transform:uppercase;margin:0;padding:7px 10px;font-size:.8rem}.timeline-duty-row{border-bottom:1px solid var(--line);min-height:46px}.timeline-duty-row:last-child{border-bottom:0}.timeline-duty-label{background:#fff;grid-template-columns:38px minmax(0,1fr);align-content:center;gap:7px;padding:6px 8px;display:grid}.timeline-duty-label strong{font-size:.86rem}.timeline-duty-label span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:800;overflow:hidden}.timeline-track{background-color:#fff;background-image:linear-gradient(to right, transparent calc(100% - 1px), var(--line) 0);background-size:calc(100% / var(--timeline-segments)) 100%;min-height:46px;position:relative}.timeline-duty-bar{color:#134e4a;background:#ccfbf1;border:1px solid #0f766e;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;min-width:5px;padding:0 7px;display:flex;position:absolute;top:7px;bottom:7px;overflow:hidden}.timeline-duty-bar strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.72rem;overflow:hidden}.timeline-duty-bar span{flex:none;font-size:.64rem;font-weight:900}.timeline-duty-bar.r2,.timeline-duty-bar.rozklad{color:#1e3a8a;background:#dbeafe;border-color:#2563eb}.timeline-duty-bar.ksiazka{color:#334155;background:#f1f5f9;border-color:#64748b}.timeline-duty-bar.pogotowie{color:#92400e;background:#fef3c7;border-color:#d97706}.timeline-duty-bar.inna{color:#881337;background:#ffe4e6;border-color:#be123c}.timeline-duty-bar.inactive{opacity:.45}.timeline-no-time{border:1px dashed var(--line);color:var(--muted);border-radius:6px;place-items:center;font-size:.7rem;font-weight:800;display:grid;position:absolute;inset:8px}.timeline-duration{border-left:1px solid var(--line);place-items:center;font-size:.76rem;display:grid}.daily-plan-timeline .timeline-header-row,.daily-plan-timeline .timeline-duty-row{grid-template-columns:170px minmax(640px,1fr) 160px}.daily-plan-timeline .timeline-duty-group h4{text-align:left}.daily-plan-timeline-vehicle-ref{overflow-wrap:anywhere;text-align:center;padding:5px 8px}.daily-plan-timeline .timeline-duty-bar.unassigned{opacity:.64;border-style:dashed}.daily-plan-timeline .timeline-duty-bar.unassigned strong{font-style:italic}.user-form label{color:var(--muted);gap:6px;font-size:.78rem;font-weight:700;display:grid}.switch-field{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;min-height:42px;padding:0 12px;display:inline-flex!important}.switch-field input{min-height:auto}.primary,.ghost,.danger{border-radius:8px;min-height:42px;padding:0 16px;font-weight:900}.primary{border:1px solid var(--teal);background:var(--teal);color:#fff}.ghost{border:1px solid var(--line);color:var(--ink);background:#fff}.danger{background:var(--red-soft);color:var(--red);border:1px solid #b91c1c40}.link-button{justify-content:center;align-items:center;width:fit-content;text-decoration:none;display:inline-flex}.small{min-height:34px;padding:0 10px;font-size:.8rem}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reset{margin-top:18px}.badge,.mode,.plain-chip,.vehicle-tags span{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.74rem;font-weight:900;display:inline-flex}.badge{background:var(--panel-strong);color:var(--teal-deep)}.mode.tramwaj{background:var(--blue-soft);color:var(--blue)}.mode.autobus{background:var(--amber-soft);color:var(--amber)}.duty-mode{background:var(--blue-soft);width:fit-content;color:var(--blue)}.duty-mode.r2,.duty-mode.rozklad{background:var(--panel-strong);color:var(--teal-deep)}.duty-mode.ksiazka{color:var(--muted);background:#f1f5f9}.duty-mode.pogotowie{background:var(--amber-soft);color:var(--amber)}.vehicle-status{width:fit-content}.vehicle-status.czynny{background:var(--panel-strong);color:var(--teal-deep)}.vehicle-status.wylaczony{color:var(--muted);background:#f1f5f9}.vehicle-status.naprawa{background:var(--amber-soft);color:var(--amber)}.service-list,.line-list,.ranking-list,.vehicle-table{gap:10px;display:grid}.service-list.compact{gap:8px}.service-card,.line-card,.ranking-list article,.vehicle-table article,.empty-state,.progress-panel{border:1px solid var(--line);background:#fff;border-radius:8px}.service-card{gap:14px;padding:16px;display:grid}.service-main p,.service-note{margin-bottom:0}.service-time{justify-items:end;min-width:72px;display:grid}.service-time strong{font-size:1.1rem}.service-time span{color:var(--muted);font-weight:800}.capacity-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);padding:10px 0;font-weight:900}.gap-text{color:var(--amber);font-weight:900}.ok-text{color:var(--teal);font-weight:900}.crew-list{flex-wrap:wrap;gap:8px;display:flex}.crew-chip{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;grid-template-columns:24px auto 24px;align-items:center;min-height:34px;display:inline-grid;overflow:hidden}.crew-chip span{padding:0 8px;font-size:.84rem;font-weight:800}.check,.remove{width:24px;height:34px;color:var(--muted);background:0 0;border:0;font-weight:900}.check.checked{background:var(--teal);color:#fff}.remove:hover{background:var(--red-soft);color:var(--red)}.assign-select select{max-width:360px}.empty-state{padding:24px}.empty-state.compact{padding:16px}.empty-state p{margin-bottom:0}.split-panel{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;display:grid}.vehicle-table article,.ranking-list article{grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px;display:grid}.vehicle-table strong,.ranking-list strong{display:block}.vehicle-table span,.ranking-list span{color:var(--muted);font-size:.82rem}.line-card{gap:12px;padding:14px;display:grid}.line-card p{margin-bottom:0}.vehicle-tags{flex-wrap:wrap;gap:6px;display:flex}.vehicle-tags span,.plain-chip{background:var(--panel-strong);color:var(--teal-deep)}.data-table{gap:8px;display:grid}.data-row{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:12px;padding:12px;display:grid}.vehicles-table .data-row{grid-template-columns:minmax(240px,1.4fr) .6fr .9fr .5fr minmax(140px,1fr) auto}.duties-table .data-row{grid-template-columns:minmax(145px,.8fr) .72fr .85fr .9fr 1fr .72fr auto}.duties-table.no-actions .data-row{grid-template-columns:minmax(145px,.8fr) .72fr .85fr .9fr 1fr .72fr}.daily-plan-table .data-row{grid-template-columns:.45fr .6fr minmax(220px,1.3fr) minmax(140px,1fr) auto}.daily-plan-table.no-actions .data-row{grid-template-columns:.45fr .6fr minmax(220px,1.3fr) minmax(140px,1fr)}.users-table .data-row{grid-template-columns:minmax(220px,1.4fr) .55fr .7fr .7fr .8fr auto}.table-head{min-height:38px;color:var(--muted);text-transform:uppercase;background:#fbfcfa;font-size:.74rem;font-weight:900}.data-row strong,.data-row small{display:block}.data-row small{color:var(--muted);margin-top:3px}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.role-pill,.vehicle-status,.duty-mode,.status{border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:.74rem;font-weight:900;display:inline-flex}.vehicle-identity{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;display:grid}.vehicle-identity img,.vehicle-thumb-placeholder,.photo-preview img{border:1px solid var(--line);object-fit:cover;border-radius:8px;width:64px;height:48px}.vehicle-photo-button{cursor:zoom-in;background:0 0;border:0;border-radius:8px;width:fit-content;min-height:0;padding:0;display:block}.vehicle-photo-button:focus-visible{outline-offset:2px;outline:3px solid #0f766e4d}.vehicle-thumb-placeholder{color:var(--muted);text-transform:uppercase;background:#f1f5f9;place-items:center;font-size:.7rem;font-weight:900;display:grid}.photo-preview{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.photo-preview img{width:120px;height:82px}.photo-modal-backdrop{z-index:100;background:#0f172ab8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.photo-modal{background:#fff;border-radius:8px;gap:12px;width:min(980px,100vw - 40px);max-height:calc(100vh - 40px);padding:12px;display:grid;box-shadow:0 24px 80px #0f172a5c}.photo-modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.photo-modal>img{object-fit:contain;background:#f8fafc;border-radius:6px;width:100%;max-height:calc(100vh - 130px)}.audit-log-list{gap:8px;display:grid}.audit-log-row{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(170px,.65fr) 100px minmax(260px,1.6fr);align-items:center;gap:12px;padding:10px 2px;display:grid}.audit-log-row time,.audit-log-row small{color:var(--muted);font-size:.76rem;font-weight:800}.audit-log-row strong,.audit-log-row small{display:block}.audit-log-row p{margin:0}.audit-action{width:fit-content;min-height:26px;color:var(--muted);background:#f1f5f9;border-radius:999px;align-items:center;padding:0 9px;font-size:.72rem;font-weight:900;display:inline-flex}.changelog-view{gap:16px;display:grid}.changelog-total{background:var(--panel-strong);min-width:34px;min-height:34px;color:var(--teal-deep);border-radius:6px;place-items:center;display:grid}.changelog-release-heading{border-top:2px solid var(--teal);border-bottom:1px solid var(--line);background:var(--surface-soft);gap:10px;padding:14px;display:grid}.changelog-release-heading>div{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.changelog-release-heading time{color:var(--muted);font-size:.78rem;font-weight:900}.changelog-release-heading p{max-width:820px;color:var(--muted);margin:0}.changelog-version{background:var(--teal);color:#fff;border-radius:4px;align-items:center;min-height:28px;padding:0 9px;font-size:.75rem;font-weight:900;display:inline-flex}.changelog-sections{border-top:1px solid var(--line)}.changelog-section{border-bottom:1px solid var(--line)}.changelog-section summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:10px;min-height:52px;padding:8px 4px;font-weight:900;list-style:none;display:grid}.changelog-section summary::-webkit-details-marker{display:none}.changelog-section summary:after{color:var(--teal-deep);content:"+";text-align:center;font-size:1.2rem}.changelog-section[open] summary:after{content:"-"}.changelog-section summary>strong{background:var(--panel-strong);min-width:28px;height:28px;color:var(--teal-deep);border-radius:4px;place-items:center;font-size:.72rem;display:grid}.changelog-section ul{gap:7px;margin:0;padding:0 12px 16px 26px;display:grid}.changelog-section li{padding-left:3px;line-height:1.5}.changelog-section li::marker{color:var(--teal)}html[data-theme=dark] .changelog-version{color:#0d120f}.role-pill.admin{background:var(--red-soft);color:var(--red)}.role-pill.koordynator{background:var(--blue-soft);color:var(--blue)}.role-pill.konduktor,.status.active{background:var(--panel-strong);color:var(--teal-deep)}.status.inactive{color:var(--muted);background:#f1f5f9}.account-panel{border:1px solid var(--line);background:#fff;border-radius:8px;padding:18px}.profile-form{border-top:1px solid var(--line);grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr) auto;align-items:end;gap:10px;margin-top:18px;padding-top:16px;display:grid}.account-panel dl{gap:10px;margin:16px 0 0;display:grid}.account-panel dl div{border-top:1px solid var(--line);grid-template-columns:180px 1fr;gap:12px;padding-top:10px;display:grid}.account-panel dt{color:var(--muted);font-weight:900}.account-panel dd{margin:0;font-weight:800}.muted-line{color:var(--muted);font-weight:800}.stat-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.progress-panel{padding:18px}.progress-panel span{color:var(--muted);font-size:.82rem;font-weight:900}.progress-panel strong{margin:8px 0 12px;font-size:2rem;display:block}.progress-track{background:var(--panel-strong);border-radius:999px;height:10px;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--teal);height:100%;display:block}.progress-track.amber i{background:var(--amber)}.progress-panel p{margin:10px 0 0}.conductor-bar{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;padding:12px}.conductor-bar div{gap:3px;display:grid}.conductor-bar div span{color:var(--muted);font-size:.82rem;font-weight:800}.availability{border:1px solid var(--amber);background:var(--amber-soft);min-height:42px;color:var(--amber);border-radius:8px;padding:0 14px;font-weight:900}.availability.active,.checked-in{border-color:var(--teal);background:var(--teal);color:#fff}html[data-theme=dark] :where(.account-box,.auth-card,input,select,.segmented,.tabs,.calendar-panel,.main-panel,.icon-button,.day-cell,.upcoming-item,.checkbox-list label,.calendar-day,.daily-duty-item,.duty-group,.duty-timeline,.timeline-duty-label,.timeline-track,.switch-field,.ghost,.service-card,.line-card,.ranking-list article,.vehicle-table article,.empty-state,.progress-panel,.data-row,.account-panel,.photo-modal){background:var(--panel)}html[data-theme=dark] :where(input[readonly],.timeline-header-row,.vehicle-thumb-placeholder,.audit-action,.status.inactive,.duty-mode.ksiazka,.vehicle-status.wylaczony){background:var(--surface-muted)}html[data-theme=dark] :where(.upcoming-item:hover,.inline-form,.vehicle-form,.line-form,.user-form,.duty-form,.assignment-form,.availability-card,.duty-detail-panel,.duty-group[open]>summary,.duty-timeline-panel,.table-head,.crew-chip,.conductor-bar){background:var(--surface-soft)}html[data-theme=dark] .calendar-day.has-my-assignment,html[data-theme=dark] .train-manager-pill{background:var(--amber-soft);color:var(--amber)}html[data-theme=dark] .timeline-duty-bar{border-color:var(--teal);color:#a5eee5;background:#173d38}html[data-theme=dark] .timeline-duty-bar.r2,html[data-theme=dark] .timeline-duty-bar.rozklad{border-color:var(--blue);background:var(--blue-soft);color:#bad0ff}html[data-theme=dark] .timeline-duty-bar.ksiazka{border-color:var(--muted);background:var(--surface-muted);color:var(--ink)}html[data-theme=dark] .timeline-duty-bar.pogotowie{border-color:var(--amber);background:var(--amber-soft);color:#ffd49a}html[data-theme=dark] .timeline-duty-bar.inna{border-color:var(--red);color:#ffc1ca;background:#42232c}html[data-theme=dark] .photo-modal>img{background:var(--surface-muted)}html[data-theme=dark] .club-logo-image{filter:invert()grayscale()brightness(1.15);mix-blend-mode:screen}html[data-theme=retro] body{-webkit-font-smoothing:none;font-family:Courier New,Courier,monospace;font-size:15px}html[data-theme=retro] :where(button,input,select,.auth-card,.account-box,.theme-toggle,.segmented,.tabs,.calendar-panel,.main-panel,.notice,.calendar-day,.day-cell,.upcoming-item,.inline-form,.vehicle-form,.line-form,.user-form,.duty-form,.assignment-form,.availability-card,.daily-duty-item,.duty-group,.duty-timeline-panel,.duty-timeline,.timeline-duty-bar,.timeline-no-time,.switch-field,.badge,.mode,.plain-chip,.vehicle-tags span,.role-pill,.vehicle-status,.duty-mode,.status,.service-card,.line-card,.ranking-list article,.vehicle-table article,.empty-state,.progress-panel,.data-row,.account-panel,.photo-modal){box-shadow:none;border-radius:0}html[data-theme=retro] :where(.auth-card,.main-panel,.photo-modal){background-color:var(--panel);background-image:repeating-linear-gradient(0deg,#0000 0 23px,#00000009 24px)}html[data-theme=retro] .topbar h1{color:#fff58a;text-transform:uppercase;font-size:2rem}html[data-theme=retro] .topbar .club-logo-image{filter:invert()sepia()saturate(4)brightness(1.15);mix-blend-mode:screen}html[data-theme=retro] .auth-card .club-logo-image{filter:none;mix-blend-mode:multiply}html[data-theme=retro] .topbar-actions{color:#fff58a}html[data-theme=retro] .account-box,html[data-theme=retro] .theme-toggle{color:#fff58a;background:#050505;border-color:#fff58a}html[data-theme=retro] .account-box span,html[data-theme=retro] .account-box strong,html[data-theme=retro] .account-box a,html[data-theme=retro] .account-box button,html[data-theme=retro] .theme-toggle small{color:#fff58a}html[data-theme=retro] .tabs{background:#050505;border-color:#fff58a}html[data-theme=retro] .tabs button{color:#fff58a;text-decoration:underline}html[data-theme=retro] .tabs button.active{color:#050505;background:#fff58a;text-decoration:none}html[data-theme=retro] :where(.inline-form,.vehicle-form,.line-form,.user-form,.duty-form,.assignment-form,.availability-card,.duty-timeline-panel){border-style:dashed}html[data-theme=retro] :where(.eyebrow,.calendar-weekday,.table-head,.timeline-duty-group h4){font-family:Courier New,Courier,monospace;font-weight:700}html[data-theme=retro] .primary,html[data-theme=retro] .calendar-day.selected,html[data-theme=retro] .calendar-day.selected.has-assignments,html[data-theme=retro] .availability.active,html[data-theme=retro] .checked-in{color:#fff58a;background:#050505;border-color:#050505}html[data-theme=retro] .timeline-track{background-color:var(--panel);background-image:linear-gradient(to right, transparent calc(100% - 1px), var(--line) 0)}@media (max-width:1100px){.topbar,.workspace,.calendar-workspace,.upcoming-list,.split-panel,.stat-layout,.data-row,.vehicles-table .data-row,.duties-table .data-row,.duties-table.no-actions .data-row,.daily-plan-table .data-row,.daily-plan-table.no-actions .data-row,.users-table .data-row{grid-template-columns:1fr}.topbar-actions{justify-content:flex-start}.calendar-panel{position:static}.duties-workspace{grid-template-columns:1fr}.duty-list-pane{max-height:none;padding-right:0;position:static;overflow:visible}.metric-grid,.inline-form,.vehicle-form,.duty-form,.assignment-form,.line-form,.profile-form,.user-form{grid-template-columns:repeat(2,minmax(0,1fr))}.row-actions{justify-content:flex-start}.daily-duty-summary,.manager-availability,.duty-detail-panel,.audit-log-row,.driver-form,.driver-shift-row,.vehicle-duty-item,.vehicle-duty-assign-form,.legacy-assignment-row{grid-template-columns:1fr}.vehicle-duty-assignment{grid-template-columns:1fr auto}}@media (max-width:640px){.app-shell{width:min(100% - 20px,1480px);padding-top:12px}.metric-grid,.inline-form,.vehicle-form,.duty-form,.assignment-form,.line-form,.profile-form,.user-form{grid-template-columns:1fr}.account-box{min-width:0}.topbar-actions{grid-template-columns:1fr;width:100%;display:grid}.topbar-actions .theme-toggle{width:100%}.account-box span,.account-box strong{overflow-wrap:anywhere}.assignment-actions,.availability-actions{grid-template-columns:1fr;width:100%;display:grid}.assignment-actions button,.availability-actions button{width:100%}.availability-card{flex-wrap:nowrap}.manager-availability,.availability-board{flex:0 auto;width:100%}.account-panel dl div{grid-template-columns:1fr}.panel-heading,.section-heading,.calendar-heading,.timeline-heading,.service-main,.capacity-row,.conductor-bar,.availability-card{flex-direction:column;align-items:stretch}.service-time{justify-items:start}.tabs{width:100%}.tabs button,.segmented button{flex:auto}.calendar-controls{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.calendar-controls button{width:100%}.month-calendar{gap:5px}.calendar-day{min-height:42px;padding:5px}.calendar-day strong{font-size:.86rem}.day-cell{min-height:50px;padding:6px}.vehicle-duty-slots-heading,.vehicle-duty-slot-add,.daily-vehicle-heading,.vehicle-section-heading,.driver-shift-row,.legacy-assignment-row{flex-direction:column;align-items:stretch}.vehicle-duty-slot-add,.vehicle-plan-add{width:100%}.vehicle-duty-slot-add select,.vehicle-plan-add label{flex-basis:auto;width:100%}.vehicle-plan-add,.driver-form,.vehicle-duty-assign-form,.vehicle-duty-list-controls,.vehicle-day-duty-add,.standalone-duty-row{grid-template-columns:1fr}.standalone-duty-row .vehicle-duty-item{grid-column:1}.standalone-duty-remove,.batch-assignment-bar .primary{width:100%}.batch-assignment-bar{align-items:stretch}.vehicle-plan-add .primary,.driver-form button,.vehicle-duty-assign-form button,.vehicle-duty-list-controls button,.vehicle-day-duty-add button,.daily-vehicle-toggle{width:100%}.daily-vehicle-card{padding:10px}.vehicle-duty-item{gap:8px}.vehicle-duty-assignment .danger{grid-column:2}.brand-lockup{gap:8px}.brand-lockup .club-logo{width:118px;height:52px}.brand-lockup h1{font-size:1.55rem}.auth-card-topline{grid-template-columns:1fr}.auth-card-topline .theme-toggle{justify-self:end}}
