.auth-shell{background:radial-gradient(circle at 50% 8%, #0c495738, transparent 42%), linear-gradient(180deg, var(--bg-grad-top) 0%, #02090e 100%);color:var(--ink);font-family:var(--font-sans);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.auth-orbit{border:1px solid #63d8d72e;border-top-color:var(--accent);border-radius:50%;width:52px;height:52px;animation:1s linear infinite auth-spin;box-shadow:inset 0 0 22px #53dedc12}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-card{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:10px;width:100%;max-width:380px;padding:30px 28px;position:relative;overflow:hidden;box-shadow:0 22px 70px #00000059}.auth-card:before{content:"";background:var(--accent);opacity:.8;height:2px;box-shadow:0 0 16px var(--accent);position:absolute;top:0;left:0;right:0}.auth-brand{color:#edfafa;letter-spacing:.13em;align-items:center;gap:12px;font-size:13px;display:flex}.auth-brand b{color:var(--accent-strong)}.auth-brand small{font-family:var(--font-mono);letter-spacing:.26em;color:#5f8388;margin-top:3px;font-size:9px;display:block}.auth-lead{color:var(--muted);margin:18px 0 22px;font-size:13px;line-height:1.55}.auth-tabs{border:1px solid var(--line);background:var(--panel-2);border-radius:7px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:18px;padding:4px;display:grid}.auth-tabs button{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:9px 0;font-size:11px}.auth-tabs button.active{color:var(--accent-strong);background:#63d8d71f}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);flex-direction:column;gap:6px;font-size:10px;display:flex}.auth-form input{border:1px solid var(--line);color:var(--ink);background:#06181fbd;border-radius:6px;outline:none;padding:11px 12px;font-size:14px}.auth-form input:focus{border-color:var(--accent)}.auth-hint{color:var(--dim);margin:-4px 0 0;font-size:11px}.auth-check{color:var(--muted);cursor:pointer;align-items:flex-start;gap:9px;margin:2px 0 0;font-size:12px;line-height:1.5;display:flex}.auth-check input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex:none;margin-top:2px}.auth-check a{color:var(--accent-strong);text-underline-offset:2px}.auth-legal{font-family:var(--font-mono);letter-spacing:.1em;justify-content:center;align-items:center;gap:10px;margin:16px 0 0;font-size:10px;display:flex}.auth-legal a{color:var(--dim);text-transform:uppercase;text-decoration:none}.auth-legal a:hover{color:var(--accent)}.auth-legal span{color:var(--line)}.auth-error{color:var(--error-text);background:#ff596414;border:1px solid #ff596447;border-radius:6px;margin:0;padding:8px 10px;font-size:12px}.auth-submit{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-align:center;background:#63d8d724;border:1px solid #63d8d780;border-radius:7px;margin-top:4px;padding:12px;font-size:13px;font-weight:500;text-decoration:none}.auth-submit:hover{background:#63d8d738}.auth-submit:disabled{opacity:.55;cursor:default}.admin-user{font-family:var(--font-mono);color:#b7c4dc;align-items:center;gap:8px;display:inline-flex}.admin-tag{font-style:normal;font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent);background:#63d8d729;border-radius:4px;padding:2px 6px;font-size:10px}.admin-btn{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#63d8d71f;border:1px solid #63d8d766;border-radius:6px;padding:7px 12px;font-size:12px;text-decoration:none;display:inline-block}.admin-btn:hover{background:#63d8d733}.admin-btn.ghost{border-color:var(--line);color:var(--muted);background:0 0}.admin-btn.ghost:hover{color:var(--accent);border-color:#63d8d759}.admin-btn.danger{color:#ffbcbc;background:#ff59641f;border-color:#ff596461}.admin-btn:disabled{opacity:.4;cursor:default}.admin-page{background:radial-gradient(circle at 78% 6%, #0c495729, transparent 40%), linear-gradient(180deg, var(--bg-grad-top) 0%, #02090e 100%);min-height:100vh;color:var(--ink);font-family:var(--font-sans);padding:20px clamp(16px,4vw,48px) 60px}.admin-page-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:18px;display:flex}.admin-page-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-tabs{border:1px solid var(--line);background:var(--panel-2);border-radius:7px;grid-template-columns:repeat(4,1fr);gap:4px;max-width:600px;margin:20px 0;padding:4px;display:grid}.admin-tabs button{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:9px 0;font-size:11px}.admin-tabs button.active{color:var(--accent-strong);background:#63d8d71f}.admin-h3{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:26px 0 10px;font-size:11px}.admin-create{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.admin-create input,.admin-create select{border:1px solid var(--line);color:var(--ink);background:#06181fbd;border-radius:6px;padding:9px 11px;font-size:13px}.admin-filter{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);align-items:center;gap:6px;margin-left:12px;font-size:11px;display:inline-flex}.admin-data-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-status{color:var(--muted);font-size:12px}.admin-table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:640px;font-family:var(--font-mono);font-size:12px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line-soft);padding:10px 12px}.admin-table th{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-weight:500}.admin-table tbody tr:hover{background:#29747717}.admin-row-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-table tr.row-pending{background:#ffb84d0f}.status-badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:11px}.status-approved{color:var(--ok);background:#51e6b529}.status-pending{color:var(--route);background:#ffb84d29}.status-rejected{color:#ff9d9d;background:#ff596429}.toast{z-index:100;border:1px solid var(--line);background:var(--panel);max-width:min(92vw,560px);color:var(--ink);font-family:var(--font-mono);letter-spacing:.02em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;padding:12px 16px 12px 18px;font-size:13px;position:fixed;bottom:24px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 12px 40px #00000073}.toast:before{content:"";width:3px;position:absolute;top:0;bottom:0;left:0}.toast-ok:before{background:var(--ok)}.toast-error:before{background:var(--danger)}@media (width<=640px){.auth-card{max-width:none;padding:24px 20px}.admin-page{padding:16px 14px 48px}.admin-tabs{max-width:none}.admin-create{gap:8px}}@media (prefers-reduced-motion:reduce){.auth-orbit{animation:none}}.admin-plan-select{border:1px solid var(--line);color:#cde1e1;font-family:var(--font-mono);cursor:pointer;background:#061d24cc;border-radius:4px;padding:3px 6px;font-size:10px}
