*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#020b17;color:#fff;overflow:hidden}
.login-page{position:relative;width:100%;height:100%;min-height:100vh;background-image:url('/login_background.png');background-size:cover;background-position:center center;background-repeat:no-repeat}
.login-page::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,7,17,.03) 0%,rgba(0,7,17,.03) 55%,rgba(0,7,17,.18) 100%);pointer-events:none}
.login-card{position:absolute;z-index:2;left:53.5%;top:50%;transform:translate(-50%,-50%);width:min(360px,calc(100vw - 32px));padding:28px;border:1px solid rgba(90,173,255,.35);border-radius:16px;background:rgba(2,14,28,.82);box-shadow:0 20px 70px rgba(0,0,0,.36);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.login-card h1{margin:0 0 24px;font-size:19px;letter-spacing:.08em;font-weight:800;color:#eef7ff}.login-card h1 span{color:#15a8ff}
.login-card label{display:block;margin:14px 0 7px;font-size:13px;font-weight:650;color:#c7ddf2}
.login-card input{width:100%;height:46px;border:1px solid rgba(119,174,224,.28);border-radius:10px;padding:0 13px;background:rgba(3,17,32,.88);color:#fff;font-size:15px;outline:none}
.login-card input:focus{border-color:#199cff;box-shadow:0 0 0 3px rgba(25,156,255,.12)}
.login-card button{width:100%;height:47px;margin-top:20px;border:0;border-radius:10px;background:#0788ed;color:#fff;font-size:14px;font-weight:800;cursor:pointer}.login-card button:hover{background:#1299ff}.login-card button:disabled{opacity:.65;cursor:wait}
.login-error{margin:14px 0 0;padding:10px 12px;border-radius:9px;background:rgba(132,20,30,.68);border:1px solid rgba(255,100,110,.35);color:#ffe5e8;font-size:13px;line-height:1.35}
@media(max-width:900px){body{overflow-y:auto}.login-page{min-height:100dvh;padding:20px 0 32px;background-position:28% center}.login-card{left:50%;top:43%;bottom:auto;transform:translate(-50%,-50%);width:min(330px,calc(100vw - 28px));padding:20px;background:rgba(2,14,28,.9)}}
@media(max-height:620px){.login-card{padding:20px}.login-card h1{margin-bottom:14px}.login-card label{margin-top:10px}}
.secondary-link{display:block;margin-top:16px;text-align:center;color:#b9d8f3;font-size:13px;text-decoration:none}.secondary-link:hover{color:#fff;text-decoration:underline}
.login-note{margin:0 0 14px;color:#b9d0e5;font-size:13px;line-height:1.45}
.checkbox-row{display:flex;gap:9px;align-items:flex-start;margin-top:15px;color:#bed4e8;font-size:12px;line-height:1.35}.checkbox-row input{width:17px;height:17px;flex:0 0 17px;margin-top:1px}.checkbox-row a{color:#74c3ff}
.login-success{margin:14px 0 0;padding:10px 12px;border-radius:9px;background:rgba(21,117,84,.58);border:1px solid rgba(92,223,168,.34);color:#e5fff4;font-size:13px;line-height:1.4}

.action-link{display:flex;width:100%;height:47px;margin-top:16px;border-radius:10px;align-items:center;justify-content:center;background:#0788ed;color:#fff;font-size:14px;font-weight:800;text-decoration:none}.action-link:hover{background:#1299ff;color:#fff;text-decoration:none}

/* Cadastro comercial: a lógica continua no servidor; aqui é somente apresentação. */
.cadastro-card{width:min(860px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow-y:auto;scrollbar-width:thin}
.cadastro-card>h1,.cadastro-card>.login-note,.cadastro-card>#cadastroForm,.cadastro-card>.secondary-link,.cadastro-card>.login-success,.cadastro-card>.login-error{max-width:410px;margin-left:auto;margin-right:auto}
.signup-offer{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:12px;margin:0 0 20px}
.signup-offer[hidden]{display:none}
.signup-offer-box{position:relative;overflow:hidden;min-height:142px;border:1px solid rgba(88,174,244,.32);border-radius:16px;background:linear-gradient(145deg,rgba(6,29,52,.92),rgba(3,15,29,.9));box-shadow:0 14px 36px rgba(0,0,0,.24)}
.signup-offer-trial{padding:18px 20px;background-image:linear-gradient(115deg,rgba(3,20,38,.86),rgba(3,17,32,.57)),url('/login_background.png');background-size:auto,cover;background-position:center,68% 58%;display:flex;flex-direction:column;justify-content:center}
.signup-offer-trial::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 28%,rgba(31,166,255,.16),transparent 36%);pointer-events:none}
.signup-offer-kicker{position:relative;z-index:1;font-size:10px;font-weight:850;letter-spacing:.14em;color:#77c8ff}
.signup-offer-trial-title{position:relative;z-index:1;margin-top:7px;font-size:18px;line-height:1.18;font-weight:850;color:#f2f8ff}
.signup-offer-headline{position:relative;z-index:1;margin-top:8px;font-size:13px;line-height:1.35;font-weight:720;color:#d8ebfb;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.signup-offer-copy{position:relative;z-index:1;margin-top:6px;font-size:11px;line-height:1.35;color:#b8d0e4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.signup-offer-start{position:relative;z-index:1;margin-top:8px;font-size:10px;color:#8fb0ca}
.signup-offer-value{padding:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background-image:linear-gradient(150deg,rgba(4,26,47,.82),rgba(3,14,27,.9)),url('/login_background.png');background-size:auto,230%;background-position:center,76% 46%}
.signup-offer-value::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 42% 34%,rgba(19,158,255,.17),transparent 42%);pointer-events:none}
.signup-offer-value-promo{border-color:rgba(23,174,255,.52);box-shadow:0 14px 36px rgba(0,86,150,.16)}
.signup-offer-value-label,.signup-offer-value-price{position:relative;z-index:1}
.signup-offer-value-label{max-width:170px;font-size:11px;line-height:1.3;font-weight:720;color:#a9c8df}
.signup-offer-value-price{margin-top:10px;font-size:25px;line-height:1;font-weight:900;letter-spacing:-.035em;color:#f3f9ff}
.signup-offer-feature{padding:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background-image:linear-gradient(145deg,rgba(3,23,42,.83),rgba(2,13,25,.92)),url('/login_background.png');background-size:auto,240%;background-position:center,32% 56%}
.signup-offer-feature::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 66% 30%,rgba(30,150,231,.14),transparent 40%);pointer-events:none}
.signup-offer-feature-title,.signup-offer-feature-copy{position:relative;z-index:1}
.signup-offer-feature-title{font-size:11px;line-height:1.2;font-weight:860;letter-spacing:.08em;color:#79c9ff}
.signup-offer-feature-copy{margin-top:9px;max-width:190px;font-size:10.5px;line-height:1.38;color:#c2d9eb}

@media(max-width:900px){
  .cadastro-card{position:relative;left:auto;top:auto;bottom:auto;transform:none;width:min(360px,calc(100vw - 24px));max-height:none;margin:18px auto 34px;padding:18px}
  .cadastro-card>h1{font-size:17px;margin-bottom:14px}
  .signup-offer{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}
  .signup-offer-trial{grid-column:1/-1;min-height:126px;padding:16px;background-position:center,65% 56%}
  .signup-offer-trial-title{font-size:16px;max-width:92%}
  .signup-offer-value,.signup-offer-feature{min-height:112px;padding:12px 8px}
  .signup-offer-value-label{font-size:10px}
  .signup-offer-value-price{font-size:20px;margin-top:7px}
  .signup-offer-feature-title{font-size:10px}
  .signup-offer-feature-copy{font-size:9.5px;line-height:1.34;margin-top:7px}
  .cadastro-card .login-note{margin-bottom:10px}
  .cadastro-card label{margin-top:10px}
  .cadastro-card input{height:42px}
  .cadastro-card button{height:44px;margin-top:15px}
  .cadastro-card .secondary-link{margin-top:11px}
}

