:root{--bg:#f3f3f1;--card:#ffffff;--ink:#221f1f;--muted:#626058;--line:#dfdeda;--soft:#f0efeb;--brand:#7f9a2c;--brand-strong:#56691d;--brand-ink:#ffffff;--brand-soft:#eef3df;--side:#221f1f;--side-ink:#e9e8e4;--side-muted:#9b9890;--side-hover:#2f2b2b;--ok:#3f7a1f;--ok-soft:#e8f1df;--warn:#9a5b00;--warn-soft:#fbf0dc;--bad:#a3261d;--bad-soft:#f9e4e2;--radius:6px;--shadow:0 1px 0 rgba(34,31,31,.04);--font:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}@media (prefers-color-scheme:dark){:root{--bg:#141312;--card:#1c1a19;--ink:#ecebe7;--muted:#a19e96;--line:#2f2c2a;--soft:#242220;--brand:#9fbd45;--brand-strong:#b9d462;--brand-ink:#141312;--brand-soft:#26301a;--side:#0f0e0d;--side-ink:#e9e8e4;--side-muted:#8a877f;--side-hover:#1f1d1b;--ok:#8fcf5c;--ok-soft:#1d2a14;--warn:#e6b450;--warn-soft:#2c2312;--bad:#f08a80;--bad-soft:#2e1715;--shadow:none}}*{box-sizing:border-box}body,html{margin:0}body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--brand-strong);text-decoration:none}a:hover{text-decoration:underline}.code,code{font-family:var(--mono);font-size:.84em}code{background:var(--soft);padding:1px 5px;border-radius:3px}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{background:var(--side);color:var(--side-ink);padding:20px 12px;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:2px}.side .brand{display:block;padding:4px 10px 18px;border-bottom:1px solid var(--side-hover);margin-bottom:10px}.side .brand img{width:172px;height:auto;display:block}.side .brand small{display:block;color:var(--side-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-top:8px}.side a.nav{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:4px;color:var(--side-ink);font-weight:500;font-size:.93rem;border-left:3px solid transparent}.side a.nav:hover{background:var(--side-hover);text-decoration:none;border-left-color:var(--brand)}.side a.nav svg{width:18px;height:18px;color:var(--brand);flex:none}.side .sep{height:1px;background:var(--side-hover);margin:10px 4px}.side .me{margin-top:auto;font-size:.78rem;color:var(--side-muted);padding:12px 10px 0;border-top:1px solid var(--side-hover)}.side .me button{margin-top:10px;width:100%;background:transparent;color:var(--side-ink);border-color:var(--side-hover)}.side .me button:hover{background:var(--side-hover)}.side .tag{font-family:var(--mono);color:var(--brand);font-size:.7rem;letter-spacing:.06em;padding:14px 10px 0;text-transform:uppercase}.main{padding:28px 36px 60px;max-width:1240px;width:100%}@media (max-width:860px){.app{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;padding:10px}.side .brand{width:100%;border:0;margin:0;padding-bottom:6px}.side .brand img{width:120px}.side .sep,.side .tag{display:none}.side .me{width:100%}.main{padding:16px}}h1{font-size:1.65rem;margin:0 0 4px;letter-spacing:-.015em}h1,h2{font-weight:600}h2{font-size:1.02rem;margin:0 0 10px}h3{font-size:.92rem;margin:16px 0 6px;font-weight:600}.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-strong)}.sub{margin:0 0 18px}.muted,.sub{color:var(--muted)}.muted{font-size:.88rem}.card{background:var(--card);border:1px solid var(--line);padding:18px 20px;margin:14px 0;box-shadow:var(--shadow)}.card.tight{padding:12px 16px}.card.accent{border-left:3px solid var(--brand)}.grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.row>*{flex:1 1 200px}.between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:14px;gap:14px}.kv div span{display:block;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-family:var(--mono);margin-bottom:2px}.kv strong{font-size:1.15rem;font-weight:600}.stat strong{font-size:1.6rem}label{display:block;font-size:.8rem;color:var(--muted);margin:12px 0 5px;font-weight:500}label.check{display:flex;gap:8px;align-items:center;margin:6px 0;color:var(--ink);font-size:.9rem;font-weight:400}span.label{display:block;font-size:.8rem;color:var(--muted);margin:12px 0 5px;font-weight:500}label.check input{width:auto}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-soft)}input:disabled,select:disabled,textarea:disabled{background:var(--soft);color:var(--ink)}textarea{min-height:88px;resize:vertical}.section-title{margin:24px 0 4px;padding-bottom:6px;border-bottom:1px solid var(--line);font-weight:600;color:var(--brand-strong);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-family:var(--mono)}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:0 16px;gap:0 16px}.fields .wide{grid-column:1/-1}.calc{padding:8px 10px;border:1px dashed var(--line);border-radius:4px;background:var(--soft);min-height:38px;font-family:var(--mono);font-size:.9rem}fieldset{border:1px solid var(--line);border-radius:4px;padding:8px 12px;margin:0}legend{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--brand-strong);font-family:var(--mono);padding:0 4px}.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px;margin-top:12px}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:4px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font-weight:600;font-size:.88rem;white-space:nowrap}.btn:hover,button:hover{background:var(--soft);text-decoration:none}.btn.primary,button.primary{background:var(--brand-strong);border-color:var(--brand-strong);color:#fff}.btn.primary:hover,button.primary:hover{filter:brightness(1.08)}button.danger{color:var(--bad);border-color:var(--bad);background:transparent}button.ghost{border-color:transparent;background:transparent;color:var(--muted)}button:disabled{opacity:.6;cursor:progress}.spinner{width:13px;height:13px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.topbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:50;background:linear-gradient(90deg,transparent,var(--brand),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:slide 1s ease-in-out infinite}@keyframes slide{0%{background-position:-50% 0}to{background-position:150% 0}}.badge{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border-radius:3px;font-size:.72rem;font-weight:600;background:var(--soft);color:var(--muted);border:1px solid var(--line);letter-spacing:.01em}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.ok,.badge.warn{border-color:transparent}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.bad,.badge.brand{border-color:transparent}.badge.brand{background:var(--brand-soft);color:var(--brand-strong)}.alert{padding:10px 14px;border-radius:4px;margin:10px 0;font-weight:500;border-left:3px solid}.alert.ok{background:var(--ok-soft);color:var(--ok)}.alert.bad{background:var(--bad-soft);color:var(--bad)}.alert.warn{background:var(--warn-soft);color:var(--warn)}.progress{position:relative;height:20px;background:var(--soft);border-radius:3px;overflow:hidden;font-size:.72rem;font-weight:600;border:1px solid var(--line)}.progress .bar{background:var(--brand);transition:width .4s}.progress span{position:relative;padding:0 8px;line-height:18px;color:var(--ink);font-family:var(--mono)}.stepper{list-style:none;display:flex;padding:0;margin:6px 0 4px;overflow-x:auto}.step{flex:1 1;min-width:120px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;font-size:.8rem}.step:not(:last-child):after{content:"";position:absolute;top:14px;left:calc(50% + 17px);right:calc(-50% + 17px);height:2px;background:var(--line)}.step.done:not(:last-child):after{background:var(--brand)}.step .dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--card);color:var(--muted);border:2px solid var(--line);z-index:1;font-family:var(--mono);font-size:.8rem}.step.done .dot{background:var(--brand);color:#fff;border-color:var(--brand)}.step.current .dot{color:var(--brand-strong);border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.step .label{margin-top:6px;font-weight:600}.step .label small{display:block;color:var(--muted);font-weight:500;font-family:var(--mono);font-size:.68rem}.step.todo .label{color:var(--muted)}.tabs{display:flex;gap:2px;margin:18px 0 4px;overflow-x:auto}.tabs a{padding:9px 14px;border-bottom:2px solid transparent;color:var(--muted);font-weight:600;white-space:nowrap;font-size:.9rem}.tabs a.on,.tabs a:hover{color:var(--ink)}.tabs a:hover{text-decoration:none}ul.plain{list-style:none;padding:0;margin:0}ul.plain>li{padding:12px 0;border-bottom:1px solid var(--line)}ul.plain>li:last-child{border:0}table.grid{display:table;width:100%;border-collapse:collapse;font-size:.87rem}table.grid td,table.grid th{border-bottom:1px solid var(--line);padding:7px 8px;text-align:left;vertical-align:top}table.grid th{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;font-family:var(--mono)}table.grid input,table.grid select{padding:5px 7px;min-width:96px}.scroll{overflow-x:auto}.doc-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}.doc-item:last-child{border:0}.doc-item .t{font-weight:600}details.stage,details.wbs{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:10px 0}details.stage>summary,details.wbs>summary{cursor:pointer;padding:12px 16px;font-weight:600;display:flex;gap:8px;align-items:center;flex-wrap:wrap;list-style:none}details.stage>summary{justify-content:space-between}details.stage>summary::-webkit-details-marker,details.wbs>summary::-webkit-details-marker{display:none}details.stage>div,details.wbs>div,details.wbs>form{padding:0 16px}details[open]>summary{border-bottom:1px solid var(--line)}details.wbs{margin:6px 0}details.wbs>summary{font-weight:500;padding:9px 14px}.project-card{display:block;color:inherit;border-top:3px solid var(--brand)}.project-card:hover{text-decoration:none;border-color:var(--brand);box-shadow:0 2px 10px rgba(34,31,31,.07)}.empty,.project-card .code{color:var(--muted)}.empty{text-align:center;padding:34px 18px}.ppo{display:flex;flex-wrap:wrap;gap:6px}.doc-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px}.doc-layout.with-preview{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width:1100px){.doc-layout.with-preview{grid-template-columns:1fr}}.preview-frame{width:100%;height:80vh;border:1px solid var(--line);border-radius:var(--radius);background:#e9e8e4}.sticky-actions{position:-webkit-sticky;position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--line);padding:12px 0;margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}.countdown{font-weight:700;font-family:var(--mono);font-size:.85rem}.countdown.soon{color:var(--warn)}.countdown.late{color:var(--bad)}.checklist li{display:flex;gap:10px;align-items:center;padding:6px 0}.checklist input[type=checkbox]{width:auto}.shell{max-width:1100px;margin:0 auto;padding:16px}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login .hero{background:var(--side);color:var(--side-ink);padding:56px;display:flex;flex-direction:column;justify-content:space-between}.login .hero img{width:220px}.login .hero h1{font-size:2.3rem;line-height:1.15;margin:0 0 12px}.login .hero p{color:var(--side-muted);max-width:420px}.login .panel{display:flex;align-items:center;justify-content:center;padding:32px}.login .panel .card{width:100%;max-width:400px}@media (max-width:860px){.login{grid-template-columns:1fr}.login .hero{padding:28px}.login .hero h1{font-size:1.6rem}}.crumb{margin:0 0 10px;font-size:.88rem}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:4px}.page-head h1{margin:4px 0 8px}.page-head .tags{gap:6px;align-items:center}.page-head .tags>*{flex:0 0 auto}.page-head .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.form-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.split{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);grid-gap:14px;gap:14px;margin:14px 0;align-items:start}.split>.card{margin:0}@media (max-width:960px){.split{grid-template-columns:1fr}}table.grid td.right{text-align:right}table.grid .nowrap{white-space:nowrap}table.grid td form{margin:0}table.matrix th{min-width:108px;line-height:1.25;vertical-align:bottom}table.matrix th small{display:block;margin-top:2px;text-transform:none;letter-spacing:0;font-weight:500;font-size:.72rem}table.matrix td:first-child,table.matrix th:first-child{min-width:170px;vertical-align:middle}table.matrix select{min-width:0;width:100%}table.matrix td small{display:block;margin-top:3px;font-size:.7rem}table.grid.middle td{vertical-align:middle}.toolbar{padding:14px 16px}.toolbar .row input{margin:0}.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--card)}.seg a{padding:7px 12px;font-size:.84rem;font-weight:600;color:var(--muted);border-right:1px solid var(--line);white-space:nowrap}.seg a:last-child{border-right:0}.seg a:hover{text-decoration:none;color:var(--ink);background:var(--soft)}.seg a.on{background:var(--brand-strong);color:var(--brand-ink)}.chips{margin-top:10px}.chip{display:inline-flex;gap:6px;align-items:center;padding:4px 11px;font-size:.82rem;color:var(--ink);background:var(--card)}.chip b{font-weight:600;color:var(--muted);font-family:var(--mono);font-size:.75rem}.chip:hover{text-decoration:none;border-color:var(--brand)}.chip.on{background:var(--brand-strong);border-color:var(--brand-strong)}.chip.on,.chip.on b{color:var(--brand-ink)}.chip.clear{border-style:dashed;color:var(--muted)}.files-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:14px;gap:14px;margin:14px 0;align-items:start}.main:has(.files-layout.with-viewer){max-width:1760px}.files-layout.with-viewer{grid-template-columns:minmax(340px,.8fr) minmax(0,1.35fr)}.files-layout.with-viewer .col-opt,.sub-meta{display:none}.sub-meta{font-size:.74rem;color:var(--muted);margin-top:2px}.files-layout.with-viewer .sub-meta{display:block}@media (max-width:1180px){.files-layout.with-viewer{grid-template-columns:1fr}.files-layout.with-viewer .viewer{order:-1;position:static}.files-layout.with-viewer .col-opt{display:table-cell}.files-layout.with-viewer .sub-meta{display:none}}.file-link{display:inline-flex;gap:8px;align-items:flex-start;color:var(--ink);font-weight:500;overflow-wrap:break-word;min-width:0}.file-link .ftype{margin-top:1px}.file-link.on,.file-link:hover{color:var(--brand-strong)}.file-link.on{font-weight:700}.ftype{flex:none;display:inline-grid;place-items:center;min-width:34px;height:20px;padding:0 4px;border-radius:3px;color:#fff;font:700 .62rem var(--mono);letter-spacing:.03em}.viewer{position:-webkit-sticky;position:sticky;top:12px;margin:0;padding:12px 14px}.viewer-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:4px}.viewer-head strong{min-width:0}.viewer-head strong,.viewer-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-meta{font-size:.76rem;margin:0 0 8px;color:var(--muted)}.viewer-frame{width:100%;height:calc(100vh - 200px);min-height:480px;border:1px solid var(--line);border-radius:4px;background:#fff;display:block}@media (max-width:1180px){.viewer-frame{height:72vh;min-height:360px}}.viewer-img{width:100%;max-height:calc(100vh - 200px);object-fit:contain;border:1px solid var(--line);border-radius:4px;background:#fff}details.tree{border-left:2px solid var(--line);margin:4px 0 4px 2px}details.tree>summary{cursor:pointer;padding:6px 10px;font-weight:600;list-style:none}details.tree>summary::-webkit-details-marker{display:none}details.tree[open]>summary .folder-ico{display:inline-block;transform:rotate(90deg)}.folder-ico{display:inline-block;width:14px;color:var(--brand);transition:transform .15s}.tree-body{padding-left:14px}ul.tree-files{padding-left:12px}ul.tree-files>li{padding:6px 0;display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:12px;gap:12px}.file-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:6px;padding:8px;color:var(--ink);background:var(--card)}.file-card:hover{text-decoration:none;border-color:var(--brand)}.file-card.on{border-color:var(--brand-strong);box-shadow:0 0 0 2px var(--brand-soft)}.file-card img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;background:var(--soft)}.fc-name{font-size:.8rem;font-weight:600;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.fc-cat{font-size:.7rem;color:var(--muted)}.viewer-actions{display:flex;gap:6px;flex:none}.viewer-actions .btn{padding:6px 10px}.row>.seg{flex:0 0 auto}table.grid td .badge{white-space:nowrap}.nav-count{margin-left:auto;background:var(--bad);color:#fff;border-radius:999px;padding:0 7px;font-size:.7rem;font-weight:700;line-height:18px}.actions{gap:8px}.actions,.org-legend{display:flex;flex-wrap:wrap;align-items:center}.org-legend{gap:6px 10px;font-size:.8rem;color:var(--muted)}.org-tag{display:inline-block;padding:1px 7px;border-radius:3px;font-size:.66rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;font-family:var(--mono);border:1px solid transparent}.t-multiforcas{background:#2b3a67;color:#fff}.t-nacional{background:var(--brand-strong);color:var(--brand-ink)}.t-regional{background:var(--soft);color:var(--ink);border-color:var(--line)}.t-reg{background:#9a5b00;color:#fff}.t-conf{background:transparent;color:var(--muted);border:1px dashed var(--muted)}.t-estadual{background:#5b3a8a;color:#fff}.t-municipal{background:#0f6b6b;color:#fff}.org-box{--c:var(--line);position:relative;display:flex;flex-direction:column;gap:3px;padding:9px 12px;border:1px solid var(--line);border-top:3px solid var(--c);border-radius:8px;background:var(--card);color:var(--ink);min-width:150px;max-width:260px;box-shadow:var(--shadow);overflow:hidden;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .22s,opacity .3s,filter .3s;animation:org-in .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:min(calc(var(--i, 0) * 18ms),.9s)}.org-box:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,color-mix(in srgb,var(--c) 14%,transparent) 50%,transparent 70%);transform:translateX(-100%);transition:transform .6s;pointer-events:none}.org-box:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--c);box-shadow:0 10px 24px -12px color-mix(in srgb,var(--c) 70%,transparent),0 2px 6px rgba(0,0,0,.06)}.org-box:hover:after{transform:translateX(100%)}.org-box:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.org-box.amb-multiforcas{--c:#2b3a67}.org-box.amb-nacional{--c:var(--brand-strong)}.org-box.amb-regional{--c:#9b9890}.org-box.amb-estadual{--c:#5b3a8a}.org-box.amb-municipal{--c:#0f6b6b}.org-box.is-reg{box-shadow:inset 0 0 0 2px #9a5b00}.org-box.is-reg:hover{box-shadow:inset 0 0 0 2px #9a5b00,0 10px 24px -12px #9a5b00}.org-box.has-proj{background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 7%,var(--card)),var(--card) 60%)}.org-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.org-top strong{letter-spacing:.01em}.org-count{position:relative;background:var(--brand);color:var(--brand-ink);border-radius:999px;padding:0 8px;font-size:.72rem;font-weight:700;line-height:19px;animation:org-pop .45s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(min(calc(var(--i, 0) * 18ms), .9s) + .25s)}.org-count:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 var(--brand);animation:org-ring 1.4s ease-out 1 both;animation-delay:calc(min(calc(var(--i, 0) * 18ms), .9s) + .5s)}.org-name{font-size:.74rem;color:var(--muted);line-height:1.25}.org-local{font-size:.68rem;color:var(--muted);opacity:.85}.org-local:before{content:"📍 ";filter:grayscale(1);opacity:.7}.org-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:3px}.org-go{position:absolute;right:10px;bottom:8px;font-size:.9rem;color:var(--c);opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .2s}.org-box:hover .org-go{opacity:1;transform:none}.org-box.lead{max-width:none;padding:12px 14px;border-top-width:4px}.org-box.lead .org-top strong{font-size:1.08rem}.org-tools{flex-wrap:wrap;margin:12px 0}.org-search,.org-tools{display:flex;gap:8px;align-items:center}.org-search{flex:1 1;min-width:240px;max-width:520px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);transition:border-color .2s,box-shadow .2s}.org-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 18%,transparent)}.org-search svg{width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;flex:none}.org-search input{border:0;background:transparent;padding:9px 0;flex:1 1;min-width:0;outline:none;box-shadow:none}.org-hits{font-size:.72rem;font-weight:700;color:var(--brand-strong);white-space:nowrap;animation:org-fade .25s both}.org-hits.none{color:var(--bad)}.org-chart.searching .org-box:not(.hit){opacity:.28;filter:grayscale(.8)}.org-chart.searching .org-box.hit{transform:translateY(-2px) scale(1.02);border-color:var(--brand);animation:org-hit 1.6s ease-in-out infinite;z-index:1}.org-root{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;margin:14px 0 0;padding-bottom:22px}.org-root>.org-box{min-width:280px}.org-root:after{content:"";position:absolute;left:50%;bottom:0;width:2px;height:22px;background:var(--line);transform-origin:top;animation:org-grow-y .4s ease-out .35s both}.org-md-kids{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.org-forces{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start;padding-top:18px}.org-forces:not(.org-civil):before{content:"";position:absolute;top:0;left:16.66%;right:16.66%;height:2px;background:var(--line);transform-origin:center;animation:org-grow-x .5s ease-out .6s both}@media (max-width:1100px){.org-forces{grid-template-columns:1fr}.org-forces:not(.org-civil):before{display:none}}.org-force{--fc:var(--brand);position:relative;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 12px 12px;animation:org-in .55s cubic-bezier(.2,.8,.2,1) both;transition:box-shadow .25s}.org-forces>.org-force:nth-child(2){animation-delay:.08s}.org-forces>.org-force:nth-child(3){animation-delay:.16s}.org-forces>.org-force:nth-child(n+4){animation-delay:.22s}.org-force:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:10px 10px 0 0;background:linear-gradient(90deg,var(--fc),color-mix(in srgb,var(--fc) 30%,transparent))}.org-forces:not(.org-civil)>.org-force:after{content:"";position:absolute;left:50%;top:-18px;width:2px;height:18px;background:var(--line);transform-origin:top;animation:org-grow-y .3s ease-out .9s both}@media (max-width:1100px){.org-forces>.org-force:after{display:none}}.org-force:hover{box-shadow:0 14px 30px -22px rgba(0,0,0,.35)}.org-force>.org-box{max-width:none}.f-mb{--fc:#1d3f8f}.f-eb{--fc:#4b5d23}.f-fab{--fc:#2f6f9f}.f-mb>.org-box{--c:#1d3f8f}.f-eb>.org-box{--c:#4b5d23}.f-fab>.org-box{--c:#2f6f9f}.org-civil{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));padding-top:0}.org-civil>.org-force{--fc:#9b9890}.org-civil>.org-force:has(>.amb-nacional){--fc:var(--brand-strong)}.org-civil>.org-force:has(>.amb-multiforcas){--fc:#2b3a67}.org-civil>.org-force:has(>.amb-estadual){--fc:#5b3a8a}.org-civil>.org-force:has(>.amb-municipal){--fc:#0f6b6b}ul.org-tree{position:relative;list-style:none;margin:6px 0 0 10px;padding:0 0 0 14px}ul.org-tree:before{content:"";position:absolute;left:0;top:0;bottom:18px;width:2px;border-radius:2px;background:var(--line);transform-origin:top;animation:org-grow-y .45s ease-out both;animation-delay:.15s}ul.org-tree>li{position:relative;margin:8px 0}ul.org-tree>li:before{content:"";position:absolute;left:-14px;top:20px;width:12px;height:2px;background:var(--line);transform-origin:left;animation:org-grow-x .3s ease-out both;animation-delay:.3s}ul.org-tree .org-box{max-width:none}ul.org-tree>li:hover:before{background:var(--brand)}ul.org-tree details{margin:4px 0 0 2px}ul.org-tree summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:.7rem;font-weight:600;color:var(--muted);padding:2px 9px 2px 6px;border-radius:999px;border:1px solid var(--line);background:var(--soft);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .2s,border-color .2s,background .2s}ul.org-tree summary::-webkit-details-marker{display:none}ul.org-tree summary:hover{color:var(--brand-strong);border-color:var(--brand);background:var(--brand-soft)}ul.org-tree summary .chev{display:inline-block;font-size:.95rem;line-height:1;transition:transform .25s cubic-bezier(.2,.8,.2,1)}ul.org-tree details[open]>summary .chev{transform:rotate(90deg)}ul.org-tree details[open]>ul.org-tree{animation:org-drop .35s cubic-bezier(.2,.8,.2,1) both}.org-chart.ready details .org-box,.org-chart.ready details .org-count,.org-chart.ready details .org-count:after{animation:none}.org-chart.ready ul.org-tree details ul.org-tree:before,.org-chart.ready ul.org-tree details ul.org-tree>li:before{animation-delay:0s}@supports (interpolate-size:allow-keywords){.org-chart{interpolate-size:allow-keywords}ul.org-tree details::details-content{height:0;overflow:clip;transition:height .35s cubic-bezier(.2,.8,.2,1),content-visibility allow-discrete .35s}ul.org-tree details[open]::details-content{height:auto}}.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}.org-grid .org-box{max-width:none}@keyframes org-in{0%{opacity:0;translate:0 10px;scale:.98}to{opacity:1;translate:none;scale:none}}@keyframes org-fade{0%{opacity:0}to{opacity:1}}@keyframes org-pop{0%{opacity:0;scale:.3}to{opacity:1;scale:none}}@keyframes org-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 60%,transparent)}to{box-shadow:0 0 0 9px transparent}}@keyframes org-grow-y{0%{transform:scaleY(0)}to{transform:none}}@keyframes org-grow-x{0%{transform:scaleX(0)}to{transform:none}}@keyframes org-drop{0%{opacity:0;translate:0 -6px}to{opacity:1;translate:none}}@keyframes org-hit{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 0%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 30%,transparent)}}@media (prefers-reduced-motion:reduce){.org-box,.org-chart.searching .org-box.hit,.org-count,.org-count:after,.org-force,.org-force:after,.org-forces:before,.org-root:after,ul.org-tree details[open]>ul.org-tree,ul.org-tree:before,ul.org-tree>li:before{animation:none!important}.org-box,.org-box:after,.org-go,ul.org-tree summary .chev{transition:none!important}}.version{margin-top:12px;font-family:var(--mono);font-size:.66rem;letter-spacing:.02em;color:var(--side-muted);opacity:.8}.version.on-light{color:var(--muted);text-align:center}:root{--radius:8px;--shadow:0 1px 2px rgba(34,31,31,.05),0 1px 1px rgba(34,31,31,.03);--ease:cubic-bezier(.2,.8,.2,1)}@media (prefers-color-scheme:dark){:root{--shadow:0 1px 0 rgba(0,0,0,.25)}}.main>*{animation:ui-in .45s var(--ease) backwards}.main>:nth-child(2){animation-delay:.04s}.main>:nth-child(3){animation-delay:.08s}.main>:nth-child(4){animation-delay:.12s}.main>:nth-child(5){animation-delay:.16s}.main>:nth-child(6){animation-delay:.2s}.main>:nth-child(n+7){animation-delay:.24s}.grid.cards-in>*{animation:ui-in .4s var(--ease) backwards}.grid.cards-in>:nth-child(2){animation-delay:.03s}.grid.cards-in>:nth-child(3){animation-delay:.06s}.grid.cards-in>:nth-child(4){animation-delay:.09s}.grid.cards-in>:nth-child(5){animation-delay:.12s}.grid.cards-in>:nth-child(6){animation-delay:.15s}.grid.cards-in>:nth-child(n+7){animation-delay:.18s}@keyframes ui-in{0%{opacity:0;translate:0 8px}}.side a.nav{transition:background .18s,border-color .18s,color .18s;border-radius:6px}.side a.nav svg{transition:transform .2s var(--ease)}.side a.nav:hover svg{transform:scale(1.12)}.side a.nav.on{background:var(--side-hover);border-left-color:var(--brand);color:#fff}.side a.nav.on svg{color:var(--brand)}.card{border-radius:10px}.card.flush table.grid td:first-child,.card.flush table.grid th:first-child,.card.flush>.scroll>table.grid td:first-child,.card.flush>.scroll>table.grid th:first-child{padding-left:16px}.card.flush table.grid td:last-child,.card.flush table.grid th:last-child{padding-right:16px}.card.flush table.grid th{background:var(--soft);padding-top:10px;padding-bottom:10px}.card.flush table.grid tbody tr:last-child td{border-bottom:0}.card.flush>.empty,.card.flush>p.empty{margin:0}.card.accent{border-left-width:4px}.card.empty,p.empty{border:1px dashed var(--line);background:color-mix(in srgb,var(--soft) 60%,transparent);border-radius:10px}.card.empty:before,p.empty:before{content:"";display:block;width:38px;height:38px;margin:0 auto 10px;border-radius:50%;background:var(--brand-soft) radial-gradient(circle at 50% 50%,var(--brand) 0 4px,transparent 5px);opacity:.9}.card p.empty{border:0;background:none}.page-head{margin-bottom:8px}h1{letter-spacing:-.02em}.alert{border-radius:8px;animation:ui-in .35s var(--ease) backwards}.plain-link{color:var(--ink);font-weight:500}.plain-link:hover{color:var(--brand-strong)}.kv.card{background:transparent;border:0;box-shadow:none;padding:0;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.kv.card>*{position:relative;display:block;padding:12px 14px 12px 16px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(160deg,var(--card),color-mix(in srgb,var(--soft) 70%,var(--card)));box-shadow:var(--shadow);color:var(--ink);overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s}.kv.card>:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--brand);opacity:.75}.kv div span,.kv.card>*>span:first-child{display:block;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-family:var(--mono);margin-bottom:4px}.kv.card strong{display:block;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a.kpi-link:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--brand);box-shadow:0 10px 22px -16px rgba(0,0,0,.4)}a.kpi-link.on{border-color:var(--brand-strong);background:var(--brand-soft)}a.kpi-link.on:after{content:"filtrando";position:absolute;right:10px;top:10px;font:700 .6rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--brand-strong)}.tabs{gap:4px}.tabs a{position:relative;border-radius:6px 6px 0 0;transition:color .18s,background .18s}.tabs a:hover{background:var(--soft)}.tabs a:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--brand);transform:scaleX(0);transition:transform .25s var(--ease)}.tabs a.on{border-color:transparent}.tabs a.on:after{transform:none}table.grid tbody tr{transition:background .15s}table.grid tbody tr:hover>td{background:color-mix(in srgb,var(--brand-soft) 45%,transparent)}table.grid td.right,table.grid th.right{text-align:right}.btn,button{border-radius:6px;transition:background .15s,border-color .15s,box-shadow .2s,transform .1s,filter .15s}.btn:active,button:active{transform:translateY(1px)}.btn.primary,button.primary{box-shadow:0 1px 0 rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.12)}.btn.primary:hover,button.primary:hover{box-shadow:0 6px 16px -8px var(--brand-strong)}input,select,textarea{border-radius:6px}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)}.badge{border-radius:5px}.chip{transition:border-color .15s,background .15s,color .15s}.project-card{border-radius:10px;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s}.project-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px -18px rgba(0,0,0,.35)}.progress{border-radius:999px}.progress .bar{transition:width .8s var(--ease)}.more{display:flex;justify-content:center;margin:16px 0}.filters{position:relative;margin:14px 0;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.filters-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.f-search{flex:3 1 260px;display:flex;align-items:center;gap:8px;padding:0 12px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--card);margin:0;transition:border-color .15s,box-shadow .15s}.f-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)}.f-search svg{width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;flex:none}.f-search input{border:0;padding:0;height:36px;background:transparent;box-shadow:none!important;min-width:0}.f-select{flex:1 1 150px;max-width:240px;margin:0;display:flex;flex-direction:column;gap:3px}.f-select>span{font-size:.66rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.f-select select{height:38px;padding:0 30px 0 10px;border-radius:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 9px center /14px}.f-select.on select{border-color:var(--brand);background-color:var(--brand-soft);font-weight:600}.f-select.on select,.f-select.on>span{color:var(--brand-strong)}.filters-foot{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);font-size:.84rem}.filters-count{color:var(--muted);margin-right:6px}.filters-count strong{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fchip{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);font-weight:600;font-size:.78rem;border:1px solid transparent;animation:ui-pop .25s var(--ease) backwards;transition:border-color .15s,background .15s}.fchip span{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--brand) 25%,transparent);font-size:.8rem;line-height:1}.fchip:hover{text-decoration:none;border-color:var(--brand)}.fchip.clear{background:transparent;color:var(--muted);border:1px dashed var(--line);padding-right:10px}.filters-extra{margin-left:auto}.fseg{display:inline-flex;padding:3px;gap:2px;border-radius:8px;background:var(--soft);border:1px solid var(--line)}.fseg a{padding:4px 11px;border-radius:6px;font-size:.8rem;font-weight:600;color:var(--muted);white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}.fseg a:hover{text-decoration:none;color:var(--ink)}.fseg a.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}.filters.is-loading:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--brand),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:slide 1s ease-in-out infinite}@keyframes ui-pop{0%{opacity:0;scale:.85}}@media (max-width:700px){.f-select{max-width:none;flex-basis:calc(50% - 5px)}.filters-extra{margin-left:0}}@media (prefers-reduced-motion:reduce){.alert,.fchip,.grid.cards-in>*,.main>*{animation:none!important}.btn,.project-card,a.kpi-link,button{transition:none!important}}.app{grid-template-columns:240px minmax(0,1fr)}.main{min-width:0}@media (max-width:860px){.app{grid-template-columns:minmax(0,1fr)}}.grid>.card{margin:0}.progress{height:auto;background:none;border:0;border-radius:0;overflow:visible;font-size:.74rem}.progress .p-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px;color:var(--muted);font-weight:600}.progress .p-top b{font-family:var(--mono);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.progress .p-track{position:relative;height:6px;border-radius:999px;background:var(--soft);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}.progress .bar{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,var(--brand-strong),var(--brand));animation:ui-grow .9s var(--ease) backwards .15s;transform-origin:left}@keyframes ui-grow{0%{scale:0 1}}@media (prefers-reduced-motion:reduce){.progress .bar{animation:none}}.progress .p-top span{padding:0;line-height:1.3;font-family:inherit;color:var(--muted)}.side-nav,.side-top{display:contents}.f-toggle,.nav-backdrop,.side-quick{display:none}@media (max-width:860px){.side{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:block;height:auto;padding:env(safe-area-inset-top) 0 0;background:var(--side);box-shadow:0 1px 0 rgba(255,255,255,.04),0 6px 18px -12px rgba(0,0,0,.6)}.side-top{justify-content:space-between;height:56px;padding:0 8px 0 16px}.side .brand,.side-top{display:flex;align-items:center}.side .brand{width:auto;border:0;margin:0;padding:0}.side .brand img{width:92px}.side .brand small{display:none}.side-quick{display:flex;gap:2px;align-items:center}.quick-bell{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:10px;color:var(--side-ink)}.menu-btn:active,.quick-bell:active{background:var(--side-hover)}.quick-bell svg{width:22px;height:22px;color:var(--brand)}.quick-bell .nav-count{position:absolute;top:5px;right:3px;margin:0;padding:0 5px;font-size:.62rem;line-height:16px}.menu-btn{width:44px;height:44px;padding:0;border:0;border-radius:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.menu-btn,.menu-btn:hover{background:transparent}.menu-btn span{display:block;width:20px;height:2px;border-radius:2px;background:var(--side-ink);transition:transform .25s var(--ease),opacity .2s}.nav-open .menu-btn span:first-child{transform:translateY(7px) rotate(45deg)}.nav-open .menu-btn span:nth-child(2){opacity:0}.nav-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.side-nav{position:fixed;top:calc(56px + env(safe-area-inset-top));right:0;bottom:0;z-index:42;width:min(86vw,330px);display:flex;flex-direction:column;gap:2px;padding:12px 12px calc(16px + env(safe-area-inset-bottom));background:var(--side);overflow-y:auto;overscroll-behavior:contain;transform:translateX(102%);transition:transform .3s var(--ease);box-shadow:-18px 0 40px -20px rgba(0,0,0,.7)}.nav-open .side-nav{transform:none}.nav-backdrop{display:block;position:fixed;inset:calc(56px + env(safe-area-inset-top)) 0 0 0;z-index:41;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .25s}.nav-open .nav-backdrop{opacity:1;pointer-events:auto}html.nav-open,html.nav-open body{overflow:hidden}.side a.nav{padding:12px;font-size:1rem}.side .sep{display:block}.side .tag{display:none}.side .me{width:auto;margin-top:auto;padding:14px 10px 0}.main{padding:16px 14px calc(40px + env(safe-area-inset-bottom))}h1{font-size:1.4rem}h2{font-size:.98rem}.sub{font-size:.9rem;margin-bottom:12px}.card{padding:14px;margin:10px 0}.card.tight{padding:10px 12px}.between>div:first-child,.page-head>div:first-child{min-width:0}.page-head{align-items:flex-start}.between>.actions,.page-head .actions{width:100%}.between>.actions>*,.page-head .actions>*{flex:1 1 auto}.btn,button{min-height:40px}input,select,textarea{font-size:16px}.kv.card{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kv.card>*{padding:10px 12px 10px 14px;border-radius:10px}.kv div span,.kv.card>*>span:first-child{font-size:.6rem;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kv.card strong{font-size:1.25rem!important}a.kpi-link.on:after{display:none}.tabs{margin:14px -14px 4px;padding:0 14px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.filters{padding:10px}.filters-row{gap:8px}.f-search{flex:1 1;min-width:0;height:42px}.f-toggle{display:inline-flex;align-items:center;gap:6px;margin:0;height:42px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font-weight:600;font-size:.88rem;cursor:pointer;flex:0 0 auto}.f-toggle input{display:none}.f-toggle:before{content:"";width:14px;height:10px;background:linear-gradient(currentColor 0 0) top/100% 2px no-repeat,linear-gradient(currentColor 0 0) 50%/70% 2px no-repeat,linear-gradient(currentColor 0 0) bottom/40% 2px no-repeat}.filters:has(.f-toggle input:checked) .f-toggle{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-strong)}.filters .f-select{display:none;flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 4px);max-width:none}.filters .f-select.on,.filters:has(.f-toggle input:checked) .f-select{display:flex;animation:ui-in .25s var(--ease) backwards}.filters-foot{gap:6px}.filters-extra{width:100%;margin:4px 0 0}.fseg{width:100%}.fseg a{flex:1 1;text-align:center}.scroll{-webkit-overflow-scrolling:touch;background:linear-gradient(90deg,var(--card) 30%,transparent) 0/24px 100% no-repeat local,linear-gradient(270deg,var(--card) 30%,transparent) 100%/24px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.14),transparent) 0/10px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.14),transparent) 100%/10px 100% no-repeat scroll}table.grid{font-size:.84rem}table.grid td,table.grid th{padding:9px 8px}.grid{grid-template-columns:minmax(0,1fr);gap:10px}.project-card h2{font-size:1rem}.kv.card,.kv.card.tight{padding:0;background:transparent;border:0}.filters .f-search{order:0;flex:1 1;min-width:0}.filters .f-toggle{order:1}.filters .f-select{order:2}.between>.btn.primary,.page-head .actions .btn.primary{justify-content:center}.filters .f-search{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 140px)}}.side{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--side-hover) transparent}.menu,.menu ul{list-style:none;margin:0;padding:0}.menu{display:flex;flex-direction:column;gap:2px}.side .menu .nav{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;min-height:0;border:0;border-left:3px solid transparent;border-radius:6px;background:transparent;color:var(--side-ink);font:500 .93rem var(--font);text-align:left;justify-content:flex-start;cursor:pointer;box-shadow:none;transform:none}.side .menu .nav:hover{background:var(--side-hover);text-decoration:none;border-left-color:var(--brand)}.side .menu .nav svg:first-child{width:18px;height:18px;color:var(--brand);flex:none;transition:transform .2s var(--ease)}.side .menu .nav:hover svg:first-child{transform:scale(1.12)}.side .menu .nav.on{background:var(--side-hover);border-left-color:var(--brand);color:#fff}.side .menu .nav.group.in{color:#fff;border-left-color:color-mix(in srgb,var(--brand) 60%,transparent)}.m-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu .chev{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;color:var(--side-muted);transition:transform .25s var(--ease)}.m-group.open>button>.chev{transform:rotate(90deg)}.menu .nav-count{margin-left:0}.m-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease)}.m-group.open>.m-sub{grid-template-rows:1fr}.m-sub>ul{overflow:hidden;min-height:0;margin-left:19px;padding-left:8px;border-left:1px solid var(--side-hover)}.m-group.open>.m-sub>ul{padding-top:2px;padding-bottom:4px}.side .menu .sub-link{position:relative;width:100%;display:flex;align-items:center;gap:8px;padding:6px 10px;min-height:0;border:0;border-radius:6px;background:transparent;color:var(--side-muted);font:500 .86rem var(--font);text-align:left;justify-content:flex-start;cursor:pointer;box-shadow:none;transform:none;transition:color .15s,background .15s}.side .menu .sub-link:hover{color:var(--side-ink);background:var(--side-hover);text-decoration:none}.side .menu .sub-link.on{color:#fff;background:var(--side-hover);font-weight:600}.side .menu .sub-link.on:before{content:"";position:absolute;left:-7px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--brand)}.side .menu .sub-link.group.in{color:var(--side-ink)}.m-group.d1>.m-sub>ul{margin-left:12px}.m-group>.m-sub>ul>li{opacity:0;translate:-4px 0;transition:opacity .2s,translate .2s var(--ease)}.m-group.open>.m-sub>ul>li{opacity:1;translate:none}.m-group.open>.m-sub>ul>li:nth-child(2){transition-delay:.03s}.m-group.open>.m-sub>ul>li:nth-child(3){transition-delay:.06s}.m-group.open>.m-sub>ul>li:nth-child(4){transition-delay:.09s}.m-group.open>.m-sub>ul>li:nth-child(n+5){transition-delay:.12s}@media (max-width:860px){.side{overflow:visible}.side .menu .nav{padding:12px;font-size:1rem}.side .menu .sub-link{padding:10px 12px;font-size:.95rem}}@media (prefers-reduced-motion:reduce){.m-group>.m-sub>ul>li,.m-sub,.menu .chev{transition:none!important}}@media (max-width:1180px){.files-layout.with-viewer{grid-template-columns:minmax(0,1fr)}}@media (max-width:1100px){.doc-layout.with-preview{grid-template-columns:minmax(0,1fr)}}@media (max-width:960px){.split{grid-template-columns:minmax(0,1fr)!important}}.doc-layout>*,.files-layout>*,.split>*,.viewer{min-width:0}@media (max-width:860px){.viewer{padding:12px}.viewer-head{flex-wrap:wrap;align-items:flex-start}.viewer-head strong{white-space:normal;overflow-wrap:anywhere;flex:1 1 100%;font-size:.95rem}.viewer-actions{flex:1 1 100%}.viewer-actions .btn,.viewer-actions button{flex:1 1 auto;min-height:38px}.viewer-meta{white-space:normal;font-size:.78rem}.viewer-frame{height:62vh;min-height:320px}.viewer-img{max-height:62vh}.seg{max-width:100%;overflow-x:auto;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg a{flex:1 0 auto;text-align:center}.toolbar{padding:10px}.toolbar input{font-size:16px}.file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.page-head h1,h1{overflow-wrap:anywhere}.page-head .tags{flex-wrap:wrap}.crumb{font-size:.92rem}.kv.card>*{min-width:0;overflow-wrap:anywhere}.files-layout .col-opt,.files-layout.with-viewer .col-opt{display:none}.files-layout .sub-meta,.files-layout.with-viewer .sub-meta{display:block}}table.people td{padding-top:8px;padding-bottom:8px}table.people select{min-width:150px}table.people tr.row-new>td{background:color-mix(in srgb,var(--warn-soft) 55%,transparent)}table.people tr.row-off>td{opacity:.6}.fn-pick{position:relative;min-width:220px}.fn-pick>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:36px;padding:4px 30px 4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 9px center /14px;transition:border-color .15s}.fn-pick>summary::-webkit-details-marker{display:none}.fn-pick>summary:hover,.fn-pick[open]>summary{border-color:var(--brand)}.fn-pick.has>summary{background-color:color-mix(in srgb,var(--brand-soft) 60%,var(--card))}.fn-chip{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--brand-strong);color:var(--brand-ink);font-size:.74rem;font-weight:600;white-space:nowrap}.fn-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:260px;max-height:320px;overflow:auto;padding:6px 10px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 40px -18px rgba(0,0,0,.45);animation:ui-in .18s var(--ease) backwards}.fn-menu label.check{margin:0;padding:6px 2px;border-bottom:1px solid var(--soft)}.fn-menu label.check:last-child{border:0}.card.flush .scroll:has(.fn-pick[open]){overflow:visible}.fn-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:8px;gap:8px}.fn-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.fn-item .muted{font-size:.76rem}details.fn-item{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}details.fn-item[open]{grid-column:1/-1;background:var(--card)}details.fn-item>summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:2px}details.fn-item>summary::-webkit-details-marker{display:none}@media (max-width:860px){.fn-pick{min-width:190px}table.people select{min-width:130px}}.day-head{margin-bottom:6px}.day-head h1{font-size:1.9rem;margin:4px 0 6px}.day-head .eyebrow:first-letter{text-transform:uppercase}.day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin:14px 0;align-items:start}.day-grid>.card{margin:0}.day-card.wide{grid-column:1/-1}.day-card h2{display:flex;align-items:center;gap:8px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.dot.bad{background:var(--bad);box-shadow:0 0 0 4px var(--bad-soft)}.dot.warn{background:var(--warn);box-shadow:0 0 0 4px var(--warn-soft)}.day-list{list-style:none;margin:0;padding:0}.day-list>li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.day-list>li:last-child{border:0}.day-list a{display:flex;flex-direction:column;min-width:0;color:var(--ink)}.day-list a:hover{text-decoration:none}.day-list a:hover .t{color:var(--brand-strong)}.day-list .t{font-weight:600;font-size:.92rem;transition:color .15s}.day-list .m{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-list .badge{flex:none}.day-empty{margin:0;padding:18px 4px;color:var(--muted);font-size:.88rem}.day-empty:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border-radius:50%;background:var(--ok-soft);color:var(--ok);font-weight:700}.more-link{font-size:.84rem;font-weight:600}.day-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:10px;gap:10px;margin-top:12px}.day-project{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--card);transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}.day-project:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--brand);box-shadow:0 12px 24px -18px rgba(0,0,0,.4)}.day-project .code{font-family:var(--mono);font-size:.72rem;color:var(--muted)}.day-project .falta{font-size:.74rem}@media (max-width:960px){.day-grid{grid-template-columns:minmax(0,1fr)}.day-head h1{font-size:1.5rem}}.qs-btn{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 10px;padding:8px 10px;min-height:0;border:1px solid var(--side-hover);border-radius:8px;background:color-mix(in srgb,var(--side-hover) 55%,transparent);color:var(--side-muted);font:500 .86rem var(--font);justify-content:flex-start;cursor:pointer}.qs-btn:hover{background:var(--side-hover);color:var(--side-ink);border-color:color-mix(in srgb,var(--brand) 50%,var(--side-hover))}.qs-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;flex:none}.qs-btn span{flex:1 1;text-align:left}.qs kbd,.qs-btn kbd{font:600 .64rem var(--mono);padding:2px 5px;border-radius:4px;border:1px solid;opacity:.7}.side-quick .qs-btn.compact{display:none}.qs-backdrop{position:fixed;inset:0;z-index:100;background:rgba(15,14,13,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;animation:ui-fade .15s both}@keyframes ui-fade{0%{opacity:0}}.qs{width:min(680px,100%);max-height:72vh;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 80px -20px rgba(0,0,0,.55);overflow:hidden;animation:qs-in .22s var(--ease) both}@keyframes qs-in{0%{opacity:0;translate:0 -10px;scale:.98}}.qs-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.qs-input svg{width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;flex:none}.qs-input input{border:0;padding:0;font-size:1.05rem;background:transparent;box-shadow:none!important}.qs-list{list-style:none;margin:0;padding:6px;overflow-y:auto}.qs-group{padding:10px 10px 4px;font:700 .64rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.qs-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer}.qs-item.on{background:var(--brand-soft)}.qs-item.on .qs-title{color:var(--brand-strong)}.qs-kind{flex:none;display:inline-grid;place-items:center;width:36px;height:24px;border-radius:6px;font:700 .6rem var(--mono);text-transform:uppercase;background:var(--soft);color:var(--muted)}.k-projeto{background:#e6eed3;color:#56691d}.k-pregao{background:#f4e6cf;color:#8a5300}.k-orgao{background:#dfe5f2;color:#2b3a67}.k-contrato{background:#e9e0f2;color:#5b3a8a}.k-arquivo{background:#dcefee;color:#0f6b6b}.k-documento{background:#f2e1df;color:#a3261d}@media (prefers-color-scheme:dark){.qs-kind{filter:brightness(.75) saturate(1.2)}}.qs-text{display:flex;flex-direction:column;min-width:0;flex:1 1}.qs-title{font-weight:600;font-size:.92rem}.qs-sub,.qs-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qs-sub{font-size:.76rem;color:var(--muted)}.qs-enter{opacity:0;color:var(--brand-strong);font-weight:700}.qs-item.on .qs-enter{opacity:1}.qs-none{padding:16px 10px;font-size:.88rem}.qs-foot,.qs-none{color:var(--muted)}.qs-foot{display:flex;gap:16px;flex-wrap:wrap;padding:8px 14px;border-top:1px solid var(--line);font-size:.74rem;background:var(--soft)}.qs-foot kbd{margin-right:3px}@media (max-width:860px){.side-nav>.qs-btn{display:none}.side-quick .qs-btn.compact{display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:0;background:transparent;color:var(--side-ink)}.side-quick .qs-btn.compact svg{width:21px;height:21px}.qs-backdrop{padding:12px;align-items:stretch}.qs{max-height:none;height:100%}.qs-foot{display:none}}@media (max-width:700px){table.grid.stack,table.grid.stack tbody,table.grid.stack td,table.grid.stack tr{display:block;width:100%}table.grid.stack thead{display:none}.scroll:has(>table.stack){overflow:visible;background:none}.card.flush:has(table.stack){background:transparent;border:0;box-shadow:none;overflow:visible}table.grid.stack tr{margin:0 0 10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);box-shadow:var(--shadow)}table.grid.stack tbody tr:hover>td{background:none}table.grid.stack td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0!important;border:0;text-align:right}table.grid.stack td:before{content:attr(data-label);flex:none;text-align:left;font:600 .64rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}table.grid.stack td:first-child{display:block;text-align:left;font-size:1rem;padding:0 0 8px!important;margin-bottom:6px;border-bottom:1px solid var(--line)}table.grid.stack td.col-opt:empty,table.grid.stack td:empty,table.grid.stack td:first-child:before{display:none}table.grid.stack td.right{text-align:right}}.only-m{display:none}@media (max-width:700px){.only-m{display:block;white-space:normal;margin-top:4px;font-size:.95rem}table.grid.stack td.hide-m{display:none}table.grid.stack td:not(:first-child){display:inline-flex;width:auto;justify-content:flex-start;gap:5px;margin:2px 14px 2px 0;text-align:left;font-size:.84rem}table.grid.stack td:not(:first-child) .badge{font-size:.7rem}table.grid.stack td.hide-m:not(:first-child),table.grid.stack.bare td:before{display:none}}.tpl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:12px;gap:12px}.tpl{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.tpl.on{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}.tpl-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.tpl p{margin:0;font-size:.8rem}.tpl-preview{width:100%;height:330px;border:1px solid var(--line);border-radius:8px;background:#F3F3F1}.tpl-actions{display:flex;gap:6px;flex-wrap:wrap}.tpl-actions form{margin:0}.copy-badge{margin-left:6px;font-size:.66rem;vertical-align:1px}.dup-list{display:flex;flex-direction:column;gap:10px}.dup-group{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--soft)}.dup-group table.grid{background:var(--card);border-radius:8px}.dup-group input[type=checkbox],.dup-group input[type=radio]{width:auto}details.dup-group>summary{cursor:pointer;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.imp-err{color:var(--bad);font-size:.76rem;font-weight:600}.imp-warn{color:var(--warn);font-size:.76rem}.visit-group{margin:18px 0 6px}.visit-group h2{display:flex;align-items:center;gap:8px}.visit-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:10px;gap:10px}.visit-card{display:flex;flex-direction:column;gap:4px;padding:14px;border-left:1px solid var(--line);border:1px solid var(--line);border-left-width:4px;border-radius:10px;background:var(--card);color:var(--ink);transition:transform .2s var(--ease),box-shadow .2s,border-color .2s}.visit-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 12px 24px -18px rgba(0,0,0,.4)}.visit-card.s-em_andamento{border-left-color:var(--brand)}.visit-card.s-concluida{border-left-color:var(--ok)}.visit-card .code{font-family:var(--mono);font-size:.74rem;color:var(--muted)}.photo-status .p-track,.visit-card .p-track{height:5px;border-radius:999px;background:var(--soft);overflow:hidden;margin-top:6px}.photo-status .bar,.visit-card .bar{height:100%;background:var(--brand);border-radius:999px;transition:width .3s}.visit-addr,.visit-meta{font-size:.78rem}.visit-addr-line{margin:-4px 0 8px}.visit-steps{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0}.visit-steps form{margin:0}button.big{padding:12px 20px;font-size:1rem;min-height:48px}.visit-progress{color:var(--muted);font-size:.88rem}.visit-progress b{color:var(--ink);font-size:1.05rem}ul.check-list{list-style:none;margin:0;padding:0}ul.check-list>li{padding:10px 0;border-bottom:1px solid var(--line)}ul.check-list>li:last-child{border:0}ul.check-list label.check{margin:0 0 6px;font-size:.98rem}ul.check-list label.check input{width:22px;height:22px;accent-color:var(--brand-strong);flex:none}ul.check-list li.done label.check span{color:var(--muted);text-decoration:line-through}ul.check-list li>input{padding:6px 9px;font-size:.85rem}.photo-up{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.photo-up>input{flex:1 1 220px}.photo-btn{cursor:pointer;min-height:44px}.photo-status{flex:1 1 100%;font-size:.86rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.photo{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:.74rem}.photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:var(--soft)}.sig-box{position:relative;margin:8px 0}.sig-box canvas{display:block;width:100%;height:200px;border:2px dashed var(--line);border-radius:10px;background:#fff;touch-action:none;cursor:crosshair}.sig-hint{position:absolute;inset:0;display:grid;place-items:center;color:#9b9890;pointer-events:none;font-size:.95rem}.sig-done{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.sig-done img{max-width:320px;width:100%;background:#fff;border:1px solid var(--line);border-radius:8px}@media (max-width:860px){.visit-steps button.big{width:100%}.visit-steps form{flex:1 1 100%}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-btn{flex:1 1 100%}}.ss{position:relative}.ss-input{padding-right:52px;text-overflow:ellipsis;cursor:text}.ss.has .ss-input{font-weight:500}.ss-caret{position:absolute;right:11px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);pointer-events:none;transition:transform .2s}.ss.open .ss-caret{transform:rotate(225deg);margin-top:-2px}.ss-clear{position:absolute;right:26px;top:50%;translate:0 -50%;width:22px;height:22px;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1rem;line-height:1}.ss-clear:hover{background:var(--soft);color:var(--ink)}.ss-list{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;min-width:240px;max-height:320px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 40px -16px rgba(0,0,0,.45);animation:ui-in .15s var(--ease) backwards}.ss-opt{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:.9rem}.ss-opt small{color:var(--muted);font-size:.74rem;white-space:nowrap}.ss-opt.on{background:var(--brand-soft);color:var(--brand-strong)}.ss-opt.cur{font-weight:700}.ss-opt.cur:after{content:"✓";color:var(--brand-strong);margin-left:auto}.ss-opt.empty{color:var(--muted);font-style:italic}.ss-group{padding:8px 10px 3px;font:700 .62rem var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.ss-count{padding:6px 10px;font-size:.74rem;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:3px}.f-select .ss-input{height:38px;border-radius:8px}.f-select.on .ss-input{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-strong);font-weight:600}.card.flush .scroll:has(.ss.open),.scroll:has(.ss.open){overflow:visible}.viewas-bar{position:-webkit-sticky;position:sticky;top:0;z-index:60;grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 16px;background:repeating-linear-gradient(135deg,#9a5b00 0 14px,#8a5200 14px 28px);color:#fff;font-size:.88rem;box-shadow:0 4px 14px -6px rgba(0,0,0,.5)}.viewas-bar .btn{margin-left:auto;padding:5px 12px;min-height:0;background:#fff;color:#5a3500;border-color:#fff}.viewas-dot{width:9px;height:9px;border-radius:50%;background:#fff;animation:org-ring 1.6s ease-out infinite;box-shadow:0 0 0 0 rgba(255,255,255,.6)}.app.viewing-as{grid-template-rows:auto 1fr}.app.viewing-as .side{top:var(--viewas-h,0)}.viewas-pick{display:flex;flex-wrap:wrap;gap:8px}.viewas-opt{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:999px;cursor:pointer;color:var(--ink);font-size:.88rem;background:var(--card);transition:border-color .15s,background .15s}.viewas-opt input{width:auto;accent-color:var(--brand-strong)}.viewas-opt:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-strong);font-weight:600}@media (max-width:860px){.viewas-bar{position:static}}.upload-box{margin:12px 0}.upload-box>summary{list-style:none;display:inline-flex;cursor:pointer}.upload-box>summary::-webkit-details-marker{display:none}.upload-box[open]>summary{margin-bottom:10px}.dropzone{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:28px 16px;border:2px dashed var(--line);border-radius:10px;background:var(--soft);transition:border-color .15s,background .15s}.dropzone.over{border-color:var(--brand);background:var(--brand-soft)}.dropzone svg{width:38px;height:38px;fill:none;stroke:var(--brand-strong);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.up-progress{margin:12px 0 6px;display:grid;grid-gap:6px;gap:6px}.up-bar{height:10px;border-radius:99px;background:var(--soft);overflow:hidden;border:1px solid var(--line)}.up-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-strong));transition:width .4s ease}.up-list{max-height:260px;overflow:auto;font-size:.85rem}.up-list li{gap:10px;padding:3px 0}.up-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}.check-all{display:inline-flex;gap:6px;align-items:center;font-size:.85rem;white-space:nowrap}.pf-card{position:relative}.pf-card .pf-open{display:flex;flex-direction:column;gap:6px;color:inherit}.pf-card .pf-open:hover{text-decoration:none}.pf-check{position:absolute;top:12px;left:12px;z-index:1}.pf-check input{width:18px;height:18px}.pf-badges{display:flex;flex-wrap:wrap;gap:4px}.pf-badges .badge{font-size:.68rem}.area-tabs{margin:4px 0 0;display:inline-flex}.vault-gate{display:flex;gap:24px;align-items:flex-start;max-width:620px}.vault-lock{font-size:2.6rem;line-height:1;padding:14px;border-radius:14px;background:var(--brand-soft)}.vault-form{display:grid;grid-gap:8px;gap:8px;flex:1 1}.vault-form h2{margin:0}.vault-form .muted{margin:0 0 6px}@media (max-width:640px){.vault-gate{flex-direction:column}}.ask-form{display:grid;grid-gap:8px;gap:8px}.ask-form textarea{min-height:84px}.ask-examples{display:flex;flex-wrap:wrap;gap:6px}.ask-examples .chip{cursor:default;font-size:.78rem}.ai-wait{display:flex;gap:10px;align-items:center;color:var(--muted)}.ai-answer{animation:org-in .3s ease both}.ai-text h3{margin:14px 0 4px;font-size:1rem}.ai-text p{margin:6px 0;line-height:1.55}.ai-text ul{margin:4px 0 8px;padding-left:20px}.ai-text li{margin:3px 0;line-height:1.5}.ai-cite{font-size:.72rem;margin-left:2px}.ai-cite a{text-decoration:none;font-weight:700}.ai-sources{padding-left:20px;display:grid;grid-gap:6px;gap:6px}.ai-sources .badge{margin-left:6px}.app.visual-vidro{--card:rgba(255,255,255,.52);--soft:rgba(255,255,255,.38);--line:rgba(255,255,255,.62);--muted:#4f4d47;--radius:18px;--shadow:0 10px 30px -12px rgba(34,31,31,.22),inset 0 1px 0 rgba(255,255,255,.7);--side:rgba(28,26,25,.58);--side-hover:rgba(255,255,255,.08);--glass-blur:blur(22px) saturate(1.5);background:transparent}.app.visual-vidro:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60vw 50vh at 8% 6%,rgba(126,154,44,.55),transparent 60%),radial-gradient(55vw 55vh at 92% 18%,rgba(185,212,98,.45),transparent 62%),radial-gradient(70vw 60vh at 70% 100%,rgba(86,105,29,.45),transparent 60%),radial-gradient(50vw 50vh at 0 100%,rgba(34,31,31,.3),transparent 60%),linear-gradient(135deg,#e9eddc,#dfe6c8 45%,#d4dbbf)}@media (prefers-color-scheme:dark){.app.visual-vidro{--card:rgba(30,30,26,.48);--soft:rgba(255,255,255,.06);--line:rgba(255,255,255,.12);--muted:#b6b3aa;--shadow:0 12px 34px -14px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08);--side:rgba(10,10,9,.55)}.app.visual-vidro:before{background:radial-gradient(60vw 50vh at 8% 6%,rgba(126,154,44,.35),transparent 60%),radial-gradient(55vw 55vh at 92% 18%,rgba(159,189,69,.22),transparent 62%),radial-gradient(70vw 60vh at 70% 100%,rgba(86,105,29,.35),transparent 60%),linear-gradient(135deg,#12140e,#171a12 50%,#0e0f0b)}}.app.visual-vidro :is(.card:not(.kv),.filters,.kv.card>*,.project-card,.viewer,.file-card,.tabs,.side,.viewas-bar,.topbar-glass){-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.app.visual-vidro .card:not(.kv),.app.visual-vidro .filters,.app.visual-vidro .viewer{border-radius:var(--radius)}.app.visual-vidro .kv.card>*{background:var(--card);border-radius:16px}.app.visual-vidro .side{margin:12px;height:calc(100vh - 24px);top:12px;border-radius:22px;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}.app.visual-vidro .main{padding-top:24px}.app.visual-vidro :is(input,select,textarea){background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.7);border-radius:10px}.app.visual-vidro .f-search input{background:transparent;border:0}.app.visual-vidro :is(button,.btn){border-radius:999px}.app.visual-vidro :is(button.primary,.btn.primary){box-shadow:0 8px 18px -8px color-mix(in srgb,var(--brand-strong) 70%,transparent)}.app.visual-vidro .badge{border-radius:999px}.app.visual-vidro table.grid td,.app.visual-vidro table.grid th{border-bottom-color:rgba(34,31,31,.08)}.app.visual-vidro :is(.card:not(.kv),.project-card,.file-card,.kv.card>*){transition:transform .25s var(--ease,ease),box-shadow .25s}.app.visual-vidro :is(.project-card,.file-card,.kv.card>a):hover{transform:translateY(-4px);box-shadow:0 18px 36px -16px rgba(34,31,31,.35),inset 0 1px 0 rgba(255,255,255,.8)}@media (prefers-color-scheme:dark){.app.visual-vidro :is(input,select,textarea){background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}.app.visual-vidro table.grid td,.app.visual-vidro table.grid th{border-bottom-color:rgba(255,255,255,.08)}}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.app.visual-vidro{--card:rgba(255,255,255,.92);--side:#221f1f}}@media (max-width:860px){.app.visual-vidro .side{margin:8px;height:auto;border-radius:18px;position:static}}@media (prefers-reduced-transparency:reduce){.app.visual-vidro{--card:#ffffff;--soft:#f0efeb;--line:#dfdeda;--side:#221f1f}}.visual-toggle{display:flex;align-items:center;gap:4px;margin-top:10px;font-size:.72rem}.visual-toggle>span{margin-right:auto;text-transform:uppercase;letter-spacing:.07em;font-family:var(--mono)}.side .me .visual-toggle button{width:auto;margin:0;padding:3px 10px;font-size:.75rem;border-radius:999px}.side .me .visual-toggle button.on{background:var(--brand);border-color:var(--brand);color:#fff}.qs-answer{padding:14px 18px 10px;overflow-y:auto}.qs-question{display:flex;gap:10px;align-items:center;margin-bottom:10px}.qs-kind.k-ia{background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff}.qs-item .qs-kind.k-ia+.qs-text .qs-title{color:var(--brand-strong)}.ai-bar{margin:12px 0}.ai-bar-form{display:flex;gap:8px;align-items:center;padding:8px 8px 8px 12px;border:1px solid color-mix(in srgb,var(--brand) 45%,var(--line));border-radius:12px;background:var(--card);box-shadow:var(--shadow)}.ai-bar-form input{border:0;background:transparent;box-shadow:none!important;padding:6px 4px}.ai-bar-form:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.ai-bar-note{font-size:.75rem;margin:4px 2px 0}.prefill-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font:600 .62rem var(--mono);text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;background:var(--brand-soft);color:var(--brand-strong)}.prefill-tag.ia{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.prefill-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;margin-bottom:12px;border-radius:10px;background:var(--soft);border:1px dashed color-mix(in srgb,var(--brand) 40%,var(--line));font-size:.86rem}.ai-notes{flex-basis:100%}.ai-notes summary{cursor:pointer;font-weight:600}.ai-notes textarea{width:100%;margin:8px 0 4px;font:inherit}.ai-notes .muted{font-size:.8rem}.stage-fill{gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;margin:6px 0 10px;border-radius:10px;background:var(--soft);border:1px dashed color-mix(in srgb,var(--brand) 40%,var(--line));font-size:.86rem}.stage-fill,.steps li{display:flex;flex-wrap:wrap}.steps li{gap:8px;align-items:flex-start;padding:3px 0;font-size:.88rem}.ai-edital{gap:10px;flex-wrap:wrap}.kit-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;position:-webkit-sticky;position:sticky;top:8px;z-index:5}.kit-count{font-size:.9rem;color:var(--muted);padding-bottom:8px}.kit-count strong{font-size:1.3rem;color:var(--ink)}.kit-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:14px;gap:14px;align-items:start}.kit-tray{position:-webkit-sticky;position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;margin:14px 0}.kit-tray li{gap:6px;font-size:.84rem;padding:2px 0}.kit-tray-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-module{padding:0;overflow:hidden}.kit-module-head{all:unset;box-sizing:border-box;width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;cursor:pointer}.kit-module-head:hover{background:var(--soft)}.kit-module.open .kit-module-head{border-bottom:1px solid var(--line)}.kit-module-count{display:flex;gap:6px;flex:none}.kit-module-body{padding:12px 18px 14px}.kit-module-search{margin-bottom:8px}.kit-list li{display:flex;justify-content:space-between;gap:10px;padding:7px 6px;border-radius:8px}.kit-list li.on{background:var(--brand-soft)}.kit-list .check{margin:0;align-items:flex-start}.kit-sub{display:block;font-size:.76rem}.kit-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.kit-tags .badge{font-size:.64rem}.kit-actions{display:flex;gap:8px;align-items:center;flex:none;font-size:.8rem}.kit-picks{margin-top:10px}.kit-picks li{padding:4px 0}@media (max-width:960px){.kit-layout{grid-template-columns:1fr}.kit-tray{max-height:none}.kit-head,.kit-tray{position:static}}.ai-organize{margin:10px 0}.ai-organize-report{margin-top:8px;font-size:.86rem}.doc-file{text-decoration:none;background:var(--soft)}.itens-grid td{vertical-align:top}.itens-grid input,.itens-grid select,.itens-grid textarea{padding:4px 6px;font-size:.82rem;min-width:0;margin:0 0 3px}.itens-grid input.xs{width:58px}.itens-grid input.sm{width:96px}.itens-grid td.desc{min-width:280px}.itens-grid td.desc textarea{width:100%;min-width:260px}.itens-grid td.desc .row input{width:33%}.itens-grid .muted{font-size:.74rem}.itens-grid .badge{font-size:.66rem}.itens-grid tfoot td{border-top:2px solid var(--line)}.itens-grid .new-row td,.itens-grid tfoot td{background:var(--soft)}.warn-text{color:var(--warn);font-size:.72rem;max-width:180px}.bad-text{color:var(--bad);font-weight:600}.hist{cursor:help;border-bottom:1px dotted var(--line)}tr.ours td{background:var(--soft)}.inline-edit summary{cursor:pointer;color:var(--brand);font-size:.82rem}.inline-edit .fields{margin-top:6px;min-width:280px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.chip{font-size:.78rem;padding:4px 10px;border-radius:999px;background:var(--soft);border:1px solid var(--line)}.ai-hist{padding:6px 0;border-bottom:1px solid var(--line)}.ai-hist summary{cursor:pointer;font-weight:600}.radar-list{display:grid;grid-gap:10px;gap:10px}.radar-item h3{font-size:1rem}.radar-obj{margin:4px 0;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.radar-actions{display:flex;flex-direction:column;gap:6px;flex:0 0 auto;align-items:stretch}.radar-item .between{align-items:flex-start;gap:12px}.uf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));grid-gap:4px;gap:4px}@media (max-width:700px){.radar-item .between{flex-direction:column}.radar-actions{flex-direction:row;flex-wrap:wrap}}.pregao-steps{margin:10px 0 4px}.pregao-steps .step-link{display:flex;flex-direction:column;align-items:center;color:inherit;text-decoration:none}.pregao-steps .step-link:hover .dot{border-color:var(--brand)}.step.skip .dot{opacity:.4}.step.skip .label{color:var(--muted);text-decoration:line-through}.chip.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-strong)}label.chip{display:inline-flex;margin:0;cursor:pointer;color:var(--ink)}.ai-problems{margin:6px 0 12px;padding:8px 10px;border-radius:10px;background:var(--soft);border:1px solid var(--line);font-size:.84rem}.ai-problems summary{cursor:pointer}.ai-problems li{padding:4px 0;border-bottom:1px solid var(--line)}.ai-problem-trecho{font-family:var(--mono);font-size:.74rem;overflow-wrap:anywhere}.tour-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,#000 42%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:tour-fade .18s ease-out}.tour-card{width:min(380px,100%);background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:18px 20px 16px;box-shadow:0 18px 50px rgba(0,0,0,.28);text-align:center;animation:tour-pop .22s cubic-bezier(.2,.9,.3,1.2)}.tour-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.tour-kicker{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.tour-skip{background:none;border:0;padding:2px 4px;color:var(--muted);font-size:.8rem;cursor:pointer}.tour-skip:hover{color:var(--ink);text-decoration:underline}.tour-icon{font-size:2.2rem;line-height:1;margin:8px auto 10px;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--brand-soft)}.tour-title{font-size:1.08rem;margin:0 0 6px}.tour-text{margin:0 auto 14px;color:var(--muted);font-size:.9rem;line-height:1.45;max-width:32ch;min-height:3.9em}.tour-dots{display:flex;justify-content:center;gap:6px;margin-bottom:14px}.tour-dots button{width:7px;height:7px;padding:0;border-radius:99px;border:0;background:var(--line);cursor:pointer;transition:width .2s,background .2s}.tour-dots button.on{width:20px;background:var(--brand)}.tour-actions{display:flex;justify-content:space-between;gap:8px}.tour-actions .primary{min-width:110px}.tour-help{position:fixed;right:18px;bottom:18px;z-index:40;width:34px;height:34px;border-radius:50%;padding:0;font-weight:700;font-size:.95rem;background:var(--card);color:var(--brand-strong);border:1px solid var(--line);box-shadow:0 4px 14px rgba(0,0,0,.12);cursor:pointer}.tour-help:hover{border-color:var(--brand)}.link-btn{padding:2px 0;font-size:.78rem;color:var(--muted);background:none;border:0;text-decoration:underline;cursor:pointer}@keyframes tour-fade{0%{opacity:0}}@keyframes tour-pop{0%{opacity:0;transform:translateY(8px) scale(.97)}}@media (prefers-reduced-motion:reduce){.tour-card,.tour-overlay{animation:none}}@media (max-width:760px){.tour-help{bottom:76px;right:12px}}:root{--radius:12px;--radius-sm:8px;--shadow:0 1px 2px rgba(34,31,31,.04),0 4px 16px rgba(34,31,31,.04);--ring:0 0 0 3px color-mix(in srgb,var(--brand) 28%,transparent)}@media (prefers-color-scheme:dark){:root{--shadow:0 1px 2px rgba(0,0,0,.3)}}body{font-size:15px;letter-spacing:.002em}.main{padding:32px 40px 72px}.main .between>div>h1,.main>h1:first-child{font-size:1.75rem}.sub{font-size:.95rem;max-width:80ch}.card{border-radius:var(--radius);padding:20px 22px;transition:box-shadow .2s,border-color .2s}.card.tight{padding:14px 18px}.card.flush{padding:0;overflow:hidden}.card.hoverable:hover,a.card:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));box-shadow:0 6px 24px rgba(34,31,31,.08)}input,select,textarea{border-radius:var(--radius-sm);padding:9px 11px;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--muted) 45%,var(--line))}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}label{font-weight:600;color:color-mix(in srgb,var(--ink) 70%,var(--muted))}.btn,button{border-radius:var(--radius-sm);padding:9px 16px;transition:background .15s,border-color .15s,transform .08s,box-shadow .15s}.btn:active,button:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:none;box-shadow:var(--ring)}.btn.primary,button.primary{box-shadow:0 1px 2px rgba(0,0,0,.12)}button.ghost:hover{background:var(--soft);color:var(--ink)}.badge{border-radius:99px;padding:2px 9px}.alert{border-radius:var(--radius-sm);border-left-width:4px}.tabs{border-bottom:1px solid var(--line);margin:20px 0 8px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{padding:10px 14px}.tabs a.on{color:var(--brand-strong);border-color:var(--brand)}table.grid th{padding:10px;background:var(--soft)}table.grid td{padding:10px}.card.flush table.grid td:first-child,.card.flush table.grid th:first-child{padding-left:18px}table.grid tbody tr,table.grid.hover tbody tr{transition:background .12s}table.grid tbody tr:hover{background:color-mix(in srgb,var(--brand-soft) 45%,transparent)}table.grid tbody tr:last-child td{border-bottom:0}.kv.card>div,.kv>div{min-width:0}.kv strong{letter-spacing:-.01em}.empty{padding:44px 18px;font-size:.95rem}.empty:before{content:"";display:block;width:44px;height:44px;margin:0 auto 12px;border-radius:50%;background:var(--brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237f9a2c' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h10M4 17h7'/%3E%3C/svg%3E") center /22px no-repeat}.side a.nav{border-radius:var(--radius-sm);transition:background .15s,border-color .15s}.main>*{animation:page-in .22s ease-out both}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.main>*{animation:none}}@media (max-width:860px){.main{padding:18px 16px 90px}.card{padding:16px}}.btn.primary,button.primary{color:var(--brand-ink)}