/* Black Horse workspace · 1.1.0
   Shared app.css contains forms and business components. This layer owns the
   workspace layout, navigation, dashboard and the visual theme. No CDN needed. */
:root {
 --ink:#182d29; --muted:#607268; --forest:#145c46; --deep:#122822;
 --gold:#bd9650; --gold-light:#edcf90; --paper:#f3f6f5; --line:#e2e9e5;
 --success:#157252; --shadow:0 3px 14px #163c2604; --radius:16px;
 font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
 font-size:14px; line-height:1.5;
}
::selection { background:#e5d5b0; color:#18382c; }
a:focus-visible,button:focus-visible,summary:focus-visible {
 outline:3px solid #bd9650; outline-offset:3px;
}
h1 { font-size:1.9rem; font-weight:700; letter-spacing:-.045em; }
h2 { font-size:1.05rem; font-weight:650; letter-spacing:-.02em; }
.small { font-size:.88rem; }
.eyebrow { font-size:.68rem; letter-spacing:.15em; font-weight:700; }
.btn { min-height:40px; border-radius:9px; font-size:.86rem; padding:9px 14px; }
.btn.primary { background:#17563f; border-color:#17563f; box-shadow:0 3px 7px #173e2615; }
.btn.primary:hover { background:#103f30; border-color:#103f30; box-shadow:0 5px 12px #143d2725; }
.btn.ghost { box-shadow:none; }
.btn.icon-only { padding:9px; }
.btn .icon { width:17px; height:17px; }
.text-button { color:#17664a; font-size:.82rem; font-weight:650; }
.text-button:hover { color:#0e3f2e; }
.text-button .icon { width:16px; height:16px; }
input,select,textarea { border-color:#d9e2dd; border-radius:9px; font-size:.91rem; }
input:focus,select:focus,textarea:focus { border-color:#428369; box-shadow:0 0 0 3px #1b765815; }
label { font-size:.88rem; font-weight:600; }

/* Fixed workspace frame: only content and the available menu area scroll. */
.shell { display:grid; grid-template-columns:238px minmax(0,1fr); height:100vh; height:100dvh; min-height:0; overflow:hidden; }
.sidebar { position:relative; top:auto; height:100%; min-height:0; padding:12px 12px 10px; background:linear-gradient(160deg,#152e27 0%,#10251f 100%); color:#c1d0c8; display:flex; flex-direction:column; overflow:hidden; border-right:1px solid #ffffff08; }
.brand-row { display:flex; align-items:center; min-height:67px; flex-shrink:0; padding:0 10px; margin-bottom:8px; }
.brand { flex:1; min-width:0; padding:0; gap:10px; }
.brand img { width:39px; height:41px; background:#f7f5eb; border:1px solid #ffffff15; border-radius:10px; }
.brand strong { display:block; white-space:nowrap; font-family:inherit; font-weight:700; font-size:.95rem; letter-spacing:.09em; }
.brand small { color:#c4ad78; margin-top:3px; font-size:.58rem; letter-spacing:.31em; font-weight:600; }
.nav { flex:1 1 0; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 4px 8px; scrollbar-width:thin; scrollbar-color:#627467 transparent; }
.nav::-webkit-scrollbar { width:4px; }
.nav::-webkit-scrollbar-thumb { border-radius:8px; background:#627467; }
.nav::-webkit-scrollbar-track { background:transparent; }
.nav-label { padding:13px 12px 5px; margin:0; color:#7e9b8d; font-size:.63rem; font-weight:700; line-height:16px; text-transform:uppercase; letter-spacing:.15em; }
.nav-label:first-child { padding-top:3px; }
.nav-label:not(:first-child) { margin-top:0; }
.nav a { min-height:38px; padding:8px 11px; margin:2px 0; gap:10px; font-size:.895rem; font-weight:450; line-height:1.25; border:1px solid transparent; border-radius:8px; color:#c3d2cb; transition:background .18s,color .18s; }
.nav a>span:not(.nav-active-dot) { flex:1; min-width:0; }
.nav a .icon { width:17px; height:17px; color:#8eac9c; opacity:1; stroke-width:1.7; }
.nav a:hover { background:#ffffff09; color:#fff; }
.nav a:hover .icon { color:#dce7df; }
.nav a.active { background:linear-gradient(100deg,#e9ce96,#d9b878); color:#223729; font-weight:650; border-color:#f9e4b526; box-shadow:0 3px 12px #00000015; }
.nav a.active .icon { color:#33442d; }
.nav a.active:before { display:none; }
.nav-active-dot { width:5px; height:5px; border-radius:50%; background:currentColor; opacity:0; flex-shrink:0; }
.nav a.active .nav-active-dot { opacity:.75; }
.sidebar-user { flex-shrink:0; margin-top:7px; min-width:0; padding:12px 4px 0; gap:4px; border-top:1px solid #ffffff12; }
.sidebar-user .account-button { flex:1; min-width:0; margin:0; padding:2px 4px; text-align:left; border-radius:8px; }
.sidebar-user .account-button:hover { background:#ffffff07; }
.sidebar-user .person { gap:9px; min-width:0; }
.sidebar-user .person>span:last-child { min-width:0; }
.sidebar-user .avatar { width:31px; height:31px; background:#d9bf85; color:#263829; font-size:.73rem; border-radius:10px; }
.sidebar-user strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#f0f3ef; font-size:.8rem; font-weight:600; max-width:137px; }
.sidebar-user small { color:#8fac9b; font-size:.68rem; margin-top:1px; }
.sidebar-user .signout-button { margin:0; width:30px; height:34px; flex-shrink:0; padding:6px; color:#9db2a6; border-radius:7px; }
.sidebar-user .signout-button:hover { color:#efd397; background:#ffffff08; }
.sidebar-user .signout-button .icon { width:17px; height:17px; }
.nav-close,.nav-backdrop { display:none; }
.main { min-width:0; min-height:0; height:100%; display:flex; flex-direction:column; }
.topbar { flex-shrink:0; height:68px; padding:0 30px; gap:20px; background:#ffffff; border-bottom:1px solid var(--line); }
.breadcrumbs { gap:10px; white-space:nowrap; font-size:.84rem; }
.breadcrumbs .icon { width:13px; height:13px; color:#a3b0a9; }
.breadcrumbs strong { font-weight:600; color:#233d33; }
.breadcrumb-brand { color:#667a6c; }
.global-search { border:1px solid #e8ede9; background:#f6f8f7; padding:0 8px 0 12px; height:37px; width:270px; max-width:30vw; border-radius:9px; gap:7px; }
.global-search>.icon { width:16px; height:16px; }
.global-search:focus-within { background:#fff; border-color:#7ba891; box-shadow:0 0 0 3px #2369460b; }
.global-search input { min-width:0; min-height:32px; padding:3px 0; font-size:.79rem; outline:none; }
.global-search input:focus { box-shadow:none; }
.global-search button { display:grid; place-items:center; width:25px; height:25px; flex-shrink:0; border:1px solid #dde5df; border-radius:5px; background:white; color:#85968b; padding:4px; }
.global-search button .icon { width:13px; height:13px; }
.top-actions { padding-left:0; gap:12px; border:0; }
.role-pill { display:flex; align-items:center; gap:6px; font-size:.72rem; font-weight:600; color:#527263; border:1px solid #dfe9e2; background:#f3f8f4; border-radius:6px; padding:5px 8px; white-space:nowrap; }
.role-pill .icon { width:13px; height:13px; }
.top-actions .notification-button { border:1px solid #e5ebe6; width:35px; min-height:35px; padding:7px; border-radius:50%; }
.top-actions .profile-button { padding:0; min-height:35px; border:0; border-radius:50%; }
.top-actions .avatar { width:34px; height:34px; background:#f1e9d8; color:#876b38; border:2px solid #fff; box-shadow:0 0 0 1px #e9e2d3; font-size:.72rem; }
.page { min-height:0; flex:1; overflow:auto; overscroll-behavior:contain; padding:29px 30px 18px; scrollbar-width:thin; scrollbar-color:#c3d0c7 transparent; animation:none; scroll-padding:24px; }
.page-head { gap:20px; margin-bottom:24px; align-items:center; }
.page-head h1 { line-height:1.25; }
.page-head p { font-size:.87rem; margin-top:6px; line-height:1.6; }
.page-head .actions { padding-top:0; gap:9px; }
.page-head .eyebrow { color:#8b6e38; margin-bottom:7px; }
.range-button { font-size:.8rem; background:#fff; padding:9px 11px; color:#4d6255; border-color:#dce5df; }
.skip-link { position:fixed; top:8px; left:250px; transform:translateY(-180%); z-index:200; padding:10px 16px; border-radius:8px; background:#efd59a; color:#213e30; }
.skip-link:focus { transform:translateY(0); }

/* Dashboard: stronger hierarchy, accurate empty states, actionable pipeline. */
.dashboard-heading .page-head { margin-bottom:23px; }
.kpis { gap:16px; margin-bottom:22px; }
.kpi { border-radius:14px; padding:19px 20px 17px; border-color:#e0e8e2; box-shadow:0 3px 10px #203c2503; }
.kpi-top { font-size:.79rem; gap:10px; color:#667a6e; font-weight:500; position:relative; z-index:1; }
.kpi-icon { width:35px; height:35px; border-radius:11px; background:#eaf4ef; color:#428b6b; }
.kpi-icon .icon { width:18px; height:18px; }
.kpi-value { font-size:2.3rem; line-height:1.25; margin:11px 0 12px; font-weight:700; letter-spacing:-.045em; position:relative; z-index:1; overflow-wrap:anywhere; }
.kpi-bottom { font-size:.73rem; line-height:1.5; color:#647869; gap:5px; position:relative; z-index:1; }
.dashboard-kpis .kpi:first-child { background:linear-gradient(115deg,#154c39,#1c6249); color:#fff; border-color:#1a523d; box-shadow:0 5px 14px #16483419; }
.dashboard-kpis .kpi:first-child:after { content:""; position:absolute; width:175px; height:175px; border:1px solid #ffffff0c; border-radius:50%; right:-85px; bottom:-75px; box-shadow:0 0 0 23px #ffffff03,0 0 0 47px #ffffff03; pointer-events:none; }
.dashboard-kpis .kpi:first-child .kpi-top { color:#d8e9de; }
.dashboard-kpis .kpi:first-child .kpi-bottom { color:#bacfc0; }
.dashboard-kpis .kpi:first-child .kpi-icon { background:#ffffff0d; color:#efd292; border:1px solid #ffffff13; }
.dashboard-kpis .kpi:nth-child(2) .kpi-icon { color:#4a8c69; background:#ebf5ef; }
.dashboard-kpis .kpi:nth-child(3) .kpi-icon { color:#b0802e; background:#fbf3e4; }
.dashboard-kpis .kpi:nth-child(4) .kpi-icon { color:#6888b3; background:#eef3fa; }
.dashboard-kpis .kpi:not(:first-child) .kpi-bottom:before { content:""; width:5px; height:5px; flex-shrink:0; border-radius:50%; background:#98bda5; margin-right:3px; }
.dashboard-kpis .kpi:nth-child(3) .kpi-bottom:before { background:#d6b477; }
.dashboard-kpis .kpi:nth-child(4) .kpi-bottom:before { background:#9db4d5; }
.dashboard-row,.dashboard-row.bottom { grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr); gap:20px; margin-bottom:20px; }
.panel { border-color:#e1e9e3; border-radius:15px; box-shadow:0 3px 12px #183d2403; }
.panel-head { padding:20px 22px; gap:12px; }
.panel-head p { font-size:.78rem; margin-top:4px; }
.panel-body { padding:0 22px 21px; }
.section-eyebrow { display:block; font-size:.61rem; font-weight:650; letter-spacing:.13em; color:#627665; margin-bottom:3px; }
.panel-symbol { width:33px; height:33px; border:1px solid #e7ede7; border-radius:9px; color:#718f7a; display:grid; place-items:center; background:#fafcfb; }
.panel-symbol .icon { width:17px; height:17px; }
.segmented { padding:3px; border-color:#e5ece6; background:#f5f8f6; border-radius:8px; flex-shrink:0; }
.segmented button { font-size:.72rem; padding:5px 10px; border-radius:5px; }
.segmented button.active { color:#225d41; box-shadow:0 1px 4px #14321c14; }
.chart-summary { align-items:center; gap:12px; margin-bottom:7px; }
.chart-summary strong { font-size:1.95rem; font-weight:700; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.chart-context { font-size:.7rem; line-height:1.6; color:#647868; }
.chart-context>span { display:block; color:#687b6b; }
.metric-caption { margin-left:auto; font-size:.7rem; color:#417e5e; background:#edf6ef; border:1px solid #e1efe4; border-radius:5px; padding:4px 8px; white-space:nowrap; }
.chart { height:196px; width:100%; overflow:visible; }
.chart text { fill:#677b6c; font-size:10px; }
.chart-grid { stroke:#e7eee8; stroke-dasharray:3 5; }
.chart-line { stroke:#218465; stroke-width:2.8; }
.chart-point { fill:#218465; stroke:#fff; stroke-width:1.5; }
.chart-empty { height:196px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:15px; border-radius:10px; background:linear-gradient(0deg,#fff,transparent 35%,transparent 75%,#fff),repeating-linear-gradient(0deg,transparent,transparent 44px,#edf2ee 44px,#edf2ee 45px); }
.chart-empty-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; background:#f0f6f1; border:1px solid #e1eae3; color:#83a18b; box-shadow:0 0 0 7px #ffffffca; margin-bottom:12px; }
.chart-empty-icon .icon { width:22px; height:22px; }
.chart-empty h3 { font-size:.9rem; color:#4a6552; font-weight:600; margin-bottom:5px; }
.chart-empty p { font-size:.74rem; color:#647867; max-width:290px; line-height:1.6; }
.chart-foot { border-top:1px solid #edf1ed; padding-top:12px; margin-top:10px; font-size:.71rem; gap:12px; }
.legend:before { width:6px; height:6px; background:#258364; }
.pipeline-panel { display:flex; flex-direction:column; }
.pipeline { flex:1; gap:2px; padding:0 14px 8px; }
.pipeline-row { display:grid; grid-template-columns:35px minmax(0,1fr) auto 12px; gap:11px; padding:10px 8px; border-radius:9px; transition:background .18s; }
.pipeline-row:hover { background:#f7faf8; }
.pipeline-index { width:34px; height:34px; border-radius:10px; }
.pipeline-index .icon { width:17px; height:17px; }
.pipeline-detail { min-width:0; }
.pipeline-row strong { font-size:.84rem; font-weight:600; margin-bottom:1px; }
.pipeline-row small { font-size:.72rem; }
.pipeline-row b { font-size:1.05rem; font-weight:650; min-width:14px; text-align:right; font-variant-numeric:tabular-nums; }
.pipeline-row>.icon { width:12px; height:12px; color:#9bafa0; }
.pipeline-row.amber .pipeline-index { background:#fbf3e6; color:#b28a44; }
.pipeline-row.green .pipeline-index { background:#edf6ef; color:#548765; }
.pipeline-row.blue .pipeline-index { background:#eef3fb; color:#708bb4; }
.pipeline-row.rose .pipeline-index { background:#fbf0ec; color:#ba8b79; }
.pipeline-row.amber .progress span { background:#d8b674; }
.pipeline-row.green .progress span { background:#73a58b; }
.pipeline-row.blue .progress span { background:#9fb7d4; }
.pipeline-row.rose .progress span { background:#d4ad9e; }
.progress { display:block; height:4px; margin-top:7px; background:#edf2ee; border-radius:4px; }
.progress span { background:#6da588; transition:width .4s ease; }
.pipeline-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 22px; border-top:1px solid #edf1ed; font-size:.7rem; color:#687b6b; }
.pipeline-foot .icon { width:13px; height:13px; }
.team-list { padding:0 20px 10px; }
.team-row { gap:9px; padding:15px 0; border-bottom:1px solid #edf1ed; }
.team-row:last-child { border-bottom:0; }
.team-row .rank { color:#687b6b; font-size:.69rem; width:15px; }
.team-row .person { min-width:0; flex:1; gap:8px; }
.team-row .person>span:last-child { min-width:0; }
.team-row .person strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:150px; font-size:.81rem; }
.team-row .person small { font-size:.71rem; }
.avatar { border-radius:11px; font-size:.76rem; background:#edf4ed; color:#608467; }
.team-row .avatar { width:32px; height:32px; }
.sales-value { font-size:.89rem; font-weight:650; }
.sales-value small { font-size:.64rem; white-space:nowrap; font-weight:400; }
.target-body .progress { margin-top:20px; height:7px; }
.target-caption { margin-top:20px; font-size:.75rem; color:#657969; }
.target-caption span { padding:0 5px; }
.empty { padding:35px 22px; }
.empty h3 { font-weight:600; font-size:.95rem; }
.empty p { font-size:.8rem; line-height:1.65; }
.empty>.icon { color:#9fb5a0; width:30px; height:30px; }
.empty-art { display:grid; place-items:center; margin:0 auto 14px; width:48px; height:48px; border-radius:14px; background:#f4f7ef; border:1px solid #e8eddf; }
.empty-art .icon { margin:0; width:23px; height:23px; color:#8b9d6b; }
.empty-sales { padding:26px 22px 31px; }
.empty-sales .actions { justify-content:center; margin-top:16px; }
.empty-sales .btn { min-height:34px; padding:6px 11px; font-size:.78rem; }
.activity { padding:0 22px 14px; }
.activity-item { font-size:.83rem; padding:11px 0; gap:12px; }
.activity-item small { color:#647768; font-size:.7rem; }
.activity-icon { background:#edf5ee; color:#78a184; }
.attention { border:1px solid #e4e9da; background:#f5f8ee; color:#697b4f; border-radius:10px; margin-bottom:20px; font-size:.8rem; padding:12px 16px; }
.attention strong { color:#5c743e; }
.attention .icon { width:18px; height:18px; }
.workday-panel { background:linear-gradient(130deg,#ffffff,#f5f9f5); }
.workday-actions { margin-top:19px; gap:15px; }
.stock-attention { display:flex; align-items:center; gap:8px; border-top:1px solid #e4ece3; margin-top:19px; padding-top:15px; font-size:.72rem; color:#8f865e; }
.stock-attention .icon { width:16px; height:16px; }
.stock-attention .text-button { font-size:.72rem; margin-left:auto; white-space:nowrap; }

/* Consistent treatment for sheets, employee tools, reports and dialogs. */
table { font-size:.86rem; }
th { background:#f6f9f6; color:#617564; font-size:.71rem; font-weight:600; padding:12px 20px; }
td { border-bottom-color:#edf1ed; padding:14px 20px; }
tbody tr:hover { background:#f8fbf8; }
.sheet th { background:#eef4ee; color:#5c7864; font-weight:600; }
.sheet th:first-child,.sheet td:first-child { background:#f5f9f3; }
.sheet td { padding:11px 14px; }
.order-link { color:#2b7955; font-size:.82rem; }
.cell-sub { font-size:.71rem; }
.badge { font-size:.7rem; border-radius:5px; padding:4px 8px; }
.filters { background:#fff; border-radius:12px; border-color:#e0e8e2; }
.tabs button { font-size:.84rem; }
.pagination { font-size:.78rem; padding:13px 20px; }
.pagination .btn { min-height:33px; padding:5px 11px; font-size:.77rem; }
.readonly-strip { background:#eef6f0; color:#427151; border-color:#dae8dc; }
.footer { font-size:.68rem; margin-top:7px; padding:17px 0 4px; color:#647869; border-top:1px solid #e4ebe5; }
.footer .icon { width:12px; height:12px; }
dialog { border-radius:18px; border:1px solid #dce6dd; box-shadow:0 24px 90px #102d2840; }
dialog::backdrop { background:#112f2966; backdrop-filter:blur(3px); }
.modal-head { border-bottom-color:#e8eee8; }
.form-section { border-top-color:#e5ece5; }
.form-actions { border-top-color:#e5ece5; }
.login { min-height:100vh; min-height:100dvh; }
.login-art { background:radial-gradient(ellipse at 25% 25%,#225540,transparent 65%),#122c23; }
.login-copy h1 { font-size:clamp(2.4rem,4.2vw,4.5rem); letter-spacing:-.045em; font-weight:600; }
.login-copy h1 em { color:#e6c487; }
.login-form h2 { font-size:2rem; }
.login-form .eyebrow { color:#ae8b48; }
.login-form .btn.primary { min-height:46px; }
.login-role { background:#f3f7f3; }

@keyframes dashboard-enter { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.dashboard-kpis .kpi { animation:dashboard-enter .3s ease both; }
.dashboard-kpis .kpi:nth-child(2) { animation-delay:.04s; }
.dashboard-kpis .kpi:nth-child(3) { animation-delay:.08s; }
.dashboard-kpis .kpi:nth-child(4) { animation-delay:.12s; }

/* Keep every navigation group usable on short laptop screens and at zoom. */
@media (max-height:800px) and (min-width:951px) {
 .sidebar { padding:8px 10px; }
 .brand-row { min-height:56px; margin-bottom:5px; }
 .brand img { width:34px; height:36px; border-radius:8px; }
 .brand strong { font-size:.9rem; }
 .brand small { font-size:.55rem; }
 .nav { padding-bottom:3px; }
 .nav-label { padding:7px 11px 3px; font-size:.59rem; line-height:12px; }
 .nav-label:first-child { padding-top:2px; }
 .nav a { min-height:32px; padding:6px 10px; margin:1px 0; font-size:.86rem; }
 .nav a .icon { width:16px; height:16px; }
 .sidebar-user { margin-top:4px; padding:8px 4px 0; }
}
@media (min-width:1600px) {
 .shell { grid-template-columns:248px minmax(0,1fr); }
 .page { padding:34px 40px 20px; }
 .topbar { padding:0 40px; }
 .kpi { padding:21px 24px; }
 .kpi-value { font-size:2.5rem; }
 .dashboard-row,.dashboard-row.bottom { grid-template-columns:minmax(0,1.85fr) minmax(340px,1fr); gap:22px; }
 .chart,.chart-empty { height:220px; }
}
@media (max-width:1220px) {
 .shell { grid-template-columns:224px minmax(0,1fr); }
 .page { padding:25px 23px 16px; }
 .topbar { padding:0 23px; gap:13px; }
 .role-pill { display:none; }
 .brand-row { padding:0 7px; }
 .brand strong { font-size:.88rem; }
 .dashboard-row,.dashboard-row.bottom { grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr); gap:16px; }
 .kpis { gap:12px; }
 .kpi { padding:16px; }
 .kpi-top { font-size:.74rem; }
 .kpi-bottom { font-size:.69rem; }
 .page-head { flex-wrap:wrap; gap:16px; }
 .metric-caption { display:none; }
 .panel-head { padding:18px; }
 .panel-body { padding:0 18px 19px; }
 .team-list { padding:0 17px 10px; }
 .team-row .rank { display:none; }
 .team-row .person strong { max-width:110px; }
}
@media (max-width:1050px) and (min-width:951px) {
 .kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .dashboard-row,.dashboard-row.bottom { grid-template-columns:minmax(0,1fr); }
 .pipeline { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .global-search { width:235px; }
}
@media (max-width:950px) {
 .shell { grid-template-columns:minmax(0,1fr); }
 .sidebar { position:fixed; inset:0 auto 0 0; width:270px; height:100vh; height:100dvh; z-index:60; transform:translateX(-100%); visibility:hidden; transition:transform .22s ease,visibility .22s; box-shadow:none; padding:12px; }
 .menu-open .sidebar { visibility:visible; transform:translateX(0); box-shadow:12px 0 35px #112e2430; }
 .brand-row { min-height:66px; padding:0 5px; }
 .brand strong { font-size:.91rem; }
 .nav-close { display:inline-flex; color:#c6d6ca; border:0; width:31px; min-height:32px; padding:6px; margin-left:6px; }
 .nav-close:hover { background:#ffffff12; }
 .nav a { min-height:41px; margin:2px 0; font-size:.94rem; }
 .nav-label { padding-top:13px; }
 .sidebar-user { padding-top:12px; }
 .sidebar-user strong { max-width:165px; }
 .nav-backdrop { display:block; position:fixed; inset:0; z-index:50; background:#142c2477; backdrop-filter:blur(2px); border:0; padding:0; opacity:0; visibility:hidden; transition:opacity .22s,visibility .22s; }
 .menu-open .nav-backdrop { opacity:1; visibility:visible; }
 .mobile-menu { display:inline-flex; padding:7px; min-height:34px; width:34px; border:1px solid #e1e9e2; }
 .topbar { height:62px; padding:0 22px; gap:12px; }
 .global-search { max-width:34vw; }
 .top-actions { gap:10px; }
 .role-pill { display:none; }
 .page { padding:24px 22px 17px; }
 .page-head { flex-wrap:wrap; }
 .dashboard-row,.dashboard-row.bottom { grid-template-columns:minmax(0,1.55fr) minmax(275px,1fr); }
 .skip-link { left:15px; }
}
@media (max-width:760px) {
 .page-head { align-items:stretch; }
 .dashboard-row,.dashboard-row.bottom { grid-template-columns:minmax(0,1fr); gap:16px; margin-bottom:16px; }
 .kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:17px; }
 .page-head .actions { width:100%; }
 .page-head .actions>.primary { margin-left:auto; }
 .page-head h1 { font-size:1.75rem; }
 .kpi { padding:17px; }
 .kpi-value { font-size:2rem; }
 .pipeline { gap:3px; }
 .pipeline-row { padding:11px 8px; }
 .chart,.chart-empty { height:190px; }
 .metric-caption { display:block; }
 .team-row .rank { display:block; }
 .team-row .person strong { max-width:190px; }
 .table-wrap { scrollbar-width:thin; }
 .footer { flex-wrap:wrap; gap:5px; }
 .stock-attention { flex-wrap:wrap; }
 .login-copy h1 { font-size:2.1rem; }
}
@media (max-width:540px) {
 .topbar { height:58px; padding:0 15px; gap:10px; }
 .top-actions { margin-left:auto; gap:9px; }
 .breadcrumb-brand,.breadcrumbs>.icon { display:none; }
 .breadcrumbs { font-size:.85rem; }
 .global-search { display:none; }
 .page { padding:21px 15px 14px; }
 .page-head { gap:15px; margin-bottom:20px; }
 .page-head .eyebrow { font-size:.61rem; }
 .page-head p { font-size:.81rem; }
 .page-head .actions { gap:8px; }
 .range-button { font-size:.71rem; min-height:36px; padding:8px; }
 .range-button .icon { width:14px; height:14px; }
 .page-head .actions>.primary { min-height:36px; font-size:.78rem; padding:8px 10px; }
 .kpi { padding:14px; border-radius:12px; }
 .kpi-top { font-size:.73rem; gap:5px; }
 .kpi-icon { width:28px; height:28px; border-radius:9px; flex-shrink:0; }
 .kpi-icon .icon { width:15px; height:15px; }
 .kpi-value { font-size:1.95rem; margin:11px 0 7px; }
 .kpi-bottom { font-size:.66rem; align-items:flex-start; }
 .dashboard-kpis .kpi:not(:first-child) .kpi-bottom:before { margin-top:5px; }
 .kpis { gap:10px; }
 .panel-head { padding:17px; }
 .panel-head h2 { font-size:1rem; }
 .panel-body { padding:0 17px 17px; }
 .segmented button { font-size:.68rem; padding:5px 7px; }
 .chart-summary strong { font-size:1.8rem; }
 .chart-context { font-size:.65rem; }
 .metric-caption { display:none; }
 .chart,.chart-empty { height:170px; }
 .chart-foot { font-size:.66rem; }
 .pipeline-foot { padding:11px 20px; }
 .attention { flex-wrap:wrap; gap:10px; }
 .attention .right { margin-left:28px; }
 .empty { padding:28px 18px; }
 .footer>span:last-child { font-size:.62rem; }
 .filters { padding:13px; }
 dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); border-radius:14px; }
 .modal-head { padding:18px; }
 .modal-body { padding:18px; }
 .login-form-wrap { padding:30px 22px; }
}
@media (max-width:360px) {
 .page { padding-left:11px; padding-right:11px; }
 .range-button { font-size:.65rem; }
 .range-button .icon { display:none; }
 .kpi { padding:11px; }
 .kpi-top { font-size:.7rem; }
 .kpi-value { font-size:1.8rem; }
 .kpi-icon { width:24px; height:24px; }
 .chart-foot { flex-wrap:wrap; gap:5px; }
 .team-row .person strong { max-width:140px; }
}
@media (prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print {
 .shell { display:block; height:auto; overflow:visible; }
 .main { display:block; height:auto; }
 .page { overflow:visible; padding:0; }
 .sidebar,.topbar,.nav-backdrop,.skip-link,.empty-sales .actions { display:none!important; }
 .dashboard-kpis .kpi:first-child { background:#fff; color:#182d29; }
 .dashboard-kpis .kpi:first-child .kpi-top,.dashboard-kpis .kpi:first-child .kpi-bottom { color:#667a6e; }
 .dealer-final { display:none!important; }
}
