/* PEDROGRAD owner sign-in · externally served CSS for strict CSP compatibility */
:root{color-scheme:dark;--bg:#0b1321;--surface:#142132;--surface2:#18283c;--text:#ecf0f3;--muted:#9fb1c3;--accent:#7ee4ce;--line:#26364b;--focus:#c7ffef}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{margin:0;background:radial-gradient(ellipse at 8% 8%,#1a343d 0%,transparent 45%),radial-gradient(ellipse at 100% 100%,#18263e 0%,transparent 40%),var(--bg);color:var(--text);font-size:15px;line-height:1.55;min-height:100svh}
a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.55}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.layout{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}
.art{min-height:600px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(36px,7.8vw,104px);position:relative;overflow:hidden}
.art:after{content:"";position:absolute;right:-170px;bottom:7%;width:min(43vw,520px);aspect-ratio:1;border:1px solid rgba(126,228,206,.12);border-radius:50%;pointer-events:none;box-shadow:0 0 0 65px rgba(126,228,206,.025)}
.brand{display:flex;align-items:center;gap:13px;letter-spacing:.11em;font-size:14px;font-weight:750;position:relative;z-index:1}
.brand-mark{display:grid;place-items:center;background:linear-gradient(145deg,#20394b,#214d42);border:1px solid #365245;color:var(--accent);border-radius:13px;width:42px;height:42px;font-size:24px;font-weight:750;letter-spacing:-.14em}
.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:.18em;margin-top:3px}
.eyebrow,.kicker{color:var(--accent);font-size:11px;letter-spacing:.17em;font-weight:800;text-transform:uppercase}
.intro{position:relative;z-index:1}
.intro h1{font-weight:580;font-size:clamp(42px,5.3vw,77px);letter-spacing:-.065em;line-height:1.07;margin:16px 0 22px}
.intro>p{font-size:17px;color:#bacbd6;max-width:520px}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.pills span{font-size:11px;border:1px solid #3d5b5b;background:rgba(33,60,63,.5);color:#cce8e2;padding:8px 13px;border-radius:999px}
.footer{color:#8fa4b6;font-size:11px;position:relative;z-index:1}
.auth-wrap{padding:clamp(20px,4vw,64px);border-left:1px solid var(--line);display:grid;place-items:center;background:rgba(13,24,40,.78)}
.card{width:min(100%,480px);padding:clamp(25px,4vw,44px);background:rgba(20,33,50,.95);border:1px solid #31495d;border-radius:22px;box-shadow:0 20px 78px rgba(0,0,0,.21)}
.card h2{margin:13px 0 8px;font-size:clamp(26px,3.2vw,34px);line-height:1.15;letter-spacing:-.04em}
.sub{color:var(--muted);font-size:13px;margin:0 0 28px}
.google-button,.primary-button,.secondary-button{min-height:49px;padding:13px 16px;border-radius:11px;display:flex;justify-content:center;align-items:center;gap:11px;font-weight:700;width:100%;font-size:14px}
.google-button{color:#19312d;background:#f4faf8;border:1px solid #d7e5e0}
.google-button:hover{background:#e5f8f2}
.google-mark{display:grid;place-items:center;color:#4285f4;font-size:20px;font-weight:900}
.google-button[aria-disabled="true"]{background:#263b49;color:#adbfca;border-color:#435864;cursor:default;pointer-events:none}
.primary-button{border:0;background:#7ee4ce;color:#0a2a24;margin-top:16px}
.primary-button:hover{background:#9df6e0}
.secondary-button{background:#263d48;color:#e0f2ee;border:1px solid #3d5f62}
.divider{display:flex;align-items:center;gap:13px;color:#9baebd;font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin:27px 0 21px}
.divider:before,.divider:after{content:"";height:1px;background:#34495b;flex:1}
label{display:block;font-weight:650;font-size:12px;margin:14px 0 6px}
.field{display:block;width:100%;border:1px solid #476074;background:#0c1927;color:#f4f9fb;border-radius:10px;min-height:47px;padding:12px 14px;outline-offset:3px}
.field::placeholder{color:#718b9e}
.field:focus-visible{border-color:var(--accent)}
/* Bound Google-injected GIS widget and iframe; do not scale its logo. */
.google-signin-button{width:min(100%,320px);max-width:320px;min-height:44px;max-height:54px;overflow:hidden;position:relative;margin:4px 0 10px}
.google-signin-button>div,.google-signin-button iframe{max-width:100%!important;max-height:54px!important}
.google-signin-button img,.google-signin-button svg{max-width:42px;max-height:42px}
.helper{font-size:11px;color:#a4b7c5;margin:10px 0 0}
.legacy{margin-top:23px;padding-top:18px;border-top:1px solid var(--line)}
.legacy details{border-radius:10px;background:#112434;border:1px solid #2b4858;padding:11px 13px}
.legacy summary{font-weight:650;color:#b5c8d3;cursor:pointer;font-size:12px}
.legacy form{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.legacy input{flex:1;min-width:145px}
.legacy button{width:auto;min-height:43px;padding:10px 15px;font-size:12px}
.notice{margin:17px 0;padding:12px 14px;border-radius:10px;border:1px solid #aa6471;background:#482932;color:#ffebef;font-size:12px}
.notice.info{background:#183e38;border-color:#448575;color:#d6fff0}
.links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:23px;margin-top:25px;font-size:12px}
.links a{color:var(--accent)}
.secure-note{color:#9baebd;font-size:11px;line-height:1.6;margin:21px 0 0}
@media(max-width:950px){.layout{grid-template-columns:1fr}.art{min-height:auto;padding:32px 26px 20px;gap:28px}.intro h1{font-size:42px}.intro>p{font-size:13px;margin:0}.pills,.footer{display:none}.auth-wrap{border-left:0;padding:15px 20px 45px}.card{max-width:600px;padding:28px}}
@media(max-width:480px){.art{padding:23px 20px 12px;gap:18px}.intro h1{font-size:36px;margin:10px 0 13px}.brand{font-size:12px}.auth-wrap{padding:10px 12px 32px}.card{border-radius:17px;padding:22px 19px}.pills{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
