:root{--brand:#e03a3f;--brand-dark:#b82a2f;--ink:#1c1d21}html{font-size:16px}
body{font-family:Arial,Helvetica,'Liberation Sans',sans-serif;font-weight:400;color:#15161a;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,.h1,.h2{font-weight:700;color:#111318;letter-spacing:-.015em}h3,h4,h5,h6,.h3,.h4,.h5,.h6{font-weight:600;color:#111318}
strong,b{font-weight:700}.fw-semibold{font-weight:600!important}
.text-secondary{color:#4b4f5b!important}
.small,small{font-size:.875rem;font-weight:400}
.form-label{font-weight:500;color:#1c1d21}
.form-control,.form-select{font-weight:400;color:#15161a;border-color:#c9ccd6}
.form-control::placeholder{color:#7a7e8a;opacity:1}
.btn{font-weight:600}
.table{color:#15161a}.table th{font-weight:600;color:#2a2c33}.table td{font-weight:400}
.badge{font-weight:600;font-size:.78rem}
.nav-link,.side-link{font-weight:500}.navbar-brand{font-weight:700}
.side-link{color:#d5d7de;font-size:.98rem}.side-link:hover{color:#fff}
.breadcrumb{font-weight:400}
.alert{font-weight:400}
.kpi{color:#111318}
@media (max-width:576px){html{font-size:16px}}
.bg-ink{background:var(--ink)!important}.bg-brand{background:var(--brand)!important}.text-brand{color:var(--brand)!important}.text-brand-light{color:#ff9a9e}
.btn-brand{background:var(--brand);color:#fff;font-weight:600;border:0}.btn-brand:hover{background:var(--brand-dark);color:#fff}.btn-outline-brand{border:1px solid var(--brand);color:var(--brand)}.btn-outline-brand:hover{background:var(--brand);color:#fff}
.sidebar{width:240px;flex-shrink:0;position:sticky;top:0;height:100vh;overflow:auto}.side-link{display:block;padding:.5rem .75rem;border-radius:.5rem;color:#b4b6c0;text-decoration:none;font-weight:500}.side-link:hover{color:#fff;background:#2a2c33}.side-link.active{background:var(--brand);color:#fff}
.card{border-color:#e3e5ec;border-radius:.9rem}.min-w-0{min-width:0}.deal-img{aspect-ratio:16/9;background:linear-gradient(135deg,#f6e7d8,#e9d5c3)}
.kpi{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.hero{background:var(--ink);color:#fff;border-radius:1.25rem}a{color:var(--brand)}a:hover{color:var(--brand-dark)}
.table>:not(caption)>*>*{padding:.6rem .75rem}.seg-New{background:#eef0f5}.seg-Regular{background:#e6f6ec;color:#1f8a4c}.seg-Due{background:#fff7e6;color:#7a4b00}.seg-Lapsing{background:#fdeaea;color:#b42318}.seg-At.risk,.seg-Dormant{background:#1c1d21;color:#fff}

/* Dark surfaces: force light text for everything inside */
.hero,.bg-ink,.bg-dark{color:#fff}
.hero h1,.hero h2,.hero h3,.hero h4,.hero h5,.hero h6,.bg-ink h1,.bg-ink h2,.bg-ink h3,.bg-ink h4,.bg-ink h5,.bg-ink h6,.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4,.bg-dark h5,.bg-dark h6,.hero .kpi,.bg-ink .kpi{color:#fff}
.hero p,.hero span,.hero div,.hero li,.hero small,.bg-ink p,.bg-ink span,.bg-ink li,.bg-ink small,.bg-dark p,.bg-dark span,.bg-dark li{color:#fff}
.hero .text-secondary,.bg-ink .text-secondary,.bg-dark .text-secondary,.hero .opacity-75{color:#e3e5ec!important;opacity:1!important}
.hero a:not(.btn),.bg-ink a:not(.btn):not(.side-link),.bg-dark a:not(.btn){color:#ffd166}
.hero a:not(.btn):hover,.bg-ink a:not(.btn):not(.side-link):hover{color:#ffe08a}
.hero .text-brand-light,.bg-ink .text-brand-light{color:#ffd166!important}
.hero .badge,.bg-ink .badge{color:#fff}
.hero .card,.hero .card *{color:#15161a}
.hero .form-control,.hero .form-select{color:#15161a;background:#fff}
.side-link{color:#e3e5ec}.sidebar .text-secondary{color:#c9ccd6!important}
.navbar-dark .nav-link{color:#f1f2f6!important}.navbar-dark .nav-link:hover{color:#ffd166!important}

/* AI assist */
.md-ai-wrap{position:relative;display:block;width:100%}.md-ai-wrap>input,.md-ai-wrap>textarea{padding-right:2.4rem!important}
.md-ai-btn{position:absolute;right:6px;top:6px;width:26px;height:26px;border-radius:6px;border:1px solid #e3e5ec;background:#fff;color:var(--brand);font-size:14px;line-height:1;cursor:pointer;z-index:3}.md-ai-btn:hover{background:var(--brand);color:#fff}
.md-ai-menu{display:none;position:absolute;right:6px;top:36px;z-index:50;background:#fff;border:1px solid #e3e5ec;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:6px;min-width:180px}.md-ai-menu.open{display:block}
.md-ai-menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:7px 10px;border-radius:6px;font-size:.9rem}.md-ai-menu button:hover{background:#f5f6f9}
.md-ai-hint{font-size:11px;color:#6b6f7b;padding:6px 10px 2px;border-top:1px solid #eceef3;margin-top:4px}
.input-group .md-ai-wrap{flex:1 1 auto;width:1%}

.deal-filters .form-select-sm,.deal-filters .form-control{font-size:.9rem}.deal-filters .form-check-input{margin-top:.2rem}
@media (max-width:991px){.deal-filters .sticky-top{position:static}}

/* weight tuning */
.kpi{font-weight:700}.small.fw-bold,.text-uppercase.fw-bold{font-weight:600!important;letter-spacing:.04em}.deal-filters .form-label{font-weight:600;color:#4b4f5b}.card .fw-semibold{font-weight:600!important}.list-group-item,.table td,p,li{font-weight:400}

/* Arial clean-up: Arial only has regular and bold, so 500/600 render as bold. Keep bold for page titles, prices and key numbers only. */
body{color:#2f3138}
h1,.h1,.display-5,.display-6{font-weight:700;color:#1f2128}
h2,.h2,h3,.h3{font-weight:700;color:#1f2128}
h4,h5,h6,.h4,.h5,.h6,h4.fw-bold,h5.fw-bold,h6.fw-bold{font-weight:400!important;color:#1f2128}
.fw-semibold,strong.fw-semibold,a.fw-semibold{font-weight:400!important}
strong,b{font-weight:700}
.small.fw-bold,.text-uppercase.fw-bold,.form-label.fw-bold,label.fw-bold{font-weight:400!important;color:#5b5f6b;letter-spacing:.05em}
.form-label{font-weight:400;color:#3a3d47}
.btn{font-weight:400}.btn-lg,.btn-brand.btn-lg{font-weight:700}
.badge{font-weight:400;letter-spacing:.01em}
.table th{font-weight:700;color:#3a3d47}.table td{color:#2f3138}
.nav-link,.side-link,.navbar-dark .nav-link{font-weight:400}
.kpi,.fs-4.fw-bold,.fs-5{font-weight:700}
.text-secondary{color:#5b5f6b!important}
.card{color:#2f3138}
.deal-card-title{font-weight:700;color:#1f2128}
.deal-card-rest{font-weight:400;color:#3a3d47}
.deal-card-price{font-weight:700;color:#1f2128}

#md-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--brand);z-index:9999;opacity:0;transition:opacity .2s}#md-progress.run{opacity:1;width:80%;transition:width 6s cubic-bezier(.1,.7,.2,1),opacity .1s}
.js .md-js-hide{display:none!important}

/* layout guards */
main.container > .row:first-child, main.container > section.row:first-child, main > .row:first-child, .hero.row{margin-top:0!important}
main.container{padding-top:1.75rem}
/* white cards placed on dark heroes keep dark text */
.hero .card, .hero .card *{color:#1f2128!important}
.hero .card .text-secondary, .hero .card .text-uppercase{color:#5b5f6b!important}
.hero .card .badge.bg-danger-subtle, .hero .card .text-danger{color:#b42318!important}
.hero .card .bg-body-tertiary{background:#f5f6f9!important}

/* page gutters */
@media (min-width:992px){.container,.container-lg,.container-xl,.container-xxl{max-width:none!important;padding-left:96px!important;padding-right:96px!important}.flex-grow-1>main{padding-left:96px!important;padding-right:96px!important}}
@media (min-width:992px) and (max-width:1279px){.flex-grow-1>main{padding-left:40px!important;padding-right:40px!important}}
@media (max-width:991px){.container{max-width:none!important;padding-left:20px!important;padding-right:20px!important}}
/* end page gutters */

.md-img-drop{display:flex;gap:12px;align-items:center;margin-top:8px;padding:10px;border:1.5px dashed #c9ccd6;border-radius:10px;background:#fafafc;cursor:pointer}.md-img-drop:hover,.md-img-drop:focus,.md-img-drop.over{border-color:var(--brand);background:#fff5f5;outline:none}.md-img-drop.busy{opacity:.7;cursor:progress}
.md-img-prev{width:128px;height:72px;flex-shrink:0;border-radius:8px;background:#eceef3 center/cover no-repeat}.md-img-prev:not(.has){background-image:none!important}
.md-img-txt{display:flex;flex-direction:column;gap:2px;font-size:.875rem}.md-img-txt span{color:#5b5f6b}

.dropdown-menu{z-index:1080}
