/* SMH: a calm publishing desk. All visual decisions live in these tokens. */
.vehicle-cover{width:100%;max-height:220px;object-fit:contain;background:var(--paper);border-radius:var(--radius-sm)}
.vehicle-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vehicle-facts dd{overflow-wrap:anywhere}
.vehicle-preview-photos{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding-bottom:8px}.vehicle-preview-photos img{width:160px;height:120px;object-fit:contain}
.vehicle-upload-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:8px 0}.vehicle-group-share{border-top:var(--border);margin-top:16px}
:root {
  --ink:#182d43; --muted:#516377; --paper:#f2f5f9; --surface:#fff;
  --nav:#19344d; --nav-text:#f2f7fc; --nav-muted:#c6d6e5; --nav-hover:#ffffff12; --nav-line:#ffffff30;
  --accent:#125e86; --accent-hover:#0c4565; --tint:#e7f1f8;
  --line:#d2dce6; --input-line:#8193a5; --success:#20573d; --success-bg:#e6f3eb;
  --warning:#734600; --warning-bg:#fff3d8; --warning-line:#d8b76b;
  --danger:#922e2e; --danger-bg:#fcebea; --focus:#a24900;
  --neutral-bg:#e9edf2; --brand-auto:#e7f1f8; --brand-bar:#f4eaf5; --brand-app:#e6f3eb;
  --brand-auto-ink:#125e86; --brand-bar-ink:#683e73; --brand-app-ink:#20573d;
  --disabled:#e3e9ee; --shadow:0 8px 28px #19344d0d;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px; --space-7:48px;
  --border:1px solid var(--line); --input-border:1px solid var(--input-line);
  --radius-sm:6px; --radius:12px; --radius-lg:20px; --radius-round:999px;
  --text-sm:.875rem; --text-md:1rem; --text-base:1rem; --text-lg:1.25rem;
  --title:1.75rem; --title-desktop:2rem; --touch:44px; --content:1320px;
  --font:system-ui,-apple-system,"Segoe UI","PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;
  font-family:var(--font); font-size:16px; line-height:1.65; color:var(--ink); background:var(--paper);
}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:4px;overflow-wrap:anywhere}a:hover{color:var(--accent-hover)}
header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface);border-bottom:var(--border);flex-wrap:wrap}
.wordmark{display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch);font-weight:800;font-size:var(--text-lg);text-decoration:none;color:var(--nav)}.wordmark span{font-weight:500;font-size:var(--text-sm)}header .badge{margin-left:auto}header button{padding:var(--space-2) var(--space-3)}
.shell{max-width:var(--content);margin:auto}aside{padding:var(--space-4);background:var(--nav);color:var(--nav-text)}aside .eyebrow{color:var(--nav-muted)}.brand-name{display:block;font-size:var(--text-lg);overflow-wrap:anywhere}.brand-type{font-size:var(--text-sm);color:var(--nav-muted)}
aside a{color:var(--nav-text)}aside a:hover{color:var(--nav-text);background:var(--nav-hover)}aside :focus-visible{outline-color:var(--warning-line)}
.quick-nav{display:flex;gap:var(--space-4)}.quick-nav a{display:inline-flex;align-items:center;min-height:var(--touch);font-size:var(--text-md)}
.nav-menu{border-top:1px solid var(--nav-line);margin-top:var(--space-2)}.nav-menu summary{font-size:var(--text-md)}nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-2)}nav a{display:flex;align-items:center;min-height:var(--touch);padding:var(--space-2);font-size:var(--text-md);border-radius:var(--radius-sm);text-decoration:none}nav a[aria-current=page]{background:var(--tint);color:var(--ink);font-weight:700}
main{padding:var(--space-5) var(--space-4) var(--space-7);min-width:0}h1{font-size:var(--title);line-height:1.35;letter-spacing:-.025em;margin:0 0 var(--space-4);text-wrap:balance}h2{font-size:var(--text-lg);line-height:1.5;margin:0 0 var(--space-3)}h3{font-size:var(--text-base);margin:0 0 var(--space-2)}p{margin:var(--space-2) 0 var(--space-4)}.eyebrow{font-size:var(--text-sm);font-weight:700;color:var(--muted);margin:0 0 var(--space-2)}small,.hint,.muted{color:var(--muted)}.hint,small{font-size:var(--text-sm)}
.page-help{display:flex;align-items:flex-start;gap:var(--space-3);margin:0 0 var(--space-5);padding-bottom:var(--space-3);border-bottom:var(--border);font-size:var(--text-md);color:var(--muted)}.page-help p{margin:0;flex:1}.page-help a{flex:none;display:flex;align-items:center;min-height:var(--touch);font-weight:650}
.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);margin:var(--space-5) 0}.panel{min-width:0;background:var(--surface);border:var(--border);border-radius:var(--radius);padding:var(--space-4);margin:var(--space-5) 0}.grid>.panel{margin:0}.panel,.post-text,pre,dd,.notice,.warning,.attempt{overflow-wrap:anywhere}
.badge{display:inline-block;max-width:100%;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--tint);color:var(--accent);font-size:var(--text-sm);font-weight:650;overflow-wrap:anywhere}.panel>.badge:first-child{margin-bottom:var(--space-3)}
.notice,.warning,.delivery-banner{padding:var(--space-4);border-radius:var(--radius-sm);margin:var(--space-4) 0;font-size:var(--text-md)}.notice{background:var(--success-bg);color:var(--success);border-left:4px solid var(--success)}.warning,.delivery-banner{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-line)}.delivery-banner{border-left:4px solid var(--warning);margin-bottom:var(--space-5)}.delivery-banner p:last-child,.notice p:last-child{margin-bottom:0}.state-succeeded{background:var(--success-bg);color:var(--success)}.state-failed,.state-blocked{background:var(--danger-bg);color:var(--danger)}.state-uncertain,.state-partial{background:var(--warning-bg);color:var(--warning)}
label{display:block;font-weight:600;font-size:var(--text-md);margin:var(--space-4) 0}input,select,textarea,button{font:inherit;max-width:100%;min-width:0}input,select,textarea{display:block;width:100%;min-height:var(--touch);margin-top:var(--space-2);padding:var(--space-3);border:var(--input-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--text-base)}textarea{resize:vertical}input[type=file]{padding:var(--space-2);font-size:var(--text-sm)}input::file-selector-button{min-height:var(--touch);font:inherit;margin-right:var(--space-2);border:var(--input-border);border-radius:var(--radius-sm);background:var(--tint);color:var(--ink)}
button,.button{display:inline-flex;justify-content:center;align-items:center;min-height:var(--touch);border:1px solid var(--accent);background:var(--accent);color:var(--surface);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);text-decoration:none;font-weight:650;cursor:pointer;white-space:normal;text-align:center;overflow-wrap:anywhere;max-width:100%}button{background:var(--surface);color:var(--accent)}button.primary{background:var(--accent);color:var(--surface)}button:hover,.button:hover{background:var(--accent-hover);color:var(--surface)}.secondary{background:var(--surface);color:var(--accent)}.danger{background:var(--surface);color:var(--danger);border-color:var(--danger);margin:var(--space-2) 0}.danger:hover{background:var(--danger)}button:disabled{background:var(--disabled);color:var(--muted);border-color:var(--line);cursor:not-allowed}input:disabled{cursor:not-allowed}
.actions,.page-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center;margin:var(--space-4) 0}.actions>*{min-width:0}.page-actions>a{min-height:var(--touch);display:inline-flex;align-items:center}.check{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--touch);padding:var(--space-3) 0;cursor:pointer}.check input{flex:0 0 22px;width:22px;height:22px;min-height:22px;margin-top:var(--space-1);accent-color:var(--accent)}fieldset{min-width:0;border:var(--border);border-radius:var(--radius-sm);margin:var(--space-5) 0;padding:var(--space-3)}legend{font-weight:650;max-width:100%}
.identity{display:flex;gap:var(--space-3);align-items:center;margin:var(--space-4) 0}.identity strong{min-width:0;overflow-wrap:anywhere}.avatar{width:var(--touch);height:var(--touch);border-radius:var(--radius-round);background:var(--tint);display:grid;place-items:center;flex-shrink:0}.post-text{white-space:pre-wrap;font-size:var(--text-md)}.media-placeholder{display:grid;place-items:center;min-height:130px;text-align:center;padding:var(--space-3);border:1px dashed var(--input-line);border-radius:var(--radius-sm);background:var(--paper);color:var(--muted);margin-top:var(--space-4);font-size:var(--text-sm)}
.approval,.attempt,.row{border-top:var(--border);padding-top:var(--space-4);margin-top:var(--space-4)}.approval p{margin:var(--space-2) 0}.empty{padding:var(--space-5);color:var(--muted);border:1px dashed var(--input-line);border-radius:var(--radius);background:var(--surface)}summary{cursor:pointer;min-height:var(--touch);padding:var(--space-2) 0;font-weight:650}dt{font-weight:650}dd{margin:0 0 var(--space-3)}pre{white-space:pre-wrap;font:inherit}.tabs{display:flex;flex-wrap:wrap}.tabs a{padding:var(--space-2) var(--space-4);border:var(--border);border-radius:var(--radius-sm);background:var(--surface)}
footer{text-align:center;padding:var(--space-5) var(--space-4);border-top:var(--border);font-size:var(--text-sm);color:var(--muted)}.skip{position:fixed;left:var(--space-2);top:-100px;background:var(--surface);padding:var(--space-3);z-index:3}.skip:focus{top:var(--space-2)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[id]{scroll-margin-top:var(--space-5)}
.auth-shell{max-width:460px;margin:var(--space-5) auto;padding:var(--space-5);background:var(--surface);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.auth-shell button{width:100%;margin:var(--space-2) 0 var(--space-4)}
.table-scroll{max-width:100%;overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%}.table-scroll th,.table-scroll td{text-align:left;vertical-align:top;padding:var(--space-3);border-bottom:var(--border)}
.media-thumb{display:block;width:96px;height:72px;object-fit:contain;border-radius:var(--radius-sm)}.media-image{display:block;width:100%;height:220px;object-fit:contain}.check:has(.media-thumb){min-height:88px}
.checklist-title{margin-top:var(--space-5)}.checklist{list-style:none;padding:0;margin:0}.checklist li{display:flex;align-items:center;gap:var(--space-2);border-top:var(--border);padding:var(--space-2) 0;font-size:var(--text-md)}.checklist a{flex:1;min-height:var(--touch);display:flex;align-items:center}.step-mark{display:grid;place-items:center;border:var(--input-border);border-radius:var(--radius-round);width:28px;height:28px;flex-shrink:0;font-size:var(--text-sm)}[data-complete=true] .step-mark{color:var(--success);background:var(--success-bg);border-color:var(--success)}
.guide{max-width:760px}.guide section{padding:var(--space-5) 0;border-bottom:var(--border)}.guide section h2{font-size:var(--title)}.guide li{margin-bottom:var(--space-3)}.guide ol,.guide ul{padding-left:var(--space-5)}.guide-index{padding:var(--space-4);background:var(--surface);border:var(--border);border-radius:var(--radius)}.guide-index a{min-height:var(--touch)}.guide a:not(.button){display:inline-block;min-height:var(--touch);padding:var(--space-2) 0}.guide-index a{display:flex}.guide details{padding:var(--space-3) 0;border-top:var(--border)}
@media(min-width:800px){.shell{display:grid;grid-template-columns:224px minmax(0,1fr)}aside{padding:var(--space-5) var(--space-4)}nav{grid-template-columns:1fr}.nav-menu>summary{display:none}.nav-menu:not([open])>nav{display:grid}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:var(--space-6)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-5)}h1{font-size:var(--title-desktop)}header{padding:var(--space-3) var(--space-6)}.panel{padding:var(--space-5)}.auth-shell{margin-top:var(--space-7)}.guide-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* T25 UI-01: a 56px identity row and 53px native-disclosure toolbar. */
.icon{width:24px;height:24px;flex:0 0 24px;fill:none;stroke:currentColor;vertical-align:middle}
.brand-bar,.auth-header{min-height:56px;padding:5px var(--space-4);gap:var(--space-2)}
.brand-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;background:var(--nav);color:var(--nav-text)}
.brand-bar a{color:var(--nav-text)}.brand-bar a:hover{background:var(--nav-hover)}.brand-bar :focus-visible{outline-color:var(--warning-line)}
.brand-bar .wordmark,.auth-header .wordmark{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;font-size:var(--text-base);line-height:1.3}
.wordmark span{font-size:var(--text-sm)}.brand-identity{min-width:0;padding-inline:var(--space-2);border-left:1px solid var(--nav-line)}
.brand-name{font-size:var(--text-base);line-height:1.4}.brand-type{display:block;line-height:1.3}
.brand-switch{display:flex;align-items:center;gap:var(--space-1);min-height:44px;min-width:44px;text-decoration:none;font-size:var(--text-md)}
.desktop-nav{display:none}.workspace{min-width:0}
.page-tools{position:relative;display:flex;align-items:flex-start;justify-content:space-between;min-height:53px;padding:var(--space-1) var(--space-4);background:var(--surface);border-bottom:var(--border);gap:var(--space-2)}
.page-tools>a,.page-tools summary{display:flex;align-items:center;gap:var(--space-2);min-height:44px}
.nav-menu{margin:0;border:0}.nav-menu summary{list-style:none;padding:0 var(--space-1)}.nav-menu summary::-webkit-details-marker{display:none}
.nav-menu[open] summary{background:var(--tint);border-radius:var(--radius-sm)}
.nav-menu:not([open]) .menu-panel{display:none}
.menu-panel{position:absolute;left:0;right:0;top:100%;z-index:5;padding:var(--space-3) var(--space-4);background:var(--nav);color:var(--nav-text);box-shadow:var(--shadow);max-height:calc(100dvh - 112px);overflow-y:auto}
.menu-panel a{color:var(--nav-text)}.menu-panel a:hover{background:var(--nav-hover)}.menu-panel :focus-visible{outline-color:var(--warning-line)}
.desktop-nav nav,.menu-panel nav{margin:0}.desktop-nav nav a,.menu-panel nav a{gap:var(--space-2)}
.desktop-nav form,.menu-panel form{margin-top:var(--space-4)}
/* Keep contextual help links; remove repeated introductory copy from the layout. */
.page-help{justify-content:flex-end;margin:0 0 var(--space-2);padding:0;border:0}.page-help p{display:none}
@media(min-width:800px){
  .shell{grid-template-columns:200px minmax(0,1fr)}
  .desktop-nav{display:block;padding:var(--space-5) var(--space-3)}.desktop-nav nav{grid-template-columns:1fr}
  .brand-bar,.auth-header{padding-inline:var(--space-5)}.brand-bar{grid-template-columns:176px minmax(0,1fr) auto}
  .brand-identity{display:flex;align-items:center;gap:var(--space-3);border:0}.brand-name{font-size:var(--text-lg)}
  .page-tools{padding-inline:var(--space-6)}.page-tools .nav-menu{display:none}
}

/* T25 UI-02: one submit owns the original form, including closed disclosures. */
html:has(.card-page){scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom))}
.card-page :is(input,select,textarea,button,a,summary){scroll-margin-block:var(--space-5) 112px}
.card-page main{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
.card-page main>.notice{padding:var(--space-2) var(--space-3);margin:0 0 var(--space-3)}
.card-page footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}
.card-heading h1{margin:0}.card-heading .page-help{flex:none;margin:0}
.card-context{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2)}
.card-context a{display:flex;align-items:center;min-height:44px}
#card-form{margin-top:var(--space-4)}
#card-form .card-basic,#card-form .card-condition{border:0;padding:0;margin:0 0 var(--space-5)}
#card-form .card-condition{border-top:var(--border);padding-top:var(--space-4)}
#card-form legend{font-size:var(--text-lg)}
#card-form .hint{display:block;margin-top:var(--space-2)}
#card-form label .hint{font-weight:400;line-height:1.5;margin-top:var(--space-1)}
#card-form .card-basic label{margin:var(--space-2) 0}
#card-form .card-basic :is(input,select){margin-top:var(--space-1);padding:var(--space-2) var(--space-3);min-height:var(--touch)}
.card-advanced{border-top:var(--border);padding-top:var(--space-2)}
.full-field{grid-column:1/-1}
.bottom-actions{position:fixed;bottom:0;left:0;right:0;z-index:4;padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--surface);border-top:var(--border)}
.bottom-inner{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);max-width:1036px;margin:auto}
.bottom-inner .button,.bottom-inner button{min-height:48px}.bottom-inner .primary{flex:1}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:800px){
  .bottom-actions{left:max(200px, calc((100vw - 1320px)/2 + 200px));right:max(0px, calc((100vw - 1320px)/2));padding-inline:var(--space-6)}
  .bottom-inner .primary{flex:0 1 auto;min-width:190px}
}
/* Enhanced focus fallback preserves the action position while moving focus to Save. */
@media(max-width:799px){
  .card-page.card-editing .bottom-actions{position:static}
}
@media(max-height:500px){
  .bottom-actions{position:static}.card-page main,.card-page footer{padding-bottom:var(--space-5)}
  html:has(.card-page){scroll-padding-bottom:var(--space-5)}
}

/* T26: the publishing flow is the primary navigation; other tools are native disclosures. */
.desktop-nav nav,.menu-panel nav{grid-template-columns:1fr}
.nav-flow h2{font-size:var(--text-base);margin:0 var(--space-2) var(--space-2)}.nav-more{border-top:1px solid var(--nav-line);margin-top:var(--space-3)}
.nav-more>summary{padding:var(--space-2);list-style:revert;color:var(--nav-text)}
.nav-menu .nav-more:not([open])>a{display:none}.nav-menu .nav-more>summary{display:list-item;background:transparent}
.flow-nav{display:block;overflow-x:auto;overscroll-behavior-inline:contain;background:var(--surface);border-bottom:var(--border);margin:0;padding:var(--space-1) var(--space-4)}
.flow-nav ol{display:flex;gap:var(--space-2);list-style:none;margin:0;padding:0;min-width:max-content}
.flow-nav li{flex:1}.flow-nav a{display:grid;grid-template-columns:auto auto;column-gap:6px;min-height:54px;padding:var(--space-1) var(--space-2);white-space:nowrap;font-size:var(--text-sm)}
.flow-nav small{grid-column:2;font-size:var(--text-sm)}.flow-nav a[aria-current=step]{background:var(--tint);color:var(--accent);box-shadow:inset 0 -3px var(--accent);font-weight:700}
.flow-progress{list-style:none;padding:0;margin:var(--space-4) 0}.flow-progress li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-top:var(--border)}
.flow-progress small{margin-left:auto}.flow-progress [data-status=目前]{font-weight:700;color:var(--accent)}
.next-action{display:flex;width:100%;min-height:48px}
.management-progress{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3)}.management-progress li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-3);border-top:var(--border);padding-top:var(--space-3)}
.management-progress span{grid-column:1;font-size:var(--text-sm);color:var(--muted)}.management-progress a{grid-column:2;grid-row:1/3}
#staff-schedules .button{margin:var(--space-1)}.guide-steps img{display:block;width:100%;max-width:375px;height:auto;border:var(--border);border-radius:var(--radius-sm)}
.guide .flow-table{table-layout:fixed;font-size:var(--text-sm)}.flow-table th:first-child{width:30%}.flow-table th:last-child{width:23%}.guide .flow-table :is(th,td){padding:var(--space-2);overflow-wrap:anywhere}
@media(min-width:800px){.flow-nav{padding-inline:var(--space-6)}.flow-nav ol{min-width:0}.flow-nav a{justify-content:center}}

.nav-flow a[aria-current=step]{background:var(--tint);color:var(--ink);font-weight:700}

/* T29: one vehicle per card on phones; a semantic table on desktop. */
.garage-filters{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-3);margin-bottom:var(--space-5)}
.garage-filters label{flex:1 1 200px;margin:0}.garage-filters button{margin-bottom:0}
.garage-table{width:100%;border-collapse:collapse;table-layout:fixed}
.garage-table th,.garage-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:var(--space-3);border-bottom:var(--border)}
.garage-table th:first-child{width:16%}.garage-table th:nth-child(2){width:7%}.garage-table th:nth-child(3){width:12%}
.garage-table th:nth-child(4){width:11%}.garage-table th:nth-child(5){width:8%}.garage-table th:nth-child(6){width:17%}
.garage-table th:nth-child(7){width:6%}.garage-table th:last-child{width:23%}
.garage-table small{display:block}.garage-actions form+form{margin-top:var(--space-3)}
.garage-actions .check{margin-top:0}.garage-actions .check input{flex-shrink:0}
@media(max-width:799px){
 .garage-table,.garage-table tbody{display:block}.garage-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .garage-table tr{display:block;border:var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--space-3);margin-bottom:var(--space-4)}
 .garage-table th,.garage-table td{display:grid;grid-template-columns:100px minmax(0,1fr);gap:var(--space-2);width:100%!important;padding:var(--space-2);border:0}
 .garage-table th::before,.garage-table td::before{content:attr(data-label);font-weight:600;color:var(--muted)}
 .garage-table .garage-actions{display:block;border-top:var(--border);margin-top:var(--space-2)}
 .garage-actions::before{display:none}.garage-actions button{width:100%}
}
/* Photo library: image-led, one column first; preserve the shared design tokens. */
.photo-cards, .photo-assets { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.photo-card { min-width: 0; overflow-wrap: anywhere; }
.photo-card > img, .photo-asset > img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
.photo-asset { min-width: 0; }
.photo-asset .check { min-height: 44px; }
.photo-card h3 { white-space: pre-wrap; }
@media (min-width: 640px) {
  .photo-cards, .photo-assets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .photo-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .photo-assets { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* T35: whole-card links and native disclosure work without JavaScript. */
.task-types { display: grid; gap: var(--space-3); margin-block: var(--space-3) var(--space-4); }
.task-type { display: grid; gap: var(--space-2); padding: var(--space-4); min-height: var(--touch); border: var(--input-border); border-radius: var(--radius); background: var(--surface); text-decoration: none; color: var(--ink); overflow-wrap: anywhere; }
.task-type strong { color: var(--accent); font-size: var(--text-lg); }
.task-type:hover { background: var(--tint); border-color: var(--accent); }
.task-type:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.other-task-types { margin-top: var(--space-4); }

/* Shared state language: text and a local icon always accompany semantic colour. */

.status-badge{display:inline-flex;align-items:center;gap:var(--space-2);vertical-align:middle;line-height:1.5}
.status-badge .icon{width:20px;height:20px;flex-basis:20px}
.tone-info{color:var(--accent);background:var(--tint)}
.tone-success{color:var(--success);background:var(--success-bg)}
.tone-warning{color:var(--warning);background:var(--warning-bg)}
.tone-danger{color:var(--danger);background:var(--danger-bg)}
.tone-neutral{color:var(--muted);background:var(--neutral-bg)}
.feedback{padding:var(--space-2) var(--space-3);margin:0 0 var(--space-4);border-inline-start:4px solid currentColor;border-radius:var(--radius-sm);overflow-wrap:anywhere}
.empty-art{display:block;width:64px;height:64px;fill:none;stroke:currentColor;color:var(--accent);margin-bottom:var(--space-3)}

/* UI-05: DOM order stays edit, preview, confirmation on both viewport sizes. */
.work-split{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);align-items:start}
.work-split>*,.preview-list{min-width:0}.work-split .panel:first-child{margin-top:0}
.preview-list{display:grid;gap:var(--space-4);margin-block:var(--space-4)}.preview-list>.panel{margin:0}
.post-text{line-height:1.8}.mobile-jump{display:inline-flex;align-items:center;min-height:var(--touch)}
.action-page main,.action-page footer{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
html:has(.action-page){scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom))}
.action-page :is(input,select,textarea,button,a,summary){scroll-margin-block:var(--space-5) 112px}
.action-hint{display:none}.review-summary h2{margin-top:var(--space-5)}.review-summary h2:first-child{margin-top:0}
.summary-list{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2) var(--space-4)}
.summary-list dd{margin:0 0 var(--space-3)}
@media(min-width:1100px){.work-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mobile-jump{display:none}.action-hint{display:block;margin-right:auto}}
@media(max-width:799px){.action-page.card-editing .bottom-actions{position:static}}
@media(max-height:500px){.action-page main,.action-page footer{padding-bottom:var(--space-5)}}
.error-summary{padding:var(--space-4);border:2px solid var(--danger);border-radius:var(--radius);margin-bottom:var(--space-5)}
.error-summary a{color:var(--danger);display:inline-flex;min-height:var(--touch);align-items:center}
.field-error{display:block;color:var(--danger);font-size:var(--text-sm);font-weight:600}
[aria-invalid=true]{border-color:var(--danger);border-width:2px}

.action-warning{display:block;color:var(--warning)}.bottom-inner:has(.action-warning){flex-wrap:wrap}.action-warning{flex-basis:100%}

/* UI-06: sign in first on phones; useful orientation alongside on desktop. */
.login-intro{display:none}.login-other{border-top:var(--border);margin-block:var(--space-4)}
.login-page .auth-shell{margin:var(--space-5) var(--space-4);padding:var(--space-5)}
.login-page .auth-shell>p{margin-bottom:var(--space-3)}
.guide-layout{display:grid;gap:var(--space-5);align-items:start}.guide-layout>*{min-width:0}
.guide-layout>.guide-index{margin:0;grid-template-columns:1fr;gap:0}
.guide-layout .guide{max-width:none}.guide-layout .guide section:first-of-type{padding-top:var(--space-3)}
.guide-layout .guide section h2{font-size:var(--text-lg)}
.guide-shot{margin:var(--space-5) 0;max-width:375px;min-width:0}
.guide .guide-shot a{display:block;padding:0;min-height:0;border-radius:var(--radius-sm)}
.guide-shot img{display:block;width:100%;max-width:100%;height:auto;border:var(--border);border-radius:var(--radius-sm)}
.guide-shot figcaption{margin-top:var(--space-2);line-height:1.6;overflow-wrap:anywhere}
@media(min-width:800px){
 .login-page .auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:center;gap:var(--space-7);max-width:1080px;margin:var(--space-7) auto;padding:var(--space-5)}
 .login-intro{display:block}.login-intro h2{font-size:var(--title-desktop);line-height:1.4}
 .login-page .auth-shell{width:100%;margin:0;padding:var(--space-6)}
 .login-steps{padding:0;list-style:none;margin:var(--space-6) 0 0;display:grid;gap:var(--space-4)}
 .login-steps li{display:flex;gap:var(--space-4);align-items:start}.login-steps li>span{display:grid;place-items:center;flex:0 0 var(--touch);height:var(--touch);background:var(--tint);color:var(--accent);border-radius:var(--radius)}
 .login-steps p{font-size:var(--text-sm);color:var(--muted);margin:0}
}
@media(min-width:1100px){.guide-layout{grid-template-columns:220px minmax(0,1fr)}.guide-layout>.guide-index{position:sticky;top:var(--space-5)}}

/* UI-07: summaries precede forms; consequential actions have a separate boundary. */
.account-summary{margin-block:var(--space-4);padding-bottom:var(--space-3);border-bottom:var(--border)}
.account-summary h3{font-size:var(--text-lg)}.account-summary .feedback{margin-top:var(--space-3)}
.brand-checks .check{border:var(--border);border-radius:var(--radius-sm);padding:var(--space-3);margin:var(--space-2) 0;background:var(--surface)}
.brand-checks .check:has(:checked){background:var(--tint);border-color:var(--accent)}
.danger-zone{border-top:1px solid var(--danger);margin-top:var(--space-5);padding-top:var(--space-3);width:100%}
.danger-zone>summary{color:var(--danger)}.staff-details{border-top:var(--border);padding-top:var(--space-2);margin-top:var(--space-4)}

/* Product-wide hierarchy and brand accents; all component colours use root tokens. */
input[type=number],input[type=datetime-local],.summary-list,.table-scroll,.garage-table{font-variant-numeric:tabular-nums}
.button{background:var(--surface);color:var(--accent)}.button.primary{background:var(--accent);color:var(--surface)}
.brand-accent-auto{color:var(--brand-auto-ink);background:var(--brand-auto)}
.brand-accent-bar{color:var(--brand-bar-ink);background:var(--brand-bar)}
.brand-accent-app{color:var(--brand-app-ink);background:var(--brand-app)}
.brand-type{padding-inline:var(--space-2);border-radius:var(--radius-sm);width:fit-content}
.task-type[data-kind=vehicle]{border-inline-start:4px solid var(--brand-auto-ink);background:var(--brand-auto)}
.task-type[data-kind=event]{border-inline-start:4px solid var(--brand-bar-ink);background:var(--brand-bar)}
.task-type[data-kind=app_feature]{border-inline-start:4px solid var(--brand-app-ink);background:var(--brand-app)}
.empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);margin-block:var(--space-4)}
.empty p{margin:0}.empty>.icon{width:64px;height:64px;flex-basis:64px;color:var(--accent)}
.panel .panel{box-shadow:none}.preview .media-placeholder{background:var(--paper)}
button:focus-visible,.button:focus-visible{outline-offset:4px}
.auth-shell :is(a,summary){min-height:var(--touch)}.auth-shell a{display:inline-flex;align-items:center}

main a:not(.skip){min-height:var(--touch);display:inline-flex;align-items:center}
@media(min-width:1100px){main a.mobile-jump{display:none}}
/* T37: shared account setup guidance, using the existing mobile-first tokens. */
.no-page { margin-block: var(--space-4); overflow-wrap: anywhere; }
.no-page-options { display: grid; gap: var(--space-4); }
.no-page-options h3 { margin-top: 0; }
.no-page-options form { margin: 0; }
.no-page-steps { padding-left: var(--space-5); margin-bottom: 0; }
.no-page textarea { width: 100%; resize: vertical; }
.no-page [data-copy-owner] { margin-top: var(--space-3); }
.no-page [data-copy-owner][hidden] { display: none; }
[data-ig-schedule][hidden] { display: none; }
@media (min-width: 800px) {
  .no-page-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
:root { --page-image-height: 220px; }
.page-images, .page-comparison { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.page-images figure { margin: 0; min-width: 0; }
.page-image { display: block; max-width: 100%; max-height: var(--page-image-height); object-fit: contain; margin-block: var(--space-3); }
.page-value { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (min-width: 800px) { .page-images, .page-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.line-menu-preview { display: block; width: 100%; height: auto; border-radius: var(--radius-sm); }
.line-account { grid-column: 1 / -1; }
.line-menu-confirm { margin-bottom: var(--space-3); }
.line-information { margin-block: var(--space-5); }
.setup-steps li { margin-block: var(--space-3); }

/* Threads media stay inside the 375px content column. */
.threads-media { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-2); }
.threads-media img, .threads-media video { width: 100%; max-width: 100%; border-radius: var(--radius-sm); object-fit: cover; aspect-ratio: 1; }
.threads-media > :only-child { grid-column: 1 / -1; }
/* T42: private production review, using the existing visual tokens. */
.factory-fields,.factory-review-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4,16px)}
.factory-video {width:100%;max-height:65vh;background:var(--neutral-bg);border-radius:12px}
.factory-thumbnail {display:block;max-width:100%;max-height:180px;object-fit:contain}
.factory-check {min-width:0;padding:var(--space-4,16px);border:1px solid var(--line);border-radius:12px}
.factory-check code,.factory-cue,.factory-copy,main code {overflow-wrap:anywhere;white-space:pre-wrap}
.factory-cue {border-bottom:1px solid var(--line);padding-block:var(--space-3,12px)}
@media(min-width:800px){.factory-fields {grid-template-columns:repeat(2,minmax(0,1fr))}.factory-review-grid {grid-template-columns:repeat(3,minmax(0,1fr))}}
.export-panel { scroll-margin-top: var(--space-4); }
.export-options { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: end; }
.export-options label { flex: 1 1 220px; min-width: 0; margin: 0; }
.export-part { margin-block: var(--space-5); }
.export-part textarea { width: 100%; overflow-wrap: anywhere; }
.export-panel [hidden] { display: none; }
.quick-schedule { scroll-margin-top: var(--space-4); }
.quick-schedule [hidden] { display: none; }
[data-rotation-time][hidden] { display: none; }
.quick-account { margin-block: var(--space-3); overflow-wrap: anywhere; }
.quick-schedule .check { min-height: 44px; gap: 12px; }
.quick-schedule button { width: 100%; min-height: 44px; }
.quick-schedule input[type="datetime-local"] { min-width: 0; width: 100%; }
.export-event + .export-event { border-top: 1px solid var(--line); padding-top: var(--space-3); }

.media-pick{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);border-bottom:var(--border)}.media-pick .check{flex:1 1 220px}.media-order{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.media-order[hidden],.media-order [hidden]{display:none}.media-order button{min-height:var(--touch);padding:var(--space-1) var(--space-3)}
