/* Product layout built from the component-gallery admin-dashboard and Input primitives.
   Source mapping and adaptation details: docs/component-provenance.md. */
:root { font-family: "Inter", ui-sans-serif, system-ui, sans-serif; }
.app-shell { max-width: 1480px; }
.admin-header { min-height: 88px; gap: 20px; }
.header-actions,.inline-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.button,.button:visited { color:var(--text); }
.header-actions .access-state { margin-right:18px; font-size:10px; letter-spacing:.02em; }
.brand small { font-size:9px; letter-spacing:.09em; }
.hero { min-height:260px; grid-template-columns:minmax(0, 1.5fr) minmax(320px, .8fr); gap:60px; padding:45px 0 52px; }
.hero h1 { font-family:inherit; font-size:clamp(30px,3.7vw,54px); line-height:1.06; letter-spacing:-.055em; }
.hero-copy > p:last-child { margin:18px 0 0; font-size:15px; color:var(--muted); }
.hero-rule { bottom:12px; }
.hero-ledger { display:grid; grid-template-columns:repeat(3,1fr); align-self:center; margin:15px 0 0; }
.hero-ledger div { display:flex; flex-direction:column; align-items:start; min-height:95px; justify-content:center; }
.hero-ledger dd { order:-1; font:600 38px/1.3 ui-sans-serif,system-ui,sans-serif; padding:0; letter-spacing:-.06em; }
.hero-ledger dt { padding:4px 0 0; font-size:9px; line-height:1.4; }
.workspace { display:grid; grid-template-columns:300px minmax(0,1fr); gap:32px; padding:24px 0 60px; min-height:650px; }
.case-sidebar { padding-right:25px; border-right:1px solid var(--line); min-width:0; }
.catalog-heading { align-items:center; gap:8px; }
.catalog-heading h2 { font:600 26px/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing:-.04em; }
.catalog-heading .eyebrow { font-size:9px; margin-bottom:8px; }
.catalog-heading .button { font-size:11px; padding:0 8px; }
.search-field { display:grid; gap:7px; margin-top:24px; font-size:12px; color:var(--muted); }
/* Input-DURxm-11.js: full width, px-3, rounded secondary-button, text-sm. */
.gallery-input { display:block; width:100%; min-width:0; height:42px; padding:0 12px; border-radius:6px; border:1px solid var(--line-bright); background:#121f2b; color:var(--text); font-family:inherit; font-size:14px; line-height:1.5; }
.gallery-input::placeholder { color:#9ca9b6; opacity:.7; }
.gallery-input:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
textarea.gallery-input { height:auto; min-height:88px; padding:10px 12px; resize:vertical; font:inherit; font-size:14px; }
select.gallery-input { padding-right:8px; }
.filter-row { margin:16px 0; gap:5px; }
.filter-button { min-height:36px; padding:0 11px; font-size:11px; gap:5px; }
.case-list { display:grid; gap:10px; }
.case-card { border-radius:10px; box-shadow:none; }
.case-card::before { width:0; }
.case-card[data-selected="true"] { border-color:var(--blue); }
.case-card[data-selected="true"]::before { width:100%; }
.case-open { display:block; min-width:0; width:100%; border:0; text-align:left; padding:18px; background:transparent; cursor:pointer; }
.case-open h3 { font:600 15px/1.35 ui-sans-serif,system-ui,sans-serif; letter-spacing:-.02em; margin:9px 0; }
.case-open .card-meta { font-size:9px; margin:0; }
.case-open p { color:var(--muted); font-size:12px; margin:5px 0 12px; }
.sidebar-note { font-size:12px; color:var(--muted); margin-top:22px; line-height:1.65; }
.case-detail { min-width:0; scroll-margin-top:20px; }
.detail-header { display:flex; justify-content:space-between; gap:20px; align-items:start; }
.detail-header h2 { font-size:26px; line-height:1.15; letter-spacing:-.035em; margin:8px 0 10px; max-width:600px; }
.detail-header .eyebrow { margin-bottom:6px; font-size:9px; }
.detail-subtitle { font-size:13px; color:var(--muted); margin:0; }
.detail-header > .inline-actions { justify-content:flex-end; flex:0 0 128px; }
.detail-badges { margin-top:12px; }
.detail-header .button { min-height:36px; font-size:11px; padding:0 10px; }
.badge { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line-bright); border-radius:999px; padding:4px 9px; color:var(--muted); font:600 10px/1.2 ui-monospace,monospace; white-space:normal; }
.badge.good { border-color:#366e52; background:#142b24; color:#9ee6bb; }
.badge.warn { border-color:#77613a; background:#2a261f; color:#e1c78e; }
.badge.bad { border-color:#804c47; background:#352322; color:#ffb8b2; }
.badge.research { color:#91beff; border-color:#365887; background:#10243e; }
.notice { padding:12px 16px; margin:18px 0; border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:6px; background:#141e27; color:#c8d0d7; font-size:12px; line-height:1.6; }
.notice a { color:#9bc6ff; }
.notice.error { border-left-color:#e78c82; color:#ffd0ca; }
.steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:24px 0 4px; }
.step { border-top:2px solid var(--line); padding-top:10px; color:#a5b3c1; font:600 10px/1.4 ui-monospace,monospace; }
.step span { display:block; margin-top:3px; font:500 12px/1.4 ui-sans-serif,system-ui,sans-serif; }
.step.done { border-color:#71b48e; color:#a5dfba; }
.step.current { border-color:var(--blue); color:#a6ccff; }
.case-tabs { border-bottom:1px solid var(--line); margin:18px 0 24px; padding-bottom:12px; }
.case-tabs .filter-button { min-height:38px; }
.section-title { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin:24px 0 14px; }
.section-title h3 { margin:0; font-size:17px; letter-spacing:-.025em; }
.section-title p { font-size:12px; color:var(--muted); margin:4px 0 0; }
.panel { border:1px solid var(--line); border-radius:12px; padding:20px; background:var(--surface); }
.facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:0; }
.facts dt { color:var(--muted); font-size:10px; margin-bottom:6px; text-transform:uppercase; letter-spacing:.07em; }
.facts dd { margin:0; font-size:13px; overflow-wrap:anywhere; }
.muted { color:var(--muted); }
.small { font-size:12px; }
.source-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.source-links .button { min-height:36px; font-size:11px; }
.asset-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.asset-card { box-shadow:none; border-radius:12px; }
.card-body { padding:19px; min-width:0; }
.card-body h3 { font:600 18px/1.25 ui-sans-serif,system-ui,sans-serif; letter-spacing:-.025em; margin:10px 0 7px; }
.card-body p { overflow-wrap:anywhere; }
.candidate-meta { font-size:11px; color:var(--muted); margin:7px 0 16px; }
.candidate-summary { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:13px; margin:16px 0; }
.candidate-summary strong { font-size:18px; }
.cost-label { font-size:10px; color:var(--muted); display:block; }
.candidate-check { border-top:1px solid var(--line); padding-top:13px; color:var(--muted); font-size:12px; }
.candidate-check p { margin:0 0 6px; }
.candidate-check ul { padding-left:17px; margin:8px 0 0; line-height:1.7; }
.card-actions .button { min-height:38px; font-size:11px; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:12px; text-align:left; }
th,td { padding:12px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--muted); font-size:10px; font-weight:500; }
td { overflow-wrap:anywhere; }
.checks { display:grid; gap:10px; margin:16px 0; }
.check-row { display:flex; gap:9px; font-size:12px; }
.check-row > span:first-child { color:var(--gold); }
.check-row.passed > span:first-child { color:#94d9ad; }
.record-block { margin:14px 0; padding:14px 16px; border:1px solid var(--line); border-radius:8px; background:#09141e; }
.record-block p { font-size:12px; margin:7px 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.record-block h4 { font-size:13px; margin:0 0 8px; }
.fit-panel,.delivery-panel { margin-bottom:16px; }
.receipt-facts { margin-top:20px; }
.history { list-style:none; padding:0; margin:16px 0; }
.history li { display:grid; grid-template-columns:135px minmax(0,1fr); gap:20px; padding:15px 0; border-bottom:1px solid var(--line); font-size:12px; }
.history time { color:var(--muted); font:10px/1.6 ui-monospace,monospace; }
.preview-dialog { width:min(760px,calc(100vw - 24px)); height:auto; max-height:92vh; }
.dialog-shell { display:block; height:auto; }
.dialog-header { position:sticky; top:0; z-index:1; background:#08121c; min-height:84px; }
.dialog-header h2 { font:600 24px/1.2 ui-sans-serif,system-ui,sans-serif; }
#edit-form { padding:24px; max-height:calc(92vh - 90px); overflow-y:auto; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 20px; }
.field { display:grid; gap:7px; color:#c9d2db; font-size:12px; min-width:0; }
.field.wide,.form-section,.check-field { grid-column:1 / -1; }
.field small { font-size:11px; color:var(--muted); }
.form-section { margin:12px 0 0; padding-top:18px; border-top:1px solid var(--line); }
.form-section h3 { font-size:15px; margin:0 0 5px; }
.form-section p { color:var(--muted); font-size:12px; margin:0; }
/* CheckboxPage-CDDXJ0OS.js: rounded, bordered 20px box with adjacent text. */
.check-field { display:flex; align-items:start; gap:10px; font-size:13px; cursor:pointer; padding:3px 0; }
.check-field input { flex-shrink:0; width:20px; height:20px; accent-color:#1b5fbf; margin:0; }
.check-field input:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.form-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:26px; padding-top:18px; border-top:1px solid var(--line); }
.form-intro { margin:0 0 22px; color:var(--muted); font-size:13px; line-height:1.6; }
.empty-state { min-height:120px; padding:30px 18px; border-radius:10px; font-size:13px; }
button:disabled { opacity:.45; cursor:not-allowed; }
.print-only { display:none; }
@media(max-width:1150px) { .workspace { grid-template-columns:255px minmax(0,1fr); gap:22px; } .case-sidebar { padding-right:18px; } .header-actions .access-state { display:none; } .hero { gap:30px; } .facts { grid-template-columns:repeat(2,minmax(0,1fr)); } .asset-grid { grid-template-columns:1fr; } }
@media(max-width:760px) { .app-shell { width:calc(100% - 28px); } .admin-header { flex-wrap:wrap; padding:20px 0; gap:17px; } .header-actions { width:100%; justify-content:space-between; } .header-actions .button { flex:1; } .hero { grid-template-columns:1fr; padding:28px 0 40px; gap:0; } .hero h1 { font-size:36px; } .hero-ledger { margin-top:24px; } .hero-ledger div { min-height:72px; } .hero-ledger dd { font-size:29px; } .workspace { grid-template-columns:1fr; padding-top:15px; gap:30px; } .case-sidebar { padding:0 0 24px; border-right:0; border-bottom:1px solid var(--line); } .case-list { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:290px; overflow:auto; padding:3px; } .case-open { padding:14px; } .case-open h3 { font-size:13px; } .sidebar-note { margin-bottom:0; } .detail-header { gap:12px; } .detail-header h2 { font-size:23px; } .detail-header > .inline-actions { flex-basis:76px; } .detail-header > .inline-actions .button { width:100%; } .steps { gap:6px; } .step span { font-size:10px; } .step { font-size:9px; } .case-tabs { margin-inline:0; padding-left:0; padding-right:0; } .filter-row { margin-inline:0; padding-left:0; padding-right:0; } .panel { padding:16px; } .form-grid { grid-template-columns:1fr; } .form-actions .button { flex:1; } .dialog-header { padding:16px; } #edit-form { padding:18px; } .history li { grid-template-columns:1fr; gap:6px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
@media print { :root,html,body { color:#111; background:#fff; color-scheme:light; } .admin-header,.hero,.case-sidebar,.case-tabs,.detail-header .inline-actions,.source-links,.section-title button,.card-actions,.toast,footer,.skip-link { display:none!important; } .app-shell { width:100%; } .workspace { display:block; padding:0; } .panel,.asset-card,.record-block,.notice { background:#fff; color:#111; border-color:#aaa; break-inside:avoid; } .muted,.small,th,.facts dt,.history time { color:#444; } .badge { color:#111!important; background:#fff!important; border-color:#888!important; } .print-only { display:block; } .history { font-size:10px; } }

.record-block a { color:#9bc6ff; overflow-wrap:anywhere; }
@media print { .record-block a { color:#111; } }
@media print {
  .button,button { display:none!important; }
  .eyebrow,.detail-subtitle,.section-title p,.step,.step.done,.step.current { color:#444; }
  .step,.step.done,.step.current { border-color:#777; }
  .detail-header .detail-badges { display:flex!important; }
}
