:root{--bg: #ffffff;--bg-warm: #fff6ee;--bg-soft: #fafaf9;--ink: #2b1d10;--ink-2: #5a4636;--muted: #8b7967;--muted-2: #b5a594;--line: #ede6de;--line-2: #dcd1c5;--line-warm: #f0e2d2;--card: #ffffff;--accent: #e8622a;--accent-hover: #ce5322;--accent-deep: #b0431a;--ok: #1f7a4d;--ok-bg: #e8f5ee;--warn: #b57314;--warn-bg: #fef4e4;--danger: #a72e2b;--danger-bg: #fbeae9;--danger-border: #f1cfcd;--shadow: 0 2px 4px rgba(70, 45, 20, .05), 0 16px 48px rgba(70, 45, 20, .1);--nav-w: 264px;--header-h: 64px;--banner-h: 34px;color:var(--ink-2);background:var(--bg);font-family:Figtree,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-wrap:pretty}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink-2)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent-deep);text-decoration:none}a:hover{color:#8f3512;text-decoration:underline}code,.mono{font-family:JetBrains Mono,ui-monospace,monospace}.ms{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:20px;width:1.25em;height:1.25em;line-height:1.25em;letter-spacing:normal;text-transform:none;display:inline-block;overflow:hidden;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;flex-shrink:0;speak:never}html.fonts-pending .ms{color:transparent!important;visibility:hidden}.app-shell{min-height:100vh;background:var(--bg);color:var(--ink-2)}.mode-banner{display:flex;align-items:center;gap:10px;padding:0 24px;height:var(--banner-h);background:var(--ink);color:var(--bg-warm);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;position:sticky;top:0;z-index:40}.mode-banner .ms{font-size:16px;color:#fbac4f}.mode-banner .hint{color:var(--muted-2);text-transform:none;letter-spacing:0;font-weight:400;font-size:12.5px}.app-shell:not(.has-banner){--banner-h: 0px}.app-header{position:sticky;top:var(--banner-h);z-index:30;display:flex;align-items:center;gap:16px;height:var(--header-h);padding:0 24px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.app-header .logo{height:34px;width:auto;display:block;flex-shrink:0}.app-header .divider{width:1px;height:26px;background:var(--line);flex-shrink:0}.app-header .product{font-size:14.5px;font-weight:650;color:var(--ink);letter-spacing:-.01em;white-space:nowrap}.app-header .header-right{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0}.nav-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;margin:0;padding:0;border:1px solid var(--line-2);border-radius:12px;background:#fff;color:var(--ink);flex-shrink:0}.nav-toggle:hover{background:var(--bg-warm);border-color:var(--accent)}.nav-toggle .ms{font-size:22px;color:var(--ink-2)}.nav-backdrop{display:none}.env-pill{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line-2);border-radius:999px;padding:7px 12px 7px 14px;font-size:13.5px;font-weight:600;color:var(--ink)}.env-pill select{border:none;background:transparent;padding:0;font-weight:700;color:var(--ink);outline:none;cursor:pointer}.env-pill:hover{background:var(--bg-warm);border-color:var(--accent)}.health-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:var(--bg-soft);font-size:12.5px;color:var(--muted);font-weight:600}.health-pill b{color:var(--ink);font-weight:700}.body-row{display:flex;align-items:stretch;min-height:calc(100vh - var(--header-h) - var(--banner-h))}.sidebar{width:var(--nav-w);flex:none;border-right:1px solid var(--line);padding:20px 12px 24px;display:flex;flex-direction:column;gap:4px;position:sticky;top:calc(var(--header-h) + var(--banner-h));height:calc(100vh - var(--header-h) - var(--banner-h));overflow-y:auto;background:var(--bg)}.nav-section{margin:18px 0 6px 12px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}.nav-item{position:relative;display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:none;border-radius:12px;padding:10px 12px;color:var(--ink-2);font-size:14.5px;font-weight:550}.nav-item:hover{background:var(--bg-warm)}.nav-item.active{background:var(--bg-warm);color:var(--ink);font-weight:700}.nav-item.active .ms{color:var(--accent)}.nav-item .ms{font-size:20px;color:var(--muted)}.sidebar-foot{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.main{flex:1;min-width:0;padding:28px 40px 88px;max-width:1480px}.page-kicker{margin:0 0 6px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.page-title{margin:0;font-size:28px;line-height:1.15;font-weight:800;letter-spacing:-.025em;color:var(--ink)}.page-sub{margin:8px 0 0;font-size:14.5px;color:var(--ink-2);max-width:72ch}.panel{margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px}.panel+.panel{margin-top:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650;color:var(--ink)}label>span.hint,label .field-hint{font-weight:400;color:var(--muted);font-size:12.5px}input,select{border:1px solid var(--line-2);background:#fff;border-radius:12px;padding:12px 14px;color:var(--ink);outline:none;font-weight:400}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e8622a1f}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:12px;padding:12px 18px;background:var(--accent);color:#fff;font-weight:750;font-size:15px;text-decoration:none}.btn:hover{background:var(--accent-hover);text-decoration:none;color:#fff}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line-2);font-weight:700}.btn.secondary:hover{background:var(--bg-warm);border-color:var(--accent);color:var(--ink)}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover{background:#8e2724;color:#fff}.btn.danger:disabled{color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}.login-divider{display:flex;align-items:center;gap:12px;margin:20px 0 14px;color:var(--muted);font-size:12.5px;font-weight:650;text-transform:uppercase;letter-spacing:.06em}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--line)}.google-signin-block{display:flex;flex-direction:column;align-items:stretch}.google-signin-button{display:flex;justify-content:center;min-height:44px;width:100%}.google-signin-button>div{margin:0 auto}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:16px}.card{border:1px solid var(--line-warm);border-radius:14px;padding:14px 16px;background:#fff}.card .n{font-size:1.45rem;font-weight:750;font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:-.02em}.card .l{color:var(--muted);font-size:12.5px;margin-top:3px;font-weight:600}.table-wrap{overflow:auto;margin-top:14px;border:1px solid var(--line);border-radius:14px;background:#fff}table{width:100%;border-collapse:collapse;font-size:14px}table.table-courses{table-layout:fixed}table.table-courses th,table.table-courses td{vertical-align:middle}table.table-courses th:nth-child(1),table.table-courses td:nth-child(1){width:72px}table.table-courses th.col-enrolled,table.table-courses td.col-enrolled{width:96px;text-align:right;font-variant-numeric:tabular-nums}table.table-courses th.col-contemplado,table.table-courses td.col-contemplado{width:110px;text-align:right;font-variant-numeric:tabular-nums}table.table-courses th.col-classes,table.table-courses td.col-classes{width:72px;text-align:right;font-variant-numeric:tabular-nums}table.table-courses th.col-actions,table.table-courses td.col-actions{width:148px;text-align:right}table.table-courses td.col-actions .btn{width:100%;justify-content:center;padding-left:10px;padding-right:10px;white-space:nowrap}table.table-courses .course-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}th{background:var(--bg-soft);color:var(--muted);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase}td{color:var(--ink-2)}tr:last-child td{border-bottom:none}.tabs{display:flex;gap:6px;margin:16px 0 0;flex-wrap:wrap}.tab{border:1px solid var(--line-2);background:#fff;padding:8px 14px;border-radius:999px;color:var(--ink-2);font-weight:650;font-size:13.5px}.tab:hover{background:var(--bg-warm)}.tab.active{background:var(--ink);color:var(--bg-warm);border-color:var(--ink)}.screen-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:0 0 16px}.screen-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--line-warm);background:#fff;border-radius:14px;padding:12px 14px;color:var(--ink-2);cursor:pointer;font:inherit;min-height:68px}.screen-tab:hover{background:var(--bg-warm);border-color:var(--line-2)}.screen-tab.active{background:var(--bg-warm);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.screen-tab .ms{font-size:20px;color:var(--muted);margin-bottom:2px}.screen-tab.active .ms{color:var(--accent)}.screen-tab strong{font-size:13.5px;font-weight:750;color:var(--ink)}.screen-tab span.hint{font-size:12px;color:var(--muted);font-weight:500;line-height:1.3}.flow-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px}.flow-step{border:1px solid var(--line-warm);border-radius:14px;padding:14px 16px;background:var(--bg-soft)}.flow-step .n{font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}.flow-step p{margin:0 0 12px;font-size:13.5px;color:var(--ink-2);line-height:1.4}.flow-step .actions{margin:0}.build-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.build-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line-warm);border-radius:14px;padding:12px 14px;background:#fff}.build-item-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline}.build-item-meta strong{color:var(--ink)}.build-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.build-stat{font-size:12px;color:var(--muted);background:var(--bg-soft);border-radius:8px;padding:3px 8px;font-variant-numeric:tabular-nums}.build-stat b{color:var(--ink-2);font-weight:700}.rank-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.rank-panel{border:1px solid var(--line-warm);border-radius:14px;padding:14px 16px;background:#fff}.rank-panel h3{margin:0 0 10px;font-size:.95rem;color:var(--ink)}.rank-panel ol{margin:0;padding:0;list-style:none;counter-reset:rank}.rank-panel li{counter-increment:rank;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}.rank-panel li:last-child{border-bottom:none}.rank-panel li:before{content:counter(rank);width:24px;height:24px;border-radius:8px;background:var(--bg-warm);color:var(--ink-2);font-size:12px;font-weight:750;display:inline-flex;align-items:center;justify-content:center}.rank-panel .rank-val{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink);white-space:nowrap}.empresa-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.sheet-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;max-height:120px;overflow:auto;padding:2px}.sheet-tab{border:1px solid var(--line-2);background:#fff;padding:7px 12px;border-radius:10px;font-size:12.5px;font-weight:650;color:var(--ink-2);cursor:pointer}.sheet-tab:hover{background:var(--bg-warm)}.sheet-tab.active{background:var(--ink);color:var(--bg-warm);border-color:var(--ink)}.sev-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:8px;font-size:12px;font-weight:750}.sev-pill.alta{background:var(--danger-bg);color:var(--danger)}.sev-pill.media{background:var(--warn-bg);color:var(--warn)}.sev-pill.info{background:var(--bg-soft);color:var(--muted)}.empty-state{padding:28px 18px;text-align:center;border:1px dashed var(--line-2);border-radius:14px;background:var(--bg-soft);color:var(--muted)}.empty-state .ms{font-size:32px;color:var(--muted-2);display:block;margin-bottom:8px}.empty-state strong{display:block;color:var(--ink);margin-bottom:4px;font-size:15px}@media(max-width:900px){.flow-steps,.rank-panels,.build-item{grid-template-columns:1fr}}.progress{height:10px;background:var(--line);border-radius:999px;overflow:hidden;margin:10px 0}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#fbac4f)}.muted{color:var(--muted)}.ok{color:var(--ok)}.warn{color:var(--warn)}.danger{color:var(--danger)}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.pill{border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:#fff;font-size:12.5px;font-weight:650;color:var(--ink-2)}.log{max-height:180px;overflow:auto;font-size:12.5px;background:var(--ink);color:var(--bg-warm);border-radius:14px;padding:14px;margin-top:12px;font-family:JetBrains Mono,ui-monospace,monospace}.log div{opacity:.92;margin-bottom:4px}.error-box{margin:16px 0 0;padding:12px 15px;border-radius:12px;background:var(--danger-bg);color:var(--ink-2);border:1px solid var(--danger-border);display:flex;align-items:flex-start;gap:10px}.error-box .ms{color:var(--danger);font-size:18px;margin-top:1px}.legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-bottom:18px;max-height:220px;overflow:auto;padding:4px}.legend-item{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line-warm);background:#fff;border-radius:12px;padding:10px 12px;font-size:13px}.legend-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:650}.legend-count{color:var(--muted);flex-shrink:0}.inline-check{display:flex;flex-direction:row!important;align-items:center;gap:8px;margin-top:12px;font-weight:550!important;color:var(--ink-2)!important}.inline-check input{width:auto}.drop-zone{border:1.5px dashed var(--line-2);border-radius:14px;padding:14px 16px;background:var(--bg-soft);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.drop-zone.is-dragover{border-color:var(--accent);background:var(--bg-warm);box-shadow:0 0 0 3px #e8622a1f}.drop-zone-file{margin:8px 0 0;font-size:13px;word-break:break-all}.drop-zone+.actions,.drop-zone+.fontes-files{margin-top:12px}.fontes-upload{margin-top:4px}.fontes-files{margin-top:12px;border:1px solid var(--line-warm);border-radius:14px;background:var(--bg-soft);overflow:hidden}.fontes-files-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-warm);font-size:13px}.fontes-file-list{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto}.fontes-file{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line);font-size:13px}.fontes-file-remove{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:0}.fontes-file-remove:hover{background:var(--danger-bg);color:var(--danger)}.fontes-file-remove .ms{font-size:18px}.fontes-file:last-child{border-bottom:none}.fontes-file:nth-child(2n){background:#ffffffa6}.fontes-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:550}.fontes-file-size{font-size:12px;white-space:nowrap}.fontes-tag{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:3px 8px;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--line-warm);color:var(--ink-2)}.fontes-tag[data-tag=J1]{background:#e8f0fa;color:#1e4d7b}.fontes-tag[data-tag=J2]{background:#eaf6ee;color:#1f5c3a}.fontes-tag[data-tag=J4]{background:#fef4e4;color:#8a5610}.fontes-tag[data-tag=J5]{background:#f3eaf8;color:#5a2d7a}.fontes-tag[data-tag=Mentoria]{background:#fbeae9;color:#8a2e2b}.fontes-tag[data-tag=Idiomas]{background:#e8f5f3;color:#1a5c55}.fontes-tag[data-tag=Outro]{background:var(--line);color:var(--muted)}.fontes-steps{display:grid;grid-template-columns:auto auto 1fr;gap:12px;margin-top:16px;align-items:start}.fontes-step{border:1px solid var(--line-warm);border-radius:14px;padding:12px 14px;background:#fff}.fontes-step-wide{min-width:0}.fontes-step-label{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.fontes-preview-note{margin:14px 0 0;padding:10px 14px;border-radius:12px;background:var(--ok-bg);color:var(--ink-2);font-size:13px}@media(max-width:1100px){.fontes-steps{grid-template-columns:1fr 1fr}.fontes-step-wide{grid-column:1 / -1}}@media(max-width:640px){.fontes-steps{grid-template-columns:1fr}.fontes-file{grid-template-columns:64px minmax(0,1fr) auto}.fontes-file-size{display:none}}.rules-tabs{display:flex;flex-wrap:wrap;gap:8px}.rules-tabs .btn.active{border-color:var(--accent);color:var(--ink);background:var(--bg-warm)}.rules-expander{margin-top:12px;border:1px solid var(--line-warm);border-radius:12px;background:#fff;overflow:hidden}.rules-expander-head{width:100%;display:flex;align-items:center;gap:8px;padding:12px 14px;border:0;background:transparent;cursor:pointer;text-align:left;color:var(--ink);font:inherit}.rules-expander-head:hover{background:var(--bg-warm)}.rules-expander-head .ms{color:var(--muted);font-size:20px}.rules-doc{padding:4px 16px 16px;color:var(--ink-2);font-size:14px;line-height:1.55}.rules-doc h2,.rules-doc h3,.rules-doc h4{color:var(--ink);margin:1.1em 0 .45em;line-height:1.3}.rules-doc h2{font-size:1.2rem}.rules-doc h3{font-size:1.05rem}.rules-doc h4{font-size:.98rem}.rules-doc p{margin:.55em 0}.rules-doc ul{margin:.45em 0 .45em 1.2em;padding:0}.rules-doc li{margin:.25em 0}.rules-doc .rules-pre,.rules-doc pre{margin:10px 0;padding:12px 14px;border-radius:10px;background:#1e2430;color:#e8edf5;overflow:auto;font-size:12px}.rules-doc code.mono,.rules-doc code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.9em}.rules-doc .table-wrap{margin:10px 0}@media(max-width:1100px){.main{padding:24px 28px 72px}.health-pill.hide-md{display:none}}@media(max-width:900px){.nav-toggle{display:inline-flex}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;top:calc(var(--banner-h) + var(--header-h));background:#2b1d1059;z-index:45;border:0;padding:0;cursor:pointer}.body-row{min-height:calc(100vh - var(--header-h) - var(--banner-h))}.sidebar{position:fixed;top:calc(var(--banner-h) + var(--header-h));left:0;bottom:0;width:min(300px,88vw);height:auto;z-index:50;transform:translate(-105%);transition:transform .2s ease;box-shadow:var(--shadow);border-right:1px solid var(--line);background:var(--bg)}.sidebar.open{transform:translate(0)}.nav-section{display:block}.sidebar-foot{display:flex}.app-shell.nav-open{overflow:hidden}.main{padding:20px 16px 72px}.app-header{padding:0 12px 0 10px;gap:10px}.mode-banner{padding:0 14px;gap:8px}.mode-banner .hint{display:none}.hide-sm{display:none!important}.page-title{font-size:24px}.panel{padding:16px;border-radius:14px}.grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.screen-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.screen-tab{flex:0 0 auto;min-width:132px;min-height:56px;padding:10px 12px}.screen-tab span.hint{display:none}.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap{margin-left:-4px;margin-right:-4px;border-radius:12px}table{font-size:13px}th,td{padding:8px 10px}.actions .btn{min-height:44px}.btn-logout-label{display:none}.btn-logout{padding:10px 12px}.user-name{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:640px){.hide-xs{display:none!important}.app-header .product{font-size:13.5px}.app-header .logo{height:28px}.page-title{font-size:22px}.page-sub{font-size:13.5px}.main{padding:16px 12px 64px}.panel{padding:14px;margin-top:16px}.grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card .n{font-size:1.25rem}.actions{flex-direction:column;align-items:stretch}.actions .btn{width:100%;justify-content:center}.row{gap:8px}.mode-banner{font-size:11px;letter-spacing:.04em}table.table-courses colgroup col:nth-child(1),table.table-courses th:nth-child(1),table.table-courses td:nth-child(1){width:56px}.drop-zone{padding:18px 14px}.error-box{font-size:13.5px}}@media(max-width:400px){.cards{grid-template-columns:1fr}.screen-tab{min-width:120px}}
