.password-page{background:var(--canvas);min-height:100vh;color:var(--ink)}.password-header{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:22px max(20px,5vw);display:flex}.password-header nav{flex-wrap:wrap;gap:18px;display:flex}.password-main{max-width:560px;margin:0 auto;padding:48px 20px 70px}.password-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 12px 40px #21172f08}.password-card h1{font-size:32px}.password-card input,.password-card select,.admin-panel input,.admin-panel select,.admin-panel textarea{border:1px solid var(--control-border);background:var(--surface);width:100%;min-width:0;max-width:100%;color:var(--ink);font:inherit;border-radius:8px;padding:12px}:is(.password-card input:focus-visible,.admin-panel input:focus-visible,.admin-panel select:focus-visible,.admin-panel textarea:focus-visible){outline:3px solid var(--brand);outline-offset:3px}.password-card .primary{width:100%;min-height:48px;margin-top:24px}.password-note{color:var(--muted);margin-top:18px;font-size:14px}.password-status{background:var(--brand-line);overflow-wrap:anywhere;border-radius:9px;margin:18px 0;padding:14px}.password-error{background:var(--danger-bg);color:var(--danger-ink)}.password-success{background:var(--success-bg);color:var(--success)}.password-card label,.admin-panel label{margin:16px 0 7px;font-weight:700;display:block}.password-card button:disabled,.admin-panel button:disabled{opacity:.55;cursor:wait}.password-footlinks{flex-wrap:wrap;gap:18px;margin-top:24px;font-size:14px;display:flex}.password-required{color:var(--muted);font-size:14px}.admin-main{max-width:1240px;margin:auto;padding:36px 20px 70px}.admin-main h1{font-size:36px}.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;min-width:0;padding:26px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.admin-panel h2{font-size:23px}.admin-panel .primary,.admin-panel .secondary{min-height:46px;margin-top:18px}.admin-table-wrap{max-width:100%;margin:24px 0;overflow:auto}.admin-table{border-collapse:collapse;background:#fff;width:100%}.admin-table td,.admin-table th{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:13px;font-size:14px}.admin-table th{background:var(--brand-bg);font-weight:700}.admin-table td{overflow-wrap:anywhere;max-width:260px}.admin-token{border:2px solid var(--brand);background:var(--brand-bg);overflow-wrap:anywhere;border-radius:12px;margin:24px 0;padding:22px}.admin-token textarea{resize:vertical;overflow-wrap:anywhere;width:100%;min-height:88px;font:13px/1.5 monospace}.admin-warning{color:var(--muted);font-size:14px}.admin-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-danger{color:var(--danger-ink);border-color:var(--danger-line)}.admin-status-label{color:var(--muted);font-size:13px}.admin-wide{grid-column:1/-1}.admin-inline{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (max-width:700px){.admin-grid,.admin-inline{grid-template-columns:1fr}.admin-wide{grid-column:auto}.password-main{padding-top:28px}.password-card{padding:24px 20px}.password-card h1{font-size:28px}.password-header{padding:18px 20px}.password-header nav{font-size:14px}.admin-main h1{font-size:30px}.admin-panel{padding:22px 18px}.password-header .brand{font-size:23px}.admin-table td,.admin-table th{padding:10px;font-size:13px}}.admin-confirm-backdrop{z-index:10000;background:#21172fb3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}.admin-confirm-dialog{border:1px solid var(--line);background:var(--surface);width:min(560px,100%);max-height:calc(100dvh - 48px);color:var(--ink);overflow-wrap:anywhere;border-radius:16px;padding:30px;overflow:auto;box-shadow:0 24px 100px #21172f54}.admin-confirm-dialog h2{font-size:25px}.admin-confirm-dialog .admin-actions{justify-content:flex-end;margin-top:24px}.admin-confirm-dialog button{min-height:48px}.admin-confirm-dialog button:focus-visible{outline:3px solid var(--brand);outline-offset:4px}@media (max-width:600px){.admin-confirm-backdrop{padding:16px}.admin-confirm-dialog{max-height:calc(100dvh - 32px);padding:24px 20px}.admin-confirm-dialog .admin-actions{grid-template-columns:1fr;width:100%;display:grid}.admin-confirm-dialog button{width:100%}}
