@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-vietnamese-wght-normal-CtlIRbEm.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-ext-wght-normal-MQgHevqp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-wght-normal-DdeTHZLK.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-DHTKMUil.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-B1g8a0vD.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-BpXpdlRW.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-BsaNuasd.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-BVZ5su8S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-DMe4EKeb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg:#f1f5f9;--color-surface:#fff;--color-surface-soft:#f8fafc;--color-field:#e8f0fe;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#0f172a;--color-text-soft:#334155;--color-text-muted:#64748b;--color-text-dimmer:#94a3b8;--color-navy:#0b1220;--color-navy-2:#16213a;--color-navy-deep:#070d18;--color-navy-line:transparent;--color-brand:#22b8cf;--color-brand-dark:#0e8ca3;--color-primary:#0e7490;--color-primary-soft:#ecfeff;--color-primary-line:#a5f3fc;--color-action:#0b1220;--color-action-hover:#1e293b;--color-on-action:#fff;--color-on-accent:#fff;--color-tile:#0f172a;--color-tile-icon:#fff;--color-tile-line:#0f172a;--color-text-inverse:#fff;--color-text-inverse-soft:#cbd5e1;--color-text-inverse-muted:#94a3b8;--color-success:#047857;--color-success-soft:#ecfdf5;--color-success-line:#a7f3d0;--color-warning:#b45309;--color-warning-soft:#fffbeb;--color-warning-line:#fde68a;--color-danger:#b91c1c;--color-danger-soft:#fef2f2;--color-danger-line:#fecaca;--color-info:#1e40af;--color-info-soft:#eff6ff;--color-info-line:#bfdbfe;--layer-gov:#4338ca;--layer-access:#047857;--layer-apps:#1d4ed8;--layer-support:#0369a1;--layer-core:#1e3a5f;--layer-data:#c2410c;--layer-sec:#6d28d9;--layer-infra:#334155;--layer-ai:#a21caf;--layer-pay:#a16207;--brand-github:#24292f;--brand-actions:#2f6fdb;--brand-vercel:#111;--brand-supabase:#3ecf8e;--brand-supabase-strong:#2a9d6b;--brand-supabase-text:#1b7a52;--radius:10px;--shadow-sm:0 1px 2px #0f172a0d;--shadow-soft:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f;--shadow-primary:0 10px 24px -14px #0e8ca38c;--shadow-pop:0 24px 60px #0f172a38;--backdrop:#0f172a73;--font-sans:"Public Sans Variable", "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:"Source Serif 4 Variable", "Source Serif 4", Georgia, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-tema=escuro]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0c121c;--color-surface:#151c28;--color-surface-soft:#111824;--color-field:#111824;--color-border:#232a35;--color-border-strong:#3b4453;--color-text:#e7ecf3;--color-text-soft:#c3cad5;--color-text-muted:#8b95a3;--color-text-dimmer:#687282;--color-navy:#090e19;--color-navy-2:#121a29;--color-navy-deep:#070b14;--color-navy-line:#232a35;--color-brand:#0eb5be;--color-brand-dark:#22c3cc;--color-primary:#22c3cc;--color-primary-soft:#0eb5be1f;--color-primary-line:#0eb5be6b;--color-action:#0eb5be;--color-action-hover:#22c3cc;--color-on-action:#070b14;--color-on-accent:#070b14;--color-tile:#1a2230;--color-tile-icon:#0eb5be;--color-tile-line:#2b3441;--color-success:#36c98a;--color-success-soft:#36c98a1f;--color-success-line:#36c98a61;--color-warning:#e9a547;--color-warning-soft:#e9a54721;--color-warning-line:#e9a5476b;--color-danger:#f75c68;--color-danger-soft:#f75c6821;--color-danger-line:#f75c686b;--color-info:#a9c1ff;--color-info-soft:#608cff1f;--color-info-line:#608cff59;--layer-gov:#a5b4fc;--layer-access:#36c98a;--layer-apps:#7aa2ff;--layer-support:#5bb8f0;--layer-core:#9fb3d1;--layer-data:#fb923c;--layer-sec:#b197fc;--layer-infra:#a3acb8;--layer-ai:#e879f9;--layer-pay:#eab308;--brand-github:#c9d1d9;--brand-actions:#6ea8fe;--brand-vercel:#e7ecf3;--brand-supabase-strong:#3ecf8e;--brand-supabase-text:#3ecf8e;--shadow-sm:0 1px 2px #0000004d;--shadow-soft:0 16px 40px -20px #000c;--shadow-primary:0 10px 24px -14px #0eb5be73;--shadow-pop:0 24px 60px #0000008c;--backdrop:#02050aa8}*{box-sizing:border-box}html,body,#root{height:100%}html{background:var(--color-bg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#root{height:100dvh}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}::selection{background:color-mix(in srgb, var(--color-brand) 32%, transparent)}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=767px){input,select,textarea{font-size:16px!important}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rise{animation:.45s cubic-bezier(.2,.7,.2,1) both rise-in;animation-delay:calc(var(--i,0) * 45ms)}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-success) 45%, transparent)}50%{box-shadow:0 0 0 5px #0000}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.access-denied__overlay{z-index:60;background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:.2s ease-out both access-denied-fade;position:fixed;inset:0}.access-denied{z-index:61;text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid var(--color-danger);width:min(420px,100vw - 32px);box-shadow:var(--shadow-pop);border-radius:16px;padding:32px 28px 24px;animation:.35s cubic-bezier(.2,.9,.3,1.25) both access-denied-in,.45s ease-in-out .35s both access-denied-shake;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.access-denied__icon{background:var(--color-danger-soft);width:72px;height:72px;color:var(--color-danger);border-radius:50%;place-items:center;margin:0 auto 18px;display:grid;position:relative}.access-denied__icon svg{z-index:1;position:relative}.access-denied__pulse{border:2px solid var(--color-danger);opacity:0;border-radius:50%;animation:2s ease-out infinite access-denied-pulse;position:absolute;inset:0}.access-denied__pulse--late{animation-delay:1s}.access-denied__title{margin:0 0 8px;font-size:20px;font-weight:700}.access-denied__message{margin:0;font-size:15px;line-height:1.5}.access-denied__email{color:var(--color-text-muted);background:var(--color-surface-soft);box-shadow:inset 0 0 0 1px var(--color-border);border-radius:99px;margin:12px 0 20px;padding:3px 10px;font-size:12.5px;display:inline-block}.access-denied .btn{width:100%}@keyframes access-denied-fade{0%{opacity:0}}@keyframes access-denied-in{0%{opacity:0;transform:translate(-50%,-46%)scale(.92)}}@keyframes access-denied-shake{20%,60%{transform:translate(calc(-50% - 6px),-50%)}40%,80%{transform:translate(calc(6px - 50%),-50%)}}@keyframes access-denied-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.access-denied,.access-denied__overlay,.access-denied__pulse{animation:none}}.logo{min-width:0;color:var(--color-text-inverse);align-items:center;gap:10px;display:inline-flex}.logo__mark{flex-shrink:0;width:36px;height:36px}.logo__mark text{font-family:var(--font-sans)}.logo__ring{fill:var(--logo-ring,var(--color-navy))}.logo__dot{fill:#22b8cf}.logo__text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.logo__name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.logo__tagline{letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-inverse-soft);font-size:9px;font-weight:600;overflow:hidden}.logo--md{gap:12px}.logo--md .logo__mark{width:44px;height:44px}.logo--md .logo__name{font-size:17px}.logo--md .logo__tagline{font-size:10px}.theme-toggle{background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;flex-shrink:0;align-items:center;gap:2px;height:36px;padding:3px;display:inline-flex}.theme-toggle button{width:32px;height:100%;color:var(--color-text-inverse-muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.theme-toggle button:hover{color:var(--color-text-inverse);background:#ffffff1a}.theme-toggle button[aria-pressed=true]{color:var(--color-text-inverse);background:#ffffff26}.theme-toggle__claro{color:#facc15}.theme-toggle button[aria-pressed=true] .theme-toggle__escuro{color:var(--color-brand)}.auth-shell{background:var(--color-bg);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);height:100%;display:grid;overflow-y:auto}.auth-shell__brand{--logo-ring:var(--color-navy-deep);background:var(--color-navy-deep);border-right:1px solid var(--color-navy-line);color:var(--color-text-inverse);flex-direction:column;justify-content:space-between;gap:40px;padding:48px;display:flex;position:relative;overflow:hidden}.auth-shell__brand:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 30% 40%,#000 30%,#0000 75%);mask-image:radial-gradient(at 30% 40%,#000 30%,#0000 75%)}.auth-shell__glow{filter:blur(64px);pointer-events:none;border-radius:50%;width:384px;height:384px;animation:16s ease-in-out infinite alternate auth-glow;position:absolute}.auth-shell__glow--cyan{background:#22b8cf24;top:-128px;right:-128px}.auth-shell__glow--indigo{background:#818cf81f;animation-direction:alternate-reverse;bottom:-160px;left:-80px}@keyframes auth-glow{0%{transform:translate(0)scale(1)}to{transform:translate(-40px,30px)scale(1.12)}}.auth-shell__top{justify-content:space-between;align-items:center;gap:16px;animation:.5s ease-out both auth-rise;display:flex;position:relative}.auth-shell__pitch{max-width:512px;animation:.6s ease-out 80ms both auth-rise;position:relative}.auth-shell__title{letter-spacing:-.02em;margin:0;font-size:32px;font-weight:700;line-height:1.15}.auth-shell__text{color:var(--color-text-inverse-soft);margin:12px 0 0;font-size:14px;line-height:1.65}.auth-shell__features{gap:20px;margin:32px 0 0;padding:0;list-style:none;display:grid}.auth-shell__features li{gap:16px;animation:.5s ease-out both auth-rise;display:flex}.auth-shell__feature-icon{color:#67e8f9;background:#22b8cf1a;border:1px solid #22b8cf4d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.auth-shell__features strong{font-size:14px;font-weight:600;display:block}.auth-shell__features small{color:var(--color-text-inverse-muted);margin-top:1px;font-size:13px;display:block}.auth-shell__copy{color:#64748b;margin:0;font-size:12px;position:relative}.auth-shell__main{background:var(--color-bg);flex-direction:column;min-width:0;display:flex}.auth-shell__mobile-bar{--logo-ring:var(--color-navy-deep);background:var(--color-navy-deep);border-bottom:1px solid var(--color-navy-line);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:none}.auth-shell__center{flex:1;justify-content:center;align-items:center;padding:40px 16px;display:flex}.auth-shell__card-wrap{width:100%;max-width:468px;animation:.55s ease-out .1s both auth-rise}.auth-shell__legal{color:var(--color-text-muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;padding:0 24px 24px;font-size:12px;display:flex}.auth-shell__legal span{align-items:center;gap:6px;display:inline-flex}@keyframes auth-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width>=1280px){.auth-shell__brand{padding:64px}.auth-shell__title{font-size:38px}}@media (width<=1024px){.auth-shell{grid-template-columns:minmax(0,1fr)}.auth-shell__brand{display:none}.auth-shell__mobile-bar{display:flex}.auth-shell__center{align-items:flex-start;padding:32px 16px}}@media (width<=420px){.auth-shell__mobile-bar .logo__tagline{display:none}}@media (prefers-reduced-motion:reduce){.auth-shell *,.auth-shell :before,.auth-shell :after{transition:none!important;animation:none!important}}.auth-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft);border-radius:16px;flex-direction:column;gap:10px;padding:32px 32px 28px;display:flex}.auth-card__icon{background:var(--color-tile);width:48px;height:48px;box-shadow:inset 0 0 0 1px var(--color-tile-line);color:var(--color-tile-icon);border-radius:12px;justify-content:center;align-items:center;margin-bottom:10px;display:flex}.auth-card h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:700;line-height:1.2}.auth-card>p{color:var(--color-text-muted);margin:0 0 10px;font-size:14px;line-height:1.55}.auth-card__form{flex-direction:column;gap:16px;margin-top:8px;display:flex}.auth-card__alert{border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;line-height:1.55;display:flex;margin:0!important;font-size:13px!important}.auth-card__alert svg{flex-shrink:0;margin-top:2px}.auth-card__alert--error{border-color:var(--color-danger-line);background:var(--color-danger-soft);animation:.4s ease-in-out auth-shake;color:var(--color-danger)!important}.auth-card__alert--success{border-color:var(--color-success-line);background:var(--color-success-soft);color:var(--color-success)!important}.auth-card__alert--info{border-color:var(--color-info-line);background:var(--color-info-soft);color:var(--color-info)!important}@keyframes auth-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.field{flex-direction:column;gap:6px;display:flex}.field__label{color:var(--color-text-soft);font-size:13px;font-weight:600}.field__error{color:var(--color-danger);font-size:12px;line-height:1.45}.auth-input{align-items:center;display:flex;position:relative}.auth-input__icon{color:var(--color-text-dimmer);pointer-events:none;transition:color .15s;position:absolute;left:14px}.auth-input .input{border:1px solid var(--color-border);background:var(--color-field);width:100%;height:44px;color:var(--color-text);font:inherit;box-shadow:var(--shadow-sm);border-radius:8px;padding:0 12px 0 40px;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-input .input::placeholder{color:var(--color-text-dimmer)}.auth-input .input:hover{border-color:var(--color-border-strong)}.auth-input .input:focus{border-color:var(--color-action);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-action) 12%, transparent);outline:none}.auth-input .input[aria-invalid=true]{border-color:var(--color-danger)}.auth-input .input[aria-invalid=true]:focus{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-danger) 12%, transparent)}.auth-input:focus-within .auth-input__icon{color:var(--color-text-soft)}.auth-input .input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--color-field) inset;-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);transition:background-color 9999s ease-out}.auth-input .input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--color-field) inset;-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);transition:background-color 9999s ease-out}.auth-input .input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-field) inset;-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);transition:background-color 9999s ease-out}.auth-input--action .input{padding-right:44px}.icon-btn{width:32px;height:32px;color:var(--color-text-dimmer);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex;position:absolute;right:6px}.icon-btn:hover{background:color-mix(in srgb, var(--color-text) 6%, transparent);color:var(--color-text-soft)}.auth-caps{color:var(--color-warning);align-items:center;gap:6px;margin-top:6px;font-size:12px;font-weight:500;display:inline-flex}.auth-remember{color:var(--color-text-soft);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:13px;display:inline-flex}.auth-remember input{width:16px;height:16px;accent-color:var(--color-action)}.auth-card__submit{width:100%;height:44px;margin-top:4px;font-size:14px}.auth-card__submit:disabled{opacity:.7;cursor:progress}.auth-spinner{border:2px solid color-mix(in srgb, currentColor 40%, transparent);border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-card__link{color:var(--color-text-soft);background:0 0;border:none;align-self:center;align-items:center;gap:4px;margin-top:6px;padding:4px;font-size:13px;font-weight:600;display:inline-flex}.auth-card__link:hover{color:var(--color-action);text-decoration:underline}@media (width<=640px){.auth-card{padding:24px 20px 20px}}.password-rules{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;flex-direction:column;gap:6px;margin:-6px 0 0;padding:12px 14px;list-style:none;display:flex}.password-rules__item{align-items:center;gap:8px;font-size:13px;display:flex}.password-rules__item--pending{color:var(--color-text-muted)}.password-rules__item--ok{color:var(--color-success)}.password-rules__item--fail{color:var(--color-danger)}.app-shell{flex-direction:column;height:100%;display:flex}.app-body{flex:1;min-height:0;display:flex}.app-main{scroll-behavior:smooth;flex:1;min-width:0;padding:24px 32px 48px;overflow-y:auto}.app-content{flex-direction:column;gap:20px;width:100%;display:flex}.section-title{letter-spacing:-.005em;color:var(--color-text);margin:4px 0 16px;font-size:15.5px;font-weight:700}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.btn{border:1px solid var(--color-border);background:var(--color-surface);height:36px;color:var(--color-text);white-space:nowrap;box-shadow:var(--shadow-sm);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--color-brand)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--color-action);border-color:var(--color-action);color:var(--color-on-action)}.btn--primary:hover:not(:disabled){background:var(--color-action-hover);border-color:var(--color-action-hover)}.btn--ghost:hover:not(:disabled){color:var(--color-primary)}.btn--sm{height:30px;padding:0 10px;font-size:12px}.btn--danger{background:var(--color-surface);border-color:var(--color-danger-line);color:var(--color-danger)}.btn--danger:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-danger-soft)}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-row--end{justify-content:flex-end}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:800;line-height:1.2}.page-head p{color:var(--color-text-muted);max-width:720px;margin:4px 0 0;font-size:13px;line-height:1.5}.help-note{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.55}.banner{border:1px solid var(--color-warning-line);background:var(--color-warning-soft);color:var(--color-warning);border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.5}.banner--error{border-color:var(--color-danger-line);background:var(--color-danger-soft);color:var(--color-danger)}.banner--info{border-color:var(--color-info-line);background:var(--color-info-soft);color:var(--color-info)}.empty-state{text-align:center;color:var(--color-text-dimmer);padding:36px 12px;font-size:13px}.mono{font-family:var(--font-mono)}.text-danger{color:var(--color-danger);margin:0;font-size:12.5px}.badge{white-space:nowrap;background:var(--color-surface-soft);color:var(--color-text-muted);box-shadow:inset 0 0 0 1px var(--badge-line,var(--color-border));border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.badge--success{--badge-line:var(--color-success-line);background:var(--color-success-soft);color:var(--color-success)}.badge--danger{--badge-line:var(--color-danger-line);background:var(--color-danger-soft);color:var(--color-danger)}.badge--info{--badge-line:var(--color-info-line);background:var(--color-info-soft);color:var(--color-info)}:root:not([data-tema=escuro]) .badge--success,:root:not([data-tema=escuro]) .badge--danger,:root:not([data-tema=escuro]) .badge--info{box-shadow:none}.table-wrap{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;overflow:auto}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.data-table th{background:var(--color-surface-soft);border-bottom:1px solid var(--color-border);text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;padding:9px 10px;font-size:11px;font-weight:700;position:sticky;top:0}.data-table td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:9px 10px}.data-table tr:last-child td{border-bottom:none}.link-button{color:var(--color-text);background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:700;transition:gap .15s,color .15s;display:inline-flex}.link-button:hover{color:var(--color-primary);gap:9px}.panel{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:10px;padding:20px}.panel__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:4px;display:flex}.panel__head--spaced{margin-top:22px}.panel__lead{color:var(--color-text-muted);max-width:720px;margin:-8px 0 12px;font-size:13px;line-height:1.55}.split{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;display:grid}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;display:grid}.tile-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.tile-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.empty{text-align:center;color:var(--color-text-muted);grid-column:1/-1;padding:32px;font-size:13px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--color-border);background:var(--color-surface);height:32px;color:var(--color-text-soft);border-radius:999px;align-items:center;gap:8px;padding:0 13px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.chip span{background:var(--color-bg);color:var(--color-text-muted);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.chip:hover{border-color:var(--color-brand);color:var(--color-text)}.chip--on,.chip--on:hover{background:var(--color-action);border-color:var(--color-action);color:var(--color-on-action)}.chip--on span{background:color-mix(in srgb, var(--color-on-action) 18%, transparent);color:var(--color-on-action)}.chip--static{cursor:default;height:28px;font-size:12px}.chip--static:hover{border-color:var(--color-border)}.search-field{border:1px solid var(--color-border);background:var(--color-surface);width:min(320px,100%);height:36px;color:var(--color-text-dimmer);box-shadow:var(--shadow-sm);border-radius:8px;align-items:center;gap:8px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.search-field:hover{border-color:var(--color-border-strong)}.search-field:focus-within{border-color:var(--color-brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-brand) 15%, transparent);color:var(--color-primary)}.search-field input{min-width:0;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:13px}.search-field input::placeholder{color:var(--color-text-dimmer)}.pill{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.pill--concluida{background:var(--color-success-soft);color:var(--color-success)}.pill--andamento{background:var(--color-primary-soft);color:var(--color-primary)}.pill--planejada{background:var(--color-surface-soft);color:var(--color-text-muted);box-shadow:inset 0 0 0 1px var(--color-border)}.progress{background:var(--color-bg);border-radius:6px;height:6px;display:block;overflow:hidden}.progress>span{background:linear-gradient(90deg, var(--color-brand-dark), var(--color-brand));transform-origin:0;border-radius:6px;height:100%;animation:1.1s cubic-bezier(.2,.7,.2,1) both grow;display:block}.is-concluida .progress>span{background:var(--color-success)}@keyframes grow{0%{transform:scaleX(0)}}.mini-roadmap{flex-direction:column;gap:14px;display:flex}.mini-roadmap__item{align-items:center;gap:12px;display:flex}.mini-roadmap__icon{background:var(--color-surface-soft);width:36px;height:36px;color:var(--color-text-dimmer);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mini-roadmap__item.is-andamento .mini-roadmap__icon{background:var(--color-tile);box-shadow:inset 0 0 0 1px var(--color-tile-line);color:var(--color-tile-icon)}.mini-roadmap__item.is-concluida .mini-roadmap__icon{background:var(--color-success-soft);color:var(--color-success)}.mini-roadmap__body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.mini-roadmap__title{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.mini-roadmap__title strong{font-size:13.5px}.mini-roadmap__title small{color:var(--color-text-muted);flex:1;font-size:12px}.feature-card{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-align:left;box-shadow:var(--shadow-sm);border-radius:10px;align-items:flex-start;gap:16px;padding:20px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.feature-card:hover{border-color:var(--color-brand);box-shadow:var(--shadow-primary);transform:translateY(-2px)}.feature-card__icon{background:var(--color-tile);width:48px;height:48px;box-shadow:inset 0 0 0 1px var(--color-tile-line);color:var(--color-tile-icon);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.feature-card small{letter-spacing:.09em;text-transform:uppercase;color:var(--color-primary);font-size:11px;font-weight:700}.feature-card h3{margin:2px 0 6px;font-size:18px}.feature-card h3 span{color:var(--color-text-muted);font-size:13px;font-weight:500}.feature-card p{color:var(--color-text-muted);margin:0 0 12px;font-size:13px;line-height:1.55}.check-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;display:grid}.check-list li{padding-left:20px;font-size:13px;position:relative}.check-list li:before{content:"";background:var(--color-primary-soft);width:12px;height:12px;box-shadow:inset 0 0 0 3px var(--color-brand);border-radius:50%;position:absolute;top:3px;left:0}@keyframes wire-flow{to{background-position:18px 0}}.app-sidebar-backdrop{display:none}@media (width<=1280px){.tile-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1fr)}}@media (width<=960px){.module-grid,.tile-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.app-sidebar-backdrop{z-index:34;background:var(--backdrop);display:block;position:fixed;inset:60px 0 0}}@media (width<=640px){.app-main{padding:16px 16px 32px}.module-grid,.tile-grid--3,.tile-grid--4{grid-template-columns:minmax(0,1fr)}.panel{padding:16px}.check-list{grid-template-columns:minmax(0,1fr)}}.portal-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.toolbar__right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.select{border:1px solid var(--color-border);background:var(--color-surface);height:36px;color:var(--color-text);font:inherit;box-shadow:var(--shadow-sm);border-radius:8px;padding:0 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.select:hover{border-color:var(--color-border-strong)}.select:focus{border-color:var(--color-brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-brand) 15%, transparent);outline:none}.category-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.category-card{border:1px solid var(--color-border);border-left:4px solid var(--accent);background:var(--color-surface);color:var(--color-text);text-align:left;box-shadow:var(--shadow-sm);border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;transition:background .15s,border-color .15s,transform .15s;display:flex}.category-card:hover{transform:translateY(-2px)}.category-card.is-on{background:color-mix(in srgb, var(--accent) 10%, var(--color-surface));border-color:var(--accent)}.category-card strong{font-size:13px}.category-card span{color:var(--color-text-muted);font-size:11.5px}.schema-cloud{flex-wrap:wrap;gap:8px;display:flex}.schema-cloud button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;transition:border-color .15s,transform .15s;display:inline-flex}.schema-cloud button:hover{border-color:var(--layer-data);transform:translateY(-2px)}.schema-cloud code{color:var(--layer-data);font-size:13px;font-weight:600}.schema-cloud small{color:var(--color-text-muted);font-size:11px}.tile-footer{color:var(--color-primary);font-size:12px;font-weight:600}.panel__lead code{background:var(--color-surface-soft);box-shadow:inset 0 0 0 1px var(--color-border);border-radius:5px;padding:1px 6px;font-size:11.5px}.check-list--single{grid-template-columns:minmax(0,1fr)}@media (width<=1280px){.category-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=640px){.category-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-grid{grid-template-columns:minmax(0,1fr)}}.table-note{color:var(--color-text-muted);margin:12px 0 0;font-size:12px}.app-loading{background:var(--color-bg);place-items:center;height:100%;display:grid}.app-loading__spinner{border:3px solid var(--color-border);border-top-color:var(--color-brand);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite app-spin}.app-falha{text-align:center;max-width:420px;color:var(--color-text-muted);gap:8px;padding:0 16px;display:grid}.app-falha strong{color:var(--color-text)}.app-falha__acoes{justify-content:center;gap:8px;margin-top:8px;display:flex}@keyframes app-spin{to{transform:rotate(360deg)}}.overlay-backdrop{z-index:40;background:var(--backdrop);animation:.15s overlay-fade;position:fixed;inset:0}@keyframes overlay-fade{0%{opacity:0}}.modal{z-index:41;width:min(var(--modal-width,560px), calc(100vw - 32px));border:1px solid var(--color-border);background:var(--color-surface);max-height:88vh;box-shadow:var(--shadow-pop);border-radius:14px;flex-direction:column;animation:.18s modal-in;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,-46%)}}.modal__head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.modal__head h3{margin:0;font-size:15px;font-weight:700}.modal__body{flex-direction:column;gap:14px;padding:18px 20px;display:flex;overflow-y:auto}.modal__foot{border-top:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;gap:8px;padding:14px 20px;display:flex}.modal__head .icon-btn{border-color:var(--color-border);background:var(--color-surface);width:30px;height:30px;position:static}.modal__head .icon-btn:hover{background:var(--color-primary-soft);border-color:var(--color-brand);color:var(--color-primary)}.overlay-backdrop--top{z-index:60}.modal--top{z-index:61}.dialogo-backdrop{z-index:80}.dialogo{z-index:81;width:min(460px,100vw - 32px)}.dialogo__corpo{gap:14px;padding:20px 20px 16px;display:flex}.dialogo__corpo h3{margin:0 0 6px;font-size:16px;font-weight:700}.dialogo__corpo p{color:var(--color-text-muted);white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.55}.dialogo__icone{background:var(--color-info-soft);width:38px;height:38px;color:var(--color-info);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dialogo--sucesso .dialogo__icone{background:var(--color-success-soft);color:var(--color-success)}.dialogo--perigo .dialogo__icone{background:var(--color-danger-soft);color:var(--color-danger)}.dialogo__botoes{justify-content:flex-end}
