@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@300;400;500;600;700&display=swap");:root{--bg:#f6f3ef;--card:#fff;--ink:#241d19;--ink-2:#4a413b;--muted:#8f847b;--line:#ece6de;--brand:#6b4e3d;--brand-2:#a07b5b;--brand-deep:#241b16;--brand-deeper:#1a130f;--accent:#c8a882;--ok:#2e7d5b;--ok-bg:#e9f4ee;--bad:#b23b3b;--bad-bg:#fbecec;--warn:#b07b1e;--warn-bg:#fdf3e0;--bronze:#a97142;--prata:#8c9196;--ouro:#c9a227;--platina:#5b6b74;--semcat:#b7aea7;--shadow-sm:0 1px 2px rgba(36,27,22,.04);--shadow:0 1px 2px rgba(36,27,22,.05),0 10px 28px -14px rgba(36,27,22,.14);--shadow-lg:0 14px 44px -14px rgba(36,27,22,.22);--radius:16px;--sidebar-w:244px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--font-display:"Fraunces",Georgia,"Times New Roman",serif;--ease:cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--ink);font-size:14.5px;line-height:1.55;letter-spacing:-.005em}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#fff}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:linear-gradient(180deg,var(--brand-deep) 0,var(--brand-deeper) 100%);color:#e9e2d8;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar .logo{padding:26px 22px 20px;border-bottom:1px solid hsla(35,28%,88%,.08)}.sidebar .logo img{width:150px;display:block}.sidebar .logo small{display:block;margin-top:6px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:hsla(35,28%,88%,.45)}.sidebar nav{padding:14px 12px;display:flex;flex-direction:column;gap:2px;flex:1 1}.sidebar nav .sec{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:hsla(35,28%,88%,.35);padding:14px 12px 6px}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;font-size:13.5px;font-weight:500;color:hsla(35,28%,88%,.72);transition:background .15s,color .15s}.nav-item svg{width:17px;height:17px;flex-shrink:0;opacity:.75}.nav-item:hover{background:hsla(35,28%,88%,.07);color:#fff}.nav-item.active{background:hsla(33,39%,65%,.16);color:#f2ead9;box-shadow:inset 2.5px 0 0 var(--accent)}.nav-item.active svg{opacity:1}.sidebar .foot{padding:16px 18px;border-top:1px solid hsla(35,28%,88%,.08);font-size:12px;color:hsla(35,28%,88%,.55)}.sidebar .foot .who{display:flex;align-items:center;gap:10px;margin-bottom:10px}.sidebar .foot .avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--brand-deep);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.sidebar .foot .who div b{display:block;color:#e9e2d8;font-size:12px;font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .foot .who div span{font-size:10.5px;text-transform:capitalize}.sidebar .foot a{color:hsla(35,28%,88%,.55);display:inline-flex;align-items:center;gap:6px}.sidebar .foot a:hover{color:#fff}.main{flex:1 1;min-width:0;display:flex;flex-direction:column}.m-overlay,.m-top{display:none}.m-burger{display:inline-flex;flex-direction:column;gap:4px;background:none;border:0;cursor:pointer;padding:6px}.m-burger span{width:22px;height:2px;background:#e9e2d8;display:block;border-radius:2px}.content{padding:30px 34px;max-width:1240px;width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head h1{font-family:var(--font-display);font-size:27px;font-weight:600;letter-spacing:-.01em;margin:0}.page-head .sub{color:var(--muted);font-size:13px;margin-top:3px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.card.flush{padding:0;overflow:hidden}.card.flush .card-pad{padding:18px 22px}.card h2{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.01em;text-transform:none;color:var(--ink);margin:0 0 14px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.card-head .h{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:0}.card-head .d{color:var(--muted);font-size:12.5px;margin-top:2px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}.grid{display:grid;grid-gap:16px;gap:16px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.dash{grid-template-columns:1.1fr .9fr}@media(max-width:1040px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.dash{grid-template-columns:1fr}}@media(max-width:680px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.content{padding:20px 16px}}.kpi-card{display:flex;flex-direction:column;gap:12px;padding:20px 22px}.kpi-top{justify-content:space-between}.kpi-ico,.kpi-top{display:flex;align-items:center}.kpi-ico{width:36px;height:36px;border-radius:10px;justify-content:center;background:#f4ede5;color:var(--brand)}.kpi-ico svg{width:18px;height:18px}.kpi-val{font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1}.kpi-lbl{font-size:12.5px;color:var(--muted);font-weight:500}.kpi-card.alert .kpi-ico{background:var(--bad-bg);color:var(--bad)}.kpi-card.gold .kpi-ico{background:#f8f1df;color:var(--ouro)}.kpi-card.ok .kpi-ico{background:var(--ok-bg);color:var(--ok)}table{width:100%;border-collapse:collapse;font-size:13.5px}td,th{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover{background:#faf7f3}td .sub{display:block;font-size:11.5px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;color:#fff;white-space:nowrap}.badge.bronze{background:var(--bronze)}.badge.prata{background:var(--prata)}.badge.ouro{background:var(--ouro)}.badge.platina{background:var(--platina)}.badge.sem_categoria{background:var(--semcat)}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600}.chip.carencia{background:var(--bad-bg);color:var(--bad)}.chip.ativa{background:var(--ok-bg);color:var(--ok)}.chip.cancelada{background:var(--bad-bg);color:var(--bad)}.pos{color:var(--ok)}.neg,.pos{font-weight:600}.neg{color:var(--bad)}.muted{color:var(--muted)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}input,select,textarea{font-size:14px;height:42px;padding:0 13px;border-radius:11px;border:1px solid #ddd3c8;font-family:inherit;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}.field input,.field select,.field textarea,.form-grid input,.form-grid select,.form-grid textarea{width:100%}textarea{height:auto;min-height:84px;padding:11px 13px;resize:vertical;line-height:1.5}input::placeholder,textarea::placeholder{color:#b7ada3}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px rgba(160,123,91,.15)}button{font-size:14px;height:42px;padding:0 20px;border-radius:11px;border:none;background:var(--brand);color:#fff;cursor:pointer;font-weight:600;font-family:inherit;transition:background .18s var(--ease),transform .05s}button:hover{background:#5a4132}button:active{transform:translateY(1px)}.btn-ghost{background:#fff;color:var(--brand);border:1px solid #ddd3c8;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-ghost:hover{background:#f4ede5;border-color:var(--brand-2)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 16px;gap:14px 16px}.form-grid .field{margin:0}.field.full{grid-column:1/-1}.field .hint{font-size:11.5px;color:var(--muted);font-weight:400}.actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}.chart-wrap{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.legend{flex-direction:column;min-width:170px;flex:1 1}.legend,.legend .li{display:flex;gap:9px}.legend .li{align-items:center;font-size:12.5px}.legend .dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}.legend .li b{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hbar-row{display:grid;grid-template-columns:minmax(110px,1.1fr) 3fr auto;align-items:center;grid-gap:12px;gap:12px;padding:7px 0;font-size:12.5px}.hbar-track{height:9px;border-radius:99px;background:#f0eae2;overflow:hidden}.hbar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand-2),var(--accent))}.hbar-row b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12.5px}.bars{display:flex;align-items:flex-end;gap:14px;height:170px;padding-top:8px}.bar-col{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.bar-duo{display:flex;gap:4px;align-items:flex-end;width:100%;justify-content:center;flex:1 1}.bar{width:100%;max-width:26px;border-radius:6px 6px 3px 3px;min-height:3px}.bar.ganho{background:linear-gradient(180deg,var(--brand-2),var(--brand))}.bar.abatido{background:#e3d2c0}.bar-lbl{font-size:11px;color:var(--muted);white-space:nowrap}.donut-center{font-size:22px;font-weight:700;letter-spacing:-.02em}.empty{padding:34px;text-align:center;color:var(--muted);font-size:13px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 700px at 75% -10%,#3a2b21 0,var(--brand-deep) 55%,var(--brand-deeper) 100%);padding:20px}.login-box{width:390px;max-width:94vw}.login-logo{text-align:center;margin-bottom:26px}.login-logo img{width:200px}.login-logo small{display:block;margin-top:8px;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:hsla(35,28%,88%,.55)}.login-card{background:var(--card);border-radius:18px;padding:30px 28px;box-shadow:var(--shadow-lg)}.tabs{display:flex;gap:6px;margin-bottom:20px;background:#f2ece5;padding:4px;border-radius:11px}.tabs button{flex:1 1;background:transparent;color:var(--ink-2);border-radius:8px;padding:9px}.tabs button:hover{background:hsla(0,0%,100%,.6)}.tabs button.active{background:#fff;color:var(--brand);box-shadow:var(--shadow-sm)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;font-weight:600;color:var(--ink-2)}.field input{width:100%}.msg{padding:11px 13px;border-radius:9px;font-size:13px;margin-top:12px}.msg.err{background:var(--bad-bg);color:var(--bad)}.msg.ok{background:var(--ok-bg);color:var(--ok)}.sit-expirado{color:var(--bad)}.sit-valido{color:var(--muted)}.topbar{background:var(--brand-deep);color:#e9e2d8;padding:0 22px;height:62px}.topbar,.topbar-in{display:flex;align-items:center}.topbar-in{max-width:1050px;width:100%;margin:0 auto;justify-content:space-between}.topbar img{width:130px;height:auto;display:block}.topbar .nav{display:flex;align-items:center;gap:16px;font-size:13px}.topbar .nav a{opacity:.85}.topbar .nav a:hover{opacity:1}.container{max-width:1050px;margin:0 auto;padding:28px 22px}.pager{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.pager .btns{display:flex;gap:8px}.pager a{padding:7px 13px;border-radius:8px;border:1px solid var(--line);font-weight:600;color:var(--brand);font-size:12.5px}.pager a:hover{background:#f4ede5}.clickable{cursor:pointer}.dim{opacity:.3}.bar,.dim,.hbar-fill,circle{transition:opacity .2s}.filter-bar{display:flex;flex-wrap:wrap;margin-bottom:16px;min-height:34px}.fchip,.filter-bar{gap:8px;align-items:center}.fchip{display:inline-flex;background:#efe6db;padding:6px 13px;border-radius:999px;font-size:12.5px;font-weight:600}.fchip,.fchip .x{color:var(--brand)}.fchip .x{background:none;border:none;padding:0 0 0 2px;font-size:15px;line-height:1;cursor:pointer;font-weight:700}.fchip .x:hover{color:var(--bad);background:none}.filter-hint{font-size:12px;color:var(--muted)}.limpar{background:none;border:none;color:var(--bad);font-size:12.5px;font-weight:600;cursor:pointer;padding:6px 10px}.limpar:hover{background:var(--bad-bg);border-radius:8px}.loading-fade{opacity:.45;pointer-events:none;transition:opacity .2s}.banner{display:flex;gap:12px;align-items:flex-start;border-radius:var(--radius);padding:16px 18px;margin-bottom:18px;font-size:13.5px}.banner.warn{background:var(--warn-bg);border:1px solid #efd9ac;color:#7a5a1a}.banner b{font-weight:700}.card.clickable,a.card{transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}.card.clickable:hover,a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#e0d6ca}.card{box-shadow:var(--shadow)}.kpi-val{font-feature-settings:"tnum" 1;letter-spacing:-.02em}.kpi-card{border-radius:var(--radius)}.num{font-feature-settings:"tnum" 1}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}tbody tr:hover{background:#faf6f1}th{color:#a89c90}button{transition:background .18s var(--ease),transform .05s,box-shadow .18s var(--ease);box-shadow:0 1px 1px rgba(36,27,22,.04)}button:hover{box-shadow:0 4px 14px -6px rgba(107,78,61,.5)}.badge{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.12)}.btn-ghost,.fchip,.nav-item,.pager a,.tabs button{transition:all .18s var(--ease)}.ftabs-top{max-width:560px;margin-bottom:20px}.ficha-title-mobile,.ftabs-bottom,.ftabs-spacer{display:none}@media(max-width:700px){.ftabs-top{display:none}.ficha-title-mobile{display:block;font-family:var(--font-display);font-size:19px;font-weight:600;margin:2px 0 14px}.ftabs-spacer{display:block;height:76px}.ftabs-bottom{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:35;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 22px -12px rgba(36,27,22,.22);justify-content:space-around;padding:6px 4px max(6px,env(safe-area-inset-bottom))}.ftabs-bottom button{border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;font-weight:600;padding:6px;flex:1 1;min-width:0}.ftabs-bottom button,.ftabs-bottom button:hover{background:none;box-shadow:none}.ftabs-bottom button svg{width:21px;height:21px}.ftabs-bottom button.active{color:var(--brand)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}.card.clickable:hover,a.card:hover{transform:none}}.curso-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:18px;gap:18px;align-items:start}body{overflow-x:clip}@media(max-width:1024px){.content{padding:24px 20px}.grid.cols-3{grid-template-columns:repeat(2,1fr)}.curso-grid{grid-template-columns:minmax(0,1fr) 280px}}@media(max-width:900px){.shell{display:block}.shell .m-top{display:flex;align-items:center;gap:14px;background:var(--brand-deep);color:#e9e2d8;padding:0 14px;height:56px;position:-webkit-sticky;position:sticky;top:0;z-index:40}.shell .m-top img{width:120px;height:auto;display:block}.shell .m-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:50}.sidebar{position:fixed;left:0;top:0;height:100vh;width:250px;z-index:60;transform:translateX(-100%);transition:transform .25s ease;box-shadow:0 0 40px rgba(0,0,0,.35)}.sidebar.aberto{transform:translateX(0)}.curso-grid{grid-template-columns:1fr}.page-head{align-items:flex-start}}@media(max-width:680px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.content{padding:18px 14px}.page-head h1{font-size:20px}.kpi-val{font-size:24px}.card{padding:16px}.card.flush .card-pad{padding:14px 16px}.pager{padding:12px 16px;flex-direction:column;gap:10px;align-items:flex-start}td,th{padding:9px 10px}.container{padding:20px 14px}}@media(max-width:480px){body{font-size:13.5px}.page-head h1{font-size:18px}.toolbar{flex-direction:column;align-items:stretch}.toolbar>*{width:100%!important;min-width:0!important;flex:1 1 auto!important}.kpi-val{font-size:22px}.card{padding:14px}}