/* Shared compact density, applied after feature-specific styles. */
.service-line[data-service-index]{cursor:pointer;border-radius:3px}.service-line[data-service-index]:hover{background:#f0f5ff}.service-line[data-service-index]:focus-visible{outline:2px solid #1765e8;outline-offset:2px}.editor-line.is-target{border-color:#1765e8;background:#f1f6ff;box-shadow:inset 3px 0 #1765e8}.editor-line.is-target:focus{outline:0}
body{font-size:13px;line-height:1.45}
h1{font-size:24px}h2{font-size:15px}h3{font-size:14px}
.shell{grid-template-columns:196px minmax(0,1fr)}
.sidebar{width:196px;padding:24px 14px}.logo{margin:0 10px 30px;font-size:22px}.logo-mark{width:30px;height:30px;border-radius:6px}.nav{gap:4px}.nav a{height:40px;padding:0 12px;gap:10px}.sidebar-bottom{padding:16px 10px 0}
.topbar{height:56px;padding:0 28px}.topbar-right{gap:10px}.avatar{width:28px;height:28px}
.main{padding:22px 28px 32px}.page-heading{margin-bottom:18px;gap:12px}.page-heading p{margin-top:4px;font-size:12px}.actions{gap:8px}
.btn{min-height:34px;padding:0 12px;gap:5px;font-size:12px;border-radius:5px}.btn.icon{width:32px;min-height:32px}.btn.text{min-height:28px}
.vehicle-banner{aspect-ratio:3.1;margin-bottom:16px}.vehicle-banner figcaption{top:24px;left:26px}.vehicle-banner figcaption strong{font-size:36px;margin:7px 0 8px}.banner-credit{bottom:14px;left:26px}
.vehicle-strip{margin-bottom:20px;border-radius:6px}.vehicle-identity{padding:16px 18px;gap:12px}.vehicle-identity h2{font-size:20px}.vehicle-symbol{width:40px;height:40px;font-size:10px}.metric{padding:16px 18px}.metric+.metric:before{top:18px;bottom:18px}.metric-value{font-size:24px;margin-top:3px;line-height:1.25}.metric-foot{margin-top:3px}
.overview-grid{gap:18px}.section{margin-bottom:20px}.section-head{margin-bottom:10px;gap:10px}.surface{border-radius:6px}
.reminder{padding:12px 14px;gap:10px;grid-template-columns:30px minmax(0,1fr) auto}.item-icon{width:30px;height:30px}.reminder h3{margin-bottom:2px}.reminder-end strong{margin-bottom:3px}.badge{padding:2px 7px;font-size:10px}.plan-row{padding:12px 14px;gap:10px}.plan-row p{margin-top:2px}.empty{padding:20px 14px;font-size:12px}.empty-icon{margin-bottom:6px}
.activity{padding:14px}.activity-header{margin-bottom:10px;gap:10px}.activity-header strong{font-size:17px}.activity-header small{margin-top:3px}.amount{font-size:19px}
.service-line{gap:12px;padding:8px 0;align-items:baseline}.service-line .details{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 12px;flex:1}.service-line h3{font-size:13px;line-height:1.55}.service-line p{margin-top:0;font-size:11px;line-height:1.55}.service-line strong{flex-shrink:0;text-align:right;font-size:13px;min-width:58px}.unit-label{font-size:10px;margin-left:6px}.note{padding-top:8px;font-size:11px}.cost-band{padding-top:12px;margin-top:12px}.cost-band strong{font-size:20px}.cost-band small{margin-bottom:3px}.chart-section{padding:16px 16px 32px}.mini-bars{height:60px;margin-top:12px}.footer-note{margin-top:18px;font-size:10px}
.toolbar{margin-bottom:14px;gap:10px}.search input{padding-left:12px}.segments{padding:3px;gap:3px}.segments button{padding:5px 12px;font-size:12px}
.records{column-gap:16px}.record{margin-bottom:16px}.record-top{padding:12px 14px;gap:10px;align-items:baseline}.record-top>div:first-child{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;min-width:0}.record-date{font-size:17px}.record-time{font-size:11px;margin-left:7px}.record-meta{margin-top:0;font-size:11px;overflow-wrap:anywhere}.record-body{padding:0 14px 10px}.record-top .amount{font-size:19px}
.summary-grid{gap:12px;margin-bottom:18px}.summary-grid .surface{padding:16px}.stat-layout{gap:16px}.bar-row{padding:8px 0}.bar-row header{font-size:12px;margin-bottom:5px}.track{height:5px}
.panel{padding:18px;border-radius:6px}.panel h2{margin-bottom:14px}.settings-grid{gap:16px;margin-bottom:18px}.form-grid{gap:12px}.catalog-row{gap:8px;padding:12px 0}.form-actions{margin-top:16px;padding-top:12px}
label{gap:5px;font-size:11px}input,select,textarea{height:36px;padding-left:10px;font-size:13px}select{padding-right:26px}textarea{height:60px;padding-top:8px}
dialog{border-radius:8px;max-height:92dvh}.dialog-head{padding:14px 18px}.dialog-head h2{font-size:18px}.dialog-body{padding:16px 18px}.dialog-footer{padding:12px 18px;gap:12px}.dialog-footer strong{font-size:19px}.editor-section{margin-top:16px;padding-top:16px}.editor-line{padding:12px;margin-top:10px}.editor-line-top,.editor-line-bottom{gap:10px}.editor-line-bottom{margin-top:10px}.labor-billing{padding-top:14px;margin-top:16px;gap:12px}.attachment-section{padding-top:14px;margin:16px 0}.attachment-section .section-head{margin-bottom:8px}.attachment-thumb,.attachment-open{width:76px}.attachment-open{height:62px}.attachment-grid{gap:10px}.attachment-help{margin-top:7px;font-size:10px}.attachment-empty{padding:10px 0}.record-body>.attachment-grid,.activity>.attachment-grid{padding:10px 0}.image-viewer .dialog-head{padding:12px 16px}
@media(min-width:1100px){.dialog-body>.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px) and (min-width:851px){.shell{grid-template-columns:176px minmax(0,1fr)}.sidebar{width:176px;padding:22px 10px}.main{padding:20px}.topbar{padding:0 20px}.metric{padding:14px}.vehicle-identity{padding:14px 16px}}
@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{width:auto;inset:auto 0 0;padding:0 10px calc(6px + env(safe-area-inset-bottom))}.nav{gap:0}.nav a{height:52px;padding:7px 2px 0;gap:3px;font-size:10px}.topbar{height:48px;padding:0 20px}.main{padding:18px 20px 88px}.page-heading h1{font-size:23px}.vehicle-banner{aspect-ratio:2.85}.vehicle-banner figcaption{top:20px;left:22px}.vehicle-banner figcaption strong{font-size:32px}.banner-credit{left:22px}.vehicle-identity{padding:14px 16px}.metric{padding:14px}.metric-value{font-size:22px}.overview-grid{gap:16px}.settings-grid{grid-template-columns:1fr}}
@media(max-width:760px){.overview-grid,.stat-layout{grid-template-columns:1fr;gap:0}.records{columns:1}.catalog-row{row-gap:10px}}
@media(max-width:620px){body{font-size:13px}.main{padding:16px 14px 88px}.topbar{padding:0 16px}.page-heading{margin-bottom:16px;gap:10px}.page-heading h1{font-size:22px}.page-heading p{font-size:11px;margin-top:4px}.page-heading .actions{gap:6px}.page-heading .actions .btn,.btn{min-height:38px;padding:0 10px;font-size:12px}.btn.icon{width:36px;min-height:36px}.btn.text{min-height:32px}.vehicle-banner{aspect-ratio:1.75;margin-bottom:14px}.vehicle-banner figcaption{top:17px;left:18px}.vehicle-banner figcaption strong{font-size:28px;margin:6px 0 7px}.banner-credit{left:18px;bottom:10px}.vehicle-strip{margin-bottom:18px}.vehicle-identity{padding:13px 14px}.vehicle-identity h2{font-size:19px}.metric{padding:13px 9px}.metric-value{font-size:21px}.section{margin-bottom:18px}.section-head{margin-bottom:8px}.reminder{padding:11px 12px;gap:8px}.plan-row{padding:11px 12px}.record-top{padding:11px 12px}.record-date{font-size:17px}.record-top .amount{font-size:19px}.record-body{padding:0 12px 9px}.service-line{padding:8px 0;gap:10px}.service-line .details{column-gap:9px}.service-line h3{font-size:13px}.service-line p{font-size:11px}.service-line strong{font-size:13px}.panel{padding:14px}.summary-grid{gap:8px}.summary-grid .surface{padding:13px 10px}.summary-grid .metric-value{font-size:20px}.settings-grid{gap:14px}.form-grid{gap:10px}.catalog-row{padding:12px 0}.catalog-row label{font-size:11px}input,select,textarea{height:40px;font-size:16px}.segments button{padding:5px 10px}.dialog-head{padding:12px 14px}.dialog-body{padding:14px}.dialog-footer{padding:11px 14px}.dialog-head h2{font-size:17px}.editor-line{padding:10px}.editor-line-top,.editor-line-bottom{gap:9px}.editor-section{margin-top:14px;padding-top:14px}.labor-billing{gap:10px}.attachment-section{margin:14px 0;padding-top:12px}.attachment-section .btn{min-height:36px}.attachment-thumb,.attachment-open{width:72px}.attachment-open{height:60px}.attachment-help{font-size:10px;line-height:1.6}.footer-note{line-height:1.6}.form-actions{padding-top:12px;margin-top:14px}}
@media(max-width:380px){.metric-value,.summary-grid .metric-value{font-size:18px}.metric{padding:12px 8px}.page-heading h1{font-size:21px}.record-top{gap:7px}.record-date{font-size:16px}.record-top .amount{font-size:17px}.form-grid{grid-template-columns:1fr}}
