:root{--green:#15803d;--green2:#16a34a;--green-dark:#14532d;--bg:#f3f7f4;--surface:#fff;--text:#172033;--muted:#667085;--line:#e4e9e6;--shadow:0 8px 28px rgba(20,83,45,.07);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}html{font-size:16px;background:var(--bg)}body{margin:0;min-width:320px;background:var(--bg)}button,input{font:inherit}button{cursor:pointer}.svg-sprite{display:none}svg{width:1.4rem;height:1.4rem;fill:currentColor}.app-shell{min-height:100dvh;padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.app-header{position:sticky;top:0;z-index:20;height:4.5rem;padding:env(safe-area-inset-top) 1rem 0;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--green-dark),var(--green2));color:#fff;box-shadow:0 5px 18px rgba(20,83,45,.18)}.brand{display:flex;align-items:center;gap:.65rem;color:#fff;background:none;border:0;font-size:1.45rem;font-weight:900;letter-spacing:.03em}.brand-mark{display:grid;place-items:center;width:2.2rem;height:2.2rem;border:2px solid currentColor;border-radius:.7rem 1.2rem .7rem 1.2rem;font-weight:900;transform:skew(-8deg)}.brand-mark.large{width:3.4rem;height:3.4rem;font-size:2rem}.icon-button{border:0;background:rgba(255,255,255,.15);color:inherit;border-radius:50%;width:2.75rem;height:2.75rem;display:grid;place-items:center}.page{width:min(100%,68rem);margin:auto;padding:1.25rem 1rem 2rem}.page-title{display:flex;align-items:center;justify-content:space-between}.page h1{margin:0 0 1rem;font-size:1.75rem}.page h2{font-size:1.1rem;margin:0 0 1rem}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;height:calc(4.5rem + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;justify-content:center;box-shadow:0 -8px 24px rgba(20,83,45,.05)}.bottom-nav button{width:min(50%,15rem);border:0;background:none;color:#667085;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;font-weight:650}.bottom-nav button.active{color:var(--green)}.bottom-nav button.active:after{content:"";position:absolute;bottom:calc(env(safe-area-inset-bottom) + .2rem);width:4rem;height:.22rem;background:var(--green2);border-radius:4px}.bottom-nav span{font-size:.86rem}.kpis{display:grid;gap:.75rem;margin-bottom:1rem}.kpis.two{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis article{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.35rem}.kpis span{color:var(--muted);font-size:.82rem}.kpis strong{font-size:1.25rem;color:var(--green-dark);overflow-wrap:anywhere}.kpis.three article{text-align:center;align-items:center}.kpis.three strong{color:var(--text)}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#e8eeea;border-radius:1rem;padding:.25rem;margin:1rem 0}.segmented button{border:0;border-radius:.8rem;background:none;padding:.8rem;color:var(--muted);font-weight:750}.segmented button.active{background:var(--green);color:#fff;box-shadow:0 6px 18px rgba(21,128,61,.2)}.operation-list{display:grid;gap:.85rem}.operation-card{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:1.1rem;padding:1rem;color:var(--text);box-shadow:var(--shadow);transition:transform .15s,border-color .15s}.operation-card:active{transform:scale(.985)}.operation-card:focus-visible{outline:3px solid #86efac;outline-offset:2px}.card-heading,.card-location{display:flex;align-items:center;gap:.55rem}.card-heading{justify-content:space-between;margin-bottom:.8rem}.card-heading>div{display:flex;flex-direction:column}.card-heading strong{font-size:1.05rem}.card-heading span:not(.status){font-size:.85rem;color:var(--muted);margin-top:.2rem}.status{color:var(--green);background:#dcfce7;padding:.35rem .65rem;border-radius:999px;font-weight:700;font-size:.82rem;white-space:nowrap}.status.done{color:#475467;background:#eef2f0}.card-location{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:.8rem}.card-location svg{color:var(--green)}.card-location small{margin-left:auto}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;padding-top:.8rem}.metrics div{min-width:0;border-right:1px solid var(--line);padding-right:.25rem}.metrics div:last-child{border:0}.metrics span{display:block;color:var(--muted);font-size:.68rem}.metrics strong{display:block;margin-top:.25rem;font-size:.8rem;white-space:nowrap}.panel{background:var(--surface);border:1px solid var(--line);border-radius:1.1rem;padding:1rem;margin-bottom:.85rem;box-shadow:var(--shadow)}.panel-title small{color:var(--muted)}.participation-chart{display:grid;grid-template-columns:minmax(9rem,1fr) 1.15fr;align-items:center;gap:1rem}.donut{width:min(100%,14rem);aspect-ratio:1;border-radius:50%;background:var(--segments);display:grid;place-items:center;margin:auto}.donut>div{width:56%;aspect-ratio:1;background:#fff;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:inset 0 0 0 1px var(--line)}.donut strong{font-size:.9rem;overflow-wrap:anywhere;max-width:90%}.donut small{color:var(--muted)}.legend{display:grid;gap:.75rem}.legend>div{display:grid;grid-template-columns:.75rem 1fr auto;gap:.45rem;align-items:center}.legend i{width:.75rem;height:.75rem;border-radius:50%;background:var(--c)}.legend small{grid-column:2/4;color:var(--muted);font-size:.78rem}.bar-row{display:grid;grid-template-columns:7rem 1fr auto;gap:.65rem;align-items:center;margin:.75rem 0;font-size:.85rem}.bar-row>div{height:.65rem;border-radius:999px;background:#e8eeea;overflow:hidden}.bar-row i{display:block;height:100%;min-width:0;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:inherit}.bar-row strong{text-align:right}.alert{width:100%;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:1rem;padding:1rem;text-align:left;font-weight:750;display:flex;justify-content:space-between;align-items:center}.detail{padding-top:.9rem}.detail-head{display:flex;align-items:center;gap:.75rem}.detail-head .icon-button{background:#e7efe9;color:var(--green-dark);flex:0 0 auto}.detail-head h1{margin:0;font-size:1.35rem}.detail-head span{color:var(--muted)}.detail-tabs{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:.25rem;margin:1rem -.25rem;position:sticky;top:4.5rem;z-index:15;background:var(--bg);padding:.4rem .25rem}.detail-tabs button{border:0;background:none;padding:.75rem .2rem;color:var(--muted);font-size:.84rem;border-bottom:3px solid transparent}.detail-tabs button.active{color:var(--green);border-color:var(--green2);font-weight:800}.stepper{display:flex;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory}.stepper>div{min-width:5.2rem;display:flex;flex-direction:column;align-items:center;text-align:center;color:#98a2b3;font-size:.72rem;position:relative;scroll-snap-align:start}.stepper>div:before{content:"";height:2px;background:#d6ddd8;position:absolute;left:-50%;right:50%;top:.9rem}.stepper>div:first-child:before{display:none}.stepper i{z-index:1;width:1.8rem;height:1.8rem;display:grid;place-items:center;border-radius:50%;background:#e9eeeb;font-style:normal}.stepper .complete,.stepper .current{color:var(--green)}.stepper .complete:before,.stepper .current:before{background:var(--green2)}.stepper .complete i{background:var(--green2);color:#fff}.stepper .current i{background:#fff;border:3px solid var(--green2);font-size:0}.stepper .current i:after{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--green2)}.stepper span{margin-top:.45rem}.location-panel{width:100%;border:1px solid var(--line);color:var(--text);display:grid;grid-template-columns:1fr auto auto;align-items:center;text-align:left}.location-panel>div{display:flex;align-items:center;gap:.7rem}.location-panel>div>svg{color:var(--green);width:1.8rem;height:1.8rem}.location-panel div div{display:flex;flex-direction:column}.location-panel small,.location-panel span{color:var(--muted)}.location-panel strong{font-size:1.1rem}.fresh{background:#dcfce7;color:var(--green)!important;padding:.35rem .55rem;border-radius:999px;font-size:.72rem;white-space:nowrap}.fresh.stale{background:#fff7ed;color:#c2410c!important}.history>div{display:flex;gap:.65rem;border-left:2px solid #bbf7d0;padding:0 0 1rem .8rem;margin-left:.35rem}.history i{width:.65rem;height:.65rem;border-radius:50%;background:var(--green2);margin-left:-1.2rem}.history p{margin:0;display:flex;flex-direction:column}.history span,.history small{color:var(--muted)}.volume-grid{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.volume-grid>div{border-right:1px solid var(--line)}.volume-grid>div:last-child{border:0}.volume-grid span,.price-row span{display:block;color:var(--muted);font-size:.8rem}.volume-grid strong{display:block;margin-top:.25rem;font-size:1.05rem}.price-row{margin-top:1rem;background:#f3f7f4;border-radius:.8rem;display:grid;grid-template-columns:1fr 1fr;padding:.8rem}.price-row>div:first-child{border-right:1px solid var(--line)}.price-row>div:last-child{padding-left:1rem}.price-row strong{color:var(--green);font-size:1.15rem}.documents button{width:100%;border:0;border-top:1px solid var(--line);background:none;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.65rem;text-align:left;padding:.75rem 0;color:var(--text)}.documents button:disabled{cursor:default}.documents button>div{display:flex;flex-direction:column}.documents small{color:var(--muted)}.doc-status{font-size:.72rem;background:#eef2f0;color:var(--muted);border-radius:999px;padding:.3rem .5rem}.doc-status.available{background:#dcfce7;color:var(--green)}.investor-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.investor-list i{width:2.2rem;height:2.2rem;display:grid;place-items:center;border-radius:50%;background:var(--c);color:#fff;font-style:normal}.investor-list span{display:flex;flex-direction:column}.investor-list small{color:var(--muted)}.investor-list footer{display:flex;justify-content:space-between;padding-top:1rem}.result-main{background:linear-gradient(135deg,#effcf3,#fff)}.result-main span{display:block;color:var(--muted)}.result-main strong{display:block;color:var(--green);font-size:3.2rem;margin-top:.35rem}dl{display:grid;grid-template-columns:1fr auto;gap:.75rem;margin:0}dt{color:var(--muted)}dd{margin:0;font-weight:650}.total{padding-top:.75rem;border-top:1px solid var(--line);font-weight:800;color:var(--text)}.result-list>div{display:flex;justify-content:space-between;padding:.8rem 0;border-top:1px solid var(--line)}.result-list strong{color:var(--green)}.login-page{min-height:100dvh;display:grid;place-items:center;padding:1.25rem;background:radial-gradient(circle at 15% 5%,#dcfce7,transparent 35%),var(--bg)}.login-card{width:min(100%,27rem);background:#fff;border:1px solid var(--line);border-radius:1.4rem;padding:2rem;box-shadow:0 24px 70px rgba(20,83,45,.12)}.login-logo{display:flex;align-items:center;justify-content:center;gap:.8rem;color:var(--green);font-size:2rem}.login-card>p{text-align:center;color:var(--muted);margin:0 0 1.5rem}.login-card label{display:flex;flex-direction:column;gap:.4rem;font-weight:650;margin:.8rem 0}.login-card input{border:1px solid #ccd5cf;border-radius:.8rem;padding:.9rem;background:#fbfcfb;font-size:1rem}.login-card input:focus{outline:3px solid #bbf7d0;border-color:var(--green)}.primary,.secondary,.danger{width:100%;border:0;border-radius:.8rem;padding:.9rem;font-weight:800}.primary{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;margin-top:.7rem}.login-card small{display:block;text-align:center;color:var(--muted);margin-top:1rem}.profile-card{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:2rem;text-align:center;box-shadow:var(--shadow)}.avatar{margin:auto;width:4.5rem;height:4.5rem;border-radius:50%;display:grid;place-items:center;background:#dcfce7;color:var(--green);font-size:1.8rem;font-weight:900}.profile-card h1{margin:1rem 0 .2rem}.profile-card p{color:var(--muted)}.secondary{background:#e7efe9;color:var(--green-dark);margin:1rem 0 .6rem}.danger{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#fff1f2;color:#be123c}.toast{position:fixed;z-index:60;left:50%;bottom:6rem;transform:translate(-50%,1rem);opacity:0;pointer-events:none;width:max-content;max-width:calc(100% - 2rem);background:#172033;color:#fff;padding:.8rem 1rem;border-radius:.8rem;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:760px){.page{padding:1.75rem}.operation-list{grid-template-columns:repeat(2,1fr)}.dashboard{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.dashboard>.page-title,.dashboard>.kpis,.dashboard>.alert{grid-column:1/-1}.dashboard .panel{margin:0}.detail{max-width:58rem}.metrics span{font-size:.75rem}.metrics strong{font-size:.9rem}}
@media(max-width:410px){.page{padding-left:.75rem;padding-right:.75rem}.app-header{padding-left:.75rem;padding-right:.75rem}.kpis strong{font-size:1.05rem}.metrics{grid-template-columns:1fr 1fr;row-gap:.7rem}.metrics div:nth-child(2){border:0}.participation-chart{grid-template-columns:1fr}.donut{max-width:12rem}.location-panel{grid-template-columns:1fr auto}.location-panel>.fresh{grid-column:1/-1;justify-self:start;margin-top:.6rem}.bar-row{grid-template-columns:6rem 1fr auto}.detail-tabs{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Atualizações de navegação, filtros e leitura operacional */
.app-header{position:relative;top:auto}
.detail-tabs{top:0}
.date-filter{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1rem;margin-bottom:1rem;box-shadow:var(--shadow)}
.date-filter label{display:flex;flex-direction:column;gap:.35rem;color:var(--muted);font-size:.82rem;font-weight:700}
.date-filter input{width:100%;border:1px solid #ccd5cf;border-radius:.7rem;padding:.7rem;background:#fbfcfb;color:var(--text)}
.date-filter button{border:0;border-radius:.7rem;padding:.75rem;font-weight:800;background:var(--green);color:#fff}
.date-filter button[data-action="clear-dates"]{background:#e7efe9;color:var(--green-dark)}
.empty{text-align:center;padding:2rem;background:#fff;border:1px dashed #b8c5bd;border-radius:1rem;color:var(--muted)}
.operation-card{border-left-width:.4rem}
.operation-card.tone-red{border-left-color:#dc2626;background:linear-gradient(100deg,#fff1f2 0,#fff 36%)}
.operation-card.tone-red .status{color:#991b1b;background:#fee2e2}
.operation-card.tone-red .card-location svg{color:#dc2626}
.operation-card.tone-yellow{border-left-color:#d97706;background:linear-gradient(100deg,#fffbeb 0,#fff 36%)}
.operation-card.tone-yellow .status{color:#92400e;background:#fef3c7}
.operation-card.tone-yellow .card-location svg{color:#d97706}
.operation-card.tone-green{border-left-color:#16a34a;background:linear-gradient(100deg,#f0fdf4 0,#fff 36%)}
.operation-card.tone-neutral{border-left-color:#94a3b8}
.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;row-gap:1.25rem;padding:.25rem 0}
.stepper>div{min-width:0;scroll-snap-align:none}
.stepper>div:nth-child(5):before{display:none}
.stepper>div:nth-child(n+5):after{content:"";position:absolute;top:-.65rem;width:2px;height:.65rem;background:#d6ddd8}
.stepper>div.complete:nth-child(n+5):after,.stepper>div.current:nth-child(n+5):after{background:var(--green2)}
.location-accordion{padding:0;overflow:hidden}
.location-panel{border:0;box-shadow:none;margin:0;padding:1rem;background:transparent}
.location-panel[aria-expanded="true"]>svg{transform:rotate(90deg)}
.location-accordion .history{border-top:1px solid var(--line);padding:1rem}
.location-accordion .history h2{margin-bottom:1rem}
.capital-total{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#effcf3,#fff)}
.capital-total span{color:var(--muted)}
.capital-total strong{color:var(--green-dark);font-size:1.35rem}
.result-list.detailed>div{align-items:center;gap:.75rem}
.result-list.detailed span{display:flex;flex-direction:column}
.result-list.detailed small{color:var(--muted);font-size:.75rem;margin-top:.2rem}
@media(max-width:410px){.date-filter{grid-template-columns:1fr 1fr}.date-filter button{font-size:.85rem}.stepper span{font-size:.66rem}.result-list.detailed>div{align-items:flex-start}.result-list.detailed strong{white-space:nowrap}}
