:root{--ink:#edf4fb;--muted:#8fa4b8;--bg:#06111d;--surface:#0b1b2b;--surface-2:#0f2437;--line:rgba(169,196,219,.14);--green:#35c28b;--green-soft:rgba(53,194,139,.13);--red:#f07178;--red-soft:rgba(240,113,120,.13);--amber:#f0b75a;--shadow:0 18px 50px rgba(0,0,0,.24);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
/* Browser UA styles can be overridden by component display rules; this is the visibility contract for every panel. */
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(800px 500px at 80% -10%,#123755 0%,transparent 65%),var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.skip-link{position:fixed;z-index:20;left:1rem;top:-4rem;padding:.6rem 1rem;border-radius:.45rem;background:#fff;color:#06111d}.skip-link:focus{top:1rem}.app-shell{min-height:100vh}.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:center;gap:5rem;max-width:1050px;margin:auto;padding:3rem 1.5rem}.login-brand{max-width:530px}.eyebrow,.small-label{display:block;margin:0 0 .35rem;color:#77a1bf;text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;font-weight:750}.login-brand h1{font-size:clamp(2.6rem,6vw,4.7rem);line-height:1.03;letter-spacing:-.055em;margin:.3rem 0 1.3rem}.login-brand>p:last-child{font-size:1.04rem;color:#b7c7d5;max-width:460px}.login-card,.card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(17,42,63,.95),rgba(8,26,42,.96));box-shadow:var(--shadow);border-radius:1rem}.login-card{padding:2rem;display:grid;gap:.55rem}.login-card h2{margin:0}.muted{color:var(--muted);margin:.15rem 0 1rem;font-size:.9rem}label{font-weight:650;font-size:.86rem;margin-top:.45rem}input,textarea{border:1px solid #28455d;background:#071522;color:var(--ink);border-radius:.5rem;padding:.72rem .8rem;outline:none}input:focus,textarea:focus,button:focus-visible{outline:2px solid #69d6ad;outline-offset:2px}.form-error{color:#ff9ba0;margin:.5rem 0 0;font-size:.88rem}.button{border:0;border-radius:.5rem;padding:.7rem 1rem;font-weight:760;transition:filter .15s,transform .15s}.button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.button-primary{background:var(--green);color:#032117;margin-top:.75rem}.button-secondary{background:#173a53;color:#daf1ff}.button-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.topbar{height:68px;padding:0 clamp(1rem,3vw,2.4rem);border-bottom:1px solid var(--line);background:rgba(5,16,28,.84);display:flex;align-items:center;justify-content:space-between;backdrop-filter:blur(12px)}.brand-lockup{display:flex;gap:.7rem;align-items:center}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--green);color:#052118;font-weight:900}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup span:not(.brand-mark){font-size:.72rem;color:var(--muted);margin-top:-.15rem}.topbar-actions{display:flex;align-items:center;gap:.65rem}.connection{font-size:.78rem;color:var(--muted)}.connection i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--amber);margin-right:.25rem}.connection.ok i{background:var(--green)}.connection.error i{background:var(--red)}.icon-button,.quiet-button{border:0;background:transparent;color:var(--muted);padding:.4rem}.icon-button{font-size:1.4rem;line-height:1}.quiet-button:hover{color:var(--ink)}.safety-banner{display:flex;gap:.55rem;align-items:center;justify-content:center;min-height:37px;padding:.45rem 1rem;text-align:center;background:#103528;color:#c8f6e2;font-size:.78rem}.safety-banner span:last-child{color:#88cbaa;border-left:1px solid rgba(200,246,226,.3);padding-left:.55rem}.dashboard-layout{display:grid;grid-template-columns:210px minmax(0,1fr);max-width:1500px;margin:auto}.sidebar{min-height:calc(100vh - 105px);padding:1.5rem 1rem;border-right:1px solid var(--line);display:flex;flex-direction:column}.campaign-chip{padding:.9rem;border:1px solid var(--line);border-radius:.7rem;background:rgba(16,42,63,.55)}.campaign-chip strong,.campaign-chip span:last-child{display:block}.campaign-chip strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis}.campaign-chip span:last-child{font-size:.78rem;color:var(--muted);margin-top:.12rem}.tabs{display:grid;gap:.2rem;margin-top:1.6rem}.tab{text-align:left;padding:.65rem .75rem;border:0;border-radius:.45rem;background:transparent;color:var(--muted);font-weight:650}.tab:hover{color:var(--ink);background:rgba(101,158,194,.08)}.tab.active{color:#e7fffa;background:var(--green-soft)}.sidebar-foot{margin-top:auto;padding:.9rem .7rem;color:var(--muted);font-size:.75rem}.sidebar-foot strong{font-size:.77rem;color:#bbcfde}.main-content{padding:clamp(1.1rem,3vw,2.3rem);min-width:0}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-heading h1{font-size:clamp(1.45rem,3vw,2rem);letter-spacing:-.035em;margin:0}.page-heading .muted{margin:.25rem 0 0;max-width:680px}.status-panel{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.status-badge{white-space:nowrap;padding:.35rem .56rem;border-radius:99px;font-size:.76rem;font-weight:750;background:rgba(145,169,188,.14);color:#c4d5e2}.status-running{color:#98f1c9;background:var(--green-soft)}.status-paused,.status-terminated{color:#ffb6ba;background:var(--red-soft)}.status-manual{color:#f5d18e;background:rgba(240,183,90,.13)}.notice{padding:.75rem .9rem;border-radius:.55rem;border:1px solid var(--line);background:#123049;color:#bed9ec;margin:0 0 1rem}.notice.error{color:#ffc6c9;background:var(--red-soft);border-color:rgba(240,113,120,.32)}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.metric-card{padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:rgba(10,29,46,.68)}.metric-card>span{display:block;color:var(--muted);font-size:.76rem;font-weight:650}.metric-card strong{display:block;font-size:1.33rem;line-height:1.2;margin:.55rem 0 .35rem;letter-spacing:-.03em}.metric-card small{display:block;color:#7690a5;font-size:.72rem}.metric-emphasis{background:linear-gradient(135deg,#174562,#0e2f46);border-color:rgba(74,180,138,.32)}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.dashboard-grid{display:grid;gap:1rem;margin-top:1rem}.top-grid{grid-template-columns:minmax(0,1.7fr) minmax(270px,.8fr)}.lower-grid{grid-template-columns:minmax(0,1.7fr) minmax(270px,.8fr)}.card{padding:1.15rem;min-width:0}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.card-heading h2{font-size:1.02rem;margin:0}.range-buttons{display:flex;gap:.18rem;border:1px solid var(--line);padding:.16rem;border-radius:.45rem}.range{border:0;background:transparent;color:var(--muted);font-size:.7rem;padding:.28rem .44rem;border-radius:.28rem}.range.active{background:#244b64;color:#fff}.chart-wrap{position:relative;height:260px;margin-top:1.2rem}.chart-wrap svg{width:100%;height:100%;overflow:visible}.chart-grid line{stroke:rgba(166,198,221,.11);stroke-width:1}.chart-baselines line{stroke:#509cb7;stroke-width:1;stroke-dasharray:5 5;opacity:.7}.chart-area{fill:url(#chart-fill);opacity:.3}.chart-line{fill:none;stroke:var(--green);stroke-width:2.4;vector-effect:non-scaling-stroke;stroke-linejoin:round}.chart-labels text{fill:#7893a8;font-size:11px}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center}.chart-footer{display:flex;justify-content:space-between;color:#7690a5;font-size:.72rem;margin-top:.65rem}.chart-footer strong{color:#aac4d5;font-weight:600}.market-price{display:flex;align-items:baseline;gap:.65rem;margin:2rem 0 1.45rem}.market-price strong{font-size:2rem;letter-spacing:-.04em}.market-price span{font-size:.84rem;font-weight:750}.data-list{margin:0;display:grid;gap:.8rem}.data-list div{display:flex;justify-content:space-between;gap:.75rem;border-top:1px solid var(--line);padding-top:.7rem}.data-list dt{color:var(--muted);font-size:.78rem}.data-list dd{margin:0;text-align:right;font-size:.8rem;font-weight:650}.health-message{display:flex;gap:.5rem;align-items:flex-start;margin-top:1.3rem;padding:.7rem;border-radius:.5rem;background:rgba(117,156,185,.1);color:#b4cfdf;font-size:.77rem}.health-message span:first-child{color:var(--green);line-height:1.45}.health-message.stale span:first-child{color:var(--red)}.count-label{font-size:.75rem;color:var(--muted)}.table-scroll{overflow-x:auto;margin-top:1rem;border:1px solid var(--line);border-radius:.55rem}table{width:100%;border-collapse:collapse;min-width:610px;font-size:.78rem}th{text-align:left;color:#7995aa;font-weight:700;text-transform:uppercase;font-size:.66rem;letter-spacing:.06em;background:rgba(7,23,36,.65)}th,td{padding:.75rem .7rem;border-bottom:1px solid var(--line);white-space:nowrap}tr:last-child td{border:0}td:nth-last-child(-n+3),th:nth-last-child(-n+3){text-align:right}.event-type{font-weight:750}.empty-state{color:var(--muted);font-size:.86rem;padding:1.2rem;margin:0;text-align:center}.table-scroll>.empty-state{min-width:300px}.account-list{margin-top:1.15rem}.terminal-line{display:flex;justify-content:space-between;margin-top:1.1rem;padding:.75rem 0 0;border-top:1px solid var(--line);font-size:.77rem;color:var(--muted)}.terminal-line strong{color:#dce9f2}.research-list,.notes-list,.alerts-list{display:grid;gap:.7rem;margin-top:1rem}.research-item,.note-item,.alert-item{padding:.85rem;border:1px solid var(--line);border-radius:.55rem;background:rgba(7,22,35,.45)}.research-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem}.research-item h3{font-size:.9rem;margin:0 0 .2rem}.research-item p,.note-item p,.alert-item p{margin:.2rem 0 0;font-size:.8rem;color:#adc1d0}.research-metrics{display:flex;gap:1rem;margin-top:.6rem;color:#87a3b7;font-size:.72rem}.research-status{align-self:start;font-size:.7rem;padding:.25rem .45rem;border-radius:99px;background:rgba(117,156,185,.15);color:#bdd0df}.note-item time,.alert-item time{font-size:.7rem;color:#7690a5}.note-form{display:grid;gap:.7rem;margin-top:1rem}.note-form textarea{min-height:90px;resize:vertical}.note-form>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.72rem}.note-form .button{margin:0}.alert-item{border-left:3px solid #648ba6}.alert-item.alert-risk{border-left-color:var(--red)}.alert-item.alert-warning{border-left-color:var(--amber)}.audit-grid{grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);margin-top:0}.confirm-dialog{width:min(94vw,465px);border:1px solid var(--line);border-radius:.9rem;background:#102338;color:var(--ink);box-shadow:var(--shadow);padding:0}.confirm-dialog::backdrop{background:rgba(1,7,13,.75)}.confirm-dialog form{padding:1.4rem;display:grid;gap:.55rem}.confirm-dialog h2{margin:0;font-size:1.2rem}.confirm-dialog form>p:not(.eyebrow,.form-error){color:#b2c6d5;margin:.1rem 0 .4rem;font-size:.88rem}.confirm-dialog label span{color:var(--muted);font-weight:400}.confirm-dialog textarea{min-height:90px;resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.75rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.dashboard-layout{grid-template-columns:1fr}.sidebar{min-height:auto;padding:.75rem 1rem;border-right:0;border-bottom:1px solid var(--line);display:flex;gap:.8rem;align-items:center;overflow-x:auto}.campaign-chip{min-width:165px;padding:.55rem .7rem}.tabs{display:flex;margin:0;gap:.25rem}.tab{white-space:nowrap}.sidebar-foot{display:none}.top-grid,.lower-grid,.audit-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.login-view{grid-template-columns:1fr;gap:1.6rem;padding:2rem 1rem}.login-brand h1{font-size:2.55rem}.login-card{padding:1.35rem}.topbar{height:58px;padding:0 1rem}.connection{display:none}.quiet-button{font-size:.78rem}.safety-banner{align-items:flex-start;justify-content:flex-start;text-align:left;font-size:.69rem;line-height:1.35}.safety-banner span:last-child{display:inline;color:#88cbaa;border-left:1px solid rgba(200,246,226,.3);padding-left:.55rem}.main-content{padding:1rem}.page-heading{display:grid;margin-bottom:1rem}.status-panel{justify-content:space-between}.summary-grid{gap:.65rem}.metric-card{padding:.75rem}.metric-card strong{font-size:1.08rem}.card{padding:.9rem}.chart-wrap{height:215px}.chart-footer{font-size:.65rem}.market-price{margin:1.2rem 0}.research-item{grid-template-columns:1fr}.research-metrics{gap:.65rem;flex-wrap:wrap}.note-form>div{align-items:flex-end}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{flex:1}.sidebar{padding:.6rem .8rem}.campaign-chip{display:none}.tabs{width:100%;justify-content:space-between}.tab{padding:.5rem .38rem;font-size:.77rem}}
@media(max-width:560px){.operations-card .table-scroll{overflow:visible;border:0}.operations-card table{display:block;min-width:0}.operations-card thead{display:none}.operations-card tbody{display:grid;gap:.6rem}.operations-card tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:.55rem;padding:.55rem;background:rgba(7,22,35,.45)}.operations-card td{display:flex;justify-content:space-between;gap:.5rem;min-width:0;padding:.3rem;border:0;white-space:normal;text-align:right!important;font-size:.76rem}.operations-card td::before{content:attr(data-label);color:var(--muted);font-size:.68rem;text-align:left}.operations-card td:nth-child(3){grid-column:1/-1}.operations-card td:nth-child(3)::before{flex-shrink:0}.operations-card .empty-state{border:1px solid var(--line);border-radius:.55rem}}
.card-actions{display:flex;justify-content:center;margin-top:1rem}.card-actions .button{margin:0}.research-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;margin-top:1rem}.research-filters label{display:grid;gap:.28rem;margin:0;color:var(--muted);font-size:.72rem}.research-filters select{width:100%;min-width:0;border:1px solid #28455d;border-radius:.45rem;padding:.5rem .55rem;background:#071522;color:var(--ink)}.list-summary{margin:1rem 0 0;color:var(--muted);font-size:.78rem}.research-title{display:flex;gap:.45rem;align-items:baseline;flex-wrap:wrap}.research-title h3{margin:0!important}.research-context{color:#82a4bb;font-size:.72rem}.decision-list{display:grid;gap:.55rem;max-height:23rem;overflow:auto;margin-top:1rem;padding-right:.15rem}.decision-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:baseline;padding:.7rem .8rem;border:1px solid var(--line);border-radius:.55rem;background:rgba(7,22,35,.45);font-size:.78rem}.decision-item time{color:#7690a5;font-size:.7rem}.decision-item p{margin:0;color:#adc1d0;min-width:0}.decision-item strong{font-size:.76rem;color:#c7dce9}.audit-decisions-card{margin-top:1rem}
@media(max-width:850px){.research-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.research-filters{grid-template-columns:1fr}.safety-banner{flex-wrap:wrap}.safety-banner span:last-child{border-left:0;padding-left:0;width:100%}.chart-footer{gap:.3rem}.chart-footer strong{min-width:0;text-align:center}.decision-item{grid-template-columns:1fr}.decision-item strong{justify-self:start}}

/* Campaign research desk: each account remains independent. */
select{font:inherit;color:var(--ink);background:#071522;border:1px solid #28455d;border-radius:.5rem;padding:.65rem;max-width:100%;outline:none}select:focus-visible,summary:focus-visible{outline:2px solid #69d6ad;outline-offset:2px}
.campaign-selection{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(160px,1fr);gap:1rem;align-items:end;margin-bottom:1.3rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.campaign-selection label{display:grid;gap:.4rem;margin:0;color:#adc1d0;font-size:.78rem;min-width:0}.campaign-selection select{width:100%;font-size:.85rem;min-width:0}.campaign-selection .muted{margin:0;font-size:.76rem;overflow-wrap:anywhere}
.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.explanation{font-size:.8rem;color:#adc1d0;line-height:1.6;margin:.9rem 0 0;overflow-wrap:anywhere}.mini-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0}.mini-metric{padding:.75rem;background:rgba(5,18,30,.48);border:1px solid var(--line);border-radius:.55rem;min-width:0}.mini-metric>span{display:block;color:var(--muted);font-size:.72rem}.mini-metric strong{display:block;font-size:1.05rem;margin:.25rem 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.mini-metric small{color:#8fa4b8;display:block;font-size:.7rem}.validation-label{font-size:.85rem;color:#c9dfec;margin:1rem 0 .65rem;overflow-wrap:anywhere}.validation-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.validation-list li{display:flex;gap:.65rem;padding:.65rem;border:1px solid var(--line);border-radius:.5rem;font-size:.8rem}.check-icon{font-weight:800;flex-shrink:0;color:var(--amber)}.check-passed .check-icon{color:var(--green)}.validation-list p{color:var(--muted);font-size:.75rem;margin:.2rem 0 0}.validation-list strong{font-size:.79rem}
.campaigns-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.campaign-card{padding:1rem;border:1px solid var(--line);border-radius:.75rem;background:rgba(6,20,33,.55);min-width:0}.campaign-card.selected{border-color:rgba(53,194,139,.65)}.campaign-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.campaign-card h3{font-size:.96rem;margin:0}.campaign-card>.muted{font-size:.75rem;margin:.5rem 0}.campaign-card .mini-metric{padding:.55rem}.campaign-card .mini-metric strong{font-size:.95rem}.campaign-card .button{margin-top:.6rem;width:100%;font-size:.79rem}.campaign-card .status-badge{white-space:normal;font-size:.67rem;text-align:center}.campaign-card .validation-label{font-size:.76rem;margin:.7rem 0}.campaign-card .list-summary{margin:.65rem 0 0;font-size:.72rem}
.comparison-list{display:grid;gap:.75rem;margin-top:1rem;max-height:36rem;overflow:auto}.comparison-item{border:1px solid var(--line);background:rgba(6,20,33,.5);border-radius:.55rem;padding:.85rem;min-width:0}.comparison-item h3{font-size:.82rem;margin:0 0 .7rem;overflow-wrap:anywhere}.comparison-item .explanation{margin:.55rem 0 0}.comparison-item .data-list{gap:.5rem}.comparison-chart-wrap{height:240px}.stress-card{margin-top:1rem}.stress-card .mini-metrics{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.policy-copy{font-size:.8rem;color:#aecadc;white-space:pre-wrap;overflow-wrap:anywhere;margin:1rem 0}.form-message{font-size:.8rem;color:#a8d8c6;margin:.5rem 0 0}.weights-details{border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.weights-details summary{cursor:pointer;font-weight:650;font-size:.85rem}.weights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.weights-grid label{position:relative;display:grid;gap:.35rem;margin:0;color:#adc1d0;font-size:.73rem;min-width:0;overflow-wrap:anywhere}.weights-grid input{width:100%;padding-right:2rem;min-width:0}.weight-unit{position:absolute;right:.8rem;bottom:.8rem;color:var(--muted)}#evolution-pending{margin-top:1rem;margin-bottom:0}#hypothesis-form{border-top:1px solid var(--line);padding-top:1rem}#hypothesis-form label{margin:0}#hypothesis-form input{min-width:0;width:100%}#portfolio-chart{overflow:hidden}
@media(max-width:1100px){.campaigns-grid{grid-template-columns:1fr}}
@media(max-width:850px){.sidebar{display:block;overflow:visible;max-width:100%;min-width:0}.sidebar .campaign-chip{display:none}.tabs{overflow-x:auto;max-width:100%;justify-content:flex-start;padding:.15rem 0 .5rem;scrollbar-width:thin}.tab{flex-shrink:0;padding:.6rem .85rem}.campaigns-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-grid{grid-template-columns:1fr}}
@media(max-width:560px){.campaign-selection{grid-template-columns:1fr;gap:.65rem;margin-bottom:1rem}.campaign-selection select{font-size:.8rem}.tabs{width:100%;gap:.2rem;justify-content:flex-start}.tab{font-size:.8rem;padding:.55rem .8rem}.campaigns-grid,.weights-grid{grid-template-columns:1fr}.mini-metrics{gap:.55rem}.mini-metric{padding:.6rem}.mini-metric strong{font-size:.96rem}.data-list div{gap:.55rem;flex-wrap:wrap}.data-list dd{margin-left:auto;overflow-wrap:anywhere;max-width:100%}.card-heading{flex-wrap:wrap;gap:.55rem}.campaign-card-heading{flex-wrap:wrap}.comparison-chart-wrap{height:215px}.campaign-card{padding:.8rem}.policy-copy{font-size:.76rem}.comparison-item h3{line-height:1.5}.mini-metric small{line-height:1.5}.page-heading h1{overflow-wrap:anywhere}}

.campaign-search{display:grid;gap:.4rem;max-width:32rem;color:var(--muted);font-size:.78rem}.campaign-search input{width:100%;min-width:0}.weights-grid{max-height:32rem;overflow:auto;padding:.2rem}
