:root{--bg:#f4f6fb;--surface:#ffffff;--surface-soft:#f8fafc;--surface-green:#eef9f3;--surface-red:#fff3f1;--surface-amber:#fff8ea;--text:#0f2240;--muted:#6d7b92;--line:#d9e1ee;--line-strong:#cdd6e5;--accent:#f59e0b;--accent-soft:#fde7b8;--success:#21a365;--success-soft:#dcf6e7;--danger:#c24141;--shadow:0 18px 42px rgba(15,34,64,0.06);--brand-bg:#162238;--brand-fg:#ffffff;--button-strong-bg:#162238;--button-strong-border:#162238;--button-strong-fg:#ffffff;--field-bg:#ffffff;--tooltip-bg:#162238;--tooltip-text:#ffffff;--radius-xl:26px;--radius-lg:18px;--radius-md:14px;--max-width:1260px;--sidebar-width:248px;--sidebar-collapsed-width:76px;--brand-logo-width:156px}:root[data-theme=dark]{--bg:#09111f;--surface:#111b2d;--surface-soft:#172336;--surface-green:#10261f;--surface-red:#2d171d;--surface-amber:#302614;--text:#edf2ff;--muted:#91a1bb;--line:#243147;--line-strong:#31445e;--accent:#f6b44a;--accent-soft:#413011;--success:#4fd08c;--success-soft:#153624;--danger:#f38484;--shadow:0 22px 48px rgba(0,0,0,0.34);--brand-bg:#f6b44a;--brand-fg:#0f172a;--button-strong-bg:#f6b44a;--button-strong-border:#f6b44a;--button-strong-fg:#0f172a;--field-bg:#0f1726;--tooltip-bg:#edf2ff;--tooltip-text:#0f172a}*,:after,:before{box-sizing:border-box}html{color-scheme:light}[hidden]{display:none!important}body{margin:0;min-height:100vh;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:Inter,sans-serif}body:has(.portal-app-root.is-modal-open){overflow:hidden}.portal-app-root{position:relative}.portal-app-root.is-modal-open:before{content:"";position:fixed;inset:0;z-index:109;background:rgba(15,23,42,.52);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.portal-app-root[data-portal-pending-hydration=true][data-initial-overview-tab=service] #overviewViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=billing] #dashboardViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=billing] #overviewViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=board] #dashboardViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=board] #overviewViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=detail] #dashboardViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=mileage-detail] #dashboardViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=mileage-detail] #overviewViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=mileage] #dashboardViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=mileage] #overviewViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=overview] #dashboardViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=service-detail] #dashboardViewButton{background:transparent;border-color:transparent;color:var(--text)}.portal-app-root[data-portal-pending-hydration=true][data-initial-overview-tab=service] #overviewServiceTabButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=billing] #billingViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=board] #boardViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=dashboard] #dashboardViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=detail] #overviewViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=mileage-detail] #mileageViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=mileage] #mileageViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=overview][data-initial-overview-tab=customers] #overviewViewButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=service-detail] #overviewServiceTabButton{background:var(--button-strong-bg);border-color:var(--button-strong-border);color:var(--button-strong-fg)}.portal-app-root[data-portal-pending-hydration=true]:not([data-initial-view=billing]) #billingPanel,.portal-app-root[data-portal-pending-hydration=true]:not([data-initial-view=board]) #boardPanel,.portal-app-root[data-portal-pending-hydration=true]:not([data-initial-view=dashboard]) #dashboardPanel,.portal-app-root[data-portal-pending-hydration=true]:not([data-initial-view=mileage-detail]) #mileageDetailPanel,.portal-app-root[data-portal-pending-hydration=true]:not([data-initial-view=mileage]) #mileagePanel,.portal-app-root[data-portal-pending-hydration=true]:not([data-initial-view=overview]):not([data-initial-view=board]) #headerContextButton,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=billing] #overviewPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=board] #overviewPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=dashboard] #overviewPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=detail] #overviewCustomerSearchBlock,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=detail] #overviewPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=detail] #serviceDetailPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=mileage-detail] #overviewPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=mileage] #overviewPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=service-detail] #detailPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=service-detail] #overviewCustomerSearchBlock,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=service-detail] #overviewPanel{display:none!important}.portal-app-root[data-portal-pending-hydration=true][data-initial-view=billing] #billingPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=board] #boardPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=dashboard] #dashboardPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=detail] #detailPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=mileage-detail] #mileageDetailPanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=mileage] #mileagePanel,.portal-app-root[data-portal-pending-hydration=true][data-initial-view=service-detail] #serviceDetailPanel{display:block!important}.portal-route-loading{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1rem 1rem 1rem calc(var(--sidebar-width) + 1rem);opacity:0;pointer-events:none;transition:opacity .14s ease}.portal-route-loading-spinner-wrap{width:min(100%,var(--max-width));display:grid;place-items:center}.portal-route-loading-spinner{width:42px;height:42px;border:3px solid color-mix(in srgb,var(--line) 92%,transparent);border-top-color:var(--accent);border-radius:999px;box-shadow:0 10px 26px rgba(15,34,64,.1);animation:portal-loading-spin .7s linear infinite}.portal-app-root.is-route-loading .page-grid{opacity:.28;filter:blur(1.5px);transition:opacity .12s ease}.portal-app-root.is-route-loading .portal-route-loading{opacity:1}@keyframes portal-loading-spin{to{transform:rotate(1turn)}}button,input,select,table,textarea{font:inherit}button,input,select,textarea{color:inherit}.app-shell{width:min(calc(100% - 2rem),var(--max-width));margin:0 auto;padding:1.75rem 0 3rem}.app-shell.has-sidebar{width:auto;max-width:none;margin:0;padding:1rem 1rem 1rem calc(var(--sidebar-width) + 1rem);display:block;transition:padding-left .18s ease}.app-shell.has-sidebar.is-sidebar-collapsed,:root[data-sidebar-collapsed=true] .app-shell.has-sidebar{padding-left:calc(var(--sidebar-collapsed-width) + 1rem)}.app-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.8rem}.has-sidebar .app-header,.has-sidebar .page-grid{width:min(100%,var(--max-width));min-width:0;margin-inline:auto}.has-sidebar .app-header{justify-content:space-between;align-items:center;padding-bottom:1.5rem;margin-bottom:0}.app-sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);min-width:0;height:100vh;display:flex;flex-direction:column;gap:1rem;padding:.85rem;border:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--surface) 92%,var(--surface-soft));box-shadow:var(--shadow);overflow:hidden;transition:width .18s ease,padding .18s ease}.is-sidebar-collapsed .app-sidebar,:root[data-sidebar-collapsed=true] .app-sidebar{width:var(--sidebar-collapsed-width)}.sidebar-head{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;min-width:0}.sidebar-collapse-button,.sidebar-nav-item,.sidebar-utility-button{border:1px solid transparent;color:var(--text);cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.sidebar-collapse-button{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;padding:0;border-color:var(--line);border-radius:12px;background:var(--surface-soft)}.mobile-sidebar-toggle{display:none;width:42px;height:42px;place-items:center;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer}.mobile-sidebar-toggle span{width:18px;height:2px;display:block;grid-column:1;grid-row:1;border-radius:999px;background:currentColor;transition:transform .16s ease,opacity .16s ease}.mobile-sidebar-toggle span:first-child{transform:translateY(-6px)}.mobile-sidebar-toggle span:nth-child(3){transform:translateY(6px)}.is-mobile-sidebar-open .mobile-sidebar-toggle span:first-child{transform:rotate(45deg)}.is-mobile-sidebar-open .mobile-sidebar-toggle span:nth-child(2){opacity:0}.is-mobile-sidebar-open .mobile-sidebar-toggle span:nth-child(3){transform:rotate(-45deg)}.sidebar-collapse-button:hover,.sidebar-nav-item:hover,.sidebar-utility-button:hover{transform:translateY(-1px);border-color:var(--line-strong);background:var(--surface-soft)}.sidebar-collapse-button svg,.sidebar-nav-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.sidebar-nav-icon .header-settings-icon{fill:currentColor;stroke:none}.sidebar-footer,.sidebar-nav{display:grid;grid-gap:.45rem;gap:.45rem}.sidebar-nav{align-content:start}.sidebar-footer{margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line)}.sidebar-nav-item,.sidebar-utility-button{width:100%;min-width:0;min-height:44px;display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:14px;background:transparent;text-decoration:none;font-size:.88rem;font-weight:750;text-align:left}.sidebar-nav-item.is-active,.sidebar-utility-button.is-active{background:var(--button-strong-bg);border-color:var(--button-strong-border);color:var(--button-strong-fg)}.sidebar-nav-icon{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto}.sidebar-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.is-sidebar-collapsed .app-sidebar,:root[data-sidebar-collapsed=true] .app-sidebar{padding-inline:.65rem;align-items:center}.is-sidebar-collapsed .sidebar-head,:root[data-sidebar-collapsed=true] .sidebar-head{justify-content:center}.is-sidebar-collapsed .sidebar-collapse-button svg,:root[data-sidebar-collapsed=true] .sidebar-collapse-button svg{transform:rotate(180deg)}.is-sidebar-collapsed .sidebar-nav-item,.is-sidebar-collapsed .sidebar-utility-button,:root[data-sidebar-collapsed=true] .sidebar-nav-item,:root[data-sidebar-collapsed=true] .sidebar-utility-button{width:38px;height:38px;min-height:38px;justify-content:center;padding:0;gap:0}.is-sidebar-collapsed .sidebar-label,:root[data-sidebar-collapsed=true] .sidebar-label{width:0;opacity:0;pointer-events:none}.brand{gap:.85rem}.brand,.brand-logo-wrap{display:flex;align-items:center}.brand-logo-svg{display:block;width:min(var(--brand-logo-width),42vw);height:auto}:root[data-theme=dark] .brand-logo-svg .advertime-logo-ink{fill:#ffffff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-mark{position:relative;flex:0 0 auto}.brand-icon{width:38px;height:38px;display:grid;place-items:center;padding:0;border:0;border-radius:12px;background:var(--brand-bg);color:var(--brand-fg)}.theme-toggle{position:relative;cursor:pointer}.theme-toggle-icons{position:relative;width:20px;height:20px;display:block}.theme-toggle-icon{position:absolute;inset:0;transition:opacity .18s ease,transform .18s ease}.theme-toggle-icon-sun{opacity:0;transform:scale(.72) rotate(-12deg)}:root[data-theme=dark] .theme-toggle-icon-sun{opacity:1;transform:scale(1) rotate(0deg)}:root[data-theme=dark] .theme-toggle-icon-moon{opacity:0;transform:scale(.72) rotate(12deg)}.brand-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.brand h1,.customer-hero h2,.drawer-head h2,.section-head h2{margin:0;font-size:clamp(1.15rem,1.8vw,1.35rem);font-weight:800;letter-spacing:-.03em}.activity-meta,.brand p,.customer-rate,.detail-copy,.detail-label,.drawer-kicker,.empty-state p,.metric-label,.metric-note,.month-card p,.progress-head span,.section-head p,.toolbar-field span,th{color:var(--muted)}.brand p{margin:.2rem 0 0;font-size:.9rem}.brand .sr-only{margin:-1px}.action-row,.form-actions,.header-actions,.toolbar-actions{display:flex;flex-wrap:wrap;gap:.75rem}.header-actions{flex:1 1 auto;margin-left:auto;align-items:center;justify-content:flex-end;gap:1rem;min-width:0}.header-nav-center{flex:1 1 auto;display:flex;justify-content:center}.header-utility-group{display:flex;align-items:center;justify-content:flex-end;margin-left:0}.board-header-controls{display:inline-flex;align-items:center;gap:.75rem;margin-left:auto}#boardContextButtonHost,#headerContextButtonHost{display:inline-flex}.page-grid{display:block}.dashboard-panel{display:grid;grid-gap:1.5rem;gap:1.5rem}.detail-layout{display:grid;grid-template-columns:minmax(300px,340px) minmax(0,1fr);grid-gap:1.6rem;gap:1.6rem;align-items:start}.detail-sidebar{min-width:0;position:-webkit-sticky;position:sticky;top:1rem;align-self:start;display:grid;grid-gap:.75rem;gap:.75rem}.detail-sidebar-stack{display:grid;grid-gap:1rem;gap:1rem}.detail-main{display:grid;grid-gap:1.5rem;gap:1.5rem;min-width:0}.detail-main .month-overview{grid-auto-rows:min-content}.view-panel{align-content:start}.view-switcher{display:inline-flex;padding:.22rem;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.switch-button{min-height:40px;padding:.65rem .9rem;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;font-size:.86rem;font-weight:700}.switch-button.is-active{background:var(--button-strong-bg);color:var(--button-strong-fg)}.header-view-switcher{flex-wrap:wrap;align-items:center;justify-content:center}.header-create-button{min-height:42px;display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);cursor:pointer;font-size:.86rem;font-weight:700;transition:transform .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease}.header-create-button:hover{transform:translateY(-1px)}.header-create-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.header-create-button.is-active{background:var(--button-strong-bg);border-color:var(--button-strong-border);color:var(--button-strong-fg)}.header-create-icon{width:18px;height:18px;display:inline-grid;place-items:center;flex:0 0 auto}.header-create-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.header-create-button.is-active .header-create-icon{display:none}.header-utility-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:.7rem .95rem;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);color:var(--muted);box-shadow:var(--shadow);cursor:pointer;font-size:.84rem;font-weight:700;text-decoration:none;transition:transform .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease}.header-utility-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.header-settings-icon{width:20px;height:20px;fill:currentColor;stroke:none}.header-utility-button-icon{width:42px;min-width:42px;padding:0;flex:0 0 42px}.header-utility-button:focus-visible,.header-utility-button:hover{transform:translateY(-1px);color:var(--text)}.overview-switcher{flex-wrap:wrap}.auth-shell,.settings-shell{min-height:100vh;padding:2.5rem 1rem;display:grid;place-items:start center}.auth-card,.settings-card{width:min(100%,980px);border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow);padding:1.75rem}.login-auth-shell{place-items:center;padding:2rem 1rem}.login-auth-card{width:min(100%,520px);padding:2.15rem 2rem 1.9rem;display:grid;grid-gap:1.15rem;gap:1.15rem;border-radius:30px;background:radial-gradient(circle at top,rgba(227,236,252,.6) 0,rgba(227,236,252,0) 36%),var(--surface)}.login-auth-head{display:grid;justify-items:center;text-align:center;grid-gap:.45rem;gap:.45rem}.login-auth-head h1{margin:0;font-size:clamp(1.5rem,2.9vw,1.9rem);font-weight:800;letter-spacing:-.04em;line-height:1.02}.login-auth-head p:last-child{margin:0;max-width:28rem;color:var(--muted);font-size:.98rem;line-height:1.55}.login-brand-logo{justify-content:center;margin-bottom:.35rem}.login-auth-form{margin-top:.2rem;gap:1rem}.login-auth-actions{display:flex;flex-direction:column;gap:.75rem;justify-content:stretch}.login-auth-actions-primary,.login-auth-actions-secondary,.login-auth-actions-secondary .ghost-button{width:100%}.login-auth-submit{width:100%;min-height:48px;border-radius:14px;font-size:.94rem}.login-auth-note{margin:0;text-align:center;line-height:1.55}.login-auth-note a{color:var(--text);font-weight:700;text-decoration:none}.login-auth-note a:focus-visible,.login-auth-note a:hover{text-decoration:underline}.auth-kicker{margin:0 0 .4rem;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.auth-kicker.login-auth-kicker{margin-top:1rem!important}.auth-copy h1,.settings-head h1{margin:0;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:800;letter-spacing:-.03em}.auth-copy p,.auth-note,.settings-head p,.settings-section-head p{color:var(--muted)}.auth-copy p,.settings-head p{margin:.45rem 0 0}.auth-form,.settings-form-grid{display:grid;grid-gap:.9rem;gap:.9rem}.auth-form{margin-top:1.4rem}.auth-field{display:grid;grid-gap:.42rem;gap:.42rem;font-size:.84rem;font-weight:700}.auth-field input{width:100%;min-height:46px;padding:.8rem .9rem;border:1px solid var(--line-strong);border-radius:12px;background:var(--field-bg)}.auth-field input:focus{outline:none;border-color:#aab8ce;box-shadow:0 0 0 4px rgba(15,34,64,.06)}.auth-checkbox{display:flex;align-items:center;gap:.65rem;font-size:.92rem;font-weight:600}.auth-checkbox input{width:18px;height:18px;accent-color:#183153}.auth-submit{width:-moz-fit-content;width:fit-content}.auth-error,.auth-success{padding:.75rem .85rem;border-radius:12px;font-size:.84rem;font-weight:700}.auth-error{border:1px solid rgba(194,65,65,.2);background:var(--surface-red);color:var(--danger)}.auth-success{border:1px solid rgba(33,163,101,.18);background:var(--surface-green);color:var(--success)}.auth-note{margin:.7rem 0 0;font-size:.82rem}.auth-note code{padding:.14rem .38rem;border-radius:999px;background:var(--surface-soft);color:var(--text)}.settings-head{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}.settings-hero-copy{max-width:620px}.settings-hero-copy p:last-child{max-width:34rem}.settings-actions,.settings-head-actions{display:flex;flex-wrap:wrap;gap:.75rem}.settings-head-actions{justify-content:flex-end;align-items:center;flex-shrink:0}.settings-link{text-decoration:none;min-width:148px;justify-content:center;display:inline-flex;align-items:center}.settings-logout{min-width:112px}.settings-sections{display:grid;grid-gap:1rem;gap:1rem;margin-top:1.3rem}.settings-section-card{padding:1.35rem;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,249,255,.92))}.settings-section+.settings-section{margin-top:0;padding-top:0;border-top:0}.settings-section-head h2{margin:0;font-size:1.2rem;font-weight:800}.settings-section-head p{margin:0;font-size:.92rem}.settings-section-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.settings-section-head>p{max-width:28rem}.settings-section-kicker{margin:0 0 .28rem;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.settings-form-grid{margin-top:1.1rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.settings-field-span{grid-column:1/-1}.settings-submit{min-width:214px}.login-page-shell,.settings-page-shell{padding-top:1.75rem}.settings-page-header{align-items:flex-start}.settings-page-header .header-actions{flex:0 0 auto;width:auto;margin-left:auto;justify-content:flex-end}.login-page-header{align-items:flex-start}.login-page-actions{flex:0 0 auto;width:auto;margin-left:auto;justify-content:flex-end}.login-toolbar-badge{min-height:42px;padding:.65rem .95rem;align-items:center}.login-toolbar-badge .toolbar-lead{gap:0}.login-layout{grid-template-columns:minmax(280px,320px) minmax(0,1fr)}.login-sidebar{gap:.9rem}.login-summary-card{align-items:flex-start}.login-summary-copy{display:grid;grid-gap:.32rem;gap:.32rem}.login-summary-copy h2{margin:0;font-size:1.28rem;font-weight:800;letter-spacing:-.03em}.login-summary-copy p:last-child{margin:0;font-size:.9rem;color:var(--muted)}.login-main{gap:1rem}.login-native-form{align-items:start}.login-native-form .form-actions{padding-top:.2rem}.login-native-form .primary-button{width:-moz-fit-content;width:fit-content}.login-field-full{grid-column:1/-1}.login-note{margin:.1rem 0 0}.settings-brand-mark{cursor:default}.settings-layout{grid-template-columns:minmax(280px,320px) minmax(0,1fr)}.settings-sidebar{gap:.9rem}.settings-summary-card{align-items:flex-start}.settings-summary-copy{display:grid;grid-gap:.32rem;gap:.32rem}.settings-summary-copy h2{margin:0;font-size:1.28rem;font-weight:800;letter-spacing:-.03em}.settings-summary-copy p:last-child{margin:0;font-size:.9rem;color:var(--muted)}.settings-main{gap:1.5rem}.settings-native-form{align-items:start}.settings-native-form .form-actions{padding-top:.2rem}.settings-native-form .primary-button{width:-moz-fit-content;width:fit-content}.settings-password-form{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-helper-text{color:var(--muted);font-size:.78rem;font-weight:500;line-height:1.45}.settings-field-full{grid-column:1/-1}.activity-group,.customer-hero,.detail-card,.drawer-card,.metric-card,.month-card,.progress-card,.task-list-card,.toolbar{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.toolbar{justify-content:space-between;gap:1rem;padding:1rem 1.1rem;position:static;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.toolbar,.toolbar-lead{display:flex;align-items:flex-end}.toolbar-lead{gap:.85rem;flex-wrap:wrap}.toolbar-actions{align-items:center}.detail-sidebar .toolbar{flex-direction:column;align-items:stretch;padding:.9rem .95rem;gap:.6rem}.detail-sidebar .back-button{align-self:flex-start;justify-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;width:-moz-fit-content;width:fit-content;max-width:100%;justify-content:flex-start;text-align:left;min-height:40px;padding:.65rem .95rem .65rem .8rem;font-size:.84rem}.detail-sidebar .back-button svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.detail-sidebar .toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.detail-sidebar .toolbar-actions>*{width:100%}.detail-sidebar .toolbar-actions .action-button{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem .9rem;font-size:.86rem;white-space:nowrap}.detail-sidebar #editCustomerButton,.detail-sidebar #editServiceCustomerDetailButton,.detail-sidebar #exportReportButton,.detail-sidebar #exportServiceReportButton{grid-column:1/-1;min-height:42px;padding:.65rem .85rem;font-size:.86rem}.detail-sidebar .toolbar-actions.toolbar-actions-two-up #editCustomerButton,.detail-sidebar .toolbar-actions.toolbar-actions-two-up #editServiceCustomerDetailButton,.detail-sidebar .toolbar-actions.toolbar-actions-two-up #exportReportButton,.detail-sidebar .toolbar-actions.toolbar-actions-two-up #exportServiceReportButton,.detail-sidebar .toolbar-actions.toolbar-actions-two-up .action-button{grid-column:auto}.toolbar-field{display:grid;grid-gap:.45rem;gap:.45rem;min-width:min(100%,270px);font-size:.84rem;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea,.toolbar-field input,.toolbar-field select{width:100%;min-height:46px;padding:.8rem .9rem;border:1px solid var(--line-strong);border-radius:12px;background:var(--field-bg);transition:border-color .14s ease,box-shadow .14s ease}.toolbar-field input[type=search]{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:3rem}.toolbar-field input[type=search]::-webkit-search-cancel-button,.toolbar-field input[type=search]::-webkit-search-decoration,.toolbar-field input[type=search]::-webkit-search-results-button,.toolbar-field-input[type=search]::-webkit-search-cancel-button,.toolbar-field-input[type=search]::-webkit-search-decoration,.toolbar-field-input[type=search]::-webkit-search-results-button{-webkit-appearance:none;display:none}.search-input-wrap{position:relative}.search-input-wrap .toolbar-field-input{padding-right:3rem}.search-clear-button{position:absolute;top:50%;right:.85rem;width:1.1rem;height:1.1rem;display:inline-grid;place-items:center;padding:0;border:0;background:transparent;color:var(--text);transform:translateY(-50%);cursor:pointer}.search-clear-button span{display:block;font-size:1.25rem;line-height:1}.search-clear-button:hover{color:var(--text)}.board-select-label select,.form-grid select,.section-filter select,.service-period-archive-select,.toolbar-field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 1.5L6 6L10.5 1.5' stroke='%230f2240' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .95rem center;background-size:12px 8px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.toolbar-field input:focus,.toolbar-field select:focus{outline:none;border-color:#aab8ce;box-shadow:0 0 0 4px rgba(15,34,64,.06)}.overview-search{z-index:20;flex:0 1 360px;width:min(34vw,380px);max-width:380px;min-width:240px;margin:0}.overview-search,.overview-search .search-input-wrap{position:relative}.overview-search-icon{position:absolute;left:1rem;top:50%;z-index:1;width:19px;height:19px;fill:none;stroke:var(--muted);stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transform:translateY(-50%);pointer-events:none}.overview-search .toolbar-field-input{width:100%;min-height:44px;padding:.72rem 3rem .72rem 2.85rem;border:1px solid var(--line-strong);border-radius:14px;background:rgba(255,255,255,.88);color:var(--text);box-shadow:0 14px 34px rgba(15,34,64,.08);font-size:.9rem;font-weight:700;outline:none;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.overview-search .toolbar-field-input::placeholder{color:var(--muted);font-weight:600}.overview-search .toolbar-field-input:focus{border-color:#aab8ce;background:var(--surface);box-shadow:0 0 0 4px rgba(15,34,64,.06),0 18px 42px rgba(15,34,64,.1)}.overview-search .search-clear-button{right:1rem}.overview-search-results{position:absolute;top:calc(100% + .55rem);left:0;right:0;display:grid;grid-gap:.25rem;gap:.25rem;max-height:310px;overflow:auto;padding:.45rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 22px 48px rgba(15,34,64,.14)}.overview-search-option{width:100%;display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:56px;padding:.72rem .8rem;border:0;border-radius:12px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.overview-search-option.is-active,.overview-search-option:focus-visible,.overview-search-option:hover{background:var(--surface-soft);outline:none}.overview-search-option>span:first-child{display:grid;grid-gap:.18rem;gap:.18rem;min-width:0}.overview-search-option small,.overview-search-option strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-search-option strong{font-size:.92rem;font-weight:800}.overview-search-option small{color:var(--muted);font-size:.78rem;font-weight:600}.overview-search-option-action{flex:0 0 auto;color:var(--success);font-size:.78rem;font-weight:800}.overview-search-empty{padding:.85rem .9rem;color:var(--muted);font-size:.86rem;font-weight:700}.form-grid textarea{min-height:108px;resize:vertical}#generatedTitlePreview[readonly]{background:var(--surface-soft);color:var(--text);font-weight:700}.action-button,.close-button,.ghost-button,.primary-button{min-height:46px;padding:.8rem 1rem;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;font-weight:700;font-size:.92rem;transition:transform .14s ease,background-color .14s ease,border-color .14s ease}.action-button:hover,.close-button:hover,.ghost-button:hover,.primary-button:hover{transform:translateY(-1px)}.primary-button{background:var(--button-strong-bg);border-color:var(--button-strong-border);color:var(--button-strong-fg)}.action-button{padding-inline:1.1rem;background:var(--surface)}.action-button:before{content:"+";margin-right:.55rem;font-size:1.1rem;line-height:1}.danger-button{color:var(--danger);border-color:rgba(194,65,65,.24)}.customer-hero{padding:1.5rem 1.25rem 1.1rem}.customer-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.customer-title-row{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.customer-hero-links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--line)}.customer-board-link{display:inline-flex;align-items:center;gap:.32rem;color:var(--muted);font-size:.76rem;font-weight:700;line-height:1.2;text-decoration:none}.customer-board-link:focus-visible,.customer-board-link:hover{color:var(--text);text-decoration:underline}.customer-board-link svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.icon-button{width:30px;height:30px;display:inline-grid;place-items:center;border-radius:999px;border:1px solid var(--line);background:var(--surface);cursor:pointer}.icon-button svg{width:14px;height:14px;fill:none;stroke:var(--muted);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.customer-rate{margin-top:.45rem;font-size:.88rem}.customer-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.8rem;font-size:.84rem;color:var(--muted)}.customer-email-link{color:inherit;text-decoration:none}.customer-email-link:focus-visible,.customer-email-link:hover{text-decoration:underline}.detail-grid-sidebar{grid-template-columns:1fr}.detail-grid-sidebar>*{grid-column:1/-1}.stat-grid-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.detail-sidebar .metric-card{padding:.82rem .88rem .8rem}.detail-sidebar .metric-value{font-size:clamp(1.02rem,1.5vw,1rem)}.detail-sidebar .customer-meta{display:grid;grid-gap:.35rem;gap:.35rem;margin-top:.65rem;font-size:.8rem}.detail-sidebar .toolbar-field{font-size:.8rem;min-width:0;width:100%}.detail-sidebar .toolbar-lead{display:grid;grid-gap:.6rem;gap:.6rem;width:100%}.detail-sidebar .toolbar-field-primary{width:100%}.detail-sidebar .toolbar-lead-secondary{padding-top:0}.detail-sidebar .toolbar-lead .toolbar-field>span{display:none}.detail-sidebar .toolbar-field input,.detail-sidebar .toolbar-field select{width:100%;min-height:42px;padding:.7rem 2.5rem .7rem .8rem}.detail-sidebar .toolbar-field select{background-position:right .85rem center}.detail-sidebar .customer-hero{padding:1.1rem 1rem .95rem}.detail-sidebar .customer-hero h2{font-size:1rem}.detail-sidebar .customer-rate{margin-top:.35rem;font-size:.82rem}.detail-sidebar .detail-card{min-height:78px;padding:.82rem .88rem}.detail-sidebar .detail-label{font-size:.72rem}.detail-sidebar .detail-title{font-size:.9rem}.detail-sidebar .detail-copy,.detail-sidebar .metric-label,.detail-sidebar .metric-note{font-size:.78rem}.detail-sidebar .progress-card{padding:.9rem .95rem .95rem}.detail-sidebar .progress-head,.detail-sidebar .progress-head strong{font-size:.8rem}.detail-grid{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:.8rem;gap:.8rem}.overview-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.overview-stat-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);padding:1rem}.overview-stat-card span{color:var(--muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.overview-stat-card strong{display:block;margin-top:.4rem;font-size:1.2rem;font-weight:800;letter-spacing:-.03em}.overview-stat-card.billing-stat-card strong,.overview-stat-card.mileage-stat-card strong{font-size:1rem}.dashboard-overview-panel{gap:1.35rem}.mileage-year-toolbar #mileageNextYearButton,.mileage-year-toolbar #mileagePrevYearButton,.mileage-year-toolbar #mileageYearInput{min-height:44px;border-color:color-mix(in srgb,var(--line) 88%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);box-shadow:0 8px 18px rgba(15,34,64,.06);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mileage-year-toolbar #mileageNextYearButton,.mileage-year-toolbar #mileagePrevYearButton{width:40px;min-width:40px;padding:0;justify-content:center;font-size:1.05rem;line-height:1}.mileage-year-toolbar #mileagePrevYearButton{margin-right:-.55rem;border-radius:14px 0 0 14px}.mileage-year-toolbar #mileageNextYearButton{margin-left:-.55rem;border-radius:0 14px 14px 0}.mileage-year-toolbar #mileageYearInput{width:92px;min-width:92px;padding:0 .65rem;border-inline-width:0;border-radius:0;font-size:.9rem;font-weight:800;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.mileage-year-toolbar #mileageYearInput::-webkit-inner-spin-button,.mileage-year-toolbar #mileageYearInput::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;appearance:none}.mileage-year-toolbar #mileageNextYearButton:hover,.mileage-year-toolbar #mileagePrevYearButton:hover,.mileage-year-toolbar #mileageYearInput:focus,.mileage-year-toolbar #mileageYearInput:hover{border-color:color-mix(in srgb,var(--line) 88%,transparent);background:var(--surface-soft);color:var(--text);transform:none}.mileage-year-toolbar #mileageYearInput:focus{position:relative;z-index:1;outline:2px solid color-mix(in srgb,var(--line-strong) 72%,transparent);outline-offset:2px}.mileage-year-toolbar #mileageEditPeriodButton,.mileage-year-toolbar #mileageNewPeriodButton{min-height:44px;border-radius:14px;box-shadow:0 8px 18px rgba(15,34,64,.06)}.mileage-year-toolbar #mileageEditPeriodButton svg,.mileage-year-toolbar #mileageNewPeriodButton svg{width:18px;height:18px}@media (max-width:680px){.mileage-year-toolbar{width:100%;display:grid;grid-template-columns:40px minmax(72px,92px) 40px 42px 42px;justify-content:end;grid-gap:0;gap:0}.mileage-year-toolbar #mileageNextYearButton,.mileage-year-toolbar #mileagePrevYearButton,.mileage-year-toolbar #mileageYearInput{width:100%;min-width:0}.mileage-year-toolbar #mileageEditPeriodButton,.mileage-year-toolbar #mileageNewPeriodButton,.mileage-year-toolbar #mileageNewPeriodButton.header-create-button{width:42px;min-width:42px;padding-inline:0;justify-content:center;gap:0}.mileage-year-toolbar #mileageEditPeriodButton{margin-left:.75rem}.mileage-year-toolbar #mileageNewPeriodButton{margin-left:.5rem}.mileage-year-toolbar #mileageEditPeriodButton>span,.mileage-year-toolbar #mileageNewPeriodButton>span:not(.header-create-icon){display:none}}.portal-month-popover-grid button.is-selected{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:var(--accent-soft);color:var(--text)}.dashboard-stat-card.dashboard-stat-card-accent:hover,.dashboard-stat-card.dashboard-stat-card-neutral:hover,.dashboard-stat-card.dashboard-stat-card-warning:hover,.dashboard-stat-card:hover{border-color:var(--line-strong);box-shadow:0 16px 36px rgba(15,34,64,.1)}.portal-month-nav{z-index:40}.portal-month-nav-button:hover,.portal-month-nav-current:hover,.portal-month-nav.is-open .portal-month-nav-current{color:var(--text)}.portal-month-nav-button:focus-visible,.portal-month-nav-button:hover,.portal-month-nav-current:focus-visible,.portal-month-nav-current:hover,.portal-month-nav.is-open .portal-month-nav-current{background:var(--surface-soft);color:var(--text)}.portal-month-nav-current .dashboard-icon,.portal-month-nav-current .dashboard-icon-neutral{width:20px;height:20px;background:transparent;border:0;box-shadow:none;color:var(--muted)}.portal-month-nav-current:hover .dashboard-icon,.portal-month-nav.is-open .portal-month-nav-current .dashboard-icon{color:var(--text)}.billing-head,.dashboard-overview-section .section-head{position:relative;z-index:35}.dashboard-overview-section .dashboard-stat-grid{position:relative;z-index:1}.portal-month-popover{z-index:120}.dashboard-overview-section{display:grid;grid-gap:1.35rem;gap:1.35rem;min-width:0}.dashboard-overview-section>.section-head{align-items:flex-end;padding:.2rem .1rem 0}.dashboard-overview-section>.section-head h2{font-size:clamp(1.45rem,2vw,1.35rem);letter-spacing:-.02em}.dashboard-overview-section>.section-head p{margin-top:.32rem;font-size:.92rem}.dashboard-month-host{flex:0 0 auto;min-width:0}.dashboard-header-controls,.dashboard-month-host{display:flex;align-items:center;justify-content:flex-end}.dashboard-header-controls{gap:.75rem;flex-wrap:wrap}.dashboard-value-toggle{display:inline-flex;align-items:center;gap:.2rem;padding:.25rem;border:1px solid rgba(203,213,225,.9);border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 12px 28px rgba(15,34,64,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dashboard-value-toggle button{border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;line-height:1;padding:.58rem .9rem;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.dashboard-value-toggle button:focus-visible,.dashboard-value-toggle button:hover{color:var(--text)}.dashboard-value-toggle button.is-active{background:var(--brand-bg);color:#fff;box-shadow:0 8px 18px rgba(22,34,56,.18)}:root[data-theme=dark] .dashboard-value-toggle{border-color:rgba(71,85,105,.8);background:rgba(15,23,42,.72)}:root[data-theme=dark] .dashboard-value-toggle button.is-active{background:var(--accent);color:#1f1300;box-shadow:0 8px 18px rgba(245,158,11,.16)}.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem}.dashboard-stat-card{display:grid;align-content:start;grid-gap:.72rem;gap:.72rem;position:relative;overflow:hidden;min-height:158px;padding:1.25rem;border-color:color-mix(in srgb,var(--line) 78%,transparent);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,transparent),color-mix(in srgb,var(--surface-soft) 68%,var(--surface))),var(--surface);box-shadow:0 18px 44px rgba(15,34,64,.075);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.dashboard-stat-card:before{display:none}.dashboard-stat-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 34%,var(--line-strong));box-shadow:0 24px 56px rgba(15,34,64,.11)}.dashboard-stat-card-accent:before{background:var(--accent)}.dashboard-stat-card-success:before{background:var(--success)}.dashboard-stat-card-warning:before{background:#eab308}.dashboard-month-card:before{background:var(--line-strong)}.dashboard-stat-head{display:flex;gap:.7rem;align-items:center;min-width:0}.dashboard-stat-head>span:not(.dashboard-icon){min-width:0;color:var(--muted);font-size:.8rem;font-weight:850;letter-spacing:.075em}.dashboard-icon{width:42px;height:42px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface-soft) 78%,var(--surface));color:var(--text)}.dashboard-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.dashboard-icon-accent{background:var(--accent-soft);color:color-mix(in srgb,var(--accent) 78%,var(--text))}.dashboard-icon-success{background:var(--success-soft);color:var(--success)}.dashboard-icon-warning{background:var(--surface-amber);color:#b77900}.dashboard-stat-grid .dashboard-icon svg{color:inherit}.dashboard-stat-grid .dashboard-icon-accent{background:var(--accent-soft);color:#b45309}.dashboard-stat-grid .dashboard-icon-success{background:var(--success-soft);color:var(--success)}.dashboard-stat-grid .dashboard-icon-warning{background:var(--surface-amber);color:#b77900}.dashboard-month-nav{display:inline-grid;grid-template-columns:34px minmax(110px,auto) 32px 34px;gap:.35rem;align-items:center;padding:.28rem;border:1px solid color-mix(in srgb,var(--line-strong) 76%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:0 10px 28px rgba(15,34,64,.08)}.dashboard-month-nav strong{min-width:0;text-align:center;text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-inline:.45rem;font-size:.9rem;font-weight:850}.dashboard-month-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:11px;background:var(--surface);color:var(--text);cursor:pointer;font-size:1.2rem;font-weight:800;line-height:1;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.dashboard-month-nav .dashboard-icon{width:32px;height:32px;border:0;border-left:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:0;background:transparent;color:var(--muted)}.dashboard-month-nav .dashboard-icon svg{width:16px;height:16px}.dashboard-month-button:focus-visible,.dashboard-month-button:hover{transform:translateY(-1px);border-color:var(--line-strong);background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface));outline:none}.dashboard-stat-card strong{margin-top:0;color:var(--text);font-size:1rem;letter-spacing:-.035em;line-height:1.08}.dashboard-stat-card small{color:var(--muted);font-size:.82rem;font-weight:750;line-height:1.35}.dashboard-stat-trend{display:flex;gap:.7rem;align-items:center;margin-top:auto;color:var(--muted);font-size:.78rem;font-weight:750}.dashboard-trend-pill{min-height:27px;display:inline-flex;align-items:center;padding:.28rem .62rem;border-radius:999px;background:color-mix(in srgb,var(--line) 44%,var(--surface));color:var(--muted);font-size:.75rem;font-weight:900}.dashboard-trend-success{background:var(--success-soft);color:var(--success)}.dashboard-trend-warning{background:var(--surface-amber);color:#a46100}.dashboard-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.1rem;gap:1.1rem}.dashboard-insight-grid>.dashboard-insight-card:first-child{grid-column:1/-1}.dashboard-attention-section,.dashboard-insight-card{display:grid;grid-template-rows:auto minmax(0,1fr);grid-gap:1.1rem;gap:1.1rem;min-width:0;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 95%,transparent),color-mix(in srgb,var(--surface-soft) 60%,var(--surface))),var(--surface);box-shadow:0 18px 44px rgba(15,34,64,.07);padding:1.15rem}.dashboard-insight-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding-bottom:.35rem}.dashboard-attention-type,.dashboard-insight-head span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.dashboard-insight-head strong{color:var(--text);font-size:.88rem;font-weight:850}.dashboard-attention-list,.dashboard-chart-list{display:grid;align-content:stretch;grid-gap:.75rem;gap:.75rem;height:100%;min-width:0;min-height:0}.dashboard-chart-canvas-wrap{position:relative;min-width:0;height:280px;padding:.25rem .1rem 0}.dashboard-revenue-chart-wrap{height:340px}.dashboard-customer-chart-wrap{height:100%;min-height:360px}.dashboard-abc-layout{display:grid;grid-template-columns:minmax(180px,.82fr) minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:center}.dashboard-abc-chart-wrap{height:250px}.dashboard-chart-canvas-wrap canvas{width:100%!important;height:100%!important}.dashboard-column-chart{min-height:190px;display:grid;grid-template-columns:repeat(6,minmax(46px,1fr));grid-gap:.7rem;gap:.7rem;align-items:end;overflow-x:auto;padding-top:.25rem;padding-bottom:.15rem}.dashboard-column-chart-revenue{grid-template-columns:repeat(12,minmax(44px,1fr))}.dashboard-column-item{min-width:0;display:grid;grid-template-rows:auto minmax(118px,1fr) auto;grid-gap:.45rem;gap:.45rem;align-items:end;text-align:center}.dashboard-column-chart-clickable .dashboard-column-item{cursor:pointer}.dashboard-column-chart-clickable .dashboard-column-item:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:3px;border-radius:12px}.dashboard-column-item-selected .dashboard-column-label,.dashboard-column-item-selected .dashboard-column-value{color:var(--text)}.dashboard-column-item-selected .dashboard-column-track{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.dashboard-column-value{min-height:1rem;color:var(--muted);font-size:.68rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-column-track{width:100%;height:100%;min-height:118px;display:flex;align-items:end;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:12px;background:linear-gradient(180deg,var(--surface-soft),color-mix(in srgb,var(--surface-soft) 75%,var(--surface)))}.dashboard-column-track span{width:100%;min-height:4px;display:block;border-radius:10px 10px 0 0;background:var(--accent);transition:height .16s ease}.dashboard-column-chart-boards .dashboard-column-track span{background:#2563eb}.dashboard-column-chart-mileage .dashboard-column-track span{background:var(--success)}.dashboard-column-chart-revenue .dashboard-column-track span{background:var(--accent)}.dashboard-column-label{min-width:0;color:var(--muted);font-size:.72rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-segment-chart{height:.7rem;display:flex;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.dashboard-segment-chart span{display:block;min-width:3%}.dashboard-segment-1{background:#eab308}.dashboard-segment-2{background:#2563eb}.dashboard-segment-3{background:var(--success)}.dashboard-chart-breakdown{display:grid;grid-gap:.72rem;gap:.72rem}.dashboard-customer-list{display:grid;align-content:start;grid-gap:0;gap:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,var(--surface-soft))}.dashboard-customer-row{display:grid;grid-template-columns:minmax(112px,1.05fr) minmax(120px,1.75fr) minmax(94px,auto) 46px;grid-gap:.85rem;gap:.85rem;align-items:center;min-height:54px;padding:.7rem .85rem;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);background:transparent}.dashboard-customer-row strong{min-width:0;color:var(--text);font-size:.82rem;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-abc-card small,.dashboard-customer-main small{color:var(--muted);font-size:.76rem;font-weight:750}.dashboard-customer-value{white-space:nowrap}.dashboard-customer-share,.dashboard-customer-value{color:var(--text);font-size:.8rem;font-weight:850;text-align:right}.dashboard-customer-track{height:.64rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 42%,var(--surface))}.dashboard-customer-track span{display:block;height:100%;border-radius:inherit;background:var(--success)}.dashboard-customer-row-B .dashboard-customer-track span{background:#eab308}.dashboard-customer-row-C .dashboard-customer-track span{background:#2563eb}.dashboard-customer-summary{display:flex;gap:.75rem;align-items:center;margin:.85rem;padding:.8rem .9rem;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:13px;background:color-mix(in srgb,var(--surface) 82%,var(--surface-soft))}.dashboard-customer-summary>div{display:grid;grid-gap:.14rem;gap:.14rem;min-width:0}.dashboard-customer-summary strong{color:var(--text);font-size:.86rem;font-weight:850}.dashboard-customer-summary span{color:var(--muted);font-size:.78rem;font-weight:700}.dashboard-abc-grid{display:grid;grid-gap:.7rem;gap:.7rem}.dashboard-abc-card{display:grid;grid-gap:.5rem;gap:.5rem;padding:.82rem .9rem;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 86%,var(--surface-soft));box-shadow:0 8px 22px rgba(15,34,64,.045)}.dashboard-abc-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center;min-width:0}.dashboard-abc-card strong{min-width:0;font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-abc-progress{height:.38rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 46%,var(--surface))}.dashboard-abc-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.dashboard-abc-card:has(.dashboard-abc-A) .dashboard-abc-progress span{background:var(--success)}.dashboard-abc-card:has(.dashboard-abc-B) .dashboard-abc-progress span{background:#eab308}.dashboard-abc-card:has(.dashboard-abc-C) .dashboard-abc-progress span{background:#2563eb}.dashboard-abc-customers{display:flex;flex-wrap:wrap;gap:.32rem;padding-top:.2rem}.dashboard-abc-customers span{max-width:100%;min-height:25px;display:inline-flex;align-items:center;padding:.22rem .55rem;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:999px;background:var(--surface);color:var(--text);font-size:.72rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-abc-pill{width:30px;height:30px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:999px;font-size:.76rem;font-weight:900}.dashboard-abc-A{background:var(--success-soft);color:var(--success)}.dashboard-abc-B{background:var(--accent-soft);color:#9a5b00}.dashboard-abc-C{background:var(--surface);color:var(--muted);border:1px solid var(--line)}.dashboard-insight-item:focus-visible,.dashboard-insight-item:hover{background:var(--surface-soft)}.dashboard-chart-row{display:grid;grid-gap:.4rem;gap:.4rem}.dashboard-chart-row-top{display:flex;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:.82rem;font-weight:750}.dashboard-chart-row-top span{min-width:0;overflow-wrap:anywhere}.dashboard-chart-row-top strong{color:var(--text);white-space:nowrap}.dashboard-chart-track{height:.62rem;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.dashboard-chart-track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.dashboard-chart-empty{min-height:300px;display:grid;align-content:center;justify-items:center;grid-gap:1rem;gap:1rem;height:100%;padding:2.4rem 1rem;color:var(--muted);font-size:.84rem;text-align:center}.dashboard-chart-empty strong{display:block;margin-bottom:.32rem;color:var(--text);font-size:1.05rem}.dashboard-chart-empty span{display:block;max-width:28rem;line-height:1.45}.dashboard-chart-empty-icon{width:64px;height:64px;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;grid-gap:.28rem;gap:.28rem;padding:.95rem;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 45%,var(--surface)),var(--surface));box-shadow:0 12px 28px rgba(15,34,64,.08)}.dashboard-chart-empty-icon span{width:100%;display:block;border-radius:999px;background:color-mix(in srgb,var(--accent) 74%,var(--line))}.dashboard-chart-empty-icon span:first-child{height:36%}.dashboard-chart-empty-icon span:nth-child(2){height:68%}.dashboard-chart-empty-icon span:nth-child(3){height:48%}.dashboard-empty-action{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:.55rem .9rem;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line-strong));border-radius:12px;background:color-mix(in srgb,var(--accent-soft) 62%,var(--surface));color:var(--text);cursor:pointer;font-size:.82rem;font-weight:850;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.dashboard-empty-action:focus-visible,.dashboard-empty-action:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line-strong));outline:none}.dashboard-attention-section .section-head{margin-bottom:0}.dashboard-attention-section{gap:1rem}.dashboard-attention-section h3{margin-top:0;margin-bottom:.5rem}.dashboard-attention-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.dashboard-attention-item{display:grid;align-content:start;grid-gap:.45rem;gap:.45rem;width:100%;min-height:126px;padding:.9rem;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,var(--surface-soft));color:inherit;text-align:left;cursor:pointer;transition:border-color .14s ease,transform .14s ease,background-color .14s ease,box-shadow .14s ease}.dashboard-attention-item:focus-visible,.dashboard-attention-item:hover{border-color:var(--line-strong);background:var(--surface);box-shadow:0 12px 28px rgba(15,34,64,.08);outline:none;transform:translateY(-1px)}.dashboard-insight-item-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:.55rem;gap:.55rem;align-items:center}.dashboard-insight-item .dashboard-icon{width:36px;height:36px;border-radius:12px}.dashboard-insight-item .dashboard-icon svg{width:18px;height:18px}.dashboard-insight-status{padding:.22rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--line) 45%,var(--surface));color:var(--muted);font-size:.7rem;font-weight:850}.dashboard-insight-item-success .dashboard-insight-status{background:var(--success-soft);color:var(--success)}.dashboard-insight-item-warning .dashboard-insight-status{background:var(--surface-amber);color:#a46100}.dashboard-attention-item strong{color:var(--text);font-size:.94rem;line-height:1.25;overflow-wrap:anywhere}.dashboard-attention-item small{color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.35}.dashboard-insight-item{cursor:default}.dashboard-insight-item:focus-visible,.dashboard-insight-item:hover{transform:none}@media (max-width:1080px){.dashboard-insight-grid{grid-template-columns:1fr}.dashboard-attention-list,.dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-abc-layout{grid-template-columns:1fr}}@media (max-width:680px){.dashboard-overview-section{gap:1rem}.dashboard-attention-list,.dashboard-stat-grid{grid-template-columns:1fr}.dashboard-attention-section,.dashboard-insight-card,.dashboard-stat-card{border-radius:16px;padding:.95rem}.dashboard-stat-card{min-height:132px}.dashboard-customer-chart-wrap,.dashboard-revenue-chart-wrap{min-height:280px;height:280px}.dashboard-insight-head{display:grid;grid-gap:.25rem;gap:.25rem}.dashboard-customer-row{grid-template-columns:1fr auto;gap:.45rem .75rem}.dashboard-customer-track{grid-column:1/-1;grid-row:2}.dashboard-customer-value{grid-column:1;grid-row:3;text-align:left}.dashboard-customer-share{grid-column:2;grid-row:3}.dashboard-month-host,.dashboard-month-nav{width:100%}}.board-panel{gap:1rem;min-height:calc(100dvh - 6rem)}.section-block.board-section{display:flex;flex-direction:column;min-width:0;min-height:calc(100dvh - 6rem)}.board-section-head{align-items:center}.board-section-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;align-items:center}.board-customer-navigation-host{margin-right:auto}.board-customer-navigation-host[hidden]{display:none}.board-go-to-customer{text-decoration:none}.board-go-to-customer-select{min-width:min(100%,220px)}.board-select-label{display:inline-flex;min-width:min(100%,240px);color:var(--muted)}.board-select-label select{min-height:42px;width:100%;padding:.65rem 2.5rem .65rem .9rem;border:1px solid var(--line-strong);border-radius:14px;background-color:var(--surface);color:var(--text);box-shadow:var(--shadow);font:inherit;font-size:.86rem;font-weight:700;letter-spacing:0;cursor:pointer}.board-header-select{width:min(32vw,280px);flex:0 1 280px}.board-header-controls .header-create-button,.board-section-actions .header-create-button{min-height:42px}.board-scroll-area{display:flex;flex:1 1 auto;flex-direction:column;height:100%;min-width:0;min-height:0;overflow:visible}.board-columns{--board-column-gap:0.85rem;display:grid;flex:1 1 auto;grid-auto-flow:column;grid-auto-columns:minmax(304px,calc(25% - .6375rem));grid-auto-rows:max-content;grid-template-columns:none;grid-gap:var(--board-column-gap);gap:var(--board-column-gap);align-items:start;align-content:start;width:100%;max-width:100%;height:100%;min-height:0;overflow-x:auto;overflow-y:visible;padding:.1rem 0 .55rem;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.board-columns.is-empty{display:block;overflow-x:hidden}.board-empty-state{display:grid;justify-items:start;grid-gap:1rem;gap:1rem}.board-column{position:relative;align-self:start;min-width:0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft);padding:.75rem;scroll-snap-align:start;scroll-snap-stop:always}.board-column.is-column-dragging{opacity:.55}.board-column-drop-placeholder{align-self:stretch;min-height:9rem;border:2px dashed #f97316;border-radius:var(--radius-md);background:rgba(249,115,22,.08);box-shadow:inset 0 0 0 3px rgba(249,115,22,.08);pointer-events:none}.board-column-head{margin-bottom:.7rem}.board-column-head,.board-column-title-button{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.board-column-title-button{min-width:0;flex:1 1;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}.board-column-head h3{margin:0;font-size:.95rem;overflow-wrap:anywhere}.board-column-head span{display:grid;place-items:center;min-width:1.7rem;height:1.7rem;border-radius:999px;background:var(--surface);color:var(--muted);font-size:.78rem;font-weight:800}.board-card-list{display:grid;grid-gap:.65rem;gap:.65rem;min-height:4.5rem;border-radius:var(--radius-md)}.board-card{position:relative;display:grid;grid-gap:.7rem;gap:.7rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow);padding:.85rem;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.board-card:focus-visible,.board-card:hover{border-color:var(--line-strong);box-shadow:0 16px 36px rgba(15,34,64,.12);outline:none;transform:translateY(-1px)}.board-card.is-dragging{opacity:.55}.board-card.is-drop-after:after,.board-card.is-drop-before:before{position:absolute;left:.35rem;right:.35rem;height:4px;border-radius:999px;background:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.14);content:"";pointer-events:none}.board-card.is-drop-before:before{top:-.46rem}.board-card.is-drop-after:after{bottom:-.46rem}.board-card-list.is-drag-over{outline:2px dashed var(--accent);outline-offset:4px}.board-card h4{margin:0;font-size:.95rem;line-height:1.35;min-width:0;overflow-wrap:anywhere}.board-card-topline{display:flex;justify-content:space-between;gap:.4rem;align-items:center;margin-bottom:.45rem}.board-card-labels,.board-card-meta{display:inline-flex;min-width:0;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.55rem}.board-card-labels{margin-top:.5rem}.board-card-meta{display:flex;width:100%}.board-label-badge{--label-color:var(--accent);display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:100%;align-items:center;border:1px solid color-mix(in srgb,var(--label-color) 42%,transparent);border-radius:999px;background:color-mix(in srgb,var(--label-color) 14%,var(--surface));color:color-mix(in srgb,var(--label-color) 72%,var(--text));padding:.27rem .48rem;font-size:.72rem;font-weight:850;line-height:1;overflow-wrap:anywhere}.board-card-edit-icon{width:1.65rem;height:1.65rem;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);opacity:0;transform:translateX(.2rem);transition:opacity .14s ease,transform .14s ease,color .14s ease}.board-card:focus-visible .board-card-edit-icon,.board-card:hover .board-card-edit-icon{opacity:1;transform:translateX(0);color:var(--text)}.board-card-edit-icon svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.board-card-customer,.board-due-date{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.24rem;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1}.board-due-date svg{width:.88rem;height:.88rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.board-card p,.board-card-customer,.board-due-date{color:var(--muted)}.board-card p{margin:.35rem 0 0;font-size:.86rem;line-height:1.45}.board-card-description{display:-webkit-box;max-width:100%;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:1}.board-customer-field{display:grid;grid-gap:.45rem;gap:.45rem;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);padding:.75rem;font-size:.84rem;font-weight:600}.board-card-attachment-meta,.board-card-checklist-meta{display:inline-flex;align-items:center;gap:.22rem;min-height:1.45rem;color:var(--muted);font-size:.72rem;font-weight:800;line-height:1}.board-card-checklist-meta.is-complete{color:#16813f}.board-card-attachment-meta svg,.board-card-checklist-meta svg{width:.95rem;height:.95rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.board-card-image-thumbnails{display:inline-flex;align-items:center;gap:.22rem;margin-left:auto}.board-card-image-thumbnail{display:block;width:24px;height:24px;overflow:hidden;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-soft);padding:0;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.board-card-image-thumbnail:focus-visible,.board-card-image-thumbnail:hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);outline:none;transform:translateY(-1px)}.board-card-image-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.board-card-image-thumbnail-more{color:var(--muted);font-size:.72rem;font-weight:850}.board-card-image-preview{position:fixed;z-index:1200;display:grid;width:300px;max-width:calc(100vw - 24px);overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 18px 48px rgba(15,34,64,.2);pointer-events:none}.board-card-image-preview[hidden]{display:none}.board-card-image-preview img{display:block;width:100%;height:300px;max-height:calc(100vh - 80px);background:var(--surface-soft);object-fit:contain}.board-card-image-preview span{overflow:hidden;border-top:1px solid var(--line);padding:.62rem .72rem;color:var(--text);font-size:.76rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.board-customer-picker{display:grid;grid-gap:.55rem;gap:.55rem;min-width:0}.board-customer-chip-list{display:flex;flex-wrap:wrap;gap:.45rem;min-height:34px;align-items:center}.board-customer-picker-empty,.board-customer-suggestion-empty{color:var(--muted);font-size:.86rem;font-weight:600}.board-customer-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:32px;max-width:100%;padding:.4rem .55rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer;font:inherit;font-size:.78rem;font-weight:800}.board-customer-chip span{color:var(--muted);font-size:1rem;line-height:1}.board-customer-search-wrap{position:relative;min-width:0}.board-customer-search-input{width:100%;min-height:46px;padding:.8rem .9rem;border:1px solid var(--line-strong);border-radius:12px;background:var(--field-bg);color:var(--text);font:inherit}.board-customer-search-input:focus{outline:none;border-color:#aab8ce;box-shadow:0 0 0 4px rgba(15,34,64,.06)}.board-customer-suggestions{position:fixed;z-index:140;display:grid;grid-gap:.25rem;gap:.25rem;max-height:240px;overflow-y:auto;padding:.35rem;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.board-customer-suggestions[hidden]{display:none}.board-customer-suggestions button{width:100%;min-height:38px;padding:.55rem .65rem;border:0;border-radius:10px;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:.86rem;font-weight:700;text-align:left}.board-customer-suggestions button:focus-visible,.board-customer-suggestions button:hover{outline:none;background:var(--surface-soft)}.board-card-customers{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.board-label-field{display:grid;grid-gap:.7rem;gap:.7rem;min-width:0;margin:0;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.board-label-field>span{margin:0 0 .45rem;padding:0;font-size:.84rem;font-weight:600}.board-card-label-options{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0}.board-label-option{position:relative;display:inline-flex;align-items:center;min-width:0;margin:0;cursor:pointer}.board-label-option input{position:absolute;inset:0;inline-size:100%;block-size:100%;opacity:0;cursor:pointer}.board-label-option-badge{display:inline-flex;align-items:center;gap:.35rem;min-height:30px;max-width:100%;padding:.28rem .55rem .28rem .42rem;border:1px solid color-mix(in srgb,var(--label-color) 42%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--label-color) 12%,var(--surface));color:var(--text);font-size:.78rem;font-weight:750;line-height:1.1;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.board-label-option-check{display:inline-grid;place-items:center;width:.95rem;height:.95rem;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--label-color) 58%,var(--line-strong));border-radius:999px;background:var(--surface)}.board-label-option input:checked+.board-label-option-badge{border-color:color-mix(in srgb,var(--label-color) 72%,var(--line-strong));background:color-mix(in srgb,var(--label-color) 22%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--label-color) 14%,transparent)}.board-label-option input:checked+.board-label-option-badge .board-label-option-check{border-color:var(--label-color);background:var(--label-color)}.board-label-option input:checked+.board-label-option-badge .board-label-option-check:after{width:.34rem;height:.52rem;border:solid #fff;border-width:0 2px 2px 0;content:"";transform:rotate(45deg) translate(-1px,-1px)}.board-label-option:focus-within .board-label-option-badge,.board-label-option:hover .board-label-option-badge{border-color:color-mix(in srgb,var(--label-color) 70%,var(--line-strong));background:color-mix(in srgb,var(--label-color) 18%,var(--surface))}.board-label-option .board-label-badge{min-width:0}.board-card-section-toggles{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.board-card-section-toggles button{display:inline-flex;align-items:center;gap:.4rem;min-height:36px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);padding:.45rem .7rem;cursor:pointer;font:inherit;font-size:.8rem;font-weight:850;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.board-card-section-toggles button:before{width:.58rem;height:.58rem;border:2px solid;border-radius:999px;content:""}.board-card-section-toggles button:focus-visible,.board-card-section-toggles button:hover{outline:none;border-color:var(--line-strong);color:var(--text)}.board-card-section-toggles button.is-active{border-color:var(--button-strong-border);background:var(--button-strong-bg);color:var(--button-strong-fg)}.board-card-section-toggles button.is-active:before{background:currentColor}.board-rich-text-field{display:grid;grid-gap:.55rem;gap:.55rem;min-width:0;font-size:.84rem;font-weight:600}.board-rich-text-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;padding:.35rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.board-rich-text-toolbar button{width:34px;height:34px;display:inline-grid;place-items:center;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:.84rem;font-weight:850}.board-rich-text-toolbar button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.board-rich-text-toolbar button.is-active,.board-rich-text-toolbar button:focus-visible,.board-rich-text-toolbar button:hover{outline:none;border-color:var(--line-strong);background:var(--surface)}.board-rich-text-editor{min-height:140px;max-height:260px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:12px;background:var(--field-bg)}.board-rich-text-collapse{position:relative;display:grid;grid-gap:.45rem;gap:.45rem}.board-rich-text-collapse:not(.is-expanded) .board-rich-text-editor{max-height:190px;overflow-y:auto}.board-description-toggle{justify-self:end}.board-rich-text-content{min-height:138px;padding:.8rem .9rem;outline:none;color:var(--text);font-weight:500}.board-rich-text-content p{margin:0 0 .65rem}.board-rich-text-content p:last-child{margin-bottom:0}.board-rich-text-content ol,.board-rich-text-content ul{margin:.35rem 0 .65rem;padding-left:1.2rem}.board-rich-text-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.board-rich-text-content img{display:block;max-width:100%;height:auto;margin:.55rem 0 .7rem;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.board-checklist-field,.board-reminder-field{display:grid;grid-gap:.65rem;gap:.65rem;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);padding:.75rem;font-size:.84rem;font-weight:600}.board-reminder-field>span{font-size:.84rem;font-weight:600}.board-reminder-custom,.board-reminder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem;gap:.65rem}.board-reminder-field label{display:grid;grid-gap:.45rem;gap:.45rem;min-width:0}.board-checklist-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.board-checklist-head span:last-child{color:var(--muted);font-size:.78rem;font-weight:800}.board-checklist-items{display:grid;grid-gap:.4rem;gap:.4rem}.board-checklist-empty{padding:.8rem .9rem;border:1px dashed var(--line-strong);border-radius:12px;background:var(--surface-soft);color:var(--muted);font-size:.82rem}.board-checklist-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto;grid-gap:.28rem;gap:.28rem;align-items:center;min-height:32px;padding:.12rem .5rem;border:1px solid var(--line);border-radius:9px;background:var(--surface);transition:border-color .14s ease,background-color .14s ease}.board-checklist-item.is-done{border-color:color-mix(in srgb,#16813f 30%,var(--line));background:color-mix(in srgb,#16813f 7%,var(--surface))}.board-checklist-item input[type=checkbox]{justify-self:center;width:.95rem;height:.95rem;accent-color:var(--accent);min-height:26px}.board-checklist-item input[type=text]{min-height:28px;border-color:transparent;background:transparent;padding:.28rem .3rem;box-shadow:none;font-size:.82rem}.board-checklist-item input[type=text]:focus{border-color:var(--line-strong);background:var(--field-bg)}.board-checklist-item.is-done input[type=text]{color:var(--muted);text-decoration:line-through}.board-checklist-item .inline-action{min-height:28px;padding:.24rem .38rem;font-size:.74rem}.board-checklist-add{justify-self:start;min-height:32px;padding:.35rem .6rem;font-size:.76rem}.board-card-files-field{display:grid;grid-gap:.55rem;gap:.55rem;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);padding:.75rem}.board-card-files-field>label{display:grid;grid-gap:.45rem;gap:.45rem}.board-label-manager{display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.board-label-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.board-label-tabs button{min-height:36px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);padding:.45rem .75rem;cursor:pointer;font:inherit;font-size:.8rem;font-weight:850}.board-label-tabs button:focus-visible,.board-label-tabs button:hover{outline:none;border-color:var(--line-strong);color:var(--text)}.board-label-tabs button.is-active{border-color:var(--button-strong-border);background:var(--button-strong-bg);color:var(--button-strong-fg)}.board-label-list{display:grid;grid-gap:.55rem;gap:.55rem}.board-label-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.65rem;align-items:center;min-height:48px;padding:.65rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.board-label-row-actions{display:inline-flex;flex-wrap:wrap;gap:.45rem}.board-label-row-actions .ghost-button{min-height:34px;padding:.35rem .65rem;font-size:.78rem}.board-label-form{padding:0}.board-label-form input[type=color]{min-height:46px;padding:.25rem}.board-label-empty{margin:0;color:var(--muted);font-size:.86rem}.board-card-label-group{display:grid;grid-gap:.45rem;gap:.45rem;width:100%}.board-card-label-group>span{display:block;color:var(--muted);font-size:.76rem;font-weight:800}.board-card-label-group>div{display:flex;flex-wrap:wrap;gap:.45rem}.board-add-card-button{width:100%;min-height:2.35rem;margin-top:.7rem;border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:transparent;color:var(--muted);font:inherit;font-size:.88rem;font-weight:800;cursor:pointer}.board-add-card-button:focus-visible,.board-add-card-button:hover,.board-column-title-button:focus-visible,.board-column-title-button:hover{color:var(--text)}.board-empty-column{border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--muted);padding:1.2rem .8rem;text-align:center;font-size:.9rem}.section-head p{margin:.3rem 0 0;font-size:.84rem}.customer-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.customer-dashboard-card{display:grid;grid-gap:1rem;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.customer-dashboard-card:focus-visible,.customer-dashboard-card:hover{transform:translateY(-1px);border-color:#b9c6da}.dashboard-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.dashboard-card-head h3{margin:0;font-size:1rem;font-weight:800;letter-spacing:-.03em}.dashboard-rate{margin-top:.25rem;color:var(--muted);font-size:.84rem}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:.35rem .7rem;border-radius:999px;background:#edf2f8;color:var(--muted);font-size:.76rem;font-weight:800;white-space:nowrap}.status-pill.is-good{background:#e8f7ef;color:var(--success)}.status-pill.is-warning{background:#fff5db;color:#a36a00}.status-pill.is-danger{background:#fdebec;color:var(--danger)}.status-pill.is-service{background:rgba(15,34,64,.08);color:var(--text);width:-moz-fit-content;width:fit-content}.status-pill.is-paid{background:#e8f7ef;color:var(--success)}.status-pill.is-unpaid{background:#fff5db;color:#a36a00}.status-pill.is-uninvoiced{background:#fdebec;color:var(--danger)}.service-renewal-badge{display:flex;justify-content:flex-end}.service-renewal-badge .status-pill{min-height:30px;padding:.35rem .7rem;font-size:.76rem}.service-dashboard-card .dashboard-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.service-dashboard-card .dashboard-mini-card:first-child{grid-column:1;grid-row:1}.service-dashboard-card .dashboard-mini-card:nth-child(2){grid-column:1/-1;grid-row:2}.service-dashboard-card .dashboard-mini-card:nth-child(3){grid-column:2;grid-row:1}.dashboard-special{min-height:40px;color:var(--muted);font-size:.84rem;line-height:1.5}.dashboard-mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.55rem;gap:.55rem}.dashboard-mini-card{padding:.7rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.dashboard-mini-card span{display:block;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.dashboard-mini-card strong{display:block;margin-top:.25rem;font-size:.94rem;font-weight:800;min-width:0;overflow-wrap:anywhere;word-break:break-word}.dashboard-mini-card .service-period-value{display:block;line-height:1.3;min-width:0}.dashboard-footer,.dashboard-month-row{display:flex;justify-content:space-between;gap:.8rem;align-items:center;flex-wrap:wrap;font-size:.82rem}.dashboard-month-row{padding:.8rem .9rem;border-radius:12px;background:var(--surface-soft)}.dashboard-month-values{display:flex;flex-wrap:wrap;gap:.6rem .9rem}.dashboard-month-values .positive{color:var(--success);font-weight:700}.dashboard-month-values .negative{color:var(--danger);font-weight:700}.dashboard-footer{color:var(--muted)}.detail-card{display:grid;grid-gap:.45rem;gap:.45rem;min-height:92px;padding:.95rem 1rem}.detail-card-accent{background:linear-gradient(180deg,#fffdf7,#fff9eb);border-color:#f2d391}.detail-label{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.detail-card-topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.detail-title{font-size:.98rem;font-weight:700}.detail-copy{font-size:.86rem;line-height:1.5}.service-contract-actions,.service-contract-empty{margin-top:.75rem}.detail-sidebar .service-contract-actions{display:grid;grid-gap:.65rem;gap:.65rem;padding-top:.75rem;border-top:1px solid rgba(242,211,145,.75)}.detail-sidebar .service-contract-actions .attachment-link{align-items:flex-start;padding:0;border:0;border-radius:0;background:transparent}.detail-sidebar .service-contract-actions .attachment-link:hover{border-color:transparent}.detail-sidebar .service-contract-actions .attachment-link-main{min-width:0}.service-contract-archive-button{width:-moz-fit-content;width:fit-content;margin-top:.35rem}.service-period-archive{display:grid;grid-gap:1rem;gap:1rem;margin-top:.35rem}.service-period-archive-title{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.service-period-archive-select{width:100%;min-height:42px;padding:.62rem 2.5rem .62rem .78rem;border:1px solid var(--line-strong);border-radius:10px;background-color:var(--surface);color:var(--text);font:inherit;font-size:.78rem;font-weight:700}.service-period-archive-select:focus{outline:none;border-color:#aab8ce;box-shadow:0 0 0 4px rgba(15,34,64,.06)}.service-period-archive-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.85rem 1rem;gap:.85rem 1rem}.service-period-archive-summary article{display:grid;grid-gap:.35rem;gap:.35rem;min-width:0}.service-period-archive-summary-wide{grid-column:1/-1}.service-period-archive-summary span{color:var(--muted);font-size:.72rem;font-weight:800}.service-period-archive-summary strong{min-width:0;color:var(--text);font-size:.84rem;font-weight:800;line-height:1.35}.service-period-archive-summary strong.service-period-archive-missing-agreement{color:var(--muted);font-weight:700}.service-period-archive-contract{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem;padding-top:.85rem;border-top:1px solid var(--line)}.service-period-archive-contract .attachment-link-main{min-width:0}.service-period-archive-contract .attachment-link-main span{font-size:.78rem;font-weight:800}.service-period-archive-contract .attachment-link-main small,.service-period-archive-empty{color:var(--muted);font-size:.72rem}.service-period-archive-empty{font-weight:700}.service-period-archive-actions{margin-top:.15rem}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.detail-sidebar .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.month-overview{display:grid;grid-gap:.8rem;gap:.8rem}.month-overview-toolbar{display:flex;justify-content:space-between;gap:.8rem;align-items:center;flex-wrap:wrap;width:100%}.month-overview-nav{display:flex;gap:.55rem;align-items:center}.month-nav-button{min-height:38px;padding:.55rem .8rem;font-size:.82rem}.month-expand-button{font-size:.82rem}.month-overview-grid{display:grid;grid-gap:.8rem;gap:.8rem}.month-overview-grid.is-sliding{grid-template-columns:repeat(3,minmax(190px,1fr))}.month-overview-grid.is-expanded{grid-template-columns:repeat(3,minmax(0,1fr))}.month-card{padding:1rem}.month-card h3{margin:0;font-size:.98rem;font-weight:800}.month-card p{margin:.25rem 0 0;font-size:.82rem}.month-stats{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.8rem}.month-stat-row{display:flex;justify-content:space-between;gap:.75rem;align-items:center;font-size:.84rem}.month-stat-row strong{color:var(--text)}.month-stat-row.positive strong{color:var(--success)}.month-stat-row.negative strong{color:var(--danger)}.metric-card{padding:1rem 1rem .95rem}.metric-label{display:inline-flex;gap:.45rem;align-items:center;font-size:.84rem}.metric-icon{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.metric-value{margin-top:.5rem;font-size:clamp(1.45rem,2.6vw,1.75rem);font-weight:800;letter-spacing:-.04em}.metric-note{margin-top:.2rem;font-size:.75rem}.progress-card{padding:1rem 1rem 1.1rem}.progress-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.7rem}.progress-head,.progress-head strong{font-size:.86rem}.progress-track{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#eff3f9}.progress-bar{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f7a400,#f59e0b);transition:width .18s ease}.drawer-stack{display:grid;grid-gap:1rem;gap:1rem}.drawer-stack:not(:has(>:not([hidden]))){display:none}.drawer-card{padding:1rem}.drawer-card:not([hidden]){position:fixed;top:50%;left:50%;z-index:110;display:flex;flex-direction:column;width:min(720px,calc(100vw - 2rem));max-height:min(86vh,840px);overflow:hidden;padding:0;transform:translate(-50%,-50%)}.drawer-card:not([hidden]) .drawer-head{flex:0 0 auto;margin-bottom:0;padding:1rem 1.1rem .85rem;border-bottom:1px solid var(--line)}.drawer-card:not([hidden])>#serviceContractArchive,.drawer-card:not([hidden])>.task-drawer-meta,.drawer-card:not([hidden])>form{overflow-y:auto;min-height:0;padding:1rem 1.1rem}.drawer-card:not([hidden])>form{align-content:start}.drawer-card:not([hidden]) .form-actions{position:-webkit-sticky;position:sticky;bottom:-1rem;z-index:2;margin:0 -1.1rem -1rem;padding:.9rem 1.1rem 1rem;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.drawer-card:not([hidden]) .task-drawer-body{overflow-y:auto;min-height:0;margin-top:0;padding:0 1.1rem 1.1rem}.task-drawer-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.7rem;gap:.7rem}.task-drawer-stat{padding:.85rem .9rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.task-drawer-stat span{display:block;color:var(--muted);font-size:.68rem;line-height:1.2;font-weight:700;text-transform:uppercase;letter-spacing:.035em}.task-drawer-stat strong{display:block;margin-top:.3rem;font-size:.92rem;font-weight:800}.task-drawer-body{display:grid;grid-gap:.85rem;gap:.85rem;margin-top:1rem}.task-entry-card{display:grid;grid-gap:.75rem;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.task-entry-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.task-entry-title-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.task-entry-title-row h3{margin:0;font-size:1rem;font-weight:800}.task-entry-pill{display:inline-flex;align-items:center;min-height:24px;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800}.task-entry-pill.is-clip{background:rgba(15,34,64,.08);color:var(--text)}.task-entry-pill.is-ongoing{background:rgba(206,153,45,.14);color:#855d09}.task-entry-pill.is-paid{background:rgba(30,167,100,.14);color:#127347}.task-entry-description,.task-entry-meta{font-size:.85rem;line-height:1.6}.task-entry-meta{margin-top:.3rem;color:var(--muted)}.task-entry-attachments{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.65rem;gap:.65rem}.attachment-link{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.attachment-link:hover{border-color:#b9c6da}.attachment-link-main{display:grid;grid-gap:.2rem;gap:.2rem}.attachment-link span{font-size:.83rem;font-weight:700}.attachment-link small{color:var(--muted);font-size:.74rem}.attachment-link-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}.drawer-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.drawer-kicker{margin:0 0 .25rem;font-size:.76rem;font-weight:600}.close-button{min-height:40px;position:relative;width:40px;min-width:40px;height:40px;display:inline-grid;place-items:center;flex:0 0 40px;padding:0;overflow:hidden;color:var(--muted);font-size:0;line-height:0}.close-button:after,.close-button:before{position:absolute;width:16px;height:2px;border-radius:999px;background:currentColor;content:""}.close-button:before{transform:rotate(45deg)}.close-button:after{transform:rotate(-45deg)}.close-button:focus-visible,.close-button:hover{color:var(--text)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.form-grid label{display:grid;grid-gap:.45rem;gap:.45rem;font-size:.84rem;font-weight:600}.attachment-draft-list{display:grid;grid-gap:.55rem;gap:.55rem}.attachment-empty{padding:.8rem .9rem;border:1px dashed var(--line-strong);border-radius:12px;color:var(--muted);font-size:.82rem;background:var(--surface-soft)}.attachment-chip{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.attachment-chip-main{display:grid;grid-gap:.12rem;gap:.12rem}.attachment-chip-main strong{font-size:.84rem}.attachment-chip-main span{color:var(--muted);font-size:.76rem}.attachment-chip-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}.field-span{grid-column:1/-1}.paired-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:inherit;gap:inherit}.customer-kind-block{display:grid;grid-gap:.38rem;gap:.38rem;max-width:540px}.customer-kind-label{font-size:.74rem;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.customer-kind-switch{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.22rem;width:min(100%,540px);padding:.18rem;border:1px solid var(--line-strong);border-radius:12px;background:linear-gradient(180deg,var(--surface-soft) 0,rgba(255,255,255,.75) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}.customer-kind-option{position:relative;cursor:pointer}.customer-kind-option input{position:absolute;inset:0;opacity:0;pointer-events:none}.customer-kind-option span{min-height:36px;display:flex;align-items:center;justify-content:center;padding:.52rem .8rem;border-radius:9px;color:var(--muted);font-size:.8rem;font-weight:700;letter-spacing:-.01em;text-align:center;transition:background-color .14s ease,color .14s ease,box-shadow .14s ease}.customer-kind-option input:checked+span{background:var(--button-strong-bg);color:var(--button-strong-fg);box-shadow:0 10px 20px rgba(15,34,64,.12)}.customer-kind-option input:focus-visible+span{outline:2px solid rgba(245,158,11,.45);outline-offset:2px}.customer-kind-option input:disabled+span{cursor:default}.customer-kind-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.customer-kind-fields .field-span{grid-column:1/-1}.input-prefix{display:flex;align-items:center;gap:.6rem;min-height:46px;padding-left:.9rem;border:1px solid var(--line-strong);border-radius:12px;background:var(--field-bg)}.input-prefix span{color:var(--muted);font-weight:600;font-size:.88rem}.input-prefix input{min-height:44px;border:0;box-shadow:none;padding-left:0}.input-prefix input:focus{box-shadow:none}.section-block{display:grid;grid-gap:.9rem;gap:.9rem}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.section-filter{display:inline-grid;gap:.35rem;justify-items:start;font-size:.8rem;font-weight:700;color:var(--muted)}.section-filter select{min-width:110px;min-height:38px;padding:.55rem .75rem;border:1px solid var(--line-strong);border-radius:10px;background-color:var(--field-bg)}.service-overview-sort{margin-left:auto;justify-items:end}.service-overview-sort select{min-width:170px}.billing-panel{gap:1.35rem}.billing-head{align-items:flex-start;padding-bottom:.2rem}.billing-month-controls{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-left:auto;flex-wrap:wrap}.billing-month-controls input{min-height:42px;width:160px;padding:.65rem .85rem;border:1px solid var(--line-strong);border-radius:12px;background:var(--field-bg);color:var(--text);font:inherit;font-weight:700;box-shadow:var(--field-shadow)}.billing-month-controls input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.mileage-section{display:grid;grid-gap:1rem;gap:1rem}.mileage-section-head{align-items:center}.mileage-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.65rem;align-items:center}.mileage-detail-panel{gap:.85rem}.mileage-detail-panel .back-button{display:inline-flex;align-items:center;gap:.4rem;width:-moz-fit-content;width:fit-content;max-width:100%;justify-content:flex-start;text-align:left;min-height:40px;padding:.65rem .95rem .65rem .8rem;font-size:.84rem}.mileage-detail-panel .back-button svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.mileage-year-toolbar{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;justify-content:flex-end}.mileage-year-toolbar .ghost-button,.mileage-year-toolbar .header-create-button{min-height:42px}.mileage-year-toolbar #mileageEditPeriodButton{display:inline-flex;align-items:center;gap:.42rem}.mileage-year-toolbar #mileageEditPeriodButton svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.mileage-year-toolbar input{width:120px;min-height:42px;padding:.65rem .85rem;border:1px solid var(--line-strong);border-radius:12px;background:var(--field-bg);color:var(--text);font:inherit;font-weight:750}.mileage-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(260px,320px);grid-gap:.8rem;gap:.8rem}.mileage-date-fields{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(0,1fr);grid-gap:inherit;gap:inherit;min-width:0}.mileage-entry-form .mileage-period-field{grid-column:2;grid-row:1;justify-self:end;width:100%}.mileage-entry-form .mileage-date-fields{grid-column:1;grid-row:1}.mileage-empty-state{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:1rem;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.mileage-empty-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);color:var(--text)}.mileage-empty-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.mileage-empty-state strong{display:block;font-size:1rem;font-weight:850}.mileage-empty-state p{margin:.25rem 0 0;max-width:44rem;color:var(--muted);font-size:.9rem;line-height:1.45}.mileage-content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);grid-gap:1rem;gap:1rem;align-items:start}.mileage-side-column{display:grid;grid-gap:.8rem;gap:.8rem;min-width:0}.mileage-side-create{width:100%;justify-content:center}.mileage-month-list{display:grid;grid-gap:.75rem;gap:.75rem}.mileage-address-list{display:grid;grid-gap:0;gap:0}.mileage-month-lines{display:grid}.mileage-entry-row{width:100%;display:grid;grid-template-columns:92px minmax(0,1fr) auto;grid-gap:.8rem;gap:.8rem;align-items:center;padding:.85rem 1rem;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--text);cursor:pointer;font:inherit;text-align:left}.mileage-entry-row:first-child{border-top:0}.mileage-entry-row:focus-visible,.mileage-entry-row:hover{outline:none;background:var(--surface-soft)}.mileage-entry-date{color:var(--muted);font-size:.82rem;font-weight:800}.mileage-entry-main,.mileage-entry-values{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0;max-width:550px}.mileage-entry-main small,.mileage-entry-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mileage-entry-main small,.mileage-entry-values small{color:var(--muted);font-size:.8rem}.mileage-entry-values{justify-items:end;text-align:right}.mileage-address-panel{display:grid;grid-gap:0;gap:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.mileage-side-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.95rem 1.1rem;border-bottom:1px solid var(--line);background:var(--surface-soft)}.mileage-side-head h3{margin:0;font-size:1rem;font-weight:800}.mileage-address-card{display:flex;justify-content:space-between;gap:.85rem;align-items:flex-start;padding:.85rem 1rem;border-top:1px solid var(--line);background:transparent}.mileage-address-card:first-child{border-top:0}.mileage-address-card div:first-child{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.mileage-address-card span,.mileage-address-empty{color:var(--muted);font-size:.84rem}.mileage-address-empty{margin:0;padding:.85rem 1rem}.mileage-address-actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end;flex:0 0 auto}.mileage-stops-field{display:grid;grid-gap:0;gap:0;min-width:0;padding:.7rem 0;font-size:.84rem;font-weight:600}.mileage-stops-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 .15rem .55rem}.mileage-stops-head span:last-child{color:var(--muted);font-size:.78rem;font-weight:800}.mileage-route-point-list,.mileage-stop-list{display:grid;grid-gap:0;gap:0}.mileage-stop-item{display:grid;grid-template-columns:26px minmax(120px,.7fr) minmax(0,1fr) auto;grid-gap:.38rem;gap:.38rem;align-items:center;min-height:38px;padding:.22rem .15rem}.mileage-stop-item:first-child{border-top:0}.mileage-stop-index{justify-self:center;width:1.15rem;height:1.15rem;display:inline-grid;place-items:center;border-radius:999px;background:var(--surface);color:var(--muted);font-size:.68rem;font-weight:850;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mileage-stop-index:active{cursor:-webkit-grabbing;cursor:grabbing}.mileage-start-address-icon,.mileage-start-address-icon:active{cursor:default}.mileage-start-address-icon svg{width:.82rem;height:.82rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.mileage-start-custom-address-field,.mileage-start-saved-address-field{margin:0}.mileage-start-custom-address-field input,.mileage-start-saved-address-field select{width:100%}.mileage-start-action-placeholder{visibility:hidden}.mileage-route-point.is-dragging{opacity:.55}.mileage-route-point.is-drag-over{background:color-mix(in srgb,var(--accent) 8%,transparent)}.mileage-stop-empty{padding:.65rem .15rem .1rem;color:var(--muted);font-size:.82rem;font-weight:600}.mileage-stop-item input[type=text]{min-height:34px;border:1px solid var(--line-strong);border-radius:8px;background:var(--field-bg);padding:.38rem .55rem;font-size:.82rem}.mileage-stop-item select{min-height:32px;padding:.34rem 1.8rem .34rem .55rem;border-radius:8px;font-size:.8rem}.mileage-stop-item input[type=text]:focus{border-color:var(--accent);background:var(--field-bg);box-shadow:0 0 0 3px var(--focus-ring)}.mileage-stop-item .inline-action{min-height:28px;padding:.24rem .38rem;font-size:.74rem}.mileage-stop-add{justify-self:start;margin-top:.55rem}.mileage-route-actions{display:flex;flex-wrap:wrap;gap:.55rem}.mileage-route-status{display:grid;grid-gap:.15rem;gap:.15rem;padding-top:1rem;color:var(--muted);font-size:.82rem}.mileage-route-status strong{color:var(--text);font-size:.9rem}.mileage-route-map{width:100%;height:260px;min-height:220px;margin-top:.85rem;margin-bottom:.95rem;position:relative;z-index:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.mileage-route-calc-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:end;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line)}.mileage-manual-km{display:grid;grid-gap:.35rem;gap:.35rem;width:min(100%,180px);margin-top:0;color:var(--muted);font-size:.78rem;font-weight:750}.mileage-manual-km input{min-height:40px}.mileage-km-validation-error{padding-top:.55rem;color:var(--danger);font-size:.84rem;font-weight:800}#mileageRouteCalculateButton{min-height:40px;margin-left:auto}.leaflet-container{width:100%;height:100%;min-height:220px;font-family:inherit;z-index:0}.mileage-route-map .leaflet-container{height:260px;min-height:220px}.leaflet-control-attribution{padding:.18rem .35rem;background:rgba(255,255,255,.82);color:#334155;font-size:.68rem}.mileage-route-pin{width:30px;height:36px;display:grid;place-items:start center;background:transparent}.mileage-route-pin span{width:26px;height:26px;display:grid;place-items:center;position:relative;border:2px solid #ffffff;border-radius:999px 999px 999px 0;background:#2563eb;color:#ffffff;font-size:.78rem;font-weight:850;line-height:1;transform:rotate(-45deg);box-shadow:0 8px 18px rgba(15,34,64,.24)}.mileage-route-pin strong{display:block;transform:rotate(45deg);font-size:inherit;line-height:1}.mileage-route-pin-home span{background:#16813f}.mileage-route-pin-home svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transform:rotate(45deg)}.mileage-detail-hero{display:flex;justify-content:space-between;gap:1.2rem;align-items:flex-start;padding:1.25rem}.mileage-detail-hero-main{display:grid;grid-gap:.55rem;gap:.55rem;min-width:0}.mileage-detail-hero h2{max-width:58rem;margin:0;font-size:clamp(1.02rem,1.4vw,1.26rem);line-height:1.25;overflow-wrap:anywhere}.mileage-detail-hero h2 span{color:var(--muted);font-size:.9em;font-weight:650}.mileage-detail-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.mileage-detail-meta span{display:inline-flex;min-height:28px;align-items:center;padding:.28rem .62rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.78rem;font-weight:750}.mileage-detail-meta .mileage-detail-deduction{color:var(--text);font-weight:850}.mileage-detail-panel .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mileage-detail-map-card,.mileage-route-card{grid-column:auto;align-content:start}.mileage-purpose-card{grid-column:1/-1;align-content:start}.mileage-purpose-card .detail-copy{margin-top:.1rem;color:var(--text);white-space:pre-line}.mileage-waypoint-list{display:grid;grid-gap:0;gap:0;margin-top:.35rem}.mileage-waypoint-row{display:grid;grid-template-columns:32px minmax(0,1fr);grid-gap:.75rem;gap:.75rem;position:relative;padding:.2rem 0 1rem}.mileage-waypoint-row:before{content:"";position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--line)}.mileage-waypoint-row:last-child{padding-bottom:.2rem}.mileage-waypoint-row:last-child:before{display:none}.mileage-waypoint-index{width:32px;height:32px;display:grid;place-items:center;position:relative;z-index:1;border:2px solid var(--surface);border-radius:999px;background:var(--brand-bg);color:#fff;font-size:.78rem;font-weight:850}.mileage-waypoint-row div{display:grid;grid-gap:.15rem;gap:.15rem;min-width:0}.mileage-waypoint-row div>span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.mileage-waypoint-row strong{min-width:0;font-size:.95rem;line-height:1.35;overflow-wrap:anywhere}.mileage-waypoint-row small{color:var(--muted);font-size:.8rem;line-height:1.4;overflow-wrap:anywhere}.mileage-detail-map,.mileage-detail-map-empty{width:100%;height:320px;min-height:260px;margin-top:.55rem;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.mileage-detail-map-empty{display:grid;place-items:center;padding:1rem;color:var(--muted);font-size:.86rem;text-align:center}.mileage-detail-map .leaflet-container{height:320px;min-height:260px}.mileage-route-list{display:grid;margin-top:.1rem}.mileage-route-row{display:grid;grid-template-columns:86px minmax(0,1fr);grid-gap:.8rem;gap:.8rem;align-items:start;padding:.78rem 0;border-top:1px solid var(--line)}.mileage-route-row:first-child{border-top:0}.mileage-route-row span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.mileage-route-row strong{min-width:0;font-size:.92rem;line-height:1.45;overflow-wrap:anywhere}.mileage-route-row.is-muted strong{color:var(--muted);font-weight:650}.mileage-detail-stops{margin:.65rem 0 0;padding-left:1.1rem}.billing-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.billing-section-list{display:grid;grid-gap:1.35rem;gap:1.35rem}.billing-section{display:grid;grid-gap:.95rem;gap:.95rem}.billing-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0 .5rem;border-bottom:0}.billing-section-head h3{margin:0;font-size:1.05rem;font-weight:800}.billing-row-main p,.billing-section-head p,.billing-section-total span{margin:0;color:var(--muted);font-size:.84rem}.billing-section-total{display:grid;grid-gap:.15rem;gap:.15rem;text-align:right;white-space:nowrap}.billing-rows{display:grid;grid-gap:.65rem;gap:.65rem}.billing-customer-lines{display:grid}.billing-customer-lines .billing-row:first-child{border-top:0}.billing-status-modal{width:min(520px,calc(100vw - 2rem))}.billing-status-context-card{display:grid;grid-gap:.25rem;gap:.25rem;padding:.85rem .95rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.billing-status-context-card span{color:var(--muted);font-size:.84rem}.billing-empty-row{display:block;min-height:auto;padding:.8rem .95rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted)}.billing-row-activity{padding-top:.45rem}.billing-row-main{max-width:none;width:100%}.billing-row-preview{margin-top:.2rem}.billing-row-activity span+span:before{content:"·";margin-right:.45rem;color:var(--muted)}.billing-row-side .activity-amount{color:var(--text)}.billing-row-side{align-self:stretch}.billing-row-action{margin-top:auto;padding-top:.45rem}.activity-group{overflow:hidden}.activity-group+.activity-group{margin-top:.95rem}#billingPanel .activity-group+.activity-group{margin-top:0}.activity-group-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.95rem 1.1rem;border-bottom:1px solid var(--line);background:var(--surface-soft)}.activity-group-title{font-size:1rem;font-weight:800}.activity-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.9rem 1.1rem;font-size:.82rem}.summary-up{color:var(--success);font-weight:700}.summary-down,.summary-neutral{color:var(--muted);font-weight:700}.summary-strong{color:var(--text);font-weight:850}.activity-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:.85rem;gap:.85rem;align-items:start;padding:.85rem 1rem;border-top:1px solid var(--line);background:var(--surface)}.activity-row:first-child{border-top:0}.activity-row.is-topup{background:rgba(33,163,101,.03)}.activity-row.is-time{background:rgba(15,34,64,.015)}.activity-row.is-ongoing{background:rgba(15,34,64,.012)}.activity-row.is-service{background:rgba(246,180,74,.06)}.activity-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#eef2f8;color:var(--muted);font-size:.92rem;font-weight:800}.activity-icon-svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.activity-row.is-topup .activity-icon{background:var(--success-soft);color:var(--success)}.activity-row.is-time .activity-icon{background:rgba(15,34,64,.08);color:var(--text)}.activity-row.is-ongoing .activity-icon{background:rgba(206,153,45,.14);color:#855d09}.activity-row.is-service .activity-icon{background:rgba(246,180,74,.18);color:#855d09}.activity-main{display:flex;flex-direction:column;align-self:stretch;min-width:0;max-width:min(100%,560px)}#billingPanel .activity-main{max-width:none}.activity-title{font-weight:700;font-size:.94rem}.activity-preview{margin-top:.18rem;color:var(--muted);font-size:.76rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.activity-row.is-expanded .activity-preview{display:block;-webkit-line-clamp:unset;-webkit-box-orient:initial;overflow:visible}.activity-row.is-ongoing .activity-title,.activity-row.is-time .activity-title,.activity-row.is-topup .activity-title{color:var(--text)}.activity-meta{margin-top:auto;padding-top:.55rem;font-size:.84rem}.activity-badge-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}.activity-payment-pill{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .55rem;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.01em;vertical-align:middle}.activity-payment-pill.is-paid{background:rgba(30,167,100,.14);color:#127347}.activity-payment-pill.is-unpaid{background:rgba(246,180,74,.2);color:#a85f00}.activity-payment-pill.is-uninvoiced{background:rgba(194,65,65,.14);color:#b42323}.activity-payment-pill.is-muted{background:rgba(100,116,139,.12);color:var(--muted)}.activity-payment-pill.is-partner{background:rgba(37,99,235,.12);color:#2563eb}.activity-badge-row .activity-payment-pill{margin-top:0}.activity-side{display:flex;flex-direction:column;align-items:flex-end;align-self:stretch;gap:.18rem}.activity-actions{display:flex;gap:.35rem;margin-top:0;justify-content:flex-end}.activity-tail{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;margin-top:auto}.activity-inline-editor{padding:0 1rem .95rem 3.9rem;border-top:1px solid var(--line);background:var(--surface-soft);box-shadow:none}.activity-inline-task{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}.activity-inline-task-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.activity-inline-task-stats{margin-top:.95rem}.activity-inline-attachments{margin-top:.85rem}.inline-editor-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.85rem;gap:.85rem;padding-top:.8rem}.inline-editor-form .form-actions{gap:.6rem}.inline-editor-form .form-actions .ghost-button,.inline-editor-form .form-actions .primary-button{min-height:40px;padding:.62rem .9rem;border-radius:10px;font-size:.84rem}.inline-editor-form label{display:grid;grid-gap:.4rem;gap:.4rem;font-size:.82rem;font-weight:600}.inline-editor-form .checkbox-field{display:inline-flex;align-items:center;gap:.65rem;min-height:42px;padding:.75rem .85rem;border:1px solid var(--line-strong);border-radius:12px;background:#fff;font-weight:500}.inline-editor-form .checkbox-field input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0}.inline-editor-form input,.inline-editor-form select,.inline-editor-form textarea{width:100%;min-height:42px;padding:.75rem .85rem;border:1px solid var(--line-strong);border-radius:12px;background:#fff}.inline-editor-form .input-prefix{gap:.45rem;padding-right:.85rem}.inline-editor-form .input-prefix input{min-height:40px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.inline-editor-form .input-prefix input:focus{box-shadow:none}.inline-editor-form textarea{min-height:108px;resize:vertical}.inline-action{min-height:auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);cursor:pointer;font-size:.76rem;font-weight:700;line-height:1.2}.inline-action:hover{color:var(--text);text-decoration:underline}.activity-amount{font-size:.88rem;font-weight:800;color:var(--text)}.activity-amount.positive{color:var(--success)}.activity-amount.negative{color:var(--danger)}.activity-amount.neutral{color:var(--text)}.activity-balance{font-size:.78rem;color:var(--muted)}.activity-date{color:var(--muted);font-size:.82rem;white-space:nowrap}.task-list-card{overflow:hidden}table{width:100%;border-collapse:collapse}.task-list-card{overflow-x:auto;-webkit-overflow-scrolling:touch}thead{background:var(--surface-soft)}td,th{padding:.95rem 1rem;text-align:left}th{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}td{font-size:.9rem}tbody tr+tr td{border-top:1px solid var(--line)}.task-inline-row td{padding:0;background:var(--surface-soft)}.task-inline-panel{display:grid;grid-gap:.9rem;gap:.9rem;padding:1rem}.task-inline-panel .task-drawer-meta{grid-template-columns:repeat(4,minmax(0,1fr))}.task-inline-panel .task-drawer-body{margin-top:0}.empty-state{padding:1.2rem 1.1rem;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:rgba(255,255,255,.55)}.empty-state strong{display:block;font-size:.94rem}.empty-state p{margin:.3rem 0 0}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.55}:root[data-theme=dark] body{background:radial-gradient(circle at top left,rgba(246,180,74,.08),transparent 28%),radial-gradient(circle at top right,rgba(79,208,140,.06),transparent 22%),var(--bg)}:root[data-theme=dark] .board-select-label select,:root[data-theme=dark] .form-grid select,:root[data-theme=dark] .section-filter select,:root[data-theme=dark] .service-period-archive-select,:root[data-theme=dark] .toolbar-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 1.5L6 6L10.5 1.5' stroke='%23edf2ff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}:root[data-theme=dark] .theme-toggle:focus-visible,:root[data-theme=dark] .theme-toggle:hover{box-shadow:none}:root[data-theme=dark] .attachment-link:hover,:root[data-theme=dark] .customer-dashboard-card,:root[data-theme=dark] .toolbar,:root[data-theme=dark] .view-switcher{border-color:var(--line-strong)}:root[data-theme=dark] .inline-action:hover,:root[data-theme=dark] .search-clear-button{color:var(--text)}:root[data-theme=dark] .overview-search .toolbar-field-input{background:rgba(15,23,38,.82);box-shadow:0 18px 42px rgba(0,0,0,.22)}:root[data-theme=dark] .overview-search .toolbar-field-input:focus{background:var(--field-bg);box-shadow:0 0 0 4px rgba(237,242,255,.08),0 18px 42px rgba(0,0,0,.28)}:root[data-theme=dark] .detail-card-accent{background:linear-gradient(180deg,rgba(246,180,74,.16),rgba(246,180,74,.08));border-color:rgba(246,180,74,.3)}:root[data-theme=dark] .progress-track{background:rgba(255,255,255,.08)}:root[data-theme=dark] .status-pill{background:rgba(148,163,184,.14);color:var(--muted)}:root[data-theme=dark] .status-pill.is-good{background:rgba(79,208,140,.16);color:var(--success)}:root[data-theme=dark] .status-pill.is-warning{background:rgba(246,180,74,.14);color:var(--accent)}:root[data-theme=dark] .status-pill.is-service{background:rgba(237,242,255,.08);color:var(--text)}:root[data-theme=dark] .status-pill.is-danger{background:rgba(243,132,132,.16);color:var(--danger)}:root[data-theme=dark] .activity-group-head,:root[data-theme=dark] .activity-inline-editor,:root[data-theme=dark] .activity-inline-task,:root[data-theme=dark] .dashboard-month-row,:root[data-theme=dark] .empty-state,:root[data-theme=dark] .task-entry-card,:root[data-theme=dark] .task-inline-row td{background:var(--surface-soft)}:root[data-theme=dark] .activity-row.is-time .activity-icon,:root[data-theme=dark] .task-entry-pill.is-clip{background:rgba(237,242,255,.08);color:var(--text)}:root[data-theme=dark] .activity-row.is-ongoing .activity-icon,:root[data-theme=dark] .task-entry-pill.is-ongoing{background:rgba(246,180,74,.14);color:var(--accent)}:root[data-theme=dark] .task-entry-pill.is-paid{background:rgba(79,208,140,.14);color:var(--success)}:root[data-theme=dark] .activity-icon{background:rgba(145,161,187,.12);color:var(--muted)}:root[data-theme=dark] .activity-row.is-topup{background:rgba(79,208,140,.05)}:root[data-theme=dark] .activity-row.is-time{background:rgba(237,242,255,.03)}:root[data-theme=dark] .activity-row.is-ongoing{background:rgba(246,180,74,.04)}:root[data-theme=dark] .activity-row.is-service{background:rgba(246,180,74,.08)}:root[data-theme=dark] .settings-section-card{background:linear-gradient(180deg,rgba(17,24,39,.94),rgba(13,19,33,.98));border-color:rgba(148,163,184,.14)}:root[data-theme=dark] .login-auth-card{background:radial-gradient(circle at top,rgba(84,112,168,.18) 0,rgba(84,112,168,0) 36%),var(--surface)}@media (max-width:1180px){:root{--sidebar-width:224px}.portal-route-loading{padding-left:calc(var(--sidebar-width) + .75rem)}.app-shell:not(.has-sidebar){width:min(calc(100% - 1.5rem),var(--max-width))}.app-shell.has-sidebar{padding-inline:.75rem;padding-left:calc(var(--sidebar-width) + .75rem)}.app-shell.has-sidebar.is-sidebar-collapsed,:root[data-sidebar-collapsed=true] .app-shell.has-sidebar{padding-left:calc(var(--sidebar-collapsed-width) + .75rem)}.detail-layout,.login-layout,.settings-layout{grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:1.1rem}.detail-sidebar{top:.75rem}.overview-stat-grid,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-dashboard-grid{grid-template-columns:1fr}.customer-dashboard-card .dashboard-mini-stats,.dashboard-mini-stats,.month-overview-grid.is-expanded,.month-overview-grid.is-sliding,.service-dashboard-card .dashboard-mini-stats,.task-drawer-meta,.task-inline-panel .task-drawer-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.portal-route-loading{padding:6.25rem 1rem 1.5rem}.app-shell.has-sidebar{width:min(calc(100% - 1.5rem),var(--max-width));margin:0 auto;padding:1rem 0 2.5rem;display:block}.app-shell.has-sidebar.is-sidebar-collapsed,:root[data-sidebar-collapsed=true] .app-shell.has-sidebar{padding-left:0}.has-sidebar .app-sidebar,:root[data-sidebar-collapsed=true] .has-sidebar .app-sidebar{position:fixed;top:0;left:0;z-index:80;width:min(88vw,360px);height:100dvh;display:flex;flex-direction:column;align-items:stretch;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:0;transform:translateX(calc(-100% - 1rem));transition:transform .22s ease}.has-sidebar.is-sidebar-collapsed .app-sidebar,:root[data-sidebar-collapsed=true] .has-sidebar .app-sidebar{width:min(88vw,360px);padding-inline:1rem;align-items:stretch}.has-sidebar.is-mobile-sidebar-open .app-sidebar,:root[data-sidebar-collapsed=true] .has-sidebar.is-mobile-sidebar-open .app-sidebar{transform:translateX(0)}.has-sidebar:before{content:"";position:fixed;inset:0;z-index:70;background:rgba(15,34,64,.34);opacity:0;pointer-events:none;transition:opacity .18s ease}.has-sidebar.is-mobile-sidebar-open:before{opacity:1;pointer-events:auto}.has-sidebar .sidebar-head{display:none}.has-sidebar .sidebar-footer,.has-sidebar .sidebar-nav{display:grid;grid-gap:.45rem;gap:.45rem;width:100%;align-items:stretch}.has-sidebar .sidebar-nav-item,.has-sidebar .sidebar-utility-button,.has-sidebar.is-sidebar-collapsed .sidebar-nav-item,.has-sidebar.is-sidebar-collapsed .sidebar-utility-button,:root[data-sidebar-collapsed=true] .has-sidebar .sidebar-nav-item,:root[data-sidebar-collapsed=true] .has-sidebar .sidebar-utility-button{width:100%;height:auto;min-height:44px;justify-content:flex-start;padding:.65rem .75rem;gap:.75rem;text-align:left}.has-sidebar .sidebar-nav-item .sidebar-label,.has-sidebar .sidebar-utility-button .sidebar-label,:root[data-sidebar-collapsed=true] .has-sidebar .sidebar-nav-item .sidebar-label,:root[data-sidebar-collapsed=true] .has-sidebar .sidebar-utility-button .sidebar-label{width:auto;opacity:1;pointer-events:auto;white-space:normal}.has-sidebar.is-sidebar-collapsed .sidebar-nav-icon,.has-sidebar.is-sidebar-collapsed .sidebar-utility-button .sidebar-nav-icon,:root[data-sidebar-collapsed=true] .has-sidebar .sidebar-nav-icon,:root[data-sidebar-collapsed=true] .has-sidebar .sidebar-utility-button .sidebar-nav-icon{width:22px;min-width:22px}.has-sidebar .app-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.85rem;padding-top:.25rem;padding-bottom:1rem;flex-wrap:wrap}.has-sidebar .brand{order:1;flex:1 1 auto;min-width:0}.mobile-sidebar-toggle{display:grid;margin-left:0;order:2}.settings-card{width:min(100%,820px)}.login-layout,.settings-layout{grid-template-columns:1fr}.settings-head,.settings-section-head{flex-direction:column;align-items:stretch}.settings-head-actions{justify-content:flex-start}.settings-link,.settings-submit{min-width:0}.detail-layout,.settings-form-grid,.settings-password-form{grid-template-columns:1fr}.detail-sidebar{position:static}.detail-sidebar-stack{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.detail-sidebar-stack>.customer-hero,.detail-sidebar-stack>.progress-card,.detail-sidebar-stack>.toolbar,.detail-sidebar-stack>.toolbar-actions{grid-column:1/-1}.app-shell:not(.has-sidebar) .app-header,.customer-head,.section-head,.toolbar{flex-direction:column;align-items:stretch}.drawer-head{flex-direction:row;align-items:center}.drawer-head>div{min-width:0}.service-overview-sort{margin-left:0;justify-items:stretch}.overview-search{flex:1 1 240px;width:auto;max-width:none;min-width:0;order:1;margin-top:0}.billing-month-controls{justify-content:stretch;margin-left:0}.billing-month-controls .ghost-button,.billing-month-controls input{flex:1 1 auto}.billing-summary-grid,.mileage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mileage-content-grid{grid-template-columns:1fr}.mileage-side-column{grid-row:2}.mileage-side-create{min-height:44px}.mileage-year-toolbar{justify-content:flex-start}.mileage-detail-panel .detail-grid{grid-template-columns:1fr}.mileage-detail-map,.mileage-detail-map .leaflet-container{height:300px}.billing-section-head{display:grid;align-items:stretch}.billing-section-total{text-align:left}.billing-customer-head{display:grid}.billing-customer-head .activity-group-title{min-width:0;white-space:normal;overflow-wrap:anywhere}.action-row,.activity-summary,.form-actions,.header-actions,.toolbar-actions{width:100%}.activity-group-title{white-space:nowrap}.portal-app-root[data-initial-overview-tab=service] .activity-summary{flex:0 0 auto;width:auto;margin-left:auto;justify-content:flex-end;text-align:right}.has-sidebar .header-actions{width:100%;flex:1 1 100%;order:3;margin-left:0;display:flex;align-items:center;justify-content:flex-end;gap:.65rem}.header-nav-center{width:100%}.has-sidebar .header-utility-group{width:auto;display:flex;margin-left:0;justify-content:flex-end}.header-utility-group{width:auto;margin-left:0;justify-content:flex-end;order:2;flex:0 0 auto}.header-utility-group>*{flex:0 0 auto}.board-header-controls{width:min(100%,520px);flex-wrap:wrap;justify-content:flex-end}.portal-app-root[data-initial-view=board] .board-header-controls,.portal-app-root[data-initial-view=board] .has-sidebar .header-actions,.portal-app-root[data-initial-view=board] .has-sidebar .header-utility-group{width:100%}.portal-app-root[data-initial-view=board] .has-sidebar .header-utility-group{justify-content:stretch}.portal-app-root[data-initial-view=board] .board-header-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;justify-content:stretch;grid-gap:.65rem;gap:.65rem}.board-header-select{width:min(100%,280px);flex:1 1 190px}.portal-app-root[data-initial-view=board] .board-header-select{width:100%;min-width:0}.board-section-actions{justify-content:flex-start}.board-section-head{gap:.85rem}.has-sidebar .header-utility-group>*{flex:0 0 auto}.action-row>*,.form-actions>*,.header-actions>*,.toolbar-actions>*{flex:1 1 auto;min-width:min(100%,150px)}.header-actions{flex:initial;flex-wrap:nowrap}.header-actions>.overview-search{flex-basis:auto;width:100%;font-size:.86rem}.detail-grid,.form-grid,.month-overview-grid.is-expanded,.month-overview-grid.is-sliding,.overview-stat-grid,.stat-grid,.task-drawer-meta{grid-template-columns:1fr 1fr}.month-overview{grid-template-columns:1fr}.detail-grid-sidebar,.detail-sidebar .toolbar-actions,.stat-grid-sidebar{grid-template-columns:1fr 1fr}.customer-dashboard-grid,.dashboard-mini-stats{grid-template-columns:1fr}.attachment-chip,.attachment-link,.service-period-archive-contract,.task-entry-head{flex-direction:column;align-items:stretch}.attachment-chip-actions,.attachment-link-actions{justify-content:flex-start}.overview-search{width:100%}}@media (max-width:680px){body,html{overflow-x:hidden}.activity-row .activity-side .activity-amount{margin-top:10px}.activity-row .activity-side .activity-balance{margin-bottom:10px}.settings-shell{padding:1.25rem .75rem}.login-page-shell,.settings-page-shell{padding-top:1rem}.login-auth-shell{padding:1.25rem .85rem}.login-auth-card{width:min(100%,100%);padding:1.6rem 1.2rem 1.35rem;border-radius:24px}.settings-card{padding:1rem;border-radius:22px}.settings-section-card{padding:1rem;border-radius:18px}.login-page-header .header-actions,.settings-actions,.settings-head-actions,.settings-page-header .header-actions{width:100%}.login-page-header .header-actions>*,.settings-actions>*,.settings-head-actions>*,.settings-page-header .header-actions>*{flex:1 1 auto}.app-shell:not(.has-sidebar){width:min(calc(100% - 1rem),var(--max-width));padding-top:1rem}.app-shell.has-sidebar{width:min(calc(100% - 1rem),var(--max-width));padding-bottom:2rem}.brand-logo-svg{width:min(var(--brand-logo-width),58vw)}.header-actions{gap:.75rem}.header-utility-group{display:grid;grid-template-columns:minmax(0,1fr) 42px 42px minmax(78px,auto);grid-gap:.55rem;gap:.55rem}.has-sidebar .header-utility-group{display:flex;width:auto;margin-left:0;justify-content:flex-end}.header-create-button{min-width:0;padding-inline:.75rem}#headerContextButtonLabel,.headerContextButtonLabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-view-switcher{width:100%}.header-view-switcher .switch-button{flex:1 1 auto}.customer-dashboard-grid,.customer-kind-fields,.dashboard-mini-stats,.detail-grid,.detail-grid-sidebar,.detail-sidebar .toolbar-actions,.detail-sidebar-stack,.form-grid,.month-overview,.overview-stat-grid,.service-period-archive-summary,.stat-grid,.stat-grid-sidebar,.task-drawer-meta,.task-entry-attachments{grid-template-columns:1fr}.activity-group,.customer-hero,.detail-card,.drawer-card,.metric-card,.month-card,.progress-card,.task-list-card,.toolbar{border-radius:14px}.customer-hero,.detail-card,.drawer-card,.metric-card,.month-card,.progress-card,.toolbar{padding:.85rem}.drawer-card:not([hidden]){width:min(100vw - 1rem,720px);max-height:calc(100dvh - 1rem);padding:0}.drawer-card:not([hidden]) .drawer-head{padding:.9rem .95rem .75rem}.drawer-card:not([hidden])>#serviceContractArchive,.drawer-card:not([hidden])>.task-drawer-meta,.drawer-card:not([hidden])>form{padding:.9rem .95rem}.drawer-card:not([hidden]) .form-actions{margin:0 -.95rem -.9rem;padding:.85rem .95rem .9rem}.board-panel,.section-block.board-section{min-height:calc(100dvh - 5rem)}.board-section-head{padding-bottom:.15rem}.board-section-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.board-section-actions .header-create-button,.board-section-actions>*{width:100%}.board-scroll-area{margin-inline:-.25rem}.board-columns{--board-column-gap:0.75rem;grid-auto-columns:minmax(min(82vw,320px),82vw);padding:.1rem .25rem .7rem;scroll-padding-inline:.25rem;scroll-snap-type:x mandatory}.board-column{padding:.7rem;border-radius:14px}.board-card{padding:.78rem;gap:.58rem;border-radius:12px}.board-card-edit-icon{opacity:1;transform:none}.board-reminder-custom,.board-reminder-grid{grid-template-columns:1fr}.board-checklist-item{grid-template-columns:26px minmax(0,1fr)}.board-checklist-item .inline-action{grid-column:2;justify-self:start}.mileage-stop-item{grid-template-columns:26px minmax(0,1fr)}.mileage-date-fields{grid-template-columns:1fr}.mileage-entry-form .mileage-date-fields,.mileage-entry-form .mileage-period-field{grid-column:auto;grid-row:auto;justify-self:stretch;width:100%}.mileage-start-custom-address-field,.mileage-start-saved-address-field,.mileage-stop-item input[type=text],.mileage-stop-item select{grid-column:2}.mileage-start-action-placeholder{display:none}.mileage-stop-item .inline-action{grid-column:2;justify-self:start}.mileage-route-calc-row{display:grid;grid-template-columns:1fr}.mileage-route-map,.mileage-route-map .leaflet-container{height:240px;min-height:220px}.mileage-manual-km{width:100%;max-width:none}#mileageRouteCalculateButton{width:100%;margin-left:0}.board-label-manager{padding:.9rem .95rem}.section-filter,.section-filter select,.toolbar-field,.toolbar-lead,.toolbar-lead-secondary{width:100%;min-width:0}.customer-head{gap:.8rem}.portal-app-root[data-initial-overview-tab=customers] .activity-group-head{flex-direction:column;align-items:stretch}.customer-meta{display:grid;grid-gap:.35rem;gap:.35rem}.dashboard-card-head{gap:.7rem}.service-renewal-badge{justify-content:flex-start}.dashboard-footer,.dashboard-month-row{align-items:flex-start}.dashboard-month-values,.month-overview-nav,.month-overview-toolbar{width:100%}.month-overview-grid.is-expanded,.month-overview-grid.is-sliding{grid-template-columns:1fr}.activity-row{grid-template-columns:auto minmax(0,1fr);gap:.65rem;padding:.8rem .85rem}.activity-main{max-width:100%}.activity-side{grid-column:2/3}.activity-side,.activity-tail{align-items:flex-start;width:100%}.activity-tail{margin-top:.35rem}.activity-actions{justify-content:flex-start;flex-wrap:wrap;gap:.55rem;padding-top:.2rem}.activity-inline-editor,.inline-editor-form,.paired-fields{grid-template-columns:1fr}.activity-inline-editor{padding:0 .85rem .9rem}.activity-date{white-space:normal}.attachment-chip,.attachment-link,.task-entry-head{flex-direction:column;align-items:stretch}.task-list-card table{min-width:720px}.customer-dashboard-card .dashboard-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.service-dashboard-card .dashboard-mini-stats{grid-template-columns:1fr}.service-dashboard-card .dashboard-mini-card:first-child{grid-column:1;grid-row:1}.service-dashboard-card .dashboard-mini-card:nth-child(3){grid-column:1;grid-row:2}.service-dashboard-card .dashboard-mini-card:nth-child(2){grid-column:1;grid-row:3}}@media (max-width:480px){.app-shell:not(.has-sidebar){width:min(calc(100% - .75rem),var(--max-width));padding-bottom:2rem}.activity-group .activity-summary{font-size:2.4vw;justify-content:center}.app-shell.has-sidebar{width:min(calc(100% - .75rem),var(--max-width))}.header-utility-group{grid-template-columns:1fr 42px 42px}.has-sidebar .header-utility-group{display:flex;width:auto;justify-content:flex-end;flex-wrap:nowrap}.has-sidebar .header-utility-group>*{flex:0 0 auto}.portal-app-root[data-initial-view=board] .has-sidebar .header-utility-group{width:100%}.portal-app-root[data-initial-view=board] .board-header-controls{grid-template-columns:minmax(0,1fr) 42px 42px}.portal-app-root[data-initial-view=board] .board-header-controls .header-create-button{width:42px;min-width:42px;padding-inline:0;justify-content:center;gap:0}.portal-app-root[data-initial-view=board] .board-header-controls .header-create-button>span:not(.header-create-icon){display:none}.header-utility-group #headerLogoutButton,.header-utility-group .headerLogoutButton{grid-column:1/-1}.sidebar-footer #headerLogoutButton{grid-column:auto}.view-switcher{width:100%}.switch-button{min-width:0;padding-inline:.65rem;white-space:normal}.customer-hero h2,.drawer-head h2,.section-head h2{overflow-wrap:anywhere}.overview-search .toolbar-field-input,.overview-search input{width:100%}.customer-dashboard-card,.overview-stat-card,.task-entry-card{padding:.85rem}.dashboard-card-head{flex-direction:column;align-items:stretch}.service-dashboard-card{gap:.8rem}.service-dashboard-card .dashboard-special{min-height:0;line-height:1.35}.service-renewal-badge .status-pill,.status-pill{white-space:normal;text-align:center}.dashboard-card-head>.status-pill{width:100%}.portal-app-root[data-initial-overview-tab=service] .activity-summary{display:flex;width:auto;margin-left:auto;justify-content:flex-end}.billing-summary-grid,.mileage-summary-grid{grid-template-columns:1fr}.mileage-month-head{display:grid;grid-gap:.65rem;gap:.65rem;align-items:stretch}.mileage-month-head .activity-summary{width:100%;justify-content:flex-start;gap:.45rem .8rem;font-size:.78rem;white-space:nowrap}.mileage-detail-hero,.mileage-empty-state,.mileage-year-toolbar{flex-direction:column;align-items:stretch}.mileage-detail-actions>*,.mileage-empty-state>*,.mileage-year-toolbar>*{width:100%}.mileage-empty-state{grid-template-columns:1fr}.mileage-empty-icon{width:44px;height:44px}.mileage-year-toolbar{display:grid;grid-template-columns:42px minmax(0,1fr) 42px 42px 42px}.mileage-year-toolbar .ghost-button,.mileage-year-toolbar .header-create-button{min-width:0}.mileage-year-toolbar #mileageEditPeriodButton,.mileage-year-toolbar #mileageNewPeriodButton,.mileage-year-toolbar #mileageNewPeriodButton.header-create-button{width:42px;min-width:42px;padding-inline:0;justify-content:center;gap:0}.mileage-year-toolbar #mileageEditPeriodButton>span,.mileage-year-toolbar #mileageNewPeriodButton>span:not(.header-create-icon){display:none}.mileage-year-toolbar input{width:100%}.mileage-entry-row{grid-template-columns:1fr;gap:.55rem;padding:.85rem}.mileage-entry-main small,.mileage-entry-main strong{white-space:normal}.mileage-entry-values{display:flex;gap:.35rem .75rem;flex-wrap:wrap;justify-items:start;text-align:left}.mileage-side-create,.mileage-side-create.header-create-button{width:100%;min-width:0;justify-content:center;gap:.55rem;padding-inline:.9rem}.mileage-side-create>span:not(.header-create-icon){display:inline}.mileage-detail-map-card,.mileage-route-card{min-height:auto}.mileage-detail-map,.mileage-detail-map .leaflet-container,.mileage-detail-map-empty,.mileage-route-map,.mileage-route-map .leaflet-container{height:220px;min-height:200px}.mileage-address-card,.mileage-side-head{padding-inline:.85rem}.mileage-address-card{display:grid}.mileage-address-actions{justify-content:flex-start}.mileage-waypoint-row{grid-template-columns:28px minmax(0,1fr);gap:.6rem}.mileage-waypoint-index{width:28px;height:28px}.mileage-waypoint-row:before{left:13px;top:28px}.mileage-detail-map,.mileage-detail-map .leaflet-container{height:240px;min-height:220px}.billing-month-controls{display:grid;grid-template-columns:42px minmax(0,1fr) 42px}.billing-month-controls .ghost-button,.billing-month-controls input{width:100%}.billing-month-controls #billingCurrentMonthButton{grid-column:1/-1}.action-row,.activity-inline-task-actions,.form-actions,.toolbar-actions{display:grid;grid-template-columns:1fr}.action-row>*,.activity-inline-task-actions>*,.form-actions>*,.toolbar-actions>*{width:100%}.activity-row{grid-template-columns:1fr}.activity-icon{display:none}.activity-side,.activity-tail{grid-column:auto}.activity-payment-pill{margin-left:0;margin-top:.35rem}.service-period-archive-actions{display:grid;grid-template-columns:1fr}.service-contract-archive-button{width:100%}.task-inline-panel{padding:.85rem}.board-columns{--board-column-gap:0.65rem;grid-auto-columns:min(86vw,340px)}.board-column-head{gap:.55rem;margin-bottom:.6rem}.board-card h4,.board-column-head h3{font-size:.9rem}.board-card-list{gap:.55rem}.board-add-card-button{min-height:2.5rem}.board-card-section-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.board-card-section-toggles button{justify-content:center;padding-inline:.55rem}.board-checklist-head{align-items:flex-start}.customer-dashboard-card .dashboard-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.service-dashboard-card .dashboard-mini-stats{grid-template-columns:1fr}.has-sidebar.is-sidebar-collapsed .app-sidebar,:root[data-sidebar-collapsed=true] .has-sidebar .app-sidebar{width:min(90vw,360px)}}.portal-month-nav{position:relative;display:inline-grid;grid-template-columns:42px minmax(148px,auto) 42px;align-items:center;min-height:42px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 10px 24px rgba(15,34,64,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.portal-month-nav-button,.portal-month-nav-current{min-height:40px;border:0;background:transparent;color:var(--text);cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.portal-month-nav-button{display:grid;place-items:center;border-radius:12px}.portal-month-nav-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.portal-month-nav-current{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-width:148px;padding:0 .95rem;border-inline:1px solid color-mix(in srgb,var(--line) 80%,transparent);font-size:.88rem}.portal-month-nav-current strong{font-size:.9rem;font-weight:800;white-space:nowrap}.portal-month-nav-current .dashboard-icon{width:24px;height:24px}.portal-month-nav-button:hover,.portal-month-nav-current:hover,.portal-month-nav.is-open .portal-month-nav-current{background:var(--surface-soft);color:var(--accent)}.portal-month-nav-button:active,.portal-month-nav-current:active{transform:translateY(1px)}.portal-month-popover{position:absolute;top:calc(100% + .55rem);right:0;z-index:30;width:294px;padding:.75rem;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 22px 48px rgba(15,34,64,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.portal-month-popover-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.portal-month-popover-head strong{color:var(--text);font-size:.8rem}.portal-month-popover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.45rem;gap:.45rem}.portal-month-popover-grid button{min-height:38px;border:1px solid transparent;border-radius:10px;background:var(--surface-soft);color:var(--text);font-size:.82rem;font-weight:800;cursor:pointer}.portal-month-popover-grid button:hover{border-color:var(--line-strong);background:var(--surface)}.portal-month-popover-grid button.is-selected{border-color:var(--brand-bg);background:var(--brand-bg);color:#ffffff}.billing-month-host{display:flex;justify-content:flex-end}.billing-month-controls>.ghost-button,.billing-month-controls>input,.billing-month-controls>label{display:none}@media (max-width:380px){.header-create-button{min-width:42px;width:42px;padding-inline:0;justify-content:center;gap:0}#headerContextButtonLabel,.headerContextButtonLabel{display:none}.header-actions{width:100%}.header-actions>.overview-search,.overview-search{flex:1 1;min-width:0;width:auto}.overview-search{max-width:none}.header-actions>.header-utility-group{flex:0 0 auto;min-width:0}.overview-search .toolbar-field-input,.overview-search input{width:100%}.dashboard-month-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.portal-app-root[data-initial-view=board] .board-header-controls{grid-template-columns:minmax(0,1fr) 40px 40px;gap:.5rem}.portal-app-root[data-initial-view=board] .board-header-controls .header-create-button{width:40px;min-width:40px}.board-section-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.board-section-actions .header-create-button{width:100%;min-width:0;padding-inline:.7rem;justify-content:center;gap:.55rem}.board-section-actions #headerContextButtonLabel,.board-section-actions .header-create-button>span:not(.header-create-icon){display:inline}.board-columns{grid-auto-columns:calc(100vw - 2rem)}.board-column{padding:.62rem}.board-card{padding:.72rem}.board-card-section-toggles{grid-template-columns:1fr}.board-label-row{align-items:stretch}.board-label-row-actions{display:grid;grid-template-columns:1fr;width:100%}}.dashboard-month-nav .dashboard-month-button:hover,.dashboard-month-nav:hover,.dashboard-month-nav:hover strong,.portal-month-nav .portal-month-nav-button:hover,.portal-month-nav .portal-month-nav-current:hover,.portal-month-nav.is-open .portal-month-nav-current{color:var(--text)}.dashboard-month-nav:hover .dashboard-icon,.portal-month-nav .portal-month-nav-current:hover .dashboard-icon,.portal-month-nav.is-open .portal-month-nav-current .dashboard-icon{color:var(--muted)}