@import url('/fonts/fonts.css');
/* Valore Private · tokens conforme web.valoreprivate.com */
:root{--bg:#fff;--panel:#f4f5f6;--card:#fff;--ink:#2c2e35;--ink-soft:#585d61;--line:#21232224;--line-hard:#2123223d;--accent:#a8935f;--accent-deep:#7e6d45;--graphite:#212322;--on-graphite:#ecebe7;--on-graphite-soft:#a9afb4;--fill:#212322;--on-fill:#fff;--fill-hover:#000;--ok:#4a6c47;--warn:#7e6d45;--fail:#994d44;--display:'Bodoni Moda','Bodoni 72',Didot,Georgia,serif;--sans:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--track:.2em;color-scheme:light;font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.6}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#212322;--panel:#262827;--card:#2a2c2c;--ink:#cfd4d7;--ink-soft:#a9afb4;--line:#cfd4d729;--line-hard:#cfd4d73d;--accent:#c8b37c;--accent-deep:#d6c69a;--graphite:#1a1c1b;--fill:#cfd4d7;--on-fill:#212322;--fill-hover:#fff;--ok:#8fa98c;--warn:#c8b37c;--fail:#c98b81;color-scheme:dark}}
:root[data-theme=dark]{--bg:#212322;--panel:#262827;--card:#2a2c2c;--ink:#cfd4d7;--ink-soft:#a9afb4;--line:#cfd4d729;--line-hard:#cfd4d73d;--accent:#c8b37c;--accent-deep:#d6c69a;--graphite:#1a1c1b;--fill:#cfd4d7;--on-fill:#212322;--fill-hover:#fff;--ok:#8fa98c;--warn:#c8b37c;--fail:#c98b81;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}
button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3,p{margin-top:0}
h1{font-family:var(--display);font-weight:400;font-size:clamp(2rem,1.3rem + 2vw,2.9rem);line-height:1.1;margin-bottom:12px}
h2{font-family:var(--display);font-weight:400;font-size:1.45rem;line-height:1.2;margin-bottom:12px}
h3{font-size:.95rem;font-weight:500;margin-bottom:8px}
strong{font-weight:500}small,.muted{color:var(--ink-soft)}
.label{font-size:.6875rem;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.spaced{margin-top:18px}
/* Marca */
.lockup{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.lockup svg{width:30px;height:26px;flex-shrink:0}
.lockup .word{font-weight:300;font-size:21px;letter-spacing:.2em;line-height:1;display:flex;flex-direction:column;align-items:center}
.lockup .word small{font-size:7.5px;letter-spacing:.62em;margin:5px 0 0 .62em;color:inherit;opacity:.85}
/* Controles */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-hard);background:transparent;border-radius:0;padding:8px 15px;text-decoration:none;font-size:.8125rem;min-height:38px;color:var(--ink);white-space:nowrap}
.btn:hover{border-color:var(--ink)}
.btn.primary{background:var(--fill);border-color:var(--fill);color:var(--on-fill)}.btn.primary:hover{background:var(--fill-hover)}
.btn.ghost{border-color:transparent}.btn.danger{color:var(--fail);border-color:var(--fail)}
.btn.small{padding:4px 11px;min-height:32px;font-size:.75rem}.btn.wide{width:100%;min-height:46px}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-hard);background:transparent;padding:5px 12px;font-size:.8125rem;min-height:34px}
.chip span{color:var(--ink-soft);font-variant-numeric:tabular-nums}
.chip:hover{border-color:var(--ink)}
.chip.on{background:var(--fill);border-color:var(--fill);color:var(--on-fill)}.chip.on span{color:inherit;opacity:.75}
.tag{display:inline-flex;align-items:center;padding:1px 8px;font-size:.6875rem;border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap}
.tag.review{color:var(--warn);border-color:currentColor}
.tag.status.pending{color:var(--ink-soft)}.tag.status.suggestion{color:var(--warn);border-color:currentColor;border-style:dashed}.tag.status.valid{color:var(--ok);border-color:currentColor}
.path{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;white-space:nowrap}
.path::before{content:"";width:8px;height:8px;background:currentColor}
.path.correto{color:var(--ok)}.path.divergente{color:var(--warn)}.path.falha{color:var(--fail)}
.path.divergente::before,.pdot.divergente{border-radius:50%}.path.falha::before,.pdot.falha{transform:rotate(45deg) scale(.85)}
.pdot{display:inline-block;width:7px;height:7px;margin:0 3px 1px 0;vertical-align:middle;background:var(--ok)}
.pdot.divergente{background:var(--warn)}.pdot.falha{background:var(--fail)}
/* Moldura */
.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.sidebar{background:var(--graphite);color:var(--on-graphite);padding:28px 16px 20px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar .lockup{padding:0 10px}
.nav-label{padding:0 10px;margin:18px 0 6px;font-size:.625rem;letter-spacing:var(--track);text-transform:uppercase;color:var(--on-graphite-soft)}
.nav-item{display:flex;align-items:baseline;gap:10px;padding:6px 10px;font-size:.8125rem;color:var(--on-graphite-soft);text-decoration:none;line-height:1.45}
.nav-item:hover{color:#fff}.nav-item.active{color:#fff;background:#ffffff0d;box-shadow:inset 2px 0 0 var(--accent)}
.nav-number{font-family:var(--display);color:var(--accent);width:14px;flex-shrink:0}
.nav-item .count{margin-left:auto;font-size:.6875rem}
.nav-spacer{flex:1}
.sidebar-foot{border-top:1px solid #cfd4d71f;padding:14px 10px 0}
.sidebar .btn{color:var(--on-graphite);border-color:#cfd4d733}
.workspace{min-width:0}
.topbar{display:flex;align-items:center;gap:12px;padding:12px 40px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5}
.search{flex:1;max-width:520px;margin-right:auto}
.search input{width:100%;background:var(--panel);border:1px solid transparent;border-radius:0;padding:10px 13px;font-size:.875rem}
.search input:focus{border-color:var(--line-hard);outline:none}
.icon-btn{width:40px;height:40px;display:inline-grid;place-items:center;border:1px solid transparent;background:none}
.icon-btn:hover{border-color:var(--line)}.icon-btn svg{width:18px;height:18px}
.avatar{width:30px;height:30px;display:inline-grid;place-items:center;background:var(--panel);font-size:.6875rem;font-weight:500;border:1px solid var(--line)}
.person{gap:10px}
.main{padding:36px 44px 64px;max-width:1080px}
.trail{display:flex;gap:8px;font-size:.8125rem;color:var(--ink-soft);margin-bottom:20px}.trail a{text-decoration:none}.trail a:hover{text-decoration:underline}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.lead{max-width:68ch;color:var(--ink-soft);font-size:1.0625rem;line-height:1.7;margin-bottom:20px}
.lead strong{color:var(--ink)}
/* Início */
.intro{margin-bottom:28px}
.roles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding-top:16px;border-top:1px solid var(--line)}
.roles dt{font-family:var(--display);font-size:1.1rem;margin-bottom:2px}.roles dd{margin:0;font-size:.8125rem;color:var(--ink-soft);line-height:1.5}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 14px}
.toolbar h2{margin:0}
.result-count{font-size:.8125rem;margin-bottom:8px}
.map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid var(--line-hard);border-left:1px solid var(--line)}
.map li{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.stage-card{height:100%;display:flex;flex-direction:column;gap:8px;padding:16px;text-decoration:none;min-height:140px}
.stage-card:hover{background:var(--panel)}
.stage-card .num{font-family:var(--display);font-size:1.8rem;line-height:1;color:var(--accent-deep)}
.stage-card .title{font-size:.9375rem;font-weight:400;line-height:1.35}
.stage-card .meta{margin-top:auto;font-size:.75rem;color:var(--ink-soft)}
/* Etapa */
.rules{margin:0 0 30px;padding:0;list-style:none;max-width:72ch;border-top:1px solid var(--line)}
.rules li{padding:10px 0 10px 18px;border-bottom:1px solid var(--line);position:relative;line-height:1.6}
.rules li::before{content:"";position:absolute;left:0;top:19px;width:6px;height:1px;background:var(--accent-deep)}
.rows{border-top:1px solid var(--line-hard)}
.row{border-bottom:1px solid var(--line)}
.row>summary{list-style:none;display:grid;grid-template-columns:auto 52px minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:13px 6px;cursor:pointer}
.row>summary::-webkit-details-marker{display:none}
.row>summary:hover{background:var(--panel)}
.row:not(.sortable)>summary{grid-template-columns:52px minmax(0,1fr) auto}
.handle{width:22px;height:28px;align-self:center;margin:-6px 0 -6px -6px;cursor:grab;background:radial-gradient(circle,var(--ink-soft) 1.2px,transparent 1.4px) center/5px 5px no-repeat;background-size:5px 5px;background-repeat:repeat;background-clip:content-box;padding:6px 6px;opacity:.5}
.handle:active{cursor:grabbing}
.row:hover .handle{opacity:1}.row.dragging{opacity:.4}
.hint{font-size:.75rem;color:var(--ink-soft)}.add-row{margin:14px 0 0;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.row .code{font-family:var(--display);font-size:1.1rem;color:var(--accent-deep);font-variant-numeric:lining-nums}
.row .what{display:flex;flex-direction:column;gap:2px;min-width:0}
.row .what strong{font-weight:500;font-size:.9375rem}
.row .what span{color:var(--ink-soft);font-size:.875rem}
.row .meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.row[open]>summary{background:var(--panel)}
.row .more{padding:4px 6px 20px 72px;background:var(--panel)}
.row.sortable .more{padding-left:96px}
.row .more dl{margin:0 0 14px;display:grid;gap:10px;max-width:72ch}
.row .more dt{font-size:.625rem;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px}
.row .more dd{margin:0;line-height:1.65;font-size:.9rem}
.code-link{text-decoration-color:var(--accent);text-underline-offset:3px}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:36px;padding-top:16px;border-top:1px solid var(--line);font-size:.8125rem}
.pager a{text-decoration:none}.pager a:hover span{text-decoration:underline}.pager small{display:block;font-size:.6875rem}.pager .next{text-align:right}
.flow{margin-top:8px;overflow-x:auto;padding-bottom:8px}
.flow-row{display:grid;grid-template-columns:minmax(230px,1.1fr) 40px minmax(200px,1fr) 40px minmax(200px,1fr);align-items:start;min-width:860px}
.flow-col{align-self:stretch;display:flex;flex-direction:column}
.flow-branch{margin-bottom:40px}
.flow-stage{position:relative;border:1px solid var(--ink);background:var(--card);padding:12px 14px 10px}
.flow-stage.empty{border-style:dashed;border-color:var(--line-hard)}
.flow-stage-link{display:flex;align-items:baseline;gap:10px;text-decoration:none;margin-bottom:6px}
.flow-stage-link .num{font-family:var(--display);font-size:1.4rem;line-height:1;color:var(--accent-deep)}
.flow-stage-link .title{font-weight:500;font-size:.9375rem}.flow-stage-link:hover .title{text-decoration:underline;text-underline-offset:3px}
.flow-note{margin:0;font-size:.75rem;color:var(--ink-soft);font-style:italic}
.flow-down{flex:1;min-height:40px;margin-left:28px;border-left:1px solid var(--ink);position:relative}
.flow-down::after{content:"";position:absolute;left:-5px;bottom:0;border:5px solid transparent;border-top:6px solid var(--ink);border-bottom:0}
.flow-link{align-self:start;margin-top:20px;height:1px;background:currentColor;position:relative}
.flow-link::after{content:"";position:absolute;right:0;top:-4px;border:4px solid transparent;border-left:6px solid currentColor;border-right:0}
.flow-link.divergente{color:var(--warn)}.flow-link.falha{color:var(--fail)}
.flow-branch{border:1px solid currentColor;padding:8px 12px 8px;background:var(--card)}
.flow-branch.divergente{color:var(--warn)}.flow-branch.falha{color:var(--fail)}
.flow-head{margin:0 0 4px;font-size:.625rem;letter-spacing:var(--track);text-transform:uppercase}.flow-head span:last-child{opacity:.7}
.flow-item{display:flex;gap:8px;align-items:baseline;padding:3px 0;font-size:.8125rem;line-height:1.4;color:var(--ink);text-decoration:none}
.flow-item:hover span:nth-child(2){text-decoration:underline;text-underline-offset:3px}
.flow-item .code{font-family:var(--display);color:var(--accent-deep);min-width:30px;font-variant-numeric:lining-nums}
.flow-stage .flow-item .code{color:var(--ok)}
.flow-item .sug{font-size:.6875rem;color:var(--warn);font-style:italic;white-space:nowrap}
.flow-end{border:1px solid var(--ink);background:var(--fill);color:var(--on-fill);padding:10px 14px;font-size:.8125rem;width:max-content}
/* Páginas de apoio */
.prose{max-width:78ch;line-height:1.75}.prose ul{padding-left:20px}
.table-wrap{overflow-x:auto;margin:8px 0 20px}
table{border-collapse:collapse;width:100%;font-size:.875rem}
th,td{padding:11px 14px 11px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
th{font-size:.625rem;font-weight:400;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft);border-bottom-color:var(--line-hard)}
td:first-child{font-weight:400;min-width:180px}
.review{padding:20px 0;border-bottom:1px solid var(--line)}.review h2{font-size:1.2rem;margin-bottom:2px}
.diff{margin:12px 0;display:grid;gap:10px}.diff dt{font-size:.75rem;color:var(--ink-soft)}.diff dd{margin:0;display:grid;gap:4px;font-size:.875rem}
del{color:var(--fail);text-decoration-thickness:1px}ins{color:var(--ok);text-decoration:none}
.notice{background:var(--panel);padding:12px 16px;margin:0 0 18px;font-size:.8125rem;color:var(--ink-soft);box-shadow:inset 2px 0 0 var(--accent)}
.notice.error{color:var(--fail);box-shadow:inset 2px 0 0 var(--fail)}
.empty{padding:20px 0;color:var(--ink-soft);font-size:.875rem}
/* Formulários */
.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.field{display:flex;flex-direction:column;gap:6px;font-size:.8125rem;margin-bottom:14px}
.field>span{color:var(--ink-soft)}
.field.full{grid-column:1/-1}
.field input,.field textarea,.field select{border:1px solid var(--line-hard);border-radius:0;padding:10px 12px;width:100%;background:var(--card);font-weight:300}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink);outline:none}
.field textarea{resize:vertical;min-height:84px;line-height:1.6}.field textarea.large{min-height:320px;font-family:ui-monospace,Menlo,monospace;font-size:.8125rem}
.form-footer{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:4px}
/* Acesso */
.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.auth-story{background:var(--graphite);color:var(--on-graphite);padding:52px 60px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.auth-story h1{font-size:clamp(2.6rem,1.6rem + 3vw,4rem);margin:auto 0 8px}.auth-story p{color:var(--on-graphite-soft);margin:0 0 auto}
.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:44px 28px}
.auth-form{width:100%;max-width:360px}.auth-form h2{font-size:2rem}.auth-form p{font-size:.875rem;color:var(--ink-soft);margin-bottom:24px}
.loading{display:grid;place-content:center;justify-items:center;min-height:100vh;gap:16px;background:var(--graphite);color:var(--on-graphite)}
.loading p{color:var(--on-graphite-soft);margin:0;font-size:.8125rem}.loading.error{background:var(--bg);color:var(--ink)}
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:var(--fill);color:var(--on-fill);padding:12px 20px;font-size:.8125rem;z-index:100;display:none}
#toast.visible{display:block}#toast.error{background:var(--fail);color:#fff}
dialog{border:1px solid var(--line-hard);border-radius:0;padding:28px;width:min(760px,calc(100% - 24px));max-height:90vh;background:var(--bg);color:var(--ink)}
dialog::backdrop{background:#21232299}
.modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.modal-head h2{margin:0}
.team-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 90px 70px;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.8125rem}
.team-row small{display:block;overflow-wrap:anywhere}.team-row select{padding:6px;border:1px solid var(--line-hard);border-radius:0;background:var(--card)}
.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.8125rem}
.invite-link{width:100%;padding:11px;border:1px solid var(--line-hard);background:var(--card);font-size:.8125rem;resize:vertical}
.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--fill);color:var(--on-fill);padding:10px}.skip:focus{top:10px}
.mobile-only,.mobile-brand{display:none}
@media(max-width:1080px){.main{padding:30px 26px 56px}.topbar{padding:10px 26px}.map{grid-template-columns:repeat(3,minmax(0,1fr))}.roles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.flow-row{grid-template-columns:minmax(0,1fr);min-width:0;margin-bottom:34px}.flow-link{display:none}.flow-branch{margin:8px 0 0 18px}.flow-row{margin-bottom:28px}.flow-col .flow-down{min-height:0;flex:0}.flow-down{display:none}.row.sortable>summary{grid-template-columns:auto 42px minmax(0,1fr)}.row.sortable .meta{grid-column:3}.row.sortable .more{padding-left:12px}.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none;position:fixed;inset:0;z-index:20;height:auto}.shell.menu-open .sidebar{display:flex}.mobile-only{display:inline-grid}.mobile-brand{display:flex;margin-right:auto}.mobile-brand .lockup svg{width:24px;height:21px}.mobile-brand .lockup .word{font-size:16px}.topbar{flex-wrap:wrap;padding:10px 16px}.search{order:3;flex-basis:100%;max-width:none}.person .name{display:none}.main{padding:24px 16px 44px}.map{grid-template-columns:repeat(2,minmax(0,1fr))}.row>summary{grid-template-columns:42px minmax(0,1fr)}.row .meta{grid-column:2;justify-content:flex-start}.row .more{padding:4px 12px 18px 12px}.edit-grid{grid-template-columns:1fr}.auth-page{grid-template-columns:1fr}.auth-story{padding:28px 22px}.auth-story h1{margin-top:24px}.team-row{grid-template-columns:minmax(0,1fr) 110px}.page-head{flex-wrap:wrap}.btn{min-height:44px}.chip{min-height:40px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.invite-link.large-copy{min-height:380px;font-family:ui-monospace,Menlo,monospace}
