/* public/assets/css/portal-auth.css */
:root{
  --portal-green:#1b8f74;
  --portal-green-2:#35b46a;
  --portal-dark:#0f3d39;
  --portal-surface:#ffffff;
  --portal-bg:#f3faf8;
  --portal-text:#163231;
  --portal-muted:#67807c;
  --portal-border:rgba(19,96,81,.14);
  --portal-shadow:0 24px 70px rgba(17,78,67,.12);
  --portal-radius:26px;
}
*{box-sizing:border-box}
body.portal-auth-body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left, rgba(53,180,106,.12), transparent 30%),linear-gradient(180deg,#f7fcfb 0%,#eef8f5 100%);color:var(--portal-text)}
.portal-auth-shell{min-height:100vh;display:grid;grid-template-columns:1.02fr .98fr;gap:28px;padding:28px}
.portal-auth-brand-panel{background:linear-gradient(160deg,#103e39 0%,#14685d 58%,#1b8f74 100%);border-radius:32px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;box-shadow:var(--portal-shadow);position:relative;overflow:hidden}
.portal-auth-brand-panel::after{content:"";position:absolute;inset:auto -80px -100px auto;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.08);filter:blur(4px)}
.portal-auth-brand{display:inline-flex;align-items:center;gap:14px;color:#fff;text-decoration:none;position:relative;z-index:1}.portal-auth-brand__mark{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,#4bd07c,#d8f17e);color:#0f3d39;display:grid;place-items:center;font-weight:800;font-size:1.35rem}.portal-auth-brand strong{display:block;font-size:1.2rem}.portal-auth-brand small{opacity:.72;text-transform:uppercase;letter-spacing:.14em}
.portal-auth-kicker,.portal-auth-overline{display:inline-flex;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#8ed2bf;font-weight:700}
.portal-auth-brand-copy{position:relative;z-index:1;max-width:560px}.portal-auth-brand-copy h1{font-size:clamp(1.72rem,2.1vw,2.3rem);line-height:1.08;max-width:12ch;margin:14px 0 18px;font-weight:760;letter-spacing:-.03em;text-wrap:balance}.portal-auth-brand-copy p{max-width:45ch;color:rgba(255,255,255,.88);font-size:1.02rem;line-height:1.78;margin:0 0 24px}
.portal-auth-feature-list{list-style:none;padding:0;margin:0;display:grid;gap:12px;max-width:500px}.portal-auth-feature-list li{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.92);font-size:.97rem;line-height:1.55}.portal-auth-feature-list i{color:#bff2d1;transform:translateY(2px)}
.portal-auth-card-wrap{display:flex;flex-direction:column;justify-content:center}.portal-auth-card{background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.75);box-shadow:var(--portal-shadow);border-radius:30px;padding:34px}.portal-auth-head h2{font-size:1.9rem;margin:8px 0 10px;letter-spacing:-.03em;font-weight:760}.portal-auth-head p{color:var(--portal-muted);margin:0 0 22px;line-height:1.72;font-size:1rem}
.portal-auth-form{display:grid;gap:16px}.portal-auth-form label{display:grid;gap:8px}.portal-auth-form span{font-weight:600;font-size:.94rem}.portal-auth-form input{width:100%;border:1px solid var(--portal-border);background:#fff;border-radius:16px;padding:14px 15px;font-size:1rem;color:var(--portal-text);outline:none;transition:.22s ease}.portal-auth-form input:focus{border-color:#2aa283;box-shadow:0 0 0 4px rgba(42,162,131,.12)}
.portal-auth-row{display:flex;justify-content:flex-end}.portal-auth-row a,.portal-auth-footer a,.portal-auth-legal-links a,.portal-check a{color:var(--portal-green);font-weight:600;text-decoration:none}
.portal-auth-submit{border:0;border-radius:18px;padding:15px 18px;background:linear-gradient(135deg,var(--portal-green),var(--portal-green-2));color:#fff;font-weight:700;box-shadow:0 18px 40px rgba(27,143,116,.22)}
.portal-auth-footer,.portal-auth-legal-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px;color:var(--portal-muted)}
.portal-auth-form--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-auth-col-2{grid-column:span 2}
.portal-check{display:flex!important;align-items:flex-start;gap:12px;border:1px solid var(--portal-border);border-radius:18px;padding:14px 16px;background:#fbfefd}.portal-check input{width:auto;transform:translateY(3px)}.portal-check span{font-weight:500;line-height:1.5;color:var(--portal-muted)}
@media (max-width: 1024px){.portal-auth-shell{grid-template-columns:1fr;padding:18px}.portal-auth-brand-panel{min-height:320px}.portal-auth-brand-copy h1{max-width:15ch}}
@media (max-width: 720px){.portal-auth-card{padding:24px;border-radius:24px}.portal-auth-form--grid{grid-template-columns:1fr}.portal-auth-col-2{grid-column:auto}.portal-auth-brand-panel{padding:24px}.portal-auth-brand-copy h1{font-size:1.9rem;max-width:9ch}.portal-auth-feature-list{max-width:none}}

.portal-auth-brand-copy h1{font-size:clamp(1.88rem,2.35vw,2.7rem);line-height:1.06;max-width:10ch;letter-spacing:-.032em;font-weight:720}
.portal-auth-brand-copy p{font-size:1.02rem;line-height:1.8;max-width:44ch;color:rgba(255,255,255,.9)}
.portal-auth-feature-list li{font-size:.98rem;line-height:1.58}
.portal-auth-head h2{font-size:1.82rem;letter-spacing:-.025em}
@media (max-width: 720px){.portal-auth-brand-copy h1{font-size:1.8rem;max-width:10ch}}

.portal-auth-panel__copy h1{font-size:4rem;line-height:.98;letter-spacing:-.045em;font-weight:800;max-width:6.7ch}
.portal-auth-panel__copy p{font-size:1.14rem;line-height:1.7;max-width:34rem;color:rgba(255,255,255,.92)}
.portal-auth-bullets li{font-size:1.02rem}
@media (max-width: 1400px){.portal-auth-panel__copy h1{font-size:3.4rem;max-width:8ch}}
