:root{--sidebar-width: 184px;--sidebar-rail-width: 56px;--content-padding: 32px;--font-sans: "Montserrat", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-primary: #0d6e38;--color-primary-hover: #0a5a2e;--color-primary-soft: #e8f4ec;--color-secondary: #585b5c;--color-text: #1f2d24;--color-text-muted: #585b5c;--color-sidebar-background: #173627;--color-sidebar-accent: #214b35;--color-sidebar-text: #f7fbf8;--color-sidebar-text-muted: #c9d8cf;--color-surface: #ffffff;--color-surface-soft: #f5f8f4;--color-border: #d8e1db;--color-border-strong: #c4d2c8;--color-shadow: rgba(17, 38, 27, .08);font-family:var(--font-sans);color:var(--color-text);background:linear-gradient(180deg,#f7faf7,#eef3ef);line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;font-family:var(--font-sans);color:var(--color-text);background:linear-gradient(180deg,#f7faf7,#eef3ef)}a{color:inherit;text-decoration:none}#root{min-height:100vh}.app-shell{min-height:100vh;height:100vh;overflow:hidden}.mobile-menu-button,.sidebar-backdrop{display:none}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-rail-width);height:100vh;padding:18px 8px;background:linear-gradient(180deg,var(--color-sidebar-background) 0%,#112a1d 100%);color:var(--color-sidebar-text);overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:22px;z-index:1080;box-shadow:8px 0 22px #11261b0f;transition:width .18s ease,padding .18s ease,box-shadow .18s ease;will-change:width}.app-shell-sidebar-expanded .sidebar{width:var(--sidebar-width);padding:18px 12px;box-shadow:10px 0 28px #11261b1a}.sidebar-header{display:grid;min-width:0;padding-bottom:12px}.brand{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:9px;row-gap:3px;align-items:center;min-width:0}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:#ffffff1a;color:#fff;font-size:18px;font-weight:800;letter-spacing:.04em;line-height:1}.brand strong{min-width:0;font-size:20px;line-height:1;letter-spacing:.01em;font-weight:800;opacity:0;transform:translate(-6px);transition:opacity .18s ease,transform .18s ease;white-space:nowrap}.brand>span:not(.brand-mark){color:var(--color-sidebar-text-muted);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translate(-6px);transition:opacity .18s ease,transform .18s ease;white-space:nowrap}.planning-service-card-resource-value{font-weight:700}.app-shell-sidebar-expanded .brand strong,.app-shell-sidebar-expanded .brand>span:not(.brand-mark){opacity:1;transform:translate(0)}.nav{display:grid;gap:6px;margin-bottom:auto}.nav-link{display:flex;align-items:center;gap:9px;width:40px;height:38px;padding:0 9px;border-radius:10px;color:#d8e7de;transition:background-color .18s ease,color .18s ease}.nav-link-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;flex:0 0 20px;font-size:15px;line-height:1}.nav-link-label{min-width:0;opacity:0;transform:translate(-6px);transition:opacity .18s ease,transform .18s ease;white-space:nowrap}.app-shell-sidebar-expanded .nav-link{width:100%}.app-shell-sidebar-expanded .nav-link-label{opacity:1;transform:translate(0)}.nav-link:hover{background:#ffffff14;color:#fff}.nav-link.active{background:#0d6e384d;color:#fff}.sidebar-footer{display:grid;grid-template-columns:34px;align-items:center;justify-content:center;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(201,216,207,.2);min-height:49px;min-width:0;overflow:hidden}.app-shell-sidebar-expanded .sidebar-footer{grid-template-columns:minmax(0,1fr) 34px;grid-template-rows:auto auto;justify-content:space-between}.sidebar-version{display:none;color:var(--color-sidebar-text-muted);font-size:12px;line-height:1.4;letter-spacing:.04em;opacity:0;transform:translate(-6px);width:0;overflow:hidden;transition:opacity .18s ease,transform .18s ease,width .18s ease;white-space:nowrap}.sidebar-signout{grid-column:1;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#ffffff14;color:var(--color-sidebar-text);cursor:pointer;overflow:hidden;transition:background-color .18s ease,border-color .18s ease,width .18s ease}.sidebar-signout:hover,.sidebar-signout:focus-visible{border-color:#ffffff4d;background:#ffffff29}.sidebar-signout-icon{flex:0 0 auto;font-size:18px;transform:rotate(180deg)}.sidebar-signout-label{width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:opacity .18s ease,width .18s ease}.app-shell-sidebar-expanded .sidebar-signout{grid-column:1 / 3;grid-row:1;justify-content:flex-start;gap:9px;width:100%;padding:0 10px}.app-shell-sidebar-expanded .sidebar-signout-label{width:auto;opacity:1}.app-shell-sidebar-expanded .sidebar-version{display:block;grid-column:1;grid-row:2;opacity:1;transform:translate(0);width:96px}.sidebar-lock-button{grid-column:2;grid-row:2;display:none;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#ffffff14;color:var(--color-sidebar-text);cursor:pointer;opacity:0;pointer-events:none;visibility:hidden;transition:background-color .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease}.app-shell-sidebar-expanded .sidebar-lock-button{display:inline-flex;opacity:1;pointer-events:auto;visibility:visible}.sidebar-lock-button:hover,.sidebar-lock-button:focus-visible,.sidebar-lock-button-locked{border-color:#ffffff4d;background:#ffffff29}.sidebar-rail-lock-zone{grid-column:2;grid-row:1;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px}.app-shell-sidebar-expanded .sidebar-rail-lock-zone{opacity:0;pointer-events:none;visibility:hidden}.sidebar-rail-lock-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#ffffff14;color:var(--color-sidebar-text);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.sidebar-rail-lock-button:hover,.sidebar-rail-lock-button:focus-visible,.sidebar-rail-lock-button-locked{border-color:#ffffff4d;background:#ffffff29}.sidebar-rail-lock-button-locked{box-shadow:inset 0 0 0 1px #ffffff1f}.content{margin-left:var(--sidebar-rail-width);height:100vh;padding:var(--content-padding);overflow-y:auto;overflow-x:hidden;min-width:0;transition:margin-left .18s ease;will-change:margin-left}.app-shell-sidebar-expanded .content{margin-left:var(--sidebar-width)}.page{display:grid;gap:20px;min-height:calc(100vh - (var(--content-padding) * 2));min-width:0}.startup-error,.login-page{width:min(560px,calc(100% - 40px));min-height:100vh;margin:0 auto;display:grid;align-content:center;gap:20px}.startup-error{text-align:center}.startup-error button{justify-self:center}.login-card{display:grid;gap:16px}.login-card h2,.login-card p{margin:0}.login-card .button{justify-self:start}.login-form{display:grid;gap:.9rem;margin-bottom:1rem}.login-form label{display:grid;gap:.35rem;font-weight:650;text-align:left}.login-form input{min-height:44px;border:1px solid var(--border-color, #d5d9e0);border-radius:8px;padding:.65rem .75rem;font:inherit}.login-divider{display:flex;align-items:center;gap:.75rem;color:#6b7280}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#d5d9e0}.login-help{font-size:.9rem;color:#6b7280}.selection-list{display:grid;gap:.75rem}.sidebar-account{display:grid;gap:.15rem;padding:.5rem;font-size:.78rem}.sidebar-account button{border:0;padding:0;background:transparent;color:inherit;text-align:left;text-decoration:underline;cursor:pointer}.page-settings-home{align-content:start;justify-items:stretch;gap:24px;min-height:auto;width:min(1180px,100%);margin-inline:auto}.page-header h1,.card h2{margin:0 0 8px}.page-header h1{font-size:clamp(2rem,2.8vw,2.4rem);line-height:1.1}.page-header p,.card p{margin:0;color:var(--color-text-muted)}.card{padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 10px 30px var(--color-shadow);min-width:0}.section-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.button{border:0;border-radius:12px;padding:12px 16px;font:inherit;cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.button:disabled{cursor:wait;opacity:.62}.button-secondary{border:1px solid var(--color-border);background:#ffffffdb;color:var(--color-secondary);box-shadow:0 6px 18px #11261b14}.button-secondary:hover{background:#fff;color:var(--color-primary);box-shadow:0 10px 22px #11261b1f}.button-primary{background:var(--color-primary);color:#fff;box-shadow:0 10px 20px #0d6e3833}.button-primary:hover{background:var(--color-primary-hover)}.drivers-overview,.vehicles-overview,.depots-overview,.settings-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.overview-card{padding:18px 20px;background:#ffffffd6;border:1px solid var(--color-border);border-radius:16px;display:grid;gap:4px}.overview-card strong{font-size:28px}.overview-card span{color:var(--color-text-muted)}.drivers-layout,.vehicles-layout,.depots-layout{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:20px;align-items:stretch;min-height:0}.settings-layout{display:grid;gap:20px}.settings-subnav{display:flex;align-items:center;gap:12px}.settings-home-hero{display:grid;gap:8px;max-width:760px}.settings-home-hero .page-header h1{margin-bottom:0}.settings-home-hero p{margin:0;color:var(--color-text-muted);font-size:15px;line-height:1.55}.settings-home-section{display:grid;gap:14px;width:100%}.settings-home-section-heading{display:grid;gap:4px}.settings-home-section-heading h2{margin:0;color:var(--color-text);font-size:18px}.settings-home-section-heading p{margin:0;color:var(--color-text-muted);font-size:14px}.settings-home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.settings-home-tile{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;min-height:112px;padding:14px;border:1px solid color-mix(in srgb,var(--color-border) 82%,var(--color-primary));border-radius:12px;background:linear-gradient(180deg,#fffffff0,#f9fcf9f0),var(--color-surface);color:inherit;text-decoration:none;box-shadow:0 10px 26px #11261b14;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.settings-home-tile:hover,.settings-home-tile:focus-visible{border-color:color-mix(in srgb,var(--color-primary) 44%,var(--color-border));box-shadow:0 14px 30px #11261b1f;transform:translateY(-1px);outline:3px solid color-mix(in srgb,var(--color-primary) 16%,transparent);outline-offset:2px}.settings-home-tile-icon{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);border-radius:12px;background:color-mix(in srgb,var(--color-primary-soft) 78%,white);color:var(--color-primary)}.settings-home-tile-icon svg{width:19px;height:19px;fill:currentColor}.settings-home-tile-content{display:grid;align-content:start;gap:4px;min-width:0}.settings-home-tile-content strong{color:var(--color-text);font-size:16px;line-height:1.25}.settings-home-tile-content span{color:var(--color-text-muted);font-size:12.5px;line-height:1.35}.settings-data-grid{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(360px,1.22fr);gap:16px;align-items:start}.settings-backup-card{display:grid;gap:18px;width:100%;margin-top:0}.settings-data-card{align-content:start;border-radius:14px}.settings-data-card-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.settings-backup-heading{display:grid;gap:6px}.settings-backup-heading h2{margin-bottom:0;font-size:20px}.settings-backup-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.settings-pysae-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-pysae-summary{display:grid;gap:14px;padding:14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted)}.settings-pysae-summary h3{margin:0;font-size:16px}.settings-pysae-summary dl{display:grid;gap:8px;margin:0}.settings-pysae-summary dl div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--color-border);padding-bottom:8px}.settings-pysae-summary dl div:last-child{border-bottom:0;padding-bottom:0}.settings-pysae-summary dt,.settings-pysae-summary dd{margin:0}.settings-pysae-summary dt{color:var(--color-text-muted)}.settings-pysae-summary dd{font-weight:700;text-align:right}.settings-pysae-warning{margin:0;color:var(--color-text)}.settings-page-back{margin-bottom:12px}.settings-planning-card{display:grid;gap:16px;width:min(760px,100%)}.planning-recurring-note-rule-list{display:grid;gap:10px}.planning-recurring-note-rule-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:#fbfcfb}.planning-recurring-note-rule-card h3,.planning-recurring-note-rule-card p{margin:0}.planning-recurring-note-rule-card h3{color:var(--color-text);font-size:15px}.planning-recurring-note-rule-card p{margin-top:4px;color:var(--color-text);font-size:13px}.planning-recurring-note-rule-card span{display:block;margin-top:4px;color:var(--color-text-muted);font-size:12px;font-weight:700}.planning-recurring-note-rule-actions,.planning-recurring-note-form,.planning-recurring-note-drivers{display:grid;gap:10px}.planning-recurring-note-rule-actions{justify-items:end}.planning-recurring-note-form-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.planning-recurring-note-active{align-self:center;margin-bottom:8px}.planning-recurring-note-date-list{display:grid;gap:8px}.planning-recurring-note-date-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.planning-recurring-note-date-remove,.planning-recurring-note-date-add{min-height:36px}.planning-recurring-note-application-panel .service-multi-calendar-day-today{position:relative;border-color:color-mix(in srgb,var(--color-primary) 72%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 28%,transparent);font-weight:850}.planning-recurring-note-application-panel .service-multi-calendar-day-today:before,.planning-recurring-note-application-panel .service-multi-calendar-day-today:after{display:none;content:none}.planning-recurring-note-drivers{padding:12px;border:1px solid var(--color-border);border-radius:10px}.planning-recurring-note-drivers legend{padding:0 6px;color:var(--color-text);font-size:13px;font-weight:800}.planning-recurring-note-driver-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 12px;max-height:240px;overflow-y:auto;padding-top:4px}.services-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;width:100%;min-width:0}.services-page-toolbar-left,.services-page-toolbar-right{display:flex;align-items:center;gap:12px;min-width:0}.services-page-toolbar-left{flex:1 1 auto;flex-wrap:wrap}.services-page-toolbar-right{flex:0 0 auto;justify-content:flex-end}.services-page-toolbar>.services-page-toolbar-left>.button,.services-page-toolbar>.services-page-toolbar-right>.button{display:inline-flex;align-items:center;min-height:40px;height:40px;padding:8px 14px;border-radius:12px;box-sizing:border-box}.services-page-toolbar>.services-page-toolbar-right>.button-primary{padding-inline:18px}.services-page-toolbar-spacer{display:none;min-width:0}.services-page-search{flex:0 1 clamp(260px,28vw,420px);min-width:min(100%,220px);max-width:100%}.services-page-search input{width:100%;min-height:40px;padding:9px 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:14px;font-weight:600}.services-page-search input:focus{outline:2px solid rgba(45,106,79,.2);border-color:var(--color-primary)}.services-page-shell{display:flex;flex-direction:column;align-content:start;gap:12px;height:calc(100vh - (var(--content-padding) * 2));min-height:0;overflow:hidden}.services-page-section{display:grid;gap:10px}.services-page-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:4px 2px 0}.services-page-section-heading h2{margin:0;font-size:20px}.services-page-section-heading p{margin:4px 0 0;color:var(--color-text-muted);font-size:13px}.services-list-shell{display:flex;flex-direction:column;position:relative;flex:1 1 auto;min-height:0;padding:0;overflow:hidden;isolation:isolate}.services-page-section .services-list-shell{height:min(520px,max(320px,calc(100vh - 320px)))}#services-expired .services-list-shell{flex:0 0 auto;height:auto;max-height:none}#services-expired .services-table-scroll{flex:0 0 auto;height:auto;max-height:clamp(150px,20vh,220px)}.occasional-services-page{align-content:start;gap:14px;width:100%;max-width:none;margin:0}.occasional-services-overview{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.occasional-stat-card{display:grid;justify-items:start;align-content:center;gap:5px;min-height:auto;padding:16px 18px;border-radius:14px}.occasional-stat-card strong{font-size:28px;line-height:1}.occasional-stat-card span{font-size:13px;font-weight:800;color:var(--color-text-muted)}.occasional-services-toolbar{margin-bottom:0;padding:12px 14px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 8px 24px #11261b0f}.occasional-services-toolbar .services-page-toolbar-left{flex:1 1 auto}.occasional-services-toolbar .services-page-search{flex:1 1 340px;max-width:560px}.occasional-services-filter{display:flex;align-items:center;gap:10px;color:var(--color-text-muted);font-size:14px;font-weight:700}.occasional-services-filter select{border:1px solid var(--color-border-strong);border-radius:999px;padding:10px 34px 10px 14px;background:#fff;color:var(--color-text);font:inherit}.occasional-services-list-card{border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 10px 30px var(--color-shadow);min-width:0}.occasional-services-list-card{padding:14px}.occasional-folder-form-layout{width:100%;max-width:none;min-width:0}.occasional-folder-page-toolbar{margin:0}.occasional-folder-list{display:grid;gap:10px}.occasional-folder-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,auto);gap:12px;align-items:center;border:1px solid var(--color-border);border-radius:12px;background:#fff;padding:12px}.occasional-folder-main{display:grid;gap:5px;min-width:0;border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.occasional-folder-card-topline,.occasional-folder-actions,.occasional-folder-detail-actions,.occasional-editor-form-header{display:flex;align-items:center;gap:10px}.occasional-folder-card-topline{justify-content:space-between}.occasional-folder-card-topline strong{min-width:0;overflow-wrap:anywhere}.occasional-folder-meta,.occasional-folder-route,.occasional-folder-customer,.occasional-folder-updated{min-width:0;color:var(--color-text-muted);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.occasional-folder-route{color:var(--color-text);font-weight:700}.occasional-folder-updated{font-size:12px}.occasional-folder-actions{justify-content:flex-end;flex-wrap:wrap}.occasional-folder-actions .button,.occasional-folder-detail-actions .button{min-height:34px;padding:8px 10px;font-size:13px}.occasional-folder-status{display:inline-flex;align-items:center;flex:0 0 auto;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.occasional-folder-status-active{background:#e4f5eb;color:#247342}.occasional-folder-status-archived{background:#eceff2;color:#64707b}.occasional-services-kicker{display:inline-flex;margin-bottom:6px;color:var(--color-primary);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.occasional-folder-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:0 2px;background:transparent}.occasional-folder-detail-header h2,.occasional-services-empty-state h2{margin:0;font-size:22px}.occasional-folder-detail-header p,.occasional-services-empty-state p{margin:6px 0 0;color:var(--color-text-muted)}.occasional-folder-edit-section{gap:10px;padding:14px}.occasional-folder-form-layout .service-form-section h3{margin:0;color:var(--color-text);font-size:15px}.occasional-folder-timestamps{display:grid;align-content:center;gap:5px;min-width:0;border-radius:12px;padding:11px 12px;background:#fff;color:var(--color-text-muted);font-size:13px;font-weight:700}.occasional-folder-construction-section{display:grid;gap:12px;border:1px solid rgba(13,110,56,.22);border-radius:14px;padding:14px;background:color-mix(in srgb,var(--color-primary) 8%,white)}.occasional-construction-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.occasional-construction-summary span{display:inline-flex;align-items:center;min-height:28px;border:1px solid rgba(13,110,56,.18);border-radius:999px;padding:5px 10px;background:#ffffffc7;color:var(--color-text);font-size:12px;font-weight:800}.occasional-folder-accordion{gap:0;background:var(--color-surface);overflow:hidden}.occasional-folder-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;color:var(--color-text);font-weight:800;cursor:pointer}.occasional-folder-accordion summary::-webkit-details-marker{display:none}.occasional-folder-accordion summary:after{content:"▼";color:var(--color-primary);font-size:16px;transition:transform .16s ease}.occasional-folder-accordion[open] summary:after{transform:rotate(180deg)}.occasional-folder-accordion summary small{color:var(--color-text-muted);font-size:12px;font-weight:700}.occasional-folder-accordion>.form-grid,.occasional-folder-accordion>.field{margin-top:12px}.occasional-folder-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.occasional-folder-section-heading p{margin:3px 0 0;color:var(--color-text-muted);font-size:13px}.occasional-folder-section-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.occasional-folder-detail-actions{justify-content:flex-end;flex-wrap:wrap}.occasional-folder-days-section{border:1px solid var(--color-border);border-radius:14px;padding:16px;background:var(--color-surface-soft)}.occasional-days-empty-state{display:grid;justify-items:start;gap:10px;border:1px dashed var(--color-border-strong);border-radius:12px;padding:14px;background:#fff}.occasional-days-empty-state p{margin:0;color:var(--color-text-muted)}.occasional-days-list{display:grid;gap:10px}.occasional-day-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,auto);gap:12px;align-items:center;border:1px solid var(--color-border);border-radius:12px;padding:12px;background:#fff}.occasional-day-card-selected{border-color:#0d6e3861;box-shadow:0 0 0 3px #0d6e381a}.occasional-day-main{display:grid;gap:4px;min-width:0;color:var(--color-text-muted);font-size:13px}.occasional-day-main-button{border:0;padding:0;background:transparent;text-align:left;cursor:pointer}.occasional-day-main-button:hover .occasional-day-title,.occasional-day-main-button:focus-visible .occasional-day-title{color:var(--color-primary)}.occasional-day-card-topline{display:flex;align-items:center;gap:8px;justify-content:space-between;color:var(--color-text)}.occasional-day-title{color:var(--color-text);font-weight:800;overflow-wrap:anywhere}.occasional-day-linked-label{color:var(--color-primary);font-weight:800}.occasional-day-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.occasional-day-actions .button{min-height:34px;padding:8px 10px;font-size:13px}.occasional-day-linked-action{cursor:default}.occasional-day-status{display:inline-flex;align-items:center;flex:0 0 auto;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.occasional-day-status-draft{background:#eef6f2;color:#247342}.occasional-day-status-sentToPlanning{background:#e8f0ff;color:#245d9f}.occasional-day-status-archived{background:#eceff2;color:#64707b}.occasional-services-empty-state{display:grid;justify-items:center;gap:8px;padding:38px 18px;text-align:center}.occasional-services-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:color-mix(in srgb,var(--color-primary) 10%,white);font-size:26px}.occasional-editor-form-header{justify-content:space-between}.occasional-editor-form-header p{margin-top:4px;color:var(--color-text-muted);font-size:14px}.occasional-service-folder-form-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px}.occasional-service-folder-form-grid>*{min-width:0}.occasional-service-folder-notes-field{grid-column:1 / -1}.occasional-day-form-section-heading{grid-column:1 / -1;padding-top:4px;border-top:1px solid var(--color-border)}.occasional-day-form-section-heading:first-child{padding-top:0;border-top:0}.occasional-day-form-section-heading h4,.occasional-day-mission-preview h4{margin:0;color:var(--color-text);font-size:14px}.occasional-day-mission-preview{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:12px;padding:12px;background:var(--color-surface-soft)}.occasional-day-mission-preview ul{display:grid;gap:6px;margin:0;padding-left:18px}.occasional-day-mission-preview li,.occasional-day-mission-preview p{margin:0;color:var(--color-text-muted);font-size:13px;line-height:1.4}.occasional-day-construction-editor{display:grid;gap:12px;min-width:0}.occasional-day-construction-editor .service-form-section{margin:0;border-radius:12px;box-shadow:none}.occasional-bulk-calendar{display:grid;gap:10px;margin-bottom:14px}.occasional-day-page-form{display:grid;gap:16px;width:100%;min-width:0;max-width:none;padding:0;border:0;background:transparent;box-shadow:none}.occasional-day-page-form>.occasional-editor-form-header,.occasional-day-page-form>.form-grid,.occasional-day-page-form>.occasional-bulk-calendar,.occasional-day-page-form>.modal-actions{border:1px solid var(--color-border);border-radius:16px;padding:16px;background:var(--color-surface);box-shadow:0 8px 24px #11261b0f}.occasional-day-page-form .occasional-service-folder-form-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.occasional-day-page-form .occasional-day-construction-editor{width:100%}.occasional-day-page-form .service-form-section{border-radius:14px}.occasional-inline-day-editor{margin-top:4px}.occasional-inline-empty{display:grid;gap:4px;border:1px dashed rgba(13,110,56,.28);border-radius:14px;padding:14px;background:#ffffffbd;color:var(--color-text-muted);font-size:13px}.occasional-inline-empty strong{color:var(--color-text)}.services-detail-shell{border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 10px 30px var(--color-shadow);overflow:hidden}.services-editor-page{align-content:start}.services-editor-toolbar{align-items:center}.services-editor-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.service-editor-badge{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid var(--color-border);border-radius:999px;background:#ffffffd6;color:var(--color-text-muted);font-size:13px;font-weight:600}.service-form-layout{display:grid;gap:16px;align-content:start;min-width:0}.service-form-section{display:grid;gap:14px}.service-form-section:first-of-type>.section-toolbar{margin-bottom:8px}.service-form-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.form-grid.service-general-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px 14px;align-items:start}.service-general-field-name,.service-general-field-title,.service-general-field-nature{grid-column:span 4}.service-general-field-market,.service-general-field-vehicle{grid-column:span 6}.service-general-field-default-assignments{grid-column:1 / -1}.service-default-assignments-card{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--color-border) 88%,white);border-radius:10px;background:color-mix(in srgb,var(--color-surface) 92%,white)}.service-default-assignments-header h3{margin:0;font-size:13px;line-height:1.3;font-weight:600}.service-default-assignments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;align-items:start}.service-default-assignments-footer{display:flex;flex-direction:column;gap:4px}.service-default-vehicle-periods-card{display:flex;flex-direction:column;gap:14px;margin-top:12px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--color-border) 88%,white);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-surface) 98%,white),color-mix(in srgb,var(--color-surface) 91%,white));box-shadow:0 10px 26px color-mix(in srgb,var(--color-text) 7%,transparent)}.service-default-vehicle-periods-table-wrap{overflow-x:auto}.service-default-vehicle-periods-table{width:100%;border-collapse:collapse;font-size:13px}.service-default-vehicle-periods-table th,.service-default-vehicle-periods-table td{padding:10px 12px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 86%,white);text-align:left;vertical-align:middle}.service-default-vehicle-periods-table th{color:var(--color-text-muted);font-size:12px;font-weight:600}.service-default-vehicle-period-actions,.service-default-vehicle-period-editor{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.service-default-vehicle-period-actions{gap:6px}.service-default-vehicle-period-action-button{min-height:30px;padding:5px 9px;font-size:12px}.service-default-vehicle-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 11%,white);color:color-mix(in srgb,var(--color-primary) 82%,var(--color-text));font-weight:650}.service-default-vehicle-badge-empty{background:color-mix(in srgb,var(--color-border) 50%,white);color:var(--color-text-muted)}.service-default-vehicle-period-note{display:block;margin-top:5px;color:var(--color-text-muted);font-size:12px}.service-default-vehicle-period-panel{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid color-mix(in srgb,var(--color-border) 82%,white);border-radius:12px;background:color-mix(in srgb,var(--color-surface) 96%,white)}.service-default-vehicle-period-panel-heading{display:flex;flex-direction:column;gap:2px}.service-default-vehicle-period-panel-heading h4{margin:0;font-size:13px;font-weight:700}.service-default-vehicle-period-panel-heading p{margin:0}.service-default-vehicle-period-editor .field,.service-default-vehicle-period-check .field{min-width:220px}.service-default-vehicle-period-editor-actions{display:flex;gap:8px;align-items:center;min-height:38px}.service-default-vehicle-period-check{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:12px;align-items:end}.service-default-vehicle-period-check-result{min-height:38px;display:flex;align-items:center;margin:0;padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--color-primary-soft) 82%,white);color:var(--color-text)}.service-default-vehicle-period-check-result strong{margin-left:4px;color:var(--color-primary)}.service-default-vehicle-periods-empty{margin:0}.service-daily-reset-card{display:flex;flex-direction:column;gap:12px}.service-daily-reset-card h2,.service-daily-reset-card p{margin:0}.service-daily-reset-card p{color:var(--color-text-muted)}.service-daily-reset-actions{display:flex;gap:8px;flex-wrap:wrap}.service-compact-field{gap:4px}.service-compact-field>span{font-size:12px;line-height:1.2}.service-compact-field input,.service-compact-field select,.service-compact-field textarea{min-height:38px;padding:8px 12px}.service-select-with-manual{display:flex;align-items:center;gap:8px}.service-select-with-manual-compact select{min-height:38px}.service-select-with-manual select{flex:1 1 auto;min-width:0}.advanced-dropdown{position:relative}.advanced-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:120;display:flex;flex-direction:column;width:100%;min-width:250px;max-height:min(280px,calc(100vh - 24px));box-sizing:border-box;border:1px solid var(--color-border);border-radius:14px;background:#fff;box-shadow:0 16px 34px #11261b24;overflow:hidden}.advanced-dropdown-menu-scroll{display:grid;gap:10px;max-height:inherit;padding:10px;overflow-y:auto}.advanced-dropdown-trigger{width:100%;min-height:38px;padding:8px 12px;border:1px solid var(--color-border-strong);border-radius:12px;background:#fff;color:var(--color-text);display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font:inherit;cursor:pointer}.advanced-dropdown-open .advanced-dropdown-trigger{border-color:#0d6e3857;box-shadow:0 0 0 3px #0d6e3814}.advanced-dropdown-trigger-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.advanced-dropdown-trigger-placeholder{color:var(--color-text-muted)}.advanced-dropdown-trigger-chevron{color:var(--color-text-muted);font-size:13px;flex:0 0 auto}.advanced-dropdown-group{display:grid;gap:4px}.advanced-dropdown-group-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.advanced-dropdown-option-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px;align-items:center;border-radius:10px}.advanced-dropdown-option-row-selected,.advanced-dropdown-option-row:hover,.advanced-dropdown-item-highlighted{background:var(--color-primary-soft)}.advanced-dropdown-option-button,.advanced-dropdown-favorite,.advanced-dropdown-manual-button{border:0;background:transparent;font:inherit;color:var(--color-text)}.advanced-dropdown-favorite{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#b3b8b4;font-size:16px}.advanced-dropdown-favorite-active{color:#f2b700}.advanced-dropdown-option-button,.advanced-dropdown-manual-button{width:100%;min-height:32px;padding:6px 10px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-radius:10px}.advanced-dropdown-option-button{min-width:0}.advanced-dropdown-manual-button{border:1px dashed var(--color-border);background:var(--color-surface-soft);margin-bottom:4px}.advanced-dropdown-manual-button-selected{border-color:#0d6e3857;color:var(--color-primary);background:var(--color-primary-soft)}.service-place-combobox{position:relative}.service-place-combobox-open .service-place-combobox-input{border-color:#0d6e3857;box-shadow:0 0 0 3px #0d6e3814}.service-place-combobox-menu{min-width:220px}.service-place-combobox-option{display:block}.service-place-remember-toggle{margin-top:2px}.service-place-remember-toggle span{position:relative}.service-place-remember-toggle input:checked+span:before{border-color:#0d6e3880;background:#fff}.service-place-remember-toggle input:checked+span:after{content:"";position:absolute;left:4px;top:50%;width:8px;height:4px;border-left:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);transform:translateY(-70%) rotate(-45deg)}.service-application-mode-switch{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.service-mode-button-active{border-color:#0d6e3857;background:var(--color-primary-soft);color:var(--color-primary)}.service-section-header-compact{margin-bottom:0}.service-application-summary{display:grid;gap:2px;min-width:180px;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-soft)}.service-application-summary strong{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.service-application-summary span{font-size:15px;font-weight:700;color:var(--color-text)}.service-application-panel{display:grid;gap:16px}.service-days-selector{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.service-periods-list{display:grid;gap:12px}.service-period-card{display:grid;gap:12px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:color-mix(in srgb,var(--color-surface-soft) 72%,white)}.service-period-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.service-period-card-header>div{display:grid;gap:2px}.service-period-card-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.service-period-card-header strong{font-size:14px}.service-period-card-header span{color:var(--color-text-muted);font-size:12px;font-weight:700}.service-date-range-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.service-date-range-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-muted)}.service-date-range-legend-swatch{width:12px;height:12px;border-radius:999px;border:1px solid transparent}.service-date-range-legend-swatch-included{border-color:#0d6e3857;background:var(--color-primary-soft)}.service-date-range-legend-swatch-manual-included{border-color:#2273af57;background:#e8f2fb}.service-date-range-legend-swatch-excluded{border-color:#a6373747;background:#fde9e9}.service-repeatable-list{display:grid;gap:12px}.service-repeatable-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.service-multiple-dates-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.service-multi-calendar{display:grid;gap:12px;padding:14px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-soft)}.service-multi-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.service-multi-calendar-header strong{font-size:15px;text-transform:capitalize}.service-multi-calendar-prototype{gap:16px}.service-multi-calendar-header-prototype{align-items:center}.service-multi-calendar-header.service-multi-calendar-header-compact,.service-multi-calendar-months.service-multi-calendar-months-compact{display:none}.service-multi-calendar-range{display:grid;gap:2px;text-align:center}.service-multi-calendar-range span{font-size:13px;color:var(--color-text-muted);text-transform:capitalize}.service-multi-calendar-nav{min-width:40px;min-height:36px;padding:0}.service-multi-calendar-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-multi-calendar-month{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid rgba(88,91,92,.16);border-radius:12px;background:#fff}.service-multi-calendar-month-title{font-size:13px;font-weight:700;color:var(--color-text);text-transform:capitalize}.service-multi-calendar-weekdays,.service-multi-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.service-multi-calendar-month .service-multi-calendar-weekdays,.service-multi-calendar-month .service-multi-calendar-grid{gap:4px}.service-multi-calendar-weekdays span{text-align:center;font-size:12px;font-weight:700;color:var(--color-text-muted)}.service-multi-calendar-month .service-multi-calendar-weekdays span{font-size:11px}.service-multi-calendar-day{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--color-border);border-radius:10px;background:#fff;color:var(--color-text);font:inherit;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.service-multi-calendar-month .service-multi-calendar-day{min-height:30px;border-radius:8px;font-size:13px}.service-multi-calendar-day:hover:not(:disabled){border-color:#0d6e3857;background:#f6fbf7}.service-multi-calendar-day-outside{color:#a8b0ab;background:#f7f8f7}.service-multi-calendar-day-today{border-color:#0d6e3857}.service-multi-calendar-day-selected{border-color:#0d6e3857;background:var(--color-primary-soft);color:var(--color-primary);font-weight:700}.service-multi-calendar-day-manual-included{border-color:#2273af6b;background:#e8f2fb;color:#1f5f8f;font-weight:800}.service-multi-calendar-day-excluded{border-color:#a6373747;background:#fde9e9;color:#a63737;font-weight:700}.service-multi-calendar-day-public-holiday{box-shadow:inset 0 -3px #5350963d}.service-multi-calendar-day-school-holiday{outline:1px dashed rgba(179,120,37,.46);outline-offset:-4px}.service-period-calendar-panel{display:grid;gap:12px}.service-selected-dates{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.service-selected-date-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--color-border);border-radius:999px;background:#fff;color:var(--color-text);font-size:13px;line-height:1.2}.service-selected-date-chip-excluded{border-color:#a6373738;background:#fff4f4;color:#8f3030}.service-selected-date-chip-included{border-color:#2273af3d;background:#f0f7fc;color:#245f8c}.service-selected-date-chip-remove{border:0;background:transparent;color:var(--color-text-muted);font-size:16px;line-height:1;padding:0;cursor:pointer;opacity:0;transition:opacity .18s ease,color .18s ease}.service-selected-date-chip:hover .service-selected-date-chip-remove,.service-selected-date-chip:focus-within .service-selected-date-chip-remove{opacity:1}.service-selected-date-chip-remove:hover{color:#a63737}.service-lines-stack{display:grid;gap:10px}.service-construction-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.service-line-card{display:grid;gap:12px;padding:12px 14px;border:1px solid var(--color-border);border-left:4px solid var(--service-mission-accent, #8ca897);border-radius:14px;background:var(--service-mission-surface, #ffffff)}.service-construction-card-dragging{opacity:.58}.service-construction-card-drag-over{outline:2px solid color-mix(in srgb,var(--color-primary) 48%,white);outline-offset:2px}.service-note-card{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;background:#fff;box-shadow:inset 4px 0 #d8d1a8}.service-note-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--color-text-muted);font-size:12px;font-weight:700}.service-line-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.service-construction-drag-handle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;min-height:32px;border:1px solid color-mix(in srgb,var(--color-border) 82%,white);border-radius:10px;background:#ffffffb8;color:var(--color-text-muted);font-size:18px;font-weight:900;line-height:1;cursor:grab}.service-construction-drag-handle:active{cursor:grabbing}.service-construction-drag-handle:hover,.service-construction-drag-handle:focus-visible{border-color:color-mix(in srgb,var(--color-primary) 38%,var(--color-border));color:var(--color-primary)}.service-construction-card-expanded .service-note-card-header,.service-construction-card-expanded .service-line-card-header{padding-bottom:8px;border-bottom:1px solid rgba(88,91,92,.12)}.service-construction-summary-toggle{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.service-construction-chevron{flex:0 0 auto;color:var(--color-primary);font-size:20px;line-height:1;transform:rotate(0);transition:transform .16s ease}.service-construction-chevron-expanded{transform:rotate(90deg)}.service-construction-summary-text{min-width:0;overflow:hidden;color:var(--color-text);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.service-mission-number-badge{display:inline-flex;align-items:center;flex:0 0 auto;padding:4px 7px;border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border));border-radius:999px;background:color-mix(in srgb,var(--color-primary) 8%,white);color:var(--color-primary);font-size:11px;font-weight:800;line-height:1.1;white-space:nowrap}.service-line-card-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.service-line-card-title strong{font-size:14px;line-height:1.2}.service-mission-type-badge{display:inline-flex;align-items:center;flex:0 1 auto;max-width:100%;padding:4px 8px;border:1px solid var(--service-mission-accent, var(--color-primary));border-radius:999px;background:var(--service-mission-badge-background, var(--color-primary-soft));color:var(--service-mission-badge-text, var(--color-primary));font-size:12px;font-weight:700;line-height:1.1;overflow-wrap:anywhere;white-space:normal}.service-line-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.service-line-action-button{min-width:34px;min-height:32px;padding:6px 8px;border-radius:10px;font-size:12px;font-weight:700;line-height:1}.service-line-icon-button{width:34px;padding:6px}.service-line-icon-button svg{width:16px;height:16px;fill:currentColor}.service-line-icon-button-danger{color:#9a3b3b}.service-line-action-button-active{border-color:color-mix(in srgb,var(--color-primary) 46%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 13%,white);color:var(--color-primary)}.service-line-action-button:disabled{opacity:.62;cursor:not-allowed}.service-line-body{display:grid;gap:10px}.service-construction-check{display:grid;gap:8px;margin-top:12px;padding:12px 14px;border:1px solid var(--color-border);border-radius:12px;background:#fff}.service-construction-check-success{border-color:color-mix(in srgb,var(--color-primary) 32%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 8%,white)}.service-construction-check-warning{border-color:color-mix(in srgb,#c8942d 38%,var(--color-border));background:color-mix(in srgb,#d99f2b 10%,white)}.service-construction-check-error{border-color:color-mix(in srgb,#b34a4a 35%,var(--color-border));background:color-mix(in srgb,#b34a4a 8%,white)}.service-construction-history-feedback{justify-self:start;margin-top:8px;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 10%,white);color:var(--color-primary);font-size:12px;font-weight:700}.service-construction-check-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.service-construction-cascade-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.service-construction-cascade-popover{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 12px 10px;padding:10px 12px;border:1px solid color-mix(in srgb,#c8942d 42%,var(--color-border));border-radius:12px;background:#fffaf0;box-shadow:0 10px 24px #5c451b29}.service-construction-cascade-popover-text{display:grid;gap:2px;min-width:0;color:var(--color-text);font-size:13px}.service-construction-cascade-popover-text strong{font-size:13px}.service-construction-cascade-popover-text span{color:var(--color-text-muted)}.service-construction-check-close,.service-construction-check-action{min-height:28px;padding:5px 9px;font-size:12px}.service-construction-check-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.service-construction-check-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border-radius:10px;background:#ffffffb3;color:var(--color-text);font-size:13px}.service-construction-check-text{display:grid;gap:2px;min-width:0}.service-construction-check-text strong{color:var(--color-text);font-size:13px}.service-construction-check-text span{color:var(--color-text-muted)}.service-construction-check-item-error{box-shadow:inset 3px 0 #b34a4a}.service-construction-check-item-warning{box-shadow:inset 3px 0 #c8942d}@media(max-width:780px){.service-construction-cascade-popover{display:grid}.service-construction-cascade-actions{justify-content:flex-start}}.service-line-mission-type-field{min-width:0}.service-line-mission-type-field .advanced-dropdown-trigger{min-height:36px;padding:8px 12px;border-radius:10px}.service-line-mission-type-field .advanced-dropdown-menu{border-radius:12px}.service-time-input{display:inline-grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;min-width:0}.service-time-input-unit{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:stretch;min-width:0}.service-time-input-part{min-width:0;border-top-right-radius:0;border-bottom-right-radius:0;text-align:center}.service-time-input-steppers{display:grid;grid-template-rows:1fr 1fr;min-height:36px}.service-time-input-stepper{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:0;border:1px solid var(--color-border);border-left:0;background:var(--color-surface);color:var(--color-text-muted);font-size:var(--planning-graphic-vehicle-icon-font-size, 8px);line-height:1;cursor:pointer}.service-time-input-stepper:first-child{border-top-right-radius:8px}.service-time-input-stepper:last-child{border-top:0;border-bottom-right-radius:8px}.service-time-input-stepper:hover:not(:disabled){background:var(--color-surface-soft);color:var(--color-text)}.service-time-input-stepper:disabled{color:var(--color-border-strong);cursor:not-allowed}.service-time-input-separator{font-size:15px;font-weight:700;color:var(--color-text-muted)}.service-line-grid{display:grid;gap:10px 12px;align-items:start}.service-line-grid-primary{grid-template-columns:minmax(220px,1.7fr) repeat(2,minmax(110px,.8fr)) minmax(84px,.55fr) minmax(130px,.9fr)}.service-line-grid-secondary{grid-template-columns:minmax(180px,1.45fr) minmax(180px,1.45fr) repeat(3,minmax(120px,.9fr))}.service-line-grid .field{min-width:0}.service-line-checkbox-field{align-content:start}.service-line-time-lock-control{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px;align-items:center}.service-line-duration-lock-control .service-duration-input{width:100%}.service-time-lock-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--color-border);border-radius:10px;background:#fff;color:var(--color-text-muted);cursor:pointer}.service-time-lock-button svg{width:16px;height:16px;fill:currentColor}.service-time-lock-button:hover:not(:disabled),.service-time-lock-button:focus-visible{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border));color:var(--color-primary)}.service-time-lock-button-active{border-color:color-mix(in srgb,var(--color-primary) 46%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 12%,white);color:var(--color-primary)}.service-time-lock-button:disabled{opacity:.58;cursor:not-allowed}.service-line-lock-hint{color:var(--color-text-muted);font-size:11px;line-height:1.25}.service-duration-input{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--color-text-muted);font-size:12px;font-weight:700}.service-duration-input input{flex:1 1 0;min-width:0;text-align:center}.service-duration-input .service-duration-unit{color:var(--color-text-muted);font-size:12px;font-weight:700}.service-line-midnight-toggle{margin-top:0}.service-line-comment-field{display:grid;gap:4px}.tiptap-text-field{display:grid;gap:6px}.tiptap-text-field-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tiptap-text-field-tool{display:inline-flex;align-items:center;justify-content:center;width:30px;min-height:30px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text);font:inherit;font-weight:800;cursor:pointer}.tiptap-text-field-tool-italic{font-style:italic}.tiptap-text-field-tool-active{border-color:#0d6e3857;background:var(--color-primary-soft);color:var(--color-primary)}.tiptap-text-field-select{width:auto;min-height:30px;padding:4px 8px;border-radius:8px;font-size:12px}.tiptap-text-field-select-wrap{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;width:auto;min-height:30px;padding:0 7px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.tiptap-text-field-select-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.tiptap-text-field-select-wrap .tiptap-text-field-select{width:auto;min-width:72px;min-height:28px;padding:2px 4px;border:0;border-radius:0;background:transparent;font-size:12px}.tiptap-text-field-size-icon{width:18px;color:var(--color-text-muted);font-size:11px;font-weight:800;line-height:1}.tiptap-text-field-color-icon{width:12px;height:12px;border:1px solid rgba(31,42,39,.2);border-radius:999px;background:var(--color-text)}.tiptap-text-field-color-icon-gray{background:#606866}.tiptap-text-field-color-icon-red{background:#a63737}.tiptap-text-field-color-icon-green{background:var(--color-primary)}.tiptap-text-field-color-icon-blue{background:#2366a8}.tiptap-text-field-color-icon-orange{background:#a35a16}.field .tiptap-text-field-select-wrap .tiptap-text-field-select,.service-line-card .field .tiptap-text-field-select-wrap .tiptap-text-field-select{width:auto}.field .tiptap-text-field-select-wrap .tiptap-text-field-select-icon,.service-line-card .field .tiptap-text-field-select-wrap .tiptap-text-field-select-icon{font-size:11px;font-weight:800;line-height:1}.tiptap-text-field-editor{min-height:76px;padding:9px 11px;border:1px solid var(--color-border-strong);border-radius:10px;background:#fff;color:var(--color-text);font:inherit;font-size:14px;line-height:1.4;white-space:pre-wrap;outline:none}.service-line-card .field .tiptap-text-field-editor{min-height:76px;padding:9px 11px}.tiptap-text-field-editor:focus{border-color:#0d6e3857;box-shadow:0 0 0 3px #0d6e3814}.tiptap-text-field-editor p{margin:0}.tiptap-text-field-editor p+p{margin-top:6px}.field .tiptap-text-field-editor span{font-size:inherit;font-weight:inherit}.tiptap-text-field-editor span[data-text-size=small]{font-size:12px}.tiptap-text-field-editor span[data-text-size=large]{font-size:17px}.tiptap-text-field-tool-underlined{text-decoration:underline}.service-line-card .field>span{font-size:12px}.service-line-card .field input,.service-line-card .field select,.service-line-card .field textarea{min-height:36px;padding:7px 11px}.service-line-card .field small,.service-line-card .field .field-hint{font-size:11px;line-height:1.25}@media(max-width:1024px){.form-grid.service-general-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-general-field-name,.service-general-field-title,.service-general-field-nature,.service-general-field-market,.service-general-field-vehicle{grid-column:span 1}.service-default-assignments-grid{grid-template-columns:1fr;gap:10px}.service-default-vehicle-period-check{grid-template-columns:1fr}.service-line-grid-primary,.service-line-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}}.services-list-header,.services-list-row{display:grid;gap:8px;align-items:start;width:100%;min-width:0}.services-table-scroll{position:relative;z-index:1;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;min-height:0;height:100%;border-radius:16px;overscroll-behavior:contain}.services-table-inner{min-width:0;width:100%;max-width:100%;background:var(--color-surface)}.services-list-header{position:relative;z-index:2;position:sticky;top:0;padding:0 7px;background:#fbfcfb;border-top-left-radius:16px;border-top-right-radius:16px;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.services-list-header-cell,.services-list-header-button{min-width:0;text-align:left}.services-list-header-cell{display:flex;align-items:center;min-height:48px;padding:10px 0 9px}.services-list-header-content{display:inline-flex;align-items:flex-start;min-width:0}.services-list-header-content-single{align-items:center}.services-list-header-lines{display:grid;grid-auto-rows:min-content;row-gap:1px;min-width:0}.services-list-header-line{display:block;line-height:1.02;white-space:nowrap}.services-list-header-line-with-icon{display:inline-flex;align-items:center;gap:6px}.services-list-header-line-text{display:inline-block}.services-list-header-icon-anchor{display:inline-flex;align-items:center;justify-content:center}.services-list-header-label{display:inline-block;min-width:0;line-height:1.02;white-space:nowrap}.services-list-header-button{display:flex;align-items:flex-start;justify-content:flex-start;gap:6px;width:100%;border:0;padding:0 0 10px;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.services-list-header-button:hover,.services-list-header-button-active{color:inherit}.services-list-header-cell-actions{text-align:left;justify-content:center;padding-left:4px;padding-bottom:9px}.services-list-header-cell-sortable{position:relative}.services-sort-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--color-text-muted);font-size:17px;line-height:1;transform:translateY(-1px)}.services-sort-icon-active{color:var(--color-primary)}.services-filter-menu{position:absolute;top:calc(100% + 10px);left:0;z-index:20;width:min(280px,30vw);min-width:220px;border:1px solid var(--color-border);border-radius:14px;background:#fff;box-shadow:0 18px 36px #11261b1f;padding:0;display:flex;flex-direction:column;max-height:min(420px,calc(100vh - 180px));overflow:hidden}.services-filter-menu-scroll{min-height:0;padding:14px;display:grid;gap:12px;overflow-y:auto;overscroll-behavior:contain}.services-filter-section{display:grid;gap:8px}.services-filter-section strong{font-size:13px;color:var(--color-text)}.services-filter-option,.services-filter-link{border:0;background:transparent;padding:0;color:var(--color-text-muted);font:inherit;text-align:left;cursor:pointer}.services-filter-option{padding:8px 10px;border-radius:10px}.services-filter-option:hover,.services-filter-option-active{background:var(--color-primary-soft);color:var(--color-primary)}.services-filter-divider{height:1px;background:var(--color-border)}.services-filter-actions-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.services-filter-link{color:var(--color-primary);font-size:13px}.services-filter-values{display:grid;gap:8px;max-height:220px;overflow:auto;padding-right:4px}.services-filter-checkbox{display:inline-flex;align-items:center;gap:10px;color:var(--color-text);font-size:13px}.services-days-filter-panel{display:grid;gap:10px}.services-days-filter-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.services-day-toggle{position:relative}.services-day-toggle input,.services-days-only-toggle input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.services-day-toggle span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:10px;border:1px solid var(--color-border);background:#fff;color:var(--color-text);font-size:13px;font-weight:700;cursor:pointer;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.services-day-toggle input:checked+span{border-color:#0d6e3857;background:var(--color-primary-soft);color:var(--color-primary)}.services-days-only-toggle{display:inline-flex;align-items:center;gap:10px;width:fit-content;color:var(--color-text);font-size:12px;font-weight:700;letter-spacing:.03em}.services-days-only-toggle span{position:relative}.services-days-only-toggle span:before{content:"";display:inline-flex;width:16px;height:16px;margin-right:8px;vertical-align:middle;border:1px solid var(--color-border);border-radius:4px;background:#fff}.services-days-only-toggle input:checked+span:before{border-color:#0d6e3857;background:var(--color-primary-soft)}.services-days-only-toggle input:checked+span:after{content:"";position:absolute;left:4px;top:50%;width:8px;height:4px;border-left:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);transform:translateY(-70%) rotate(-45deg)}.services-list-body{position:relative;z-index:1;display:grid;background:var(--color-surface);border-bottom-left-radius:16px;border-bottom-right-radius:16px}.services-list-row{min-height:66px;padding:0 7px;border-bottom:1px solid var(--color-border)}.services-list-row:last-child{border-bottom:0}.services-cell{min-width:0;color:var(--color-text);overflow-wrap:anywhere;word-break:normal;font-size:12.5px;line-height:1.28;padding:9px 0;align-self:start}.services-cell strong{font-size:12.5px;line-height:1.34;display:inline-block}.services-cell-actions{display:flex;justify-content:center;align-items:flex-start;padding-left:4px}.service-actions{display:flex;align-items:center;justify-content:center;gap:3px;width:fit-content}.service-operating-days{display:flex;align-items:flex-start;gap:3px;flex-wrap:wrap}.service-operating-day{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;border-radius:7px;background:#f5f8f5;color:var(--color-text);font-size:10.5px;font-weight:700}.service-action-button{width:28px;height:28px;border:1px solid var(--color-border);border-radius:9px;background:#fff;color:var(--color-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.service-action-button:hover:not(:disabled){border-color:#0d6e3859;background:var(--color-primary-soft);color:var(--color-primary)}.service-action-button-danger:hover:not(:disabled){border-color:#efc2c2;background:#fff2f2;color:#a63737}.service-action-button:disabled{opacity:.3;cursor:not-allowed}.service-action-icon{display:inline-flex;width:15px;height:15px}.service-action-icon svg{width:15px;height:15px}.service-print-page{width:min(960px,100%);min-height:0;margin:0 auto;align-content:start}.service-print-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px}.service-print-hint{max-width:430px;margin:0 auto 0 0;color:var(--color-text-muted);font-size:12px;line-height:1.4}.service-print-sheet{display:grid;gap:24px;padding:30px 34px;border:1px solid var(--color-border);border-radius:4px;background:#fff;box-shadow:0 10px 28px #11261b14}.service-print-header{display:grid;gap:5px;padding-bottom:18px;border-bottom:2px solid var(--color-text)}.service-print-label{margin:0;color:var(--color-text-muted);font-size:12px;font-weight:700;text-transform:uppercase}.service-print-header h1{margin:0;font-size:28px;line-height:1.18}.service-print-title{margin:0;color:var(--color-text-muted);font-size:16px}.service-print-planning-date{margin:4px 0 0;color:var(--color-text-muted);font-size:13px;font-weight:700}.service-print-daily-override-badge{width:fit-content;margin-top:4px;padding:4px 8px;border:1px solid rgba(83,107,154,.34);border-radius:999px;background:#edf2fb;color:#344d7c;font-size:11px;font-weight:800;line-height:1.2}.service-print-planning-assignment{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:8px;background:var(--color-surface-soft)}.service-print-planning-assignment h2{margin:0;font-size:14px;line-height:1.2}.service-print-planning-assignment dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;margin:0}.service-print-planning-assignment div{display:grid;gap:3px}.service-print-planning-assignment dt{color:var(--color-text-muted);font-size:10px;font-weight:800;line-height:1.2;text-transform:uppercase}.service-print-planning-assignment dd{margin:0;font-size:13px;font-weight:700;line-height:1.25}.service-print-assignment-missing{color:#a63737}.service-print-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 22px;margin:0}.service-print-summary div{display:grid;align-content:start;gap:4px}.service-print-summary-wide{grid-column:span 2}.service-print-summary dt{color:var(--color-text-muted);font-size:11px;font-weight:700;text-transform:uppercase}.service-print-summary dd{margin:0;font-size:14px;font-weight:500}.service-print-tte{color:var(--color-primary);font-size:18px;font-weight:700}.service-print-construction{display:grid;gap:14px}.service-print-construction h2{margin:0;padding-bottom:8px;border-bottom:1px solid var(--color-border-strong);font-size:18px}.service-print-construction-list{display:grid;gap:10px}.service-print-construction-item{padding:12px 14px;border:1px solid var(--color-border);border-left:4px solid var(--service-mission-accent, #8ca897);border-radius:4px;background:var(--service-mission-surface, #ffffff)}.service-print-mission{display:grid;gap:9px;border-left-width:6px}.service-print-mission-heading{display:flex;justify-content:space-between;align-items:baseline;gap:14px}.service-print-mission-heading strong{font-size:15px}.service-print-mission-heading span{color:var(--color-text-muted);font-size:13px;font-weight:700}.service-print-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px}.service-print-stop{display:flex;align-items:baseline;gap:9px;min-width:0;font-size:14px}.service-print-stop time{flex:0 0 auto;font-weight:700}.service-print-route-arrow{color:var(--color-text-muted)}.service-print-codes{color:var(--color-text-muted);font-size:12px;font-weight:600}.service-print-comment{display:grid;gap:4px;padding-top:8px;border-top:1px dashed var(--color-border);font-size:13px}.service-print-comment>strong,.service-print-note>strong{color:var(--color-text-muted);font-size:11px;text-transform:uppercase}.service-print-note{display:grid;gap:5px;border-left-width:6px;border-left-color:#cabf7b;background:#fff}.service-print-rich-text{font-size:13px;line-height:1.45;white-space:pre-wrap}.service-print-rich-text p{margin:0}.service-print-rich-text p+p{margin-top:5px}.service-print-rich-text-size-small{font-size:11px}.service-print-rich-text-size-large{font-size:16px}.services-empty-state{padding:18px;color:var(--color-text-muted)}.services-detail-shell{padding:20px;display:grid;gap:14px}.services-detail-list{display:grid;gap:14px;margin:0}.services-detail-list div{display:grid;gap:4px}.services-detail-list dt{color:var(--color-text-muted);font-size:13px;font-weight:700}.services-detail-list dd{margin:0;color:var(--color-text)}.planning-foundation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.planning-foundation-summary div{display:grid;gap:3px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-soft)}.planning-foundation-summary dt{color:var(--color-text-muted);font-size:12px;font-weight:700;text-transform:uppercase}.planning-foundation-summary dd{margin:0;font-size:22px;font-weight:700}.planning-page{align-content:start;--planning-grid-max-height: clamp(280px, 42vh, 560px);--planning-coverage-max-height: clamp(190px, 28vh, 360px)}.planning-page:focus{outline:none}.planning-history-feedback{justify-self:start;width:fit-content;margin-top:-4px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--color-success, #15803d) 24%,transparent);border-radius:999px;background:color-mix(in srgb,var(--color-success, #15803d) 10%,var(--color-surface));color:color-mix(in srgb,var(--color-success, #15803d) 72%,var(--color-text));font-size:12px;font-weight:800;line-height:1.2}.planning-page-header{display:grid;gap:3px}.planning-page-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}.planning-page-title-row h1{margin:0}.planning-page-title-group{display:inline-flex;align-items:center;gap:10px;flex:0 1 auto;flex-wrap:wrap;min-width:0}.planning-period-label{margin:0;color:var(--color-text-muted);font-size:13px;font-weight:700}.planning-page-subrow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.planning-fit-hint{margin:0;color:color-mix(in srgb,var(--color-text-muted) 82%,white);font-size:12px;font-weight:700;line-height:1.2;text-align:right;white-space:nowrap}.planning-fit-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:1px 5px;border:1px solid color-mix(in srgb,var(--color-border) 88%,var(--color-text-muted));border-radius:5px;background:#fff;color:var(--color-text);font:inherit;font-size:11px;font-weight:800;line-height:1.1}@media(max-width:760px){.planning-page-subrow{align-items:flex-start;flex-direction:column;gap:4px}.planning-fit-hint{text-align:left;white-space:normal}}.planning-header-controls{display:flex;align-items:center;gap:6px;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;margin-left:auto;min-width:0}.planning-primary-view-switch{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.planning-primary-view-button{min-height:32px;padding:7px 11px;border-radius:10px;font-size:13px;font-weight:800;line-height:1}.planning-toolbar-card{display:grid;gap:14px}.planning-toolbar-card h2{margin:0;font-size:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.planning-toast{position:fixed;top:18px;right:18px;z-index:80;width:min(360px,calc(100vw - 36px));padding:12px 14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-soft);box-shadow:0 14px 32px #11261b29;color:var(--color-text);font-size:14px;line-height:1.35}.planning-toast-success{border-color:#b9e3c3;background:#eef9f1;color:#2f7a46}.planning-toast-error{border-color:#efc2c2;background:#fff2f2;color:#a63737}.planning-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.planning-view-switch,.planning-display-mode-switch,.planning-week-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.planning-print-trigger{display:inline-flex;align-items:center;gap:8px}.planning-print-trigger svg{width:16px;height:16px}.planning-search-control{display:inline-flex;align-items:center;gap:6px;flex:0 1 300px;min-width:min(100%,300px)}.planning-search-field{position:relative;display:block;flex:1 1 180px;min-width:0}.planning-search-field input{width:100%;min-height:var(--planning-filter-control-height, 34px);padding:7px 36px 7px 10px;border:1px solid var(--color-border);border-radius:9px;background:#fff;color:var(--color-text);font:inherit;font-size:12px;font-weight:600}.planning-search-field input:focus{border-color:#0d6e386b;outline:2px solid rgba(13,110,56,.14);outline-offset:0}.planning-search-field input::-webkit-search-cancel-button,.planning-search-field input::-webkit-search-decoration{-moz-appearance:none;appearance:none;-webkit-appearance:none}.planning-search-clear{position:absolute;top:50%;right:8px;display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:18px;line-height:1;transform:translateY(-50%);cursor:pointer}.planning-search-clear:hover,.planning-search-clear:focus-visible{border-color:var(--color-border);background:var(--color-surface-soft);color:var(--color-text)}.planning-search-scope{display:inline-flex;align-items:center;min-height:var(--planning-filter-control-height, 34px);padding:2px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-soft)}.planning-search-scope button{min-height:28px;padding:0 9px;border:0;border-radius:7px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:12px;font-weight:700;line-height:1;cursor:pointer;white-space:nowrap}.planning-search-scope button:hover,.planning-search-scope button:focus-visible{color:var(--color-text)}.planning-search-scope button:focus-visible{outline:2px solid rgba(13,110,56,.16);outline-offset:1px}.planning-search-scope .planning-search-scope-active{background:#fff;color:var(--color-primary);box-shadow:0 1px 3px #2f4a3b1f}.planning-search-highlight{padding:0 2px;border-radius:4px;background:#fff2a8;color:inherit}.planning-grid-card,.planning-coverage-card{display:grid;min-height:0;--planning-row-label-width: minmax(160px, .85fr);--planning-day-min-width: 136px}.planning-grid-card{overflow:visible;padding-top:14px}.planning-coverage-card{overflow:hidden}.planning-services-day-card{overflow:hidden;padding-top:14px}.planning-header-control-group{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.planning-compact-button,.planning-icon-control,.planning-filter-action{min-height:32px;padding:7px 10px;border-radius:9px;font-size:12px;font-weight:800;line-height:1}.planning-icon-control{display:inline-grid;place-items:center;min-width:32px;padding:0}.planning-icon-control span[aria-hidden=true]{font-size:20px;line-height:1}.planning-icon-control svg{width:15px;height:15px}.planning-services-day-controls{display:flex;justify-content:flex-end;margin-bottom:10px}.planning-view-button{align-items:center;display:inline-flex;flex-direction:row;gap:6px;justify-content:center;white-space:nowrap}.planning-view-button svg{flex:0 0 auto;height:14px;width:14px}.planning-filters-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;--planning-filter-control-height: 34px}.planning-sort-control{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--color-text-muted);font-size:11px;font-weight:700;line-height:1;white-space:nowrap}.planning-sort-control select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:var(--planning-filter-control-height);min-width:142px;padding:7px 30px 7px 10px;border:1px solid var(--color-border);border-radius:9px;background:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%) calc(100% - 16px) 50% / 5px 5px no-repeat,linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%) calc(100% - 11px) 50% / 5px 5px no-repeat,#fff;color:var(--color-text);font:inherit;font-size:12px;font-weight:600;line-height:1.2}.planning-tte-display-control{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.planning-tte-display-select,.planning-tte-custom-controls label{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-muted);font-size:11px;font-weight:700;line-height:1;white-space:nowrap}.planning-tte-display-select select,.planning-tte-custom-controls input[type=date]{min-height:var(--planning-filter-control-height);border:1px solid var(--color-border);border-radius:9px;background:#fff;color:var(--color-text);font:inherit;font-size:12px;font-weight:600}.planning-tte-display-select select{min-width:132px;padding:7px 30px 7px 10px}.planning-tte-custom-controls{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.planning-tte-custom-controls input[type=date]{width:136px;padding:7px 8px}.planning-tte-custom-toggle{padding:7px 9px;border:1px solid var(--color-border);border-radius:9px;background:#fff}.planning-tte-custom-toggle input{accent-color:var(--color-primary)}.planning-filter-menu{position:relative}.planning-filter-menu summary{display:inline-flex;align-items:center;gap:8px;min-height:var(--planning-filter-control-height);padding:7px 10px;border:1px solid var(--color-border);border-radius:9px;background:#fff;color:var(--color-text);font-size:12px;font-weight:600;line-height:1.2;cursor:pointer;list-style:none}.planning-filter-menu summary::-webkit-details-marker{display:none}.planning-filter-menu summary:after{content:"";width:10px;height:10px;flex-shrink:0;background:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%) left center / 5px 5px no-repeat,linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%) right center / 5px 5px no-repeat}.planning-filter-menu[open] summary{border-color:#0d6e3857;box-shadow:0 0 0 3px #0d6e3814}.planning-filter-menu summary strong{color:var(--color-text-muted);font-size:11px}.planning-filter-menu-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:130;display:grid;gap:8px;width:min(280px,calc(100vw - 48px));padding:10px;border:1px solid var(--color-border);border-radius:12px;background:#fff;box-shadow:0 16px 34px #11261b24}.planning-filter-menu-actions{display:flex;gap:6px;flex-wrap:wrap}.planning-filter-menu-actions button{padding:5px 8px;border:1px solid rgba(13,110,56,.18);border-radius:8px;background:var(--color-primary-soft);color:var(--color-primary);font:inherit;font-size:11px;font-weight:800;cursor:pointer}.planning-filter-options{display:grid;gap:3px;max-height:220px;overflow-y:auto}.planning-filter-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:6px;border:1px solid transparent;border-radius:8px;color:var(--color-text);font-size:12px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.planning-filter-option:hover{background:var(--color-primary-soft)}.planning-filter-option-selected{border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 75%,white)}.planning-filter-option input[type=checkbox]{-moz-appearance:auto;appearance:auto;-webkit-appearance:checkbox;width:16px;height:16px;margin:0;accent-color:var(--color-primary);cursor:pointer}.planning-filter-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-filter-option-button{min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.planning-filter-summary{margin-left:auto;color:var(--color-text-muted);font-size:12px;font-weight:700}.planning-filter-right-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.planning-filter-trailing-action{display:inline-flex}.planning-scroll-region,.planning-coverage-scroll-region{min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:rgba(94,116,101,.38) transparent;scrollbar-width:thin}.planning-scroll-region::-webkit-scrollbar,.planning-coverage-scroll-region::-webkit-scrollbar{width:10px;height:10px}.planning-scroll-region::-webkit-scrollbar-thumb,.planning-coverage-scroll-region::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#5e746561;background-clip:padding-box}.planning-scroll-region::-webkit-scrollbar-thumb:hover,.planning-coverage-scroll-region::-webkit-scrollbar-thumb:hover{background:#485e4f85;background-clip:padding-box}.planning-scroll-region{height:var(--planning-main-panel-height, auto);max-height:var(--planning-main-panel-height, var(--planning-grid-max-height));border:1px solid color-mix(in srgb,var(--color-border) 86%,#9ba99f);border-radius:10px;background:color-mix(in srgb,var(--color-border) 76%,white)}.planning-graphic-card{overflow:visible;padding-top:14px}.planning-graphic-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:-2px 0 10px;color:var(--color-text-muted);font-size:11px;font-weight:800}.planning-graphic-zoom-controls{display:inline-flex;align-items:center;gap:6px}.planning-graphic-zoom-controls strong{min-width:42px;color:var(--color-text);font-size:12px;text-align:center}.planning-graphic-zoom-controls .planning-icon-control{min-height:28px;min-width:28px;font-size:16px}.planning-graphic-zoom-controls .planning-compact-button{min-height:28px;padding:6px 8px}.planning-graphic-scroll-region{min-width:0;height:var(--planning-main-panel-height, auto);max-height:var(--planning-main-panel-height, var(--planning-grid-max-height));overflow:auto;overscroll-behavior:contain;border:1px solid color-mix(in srgb,var(--color-border) 86%,#9ba99f);border-radius:10px;background:color-mix(in srgb,var(--color-border) 76%,white);scrollbar-gutter:stable;scrollbar-color:rgba(94,116,101,.38) transparent;scrollbar-width:thin}.planning-graphic-scroll-region::-webkit-scrollbar{width:10px;height:10px}.planning-graphic-scroll-region::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#5e746561;background-clip:padding-box}.planning-graphic-scroll-region::-webkit-scrollbar-thumb:hover{background:#485e4f85;background-clip:padding-box}.planning-graphic-card{--planning-graphic-agent-column-width: 218px;--planning-graphic-day-column-width: 230px;--planning-graphic-header-height: 60px}.planning-graphic-zoom-slider{display:inline-flex;align-items:center;gap:8px;min-width:min(280px,100%)}.planning-graphic-zoom-slider input[type=range]{width:min(190px,34vw);accent-color:var(--color-primary);cursor:pointer}.planning-graphic-scroll-region{position:relative;isolation:isolate;background:#f7faf8}.planning-graphic-grid{display:grid;grid-template-columns:var(--planning-graphic-agent-column-width) var(--planning-graphic-day-column-width) var(--planning-graphic-timeline-width);min-width:calc(var(--planning-graphic-agent-column-width) + var(--planning-graphic-day-column-width) + var(--planning-graphic-timeline-width));width:max-content;align-items:stretch;background:#fff}.planning-graphic-header,.planning-graphic-hours{position:sticky;top:0;height:var(--planning-graphic-header-height);min-height:var(--planning-graphic-header-height);border-bottom:1px solid color-mix(in srgb,var(--color-border) 88%,#728178);background:#f3f7f4}.planning-graphic-header{z-index:55;display:grid;align-content:center;gap:3px;padding:9px 12px;color:var(--color-text)}.planning-graphic-header strong{font-size:12px;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.planning-graphic-header span{overflow:hidden;color:var(--color-text-muted);font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.planning-graphic-agent-header{left:0;z-index:70;border-right:1px solid var(--color-border);box-shadow:5px 0 12px -12px #153022b3}.planning-graphic-day-header{left:var(--planning-graphic-agent-column-width);z-index:69;border-right:1px solid color-mix(in srgb,var(--color-border) 88%,#728178);box-shadow:8px 0 14px -13px #153022e6}.planning-graphic-hours{z-index:50;width:var(--planning-graphic-timeline-width);min-width:var(--planning-graphic-timeline-width);overflow:hidden;background:repeating-linear-gradient(to right,rgba(69,92,77,.12) 0,rgba(69,92,77,.12) 1px,transparent 1px,transparent calc(var(--planning-graphic-hour-width) / 4)),repeating-linear-gradient(to right,rgba(48,75,57,.25) 0,rgba(48,75,57,.25) 1px,transparent 1px,transparent var(--planning-graphic-hour-width)),#f8fbf9}.planning-graphic-quarter-tick{position:absolute;bottom:0;width:1px;height:9px;background:#435b4b52;pointer-events:none}.planning-graphic-hour-mark{position:absolute;top:9px;display:grid;justify-items:center;gap:2px;width:62px;transform:translate(-50%);color:var(--color-text);font-size:11px;line-height:1;text-align:center;white-space:nowrap}.planning-graphic-hour-mark strong{font-size:11px;font-weight:900}.planning-graphic-hour-mark small{padding:2px 5px;border-radius:999px;background:color-mix(in srgb,var(--color-primary-soft) 82%,white);color:var(--color-primary-hover);font-size:8px;font-weight:900;letter-spacing:.03em}.planning-graphic-hour-mark-start{justify-items:start;transform:translate(6px);text-align:left}.planning-graphic-hour-mark-end{justify-items:end;transform:translate(calc(-100% - 6px));text-align:right}.planning-graphic-hour-mark-next-day strong{color:var(--color-primary-hover)}.planning-graphic-agent-cell,.planning-graphic-day-cell,.planning-graphic-row-timeline{box-sizing:border-box;border-bottom:1px solid color-mix(in srgb,var(--color-border) 72%,white)}.planning-graphic-agent-cell{position:sticky;left:0;z-index:30;display:grid;align-content:center;gap:5px;padding:9px 12px;border-right:1px solid var(--color-border);background:#fff;box-shadow:5px 0 12px -12px #153022ad}.planning-graphic-agent-cell>strong{overflow:hidden;color:var(--color-text);font-size:12px;font-weight:850;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.planning-graphic-agent-meta{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden}.planning-graphic-agent-meta span{overflow:hidden;color:var(--color-text-muted);font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.planning-graphic-agent-category{display:inline-flex;align-items:center;max-width:112px;padding:2px 6px;border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--color-border));border-radius:999px;background:color-mix(in srgb,var(--color-primary-soft) 62%,white);color:var(--color-primary-hover)!important;font-size:9px!important}.planning-graphic-day-cell{position:sticky;left:var(--planning-graphic-agent-column-width);z-index:29;display:grid;align-content:center;gap:5px;min-width:0;padding:8px 10px;border-right:1px solid color-mix(in srgb,var(--color-border) 88%,#728178);background:#fbfcfb;box-shadow:8px 0 14px -13px #153022e0}.planning-graphic-day-heading{display:flex;align-items:center;gap:6px;min-width:0}.planning-graphic-day-heading>strong{min-width:0;overflow:hidden;color:var(--color-text);font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.planning-graphic-reconstructed-badge{flex:0 0 auto;padding:2px 5px;border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border));border-radius:999px;background:color-mix(in srgb,var(--color-primary-soft) 72%,white);color:var(--color-primary-hover);font-size:8px;font-weight:900;letter-spacing:.025em;text-transform:uppercase}.planning-graphic-day-metrics{display:flex;align-items:center;gap:8px;min-width:0;color:var(--color-text-muted);font-size:9px;font-weight:750}.planning-graphic-day-metrics span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-graphic-day-metrics span+span:before{content:"•";margin-right:8px;color:color-mix(in srgb,var(--color-text-muted) 48%,white)}.planning-graphic-day-states{display:flex;gap:4px;min-width:0;overflow:hidden}.planning-graphic-day-states span{overflow:hidden;padding:2px 5px;border-radius:4px;background:#eef2ef;color:#536159;font-size:8px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.planning-graphic-row-timeline{position:relative;z-index:1;width:var(--planning-graphic-timeline-width);min-width:var(--planning-graphic-timeline-width);overflow:hidden;background:repeating-linear-gradient(to right,rgba(78,100,85,.1) 0,rgba(78,100,85,.1) 1px,transparent 1px,transparent calc(var(--planning-graphic-hour-width) / 4)),repeating-linear-gradient(to right,rgba(53,78,62,.24) 0,rgba(53,78,62,.24) 1px,transparent 1px,transparent var(--planning-graphic-hour-width)),#fff}.planning-graphic-row-timeline:hover{background-color:#fbfdfb}.planning-graphic-empty{position:absolute;z-index:2;top:50%;left:12px;transform:translateY(-50%);color:var(--color-text-muted);font-size:11px;font-weight:750}.planning-graphic-state{position:absolute;z-index:2;box-sizing:border-box;display:flex;align-items:center;min-width:0;overflow:hidden;padding:0 10px;border:1px solid rgba(93,107,99,.24);border-radius:6px;background:repeating-linear-gradient(135deg,rgba(73,90,80,.05) 0,rgba(73,90,80,.05) 6px,transparent 6px,transparent 12px),#e7ece8d6;color:#48564e}.planning-graphic-state span{overflow:hidden;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.planning-graphic-state-rest{border-color:#547c6847;background-color:#ddede4e0;color:#345b47}.planning-graphic-state-absence,.planning-graphic-state-leave{border-color:#97704647;background-color:#f4ebdde6;color:#725333}.planning-graphic-state-training{border-color:#49659747;background-color:#e5ebf6e6;color:#40577f}.planning-graphic-state-unavailability{border-color:#71687842;background-color:#ede9efe6;color:#605669}.planning-graphic-state-all-day{border-radius:0}.planning-graphic-vehicle-band{position:absolute;z-index:4;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:0;padding:1px 2px 1px 18px;overflow:hidden;border:1px solid #09572c;border-radius:2px;background:#0d6e38;color:#fff}.planning-graphic-vehicle-band>span:not(.planning-graphic-vehicle-icon){display:block;width:100%;overflow:hidden;font-size:var(--planning-graphic-vehicle-font-size, 7px);font-weight:850;line-height:1;text-align:center;text-overflow:clip;white-space:nowrap}.planning-graphic-vehicle-band .planning-graphic-vehicle-icon{position:absolute;left:3px;flex:0 0 auto;width:13px;overflow:visible;font-size:10px;line-height:1;text-align:left}.planning-graphic-mission{position:absolute;z-index:5;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:0;padding:2px 3px;overflow:hidden;border:1px solid color-mix(in srgb,var(--planning-graphic-mission-color, var(--color-primary)) 72%,#10231b);border-radius:5px;background:var(--planning-graphic-mission-color, var(--color-primary));box-shadow:0 1px 3px #11261b1a;color:var(--planning-graphic-mission-text, #10231b);font-size:12px;text-align:center}.planning-graphic-mission>*{position:relative;z-index:2;min-width:0;max-width:100%}.planning-graphic-mission-non-productive{border-style:dashed;border-width:2px}.planning-graphic-mission-non-productive:after{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,transparent 0,transparent 6px,currentColor 6px,currentColor 7px,transparent 7px,transparent 13px);content:"";opacity:.11;pointer-events:none}.planning-graphic-mission-review{border-color:#a55b12d6;box-shadow:inset 0 0 0 1px #ffeed161,0 1px 3px #11261b1a}.planning-graphic-mission-content{position:absolute!important;top:2px;right:3px;bottom:2px;left:3px;display:flex;align-items:center;justify-content:center;overflow:hidden;width:auto;pointer-events:none}.planning-graphic-mission-content strong{display:block;width:100%;max-height:1.8em;overflow:hidden;color:inherit;line-height:.9;overflow-wrap:anywhere;text-align:center;white-space:normal}.planning-graphic-mission-content strong{font-size:var(--planning-graphic-mission-label-font-size, 9px);font-weight:950}.planning-graphic-mission-minute{position:absolute;z-index:3;color:inherit;font-size:var(--planning-graphic-mission-minute-font-size, 6.5px);font-weight:950;line-height:1;opacity:.9;pointer-events:none}.planning-graphic-mission-minute-start{top:3px;left:4px}.planning-graphic-mission-minute-end{top:3px;right:4px}@media(max-width:900px){.planning-graphic-card{--planning-graphic-agent-column-width: 184px;--planning-graphic-day-column-width: 205px}.planning-graphic-agent-cell,.planning-graphic-day-cell,.planning-graphic-header{padding-inline:9px}}@media(max-width:640px){.planning-graphic-card{--planning-graphic-agent-column-width: 164px;--planning-graphic-day-column-width: 190px}.planning-graphic-toolbar{justify-content:flex-start}.planning-graphic-zoom-slider input[type=range]{width:min(150px,46vw)}}.planning-coverage-scroll-region{grid-column:1 / -1;grid-row:1;height:var(--planning-coverage-panel-height, auto);max-height:var(--planning-coverage-panel-height, var(--planning-coverage-max-height));background:transparent}.planning-coverage-scroll-region{grid-column:2 / -1}.planning-coverage-scroll-region .planning-coverage-days-grid{grid-template-columns:repeat(var(--planning-day-count),minmax(var(--planning-day-min-width),1fr))}.planning-coverage-scroll-region .planning-coverage-grid-spacer{display:none}.planning-panel-resize-handle{display:grid;place-items:center;width:100%;height:16px;margin:8px 0 -8px;padding:0;border:0;border-radius:999px;background:transparent;cursor:ns-resize;touch-action:none}.planning-panel-resize-handle:before{content:"";width:56px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--color-border) 70%,var(--color-text-muted));opacity:.72;transition:background-color .16s ease,opacity .16s ease,width .16s ease}.planning-panel-resize-handle:hover:before,.planning-panel-resize-handle:focus-visible:before{width:70px;background:color-mix(in srgb,var(--color-primary) 42%,var(--color-border));opacity:1}.planning-panel-resize-handle:focus-visible{outline:2px solid rgba(13,110,56,.16);outline-offset:2px}.planning-panel-is-resizing,.planning-panel-is-resizing *{cursor:ns-resize!important;-webkit-user-select:none;user-select:none}.planning-muted-text{margin:3px 0 0;color:var(--color-text-muted);font-size:13px}.planning-week-grid{display:grid;grid-template-columns:var(--planning-row-label-width) repeat(var(--planning-day-count),minmax(var(--planning-day-min-width),1fr));min-width:100%}.planning-agent-grid{gap:1px;background:color-mix(in srgb,var(--color-border) 72%,white)}.planning-agent-grid-row{display:contents}.planning-agent-grid-corner,.planning-agent-grid-header,.planning-agent-driver,.planning-agent-cell{min-width:0;background:#fff}.planning-agent-grid-corner,.planning-agent-grid-header,.planning-agent-driver{background:#f6f9f7}.planning-agent-grid-corner,.planning-agent-grid-header{position:sticky;top:0;z-index:2;padding:10px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 76%,#8ea092);background:#f3f7f4;box-shadow:0 2px 6px #273c2e0f;color:color-mix(in srgb,var(--color-text-muted) 72%,var(--color-text));font-size:12px;font-weight:800;text-transform:uppercase}.planning-agent-grid-corner{z-index:3}.planning-agent-grid-header{text-align:center}.planning-agent-grid-header.planning-day-saturday,.planning-coverage-day-heading.planning-day-saturday{background:color-mix(in srgb,#f0f5f2 82%,#ffffff);color:color-mix(in srgb,var(--color-text-muted) 62%,var(--color-text))}.planning-agent-grid-header.planning-day-sunday,.planning-coverage-day-heading.planning-day-sunday{background:color-mix(in srgb,#e9f0ec 84%,#ffffff);color:color-mix(in srgb,var(--color-secondary) 78%,var(--color-text))}.planning-agent-grid-header.planning-day-holiday,.planning-coverage-day-heading.planning-day-holiday{background:color-mix(in srgb,var(--color-primary-soft) 72%,#ffffff);color:color-mix(in srgb,var(--color-primary) 78%,var(--color-text))}.planning-agent-grid-header.planning-grid-header-today,.planning-coverage-day-heading.planning-grid-header-today{border-color:color-mix(in srgb,var(--color-primary) 38%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 14%,#ffffff);color:var(--color-primary);box-shadow:inset 0 -2px color-mix(in srgb,var(--color-primary) 54%,transparent)}.planning-agent-driver{display:grid;align-content:start;gap:3px;padding:10px}.planning-agent-driver-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.planning-agent-driver-main{display:grid;gap:3px;min-width:0}.planning-agent-row-actions{display:flex;gap:4px;opacity:.72}.planning-agent-driver:hover .planning-agent-row-actions,.planning-agent-row-actions:focus-within{opacity:1}.planning-agent-row-actions .planning-card-icon-button{width:24px;height:24px}.planning-agent-driver strong{font-size:13px}.planning-agent-driver span{color:var(--color-text-muted);font-size:12px}.planning-agent-driver .planning-agent-category-badge{width:fit-content;max-width:100%;padding:2px 6px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-soft);color:var(--color-text-muted);font-size:10px;font-weight:800;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-agent-driver .planning-agent-tte-badge{width:fit-content;max-width:100%;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--color-primary-soft) 82%,#ffffff);color:color-mix(in srgb,var(--color-primary) 74%,var(--color-text));font-size:10.5px;font-weight:850;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-agent-cell{display:grid;align-content:start;gap:6px;min-height:92px;padding:8px;border:0;color:var(--color-text);text-align:left;cursor:pointer}.planning-agent-cell.planning-day-saturday,.planning-coverage-day.planning-day-saturday{background:color-mix(in srgb,#f7faf8 86%,#ffffff)}.planning-agent-cell.planning-day-sunday,.planning-coverage-day.planning-day-sunday{background:color-mix(in srgb,#eef4f0 80%,#ffffff)}.planning-agent-cell.planning-day-holiday,.planning-coverage-day.planning-day-holiday{background:color-mix(in srgb,var(--color-primary-soft) 44%,#ffffff)}.planning-agent-cell-has-all-day-block{background:#fbfcff}.planning-agent-cell-all-day-only{grid-template-rows:auto 1fr;min-height:132px;align-content:stretch}.planning-agent-cell:hover,.planning-agent-cell:focus-visible{outline:2px solid rgba(13,110,56,.22);outline-offset:-2px;background:#f8fbf9}.planning-agent-cell-inactive,.planning-agent-cell-inactive:hover,.planning-agent-cell-inactive:focus-visible{background:#f1f3f2;color:var(--color-text-muted);cursor:not-allowed}.planning-agent-cell-inactive{background-image:repeating-linear-gradient(-45deg,rgba(35,46,39,.04),rgba(35,46,39,.04) 8px,transparent 8px,transparent 16px)}.planning-agent-cell-target{box-shadow:inset 0 0 0 2px #0d6e383d}.planning-services-day-scroll{min-width:0;height:var(--planning-main-panel-height, auto);max-height:var(--planning-main-panel-height, clamp(360px, 58vh, 720px));overflow:auto;border:1px solid var(--color-border);border-radius:10px}.planning-services-day-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;background:#fff;font-size:12px}.planning-services-day-table th,.planning-services-day-table td{padding:10px;border-bottom:1px solid var(--color-border);vertical-align:top;text-align:left}.planning-services-day-table th{position:sticky;top:0;z-index:2;background:var(--color-surface-soft);color:var(--color-text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.planning-services-day-table tr:last-child td{border-bottom:0}.planning-services-day-service{display:grid;gap:2px}.planning-services-day-service strong{font-size:13px;line-height:1.2}.planning-services-day-service span{color:var(--color-text-muted);line-height:1.25}.planning-services-day-badges{display:flex;gap:5px;flex-wrap:wrap}.planning-services-day-badge{display:inline-flex;width:fit-content;padding:3px 7px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-soft);color:var(--color-text-muted);font-size:10px;font-weight:800;line-height:1.2;text-transform:uppercase}.planning-services-day-badge-ok{border-color:#b9e3c3;background:#eef9f1;color:#2f7a46}.planning-services-day-badge-info{border-color:#536b9a57;background:#edf2fb;color:#344d7c}.planning-services-day-badge-warning{border-color:#ab5b0761;background:#fff0d5;color:#783c00}.planning-services-day-badge-danger{border-color:#b02a2a61;background:#ffe3e3;color:#8d1f1f}.planning-services-day-one-off-row td{background:#f8fafd}.planning-agent-cell-review{background:#fff8ef}.planning-vehicle-cell-conflict,.planning-vehicle-cell-conflict:hover{background:#fff5f5}.planning-cell-review-badge,.planning-driver-daily-override-badge,.planning-vehicle-conflict-badge,.planning-cell-inactive-badge{width:fit-content;padding:3px 7px;border:1px solid rgba(171,91,7,.38);border-radius:999px;background:#fff0d5;color:#783c00;font-size:10px;font-weight:800;line-height:1.2}.planning-cell-inactive-badge{border-color:#4c575047;background:#e2e7e4;color:#4d5a52}.planning-driver-daily-override-badge{border-color:#536b9a57;background:#edf2fb;color:#344d7c}.planning-vehicle-conflict-badge{border-color:#b02a2a61;background:#ffe3e3;color:#8d1f1f}.planning-daily-override-badge span{color:inherit;font-size:inherit}.planning-cell-empty{align-self:end;color:var(--color-text-muted);font-size:12px}.planning-assignment-chip{display:grid;gap:3px;padding:7px;border:1px solid rgba(13,110,56,.2);border-radius:8px;background:var(--color-primary-soft)}.planning-assignment-chip-conflict{border-color:#b02a2a9e;background:#fff1f1;box-shadow:inset 3px 0 #b02a2ab3}.planning-assignment-chip strong{font-size:12px;line-height:1.2}.planning-assignment-chip span{color:var(--color-text-muted);font-size:11px;line-height:1.2}.planning-service-time-range{width:fit-content;color:var(--color-primary)!important;font-weight:800}.planning-assignment-chip-continuation{gap:2px;padding:5px 7px;border-style:dashed;border-color:#536b9a57;background:#f8fafd}.planning-assignment-chip-continuation strong{font-size:11px}.planning-assignment-chip-continuation span{font-size:10px}.planning-assignment-chip-continuation .planning-service-time-range{color:#344d7c!important}.planning-one-off-service-chip{border-color:#536b9a57;border-left:5px solid #536b9a;background:#f8fafd}.planning-service-duplication-chip,.planning-service-duplication-card{border-color:#5d4b9947;border-left-color:#6f57b6;background:#f8f5ff}.planning-service-non-driving{border-color:#91652257;border-left-color:#b47a25;background:#fff9ec}.planning-one-off-service-badge{width:fit-content;padding:2px 6px;border:1px solid rgba(83,107,154,.34);border-radius:999px;background:#edf2fb;color:#344d7c!important;font-size:10px!important;font-weight:800;line-height:1.2;text-transform:uppercase}.planning-service-duplication-badge,.planning-service-duplication-source-badge{width:fit-content;padding:2px 6px;border:1px solid rgba(93,75,153,.3);border-radius:999px;background:#eee8ff;color:#4f3d8a!important;font-size:10px!important;font-weight:850;line-height:1.2;text-transform:uppercase}.planning-service-duplication-source-badge{border-color:#0d6e3833;background:#edf8f0;color:#0d6e38!important}.planning-non-driving-service-badge{width:fit-content;padding:2px 6px;border:1px solid rgba(145,101,34,.32);border-radius:999px;background:#fff3d7;color:#76521c!important;font-size:10px!important;font-weight:850;line-height:1.2;text-transform:uppercase}.planning-recurring-note-list{display:grid;gap:4px}.planning-recurring-note-card{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding:6px 7px;border:1px solid rgba(13,110,56,.18);border-left:4px solid var(--color-primary);border-radius:8px;background:color-mix(in srgb,var(--color-primary-soft) 82%,white)}.planning-recurring-note-content{display:grid;gap:2px;min-width:0}.planning-recurring-note-card strong{color:var(--color-primary);font-size:11px;line-height:1.2}.planning-recurring-note-card span{color:var(--color-text);font-size:11px;line-height:1.25}.planning-recurring-note-actions{flex:0 0 auto}.planning-assignment-chip .planning-assignment-conflict-label{width:fit-content;padding:2px 6px;border:1px solid rgba(176,42,42,.38);border-radius:999px;background:#ffe3e3;color:#8d1f1f;font-size:10px;font-weight:800;line-height:1.2;text-transform:uppercase}.planning-assignment-cancel{justify-self:start;padding:0;border:0;background:transparent;color:#a63737;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.planning-coverage-shell{display:grid;grid-template-columns:var(--planning-row-label-width) repeat(var(--planning-day-count),minmax(var(--planning-day-min-width),1fr));gap:1px;min-width:100%;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-border) 86%,#9ba99f);border-radius:10px;background:color-mix(in srgb,var(--color-border) 76%,white)}.planning-coverage-main{min-width:0}.planning-coverage-days-grid{display:grid;grid-template-columns:var(--planning-row-label-width) repeat(var(--planning-day-count),minmax(var(--planning-day-min-width),1fr));gap:1px;min-width:100%;background:color-mix(in srgb,var(--color-border) 72%,white)}.planning-coverage-intro{grid-column:1;grid-row:1;display:grid;align-content:start;gap:6px;min-width:0;padding:10px;background:#fff;box-shadow:inset 0 -1px color-mix(in srgb,var(--color-border) 70%,white),0 2px 6px #273c2e0d;z-index:3}.planning-coverage-grid-spacer{min-width:0}.planning-coverage-days-heading-grid{position:sticky;top:0;z-index:2}.planning-coverage-intro h2{margin:0;font-size:16px;line-height:1.2}.planning-coverage-intro p{margin:0;color:var(--color-text-muted);font-size:12px;line-height:1.35}.planning-coverage-day{display:grid;align-content:start;gap:8px;min-width:130px;padding:10px;border:0;border-radius:0;background:var(--color-surface-soft)}.planning-coverage-one-off-button{display:inline-grid;place-items:center;width:22px;min-width:22px;height:22px;min-height:22px;padding:0;border-radius:6px;color:#344d7c;font-size:16px;font-weight:900;line-height:1}.planning-coverage-day-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:10px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 72%,white);background:#f4f8f5;box-shadow:0 2px 6px #273c2e0d;color:color-mix(in srgb,var(--color-text-muted) 72%,var(--color-text));font-size:13px;font-weight:800}.planning-coverage-day-heading>span{min-width:0}.planning-coverage-day p{margin:0;color:var(--color-text-muted);font-size:12px}.planning-coverage-services{display:grid;gap:7px}.planning-service-card{display:grid;gap:2px;width:100%;padding:8px;border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:8px;background:#fff;color:var(--color-text);text-align:left}.planning-service-card:hover,.planning-service-card-selected{border-color:#0d6e386b;background:var(--color-primary-soft);outline:none}.planning-assignment-chip-selected{border-color:#0d6e386b;background:var(--color-primary-soft)}.planning-service-card-main{display:grid;gap:2px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.planning-service-card-main:focus-visible,.planning-card-icon-button:focus-visible{outline:2px solid rgba(13,110,56,.28);outline-offset:2px}.planning-service-card strong{font-size:13px;line-height:1.2}.planning-service-card span{color:var(--color-text-muted);font-size:12px;line-height:1.25}.planning-service-title{color:var(--color-text);font-weight:600}.planning-daily-override-badge{display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:2px 6px;border:1px solid rgba(83,107,154,.34);border-radius:999px;background:#edf2fb;color:#344d7c;font-size:10px;font-weight:800;line-height:1.2}.planning-assignment-chip .planning-daily-override-badge,.planning-service-card .planning-daily-override-badge{color:#344d7c;font-size:10px}.planning-assignment-chip .planning-daily-override-badge span,.planning-service-card .planning-daily-override-badge span{color:inherit;font-size:inherit}.planning-card-icon-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:5px;justify-self:start;margin-top:4px}.planning-cell-day-actions{display:flex;gap:4px;justify-content:flex-end}.planning-cell-day-actions .planning-card-icon-button{width:22px;height:22px;border-radius:6px}.planning-card-icon-button{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid rgba(13,110,56,.18);border-radius:7px;background:#fff;color:var(--color-primary);cursor:pointer}.planning-card-icon-button-absence{color:#7a5a1b}.planning-card-icon-button-one-off{color:#344d7c;font-size:16px;font-weight:900;line-height:1}.planning-card-icon-button-unassign{color:#344d7c}.planning-card-icon-button-daily-override{border-color:#536b9a57;background:#edf2fb;color:#344d7c}.planning-card-icon-button-daily-conflict{border-color:#b02a2a6b;background:#ffe3e3;color:#8d1f1f}.planning-card-icon-button-danger{border-color:#a6373733;color:#a63737}.planning-card-icon-button:hover{border-color:#0d6e3861;background:var(--color-primary-soft)}.planning-card-icon-button-daily-override:hover{border-color:#536b9a85;background:#dfe9fb}.planning-card-icon-button-daily-conflict:hover{border-color:#b02a2a94;background:#ffd5d5}.planning-card-icon-button-danger:hover{border-color:#a637376b;background:#ffecec}.planning-card-icon-button svg{width:15px;height:15px;fill:currentColor}.planning-cell-day-actions .planning-card-icon-button svg{width:13px;height:13px}.planning-assignment-chip .planning-card-icon-actions{gap:2px;justify-self:start;width:fit-content}.planning-coverage-intro-standalone{min-height:86px;padding:12px 14px 18px}.planning-service-card-unassigned-vehicle{border-left-color:#8d1f1f}.planning-block-list{display:grid;gap:4px}.planning-block-list-all-day{gap:6px;min-height:0}.planning-agent-cell-all-day-only .planning-block-list-all-day{align-self:stretch}.planning-cell-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-items:stretch;min-width:0}.planning-cell-timeline .planning-assignment-chip{grid-column:1 / -1}.planning-block-card{display:grid;gap:6px;min-width:0;padding:8px;border:1px solid rgba(83,107,154,.24);border-left:5px solid #536b9a;border-radius:8px;background:#f3f6fb;color:var(--color-text);line-height:1.2}.planning-block-card-all-day{min-height:104px;align-content:center;border-left-width:7px;box-shadow:inset 0 0 0 1px #536b9a14}.planning-agent-cell-all-day-only .planning-block-card-all-day{height:100%;min-height:0}.planning-agent-cell-has-all-day-block:not(.planning-agent-cell-all-day-only) .planning-block-card-all-day{min-height:92px;border-color:#b02a2a3d;box-shadow:inset 0 0 0 1px #b02a2a14}.planning-block-card-partial{min-height:76px;align-content:start;box-shadow:inset 0 0 0 1px #ffffff85}.planning-block-card-morning{grid-column:1}.planning-block-card-afternoon{grid-column:2}.planning-block-card-wide,.planning-block-card-all-day{grid-column:1 / -1}.planning-block-card-rest{border-left-color:#536b9a;background:#edf2fb}.planning-block-card-absence{border-left-color:#a63737;background:#fff1f1}.planning-block-card-leave{border-left-color:#2f7d73;background:#edf8f6}.planning-block-card-unavailability{border-left-color:#8d5a13;background:#fff5df}.planning-block-card-training{border-left-color:#0d6e38;background:#eef8f2}.planning-vehicle-block-card{border-left-color:#8d5a13;background:#fff7e8}.planning-vehicle-block-card-garage,.planning-vehicle-block-card-mechanical,.planning-vehicle-block-card-breakdown{border-left-color:#a63737;background:#fff1f1}.planning-vehicle-block-card-technical_control,.planning-vehicle-block-card-periodic_control,.planning-vehicle-block-card-mines{border-left-color:#536b9a;background:#edf2fb}.planning-vehicle-block-card-cleaning_preparation{border-left-color:#2f7d73;background:#edf8f6}.planning-vehicle-block-card-accident{border-left-color:#8d1f1f;background:#ffecec}.planning-block-card-main{display:grid;gap:2px;min-width:0}.planning-block-card-main strong{font-size:12px;line-height:1.2}.planning-block-card-main span{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:11px;line-height:1.25}.planning-block-card-all-day .planning-block-card-main strong{font-size:13px}.planning-block-card-actions{display:flex;flex-wrap:wrap;gap:5px;align-self:end}.planning-block-card-actions .planning-card-icon-button{width:24px;height:24px;border-radius:6px}.planning-block-chip{display:grid;gap:2px;width:fit-content;max-width:100%;padding:5px 7px;border:1px solid rgba(83,107,154,.24);border-left:4px solid #536b9a;border-radius:8px;background:#f3f6fb;color:var(--color-text);font-size:11px;line-height:1.2}.planning-block-chip-rest{border-left-color:#536b9a;background:#edf2fb}.planning-block-chip-absence{border-left-color:#a63737;background:#fff1f1}.planning-block-chip-leave{border-left-color:#2f7d73;background:#edf8f6}.planning-block-chip-unavailability{border-left-color:#8d5a13;background:#fff5df}.planning-block-chip-training{border-left-color:#0d6e38;background:#eef8f2}.planning-block-chip strong{font-size:11px}.planning-block-chip span{color:var(--color-text-muted);font-size:10px}.planning-block-chip button{justify-self:start;padding:0;border:0;background:transparent;color:#a63737;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.service-daily-override-page{align-content:start}.service-daily-override-context{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.service-daily-override-context h2,.service-daily-override-context p{margin:0}.service-daily-override-context div{display:grid;gap:4px}.service-daily-override-context span:not(.planning-daily-override-badge){color:var(--color-text-muted);font-size:13px}.service-daily-override-grid{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:14px}.service-daily-override-tte-toggle{margin-bottom:10px}.driver-daily-source-badge,.driver-daily-mission-conflict .planning-assignment-conflict-label{width:fit-content;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:800;line-height:1.2}.driver-daily-source-badge{border:1px solid rgba(13,110,56,.18);background:var(--color-primary-soft);color:var(--color-primary);white-space:pre-line}.driver-weekly-print-duplication-line{display:block;margin-top:2px}.driver-weekly-print-duplication-mention{display:inline-block;font-weight:800}.planning-ops-print-duplication-mention{display:block;font-weight:800}.driver-daily-mission-conflict{border-color:#b02a2a9e;box-shadow:inset 3px 0 #b02a2aa6}.driver-daily-mission-conflict .planning-assignment-conflict-label{border:1px solid rgba(176,42,42,.38);background:#ffe3e3;color:#8d1f1f}.driver-daily-print-page{width:min(960px,100%);min-height:0;margin:0 auto;align-content:start}.driver-daily-print-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px}.planning-daily-operations-print-page{width:min(1440px,100%);min-height:0;margin:0 auto;align-content:start;page:planning-daily-operations-landscape}.planning-daily-operations-print-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px}.planning-daily-operations-print-sheet{display:grid;gap:20px;padding:24px 28px;border:1px solid var(--color-border);border-radius:4px;background:#fff;box-shadow:0 10px 28px #11261b14}.planning-daily-operations-print-header{display:grid;gap:4px;padding-bottom:14px;border-bottom:2px solid var(--color-text)}.planning-daily-operations-print-header h1,.planning-daily-operations-print-header p{margin:0}.planning-daily-operations-print-header h1{font-size:28px;letter-spacing:.05em}.planning-daily-operations-print-header p{font-size:14px;font-weight:700}.planning-daily-operations-print-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.planning-ops-print-block{display:grid;grid-template-rows:auto 1fr;align-self:stretch;gap:8px;min-width:0}.planning-ops-print-table{height:100%}.planning-ops-print-table thead,.planning-ops-print-table thead tr,.planning-ops-print-table thead th{height:1px}.planning-ops-print-block-header{display:flex;align-items:center;padding:8px 10px;border:1px solid var(--color-border);background:#d9e0e8;print-color-adjust:exact;-webkit-print-color-adjust:exact}.planning-ops-print-block-header h2{margin:0;font-size:16px;line-height:1.15;white-space:nowrap}.planning-ops-print-table{width:100%;border-collapse:collapse;table-layout:fixed}.planning-ops-print-table th,.planning-ops-print-table td{padding:8px 10px;border:1px solid var(--color-border);vertical-align:top;text-align:left;font-size:12px;line-height:1.28;word-break:break-word}.planning-ops-print-table th{background:#d9e0e8;font-size:11px;letter-spacing:.03em;print-color-adjust:exact;-webkit-print-color-adjust:exact}.planning-ops-print-table th:nth-child(1),.planning-ops-print-table td:nth-child(1){width:32%}.planning-ops-print-table th:nth-child(2),.planning-ops-print-table td:nth-child(2){width:21%}.planning-ops-print-table th:nth-child(3),.planning-ops-print-table td:nth-child(3){width:27%}.planning-ops-print-table th:nth-child(4),.planning-ops-print-table td:nth-child(4){width:20%}.planning-ops-print-service-cell{display:grid;gap:2px}.planning-ops-print-service-cell strong{font-size:12px}.planning-ops-print-service-cell span{color:var(--color-text-muted);font-size:11px}.planning-print-export-modal{width:min(100%,520px)}.planning-print-export-driver-menu summary{width:100%;justify-content:space-between}.planning-print-export-driver-menu{width:100%}.planning-print-export-driver-menu .planning-filter-menu-panel{width:100%;min-width:min(100%,320px);max-width:min(100%,calc(100vw - 48px))}.planning-print-export-driver-menu .planning-filter-options{list-style:none;margin:0;padding:0}.planning-print-export-periods{display:flex;gap:10px;flex-wrap:wrap}.planning-print-export-period-option{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-soft)}.planning-print-export-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.planning-ops-print-empty{text-align:center;color:var(--color-text-muted)}.driver-weekly-print-page{width:min(1440px,100%);min-height:0;margin:0 auto;align-content:start;page:driver-weekly-print-landscape}.driver-weekly-print-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px}.driver-weekly-print-sheet{display:grid;gap:20px;padding:24px 28px;border:1px solid var(--color-border);border-radius:4px;background:#fff;box-shadow:0 10px 28px #11261b14}.driver-weekly-print-sheet-break{break-after:page}.driver-weekly-print-header{display:grid;gap:4px;padding-bottom:14px;border-bottom:2px solid var(--color-text)}.driver-weekly-print-header h1,.driver-weekly-print-header p{margin:0}.driver-weekly-print-header h1{font-size:28px}.driver-weekly-print-header p:not(.driver-weekly-print-label){color:var(--color-text-muted);font-size:13px;font-weight:700}.driver-weekly-print-label{margin:0;color:var(--color-text-muted);font-size:12px;font-weight:700;text-transform:uppercase}.driver-weekly-print-table{width:100%;border-collapse:collapse;table-layout:fixed}.driver-weekly-print-col-day{width:13%}.driver-weekly-print-col-time{width:11%}.driver-weekly-print-col-service{width:27%}.driver-weekly-print-col-vehicle{width:17%}.driver-weekly-print-col-comment{width:32%}.driver-weekly-print-table th,.driver-weekly-print-table td{padding:8px 10px;border:1px solid var(--color-border);vertical-align:top;text-align:left;font-size:12px;line-height:1.28;word-break:break-word}.driver-weekly-print-table th{background:#d9e0e8;font-size:11px;letter-spacing:.03em;print-color-adjust:exact;-webkit-print-color-adjust:exact}.driver-weekly-print-table thead th{border-top:1px solid var(--color-border);border-bottom:1px solid #1f2522!important;border-left-color:var(--color-border);border-right-color:var(--color-border)}.driver-weekly-print-table thead th:first-child{border-left:1px solid #1f2522!important}.driver-weekly-print-table thead th:last-child{border-right:1px solid #1f2522!important}.driver-weekly-print-row-day-even td{background:#fff}.driver-weekly-print-row-day-odd td{background:#e9eef3}.driver-weekly-print-vehicle-cell{white-space:pre-line}.driver-weekly-print-day-cell,.driver-weekly-print-cell-list,.driver-weekly-print-rich-text{display:grid;gap:4px}.driver-weekly-print-rich-text p,.driver-weekly-print-rich-text ul,.driver-weekly-print-rich-text ol{margin:0}.driver-weekly-print-rich-text ul,.driver-weekly-print-rich-text ol{padding-left:18px}.driver-weekly-print-rich-text li+li,.driver-weekly-print-rich-text p+p,.driver-weekly-print-rich-text p+ul,.driver-weekly-print-rich-text p+ol,.driver-weekly-print-rich-text ul+p,.driver-weekly-print-rich-text ol+p{margin-top:2px}.driver-weekly-print-row-rest td{background:#17324d;color:#fff;vertical-align:middle;print-color-adjust:exact;-webkit-print-color-adjust:exact}.driver-weekly-print-row-rest td strong{color:#fff}.driver-weekly-print-rest-cell{align-items:center;display:flex;font-size:16px;font-weight:800;justify-content:center;min-height:0;text-align:center}.driver-daily-print-sheet{display:grid;gap:24px;padding:30px 34px;border:1px solid var(--color-border);border-radius:4px;background:#fff;box-shadow:0 10px 28px #11261b14}.driver-daily-print-header{display:grid;gap:5px;padding-bottom:18px;border-bottom:2px solid var(--color-text)}.driver-daily-print-header h1,.driver-daily-print-header p{margin:0}.driver-daily-print-header h1{font-size:28px;line-height:1.18}.driver-daily-print-header p:not(.driver-daily-print-label){color:var(--color-text-muted);font-size:13px;font-weight:700}.driver-daily-print-label{margin:0;color:var(--color-text-muted);font-size:12px;font-weight:700;text-transform:uppercase}.driver-daily-print-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px 18px;margin:0}.driver-daily-print-summary div{display:grid;align-content:start;gap:4px;min-width:0}.driver-daily-print-summary dt{color:var(--color-text-muted);font-size:11px;font-weight:700;text-transform:uppercase}.driver-daily-print-summary dd{margin:0;font-size:14px;font-weight:500}.driver-daily-print-summary dd.driver-daily-print-tte{color:var(--color-primary);font-size:18px;font-weight:700}.driver-daily-print-blocks{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--color-border);border-left:4px solid #536b9a;border-radius:8px;background:var(--color-surface-soft)}.driver-daily-print-blocks h2{margin:0;font-size:14px;line-height:1.2}.driver-daily-print-recurring-notes{border-left-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary-soft) 78%,white)}.driver-daily-print-block-list{display:flex;gap:7px;flex-wrap:wrap}.planning-recurring-note-print-chip{display:grid;gap:2px;padding:7px 9px;border:1px solid rgba(13,110,56,.18);border-radius:8px;background:#fff;color:var(--color-text);font-size:12px}.planning-recurring-note-print-chip strong{color:var(--color-primary);font-size:12px}.driver-daily-print-construction{display:grid;gap:14px}.driver-daily-print-construction h2{margin:0;padding-bottom:8px;border-bottom:1px solid var(--color-border-strong);font-size:18px}.driver-daily-print-list{display:grid;gap:10px}.driver-daily-print-mission,.driver-daily-print-note,.driver-daily-print-empty{display:grid;gap:9px;padding:12px 14px;border:1px solid var(--color-border);border-left:4px solid var(--service-mission-accent, #8ca897);border-radius:4px;background:var(--service-mission-surface, #ffffff);break-inside:avoid}.driver-daily-print-mission{border-left-width:6px}.driver-daily-print-mission-conflict{border-color:#b02a2a7a;border-left-color:#a63737}.driver-daily-print-mission-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.driver-daily-print-mission-heading strong{font-size:15px}.driver-daily-print-mission-heading span{color:var(--color-text-muted);font-size:13px;font-weight:700}.driver-daily-print-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.driver-daily-print-conflict-badge{width:fit-content;padding:2px 6px;border:1px solid rgba(176,42,42,.38);border-radius:999px;background:#ffe3e3;color:#8d1f1f;font-size:10px;font-weight:800;line-height:1.2}.driver-daily-print-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px}.driver-daily-print-route span{display:flex;align-items:baseline;gap:9px;min-width:0;font-size:14px}.driver-daily-print-route time{flex:0 0 auto;color:var(--color-text);font-weight:700}.driver-daily-print-route>span[aria-hidden=true]{color:var(--color-text-muted)}.driver-daily-print-codes{color:var(--color-text-muted);font-size:12px;font-weight:600}.driver-daily-print-comment{display:grid;gap:4px;padding-top:8px;border-top:1px dashed var(--color-border);font-size:13px}.driver-daily-print-comment>strong,.driver-daily-print-note>strong{color:var(--color-text-muted);font-size:11px;text-transform:uppercase}.driver-daily-print-rich-text{color:var(--color-text);font-size:13px}.driver-daily-print-rich-text p{margin:0}.driver-daily-print-rich-text p+p{margin-top:4px}.planning-block-modal{width:min(100%,520px)}.planning-one-off-service-modal{width:min(100%,620px)}.planning-service-duplication-modal{width:min(100%,520px)}.planning-service-duplication-reasons{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:#fbfcfb}.planning-service-duplication-reasons legend{padding:0 6px;color:var(--color-text-muted);font-size:12px;font-weight:800;text-transform:uppercase}.planning-vehicle-block-conflict-modal{width:min(100%,620px)}.planning-block-modal-grid,.planning-one-off-service-modal-grid{display:grid;gap:12px}.planning-vehicle-block-conflict-list{display:grid;gap:6px;max-height:180px;overflow:auto;padding:8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-soft)}.planning-vehicle-block-conflict-list span{color:var(--color-text-muted);font-size:12px;line-height:1.35}.planning-vehicle-block-conflict-actions{align-items:stretch}.planning-block-all-day-toggle{justify-self:start}.planning-block-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.planning-block-period-hint{margin:-4px 0 0;color:var(--color-text-muted);font-size:12px;line-height:1.4}.planning-block-period-error{margin:-4px 0 0}.planning-block-time-grid,.planning-one-off-service-time-grid,.planning-one-off-service-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.planning-one-off-service-hint{width:fit-content;padding:3px 8px;border:1px solid rgba(83,107,154,.34);border-radius:999px;background:#edf2fb;color:#344d7c;font-size:11px;font-weight:800}.planning-block-note-field textarea,.planning-one-off-service-comment-field textarea{min-height:76px}.planning-one-off-service-page{display:grid;gap:12px}.planning-one-off-service-toolbar{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;max-width:920px;width:100%;justify-self:center}.planning-one-off-service-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.planning-one-off-service-detail-card{display:grid;gap:12px;max-width:920px;width:100%;justify-self:center}.planning-one-off-service-detail-header{display:flex;justify-content:space-between;gap:12px;align-items:start}.planning-one-off-service-detail-heading{display:grid;gap:2px}.planning-one-off-service-detail-meta{display:grid;gap:4px;justify-items:end;text-align:right}.planning-one-off-service-detail-meta strong{font-size:18px}.planning-one-off-service-detail-meta span{color:var(--color-text-muted);font-size:13px}.planning-one-off-service-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.planning-one-off-service-detail-panel{display:grid;gap:8px;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:#ffffffb8}.planning-one-off-service-detail-panel h3{margin:0;font-size:14px}.planning-one-off-service-status-panel{background:#fff3f3e6;border-color:#b02a2a38}.planning-one-off-service-status-text{margin:0;color:#8d1f1f;font-size:14px;font-weight:800}.planning-one-off-service-missions ol{display:grid;gap:8px;margin:0;padding-left:18px}.planning-one-off-service-missions li{color:var(--color-text-muted);font-size:13px;line-height:1.4}.planning-one-off-service-missions li strong{color:var(--color-text);margin-right:6px}.planning-one-off-service-detail-header h2{margin:8px 0 0}.planning-one-off-service-detail-header p{margin:4px 0 0;color:var(--color-text-muted)}.planning-one-off-service-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.driver-daily-vehicle-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#1118270f;color:var(--color-text);font-size:12px;font-weight:800}.planning-one-off-service-summary div{display:grid;gap:4px;min-width:0}.planning-one-off-service-summary dt{color:var(--color-text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.planning-one-off-service-summary dd{margin:0;font-weight:700}.planning-one-off-service-comment h3{margin:0 0 6px;font-size:14px}.planning-one-off-service-comment p{margin:0;white-space:pre-wrap}.planning-one-off-service-conflict-message{display:grid;gap:4px}.planning-one-off-service-form-grid{display:grid;gap:14px}.planning-one-off-service-form-message{margin:0}.planning-one-off-review-notice{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid rgba(176,42,42,.28);border-radius:8px;background:#fff1f1}.planning-one-off-review-notice p{margin:0;color:#8d1f1f;font-size:12px}.driver-daily-one-off-section{border-left:5px solid #536b9a}.driver-daily-one-off-list,.driver-daily-print-one-off-list{display:grid;gap:8px}.driver-daily-one-off-card,.driver-daily-print-one-off-card{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px;border:1px solid rgba(83,107,154,.24);border-radius:8px;background:#f8fafd}.driver-daily-one-off-card-main,.driver-daily-print-one-off-card>div{display:grid;gap:3px}.driver-daily-one-off-card-main strong,.driver-daily-print-one-off-card strong{font-size:13px}.driver-daily-one-off-card-main span,.driver-daily-print-one-off-card span{color:var(--color-text-muted);font-size:11px;line-height:1.25}@media(max-width:900px){.planning-one-off-service-detail-grid{grid-template-columns:1fr}.planning-one-off-service-detail-meta{justify-items:start;text-align:left}}.settings-section{display:grid;gap:18px}.responsive-accordion-layout{display:grid;gap:14px}.accordion-panel{border:1px solid var(--color-border);border-radius:16px;background:#ffffffd6;box-shadow:0 8px 24px #11261b0d;overflow:hidden}.accordion-panel-trigger{width:100%;border:0;background:transparent;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;cursor:pointer}.accordion-panel-heading{display:grid;gap:4px}.accordion-panel-heading strong{font-size:16px;color:var(--color-text)}.accordion-panel-heading span{color:var(--color-text-muted);font-size:13px}.accordion-panel-chevron{font-size:18px;color:var(--color-primary);transition:transform .18s ease}.accordion-panel-chevron-open{transform:rotate(180deg)}.accordion-panel-content{padding:0 0 2px}.accordion-panel-content>.card{margin:0;border-radius:0;border-left:0;border-right:0;border-bottom:0;box-shadow:none}.settings-list{display:grid;gap:12px}.settings-row{border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-soft);padding:16px;display:grid;gap:14px}.settings-row-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-row-main p{margin:6px 0 0;color:var(--color-text-muted);font-size:14px}.settings-badges{display:flex;align-items:center;gap:8px}.settings-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.settings-checkbox{display:inline-flex;align-items:center;gap:10px;color:var(--color-text);font-size:14px;font-weight:500}.settings-checkbox input{width:16px;height:16px}.settings-duration-controls{justify-content:flex-end}.settings-duration-field{min-width:220px}.settings-duration-input{display:inline-flex;align-items:center;gap:8px}.settings-duration-input input{width:96px}.settings-duration-input span{color:var(--color-text-muted);font-size:14px;font-weight:600}.settings-mission-color-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:8px}.settings-mission-color-row{grid-template-columns:minmax(210px,1fr) minmax(230px,auto);align-items:center;gap:10px;padding:9px 10px;border-radius:10px}.settings-mission-color-row .settings-row-main{justify-content:flex-start;align-items:center;gap:9px;min-width:0}.settings-mission-color-row .settings-row-main strong{display:block;font-size:13px;line-height:1.15;overflow-wrap:anywhere;white-space:normal}.settings-mission-color-preview{width:24px;height:24px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--color-border) 72%,#ffffff);border-radius:999px;box-shadow:inset 0 0 0 2px #ffffffb8}.settings-mission-color-abbreviation{display:inline-flex;align-items:center;min-height:17px;margin-top:2px;padding:1px 6px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:10px;font-weight:800;line-height:1}.settings-mission-color-controls{justify-content:flex-end;gap:7px;flex-wrap:nowrap;min-width:0}.settings-mission-color-controls .field{gap:3px;min-width:0}.settings-mission-color-controls .field>span{font-size:10px;line-height:1}.settings-color-field{min-width:62px}.settings-color-code-field{min-width:126px}.settings-color-field input[type=color]{width:42px;height:28px;padding:2px;border:1px solid var(--color-border);border-radius:7px;background:#fff;cursor:pointer}.settings-color-code-input{width:112px;height:28px;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace);font-size:12px;text-transform:uppercase}.settings-mission-color-controls .button{min-height:28px;padding:4px 8px;font-size:12px}.settings-mission-color-subsection{display:grid;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--color-border)}.settings-mission-color-subsection-heading{display:grid;gap:3px}.settings-mission-color-subsection-heading h3{margin:0;color:var(--color-text);font-size:15px}.settings-mission-color-subsection-heading p{margin:0;color:var(--color-text-muted);font-size:13px}.settings-empty-note{padding:10px 12px;border:1px dashed var(--color-border);border-radius:10px;background:var(--color-surface-soft);color:var(--color-text-muted);font-size:13px}@media(max-width:640px){.settings-mission-color-list,.settings-mission-color-row{grid-template-columns:1fr}.settings-mission-color-controls{justify-content:flex-start;flex-wrap:wrap}}.form-subsection{display:grid;gap:14px;padding:16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-soft)}.form-subsection-heading{display:grid;gap:4px}.form-subsection-heading h3{margin:0;font-size:16px}.form-subsection-heading p,.form-subsection-empty{margin:0;color:var(--color-text-muted);font-size:13px}.activity-periods-list{display:grid;gap:12px}.activity-period-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;padding:12px;border:1px solid var(--color-border);border-radius:12px;background:#fff}@media(max-width:760px){.activity-period-row{grid-template-columns:1fr}}.manual-options-categories{display:grid;gap:18px}.manual-options-category{display:grid;gap:12px;padding-top:2px}.manual-options-category+.manual-options-category{border-top:1px solid var(--color-border);padding-top:18px}.manual-options-category-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.manual-options-category-heading h3{margin:0;font-size:17px}.manual-options-category-heading span,.manual-options-empty{color:var(--color-text-muted);font-size:14px}.manual-options-add-row{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end;border:1px solid var(--color-border);border-radius:12px;padding:12px;background:var(--color-surface-soft)}.manual-options-row{gap:12px}.manual-options-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.manual-options-label-field{min-width:0}.manual-options-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.drivers-list-card,.driver-form-card,.vehicles-list-card,.vehicles-form-card,.depots-list-card,.depot-form-card{display:flex;flex-direction:column;min-height:0;max-height:min(960px,calc(100vh - 180px))}.empty-state{padding:24px 0 8px}.driver-list,.vehicle-list,.depot-list{display:grid;gap:10px;min-height:0;overflow:auto;padding-right:4px}.driver-row,.vehicle-row,.depot-row{width:100%;text-align:left;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-soft);padding:14px;display:grid;gap:10px;cursor:pointer;min-width:0}.driver-row.selected,.vehicle-row.selected,.depot-row.selected{border-color:#0d6e3873;background:var(--color-primary-soft)}.driver-row-main,.driver-row-meta,.vehicle-row-main,.vehicle-row-meta,.depot-row-main,.depot-row-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.driver-row-badges,.vehicle-row-badges,.depot-row-badges{display:flex;align-items:center;gap:8px}.driver-row-meta,.vehicle-row-meta,.depot-row-meta{color:var(--color-text-muted);font-size:14px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-success{background:#dff6e8;color:#1b6b46}.badge-muted{background:#eef2ef;color:var(--color-secondary)}.badge-archived{background:#ece4d6;color:#7a5830}.checkbox-row{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--color-text-muted)}.vehicle-inline-checkbox{display:inline-flex;align-items:center;justify-self:start;align-self:start;gap:10px;margin:2px 0 0;color:var(--color-text-muted);font-size:14px;line-height:1.35}.vehicle-inline-checkbox input{margin:0}.vehicle-form-section{display:grid;gap:16px;padding:18px;border:1px solid var(--color-border);border-radius:18px;background:linear-gradient(180deg,#fbfcfb,#f5f8f5)}.vehicle-form-section-header{display:grid;gap:4px}.vehicle-form-section-header h3{margin:0;font-size:16px}.vehicle-form-section-header p{margin:0;color:var(--color-text-muted);font-size:13px;line-height:1.45}.vehicle-form-section-grid{align-items:start}.field-span-full{grid-column:1 / -1}.vehicle-list-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.driver-form,.vehicle-form,.depot-form{display:grid;gap:18px;min-height:0;overflow:auto;padding-right:4px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:8px}.field span{font-size:14px;font-weight:600;color:var(--color-text)}.field input,.field select,.field textarea,.readonly-box{width:100%;border:1px solid var(--color-border-strong);border-radius:12px;padding:12px 14px;font:inherit;background:#fff;color:var(--color-text);min-width:0}.readonly-box{background:#f4f7f4;color:var(--color-text-muted)}.field textarea{resize:vertical}.field-error{color:#b63b3b;font-size:13px}.field-hint{color:var(--color-text-muted);font-size:13px;line-height:1.45}.inline-message{margin-bottom:16px;padding:12px 14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-soft);color:var(--color-text)}.inline-message-success{border-color:#b9e3c3;background:#eef9f1;color:#2f7a46}.inline-message-error{border-color:#efc2c2;background:#fff2f2;color:#a63737}.inline-message-warning{border-color:#f2d48a;background:#fff8e6;color:#75540d}.driver-actions-panel,.vehicle-actions-panel,.depot-actions-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-top:1px solid #e3eaf3;border-bottom:1px solid #e3eaf3;padding:18px 0}.driver-usage-box,.vehicle-usage-box,.depot-usage-box{display:grid;gap:6px;color:var(--color-text-muted);font-size:14px}.driver-action-buttons,.vehicle-action-buttons,.depot-action-buttons{display:flex;align-items:center;gap:10px}.form-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.form-readonly-fieldset{display:grid;gap:18px;min-width:0;margin:0;padding:0;border:0}.button-danger{background:#fbe8e8;color:#9e2f2f}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1c2d8a;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.modal-card{width:min(100%,460px);background:var(--color-surface);border-radius:16px;border:1px solid var(--color-border);box-shadow:0 24px 60px #0f1c2d38;padding:24px;display:grid;gap:14px}.modal-card h3,.modal-card p{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e3eaf3;padding-top:18px}.form-hint{display:grid;gap:4px;color:var(--color-text-muted);font-size:14px}.form-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.save-message{color:var(--color-primary);font-size:14px;font-weight:600}@media(max-width:1260px){:root{--sidebar-width: 184px;--content-padding: 24px}.service-multi-calendar-header-desktop,.service-multi-calendar-months-desktop{display:none}.service-multi-calendar-header-compact{display:flex}.service-multi-calendar-months-compact{display:grid;grid-template-columns:1fr}.drivers-overview,.vehicles-overview,.depots-overview,.settings-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.drivers-layout,.vehicles-layout,.depots-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:16px}.drivers-list-card,.driver-form-card,.vehicles-list-card,.vehicles-form-card,.depots-list-card,.depot-form-card{max-height:min(920px,calc(100vh - 156px))}}@media(max-width:900px){:root{--content-padding: 16px}body{overflow:auto}.app-shell{height:auto;overflow:visible}.mobile-menu-button{position:fixed;top:12px;left:12px;z-index:1200;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:11px 14px;background:var(--color-sidebar-background);color:#fff;box-shadow:0 12px 28px #11261b2e}.mobile-menu-button-icon{display:inline-flex;width:18px;justify-content:center;font-size:18px;line-height:1}.mobile-menu-button-label{font-size:14px;font-weight:600}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1090;display:block;border:0;background:#11261b61;padding:0}.sidebar{position:fixed;inset:0 auto 0 0;width:min(84vw,320px);max-width:320px;height:100vh;padding:16px;overflow-y:auto;min-height:100vh;z-index:1100;transform:translate(calc(-100% - 16px));transition:transform .22s ease;box-shadow:0 20px 50px #11261b38}.app-shell-sidebar-expanded .sidebar{width:min(84vw,320px);padding:16px;transform:translate(calc(-100% - 16px))}.sidebar.sidebar-open{width:min(84vw,320px);padding:16px;transform:translate(0)}.sidebar.sidebar-open .brand strong,.sidebar.sidebar-open .brand>span:not(.brand-mark),.sidebar.sidebar-open .nav-link-label,.sidebar.sidebar-open .sidebar-footer{opacity:1;transform:translate(0)}.sidebar.sidebar-open .nav-link{width:100%}.sidebar-rail-lock-zone{display:none}.content{margin-left:0;height:auto;overflow:visible;padding-top:72px}.app-shell-sidebar-expanded .content{margin-left:0}.responsive-overview{display:none}.services-page-toolbar{display:flex;align-items:center;flex-direction:row;flex-wrap:wrap}.services-page-toolbar-left{flex:1 1 100%}.services-page-toolbar-right{flex:0 0 auto}.services-page-search{flex:1 1 260px;max-width:100%}.services-page-toolbar .button{width:auto;max-width:100%;flex:0 0 auto;justify-content:center}.services-editor-toolbar{align-items:flex-start}.services-editor-toolbar-actions{width:100%;justify-content:flex-start}.occasional-services-overview{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.occasional-folder-card,.occasional-folder-section-heading,.occasional-day-card{grid-template-columns:1fr}.occasional-folder-section-heading{display:grid}.occasional-folder-actions,.occasional-folder-detail-actions,.occasional-folder-section-actions,.occasional-day-actions{justify-content:flex-start}.occasional-services-filter{flex:1 1 220px}.occasional-services-filter select{width:100%}.occasional-service-folder-form-grid,.occasional-day-page-form .occasional-service-folder-form-grid,.manual-options-add-row,.manual-options-controls{grid-template-columns:1fr}.service-application-summary{width:100%;min-width:0}.service-repeatable-row{grid-template-columns:1fr;align-items:stretch}.service-line-card-header{flex-direction:column;align-items:flex-start}.service-line-card-actions{justify-content:flex-start}.service-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drivers-overview,.vehicles-overview,.depots-overview,.settings-overview,.drivers-layout,.vehicles-layout,.depots-layout,.form-grid{grid-template-columns:1fr}.section-toolbar,.driver-row-main,.driver-row-meta,.vehicle-row-main,.vehicle-row-meta,.depot-row-main,.depot-row-meta,.settings-row-main,.form-footer,.driver-actions-panel,.vehicle-actions-panel,.depot-actions-panel,.driver-action-buttons,.vehicle-action-buttons,.depot-action-buttons,.modal-actions{flex-direction:column;align-items:flex-start}.section-toolbar>*{width:100%}.settings-home-grid,.settings-data-grid,.settings-pysae-date-grid{grid-template-columns:1fr}.settings-home-tile{min-height:0}.drivers-list-card,.driver-form-card,.driver-list,.driver-form,.depots-list-card,.depot-form-card,.depot-list,.depot-form,.vehicles-list-card,.vehicles-form-card,.vehicle-list,.vehicle-form{max-height:none;overflow:visible}}@media(max-width:640px){:root{--content-padding: 12px}.service-multi-calendar{padding:12px}.service-multi-calendar-month{padding:10px}.sidebar{padding:14px 12px}.mobile-menu-button{top:10px;left:10px;padding:10px 12px}.content{padding:var(--content-padding);padding-top:68px}.page{gap:16px}.card{padding:16px;border-radius:14px}.page-header h1{font-size:1.8rem}.button{width:100%;justify-content:center}.services-page-toolbar .button{width:auto;max-width:100%;flex:0 0 auto}.services-page-toolbar-left,.services-page-toolbar-right,.services-page-search{width:100%}.service-select-with-manual{flex-direction:column;align-items:stretch}.service-favorite-toggle{width:100%}.service-application-mode-switch{flex-direction:column;align-items:stretch}.service-application-mode-switch .button{width:100%}.service-line-grid{grid-template-columns:1fr}.form-grid.service-general-grid{grid-template-columns:1fr;gap:10px}.service-general-field-name,.service-general-field-title,.service-general-field-nature,.service-general-field-market,.service-general-field-vehicle{grid-column:span 1}.service-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.service-print-toolbar{flex-direction:column;align-items:stretch}.service-print-hint{max-width:none}.service-print-sheet{padding:18px 16px}.service-print-summary,.service-print-route{grid-template-columns:1fr}.service-print-summary-wide{grid-column:span 1}.service-print-route-arrow{padding-left:5px}.planning-foundation-summary{grid-template-columns:1fr}.planning-toolbar{align-items:stretch}.planning-page{--planning-grid-max-height: clamp(240px, 38vh, 420px);--planning-coverage-max-height: clamp(180px, 30vh, 320px)}.planning-view-switch,.planning-display-mode-switch,.planning-week-controls{width:100%}.planning-view-switch .button,.planning-display-mode-switch .button,.planning-week-controls .button{flex:1 1 160px}.planning-search-control{flex-basis:min(100%,320px)}.planning-daily-operations-print-columns,.planning-print-export-date-grid{grid-template-columns:1fr}.driver-weekly-print-table{table-layout:auto}.form-actions{width:100%;margin-left:0}.form-actions .button,.modal-actions .button,.driver-action-buttons .button,.vehicle-action-buttons .button,.depot-action-buttons .button{width:100%}}@media print{@page planning-daily-operations-landscape{size:A4 landscape;margin:5mm}@page driver-weekly-print-landscape{size:A4 landscape;margin:10mm}@page{size:A4;margin:10mm}:root,html,body{background:#fff;font-size:10.5pt;line-height:1.28}html,body,#root,.app-shell{margin:0;padding:0;min-height:0;height:auto;overflow:visible}.sidebar,.mobile-menu-button,.sidebar-backdrop,.sidebar-lock-button,.sidebar-rail-lock-zone,.sidebar-rail-lock-zone-floating,.sidebar-rail-lock-button,.service-print-toolbar,.driver-daily-print-toolbar,.planning-one-off-service-toolbar,.planning-daily-operations-print-toolbar,.driver-weekly-print-toolbar{display:none!important}.content{height:auto;margin-left:0;padding:0;overflow:visible}.page{display:block;min-height:0}.service-print-page{width:100%;display:block;margin:0;padding:0}.driver-daily-print-page,.planning-daily-operations-print-page,.driver-weekly-print-page{width:100%;display:block;margin:0;padding:0;background:#fff}.service-print-sheet{display:block;gap:0;padding:0;border:0;border-radius:0;box-shadow:none}.driver-daily-print-sheet,.planning-daily-operations-print-sheet,.driver-weekly-print-sheet{display:block;gap:0;max-width:none;padding:0;border:0;border-radius:0;box-shadow:none}.driver-weekly-print-header{gap:2mm;padding-bottom:3mm;border-bottom:1px solid #111111}.driver-weekly-print-header h1{font-size:18pt}.driver-weekly-print-header p:not(.driver-weekly-print-label){font-size:10pt}.driver-weekly-print-label{font-size:8.4pt}.driver-weekly-print-table th,.driver-weekly-print-table td{padding:2mm 2.4mm;font-size:8.7pt;line-height:1.18}.driver-weekly-print-table th{font-size:8pt}.planning-daily-operations-print-sheet-break{break-after:auto}.planning-daily-operations-print-sheet+.planning-daily-operations-print-sheet{break-before:page}.planning-daily-operations-print-header{gap:.6mm;padding-bottom:1mm;border-bottom:1px solid #111111}.planning-daily-operations-print-header h1{font-size:15pt;line-height:1.02}.planning-daily-operations-print-header p{font-size:9pt;line-height:1.08}.planning-daily-operations-print-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4mm;margin-top:.6mm}.planning-ops-print-block{gap:.7mm;break-inside:avoid}.planning-ops-print-block-header{padding:.8mm 1.8mm}.planning-ops-print-block-header h2{font-size:10.4pt;line-height:1.05}.planning-ops-print-table th,.planning-ops-print-table td{padding:.64mm 1.35mm;font-size:8.4pt;line-height:1.04}.planning-ops-print-table th{font-size:8pt}.planning-ops-print-service-cell strong{font-size:8.6pt}.planning-ops-print-service-cell span{font-size:7.6pt}.driver-daily-print-header{gap:2px;padding-bottom:7px;margin-bottom:9px;border-bottom-width:1.5px}.driver-daily-print-header h1{font-size:19pt;line-height:1.08}.driver-daily-print-label{font-size:8pt;line-height:1.15}.driver-daily-print-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:9px}.driver-daily-print-summary div,.driver-daily-print-blocks,.driver-daily-print-mission,.driver-daily-print-note,.driver-daily-print-empty{padding:6px;border-radius:3px}.driver-daily-print-blocks{gap:5px;margin-bottom:9px;break-inside:avoid}.driver-daily-print-list{gap:6px}.service-print-header{gap:2px;padding-bottom:7px;margin-bottom:9px;border-bottom-width:1.5px}.service-print-label{font-size:8pt;line-height:1.15}.service-print-header h1{font-size:19pt;line-height:1.08}.service-print-title{font-size:10.5pt;line-height:1.2}.service-print-planning-date{margin-top:2px;font-size:8.5pt;line-height:1.15}.service-print-daily-override-badge{margin-top:3px;padding:2px 5px;font-size:7.5pt;line-height:1.15}.service-print-planning-assignment{gap:4px;padding:5px 7px;margin-bottom:9px;border-left-width:2pt;border-radius:3px;break-inside:avoid}.service-print-planning-assignment h2{font-size:9pt;line-height:1.15}.service-print-planning-assignment dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px}.service-print-planning-assignment div{gap:1px}.service-print-planning-assignment dt{font-size:7pt;line-height:1.1}.service-print-planning-assignment dd{font-size:8.5pt;line-height:1.15}.service-print-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 16px;margin-bottom:11px}.service-print-summary div{gap:1px}.service-print-summary-wide{grid-column:span 2}.service-print-summary dt{font-size:7.5pt;line-height:1.15}.service-print-summary dd{font-size:9.25pt;line-height:1.25}.service-print-tte{font-size:11pt}.service-print-construction{gap:6px;margin:0;padding:0}.service-print-construction h2{padding-bottom:4px;margin-bottom:6px;font-size:12.5pt;line-height:1.15}.service-print-construction-list{gap:5px;margin:0;padding:0}.service-print-construction-item{padding:5px 8px;border-left-width:3px;break-inside:avoid-page;page-break-inside:avoid}.service-print-mission{border-left-width:6px;background:#fff;gap:3px}.service-print-mission-heading{gap:8px;line-height:1.2}.service-print-mission-heading strong{font-size:10pt}.service-print-mission-heading .service-mission-type-badge{padding:1px 6px;background:#fff;font-size:9pt}.service-print-mission-heading span{font-size:8.5pt}.service-print-route{gap:8px}.service-print-stop{gap:5px;font-size:9pt;line-height:1.2}.service-print-codes{font-size:7.75pt;line-height:1.2}.service-print-comment{gap:2px;padding-top:4px;font-size:8.25pt}.service-print-comment>strong,.service-print-note>strong{font-size:7.5pt;line-height:1.15}.service-print-note{gap:2px;border-left-width:6px}.service-print-rich-text{font-size:8.5pt;line-height:1.27}.service-print-rich-text p+p{margin-top:2px}.service-print-rich-text-size-small{font-size:7.5pt}.service-print-rich-text-size-large{font-size:10.5pt}}.planning-one-off-service-toolbar{align-items:center;margin:0 0 12px}.planning-one-off-service-toolbar-actions{align-items:center}.planning-one-off-service-toolbar .button{width:auto;height:auto;min-height:44px;align-self:center;white-space:nowrap}.planning-one-off-service-page{align-content:start;gap:16px}.planning-one-off-service-page .planning-one-off-service-toolbar{margin-top:0;margin-bottom:8px}.planning-one-off-service-page .planning-one-off-service-detail-card{margin-top:0}.vehicle-inline-checkbox{display:flex;width:fit-content;max-width:100%;align-items:center;justify-content:flex-start;gap:8px;margin-top:8px}.vehicle-inline-checkbox input[type=checkbox]{width:auto;min-width:16px;height:16px;flex:0 0 auto;margin:0}.vehicle-inline-checkbox span{display:inline;flex:0 1 auto}.planning-rest-action{position:relative;display:inline-flex}.planning-rest-action-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:140;display:grid;gap:6px;min-width:180px;padding:8px;border:1px solid var(--color-border);border-radius:12px;background:#fff;box-shadow:0 16px 34px #11261b24}.planning-rest-action-menu button{width:100%;padding:7px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-text);font:inherit;font-size:12px;font-weight:800;line-height:1.2;text-align:left;cursor:pointer}.planning-rest-action-menu button:hover,.planning-rest-action-menu button:focus-visible{border-color:#536b9a33;background:#edf2fb;outline:none}.planning-filter-action-rest-active{border-color:#536b9a6b!important;background:#edf2fb!important;color:#17324d!important;box-shadow:inset 0 0 0 1px #536b9a29}.planning-grid-card-rest-selection .planning-agent-cell:not(.planning-agent-cell-inactive){cursor:copy}.planning-agent-cell-rest-selectable{box-shadow:inset 0 0 0 2px #536b9a38}.planning-agent-cell-rest-selectable:hover,.planning-agent-cell-rest-selectable:focus-visible{background:#edf2fb;outline-color:#536b9a57}.sidebar-rail-lock-zone-floating{position:fixed;left:8px;bottom:16px;z-index:1095;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;pointer-events:auto}.app-shell-sidebar-expanded .sidebar-rail-lock-zone-floating{display:none}@media(max-width:900px){.sidebar-rail-lock-zone-floating{display:none}}
