:root{--bg:#0f1117;--bg-card:#181b25;--bg-hover:#1f2335;--border:#2a2e3e;--text:#9ca3af;--text-h:#f1f5f9;--text-dim:#6b7280;--accent:#6366f1;--accent-hover:#818cf8;--accent-bg:#6366f11f;--green:#22c55e;--green-bg:#22c55e1f;--red:#ef4444;--red-bg:#ef44441f;--orange:#f59e0b;--orange-bg:#f59e0b1f;--radius:10px;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}body{font:15px/1.6 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}#app{max-width:960px;margin:0 auto;padding:48px 24px 64px}.app-header{text-align:center;margin-bottom:48px}.app-header h1{color:var(--text-h);letter-spacing:-.5px;margin:0 0 8px;font-size:30px;font-weight:600}.subtitle{color:var(--text-dim);margin:0;font-size:14px}.panels{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=720px){.panels{grid-template-columns:1fr}}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;padding:28px;display:flex}.panel-header{align-items:center;gap:10px;display:flex}.panel-header h2{color:var(--text-h);margin:0;font-size:16px;font-weight:600}.panel-desc{color:var(--text-dim);margin:0;font-size:13px;line-height:1.5}.panel-desc code{background:var(--bg-hover);color:var(--accent);border-radius:4px;padding:2px 6px;font-size:12px}.badge{letter-spacing:.3px;white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-same{background:var(--accent-bg);color:var(--accent)}.badge-cross{background:var(--orange-bg);color:var(--orange)}.auth-form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--text-h);font-size:12px;font-weight:500}.field input{font:14px var(--sans);border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;outline:none;padding:9px 12px;transition:border-color .2s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.field input::placeholder{color:var(--text-dim)}.form-actions{gap:8px;display:flex}.sso-actions{flex-direction:column;gap:8px;display:flex}.btn{font:14px var(--sans);cursor:pointer;text-align:center;border:1px solid #0000;border-radius:6px;padding:9px 18px;font-weight:500;transition:background .2s,border-color .2s,opacity .2s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);flex:1}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:var(--bg-hover);color:var(--text-h);border-color:var(--border);flex:1}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-outline{color:var(--text);border-color:var(--border);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--red);color:var(--red);background:var(--red-bg)}.session-box{background:var(--green-bg);border:1px solid #22c55e40;border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex}.session-label{color:var(--green);margin:0;font-size:13px;font-weight:600}.session-data{font:12px/1.5 var(--mono);color:var(--text);background:var(--bg);white-space:pre-wrap;word-break:break-all;border-radius:6px;margin:0;padding:10px 12px;overflow-x:auto}.error-box{background:var(--red-bg);color:var(--red);border:1px solid #ef444440;border-radius:8px;padding:10px 14px;font-size:13px}.status-box{background:var(--accent-bg);color:var(--accent);text-align:center;border:1px solid #6366f140;border-radius:8px;padding:10px 14px;font-size:13px}.hidden{display:none!important}.callback-loading{text-align:center;color:var(--text-h);padding:80px 0;font-size:16px}.app-footer{text-align:center;color:var(--text-dim);border-top:1px solid var(--border);margin-top:48px;padding-top:24px;font-size:13px;line-height:1.8}.app-footer code{background:var(--bg-hover);color:var(--accent);border-radius:4px;padding:2px 6px;font-size:12px}.footer-hint{font-size:12px}.sso-config{border:1px solid var(--border);border-radius:8px;overflow:hidden}.sso-config-summary{color:var(--text-h);cursor:pointer;background:var(--bg-hover);-webkit-user-select:none;user-select:none;padding:10px 14px;font-size:13px;font-weight:500}.sso-config-summary:hover{background:var(--border)}.sso-config-fields{flex-direction:column;gap:10px;padding:14px;display:flex}.sso-config[open] .sso-config-summary{border-bottom:1px solid var(--border)}.field-optional{color:var(--text-dim);font-size:11px;font-weight:400}.url-box{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;padding:14px;display:flex}.url-label{color:var(--text-h);margin:0;font-size:13px;font-weight:500}.url-content{font:11px/1.5 var(--mono);color:var(--text);background:var(--bg-hover);word-break:break-all;white-space:pre-wrap;border-radius:6px;max-height:160px;margin:0;padding:10px 12px;overflow-y:auto}.field-hint{color:var(--text-dim);margin:2px 0 0;font-size:11px;line-height:1.4}.url-meta{align-items:center;gap:6px;font-size:12px;display:flex}.url-meta-label{color:var(--text-dim);white-space:nowrap}.url-meta-value{font:12px/1.4 var(--mono);color:var(--accent);background:var(--accent-bg);word-break:break-all;border-radius:4px;padding:2px 8px}
