/* Spec 3.A S2.A — scoped under main[data-page^="designer-"] per §15.3. */
main[data-page^="designer-"] { max-width: 920px; margin: 0 auto;
  padding: 2rem 1.25rem; }
main[data-page="designer-entry"] .designer-entry__header h1
  { font-size: 1.85rem; margin-bottom: .25rem; }
main[data-page="designer-entry"] .designer-entry__lede
  { color: #555; margin-bottom: 1.75rem; }
main[data-page="designer-entry"] .designer-entry__dropzone {
  border: 2px dashed #b6b6b6; border-radius: 12px; padding: 2.5rem;
  text-align: center; transition: background-color .15s ease;
  cursor: pointer; }
main[data-page="designer-entry"] .designer-entry__dropzone.is-dragging
  { background: #eef6ff; border-color: #2b6cb0; }
main[data-page="designer-entry"] .designer-entry__icon
  { font-size: 2.5rem; margin: 0 0 .5rem; }
main[data-page="designer-entry"] .designer-entry__status
  { margin-top: 1.5rem; padding: 1rem; background: #f6f8fb;
    border-radius: 8px; }
main[data-page="designer-entry"] .designer-entry__mode-card {
  margin-top: 1.5rem; padding: 1.5rem; border: 1px solid #d8d8d8;
  border-radius: 12px; background: #fff; }
main[data-page="designer-entry"] .designer-entry__mode-title
  { margin: 0 0 .25rem; font-size: 1.4rem; }
main[data-page="designer-entry"] .designer-entry__mode-confidence
  { color: #2b6cb0; margin: 0 0 .75rem; font-weight: 600; }
main[data-page="designer-entry"] .designer-entry__mode-reasoning
  { color: #444; line-height: 1.5; margin: 0 0 1rem; }
main[data-page="designer-entry"] .designer-entry__mode-switch summary
  { cursor: pointer; color: #2b6cb0; margin-bottom: .5rem; }
main[data-page="designer-entry"] .designer-entry__mode-options button
  { margin-right: .5rem; padding: .35rem .8rem; border-radius: 6px;
    border: 1px solid #c8c8c8; background: #fff; cursor: pointer; }
main[data-page="designer-entry"] .designer-entry__legacy
  { margin-top: 2rem; color: #888; font-size: .9rem; text-align: center; }
main[data-page^="designer-"] .btn { display: inline-block;
  padding: .55rem 1.1rem; border-radius: 6px; border: 0;
  font-weight: 600; cursor: pointer; }
main[data-page^="designer-"] .btn--primary { background: #2b6cb0; color: #fff; }
main[data-page^="designer-"] .btn--primary:hover { background: #235a93; }

/* Spec 3.A S2.A Task 8 — Mode 2 bootstrap form (designer-smart-defaults). */
main[data-page="designer-smart-defaults"] .field,
body[data-page="designer-smart-defaults"] .field
  { margin-bottom: 1rem; }
[data-page="designer-smart-defaults"] .field label
  { display: block; margin-bottom: .35rem; font-weight: 600; }
[data-page="designer-smart-defaults"] .field .required { color: #c0392b; }
[data-page="designer-smart-defaults"] .field input,
[data-page="designer-smart-defaults"] .field select
  { width: 100%; padding: .55rem; border-radius: 6px; border: 1px solid #c8c8c8;
    font-size: 1rem; }
[data-page="designer-smart-defaults"] .back-link
  { color: #2b6cb0; text-decoration: none; font-size: .92rem; }
[data-page="designer-smart-defaults"] .error
  { color: #c0392b; margin-top: 1rem; padding: .5rem .75rem;
    background: #fde0e0; border-radius: 6px; }

/* Spec 3.A S2.A Task 9 — Smart defaults review (designer-defaults-review). */
/* Attribute selectors are body/main agnostic — data-page is on <main> here. */
[data-page="designer-defaults-review"] .defaults-review__grid
  { display: grid; grid-template-columns: 1fr 280px; gap: 1.5rem; }
[data-page="designer-defaults-review"] .default-field
  { padding: 1rem 1.25rem; border: 1px solid #d8d8d8; border-radius: 8px;
    background: #fff; margin-bottom: .85rem; }
[data-page="designer-defaults-review"] .default-field--high
  { border-left: 4px solid #2e7d32; }
[data-page="designer-defaults-review"] .default-field--medium
  { border-left: 4px solid #ed6c02; }
[data-page="designer-defaults-review"] .default-field--low
  { border-left: 4px solid #c0392b; background: #fff8f8; }
[data-page="designer-defaults-review"] .default-field--overridden
  { background: #f0f9ff; border-left-color: #2b6cb0; }
[data-page="designer-defaults-review"] .default-field h3
  { margin: 0 0 .35rem; font-size: 1rem; color: #555; }
[data-page="designer-defaults-review"] .default-field__value
  { margin: 0 0 .5rem; }
[data-page="designer-defaults-review"] .default-field__confidence
  { float: right; color: #888; font-weight: 600; }
[data-page="designer-defaults-review"] .default-field__sources ul
  { margin: .5rem 0 0; padding-left: 1rem; font-size: .9rem; }
[data-page="designer-defaults-review"] .badge
  { display: inline-block; padding: 0 .35rem; font-size: .75rem;
    background: #eee; border-radius: 3px; margin-right: .25rem; }
[data-page="designer-defaults-review"] .badge--physics
  { background: #cfe8ff; }
[data-page="designer-defaults-review"] .badge--material
  { background: #fde6cf; }
[data-page="designer-defaults-review"] .badge--geometry
  { background: #ddedd2; }
[data-page="designer-defaults-review"] .badge--industry
  { background: #f0d9ff; }
[data-page="designer-defaults-review"] .badge--similar_case
  { background: #ffe2e2; }
[data-page="designer-defaults-review"] .override-opt
  { margin-right: .35rem; padding: .25rem .65rem; border-radius: 4px;
    border: 1px solid #c8c8c8; background: #fff; cursor: pointer;
    font-size: .9rem; }
[data-page="designer-defaults-review"] .defaults-review__similar
  { padding: 1rem; background: #fafafa; border-radius: 8px;
    border: 1px solid #e8e8e8; }
[data-page="designer-defaults-review"] .defaults-review__similar ul
  { list-style: none; padding: 0; margin: 0; }
[data-page="designer-defaults-review"] .defaults-review__similar li
  { padding: .55rem 0; border-bottom: 1px solid #eee; font-size: .92rem; }
[data-page="designer-defaults-review"] .defaults-review__blocking
  { padding: .85rem 1.1rem; background: #fff3cd; border-left: 4px solid #ed6c02;
    margin-bottom: 1rem; }
[data-page="designer-defaults-review"] .defaults-review__footer
  { margin-top: 2rem; text-align: right; }
[data-page="designer-defaults-review"] .back-link
  { color: #2b6cb0; text-decoration: none; font-size: .92rem; }
[data-page="designer-defaults-review"] dialog
  { border: 1px solid #d8d8d8; border-radius: 10px; padding: 1.25rem 1.5rem;
    min-width: 360px; }

/* Spec 3.A S2.A Task 10 — final review screen (designer-review). */
[data-page="designer-review"] .designer-review__header h1
  { font-size: 1.7rem; margin: 0 0 .25rem; }
[data-page="designer-review"] .designer-review__lede
  { color: #555; margin: 0 0 1.5rem; }
[data-page="designer-review"] .designer-review__blocking
  { padding: .85rem 1.1rem; background: #fff3cd; border-left: 4px solid #ed6c02;
    margin-bottom: 1.5rem; border-radius: 4px; }
[data-page="designer-review"] .designer-review__blocking-list
  { list-style: none; padding: 0; margin: .55rem 0; }
[data-page="designer-review"] .designer-review__blocking-list li
  { padding: .3rem 0; }
[data-page="designer-review"] .designer-review__blocking-list label
  { cursor: pointer; user-select: none; }
[data-page="designer-review"] .designer-review__blocking-list code
  { background: rgba(0,0,0,.08); padding: .05rem .35rem; border-radius: 3px;
    font-size: .9em; }
[data-page="designer-review"] .designer-review__blocking-hint
  { font-size: .85rem; color: #6b4500; margin: .25rem 0 0; }
[data-page="designer-review"] .designer-review__summary h2
  { font-size: 1.1rem; margin: 1.5rem 0 .5rem; }
[data-page="designer-review"] .designer-review__filename
  { padding: .55rem .85rem; background: #f6f8fb; border-radius: 6px;
    font-family: monospace; margin: 0 0 1rem; }
[data-page="designer-review"] .designer-review__table
  { width: 100%; border-collapse: collapse; font-size: .92rem; }
[data-page="designer-review"] .designer-review__table th,
[data-page="designer-review"] .designer-review__table td
  { padding: .45rem .65rem; text-align: left; border-bottom: 1px solid #eee; }
[data-page="designer-review"] .designer-review__table th
  { background: #fafafa; font-weight: 600; }
[data-page="designer-review"] .designer-review__table code
  { background: rgba(0,0,0,.05); padding: .05rem .35rem; border-radius: 3px; }
[data-page="designer-review"] .badge
  { display: inline-block; padding: .15rem .55rem; border-radius: 4px;
    font-size: .78rem; font-weight: 600; }
[data-page="designer-review"] .badge--bootstrap
  { background: #e8f0fe; color: #1a56db; }
[data-page="designer-review"] .badge--inferred
  { background: #e8faf0; color: #1f8d4d; }
[data-page="designer-review"] .badge--override
  { background: #fde8e8; color: #c53030; }
[data-page="designer-review"] .designer-review__overrides
  { list-style: none; padding: 0; margin: .5rem 0 1.5rem; }
[data-page="designer-review"] .designer-review__overrides li
  { padding: .45rem 0; border-bottom: 1px solid #eee; font-size: .92rem; }
[data-page="designer-review"] .designer-review__footer
  { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #e8e8e8;
    text-align: right; }
[data-page="designer-review"] .designer-review__status
  { margin: .55rem 0 0; font-size: .9rem; color: #555; }
[data-page="designer-review"] .designer-review__status[data-kind="error"]
  { color: #c53030; }
[data-page="designer-review"] .designer-review__status[data-kind="ok"]
  { color: #1f8d4d; }
[data-page="designer-review"] .back-link
  { color: #2b6cb0; text-decoration: none; font-size: .92rem; }
[data-page="designer-review"] button[disabled]
  { opacity: .6; cursor: not-allowed; }
