:root{--green:#154f31;--deep:#0f3f28;--orange:#ef6436;--lime:#79bf32;--blue:#2d67b1;--ink:#163529;--muted:#64766d;--line:#d8e3dc;--soft:#f4f8f5;--white:#fff;--shadow:0 10px 28px rgba(15,63,40,.09)}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f3f7f4;color:var(--ink)}a{color:inherit}.portal-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:22px;min-height:82px;padding:10px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 15px rgba(15,63,40,.05)}.portal-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:265px}.portal-brand img{width:58px;height:58px;object-fit:contain}.portal-brand strong{display:block;color:var(--green);font-size:24px;letter-spacing:1px}.portal-brand small{display:block;color:var(--blue);font-weight:700;font-size:11px}.portal-tools{margin-left:auto;display:flex;align-items:center;gap:10px}.portal-tools select,.portal-search-btn,.signout,.notify{height:40px;border:1px solid #9ab2a4;border-radius:8px;background:#fff;padding:0 12px;color:var(--green);font-weight:700}.portal-search-btn{cursor:pointer}.notify{display:inline-flex;align-items:center;text-decoration:none;position:relative}.notify b{margin-left:6px;background:var(--orange);color:#fff;border-radius:999px;padding:2px 6px;font-size:10px}.user-chip{padding:3px 10px}.user-chip span,.user-chip small{display:block}.user-chip span{font-weight:800}.user-chip small{font-size:10px;color:var(--muted)}.signout{display:inline-flex;align-items:center;text-decoration:none;background:var(--green);color:#fff;border-color:var(--green)}.mobile-menu{display:none}.portal-shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:calc(100vh - 120px)}.portal-sidebar{background:var(--deep);padding:22px 14px}.portal-sidebar nav{display:grid;gap:5px}.portal-sidebar a{color:#e9f4ed;text-decoration:none;padding:12px 13px;border-radius:8px;font-weight:700;font-size:14px}.portal-sidebar a:hover{background:rgba(255,255,255,.11)}.portal-content{padding:28px;max-width:1500px;width:100%}.portal-footer{padding:16px 24px;background:#fff;border-top:1px solid var(--line);font-size:12px;color:var(--muted);text-align:center}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.page-head h1{margin:0;color:var(--deep);font-size:30px}.page-head p{margin:6px 0 0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:0;border-radius:8px;background:var(--green);color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.btn.orange{background:var(--orange)}.btn.light{background:#fff;color:var(--green);border:1px solid #95ad9f}.btn.small{min-height:34px;padding:0 11px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.stat strong{display:block;font-size:30px;color:var(--green)}.stat span{color:var(--muted);font-weight:700;font-size:12px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow);margin-bottom:20px}.panel h2,.panel h3{margin-top:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-field{display:grid;gap:6px}.form-field.full{grid-column:1/-1}.form-field label{font-size:12px;font-weight:800;color:#284c3a}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:44px;border:1px solid #b7c9bf;border-radius:8px;padding:9px 11px;background:#fff;color:#172f24;font:inherit}.form-field textarea{min-height:100px;resize:vertical}.form-field small{color:var(--muted)}.form-section{margin:24px 0}.form-section h3{padding-bottom:8px;border-bottom:2px solid #e5eee8;color:var(--green)}.geo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{text-align:left;padding:11px 10px;border-bottom:1px solid #e5ece7;vertical-align:top}.table th{font-size:11px;text-transform:uppercase;color:#5c7166;background:#f8faf9}.status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;background:#eef3ef;color:#456154}.status.active,.status.verified,.status.approved,.status.published,.status.paid{background:#e4f4e8;color:#17612f}.status.pending,.status.under_review,.status.submitted,.status.verification{background:#fff2dd;color:#8a5710}.status.rejected,.status.suspended{background:#fde8e8;color:#9b2424}.flash{margin-bottom:18px;padding:12px 15px;border-radius:8px;background:#e8f3eb;color:#1d6434}.flash.error{background:#fdeaea;color:#922}.flash.warning{background:#fff3dc;color:#80530c}.card-list{display:grid;gap:12px}.item-card{display:flex;justify-content:space-between;gap:20px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}.item-card h3{margin:0 0 5px;font-size:16px}.item-card p{margin:2px 0;color:var(--muted);font-size:13px}.search-overlay{position:fixed;inset:0;z-index:200;background:rgba(3,28,17,.65);padding:8vh 20px}.search-panel{position:relative;max-width:720px;margin:auto;background:#fff;border-radius:14px;padding:28px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.search-panel form{display:flex;gap:10px}.search-panel input{flex:1;height:48px;border:1px solid #9db4a6;border-radius:8px;padding:0 14px;font-size:16px}.search-panel button[type=submit]{border:0;border-radius:8px;background:var(--green);color:#fff;font-weight:800;padding:0 20px}.search-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}.translate-engine{position:fixed;left:-10000px;top:-10000px;width:1px;height:1px;opacity:0;overflow:hidden}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.login-brand{padding:8vh 7vw;background:linear-gradient(140deg,#0f3f28,#154f31);color:#fff;display:flex;flex-direction:column;justify-content:center}.login-brand img{width:110px;height:110px;object-fit:contain;background:#fff;border-radius:18px;padding:8px}.login-brand h1{font-size:42px;margin:22px 0 8px}.login-brand p{max-width:560px;color:#dcebe2;line-height:1.6}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:36px}.login-card{width:min(470px,100%)}.login-card h2{font-size:30px;margin:0 0 8px;color:var(--deep)}.login-card .form-field{margin:14px 0}.login-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px}.registration-wrap{max-width:1100px;margin:35px auto;padding:0 20px}.public-top{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;background:#fff;border-bottom:1px solid var(--line)}.public-top a{text-decoration:none;font-weight:800;color:var(--green)}.public-brand{display:flex;align-items:center;gap:10px}.public-brand img{width:56px;height:56px;object-fit:contain}.public-brand strong{font-size:22px;color:var(--green)}.help-box{padding:12px;border-left:4px solid var(--blue);background:#eef5ff;color:#345}.metric-row{display:flex;gap:8px;flex-wrap:wrap}.tag{padding:5px 8px;border-radius:6px;background:#edf4ef;font-size:11px;font-weight:700;color:#3e604d}.map-placeholder{min-height:190px;border:1px dashed #99b0a2;border-radius:10px;background:linear-gradient(135deg,#f7faf8,#eef5f0);display:grid;place-items:center;text-align:center;color:#577064;padding:20px}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.portal-tools .user-chip{display:none}.geo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.portal-topbar{padding:9px 14px;flex-wrap:wrap}.portal-brand{min-width:0}.portal-brand img{width:50px;height:50px}.portal-brand strong{font-size:19px}.portal-brand small{font-size:9px}.mobile-menu{display:inline-flex;margin-left:auto;height:40px;align-items:center;border:0;border-radius:8px;background:var(--orange);color:#fff;font-weight:800;padding:0 14px}.portal-tools{width:100%;display:grid;grid-template-columns:1fr 1fr;margin:0}.portal-tools .notify,.portal-tools .signout{justify-content:center}.portal-tools .user-chip{display:none}.portal-shell{display:block}.portal-sidebar{display:none;padding:10px 14px}.portal-sidebar.open{display:block}.portal-content{padding:20px 14px}.stats,.grid-2,.grid-3,.form-grid,.geo-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.login-page{grid-template-columns:1fr}.login-brand{padding:34px 24px}.login-brand h1{font-size:31px}.login-form-wrap{padding:30px 20px}.item-card{flex-direction:column}.search-panel form{flex-direction:column}.search-panel button[type=submit]{height:44px}}
.geo-search{min-height:36px!important;font-size:12px!important;background:#f8fbf9!important;border-style:dashed!important;margin-bottom:2px}

.ecosystem-banner{background:linear-gradient(135deg,#0f3f28,#1b5c3b);color:#fff;border-radius:14px;padding:22px 24px;margin-bottom:22px;box-shadow:var(--shadow)}.ecosystem-banner strong{display:block;font-size:22px;margin-bottom:7px}.ecosystem-banner p{margin:0 0 14px;color:#e2efe7;line-height:1.55}.ecosystem-banner .btn.light{background:#fff}.ecosystem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ecosystem-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:13px;padding:19px;box-shadow:var(--shadow);transition:.18s transform,.18s box-shadow}.ecosystem-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,63,40,.13)}.ecosystem-card h3{margin:9px 0 7px;color:var(--deep);font-size:18px}.ecosystem-card p{color:var(--muted);line-height:1.48;font-size:13px}.institution-code{display:inline-flex;padding:5px 8px;border-radius:6px;background:#edf4ef;color:var(--green);font-weight:900;font-size:11px;letter-spacing:.4px}.ecosystem-role-label{display:block;color:var(--orange);font-weight:800;font-size:12px}.institution-metrics{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.institution-metrics span{font-size:11px;font-weight:700;color:#476354;background:#f2f7f4;border-radius:999px;padding:5px 8px}.institution-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.muted{color:var(--muted)}
@media(max-width:1050px){.ecosystem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.ecosystem-grid{grid-template-columns:1fr}.ecosystem-banner strong{font-size:19px}}

/* Phase 1 institution card/workspace refinement */
.ecosystem-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.ecosystem-card{position:relative;min-height:255px;display:flex;flex-direction:column;border-top:4px solid var(--green);overflow:hidden}.ecosystem-card:after{content:"";position:absolute;right:0;bottom:0;width:54px;height:4px;background:var(--orange)}.ecosystem-card .institution-code{align-self:flex-start;background:var(--green);color:#fff;border-radius:999px;padding:6px 11px;font-size:11px}.ecosystem-card h3{font-size:25px;letter-spacing:.3px;margin:13px 0 7px}.ecosystem-card p{margin:9px 0 4px}.institution-metrics{margin-top:auto;padding-top:14px;border-top:1px solid #e8efea}.workspace-link{margin-top:12px;color:var(--green);font-weight:800;font-size:12px}.institution-workspace-head{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow);align-items:center}.back-link{text-decoration:none;color:var(--green);font-weight:800}.workspace-code{display:inline-flex;margin-top:14px;padding:6px 11px;border-radius:999px;background:var(--green);color:#fff;font-size:12px;font-weight:900;letter-spacing:.5px}.institution-workspace-head h1{margin-top:8px}.workspace-badge{display:inline-flex;padding:8px 11px;border-radius:999px;background:#fff1e9;color:#b84820;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}@media(max-width:1050px){.ecosystem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.ecosystem-grid{grid-template-columns:1fr}.ecosystem-card{min-height:0}.workspace-badge{align-self:flex-start}}

/* GASAYA Portal corporate login + ecosystem registration refresh — 2026-09-06 */
.login-v2 .login-brand{position:relative;overflow:hidden;background:linear-gradient(125deg,rgba(5,75,43,.98),rgba(7,92,53,.93) 58%,rgba(20,79,49,.78));padding:7vh 6vw}.login-v2 .login-brand:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 35%,rgba(121,191,50,.18),transparent 32%),linear-gradient(155deg,transparent 62%,rgba(255,255,255,.06) 62%);pointer-events:none}.brand-content{position:relative;z-index:1;max-width:650px}.login-v2 .login-brand img{width:128px;height:128px;border-radius:22px;box-shadow:0 16px 35px rgba(0,0,0,.18)}.login-v2 .login-brand h1{margin:22px 0 8px;line-height:1}.login-v2 .login-brand h1 strong{display:block;font-size:56px;letter-spacing:1px}.login-v2 .login-brand h1 span{display:block;font-size:43px;font-weight:400;line-height:1.08;margin-top:5px}.brand-rule{width:220px;height:4px;margin:18px 0;background:linear-gradient(90deg,#79bf32 0 30%,#2d67b1 30% 55%,#f0b32f 55% 76%,#ef6436 76%)}.login-v2 .login-brand h3{font-size:16px;margin:0 0 22px}.login-v2 .login-brand p{font-size:17px;max-width:610px}.portal-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.portal-feature-grid div{display:grid;grid-template-columns:28px 1fr;padding:14px;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(0,45,26,.18);font-size:20px}.portal-feature-grid b,.portal-feature-grid small{grid-column:2}.portal-feature-grid b{font-size:14px}.portal-feature-grid small{font-size:12px;color:#d8e9df;margin-top:3px}.brand-bottom{display:grid;gap:20px;margin-top:30px}.brand-bottom em{color:#b9e58c;font-size:16px}.brand-bottom small{font-weight:800;letter-spacing:2px;color:#e3efe8}.welcome-kicker{font-size:11px;font-weight:900;letter-spacing:1.2px;color:#19713f;border-left:30px solid #27a355;padding-left:10px;margin-bottom:24px}.login-v2 .login-card{width:min(540px,100%)}.login-v2 .login-card h2{font-size:46px}.login-v2 .login-card>p{font-size:18px;margin-top:0}.login-v2 .form-field input{height:58px;border-radius:9px;font-size:16px;padding:0 16px}.login-options{display:flex;justify-content:space-between;gap:12px;margin:12px 0 22px;font-size:14px}.login-options a{color:var(--green);text-decoration:none}.login-submit{width:100%;height:58px;font-size:18px;border-radius:9px}.new-user{text-align:center;margin-top:28px}.new-user>span{display:flex;align-items:center;gap:14px;color:#53665d}.new-user>span:before,.new-user>span:after{content:"";height:1px;background:#d6e0da;flex:1}.create-account{display:flex;align-items:center;justify-content:center;height:62px;margin-top:16px;border:1px solid #4c8d69;border-radius:9px;text-decoration:none;color:#0d6538;font-weight:900;font-size:18px}.new-user p{font-size:13px;line-height:1.65;color:#50645a}.login-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #e1e8e3;margin-top:38px;padding-top:24px}.login-benefits span{display:grid;grid-template-columns:25px 1fr;align-items:center;padding:0 9px;border-right:1px solid #dce5df;font-size:17px;color:#147044}.login-benefits span:last-child{border-right:0}.login-benefits b{font-size:11px;color:#264c39}.account-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.account-type{display:block;cursor:pointer}.account-type input{position:absolute;opacity:0}.account-type span{display:block;height:100%;min-height:118px;border:1px solid #c7d7ce;border-radius:12px;padding:16px;background:#f9fbfa;transition:.15s}.account-type b{display:block;color:var(--deep);margin-bottom:8px}.account-type small{display:block;line-height:1.45;color:var(--muted)}.account-type input:checked+span{border:2px solid var(--green);background:#edf7f0;box-shadow:0 6px 18px rgba(15,63,40,.08)}.professional-only{display:none}.is-professional .professional-only{display:block}
@media(max-width:820px){.login-v2 .login-brand{padding:30px 22px}.login-v2 .login-brand img{width:88px;height:88px}.login-v2 .login-brand h1 strong{font-size:39px}.login-v2 .login-brand h1 span{font-size:30px}.portal-feature-grid{grid-template-columns:1fr 1fr}.brand-bottom small{font-size:9px;letter-spacing:1px}.login-v2 .login-card h2{font-size:36px}.login-benefits{grid-template-columns:1fr 1fr;row-gap:16px}.login-benefits span:nth-child(2){border-right:0}.account-type-grid{grid-template-columns:1fr}.login-options{font-size:13px}}


/* =========================================================
   GASAYA Portal final public-access refinement — 2026-09-06
   ========================================================= */
#google_translate_element,
.goog-te-combo,
.goog-te-banner-frame,
#goog-gt-tt{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;display:none!important}
html,body{top:0!important}

.portal-public-language{
  position:absolute;right:30px;top:28px;z-index:1200;width:185px
}
.portal-language-picker{position:relative}
.portal-language-toggle{
  width:100%;height:44px;border:1px solid #9db7a8;border-radius:9px;background:#fff;
  display:flex;align-items:center;gap:9px;padding:0 12px;color:#143d2b;font-weight:800;cursor:pointer;
  box-shadow:0 4px 14px rgba(15,63,40,.06)
}
.portal-language-toggle .chev{margin-left:auto}
.portal-language-menu{
  position:absolute;right:0;top:50px;width:310px;max-width:90vw;background:#fff;border:1px solid #d8e5dd;
  border-radius:12px;box-shadow:0 18px 48px rgba(12,54,34,.20);overflow:hidden;z-index:1300
}
.portal-language-menu[hidden]{display:none}
.portal-language-search{
  display:block;width:calc(100% - 20px);height:40px;margin:10px;border:1px solid #82a991;border-radius:8px;
  padding:0 12px;font:600 13px Arial;color:#183d2d;outline:none
}
.portal-language-list{max-height:360px;overflow-y:auto;padding:4px 7px 8px}
.portal-language-option{
  width:100%;min-height:40px;border:0;border-radius:7px;background:#fff;display:grid;
  grid-template-columns:28px 1fr 20px;align-items:center;text-align:left;gap:4px;padding:7px 8px;
  color:#173d2d;cursor:pointer
}
.portal-language-option:hover{background:#f1f7f3}
.portal-language-option.active{background:#e7f3eb}
.portal-language-option b{font-size:13px}
.portal-language-option i{font-style:normal;color:#16814c;opacity:0}
.portal-language-option.active i{opacity:1}

/* Login page: more institutional, cleaner, no public staff note */
.login-v2{
  background:#fff
}
.login-v2 .login-brand{
  background:
    linear-gradient(90deg,rgba(8,74,43,.95),rgba(10,79,46,.86)),
    radial-gradient(circle at 78% 18%,rgba(137,191,62,.18),transparent 34%);
  position:relative;overflow:hidden
}
.login-v2 .login-brand:after{
  content:"";position:absolute;right:-120px;bottom:-90px;width:560px;height:560px;
  border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.10),transparent 68%);
  pointer-events:none
}
.login-v2 .brand-content{position:relative;z-index:2}
.login-v2 .login-card{
  max-width:610px
}
.login-v2 .login-card h2{
  letter-spacing:-.025em
}
.login-v2 .login-card>p{
  color:#496156
}
.login-v2 .form-field input{
  border:1px solid #b2c5ba;background:#fff;box-shadow:inset 0 1px 2px rgba(15,63,40,.03)
}
.login-v2 .form-field input:focus{
  outline:none;border-color:#5c9371;box-shadow:0 0 0 3px rgba(47,120,76,.12)
}
.login-submit{
  background:linear-gradient(180deg,#0d7144,#075e38);box-shadow:0 8px 18px rgba(10,88,52,.15)
}
.create-account{
  background:#fff
}
.create-account:hover{
  background:#f5faf7
}
.login-benefits b{
  line-height:1.25
}

/* Public registration page */
.public-top{
  min-height:72px;padding:10px 28px
}
.registration-wrap{
  max-width:1280px
}
.account-type span{
  box-shadow:0 3px 10px rgba(15,63,40,.03)
}
.account-type span:hover{
  border-color:#7fa48f;background:#f4f9f6
}

@media(max-width:820px){
  .portal-public-language{
    position:relative;right:auto;top:auto;width:100%;padding:12px 20px 0
  }
  .portal-language-menu{
    position:fixed;left:14px;right:14px;top:76px;width:auto;max-width:none
  }
  .login-v2 .login-brand{
    padding-top:28px
  }
}

/* disable obsolete floating language mount */
.portal-public-language{display:none!important}
.public-top .portal-language-slot{margin-left:auto;margin-right:14px}


/* ==========================================================
   GASAYA PORTAL — DESKTOP SINGLE-SCREEN LOGIN FIT
   Approved compact pass — 2026-09-06
   Target: typical 1366x768 laptop viewport without page scroll.
   Mobile remains naturally scrollable.
   ========================================================== */

@media (min-width:821px){
  html{
    min-height:100%!important;
  }

  body.portal-login-body{
    height:100%!important;
    min-height:100%!important;
    overflow:hidden!important;
  }

  body.portal-register-body{
    height:auto!important;
    min-height:100vh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  .login-page.login-v2{
    height:100vh!important;
    min-height:100vh!important;
    max-height:100vh!important;
    overflow:hidden!important;
    grid-template-columns:1.04fr .96fr!important;
  }

  /* LEFT / BRAND PANEL */
  .login-v2 .login-brand{
    height:100vh!important;
    min-height:0!important;
    justify-content:center!important;
    padding:28px 5.6vw 24px!important;
    overflow:hidden!important;
  }

  .login-v2 .brand-content{
    width:100%!important;
    max-width:610px!important;
    margin:0 auto!important;
  }

  .login-v2 .login-brand img{
    width:92px!important;
    height:92px!important;
    border-radius:17px!important;
    padding:7px!important;
    box-shadow:0 10px 24px rgba(0,0,0,.15)!important;
  }

  .login-v2 .login-brand h1{
    margin:14px 0 5px!important;
  }

  .login-v2 .login-brand h1 strong{
    font-size:46px!important;
    line-height:.98!important;
  }

  .login-v2 .login-brand h1 span{
    font-size:34px!important;
    line-height:1.03!important;
    margin-top:4px!important;
  }

  .brand-rule{
    width:205px!important;
    height:4px!important;
    margin:12px 0 13px!important;
  }

  .login-v2 .login-brand h3{
    font-size:14px!important;
    line-height:1.25!important;
    margin:0 0 13px!important;
  }

  .login-v2 .login-brand p{
    font-size:14px!important;
    line-height:1.48!important;
    margin:0!important;
    max-width:575px!important;
  }

  .portal-feature-grid{
    gap:9px!important;
    margin-top:14px!important;
  }

  .portal-feature-grid div{
    min-height:64px!important;
    grid-template-columns:24px 1fr!important;
    padding:10px 12px!important;
    border-radius:10px!important;
    font-size:17px!important;
  }

  .portal-feature-grid b{
    font-size:12px!important;
    line-height:1.15!important;
  }

  .portal-feature-grid small{
    font-size:10px!important;
    margin-top:2px!important;
  }

  .brand-bottom{
    gap:8px!important;
    margin-top:14px!important;
  }

  .brand-bottom em{
    font-size:13px!important;
    line-height:1.2!important;
  }

  .brand-bottom small{
    font-size:10px!important;
    letter-spacing:1.45px!important;
    line-height:1.2!important;
  }

  /* RIGHT / SIGN-IN PANEL */
  .login-v2 .login-form-wrap{
    height:100vh!important;
    min-height:0!important;
    align-items:center!important;
    padding:20px 4.1vw!important;
    overflow:hidden!important;
  }

  .login-v2 .login-card{
    width:min(540px,100%)!important;
    max-width:540px!important;
    margin:0 auto!important;
  }

  .login-card-top{
    margin-bottom:7px!important;
    gap:12px!important;
  }

  .welcome-kicker{
    margin:0!important;
    font-size:10px!important;
    letter-spacing:1.05px!important;
    border-left-width:25px!important;
    padding-left:8px!important;
  }

  .portal-language-slot{
    width:170px!important;
    min-width:170px!important;
  }

  .login-v2 .login-card h2{
    font-size:38px!important;
    line-height:1!important;
    margin:4px 0 5px!important;
  }

  .login-v2 .login-card>p{
    font-size:15px!important;
    line-height:1.25!important;
    margin:0 0 10px!important;
  }

  .login-v2 .login-card .form-field{
    margin:9px 0!important;
    gap:5px!important;
  }

  .login-v2 .form-field label{
    font-size:11px!important;
  }

  .login-v2 .form-field input{
    height:46px!important;
    min-height:46px!important;
    border-radius:8px!important;
    font-size:14px!important;
    padding:0 14px!important;
  }

  .login-options{
    margin:7px 0 12px!important;
    font-size:12px!important;
  }

  .login-submit{
    height:48px!important;
    min-height:48px!important;
    font-size:15px!important;
    border-radius:8px!important;
  }

  .new-user{
    margin-top:13px!important;
  }

  .new-user>span{
    gap:9px!important;
    font-size:13px!important;
  }

  .create-account{
    height:48px!important;
    margin-top:10px!important;
    border-radius:8px!important;
    font-size:15px!important;
  }

  .new-user p{
    margin:9px 0 0!important;
    font-size:11px!important;
    line-height:1.45!important;
  }

  .login-benefits{
    margin-top:14px!important;
    padding-top:12px!important;
  }

  .login-benefits span{
    grid-template-columns:20px 1fr!important;
    padding:0 7px!important;
    font-size:13px!important;
    min-height:32px!important;
  }

  .login-benefits b{
    font-size:9px!important;
    line-height:1.18!important;
  }

  /* Language menu still overlays rather than increasing page height. */
  .pfl-menu{
    top:47px!important;
    max-height:390px!important;
  }
  .pfl-list{
    max-height:315px!important;
  }
}

/* Slightly tighter fallback for short laptop screens. */
@media (min-width:821px) and (max-height:720px){
  .login-v2 .login-brand{
    padding-top:18px!important;
    padding-bottom:16px!important;
  }
  .login-v2 .login-brand img{
    width:78px!important;
    height:78px!important;
  }
  .login-v2 .login-brand h1 strong{
    font-size:40px!important;
  }
  .login-v2 .login-brand h1 span{
    font-size:30px!important;
  }
  .portal-feature-grid div{
    min-height:56px!important;
    padding:8px 10px!important;
  }
  .brand-bottom{
    margin-top:10px!important;
  }

  .login-v2 .login-form-wrap{
    padding-top:12px!important;
    padding-bottom:12px!important;
  }
  .login-v2 .login-card h2{
    font-size:34px!important;
  }
  .login-v2 .form-field input{
    height:42px!important;
    min-height:42px!important;
  }
  .login-submit,.create-account{
    height:44px!important;
    min-height:44px!important;
  }
  .login-benefits{
    margin-top:10px!important;
    padding-top:9px!important;
  }
}

/* Mobile/tablet keeps scrolling and the approved spacious layout. */
@media (max-width:820px){
  html,body{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .login-page.login-v2{
    height:auto!important;
    min-height:100vh!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* ==========================================================
   GASAYA PORTAL — MOBILE LOGIN POLISH
   2026-09-06
   Scope: mobile login presentation only. Desktop retained.
   ========================================================== */
@media (max-width:820px){
  html,body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    background:#fff!important;
  }

  .login-page.login-v2{
    display:block!important;
    width:100%!important;
    min-height:100vh!important;
    background:#fff!important;
  }

  /* BRAND / INTRO PANEL */
  .login-v2 .login-brand{
    width:100%!important;
    min-height:auto!important;
    padding:28px 22px 26px!important;
    display:block!important;
    background:linear-gradient(145deg,#0d442b 0%,#1d613c 100%)!important;
    overflow:hidden!important;
  }

  .login-v2 .brand-content{
    width:100%!important;
    max-width:560px!important;
    margin:0 auto!important;
  }

  .login-v2 .login-brand img{
    display:block!important;
    width:82px!important;
    height:82px!important;
    margin:0 0 18px!important;
    padding:6px!important;
    border-radius:16px!important;
    object-fit:contain!important;
    background:#fff!important;
    box-shadow:0 10px 24px rgba(0,0,0,.16)!important;
  }

  .login-v2 .login-brand h1{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:4px!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
  }

  .login-v2 .login-brand h1 strong{
    display:block!important;
    width:100%!important;
    font-size:38px!important;
    line-height:1!important;
    letter-spacing:.5px!important;
    margin:0!important;
  }

  .login-v2 .login-brand h1 span{
    display:block!important;
    width:100%!important;
    font-size:27px!important;
    line-height:1.08!important;
    font-weight:500!important;
    margin:0!important;
  }

  .brand-rule{
    width:184px!important;
    height:4px!important;
    margin:14px 0 14px!important;
  }

  .login-v2 .login-brand h3{
    display:block!important;
    margin:0 0 14px!important;
    font-size:14px!important;
    line-height:1.35!important;
    font-weight:800!important;
  }

  .login-v2 .login-brand p{
    display:block!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.55!important;
    color:#e5f0e9!important;
  }

  .portal-feature-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin:18px 0 0!important;
  }

  .portal-feature-grid div{
    min-width:0!important;
    min-height:76px!important;
    display:grid!important;
    grid-template-columns:25px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:8px!important;
    row-gap:3px!important;
    align-content:center!important;
    padding:11px 10px!important;
    border:1px solid rgba(255,255,255,.32)!important;
    border-radius:10px!important;
    background:rgba(0,45,26,.16)!important;
    font-size:18px!important;
    line-height:1!important;
  }

  .portal-feature-grid b{
    grid-column:2!important;
    display:block!important;
    min-width:0!important;
    font-size:11px!important;
    line-height:1.22!important;
    white-space:normal!important;
  }

  .portal-feature-grid small{
    grid-column:2!important;
    display:block!important;
    min-width:0!important;
    margin:0!important;
    font-size:9.5px!important;
    line-height:1.2!important;
    color:#dcebe2!important;
    white-space:normal!important;
  }

  .brand-bottom{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:8px!important;
    margin:16px 0 0!important;
  }

  .brand-bottom em{
    display:block!important;
    font-size:13px!important;
    line-height:1.3!important;
    color:#bce88f!important;
  }

  .brand-bottom small{
    display:block!important;
    width:100%!important;
    font-size:9.5px!important;
    line-height:1.6!important;
    letter-spacing:1.2px!important;
    font-weight:800!important;
    color:#edf5f0!important;
    white-space:normal!important;
  }

  /* SIGN-IN PANEL */
  .login-v2 .login-form-wrap{
    width:100%!important;
    min-height:auto!important;
    padding:26px 20px 34px!important;
    display:block!important;
    overflow:visible!important;
    background:#fff!important;
  }

  .login-v2 .login-card{
    width:100%!important;
    max-width:560px!important;
    margin:0 auto!important;
  }

  .login-card-top{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
    margin:0 0 20px!important;
  }

  .welcome-kicker{
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    font-size:12px!important;
    line-height:1.2!important;
    letter-spacing:.6px!important;
    color:#1a5a39!important;
  }

  .portal-language-slot{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .pfl-picker,
  .pfl-toggle{
    width:100%!important;
  }

  .pfl-toggle{
    min-height:50px!important;
    height:50px!important;
    padding:0 14px!important;
    border-radius:10px!important;
    font-size:14px!important;
  }

  .pfl-menu{
    position:fixed!important;
    top:74px!important;
    left:14px!important;
    right:14px!important;
    width:auto!important;
    max-width:none!important;
    z-index:99999!important;
  }

  .pfl-list{
    max-height:54vh!important;
  }

  .login-v2 .login-card h2{
    margin:0 0 7px!important;
    font-size:38px!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
  }

  .login-v2 .login-card>p{
    margin:0 0 18px!important;
    font-size:15px!important;
    line-height:1.4!important;
    color:#53665d!important;
  }

  .login-v2 .login-card form{
    width:100%!important;
    display:block!important;
  }

  .login-v2 .login-card .form-field{
    display:block!important;
    width:100%!important;
    margin:0 0 15px!important;
  }

  .login-v2 .form-field label{
    display:block!important;
    margin:0 0 7px!important;
    font-size:12px!important;
    line-height:1.2!important;
  }

  .login-v2 .form-field input{
    display:block!important;
    width:100%!important;
    height:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:0 14px!important;
    border-radius:9px!important;
    font-size:15px!important;
    line-height:1!important;
  }

  .login-options{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:wrap!important;
    gap:10px 14px!important;
    margin:2px 0 16px!important;
    font-size:12px!important;
    line-height:1.3!important;
  }

  .login-options label{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    white-space:nowrap!important;
  }

  .login-options label input{
    width:16px!important;
    height:16px!important;
    margin:0!important;
  }

  .login-options a{
    display:inline-block!important;
    margin:0!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }

  .login-submit{
    display:flex!important;
    width:100%!important;
    height:52px!important;
    min-height:52px!important;
    margin:0!important;
    border-radius:9px!important;
    font-size:16px!important;
  }

  .new-user{
    width:100%!important;
    margin:20px 0 0!important;
    text-align:center!important;
  }

  .new-user>span{
    display:flex!important;
    width:100%!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    margin:0!important;
    font-size:13px!important;
    line-height:1.3!important;
    color:#586a61!important;
  }

  .new-user>span:before,
  .new-user>span:after{
    content:""!important;
    display:block!important;
    flex:1!important;
    height:1px!important;
    background:#d6e0da!important;
  }

  .create-account{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:52px!important;
    min-height:52px!important;
    margin:12px 0 0!important;
    padding:0 14px!important;
    border-radius:9px!important;
    font-size:15px!important;
    line-height:1!important;
    text-decoration:none!important;
  }

  .new-user p{
    display:block!important;
    width:100%!important;
    margin:12px 0 0!important;
    font-size:11px!important;
    line-height:1.55!important;
    color:#56695f!important;
  }

  .new-user p b{
    display:inline!important;
    font-size:11px!important;
    line-height:1.55!important;
  }

  .login-benefits{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin:20px 0 0!important;
    padding:16px 0 0!important;
    border-top:1px solid #e1e8e3!important;
  }

  .login-benefits span,
  .login-benefits span:nth-child(2),
  .login-benefits span:last-child{
    min-width:0!important;
    min-height:48px!important;
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    align-items:center!important;
    gap:5px!important;
    padding:8px!important;
    border:1px solid #e0e9e3!important;
    border-radius:8px!important;
    background:#fafcfb!important;
    color:#17633f!important;
    font-size:14px!important;
  }

  .login-benefits b{
    display:block!important;
    min-width:0!important;
    font-size:9.5px!important;
    line-height:1.24!important;
    white-space:normal!important;
    color:#294d3a!important;
  }
}

/* Narrow phones: avoid collisions and keep comfortable tap targets. */
@media (max-width:430px){
  .login-v2 .login-brand{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .portal-feature-grid{
    grid-template-columns:1fr!important;
  }
  .portal-feature-grid div{
    min-height:62px!important;
  }
  .login-v2 .login-form-wrap{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .login-options{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .login-benefits{
    grid-template-columns:1fr!important;
  }
}


/* ==========================================================
   GASAYA PORTAL REGISTRATION — SCROLL / MOVEMENT FIX
   2026-09-06
   The desktop single-screen lock applies ONLY to login.
   Registration must remain naturally scrollable.
   ========================================================== */

body.portal-register-body{
  position:static!important;
  height:auto!important;
  min-height:100vh!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:#f3f7f4!important;
}

body.portal-register-body .registration-wrap{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding-bottom:48px!important;
}

body.portal-register-body form.panel{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}

body.portal-register-body .public-top{
  position:sticky!important;
  top:0!important;
  z-index:60!important;
}

@media(max-width:820px){
  body.portal-register-body{
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.portal-register-body .registration-wrap{
    margin-top:22px!important;
    padding:0 14px 42px!important;
  }
}


/* ==========================================================
   GASAYA PORTAL — AUTOMATIC LOCATION CASCADE
   ========================================================== */
.geo-field[hidden]{display:none!important}
.geo-field{position:relative}
.geo-field .geo-search{
  width:100%;
  min-height:38px;
  margin:0 0 8px;
  padding:0 11px;
  border:1px dashed #b8cdbf;
  border-radius:8px;
  background:#fbfdfc;
  color:#173d2d;
  font-size:12px;
}
.geo-field .geo-search:disabled{
  background:#f2f5f3;
  color:#87988f;
  cursor:not-allowed;
}
.geo-status{
  display:block;
  margin-top:5px;
  min-height:15px;
  color:#687c71;
  font-size:10px;
  line-height:1.35;
}
.geo-status[data-type="loading"]{color:#7a6330}
.geo-status[data-type="ready"]{color:#2b6a46}
.geo-status[data-type="error"]{color:#9c342f}
.geo-status[data-type="empty"]{color:#765f32}
