/* GEP Arquivos branding - matches gepltd.us (Archivo + IBM Plex Mono, ink/paper/burnt palette). */
@font-face{font-family:'Archivo';font-style:normal;font-weight:300 900;font-stretch:62% 125%;font-display:swap;src:url('/static/img/fonts/archivo-latin.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/static/img/fonts/plexmono-500-latin.woff2') format('woff2');}

:root{
  --gep-ink:#121311; --gep-ink2:#2A2B27; --gep-mute:#64665F; --gep-line:#D9DAD5; --gep-paper:#FFFFFF;
  --gep-burnt:#C23A00; --gep-burnt-hover:#A63100; --gep-burnt-press:#8F2A00; --gep-navy:#0F1F3D; --gep-bronze:#7A6848;
  --gep-sans:'Archivo','Helvetica Neue',Arial,sans-serif; --gep-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --blue:#C23A00; --dark-blue:#A63100;
}
body, input, button, select, textarea{font-family:var(--gep-sans);}
#loading{background:var(--gep-ink);}

/* ---------- Login page ---------- */
#login{
  background-color:var(--gep-ink);
  background-image:linear-gradient(180deg,rgba(18,19,17,.55) 0%,rgba(18,19,17,.80) 100%),url('/static/img/login-bg.jpg');
  background-size:cover; background-position:center; background-repeat:no-repeat;
  position:fixed; top:0; left:0; right:0; bottom:0; width:100%; height:100%;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  overflow-y:auto; padding:24px 16px; box-sizing:border-box;
}
#login form{
  position:relative; top:auto; left:auto; transform:none;
  width:100%; max-width:420px; margin:0 auto; box-sizing:border-box;
  background:var(--gep-paper); color:var(--gep-ink);
  border-top:4px solid var(--gep-burnt); border-radius:2px;
  padding:36px 32px 30px; box-shadow:0 24px 60px rgba(0,0,0,.45);
}
#login form img{
  display:block; width:100%; max-width:300px; height:auto; margin:0 0 26px 0;
}
#login form h1{
  font-family:var(--gep-sans); font-weight:800; font-stretch:100%;
  font-size:2rem; line-height:1.05; letter-spacing:-.02em; color:var(--gep-ink);
  text-align:left; margin:0 0 6px 0; padding:0;
}
#login form h1::after{
  content:'Acesso seguro · Secure access'; display:block; margin-top:10px;
  font-family:var(--gep-mono); font-weight:500; font-size:.72rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--gep-burnt);
}
#login form h1{margin-bottom:22px;}
#login .input{
  font-family:var(--gep-sans); font-size:16px; /* 16px stops iOS zoom-on-focus */
  height:auto; padding:14px 14px; margin:0 0 12px 0;
  border:1px solid var(--gep-line); border-radius:2px; background:#fff; color:var(--gep-ink);
  box-sizing:border-box; width:100%;
}
#login .input::placeholder{color:var(--gep-mute);}
#login .input:focus{outline:none; border-color:var(--gep-ink); box-shadow:0 0 0 3px rgba(194,58,0,.18);}
#login .button{
  font-family:var(--gep-sans); font-weight:700; font-size:16px; letter-spacing:.01em;
  background:var(--gep-burnt); color:#fff; border:0; border-bottom:3px solid var(--gep-burnt-press);
  border-radius:2px; padding:15px 16px; margin-top:6px; width:100%; cursor:pointer;
  -webkit-appearance:none; appearance:none;
}
#login .button:hover{background:var(--gep-burnt-hover);}
#login .button:active{background:var(--gep-burnt-press);}
#login .wrong{background:#FBE9E2; color:var(--gep-burnt-press); border-left:3px solid var(--gep-burnt); border-radius:2px; font-family:var(--gep-sans);}
#login p{font-family:var(--gep-sans); color:var(--gep-mute);}
#login form::after{
  content:'Global Equity Partners · Somente usuários autorizados / Authorized users only';
  display:block; margin-top:22px; padding-top:14px; border-top:1px solid var(--gep-line);
  font-family:var(--gep-mono); font-size:.66rem; line-height:1.5; letter-spacing:.04em; color:var(--gep-mute);
}

@media (max-width:480px){
  #login{padding:16px 12px; justify-content:flex-start;}
  #login form{margin-top:6vh; padding:28px 20px 22px;}
  #login form img{max-width:240px; margin-bottom:20px;}
  #login form h1{font-size:1.7rem;}
}

/* ---------- In-app header: wide wordmark on desktop, compact mark on phones ---------- */
header img{width:auto; height:1.6em; max-width:220px; object-fit:contain;}
@media (max-width:736px){
  header img{content:url('/static/img/mark.svg'); height:2em; width:2em;}
}
