:root{
  --navy:#063b8f;
  --navy-2:#082e69;
  --navy-3:#0d2551;
  --blue:#1773d1;
  --blue-soft:#eaf4ff;
  --blue-pale:#f5f9ff;
  --gold:#d4a841;
  --gold-soft:#f7edd1;
  --green:#27886b;
  --green-soft:#e6f6f0;
  --red:#bd3f4a;
  --red-soft:#fff0f2;
  --ink:#17223b;
  --muted:#66738c;
  --line:#dce5f1;
  --surface:#ffffff;
  --background:#f3f7fc;
  --shadow-sm:0 8px 24px rgba(19,52,101,.08);
  --shadow-md:0 18px 54px rgba(19,52,101,.13);
  --radius-sm:14px;
  --radius:22px;
  --radius-lg:32px;
  --container:1180px;
  --font:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--background);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #54a6ff;outline-offset:3px}
.skip-link{position:fixed;left:16px;top:-100px;background:#fff;color:var(--navy);padding:12px 16px;border-radius:12px;z-index:9999;box-shadow:var(--shadow-md)}
.skip-link:focus{top:16px}
.container{width:min(calc(100% - 32px),var(--container));margin-inline:auto}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:0;border-radius:14px;padding:.88rem 1.2rem;font-weight:700;min-height:48px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{transform:translateY(-2px)}
.btn-sm{min-height:40px;padding:.68rem 1rem;font-size:.9rem}
.btn-primary{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;box-shadow:0 10px 22px rgba(6,59,143,.22)}
.btn-primary:hover{box-shadow:0 14px 28px rgba(6,59,143,.28)}
.btn-secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}
.btn-gold{background:linear-gradient(135deg,#d7ad49,#f0c96f);color:#17315c;box-shadow:0 10px 24px rgba(212,168,65,.22)}
.btn-danger{background:var(--red);color:#fff}
.btn-block{width:100%}
.btn-link{background:transparent;color:var(--navy);padding:.45rem;font-weight:700;border:0}

/* Public layout */
.public-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,229,241,.9)}
.public-header__inner{display:flex;align-items:center;min-height:86px;gap:24px}
.brand-lockup{display:flex;align-items:center;gap:12px;min-width:280px}
.brand-lockup img{width:66px;height:66px;object-fit:contain}
.brand-lockup strong{display:block;color:var(--navy);font-size:1.18rem;line-height:1.2}
.brand-lockup small{display:block;color:var(--muted);font-size:.72rem;max-width:200px}
.public-nav{margin-left:auto;display:flex;align-items:center;gap:24px}
.public-nav>a:not(.btn){font-size:.9rem;font-weight:600;color:#3f4c63;position:relative;padding:.8rem 0}
.public-nav>a:not(.btn)::after{content:'';position:absolute;left:0;right:100%;bottom:.45rem;height:2px;background:var(--gold);transition:right .2s ease}
.public-nav>a:not(.btn):hover::after,.public-nav>a.is-active::after{right:0}
.idealizer-lockup{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:20px}
.idealizer-lockup small{font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg)}
.idealizer-lockup img{width:58px;height:58px;object-fit:contain}
.public-menu-toggle{display:none;margin-left:auto;border:0;background:var(--blue-soft);width:46px;height:46px;border-radius:14px;padding:12px}
.public-menu-toggle span{display:block;height:2px;background:var(--navy);margin:5px 0;border-radius:2px}

.hero-public{overflow:hidden;background:linear-gradient(150deg,#eff7ff 0,#fff 48%,#f8f1df 100%);padding:64px 0 54px;position:relative}
.hero-public::before{content:'';position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(23,115,209,.12),transparent 68%);right:-120px;top:-190px}
.hero-public__grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px}
.hero-copy{position:relative;z-index:2}
.eyebrow{margin:0 0 .8rem;color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.hero-copy h1{font-size:clamp(2.35rem,5vw,4.55rem);line-height:1.05;color:var(--navy-2);margin:.2rem 0 1.2rem;letter-spacing:-.04em;text-wrap:balance}
.hero-copy>p:not(.eyebrow){font-size:1.06rem;color:var(--muted);max-width:650px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.7rem}
.hero-proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:2rem;color:#47536a;font-size:.85rem;font-weight:600}
.hero-proof span{display:flex;align-items:center;gap:7px}
.hero-proof span::before{content:'✓';display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:800}
.hero-visual{position:relative;min-height:480px;display:grid;place-items:center}
.hero-dashboard-card{width:min(100%,520px);background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.7);border-radius:34px;padding:24px;box-shadow:0 30px 80px rgba(8,46,105,.18);position:relative;z-index:2}
.hero-dashboard-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.hero-dashboard-top strong{color:var(--navy);font-size:1.05rem}
.hero-dashboard-top span{font-size:.72rem;background:var(--green-soft);color:var(--green);font-weight:700;padding:6px 10px;border-radius:999px}
.mock-course{background:linear-gradient(135deg,var(--navy-2),var(--blue));border-radius:24px;color:#fff;padding:24px;position:relative;overflow:hidden}
.mock-course::after{content:'';position:absolute;right:-40px;top:-50px;width:160px;height:160px;border:30px solid rgba(255,255,255,.08);border-radius:50%}
.mock-course small{opacity:.82}
.mock-course h3{font-size:1.35rem;margin:.45rem 0 1.4rem;max-width:330px}
.progress-bar{height:9px;background:rgba(255,255,255,.25);border-radius:999px;overflow:hidden}
.progress-bar span{display:block;width:64%;height:100%;background:linear-gradient(90deg,#f2ce79,#fff1b7);border-radius:inherit}
.mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.mock-mini{background:#f7faff;border:1px solid #e5edf7;border-radius:18px;padding:16px 13px;min-height:100px}
.mock-mini b{display:block;color:var(--navy);font-size:1.3rem}
.mock-mini small{color:var(--muted);font-size:.7rem}
.hero-mascot{position:absolute;width:145px;right:-20px;bottom:-25px;filter:drop-shadow(0 18px 18px rgba(25,72,124,.18));z-index:3}
.hero-orb{position:absolute;width:370px;height:370px;border-radius:50%;background:linear-gradient(135deg,rgba(6,59,143,.18),rgba(212,168,65,.2));filter:blur(2px)}

.section{padding:78px 0}
.section-soft{background:#eef5fd}
.section-title{max-width:760px;margin:0 auto 38px;text-align:center}
.section-title.left{text-align:left;margin-left:0}
.section-title h2{font-size:clamp(1.8rem,3.3vw,3rem);line-height:1.15;color:var(--navy-2);margin:.3rem 0 .8rem;text-wrap:balance}
.section-title p{color:var(--muted);margin:0}
.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-weight:800;margin:0}
.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.feature-icon{width:52px;height:52px;border-radius:16px;background:var(--blue-soft);color:var(--navy);display:grid;place-items:center;font-size:1.4rem;margin-bottom:17px}
.feature-card:nth-child(2) .feature-icon{background:var(--green-soft);color:var(--green)}
.feature-card:nth-child(3) .feature-icon{background:var(--gold-soft);color:#8a681d}
.feature-card h3{margin:.2rem 0 .6rem;color:var(--navy-2)}
.feature-card p{color:var(--muted);font-size:.92rem;margin:0}

.timeline-simple{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;position:relative}
.timeline-simple::before{content:'';position:absolute;top:29px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--blue),var(--gold));opacity:.35}
.timeline-step{position:relative;text-align:center;padding:0 8px}
.timeline-step span{position:relative;z-index:2;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:#fff;border:2px solid var(--blue);color:var(--navy);font-weight:800;box-shadow:0 8px 18px rgba(6,59,143,.12)}
.timeline-step h3{font-size:.95rem;margin:.3rem 0;color:var(--navy-2)}
.timeline-step p{font-size:.78rem;color:var(--muted);margin:0}

.public-cta{padding:0 0 80px}
.public-cta__box{background:linear-gradient(135deg,var(--navy-3),var(--navy));border-radius:32px;color:#fff;padding:38px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;box-shadow:var(--shadow-md)}
.public-cta h2{margin:0 0 .4rem;font-size:clamp(1.6rem,3vw,2.5rem)}
.public-cta p{margin:0;color:#dceaff;max-width:740px}

.public-footer{background:#082c64;color:#fff;padding:48px 0 18px}
.public-footer__grid{display:grid;grid-template-columns:1.4fr .8fr 1fr .65fr;gap:32px;align-items:start}
.footer-brand{display:flex;align-items:center;gap:13px}
.footer-brand img{width:68px;height:68px;object-fit:contain}
.footer-brand strong{display:block;font-size:1.1rem}
.footer-brand span{display:block;color:#bfd4ef;font-size:.78rem;margin-top:4px}
.public-footer__grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:8px}
.public-footer__grid>div>strong{color:#f1cb72;margin-bottom:5px}
.public-footer a,.public-footer span{color:#c9d9ed;font-size:.82rem}
.footer-idealizer img{width:70px;filter:drop-shadow(0 8px 15px rgba(0,0,0,.15))}
.public-footer__bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:32px;padding-top:16px;display:flex;justify-content:space-between;gap:20px}
.whatsapp-float{position:fixed;right:20px;bottom:20px;width:62px;height:62px;z-index:120;filter:drop-shadow(0 10px 18px rgba(0,0,0,.25));transition:transform .2s ease}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.03)}

/* Forms and auth */
.auth-page{background:#edf4fc}
.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}
.auth-visual{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 15%,rgba(76,148,225,.35),transparent 38%),linear-gradient(145deg,#062d68,#073f92 58%,#0f69bd);color:#fff;padding:60px clamp(32px,6vw,90px);display:flex;align-items:center}
.auth-visual::before,.auth-visual::after{content:'';position:absolute;border-radius:50%;border:45px solid rgba(255,255,255,.05)}
.auth-visual::before{width:350px;height:350px;right:-160px;top:-150px}
.auth-visual::after{width:260px;height:260px;left:-130px;bottom:-120px}
.auth-visual__content{position:relative;z-index:3;max-width:680px}
.auth-brand-pair{display:flex;align-items:center;gap:16px;margin-bottom:48px}
.auth-brand-pair>img{width:88px;height:88px;object-fit:contain;background:#fff;border-radius:50%;padding:5px}
.auth-brand-pair .divider{width:1px;height:64px;background:rgba(255,255,255,.28)}
.auth-brand-pair>div:last-child{display:flex;align-items:center;gap:8px}
.auth-brand-pair small{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}
.auth-brand-pair>div:last-child img{width:70px;height:70px;object-fit:contain}
.auth-visual h1{font-size:clamp(2.2rem,4.8vw,4.5rem);line-height:1.05;letter-spacing:-.045em;margin:.45rem 0 1rem;text-wrap:balance}
.auth-visual p:not(.eyebrow){color:#dcecff;max-width:650px}
.auth-highlights{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.auth-highlights span{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16);padding:8px 12px;border-radius:999px;font-size:.78rem}
.auth-mascot{position:absolute;right:22px;bottom:-16px;width:235px;max-width:24vw;height:auto;z-index:2;filter:drop-shadow(0 18px 25px rgba(0,0,0,.28))}
.auth-panel{display:grid;place-items:center;padding:38px}
.auth-card{width:min(100%,520px);background:#fff;border:1px solid var(--line);border-radius:30px;padding:36px;box-shadow:var(--shadow-md)}
.auth-card h2{font-size:1.8rem;color:var(--navy-2);margin:0 0 .35rem}
.auth-card>.subtitle{margin:0 0 24px;color:var(--muted);font-size:.9rem}
.auth-back{display:inline-flex;align-items:center;gap:7px;color:var(--navy);font-size:.8rem;font-weight:700;margin-bottom:22px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-group{display:flex;flex-direction:column;gap:7px;min-width:0}
.form-group.full{grid-column:1/-1}
.form-group label{font-size:.78rem;font-weight:700;color:#3d4c65}
.form-control{width:100%;min-height:48px;border:1px solid #ccd9e9;border-radius:13px;background:#fbfdff;color:var(--ink);padding:12px 14px;outline:none;transition:border .18s ease,box-shadow .18s ease,background .18s ease}
.form-control:focus{border-color:#579ce2;background:#fff;box-shadow:0 0 0 4px rgba(68,143,220,.13)}
textarea.form-control{min-height:115px;resize:vertical}
.form-hint{font-size:.7rem;color:var(--muted)}
.field-error{font-size:.72rem;color:var(--red);font-weight:600}
.form-options{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:10px 0 18px}
.check-row{display:flex;align-items:flex-start;gap:9px;font-size:.76rem;color:#4c5970}
.check-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--navy)}
.auth-links{text-align:center;margin-top:20px;font-size:.8rem;color:var(--muted)}
.auth-links a{color:var(--navy);font-weight:700}
.password-wrap{position:relative}
.password-wrap .form-control{padding-right:50px}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:10px;background:var(--blue-soft);color:var(--navy)}

.alert{border-radius:15px;padding:13px 15px;margin-bottom:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-size:.84rem;border:1px solid transparent}
.alert button{border:0;background:transparent;color:inherit;font-size:1.2rem;line-height:1}
.alert-success{background:#ecf9f3;border-color:#bce8d4;color:#19684f}
.alert-error{background:#fff0f2;border-color:#f3c6cc;color:#98323d}
.alert-warning{background:#fff8e7;border-color:#efdcaa;color:#80601b}
.alert-info{background:#edf6ff;border-color:#c5def6;color:#1e5c96}

/* App shell */
.app-shell-body{background:#eff4fa;overflow-x:hidden}
.app-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}
.app-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#062f6f,#08285a);color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:90;overflow-y:auto}
.app-brand{display:flex;align-items:center;gap:12px;padding:3px 10px 22px;border-bottom:1px solid rgba(255,255,255,.11)}
.app-brand img{width:58px;height:58px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}
.app-brand strong{display:block;font-size:1.05rem}
.app-brand small{display:block;color:#c8daef;font-size:.82rem;margin-top:-2px}
.app-nav{display:flex;flex-direction:column;gap:7px;padding:20px 0}
.app-nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:13px;color:#d5e3f4;font-size:.86rem;font-weight:600;transition:background .18s ease,color .18s ease,transform .18s ease}
.app-nav a:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}
.app-nav a.is-active{background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.1));color:#fff;box-shadow:inset 3px 0 0 #f0ca6e}
.nav-icon{width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:.95rem}
.sidebar-helper{margin-top:auto;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:14px;display:flex;align-items:center;gap:9px;overflow:hidden}
.sidebar-helper img{width:64px;margin-left:-8px;margin-bottom:-18px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.22))}
.sidebar-helper p{margin:0;font-size:.72rem}
.sidebar-helper strong,.sidebar-helper span{display:block}
.sidebar-helper span{color:#c9daed;margin-top:3px}
.app-main-wrap{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.app-topbar{height:78px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:80}
.app-menu-toggle{display:none;border:0;background:var(--blue-soft);color:var(--navy);width:43px;height:43px;border-radius:12px;margin-right:14px;font-size:1.15rem}
.app-topbar__title{display:flex;flex-direction:column}
.app-topbar__title small{font-size:.65rem;text-transform:uppercase;letter-spacing:.11em;color:var(--gold);font-weight:800}
.app-topbar__title strong{font-size:1.08rem;color:var(--navy-2)}
.app-user-menu{margin-left:auto;position:relative}
.app-user-trigger{display:flex;align-items:center;gap:10px;background:transparent;border:0;border-radius:14px;padding:6px 8px;color:var(--ink)}
.app-user-trigger:hover{background:var(--blue-soft)}
.avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:grid;place-items:center;font-weight:800}
.user-label{text-align:left}
.user-label strong,.user-label small{display:block;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-label strong{font-size:.82rem}
.user-label small{font-size:.66rem;color:var(--muted)}
.app-user-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:180px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:7px;box-shadow:var(--shadow-md);display:none}
.app-user-menu.is-open .app-user-dropdown{display:flex;flex-direction:column}
.app-user-dropdown a{padding:10px 11px;border-radius:9px;font-size:.78rem;font-weight:600}
.app-user-dropdown a:hover{background:var(--blue-soft);color:var(--navy)}
.app-content{width:min(calc(100% - 52px),1320px);margin:0 auto;padding:30px 0 60px;flex:1}
.app-footer{display:flex;justify-content:space-between;gap:16px;padding:16px 28px;border-top:1px solid var(--line);color:var(--muted);font-size:.7rem;background:#fff}
.mobile-bottom-nav{display:none}

.dashboard-welcome{display:grid;grid-template-columns:1fr auto;gap:24px;background:linear-gradient(135deg,#fff,#f5f9ff);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow-sm);margin-bottom:22px;position:relative;overflow:hidden}
.dashboard-welcome::after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;right:-120px;top:-140px;border:38px solid rgba(23,115,209,.06)}
.dashboard-welcome h1{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.15;margin:0 0 .55rem;color:var(--navy-2);text-wrap:balance}
.dashboard-welcome p{margin:0;color:var(--muted);max-width:740px}
.dashboard-welcome__actions{display:flex;align-items:center;gap:10px;position:relative;z-index:2}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}
.kpi-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-sm);min-width:0}
.kpi-icon{width:50px;height:50px;border-radius:15px;background:var(--blue-soft);color:var(--navy);display:grid;place-items:center;font-size:1.2rem;flex:none}
.kpi-card:nth-child(2) .kpi-icon{background:var(--green-soft);color:var(--green)}
.kpi-card:nth-child(3) .kpi-icon{background:var(--gold-soft);color:#896819}
.kpi-card:nth-child(4) .kpi-icon{background:#f2eefe;color:#6d54ac}
.kpi-card strong{display:block;font-size:1.55rem;color:var(--navy-2);line-height:1.1;overflow:hidden;text-overflow:ellipsis}
.kpi-card small{display:block;color:var(--muted);font-size:.7rem;margin-top:3px}
.dashboard-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}
.dashboard-grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}
.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-sm);min-width:0}
.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.panel-header h2{margin:0;font-size:1.03rem;color:var(--navy-2)}
.panel-header a{font-size:.72rem;color:var(--navy);font-weight:700}
.empty-state{text-align:center;padding:28px 14px;color:var(--muted)}
.empty-state .empty-icon{width:64px;height:64px;border-radius:20px;background:var(--blue-soft);display:grid;place-items:center;margin:0 auto 12px;color:var(--navy);font-size:1.5rem}
.empty-state h3{margin:.3rem 0;color:var(--navy-2);font-size:1rem}
.empty-state p{font-size:.8rem;max-width:460px;margin:.35rem auto 1rem}
.attention-list{display:flex;flex-direction:column;gap:10px}
.attention-item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:15px;padding:12px 13px}
.attention-dot{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px var(--gold-soft)}
.attention-item strong{font-size:.8rem;display:block}
.attention-item small{font-size:.68rem;color:var(--muted)}
.attention-item span:last-child{margin-left:auto;color:var(--muted);font-size:.76rem}

.data-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap}
.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:0 12px;min-width:min(100%,340px)}
.search-box input{border:0;background:transparent;min-height:44px;width:100%;outline:0}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:17px;background:#fff}
.data-table{width:100%;border-collapse:collapse;min-width:760px}
.data-table th,.data-table td{padding:13px 14px;text-align:left;border-bottom:1px solid #edf1f6;font-size:.76rem;vertical-align:middle}
.data-table th{background:#f7faff;color:#506078;text-transform:uppercase;letter-spacing:.045em;font-size:.65rem}
.data-table tr:last-child td{border-bottom:0}
.table-user{display:flex;align-items:center;gap:10px}
.table-avatar{width:36px;height:36px;border-radius:11px;background:var(--blue-soft);color:var(--navy);display:grid;place-items:center;font-weight:800;flex:none}
.table-user strong,.table-user small{display:block}
.table-user strong{font-size:.78rem}
.table-user small{font-size:.65rem;color:var(--muted)}
.status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;font-size:.64rem;font-weight:700;white-space:nowrap}
.status-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.status-badge.is-success{background:var(--green-soft);color:#23765e}
.status-badge.is-warning{background:#fff5dd;color:#8b691a}
.status-badge.is-danger{background:var(--red-soft);color:#a23844}
.status-badge.is-neutral{background:#edf1f6;color:#647086}
.row-actions{display:flex;gap:6px}
.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;place-items:center;color:var(--navy)}
.icon-button:hover{background:var(--blue-soft)}
.pagination{display:flex;justify-content:flex-end;gap:6px;margin-top:16px}
.pagination a,.pagination span{min-width:36px;height:36px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;font-size:.72rem;background:#fff}
.pagination .current{background:var(--navy);color:#fff;border-color:var(--navy)}

.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}
.page-heading h1{margin:0;color:var(--navy-2);font-size:1.8rem}
.page-heading p{margin:.3rem 0 0;color:var(--muted);font-size:.83rem}
.form-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow-sm)}
.form-section{padding:3px 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.form-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.form-section h2{font-size:1rem;color:var(--navy-2);margin:0 0 5px}
.form-section>p{font-size:.74rem;color:var(--muted);margin:0 0 16px}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}

.course-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm)}
.course-cover{height:130px;background:linear-gradient(135deg,var(--navy-2),var(--blue));padding:20px;color:#fff;position:relative;overflow:hidden}
.course-cover::after{content:'';position:absolute;width:150px;height:150px;border:28px solid rgba(255,255,255,.08);border-radius:50%;right:-48px;top:-62px}
.course-cover small{opacity:.76}
.course-cover h3{font-size:1.08rem;margin:.35rem 0;max-width:80%;position:relative;z-index:2}
.course-body{padding:17px}
.course-meta{display:flex;justify-content:space-between;gap:10px;font-size:.67rem;color:var(--muted);margin-bottom:12px}
.course-progress{height:7px;border-radius:999px;background:#e6edf6;overflow:hidden}
.course-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--green));width:0}
.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}

.memory-message{display:flex;align-items:center;gap:15px;background:linear-gradient(135deg,#eef7ff,#fff9e9);border:1px solid #dce9f5;border-radius:22px;padding:16px 20px;margin-bottom:20px;overflow:hidden}
.memory-message img{width:78px;align-self:flex-end;margin-bottom:-18px;filter:drop-shadow(0 8px 10px rgba(23,76,127,.18))}
.memory-message strong{display:block;color:var(--navy-2);font-size:.9rem}
.memory-message p{margin:3px 0 0;color:var(--muted);font-size:.76rem}

/* Responsive */
@media(max-width:1120px){
  .public-header__inner{gap:14px}
  .brand-lockup{min-width:auto}
  .brand-lockup span{display:none}
  .public-nav{gap:14px}
  .idealizer-lockup{padding-left:12px}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .course-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){
  .public-header__inner{min-height:76px}
  .public-menu-toggle{display:block}
  .public-nav{position:fixed;left:16px;right:16px;top:84px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:20px;padding:16px;display:none;flex-direction:column;align-items:stretch;gap:3px}
  .public-nav.is-open{display:flex}
  .public-nav>a:not(.btn){padding:11px 12px;border-radius:10px}
  .public-nav>a:not(.btn):hover{background:var(--blue-soft)}
  .public-nav>a:not(.btn)::after{display:none}
  .idealizer-lockup small{display:none}
  .idealizer-lockup{border:0;padding:0}
  .idealizer-lockup img{width:52px;height:52px}
  .hero-public__grid{grid-template-columns:1fr}
  .hero-visual{min-height:430px}
  .feature-cards{grid-template-columns:1fr}
  .timeline-simple{grid-template-columns:1fr 1fr}
  .timeline-simple::before{display:none}
  .public-footer__grid{grid-template-columns:1fr 1fr}
  .auth-layout{grid-template-columns:1fr}
  .auth-visual{min-height:380px;padding:42px 30px}
  .auth-mascot{width:170px;right:8px}
  .app-shell{grid-template-columns:1fr}
  .app-sidebar{position:fixed;left:-290px;top:0;width:270px;transition:left .22s ease;box-shadow:0 0 60px rgba(0,0,0,.25)}
  .app-sidebar.is-open{left:0}
  .app-menu-toggle{display:block}
  .app-content{width:min(calc(100% - 32px),1320px)}
  .dashboard-grid,.dashboard-grid.equal{grid-template-columns:1fr}
  .user-label{display:none}
}

@media(max-width:680px){
  .container{width:min(calc(100% - 24px),var(--container))}
  .public-header__inner{min-height:70px}
  .brand-lockup img{width:55px;height:55px}
  .idealizer-lockup img{width:48px;height:48px}
  .hero-public{padding:44px 0 34px}
  .hero-copy h1{font-size:2.45rem}
  .hero-visual{min-height:365px}
  .hero-dashboard-card{padding:17px;border-radius:25px}
  .mock-grid{grid-template-columns:1fr 1fr}
  .mock-grid .mock-mini:last-child{grid-column:1/-1}
  .hero-mascot{width:110px;right:-7px;bottom:-16px}
  .hero-orb{width:280px;height:280px}
  .section{padding:56px 0}
  .timeline-simple{grid-template-columns:1fr}
  .timeline-step{display:grid;grid-template-columns:54px 1fr;text-align:left;column-gap:13px;align-items:start}
  .timeline-step span{grid-row:1/3;width:50px;height:50px;margin:0}
  .timeline-step h3{margin:.2rem 0 .2rem}
  .public-cta__box{grid-template-columns:1fr;padding:26px;border-radius:24px}
  .public-footer__grid{grid-template-columns:1fr}
  .public-footer__bottom{flex-direction:column}
  .auth-visual{display:none}
  .auth-panel{min-height:100vh;padding:18px}
  .auth-card{padding:25px 20px;border-radius:24px}
  .form-grid{grid-template-columns:1fr}
  .form-group.full{grid-column:auto}
  .form-options{align-items:flex-start;flex-direction:column}
  .app-topbar{height:68px;padding:0 14px}
  .app-topbar__title strong{font-size:.92rem}
  .app-content{width:min(calc(100% - 24px),1320px);padding:20px 0 94px}
  .app-footer{display:none}
  .mobile-bottom-nav{display:grid;position:fixed;left:10px;right:10px;bottom:10px;z-index:85;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:20px;padding:6px;box-shadow:0 16px 45px rgba(13,43,82,.22)}
  .mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:50px;border-radius:14px;color:#6d788d}
  .mobile-bottom-nav a.is-active{background:var(--blue-soft);color:var(--navy)}
  .mobile-bottom-nav span{font-size:1rem}
  .mobile-bottom-nav small{font-size:.58rem;font-weight:700}
  .dashboard-welcome{grid-template-columns:1fr;padding:22px}
  .dashboard-welcome__actions{align-items:stretch;flex-direction:column}
  .dashboard-welcome__actions .btn{width:100%}
  .kpi-grid{grid-template-columns:1fr 1fr;gap:10px}
  .kpi-card{padding:14px;gap:10px}
  .kpi-icon{width:42px;height:42px}
  .kpi-card strong{font-size:1.25rem}
  .page-heading{flex-direction:column}
  .page-heading .btn{width:100%}
  .course-grid{grid-template-columns:1fr}
  .panel,.form-card{padding:17px;border-radius:19px}
  .data-toolbar{align-items:stretch;flex-direction:column}
  .search-box{min-width:100%}
  .table-wrap{border:0;background:transparent;overflow:visible}
  .data-table,.data-table thead,.data-table tbody,.data-table th,.data-table td,.data-table tr{display:block;min-width:0}
  .data-table thead{display:none}
  .data-table tr{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:11px;padding:8px;box-shadow:var(--shadow-sm)}
  .data-table td{border:0;padding:8px 9px;display:flex;justify-content:space-between;gap:12px;align-items:center}
  .data-table td::before{content:attr(data-label);font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
  .data-table td:first-child{display:block}
  .data-table td:first-child::before{display:none}
  .row-actions{justify-content:flex-end;width:100%}
  .memory-message{padding:13px 15px}
  .memory-message img{width:62px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* Essência Capacita v0.5 — gestão operacional */
.management-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.management-tabs a{padding:10px 14px;border-radius:12px;color:var(--navy-2);font-weight:700;font-size:.82rem}
.management-tabs a:hover,.management-tabs a.is-active{background:var(--blue-soft);color:var(--blue)}
.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.summary-grid>div{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.summary-grid small{display:block;color:var(--muted);font-size:.72rem;margin-bottom:4px}
.summary-grid strong{display:block;color:var(--navy-2);font-size:.94rem;overflow-wrap:anywhere}
.summary-grid.compact{grid-template-columns:repeat(3,minmax(105px,1fr));min-width:min(440px,100%)}
.attention-item.is-selected{background:var(--blue-soft);border-color:#b8d9ff}
.inline-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.form-control.compact{padding:8px 10px;min-height:38px;font-size:.76rem;width:auto;max-width:155px}
.grade-input{max-width:76px!important}
.learning-stack{display:grid;gap:20px}
.learning-module{overflow:hidden}
.lesson-list{display:grid;gap:12px}
.lesson-card{position:relative;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}
.lesson-card__head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.lesson-card__head h3{margin:0;color:var(--navy-2);font-size:1rem}
.lesson-card__head small{display:block;color:var(--muted);margin-top:3px}
.lesson-state{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:12px;background:var(--blue-soft);color:var(--blue);font-weight:800}
.lesson-state.is-done{background:#e3f8ef;color:#13845f}
.lesson-content{padding:14px 0;color:var(--text);line-height:1.75;font-size:.88rem}
.lesson-action{margin-top:12px}
.course-progress.large{height:12px;max-width:560px;margin:12px 0}
.course-welcome{align-items:center}
.empty-state.small{padding:20px}
.option-editor{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;margin:8px 0}
.question-options[hidden]{display:none!important}
.assessment-form{display:grid;gap:18px;margin-top:20px}
.question-card{display:grid;grid-template-columns:48px 1fr;gap:16px}
.question-card>.answer-options,.question-card>.form-control,.question-card>.submitted-answer,.question-card>.form-grid{grid-column:1/-1}
.question-number{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--blue-soft);color:var(--blue);font-weight:800}
.question-card h2{font-size:1.05rem;color:var(--navy-2);margin:0 0 4px}
.answer-options{display:grid;gap:10px}
.answer-option{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:14px;cursor:pointer;background:#fff}
.answer-option:hover{border-color:#9fc9ff;background:var(--blue-soft)}
.answer-option input{margin-top:3px}
.submitted-answer{padding:14px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line)}
.submitted-answer p{margin:6px 0 0;white-space:pre-wrap}
.result-panel{text-align:center;padding:32px;margin-bottom:20px}
.result-panel h2{color:var(--navy-2);margin:12px 0}
.result-grade{font-size:3rem;font-weight:800;color:var(--blue);margin:0}
@media(max-width:900px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid.compact{min-width:0}.course-welcome{display:block}.question-card{grid-template-columns:40px 1fr}}
@media(max-width:600px){.management-tabs{overflow-x:auto;flex-wrap:nowrap;padding:6px}.management-tabs a{white-space:nowrap}.summary-grid,.summary-grid.compact{grid-template-columns:1fr 1fr}.inline-form{align-items:stretch}.form-control.compact{max-width:none;width:100%}.question-card{grid-template-columns:36px 1fr;padding:16px}.question-number{width:34px;height:34px;border-radius:11px}.row-actions{flex-wrap:wrap}}

/* v0.6 - certificados operacionais */
.certificate-criteria{display:flex;flex-wrap:wrap;gap:6px}.certificate-criteria .status-badge{white-space:nowrap}.panel-header>div>p{margin:.3rem 0 0;color:var(--muted);font-size:.84rem}.row-actions form{display:inline-flex}

/* Essência Capacita v0.7 — certificado premium */
.form-grid.two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.check-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #d7e1ee;border-radius:16px;background:#f8fbff;cursor:pointer}.check-card input{margin-top:4px}.check-card span{display:flex;flex-direction:column;gap:4px}.check-card strong{color:#0b376f}.check-card small{color:#65768d;line-height:1.4}.certificate-issue-form{display:grid;gap:8px;min-width:240px}.certificate-issue-form .form-control{min-width:220px}.certificate-issue-form .btn{width:100%}@media(max-width:760px){.form-grid.two-cols{grid-template-columns:1fr}.certificate-issue-form{min-width:0}.certificate-issue-form .form-control{min-width:0;width:100%}}

/* Essência Capacita v0.8 - relatórios PDF administrativos */
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.admin-card{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.admin-card__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--blue-soft);color:var(--blue);font-size:1.35rem;font-weight:800}
.admin-card__body h3{margin:0;color:var(--navy-2);font-size:.98rem}
.admin-card__body p{margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}
.attention-item>.row-actions{width:auto;flex-wrap:nowrap}
@media(max-width:980px){.admin-grid{grid-template-columns:1fr}.admin-card{grid-template-columns:48px 1fr auto}}
@media(max-width:640px){.admin-card{grid-template-columns:44px 1fr}.admin-card__icon{width:44px;height:44px}.admin-card>.btn{grid-column:1/-1;width:100%}.attention-item>.row-actions{width:100%;justify-content:flex-end}}

/* Essência Capacita v0.9 — comunicações operacionais */
.nav-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e4efff;color:#0a4aa8;display:grid;place-items:center;font-size:.66rem}.app-nav a.is-active .nav-badge{background:#fff;color:var(--blue)}
.topbar-notices{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:1.05rem}.topbar-notices:hover{background:var(--blue-soft)}.topbar-notices strong{position:absolute;right:-4px;top:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#d43d52;color:#fff;font-size:.62rem;display:grid;place-items:center;border:2px solid #fff}
.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-actions form{display:inline-flex}.compact-panel{margin-bottom:18px}.compact-panel .inline-form{align-items:stretch}.compact-panel .form-control{min-width:260px}
.communication-compose .form-actions,.communication-layout .form-actions{margin-top:22px}.channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.variable-help{display:flex;gap:7px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:.74rem;margin-top:3px}.variable-help code{padding:4px 7px;border-radius:8px;background:#eef4fb;color:#124c8d;font-size:.69rem}.audience-field[hidden]{display:none!important}
.communication-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.template-list{display:grid;gap:12px}.template-card{display:flex;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.template-card.is-inactive{opacity:.68;background:#f6f8fb}.template-card h3{margin:8px 0 4px;color:var(--navy-2);font-size:.96rem}.template-card p{margin:0 0 7px;color:var(--muted);font-size:.78rem;line-height:1.5}.template-card small{color:var(--muted);font-size:.68rem}.template-card .row-actions{align-items:flex-start;flex-wrap:nowrap}
.channel-status-card{display:flex;gap:14px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft);margin-bottom:16px}.channel-symbol{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:15px;background:#e4f7ef;color:#177a5c;font-size:1.2rem}.channel-status-card strong{color:var(--navy-2)}.channel-status-card p{margin:6px 0 0;color:var(--muted);font-size:.8rem;line-height:1.55}.process-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.process-guide article{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.process-guide article>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:12px;background:var(--blue);color:#fff;font-weight:800}.process-guide strong{color:var(--navy-2)}.process-guide p{margin:4px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}
.communication-kpis{margin-bottom:18px}.campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.campaign-card{padding:17px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.campaign-card__top{display:flex;justify-content:space-between;gap:8px;align-items:center}.campaign-card__top small{color:var(--muted);font-size:.66rem}.campaign-card h3{margin:12px 0 6px;color:var(--navy-2);font-size:.95rem}.campaign-card p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}.campaign-meta{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 9px}.campaign-meta span,.campaign-channels span{font-size:.64rem;padding:5px 8px;border-radius:999px;background:#edf3fa;color:#4f6078}.campaign-channels{display:flex;gap:6px;flex-wrap:wrap}.campaign-card form{margin-top:10px}.btn-text{background:transparent;border:0;color:#9d3344;padding-left:0;padding-right:0}
.communication-filter{display:grid;grid-template-columns:minmax(240px,1fr) 180px 180px auto;gap:8px;margin-bottom:15px}.message-preview{max-width:420px}.message-preview summary{cursor:pointer;color:var(--navy-2);font-weight:600;font-size:.76rem}.message-preview p{white-space:normal;margin:10px 0 0;color:var(--text);font-size:.76rem;line-height:1.55}.table-sub{display:block;color:var(--muted);font-size:.63rem;margin-top:4px}.channel-pill{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:.65rem;font-weight:700;background:#edf2f8;color:#53657c}.channel-system{background:#e8f1ff;color:#0b4f9e}.channel-email{background:#efeafe;color:#6046a6}.channel-whatsapp{background:#e4f8ef;color:#157b58}.text-danger{color:#a23844}
.notice-summary{display:flex;gap:14px;align-items:center;padding:18px 20px;border:1px solid #cfe0f4;border-radius:18px;background:#f4f9ff;margin-bottom:18px}.notice-summary__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#dcecff;color:#0a4da2;font-size:1.25rem}.notice-summary strong{color:var(--navy-2)}.notice-summary p{margin:4px 0 0;color:var(--muted);font-size:.78rem}.notice-list{display:grid;gap:12px}.notice-card{display:grid;grid-template-columns:50px 1fr;gap:14px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.notice-card.is-unread{border-color:#a9cbee;background:#f8fbff;box-shadow:0 10px 28px rgba(18,75,140,.08)}.notice-card__icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#eaf2fc;color:#0a4d9e;font-size:1.2rem}.notice-card__top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.notice-card__top h2{font-size:1rem;margin:8px 0 0;color:var(--navy-2)}.notice-card__top time{font-size:.68rem;color:var(--muted);white-space:nowrap}.notice-card__body>p{margin:12px 0;color:var(--text);font-size:.83rem;line-height:1.65}
.icon-button.is-danger{color:#a23844;background:#fff0f2}.alert-info{background:#edf6ff;color:#28587f;border:1px solid #cce2f5}
@media(max-width:1100px){.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.communication-filter{grid-template-columns:1fr 1fr}.communication-filter input[type=search]{grid-column:1/-1}.communication-filter .btn{width:100%}}
@media(max-width:900px){.channel-grid,.process-guide{grid-template-columns:1fr}.communication-layout{grid-template-columns:1fr}.campaign-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.topbar-notices{width:38px;height:38px}.compact-panel .inline-form{display:grid}.compact-panel .form-control{min-width:0;width:100%}.campaign-grid{grid-template-columns:1fr}.communication-filter{grid-template-columns:1fr}.communication-filter input[type=search]{grid-column:auto}.template-card{display:grid}.template-card .row-actions{justify-content:flex-end}.notice-card{grid-template-columns:38px 1fr;padding:15px}.notice-card__icon{width:38px;height:38px;border-radius:12px}.notice-card__top{display:block}.notice-card__top time{display:block;margin-top:7px}.channel-grid .check-card{padding:14px}.page-actions{width:100%}.page-actions .btn{flex:1}.page-actions form{flex:1}.page-actions form .btn{width:100%}}

/* Essência Capacita V1.0 — automações, PWA, acessibilidade e segurança */
:root{--user-font-scale:1}
html{font-size:calc(16px * var(--user-font-scale))}
.topbar-tools{margin-left:auto;display:flex;align-items:center;gap:8px}.topbar-tool{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:800}.topbar-tool:hover{background:var(--blue-soft)}.app-user-menu{margin-left:10px}.pwa-install-button[hidden]{display:none!important}
.sidebar-overlay{display:none;position:fixed;inset:0;border:0;background:rgba(5,20,45,.46);z-index:85}.sidebar-overlay.is-visible{display:block}
.accessibility-panel{position:fixed;right:22px;top:86px;width:min(360px,calc(100vw - 28px));background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-md);z-index:160;padding:16px}.accessibility-panel[hidden]{display:none}.accessibility-panel__header{display:flex;align-items:center;justify-content:space-between;color:var(--navy-2);padding:2px 4px 12px}.accessibility-close{width:34px;height:34px;border:0;border-radius:10px;background:var(--blue-soft);color:var(--navy);font-size:1.2rem}.accessibility-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.accessibility-actions button{min-height:52px;border:1px solid var(--line);border-radius:13px;background:#f8fbff;color:var(--navy);display:flex;align-items:center;gap:8px;padding:10px;font-weight:800}.accessibility-actions button span{font-size:.7rem;color:var(--muted);font-weight:600;text-align:left}.network-status{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:180;background:#7c321f;color:#fff;padding:11px 16px;border-radius:999px;box-shadow:var(--shadow-md);font-size:.76rem;font-weight:700}.network-status[hidden]{display:none}
.high-contrast{--background:#fff;--surface:#fff;--ink:#000;--muted:#222;--line:#000;--navy:#002e72;--navy-2:#001c4d;--blue:#004fbb;--blue-soft:#e7f0ff}.high-contrast body,.high-contrast .panel,.high-contrast .form-card,.high-contrast .course-card{border-color:#000}.high-contrast a{text-decoration-thickness:2px}.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}

.automation-kpis{margin-bottom:18px}.automation-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.filter-pills{display:flex;gap:6px;flex-wrap:wrap}.filter-pills a{padding:7px 10px;border-radius:999px;background:#edf3fa;color:#53657c;font-size:.68rem;font-weight:700}.filter-pills a.is-active{background:var(--navy);color:#fff}.automation-alert-list{display:grid;gap:11px}.automation-alert{display:grid;grid-template-columns:46px 1fr;gap:13px;padding:16px;border:1px solid var(--line);border-radius:17px;background:#fff}.automation-alert.is-critical{border-color:#efb4bd;background:#fff9fa}.automation-alert.is-warning{border-color:#ead8a0;background:#fffdf7}.automation-alert.is-info{border-color:#bfd9f2;background:#f8fbff}.automation-alert__symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eaf2fc;color:var(--navy);font-weight:800;font-size:1.1rem}.automation-alert.is-critical .automation-alert__symbol{background:var(--red-soft);color:var(--red)}.automation-alert.is-warning .automation-alert__symbol{background:#fff3d2;color:#80601b}.automation-alert__top{display:flex;justify-content:space-between;gap:12px}.automation-alert__top h3{margin:4px 0 0;color:var(--navy-2);font-size:.94rem}.automation-alert__top time{font-size:.65rem;color:var(--muted);white-space:nowrap}.category-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:800}.automation-alert__content>p{margin:8px 0;color:var(--muted);font-size:.78rem;line-height:1.55}.automation-alert__actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.automation-alert__actions form{display:inline-flex}.automation-settings{display:grid;gap:14px}.panel-divider{height:1px;background:var(--line);margin:22px 0}.run-list{display:grid;gap:10px}.run-list>div{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.run-list>div:last-child{border:0}.run-list strong{font-size:.75rem;color:var(--navy-2)}.run-list small{grid-column:2;color:var(--muted);font-size:.65rem}.attention-dot.is-critical{background:var(--red);box-shadow:0 0 0 5px var(--red-soft)}

.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.health-grid article{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}.health-grid span,.health-grid strong{display:block}.health-grid span{font-size:.64rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.health-grid strong{font-size:.86rem;color:var(--navy-2);margin-top:4px}.health-grid article::before{content:'●';font-size:.7rem;float:right}.health-grid .is-ok::before{color:var(--green)}.health-grid .is-warning::before{color:#b28723}.health-grid .is-error::before{color:var(--red)}.security-settings{display:grid;gap:15px}.request-list{display:grid;gap:12px}.request-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.request-card h3{margin:8px 0 2px;color:var(--navy-2)}.request-card p{margin:0;color:var(--muted);font-size:.75rem}.request-card blockquote{margin:12px 0 0;padding:12px 14px;border-left:3px solid var(--blue);background:var(--blue-pale);font-size:.76rem}.request-response{display:grid;gap:8px}.request-response textarea{min-height:82px}.privacy-rights-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.privacy-rights-grid article{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}.privacy-rights-grid strong{color:var(--navy-2)}.privacy-rights-grid p{margin:5px 0 0;color:var(--muted);font-size:.75rem}.password-change-card{max-width:860px}

.temporary-credential{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:18px;border:1px solid #b8ddca;border-radius:18px;background:#effaf5}.temporary-credential span,.temporary-credential strong,.temporary-credential small{display:block}.temporary-credential span{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--green);font-weight:800}.temporary-credential strong{font-size:1.2rem;color:var(--navy-2);margin:4px 0}.temporary-credential small{color:var(--muted);font-size:.7rem}.simulation-profile{display:flex;gap:16px;align-items:flex-start}.simulation-avatar{width:68px;height:68px;flex:0 0 68px;border-radius:20px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:grid;place-items:center;font-size:1.7rem;font-weight:800}.simulation-profile h3{margin:0;color:var(--navy-2)}.simulation-profile p{margin:3px 0 12px;color:var(--muted);font-size:.78rem}.simulation-profile dl{display:flex;gap:18px;flex-wrap:wrap;margin:0}.simulation-profile dl div{display:grid;gap:2px}.simulation-profile dt{font-size:.62rem;text-transform:uppercase;color:var(--muted)}.simulation-profile dd{margin:0;font-size:.74rem;font-weight:700}.simulation-steps{display:grid;gap:9px;padding-left:24px;color:var(--muted);font-size:.78rem}.simulation-steps li::marker{color:var(--blue);font-weight:800}

@media(max-width:1050px){.automation-layout,.security-layout{grid-template-columns:1fr}.request-card{grid-template-columns:1fr}.health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.topbar-tools{margin-left:auto}.app-user-menu{margin-left:6px}}
@media(max-width:680px){.accessibility-panel{right:14px;top:76px}.accessibility-actions{grid-template-columns:1fr}.topbar-tool{width:38px;height:38px}.topbar-tools{gap:5px}.app-topbar{padding:0 14px}.health-grid,.privacy-rights-grid{grid-template-columns:1fr}.automation-alert{grid-template-columns:38px 1fr;padding:14px}.automation-alert__symbol{width:38px;height:38px}.automation-alert__top{display:block}.automation-alert__top time{display:block;margin-top:5px}.temporary-credential{display:grid}.temporary-credential .btn{width:100%}.simulation-profile{display:grid}.request-card{padding:14px}}
