:root{
  --cream:#f5f0e8;
  --cream-2:#ede8dc;
  --forest:#1c3a28;
  --moss:#3d6b4f;
  --sage:#7a9e7e;
  --gold:#c8a96e;
  --gold-2:#dfc08a;
  --ink:#0e1e15;
  --paper:#fffaf2;
  --line:rgba(200,169,110,.24);
  --shadow:0 24px 70px rgba(14,30,21,.22);
  --title:'Cormorant Garamond',Georgia,serif;
  --copy:'DM Sans',system-ui,sans-serif;
  --r:6px;
}
*{box-sizing:border-box}
html{font-size:15px;scroll-behavior:smooth}
body{margin:0;font-family:var(--copy);color:var(--forest);background:var(--cream);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.portal-home,.login-page{min-height:100vh;background:linear-gradient(135deg,rgba(14,30,21,.96),rgba(28,58,40,.9)),url("logos/sfs-logo-horizontal.png");background-size:auto,520px;background-repeat:no-repeat;background-position:center,calc(100% + 130px) calc(100% + 55px)}
.language-shell,.login-shell{min-height:100vh;display:grid;place-items:center;padding:2rem}
.language-panel,.login-panel{width:min(940px,100%);background:linear-gradient(180deg,rgba(255,250,242,.97),rgba(245,240,232,.96));border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--r);box-shadow:var(--shadow);padding:2.4rem}
.brand-lockup{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}
.brand-lockup img{max-height:58px;max-width:250px;object-fit:contain}
.brand-lockup span{width:1px;height:38px;background:rgba(28,58,40,.18)}
.eyebrow{margin:0 0 .55rem;text-align:center;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}
h1{margin:.1rem 0 0;font-family:var(--title);font-size:clamp(2.45rem,4vw,4.2rem);font-weight:400;line-height:1;color:var(--ink);text-align:center}
.lead{max-width:620px;margin:1rem auto 2rem;text-align:center;color:rgba(28,58,40,.68);line-height:1.75}
.language-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem}
.language-card{border:1px solid rgba(28,58,40,.12);background:#fff;border-radius:var(--r);min-height:150px;padding:1rem .75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;cursor:pointer;transition:.22s ease}
.language-card:hover,.language-card.active{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 16px 36px rgba(28,58,40,.12)}
.language-card.locked{opacity:.56}
.language-card svg{width:62px;height:42px;border-radius:3px;box-shadow:0 7px 18px rgba(14,30,21,.22)}
.language-card strong{font-family:var(--title);font-size:1.28rem;font-weight:600}
.language-card small{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(28,58,40,.48);text-align:center}
.notice{min-height:1.2rem;margin:1.4rem 0 0;text-align:center;color:rgba(28,58,40,.55);font-size:.76rem}
.login-panel{max-width:520px}
.login-panel .brand-lockup{margin-bottom:1.5rem}
.login-form{margin-top:1.8rem;display:grid;gap:1rem}
.field label{display:block;margin-bottom:.42rem;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(28,58,40,.62);font-weight:600}
.field input{width:100%;border:1px solid rgba(28,58,40,.16);background:#fff;border-radius:var(--r);padding:.85rem 1rem;color:var(--forest);outline:none}
.field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,169,110,.16)}
.primary-btn,.secondary-btn{border-radius:var(--r);border:1px solid transparent;padding:.9rem 1.25rem;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}
.primary-btn{background:var(--gold);color:var(--ink)}
.primary-btn:hover{background:var(--gold-2)}
.secondary-btn{border-color:rgba(28,58,40,.18);background:transparent;color:var(--forest)}
.form-error{min-height:1.2rem;color:#9b2525;font-size:.78rem}
.topbar{height:76px;background:var(--ink);color:var(--cream);border-bottom:1px solid rgba(200,169,110,.22);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:sticky;top:0;z-index:20}
.topbar img{max-height:44px;max-width:210px;object-fit:contain}
.agent-meta{text-align:right;font-size:.72rem;color:rgba(245,240,232,.58)}
.agent-meta strong{display:block;color:var(--gold);font-size:.76rem}
.page{max-width:1180px;margin:0 auto;padding:2rem 2rem 4rem}
.dashboard-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem;align-items:stretch;margin-bottom:1.5rem}
.hero-band,.status-panel,.module-page-panel{background:#fff;border:1px solid rgba(28,58,40,.09);border-radius:var(--r);padding:1.6rem;box-shadow:0 12px 36px rgba(28,58,40,.06)}
.hero-band{background:linear-gradient(135deg,var(--ink),var(--forest));color:var(--cream);border-color:rgba(200,169,110,.25)}
.hero-band h1{text-align:left;color:var(--cream);font-size:clamp(2.1rem,3vw,3.4rem)}
.hero-band .lead{text-align:left;margin:1rem 0 0;color:rgba(245,240,232,.68)}
.status-panel h2,.module-page-panel h1{margin:0 0 .75rem;font-family:var(--title);font-size:1.75rem;font-weight:500}
.status-list{display:grid;gap:.65rem;margin-top:1rem}
.status-item{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(28,58,40,.07);padding-bottom:.55rem;font-size:.82rem}
.status-item span:last-child{color:var(--gold);font-weight:600}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.module-card{min-height:180px;background:#fff;border:1px solid rgba(28,58,40,.09);border-top:2px solid var(--gold);border-radius:var(--r);padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;transition:.2s ease}
.module-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(28,58,40,.1)}
.module-card .tag{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}
.module-card h2{font-family:var(--title);font-size:1.45rem;margin:.55rem 0 .35rem}
.module-card p{margin:0;color:rgba(28,58,40,.62);line-height:1.6;font-size:.86rem}
.module-card footer{margin-top:1.2rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(28,58,40,.48)}
.module-page-panel{max-width:860px}
.module-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.soft-list{padding-left:1.1rem;line-height:1.9;color:rgba(28,58,40,.7)}
@media(max-width:900px){.language-grid,.module-grid{grid-template-columns:repeat(2,1fr)}.dashboard-hero{grid-template-columns:1fr}.topbar{height:auto;min-height:76px;align-items:flex-start;padding:1rem;gap:1rem;flex-direction:column}.agent-meta{text-align:left}}
@media(max-width:560px){.language-shell,.login-shell{padding:1rem}.language-panel,.login-panel{padding:1.5rem}.brand-lockup img{max-width:190px}.brand-lockup span{display:none}.language-grid,.module-grid{grid-template-columns:1fr}.page{padding:1rem 1rem 3rem}.portal-home,.login-page{background-image:linear-gradient(135deg,rgba(14,30,21,.96),rgba(28,58,40,.9))}}
