:root{--primary:#141413;--primary-light:#2b2a27;--accent:#c05f38;--accent-light:#d97757;--accent-lighter:#f5e5dd;--success:#3d7a53;--warning:#b7791f;--error:#b3402f;--gray-50:#faf9f5;--gray-100:#f0eee6;--gray-200:#e3e1da;--gray-300:#d3d1c7;--gray-400:#a8a69c;--gray-500:#6f6e69;--gray-600:#53524d;--gray-700:#3a3936;--bg-default:#faf9f5;--bg-secondary:#f0eee6;--bg-tertiary:#e8e6dd;--bg-surface:#fff;--bg-overlay:#14141373;--text-primary:#141413;--text-secondary:#6f6e69;--text-tertiary:#a8a69c;--text-inverse:#faf9f5;--border-default:#e3e1da;--border-subtle:#eeece4;--font-family:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;--font-display:ui-serif, Georgia, "Times New Roman", serif;--font-mono:"Menlo", "Courier New", monospace;--verde:var(--success);--vermelho:var(--error);--azul:var(--accent);--azul-fraco:var(--accent-lighter);--entrada:var(--accent);--resultado:var(--gray-500);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--spacing-3xl:48px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family);color:var(--text-primary);background:var(--bg-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:14px;line-height:1.6}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-light);text-decoration:underline}.topbar{background:var(--bg-default);border-bottom:1px solid var(--border-default);padding:0 var(--spacing-xl);align-items:center;gap:var(--spacing-xl);z-index:100;background:var(--bg-default);height:64px;display:flex;position:sticky;top:0}.series-key{border:2px solid;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.tag{margin-left:var(--spacing-sm);background:var(--accent-lighter);color:var(--accent);letter-spacing:.02em;vertical-align:middle;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.topbar .brand{letter-spacing:-.5px;align-items:center;gap:var(--spacing-sm);font-size:18px;font-weight:600;display:flex}.topbar .brand img{width:auto;height:28px}.topbar .brand .by{color:var(--text-secondary);letter-spacing:0;font-size:12px;font-weight:400}.topbar .brand .wordmark{width:auto;height:20px;color:var(--text-primary)}.topbar nav{gap:var(--spacing-lg);align-items:center;margin-left:auto;display:flex}.topbar nav a{color:var(--text-primary);padding:var(--spacing-sm) 0;font-size:14px;font-weight:500;transition:color .15s;position:relative}.topbar nav a:after{content:"";background:var(--accent);width:0;height:2px;transition:width .15s;position:absolute;bottom:0;left:0}.topbar nav a:hover:after,.topbar nav a.active:after{width:100%}.topbar .role{background:var(--accent-lighter);color:var(--accent);border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500}.topbar button{margin-left:var(--spacing-md)}.page{max-width:1280px;padding:var(--spacing-3xl) var(--spacing-xl) 64px;margin:0 auto}h1{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.6px;margin:0 0 8px;font-size:36px;font-weight:400}h2{color:var(--text-primary);margin:var(--spacing-2xl) 0 var(--spacing-md);letter-spacing:-.3px;font-size:24px;font-weight:600}h3{color:var(--text-primary);margin:var(--spacing-lg) 0 var(--spacing-md);font-size:16px;font-weight:600}h4{margin:var(--spacing-md) 0 var(--spacing-sm);font-size:14px;font-weight:600}p{margin:0 0 var(--spacing-md)}.subtitle{color:var(--text-secondary);margin:0 0 var(--spacing-lg);font-size:15px}input,select,textarea{font-family:var(--font-family);padding:10px var(--spacing-md);border:1px solid var(--border-default);background:var(--bg-default);color:var(--text-primary);border-radius:6px;width:100%;font-size:14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-lighter);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}input.entrada,select.entrada{background:#fffbeb;border-color:#fcd34d}textarea{resize:vertical;min-height:100px;font-family:var(--font-family)}button{font-family:var(--font-family);background:var(--primary);color:var(--text-inverse);cursor:pointer;align-items:center;gap:var(--spacing-sm);white-space:nowrap;border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}button:hover:not(:disabled){background:var(--primary-light);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent)}button.primary:hover:not(:disabled){background:var(--accent-light)}button.secondary{background:var(--bg-default);color:var(--text-primary);border:1px solid var(--border-default)}button.secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-default)}button.ghost{color:var(--text-primary);background:0 0;border:none}button.ghost:hover:not(:disabled){background:var(--bg-secondary)}button.danger{background:var(--error)}button.danger:hover:not(:disabled){background:#dc2626}button.success{background:var(--success)}button.success:hover:not(:disabled){background:#059669}.card{background:var(--bg-surface);border:1px solid var(--border-default);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border-radius:8px;transition:all .15s}.card:hover{border-color:var(--border-default);box-shadow:0 4px 16px #0000000f}.card.flat{background:var(--bg-secondary);border:none}.card.elevated{box-shadow:0 1px 3px #0000001a}.grid{gap:var(--spacing-lg);display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1024px){.grid.cols-2{grid-template-columns:1fr}.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}.row{gap:var(--spacing-md);flex-wrap:wrap;align-items:center;display:flex}.row.vertical{flex-direction:column;align-items:flex-start}.spread{justify-content:space-between}.flex-center{justify-content:center;align-items:center}.badge{align-items:center;gap:var(--spacing-xs);border:none;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge.default{background:var(--bg-tertiary);color:var(--text-secondary)}.badge.primary{background:var(--accent-lighter);color:var(--accent)}.badge.draft{background:var(--bg-tertiary);color:var(--text-secondary)}.badge.in_review{color:#92400e;background:#fef3c7}.badge.approved{color:#065f46;background:#d1fae5}.badge.success{color:var(--success);background:#d1fae5}.badge.warning{color:var(--warning);background:#fef3c7}.badge.error{color:var(--error);background:#fee2e2}.badge.sre{background:var(--accent-lighter);color:var(--accent)}.semaforo{padding:var(--spacing-lg);border-left:4px solid;border-radius:8px;font-weight:500}.semaforo.excelencia{border-color:var(--success);color:#065f46;background:#ecfdf5}.semaforo.adequada{border-color:var(--warning);color:#92400e;background:#fffbeb}.semaforo.atencao{border-color:var(--error);color:#7f1d1d;background:#fef2f2}.stat{background:var(--bg-secondary);border:1px solid var(--border-default);padding:var(--spacing-lg);border-radius:8px;transition:all .15s}.stat:hover{background:var(--bg-default);border-color:var(--border-default);box-shadow:0 2px 8px #0000000a}.stat .label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:var(--spacing-sm);font-size:12px;font-weight:600}.stat .value{color:var(--accent);margin-bottom:var(--spacing-sm);font-size:32px;font-weight:700;line-height:1.2}.stat .hint{color:var(--text-secondary);font-size:13px}.alert{padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-lg);gap:var(--spacing-md);border-left:4px solid;border-radius:6px;align-items:flex-start;font-size:14px;display:flex}.alert.error{border-color:var(--error);color:#7f1d1d;background:#fef2f2}.alert.warn{border-color:var(--warning);color:#92400e;background:#fffbeb}.alert.info{border-color:var(--accent);color:#1e40af;background:#eff6ff}.alert.success{border-color:var(--success);color:#166534;background:#f0fdf4}.card{overflow-x:auto}table{border-collapse:collapse;width:100%;margin:var(--spacing-lg) 0;font-size:13px}thead{background:var(--bg-secondary);border-bottom:2px solid var(--border-default)}th{color:var(--text-primary);text-align:left;padding:var(--spacing-md) var(--spacing-lg);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default);vertical-align:top}tr:hover{background:var(--bg-secondary)}th.acoes,td.acoes{white-space:nowrap;width:1%}td.acoes .row{flex-wrap:nowrap}tr.total td{background:var(--accent-lighter);color:var(--accent);font-weight:600}td.num,th.num{text-align:right;font-weight:500;font-family:var(--font-mono)}td.calc{background:var(--bg-tertiary);text-align:center;font-weight:500}.legend{gap:var(--spacing-xl);color:var(--text-secondary);flex-wrap:wrap;align-items:center;font-size:13px;display:flex}.legend .swatch{width:12px;height:12px;margin-right:var(--spacing-sm);vertical-align:-2px;border-radius:3px;display:inline-block}.steps{gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-wrap:wrap;display:flex}.steps button{border:1px solid var(--border-default);background:var(--bg-default);color:var(--text-primary);border-radius:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s}.steps button:hover{border-color:var(--accent);background:var(--bg-secondary)}.steps button.active{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.steps button.done{border-color:var(--success);color:var(--success);background:0 0}.steps button.active.done{background:var(--success);color:var(--text-inverse)}.descriptors{gap:var(--spacing-sm);margin-top:var(--spacing-md);grid-template-columns:repeat(5,1fr);display:grid}.descriptor{padding:var(--spacing-md);border:1px solid var(--border-default);background:var(--bg-secondary);cursor:pointer;border-radius:6px;font-size:12px;line-height:1.4;transition:all .15s}.descriptor:hover{border-color:var(--accent);background:var(--accent-lighter)}.descriptor .lvl{color:var(--accent);margin-bottom:var(--spacing-xs);font-weight:700;display:block}.descriptor.selected{color:#92400e;background:#fffbeb;border-color:#fcd34d}.descriptor.selected .lvl{color:#d97706}.descriptor.target{box-shadow:inset 0 -3px 0 var(--accent)}.subdim{border:1px solid var(--border-default);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);background:var(--bg-default);border-radius:8px}.subdim h4{margin:0 0 var(--spacing-md);font-size:14px}.sidebar-weights{position:sticky;top:80px}.weight-row{gap:var(--spacing-md);padding:var(--spacing-sm) 0;grid-template-columns:1fr 74px;align-items:center;font-size:12px;display:grid}.weight-total{border-top:1px solid var(--border-default);margin-top:var(--spacing-md);padding-top:var(--spacing-md);font-weight:600}.weight-total.bad{color:var(--error)}.weight-total.good{color:var(--success)}.muted{color:var(--text-secondary);font-size:12px}.center{text-align:center}.login-wrap{max-width:400px;padding:var(--spacing-xl);margin:10vh auto}.login-wrap .card{padding:var(--spacing-xl)}@media (width<=1024px){.topbar{padding:0 var(--spacing-lg)}.page{padding:var(--spacing-2xl) var(--spacing-lg) 32px}.descriptors{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.topbar{gap:var(--spacing-md);height:56px}.topbar .brand{font-size:16px}.topbar nav{gap:var(--spacing-md)}.topbar nav a{font-size:13px}h1{font-size:24px}h2{font-size:18px}.page{padding:var(--spacing-xl) var(--spacing-md) 32px}.descriptors{grid-template-columns:repeat(2,1fr)}.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}@media (width<=480px){body{font-size:13px}.topbar{height:auto;padding:var(--spacing-md);flex-wrap:wrap}.topbar .brand{width:100%;font-size:14px}.topbar nav{align-items:center;gap:var(--spacing-sm) var(--spacing-md);width:100%;margin-left:0;margin-top:var(--spacing-xs);flex-flow:wrap}.topbar button{margin-left:0;padding:6px 12px}.topbar .role{padding:2px 8px}.topbar nav a{font-size:12px}h1{font-size:18px}h2{font-size:14px}.page{padding:var(--spacing-lg) var(--spacing-sm) 24px}.descriptors,.grid.cols-2{grid-template-columns:1fr}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-normal{font-weight:400}.opacity-50{opacity:.5}.opacity-75{opacity:.75}
