/* The approved white-card palette, applied to the working application. */
:root{color-scheme:light;--bg-page:#F7F8FA;--bg-surface:#FFFFFF;--bg-inset:#F1F3F5;--bg-raised:#FFFFFF;--bg-hover:#FCFCFD;--bg-overlay:rgba(17,24,39,.40);--text-primary:#111827;--text-secondary:#6B7280;--text-tertiary:#9CA3AF;--accent:#2563EB;--accent-hover:#1D4ED8;--accent-soft:#EFF6FF;--border:#E6E8EB;--border-subtle:#EFF1F4;--shadow-sm:0 1px 2px rgba(17,24,39,.04);--shadow-lg:0 12px 32px rgba(17,24,39,.12);--on-accent:#FFFFFF;--ink:var(--text-primary);--muted:var(--text-secondary);--green:var(--accent);--green-dark:var(--accent-hover);--pale:var(--accent-soft);--line:var(--border);--paper:var(--bg-surface);--bg:var(--bg-page);color:var(--text-primary);background:var(--bg-page)}
:root[data-theme=dark]{color-scheme:dark;--bg-page:#0F1115;--bg-surface:#16181D;--bg-inset:#1C1F26;--bg-raised:#1C1F26;--bg-hover:#1F232B;--bg-overlay:rgba(0,0,0,.60);--text-primary:#E6E8EB;--text-secondary:#9BA1AC;--text-tertiary:#6B7280;--accent:#60A5FA;--accent-hover:#93C5FD;--accent-soft:rgba(96,165,250,.14);--border:#262A33;--border-subtle:#1F232B;--shadow-sm:none;--shadow-lg:0 12px 32px rgba(0,0,0,.60);--on-accent:var(--bg-page)}
body,main{background:var(--bg-page)}.sidebar{background:var(--bg-inset)}.brand-icon{color:var(--accent);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.brand,.sidebar-note,.sidebar-note p,.nav-label{color:var(--text-primary)}.nav{color:var(--text-primary)}.nav:hover{background:var(--bg-surface)}.nav.active{background:var(--accent-soft);color:var(--accent)}.nav b{background:var(--bg-surface)}.status-dot{background:var(--accent)}.topbar,.topbar b{color:var(--text-secondary)}.pill{background:var(--bg-surface);color:var(--text-secondary)}.card{background:var(--bg-surface);border-color:transparent;box-shadow:var(--shadow-sm);border-radius:18px}.page-heading{background:var(--bg-surface);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm)}.hint,.fineprint,.section-intro,.profile-choice small,.form-help,.mapping-field small,.file-line small,.template-description p,.template-upload small,.result-row small,footer{color:var(--text-secondary);font-size:12px}.step,.doc-icon,.success-icon{background:var(--accent-soft);color:var(--accent);border-color:var(--border-subtle)}.dropzone,.template-upload{background:var(--bg-inset);border-color:var(--border)}.dropzone strong,.dropzone>span:not(.button):not(.upload-symbol){color:var(--text-primary)}.dropzone:hover,.dropzone.dragging{background:var(--accent-soft);border-color:var(--border)}.upload-symbol{background:var(--bg-surface);border-color:var(--border);color:var(--accent)}.primary{background:var(--accent);color:var(--on-accent);border-color:transparent}.primary:hover:not(:disabled){background:var(--accent-hover)}.secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border)}.secondary:hover{background:var(--bg-hover)}.text-button,.row-actions .delete-action{color:var(--accent)}.profile-choice{background:var(--bg-surface)}.profile-choice:has(input:checked){background:var(--accent-soft);border-color:var(--border)}.profile-choice:has(input:checked) small{color:var(--text-primary)}.type-tag,.type-tag.answer_sheet{background:var(--bg-inset);color:var(--text-primary)}.mini-paper{background:var(--bg-surface);border-color:var(--border);box-shadow:var(--shadow-sm)}.mini-paper.back{background:var(--bg-inset);border-color:var(--border)}.mini-paper span{color:var(--text-secondary)}.mini-paper i{background:var(--border)}.mini-grid{background:none;border-color:var(--border)}#selected-list{color:var(--text-secondary)}#selected-list li:before{color:var(--accent)}.stats{background:var(--bg-surface)}.stat span,.recognition summary,.recognition summary>span,.question-row p,.question-row small{color:var(--text-secondary)}.question-row strong{color:var(--text-primary)}.question-row{border-color:var(--border-subtle)}.message.info,.message.warning,.message.error{background:var(--accent-soft);color:var(--text-primary);border-color:var(--border)}.template-explainer{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-subtle)}.template-explainer p,.template-explainer>b,.table-header h2>span,.checkbox-row,.dialog-footer>span{color:var(--text-secondary)}dialog{background:var(--bg-raised);color:var(--text-primary);box-shadow:var(--shadow-lg);border-color:var(--border)}dialog::backdrop{background:var(--bg-overlay)}.close-button{background:var(--bg-inset);color:var(--text-primary)}.dialog-footer{background:var(--bg-raised)}.form-row label,.field-label,.mapping-field,.counts-grid label{color:var(--text-secondary)}input:not([type=checkbox]):not([type=file]),select,textarea{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.required{color:var(--accent)}.toast{background:var(--bg-raised);color:var(--text-primary);border-color:var(--border-subtle);box-shadow:var(--shadow-lg)}.practice-table th{background:var(--bg-inset);color:var(--text-primary)}.practice-table td{background:var(--bg-surface)}
.app-appearance{margin-top:auto;padding:25px 8px 20px}.app-appearance label{font-size:12px;color:var(--text-primary)}.sidebar-note{margin-top:0}.app-appearance select{font-size:12px}button:disabled,input:disabled,select:disabled{opacity:1;background:var(--bg-inset);color:var(--text-tertiary);border-color:var(--border);cursor:not-allowed}button,input,select,textarea,.nav,.profile-choice{transition:background-color .15s ease,color .15s ease,box-shadow .2s ease}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 3px var(--accent-soft)}
@media(max-width:850px){.sidebar{flex-wrap:wrap;gap:13px}.sidebar nav{order:3;flex-basis:100%;justify-content:space-between}.app-appearance{margin:0;padding:0}.app-appearance label{display:none}.app-appearance select{margin:0;width:108px;min-height:34px}.page-heading{padding:20px}.nav{font-size:12px;gap:4px;padding:10px 8px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
