:root{--font:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;--mono:ui-monospace,"Cascadia Code","SF Mono",Consolas,monospace;--bg:#f6f7f9;--surface:#fff;--surface-2:#f0f2f5;--surface-3:#e8ebf0;--ink:#0f172a;--ink-2:#334155;--ink-3:#64748b;--ink-4:#94a3b8;--line:#e2e8f0;--line-2:#cbd5e1;--brand:#0d7a52;--brand-hover:#0a6343;--brand-soft:#e8f6ef;--brand-mid:#34a87a;--info:#0369a1;--info-soft:#e0f2fe;--warn:#b45309;--warn-soft:#fef3c7;--danger:#b91c1c;--danger-soft:#fee2e2;--ok:#0d7a52;--ok-soft:#e8f6ef;--sidebar:#0b1220;--sidebar-2:#111b2e;--sidebar-text:#cbd5e1;--sidebar-text-active:#fff;--sidebar-hover:hsla(0,0%,100%,.06);--sidebar-active:rgba(52,168,122,.18);--sidebar-accent:#34a87a;--r:12px;--r-sm:8px;--r-lg:16px;--r-full:999px;--sh-sm:0 1px 2px rgba(15,23,42,.04);--sh:0 1px 3px rgba(15,23,42,.06),0 4px 12px rgba(15,23,42,.04);--sh-md:0 4px 20px rgba(15,23,42,.08);--sh-lg:0 12px 40px rgba(15,23,42,.12);--sidebar-w:260px;--header-h:64px;--ease:cubic-bezier(0.4,0,0.2,1);--focus:0 0 0 3px rgba(13,122,82,.22);font-family:var(--font);font-size:15px;line-height:1.5;color:var(--ink);color-scheme:light}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}.lgpd-terms h4{margin:1.1rem 0 .4rem;font-size:.95rem;font-weight:750;color:var(--ink)}.lgpd-sec{margin-top:.35rem}.lgpd-sec li,.lgpd-sec p{font-size:.92rem;line-height:1.5;color:var(--ink-2)}.lgpd-sec ul{margin:.35rem 0 0;padding-left:1.15rem}.lgpd-cat{padding:.75rem .85rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}.ajuda-faq-list{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.ajuda-faq-item{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);overflow:hidden}.ajuda-faq-item.open{border-color:#a8dcc4;background:var(--surface)}.ajuda-faq-q{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;text-align:left;border:none;background:transparent;padding:.75rem .9rem;font:inherit;font-size:.92rem;font-weight:650;color:var(--ink);cursor:pointer}.ajuda-faq-q:hover{background:rgba(13,122,82,.04)}.ajuda-faq-chev{flex:0 0 auto;width:1.4rem;height:1.4rem;display:grid;place-items:center;font-weight:700;color:var(--ink-3);border:1px solid var(--line);border-radius:6px;font-size:1rem;line-height:1}.ajuda-faq-a{font-size:.9rem;line-height:1.5;color:var(--ink-2);border-top:1px solid var(--line);margin:0 .65rem .65rem;padding:.75rem .9rem .85rem}.ajuda-screen-block{margin-top:.75rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}.entity-code{display:inline-flex;align-items:center;gap:.3rem;max-width:100%;vertical-align:middle}.entity-code-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4)}.entity-code-value{font-family:var(--mono);font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--brand);background:var(--brand-soft);border:1px solid #a8dcc4;border-radius:6px;padding:.12rem .45rem;white-space:nowrap}.entity-code-sm .entity-code-value{font-size:.74rem;padding:.08rem .35rem}.entity-code-lg .entity-code-value{font-size:.95rem;padding:.2rem .55rem}.entity-code-copy{border:none;background:transparent;color:var(--ink-4);cursor:pointer;font-size:.85rem;line-height:1;padding:.1rem .2rem;border-radius:4px}.entity-code-copy:hover{color:var(--brand);background:var(--surface-2)}table .entity-code-value{font-size:.78rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:var(--r-sm);padding:.55rem 1.05rem;font-weight:600;font-size:.9rem;line-height:1.25;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),color .15s var(--ease);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:focus-visible{outline:none;box-shadow:var(--focus)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-secondary{background:var(--surface);color:var(--ink-2);border-color:var(--line-2)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-4)}.btn-ghost{background:transparent;color:var(--ink-2);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.btn-sm{padding:.4rem .75rem;font-size:.82rem}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:.35rem}.field>span{font-size:.8rem;font-weight:600;color:var(--ink-2)}.input,.select{width:100%;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:.65rem .85rem;color:var(--ink);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.input::placeholder{color:var(--ink-4)}.input:focus,.select:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.password-field{position:relative;display:flex;align-items:stretch;width:100%}.password-field-input{padding-right:2.75rem}.password-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:var(--r-sm);background:transparent;color:var(--ink-3);cursor:pointer;padding:0;transition:color .12s,background .12s}.password-toggle:hover{color:var(--ink);background:var(--surface-2)}.password-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm)}.card-body{padding:1.25rem 1.35rem}.card-head{align-items:flex-start;gap:1rem;padding:1.1rem 1.35rem;border-bottom:1px solid var(--line)}.card-head h2{margin:0;font-size:.95rem;font-weight:700;color:var(--ink)}.card-head p{margin:.2rem 0 0;font-size:.82rem;color:var(--ink-3)}.badge{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:var(--r-full);font-size:.72rem;font-weight:650;letter-spacing:.01em;background:var(--surface-2);color:var(--ink-2);white-space:nowrap;max-width:100%}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--info-soft);color:var(--info)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.data{width:100%;border-collapse:collapse;min-width:480px}table.data td,table.data th{text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--line);font-size:.88rem;vertical-align:middle}table.data th{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);background:var(--surface-2)}table.data tbody tr{transition:background .12s var(--ease)}table.data tbody tr:hover{background:#fafbfc}table.data tbody tr.clickable{cursor:pointer}table.data tbody tr.selected{background:var(--brand-soft)}table.data tbody tr:last-child td{border-bottom:none}.mono{font-family:var(--mono);font-size:.82rem;letter-spacing:-.01em}.login-page{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;background:var(--bg)}@media (min-width:900px){.login-page{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:1fr}}@media (min-width:1200px){.login-page{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}.login-aside{display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;color:#e2e8f0;background:linear-gradient(160deg,#0b1220,#0f2740 48%,#0d4a36);padding:1.25rem 1.25rem 1.1rem;min-height:0}@media (min-width:600px){.login-aside{padding:1.75rem 2rem 1.5rem}}@media (min-width:900px){.login-aside{min-height:100vh;min-height:100dvh;padding:clamp(1.75rem,4vw,3.25rem)}}.login-aside:before{inset:-20% -10% auto auto;width:min(420px,70vw);height:min(420px,70vw);background:radial-gradient(circle,rgba(52,168,122,.35),transparent 70%)}.login-aside:after,.login-aside:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.login-aside:after{inset:auto auto -15% -10%;width:min(360px,60vw);height:min(360px,60vw);background:radial-gradient(circle,rgba(3,105,161,.25),transparent 70%)}.login-aside-inner{position:relative;z-index:1;flex:1 1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:0;width:100%;max-width:min(32rem,100%);margin:0 auto;text-align:center}@media (min-width:900px){.login-aside-inner{max-width:min(28rem,100%)}}.login-aside .footer-note{position:relative;z-index:1;font-size:.78rem;color:#64748b;margin-top:1rem;text-align:center;width:100%}@media (min-width:900px){.login-aside .footer-note{margin-top:1.5rem;font-size:.85rem}}.login-pub{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.login-pub-eyebrow{margin:0 0 .5rem;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#86efac}.login-pub-logo{margin:0;font-size:clamp(1.75rem,5vw,2.5rem);font-weight:800;letter-spacing:.02em;line-height:1.1}.login-pub-logo span{color:var(--sidebar-accent)}.login-pub-tag{margin:.55rem auto 1rem;font-size:clamp(.9rem,2.2vw,1.05rem);color:#94a3b8;line-height:1.5;max-width:38ch}.login-pub-stat{width:100%;min-height:5.5rem;padding:.95rem 1rem .9rem;border-radius:var(--r-lg);background:hsla(0,0%,100%,.05);border:1px solid rgba(52,168,122,.28);box-shadow:0 12px 40px rgba(0,0,0,.22);transition:opacity .28s var(--ease),transform .28s var(--ease);text-align:center}@media (min-width:900px){.login-pub-stat{min-height:7rem;padding:1.15rem 1.2rem 1.05rem}}.login-pub-stat.is-out{opacity:0;transform:translateY(8px)}.login-pub-stat.is-in{opacity:1;transform:none}.login-pub-stat-value{font-size:clamp(2rem,6vw,2.85rem);font-weight:800;letter-spacing:-.03em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:linear-gradient(120deg,#ecfdf5,#6ee7b7 55%,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent}.login-pub-stat-label{margin-top:.45rem;font-size:clamp(.95rem,2.2vw,1.05rem);font-weight:700;color:#e2e8f0}.login-pub-stat-hint{margin-top:.2rem;font-size:.84rem;color:#94a3b8}.login-pub-dots{display:flex;justify-content:center;gap:.4rem;margin:.75rem 0 1rem;flex-wrap:wrap;width:100%}.login-pub-dot{width:8px;height:8px;padding:0;border:none;border-radius:999px;background:hsla(0,0%,100%,.18);cursor:pointer;transition:width .2s,background .2s}.login-pub-dot.is-on{width:22px;background:#34a87a}.login-pub-slide{width:100%;min-height:4.5rem;transition:opacity .28s var(--ease),transform .28s var(--ease);text-align:center}@media (min-width:900px){.login-pub-slide{min-height:7rem}}@media (max-width:899px){.login-pub-slide-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.login-pub-chips{display:none}}.login-pub-slide.is-out{opacity:0;transform:translateY(6px)}.login-pub-slide.is-in{opacity:1;transform:none}.login-pub-kicker{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5eead4;margin-bottom:.3rem}.login-pub-slide-title{margin:0 0 .35rem;font-size:clamp(1.05rem,2.5vw,1.25rem);font-weight:700;color:#f1f5f9;line-height:1.25}.login-pub-slide-text{margin:0 auto;font-size:.9rem;color:#94a3b8;line-height:1.5;max-width:40ch}.login-pub-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;list-style:none;margin:1.2rem 0 1rem;padding:0;width:100%}.login-pub-chips li{font-size:.7rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;padding:.28rem .55rem;border-radius:var(--r-full);border:1px solid hsla(0,0%,100%,.1);color:#cbd5e1;background:hsla(0,0%,100%,.04)}.login-pub-site{display:inline-flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:650;color:#86efac;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s,color .15s}.login-pub-site:hover{color:#bbf7d0;border-bottom-color:rgba(134,239,172,.5)}.login-main{display:flex;align-items:center;justify-content:center;padding:1.5rem 1.25rem 2rem;min-height:0}@media (min-width:900px){.login-main{padding:clamp(1.5rem,4vw,2.5rem);min-height:100vh;min-height:100dvh}}.login-box{width:100%;max-width:400px}.login-lang-bar{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.login-lang-label{font-size:.78rem;font-weight:600;color:var(--ink-3);letter-spacing:.02em}.login-lang-bar .lang-switch{background:var(--surface);border-color:var(--line-2);box-shadow:var(--sh-sm)}.login-box .brand-mobile{display:none}.login-box h2{margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.login-box .sub{margin:0 0 1.5rem;color:var(--ink-3);font-size:.92rem}.login-mobile-ticker{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem;font-size:.8rem;font-weight:600;color:var(--brand)}.login-mobile-site{display:inline-block;margin-top:.55rem;font-size:.88rem;font-weight:650;color:var(--brand);text-decoration:none}@media (max-height:700px) and (min-width:900px){.login-pub-stat{min-height:5rem;padding:.85rem 1rem}.login-pub-stat-value{font-size:2rem}.login-pub-slide{min-height:4.5rem}.login-pub-chips{margin:.75rem 0 .65rem}}.login-mobile-site:hover{text-decoration:underline}.login-demo{margin-top:1.25rem;padding:.85rem 1rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);font-size:.8rem;color:var(--ink-3);line-height:1.55}.login-demo strong{color:var(--ink-2);font-weight:650}.shell{min-height:100vh;display:flex;background:var(--bg)}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;z-index:40;border-right:1px solid hsla(0,0%,100%,.04)}.sidebar-top{padding:1.35rem 1.2rem 1rem;border-bottom:1px solid hsla(0,0%,100%,.06)}.sidebar-logo{font-weight:800;font-size:1.25rem;letter-spacing:.04em;color:#fff}.sidebar-logo span{color:var(--sidebar-accent)}.sidebar-logo-sub{margin-top:.2rem;font-size:.72rem;color:#64748b;font-weight:500;letter-spacing:.02em}.module-switch{display:flex;flex-direction:column;gap:.35rem;padding:.75rem .85rem .85rem;border-bottom:1px solid hsla(0,0%,100%,.06)}.btn-new-project{width:100%;border:1px solid rgba(52,168,122,.45);background:linear-gradient(145deg,rgba(52,168,122,.22),rgba(13,122,82,.12));color:#a7f3d0;border-radius:8px;padding:.5rem .55rem;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer;margin-bottom:.35rem;letter-spacing:.01em}.btn-new-project:hover{color:#ecfdf5;border-color:rgba(52,168,122,.75);background:linear-gradient(145deg,rgba(52,168,122,.35),rgba(13,122,82,.2))}.module-switch-label{font-size:.65rem;font-weight:750;text-transform:uppercase;letter-spacing:.1em;color:#64748b}.module-switch-btns{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:.3rem;gap:.3rem}.module-btn{border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.03);color:#94a3b8;border-radius:8px;padding:.45rem .25rem;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer;line-height:1.2;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.module-btn:hover{color:#e2e8f0;border-color:rgba(52,168,122,.35)}.module-btn.active{color:#042f1e;background:linear-gradient(145deg,#34a87a,#0d7a52);border-color:transparent;box-shadow:0 4px 14px rgba(13,122,82,.35)}.module-switch-hint{font-size:.68rem;color:#64748b;line-height:1.3;margin:.15rem 0 0}.novo-projeto-overlay{position:fixed;inset:0;z-index:80;background:rgba(15,23,42,.55);display:flex;align-items:flex-start;justify-content:center;padding:1.25rem;overflow:auto}.novo-projeto-dialog{width:min(960px,100%);margin:1rem auto 2rem}.novo-projeto-wz{box-shadow:0 24px 60px rgba(15,23,42,.28)}.sidebar-nav{flex:1 1;padding:1rem .75rem;display:flex;flex-direction:column;gap:.2rem;overflow-y:auto}.nav-label{padding:.65rem .85rem .4rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.nav-label-sub{padding-top:.45rem;padding-left:.85rem;font-size:.65rem;color:#94a3b8;letter-spacing:.1em}.nav-label-sub.nav-label-active{color:#86efac}.sidebar-nav .nav-label-sub~.nav-link{padding-left:1.15rem;font-size:.88rem}.nav-link{display:flex;align-items:center;width:100%;text-align:left;background:transparent;border:none;color:var(--sidebar-text);border-radius:var(--r-sm);padding:.7rem .9rem;font-weight:500;font-size:.9rem;cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease);gap:.5rem}.nav-link:hover{background:var(--sidebar-hover);color:#fff}.nav-link.active{background:var(--sidebar-active);color:var(--sidebar-text-active);font-weight:650;box-shadow:inset 3px 0 0 var(--sidebar-accent)}.nav-link .count{margin-left:auto;min-width:1.5rem;text-align:center;font-size:.7rem;font-weight:700;padding:.12rem .4rem;border-radius:var(--r-full);background:hsla(0,0%,100%,.08);color:#94a3b8}.nav-link.active .count{background:rgba(52,168,122,.28);color:#b6f0d4}.nav-group{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.15rem}.nav-group-btn{display:flex;align-items:center;gap:.4rem;width:100%;text-align:left;background:transparent;border:none;color:#94a3b8;border-radius:var(--r-sm);padding:.55rem .75rem;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease)}.nav-group-btn:hover{background:var(--sidebar-hover);color:#e2e8f0}.nav-group-btn.is-open{color:#e2e8f0}.nav-group.is-hub>.nav-group-btn{background:rgba(52,168,122,.14);color:#b6f0d4;box-shadow:inset 3px 0 0 var(--sidebar-accent)}.nav-group.has-active>.nav-group-btn{color:#cbd5e1}.nav-group-label{flex:1 1;min-width:0}.nav-group-meta{font-size:.65rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;color:#64748b;background:hsla(0,0%,100%,.06);border-radius:var(--r-full);padding:.1rem .4rem;min-width:1.35rem;text-align:center}.nav-group.has-active .nav-group-meta,.nav-group.is-hub .nav-group-meta{background:rgba(52,168,122,.22);color:#b6f0d4}.nav-group-chevron{font-size:.7rem;color:#64748b;width:.9rem;text-align:center}.nav-group-items{display:flex;flex-direction:column;gap:.1rem;padding:.1rem 0 .35rem .35rem;border-left:1px solid hsla(0,0%,100%,.06);margin-left:.85rem}.nav-link-nested{padding:.5rem .75rem;font-size:.86rem;font-weight:500;text-transform:none;letter-spacing:0}.menu-hub{animation:menu-hub-in .22s var(--ease) both}@keyframes menu-hub-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.menu-hub-head{margin-bottom:1.25rem}.menu-hub-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--brand)}.menu-hub-title{margin:0 0 .4rem;font-size:1.65rem;font-weight:750;letter-spacing:-.02em;color:var(--ink);line-height:1.2}.menu-hub-desc{margin:0 0 .35rem;font-size:.98rem;color:var(--ink-2);line-height:1.45;max-width:42rem}.menu-hub-meta{margin:0;font-size:.85rem}.menu-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:.85rem;gap:.85rem}.menu-hub-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.45rem;padding:1.1rem 1.15rem .95rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);cursor:pointer;transition:border-color .14s var(--ease),box-shadow .14s var(--ease),transform .14s var(--ease);min-height:8.5rem}.menu-hub-card:hover{border-color:var(--brand-mid);box-shadow:var(--sh-md);transform:translateY(-2px)}.menu-hub-card:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.menu-hub-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.menu-hub-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:var(--r);background:linear-gradient(145deg,var(--brand-soft),#d8f0e6);color:var(--brand);font-size:.95rem;font-weight:750;letter-spacing:0}.menu-hub-card:hover .menu-hub-card-icon{background:linear-gradient(145deg,#d4f0e4,#c0e8d6)}.menu-hub-card-title{font-size:1rem;font-weight:700;color:var(--ink);line-height:1.25}.menu-hub-card-count{flex-shrink:0;font-size:.75rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:.15rem .5rem;border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand)}.menu-hub-card-blurb{margin:0;flex:1 1;font-size:.86rem;line-height:1.45;color:var(--ink-3)}.menu-hub-card-go{font-size:.8rem;font-weight:650;color:var(--brand);margin-top:.15rem}.menu-hub-card:hover .menu-hub-card-go{color:var(--brand-hover)}html[data-density=compact] .nav-group-btn{padding:.4rem .65rem;font-size:.66rem}html[data-density=compact] .nav-link-nested{padding:.35rem .65rem;font-size:.82rem}html[data-density=compact] .menu-hub-card{min-height:7rem;padding:.85rem .95rem}html[data-nav=narrow] .nav-group-meta{display:none}html[data-nav=narrow] .nav-group-items{margin-left:.45rem;padding-left:.25rem}.sidebar-bottom{padding:1rem 1.1rem 1.25rem;border-top:1px solid hsla(0,0%,100%,.06);font-size:.78rem;color:#64748b}.sidebar-bottom .proj-code{color:#94a3b8;font-family:var(--mono);font-size:.75rem;margin-top:.2rem;word-break:break-all}.shell-main{flex:1 1;min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{height:var(--header-h);display:flex;gap:.75rem;padding:0 1.25rem;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:30;box-shadow:var(--sh-sm)}.topbar,.topbar-menu{flex-shrink:0;align-items:center;background:var(--surface)}.topbar-menu{display:none;width:40px;height:40px;padding:0;border-radius:var(--r-sm);border:1px solid var(--line);color:var(--ink);cursor:pointer;justify-content:center}.topbar-menu:hover{background:var(--surface-2)}.topbar-menu-bars{display:block;width:16px;height:2px;background:var(--ink);border-radius:1px;box-shadow:0 -5px 0 var(--ink),0 5px 0 var(--ink)}.topbar-project{flex:0 1 280px;min-width:140px;max-width:340px}.topbar-project .select{padding:.5rem .75rem;font-size:.88rem}.topbar-actions{display:flex;gap:.65rem;margin-left:auto}.lang-switch,.topbar-actions{align-items:center;flex-shrink:0}.lang-switch{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}.lang-switch-btn{border:none;background:transparent;color:var(--ink-3);font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.35rem .5rem;border-radius:calc(var(--r-sm) - 2px);cursor:pointer;line-height:1;transition:background .12s,color .12s}.lang-switch-btn:hover{color:var(--ink);background:var(--surface)}.lang-switch-btn.is-on{background:var(--brand);color:#fff}.lang-switch-full{margin-bottom:0}.user-chip{display:none;text-align:right;line-height:1.25}.user-chip .name{font-size:.85rem;font-weight:650;color:var(--ink)}.user-chip .role{font-size:.75rem;color:var(--ink-3)}@media (min-width:720px){.user-chip{display:block}}.content{flex:1 1;padding:1.5rem 1.25rem 2.5rem;width:100%;max-width:1120px;margin:0 auto}@media (min-width:768px){.content{padding:1.75rem 1.75rem 3rem}}.page-header{margin-bottom:1.35rem}.page-header-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}.page-header-main{flex:1 1 16rem;min-width:0}.page-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex-shrink:0}.page-header h1{margin:0;font-size:1.45rem;font-weight:750;letter-spacing:-.02em;color:var(--ink)}.page-header p{margin:.3rem 0 0;color:var(--ink-3);font-size:.92rem;max-width:54ch}.help-overlay{position:fixed;inset:0;z-index:80;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:1rem}.help-dialog{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);width:min(560px,100%);max-height:min(86vh,720px);display:flex;flex-direction:column}.help-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem;border-bottom:1px solid var(--line)}.help-dialog-head h2{margin:0;font-size:1.05rem;font-weight:700;color:var(--ink)}.help-dialog-body{padding:.85rem 1.15rem 1.25rem;overflow:auto}.help-block{margin:0 0 1rem}.help-block:last-child{margin-bottom:0}.help-block h3{margin:0 0 .35rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.help-block p{margin:0;font-size:.92rem;color:var(--ink-2);line-height:1.5}.help-block ol,.help-block ul{margin:.25rem 0 0;padding-left:1.2rem;font-size:.92rem;color:var(--ink-2);line-height:1.55}.help-block li{margin-bottom:.28rem}.help-block li:last-child{margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem;margin-bottom:1.25rem}@media (min-width:900px){.stats{grid-template-columns:repeat(4,1fr);gap:1rem}}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.15rem;box-shadow:var(--sh-sm);transition:box-shadow .15s var(--ease),border-color .15s var(--ease)}.stat:hover{box-shadow:var(--sh);border-color:var(--line-2)}.stat .label{font-size:.75rem;font-weight:650;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.stat .value{font-size:1.75rem;font-weight:750;letter-spacing:-.03em;color:var(--ink);line-height:1.1}.stat .hint{margin-top:.35rem;font-size:.78rem;color:var(--ink-4);line-height:1.35}.flow{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}@media (min-width:720px){.flow{flex-direction:row;flex-wrap:wrap;align-items:stretch}}.flow-step{flex:1 1 140px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:.95rem 1rem;min-width:0}.flow-step.highlight{background:var(--brand-soft);border-color:#a8dcc4}.flow-step .step-type{font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:.35rem}.flow-step .step-code{font-weight:700;font-size:.88rem;word-break:break-all;color:var(--ink)}.flow-step .step-meta{margin-top:.45rem;font-size:.8rem;color:var(--ink-3)}.flow-arrow{display:none;align-items:center;justify-content:center;color:var(--ink-4);font-weight:700;font-size:1rem;flex:0 0 auto;padding:0 .15rem}@media (min-width:720px){.flow-arrow{display:flex}}.flow-arrow-mobile{display:flex;justify-content:center;color:var(--ink-4);font-size:.85rem;font-weight:600;padding:.1rem 0}@media (min-width:720px){.flow-arrow-mobile{display:none}}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.chip{background:var(--surface);border:1px solid var(--line-2);color:var(--ink-2);border-radius:var(--r-full);padding:.38rem .9rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .12s var(--ease)}.chip:hover{background:var(--surface-2)}.chip.active{background:var(--brand-soft);border-color:var(--brand-mid);color:var(--brand)}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.toolbar .grow{flex:1 1}.alert{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;border-radius:var(--r-sm);padding:.85rem 1rem;font-size:.88rem;margin-bottom:1rem;border:1px solid transparent}.alert.error{background:var(--danger-soft);color:var(--danger);border-color:#fecaca}.alert.success{background:var(--ok-soft);color:var(--ok);border-color:#bbf7d0}.alert.info{background:var(--info-soft);color:var(--info);border-color:#bae6fd}.alert .dismiss{background:transparent;border:none;color:inherit;cursor:pointer;font-size:1.15rem;line-height:1;padding:0 .15rem;opacity:.65;font-weight:600}.alert .dismiss:hover{opacity:1}.empty{text-align:center;padding:2.75rem 1.25rem;color:var(--ink-3)}.empty p{margin:0;font-size:.92rem}.empty .hint{margin-top:.4rem;font-size:.82rem;color:var(--ink-4)}.progress{height:2px;background:var(--line);overflow:hidden;margin:-1.5rem -1.25rem 1.25rem}@media (min-width:768px){.progress{margin:-1.75rem -1.75rem 1.35rem}}.progress>i{display:block;height:100%;width:40%;background:var(--brand);animation:slide 1.1s var(--ease) infinite}@keyframes slide{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}.grid-2{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:800px){.grid-2{grid-template-columns:1fr 1fr}}.stack{flex-direction:column;gap:.85rem}.row,.stack{display:flex}.row{flex-wrap:wrap;gap:.5rem;align-items:center}.kv{display:grid;grid-template-columns:minmax(100px,130px) 1fr;grid-gap:.4rem 1rem;gap:.4rem 1rem;font-size:.88rem;margin:0}.kv dt{margin:0;color:var(--ink-3)}.kv dd{margin:0;font-weight:550;color:var(--ink);word-break:break-word}.mb{margin-bottom:1.15rem}.export-preview{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:.9rem 1rem;max-height:380px;overflow:auto;font-family:var(--mono);font-size:.75rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--ink-2)}.drawer-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:50;opacity:0;transition:opacity .2s var(--ease)}.drawer-backdrop.open{display:block;opacity:1}.drawer{position:fixed;top:0;left:0;bottom:0;width:min(var(--sidebar-w),86vw);background:var(--sidebar);z-index:60;transform:translateX(-105%);transition:transform .22s var(--ease);display:flex;flex-direction:column;box-shadow:var(--sh-lg)}.drawer.open{transform:translateX(0)}@media (max-width:899px){.sidebar{display:none}.topbar-menu{display:inline-flex}}@media (min-width:900px){.drawer,.drawer-backdrop{display:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.dash-mode{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:1.25rem;padding:.35rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm)}.dash-mode-btn{border:none;background:transparent;color:var(--ink-2);font-weight:600;font-size:.9rem;padding:.55rem 1rem;border-radius:var(--r-sm);cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease)}.dash-mode-btn:hover{background:var(--surface-2);color:var(--ink)}.dash-mode-btn.active{background:var(--brand-soft);color:var(--brand)}.dash-stats .value-sm{font-size:1.25rem;padding-top:.25rem}.dash-stats .value-suffix{font-size:1rem;font-weight:600;color:var(--ink-3);margin-left:.1rem}.dash-strip{flex-wrap:wrap;justify-content:space-between;gap:.5rem;background:linear-gradient(135deg,#0b1220,#0f2740 55%,#0d4a36);color:#e2e8f0;border-radius:var(--r);padding:1.1rem 1.25rem;box-shadow:var(--sh)}.dash-strip,.dash-strip-item{display:flex;align-items:center}.dash-strip-item{flex-direction:column;min-width:4.5rem;flex:1 1}.dash-strip-n{font-size:1.45rem;font-weight:750;letter-spacing:-.02em;color:#fff}.dash-strip-l{font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-top:.15rem}.dash-strip-sep{color:#64748b;font-weight:700;font-size:1.1rem;flex:0 1}.dash-kicker{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:.25rem}.dash-project-title{margin:0;font-size:1.25rem;font-weight:750;letter-spacing:-.02em}.hint-inline{font-size:.72rem;color:var(--ink-4);margin-top:.15rem}@media (max-width:640px){.dash-strip-sep{display:none}.dash-strip{display:grid;grid-template-columns:repeat(2,1fr)}}.geo-layout{display:grid;grid-template-columns:minmax(300px,380px) 1fr;grid-gap:1rem;gap:1rem;align-items:start;margin-top:.25rem}.geo-steps{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.geo-step{display:flex;align-items:flex-start;gap:.5rem;font-size:.88rem;color:var(--ink-2);max-width:280px}.geo-step-n{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-weight:750;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center}.geo-hr{border:none;margin:.25rem 0}.geo-hr,.geo-map-legend{border-top:1px solid var(--line)}.geo-map-legend{padding:.5rem .9rem .65rem;font-size:.78rem;background:var(--surface)}.alert.warn{background:var(--warn-soft);color:var(--warn);border:1px solid #fde68a}.geo-summary{padding:.85rem 0 0;border-top:1px solid var(--line);margin-top:.25rem}.geo-summary-title{font-weight:700;font-size:1rem}.op-flow{flex-wrap:wrap;align-items:center;gap:.4rem .55rem;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);font-size:.88rem;font-weight:600;color:var(--ink-3)}.op-flow-ok{color:var(--brand)}.op-flow-sep{color:var(--ink-4);font-weight:500}.card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.geo-side{max-height:calc(100vh - 120px);overflow-y:auto;padding-right:.15rem}.geo-map-wrap{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + 12px);overflow:hidden;padding:0;min-height:520px;display:flex;flex-direction:column}.geo-map-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .9rem;border-bottom:1px solid var(--line);background:var(--surface)}.geo-map{flex:1 1;min-height:520px;height:calc(100vh - 260px);width:100%;z-index:0;isolation:isolate}.geo-map,.geo-map .leaflet-container,.geo-map.leaflet-container{background:#1a2332}.geo-map .leaflet-tile-pane{filter:none!important;opacity:1!important}.geo-map .leaflet-overlay-pane{pointer-events:auto}.geo-map .sigeo-wms-layer{mix-blend-mode:multiply;opacity:.55}.geo-map-stage{position:relative;flex:1 1;display:flex;flex-direction:column;min-height:0;background:transparent}.geo-map-stage .geo-map{flex:1 1}.geo-map-legend{position:absolute;left:10px;bottom:12px;z-index:500;max-width:220px;padding:.55rem .7rem;border-radius:10px;background:hsla(0,0%,100%,.92);border:1px solid var(--line);box-shadow:var(--sh-sm);font-size:.75rem;color:var(--ink-2);line-height:1.35}.geo-map-legend strong{display:block;margin-bottom:.35rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}.geo-map-legend ul{list-style:none;margin:0;padding:0}.geo-map-legend li{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem}.geo-leg-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0;border:1px solid rgba(0,0,0,.12)}.geo-leg-base{background:linear-gradient(135deg,#94a3b8,#334155)}.geo-leg-site{background:#34a87a}.geo-leg-alert{background:#f59e0b}.geo-leg-compare{background:linear-gradient(90deg,#38bdf8,#a78bfa)}.geo-map-wrap.card{background:var(--surface);overflow:hidden}.geo-monitor-bar{padding:.65rem .9rem;border-bottom:1px solid var(--line);background:var(--surface-2,#f8fafc);display:flex;flex-direction:column;gap:.5rem}.geo-monitor-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem}.geo-monitor-head strong{font-size:.9rem}.geo-monitor-sub{font-size:.78rem}.geo-monitor-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.geo-monitor-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.geo-monitor-controls .select{min-width:10rem;max-width:16rem;font-size:.85rem;padding:.35rem .5rem}.geo-layer-pick{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--ink-2)}.geo-layer-pick .select{min-width:7.5rem}.geo-compare-badge{position:absolute;top:.65rem;z-index:500;display:flex;flex-direction:column;gap:.1rem;padding:.35rem .55rem;border-radius:6px;background:rgba(15,23,42,.78);color:#f8fafc;font-size:.78rem;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.25)}.geo-compare-badge.left{left:.65rem}.geo-compare-badge.right{right:.65rem}.geo-compare-badge-k{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;opacity:.75}.geo-compare-badge-v{font-weight:700}.geo-year-chips{display:flex;flex-wrap:wrap;gap:.35rem}.geo-year-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:650;cursor:pointer}.geo-year-chip.active,.geo-year-chip:hover{border-color:var(--brand);color:var(--brand)}.geo-year-chip.active{background:var(--brand-soft)}.geo-year-chip.before{background:#fef3c7;border-color:#d97706;color:#92400e}.geo-year-chip.after{background:#dbeafe;border-color:#2563eb;color:#1e40af}.geo-map-wrap.is-comparing .geo-map{cursor:col-resize}.leaflet-sbs-range{z-index:450!important}.leaflet-container{font-family:var(--font);height:100%;width:100%}@media (max-width:960px){.geo-layout{grid-template-columns:1fr}.geo-side{max-height:none}.geo-map-wrap{position:relative;top:0;min-height:420px}.geo-map{height:420px}}.op-flow{display:flex;flex-direction:column;gap:.85rem}.op-flow-embedded{margin-bottom:1.25rem}.op-flow-embed-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.op-flow-title{margin:0;font-size:1.15rem;font-weight:750;letter-spacing:-.02em;color:var(--ink)}.op-flow-sub{margin:.25rem 0 0;font-size:.88rem;color:var(--ink-3);max-width:36rem}.op-flow-progress{height:6px;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden}.op-flow-progress-bar{height:100%;border-radius:var(--r-full);background:linear-gradient(90deg,var(--brand),var(--brand-mid));transition:width .45s var(--ease)}.op-flow-progress-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--ink-3);margin-top:-.25rem}.op-flow-rail{display:flex;gap:0;overflow-x:auto;padding:.65rem .25rem .85rem;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.op-flow-rail-item{display:flex;align-items:center;flex:0 0 auto;scroll-snap-align:start}.op-flow-connector{width:18px;height:3px;border-radius:2px;background:var(--line-2);align-self:flex-start;margin:1.15rem 2px 0;transition:background .25s var(--ease)}.op-flow-connector.done{background:linear-gradient(90deg,var(--brand-mid),var(--brand))}.op-flow-node{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:64px;max-width:76px;padding:.35rem .2rem;border:none;background:transparent;cursor:pointer;color:var(--ink-3);font:inherit;transition:color .2s var(--ease),transform .2s var(--ease)}.op-flow-node:hover{color:var(--ink);transform:translateY(-1px)}.op-flow-node-num{width:2.35rem;height:2.35rem;border-radius:50%;display:grid;place-items:center;font-size:.82rem;font-weight:750;font-family:var(--mono);border:2px solid var(--line-2);background:var(--surface);color:var(--ink-3);box-shadow:var(--sh-sm);transition:all .25s var(--ease)}.op-flow-node-label{font-size:.68rem;font-weight:650;text-align:center;line-height:1.2;max-width:4.8rem}.op-flow-node.is-past .op-flow-node-num{border-color:#86d4b0;background:var(--brand-soft);color:var(--brand)}.op-flow-node.is-active{color:var(--ink)}.op-flow-node.is-active .op-flow-node-num{border-color:transparent;background:linear-gradient(145deg,#34a87a,#0d7a52);color:#fff;box-shadow:0 6px 18px rgba(13,122,82,.35);transform:scale(1.08)}.op-flow-node.is-heart .op-flow-node-num{box-shadow:0 0 0 3px rgba(245,158,11,.25)}.op-flow-node.is-active.is-heart .op-flow-node-num{box-shadow:0 6px 18px rgba(13,122,82,.35),0 0 0 3px rgba(245,158,11,.35)}.op-flow-stage{padding:0;overflow:hidden;animation:opFlowIn .4s var(--ease) both}@keyframes opFlowIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.op-flow-stage-grid{display:grid;grid-template-columns:1.4fr 1fr;min-height:220px}@media (max-width:820px){.op-flow-stage-grid{grid-template-columns:1fr}}.op-flow-stage-main{padding:1.35rem 1.45rem 1.5rem;display:flex;flex-direction:column;gap:.55rem}.op-flow-stage-side{padding:1.35rem 1.35rem 1.5rem;background:radial-gradient(ellipse at 80% 0,rgba(13,122,82,.08),transparent 55%),var(--surface-2);border-left:1px solid var(--line)}@media (max-width:820px){.op-flow-stage-side{border-left:none;border-top:1px solid var(--line)}}.op-flow-badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.op-flow-step-badge{font-family:var(--mono);font-size:.78rem;font-weight:750;letter-spacing:.08em;color:var(--brand);background:var(--brand-soft);border-radius:var(--r-full);padding:.2rem .55rem}.op-flow-code{font-size:.72rem;color:var(--ink-4);letter-spacing:.04em}.op-flow-heart{font-size:.72rem;font-weight:700;color:#b45309;background:var(--warn-soft);border-radius:var(--r-full);padding:.18rem .55rem}.op-flow-stage-name{margin:.15rem 0 0;font-size:1.35rem;font-weight:750;letter-spacing:-.025em;color:var(--ink);line-height:1.25}.op-flow-stage-action{margin:0;font-size:.98rem;color:var(--ink-2);line-height:1.5;max-width:36rem}.op-flow-stage-why{margin:0;font-size:.88rem;color:var(--ink-3);line-height:1.45}.op-flow-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.op-flow-check-title{font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:.65rem}.op-flow-check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.op-flow-check li{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;color:var(--ink-2);line-height:1.35}.op-flow-check-mark{flex:0 0 auto;width:1.2rem;height:1.2rem;border-radius:50%;display:grid;place-items:center;font-size:.65rem;font-weight:800;color:var(--brand);background:#fff;border:1px solid #a8dcc4;margin-top:.1rem}.op-flow-nav-hint{margin-top:1rem;font-size:.8rem;line-height:1.4}.op-flow-list{padding:0;overflow:hidden}.op-flow-list-ol{list-style:none;margin:0;padding:0}.op-flow-list-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;grid-gap:.85rem;gap:.85rem;align-items:center;text-align:left;padding:.85rem 1.15rem;border:none;border-top:1px solid var(--line);background:transparent;cursor:pointer;font:inherit;color:inherit;transition:background .15s var(--ease)}.op-flow-list-row:hover{background:var(--surface-2)}.op-flow-list-row.is-active{background:var(--brand-soft)}.op-flow-list-n{width:1.85rem;height:1.85rem;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:.78rem;font-weight:750;background:var(--surface);border:1px solid var(--line);color:var(--ink-3)}.op-flow-list-row.is-active .op-flow-list-n{background:var(--brand);border-color:var(--brand);color:#fff}.op-flow-list-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.op-flow-list-name{font-weight:650;font-size:.92rem;color:var(--ink)}.op-flow-list-short{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-flow-list-go{color:var(--ink-4);font-weight:700}.wiz-stepper{flex-wrap:wrap;gap:.15rem;margin-bottom:1.15rem;padding:.65rem .75rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm)}.wiz-stepper,.wiz-stepper-item{display:flex;align-items:center}.wiz-stepper-item{flex:1 1 auto;min-width:0}.wiz-stepper-line{width:16px;height:2px;background:var(--line-2);margin:0 .25rem;flex:0 0 auto}.wiz-stepper-line.done{background:var(--brand-mid)}.wiz-stepper-btn{display:inline-flex;align-items:center;gap:.4rem;border:none;background:transparent;cursor:pointer;padding:.25rem .35rem;font:inherit;color:var(--ink-3);border-radius:var(--r-sm);min-width:0}.wiz-stepper-btn:disabled{cursor:default}.wiz-stepper-btn.is-active{color:var(--ink)}.wiz-stepper-btn.is-done{color:var(--brand)}.wiz-stepper-num{width:1.55rem;height:1.55rem;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:750;border:1.5px solid var(--line-2);background:var(--surface-2);flex:0 0 auto}.wiz-stepper-btn.is-active .wiz-stepper-num{border-color:transparent;background:linear-gradient(145deg,#34a87a,#0d7a52);color:#fff}.wiz-stepper-btn.is-done .wiz-stepper-num{border-color:#86d4b0;background:var(--brand-soft);color:var(--brand)}.wiz-stepper-label{font-size:.82rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:560px){.wiz-stepper-label{display:none}.wiz-stepper-btn.is-active .wiz-stepper-label{display:inline}}.wz-start{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;padding:1.15rem 1.25rem;background:linear-gradient(135deg,var(--brand-soft),var(--surface) 65%);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.wz-start-title{margin:0;font-size:1rem;font-weight:650;color:var(--ink)}.wz-start-desc{margin:.3rem 0 0;font-size:.86rem;color:var(--ink-3);max-width:56ch}.wz{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:1.25rem}.wz-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.wz-kicker{font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}.wz-count{font-size:.82rem;color:var(--ink-3);margin-top:2px}.wz-track{height:4px;background:var(--surface-3);overflow:hidden;margin-bottom:1rem}.wz-track,.wz-track-bar{border-radius:var(--r-full)}.wz-track-bar{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-mid));transition:width .35s var(--ease)}.wz-card{margin-top:1.1rem;padding:1.35rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);animation:wz-in .28s var(--ease)}@keyframes wz-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.wz-card{animation:none}.wz-track-bar{transition:none}}.wz-q{margin:0;font-size:1.12rem;font-weight:650;line-height:1.35;color:var(--ink)}.wz-hint{margin:.4rem 0 0;font-size:.85rem;color:var(--ink-3);max-width:62ch}.wz-fields{display:grid;grid-gap:.9rem;gap:.9rem;margin-top:1.1rem}.wz-fields .field{margin:0}.wz-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}@media (max-width:640px){.wz-grid-2{grid-template-columns:1fr}}.wz-invalid{margin:.85rem 0 0;font-size:.85rem;color:var(--danger)}.wz-review{margin:1.1rem 0 0;display:grid;grid-gap:0;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}.wz-review-row{display:grid;grid-template-columns:minmax(0,12rem) minmax(0,1fr);grid-gap:1rem;gap:1rem;padding:.65rem .9rem;border-bottom:1px solid var(--line)}.wz-review-row:last-child{border-bottom:0}.wz-review-row dt{margin:0;font-size:.85rem;color:var(--ink-3)}.wz-review-row dd{margin:0;font-size:.9rem;font-weight:550;color:var(--ink);overflow-wrap:anywhere}@media (max-width:560px){.wz-review-row{grid-template-columns:1fr;gap:.15rem}}.wz-actions{display:flex;align-items:center;gap:.6rem;margin-top:1.15rem;flex-wrap:wrap}.wz-ambia{padding:1.1rem 1.15rem 1.25rem}.wz-layout{display:grid;grid-template-columns:minmax(11.5rem,15rem) minmax(0,1fr);grid-gap:1.1rem;gap:1.1rem;align-items:start}.wz-rail{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:.85rem .75rem .9rem;position:-webkit-sticky;position:sticky;top:.75rem}.wz-rail-title{margin:0 0 .55rem;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4)}.wz-rail-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.2rem;gap:.2rem}.wz-rail-list button{width:100%;display:flex;align-items:center;gap:.5rem;border:none;background:transparent;cursor:pointer;text-align:left;padding:.4rem .35rem;border-radius:var(--r-sm);font:inherit;color:var(--ink-3)}.wz-rail-list button:hover{background:var(--surface);color:var(--ink)}.wz-rail-list li.is-active button{background:var(--brand-soft);color:var(--ink);font-weight:650}.wz-rail-list li.is-done button{color:var(--brand)}.wz-rail-num{width:1.55rem;height:1.55rem;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:750;border:1.5px solid var(--line-2);background:var(--surface);flex:0 0 auto}.wz-rail-list li.is-active .wz-rail-num{border-color:transparent;background:linear-gradient(145deg,#34a87a,#0d7a52);color:#fff}.wz-rail-list li.is-done .wz-rail-num{border-color:#86d4b0;background:var(--brand-soft);color:var(--brand)}.wz-rail-label{font-size:.82rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.wz-rail-meta{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--line);display:grid;grid-gap:.25rem;gap:.25rem;font-size:.78rem;color:var(--ink-3)}.wz-rail-meta strong{color:var(--ink);font-size:.86rem;font-weight:650;overflow-wrap:anywhere}.wz-rail-meta em{font-style:normal;color:var(--ink-4)}.wz-main{min-width:0}.wz-main .wz-card{margin-top:0}.wz-main .wz-invalid{margin:0 0 .75rem;padding:.55rem .75rem;border-radius:var(--r-sm);background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}@media (max-width:800px){.wz-layout{grid-template-columns:1fr}.wz-rail{position:static}.wz-rail-list{display:flex;flex-wrap:wrap;gap:.35rem}.wz-rail-list li{flex:1 1 auto}.wz-rail-list button{min-height:2.4rem}.wz-rail-label{max-width:9rem}}.wz-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.75rem;gap:.75rem}.wz-choice{text-align:left;padding:.9rem 1rem;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);cursor:pointer;transition:border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease);font:inherit;color:inherit}.wz-choice:hover{border-color:var(--line-2);transform:translateY(-1px);box-shadow:var(--sh-sm)}.wz-choice:focus-visible{outline:none;box-shadow:var(--focus)}.wz-choice.is-on{border-color:var(--brand);background:var(--brand-soft);box-shadow:var(--sh-sm)}.wz-choice-title{display:block;font-weight:650;font-size:.95rem}.wz-choice-desc{display:block;margin-top:.2rem;font-size:.8rem;color:var(--ink-3);line-height:1.4}.int-edu{display:flex;flex-direction:column;gap:1rem}.int-hero{padding:1.15rem 1.25rem;background:linear-gradient(135deg,var(--brand-soft),var(--surface) 55%)}.int-hero-title{margin:0 0 .45rem;font-size:1.15rem;font-weight:700;color:var(--ink)}.int-hero-lead{margin:0;font-size:.92rem;line-height:1.55;color:var(--ink-2);max-width:72ch}.int-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;margin-top:1rem}.int-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.65rem .75rem;text-align:center}.int-stat-n{display:block;font-size:1.35rem;font-weight:750;color:var(--brand);line-height:1.1}.int-stat-l{font-size:.72rem;font-weight:650;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.int-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.int-block{border-radius:var(--r-lg);border:1px solid var(--line);padding:1rem 1.1rem;background:var(--surface);box-shadow:var(--sh-sm)}.int-block-title{margin:0 0 .55rem;font-size:.95rem;font-weight:700}.int-block-list{margin:0;padding-left:1.1rem;font-size:.86rem;line-height:1.5;color:var(--ink-2)}.int-block-list li+li{margin-top:.35rem}.int-block-brand{border-top:3px solid var(--brand)}.int-block-ok{border-top:3px solid #16a34a}.int-block-warn{border-top:3px solid #d97706}.int-block-info{border-top:3px solid #2563eb}.int-section-title{margin:0 0 .35rem;font-size:1rem;font-weight:700}.int-flow-card{padding:1.1rem 1.2rem 1.2rem}.int-flow-rail{flex-wrap:wrap;gap:.15rem;margin-bottom:1rem;padding:.65rem .5rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r)}.int-flow-item,.int-flow-rail{display:flex;align-items:center}.int-flow-item{flex:1 1 auto;min-width:0}.int-flow-arrow{width:14px;height:2px;background:var(--line-2);margin:0 .2rem;flex:0 0 auto}.int-flow-arrow.done{background:var(--brand-mid)}.int-flow-node{display:inline-flex;flex-direction:column;align-items:center;gap:.25rem;border:none;background:transparent;cursor:pointer;padding:.3rem .35rem;font:inherit;color:var(--ink-3);min-width:0;border-radius:var(--r-sm)}.int-flow-node:hover{color:var(--ink);background:var(--surface)}.int-flow-node.active{color:var(--ink)}.int-flow-node.past{color:var(--brand)}.int-flow-num{width:1.7rem;height:1.7rem;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:750;border:1.5px solid var(--line-2);background:var(--surface)}.int-flow-node.active .int-flow-num{border-color:transparent;background:linear-gradient(145deg,#34a87a,#0d7a52);color:#fff}.int-flow-node.past .int-flow-num{border-color:#86d4b0;background:var(--brand-soft);color:var(--brand)}.int-flow-label{font-size:.72rem;font-weight:650;white-space:nowrap}.int-flow-detail{padding:1rem 1.05rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r)}.int-flow-detail h4{margin:0 0 .4rem;font-size:1rem}.int-flow-detail p{margin:0;font-size:.9rem;line-height:1.55;color:var(--ink-2)}.int-compare{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem}.int-compare-yes{border-top:3px solid #16a34a}.int-compare-no{border-top:3px solid #94a3b8}.int-compare h3{margin:0 0 .5rem;font-size:.92rem}.int-compare ul{margin:0;padding-left:1.1rem;font-size:.86rem;line-height:1.5;color:var(--ink-2)}.int-validate-list{margin:0 0 .85rem;padding-left:1.2rem;font-size:.9rem;line-height:1.55;color:var(--ink-2)}.int-validate-list li+li{margin-top:.45rem}@media (max-width:800px){.int-blocks,.int-compare,.int-stats{grid-template-columns:1fr 1fr}}@media (max-width:560px){.int-blocks,.int-compare,.int-stats{grid-template-columns:1fr}.int-flow-label{display:none}.int-flow-node.active .int-flow-label{display:inline}}html[data-theme=light]{--sidebar:#f1f5f9;--sidebar-2:#e2e8f0;--sidebar-text:#334155;--sidebar-text-active:#0f172a;--sidebar-hover:rgba(15,23,42,.06);--sidebar-active:rgba(13,122,82,.12);--sidebar-accent:#0d7a52;--bg:#f8fafc}html[data-theme=light] .sidebar{border-right-color:var(--line)}html[data-theme=light] .sidebar-logo{color:var(--ink)}html[data-theme=light] .module-switch-hint,html[data-theme=light] .module-switch-label,html[data-theme=light] .sidebar-logo-sub{color:var(--ink-3)}html[data-theme=light] .module-switch,html[data-theme=light] .sidebar-top{border-bottom-color:var(--line)}html[data-theme=light] .module-btn{border-color:var(--line);background:var(--surface);color:var(--ink-2)}html[data-theme=light] .module-btn:hover{color:var(--ink);border-color:var(--brand-mid)}html[data-theme=light] .btn-new-project{color:var(--brand);border-color:rgba(13,122,82,.35);background:var(--brand-soft)}html[data-theme=light] .nav-label{color:var(--ink-4)}html[data-theme=light] .sidebar-bottom .proj-code{color:var(--ink)}html[data-theme=emerald]{--brand:#047857;--brand-hover:#065f46;--brand-soft:#d1fae5;--brand-mid:#10b981;--sidebar:#022c22;--sidebar-2:#064e3b;--sidebar-accent:#34d399;--sidebar-active:rgba(52,211,153,.2);--bg:#f0fdf4}html[data-theme=ocean]{--brand:#0369a1;--brand-hover:#075985;--brand-soft:#e0f2fe;--brand-mid:#38bdf8;--sidebar:#0c1929;--sidebar-2:#0f2744;--sidebar-accent:#38bdf8;--sidebar-active:rgba(56,189,248,.18);--bg:#f0f9ff}html[data-theme=contrast]{--bg:#fff;--surface:#fff;--ink:#000;--ink-2:#111;--ink-3:#333;--line:#000;--line-2:#333;--brand:#064;--brand-mid:#085;--sidebar:#000;--sidebar-text:#fff;--sidebar-text-active:#fff;--sidebar-accent:#0f9;--sidebar-active:rgba(0,255,153,.25);--sidebar-hover:hsla(0,0%,100%,.12);--r:4px;--r-sm:2px;--r-lg:6px;--sh:none;--sh-sm:none;--sh-md:none}html[data-density=compact]{font-size:14px}html[data-density=compact] .nav-link{padding:.35rem .75rem;font-size:.84rem}html[data-density=compact] .nav-label{padding-top:.4rem;padding-bottom:.25rem;font-size:.62rem}html[data-density=compact] .module-btn{padding:.32rem .2rem;font-size:.68rem}html[data-density=compact] .sidebar-top{padding:.85rem 1rem .65rem}html[data-nav=narrow]{--sidebar-w:200px}html[data-nav=narrow] .module-switch-hint,html[data-nav=narrow] .sidebar-logo-sub{display:none}html[data-nav=narrow] .nav-link{font-size:.82rem;padding-left:.65rem;padding-right:.5rem}html[data-nav=narrow] .module-switch-btns{grid-template-columns:1fr}html[data-radius=sharp]{--r:4px;--r-sm:2px;--r-lg:6px;--r-full:4px}.aparencia-card{margin-bottom:0}.aparencia-grid{margin-bottom:.75rem}.field-hint{display:block;margin-top:.25rem;font-size:.75rem;color:var(--ink-3);line-height:1.35}.aparencia-swatches{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.5rem}.aparencia-swatch{width:1.65rem;height:1.65rem;border-radius:var(--r-full);border:2px solid var(--line);cursor:pointer;padding:0}.aparencia-swatch.is-on{box-shadow:var(--focus);border-color:var(--brand)}.aparencia-swatch.theme-classic{background:linear-gradient(135deg,#0b1220 50%,#0d7a52 0)}.aparencia-swatch.theme-light{background:linear-gradient(135deg,#e2e8f0 50%,#0d7a52 0)}.aparencia-swatch.theme-emerald{background:linear-gradient(135deg,#022c22 50%,#10b981 0)}.aparencia-swatch.theme-ocean{background:linear-gradient(135deg,#0c1929 50%,#38bdf8 0)}.aparencia-swatch.theme-contrast{background:linear-gradient(135deg,#000 50%,#0f9 0)}.menu-search{position:relative;flex:1 1 220px;min-width:180px;max-width:380px}.menu-search-field{display:flex;align-items:center;gap:.45rem;height:40px;padding:0 .7rem 0 .75rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);transition:border-color .15s,box-shadow .15s,background .15s}.menu-search-field:focus-within{background:var(--surface);border-color:var(--brand-mid);box-shadow:var(--focus)}.menu-search-icon{display:flex;align-items:center;justify-content:center;color:var(--brand);flex-shrink:0;opacity:.9}.menu-search-input{flex:1 1;min-width:0;border:none;background:transparent;font:inherit;font-size:.88rem;color:var(--ink);outline:none;padding:0}.menu-search-input::placeholder{color:var(--ink-4)}.menu-search-clear{border:none;background:transparent;color:var(--ink-3);font-size:1.15rem;line-height:1;cursor:pointer;padding:0 .15rem;border-radius:4px}.menu-search-clear:hover{color:var(--ink);background:var(--surface-3)}.menu-search-drop{position:absolute;left:0;right:0;top:calc(100% + 4px);max-height:min(340px,60vh);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-md);z-index:50;padding:.3rem}.menu-search-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-align:left;border:none;background:transparent;font:inherit;font-size:.88rem;color:var(--ink);padding:.5rem .65rem;border-radius:var(--r-sm);cursor:pointer}.menu-search-item.is-hi,.menu-search-item:hover{background:var(--brand-soft);color:var(--ink)}.menu-search-item-label{font-weight:600}.menu-search-item-group{font-size:.72rem;font-weight:650;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.menu-search-empty{padding:.75rem .85rem;font-size:.86rem;color:var(--ink-3)}.nav-filter{display:flex;align-items:center;gap:.4rem;margin:0 0 .65rem;padding:.45rem .6rem;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--r-sm);background:hsla(0,0%,100%,.05);transition:border-color .12s,background .12s}.nav-filter:focus-within{border-color:rgba(52,168,122,.55);background:rgba(52,168,122,.1)}.nav-filter-icon{display:flex;align-items:center;color:#86efac;flex-shrink:0;opacity:.95}.nav-filter-input{flex:1 1;min-width:0;border:none;background:transparent;color:#e2e8f0;font:inherit;font-size:.84rem;outline:none;padding:0}.nav-filter-input::placeholder{color:#64748b}.nav-filter-input::-webkit-search-cancel-button{display:none}.nav-filter-clear{border:none;background:transparent;color:#94a3b8;font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .1rem;border-radius:4px}.nav-filter-clear:hover{color:#fff}.nav-filter-empty{margin:0 .4rem .6rem;padding:.35rem .25rem;font-size:.78rem;color:#94a3b8;line-height:1.35}@media (max-width:720px){.menu-search{max-width:none;order:5;flex:1 1 100%;min-width:0}.topbar{flex-wrap:wrap;height:auto;min-height:var(--header-h);padding-top:.5rem;padding-bottom:.5rem}.topbar-project{flex:1 1 auto;max-width:none}}html[data-nav=narrow] .nav-filter{padding:.35rem .45rem}html[data-nav=narrow] .nav-filter-input{font-size:.78rem}