:root{--page:#f3f6fa;--panel:#fff;--text:#172033;--muted:#647286;--border:#b8c6d6;--line:#dde5ee;--input:#fff;--hover:#eaf2f8;--link:#1261a0;--action:#1261a0;--on-action:#fff;--danger:#a32828;--ok:#176b3a;--error-bg:#fdecec;--ok-bg:#e8f7ee;--warn-bg:#fff8db;--shadow:#17203320;color-scheme:light}
:root[data-theme="dark"]{--page:#0f1722;--panel:#182536;--text:#e5edf7;--muted:#adbbce;--border:#52647b;--line:#35485e;--input:#101c2b;--hover:#263c55;--link:#8bc2ff;--action:#266bb2;--on-action:#fff;--danger:#ffb0af;--ok:#8de0b1;--error-bg:#49252e;--ok-bg:#193d31;--warn-bg:#43391d;--shadow:#0005;color-scheme:dark}
html,body,.login-page{background:var(--page);color:var(--text)}
:root{background:var(--page);color:var(--text)}body{min-height:100vh}
.card,.original-landing{background:var(--panel);border-color:var(--line);box-shadow:0 3px 16px var(--shadow)}
input,select,textarea,.file-picker-field input{background:var(--input)!important;color:var(--text)!important;border-color:var(--border)!important;font-family:inherit}
textarea{width:100%;padding:11px 12px;border-radius:8px;font:inherit}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
a{color:var(--link)}small,.muted,.crumbs,.filter-summary,.result-file span,.userrow span,.access-row span,th{color:var(--muted)}
button,.button{background:var(--action);color:var(--on-action)}
.secondary{background:var(--hover);color:var(--link)}
.danger{background:#9f343c;color:#fff}
th,td,.root-row,.access-row,fieldset{border-color:var(--line)}
.userrow:hover,.result-item:hover{background:var(--hover)}
.msg.ok{background:var(--ok-bg);color:var(--ok)}.msg.bad{background:var(--error-bg);color:var(--danger)}
.status-ok{color:var(--ok)}.status-bad{color:var(--danger)}
.card h3[style*="color:#8f2525"]{color:var(--danger)!important}
.audit-stats strong[style*="color:#176b3a"]{color:var(--ok)!important}.audit-stats strong[style*="color:#a32828"]{color:var(--danger)!important}
.audit-clear button{background:var(--panel);border-color:var(--danger);color:var(--danger)}.audit-clear button:hover{background:var(--error-bg)}
.original-landing p{color:var(--text)}
.file-picker-menu,.sk-calendar{background:var(--panel);border-color:var(--border);box-shadow:0 8px 24px var(--shadow)}
.file-picker-option strong,.file-picker-toggle,.sk-date>[data-sk-date-button],.sk-calendar-head button,.sk-calendar-grid button{color:var(--text);background:transparent}
.file-picker-option span,.file-picker-empty,.sk-calendar-weekday{color:var(--muted)}
.file-picker-option:hover,.file-picker-option.is-active,.sk-calendar-grid button:hover{background:var(--hover)}
.file-picker-option[aria-selected="true"]{box-shadow:inset 3px 0 var(--link)}
.file-picker-field input:focus{outline-color:var(--link)}
.sk-calendar-grid button.selected{background:var(--action);color:#fff}.sk-calendar-footer button{color:var(--link);background:transparent}
.session-warning{background:var(--warn-bg);color:var(--text);box-shadow:0 8px 28px var(--shadow)}
.theme-toggle{width:42px;height:42px;padding:4px;flex-shrink:0;font-size:1.5rem;border:1px solid var(--border);background:var(--hover);color:var(--text);border-radius:8px;line-height:1}
.theme-guest-bar{display:flex;justify-content:flex-end}.theme-save-status{font-size:.8rem;max-width:200px;color:var(--danger);overflow-wrap:anywhere}.theme-save-status:empty{display:none}
:root[data-theme="dark"] .brand img,:root[data-theme="dark"] .login-logo,:root[data-theme="dark"] .original-landing img{background:transparent;border-radius:0;padding:0;filter:url(#jusoft-logo-dark)}
.browser-pagination{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:14px 0}.browser-pagination .button{margin:0}
