:root{--cereja:#e50145;--cereja-d:#c80140;--laranja:#f15a22;--amarelo:#efd600;--verde:#0c893e;--roxo:#6b3fa0;--ink:#2b2b2b;--mut:#7a756c;--line:#ece7dd;--bg:#f6f3ee;--card:#ffffff;--soft:#faf7f2;--radius:14px;--shadow:0 1px 3px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.04)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Hind Madurai,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select{font-family:inherit}code{background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:0 5px;font-size:.9em}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px}.brand{font-size:19px;font-weight:700;color:var(--cereja);letter-spacing:.2px}.brand span{color:var(--laranja)}.topbar-right{display:flex;align-items:center;gap:14px}.user{font-size:13px;color:var(--mut)}.nav{background:#fff;border-bottom:1px solid var(--line);padding:0 24px;display:flex;gap:4px;align-items:center;flex-wrap:wrap}.tab{padding:13px 16px;font-size:14px;font-weight:600;color:var(--mut);background:none;border:0;border-bottom:2.5px solid transparent;cursor:pointer;display:inline-block;text-decoration:none}.tab:hover{color:var(--ink)}.tab.active{color:var(--cereja);border-bottom-color:var(--cereja)}.tab-areasel{margin-left:auto;width:auto;padding:7px 10px}.wrap{max-width:none;margin:0;padding:28px 24px 60px}.page-title{font-size:22px;font-weight:700;margin:0 0 4px}.page-sub{color:var(--mut);font-size:14px;margin:0 0 22px;line-height:1.4;max-width:860px}.cols-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));grid-gap:20px;gap:20px;align-items:start}.cols-2>.card{margin-bottom:0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:20px}.card h2{margin:0 0 16px;font-size:16px;font-weight:700}.btn{background:var(--cereja);color:#fff;border:0;border-radius:9px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.btn:hover{background:var(--cereja-d)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}.btn-ghost:hover{border-color:#cfc8bc}.btn-danger{background:#fff;color:var(--cereja);border:1px solid #f3cdd8;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}.btn-danger:hover{background:#fdecf0}.btn-sm{padding:5px 11px;font-size:12px}.input{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:14px;background:#fff;color:var(--ink)}.input:focus{outline:none;border-color:var(--cereja);box-shadow:0 0 0 3px rgba(229,1,69,.12)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:600;color:var(--mut)}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;align-items:end}.form-row{display:flex;gap:10px;align-items:flex-end}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--mut);padding:10px 12px;border-bottom:2px solid var(--line)}.table td{padding:12px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--soft)}.empty,.muted{color:var(--mut)}.empty{font-size:14px;padding:20px 12px;text-align:center}.chip{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:3px 11px;font-size:12px;color:var(--ink)}.chip,.members{background:var(--soft)}.members{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:16px 0 4px}.member-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;font-size:14px;border-bottom:1px dashed var(--line)}.member-row:last-child{border-bottom:0}.banner-err{background:#fdecf0;color:#b0003a;border:1px solid #f3cdd8;border-radius:10px}.banner-err,.banner-warn{padding:12px 14px;margin-bottom:18px;font-size:14px}.banner-warn{background:#fff8e1;color:#6b4e00;border:1px solid #f0e0a0;border-radius:10px;line-height:1.55}.center-screen{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:var(--mut);padding:24px}.spinner{width:26px;height:26px;border:3px solid var(--line);border-top-color:var(--cereja);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a.inline{color:var(--cereja);font-weight:600;cursor:pointer}a.inline:hover{text-decoration:underline}.rowbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.seg button{border:0;background:none;padding:8px 15px;font-size:13px;font-weight:600;color:var(--mut);cursor:pointer;border-right:1px solid var(--line)}.seg button:last-child{border-right:0}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--cereja);color:#fff}.seg .badge{font-size:11px;opacity:.85;margin-left:5px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:14px;gap:14px}.tile{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}.tile .n{font-size:28px;font-weight:800;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile .l{font-size:12.5px;color:var(--mut);margin-top:6px}.tile.warn{border-color:#f6dcae;background:#fff9ef}.tile.warn .n{color:var(--laranja)}.delta{display:inline-flex;align-items:center;gap:3px;font-weight:700;font-size:11.5px;padding:1px 7px;border-radius:999px;white-space:nowrap}.delta.good{color:var(--verde);background:#e7f4ec}.delta.bad{color:var(--cereja);background:#fdecf0}.delta.warn{color:var(--laranja);background:#fff2e8}.delta.flat{color:var(--mut);background:var(--soft)}.info{position:relative;vertical-align:middle;margin-left:5px}.info,.info-btn{display:inline-flex}.info-btn{width:15px;height:15px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--mut);font:italic 700 10px/1 Hind Madurai,system-ui,sans-serif;cursor:help;padding:0;align-items:center;justify-content:center}.info-btn:hover,.info-btn[aria-expanded=true]{color:var(--ink);border-color:var(--mut)}.info-pop{z-index:30;bottom:calc(100% + 8px);width:230px;max-width:62vw;background:var(--ink);color:#fff;font:400 12px/1.45 Hind Madurai,system-ui,sans-serif;text-align:left;font-style:normal;padding:9px 11px;border-radius:8px;box-shadow:0 6px 22px rgba(0,0,0,.2);white-space:normal}.info-pop,.info-pop:after{position:absolute;left:50%;transform:translateX(-50%)}.info-pop:after{content:"";top:100%;border:6px solid transparent;border-top:6px solid var(--ink)}.info-pop.right{left:auto;right:-4px;transform:none}.info-pop.right:after{left:auto;right:8px;transform:none}.info-pop.below{top:calc(100% + 8px);bottom:auto}.info-pop.below:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--ink)}.appcell{display:inline-flex;flex-direction:column;gap:5px;align-items:flex-start}.area-chip{display:inline-flex;align-items:center;font-size:11.5px;line-height:1;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--soft);color:var(--ink);white-space:nowrap;max-width:100%}.area-chip .muted{font-weight:400}.area-chip .area-sep{color:var(--mut);margin:0 4px}.area-chip b{font-weight:600}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 16px}.kpi .l{font-size:11px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.5px}.kpi .v{font-size:25px;font-weight:800;margin-top:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .f{font-size:12px;color:var(--mut);margin-top:3px}.alert{display:flex;align-items:center;gap:16px;background:#fff9ef;border:1px solid #f6dcae;border-radius:12px;padding:16px 18px;margin-bottom:20px}.alert .em{font-size:22px}.alert .tx{flex:1 1;font-size:14px}.bar-track{background:#efe9e1;overflow:hidden}.bar-fill,.bar-track{border-radius:6px;height:10px}.bar-sm .bar-fill,.bar-sm .bar-track{height:7px}.areasel{display:flex;align-items:center;gap:8px}.areasel label{font-size:13px;font-weight:600;color:var(--mut)}.selo{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;white-space:nowrap}.selo.sem{color:var(--cereja)}.selo.novo{color:var(--roxo)}.selo.pouco{color:var(--laranja)}.selo.bom{color:var(--verde)}.selo.na{color:var(--mut);font-weight:400}.modal-scrim{position:fixed;inset:0;background:rgba(43,43,43,.38);z-index:50;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 44px rgba(0,0,0,.22);width:min(560px,100%);max-height:88vh;overflow-y:auto;padding:22px}.modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}.modal header h3{margin:0;font-size:17px}.modal .x{border:0;background:none;font-size:24px;cursor:pointer;color:var(--mut);line-height:1}.modal textarea{width:100%;min-height:190px;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:13.5px;line-height:1.5;font-family:inherit;color:var(--ink);background:var(--soft);resize:vertical}.modal textarea:focus{outline:none;border-color:var(--cereja);box-shadow:0 0 0 3px rgba(229,1,69,.12)}.scrim{position:fixed;inset:0;background:rgba(43,43,43,.32);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s}.scrim.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;height:100%;width:min(480px,94vw);background:var(--bg);border-left:1px solid var(--line);z-index:41;transform:translateX(100%);transition:transform .24s ease;box-shadow:-8px 0 30px rgba(0,0,0,.12);display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer>header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);background:#fff}.drawer>header h3{margin:0;font-size:16px}.drawer .drawer-body{padding:18px 20px;overflow-y:auto}.drawer .x{border:0;background:none;font-size:24px;cursor:pointer;color:var(--mut);line-height:1}