/* ETHOS identity: exact red and charcoal from the supplied horizontal SVG. */
:root{--ethos-red:#d63222;--ethos-red-dark:#a9281b;--ethos-ink:#333333;--ethos-paper:#fff;--ethos-bg:#f7f7f5;--ethos-line:#e7e5e1;--ethos-muted:#777672;--violet:#d63222;--violet-soft:#fff0ed;--line:#e7e5e1;--muted:#777672}
body{background:#f7f7f5;color:var(--ethos-ink)}
.sidebar{background:#fff;border-color:var(--ethos-line);box-shadow:0 2px 14px #3333330b}
.sidebar .brand{min-width:145px;padding:0 17px 0 0}
.sidebar .brand img{display:block;width:140px;height:auto;max-height:46px;object-fit:contain;object-position:left center}
.sidebar .nav-button{color:#5e5d59}
.sidebar .nav-button:hover,.sidebar .nav-button:focus-visible{background:#fff4f1;border-color:#efc7bf;color:var(--ethos-red-dark)}
.sidebar .nav-button.active{background:#fff0ed;border-color:#f0c5bd;color:var(--ethos-red-dark)}
.sidebar .logout{color:#5e5d59;border-color:var(--ethos-line)}
.sidebar .logout:hover{background:#fff4f1;border-color:#efc7bf;color:var(--ethos-red-dark)}
.intro h1,.heading h2,.card strong{color:var(--ethos-ink)}
.eyebrow,.section-nav a{color:var(--ethos-red)}
.muted-text,.heading>span,.filter-foot,.table-foot{color:var(--ethos-muted)}
.note-tag,.panel,.section-nav a{border-color:var(--ethos-line)}
.panel{box-shadow:0 4px 16px #3333330a}
.section-nav{background:#f7f7f5ed}
.section-nav a:hover,.section-nav a:focus-visible{background:#fff0ed;border-color:#efc7bf}
.filters nav .chosen{background:#fff0ed;border-color:#f0c5bd;color:var(--ethos-red-dark)}
.filters nav button:hover{background:#fff6f4;color:var(--ethos-red-dark)}
.primary{background:var(--ethos-red);box-shadow:0 5px 13px #d6322230}
.primary:hover{background:var(--ethos-red-dark)}
.secondary,.compare-toolbar button{color:var(--ethos-red-dark);border-color:var(--ethos-line)}
.secondary:hover,.compare-toolbar button:hover{background:#fff4f1;border-color:#efc7bf}
.form-row input,.form-row select,.compare-toolbar input,.compare-toolbar select,.period-editor input,.personal-input-grid input,.personal-work textarea{border-color:var(--ethos-line);color:var(--ethos-ink)}
.form-row input:focus,.form-row select:focus,.compare-toolbar input:focus,.compare-toolbar select:focus,.period-editor input:focus{border-color:var(--ethos-red)}
.card{border-top-color:#eec3bc}
.icon.blue,.icon.purple{background:#fff0ed;color:var(--ethos-red)}
.group-row th{background:#fff0ed;color:var(--ethos-red-dark)}
thead{background:#f8f7f5}
th{color:#686660;border-color:var(--ethos-line)}
td{color:#494844;border-color:#efede9}
.chip,.metric-options label{background:#f7f6f3;color:#58564f;border-color:var(--ethos-line)}
.metric-options input{accent-color:var(--ethos-red)}
.snapshot-strip,.period-editor,.personal-source-grid>div{background:#faf9f7;border-color:var(--ethos-line)}
.personal-source-grid strong,.snapshot-strip strong{color:var(--ethos-ink)}
.login-screen{background:#333333dd}
.login-card{border-color:var(--ethos-line)}
.login-logo{display:block;width:190px;max-width:100%;height:auto;align-self:flex-start;margin-bottom:7px}
.login-card h1{color:var(--ethos-ink)}
.login-card input{border-color:var(--ethos-line)}
#personal-view .personal-insights{background:#fff;border-color:var(--ethos-line)}
#personal-view .insights-head{background:linear-gradient(115deg,#fff0ed,#fff 76%);border-color:#f1d2cc}
#personal-view .insights-head .eyebrow{color:var(--ethos-red)}
#personal-view .insights-head h2,#personal-view .insights-group-title{color:var(--ethos-ink)}
#personal-view .insights-head p:last-child{color:#65625d}
#personal-view .insights-actions .secondary{color:var(--ethos-red-dark);border-color:#edc5be}
#personal-view .insights-finance>div{border-color:var(--ethos-line);border-top-color:var(--ethos-red)}
#personal-view .insights-finance strong{color:var(--ethos-ink)}
#personal-view .insights-kpis article{border-color:var(--ethos-line);border-top-color:#eec3bc}
#personal-view .insights-kpis .insight-card-label span{color:#514d49}
#personal-view .insights-kpis .insight-card-value-row strong{color:var(--ethos-ink)}
#personal-view .insights-work-grid section{border-color:var(--ethos-line)}
#personal-view .insights-work-grid h3{color:var(--ethos-ink)}
#personal-view .insights-work-grid textarea{background:#faf9f7;border-color:var(--ethos-line);color:var(--ethos-ink)}
#personal-view .insights-switch button.selected{background:var(--ethos-red);color:#fff}
#personal-view .insights-plot .chart-line{stroke:var(--ethos-red)}
#tasks-frame{border-color:var(--ethos-line);background:#f7f7f5}
.tasks-source{color:var(--ethos-muted)}
@media(max-width:900px){.sidebar .brand{min-width:0;padding-right:9px}.sidebar .brand img{width:118px}}
@media(max-width:650px){.sidebar .brand img{width:112px}.sidebar .brand{padding:0}.sidebar .nav-button.active{background:#fff0ed}.login-logo{width:170px}}
.competitor-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:18px 20px;margin-bottom:18px}
.competitor-controls label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#514d49;min-width:240px;flex:1 1 280px}
.competitor-controls input{min-height:39px;padding:8px 11px;border:1px solid var(--ethos-line);border-radius:8px;font:inherit;color:var(--ethos-ink)}
.competitor-controls input:focus{outline:2px solid #f0c5bd;border-color:var(--ethos-red)}
.competitor-controls p{flex:2 1 290px;margin:0 0 7px;color:var(--ethos-muted);font-size:12px;line-height:1.5}
.competitor-controls .primary{min-height:39px;white-space:nowrap}
.competitor-cards{margin-top:16px}
.competitor-cards .card strong{overflow-wrap:anywhere;font-size:21px}
.competitor-message{min-width:260px;max-width:480px;white-space:pre-wrap;line-height:1.45}
#competitor-status{margin:12px 0 16px}
.competitor-permission-note{padding:14px 18px;margin:0 0 18px;border-left:3px solid var(--ethos-red);font-size:12px;line-height:1.6;color:#514d49}
.competitor-permission-note a{color:var(--ethos-red-dark);font-weight:700}
.competitor-free-check{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 20px;align-items:center;padding:18px 20px;border-left:3px solid var(--ethos-red)}
.competitor-free-check h3{margin:2px 0 6px;color:var(--ethos-ink);font-size:16px}
.competitor-free-check p:not(.eyebrow){margin:0;color:var(--ethos-muted);font-size:12px;line-height:1.55}
.competitor-free-check>small{grid-column:1/-1;color:var(--ethos-muted);font-size:11px}
.competitor-free-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.competitor-free-links a{display:inline-flex;align-items:center;justify-content:center;min-height:39px;height:auto;padding:8px 12px;text-decoration:none;white-space:nowrap;font-size:11px}
.competitor-free-links a[aria-disabled="true"]{opacity:.5;pointer-events:none}
.competitor-manual{margin-top:12px;padding:17px 20px}
.competitor-manual-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.competitor-manual-head h3{margin:2px 0 5px;font-size:15px;color:var(--ethos-ink)}
.competitor-manual-head p:not(.eyebrow){margin:0;color:var(--ethos-muted);font-size:11px;line-height:1.5}
.competitor-manual-head>div:last-child{display:flex;gap:7px;flex-wrap:wrap;flex:none}
.competitor-manual-table{min-width:720px}
.competitor-manual-table input{width:100%;min-height:32px;padding:5px 7px;border:1px solid var(--ethos-line);border-radius:6px;font:inherit;color:var(--ethos-ink)}
.competitor-manual-table input[type="url"]{min-width:240px}
.competitor-manual-table input[type="number"]{min-width:80px;width:85px}
.competitor-remove-post{border:0;background:#fff0ed;border-radius:6px;color:var(--ethos-red-dark);width:30px;height:30px;cursor:pointer;font-size:18px}
.competitor-manual-summary{border-top:1px solid var(--ethos-line);padding-top:10px;font-size:11px;font-weight:700;color:var(--ethos-ink)}
@media(max-width:850px){.competitor-free-check{grid-template-columns:1fr}.competitor-free-links{justify-content:flex-start}}
@media(max-width:650px){.competitor-manual{padding:15px}.competitor-manual-head{display:block}.competitor-manual-head>div:last-child{margin-top:12px}}
@media(max-width:650px){.competitor-controls{padding:15px}.competitor-controls .primary{width:100%}.competitor-message{min-width:180px}}
