:root{--auth-ink:#2b2526;--auth-muted:#75686b;--auth-line:#eadfe0;--auth-accent:#b3202a;--auth-soft:#f8eaea}
.account-bar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:16px;padding:7px 24px;background:#fff;border-bottom:1px solid var(--auth-line);font-size:12px;flex-shrink:0}
.account-bar span{overflow-wrap:anywhere;min-width:0}.account-bar a{color:var(--auth-accent)}.account-bar form{margin:0}.account-bar button{padding:4px 10px}
.storage-gate .account-bar{justify-content:flex-start;background:transparent;border-bottom:0;border-top:1px solid var(--auth-line);padding:16px 0 0;margin-top:20px}
.auth-page{box-sizing:border-box;margin:0;min-height:100dvh;color:var(--auth-ink);background:repeating-linear-gradient(135deg,#fcfafa 0,#fcfafa 26px,#f6f1f1 26px,#f6f1f1 27px);font:14px/1.5 "Segoe UI",Arial,sans-serif;letter-spacing:0}
.auth-page *{box-sizing:border-box}.auth-page a{color:var(--auth-accent);text-underline-offset:4px}
.auth-header{min-height:88px;padding:18px 32px;border-bottom:1px solid var(--auth-line);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.auth-brand{font-size:25px;font-weight:750;color:var(--auth-ink)!important;text-decoration:none;line-height:1.15}.auth-brand span{display:block;font-size:10px;font-weight:600;color:var(--auth-muted);margin-top:5px}
.auth-header nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.auth-header nav span{overflow-wrap:anywhere}.auth-header form{margin:0}
.auth-page button,.auth-page input,.auth-page select{font:inherit;border:1px solid #d5c6c9;border-radius:6px;padding:10px 12px;color:var(--auth-ink);background:#fff;min-width:0}
.auth-page button{cursor:pointer;min-height:44px;font-weight:600}.auth-page button:hover{background:var(--auth-soft)}
.auth-page input,.auth-page select{display:block;width:100%;margin-top:6px;min-height:44px}.auth-page label{display:block;font-size:12px;font-weight:600}
.auth-page :is(input,select,button,a,summary):focus-visible{outline:3px solid #e08a8f;outline-offset:3px}
.auth-page .auth-primary{background:var(--auth-accent);border-color:var(--auth-accent);color:#fff}.auth-page .auth-primary:hover{background:#8f1820}
.login-main{padding:64px 24px;display:grid;place-items:start center}.login-panel{width:100%;max-width:380px;background:#fff;padding:32px;border:1px solid var(--auth-line);border-radius:8px;border-top:4px solid var(--auth-accent)}
.auth-eyebrow{font-size:11px;font-weight:700;color:var(--auth-accent);margin:0 0 8px}.auth-page h1{font-size:26px;line-height:1.2;margin:0 0 28px}.auth-page h2{font-size:18px;margin:0 0 18px}
.login-panel label{margin-top:20px}.login-submit{width:100%;margin-top:28px}.auth-message{padding:12px 16px;border-left:3px solid #247350;background:#eaf5ee;overflow-wrap:anywhere}.auth-message.error{border-color:var(--auth-accent);background:#fcebed;color:#8f1820}
.admin-main{max-width:1280px;padding:36px 32px 64px;margin:0 auto;background:#fcfafa;min-height:calc(100dvh - 88px)}
.admin-create{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid var(--auth-line)}
.migration-actions{display:flex;flex-wrap:wrap;gap:12px}.migration-actions button:disabled{opacity:.5;cursor:not-allowed}.migration-preview{max-width:100%;overflow-x:auto}.migration-preview table{width:100%;border-collapse:collapse;font-size:13px}.migration-preview caption{text-align:left;font-weight:600;padding:12px 0}.migration-preview th,.migration-preview td{padding:10px;border-bottom:1px solid var(--auth-line);text-align:right}.migration-preview th:first-child,.migration-preview td:first-child{text-align:left}
.user-create-grid,.user-update-grid{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,1.4fr) 120px minmax(150px,1fr) auto;align-items:end;gap:16px}
.user-list{border-top:1px solid var(--auth-line)}.user-row{padding:22px 0;border-bottom:1px solid var(--auth-line)}.user-update-grid{grid-template-columns:minmax(120px,1fr) minmax(180px,1.4fr) 120px minmax(90px,1fr) auto}
.auth-page .active-toggle{display:flex;align-items:center;gap:8px;min-height:44px}.auth-page .active-toggle input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--auth-accent)}
.password-reset{margin-top:16px}.password-reset summary{cursor:pointer;color:var(--auth-muted);font-size:12px}.password-reset-form{display:flex;align-items:end;gap:12px;margin-top:12px;max-width:450px}.password-reset-form label{flex:1;min-width:0}
@media(max-width:1000px){.user-create-grid,.user-update-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-create-grid button,.user-update-grid button{justify-self:start}}
@media(max-width:540px){.auth-header{padding:18px 20px}.auth-header nav{gap:12px}.admin-main{padding:28px 20px}.login-main{padding:40px 20px}.login-panel{padding:24px}.user-create-grid,.user-update-grid{grid-template-columns:minmax(0,1fr)}.password-reset-form{align-items:stretch;flex-direction:column}.account-bar{padding:7px 12px;gap:12px}}
@media print{.account-bar{display:none!important}}