:root{--login-background:linear-gradient(180deg, #1e201f 0%, #282e2c 100%);--card-bg:#202020;--surface-raised:#2a2a2a;--field-bg:#f5f5f5;--field-bg-focus:#ececec;--accent:#ffb80c;--accent-hover:#ffc633;--accent-active:#e6a600;--accent-contrast:#fff;--text:#fff;--text-muted:#ffffffb3;--text-faint:#ffffff73;--field-text:#000000de;--field-placeholder:#0009;--field-icon:#0000008a;--error:#f44336;--success:#5cb85c;--radius:4px;--field-height:50px;--card-width:384px;--card-pad-x:24px;--shadow-card:0 3px 5px -1px #0003, 0 6px 10px 0 #00000024, 0 1px 18px 0 #0000001f;--shadow-btn:0 3px 1px -2px #0003, 0 2px 2px 0 #00000024, 0 1px 5px 0 #0000001f;--font:"Roboto Condensed", "Arial Narrow", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:var(--login-background);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0}button,input{font-family:inherit}a{color:var(--accent);text-decoration:none}.auth-shell{flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:32px 8px 12px;display:flex}.auth-card{width:100%;max-width:var(--card-width);background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.auth-logo{justify-content:center;align-items:center;padding:22px 24px 6px;display:flex}.auth-logo svg{width:148px;height:auto}.auth-form{padding:8px 0 4px}.auth-row{padding:0 var(--card-pad-x);margin-bottom:22px}.field{height:var(--field-height);background:var(--field-bg);border-radius:var(--radius) var(--radius) 0 0;border-bottom:1px solid #0000;align-items:center;gap:12px;padding:0 12px 0 14px;transition:background .15s,border-color .15s;display:flex}.field:focus-within{background:var(--field-bg-focus);border-bottom-color:var(--accent)}.field--invalid{border-bottom-color:var(--error)}.field__icon{color:var(--field-icon);flex:none;display:flex}.field__input{min-width:0;height:100%;color:var(--field-text);background:0 0;border:0;outline:0;flex:auto;font-size:14px}.field__input::placeholder{color:var(--field-placeholder)}.field__input:-webkit-autofill{-webkit-text-fill-color:var(--field-text);-webkit-box-shadow:0 0 0 1000px var(--field-bg) inset;transition:background-color 9999s ease-in-out}.field__input:-webkit-autofill:hover{-webkit-text-fill-color:var(--field-text);-webkit-box-shadow:0 0 0 1000px var(--field-bg) inset;transition:background-color 9999s ease-in-out}.field__input:-webkit-autofill:focus{-webkit-text-fill-color:var(--field-text);-webkit-box-shadow:0 0 0 1000px var(--field-bg) inset;transition:background-color 9999s ease-in-out}.field__toggle{color:var(--field-icon);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:4px;display:flex}.field__toggle:hover{color:var(--field-text)}.field__error{color:var(--error);margin:5px 2px 0;font-size:12px;display:block}.auth-options{padding:0 var(--card-pad-x);justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.checkbox{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:16px;display:inline-flex}.checkbox input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.checkbox__mark{border:2px solid var(--text-faint);border-radius:50%;flex:none;justify-content:center;align-items:center;width:16px;height:16px;transition:border-color .15s;display:inline-flex}.checkbox__mark:after{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;transition:transform .15s;transform:scale(0)}.checkbox input:checked+.checkbox__mark{border-color:var(--accent)}.checkbox input:checked+.checkbox__mark:after{transform:scale(1)}.checkbox input:focus-visible+.checkbox__mark{outline:2px solid var(--accent);outline-offset:2px}.link-action{color:var(--accent);white-space:nowrap;align-items:center;gap:6px;font-size:16px;font-weight:500;display:inline-flex}.link-action:hover{color:var(--accent-hover)}.btn-primary{width:100%;height:var(--field-height);border-radius:var(--radius);background:var(--accent);color:var(--accent-contrast);letter-spacing:.2px;cursor:pointer;box-shadow:var(--shadow-btn);border:0;justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-active)}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.alert{margin:0 var(--card-pad-x) 16px;border-radius:var(--radius);padding:10px 12px;font-size:14px;line-height:1.35}.alert--error{border-left:3px solid var(--error);color:#ff8a80;background:#f443361f}.alert--success{border-left:3px solid var(--success);color:#a5d6a7;background:#5cb85c1f}.auth-switch{padding:2px var(--card-pad-x) 22px;text-align:center;color:var(--text-muted);margin:0;font-size:15px}.auth-switch a{font-weight:600}.auth-switch a:hover{color:var(--accent-hover)}@media (width<=420px){.auth-shell{padding:16px 8px}.auth-options{font-size:15px}}.auth-heading{padding:0 var(--card-pad-x);text-align:center;letter-spacing:.3px;color:var(--text-muted);margin:0 0 4px;font-size:17px;font-weight:500}.app-shell{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--card-bg);box-shadow:var(--shadow-btn);justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;display:flex}.topbar__logo svg{width:92px;height:auto;display:block}.topbar__right{align-items:center;gap:14px;display:flex}.topbar__user{color:var(--text-muted);font-size:15px}.btn-ghost{border:1px solid var(--accent);border-radius:var(--radius);height:34px;color:var(--accent);cursor:pointer;background:0 0;padding:0 14px;font-size:14px;font-weight:600}.btn-ghost:hover{background:var(--accent);color:var(--accent-contrast)}.page{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:28px 20px}.page__title{letter-spacing:.4px;margin:0 0 8px;font-size:28px;font-weight:700}.page__lead{color:var(--text-muted);margin:0;font-size:15px}.route-loading{min-height:100%;color:var(--text-faint);justify-content:center;align-items:center;font-size:15px;display:flex}
