/* Shared account appearance colors and coverage for workspace/builder surfaces. */
html[data-theme="dark"] { --ink:#eef0f6; --muted:#b4bdcd; --line:#454e62; --panel:#232a38; --shadow:0 18px 50px #0005; --ui-subtle:#b4bdcd; --ui-raised:#2c3546; }
html[data-theme="dark"] :is(.create-new-menu,.workspace-choice-panel,.workspace-customizer,.workspace-options-dropdown,.tile-menu-panel,.file-options-menu,.file-export-options,.move-dialog,.data-viewer-card,.data-viewer-card>header,.data-table-wrap,.selected-type,.palette-info,.style-card,.template-card,.image-browser-card,.signature-dialog,.folder-viewer-card>header) { background:var(--panel); color:var(--ink); border-color:var(--line); }
html[data-theme="dark"] :is(.breadcrumb strong,.workspace-title,.workspace-title h1,.workspace-chooser h1,.folder-file-info b,.tile-name,.tile-name b,.tile-info b,.element-item b,.selected-type b,.palette-info b,.data-viewer-card h2,.template-card b,.profile-card h2,.move-dialog h2) { color:var(--ink); }
html[data-theme="dark"] :is(.setting-label,.check-row,.edit-hint,.image-mode-hint,.palette-info p,.palette-info small,.element-item small,.element-section-title,.workspace-title p,.workspace-choice small,.workspace-folder small,.folder-file-info small,.tile-info small,.file-export-options small,.export-extension,.form-page-controls label,.form-page-controls small,.dialog-input-label,.signature-placeholder,.profile-details label,.reference-dialog-card p,.submission-animation-card small,.folder-viewer-card header small,.data-empty,.template-empty,.workspace-empty,.actions-tray-info,.tray-page-navigation) { color:var(--ui-subtle); }
html[data-theme="dark"] :is(.preview-btn,.icon-btn,.all-workspaces,.rename-workspace,.workspace-settings-btn,.folder-up,.folder-download,.form-spotlight,.database-create,.style-card,.template-card button,.image-browser-card button,.data-viewer-card header button,.move-dialog button,.signature-dialog button,.drawing-toolbar button,.file-export-menu>summary,.file-options>summary) { background:var(--ui-raised); color:var(--ink); border-color:var(--line); }
html[data-theme="dark"] :is(.create-new-menu,.workspace-choice-panel,.tile-menu-panel,.file-options-menu,.file-export-options,.workspace-customizer) button { color:var(--ink); }
html[data-theme="dark"] :is(.create-new-menu,.workspace-choice-panel,.tile-menu-panel,.file-options-menu,.file-export-options) button:hover,
html[data-theme="dark"] :is(.element-item,.style-card,.template-card):hover { background:var(--ui-raised); color:var(--ink); }
html[data-theme="dark"] :is(.element-icon,.file-type-icon,.folder-icon,.export-extension,.selected-type) { background:var(--ui-raised); color:#c5beff; }
html[data-theme="dark"] :is(input,textarea,select) { color-scheme:dark; accent-color:#a99eff; }
html[data-theme="dark"] :is(input,textarea)::placeholder { color:#a3adbf; opacity:1; }
html[data-theme="dark"] :is(.data-table th,.data-table td,.data-table thead,.data-table tr) { background:var(--panel); color:var(--ink); border-color:var(--line); }
html[data-theme="dark"] .data-table th { background:var(--ui-raised); color:var(--ui-subtle); }
html[data-theme="dark"] :is(.settings-tabs,.account-divider,.setting-divider,.profile-details,.folder-contents,.data-viewer-card>header) { border-color:var(--line); }
html[data-theme="dark"] :is(.settings-tabs button,.canvas-controls button,.canvas-controls,.brush-row label,.drawing-tool label) { color:var(--ui-subtle); }
html[data-theme="dark"] .settings-tabs button.active { color:#c5beff; border-color:#a99eff; }
html[data-theme="dark"] :is(.signature-error,.login-error,.delete-field,.account-logout,.file-options-menu button:last-child) { color:#ffaaa5; }
html[data-theme="dark"] :is(.signature-dialog [data-sign="accept"],.tavoryn-dialog .dialog-accept,.confirm-move) { background:#277a50; color:#fff; border-color:#388b63; }
html[data-theme="dark"] .page-filling-actions #publishBtn { background:#6558e8; color:#fff; }
html[data-theme="dark"] button:disabled { opacity:.45; }
html[data-theme="dark"] :is(button,summary,input,textarea,select):focus-visible { outline:2px solid #b7adff; outline-offset:2px; }
/* Paper and uploaded artwork keep their document colors; surrounding tools use dark surfaces. */
html[data-theme="dark"] .form-canvas { background-color:var(--canvas,#fffefb); color:#20253a; --ink:#20253a; --muted:#71778a; --panel:#fff; --line:#e9eaf0; }
html[data-theme="dark"] .form-canvas :is(input,textarea,select) { background-color:#fff; color:#20253a; border-color:#b9bfcc; color-scheme:light; }
html[data-theme="dark"] .form-canvas :is(input,textarea)::placeholder { color:#71778a; }
html[data-theme="dark"] .form-canvas :is(.drawing-toolbar,.tray-page-navigation button) { background:#2c3546; color:#eef0f6; border-color:#454e62; }
html[data-theme="dark"] .signature-dialog canvas { background:#edf0f5; border-color:#586277; }
html[data-theme="dark"] .signature-dialog #signatureName { margin-bottom:12px; }
html[data-theme="dark"] :is(.grid-snap-toggle,.canvas-controls,.canvas-controls button,.group-select-toggle,.select-all-elements) { background:#2c3546; color:#eef0f6; border-color:#454e62; }
html[data-theme="dark"] .canvas-controls #zoomLabel { color:#eef0f6; }
html[data-theme="dark"] .form-canvas::before { background:#232a38; border-color:#454e62; color:#eef0f6; }
html[data-theme="dark"] :is(.group-selection-controls button,.builder-view-controls button,.layer-actions button,.grid-snap-toggle,.canvas-controls,.drawing-toolbar,.drawing-toolbar-panel,.pdf-import-progress>div,.image-browser-head,.image-browser-tabs,.image-browser-footer,.header-setting-card,.style-card,.selected-type,.palette-info,.option-editor input,.options-heading button) { background:#2c3546; color:#eef0f6; border-color:#454e62; }
html[data-theme="dark"] :is(.group-selection-controls span,.panel-title,.left-panel .panel-title,.right-panel .panel-title,.help-center,.settings-tabs button,.image-browser-head small,.pdf-import-progress small) { color:#b4bdcd; }
html[data-theme="dark"] :is(.app-manager,.app-manager input,.app-manager select,.app-manager button) { background:#232a38; color:#eef0f6; border-color:#454e62; }
html[data-theme="dark"] .app-manager .manager-error { color:#ffb2a8; }
html[data-theme="dark"] .style-card.active,html[data-theme="dark"] .form-theme-card.active { border-color:#b5aaff; background:#36314d; }
html[data-theme="dark"] .checkmark { border-color:#929fb6; }

/* Login and the fish backdrop follow the saved appearance, or the system choice. */
html body.auth-locked,html body #loginScreen { --login-bg:#e8eee6; --login-panel:#f2f5ee; --login-ink:#20392c; --login-muted:#576e5e; --login-edge:#c9d8cb; --login-field:#f5f8f3; --login-accent:#277a50; --login-orange:#a4521d; --login-error:#ad3434; --login-scheme:light; }
html[data-theme="dark"] body.auth-locked,html[data-theme="dark"] body #loginScreen { --login-bg:#000000; --login-panel:#17291f; --login-ink:#edf5ec; --login-muted:#afc5b4; --login-edge:#3c5b46; --login-field:#102017; --login-accent:#90d4a8; --login-orange:#f29a5b; --login-error:#ffaaa5; --login-scheme:dark; }
html body #loginScreen { isolation:isolate; overflow:auto; background:var(--login-bg); color:var(--login-ink); color-scheme:var(--login-scheme); }
.login-particles { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:-1; }
html body #loginScreen .login-card,html body #loginScreen .reset-dialog { background:var(--login-panel); color:var(--login-ink); border-color:var(--login-edge); box-shadow:0 24px 80px #0003; }
html body #loginScreen .login-card { background:linear-gradient(135deg,rgba(217,241,221,.62),rgba(39,122,80,.24)); border-color:rgba(39,122,80,.3); backdrop-filter:blur(3px) saturate(135%); -webkit-backdrop-filter:blur(3px) saturate(135%); box-shadow:0 24px 80px #102b2026,inset 0 1px 0 #ffffff9c,inset 0 -1px 0 #277a5026; }
html[data-theme="dark"] body #loginScreen .login-card { background:linear-gradient(135deg,rgba(39,122,80,.48),rgba(16,46,31,.58)); border-color:rgba(144,212,168,.3); box-shadow:0 24px 80px #0006,inset 0 1px 0 #b4ebc52e,inset 0 -1px 0 #277a5033; }
html body #loginScreen .login-card :is(h1,.tavoryn-wordmark),html body #loginScreen .reset-dialog label { color:var(--login-ink); }
html body #loginScreen .login-card > p,html body #loginScreen .login-card label,html body #loginScreen .login-version { color:var(--login-muted); }
html body #loginScreen .login-card :is(input,select),html body #loginScreen .reset-dialog input { color-scheme:var(--login-scheme); background:var(--login-field); color:var(--login-ink); border-color:var(--login-edge); }
html body #loginScreen .login-card input::placeholder { color:var(--login-muted); }
html body #loginScreen .login-card .login-error { color:var(--login-error); }
html body #loginScreen .login-card #resetPassword { color:var(--login-orange); }
html body #loginScreen :is(.login-card,.reset-dialog) button[type=submit] { background:#277a50; border-color:#277a50; color:#fff; }
html body #loginScreen :is(.login-card,.reset-dialog) button[type=submit]:hover:not(:disabled) { background:#206641; border-color:#206641; }
html body #loginScreen .login-card #loginSubmit { background:var(--login-orange); border-color:var(--login-orange); color:var(--login-bg); }
html body #loginScreen .login-card #loginSubmit:hover:not(:disabled) { background:color-mix(in srgb,var(--login-orange) 88%,var(--login-ink)); border-color:color-mix(in srgb,var(--login-orange) 88%,var(--login-ink)); }
html body #loginScreen :is(.login-card,.reset-dialog) :is(input,select):focus { border-color:var(--login-orange); box-shadow:0 0 0 3px color-mix(in srgb,var(--login-orange) 18%,transparent); }
html body #loginScreen :is(button,input):focus-visible { outline:2px solid var(--login-orange); outline-offset:3px; }
html body #loginScreen .login-card #resetPassword:hover { background:color-mix(in srgb,var(--login-orange) 10%,transparent); }
html body #loginScreen .reset-actions button:first-child { background:var(--login-field); border-color:var(--login-edge); color:var(--login-ink); }
html body.auth-locked .app-watermark { --footer-ink:var(--login-ink)!important; --footer-surface:var(--login-panel)!important; background:transparent; border-color:transparent; box-shadow:none; }
@media(max-height:650px) { html body #loginScreen { align-items:flex-start; padding-top:28px; padding-bottom:90px; } }
@media(max-width:600px) { html body #loginScreen .login-version { bottom:76px; } }
html body #loginScreen .login-update-help { display:block; margin-top:14px; font-size:11px; text-align:center; color:var(--login-muted); }
/* Compact invitation setup: every control stays within the card, with steps on short screens. */
html body #loginScreen.invitation-screen{overflow:hidden;align-items:center;padding:12px 16px 70px}
html body #loginScreen .login-card.invitation-setup-card{width:min(540px,100%);max-height:none;overflow:visible;margin:0;padding:24px 28px;border-radius:14px}
.invitation-setup-card .login-brand{margin-bottom:14px}
html body #loginScreen .invitation-setup-card h1{font-size:24px;margin:0 0 14px}
.invitation-email{margin-bottom:8px;user-select:none;-webkit-user-select:none;cursor:default}
.invitation-email>span{font:10px 'DM Mono',monospace;color:var(--login-muted)}
.invitation-email>p{margin:4px 0 0;font-size:13px;font-weight:600;overflow-wrap:anywhere;pointer-events:none}
.invitation-setup-card .invitation-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px 14px}
.invitation-setup-card .invitation-profile label:first-child{grid-column:auto}
html body #loginScreen .invitation-setup-card label{font:11px 'Plus Jakarta Sans',sans-serif;letter-spacing:0;margin:0;color:var(--login-muted)}
html body #loginScreen .invitation-setup-card :is(input,select){display:block;box-sizing:border-box;width:100%;min-width:0;height:36px;min-height:0;margin:5px 0 0;padding:7px 9px;font:12px 'Plus Jakarta Sans',sans-serif;border-radius:6px}
.invitation-security{margin-top:12px}
.invitation-setup-card .invite-password-confirm{margin-top:10px!important}
html body #loginScreen .invitation-setup-card #loginSubmit{margin-top:16px;min-height:38px;padding:9px}
html body #loginScreen .invitation-setup-card .login-error{margin:10px 0 0;font-size:12px;line-height:1.4}
html body #loginScreen .invitation-setup-card .invitation-back{border:0;background:transparent;color:var(--login-ink);font:12px 'Plus Jakarta Sans',sans-serif;padding:8px 0 0;cursor:pointer}
html body #loginScreen .invitation-setup-card [hidden],html body #loginScreen .invitation-setup-card input[type=hidden]{display:none!important}
@media(max-height:740px){html body #loginScreen .login-card.invitation-setup-card{padding:18px 24px}.invitation-setup-card .login-brand{margin-bottom:10px}html body #loginScreen .invitation-setup-card h1{font-size:22px;margin-bottom:10px}.invitation-setup-card .invitation-profile{gap:8px 12px}}
@media(max-width:430px){html body #loginScreen .login-card.invitation-setup-card{padding:18px}.invitation-setup-card .invitation-profile{gap:8px 10px}html body #loginScreen .invitation-setup-card :is(input,select){font-size:16px;height:38px;padding:6px}}
@media(max-height:450px){html body #loginScreen.invitation-screen{padding-bottom:56px}html body #loginScreen .login-card.invitation-setup-card{padding:10px 20px;width:min(640px,100%)}.invitation-setup-card .login-brand{display:none}.invitation-setup-card .invitation-profile{grid-template-columns:repeat(3,minmax(0,1fr))}html body #loginScreen .invitation-setup-card h1{font-size:19px;margin-bottom:7px}}
