@font-face { font-family:"Noto Sans"; src:url("/assets/NotoSans-Regular.ttf") format("truetype"); font-weight:400; font-display:swap; }
@font-face { font-family:"Noto Sans"; src:url("/assets/NotoSans-Bold.ttf") format("truetype"); font-weight:700; font-display:swap; }

.worksheet-toolbar { min-height:88px; padding:16px 32px; background:var(--paper); border-bottom:1px solid var(--border); display:grid; grid-template-columns:minmax(260px,1fr) auto minmax(320px,1fr); gap:24px; align-items:center; }
.worksheet-intro { min-width:0; display:grid; gap:2px; }
.worksheet-intro h1 { font-size:20px; line-height:27px; }
.worksheet-intro p { overflow:hidden; color:var(--muted); font-size:10px; line-height:14px; text-overflow:ellipsis; white-space:nowrap; }
.worksheet-views { display:flex; gap:8px; align-items:center; justify-content:center; }
.workspace-tab { min-height:36px; padding:8px 15px; border:0; border-radius:9px; background:transparent; color:var(--muted); font-size:11px; line-height:14px; }
.workspace-tab.active { background:var(--paper); color:var(--ink); font-weight:700; box-shadow:0 2px 8px rgba(0,0,0,.07); }
.workspace-count::before { content:" · "; }
.draft-actions { min-width:0; justify-self:end; display:flex; align-items:center; justify-content:flex-end; gap:8px 12px; }
.draft-actions button { max-width:220px; white-space:normal; text-align:center; }
.draft-actions .caption { margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

:root {
  --ink:var(--afina-text-primary,var(--afina-color-ink,#181818));
  --muted:var(--afina-text-secondary,var(--afina-color-muted,#6f6f6f));
  --border:var(--afina-border-default,var(--afina-color-border,#b6b6b6));
  --surface:var(--afina-bg-canvas,var(--afina-color-surface,#f6f6f6));
  --paper:var(--afina-bg-paper,var(--afina-color-paper,#fff));
  --primary:var(--afina-action-primary,var(--afina-color-primary,#b21f2d));
  --primary-pale:var(--afina-action-subtle,var(--afina-color-primary-pale,#fbedee));
  --success:var(--afina-status-success-strong,#14613d);
  --info:var(--afina-status-info,var(--afina-color-info,#1976d2));
  --warning:var(--afina-status-warning,var(--afina-color-warning,#e97718));
  --radius:var(--afina-radius-16,16px);
  --radius-small:var(--afina-radius-10,10px);
  --focus-color:var(--afina-focus-ring,#075ea8);
  --focus:0 0 0 2px var(--paper);
}

* { box-sizing:border-box; }
html { min-width:320px; min-height:100%; background:#ece9e7; color:var(--ink); }
body { margin:0; min-height:100%; font:14px/20px "Noto Sans",sans-serif; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.48; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid var(--focus-color); outline-offset:2px; box-shadow:var(--focus); }
[hidden] { display:none !important; }
h1,h2,h3,p { margin:0; }
h1 { font-size:15px; line-height:20px; }
h2 { font-size:14px; line-height:20px; }
.muted { color:var(--muted); }
.caption { color:var(--muted); font-size:10px; line-height:14px; }
.eyebrow { margin-bottom:4px; color:var(--primary); font-size:10px; line-height:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.sr-only,#requiredCount,#assignmentCount { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip:rect(0,0,0,0); overflow:hidden; white-space:nowrap; border:0; }

.app-shell { width:min(1456px,100%); min-height:100vh; margin:0 auto; background:var(--paper); border-inline:1px solid var(--border); }
.topbar { height:72px; padding:0 28px; border-block:1px solid var(--border); background:var(--paper); display:grid; grid-template-columns:180px 1fr 400px; gap:28px; align-items:center; }
.brand { color:var(--ink); text-decoration:none; display:flex; align-items:center; gap:10px; }
.brand-mark { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--primary); font-weight:700; }
.brand strong,.brand small { display:block; }
.brand strong { font-size:20px; line-height:25px; }
.brand small { color:var(--muted); font-size:9px; line-height:11px; }
.main-nav { display:flex; justify-content:center; gap:8px; }
.nav-tab { width:auto; min-width:82px; height:36px; padding:0 15px; border:0; border-radius:9px; background:transparent; color:var(--muted); font-size:11px; line-height:13px; font-weight:400; }
.nav-tab.active { background:var(--paper); color:var(--ink); font-weight:700; box-shadow:0 2px 8px rgba(0,0,0,.07); }
.topbar-status { justify-self:end; display:flex; align-items:center; gap:8px; color:var(--muted); font-size:10px; line-height:12px; text-align:right; }
.status-dot { width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:var(--success); }

.flow-rail { height:96px; padding:16px 32px; background:var(--surface); }
.flow-rail ol { height:64px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:0; padding:0; list-style:none; }
.flow-step { min-width:0; padding:10px 14px; border:1px solid var(--border); border-radius:10px; background:var(--paper); display:grid; grid-template-columns:30px 1fr; grid-template-rows:1fr 1fr; column-gap:10px; align-items:center; }
.flow-step > span { grid-row:1/3; width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--border); border-radius:50%; background:var(--surface); font-size:11px; font-weight:700; }
.flow-step strong { align-self:end; font-size:12px; line-height:16px; }
.flow-step small { align-self:start; min-width:0; color:var(--muted); font-size:10px; line-height:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.flow-step.active { border:2px solid var(--primary); background:var(--primary-pale); }
.flow-step.active > span { border-color:var(--primary); background:var(--primary); color:white; }
.flow-step.complete { border-color:var(--success); }
.flow-step.complete > span { border-color:var(--success); background:var(--success); color:white; }

.workflow-screen { min-height:864px; padding:32px; background:var(--surface); }
.panel { border:1px solid var(--border); border-radius:12px; background:var(--paper); }
.section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.tall-heading { min-height:64px; align-items:center; }
.badge { min-width:100px; min-height:32px; padding:7px 12px; border:1px solid var(--border); border-radius:999px; background:var(--surface); color:var(--ink); display:inline-flex; align-items:center; justify-content:center; font-size:10px; line-height:12px; font-weight:700; white-space:nowrap; }
.badge.accent { border-color:var(--primary); background:var(--primary-pale); color:var(--primary); }
.badge.info { border-color:var(--info); background:var(--paper); color:var(--info); }
.badge.success { border-color:var(--success); background:var(--paper); color:var(--success); }

.field { display:grid; gap:4px; min-width:0; }
.field > span,fieldset > legend { color:var(--muted); font-size:10px; line-height:12px; font-weight:700; }
input,select,textarea { width:100%; min-height:42px; border:1px solid var(--border); border-radius:var(--radius-small); background:var(--paper); color:var(--ink); padding:9px 12px; outline:0; }
input[type="checkbox"] { width:20px; height:20px; min-height:20px; padding:0; flex:0 0 auto; accent-color:var(--primary); }
input:focus,select:focus,textarea:focus { border-color:var(--primary); }
textarea { resize:vertical; }

.primary-button,.secondary-button,.ghost-button,.add-inline,.icon-button { min-height:44px; border-radius:var(--radius-small); display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-size:11px; line-height:13px; font-weight:700; }
.primary-button { padding:10px 16px; border:1px solid var(--primary); background:var(--primary); color:white; }
.primary-button:hover:not(:disabled) { background:color-mix(in srgb,var(--primary) 82%,black); }
.secondary-button { padding:10px 16px; border:1px solid var(--primary); background:var(--paper); color:var(--primary); }
.ghost-button { padding:10px 16px; border:1px solid transparent; background:transparent; color:var(--primary); }
.add-inline { width:100%; margin-top:10px; padding:10px 16px; border:1px dashed var(--primary); background:var(--paper); color:var(--primary); }
.icon-button { width:36px; min-height:36px; padding:0; border:1px solid var(--border); background:var(--paper); color:var(--muted); }

.catalog-workspace { display:grid; grid-template-columns:228px minmax(500px,1fr) 320px; gap:20px; align-items:start; }
.filter-panel { min-height:720px; padding:20px; background:var(--paper); display:flex; flex-direction:column; gap:16px; }
.filter-panel .field { gap:7px; }
.filter-panel .caption { margin-top:2px; }
.catalog-results { min-width:0; display:flex; flex-direction:column; gap:16px; }
.task-type-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.task-type-card { width:100%; min-height:152px; padding:20px 22px; border:1px solid var(--border); border-radius:var(--radius); background:var(--paper); color:var(--ink); text-align:left; display:flex; flex-direction:column; gap:8px; }
.task-type-card:hover { border-color:var(--primary); box-shadow:0 8px 26px rgba(44,31,28,.07); }
.task-type-card.selected { border-top:4px solid var(--primary); }
.task-type-card strong { font-size:15px; line-height:20px; }
.task-type-card span,.task-type-card small { color:var(--muted); font-size:10px; line-height:12px; }
.task-type-card code { color:var(--primary); font:700 11px/13px "Noto Sans",sans-serif; }
.catalog-summary { display:flex; flex-direction:column; gap:16px; }
.selection-tray { min-height:260px; padding:24px; display:flex; flex-direction:column; gap:16px; }
.tray-heading { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.selection-tray > .primary-button,.selection-tray > .secondary-button { width:100%; margin-top:auto; }
.how-panel { padding:16px; background:var(--surface); display:grid; gap:8px; }
.empty-state { padding:48px 20px; border:1px dashed var(--border); border-radius:12px; color:var(--muted); text-align:center; }

.configure-workspace { display:grid; grid-template-columns:minmax(0,1fr) 440px; gap:24px; }
.configure-context { min-width:0; display:flex; flex-direction:column; gap:20px; }
.back-button { width:max-content; min-height:32px; padding-inline:0; }
.configure-summary-grid { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:20px; }
.example-panel { min-height:260px; padding:20px; display:flex; flex-direction:column; gap:12px; }
.answer-safe-example { display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; min-width:0; }
.answer-safe-example img { width:120px; height:100px; object-fit:contain; border:1px solid var(--border); border-radius:8px; }
.answer-safe-example strong { display:block; margin-bottom:8px; }
.answer-safe-example p { max-height:72px; overflow:auto; color:var(--muted); font-size:10px; line-height:14px; white-space:pre-line; }
.answer-safe-example ol { margin:0; padding-left:20px; display:grid; gap:6px; font-size:11px; }
.answer-safe-example li small { display:block; color:var(--muted); }
.configure-drawer { min-height:800px; padding:24px; display:flex; flex-direction:column; gap:20px; }
.drawer-heading { min-height:76px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.configure-drawer .field { gap:8px; }
.option-card { min-height:88px; position:relative; padding:16px; border:1px solid var(--border); border-radius:var(--radius-small); background:var(--paper); display:flex; gap:12px; align-items:center; cursor:pointer; }
.option-card:has(input:checked),.selected-option { border:2px solid var(--primary); background:var(--primary-pale); }
.option-card input[type="radio"] { width:20px; height:20px; min-height:20px; flex:0 0 auto; accent-color:var(--primary); }
.option-card > span:not(.radio-glyph) { display:flex; flex-direction:column; gap:4px; min-width:0; }
.option-card strong { font-size:15px; line-height:20px; }
.option-card small { color:var(--muted); font-size:10px; line-height:12px; }
.selected-option { display:grid; grid-template-columns:24px minmax(0,1fr); }
.selected-option select { grid-column:1/-1; }
.radio-glyph { width:18px; height:18px; border:5px solid var(--paper); border-radius:50%; background:var(--primary); box-shadow:0 0 0 2px var(--primary); }
.calculation-panel { padding:16px; border:1px solid var(--primary); border-radius:12px; background:var(--primary-pale); display:flex; flex-direction:column; gap:8px; }
.calculation-panel small { color:var(--muted); }

.builder-workspace { display:grid; grid-template-columns:432px 360px minmax(420px,552px); gap:24px; align-items:start; }
.structure-panel { min-height:800px; padding:16px; }
.structure-panel > .caption { margin-bottom:12px; }
.block-list { display:grid; gap:10px; }
.build-block-row { border:1px solid var(--border); border-radius:12px; background:var(--paper); overflow:hidden; }
.block-row-heading { min-height:76px; padding:12px; display:grid; grid-template-columns:18px minmax(0,1fr) auto auto; gap:8px; align-items:center; }
.block-row-heading > span:nth-child(2) { min-width:0; }
.block-row-heading strong,.block-row-heading small { display:block; overflow:hidden; text-overflow:ellipsis; }
.block-row-heading strong { font-size:13px; line-height:18px; }
.block-row-heading small { margin-top:3px; color:var(--muted); font-size:9px; line-height:12px; white-space:nowrap; }
.row-symbol { color:var(--muted); font-weight:700; }
.row-actions { display:flex; gap:4px; }
.row-actions button { width:26px; height:26px; padding:0; border:1px solid var(--border); border-radius:7px; background:var(--paper); color:var(--muted); }
.block-editor-grid,.task-row-fields { padding:0 12px 14px 38px; display:grid; gap:10px; }
.block-editor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.block-editor-grid .wide { grid-column:1/-1; }
.block-editor-grid .field,.task-row-fields .field,.footer-field { gap:3px; }
.block-editor-grid input,.block-editor-grid select,.task-row-fields input,.task-row-fields select,.footer-field textarea { min-height:36px; padding:7px 9px; font-size:11px; }
.task-row-fields { grid-template-columns:1fr 1fr; align-items:end; }
.task-row-fields > .caption { grid-column:1/-1; }
.footer-field { padding:0 12px 14px 38px; }
.clear-button { width:100%; margin-top:4px; }
.capacity-card { margin-top:10px; padding:16px; border:1px solid var(--border); border-radius:12px; }
.capacity-card > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.capacity-card > div:first-child span { color:var(--success); font-size:10px; }
.capacity-track { height:8px; margin:12px 0; overflow:hidden; border-radius:4px; background:var(--surface); }
.capacity-track span { display:block; width:0; height:100%; border-radius:4px; background:var(--primary); transition:width .2s; }
.capacity-track span.valid { background:var(--success); }
.capacity-track span.overflow { background:var(--warning); }
.capacity-card p { color:var(--muted); font-size:9px; line-height:12px; }

.physical-preview { min-width:0; display:flex; flex-direction:column; gap:12px; }
.side-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.side-tab { min-height:36px; border:1px solid var(--border); border-radius:999px; background:var(--paper); color:var(--muted); font-size:10px; }
.side-tab.active { border-color:var(--primary); background:var(--primary-pale); color:var(--primary); font-weight:700; }
.a4-schematic { --schematic-corrections-height:11.01%; width:100%; aspect-ratio:210/297; padding:16px; border:1px solid var(--border); border-radius:var(--radius-small); background:var(--paper); display:flex; flex-direction:column; gap:10px; overflow:hidden; }
.schematic-header { flex:0 0 12%; padding:8px; border:1px solid var(--border); border-radius:6px; display:flex; flex-direction:column; justify-content:center; }
.schematic-header strong { font-size:10px; line-height:13px; }
.schematic-header small { color:var(--muted); font-size:6px; line-height:8px; }
.schematic-tasks { min-height:0; flex:1 1 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); gap:7px; overflow:hidden; }
.schematic-task { min-height:0; padding:7px; border:1px solid var(--border); border-radius:6px; overflow:hidden; }
.schematic-task strong,.schematic-task small { display:block; }
.schematic-task strong { font-size:7px; line-height:10px; }
.schematic-task small { color:var(--muted); font-size:5px; line-height:7px; }
.schematic-task i { display:block; width:48%; height:4px; margin-top:6px; border-bottom:1px solid var(--border); }
.schematic-empty { grid-column:1/-1; grid-row:1/-1; display:grid; place-items:center; border:1px dashed var(--border); border-radius:6px; color:var(--muted); font-size:8px; }
.schematic-footer { flex:0 0 8%; padding:7px; border-radius:5px; background:var(--primary-pale); color:var(--primary); font-size:6px; font-weight:700; }
.back-tasks:empty { display:none; }
.schematic-corrections { flex:none; block-size:var(--schematic-corrections-height); min-block-size:28px; margin-block-start:auto; border:1px solid var(--border); border-radius:6px; background:var(--paper); }

.output-panel { min-height:800px; padding:20px; display:flex; flex-direction:column; gap:12px; }
.option-list { display:grid; gap:10px; margin:0; padding:0; border:0; }
.option-list legend { margin-bottom:8px; }
.duplex-contract { padding:12px; border:1px solid var(--primary); border-radius:12px; background:var(--primary-pale); display:flex; flex-direction:column; gap:6px; }
.duplex-contract small { color:var(--muted); font-size:10px; line-height:12px; }
.color-options { margin:0; padding:0; border:0; display:grid; grid-template-columns:auto 1fr 1fr; gap:8px; align-items:center; }
.color-options legend { margin-right:4px; color:var(--ink); font-weight:400; }
.color-options input { position:absolute; width:1px; height:1px; min-height:1px; opacity:0; }
.color-options span { min-height:32px; border:1px solid var(--border); border-radius:999px; display:grid; place-items:center; color:var(--muted); font-size:10px; font-weight:700; }
.color-options input:checked + span { border-color:var(--primary); background:var(--primary-pale); color:var(--primary); }
.color-options input:focus-visible + span { outline:3px solid var(--focus-color); outline-offset:2px; box-shadow:var(--focus); }
.build-button { width:100%; margin-top:6px; flex-direction:column; }
.build-button small { opacity:.78; font-weight:400; }
.error-box { padding:12px; border:1px solid var(--primary); border-radius:10px; background:var(--primary-pale); color:#851722; font-size:11px; line-height:16px; }

.validating-workspace,.ready-workspace { display:grid; grid-template-columns:minmax(620px,840px) minmax(420px,1fr); gap:24px; }
.validation-preview,.ready-preview { min-height:800px; padding:20px; }
.validation-preview > .muted,.ready-preview > .muted { margin:16px 0; }
.validation-pages,.ready-pages { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.validation-pages figure,.ready-pages figure { min-width:0; margin:0; }
.validation-pages figcaption,.ready-pages figcaption { margin-top:8px; color:var(--muted); font-size:10px; line-height:12px; }
.a4-schematic.compact { padding:12px; }
.validation-checks,.ready-result { min-height:800px; padding:20px 24px; display:flex; flex-direction:column; gap:12px; }
.validation-list { display:grid; gap:10px; }
.validation-item { min-height:66px; padding:12px; border:1px solid var(--border); border-radius:12px; background:var(--paper); display:grid; grid-template-columns:32px 1fr; gap:12px; align-items:center; }
.validation-item > span { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--primary); color:white; font-weight:700; }
.validation-item.passed > span { background:var(--success); }
.validation-item.error > span { background:var(--warning); }
.validation-item.waiting { background:var(--surface); }
.validation-item.waiting > span { background:var(--border); }
.validation-item strong,.validation-item small { display:block; }
.validation-item small { margin-top:4px; color:var(--muted); font-size:10px; line-height:12px; }
.validation-totals { padding:12px; border-radius:12px; background:var(--primary-pale); display:flex; flex-direction:column; gap:6px; }
.validation-totals small { color:var(--muted); }
.validation-checks > .primary-button,.validation-checks > .secondary-button { width:100%; }

.ready-pages img { width:100%; display:block; border:1px solid var(--border); border-radius:8px; background:var(--paper); box-shadow:0 8px 20px rgba(30,20,18,.08); }
.ready-lead { margin-top:2px; font-size:14px; line-height:20px; }
.result-badges { min-height:100px; display:flex; flex-wrap:wrap; align-content:flex-start; gap:12px; padding-top:2px; }
.link-button { width:100%; }
.ready-result > .ghost-button { width:100%; }
.reproducibility { margin-top:8px; padding:16px; border-radius:12px; background:var(--primary-pale); display:flex; flex-direction:column; gap:10px; }
.repeat-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }

@media (max-width:1360px) {
  .topbar { grid-template-columns:150px 1fr 300px; gap:14px; }
  .main-nav { gap:6px; }.nav-tab { width:auto; }
  .worksheet-toolbar { grid-template-columns:minmax(240px,1fr) auto minmax(280px,1fr); gap:16px; }
  .catalog-workspace { grid-template-columns:220px minmax(400px,1fr) 310px; gap:18px; }
  .builder-workspace { grid-template-columns:minmax(360px,1fr) 330px; }.output-panel { grid-column:1/-1; min-height:auto; }
  .configure-summary-grid { grid-template-columns:1fr; }.configure-summary-grid .selection-tray { min-height:220px; }
}

@media (max-width:960px) {
  .app-shell { border:0; }
  .topbar { height:auto; min-height:76px; grid-template-columns:1fr auto; padding:12px 18px; }
  .main-nav { grid-column:1/-1; order:3; }.nav-tab { flex:1; width:auto; }
  .topbar-status { display:none; }
  .worksheet-toolbar { grid-template-columns:minmax(220px,1fr) auto; padding:14px 20px; }
  .worksheet-views { justify-content:flex-start; }
  .draft-actions { grid-column:1/-1; width:100%; justify-content:space-between; }
  .flow-rail { height:auto; padding:12px 20px; overflow:auto; }.flow-rail ol { width:1060px; }
  .workflow-screen { min-height:calc(100vh - 176px); padding:20px; }
  .catalog-workspace { grid-template-columns:220px minmax(0,1fr); }.catalog-summary { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
  .filter-panel { min-height:600px; }
  .configure-workspace,.validating-workspace,.ready-workspace { grid-template-columns:1fr; }
  .configure-drawer,.validation-checks,.ready-result { min-height:auto; }
  .builder-workspace { grid-template-columns:1fr 1fr; }.structure-panel { grid-row:span 2; }.output-panel { grid-column:auto; }
}

@media (max-width:680px) {
  .brand small { display:none; }.main-nav { gap:4px; }.nav-tab { min-width:0; padding-inline:10px; }
  .worksheet-toolbar { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
  .worksheet-intro p { white-space:normal; }
  .worksheet-views { justify-content:stretch; }.workspace-tab { flex:1; }
  .draft-actions { display:grid; grid-template-columns:1fr; justify-items:stretch; }
  .draft-actions button { max-width:none; width:100%; }
  .workflow-screen { padding:14px; }
  .catalog-workspace,.builder-workspace { display:flex; flex-direction:column; }
  .filter-panel,.catalog-results,.catalog-summary,.structure-panel,.physical-preview,.output-panel { width:100%; min-height:auto; }
  .filter-panel { display:grid; grid-template-columns:1fr 1fr; }.filter-panel h1,.filter-panel .caption { grid-column:1/-1; }
  .catalog-summary { display:flex; }
  .task-type-grid { grid-template-columns:1fr; }
  .configure-summary-grid,.validation-pages,.ready-pages,.repeat-actions { grid-template-columns:1fr; }
  .block-editor-grid,.task-row-fields { grid-template-columns:1fr; }.block-editor-grid .wide,.task-row-fields > .caption { grid-column:auto; }
  .block-row-heading { grid-template-columns:18px minmax(0,1fr) auto; }.row-actions { grid-column:2/-1; justify-content:flex-end; }
  .color-options { grid-template-columns:1fr 1fr; }.color-options legend { grid-column:1/-1; }
}
@media (max-width:480px) {
  .filter-panel { grid-template-columns:1fr; }
  .filter-panel h1,.filter-panel .caption { grid-column:auto; }
}
.history-workspace { margin: 0; border: 0; border-radius: 0; background: var(--surface); display: flex; flex-direction: column; gap: 16px; }
.history-list { display: grid; gap: 16px; }
.history-item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 24px; border-radius: 16px; }
.history-item h2 { overflow-wrap: anywhere; }
.history-actions, .history-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.history-pagination { justify-content: center; margin-top: 24px; }
.access-page { min-height: 100vh; padding: 24px; display: grid; place-items: center; background: var(--surface); }
.access-card { width: min(640px, 100%); padding: 24px; border-radius: 16px; display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.access-card h1 { font-size: 20px; line-height: 28px; }
.history-empty-state { margin: 32px auto; }
.history-empty-state h2 { font-size: 20px; line-height: 28px; }
body[data-hosted] .main-nav { gap: 12px; }
body[data-hosted] .nav-tab { width: auto; min-width: 100px; }
body[data-hosted] .topbar-status #systemStatus, body[data-hosted] .topbar-status .status-dot { display:none; }
@media (max-width: 960px) {
  body[data-hosted] .main-nav { gap: 4px; min-width: 0; }
  body[data-hosted] .nav-tab { min-width: 0; }
  body[data-hosted] .topbar-status { display: flex; }
  body[data-hosted] .topbar-status #systemStatus, body[data-hosted] .topbar-status .status-dot { display: none; }
}
@media (max-width: 600px) { .history-actions { width: 100%; } }

/* AFINA-016: role-aware journal, administration and mobile submission. */
.compact-select select { min-width:150px; height:36px; border:1px solid var(--border); border-radius:10px; background:var(--paper); padding:0 28px 0 10px; font:inherit; }
.learning-workspace, .admin-workspace { display:grid; align-content:start; gap:16px; padding:24px 32px 40px; background:var(--surface); }
.learning-hero { display:flex; justify-content:space-between; align-items:end; gap:24px; padding:24px; }
.learning-hero h1 { margin:2px 0 4px; }
.date-field { width:min(220px,100%); }
.teacher-journal { display:grid; grid-template-columns:minmax(0,2fr) minmax(300px,1fr); gap:16px; }
.calendar-panel { padding:24px; min-width:0; }
.calendar-actions, .statistics-actions { display:flex; align-items:center; gap:8px; }
.calendar-weekdays, .calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays { color:var(--muted); font-size:11px; font-weight:700; text-align:center; padding:8px 0; }
.calendar-grid { border-left:1px solid var(--border); border-top:1px solid var(--border); }
.calendar-day { min-height:92px; padding:8px; text-align:left; background:var(--paper); border:0; border-right:1px solid var(--border); border-bottom:1px solid var(--border); color:var(--text); }
.calendar-day:hover, .calendar-day:focus-visible { background:var(--primary-pale); outline:2px solid var(--primary); outline-offset:-2px; }
.calendar-day.outside { color:var(--muted); background:var(--surface); }
.calendar-day.today .day-number { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; background:var(--primary); color:white; }
.calendar-day small { display:block; margin-top:6px; color:var(--primary); line-height:1.3; }
.journal-sidebar { display:grid; align-content:start; gap:16px; }
.compact-panel { padding:20px; display:grid; gap:12px; }
.compact-panel h2 { margin:0; }
.compact-list, .check-list, .review-queue, .student-assignment-list, .admin-group-list { display:grid; gap:8px; }
.compact-item { padding:12px; border:1px solid var(--border); border-radius:12px; background:var(--paper); }
.compact-item p { margin:4px 0 0; }
.check-list label { display:flex; gap:8px; align-items:flex-start; padding:8px; border:1px solid var(--border); border-radius:10px; }
.weekday-picker, .member-picker { border:0; padding:0; margin:0; }
.weekday-picker { display:flex; flex-wrap:wrap; gap:6px; }
.weekday-picker legend, .member-picker legend { font-size:11px; font-weight:700; margin-bottom:6px; }
.weekday-picker label { display:flex; gap:4px; align-items:center; padding:7px; border:1px solid var(--border); border-radius:8px; }
.review-panel, .statistics-panel { grid-column:1/-1; padding:24px; }
.review-card { display:grid; grid-template-columns:1fr auto; gap:8px 16px; align-items:center; padding:14px; border:1px solid var(--border); border-radius:12px; }
.review-workspace { grid-column:1/-1; padding:24px; }
.review-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr); gap:20px; }
.review-photos { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; }
.review-photos img { width:100%; border:1px solid var(--border); border-radius:12px; }
.review-mark { display:grid; grid-template-columns:minmax(0,1fr) 170px; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid var(--border); }
.statistics-grid { display:grid; grid-template-columns:repeat(4,minmax(120px,1fr)); gap:10px; margin-top:14px; }
.stat-card { padding:16px; border:1px solid var(--border); border-radius:12px; }
.stat-card strong { display:block; font-size:24px; }
.admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.admin-workspace > .panel:not(.learning-hero) { padding:24px; }
.invite-role-list { display:grid; gap:8px; max-height:280px; overflow:auto; }
.invite-role-row { display:grid; grid-template-columns:minmax(0,1fr) 130px; gap:8px; align-items:center; }
.admin-group-card { padding:18px; border:1px solid var(--border); border-radius:14px; }
.member-table { width:100%; border-collapse:collapse; margin-top:10px; }
.member-table th,.member-table td { text-align:left; padding:8px; border-top:1px solid var(--border); }
.student-journal { padding:24px; }
.student-assignment { padding:18px; border:1px solid var(--border); border-radius:14px; display:grid; gap:12px; }
.upload-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.upload-side { padding:12px; border:1px dashed var(--border); border-radius:12px; }
.upload-side.ready { border-color:var(--success); background:#f4fbf7; }
.inline-field { display:flex; align-items:center; gap:8px; }

@media (max-width: 1050px) {
  .teacher-journal { grid-template-columns:1fr; }
  .journal-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .review-panel,.statistics-panel,.review-workspace { grid-column:auto; }
  .review-layout { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .learning-workspace,.admin-workspace { padding:12px; }
  .learning-hero { align-items:stretch; flex-direction:column; }
  .teacher-journal,.journal-sidebar,.admin-grid { display:grid; grid-template-columns:1fr; }
  .calendar-panel { padding:12px; overflow-x:auto; }
  .calendar-weekdays,.calendar-grid { min-width:620px; }
  .statistics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .upload-grid { grid-template-columns:1fr; }
  .topbar-status { flex-wrap:wrap; }
  .compact-select select { min-width:110px; max-width:180px; }
}
