@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=IBM+Plex+Sans:wght@300;400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";body{margin:0}#root{width:100%;min-height:100vh}:root{--bg:#0f1117;--surface:#171b27;--surface2:#1e2334;--border:#2a3050;--accent:#e8c84a;--accent2:#4a8fe8;--danger:#e8614a;--success:#4ae89b;--warn:#e8944a;--text:#e8eaf0;--muted:#7a8099;--font-display:"Playfair Display", serif;--font-body:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;font-size:15px;line-height:1.6}header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;height:64px;padding:0 2rem;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:14px;display:flex}.header-icon{background:var(--accent);border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.header-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;font-size:1.1rem}.header-sub{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:1px;font-size:.72rem}.badge{font-family:var(--font-mono);color:var(--accent);letter-spacing:.05em;background:#e8c84a1f;border:1px solid #e8c84a4d;border-radius:20px;padding:3px 10px;font-size:.68rem}.app{grid-template-columns:1fr 380px;gap:0;min-height:calc(100vh - 64px);display:grid}.main-panel{border-right:1px solid var(--border);padding:2rem;overflow-y:auto}.side-panel{background:var(--surface);height:calc(100vh - 64px);padding:1.5rem;position:sticky;top:64px;overflow-y:auto}.section{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:2rem;overflow:hidden}.section-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:1rem 1.4rem;display:flex}.section-num{width:28px;height:28px;font-family:var(--font-mono);color:var(--accent);background:#e8c84a26;border:1px solid #e8c84a66;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:500;display:flex}.section-title{font-family:var(--font-display);color:var(--text);flex:1;font-size:1rem}.section-score{font-family:var(--font-mono);color:var(--muted);font-size:.8rem}.score-val{font-size:1.1rem;font-weight:500}.score-pos{color:var(--danger)}.score-neg{color:var(--success)}.score-zero{color:var(--muted)}.section-body{padding:1.4rem}.radio-group{flex-direction:column;gap:8px;margin-bottom:1.2rem;display:flex}.radio-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px;font-size:.72rem}.radio-option{border:1px solid var(--border);cursor:pointer;background:var(--bg);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 14px;transition:all .15s;display:flex}.radio-option:hover{background:#e8c84a0a;border-color:#e8c84a66}.radio-option.selected{border-color:var(--accent);background:#e8c84a14}.radio-option input[type=radio]{display:none}.radio-dot{border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-top:1px;transition:all .15s;display:flex}.radio-option.selected .radio-dot{border-color:var(--accent);background:var(--accent)}.radio-option.selected .radio-dot:after{content:"";background:var(--bg);border-radius:50%;width:6px;height:6px}.radio-text{flex:1}.radio-main{color:var(--text);font-size:.88rem;font-weight:500}.radio-desc{color:var(--muted);margin-top:2px;font-size:.78rem;line-height:1.4}.radio-range{font-family:var(--font-mono);color:var(--accent);white-space:nowrap;background:#e8c84a1a;border-radius:4px;padding:2px 7px;font-size:.7rem}.slider-wrapper{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-top:1rem;padding:16px}.slider-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.slider-label{color:var(--muted);font-size:.78rem}.slider-value{font-family:var(--font-mono);color:var(--accent);font-size:1.1rem;font-weight:500}input[type=range]{appearance:none;background:var(--border);border-radius:2px;outline:none;width:100%;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 3px #e8c84a33}.slider-ticks{justify-content:space-between;margin-top:6px;padding:0 2px;display:flex}.slider-tick{font-family:var(--font-mono);color:var(--muted);font-size:.65rem}.checkbox-group{flex-direction:column;gap:6px;display:flex}.checkbox-option{border:1px solid var(--border);cursor:pointer;background:var(--bg);border-radius:7px;align-items:center;gap:10px;padding:9px 12px;font-size:.84rem;transition:all .15s;display:flex}.checkbox-option:hover{background:#4a8fe80a;border-color:#4a8fe866}.checkbox-option.checked{border-color:var(--accent2);background:#4a8fe814}.checkbox-option input{display:none}.chk-box{border:2px solid var(--border);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;transition:all .15s;display:flex}.checkbox-option.checked .chk-box{border-color:var(--accent2);background:var(--accent2);color:#fff}.toggle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.toggle-row:last-child{border-bottom:none}.toggle-label{font-size:.88rem}.toggle-desc{color:var(--muted);margin-top:2px;font-size:.75rem}.toggle{background:var(--border);cursor:pointer;border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background .2s;position:relative}.toggle.on{background:var(--accent)}.toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle.on:after{transform:translate(18px)}.result-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;padding:1.2rem}.result-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px;font-size:.68rem}.result-big{font-family:var(--font-display);margin-bottom:6px;font-size:2.4rem;line-height:1}.result-sub{color:var(--muted);font-size:.8rem}.penalty-advertencia{color:var(--warn)}.penalty-suspensao{color:var(--danger)}.penalty-zero{color:var(--muted)}.breakdown{margin-bottom:1rem}.breakdown-title{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:10px;font-size:.68rem}.breakdown-row{border-bottom:1px solid #ffffff0a;align-items:center;gap:8px;padding:6px 0;display:flex}.breakdown-row:last-child{border-bottom:none}.breakdown-name{color:var(--muted);flex:1;font-size:.8rem}.breakdown-bar-wrap{background:var(--border);border-radius:2px;width:80px;height:4px;overflow:hidden}.breakdown-bar{border-radius:2px;height:100%;transition:width .3s}.breakdown-val{font-family:var(--font-mono);text-align:right;width:36px;font-size:.78rem;font-weight:500}.total-box{background:linear-gradient(135deg,#e8c84a1f,#e8c84a0a);border:1px solid #e8c84a4d;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem 1.2rem;display:flex}.total-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px;font-size:.72rem}.total-number{font-family:var(--font-mono);color:var(--accent);font-size:2rem;font-weight:500}.tac-status{border-radius:8px;align-items:center;gap:10px;margin-bottom:1rem;padding:10px 14px;font-size:.83rem;font-weight:500;display:flex}.tac-possible{color:var(--success);background:#4ae89b1a;border:1px solid #4ae89b4d}.tac-impossible{color:var(--danger);background:#e8614a1a;border:1px solid #e8614a4d}.tac-neutral{border:1px solid var(--border);color:var(--muted);background:#7a80991a}.alert{border-radius:8px;margin-bottom:1rem;padding:10px 14px;font-size:.8rem;line-height:1.5}.alert-warn{color:var(--warn);background:#e8944a1a;border:1px solid #e8944a4d}.alert-info{color:var(--accent2);background:#4a8fe81a;border:1px solid #4a8fe84d}h2{font-family:var(--font-display);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:8px;font-size:.9rem}.info-box{color:var(--muted);background:#4a8fe80f;border:1px solid #4a8fe833;border-radius:8px;margin-bottom:1rem;padding:12px;font-size:.78rem;line-height:1.6}.info-box strong{color:var(--text)}.mt{margin-top:1rem}.enquad-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-body);border-radius:8px;outline:none;margin-bottom:8px;padding:10px 14px;font-size:.85rem;transition:border-color .15s}.enquad-input:focus{border-color:#e8c84a80}.btn{font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:8px;padding:10px 18px;font-size:.84rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:#f0d460;transform:translateY(-1px)}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.fundamentacao-area{background:var(--bg);border:1px solid var(--border);color:var(--muted);white-space:pre-wrap;max-height:300px;font-size:.78rem;line-height:1.8;font-family:var(--font-mono);border-radius:8px;margin-top:1rem;padding:14px;overflow-y:auto}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (width<=900px){.app{grid-template-columns:1fr}.side-panel{border-top:1px solid var(--border);height:auto;position:static}}.section{animation:.3s both fadeUp}.section:first-child{animation-delay:50ms}.section:nth-child(2){animation-delay:.1s}.section:nth-child(3){animation-delay:.15s}.section:nth-child(4){animation-delay:.2s}.section:nth-child(5){animation-delay:.25s}.section:nth-child(6){animation-delay:.3s}.section:nth-child(7){animation-delay:.35s}.section:nth-child(8){animation-delay:.4s}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
