:root{--bg: #ededeb;--bg-warm: #f0eee6;--ink: #171717;--ink-2: #2e2c26;--muted: #6f6b63;--line: #ddd9d0;--card: #ffffff;--sidebar: #111111;--sidebar-text: #f5f5f3;--sidebar-muted: #9a968c;--accent: #c7ea1a;--danger: #b00020;--pos: #2f6fed;--neg: #b00020;--neu: #9a968c;--ped: #c48a1a;--radius: 16px;--radius-sm: 10px;--shadow: 0 1px 0 rgba(23, 23, 23, .04), 0 12px 28px rgba(23, 23, 23, .06);--font: "Archivo", "IBM Plex Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,h4{margin:0;letter-spacing:-.03em}.app-shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:1rem .85rem 1.2rem;display:flex;flex-direction:column;gap:1.1rem;position:sticky;top:0;height:100vh}.brand{background:#000;border:1px solid #222;border-radius:12px;padding:.85rem .9rem;font-weight:700;font-size:1.15rem;letter-spacing:-.04em}.brand small{display:block;margin-top:.25rem;color:var(--sidebar-muted);font-size:.72rem;font-weight:500;letter-spacing:0}.nav{display:flex;flex-direction:column;gap:.2rem}.nav .section{margin:.9rem .4rem .35rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-muted)}.nav a{display:block;padding:.7rem .8rem;border-radius:12px;color:#cfcbc2}.nav a strong{display:block;color:#fff;font-size:.95rem}.nav a span{display:block;font-size:.72rem;color:var(--sidebar-muted);margin-top:.1rem}.nav a.active,.nav a:hover{background:#1d1d1d}.nav a.active{outline:1px solid #333}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:.55rem;padding:0 .25rem;font-size:.8rem;color:var(--sidebar-muted)}.main{padding:1rem 1.25rem 2.5rem;min-width:0}.context-bar{display:flex;flex-wrap:wrap;gap:.55rem .85rem;align-items:center;justify-content:space-between;margin-bottom:.85rem;color:var(--muted);font-size:.86rem}.context-bar strong{color:var(--ink);font-weight:600}.chip-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:1rem}.chip,.chip-add{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.4rem .75rem;font-size:.82rem;color:var(--ink-2);cursor:pointer}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.chip-add{color:var(--muted)}.chip .x{margin-left:.35rem;opacity:.7}.page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.page-head h1{font-size:1.85rem}.page-head p{margin:.3rem 0 0;color:var(--muted);max-width:52ch}.grid{display:grid;gap:.9rem}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.05rem;box-shadow:var(--shadow)}.card h3{font-size:1rem;margin-bottom:.25rem}.card .sub{color:var(--muted);font-size:.82rem;margin-bottom:.85rem}.card-dark{background:#111;color:#f4f2ea;border:0;border-radius:var(--radius);padding:1.15rem 1.2rem;box-shadow:var(--shadow)}.card-dark .eyebrow{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#a8a59c;margin-bottom:.55rem}.card-dark p{margin:0;line-height:1.45;font-size:1.02rem}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:.95rem 1rem;box-shadow:var(--shadow)}.kpi .label{color:var(--muted);font-size:.8rem;margin-bottom:.35rem}.kpi .value{font-size:1.85rem;font-weight:700;letter-spacing:-.04em;line-height:1}.kpi .cmp{margin-top:.45rem;color:var(--muted);font-size:.78rem}.btn{border:0;border-radius:999px;padding:.55rem .95rem;background:var(--ink);color:#fff;cursor:pointer;font-weight:600;font-size:.86rem}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:var(--danger)}.tag{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.18rem .55rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tag.risco{background:#f8d7dc;color:var(--danger)}.tag.atencao{background:#f7e5c4;color:#8a5a00}.tag.forca,.tag.pos{background:#d9e6ff;color:var(--pos)}.tag.neg{background:#f8d7dc;color:var(--danger)}.tag.neu{background:#ebe8e1;color:var(--muted)}.tag.ped{background:#f7e5c4;color:#8a5a00}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.65rem .4rem;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.compose{display:flex;height:8px;border-radius:99px;overflow:hidden;background:#eee;min-width:120px}.compose span{display:block;height:100%}.compose .pos{background:var(--pos)}.compose .neu{background:#cfcbc2}.compose .ped{background:#e2b34a}.compose .neg{background:var(--neg)}.stack{display:flex;flex-direction:column;gap:.85rem}.row{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.error{color:var(--danger)}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.field label{font-size:.78rem;color:var(--muted)}.field input,.field select,.field textarea,.filters select,.filters input{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(900px 500px at 10% 0%,#dfe8a8 0%,transparent 55%),var(--bg)}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.4rem;box-shadow:var(--shadow)}.login-card h1{font-size:1.7rem}.login-card p{color:var(--muted)}.env-pill{display:inline-flex;padding:.2rem .55rem;border-radius:999px;border:1px solid #333;font-size:.72rem;color:#ddd}.env-pill.production{border-color:#3d5;color:#c7ea1a}.chart{width:100%;height:220px;display:block}.chart-legend{display:flex;gap:1rem;font-size:.8rem;color:var(--muted);margin-bottom:.5rem}.chart-legend i{display:inline-block;width:18px;height:2px;background:var(--ink);vertical-align:middle;margin-right:.35rem}.chart-legend i.dashed{background:repeating-linear-gradient(90deg,var(--muted) 0 4px,transparent 4px 7px)}.signal-card .headline{font-weight:700;margin:.45rem 0 .35rem}.signal-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.4}.signal-card .linkish{display:inline-block;margin-top:.7rem;font-size:.84rem;font-weight:600}.comment-item{padding:.85rem 0;border-bottom:1px solid var(--line)}.comment-item:last-child{border-bottom:0}.banner-prod{margin-bottom:.9rem;padding:.75rem .95rem;border-radius:var(--radius-sm);background:var(--bg-warm);border:1px solid var(--line)}.code-block{white-space:pre-wrap;font-size:.82rem;margin:.5rem 0 0;color:var(--ink-2)}.mobile-dock{display:none}@media(max-width:1100px){.grid.cols-5{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:1fr}}@media(max-width:960px){.app-shell{grid-template-columns:1fr;padding-bottom:4.5rem}.sidebar{position:relative;height:auto;padding:.75rem .85rem;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}.desktop-nav{display:none}.sidebar-foot{margin-top:0;flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:flex-end}.sidebar-foot .btn{padding:.4rem .7rem}.brand{padding:.55rem .7rem;font-size:1rem}.brand small{display:none}.main{padding:.85rem .9rem 1.5rem}.grid.cols-2,.grid.cols-5{grid-template-columns:1fr}.page-head h1{font-size:1.45rem}.kpi .value{font-size:1.55rem}.chip-row{gap:.35rem}.chip,.chip-add{font-size:.78rem;padding:.35rem .65rem}.mobile-dock{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;gap:.35rem;padding:.55rem .65rem calc(.55rem + env(safe-area-inset-bottom));background:#111111f5;border-top:1px solid #2a2a2a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-dock>a,.mobile-more>summary{text-align:center;padding:.65rem .2rem;border-radius:12px;color:#cfcbc2;font-size:.78rem;font-weight:600;list-style:none;cursor:pointer}.mobile-more>summary::-webkit-details-marker{display:none}.mobile-dock>a.active{background:#fff;color:#111}.mobile-more{position:relative}.mobile-more-panel{position:absolute;right:0;bottom:calc(100% + .45rem);min-width:180px;background:#111;border:1px solid #333;border-radius:14px;padding:.4rem;display:flex;flex-direction:column;gap:.15rem;box-shadow:var(--shadow)}.mobile-more-panel a{padding:.65rem .75rem;border-radius:10px;color:#f5f5f3;font-size:.86rem}.mobile-more-panel a.active,.mobile-more-panel a:hover{background:#1d1d1d}}
