.executive-dashboard{display:grid;gap:1rem;width:100%;color:rgb(17 24 39)}
.dashboard-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dashboard-last-sync{color:rgb(107 114 128);font-size:.8rem;white-space:nowrap}.dashboard-last-sync strong{color:rgb(75 85 99);font-weight:700}.dark .dashboard-last-sync{color:rgb(161 161 170)}.dark .dashboard-last-sync strong{color:rgb(212 212 216)}
.executive-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.executive-heading p{margin:0;color:rgb(107 114 128);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.executive-heading h2{margin:.1rem 0 0;font-size:1.55rem;font-weight:800}.executive-heading>span{padding:.4rem .75rem;border:1px solid rgb(209 213 219);border-radius:999px;color:rgb(75 85 99);font-size:.78rem;font-weight:700}
.executive-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.executive-kpi{display:grid;gap:.2rem;min-width:0;padding:1rem;border:1px solid rgb(229 231 235);border-radius:.85rem;background:white;box-shadow:0 1px 2px rgb(0 0 0/.03)}.executive-kpi>span{color:rgb(107 114 128);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.executive-kpi>strong{overflow:hidden;font-size:1.25rem;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.executive-kpi small{color:rgb(107 114 128);font-size:.72rem}.executive-kpi.is-primary{border-color:rgb(167 243 208);background:linear-gradient(135deg,rgb(236 253 245),white)}.executive-kpi.is-warning{border-color:rgb(253 230 138);background:linear-gradient(135deg,rgb(255 251 235),white)}.executive-kpi .is-positive{color:rgb(5 150 105)}.executive-kpi .is-negative{color:rgb(220 38 38)}
.executive-kpi.is-opportunity{border-color:rgb(253 230 138);background:linear-gradient(135deg,rgb(255 251 235),white)}
.executive-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(18rem,.75fr);gap:1rem}.executive-panel{min-width:0;padding:1rem;border:1px solid rgb(229 231 235);border-radius:.85rem;background:white;box-shadow:0 1px 2px rgb(0 0 0/.03)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-heading div{display:grid}.panel-heading span{color:rgb(107 114 128);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.panel-heading strong{font-size:1rem}.legend-dot:before{display:inline-block;width:.55rem;height:.55rem;margin-right:.35rem;border-radius:50%;background:rgb(5 150 105);content:""}
.sales-trend-grid{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.sales-trend{min-width:0}.trend-chart{display:flex;align-items:end;gap:.5rem;height:14rem;padding-top:1.8rem;border-bottom:1px solid rgb(209 213 219)}.trend-column{position:relative;display:grid;grid-template-rows:1fr auto;align-items:end;justify-items:center;flex:1;height:100%;min-width:0;padding:0;border:0;border-radius:.4rem .4rem 0 0;background:transparent;color:inherit;cursor:pointer}.trend-column:disabled{cursor:default;opacity:.3}.trend-column:not(:disabled):hover,.trend-column:focus-visible{background:rgb(5 150 105/.08);outline:none}.trend-column:focus-visible{box-shadow:inset 0 0 0 2px rgb(16 185 129)}.trend-column i{display:block;width:min(2.6rem,75%);height:var(--height);min-height:3px;border-radius:.35rem .35rem 0 0;background:linear-gradient(180deg,rgb(16 185 129),rgb(5 150 105));transition:height .2s,filter .2s}.trend-column.is-selected i{filter:none;background:rgb(37 99 235)}.trend-column small{padding:.55rem 0;color:rgb(107 114 128);font-size:.65rem;font-weight:800}.trend-column.is-selected small{color:rgb(37 99 235)}.trend-value{position:absolute;bottom:calc(var(--height) + 1.9rem);display:none;font-size:.62rem;font-weight:700;white-space:nowrap}.trend-column:not(:disabled):hover .trend-value,.trend-column:focus-visible .trend-value{display:block}
.collection-content{display:grid;grid-template-columns:9rem 1fr;align-items:center;gap:1rem}.collection-ring{display:grid;place-content:center;width:8.5rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at center,white 58%,transparent 59%),conic-gradient(rgb(5 150 105) calc(var(--progress)*1%),rgb(229 231 235) 0);text-align:center}.collection-ring strong{font-size:1.4rem}.collection-ring span{color:rgb(107 114 128);font-size:.7rem}.collection-content dl{display:grid;gap:.8rem;margin:0}.collection-content dl div{padding-bottom:.65rem;border-bottom:1px solid rgb(229 231 235)}.collection-content dt{color:rgb(107 114 128);font-size:.7rem}.collection-content dd{margin:.1rem 0 0;font-weight:800}
.ranking-list,.product-list{display:grid;gap:.7rem}.ranking-row{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:center;gap:.65rem}.ranking-row>b{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:rgb(236 253 245);color:rgb(5 150 105);font-size:.7rem}.ranking-row>div{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.5rem}.ranking-row span{overflow:hidden;font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ranking-row i,.product-row i{grid-column:1/-1;height:.3rem;margin-top:.25rem;border-radius:99px;background:rgb(229 231 235);overflow:hidden}.ranking-row em,.product-row em{display:block;height:100%;border-radius:inherit;background:rgb(16 185 129)}.ranking-row small{color:rgb(107 114 128);font-size:.63rem}.ranking-row>strong{font-size:.74rem;white-space:nowrap}
.panel-heading a{color:rgb(5 150 105);font-size:.75rem;font-weight:800;white-space:nowrap}.panel-heading a:hover{text-decoration:underline}.opportunity-summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:-.2rem 0 .8rem;padding:.8rem;border:1px solid rgb(253 230 138);border-radius:.65rem;background:rgb(255 251 235)}.opportunity-summary strong{font-size:1.2rem}.opportunity-summary span{color:rgb(146 64 14);font-size:.72rem;font-weight:700}.opportunity-list{display:grid}.opportunity-list>div{display:grid;grid-template-columns:5.5rem minmax(0,1fr) auto;gap:.5rem;padding:.55rem 0;border-bottom:1px solid rgb(243 244 246);font-size:.72rem}.opportunity-list b{color:rgb(146 64 14)}.opportunity-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opportunity-list small{grid-column:2;color:rgb(107 114 128)}.empty-dashboard.is-success{color:rgb(5 150 105);font-weight:700}
.product-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;padding-bottom:.55rem;border-bottom:1px solid rgb(243 244 246)}.product-row>div:first-child{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.5rem}.product-row>div:first-child>strong{font-size:.72rem}.product-row span{overflow:hidden;color:rgb(75 85 99);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.product-row>div:last-child{display:grid;align-content:start;justify-items:end}.product-row>div:last-child strong{font-size:.74rem}.product-row small{color:rgb(107 114 128);font-size:.63rem}.product-row em{background:rgb(45 212 191)}.empty-dashboard{color:rgb(107 114 128);font-size:.85rem}
.dark .executive-dashboard{color:white}.dark .executive-heading>span{border-color:rgb(63 63 70);color:rgb(212 212 216)}.dark .executive-kpi,.dark .executive-panel{border-color:rgb(63 63 70);background:rgb(24 24 27)}.dark .executive-kpi.is-primary{border-color:rgb(6 95 70);background:linear-gradient(135deg,rgb(6 78 59/.3),rgb(24 24 27))}.dark .executive-kpi.is-warning{border-color:rgb(146 64 14);background:linear-gradient(135deg,rgb(120 53 15/.22),rgb(24 24 27))}.dark .trend-chart,.dark .collection-content dl div{border-color:rgb(63 63 70)}.dark .collection-ring{background:radial-gradient(circle at center,rgb(24 24 27) 58%,transparent 59%),conic-gradient(rgb(16 185 129) calc(var(--progress)*1%),rgb(63 63 70) 0)}.dark .ranking-row i,.dark .product-row i{background:rgb(63 63 70)}.dark .ranking-row>b{background:rgb(6 78 59/.3);color:rgb(52 211 153)}.dark .product-row{border-color:rgb(39 39 42)}.dark .product-row span{color:rgb(212 212 216)}
.dark .executive-kpi.is-opportunity{border-color:rgb(146 64 14);background:linear-gradient(135deg,rgb(120 53 15/.22),rgb(24 24 27))}.dark .opportunity-summary{border-color:rgb(146 64 14);background:rgb(120 53 15/.2)}.dark .opportunity-summary span,.dark .opportunity-list b{color:rgb(253 230 138)}.dark .opportunity-list>div{border-color:rgb(39 39 42)}
@media(max-width:1450px){.executive-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.sales-trend-grid{grid-template-columns:1fr}.executive-grid{grid-template-columns:1fr}.executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dashboard-page-header{align-items:start;flex-direction:column}.dashboard-last-sync{white-space:normal}.executive-heading{align-items:start;flex-direction:column}.executive-kpis{grid-template-columns:1fr}.trend-chart{gap:.2rem}.trend-column small{font-size:.55rem}.collection-content{grid-template-columns:1fr;justify-items:center}.collection-content dl{width:100%}}
.dashboard-load-error{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid #f59e0b;border-radius:.75rem;background:#fffbeb;color:#92400e;font-weight:600}

.biodesk-welcome{position:relative;display:grid;place-items:center;min-height:clamp(360px,68vh,840px);overflow:hidden;border:1px solid #dceee9;border-radius:24px;background:radial-gradient(ellipse at 15% 15%,#ccf2e680,transparent 52%),radial-gradient(ellipse at 90% 85%,#bde9e680,transparent 50%),linear-gradient(145deg,#f7fcfa,#edf7f6);isolation:isolate}.biodesk-welcome::before,.biodesk-welcome::after{position:absolute;content:"";z-index:-1;width:560px;height:560px;border:1px solid #19a58c22;border-radius:50%;box-shadow:0 0 0 55px #19a58c08,0 0 0 110px #19a58c06}.biodesk-welcome::before{top:-340px;right:-160px}.biodesk-welcome::after{bottom:-380px;left:-150px}.biodesk-welcome-content{width:min(680px,80%);padding:40px 0;text-align:center}.biodesk-welcome-logo{display:block;width:100%;height:auto}.biodesk-welcome-content p{margin:16px 0 0;color:#52736d;font-size:clamp(14px,1.5vw,18px);letter-spacing:.04em}.dark .biodesk-welcome{border-color:#25463f;background:radial-gradient(ellipse at 15% 15%,#0c625e50,transparent 52%),radial-gradient(ellipse at 90% 85%,#165d5250,transparent 50%),#142c2c}.dark .biodesk-welcome-logo{filter:brightness(1.7)}.dark .biodesk-welcome-content p{color:#b2d9d0}@media(max-width:640px){.biodesk-welcome{border-radius:16px;min-height:55vh}.biodesk-welcome-content{width:88%}}
