: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}
header nav{gap:8px}
header nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--hover);color:var(--link);font-weight:600;line-height:1.25;text-align:center;max-width:100%;overflow-wrap:anywhere}
header nav>a:hover,.theme-toggle:not(:disabled):hover{background:var(--panel);border-color:var(--link);text-decoration:none}
header nav>a:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.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}
/* Shared feedback for ordinary buttons, button links and disclosure summaries. */
button,.button,header nav>a{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,filter .15s ease}
@media(hover:hover) and (pointer:fine){
  button:not(:disabled):hover,.button:not([aria-disabled="true"]):hover,header nav>a:not([aria-disabled="true"]):hover{filter:brightness(1.08);box-shadow:0 0 0 2px var(--link),0 3px 10px var(--shadow);text-decoration:none}
}
button:focus-visible,.button:focus-visible,header nav>a:focus-visible{outline:2px solid var(--link);outline-offset:2px}
button:disabled,.button[aria-disabled="true"]{filter:none;box-shadow:none}
@media(prefers-reduced-motion:reduce){button,.button,header nav>a{transition:none}}
