/* Standform reader design system: quiet industrial surfaces and semantic tokens. */
:root {
    color-scheme: light;
    --bg: #f5f5f5;
    --panel: #ffffff;
    --panel-soft: #ededed;
    --text: #292929;
    --muted: #626262;
    --line: #dcdcdc;
    --control-line: #8b8b8b;
    --accent: #175caa;
    --accent-hover: #114881;
    --accent-soft: #e9f1fb;
    --on-accent: #ffffff;
    --notice: #edf2f8;
    --notice-text: #435b78;
    --radius: 5px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-6: 24px;
    --space-8: 32px;
    --space-12: 48px;
    --shadow: 0 8px 32px rgb(0 0 0 / 5%);
}
/* CSS also follows the OS when JavaScript is unavailable. */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme='light']) {
        color-scheme: dark;
        --bg: #202020;
        --panel: #282828;
        --panel-soft: #323232;
        --text: #ededed;
        --muted: #b9b9b9;
        --line: #444444;
        --control-line: #818181;
        --accent: #8abaff;
        --accent-hover: #b1d1ff;
        --accent-soft: #25364d;
        --on-accent: #132640;
        --notice: #30343a;
        --notice-text: #d1dfef;
        --shadow: 0 8px 32px rgb(0 0 0 / 10%);
    }
}
:root[data-theme='dark'] {
    color-scheme: dark;
    --bg: #202020;
    --panel: #282828;
    --panel-soft: #323232;
    --text: #ededed;
    --muted: #b9b9b9;
    --line: #444444;
    --control-line: #818181;
    --accent: #8abaff;
    --accent-hover: #b1d1ff;
    --accent-soft: #25364d;
    --on-accent: #132640;
    --notice: #30343a;
    --notice-text: #d1dfef;
    --shadow: 0 8px 32px rgb(0 0 0 / 10%);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: 16px/1.65 'Segoe UI', system-ui, sans-serif; }
a { color: var(--accent); text-underline-offset: 4px; text-decoration-thickness: 1px; }
a:hover { color: var(--accent-hover); }
a, input, select, button { touch-action: manipulation; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
::selection { background: var(--accent); color: var(--on-accent); }
[hidden] { display: none !important; }

/* Shell and navigation */
header { background: var(--panel); border-top: 4px solid var(--accent); border-bottom: 1px solid var(--line); }
.header-inner { max-width: 1440px; margin: auto; padding: var(--space-6) var(--space-8) 0; display: grid; grid-template-columns: 1fr auto; gap: var(--space-6) var(--space-8); align-items: center; }
.brand { display: block; color: inherit; text-decoration: none; border-left: 3px solid var(--accent); padding-left: var(--space-3); font-size: 25px; font-weight: 680; line-height: 1.25; letter-spacing: -.6px; }
.brand span { display: block; margin-top: 5px; font-size: 12px; letter-spacing: .1px; font-weight: 400; color: var(--muted); }
.header-tools { grid-column: 2; grid-row: 1; display: flex; align-items: center; justify-content: flex-end; gap: var(--space-6); }
#account-link { max-width: 18ch; font-size: 13px; line-height: 1.4; text-decoration: none; padding-block: var(--space-3); }
.theme-control { display: flex; align-items: center; gap: var(--space-2); flex-shrink: 0; color: var(--muted); font-size: 13px; }
.theme-control select { width: 132px; min-height: 44px; margin: 0; padding: 8px 10px; font-size: 14px; }
#views { grid-column: 1 / -1; grid-row: 2; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-8); }
#views a { padding: 0 0 var(--space-3); border-bottom: 3px solid transparent; color: var(--muted); font-size: 15px; text-decoration: none; }
#views a:hover, #views a[aria-current] { color: var(--accent); }
#views a[aria-current] { border-bottom-color: var(--accent); font-weight: 650; }
.notice { position: sticky; top: 0; z-index: 2; padding: 11px var(--space-6); background: var(--notice); color: var(--notice-text); border-bottom: 1px solid var(--line); font-size: 13px; line-height: 1.5; text-align: center; }
.layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); max-width: 1440px; margin: auto; }
aside { padding: var(--space-8) var(--space-6); border-right: 1px solid var(--line); background: var(--panel); align-self: start; position: sticky; top: 82px; max-height: calc(100vh - 96px); overflow: auto; scrollbar-width: thin; scrollbar-color: var(--line) transparent; }
aside h1 { font-size: 16px; line-height: 1.5; font-weight: 650; margin: 0 0 var(--space-3); }
aside p, label { color: var(--muted); font-size: 13px; }
#counts { font-size: 12px; line-height: 1.7; }
#result-count { font-size: 12px; margin-block: var(--space-3); }
#sections { display: grid; gap: 2px; margin-top: var(--space-4); }
#sections a { display: block; padding: 11px 12px; border-left: 3px solid transparent; border-radius: 0 var(--radius) var(--radius) 0; color: var(--text); text-decoration: none; font-size: 14px; line-height: 1.5; }
#sections a:hover { background: var(--panel-soft); }
#sections a[aria-current] { background: var(--accent-soft); color: var(--accent); border-left-color: var(--accent); font-weight: 650; }
#sections small { display: block; font-size: 11px; font-weight: 400; color: var(--muted); margin-top: 3px; }

/* Reading surfaces */
main { min-width: 0; padding: var(--space-12) clamp(24px, 4vw, 64px) 72px; }
main h1 { max-width: 29ch; font-size: clamp(27px, 3vw, 38px); font-weight: 630; letter-spacing: -.8px; line-height: 1.22; margin: var(--space-4) 0 var(--space-6); }
h2 { font-size: 21px; font-weight: 630; letter-spacing: -.25px; line-height: 1.4; margin: 0 0 var(--space-4); }
h3 { font-size: 16px; font-weight: 650; margin-block: var(--space-6) var(--space-2); }
p { margin: 0 0 var(--space-4); max-width: 76ch; }
.lead { font-size: 18px; line-height: 1.65; color: var(--muted); max-width: 68ch; }
.badge { display: inline-block; padding: 3px 9px; border-radius: 3px; background: var(--notice); color: var(--notice-text); font-size: 12px; font-weight: 600; letter-spacing: .1px; }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: var(--space-8); margin-block: var(--space-6); overflow-wrap: anywhere; }
.card > :last-child { margin-bottom: 0; }
.card.warning, .card.review { border-left: 3px solid var(--accent); }
.body { white-space: pre-line; }
.meta, .read-only { color: var(--muted); font-size: 13px; line-height: 1.65; }
.read-only { padding-left: var(--space-3); border-left: 2px solid var(--line); margin-bottom: var(--space-6); }
.related { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.related a { padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius); font-size: 13px; text-decoration: none; }
.related a:hover { background: var(--accent-soft); border-color: var(--accent); }
.pager { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-4); padding-top: var(--space-6); margin-block: var(--space-8); border-top: 1px solid var(--line); }
.pager a { padding-block: 10px; font-size: 14px; font-weight: 600; text-decoration: none; }
ul { padding-left: 22px; margin-block: var(--space-3) var(--space-4); }
li { margin-block: var(--space-2); max-width: 74ch; }
li::marker { color: var(--muted); }
main, .card { scroll-margin-top: 140px; }
.layout.document-view { grid-template-columns: minmax(0, 1fr); max-width: 1080px; }
.document-view aside { display: none; }
#error { margin: var(--space-6); padding: var(--space-6); background: var(--notice); color: var(--notice-text); }
.skip-link { position: absolute; top: -100px; left: 16px; padding: 12px; background: var(--panel); z-index: 5; }
.skip-link:focus { top: 10px; }

/* Shared form controls and authentication */
input, select { width: 100%; min-height: 46px; padding: 10px 12px; margin-top: 7px; border: 1px solid var(--control-line); border-radius: var(--radius); background: var(--panel); color: var(--text); font: inherit; }
input:hover, select:hover { border-color: var(--muted); }
input::placeholder { color: var(--muted); opacity: 1; }
button { min-height: 44px; padding: 10px 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); color: var(--accent); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
button:hover { background: var(--accent-soft); border-color: var(--accent); }
button[type='submit'] { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
button[type='submit']:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
button:disabled { opacity: .6; cursor: wait; }
.auth-page .header-inner { padding-bottom: var(--space-6); }
.auth-card { max-width: 544px; margin: var(--space-12) auto 0; padding: 36px; background: var(--panel); border: 1px solid var(--line); border-top: 3px solid var(--accent); border-radius: var(--radius); box-shadow: var(--shadow); }
.auth-card h1 { margin-top: 0; font-size: 29px; }
.auth-card h2 { margin-top: var(--space-8); }
.auth-card p { color: var(--muted); font-size: 15px; }
.auth-card form { display: grid; gap: var(--space-2); margin-block: var(--space-6); }
.auth-card label { display: block; font-size: 13px; font-weight: 600; margin-top: var(--space-2); }
.auth-card form input { margin: 0 0 var(--space-2); }
.auth-card > button { margin: 0 var(--space-2) var(--space-3) 0; }
.auth-card form button { margin-top: var(--space-2); }
.auth-link { display: inline-block; padding-block: 12px; margin-right: var(--space-4); font-size: 14px; font-weight: 600; }
.auth-message { max-width: 544px; margin: var(--space-4) auto var(--space-8); padding: 0 var(--space-4); color: var(--notice-text); font-size: 14px; }
.auth-message:not(:empty) { padding: var(--space-4); border-radius: var(--radius); background: var(--notice); }
.auth-key { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); border-bottom: 1px solid var(--line); padding-block: var(--space-3); overflow-wrap: anywhere; font-size: 14px; }
.auth-key span { min-width: 0; }
.auth-key button { flex-shrink: 0; }

@media (max-width: 900px) {
    .layout { grid-template-columns: 250px minmax(0, 1fr); }
    aside { padding: var(--space-6) var(--space-4); }
    main { padding: var(--space-8) var(--space-6) var(--space-12); }
    .card { padding: var(--space-6); }
}
@media (max-width: 760px) {
    .header-inner { padding: var(--space-6) var(--space-6) 0; gap: var(--space-4); }
    .header-tools { gap: var(--space-3); }
    #views { gap: var(--space-2) var(--space-6); }
    #views a { font-size: 14px; }
    .layout { grid-template-columns: 1fr; }
    aside { position: static; max-height: none; padding: var(--space-6); border-right: 0; border-bottom: 1px solid var(--line); }
    #sections { max-height: 230px; overflow: auto; }
    main { padding: var(--space-8) var(--space-6) var(--space-12); }
    .card { padding: var(--space-6); }
    .notice { padding-inline: var(--space-4); font-size: 12px; }
    .auth-card { margin: var(--space-6) auto 0; max-width: calc(100% - 32px); padding: var(--space-6); }
    .auth-message { max-width: calc(100% - 32px); }
}
@media (max-width: 600px) {
    .reader-page .header-tools { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; }
    .reader-page #views { grid-row: 3; }
    .theme-control select { width: 118px; }
    .auth-page .header-inner { padding-inline: var(--space-4); gap: var(--space-3); }
    .auth-page .theme-control { flex-direction: column; align-items: flex-start; gap: 2px; }
    .auth-page .brand { font-size: 22px; }
}
@media print {
    header, aside, .pager, .skip-link { display: none; }
    .layout { display: block; }
    .notice { position: static; border: 1px solid; }
    main { padding: 0; }
    .card { break-inside: avoid; box-shadow: none; }
    :root, :root[data-theme='dark'], :root[data-theme='light'], :root:not([data-theme='light']) {
        color-scheme: light; --bg: white; --panel: white; --text: black; --muted: #333; --line: #999; --accent: #174b82; --notice: white; --notice-text: black;
    }
}

/* Compact version-specific reading responses and review tools. */
.card { position: relative; }
.card-actions { display: flex; flex-wrap: wrap; gap: 4px 12px; justify-content: flex-end; border-top: 1px solid var(--line); margin-top: 20px; padding-top: 8px; }
.card-actions button { min-height: 34px; padding: 4px 8px; border-color: transparent; background: transparent; color: var(--muted); font-size: 12px; font-weight: 400; }
.card-actions button:first-child { margin-right: auto; }
.card-actions button:hover, .card-actions button[aria-pressed='true'] { color: var(--accent); background: var(--accent-soft); }
.card-actions button[aria-pressed='true'] { font-weight: 650; border-color: var(--accent); }
.changed-note { color: var(--accent); font-size: 13px; margin-top: 16px; }
.has-comments > h2 { padding-right: 60px; }
.comment-indicator { position: absolute; right: 16px; top: 16px; border-radius: 20px; min-width: 36px; min-height: 36px; padding: 3px 10px; background: var(--accent-soft); }
.review-dialog { color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); width: min(700px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); padding: 24px; overflow: auto; }
.review-dialog::backdrop { background: rgb(0 0 0 / 55%); }
.review-dialog h2 { padding-right: 70px; overflow-wrap: anywhere; }
.dialog-close { position: absolute; top: 16px; right: 16px; }
.review-dialog label { display: block; margin-top: 16px; }
textarea { width: 100%; margin-block: 8px 16px; padding: 12px; border: 1px solid var(--control-line); border-radius: var(--radius); font: inherit; color: var(--text); background: var(--panel); resize: vertical; }
.dialog-status { color: var(--accent); }
.comment-row, .user-row { padding-block: 16px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.user-row button { margin: 4px 8px 0 0; }
.user-form { max-width: 540px; margin-block: 24px; display: grid; gap: 8px; }
@media print { .card-actions, .comment-indicator, dialog, .user-form { display: none; } }

/* Card emphasis is visual; it does not move cards or add warning text. */
:root { --card-blue: #175caa; --card-amber: #a35c00; --card-red: #b32632; }
:root[data-theme='dark'] { --card-blue: #8abaff; --card-amber: #f0b857; --card-red: #ff8b8b; }
@media (prefers-color-scheme: dark) { :root:not([data-theme='light']) { --card-blue: #8abaff; --card-amber: #f0b857; --card-red: #ff8b8b; } }
.card.card-highlight, .card.review { border: 1px solid var(--card-blue); border-left: 4px solid var(--card-blue); }
.card.card-warning, .card.warning { border: 1px solid var(--card-amber); border-left: 4px solid var(--card-amber); }
.card.card-attention { border: 1px solid var(--card-red); border-left: 4px solid var(--card-red); }
.card-version { color: var(--muted); font-size: 11px; margin: 16px 0 0; }
.format-toolbar { display: flex; gap: 8px; margin: 12px 0; }
.format-toolbar button { min-width: 44px; }
.format-toolbar button:nth-child(1) { font-weight: 700; }
.format-toolbar button:nth-child(2) { font-style: italic; }
.format-toolbar button:nth-child(3) { text-decoration: underline; }
.history-entry { border-top: 1px solid var(--line); padding: 16px 0; overflow-wrap: anywhere; }
.signature-section { margin: 40px 0; padding: 24px 0; border-top: 1px solid var(--line); }
.signature-section button { margin: 0 8px 12px 0; }
.signature-section button:disabled { cursor: not-allowed; opacity: .55; }
.signature-canvas { display: block; width: 100%; max-width: 600px; height: auto; aspect-ratio: 10 / 3; background: white; border: 1px solid var(--control-line); border-radius: var(--radius); touch-action: none; }
.review-dialog .signature-canvas { margin: 12px 0 20px; }
/* Compact account and theme controls, with accessible labels on every icon. */
.header-tools { gap: 12px; }
.theme-control { display: inline-flex; flex-direction: row; align-items: center; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: var(--radius); }
.theme-button, #account-link { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; min-height: 40px; padding: 8px; margin: 0; border: 1px solid transparent; color: var(--muted); background: transparent; border-radius: var(--radius); }
.theme-button svg, #account-link svg { width: 20px; height: 20px; }
.theme-button[aria-pressed='true'] { background: var(--accent-soft); color: var(--accent); }
#account-link:hover, .theme-button:hover { background: var(--accent-soft); color: var(--accent); }
@media (max-width: 600px) {
    .reader-page .header-inner, .auth-page .header-inner { padding-inline: 16px; gap: 8px; }
    .reader-page .header-tools, .auth-page .header-tools { grid-column: 2; grid-row: 1; gap: 4px; }
    .reader-page #views { grid-row: 2; }
    .auth-page .theme-control { flex-direction: row; align-items: center; }
    .brand, .auth-page .brand { font-size: 21px; min-width: 0; }
    .theme-button, #account-link { width: 38px; height: 40px; }
}
.view-permissions { margin: 12px 0; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); }
.view-permissions label { display: flex; align-items: center; gap: 10px; margin: 7px 0; font-size: 14px; }
.view-permissions input { width: 18px; min-height: 18px; margin: 0; accent-color: var(--accent); }
.view-permissions legend { color: var(--muted); font-size: 13px; }

.bulk-views { max-width: 700px; margin: 24px 0; }
.bulk-views button { margin: 8px 8px 4px 0; }
.bulk-views [role="status"] { margin: 8px 0 0; }

.views-panel { margin: 32px 0; }
.view-summary { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 12px 0; border-bottom: 1px solid var(--line); }
.view-summary strong { min-width: 180px; }
.view-summary .meta { margin: 0 auto 0 0; }
.view-user-list { max-height: 45vh; overflow: auto; margin: 12px 0 20px; }
.view-user-list label { display: flex; align-items: center; gap: 10px; padding: 6px; overflow-wrap: anywhere; }
.view-user-list input { width: 18px; min-height: 18px; margin: 0; accent-color: var(--accent); }
.structure-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 20px 0; }
.structure-toolbar .meta { width: 100%; }
.structure-add { width: 100%; border-style: dashed; margin: 4px 0; }
.structure-archive { margin-top: 16px; }
.structure-pending { opacity: .6; }

.view-default { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; }
.view-default input { width: 18px; min-height: 18px; margin: 0; accent-color: var(--accent); }

.review-dialog form { display: grid; gap: 8px; margin-top: 20px; }
.review-dialog form button[type="submit"] { margin-top: 12px; }
.product-choices { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.product-choices a { display: block; padding: 18px 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); font-weight: 600; }
.standard-sections { display: flex; gap: 8px; overflow-x: auto; padding: 12px 0; }
.standard-sections a { flex: 0 0 auto; padding: 8px; }
.standard-sections a[aria-current="page"] { font-weight: 700; }
.standard-table { overflow-x: auto; overscroll-behavior-x: contain; }
.standard-table table { border-collapse: collapse; width: 100%; }
.standard-table th, .standard-table td { border: 1px solid var(--line); padding: 10px; text-align: left; vertical-align: top; }
.risk-form { display: grid; gap: 10px; }
.risk-form input, .risk-form textarea { max-width: 700px; }
.form-section { margin: 12px 0; }
.risk-row { padding: 16px 0; border-bottom: 1px solid var(--line); }
.risk-row .card-actions { margin: 10px 0; }
.risk-row textarea { display: block; width: 100%; margin: 8px 0; }
.risk-row textarea[hidden], .risk-row label[hidden] { display: none; }
.form-checkbox { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.form-checkbox input { width: 20px; min-height: 20px; margin: 0; }
.theme-button [data-icon], #account-link [data-icon] { display: inline-flex; }
.structure-pencil svg, .structure-move svg, .structure-add svg, .comment-indicator svg, .pager svg, .format-toolbar svg { width: 18px; height: 18px; vertical-align: middle; }
.structure-add svg, .comment-indicator svg, .pager svg { margin-inline: 4px; }
.form-header-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 24px; }
.risk-row .form-choices { justify-content: flex-start; border-top: 0; padding-top: 0; }
.risk-row .form-choices button:first-child { margin-right: 0; }

.risk-row .form-choices-completed { justify-content: flex-end; }
.risk-row .form-choices-split { justify-content: space-between; }
.standard-pager { align-items: center; margin-block: 16px; padding-top: 12px; }
.standard-pager .meta { margin: 0; }
.standard-slide { min-width: 0; }
.standard-slide-preview { display: none; }
@media (max-width: 760px) {
    .standard-carousel { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .standard-carousel::-webkit-scrollbar { display: none; }
    .standard-slide { flex: 0 0 100%; width: 100%; scroll-snap-align: start; }
    .standard-slide-preview { display: block; padding: 20px 16px; color: var(--muted); }
}

.form-missing-link { min-height: 44px; padding: 6px 0; border: 0; background: transparent; text-align: left; text-decoration: underline; }
.form-missing li, .signature-missing li { margin-block: 4px; }
.standard-table-accordion { display: none; }
.wire-color-option { display: inline-flex; align-items: center; gap: 8px; margin: 2px 8px 2px 0; }
.wire-color-sample { display: inline-block; flex: 0 0 36px; width: 36px; height: 11px; border: 1px solid #6f7781; border-radius: 999px; }
.wire-color-sample[data-wire-sample='green-yellow'] { background: linear-gradient(180deg, #159447 0 50%, #ffd400 50%); }
.wire-color-sample[data-wire-sample='light-red'] { background: #e37ed5; }
.wire-color-sample[data-wire-sample='light-blue'] { background: #7ec8e3; }
.wire-color-sample[data-wire-sample='black'] { background: #111; }
.wire-color-sample[data-wire-sample='red'] { background: #d71920; }
.wire-color-sample[data-wire-sample='orange'] { background: #f28c28; }
.wire-color-sample[data-wire-sample='dark-blue'] { background: #003f8f; }
.wire-color-sample[data-wire-sample='white-dark-blue'] { background: linear-gradient(180deg, #fff 0 15%, #003f8f 15% 65%, #fff 65%); }
.wire-color-sample[data-wire-sample='white-blue'] { background: linear-gradient(180deg, #fff 0 15%, #0070c8 15% 65%, #fff 65%); }
.wire-color-sample[data-wire-sample='violet'], .wire-color-sample[data-wire-sample='bus-can-profibus'] { background: #7a3db8; }
.wire-color-sample[data-wire-sample='white'] { background: #fff; }
.wire-color-sample[data-wire-sample='bus-profinet-absolute'] { background: #159447; }
.wire-color-sample[data-wire-sample='bus-ethercat'] { background: #ffd400; }
.wire-color-sample[data-wire-sample='bus-ethernet-blue'] { background: #0070c8; }
.wire-color-sample[data-wire-sample='grey'], .wire-color-sample[data-wire-sample='bus-ethernet-grey'] { background: #9ca3af; }
.wire-color-sample[data-wire-sample='manufacturer-specific'] { background: repeating-linear-gradient(135deg, #8e96a1 0 6px, #d2d8de 6px 12px); border-style: dashed; }
@media (max-width: 760px) {
    .standard-table-container > .standard-table { display: none; }
    .standard-table-accordion { display: grid; gap: 8px; margin-block: 16px; }
    .standard-table-accordion details { border: 1px solid var(--line); border-radius: var(--radius); padding: 10px 12px; }
    .standard-table-accordion summary { cursor: pointer; font-weight: 600; }
    .standard-table-accordion summary .standard-cell-value { display: block; margin-top: 6px; }
    .standard-table-field { display: grid; gap: 3px; padding-top: 10px; }
}
.quick-guide-item { border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; margin-block: 10px; }
.quick-guide-item summary { cursor: pointer; }
.quick-guide-item summary strong, .quick-guide-item summary span { display: block; }
.preparation-card { border: 1px solid var(--line); border-left: 3px solid var(--muted); background: var(--panel); }
.preparation-card details > summary { display: flex; align-items: center; gap: 10px; cursor: pointer; list-style: none; }
.preparation-card details > summary::-webkit-details-marker { display: none; }
.preparation-card summary h2 { margin: 0; flex: 1; }
.preparation-label { color: var(--muted); font-size: 12px; }
.preparation-card summary svg { width: 18px; height: 18px; transition: transform .15s; }
.preparation-card details[open] > summary svg { transform: rotate(180deg); }
.handbook-print { display: none; }
@media print {
    @page { size: A4; margin: 18mm 17mm 20mm; @bottom-center { content: counter(page); font-size: 9pt; } }
    body.handbook-printing > :not(#handbook-print) { display: none !important; }
    body.handbook-printing { background: #fff !important; color: #111 !important; font: 10pt/1.45 Arial, sans-serif; }
    body.handbook-printing #handbook-print { display: block; color: #111; background: #fff; }
    .handbook-print h1 { font-size: 20pt; margin: 0 0 12pt; color: #111; }
    .handbook-print h2 { font-size: 13pt; margin: 14pt 0 5pt; color: #111; break-after: avoid; }
    .handbook-print h3 { font-size: 11pt; color: #111; break-after: avoid; }
    .handbook-print p, .handbook-print li { color: #111; orphans: 3; widows: 3; }
    .handbook-print-cover { break-after: page; padding-top: 35mm; }
    .handbook-print-toc { break-after: page; }
    .handbook-print-toc ol { list-style: none; padding: 0; }
    .handbook-print-section { break-before: page; }
    .handbook-print-block { break-inside: avoid; }
    .handbook-print-status { color: #8b1c1c !important; font-weight: bold; font-size: 10pt; }
}
