/* Shared colors; module selectors below intentionally outrank legacy theme layers. */
html[data-yuksalish-theme="light"] {
  --yu-bg:#f4f7fb;--yu-surface:#fff;--yu-soft:#edf2f8;--yu-ink:#15263f;
  --yu-muted:#4c617c;--yu-line:#ccd7e6;--yu-accent:#164ca0;
  --yu-good:#09613d;--yu-warn:#835400;--yu-bad:#a71e37;
  --yu-good-bg:#e2f5eb;--yu-warn-bg:#fff3d6;--yu-bad-bg:#ffe9ed;
  --yu-shadow:0 8px 28px rgba(20,42,76,.07);
  color-scheme:light;
}
html[data-yuksalish-theme="dark"] {
  --yu-bg:#081423;--yu-surface:#101f34;--yu-soft:#172c46;--yu-ink:#edf4ff;
  --yu-muted:#b3c4db;--yu-line:#354e6a;--yu-accent:#90c4ff;
  --yu-good:#6fdfac;--yu-warn:#ffd078;--yu-bad:#ff98aa;
  --yu-good-bg:#123f32;--yu-warn-bg:#40361e;--yu-bad-bg:#432437;
  --yu-shadow:0 8px 28px rgba(0,0,0,.2);
  color-scheme:dark;
}
html[data-yuksalish-theme] {
  --bg:var(--yu-bg);--card:var(--yu-surface);--panel:var(--yu-surface);
  --text:var(--yu-ink);--muted:var(--yu-muted);--line:var(--yu-line);
  --bw-bg:var(--yu-bg);--bw-surface:var(--yu-surface);--bw-surface-2:var(--yu-soft);
  --bw-text:var(--yu-ink);--bw-muted:var(--yu-muted);--bw-line:var(--yu-line);
  --bw-strong:var(--yu-ink);--bw-hover:var(--yu-soft);--bw-focus:var(--yu-accent);
}
html[data-yuksalish-theme] body{background:var(--yu-bg)!important;color:var(--yu-ink)!important}
/* Platform shell, installation help and sync notifications. */
html[data-yuksalish-theme] body :is(.main,.dashboard-tabs,.module-frame){background:var(--yu-bg);color:var(--yu-ink)}
html[data-yuksalish-theme] body :is(.sidebar,.topbar,.dash-tab,.logout,.menu-btn,.app-screen-action,.yu-theme-toggle,.app-install-dialog,.yu-notices-dialog){background:var(--yu-surface);color:var(--yu-ink);border-color:var(--yu-line)}
html[data-yuksalish-theme] body :is(.side-brand,.profile,.nav-main,.nav-sub,.logout){color:var(--yu-ink)}
html[data-yuksalish-theme] body :is(.profile small,.side-brand span,.chev){color:var(--yu-muted)}
html[data-yuksalish-theme] body :is(.nav-main:hover,.nav-main.active,.nav-sub:hover,.nav-sub.active){background:var(--yu-soft);color:var(--yu-ink)}
html[data-yuksalish-theme] body .dash-tab.active{background:#cf1236;color:#fff;border-color:#cf1236}
.yu-theme-toggle{flex:none;width:38px;height:38px;border:1px solid var(--yu-line);border-radius:11px;background:var(--yu-surface);color:var(--yu-ink);font-size:23px;cursor:pointer}
html[data-yuksalish-theme] body .topbar .status{color:var(--yu-good);background:var(--yu-good-bg)}
html[data-yuksalish-theme] body :is(.app-install-dialog .app-close,.yu-notice-card){background:var(--yu-soft);color:var(--yu-ink);border-color:var(--yu-line)}
html[data-yuksalish-theme] body :is(.yu-notices-meta,.yu-notices-empty,.yu-notice-time){color:var(--yu-muted)}
html[data-yuksalish-theme] body :is(.sync-notice-panel,.sync-notice-card){background:var(--yu-surface);color:var(--yu-ink);border-color:var(--yu-line)}
html[data-yuksalish-theme] body :is(.sync-notice-button,.sync-notice-panel button){background:var(--yu-soft);color:var(--yu-ink);border-color:var(--yu-line)}
html[data-yuksalish-theme] body .sync-notice-button.has-errors{background:var(--yu-bad-bg);color:var(--yu-bad);border-color:var(--yu-bad)}
html[data-yuksalish-theme] body :is(.sync-notice-checked,.sync-notice-date,.sync-notice-card small){color:var(--yu-muted)}
.sync-notice-summary{flex:none;border:0;border-bottom:1px solid var(--yu-line);padding:8px 16px;background:var(--yu-warn-bg);color:var(--yu-warn);font-size:12px;line-height:1.5;text-align:left;cursor:pointer}
.sync-notice-summary[hidden]{display:none}
/* A real login form over the warehouse photograph. */
.login{position:relative;isolation:isolate;background:#152438 url('/static/pwa/yuksalish-warehouse-20261009.webp') center/cover no-repeat!important;padding:28px 18px;overflow-y:auto}
.login::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(140deg,rgba(7,17,30,.24),rgba(7,17,30,.54));pointer-events:none}
.login-wrap{width:min(100%,460px)}
.login-card{border:1px solid rgba(255,255,255,.48);border-radius:30px;padding:34px 32px 24px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 26px 90px #0005,0 0 35px #f3264433}
html[data-yuksalish-theme="light"] .login-card{background:rgba(250,252,255,.9);color:#15263f}
html[data-yuksalish-theme="dark"] .login-card{background:rgba(8,19,35,.82);color:#edf4ff}
html[data-yuksalish-theme="dark"] .login .brand h1{color:#ff4562}
.login .brand{margin-bottom:26px}
.login .brand-mark{display:block;width:105px;height:50px;margin:0 auto 8px;color:#f62243}
.login .brand h1{font-size:clamp(32px,7vw,42px);letter-spacing:.055em;color:#e51436;margin:0 0 7px;font-weight:950}
.login .brand p{color:var(--yu-ink);font-size:21px;font-weight:700}
.login .brand small{color:var(--yu-muted);font-size:13px;line-height:1.5;margin-top:9px}
.login .field span{color:var(--yu-ink);font-size:13px}
.login .field input{height:58px;background:var(--yu-surface);color:var(--yu-ink);border-color:var(--yu-line);border-radius:15px}
.login .field input::placeholder{color:var(--yu-muted);opacity:1}
.password-wrap{display:block;position:relative}
.login .password-wrap input{padding-right:54px}
.password-eye{position:absolute;right:7px;top:7px;width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--yu-muted);cursor:pointer;border-radius:10px}
.password-eye svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7}
.password-eye[aria-pressed="true"]{color:var(--yu-accent);background:var(--yu-soft)}
.login .login-note{color:var(--yu-muted);line-height:1.65;font-size:12px}
.login .login-error{color:var(--yu-bad);line-height:1.5}
.login-theme-switch{display:flex;justify-content:center;gap:5px;margin-bottom:24px}
.login-theme-switch button{border:1px solid var(--yu-line);background:var(--yu-surface);color:var(--yu-ink);min-height:38px;border-radius:999px;padding:7px 16px;cursor:pointer;font-weight:650;font-size:13px}
.login-theme-switch button[aria-pressed="true"]{border-color:var(--yu-accent);color:var(--yu-accent);box-shadow:0 0 0 1px var(--yu-accent)}
html[data-yuksalish-theme] .login-app-actions button{background:var(--yu-surface);color:var(--yu-ink);border-color:var(--yu-line)}
:is(button,input,select,a):focus-visible{outline:3px solid var(--yu-accent);outline-offset:3px}
@media(max-width:600px){.login{background-position:44% center;padding:20px 16px}.login-card{padding:26px 22px 20px;border-radius:25px}.login .brand{margin-bottom:22px}.login-theme-switch{margin-bottom:21px}.yu-theme-toggle{width:34px;height:36px}.topbar .status{font-size:0!important;padding:0!important;width:9px;height:9px;background:var(--yu-good)!important}.topbar h1{font-size:17px}.sidebar{box-shadow:16px 0 50px #0004}}

/* Reliable login rendering without a GPU backdrop layer. */
.login-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}
.login-error[data-code="approval_pending"]{color:var(--yu-ink)!important;background:var(--yu-soft);border:1px solid var(--yu-line);padding:12px;border-radius:12px}
