/* Part 16: secure member self-service portal. */
.agcm-portal-login,.agcm-portal-dashboard{background:#f3f6fb}
.agcm-portal-login__layout{align-items:stretch;display:grid;gap:28px;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);max-width:1050px}
.agcm-portal-login__card,.agcm-portal-login__aside,.agcm-portal-card,.agcm-portal-welcome{background:#fff;border:1px solid #dfe7f2;border-radius:24px;box-shadow:0 18px 55px rgba(10,40,88,.08)}
.agcm-portal-login__card{padding:40px}
.agcm-portal-login__card h2{font-size:clamp(1.9rem,3vw,2.6rem);margin:8px 0 12px}
.agcm-portal-login__card>p{color:#65748c;line-height:1.75;margin:0 0 25px}
.agcm-portal-login__aside{background:linear-gradient(145deg,#031c42,#0757b5);color:#fff;overflow:hidden;padding:40px;position:relative}
.agcm-portal-login__aside::after{background:radial-gradient(circle,rgba(255,255,255,.18) 1px,transparent 1.5px);background-size:20px 20px;content:"";inset:50% -20% -20% 35%;opacity:.32;position:absolute;transform:rotate(-8deg)}
.agcm-portal-login__aside>*{position:relative;z-index:1}
.agcm-portal-login__aside>span,.agcm-portal-card>span,.agcm-portal-card__head span,.agcm-portal-preferences>div>span,.agcm-portal-welcome>div:nth-child(2)>span{color:var(--agcm-yellow);font-size:.69rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.agcm-portal-login__aside h2{color:#fff;font-size:clamp(1.8rem,3vw,2.45rem);margin:12px 0}
.agcm-portal-login__aside p{color:rgba(255,255,255,.76);line-height:1.75;margin:0 0 24px}
.agcm-portal-login__aside ul{border-top:1px solid rgba(255,255,255,.14);display:grid;gap:13px;list-style:none;margin:26px 0 0;padding:24px 0 0}
.agcm-portal-login__aside li{color:rgba(255,255,255,.86);font-size:.88rem;padding-left:22px;position:relative}
.agcm-portal-login__aside li::before{background:var(--agcm-yellow);border-radius:50%;content:"";height:8px;left:0;position:absolute;top:.55em;width:8px}
.agcm-portal-form{display:flex;flex-direction:column;gap:17px}
.agcm-portal-form label{display:flex;flex-direction:column;gap:8px}
.agcm-portal-form label>span{color:#263957;font-size:.82rem;font-weight:800}
.agcm-portal-form input[type=text]{background:#fff;border:1px solid #c8d7e9;border-radius:12px;color:#172944;font:inherit;min-height:54px;padding:12px 15px;width:100%}
.agcm-portal-form input[type=text]:focus{border-color:var(--agcm-blue);box-shadow:0 0 0 4px rgba(7,87,181,.12);outline:0}
.agcm-portal-form .agcm-button{border:0;cursor:pointer;justify-self:start;width:max-content}
.agcm-portal-restart{color:var(--agcm-blue)!important;font-size:.84rem;font-weight:800;width:max-content}
.agcm-portal-trap{height:0;left:-9999px;overflow:hidden;position:absolute;width:0}
.agcm-official-id-button{border:0;justify-content:center;text-align:center}
.agcm-portal-notice{border-radius:14px;display:flex;flex-direction:column;gap:4px;margin-bottom:23px;padding:16px 18px}
.agcm-portal-notice strong{font-size:.9rem}
.agcm-portal-notice span{font-size:.82rem;line-height:1.55}
.agcm-portal-notice--success{background:#e4f7eb;border:1px solid #a9dfbd;color:#17633a}
.agcm-portal-notice--info{background:#eaf3ff;border:1px solid #b9d6fa;color:#164f91}
.agcm-portal-notice--error{background:#fff1f1;border:1px solid #efbcbc;color:#842525}
.agcm-portal-dashboard>.agcm-shell{display:grid;gap:24px}
.agcm-portal-welcome{align-items:center;display:flex;gap:18px;padding:25px 28px}
.agcm-portal-avatar{align-items:center;background:linear-gradient(145deg,var(--agcm-blue),#06356d);border:5px solid #dbeaff;border-radius:50%;color:#fff;display:flex;flex:0 0 68px;font-size:1.2rem;font-weight:900;height:68px;justify-content:center;width:68px}
.agcm-portal-welcome h2{font-size:1.75rem;margin:3px 0}
.agcm-portal-welcome p{color:#6c7a91;font-size:.82rem;margin:0}
.agcm-portal-welcome form{margin-left:auto}
.agcm-portal-logout{background:#fff;border:1px solid #cbd8e8;border-radius:9px;color:#233754;cursor:pointer;font-weight:800;padding:10px 14px}
.agcm-portal-grid{display:grid;gap:24px;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}
.agcm-portal-grid--activity{grid-template-columns:repeat(2,minmax(0,1fr))}
.agcm-portal-card{padding:30px}
.agcm-portal-card__head{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}
.agcm-portal-card h3{font-size:1.55rem;margin:5px 0 0}
.agcm-portal-card__head>a{color:var(--agcm-blue);font-size:.78rem;font-weight:850;white-space:nowrap}
.agcm-portal-profile dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:24px -10px -10px}
.agcm-portal-profile dl>div{border-top:1px solid #e4ebf4;padding:16px 10px}
.agcm-portal-profile dt{color:#7a879b;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.agcm-portal-profile dd{color:#172944;font-size:.91rem;font-weight:800;margin:5px 0 0;overflow-wrap:anywhere}
.agcm-portal-status{border-radius:50px;font-size:.68rem;font-weight:900;letter-spacing:.05em;padding:7px 10px;text-transform:uppercase}
.agcm-portal-status--approved{background:#dcf5e6;color:#146838}
.agcm-portal-status--pending{background:#fff4c9;color:#765b00}
.agcm-portal-status--contacted{background:#e5f1ff;color:#145496}
.agcm-portal-id{background:linear-gradient(150deg,#061e42,#0757b5);border:0;color:#fff;overflow:hidden;position:relative}
.agcm-portal-id::after{border:1px solid rgba(255,255,255,.14);border-radius:50%;content:"";height:220px;position:absolute;right:-90px;top:-100px;width:220px}
.agcm-portal-id>*{position:relative;z-index:1}
.agcm-portal-id h3{color:#fff;font-size:1.9rem;margin:9px 0 13px}
.agcm-portal-id p{color:rgba(255,255,255,.76);font-size:.88rem;line-height:1.7;margin-bottom:22px}
.agcm-portal-id small{color:rgba(255,255,255,.65);display:block;font-size:.7rem;line-height:1.5;margin-top:15px}
.agcm-portal-activity{list-style:none;margin:22px 0 0;padding:0}
.agcm-portal-activity li{align-items:center;border-top:1px solid #e4ebf4;display:grid;gap:12px;grid-template-columns:9px 1fr auto;padding:15px 0}
.agcm-portal-activity li>span{background:var(--agcm-yellow);border-radius:50%;height:9px;width:9px}
.agcm-portal-activity li>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.agcm-portal-activity strong{color:#172944;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agcm-portal-activity small{color:#7b889c;font-size:.72rem}
.agcm-portal-activity em{background:#eef5ff;border-radius:30px;color:#0757b5;font-size:.64rem;font-style:normal;font-weight:900;padding:6px 8px;text-transform:uppercase}
.agcm-portal-empty{background:#f6f8fb;border:1px dashed #bdcadd;border-radius:14px;color:#6d7a90;font-size:.86rem;margin-top:20px;padding:20px}
.agcm-portal-preferences{align-items:center;display:flex;gap:30px;justify-content:space-between}
.agcm-portal-preferences>div{max-width:620px}
.agcm-portal-preferences p{color:#6c7a90;line-height:1.65;margin:8px 0 0}
.agcm-portal-preferences form{align-items:flex-start;display:flex;flex-direction:column;gap:15px}
.agcm-portal-switch{align-items:center;cursor:pointer;display:flex;gap:10px}
.agcm-portal-switch input{height:1px;opacity:0;position:absolute;width:1px}
.agcm-portal-switch>span{background:#c5d0de;border-radius:30px;height:26px;position:relative;transition:background .2s;width:46px}
.agcm-portal-switch>span::after{background:#fff;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.2);content:"";height:20px;left:3px;position:absolute;top:3px;transition:transform .2s;width:20px}
.agcm-portal-switch input:checked+span{background:#0757b5}
.agcm-portal-switch input:checked+span::after{transform:translateX(20px)}
.agcm-portal-switch strong{color:#263957;font-size:.79rem}
.agcm-portal-preferences .agcm-button{border:0;cursor:pointer}
.agcm-portal-actions{display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}
.agcm-portal-actions a{background:#fff;border:1px solid #dfe7f2;border-radius:13px;color:#0757b5;font-size:.82rem;font-weight:850;padding:15px;text-align:center}
.agcm-portal-actions a:hover{border-color:#a9c8ef;box-shadow:0 9px 24px rgba(7,87,181,.08)}
@media(max-width:900px){.agcm-portal-login__layout,.agcm-portal-grid,.agcm-portal-grid--activity{grid-template-columns:1fr}.agcm-portal-id{min-height:320px}}
@media(max-width:650px){.agcm-portal-login__card,.agcm-portal-login__aside,.agcm-portal-card{padding:26px 21px}.agcm-portal-welcome{align-items:flex-start;flex-wrap:wrap;padding:22px}.agcm-portal-welcome form{margin-left:86px}.agcm-portal-profile dl{grid-template-columns:1fr}.agcm-portal-preferences{align-items:stretch;flex-direction:column}.agcm-portal-preferences form{align-items:stretch}.agcm-portal-actions{grid-template-columns:1fr}.agcm-portal-form .agcm-button{width:100%}}
