.portal-shell{background:#f6f3eb;min-height:70vh}.portal-hero{background:linear-gradient(125deg,#05152a,#0b3159);color:#fff;padding:44px 0}.portal-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}.portal-hero h1{font-size:clamp(32px,4vw,52px);margin:10px 0 8px}.portal-hero p{color:#c8d4e2;margin:0}.portal-identity{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:18px;border-radius:20px}.portal-identity div{min-width:0}.portal-identity small{display:block;color:#aebdd0;font-size:10px}.portal-identity strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-identity button{grid-column:1/-1}.portal-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.portal-kpis article{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.portal-kpis small{display:block;color:var(--muted);font-weight:800}.portal-kpis strong{font-size:32px;color:var(--navy)}.portal-layout{display:grid;grid-template-columns:1.55fr .75fr;gap:20px}.portal-main,.portal-side{display:grid;gap:20px;align-content:start}.portal-card{background:white;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 5px 18px rgba(9,28,52,.04)}.portal-card h2,.portal-card h3{margin:4px 0 14px}.portal-card-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px}.portal-product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.portal-product{border:1px solid var(--line);border-radius:17px;padding:16px;background:#fffdfa}.portal-product strong{display:block;margin-bottom:5px}.portal-product small{color:var(--muted)}.portal-product .btn{margin-top:11px;width:100%}.portal-row{border-bottom:1px solid #eee6d8;padding:12px 0;display:flex;justify-content:space-between;gap:14px}.portal-row:last-child{border-bottom:0}.portal-row p{margin:0}.portal-row small{color:var(--muted)}.portal-pill{font-size:10px;border:1px solid #ddd;border-radius:999px;padding:4px 7px;height:max-content;white-space:nowrap}.portal-pill.urgent,.portal-pill.critical{border-color:#e8cad4;color:#744758;background:#fff5f8}.portal-pill.high,.portal-pill.warning{border-color:#ead8a8;color:#8f6922;background:#fff9e9}.portal-security{font-size:10px;color:#744758;border:1px solid #e8cad4;background:#fff5f8;border-radius:999px;padding:5px 8px}.portal-brief{background:#071a32;color:white;border-radius:17px;padding:16px}.portal-brief strong{color:var(--gold2);font-size:26px}.portal-disclaimer,.portal-muted{display:block;color:#7c8794;font-size:11px;line-height:1.6;margin-top:12px}.portal-empty{padding:18px;border:1px dashed #d8d0c2;border-radius:14px;color:var(--muted);text-align:center}.portal-gate{max-width:620px;margin:auto;background:white;border:1px solid var(--line);border-radius:22px;padding:26px;text-align:center}.portal-error{background:#fff5f8;border:1px solid #e8cad4;color:#744758;padding:14px;border-radius:13px}.approval-actions{display:flex;gap:7px;margin-top:8px}.approval-actions button{font-size:11px;padding:7px 10px}.auth-form{max-width:540px;margin:auto;background:white;border:1px solid var(--line);border-radius:24px;padding:26px}.auth-form h2{margin-top:0}.auth-grid{display:grid;gap:13px}.auth-note{font-size:11px;color:var(--muted);margin-top:12px}@media(max-width:900px){.portal-hero-grid,.portal-layout{grid-template-columns:1fr}.portal-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.portal-identity{grid-template-columns:1fr 1fr}.portal-kpis,.portal-product-grid{grid-template-columns:1fr}.portal-card{padding:18px}.portal-row{display:block}.portal-pill{display:inline-flex;margin-top:6px}}
.portal-stepup{max-width:620px;margin:0 auto 20px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.portal-stepup[hidden]{display:none}.portal-stepup>strong,.portal-stepup>#stepMessage{grid-column:1/-1}.portal-stepup .field{margin:0}.portal-identity button{grid-column:auto}@media(max-width:600px){.portal-stepup{grid-template-columns:1fr}.portal-stepup>strong,.portal-stepup>#stepMessage{grid-column:auto}}
