/* MAVIRELO External Project Portals v1 */
.portal-shell{display:grid;gap:16px}.portal-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.portal-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:14px}.portal-project-grid>div{border:1px solid var(--line);border-radius:10px;padding:13px;background:rgba(255,255,255,.015)}.portal-project-grid strong,.portal-project-grid span,.portal-project-grid small{display:block}.portal-project-grid span,.portal-project-grid small{color:var(--muted);margin-top:4px}.portal-records{overflow:hidden}.portal-list{display:grid;gap:8px;margin-top:12px}.portal-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid rgba(115,145,160,.15);border-radius:9px;padding:11px}.portal-row>div:first-child strong,.portal-row>div:first-child span{display:block}.portal-row>div:first-child span{color:var(--muted);font-size:11px;margin-top:3px}.portal-row>div:last-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.portal-actions,.portal-review{display:flex;gap:7px;flex-wrap:wrap}.portal-review button{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:7px;padding:5px 8px;font-size:10px;font-weight:800;cursor:pointer}.portal-modal{max-width:760px}.portal-modal label{display:grid;gap:5px;margin-top:10px;color:var(--muted);font-size:11px;font-weight:750}.portal-modal input,.portal-modal select,.portal-modal textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text)}.portal-modal textarea{min-height:70px;resize:vertical}.portal-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.portal-status{min-height:18px;margin-top:8px}html[data-theme="dark"] .portal-project-grid>div,html[data-theme="dark"] .portal-modal input,html[data-theme="dark"] .portal-modal select,html[data-theme="dark"] .portal-modal textarea{background:#0a1d29}@media(max-width:760px){.portal-hero,.portal-row{flex-direction:column}.portal-form-grid{grid-template-columns:1fr}.portal-row>div:last-child{justify-content:flex-start}.portal-actions{width:100%}}


/* Vendor & GC Control Center — construction intelligence parity */
#external-portals .portal-intelligence{gap:12px}
#external-portals .portal-hero{padding:24px 26px;background:linear-gradient(110deg,rgba(18,73,78,.34),rgba(9,30,42,0));border-color:rgba(95,174,170,.24)}
#external-portals .portal-hero h2{font-size:27px;letter-spacing:-.025em;margin:2px 0 5px}
#external-portals .portal-hero>.status-badge{margin-top:1px}
#external-portals .portal-control-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(95,174,170,.24);border-radius:13px;overflow:hidden;background:linear-gradient(145deg,rgba(16,42,52,.96),rgba(10,31,43,.98))}
#external-portals .portal-control-summary>div{min-height:112px;padding:18px 20px;border-right:1px solid rgba(95,174,170,.18)}
#external-portals .portal-control-summary>div:last-child{border-right:0}
#external-portals .portal-control-summary span,#external-portals .portal-control-summary strong,#external-portals .portal-control-summary small{display:block}
#external-portals .portal-control-summary span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8fa8b2}
#external-portals .portal-control-summary strong{font-size:27px;letter-spacing:-.035em;margin-top:12px;color:#edf4f7}
#external-portals .portal-control-summary small{font-size:11px;color:#91a8b1;margin-top:6px}
#external-portals .portal-shell>.card:not(.portal-hero){padding:18px 20px}
#external-portals .portal-shell>.card:not(.portal-hero) .section-head{padding-bottom:10px;border-bottom:1px solid rgba(95,174,170,.14)}
#external-portals .portal-project-grid>div{min-height:82px}
#external-portals .portal-records .portal-row{background:rgba(8,29,40,.56);border-color:rgba(95,174,170,.18)}
html:not([data-theme="dark"]) #external-portals .portal-hero{background:linear-gradient(110deg,#eef8f6,#fff)}
html:not([data-theme="dark"]) #external-portals .portal-control-summary{background:#fff;border-color:#dce7e6}
html:not([data-theme="dark"]) #external-portals .portal-control-summary>div{border-color:#dce7e6}
html:not([data-theme="dark"]) #external-portals .portal-control-summary strong{color:#18313a}
@media(max-width:1050px){#external-portals .portal-control-summary{grid-template-columns:repeat(2,1fr)}#external-portals .portal-control-summary>div:nth-child(2){border-right:0}}
