:root{--brand-900:#0b2a3a;--brand-800:#103a4f;--brand-700:#174b64;--brand-600:#1f6280;--brand-500:#2a7a9c;--brand-100:#e3eef3;--brand-050:#f1f6f8;--accent:#d99a4e;--accent-600:#b97d33;--accent-100:#fbf0e0;--paper:#faf8f4;--surface:#fff;--surface-2:#f4f1ea;--line:#e6e1d7;--line-strong:#d3ccbe;--line-input:#a39b8e;--ink:#17232b;--ink-2:#3f4c55;--muted:#6f7b84;--muted-2:#98a2aa;--ok:#1f7a5c;--ok-bg:#e4f3ec;--warn:#a8641a;--warn-bg:#fbeed8;--bad:#b3372b;--bad-bg:#f9e4e0;--info:#1f6280;--info-bg:#e3eef3;--r-sm:6px;--r:10px;--r-lg:14px;--r-xl:20px;--shadow-1:0 1px 2px #17232b0f, 0 1px 1px #17232b0a;--shadow-2:0 4px 16px #17232b14, 0 1px 3px #17232b0f;--shadow-3:0 16px 40px #0b2a3a24;--ease:cubic-bezier(.2,.7,.2,1);--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-xs:12px;--fs-sm:13px;--fs:14.5px;--fs-md:16px;--fs-lg:20px;--fs-xl:26px;--fs-2xl:34px;--sidebar-w:240px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--fs);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;color:var(--brand-900);margin:0 0 8px;font-weight:500;line-height:1.2}h1{font-size:var(--fs-2xl);font-variation-settings:"opsz" 60, "SOFT" 30}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md);font-family:var(--font-body);color:var(--ink);margin-top:18px;font-weight:600}p{margin:0 0 10px}a{color:var(--brand-600);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}ul{margin:0 0 10px;padding-left:20px}.muted{color:var(--muted);font-size:var(--fs-sm)}.error{color:var(--bad);background:var(--bad-bg);border-radius:var(--r-sm);font-size:var(--fs-sm);border:1px solid #f0c9c3;padding:8px 12px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}body:before{content:"";pointer-events:none;z-index:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);z-index:1;min-height:100vh;display:grid;position:relative}.sidebar{background:var(--brand-900);color:#dbe6ec;background-image:radial-gradient(120% 60% at 0 0,#2a7a9c59,#0000 60%);flex-direction:column;gap:6px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.sidebar .logo{padding:6px 10px 18px}.sidebar .logo-name{color:#fff}.logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--brand-900);align-items:center;gap:10px;font-size:22px;font-weight:500;display:inline-flex}.logo-name em{font-variation-settings:"SOFT" 30;font-style:italic;font-weight:600}.nav-section{letter-spacing:.12em;text-transform:uppercase;color:#8fa8b5;padding:14px 10px 4px;font-size:11px}.nav a{border-radius:var(--r-sm);color:#cfdce3;transition:background .15s var(--ease), color .15s var(--ease), transform .15s var(--ease);align-items:center;gap:10px;padding:9px 10px;font-weight:500;display:flex}.nav a:hover{color:#fff;background:#ffffff12;text-decoration:none}.nav a.active{color:#fff;box-shadow:inset 2px 0 0 var(--accent);background:#ffffff1f}.nav a .badge{margin-left:auto}.nav svg{opacity:.85;width:18px;height:18px}.sidebar-footer{font-size:var(--fs-xs);color:#8fa8b5;gap:8px;margin-top:auto;padding:10px;display:grid}.sidebar-footer .user{color:#dbe6ec;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-footer button{color:#cfdce3;font-size:var(--fs-xs);text-align:left;background:0 0;padding:0}.sidebar-footer button:hover{color:#fff}.content{width:100%;min-width:0;max-width:1180px;padding:28px 36px 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head .eyebrow{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-weight:600}.page-head p{color:var(--ink-2);max-width:60ch;margin:4px 0 0}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.rise>*{animation:.45s cubic-bezier(.2,.7,.2,1) backwards rise}.rise>:first-child{animation-delay:20ms}.rise>:nth-child(2){animation-delay:70ms}.rise>:nth-child(3){animation-delay:.12s}.rise>:nth-child(4){animation-delay:.17s}.rise>:nth-child(5){animation-delay:.22s}.rise>:nth-child(6){animation-delay:.27s}.rise>:nth-child(n+7){animation-delay:.32s}@media (prefers-reduced-motion:reduce){.rise>*{animation:none}}.no-motion .rise>*{animation:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:18px 20px}.card.flat{box-shadow:none}.card.accent{background:linear-gradient(#fffaf1,#fff);border-color:#ead9bd}.card.ink{background:var(--brand-900);color:#dbe6ec;border-color:#0000}.card.ink h3{color:#fff}.list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.stack{gap:12px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}hr{border:0;border-top:1px solid var(--line);margin:18px 0}.tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);gap:2px;padding:14px 16px;display:grid;position:relative;overflow:hidden}.tile b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:30px;font-weight:500;line-height:1.1}.tile span{color:var(--muted);font-size:var(--fs-sm)}.tile:after{content:"";background:var(--line-strong);width:3px;position:absolute;top:0;bottom:0;left:0}.tile.ok:after{background:var(--ok)}.tile.warn:after{background:var(--warn)}.tile.bad:after{background:var(--bad)}.tile.brand:after{background:var(--brand-600)}.tile.ok b{color:var(--ok)}.tile.warn b{color:var(--warn)}.tile.bad b{color:var(--bad)}.tag,.status,.badge,.sev{font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-weight:600;line-height:1.6;display:inline-flex}.tag{background:var(--info-bg);color:var(--info)}.tag.dispensa_eletronica{background:var(--ok-bg);color:var(--ok)}.tag.concorrencia_eletronica,.tag.outros{background:var(--surface-2);color:var(--ink-2)}.badge{background:var(--accent);color:var(--brand-900);padding:0 7px;font-size:11px}.status{background:var(--surface-2);color:var(--ink-2)}.status.valid{background:var(--ok-bg);color:var(--ok)}.status.expiring{background:var(--warn-bg);color:var(--warn)}.status.expired{background:var(--bad-bg);color:var(--bad)}.sev{text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}.sev.alta{background:var(--bad-bg);color:var(--bad)}.sev.media{background:var(--warn-bg);color:var(--warn)}.sev.baixa{background:var(--surface-2);color:var(--ink-2)}.score{font-family:var(--font-mono);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink-2);font-weight:500;font-size:var(--fs-sm);padding:3px 9px}.score.mid{background:var(--warn-bg);color:var(--warn)}.score.high{background:var(--ok-bg);color:var(--ok)}.light{background:var(--muted-2);vertical-align:middle;width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 12%, transparent);border-radius:50%;margin-right:6px;display:inline-block}.light.green{background:var(--ok);color:var(--ok)}.light.yellow{background:var(--warn);color:var(--warn)}.light.red{background:var(--bad);color:var(--bad)}button,.btn{font:inherit;font-weight:600;font-size:var(--fs-sm);border-radius:var(--r-sm);cursor:pointer;background:var(--brand-600);color:#fff;transition:background .15s var(--ease), transform .1s var(--ease), box-shadow .15s var(--ease);border:1px solid #0000;padding:9px 14px}button:hover{background:var(--brand-700)}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:default}button.secondary{background:var(--surface);color:var(--brand-800);border-color:var(--line-input)}button.secondary:hover{background:var(--brand-050)}button.accent{background:var(--accent);color:var(--brand-900)}button.accent:hover{background:var(--accent-600);color:#fff}button.link{color:var(--muted);background:0 0;padding:4px 6px;font-weight:500}button.link:hover{color:var(--ink);background:var(--surface-2)}button.ghost{color:var(--brand-800);background:0 0}button.ghost:hover{background:var(--brand-050)}button.lg{font-size:var(--fs);border-radius:var(--r);padding:12px 18px}input,select,textarea{font:inherit;font-size:var(--fs);color:var(--ink);background:var(--surface);border:1px solid var(--line-input);border-radius:var(--r-sm);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:9px 11px}input:focus,select:focus,textarea:focus{border-color:var(--brand-500);outline:none;box-shadow:0 0 0 3px #2a7a9c2e}input::placeholder{color:var(--muted-2)}textarea{resize:vertical;min-height:72px}label{font-size:var(--fs-sm);color:var(--ink-2);gap:5px;font-weight:500;display:grid}fieldset{border:1px solid var(--line);border-radius:var(--r);padding:10px 14px}legend{font-size:var(--fs-sm);color:var(--muted);padding:0 6px}.filters{grid-template-columns:2fr 1fr 1fr 1fr auto;gap:8px;margin-bottom:16px;display:grid}.form{gap:12px;display:grid}.form .row>label{flex:1}.opp{transition:box-shadow .2s var(--ease), transform .2s var(--ease), border-color .2s var(--ease);grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:14px 18px;display:grid}.opp:hover{box-shadow:var(--shadow-2);border-color:var(--line-strong);transform:translateY(-1px)}.opp .title{font-family:var(--font-display);color:var(--brand-900);font-size:17px;font-weight:500;line-height:1.3}.opp .title:hover{color:var(--brand-600);text-decoration:none}.opp .meta{color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;gap:14px;display:flex}.opp .side{text-align:right;align-content:start;gap:4px;display:grid}.opp .value{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--ink)}.opp .deadline{font-size:var(--fs-xs);color:var(--muted)}.opp .deadline.soon{color:var(--warn);font-weight:600}.grid{font-size:var(--fs-sm);grid-template-columns:max-content 1fr;gap:6px 18px;display:grid}.grid dt{color:var(--muted)}.grid dd{color:var(--ink);margin:0}.detail-head{grid-template-columns:1fr 320px;align-items:start;gap:20px;display:grid}.detail-head h1{font-size:28px}.side-card{position:sticky;top:20px}.cta{grid-template-columns:1fr auto;align-items:center;gap:16px;display:grid}.cta h3{margin:0}.steps{font-size:var(--fs-sm);color:var(--muted);gap:6px;display:grid}.steps .on{color:var(--brand-800);font-weight:600}.anchors{flex-wrap:wrap;gap:6px;margin:6px 0 14px;display:flex}.anchors a{font-size:var(--fs-xs);background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:4px 10px;font-weight:600}.anchors a:hover{background:var(--brand-100);color:var(--brand-800);text-decoration:none}.analysis h4{margin-top:20px}.analysis li{margin-bottom:6px}.dims,.checklist,.cites{gap:8px;padding:0;list-style:none;display:grid}.checklist label{cursor:pointer;color:var(--ink);align-items:center;gap:10px;font-weight:400;display:flex}.checklist input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand-600)}.chat{gap:10px;display:grid}.msg{border-radius:var(--r);font-size:var(--fs);padding:12px 14px}.msg.user{background:var(--brand-100);border-bottom-right-radius:4px;justify-self:end;max-width:80%}.msg.assistant{background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:4px}.msg p{white-space:pre-wrap;margin:0 0 6px}.cites{border-left:2px solid var(--accent);font-size:var(--fs-xs);color:var(--ink-2);gap:4px;margin-top:6px;padding-left:12px}.suggest{flex-wrap:wrap;gap:6px;display:flex}.suggest button{background:var(--surface);color:var(--brand-800);border-color:var(--line);font-weight:500}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:0 0;padding:36px 20px}.empty h3{color:var(--ink-2);font-size:var(--fs-md);font-family:var(--font-body);font-weight:600}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, #ece7dd 50%, var(--surface-2) 75%);border-radius:var(--r-sm);background-size:200% 100%;height:14px;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.auth{z-index:1;grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid;position:relative}.auth-art{background:var(--brand-900);color:#dbe6ec;background-image:radial-gradient(90% 70% at 100% 0,#2a7a9c73,#0000 60%),radial-gradient(60% 50% at 0 100%,#d99a4e40,#0000 60%);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-art .logo,.auth-art .logo-name{color:#fff}.auth-art h1{color:#fff;font-variation-settings:"opsz" 144, "SOFT" 50;max-width:12ch;font-size:44px;font-weight:400}.auth-art .lines{gap:10px;margin-top:28px;display:grid}.auth-art .lines div{color:#cfdce3;align-items:center;gap:12px;display:flex}.auth-art .lines i{background:var(--accent);border-radius:50%;width:8px;height:8px;display:inline-block}.auth-form{place-items:center;padding:40px 24px;display:grid}.auth-form form{gap:12px;width:min(400px,100%);display:grid}.auth-form h2{font-size:26px}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;height:auto;padding:10px 12px;position:static}.sidebar .logo{padding:4px 8px}.nav-section{display:none}.nav{flex-wrap:wrap;gap:2px;display:flex}.sidebar-footer{margin:0 0 0 auto}.content{padding:18px 16px 48px}.detail-head{grid-template-columns:1fr}.side-card{position:static}.filters{grid-template-columns:1fr 1fr}.auth{grid-template-columns:1fr}.auth-art{padding:28px}.auth-art h1{font-size:32px}.opp{grid-template-columns:1fr}.opp .side{text-align:left}}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}button:focus-visible{outline-offset:3px}html{scroll-behavior:smooth;scroll-padding-top:24px}.banner{background:var(--accent-100);color:var(--ink);border-radius:var(--r);font-size:var(--fs-sm);border:1px solid #ead9bd;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:10px 14px;display:flex}.banner.warn{background:var(--bad-bg);border-color:#f0c9c3}.banner:hover{box-shadow:var(--shadow-1);text-decoration:none}.usage{font-size:var(--fs-sm);gap:4px;display:grid}.bar{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.bar i{background:var(--brand-600);height:100%;transition:width .4s var(--ease);border-radius:999px;display:block}.bar i.warn{background:var(--warn)}.bar i.full{background:var(--bad)}.plans{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.plan{align-content:start;gap:10px;display:grid}.plan.featured{border-color:var(--accent);box-shadow:var(--shadow-2)}.plan .price{font-family:var(--font-display);color:var(--brand-900);font-size:36px;line-height:1}.plan .price .cur{vertical-align:top;color:var(--muted);margin-right:2px;font-size:16px}.plan .price .per{color:var(--muted);font-size:14px;font-family:var(--font-body)}.plan .dims li{font-size:var(--fs-sm)}
