:root{color-scheme:dark;--bg: #0b1220;--bg-soft: #111a2b;--surface: #131d31;--surface-2: #1a2740;--border: #24334f;--text: #e6eefb;--muted: #9fb3c8;--accent: #38bdf8;--accent-2: #818cf8;--good: #34d399;--mid: #fbbf24;--bad: #f87171;--radius: 12px;--shadow: 0 10px 30px rgba(2, 8, 20, .35);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1200px 600px at 10% -10%,rgba(56,189,248,.08),transparent 60%),radial-gradient(900px 500px at 110% 10%,rgba(129,140,248,.08),transparent 55%),var(--bg);color:var(--text)}a{color:var(--accent)}h1,h2,h3{margin:0 0 .4rem;line-height:1.25}h1{font-size:1.8rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:.35rem 0}code{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:.05rem .3rem;font-size:.85em}.muted{color:var(--muted)}.small{font-size:.86rem}.warn{color:#fcd34d}.positive{color:var(--good)}.negative{color:var(--bad)}.link{color:var(--accent);text-decoration:none}.link:hover{text-decoration:underline}.link-button{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-align:left}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:9px;padding:.55rem .9rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:border-color .12s ease,background .12s ease,transform 80ms ease}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,#0ea5e9,#0284c7);border-color:#0284c7;color:#f8fbff}.btn-ghost{background:transparent}.btn-small{padding:.3rem .55rem;font-size:.82rem;border-radius:7px}.btn-danger{color:#fecaca;border-color:#f8717173;background:#f871711a}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select{background:var(--bg-soft);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.55rem .65rem;font:inherit;min-width:0}input[type=file]{padding:.35rem}input::placeholder{color:#6f819a}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:1.2rem;padding:1.4rem 1rem;border-right:1px solid var(--border);background:#111a2bbf;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:.7rem}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,#0ea5e9,#6366f1);color:#fff;font-weight:800;letter-spacing:.5px}.brand strong{display:block}.brand small{color:var(--muted);font-size:.78rem}.sidebar nav{display:flex;flex-direction:column;gap:.25rem}.nav-link{color:var(--muted);text-decoration:none;padding:.55rem .7rem;border-radius:8px;font-weight:500}.nav-link:hover{background:var(--surface);color:var(--text)}.nav-link.active{background:#38bdf821;color:#bae6fd;border:1px solid rgba(56,189,248,.3)}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--border);padding-top:1rem;overflow-wrap:anywhere}.content{padding:1.6rem clamp(1rem,3vw,2.4rem) 3rem;min-width:0}.disclaimer{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--border);color:#7f92a9;font-size:.78rem}.page-head{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;justify-content:space-between}.page-head p{max-width:70ch}.page-actions{display:flex;flex-wrap:wrap;gap:.5rem}.stack{display:flex;flex-direction:column;gap:.8rem}.stack-lg{display:flex;flex-direction:column;gap:1.2rem}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.scores{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.card{background:linear-gradient(180deg,#1a27408c,#131d31d9);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;flex-wrap:wrap;gap:.6rem;align-items:baseline;justify-content:space-between;margin-bottom:.7rem}.bar{height:7px;border-radius:99px;background:#0a1424;border:1px solid var(--border);overflow:hidden;margin:.45rem 0}.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:width .25s ease}.score-card{display:flex;flex-direction:column;gap:.25rem}.score-card details{margin-top:auto;padding-top:.4rem}.score-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.score-head h3{margin:0;text-transform:capitalize}.score-value{font-size:1.5rem;font-weight:800;line-height:1}.score-value span{font-size:.72rem;color:var(--muted);font-weight:500}.score-label{font-size:.86rem;font-weight:600}.score-good .score-value{color:var(--good)}.score-mid .score-value{color:var(--mid)}.score-weak .score-value{color:#fb923c}.score-bad .score-value{color:var(--bad)}.score-none .score-value{color:var(--muted)}.summary-card{display:flex;flex-direction:column;gap:.8rem}.summary-main{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}.big-score{font-size:2.8rem;font-weight:850;line-height:1;background:linear-gradient(90deg,#7dd3fc,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent}.summary-badges{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:flex-end}.profile-picker,.tabs{display:flex;flex-wrap:wrap;gap:.4rem}.chip{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.3rem .7rem;font:inherit;font-size:.85rem;cursor:pointer}.chip.active{background:#38bdf824;border-color:#38bdf880;color:#bae6fd}.badge{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:600;border:1px solid var(--border);background:var(--surface-2)}.badge-complete,.badge-good{color:#bbf7d0;border-color:#34d39973;background:#34d3991f}.badge-partial,.badge-mid{color:#fde68a;border-color:#fbbf2473;background:#fbbf241f}.badge-insufficient,.badge-bad{color:#fecaca;border-color:#f8717173;background:#f871711f}.badge-none{color:var(--muted)}.badge.regime-risk_on,.badge.regime-risk-off{color:#fecaca;border-color:#f8717173;background:#f871711f}.badge.regime-neutral{color:#fde68a;border-color:#fbbf2473;background:#fbbf241f}.badge.regime-risk-on,.badge.regime-recovery{color:#bbf7d0;border-color:#34d39973;background:#34d3991f}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem;margin:.5rem 0 1rem}.metric{border:1px solid var(--border);border-radius:9px;background:#0b12208c;padding:.55rem .65rem;display:flex;flex-direction:column;gap:.1rem;min-width:0}.metric-label{color:var(--muted);font-size:.78rem}.metric-value{font-size:1.02rem;overflow-wrap:anywhere}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wide{min-width:900px}.table.compact.table-wide{min-width:760px}.dashboard-watchlist-scroll{max-height:22rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.dashboard-watchlist-scroll thead th{position:sticky;top:0;z-index:1;background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--border);vertical-align:top}.table th{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.table.compact th,.table.compact td{padding:.35rem .4rem;font-size:.84rem}.table tbody tr:hover{background:#38bdf80a}.list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column}.list li{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--border)}.list li:last-child{border-bottom:0}.warn-list{margin:.5rem 0;padding-left:1.1rem;color:#fcd34d}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--muted)}.dot-ok{background:var(--good)}.dot-degraded{background:var(--mid)}.dot-error{background:var(--bad)}.banner{border-radius:9px;padding:.65rem .8rem;border:1px solid var(--border);background:var(--surface);display:flex;gap:.8rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.banner-error{border-color:#f8717173;background:#f871711a;color:#fecaca}.banner-warn{border-color:#fbbf2466;background:#fbbf2414;color:#fde68a}.banner-ok{border-color:#34d39966;background:#34d39914;color:#bbf7d0}.searchbar{display:flex;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem}.searchbar input{flex:1;border:0;background:transparent;font-size:1rem}.empty{padding:1.2rem;border:1px dashed var(--border);border-radius:var(--radius);text-align:center}.row-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.widget-frame{overflow-x:auto;max-width:100%;padding-bottom:.25rem}.widget-frame iframe{display:block;max-width:none;border:0}.quote-box{display:flex;flex-direction:column;gap:.25rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:#0f172a59}.field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}.field.inline{min-width:140px}.field.inline input,.field.inline select{color:var(--text)}.checkbox{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted)}.filter-row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:flex-end}.dcf{margin-top:.8rem;border-top:1px solid var(--border);padding-top:.8rem;display:flex;flex-direction:column;gap:.7rem}.chart{width:100%;min-height:200px;margin-top:.5rem}.regime-hero{display:grid;grid-template-columns:minmax(180px,.7fr) 1.3fr;gap:1.2rem;align-items:center}.regime-line{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.help-item{border-left:2px solid var(--border);padding-left:.7rem}.glossary details{border-bottom:1px solid var(--border);padding:.6rem 0}.glossary summary{cursor:pointer;font-weight:600}details summary{cursor:pointer;color:var(--muted);font-size:.86rem;margin:.4rem 0}.legend{display:inline-block;width:14px;height:3px;margin:0 .3rem .15rem .8rem;border-radius:2px}.legend.strategy{background:var(--good)}.legend.benchmark{background:var(--muted)}.spinner{display:flex;align-items:center;gap:.6rem;color:var(--muted);padding:1rem 0}.spinner-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(440px,100%);background:linear-gradient(180deg,#1a2740b3,#131d31f2);border:1px solid var(--border);border-radius:16px;padding:1.8rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.8rem}.login-brand{margin-bottom:.4rem}@media (max-width: 860px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:column;border-right:0;border-bottom:1px solid var(--border);padding:.9rem 1rem;gap:.8rem}.sidebar nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.nav-link{flex:0 0 auto;white-space:nowrap}.sidebar-footer{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}.sidebar-footer span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.regime-hero{grid-template-columns:1fr;gap:.8rem}.content{padding:1.1rem .9rem 2.5rem}.page-head{align-items:flex-start}.summary-badges{justify-content:flex-start}}@media (max-width: 720px){.grid.two,.grid.scores{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:stretch;gap:.6rem}.page-actions{width:100%}.page-actions .btn{flex:1 1 auto}.card{padding:.9rem}.big-score{font-size:2.2rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.metric{padding:.5rem .55rem}.filter-row{align-items:stretch}.filter-row .field,.filter-row .field.inline{flex:1 1 160px;min-width:0}.filter-row .btn{flex:1 1 auto}.tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.chip{flex:0 0 auto;white-space:nowrap}.list li{flex-wrap:wrap;gap:.25rem}.dashboard-watchlist-scroll{max-height:18rem}}@media (max-width: 640px){.watchlist-card{padding:0;border:0;background:transparent;box-shadow:none}.watchlist-table-wrap{overflow:visible}.watchlist-table{display:block}.watchlist-table thead{display:none}.watchlist-table tbody{display:flex;flex-direction:column;gap:.75rem}.watchlist-table tr{display:block;padding:.8rem;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,#1a27408c,#131d31d9);box-shadow:var(--shadow)}.watchlist-table td{display:block;width:auto;padding:.25rem 0;border:0;overflow-wrap:anywhere}.watchlist-table td:before{content:attr(data-label);display:block;margin-bottom:.1rem;color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.watchlist-table td[data-label=Ticker]{padding-bottom:0;font-size:1.1rem}.watchlist-table td[data-label=Ticker]:before,.watchlist-table td[data-label=Empresa]:before{display:none}.watchlist-table td[data-label=Empresa]{padding-top:0;color:var(--muted);font-size:.88rem}.watchlist-table .row-actions{flex-direction:column;align-items:stretch;gap:.35rem;margin-top:.2rem}.watchlist-table .row-actions .btn,.watchlist-table .row-actions input{width:100%}}@media (max-width: 560px){h1{font-size:1.45rem}h2{font-size:1.05rem}.content{padding:.9rem .7rem 2rem}.sidebar{padding:.75rem .7rem}.brand-mark{width:36px;height:36px;border-radius:9px}.brand small{display:none}.searchbar{flex-direction:column;align-items:stretch;padding:.4rem}.searchbar input,.searchbar .btn{width:100%}.filter-row{flex-direction:column;align-items:stretch}.filter-row .field,.filter-row .field.inline,.filter-row .btn{flex:1 1 100%;width:100%;min-width:0}input,select{font-size:16px}.btn{min-height:40px}.table{font-size:.82rem}.table th,.table td{padding:.42rem .38rem}.table.compact th,.table.compact td{font-size:.8rem}.table-wide{min-width:900px}.table.compact.table-wide{min-width:760px}.card-head{gap:.35rem}.quote-box{padding:.6rem .65rem}.login-card{padding:1.2rem}.disclaimer{font-size:.72rem}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
