/* Escola Santa Teresinha — Identidade Visual, R8.3.
   Loaded after custom.css. Only presentation tokens, never business logic. */
:root {
  --wa-teal: 9 16 166;
  --wa-tealDark: 7 14 132;
  --wa-iconActive: 9 16 166;
  --wa-panel: 244 247 252;
  --wa-chatBg: 241 245 250;
  --wa-chatOverlay: 208 224 242;
  --wa-outgoing: 226 248 255;
  --wa-border: 226 232 244;
  --wa-hover: 238 244 255;
  --wa-selected: 228 237 253;
  --wa-badge: 13 180 241;
}
html.dark {
  --wa-teal: 20 61 188;
  --wa-tealDark: 13 43 145;
  --wa-iconActive: 90 199 254;
  --wa-panel: 23 31 55;
  --wa-chatBg: 20 28 46;
  --wa-chatOverlay: 32 48 78;
  --wa-outgoing: 24 56 91;
  --wa-border: 51 65 99;
  --wa-hover: 32 45 73;
  --wa-selected: 37 52 84;
  --wa-badge: 13 180 241;
}
.est-header-school-logo {
  width: 37px; height: 25px; flex: 0 0 auto;
  border-radius: 5px; object-fit: contain;
  padding: 2px; background-color: white;
}
.est-login-page {
  position: fixed; inset: 0; z-index: 1;
  overflow: auto;
  display: flex; justify-content: center; align-items: center;
  padding: max(20px, 3vh) 18px;
  background:
    radial-gradient(circle at 0% 0%, rgba(16, 188, 242, .20), transparent 36%),
    radial-gradient(circle at 100% 100%, rgba(255, 230, 0, .22), transparent 30%),
    linear-gradient(130deg, #eef7ff 0%, #fbfdff 60%, #eaf3ff 100%);
  color: #0b166a;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.est-login-shell {
  display: grid; grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr);
  width: min(1110px, 100%);
  max-height: none; min-height: min(690px, calc(100dvh - 40px));
  border-radius: 26px; overflow: hidden;
  background: #fff;
  box-shadow: 0 25px 75px rgba(9, 16, 120, .16);
  border: 1px solid rgba(9,16,166,.12);
}
.est-login-brand {
  display: flex; flex-direction: column;
  padding: clamp(25px, 3.2vw, 48px);
  position: relative; isolation: isolate;
  background:
   radial-gradient(ellipse at 0% 0%, rgba(5, 188, 246,.56), transparent 42%),
   radial-gradient(ellipse at 95% 100%, rgba(255, 234, 0,.17), transparent 26%),
   linear-gradient(145deg, #08117b 0%, #0910a6 58%, #071571 100%);
  color:#fff;
}
.est-login-brand::after {
  content:""; position:absolute; z-index:-1; right:-40%; bottom:-85px; width:125%; height:145px;
  border:22px solid #fff000; border-radius:50%; opacity:.9; transform:rotate(-13deg);pointer-events:none;
}
.est-brand-logo-card {
  background: #fff; border-radius: 17px;
  box-shadow: 0 12px 30px rgba(0,0,0,.17);
  padding: 10px; max-width: 410px; margin-bottom: clamp(18px, 3vw, 34px);
}
.est-login-logo { width:100%; height:auto; max-height:190px; object-fit:contain; display:block; }
.est-brand-heading {
  color:#fff; font-size:clamp(28px,3vw,43px); line-height:1.14;
  font-weight:800; letter-spacing:-.03em; margin:0 0 14px;
}
.est-brand-heading em { font-style:normal;color:#fff000; }
.est-brand-description { color:#eef7ff; font-size:15px; line-height:1.6; max-width:385px; margin:0 0 auto; }
.est-brand-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:32px; padding-top:24px; border-top:1px solid rgba(255,255,255,.26); }
.est-brand-features div { display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; }
.est-brand-features span { display:grid; place-items:center; border-radius:13px; width:48px; height:48px; background:rgba(20,199,249,.22); font-size:24px; }
.est-brand-features small { color:#f5fbff; font-size:12px;line-height:1.35; }
.est-login-form-panel { display:flex; align-items:center; justify-content:center; background:#fff; padding:42px clamp(24px,5vw,72px); }
.est-login-form-inner { width:100%; max-width:415px; }
.est-login-eyebrow { display:block;color:#0875b8;font-size:11px;font-weight:800;letter-spacing:.11em;margin-bottom:19px; }
.est-login-welcome {font-size:clamp(36px,4vw,53px);font-weight:850;color:#0910a6;line-height:1.15;letter-spacing:-.04em;margin:0 0 10px;}
.est-yellow-dot { color:#ffdf00; }
.est-login-subtitle { color:#56647f;font-size:15px;line-height:1.6;margin:0 0 35px; }
.est-login-form { display:flex;flex-direction:column; }
.est-login-form label { color:#0b166a;font-weight:750;font-size:14px;margin-bottom:8px; }
.est-login-form input { width:100%; padding:14px 15px;border-radius:11px;background:#fbfdff;border:1.5px solid #bac9e1;color:#16294d;font-size:15px;outline:none; }
.est-login-form input:focus { border-color:#0910a6;box-shadow:0 0 0 3px rgba(14,178,243,.16); }
.est-login-form>input {margin-bottom:25px;}
.est-password-wrapper {position:relative;display:flex;align-items:center;}
.est-password-wrapper input {padding-right:87px;}
.est-password-eye {position:absolute;right:6px;top:5px;bottom:5px;border:none;background:transparent;color:#0910a6;font-size:12px;font-weight:750;padding:0 9px;border-radius:7px;cursor:pointer;}
.est-password-eye:hover {background:#eaf4ff;}
.est-login-help {color:#5d6c87;font-size:12px;text-align:right;margin:10px 0 22px;}
.est-login-submit {border:0;border-radius:11px;background:#0910a6;color:white;padding:16px;font-size:17px;font-weight:750;cursor:pointer;box-shadow:0 10px 20px rgba(9,16,166,.17);}
.est-login-submit:hover:not(:disabled) {background:#1124cf;}
.est-login-submit:disabled {opacity:.5;cursor:not-allowed;}
.est-login-error {background:#fff0f0;color:#aa1823;border-radius:8px;padding:12px;margin-bottom:14px;font-size:13px;}
.est-login-signature {border-top:1px solid #e4ebf5;margin-top:38px;padding-top:23px;text-align:center;font-size:20px;font-weight:800;color:#0910a6;}
.est-login-signature>span {color:#04b3ef;font-size:16px;vertical-align:middle;}
.est-login-signature strong {color:#00aef0;}
.est-login-signature small {display:block;font-size:12px;color:#71809c;font-weight:500;margin-top:3px;}
@media(max-width:750px) {
 .est-login-page {padding:12px;align-items:flex-start;}
 .est-login-shell {grid-template-columns:1fr;max-width:490px;min-height:0;border-radius:20px;}
 .est-login-brand {padding:17px 22px 19px;}
 .est-brand-logo-card {width:172px;padding:5px;border-radius:10px;margin-bottom:12px;}
 .est-login-logo {max-height:95px;}
 .est-brand-heading {font-size:24px;line-height:1.15;margin:0 0 4px;}
 .est-brand-description {font-size:12px;line-height:1.4;}
 .est-brand-features {display:none;}
 .est-login-form-panel {padding:25px 23px 30px;}
 .est-login-eyebrow {margin-bottom:9px;font-size:10px;}
 .est-login-welcome {font-size:32px;}
 .est-login-subtitle {margin-bottom:21px;font-size:13px;}
 .est-login-form>input {margin-bottom:15px;}
 .est-login-signature {margin-top:25px;}
}
@media(prefers-reduced-motion:reduce){.est-login-page *, .est-login-page *::before, .est-login-page *::after {transition:none!important;animation:none!important;}}
