:root{--bg:#050505;--bg-2:#090909;--bg-3:#111111;--head:#161616;--line:#2a2a2a;--text:#f5f5f5;--muted:#8a8a8a;--red:#e50914;--red-dark:#750008;--ok:#3ddc84;--warn:#f5b301;--font:"Sora",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text);font-family:var(--font)}body{font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}::selection{background:var(--red);color:#fff}h1,h2,h3{margin:0;line-height:1.15;letter-spacing:-.02em}h1{font-size:clamp(28px,4vw,44px);font-weight:800}h2{font-size:22px;font-weight:700}h3{font-size:16px;font-weight:600}.label,.mono{font-family:var(--mono)}.label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.label-red{color:var(--red)}.muted{color:var(--muted)}.red{color:var(--red)}.small{font-size:13px}p{margin:0 0 12px}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.side{border-right:1px solid var(--line);padding:28px 20px;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px;background:var(--bg)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:30px;height:auto}.brand b{font-weight:800;letter-spacing:.12em;font-size:14px}.nav{display:flex;flex-direction:column;gap:2px}.nav a{text-decoration:none;padding:9px 12px;color:var(--muted);border-left:2px solid transparent;font-size:14px}.nav a:hover{color:var(--text);border-left-color:var(--line)}.nav a.on{color:var(--text);border-left-color:var(--red);background:var(--bg-2)}.side-foot{margin-top:auto;font-size:13px}.main{padding:40px clamp(16px,4vw,56px) 80px;max-width:1180px;width:100%}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--line)}.page-head .label{margin-bottom:10px;display:block}@media (max-width:860px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;align-items:center;padding:14px 16px;gap:12px;border-right:0;border-bottom:1px solid var(--line)}.nav,.side{flex-direction:row;flex-wrap:wrap}.nav a{border-left:0;border-bottom:2px solid transparent;padding:6px 8px}.nav a.on{border-bottom-color:var(--red);background:none}.side-foot{margin:0 0 0 auto}.main{padding:24px 16px 64px}}.section{margin:40px 0 0}.section-title{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.section-title .n{color:var(--red);font-weight:800;font-family:var(--mono);font-size:14px}.panel{background:var(--bg-2);border:1px solid var(--line);padding:22px}.grid{display:grid;grid-gap:16px;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:860px){.g2,.g3,.g4{grid-template-columns:1fr}}.stat .v{font-size:26px;font-weight:800;margin-top:6px}.dash-list{list-style:none;padding:0;margin:0}.dash-list li{padding-left:18px;position:relative;margin-bottom:6px}.dash-list li:before{content:"–";color:var(--red);position:absolute;left:0;font-weight:700}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}hr{border:0;border-top:1px solid var(--line);margin:20px 0}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;background:var(--head);border-bottom:2px solid var(--red);padding:10px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}.table td{border-bottom:1px solid var(--line);padding:12px;vertical-align:top}.table tr:hover td{background:var(--bg-2)}.table-wrap{overflow-x:auto}.badge,.table-wrap{border:1px solid var(--line)}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;background:currentColor}.badge.ok{color:var(--ok);border-color:#1d4d33}.badge.warn{color:var(--warn);border-color:#4d3a00}.badge.bad{color:var(--red);border-color:var(--red-dark)}.timeline{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.timeline li{padding:0 0 22px 22px;position:relative}.timeline li:before{content:"";position:absolute;left:-5px;top:7px;width:9px;height:9px;background:var(--bg);border:1px solid var(--muted)}.timeline li.done:before{background:var(--red);border-color:var(--red)}.timeline li.now:before{border-color:var(--red);box-shadow:0 0 0 4px rgba(229,9,20,.18)}label.f{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}input,select,textarea{background:var(--bg);border:1px solid var(--line);color:var(--text);font:inherit;padding:10px 12px;border-radius:0;width:100%}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--red)}textarea{min-height:110px;resize:vertical}input[type=checkbox]{width:18px;height:18px;accent-color:var(--red);flex:none;margin-top:3px}.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--red);color:#fff;border:1px solid var(--red);padding:11px 20px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none}.btn:hover{background:#ff1a26}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}.btn.ghost:hover{border-color:var(--text)}.btn.sm{padding:6px 12px;font-size:13px}.alert{border:1px solid var(--line);border-left:3px solid var(--red);padding:14px 16px;background:var(--bg-2);font-size:14px}.alert.ok{border-left-color:var(--ok)}.code-input{font-family:var(--mono);font-size:28px;letter-spacing:.5em;text-align:center;max-width:260px}.doc-frame{width:100%;height:72vh;border:1px solid var(--line);background:#1a1a1a}.prose{max-width:760px}.prose h2{margin:32px 0 12px}.prose h3{margin:24px 0 8px}.prose ul{padding-left:0;list-style:none}.prose ul li{padding-left:18px;position:relative;margin-bottom:6px}.prose ul li:before{content:"–";color:var(--red);position:absolute;left:0;font-weight:700}.prose p{margin-bottom:14px;color:#d6d6d6}.prose strong{color:var(--text)}.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth-art{border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:48px;background:radial-gradient(ellipse at 30% 40%,rgba(229,9,20,.1),transparent 60%),var(--bg)}.auth-art img{width:120px;filter:drop-shadow(0 0 30px rgba(229,9,20,.35))}.auth-form{display:flex;align-items:center;justify-content:center;padding:32px 16px}.auth-form form{width:100%;max-width:380px}@media (max-width:860px){.auth{grid-template-columns:1fr}.auth-art{display:none}}:root{--ease:cubic-bezier(.2,.7,.2,1);--fast:160ms;--mid:280ms}.badge,.btn,.nav a,.panel,.table td,a,input,select,textarea{transition:background-color var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),opacity var(--fast) var(--ease),transform var(--fast) var(--ease),box-shadow var(--mid) var(--ease)}.btn:active:not(:disabled){transform:translateY(1px) scale(.99)}a.panel:hover{border-color:#3a3a3a;transform:translateY(-2px)}.panel:focus-within{border-color:#3a3a3a}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.main>*{animation:enter var(--mid) var(--ease) both}.main>:nth-child(2){animation-delay:40ms}.main>:nth-child(3){animation-delay:80ms}.main>:nth-child(n+4){animation-delay:.12s}.auth-art>*,.auth-form form{animation:enter .42s var(--ease) both}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}details[open]>:not(summary){animation:enter var(--mid) var(--ease) both}.btn:disabled[aria-busy=true],.btn[aria-busy=true]{opacity:.85;cursor:progress}.btn[aria-busy=true]:before{content:"";width:12px;height:12px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.nav-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--red);box-shadow:0 0 10px var(--red);z-index:100;opacity:0;transition:width 0s,opacity var(--mid) var(--ease);pointer-events:none}.nav-progress.on{opacity:1;width:85%;transition:width 8s cubic-bezier(.1,.7,.1,1),opacity var(--fast)}.loading-screen{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;animation:enter var(--mid) var(--ease) both}.loading-screen img{width:46px;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35;filter:drop-shadow(0 0 0 transparent)}50%{opacity:1;filter:drop-shadow(0 0 14px rgba(229,9,20,.45))}}.alert{animation:enter var(--mid) var(--ease) both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.pdf{border:1px solid var(--line);background:var(--bg-2);display:flex;flex-direction:column;min-width:0}.pdf-bar{justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--head);flex-wrap:wrap;position:-webkit-sticky;position:sticky;top:0;z-index:2}.pdf-bar,.pdf-scroll{display:flex;align-items:center}.pdf-scroll{overflow:auto;padding:20px 16px 40px;flex-direction:column;gap:18px;background:#1a1a1a;scroll-behavior:smooth}.pdf-page{position:relative;flex:none;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.5)}.pdf-page canvas{display:block}.sigbox{position:absolute;border:1.5px dashed rgba(229,9,20,.8);background:rgba(229,9,20,.07);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;touch-action:none}.sigbox.contratado{border-color:rgba(120,120,255,.8);background:rgba(120,120,255,.07)}.sigbox.editable{cursor:move}.sigbox.active{box-shadow:0 0 0 3px rgba(229,9,20,.25)}.sigbox-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#f5f5f5;background:rgba(0,0,0,.65);padding:2px 6px}.sigbox-handle{position:absolute;right:0;bottom:0;width:14px;height:14px;background:var(--red);cursor:nwse-resize}.sigbox img{max-width:92%;max-height:72%;object-fit:contain;pointer-events:none}.sigbox .sigbox-stamp{font-family:Arial,sans-serif;font-size:8px;color:#9e9e9e;white-space:nowrap}.sigbox.signed{border-style:solid;border-color:transparent;background:transparent}.sign-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-gap:24px;gap:24px;align-items:start}.sign-side{position:-webkit-sticky;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}@media (max-width:1100px){.sign-layout{grid-template-columns:1fr}.sign-side{position:static;max-height:none}}.step{border:1px solid var(--line);background:var(--bg-2);padding:18px}.step+.step{border-top:0}.step.locked{opacity:.45;pointer-events:none}.step-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.step-head .n{font-family:var(--mono);color:var(--red);font-weight:700}.progress{height:4px;background:var(--line);overflow:hidden}.progress>i{display:block;height:100%;background:var(--red);transition:width var(--mid) var(--ease)}.fonts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.font-opt{background:#0a0a0a;color:#f5f5f5;border:2px solid var(--line);padding:8px 6px;min-height:72px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;font-size:30px;line-height:1.1;overflow:hidden;white-space:nowrap}.font-opt:hover{border-color:#555}.font-opt.on{border-color:var(--red);box-shadow:0 0 0 3px rgba(229,9,20,.25)}.sig-preview{background:#050505;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;min-height:90px}.sig-preview img{max-height:80px;max-width:100%}.role-chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);padding:6px 12px;font-size:13px;cursor:pointer;background:transparent;color:var(--text);font-family:inherit}.chip.on{border-color:var(--red);background:rgba(229,9,20,.12)}.chat{position:relative;border:1px solid var(--line);background:var(--bg)}.chat-log{max-height:420px;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.bubble{max-width:82%;padding:10px 12px;background:var(--bg-3);border:1px solid var(--line);white-space:pre-line;font-size:14px;align-self:flex-start;animation:enter var(--fast) var(--ease) both}.bubble.aether{border-left:2px solid var(--red)}.bubble.mine{align-self:flex-end;background:#1a0607;border-color:var(--red-dark)}.bubble-meta{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--muted);margin-bottom:4px;text-transform:uppercase}.chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);align-items:flex-end}.chat-input textarea{min-height:44px;resize:none}.chat-live{position:absolute;top:6px;right:10px;font-family:var(--mono);font-size:10px;color:var(--ok)}.quota{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.quota>div{border:1px solid var(--line);padding:10px;background:var(--bg)}.quota b{font-size:20px;display:block}details.fold>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center}details.fold>summary:after{content:"+";font-family:var(--mono);color:var(--red);font-size:16px;transition:transform var(--fast) var(--ease)}details.fold[open]>summary:after{transform:rotate(45deg)}.pdf-scroll{min-height:560px}.pdf.full{position:fixed;inset:0;z-index:200;border:0}.pdf.full .pdf-scroll{flex:1 1;height:auto;min-height:0}.doc-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.doc-head h1{font-size:22px}.badge{border:0;padding:0;gap:8px;font-family:var(--font);font-size:13px;letter-spacing:0;text-transform:none;color:var(--muted)}.badge:before{width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 3px rgba(138,138,138,.14)}.badge.ok{color:#cfe9da}.badge.ok:before{background:var(--ok);box-shadow:0 0 0 3px rgba(61,220,132,.14)}.badge.warn{color:#f0e2bf}.badge.warn:before{background:var(--warn);box-shadow:0 0 0 3px rgba(245,179,1,.14)}.badge.bad{color:#f6c9cb}.badge.bad:before{background:var(--red);box-shadow:0 0 0 3px rgba(229,9,20,.18)}.pay{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.pay i{width:7px;height:7px;border-radius:50%;background:var(--muted)}.pay-em_dia i,.pay-quitado i{background:var(--ok);box-shadow:0 0 0 3px rgba(61,220,132,.14)}.pay-pendente i{background:var(--warn);box-shadow:0 0 0 3px rgba(245,179,1,.14)}.pay-atrasado i{background:var(--red);box-shadow:0 0 0 3px rgba(229,9,20,.18)}.stages{display:grid;grid-template-columns:repeat(4,1fr);position:relative;padding-top:6px}.stages:before{content:"";position:absolute;left:6px;right:6px;top:12px;height:1px;background:var(--line)}.stage{position:relative;display:flex;flex-direction:column;gap:10px}.stage-dot{width:13px;height:13px;border-radius:50%;background:var(--bg);border:1px solid #3a3a3a;position:relative;z-index:1;transition:all var(--mid) var(--ease)}.stage.done .stage-dot{background:var(--red);border-color:var(--red)}.stage.done:after{content:"";position:absolute;left:6px;right:-6px;top:6px;height:1px;background:var(--red)}.stage.now .stage-dot{background:var(--bg);border:2px solid var(--red);box-shadow:0 0 0 5px rgba(229,9,20,.15);animation:beat 2.4s ease-in-out infinite}@keyframes beat{50%{box-shadow:0 0 0 8px rgba(229,9,20,.06)}}.stage-name{font-size:13px;color:var(--muted)}.stage.now .stage-name{color:var(--text);font-weight:600}.stage.done .stage-name{color:#cfcfcf}.stages.ended .stage-dot{background:#3a3a3a;border-color:#3a3a3a}.stages.ended .stage.done:after{background:#3a3a3a}.stage-end{position:absolute;right:0;top:-14px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.stages.compact{grid-template-columns:repeat(4,22px) 1fr;align-items:center;padding-top:0}.stages.compact:before{left:6px;right:auto;width:72px;top:6px}.stages.compact .stage{gap:0}.stages.compact .stage.done:after{right:-16px}.stage-caption{font-size:13px;margin-left:8px}.project-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:22px;font-size:13px}.project-meta span{color:var(--muted);margin-right:8px}