.portal .shell .app{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.portal .shell .login-wrap{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.portal .shell .login-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;width:min(32rem,100%);padding:2rem 1.75rem;box-shadow:0 12px 40px #00000040}.portal .shell .eyebrow{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .4rem;font-size:.8rem;font-weight:700}.portal .shell h1{margin:0 0 .5rem;font-size:1.7rem;font-weight:650}.portal .shell h2{margin:0 0 .4rem;font-size:1.25rem}.portal .shell .subtitle,.portal .shell .muted{color:var(--muted)}.portal .shell .header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.portal .shell .account{text-align:right;font-size:.9rem}.portal .shell .account small{color:var(--muted);display:block}.portal .shell .panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.35rem 1.5rem;box-shadow:0 12px 40px #00000040}.portal .shell .panel+.panel{margin-top:1rem}.portal .shell .actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1.1rem;display:flex}.portal .shell .action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem;display:grid}.portal .shell .action{text-align:left;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:12px;min-height:8.5rem;padding:1.1rem 1.15rem 2.5rem;position:relative}.portal .shell .action:hover{border-color:var(--accent)}.portal .shell .action strong{margin-bottom:.35rem;font-size:1.05rem;display:block}.portal .shell .action-detail{color:var(--muted);font-size:.92rem}.portal .shell .mark{place-items:center;width:1.45rem;height:1.45rem;display:grid;position:absolute;bottom:.65rem;right:.75rem}.portal .shell .mark-icon{width:1.45rem;height:1.45rem;display:block}.portal .shell .mark-pending{border:2px solid var(--muted);border-radius:50%;width:.85rem;height:.85rem}.portal .shell .btn{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:8px;padding:.55rem 1rem;font-size:.95rem}.portal .shell .btn:disabled{opacity:.5;cursor:not-allowed}.portal .shell a.btn{text-decoration:none;display:inline-block}.portal .shell .btn.primary{background:var(--accent);border-color:var(--accent);font-weight:600}.portal .shell .btn.primary:hover:not(:disabled){background:var(--accent-hover)}.portal .shell .btn.ghost:hover:not(:disabled){border-color:var(--muted)}.portal .shell .banner{border:1px solid var(--border);background:var(--card);border-radius:10px;margin:0 0 1rem;padding:.85rem 1rem}.portal .shell .banner.ok{color:#86efac;border-color:#1f4d34}.portal .shell .banner.warn{color:#fcd34d;border-color:#6b4e12}.portal .shell .banner.bad{color:#fecaca;border-color:#6b2424}.portal .shell .field{margin:1rem 0 0}.portal .shell .field label{margin-bottom:.35rem;font-weight:600;display:block}.portal .shell .tenant-pick{margin-top:1rem}.portal .shell .run-links{white-space:nowrap;flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.portal .shell button.link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.portal .shell button.link:disabled{color:var(--muted);cursor:not-allowed;text-decoration:none}.portal .shell input,.portal .shell select{background:var(--card);width:100%;max-width:28rem;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;padding:.55rem .7rem}.portal .shell .permission-list{color:var(--muted);margin:.6rem 0 0;padding-left:1.2rem}.portal .shell .table-wrap{overflow-x:auto}.portal .shell table{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:.92rem}.portal .shell th,.portal .shell td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.55rem .4rem}.portal .shell th{color:var(--muted);font-weight:600}.portal .shell .status{text-transform:capitalize}.portal .shell .set-grid{gap:.85rem;margin-top:.75rem;display:grid}.portal .shell .set-card{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:.95rem 1rem 1rem}.portal .shell .set-card h3{margin:0;font-size:1.05rem}.portal .shell .set-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.portal .shell .pill{color:var(--muted);white-space:nowrap;font-size:.82rem;font-weight:650}.portal .shell .pill-active{color:var(--ok)}.portal .shell .pill-attention{color:var(--warn)}.portal .shell .set-roles{color:var(--muted);margin:.45rem 0 0;padding-left:1.15rem}@media (width<=720px){.portal .shell .header,.portal .shell .account{text-align:left}.portal .shell .header{flex-direction:column}.portal .shell .action-grid{grid-template-columns:1fr}}:root{--bg:#0f1419;--panel:#1a2332;--border:#2d3a4f;--text:#e8eef7;--muted:#9aadc4;--accent:#3b82f6;--accent-hover:#2563eb;--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444;--card:#121a26;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 10% -10%, #1e3a5f 0%, transparent 50%), var(--bg);min-height:100vh;margin:0}.pal .app{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.pal .header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.pal .header h1{margin:0 0 .35rem;font-size:1.55rem;font-weight:650}.pal .subtitle{color:var(--muted);max-width:40rem;margin:0}.pal .account{text-align:right;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.pal .account small{color:var(--muted);display:block}.pal .steps{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.pal .step{background:var(--card);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.35rem .7rem;font-size:.8rem}.pal .step.active{border-color:var(--accent);color:var(--text);background:#1a2f4d}.pal .step.done{color:#86efac;border-color:#1f4d34}.pal .panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.35rem 1.5rem;box-shadow:0 12px 40px #00000040}.pal .panel h2{margin-top:0}.pal .bullets{color:var(--muted);padding-left:1.2rem}.pal .bullets li{margin-bottom:.4rem}.pal .btn{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:8px;padding:.55rem 1rem;font-size:.95rem}.pal .btn:disabled{opacity:.5;cursor:not-allowed}.pal .btn.primary{background:var(--accent);border-color:var(--accent);font-weight:600}.pal .btn.primary:hover:not(:disabled){background:var(--accent-hover)}.pal .btn.ghost:hover:not(:disabled){border-color:var(--muted)}.pal .actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1.25rem;display:flex}.pal .cards{gap:.75rem;margin:1rem 0;display:grid}.pal .card{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:10px;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.pal .card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.pal .card.disabled{opacity:.55;cursor:not-allowed}.pal .card p{color:var(--muted);margin:.35rem 0 0;font-size:.9rem}.pal .field{margin:1rem 0}.pal .field label{margin-bottom:.35rem;font-weight:600;display:block}.pal .field select,.pal .toolbar input[type=search]{border:1px solid var(--border);width:100%;max-width:32rem;color:var(--text);background:#0c121b;border-radius:8px;padding:.55rem .7rem}.pal .toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.pal .toolbar input[type=search]{flex:1;min-width:12rem}.pal .table-wrap{border:1px solid var(--border);border-radius:8px;overflow:auto}.pal table{border-collapse:collapse;width:100%;font-size:.9rem}.pal th,.pal td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.55rem .7rem}.pal th{color:var(--muted);background:#121a26;font-weight:600}.pal tr:last-child td{border-bottom:none}.pal code{font-family:ui-monospace,Consolas,monospace;font-size:.85em}.pal code.tiny{color:var(--muted);font-size:.75rem}.pal .muted{color:var(--muted);font-size:.9rem}.pal .assoc-scope{margin:1rem 0 1.15rem}.pal .assoc-toggle{border:1px solid var(--border);background:#0c121b;border-radius:999px;display:inline-flex;overflow:hidden}.pal .assoc-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.pal .assoc-toggle button:hover{color:var(--text)}.pal .assoc-toggle button.is-active{background:var(--accent);color:#fff}.pal .assoc-hint{margin:.45rem 0 0}.pal .warn{color:#fcd34d}.pal .banner{border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.pal .banner.error{color:#fecaca;background:#3f1515;border-color:#7f1d1d}.pal .banner.info{color:#bfdbfe;background:#152033;border-color:#1e3a5f}.pal .banner.warn{color:#fde68a;background:#3a2a10;border-color:#854d0e;margin:.75rem 0}.pal .review-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (width<=800px){.pal .review-grid{grid-template-columns:1fr}.pal .header{flex-direction:column}}.pal .auth-list,.pal .compact{color:var(--muted);padding-left:1.1rem}.pal .auth-list li,.pal .compact li{margin-bottom:.5rem}.pal .pill{text-transform:capitalize;background:#243044;border-radius:999px;padding:.15rem .5rem;font-size:.8rem;display:inline-block}.pal .pill.succeeded{color:#bbf7d0;background:#14532d}.pal .pill.failed{color:#fecaca;background:#7f1d1d}.pal .pill.deploying,.pal .pill.registering,.pal .pill.pending,.pal .pill.checking,.pal .pill.unknown{color:#bfdbfe;background:#1e3a5f}.pal .pill.not_applied{color:#fde68a;background:#713f12}.pal .pill.offer_missing{color:#f3e8ff;background:#581c87}.pal .pill.cannot_assign_roles{color:#fde68a;text-transform:none;background:#78350f}.pal .pill.needs_update{color:#fed7aa;background:#7c2d12}.pal .pill.applied{color:#bbf7d0;background:#14532d}.pal .pill.managing_tenant{color:#e2e8f0;background:#334155}.pal .pill.cannot_apply{color:#fecaca;text-transform:none;background:#7f1d1d}.pal .pill.can_apply{color:#bfdbfe;text-transform:none;background:#1e3a5f}.pal .scope-counts{margin:.25rem 0 .75rem;font-size:1.05rem}.pal .scope-counts strong{font-variant-numeric:tabular-nums}.pal .status-summary{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem;display:flex}.pal .reapply-toggle{border:1px solid var(--border);background:var(--card);color:var(--muted);cursor:pointer;border-radius:8px;align-items:flex-start;gap:.65rem;margin:.75rem 0 1rem;padding:.75rem .9rem;font-size:.9rem;display:flex}.pal .reapply-toggle strong{color:var(--text)}.pal .reapply-toggle input{margin-top:.2rem}.pal .row-muted{opacity:.65}.pal .toolbar select{border:1px solid var(--border);color:var(--text);background:#0c121b;border-radius:8px;padding:.55rem .7rem}.pal .result-card{border:1px solid var(--border);background:var(--card);border-radius:8px;margin-bottom:1rem;padding:.9rem 1rem}.pal .result-card.ok{border-color:#166534}.pal .result-card.bad{border-color:#991b1b}.pal .footer{color:var(--muted);margin-top:1.5rem;font-size:.85rem}#root{min-height:100vh}
