/* Plan 087: GauravGo portal sign-in. Brand blue #168ec3 and green #008634 from the logo; ink for text. */
@font-face{font-family:'Instrument Sans';font-style:normal;font-display:swap;font-weight:400 700;src:url(instrument-sans-latin.woff2) format('woff2-variations')}
:root{--ink:#16202e;--ink-2:#2b3a4d;--muted:#5b6674;--paper:#f2f4f6;--line:#d9e0e7;--blue:#168ec3;--blue-deep:#0f6f9c;--green:#008634;--panel:#10233a;--danger:#b42318;--danger-soft:#fdecea}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body.portal-login{min-height:100vh;display:grid;grid-template-columns:minmax(320px,42%) 1fr;font-family:'Instrument Sans','Segoe UI Variable Text','Segoe UI',system-ui,sans-serif;font-size:15px;color:var(--ink);background:var(--paper)}
a{color:var(--blue-deep)}
a:hover{color:var(--blue)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

.brand-panel{background:var(--panel);color:#e7eef5;padding:48px 52px;display:flex;flex-direction:column;gap:40px;position:relative;overflow:hidden}
/* One deliberate detail: a slim stripe in the logo's blue and green along the panel edge. */
.brand-panel::after{content:"";position:absolute;top:0;right:0;width:6px;height:100%;background:linear-gradient(var(--blue) 0 55%,var(--green) 55% 100%)}
.brand-lockup{display:flex;align-items:center;gap:16px}
.brand-tile{width:64px;height:64px;border-radius:16px;background:#fff;display:grid;place-items:center;flex:none}
.brand-tile img{width:56px;height:56px;object-fit:contain}
.brand-words{display:flex;flex-direction:column;line-height:1.05}
.brand-words strong{font-size:30px;letter-spacing:-.6px;color:#fff}
.brand-words span{font-size:15px;color:#9fc4dc;margin-top:6px;letter-spacing:.2px}
.ggo-quote{margin:auto 0 0;max-width:30ch;transition:opacity .5s}
.ggo-quote.fading{opacity:0}
.ggo-quote blockquote{margin:0;font-size:26px;line-height:1.3;letter-spacing:-.3px;color:#fff;font-weight:500}
.ggo-quote figcaption{margin-top:14px;color:#9fb3c6;font-size:14px}
.brand-foot{margin:0;color:#8fa6bb;font-size:14px}

.sign-in{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 24px}
.sign-in-card{width:100%;max-width:380px;display:flex;flex-direction:column}
.sign-in-card h1{font-size:32px;letter-spacing:-.6px;margin:0}
.lede{margin:6px 0 26px;color:var(--muted)}
label{font-weight:600;font-size:14px;margin-bottom:6px}
.label-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px}
.label-row a{font-size:14px;text-decoration:none}
.label-row a:hover{text-decoration:underline}
input[type=text],input[type=password]{font:inherit;font-size:16px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
input[type=text]:focus,input[type=password]:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #168ec32b}
.remember{display:flex;gap:10px;align-items:center;font-weight:500;color:var(--ink-2);margin:16px 0 22px}
.remember input{width:18px;height:18px;accent-color:var(--blue);margin:0}
#sign-in{font:inherit;font-weight:600;font-size:16px;min-height:48px;border:0;border-radius:10px;background:var(--ink);color:#fff;cursor:pointer;transition:background-color .15s,transform .1s}
#sign-in:hover{background:#22324a}
#sign-in:active{transform:scale(.99)}
.message{margin:0 0 18px;padding:12px 14px;border-radius:10px;background:#e7f3fa;color:#0d4f70;line-height:1.45}
.message.error{background:var(--danger-soft);color:var(--danger)}
.help{color:var(--muted);font-size:14px;margin:28px 0 0;text-align:center}

@media (max-width:820px){
  body.portal-login{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .brand-panel{padding:22px 20px;gap:0}
  .brand-panel::after{top:auto;bottom:0;width:100%;height:4px;background:linear-gradient(90deg,var(--blue) 0 55%,var(--green) 55% 100%)}
  .brand-tile{width:48px;height:48px;border-radius:12px}.brand-tile img{width:42px;height:42px}
  .brand-words strong{font-size:22px}.brand-words span{font-size:13px;margin-top:3px}
  .ggo-quote,.brand-foot{display:none}
  .sign-in{justify-content:flex-start;padding:32px 20px}
  .sign-in-card h1{font-size:28px}
}
@media (prefers-reduced-motion:reduce){.ggo-quote,#sign-in,input{transition:none}}
