.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;max-width:760px}@media(max-width:720px){.form-grid{grid-template-columns:1fr}}.form-grid .form-actions{grid-column:1 / -1;display:flex;gap:10px;align-items:center}.field-hint,.field-ok,.field-warn{font-size:12px;font-style:normal;line-height:1.5}.field-hint{color:var(--text-secondary)}.field-ok{color:#1e7f43}.field-warn{color:#8a6d1a}.notice{border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:13px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-bottom:16px}.notice p{margin:0}.notice-danger{border-color:#f0c9c5;background:#fdecea;color:var(--danger)}.notice-warn{border-color:#ecd9a0;background:#fdf3d7;color:#8a6d1a}.quota-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:20px;max-width:760px}.quota-warning{border-color:#ecd9a0}.quota-full{border-color:#f0c9c5}.quota-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.quota-title{font-weight:600;font-size:13px}.quota-value{font-size:13px;color:var(--text-secondary)}.quota-track{height:6px;background:#f0f0f3;border-radius:999px;overflow:hidden;margin:10px 0 8px}.quota-fill{height:100%;background:var(--brand)}.quota-warning .quota-fill{background:#d9a41b}.quota-full .quota-fill{background:var(--danger)}.quota-legend{display:flex;justify-content:space-between;gap:12px;font-size:12px}.status-badge{border-radius:999px;padding:3px 10px;font-size:12px;background:#f0f0f3;color:var(--text-secondary);white-space:nowrap}.status-ok{background:#e6f4ea;color:#1e7f43}.status-warn{background:#fdf3d7;color:#8a6d1a}.status-danger{background:#fdecea;color:var(--danger)}.step-list{list-style:none;margin:8px 0 20px;padding:0;display:flex;flex-direction:column;gap:8px;max-width:560px}.step{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:13px;color:var(--text-secondary)}.step-marker{width:18px;text-align:center;color:var(--text-secondary)}.step-done{color:var(--text);border-color:#cfe6d8}.step-done .step-marker{color:#1e7f43}.step-current{color:var(--text);border-color:var(--brand);background:var(--brand-soft)}.step-current .step-marker{color:var(--brand)}:root{--brand: #5e6ad2;--brand-strong: #4b56b8;--brand-soft: #eeeffb;--bg: #f7f7f9;--surface: #ffffff;--border: #e4e4e7;--text: #3a3a42;--text-secondary: #71717a;--danger: #c0392b;--radius: 10px;--shadow: 0 1px 2px rgba(58, 58, 66, .06), 0 8px 24px rgba(58, 58, 66, .08)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg);font-size:14px;line-height:1.6}.fullscreen-center{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center}.muted{color:var(--text-secondary)}.auth-screen{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:radial-gradient(60% 50% at 50% 0%,var(--brand-soft) 0%,transparent 70%),var(--bg)}.auth-topbar{position:fixed;top:16px;right:16px}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 28px}.auth-logo{font-weight:700;font-size:18px;letter-spacing:.5px;color:var(--brand);margin-bottom:20px}.auth-title{margin:0 0 16px;font-size:18px;font-weight:600}.auth-desc{margin:-8px 0 16px;color:var(--text-secondary);font-size:13px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-done{display:flex;justify-content:center}.auth-error{border:1px solid #f0c9c5;background:#fdecea;color:var(--danger);border-radius:8px;padding:10px 12px;font-size:13px}.auth-error p{margin:0}.request-id{color:var(--text-secondary);font-size:12px;margin-top:4px!important}.auth-demo{margin-top:8px;border-top:1px dashed var(--border);padding-top:14px;display:flex;flex-direction:column;gap:10px}.auth-demo-hint{margin:0;color:var(--text-secondary);font-size:12px}.auth-demo-actions{display:flex;gap:8px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;font-size:13px}.field span{color:var(--text-secondary)}.field input{border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:14px;color:var(--text);background:var(--surface);outline:none;transition:border-color .15s}.field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.btn{border:1px solid var(--border);border-radius:8px;padding:9px 16px;font-size:14px;font-weight:500;color:var(--text);background:var(--surface);cursor:pointer;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){background:#f0f0f3}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong)}.btn-ghost{border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){border-color:var(--border)}.btn-block{width:100%}.console{display:grid;grid-template-columns:216px 1fr;min-height:100vh}.console-side{background:var(--surface);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:12px}.console-brand{font-weight:700;color:var(--brand);padding:0 10px}.console-scope-badge{margin:0 10px 6px;display:inline-block;align-self:flex-start;font-size:12px;color:var(--brand);background:var(--brand-soft);border-radius:999px;padding:2px 10px}.console-nav{display:flex;flex-direction:column;gap:2px}.console-nav-group{margin:12px 10px 4px;font-size:11px;font-weight:600;letter-spacing:.4px;color:var(--text-secondary)}.console-imp-badge{font-size:12px;color:#8a6d1a;background:#fdf3d7;border:1px solid #ecd9a0;border-radius:999px;padding:2px 10px}.console-nav a{color:var(--text-secondary);text-decoration:none;padding:8px 10px;border-radius:8px;font-size:14px}.console-nav a:hover{background:#f0f0f3;color:var(--text)}.console-nav a.active{background:var(--brand-soft);color:var(--brand);font-weight:500}.console-body{display:flex;flex-direction:column;min-width:0}.console-topbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border)}.console-context{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-actions{display:flex;align-items:center;gap:10px}.lang-switch select{border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:13px;color:var(--text);background:var(--surface)}.console-main{padding:24px;flex:1;min-width:0}.page{max-width:720px}.page-title{margin:0 0 6px;font-size:20px;font-weight:600}.page-desc{margin:0 0 20px;color:var(--text-secondary)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head .page-desc{margin:0}.readonly-hint{margin:0 0 12px;color:#8a6d1a;font-size:13px}.placeholder-card{border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface);padding:40px 24px;text-align:center;color:var(--text-secondary)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
