:root{--ui-bg:#15171a;--ui-panel:#232529;--ui-soft:#1a1c20;--ui-selected:#34363b;--ui-text:#eeeae2;--ui-muted:#bbb9b3;--ui-border:#77736a;--ui-accent:#c1b08e;--ui-field:#15171b;--ui-field-focus:#24272d;--ui-error-bg:#3a2025;--ui-error:#ffb8b0;--ui-success:#bed5b8;--ui-overlay:#202226ed;--gold:var(--ui-accent);--muted:var(--ui-muted);--line:var(--ui-border);color-scheme:dark;font-family:'Segoe UI',Arial,sans-serif;background:var(--ui-bg);color:var(--ui-text)}
body{font-family:'Segoe UI',Arial,sans-serif;color:var(--ui-text);font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}
h1,h2,h3{font-family:inherit;font-weight:600;line-height:1.2}a{color:var(--ui-accent)}button:focus-visible,a:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}button:disabled{opacity:.55;cursor:default}input,select,textarea{color:var(--ui-text);caret-color:var(--ui-text);accent-color:var(--ui-accent)}
html[data-theme] body input:not([type=range]):not([type=checkbox]),html[data-theme] body select,html[data-theme] body textarea{background:var(--ui-field)!important;color:var(--ui-text)!important;-webkit-text-fill-color:var(--ui-text)!important;caret-color:var(--ui-text)!important;border:1px solid var(--ui-border)!important;min-width:0;font-size:16px}
html[data-theme] body input:not([type=range]):not([type=checkbox]):focus,html[data-theme] body textarea:focus,html[data-theme] body select:focus{background:var(--ui-field-focus)!important;outline:2px solid var(--ui-accent);outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--ui-muted);opacity:1}
html[data-theme] body input:-webkit-autofill,html[data-theme] body input:-webkit-autofill:hover,html[data-theme] body input:autofill{box-shadow:0 0 0 1000px var(--ui-field) inset!important;-webkit-text-fill-color:var(--ui-text)!important;caret-color:var(--ui-text)!important}
html[data-theme] body input:-webkit-autofill:focus,html[data-theme] body input:autofill:focus{box-shadow:0 0 0 1000px var(--ui-field-focus) inset!important;outline:2px solid var(--ui-accent);outline-offset:2px}
/* Admin remains a separate tool, using the same palette and readable controls. */
html[data-theme] body.admin-page{background:var(--ui-bg);color:var(--ui-text)}html[data-theme] .admin-page :is(h1,h2,h3,.brand){font-family:'Segoe UI',Arial,sans-serif;color:var(--ui-text)}html[data-theme] .admin-page :is(aside,.box,.card,dialog){background:var(--ui-panel);color:var(--ui-text);border-color:var(--ui-border)}html[data-theme] .admin-page :is(label,legend,code,pre){color:var(--ui-text);font-size:14px}html[data-theme] .admin-page :is(small,.hint,th,#operator){color:var(--ui-muted);font-size:14px}html[data-theme] .admin-page table{color:var(--ui-text);font-size:14px}html[data-theme] .admin-page :is(td,th,fieldset,.table-wrap){border-color:var(--ui-border)}html[data-theme] .admin-page button{background:linear-gradient(#853b43,#58242e);color:#f8eee1;border-color:#9b7374;font-size:14px}html[data-theme] .admin-page nav button{background:transparent;color:var(--ui-text);border-color:transparent}html[data-theme] .admin-page nav button.active{background:var(--ui-selected);border-color:var(--ui-accent)}html[data-theme] .admin-page .error{color:var(--ui-error)}html[data-theme] .admin-page .success{color:var(--ui-success)}
input::selection,textarea::selection{background:#655c4b;color:#fff6e8}

/* 1Password paints an important UA background even when :autofill is false. */
html[data-theme] #auth-form input[data-com-onepassword-filled="dark"]{box-shadow:0 0 0 1000px var(--ui-field) inset!important;-webkit-text-fill-color:var(--ui-text)!important;caret-color:var(--ui-text)!important}
html[data-theme] #auth-form input[data-com-onepassword-filled="dark"]:focus{box-shadow:0 0 0 1000px var(--ui-field-focus) inset!important}
