/* Shared workspace: presentation only; business state remains server-owned. */
:root { --muted:#596273; --line:#dfe3eb; --canvas:#f6f7fb; }
body { background:var(--canvas); }
.page { gap:24px; padding-top:28px; }
.page > header,.page-head { padding-bottom:18px; border-bottom:1px solid var(--line); }
.context-line { line-height:1.6; }
.page-title { margin-top:4px; overflow-wrap:anywhere; }
.topbar { background:var(--dk-surface, #fff); }
.side-nav a[aria-current="page"] { box-shadow:inset 3px 0 var(--brand); }
.uat-role-banner { display:block; padding:0 24px; border-bottom:1px solid var(--dk-wait-line, #ddc884); background:var(--dk-wait-soft, #fff8e6); }
.uat-role-banner > summary { display:flex; align-items:center; gap:10px; min-height:44px; cursor:pointer; list-style:none; font-size:14px; }
.uat-role-banner > summary::-webkit-details-marker { display:none; }
.uat-badge { padding:2px 7px; border:1px solid var(--dk-wait-line, #ddc884); border-radius:5px; font-size:11px; font-weight:800; }
.uat-toggle { margin-left:auto; color:var(--dk-wait-ink, #65500c); }
.uat-toggle::after { content:' ▾'; }
.uat-role-banner[open] .uat-toggle::after { content:' ▴'; }
.uat-role-controls { display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; padding:8px 0 18px; }
.uat-role-controls > div { flex:1 1 100%; max-width:760px; font-size:14px; line-height:1.5; }
.uat-role-controls form { flex-wrap:wrap; }
.uat-role-controls .button { margin:0; }
.review-hero { padding:22px; border:1px solid var(--line); border-radius:16px; background:var(--dk-surface, #fff); }
.review-hero .hero-number { font-size:clamp(30px,4vw,44px); }
.review-hero .why-line { margin-top:16px; padding-top:14px; border-top:1px solid var(--line); font-size:15px; }
.review-counts { gap:8px; margin-bottom:0; }
.review-counts > span { display:inline-block; padding:5px 9px; border-radius:7px; background:var(--dk-surface-2, #f3f4f8); font-size:13px; }
.review-policy-note { margin-top:12px; }
.review-policy-note summary { cursor:pointer; font-size:14px; font-weight:650; }
.review-note { background:var(--dk-surface, #fff); border:1px solid var(--brand-line); border-left:4px solid var(--brand); padding:16px; border-radius:12px; }
.review-note .eyebrow { color:var(--brand); }
.risk-lines .task,.official-lines { background:var(--dk-surface, #fff); }
.risk-lines .task { padding:14px; border-radius:10px; margin-top:8px; border:1px solid var(--line); }
.review-sharing { margin-top:16px; font-size:14px; }
.review-sharing > summary { cursor:pointer; min-height:44px; display:flex; align-items:center; color:var(--brand); font-weight:650; }
.review-sharing .share-block { display:flex; flex-direction:column; gap:10px; }
.review-sharing .share-label { margin:0; }
.review-sharing .text-button { text-align:left; padding:0; }
.review-sharing a { color:var(--brand); }
.decision-area { background:var(--dk-surface, #fff); padding:20px; }
.task-group-head { gap:12px; }
.task-title,.task-meta,.kv dd { overflow-wrap:anywhere; }
.history-mobile-label { display:none; }
.form-fields > div { min-width:0; }
.order-form-page .sales-line { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 18px; padding:20px; }
.sales-line > .sales-line-title,.sales-line > .errorlist { grid-column:1/-1; }
.product-field { min-width:0; display:flex; flex-direction:column; gap:6px; }
.product-field label { margin:0; }
.product-field-product { grid-column:span 2; }
.order-form-page .sales-line > .text-button { min-height:44px; margin:0; text-align:left; }
.sales-line[hidden] { display:none !important; }
.order-form-page .form-panel { padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--dk-surface, #fff); }
.order-form-page .form-step-title { margin-top:0; }
.form-submit-bar { gap:12px; }
.data-table-wrap { background:var(--dk-surface, #fff); }
:where(a,button,summary,input,select,textarea):focus-visible { outline:3px solid #6550be; outline-offset:3px; }
@media (min-width:1200px) {
  .review-page { max-width:1240px; }
  .review-layout { column-gap:28px; }
  .review-decision-rail { top:24px; }
}
@media (max-width:899px) {
  .page { padding:20px 16px 36px; gap:20px; }
  .page-title,.legacy-page h1 { font-size:26px; }
  .uat-role-banner { padding:0 16px; }
  .uat-toggle { font-size:12px; }
  .uat-role-controls form { width:100%; }
  .uat-role-controls select { min-width:0; flex:1; }
  .review-hero { padding:16px; }
  .review-hero .hero-label { font-size:14px; }
  .review-counts { display:flex; flex-direction:column; align-items:flex-start; }
  .review-decision-rail .decision-area { padding:10px 16px; }
  .order-form-page .sales-line { grid-template-columns:minmax(0,1fr); padding:16px; }
  .product-field-product { grid-column:auto; }
  .order-form-page .form-panel { padding:16px; }
  .form-submit-bar { flex-wrap:wrap; padding:12px; }
  .form-submit-bar .autosave-status { margin-left:0; }
  .history-table td.history-owner,.history-table td.history-updated { display:block; grid-column:1/-1; color:var(--muted); font-size:13px; white-space:normal; }
  .history-mobile-label { display:inline; }
  .task-side { gap:8px; }
  .task-side .button { padding:0 12px; }
  .kv { align-items:flex-start; }
  .kv dt,.kv dd { min-width:0; flex:1; }
  .data-table-wrap:has(.responsive-records) { overflow:visible; border:0; background:transparent; }
  .data-table-wrap:has(.responsive-records)::after { display:none; }
  .responsive-records,.responsive-records tbody { display:block; width:100%; }
  .responsive-records thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .responsive-records .mobile-record { display:block; margin-bottom:12px; padding:12px 14px; background:var(--dk-surface, #fff); border:1px solid var(--line); border-radius:12px; }
  .responsive-records .mobile-record > :is(td,th) { display:grid; grid-template-columns:minmax(90px,.7fr) minmax(0,1fr); gap:12px; padding:8px 0; border:0; white-space:normal; overflow-wrap:anywhere; }
  .responsive-records .mobile-record > :is(td,th)::before { content:attr(data-mobile-label); color:var(--muted); font-size:13px; font-weight:600; }
  .responsive-records .mobile-record > :is(td,th)[data-mobile-label=""] { display:block; }
  .responsive-records form { min-width:0; }
  .web-cost-grid { max-height:none; }
}
@media (max-width:380px) {
  .decision-actions { gap:6px; }
  .decision-actions .button,.decision-more > summary { padding:8px 10px; font-size:13px; white-space:normal; }
  .task { gap:8px; }
}
@media (max-height:500px) {
  .review-decision-rail .decision-area { position:static; }
}
@media print {
  body { background:var(--dk-surface, #fff); }
  .uat-role-banner,.review-sharing { display:none !important; }
  .review-hero,.review-note { break-inside:avoid; }
}
