:root {
    --injector-ink: var(--ui-ink, #0f172a);
    --injector-ink-soft: var(--ui-ink-soft, #334155);
    --injector-muted: var(--ui-muted, #64748b);
    --injector-line: var(--ui-line, #e2e8f0);
    --injector-line-strong: var(--ui-line-strong, #cbd5e1);
    --injector-surface: var(--ui-surface, #ffffff);
    --injector-subtle: var(--ui-subtle, #f8fafc);
    --injector-accent: var(--ui-accent, var(--c600, #4f46e5));
}

html.dark {
    --injector-ink: var(--ui-ink, #f8fafc);
    --injector-ink-soft: var(--ui-ink-soft, #e2e8f0);
    --injector-muted: var(--ui-muted, #94a3b8);
    --injector-line: var(--ui-line, #334155);
    --injector-line-strong: var(--ui-line-strong, #475569);
    --injector-surface: var(--ui-surface, #1e293b);
    --injector-subtle: var(--ui-subtle, #0f172a);
}

.injector-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.injector-result-card {
    min-width: 0;
    padding: 16px;
    color: var(--injector-ink);
    border: 1px solid var(--injector-line);
    border-radius: 9px;
    background: var(--injector-subtle);
}

.injector-result-card p {
    margin: 0;
    color: var(--injector-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.injector-result-card strong {
    display: block;
    margin-top: 7px;
    color: var(--injector-accent);
    font-size: 23px;
    line-height: 1.1;
}

.injector-result-card span {
    display: block;
    margin-top: 6px;
    color: var(--injector-muted);
    font-size: 11px;
    line-height: 1.4;
}

.injector-reading-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

#tool-panel-injector input:disabled,
#ro-quick-panel-injector input:disabled {
    cursor: not-allowed;
    opacity: .48;
}

.injector-print-sheet {
    max-width: 980px;
    margin: 0 auto;
    color: #111827;
    font-family: Arial, Helvetica, sans-serif;
}

.injector-print-header {
    display: flex;
    padding-bottom: 20px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 3px solid #111827;
}

.injector-print-header h1 { margin: 3px 0 4px; font-size: 32px; line-height: 1.05; letter-spacing: -.03em; }
.injector-print-header p { margin: 0; color: #6b7280; font-size: 12px; }
.injector-print-header > div:last-child { display: flex; align-items: flex-end; flex-direction: column; gap: 5px; text-align: right; }
.injector-print-header > div:last-child strong { font-size: 17px; }
.injector-print-header > div:last-child span { color: #6b7280; font-size: 12px; }
.injector-print-kicker { color: #2458d6 !important; font-size: 10px !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.injector-print-info,
.injector-print-summary {
    display: grid;
    margin-top: 20px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.injector-print-info > div,
.injector-print-summary > div { min-height: 68px; padding: 11px 12px; border: 1px solid #d1d5db; border-radius: 8px; }
.injector-print-info span,
.injector-print-summary span { display: block; margin-bottom: 6px; color: #6b7280; font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.injector-print-info strong,
.injector-print-summary strong { display: block; font-size: 15px; line-height: 1.25; overflow-wrap: anywhere; }
.injector-print-summary > div { background: #f9fafb; }
.injector-print-summary > div.pass { color: #087a4e; border-color: #9ed7bd; background: #edf9f3; }
.injector-print-summary > div.attention { color: #b42318; border-color: #f1b5ae; background: #fff4f2; }
.injector-print-table { width: 100%; margin-top: 22px; border-collapse: collapse; }
.injector-print-table th { padding: 9px 10px; color: #374151; border: 1px solid #d1d5db; background: #f3f4f6; font-size: 10px; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.injector-print-table td { padding: 10px; border: 1px solid #d1d5db; font-size: 12px; font-weight: 600; }
.injector-print-notes { min-height: 100px; margin-top: 22px; padding: 16px; border: 1px solid #d1d5db; border-radius: 8px; }
.injector-print-notes h2 { margin: 0 0 9px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.injector-print-notes p { margin: 0; color: #374151; font-size: 13px; line-height: 1.55; white-space: pre-wrap; }
.injector-print-disclaimer { margin: 18px 0 0; color: #6b7280; font-size: 10px; line-height: 1.5; }

.injector-print-preview-dialog {
    display: flex;
    width: min(1040px, calc(100vw - 32px));
    max-height: min(920px, calc(100dvh - 32px));
    color: var(--injector-ink);
    border: 1px solid var(--injector-line);
    border-radius: 16px;
    background: var(--injector-surface);
    box-shadow: 0 24px 70px rgba(15, 23, 42, .3);
    flex-direction: column;
    overflow: hidden;
}

.injector-print-preview-toolbar {
    display: flex;
    min-height: 74px;
    padding: 15px 18px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--injector-line);
    background: var(--injector-surface);
}

.injector-print-preview-toolbar p { margin: 0 0 3px; color: var(--injector-muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.injector-print-preview-toolbar h3 { margin: 0; font-size: 19px; }
.injector-print-preview-actions { display: flex; align-items: center; gap: 8px; }
.injector-print-preview-actions button {
    min-height: 36px;
    padding: 8px 15px;
    color: var(--injector-ink-soft);
    border: 1px solid var(--injector-line-strong);
    border-radius: 7px;
    background: var(--injector-surface);
    font-size: 11px;
    font-weight: 700;
}
.injector-print-preview-actions .injector-print-preview-primary { color: #fff; border-color: var(--injector-accent); background: var(--injector-accent); }
.injector-print-preview-notice { padding: 9px 18px; color: var(--injector-muted); border-bottom: 1px solid var(--injector-line); background: var(--injector-subtle); font-size: 10px; font-weight: 600; line-height: 1.45; }
.injector-print-preview-content { min-height: 0; padding: 28px; overflow: auto; color: #111827; background: #e6e9ee; }
.injector-print-preview-content .injector-print-sheet { padding: 34px; background: #fff; box-shadow: 0 8px 30px rgba(15, 23, 42, .12); }

@media (max-width: 767px) {
    .injector-result-grid { grid-template-columns: 1fr; }
    .injector-reading-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .injector-print-preview-dialog { width: min(100%, calc(100vw - 18px)); max-height: calc(100dvh - 18px); }
    .injector-print-preview-toolbar { min-height: 66px; padding: 12px; align-items: stretch; flex-direction: column; gap: 9px; }
    .injector-print-preview-toolbar p { display: none; }
    .injector-print-preview-toolbar h3 { font-size: 15px; }
    .injector-print-preview-actions { width: 100%; }
    .injector-print-preview-actions button { min-height: 34px; padding: 7px 9px; flex: 1; }
    .injector-print-preview-notice { padding: 8px 12px; font-size: 9px; }
    .injector-print-preview-content { padding: 10px; }
    .injector-print-preview-content .injector-print-sheet { min-width: 720px; padding: 24px; }
}

@media print {
    .injector-print-sheet { max-width: none; }
}
