:root{--bar:0px;--bg:var(--paper);--text:var(--ink);--border:var(--line);--primary:var(--brand);--blue:var(--brand)}
body{background:var(--paper);color:var(--ink)}
.topbar{position:relative;top:auto}
.content{max-width:none;margin:0;padding:0;min-width:0}
.workspace{min-width:0}
.sidebar{top:0;height:100dvh}
.sidebar .brand{font-size:15px;letter-spacing:0;gap:7px}
.app-heading{margin-bottom:var(--card-gap)}
.app-heading p{margin-top:8px}
.app-heading h1{display:flex;gap:12px;align-items:center}
.topbar .profile details{position:relative}
.profile summary{cursor:pointer;list-style:none;display:grid;place-items:center;width:var(--control-height);height:var(--control-height);padding:0;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--white);color:var(--ink)}
.profile summary::-webkit-details-marker{display:none}
.profile summary::marker{content:""}
.profile summary .icon{width:24px;height:24px}
.profile summary:hover,.profile details[open]>summary{background:var(--sage)}
.account-menu{position:absolute;right:0;z-index:35;min-width:170px;background:white;padding:12px;box-shadow:0 6px 24px #25362d16;border:1px solid var(--line);border-radius:13px;display:grid;gap:10px}
.account-menu .btn-ghost{white-space:nowrap}
.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;padding:var(--card-padding);margin:0;background:var(--white)}
.card h2{font-size:var(--font-section);line-height:1.7;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:var(--card-heading-gap)}
.card h2>.tag{margin-left:auto;white-space:normal}
.card .card{box-shadow:none;border-radius:var(--radius-nested)}
.tag,.role-tag,.badge{color:var(--muted);background:var(--sage);border:0}
.kpis{gap:var(--list-gap)}
.kpi{background:var(--paper);border:0;border-radius:var(--radius-nested);padding:18px 12px}
.kpi .v{color:var(--brand);font-size:26px}
.kpi .l{font-size:12px}
.btn-primary,.chip.active,.sub-tab.active{background:var(--brand);border-color:var(--brand);color:white}
.btn-secondary,.btn-ghost{border-color:var(--line);background:white;color:var(--ink)}
.fitem>label{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:7px;display:block}
.fitem input,.fitem select,.fitem textarea{width:100%}
.review-text,.rev-content,.lead-section{overflow-wrap:anywhere}
.lead-card{box-shadow:none}
.table-wrap{overflow-x:auto}
.mini-table,.table-sm{font-size:13px}
table{width:100%}
th,td{padding:12px 10px}
.chart-area{overflow-x:auto}
.section-title{color:var(--ink);margin:var(--section-gap) 0 var(--heading-gap)}
.traffic-record-group{background:white;border:1px solid var(--line);border-radius:var(--radius-nested);margin:0}
.traffic-record-group summary{padding:var(--card-padding)}
.record-date-picker{flex-wrap:wrap}
.small-order-row,.big-order-line{min-width:0}
.lead-detail{max-width:100%}
.form-msg{line-height:1.8;color:#9b4137}
.live-overview strong{display:block;font-variant-numeric:tabular-nums}
.live-overview .result-amount{margin-top:8px}
.readonly-note{font-size:12px;color:var(--muted);line-height:1.8}
.login-main{max-width:440px;margin:12vh auto;padding:25px}
.login-main .card{padding:32px}
.login-main form{display:grid;gap:20px}
.login-main input{width:100%}
.login-main h1{margin-bottom:28px}
.login-main .form-msg:empty{display:none}
html[data-layout=portrait] .main{padding-bottom:120px}
html[data-layout=portrait] .topbar{height:64px}
html[data-layout=portrait] .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-layout=portrait] .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-layout=portrait] .kpi.big{grid-column:auto}
html[data-layout=portrait] .leader-map{display:block}
html[data-layout=portrait] .org-form{display:grid;grid-template-columns:1fr}
html[data-layout=portrait] .org-form input{width:100%}
html[data-layout=portrait] .traffic-record-metric{min-width:48px}
@media(max-width:420px){.card h2>.tag{margin-left:0}
.small-order-row{grid-template-columns:minmax(0,1fr) 88px 36px}
.traffic-record-group summary{gap:8px;padding:14px}
.traffic-record-partner{min-width:70px}
.traffic-record-metric small{font-size:10px}
.card .kpis{gap:7px}
.kpi .v{font-size:22px}}
/* Scope switching is presentation only; each API still checks the logged-in role. */
.workspace-switch{display:flex;gap:8px;margin:0 0 var(--card-gap)}
.workspace-switch a{padding:8px 16px;border-radius:20px;color:var(--muted)}
.workspace-switch a.active{background:var(--sage);color:var(--text)}
.member-row{padding:16px 0;border-bottom:1px solid var(--border)}

.export-link{margin:0 0 16px}
.readonly-note{max-width:38em}
.contribution-row{padding:12px 0}
.contribution-row>div:first-child{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px}
.contribution-track{height:7px;border-radius:8px;background:#edf0e9;overflow:hidden}
.contribution-track>span{display:block;height:100%;background:#78907a;border-radius:8px}
.target-progress p{margin:8px 0;line-height:1.7}
.target-progress>a{margin-top:5px}
.metric>span{display:block;font-size:12px;line-height:1.5;color:var(--muted)}

/* Adapt reused business-renderer lists to the same layout contract, without changing their data or bindings. */
:is(#leadsList,#casesList,.traffic-record-groups){display:grid;grid-template-columns:minmax(0,1fr);gap:var(--list-gap)}
:is(#leadsList,#casesList,.traffic-record-groups)>*{margin-block:0;min-width:0}
.lead-card{border:1px solid var(--line);border-radius:var(--radius)}
