
/* Portal V1.5 · Admin + Downline Lab */
.portal-access-card,.portal-admin-card{background:#fff;border:1px solid #c9dbea;border-radius:22px;box-shadow:0 18px 45px rgba(8,31,68,.08);padding:28px}
.portal-access-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.portal-form-row{display:grid;gap:8px;margin-bottom:16px}.portal-form-row label{font-weight:700;color:#0a1f44}.portal-form-row input,.portal-form-row textarea,.portal-form-row select{width:100%;box-sizing:border-box;border:1px solid #b8cce0;border-radius:14px;padding:13px 14px;font:inherit;background:#fff;color:#0a1f44;outline:none}.portal-form-row input:focus,.portal-form-row textarea:focus,.portal-form-row select:focus{border-color:#0066ff;box-shadow:0 0 0 3px rgba(0,102,255,.12)}
.portal-form-actions{display:flex;gap:12px;flex-wrap:wrap}.portal-btn{appearance:none;border:0;border-radius:14px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.portal-btn-primary{background:#006fe8;color:#fff}.portal-btn-secondary{background:#fff;color:#0a1f44;border:1px solid #b8cce0}.portal-btn-danger{background:#fff5f5;color:#9b1c1c;border:1px solid #f2bcbc}.portal-btn:focus-visible{outline:3px solid rgba(0,212,255,.55);outline-offset:2px}
.portal-status{margin-top:16px;padding:14px 16px;border:1px solid #c6d7e7;border-radius:14px;background:#f6fbff;color:#0a1f44}.portal-status-success{border-color:#97ddbf;background:#f2fbf7}.portal-status-error{border-color:#f0b4b4;background:#fff7f7}
.portal-admin-shell{max-width:1500px;margin:0 auto;padding:28px 24px 64px}.portal-admin-lock{max-width:560px;margin:72px auto}.portal-admin-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.portal-admin-kicker{font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;color:#0066ff;font-weight:800}.portal-admin-title{margin:.35rem 0 .25rem;font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;color:#0a1f44}.portal-admin-sub{max-width:850px;color:#536b84}.portal-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.portal-admin-tabs button{border:1px solid #b9cee1;background:#fff;color:#0a1f44;border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer}.portal-admin-tabs button.is-active{background:#0a1f44;color:#fff;border-color:#0a1f44}.portal-admin-panel{display:none}.portal-admin-panel.is-active{display:block}
.portal-import-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px;align-items:start}.portal-paste{min-height:320px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86rem;line-height:1.5}.portal-mini-note{font-size:.88rem;color:#60778f}.portal-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.portal-stat{background:#f6fbff;border:1px solid #d5e4f0;border-radius:16px;padding:14px}.portal-stat b{display:block;font-size:1.5rem;color:#0a1f44}.portal-stat span{font-size:.78rem;color:#60778f;text-transform:uppercase;letter-spacing:.06em}
.portal-table-wrap{overflow:auto;border:1px solid #cbdbea;border-radius:16px;background:#fff;max-height:480px}.portal-downline-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.84rem}.portal-downline-table th,.portal-downline-table td{padding:10px 12px;border-bottom:1px solid #e3ecf3;border-right:1px solid #edf2f6;white-space:nowrap;text-align:left}.portal-downline-table th{position:sticky;top:0;background:#0a1f44;color:#fff;z-index:2}.portal-downline-table tr:last-child td{border-bottom:0}.portal-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.74rem;font-weight:800}.portal-badge-active{background:#e9fbf3;color:#08734d}.portal-badge-trial{background:#eef6ff;color:#0d5fb8}.portal-badge-review{background:#fff8e8;color:#946200}
.portal-admin-warning{border-left:4px solid #ffb020;background:#fff9ea;padding:14px 16px;border-radius:12px;color:#6f5300;margin:14px 0}.portal-admin-warning strong{color:#553d00}
.portal-empty{padding:30px;text-align:center;color:#657b90}.portal-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#eef4f8;padding:2px 6px;border-radius:6px}
@media(max-width:900px){.portal-import-layout,.portal-access-grid{grid-template-columns:1fr}.portal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-admin-top{flex-direction:column}.portal-admin-shell{padding:20px 14px 48px}}
