:root{--bg:#f4f7f7;--card:#fff;--ink:#183038;--muted:#6a7e84;--line:#dfe8e8;--brand:#0c6b5f;--brand2:#12977d;--brand3:#dff4ee;--nav:#0c282d;--warn:#f4b740;--danger:#d95d5d;--info:#3979d4;--purple:#7657c8;--shadow:0 8px 30px #16343914;--radius:18px;--sidebar-w:260px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:13px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--brand)}h1,h2,h3,h4{margin:0;font-weight:700}p{margin:0}.app{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--nav);color:#fff;flex-direction:column;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0;overflow:auto}.brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:4px 8px 18px;display:flex}.logo{background:linear-gradient(145deg,#1dc2a0,#0e7c69);border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:12px;font-weight:800;display:grid;box-shadow:0 10px 20px #0003}.brand h1{font-size:16px;line-height:1.15}.brand small{opacity:.67;font-size:11px}.nav-section{margin-top:18px}.nav-title{letter-spacing:.14em;text-transform:uppercase;opacity:.48;padding:0 10px 8px;font-size:10px}.nav a{color:#dce9e8;border-radius:12px;align-items:center;gap:10px;margin:3px 0;padding:10px 12px;font-size:13px;text-decoration:none;display:flex}.nav a:hover,.nav a.active{color:#fff;background:#ffffff1a}.nav a svg{opacity:.85;flex-shrink:0;width:16px;height:16px}.nav .badge{color:#fff;background:#1bb596;border-radius:20px;margin-left:auto;padding:2px 7px;font-size:10px}.sidebar-footer{opacity:.8;border-top:1px solid #ffffff1a;margin-top:auto;padding-top:16px;font-size:11px}.sidebar-backdrop{display:none}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;gap:12px;height:72px;padding:0 26px;display:flex;position:sticky;top:0}.top-left{align-items:center;gap:12px;min-width:0;display:flex}.top-left h2{white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.top-left span{color:var(--muted);font-size:12px;display:block}.top-actions{align-items:center;gap:10px;display:flex}.search{border:1px solid var(--line);background:#f5f8f8;border-radius:12px;width:280px;padding:10px 12px}.pill{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:inline-flex}.avatar{background:var(--brand3);width:38px;height:38px;color:var(--brand);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:800;display:grid}.avatar.sm{width:30px;height:30px;font-size:10px}.content{flex:1;padding:24px}.hero{color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#0b5f55,#0f8f78);border-radius:24px;justify-content:space-between;gap:24px;padding:24px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";background:#ffffff14;border-radius:50%;width:280px;height:280px;position:absolute;top:-110px;right:-80px}.hero h3{margin:0 0 7px;font-size:28px}.hero p{opacity:.88;max-width:710px;line-height:1.5}.hero-actions{z-index:2;flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.mt{margin-top:16px}.mt-lg{margin-top:24px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:17px}.card.compact{padding:12px 14px}.card h3.card-title{margin-bottom:10px;font-size:14px}.kpi .label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.kpi strong{margin:8px 0 3px;font-size:25px;line-height:1.1;display:block}.delta{color:var(--brand);font-size:11px}.delta.bad{color:var(--danger)}.delta.neutral{color:var(--muted)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px;display:flex}.section-head.first{margin-top:0}.section-head h3{font-size:16px}.section-head p{color:var(--muted);margin:3px 0 0;font-size:12px}.section-head .actions{flex-wrap:wrap;gap:8px;display:flex}.muted{color:var(--muted)}.small{font-size:11px}.tiny{font-size:10px}.strong{font-weight:700}.row{align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.stack{gap:10px;display:grid}.text-right{text-align:right}.btn{white-space:nowrap;border:0;border-radius:12px;align-items:center;gap:6px;padding:10px 14px;font-size:12px;font-weight:650;text-decoration:none;transition:all .15s;display:inline-flex}.btn svg{width:14px;height:14px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand2)}.btn-light{color:var(--brand);background:#fff}.btn-ghost{color:var(--ink);background:#edf4f3}.btn-ghost:hover{background:#e2ecea}.btn-outline{border:1px solid var(--line);color:var(--ink);background:0 0}.btn-outline:hover{background:#f5f8f8}.btn-danger{color:#a13c3c;background:#ffe5e5}.btn-sm{border-radius:9px;padding:6px 10px;font-size:11px}.btn-icon{border-radius:10px;padding:8px}.journey{grid-template-columns:repeat(8,1fr);gap:8px;display:grid}.journey.cols-10{grid-template-columns:repeat(10,1fr)}.journey.cols-9{grid-template-columns:repeat(9,1fr)}.stage{border:1px solid var(--line);cursor:default;background:#fff;border-radius:14px;min-height:108px;padding:14px 10px;position:relative}.stage.clickable{cursor:pointer}.stage.clickable:hover{border-color:var(--brand2)}.stage:not(:last-child):after{content:"→";z-index:2;color:#98aaa8;position:absolute;top:42%;right:-10px}.stage b{font-size:12px;display:block}.stage span{margin-top:12px;font-size:23px;font-weight:800;display:block}.stage small{color:var(--muted);font-size:10px;display:block}.stage.risk{background:#fff8f8;border-color:#f0d4d4}.stage.good{background:#f7fffc;border-color:#c9e9df}.stage.selected{outline:2px solid var(--brand)}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%}.table th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px;font-size:10px}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--ink)}.table td{white-space:nowrap;vertical-align:middle;border-bottom:1px solid #edf1f1;padding:12px 10px;font-size:12px}.table tr:hover td{background:#fafcfc}.table tr.clickable{cursor:pointer}.table-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 4px 0;font-size:11px;display:flex}.status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:10px;font-weight:700;display:inline-flex}.status.green{color:#0c6b5f;background:#e3f6ef}.status.yellow{color:#8a6418;background:#fff3d4}.status.red{color:#a13c3c;background:#ffe5e5}.status.blue{color:#285fa7;background:#e7f0ff}.status.purple{color:#6245ad;background:#eee8ff}.status.gray{color:#5c6f74;background:#eef1f1}.dot{background:currentColor;border-radius:50%;width:7px;height:7px}.chart{align-items:end;gap:10px;height:220px;padding:24px 2px 26px;display:flex}.bar{background:linear-gradient(#22ae91,#0c6b5f);border-radius:8px 8px 3px 3px;flex:1;min-width:18px;position:relative}.bar.warn{background:linear-gradient(#f7c95c,#d99a1a)}.bar.danger{background:linear-gradient(#e88a8a,#b94747)}.bar.info{background:linear-gradient(#6d9ee6,#2f63b5)}.bar span{color:var(--muted);white-space:nowrap;font-size:9px;position:absolute;bottom:-23px;left:50%;transform:translate(-50%)}.bar em{white-space:nowrap;font-size:9px;font-style:normal;font-weight:700;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.funnel{flex-direction:column;align-items:center;gap:8px;padding-top:8px;display:flex}.funnel div{color:#fff;text-align:center;border-radius:7px;justify-content:center;align-items:center;min-width:40%;height:40px;padding:0 8px;font-size:11px;font-weight:700;display:flex}.progress{background:#edf2f2;border-radius:10px;height:8px;overflow:hidden}.progress i{background:var(--brand);border-radius:10px;height:100%;transition:width .4s;display:block}.progress i.warn{background:var(--warn)}.progress i.danger{background:var(--danger)}.progress i.info{background:var(--info)}.gauge{background:conic-gradient(from 270deg at 50% 100%, #d95d5d 0 24%, #f4b740 24% 57%, #15997e 57% 100%);border-radius:130px 130px 0 0;width:130px;height:65px;margin:10px auto;position:relative;overflow:hidden}.gauge:after{content:"";background:#fff;border-radius:88px 88px 0 0;width:88px;height:44px;position:absolute;bottom:0;left:21px}.gauge-needle{transform-origin:bottom;z-index:2;background:#183038;border-radius:4px;width:4px;height:52px;position:absolute;bottom:0;left:63px}.mapbox{background:radial-gradient(circle at 30% 30%,#15887147 0 3%,#0000 4%),radial-gradient(circle at 62% 45%,#15887133 0 5%,#0000 6%),linear-gradient(135deg,#dce7e3,#eef3ef);border-radius:18px;height:460px;position:relative;overflow:hidden}.mapbox:before{content:"";opacity:.55;background-image:linear-gradient(30deg,#ffffff59 12%,#0000 12.5% 87%,#ffffff59 87.5%),linear-gradient(150deg,#ffffff59 12%,#0000 12.5% 87%,#ffffff59 87.5%);background-size:70px 120px;position:absolute;inset:0}.mapbox .map-real{position:absolute;inset:0}.map-label{z-index:4;white-space:nowrap;pointer-events:none;background:#fff;border-radius:10px;padding:8px 10px;font-size:10px;position:absolute;transform:translate(-50%,-140%);box-shadow:0 5px 18px #00000029}.marker{background:var(--brand);z-index:2;cursor:pointer;border:0;border-radius:50% 50% 50% 4px;width:22px;height:22px;padding:0;position:absolute;transform:translate(-50%,-100%)rotate(-45deg);box-shadow:0 4px 12px #0003}.marker:after{content:"";background:#fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;left:7px}.marker.red{background:var(--danger)}.marker.yellow{background:var(--warn)}.marker.blue{background:var(--info)}.marker.purple{background:var(--purple)}.marker.gray{background:#7b8e92}.legend{box-shadow:var(--shadow);z-index:3;background:#fff;border-radius:12px;max-width:220px;padding:10px;font-size:10px;position:absolute;bottom:14px;left:14px}.legend label{cursor:pointer;align-items:center;gap:6px;margin:4px 0;display:flex}.map-badge{box-shadow:var(--shadow);z-index:3;background:#fff;border-radius:10px;padding:8px 10px;font-size:10px;position:absolute;top:14px;right:14px}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.filters select,.filters input{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:9px 10px;font-size:11px}.filters input[type=search],.filters input[type=text]{min-width:180px}.filters .spacer{flex:1}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:10px;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:11px;width:100%;padding:10px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brand3);border-color:var(--brand2)}.field.full{grid-column:1/-1}.field .hint{color:var(--muted);text-transform:none;letter-spacing:0;margin-top:4px;font-size:10px}.field.error input,.field.error select{border-color:var(--danger)}.field .erro{color:var(--danger);margin-top:4px;font-size:10px}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.checkbox{cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.checkbox input{width:auto}.profile{align-items:center;gap:10px;min-width:0;display:flex}.profile b{font-size:12px;display:block}.profile small{color:var(--muted);font-size:10px}.mini-avatar{width:36px;height:36px;color:var(--brand);background:#e8f5f1;border-radius:12px;flex-shrink:0;place-items:center;font-size:11px;font-weight:800;display:grid}.timeline{padding-left:22px;position:relative}.timeline:before{content:"";background:#dce6e5;width:2px;position:absolute;top:5px;bottom:5px;left:7px}.tl{padding:0 0 16px;position:relative}.tl:before{content:"";background:var(--brand);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-20px}.tl.warn:before{background:var(--warn)}.tl.danger:before{background:var(--danger)}.tl.info:before{background:var(--info)}.tl.purple:before{background:var(--purple)}.tl b{font-size:12px}.tl p{color:var(--muted);margin:4px 0;font-size:11px}.tl time{color:var(--muted);font-size:10px}.integration{border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;padding:14px;display:flex}.int-logo{background:#eef4f4;border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.integration .grow{flex:1;min-width:160px}.integration b{font-size:12px;display:block}.integration small{color:var(--muted);font-size:10px}.kanban{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.kanban.cols-5{grid-template-columns:repeat(5,1fr)}.kanban.cols-2{grid-template-columns:1fr 1fr}.kan-col{background:#eef3f3;border-radius:14px;min-height:120px;padding:10px}.kan-col h4{justify-content:space-between;margin:2px 4px 10px;font-size:11px;display:flex}.task{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;margin-bottom:8px;padding:10px;font-size:11px}.task:hover{border-color:var(--brand2)}.task b{margin-bottom:4px;display:block}.modal{z-index:100;background:#0b1c1f8f;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:22px;width:min(680px,96vw);max-height:88vh;padding:22px;overflow:auto}.modal-card.lg{width:min(920px,96vw)}.modal-card.sm{width:min(440px,96vw)}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.modal-head h3{font-size:16px}.modal-head p{color:var(--muted);margin-top:2px;font-size:11px}.close{background:#eef3f2;border:0;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.drawer-backdrop{z-index:90;background:#0b1c1f66;position:fixed;inset:0}.drawer{z-index:95;background:#fff;width:min(520px,96vw);padding:22px;animation:.2s slideIn;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-10px 0 40px #00000026}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}.toast-wrap{z-index:200;gap:8px;display:grid;position:fixed;bottom:22px;right:22px}.toast{color:#fff;box-shadow:var(--shadow);background:#143238;border-radius:12px;max-width:360px;padding:12px 16px;font-size:12px;animation:.25s toastIn}.toast.erro{background:#8a2f2f}.toast.sucesso{background:#0c6b5f}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.callout{border-left:4px solid var(--brand);color:#36575d;background:#eef9f6;border-radius:10px;padding:12px 14px;font-size:11px}.callout.warn{border-color:var(--warn);color:#6b4e0c;background:#fff8e6}.callout.danger{border-color:var(--danger);color:#7d2c2c;background:#fff1f1}.callout.info{border-color:var(--info);color:#2b4a7a;background:#eef4ff}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:12px;font-weight:600}.tabs button.active{color:var(--brand);border-bottom-color:var(--brand)}.breadcrumb{color:var(--muted);flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:11px;display:flex}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--brand)}.empty{text-align:center;color:var(--muted);padding:40px 20px}.empty svg{opacity:.5;width:36px;height:36px;margin-bottom:8px}.empty b{color:var(--ink);margin-bottom:4px;display:block}.loading{color:var(--muted);place-items:center;padding:40px;font-size:12px;display:grid}.spinner{border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:28px;height:28px;margin-bottom:10px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chip{background:#eef3f3;border:0;border-radius:999px;align-items:center;gap:4px;padding:4px 9px;font-size:10px;display:inline-flex}.chip.on{background:var(--brand3);color:var(--brand)}.kv{grid-template-columns:140px 1fr;gap:6px 12px;font-size:12px;display:grid}.kv dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-top:2px;font-size:10px}.kv dd{word-break:break-word;margin:0}.list{gap:8px;display:grid}.list-item{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.list-item .grow{flex:1;min-width:0}.list-item b{font-size:12px;display:block}.list-item small{color:var(--muted);font-size:10px}.mobile-toggle{display:none}.dev-banner{color:#8a6418;text-align:center;background:#fff3d4;border-bottom:1px solid #f1e0b0;padding:6px 26px;font-size:11px}.qr-box{border:1px solid var(--line);background:#fff;border-radius:12px;place-items:center;padding:12px;display:grid}.auth-page{background:var(--bg);grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.auth-side{color:#fff;background:linear-gradient(135deg,#0b5f55,#0f8f78);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-side:after{content:"";background:#ffffff14;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-160px;right:-140px}.auth-side h1{margin:20px 0 12px;font-size:34px;line-height:1.15}.auth-side p{opacity:.88;max-width:480px;line-height:1.5}.auth-form{place-items:center;padding:32px 20px;display:grid}.auth-card{width:min(420px,100%);box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;border-radius:22px;padding:28px}.auth-card h2{margin-bottom:4px;font-size:20px}.auth-card .stack{margin-top:18px}.demo-users{gap:6px;margin-top:12px;display:grid}.demo-users button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:11px;display:flex}.demo-users button:hover{border-color:var(--brand2);background:#f5f8f8}.creditos{text-align:center;border-top:1px solid var(--line);color:var(--muted);margin-top:18px;padding-top:14px;font-size:11px;line-height:1.7}.creditos a{text-decoration:none}.creditos a:hover b{text-decoration:underline}.creditos b{color:var(--brand)}.creditos .versao{letter-spacing:.04em;font-family:ui-monospace,Consolas,monospace;font-size:10px}.sidebar-footer .creditos{text-align:left;color:#ffffffb3;border-top:0;margin-top:8px;padding-top:0;font-size:10px}.sidebar-footer .creditos b,.sidebar-footer .creditos a{color:#fff}.public-page{max-width:860px;margin:0 auto;padding:40px 20px;line-height:1.6}.public-page h1{margin-bottom:8px;font-size:26px}.public-page h2{margin:24px 0 8px;font-size:16px}.public-page p,.public-page li{font-size:13px}@media (width<=1200px){.journey,.journey.cols-9,.journey.cols-10{grid-template-columns:repeat(5,1fr)}.kanban.cols-5{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.journey,.journey.cols-9,.journey.cols-10{grid-template-columns:repeat(4,1fr)}.kanban{grid-template-columns:repeat(2,1fr)}.auth-page{grid-template-columns:1fr}.auth-side{min-height:0;padding:32px}.auth-side h1{font-size:26px}}@media (width<=820px){.app{grid-template-columns:1fr}.sidebar{display:none}.sidebar.open{z-index:99;width:var(--sidebar-w);display:flex;position:fixed;top:0;left:0}.sidebar-backdrop.open{z-index:98;background:#00000073;display:block;position:fixed;inset:0}.mobile-toggle{display:inline-flex}.search{display:none}.grid-3,.grid-2{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}.journey,.journey.cols-9,.journey.cols-10{grid-template-columns:repeat(2,1fr)}.stage:not(:last-child):after{display:none}.content{padding:14px}.topbar{padding:0 14px}.hero{flex-direction:column;padding:18px}.hero h3{font-size:22px}.form-grid,.form-grid.cols-3,.kanban,.kanban.cols-5,.kanban.cols-2,.kv{grid-template-columns:1fr}.drawer{width:100vw}.modal{padding:8px}.topbar-sub,.auth-side{display:none}}@media (width<=480px){.grid-4{grid-template-columns:1fr}.kpi strong{font-size:21px}}
