/* Redesign exclusivamente visual para a apresentação do Ateliê.
   Inspirado nos contrastes, cartões e tipografia dos prints enviados.
   Não utiliza logomarca ou ativos da Grão. */
:root{--presentation-ink:#222523;--presentation-mint:#37dab0;--presentation-cream:#f3f2ec}
body{background:var(--presentation-cream)}
header{background:#202122;border-bottom:1px solid #353a36;box-shadow:none}
header .brand-lockup h1{color:#fff;letter-spacing:-.03em}
header .brand-lockup p{color:#c4c9c3}
header .refine-utility>button,header .refine-tools summary{background:#303331;color:#fff;border:1px solid #535b54;border-radius:100px;padding:9px 13px}
header .refine-tools[open] .refine-tools-panel{border-radius:16px;padding:12px}
main{max-width:1300px}
.tabs{background:#f3f2ecf4;backdrop-filter:blur(12px);border:1px solid #dadbd4;border-radius:14px;box-shadow:none}
.tabs button{border-radius:10px}
.card,.overview-panel,.overview-kpi,.stat{border-radius:18px}
button.primary{background:#243b2e;border-color:#243b2e;border-radius:100px}
#modules .module-intro{position:relative;overflow:hidden;isolation:isolate;
 display:flex;flex-direction:column;justify-content:space-between;gap:33px;
 background:radial-gradient(ellipse at 94% 12%,#43644b 0,transparent 40%),linear-gradient(122deg,#1b1f1d 10%,#2e3830 68%,#1c211e);
 border:1px solid #444d43;border-radius:26px;min-height:245px;
 padding:34px clamp(22px,5vw,56px);color:white;
 box-shadow:0 20px 55px #131a141e;margin-bottom:23px}
#modules .module-intro:after{content:"";z-index:-1;position:absolute;width:390px;height:390px;
 right:-120px;top:-160px;border:1px solid #b9edd126;transform:rotate(26deg);
 border-radius:48px;box-shadow:0 0 0 54px #ffffff08,0 0 0 110px #ffffff05}
#modules .module-eyebrow,.showcase-eyebrow,.showcase-index,.showcase-bottom{
 font-size:10px;letter-spacing:.2em;font-weight:800;text-transform:uppercase}
#modules .module-eyebrow{color:#b9d8b9}
#modules .module-eyebrow span{color:var(--presentation-mint);padding:0 7px}
#modules .module-intro h2{font-size:clamp(28px,4.3vw,52px);line-height:1.07;letter-spacing:-.064em;max-width:700px;font-weight:850;margin:0 0 12px}
#modules .module-intro p{font-size:clamp(13px,1.5vw,16px);line-height:1.55;color:#d7ded5;max-width:540px}
#modules .module-topbar{margin:0 4px 17px}
#modules .module-topbar strong{font-size:20px;letter-spacing:-.05em;font-weight:850}
#modules .module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
#modules .module-tile{min-height:225px;padding:24px;border-radius:23px;gap:12px;
 border:1px solid #dedfd9;box-shadow:none;background:#e5e7e1;overflow:hidden}
#modules .module-tile:nth-child(4n+2){background:#ece9e2}
#modules .module-tile:nth-child(4n+3){background:#e5e5e3}
#modules .module-tile:nth-child(4n+4){background:#dedfd9}
#modules .module-tile:hover{border-color:#a2b6a6;box-shadow:0 18px 36px #20282018}
#modules .module-tile .module-icon{width:55px;height:55px;border:1px solid #d2d9cf;
 border-radius:15px;background:#f5f6f0;color:#294532}
#modules .module-tile strong{font-size:clamp(17px,1.6vw,22px);letter-spacing:-.045em;font-weight:850;color:#1f2622;line-height:1.19}
#modules .module-tile span.module-desc{color:#606960;font-size:13px;line-height:1.48}
#modules .module-tile .module-link{font-size:12px;color:#1e6244}
#modules .module-tile .module-link:after{content:"";display:inline-block;width:19px;height:1px;margin-left:8px;vertical-align:middle;background:#509876}
#modules>p.muted{background:#e7e9e2;padding:12px 15px;border-left:3px solid #36bf8e;border-radius:10px}
#loginScreen{background:#1d201f;min-height:100vh;min-height:100dvh;gap:0;
 padding:clamp(14px,3.4vw,45px);justify-content:center;align-items:stretch}
.auth-locked #loginScreen{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);max-width:1500px;margin:auto}
.login-showcase{background:radial-gradient(ellipse at 85% 30%,#43644e 0,transparent 45%),linear-gradient(165deg,#2f3832,#171b19);
 border-radius:30px 0 0 30px;color:#fff;padding:clamp(24px,4vw,60px);display:flex;
 flex-direction:column;justify-content:space-between;gap:55px;position:relative;overflow:hidden;min-height:660px}
.login-showcase:before{content:"";position:absolute;width:470px;height:470px;right:-250px;bottom:50px;
 border:1px solid #eaffed24;transform:rotate(38deg);border-radius:90px;box-shadow:0 0 0 60px #effff009,0 0 0 124px #effff007}
.showcase-eyebrow{color:#fff;position:relative;z-index:1}.showcase-eyebrow span{color:#a8d5b9}
.login-showcase h2{font-size:clamp(37px,4.5vw,72px);font-weight:850;letter-spacing:-.074em;line-height:1.05;max-width:720px;margin:19px 0}
.login-showcase h2 em{font-style:normal;color:#53ddb0}
.login-showcase p{font-size:17px;line-height:1.5;color:#d2d9d1;max-width:480px}
.showcase-index{color:#a0ceac}.showcase-bottom{color:#afc5b4}.showcase-bottom span{color:#44dbab}
.login-card{max-width:none;width:100%;border:0;border-radius:0 30px 30px 0;background:#f8f8f2;
 box-shadow:none;padding:clamp(28px,4vw,68px);display:flex;flex-direction:column;justify-content:center}
.login-brand{justify-content:flex-start;margin-bottom:36px}
.login-brand img{width:min(220px,100%);max-height:96px}
.login-card h1{text-align:left;font-size:clamp(31px,3vw,40px);letter-spacing:-.055em;line-height:1.13}
.login-card p{text-align:left;color:#647064;font-size:15px;margin:7px 0 24px}
.login-card label{color:#3e4b40}
.login-card input{min-height:50px;border-radius:11px;border-color:#d6ddd5;background:#fff;padding:12px 15px}
.login-card button[type=submit]{background:#39dfb2;color:#1d3025;border-color:#39dfb2;font-weight:850;min-height:54px;border-radius:100px;font-size:15px;margin-top:24px}
.login-card button[type=submit]:hover{background:#67e9c4;border-color:#67e9c4}
@media(max-width:900px){#modules .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .auth-locked #loginScreen{grid-template-columns:1fr 1fr}.login-showcase{min-height:560px;padding:30px}.login-card{padding:32px}}
@media(max-width:690px){
 header{min-height:65px;padding:10px 13px}
 header .refine-utility{justify-content:flex-end}
 header .refine-utility>button{display:none}
 header .refine-tools summary{border-radius:10px;min-height:42px}
 main{padding:15px 12px 30px}
 .auth-locked #loginScreen{display:flex;flex-direction:column;align-items:stretch;padding:0}
 .login-showcase{min-height:255px;border-radius:0;padding:30px 26px 25px;gap:24px}
 .login-showcase h2{font-size:clamp(30px,8vw,40px);margin:11px 0 5px}
 .login-showcase p{font-size:13px;margin:0}.showcase-eyebrow{font-size:9px}.showcase-bottom{display:none}
 .login-card{border-radius:26px 26px 0 0;margin-top:-12px;position:relative;flex:1;padding:30px 24px 38px;min-height:500px}
 .login-brand{margin-bottom:18px}.login-brand img{width:180px;max-height:73px}
 .login-card h1{font-size:30px}.login-card p{margin-bottom:22px}
 #modules .module-intro{min-height:255px;padding:24px 22px;gap:36px;border-radius:23px;margin-bottom:21px}
 #modules .module-intro h2{font-size:clamp(28px,7.7vw,38px)}
 #modules .module-intro p{font-size:13px}
 #modules .module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #modules .module-tile{min-height:208px;border-radius:17px;padding:17px 14px;gap:10px}
 #modules .module-tile .module-icon{width:43px;height:43px;border-radius:12px}
 #modules .module-tile .module-icon svg{width:23px;height:23px}
 #modules .module-tile strong{font-size:15px;line-height:1.18}
 #modules .module-tile span.module-desc{font-size:11px;line-height:1.42}
 #modules .module-tile .module-link{font-size:11px}
 #modules .module-topbar strong{font-size:19px}
 #modules .module-topbar #modulesRole{font-size:11px}
}
@media(max-width:365px){#modules .module-grid{gap:8px}#modules .module-tile{padding:13px 11px;min-height:205px}
 #modules .module-tile strong{font-size:14px}#modules .module-tile .module-link:after{display:none}
 .login-showcase{padding:25px 18px 24px}.login-card{padding:24px 18px 35px}
 header .brand-lockup img{width:74px}header .brand-lockup h1{font-size:11px}}
@media print{.login-showcase{display:none!important}#modules .module-intro{box-shadow:none}}
@media(prefers-reduced-motion:reduce){#modules .module-tile{transition:none}}


/* Marca Negócio Fechado aplicada somente à tela de acesso. */
#loginScreen{background:#082f43}
#loginScreen .login-showcase{
 background:radial-gradient(ellipse at 90% 22%,#164c62 0%,transparent 45%),linear-gradient(155deg,#0c3a50,#052637);
 color:#fff;
}
#loginScreen .login-showcase:before{border-color:#ffffff22;box-shadow:0 0 0 60px #ffffff07,0 0 0 124px #ffffff04}
#loginScreen .showcase-eyebrow span,#loginScreen .showcase-index{color:#c2d6dd}
#loginScreen .showcase-bottom{color:#c2d6dd}
#loginScreen .showcase-bottom span,#loginScreen .login-showcase h2 em{color:#ff622a}
#loginScreen .login-showcase p{color:#d4e1e6}
#loginScreen .login-card{background:#f8f5ef;color:#082f43}
#loginScreen .login-brand{margin-bottom:32px}
#loginScreen .login-brand img{
 display:block;width:min(100%,355px);max-height:115px;height:auto;object-fit:contain;object-position:left center;
 mix-blend-mode:multiply;
}
#loginScreen .login-card h1{color:#082f43}
#loginScreen .login-card p{color:#65747a}
#loginScreen .login-card label{color:#173e50}
#loginScreen .login-card input{border-color:#cbd8db;background:#fff}
#loginScreen .login-card input:focus{border-color:#0c5474;box-shadow:0 0 0 3px #0c547422}
#loginScreen .login-card button[type=submit]{
 background:#082f43;color:#fff;border-color:#082f43;
}
#loginScreen .login-card button[type=submit]:hover{background:#10516b;border-color:#10516b}
@media(max-width:690px){
 #loginScreen .login-brand{margin-bottom:22px}
 #loginScreen .login-brand img{width:min(100%,280px);max-height:85px}
}
