:root{--brand: #e30613;--brand-hover: #286090;--banner: #6c757d;--idp: #5bc0de;--bg: #eef1f5;--text: #2c3e50;--muted: #747474;--border: #d4d9e0;--focus: #66afe9;--error: #D64958;--valid: #19BF00}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(160deg,#f3f5f8,#e6eaf0);color:var(--text);-webkit-font-smoothing:antialiased}.card{max-width:410px;margin:7vh auto;background:#fff;border-radius:14px;box-shadow:0 10px 30px #141e321f;padding:34px 32px 30px;overflow:hidden}.brand-banner{background:var(--banner);margin:-34px -32px 26px;padding:26px 0;text-align:center}.brand-logo{display:inline-block;max-width:58%;height:auto}.card h1{font-size:1.45rem;margin:0 0 4px;font-weight:700}.card .sub{color:var(--muted);margin:0 0 22px;font-size:.9rem}label{display:block;font-size:.82rem;margin:14px 0 5px;font-weight:600;color:#44505e}input{width:100%;padding:11px 13px;color:#333;border:1px solid var(--border);border-radius:9px;font-size:1rem;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#aab2bd}input:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px #66afe940}button{width:100%;margin-top:22px;padding:12px;background:var(--brand);color:#fff;border:none;border-radius:9px;font-size:1rem;font-weight:700;letter-spacing:.2px;cursor:pointer;transition:background .15s,transform .05s,box-shadow .15s;box-shadow:0 3px 10px #e3061340}button:hover:not(:disabled){background:var(--brand-hover);box-shadow:0 3px 12px #2860904d}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.links{margin-top:20px;font-size:.85rem;text-align:center;color:var(--muted)}.links a{color:var(--brand-hover);text-decoration:none;font-weight:600}.links a:hover{text-decoration:underline}.error{margin-top:12px;padding:9px 11px;font-size:.85rem;background:#fdf0f1;border:1px solid var(--error);border-radius:8px;color:var(--error)}.success{margin-top:12px;padding:9px 11px;font-size:.85rem;background:#eefae9;border:1px solid var(--valid);border-radius:8px;color:#178a00}.admin-shell{max-width:1040px;margin:32px auto;padding:0 20px}.admin-shell h2{font-size:1.2rem;margin:24px 0 14px}table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px #141e320f}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid #eef1f4;font-size:.9rem}th{background:#f7f9fb;font-weight:600;color:#44505e}tr:last-child td{border-bottom:none}code{background:#f2f4f7;padding:2px 6px;border-radius:5px;font-size:.85em}select{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:9px;font-size:1rem}nav.top{display:flex;gap:18px;padding:14px 22px;background:#fff;border-bottom:3px solid var(--brand);box-shadow:0 2px 8px #141e320d}nav.top a{color:var(--text);text-decoration:none;font-weight:600;font-size:.9rem}nav.top a.active{color:var(--brand)}nav.top a:hover{color:var(--brand-hover)}.help{background:#fff;border:1px solid var(--border);border-left:4px solid var(--brand-hover);border-radius:8px;padding:12px 16px;margin-bottom:20px;font-size:.9rem;line-height:1.5}.help summary{cursor:pointer;font-weight:600;color:var(--brand-hover)}.help h4{margin:14px 0 4px;font-size:.92rem}.help ol{margin:6px 0 6px 18px;padding:0}.help li{margin:3px 0}.help pre{background:#f5f7f9;border:1px solid #e3e8ee;border-radius:6px;padding:10px;overflow-x:auto;font-size:.82rem;white-space:pre-wrap}.help code{background:#eef1f4}.field-hint{display:block;font-weight:400;color:var(--muted);font-size:.78rem;margin:2px 0 0}.docs{max-width:880px;margin:36px auto;padding:0 22px 60px;line-height:1.6}.docs h1{font-size:1.6rem}.docs h2{margin-top:30px;font-size:1.2rem;border-bottom:2px solid var(--brand);padding-bottom:4px;display:inline-block}.docs pre{background:#1e2430;color:#e6e9ef;border-radius:8px;padding:14px 16px;overflow-x:auto;font-size:.85rem;line-height:1.45}.docs code{background:#eef1f4;padding:1px 5px;border-radius:4px;font-size:.88em}.docs pre code{background:none;padding:0}.docs a{color:var(--brand-hover)}
