/* CONECTA+ OFICIAL • UI premium PWA, branco/azul, desktop e mobile • out/2026 */
:root{
 --brand-cobalt:#0057FF;--brand-electric:#2F8BFF;--brand-cyan:#00D2FF;--brand-light:#E6F1FF;--brand-navy:#0B1F44;
 --bg:#f5f8fc;--card:#fff;--text:#0B1F44;--muted:#71829a;--line:#e2eaf4;
 --pink:#0057FF;--pink-2:#2F8BFF;--purple:#0057FF;--purple-2:#0B1F44;
 --sidebar:#fff;--sidebar-2:#f9fbff;--green:#12986a;--red:#e04d5d;
 --shadow:0 10px 32px rgba(17,61,118,.045);--shadow-hover:0 18px 50px rgba(16,74,148,.10);
 --radius:18px;--navwidth:260px;--navnarrow:84px;--display-font:'Outfit',sans-serif;
}
html{scroll-behavior:smooth;scrollbar-color:#b9d1ec transparent;scrollbar-width:thin}
body{font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--text);background:var(--bg);font-size:14px;line-height:1.5}
body.premium-app{background:radial-gradient(ellipse at 92% 0%,#e9f3ff 0,transparent 28%),#f5f8fc}
h1,h2,h3,h4,.stat-value,.page-head h2,.top-left h1{font-family:var(--display-font);letter-spacing:-.035em}
button,input,select,textarea{font-family:'DM Sans',sans-serif}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #5ba3f6!important;outline-offset:3px}
.sidebar{width:var(--navwidth);background:#fff;color:#243f67;border-right:1px solid #e2eaf4;box-shadow:4px 0 24px rgba(14,55,112,.025);transition:width .28s cubic-bezier(.25,.8,.25,1),transform .28s ease;overflow-x:hidden;overscroll-behavior:contain}
.side-brand{height:128px;min-height:128px;padding:19px 18px 12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;border-bottom:1px solid #edf1f7}
.brand-full{display:flex;align-items:center;height:48px;max-width:100%}.brand-full img{width:193px;height:auto;object-fit:contain}
.brand-compact{display:none;width:46px;height:46px;align-items:center;justify-content:center}.brand-compact img{width:42px;height:42px;object-fit:contain}
.brand-subline{display:block;font-size:.65rem;font-weight:800;color:#5c7797;line-height:1.65;white-space:nowrap;letter-spacing:.01em}
.brand-subline small{display:block;font-size:.61rem;font-weight:650;color:#99a9bc;letter-spacing:.01em}
.side-nav{flex:1;padding:13px 12px 10px}
.nav-section{padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid #edf2f8}.nav-section:last-child{border:0;margin-bottom:0}
.nav-caption{min-height:32px;padding:4px 12px;font-size:.625rem;color:#97a8bf;text-transform:uppercase;letter-spacing:1.08px;font-weight:900}
.nav-item{min-height:42px;margin:3px 0;padding:0 12px;gap:12px;font-size:.77rem;font-weight:800;color:#536883;border-radius:11px;white-space:nowrap;letter-spacing:-.01em;transition:background .16s,color .16s,transform .16s}
.nav-item i{width:22px;min-width:22px;text-align:center;color:#778daa;font-size:16px;transition:color .2s}
.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-item:hover{background:#f1f7ff;color:#0c59b6;transform:none}.nav-item:hover i{color:#1167ce}
.nav-item.active{color:#0754ad;background:linear-gradient(95deg,#e8f2ff,#f4f9ff);box-shadow:inset 3px 0 0 #1680ef}
.nav-item.active i{color:#116dd8}.nav-item.danger-link{color:#d56775}.nav-item.danger-link i{color:#d56775}
.side-account{display:flex;gap:10px;align-items:center;padding:14px 16px 20px;border-top:1px solid #edf2f8;min-height:78px}
.side-account-avatar{height:38px;width:38px;border-radius:12px;flex:none;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#0e4b9c,#2e8cff)}
.side-account-name{min-width:0;display:block;line-height:1.25}.side-account-name b{font-size:.74rem;display:block;max-width:146px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-account-name small{display:block;font-size:.65rem;color:#8fa0b8;margin-top:4px}.side-account-dot{margin-left:auto;width:8px;height:8px;border-radius:50%;background:#1fb98c;box-shadow:0 0 0 4px #e2faf1}
.main-area{margin-left:var(--navwidth);transition:margin-left .28s cubic-bezier(.25,.8,.25,1)}
.topbar{height:92px;padding:0 32px;background:rgba(255,255,255,.92);border-bottom:1px solid #e5ebf4;box-shadow:0 2px 10px rgba(17,61,118,.016)}
.top-left{gap:18px}.mobile-menu-btn{display:grid;width:42px;height:42px;border-radius:13px;color:#185aa9;border-color:#dce9f8;background:#f7faff;box-shadow:none;place-items:center;font-size:16px}
.mobile-menu-btn:hover{background:#eaf3ff}.top-kicker{font-size:.6rem;font-weight:900;letter-spacing:1.15px;color:#7494bb;display:block;margin-bottom:3px}.top-kicker i{font-size:3px;vertical-align:middle;margin:0 6px;color:#7aa6dc}
.top-left h1{font-size:1.42rem;margin:0;line-height:1.22;font-weight:800;color:#0b2a55}.top-left p{font-size:.71rem;margin:3px 0 0;color:#8998ad;font-weight:600}
.top-actions{gap:10px}.network-pill{height:38px;background:#f5fdfa;border-radius:11px;font-size:.68rem;box-shadow:none}
.profile-pill,.top-user{border:1px solid #dfe9f5;height:39px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;gap:9px;color:#235586;background:#f8fbff;font-weight:800;font-size:.72rem}
.profile-pill[hidden]{display:none!important}.top-user i{color:#1469c8}
.content-wrap{max-width:1650px;padding:30px 30px 112px}
.page-head{margin-bottom:22px}.page-head h2{font-size:1.66rem;font-weight:800;color:#0c2d57}.page-head p{font-size:.79rem;color:#74879f}
.panel,.stat-card,.leader-card,.template-card,.schedule-card,.admin-card{border-color:#e3ebf6;box-shadow:0 10px 30px rgba(26,72,129,.045);border-radius:18px}
.panel{padding:23px}.panel.soft{background:linear-gradient(145deg,#fff,#f8fbff)}
.panel-title h3{font-size:1.04rem;color:#173b6a;font-weight:800}
.stats-grid{gap:15px}.stat-card{min-height:138px;padding:18px 19px;border-radius:17px}
.stat-card::before{height:0}.stat-card .stat-top{align-items:flex-start;flex-direction:row-reverse;justify-content:space-between;gap:8px}
.stat-icon{width:43px;height:43px;font-size:18px;background:#eef6ff;color:#1f6ac1;border-radius:13px}
.stat-label{font-size:.7rem;color:#72869f;font-weight:800}.stat-value{font-size:1.9rem;font-weight:850;color:#0c3266;margin-top:9px}
.stat-note{font-size:.67rem;color:#8a9bb0;margin-top:14px}.stat-card:hover{transform:translateY(-3px)}
.btn{border-radius:11px;font-weight:800}.btn-primary{background:linear-gradient(120deg,#1077e7,#075abb);box-shadow:0 6px 14px rgba(22,106,214,.16)}.btn-primary:hover{box-shadow:0 12px 25px rgba(22,106,214,.22)}.btn-purple{background:#e9f2ff;color:#135dac}.btn-dark{background:#1c3658;color:#fff}
.btn-light{color:#1a559a;background:#f8fbff;border-color:#dbe7f7}
.form-stack input,.form-stack select,.form-stack textarea,.form-grid input,.form-grid select,.form-grid textarea,.filters input,.filters select,.field{background:#fbfdff;border-color:#dce6f2;color:#1a3e69}
.form-stack label,.form-grid label{color:#496683}.table th{color:#7f91aa}.table td{color:#24476e}.person-name{color:#153a67}
.page-actions{gap:9px}.page-actions .btn{min-height:42px}
.side-nav::-webkit-scrollbar,.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-thumb{background:#c6d9ed;border-radius:8px}
html.is-collapsed .sidebar{width:var(--navnarrow)}html.is-collapsed .main-area{margin-left:var(--navnarrow)}
html.is-collapsed .brand-full,html.is-collapsed .brand-subline,html.is-collapsed .nav-label,html.is-collapsed .nav-caption,html.is-collapsed .side-account-name,html.is-collapsed .side-account-dot{display:none}
html.is-collapsed .brand-compact{display:flex}
html.is-collapsed .side-brand{height:99px;min-height:99px;padding:16px;align-items:center}
html.is-collapsed .side-nav{padding:15px 12px}
html.is-collapsed .nav-section{padding-bottom:8px;margin-bottom:8px}
html.is-collapsed .nav-item{justify-content:center;padding:0;min-height:48px;margin-bottom:4px}
html.is-collapsed .nav-item i{width:auto;font-size:19px}
html.is-collapsed .side-account{padding:12px;justify-content:center}
html.is-collapsed .side-account-avatar{width:42px;height:42px}
html.is-collapsed .nav-item:hover{transform:none}
/* telas de autenticação — experiência premium */
body.login-page{min-height:100svh;display:block;margin:0;background:#f5f9ff;padding:0}
.auth-screen{display:grid;grid-template-columns:minmax(390px,1.03fr) minmax(420px,.97fr);min-height:100svh;overflow:hidden}
.auth-showcase{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:38px clamp(28px,4vw,78px);color:#fff;background:linear-gradient(145deg,#0B1F44 0%,#0057FF 61%,#2F8BFF 100%)}
.auth-showcase::before{content:"";position:absolute;border-radius:50%;width:690px;height:690px;left:-380px;top:23%;border:2px solid rgba(255,255,255,.12);box-shadow:0 0 0 90px rgba(255,255,255,.022),0 0 0 180px rgba(255,255,255,.024)}
.auth-showcase::after{content:"";position:absolute;width:380px;height:380px;right:-150px;top:-170px;border-radius:50%;background:linear-gradient(150deg,rgba(130,224,255,.25),rgba(255,255,255,0));filter:blur(10px)}
.auth-showcase>*{position:relative;z-index:1}
.auth-showcase-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-showcase-brand{background:rgba(255,255,255,.98);border-radius:15px;padding:9px 14px;display:inline-flex;box-shadow:0 8px 18px rgba(0,25,68,.13)}.auth-showcase-brand img{width:190px;height:auto}
.auth-demo-pill{font-size:.65rem;font-weight:800;letter-spacing:.8px;border:1px solid rgba(255,255,255,.36);padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12)}
.auth-story{max-width:670px;padding:40px 0 45px}.auth-illustration{position:relative;height:230px;margin-bottom:25px;display:flex;align-items:flex-end}
.auth-illustration img{max-height:225px;max-width:70%;width:auto;object-fit:contain;object-position:bottom left;filter:drop-shadow(0 20px 26px rgba(0,32,83,.17))}
.auth-story .auth-eyebrow{font-size:.7rem;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:#b5e5ff;display:block;margin-bottom:15px}
.auth-story h2{font-family:'Outfit',sans-serif;font-size:clamp(2.4rem,3.5vw,4rem);line-height:1.09;letter-spacing:-.045em;margin:0 0 18px;font-weight:800}
.auth-story h2 em{font-style:normal;color:#a9e6ff}.auth-story p{font-size:.96rem;line-height:1.75;color:#d3e8ff;margin:0;max-width:520px}
.auth-features{display:flex;flex-wrap:wrap;gap:11px}.auth-features span{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);padding:10px 12px;border-radius:12px;font-weight:750;font-size:.7rem;color:#eaf4ff}.auth-features i{color:#9ee1ff}
.auth-area{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px clamp(20px,4vw,72px);background:radial-gradient(circle at 95% 12%,#e9f4ff,transparent 45%),#fff}
.auth-form-shell{width:min(100%,445px)}.auth-mobile-brand{display:none;margin:0 0 22px}.auth-mobile-brand img{width:190px;height:auto}
.auth-overline{font-weight:900;color:#1472da;letter-spacing:1.4px;font-size:.67rem;text-transform:uppercase;display:flex;align-items:center;gap:8px;margin:0 0 13px}
.auth-overline::before{content:"";width:27px;height:3px;border-radius:99px;background:#1683ed}
.auth-form-shell h1{font-size:2.1rem;letter-spacing:-.06em;line-height:1.1;color:#0b2c58;font-weight:800;margin:0 0 10px}
.auth-subtitle{color:#7489a3;font-size:.88rem;line-height:1.7;margin:0 0 30px}
.auth-form-shell form{display:grid;gap:17px}.auth-field{display:grid;gap:9px}.auth-field>label{color:#3a587b;font-size:.77rem;font-weight:850}
.auth-input{position:relative}.auth-input>i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#8ba4c0;font-size:.95rem;pointer-events:none}
.auth-input input{background:#f9fbff;width:100%;height:56px;border:1px solid #dce6f3;border-radius:13px;outline:none;padding:0 50px 0 47px;color:#193b66;transition:border-color .2s,box-shadow .2s;font-size:.85rem}
.auth-input input:focus{border-color:#5b9de8;box-shadow:0 0 0 4px rgba(27,118,233,.08);background:#fff}
.auth-input input::placeholder{color:#a2b1c3}.auth-eye{position:absolute;right:8px;top:8px;width:40px;height:40px;border:0;border-radius:10px;background:#eef5ff;color:#2a65a6}
.auth-submit{width:100%;height:54px;border:0;border-radius:13px;background:linear-gradient(100deg,#147be8,#0658b9);color:#fff;font-size:.87rem;font-weight:900;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 25px rgba(17,104,208,.21);margin-top:9px;transition:transform .18s,box-shadow .18s}.auth-submit:hover{transform:translateY(-2px);box-shadow:0 18px 28px rgba(17,104,208,.26)}
.auth-form-shell .flash{font-size:.77rem;margin:0 0 20px;padding:13px 14px}
.auth-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:24px;border-top:1px solid #e8eff8;padding-top:23px}
.auth-bottom a{font-size:.77rem;font-weight:800;color:#235eaa;display:inline-flex;gap:9px;align-items:center}.auth-bottom a:hover{color:#0b81ee}.auth-secure{font-size:.67rem;color:#8ca0b7;display:flex;gap:6px;align-items:center}
.auth-copyright{text-align:center;color:#97aabd;font-size:.67rem;margin-top:44px}
/* aplicativo mobile: bottom nav, drawer, cartões em tela cheia */
.bottom-nav{display:none}
@media(min-width:901px){.sidebar-overlay{display:none!important}}
@media(max-width:1180px){.topbar{padding:0 21px}.content-wrap{padding:24px 20px 110px}.top-user span{display:none}.auth-showcase{padding-left:36px;padding-right:36px}}
@media(max-width:900px){
 html.is-collapsed .sidebar{width:min(82vw,304px)}html.is-collapsed .main-area{margin-left:0}
 html.is-collapsed .brand-full{display:flex}html.is-collapsed .brand-compact{display:none}
 html.is-collapsed .brand-subline,html.is-collapsed .nav-caption,html.is-collapsed .nav-label,html.is-collapsed .side-account-name{display:block}
 html.is-collapsed .side-brand{align-items:flex-start;height:128px;min-height:128px}
 html.is-collapsed .nav-item{justify-content:flex-start;min-height:42px;padding:0 12px}html.is-collapsed .nav-item i{font-size:16px;width:22px}
 .sidebar{width:min(82vw,304px);transform:translateX(-105%);box-shadow:14px 0 48px rgba(8,39,83,.13);z-index:150}
 .sidebar.open{transform:translateX(0)}.sidebar-overlay{z-index:140;background:rgba(14,39,77,.36);backdrop-filter:blur(3px)}.main-area{margin-left:0}
 .topbar{height:79px;padding:0 18px}.top-left h1{font-size:1.24rem}.top-left p{font-size:.66rem}.top-kicker{font-size:.53rem}.mobile-menu-btn{height:41px;width:41px}
 .top-actions{gap:6px}.top-user{width:38px;height:38px;padding:0}.top-user span{display:none}.network-pill{width:38px;height:38px;justify-content:center;padding:0}.network-pill span{display:none}.profile-pill{width:38px;padding:0}.profile-pill span{display:none}
 .content-wrap{padding:22px 16px calc(105px + env(safe-area-inset-bottom))}.bottom-nav{display:flex;position:fixed;z-index:100;bottom:0;left:0;right:0;min-height:68px;padding:7px 10px calc(5px + env(safe-area-inset-bottom));gap:1px;background:rgba(255,255,255,.98);backdrop-filter:blur(16px);box-shadow:0 -8px 34px rgba(12,63,127,.08);border-top:1px solid #e2eaf5;justify-content:space-around;align-items:center}
 .bottom-nav a,.bottom-nav button{flex:1;display:flex;min-width:0;flex-direction:column;align-items:center;gap:4px;justify-content:center;border:0;background:transparent;color:#8397b2;padding:7px 3px;border-radius:11px;font-size:.59rem;font-weight:850;letter-spacing:.005em;line-height:1.1}
 .bottom-nav i{display:grid;place-items:center;font-size:17px;width:33px;height:30px;border-radius:9px}
 .bottom-nav .active{color:#1067cb;background:#f1f7ff}.bottom-nav .active i{color:#1067cb}
 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{min-height:124px;padding:15px}.stat-icon{width:36px;height:36px;font-size:15px}.stat-value{font-size:1.65rem}
 .auth-screen{grid-template-columns:1fr}.auth-showcase{min-height:255px;padding:26px 28px}.auth-story{padding:35px 0 20px}.auth-story h2{font-size:2.3rem}.auth-story p{font-size:.81rem}.auth-illustration,.auth-features{display:none}.auth-area{padding:36px 26px 65px}.auth-form-shell{max-width:520px}
}
@media(max-width:600px){
 .topbar{height:74px;padding:0 12px}.top-left{gap:11px}.top-left h1{font-size:1.07rem}.top-left p{font-size:.60rem;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .top-kicker{letter-spacing:.6px;font-size:.52rem}.content-wrap{padding:17px 12px calc(104px + env(safe-area-inset-bottom))}
 .page-head h2{font-size:1.45rem}.panel{padding:16px;margin-bottom:13px;border-radius:16px}.page-head{margin-bottom:15px}
 .stats-grid{gap:10px}.stat-card{padding:13px 12px;min-height:118px}.stat-value{font-size:1.55rem}.stat-label{font-size:.65rem}.stat-note{margin-top:9px}
 .btn{white-space:normal}.page-head .actions{gap:8px}.contact-hero{border-radius:15px}.map-panel{padding:0}
 .auth-showcase{min-height:170px;padding:20px 23px}.auth-showcase-brand img{width:151px}.auth-showcase-brand{padding:6px 10px;border-radius:11px}.auth-story{padding:24px 0 6px}.auth-story h2{font-size:1.75rem;margin-bottom:8px}.auth-story p{display:none}.auth-demo-pill{font-size:.56rem;padding:6px 8px}
 .auth-area{padding:32px 22px 55px}.auth-form-shell h1{font-size:1.85rem}.auth-subtitle{margin-bottom:22px}.auth-input input{height:52px}.auth-eye{top:6px}.auth-submit{height:52px}.auth-copyright{margin-top:27px}
}
@media(max-width:365px){.top-kicker{display:none}.top-left p{display:none}.top-user{display:none}.bottom-nav span{font-size:.56rem}.auth-showcase{min-height:145px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Identidade oficial Conecta+ 2026 (cores extraídas do manual da marca) */
.brand-full img,.brand-compact img,.auth-showcase-brand img,.auth-mobile-brand img{image-rendering:auto;object-fit:contain}
.auth-showcase-brand{background:#fff;border:1px solid rgba(255,255,255,.55)}
.nav-item.active{color:#0057FF;box-shadow:inset 3px 0 0 #0057FF}
.stat-icon,.bottom-nav .active{background:#E6F1FF}
.auth-submit,.btn-primary{background:linear-gradient(110deg,#0057FF,#2F8BFF)}
.auth-showcase .auth-eyebrow,.auth-story h2 em{color:#a7f5ff}
