:root{color-scheme:dark;--bg:#07101c;--shell:#0b1423;--card:#111e30;--card2:#142339;--edge:#263951;--edge-soft:#1c3047;--text:#f5f8ff;--muted:#90a2bb;--green:#79e6a5;--blue:#89a5ff;--yellow:#ffca83;--red:#ff858c;--purple:#b7a1fd;--radius:19px;--shadow:0 20px 70px #0003;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:var(--green)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}.app-shell{min-height:100vh;display:grid;grid-template-columns:265px minmax(0,1fr)}.sidebar{background:#0a1423;border-right:1px solid var(--edge-soft);padding:26px 18px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;gap:12px;align-items:center;padding:5px 10px}.brand-logo{height:41px;width:41px;display:grid;place-items:center;border:1px solid #436954;border-radius:13px;background:#15352b;color:var(--green);font-size:23px;font-weight:900;box-shadow:inset 0 0 20px #81eb9d0d}.brand-name{font-weight:850;font-size:22px;letter-spacing:-.9px}.brand-sub{font-size:11px;color:var(--muted);letter-spacing:2px;font-weight:700}.sidebar-label{font-size:10px;font-weight:800;letter-spacing:2px;color:#70839b;margin:0 12px 10px}.side-nav{display:grid;gap:5px}.nav-btn{border:0;background:transparent;color:#abbbd0;padding:13px 14px;border-radius:11px;text-align:left;display:flex;align-items:center;gap:11px;font-weight:650;font-size:14px;width:100%}.nav-btn:hover,.nav-btn.active{background:#1b2b3e;color:white}.nav-btn.active{box-shadow:inset 3px 0 var(--green)}.glyph{width:18px;font-size:17px;text-align:center;display:inline-block}.sidebar-foot{margin-top:auto;padding:15px;border:1px solid var(--edge);background:#101d2e;border-radius:15px;font-size:12px;color:var(--muted);line-height:1.6}.sidebar-foot b{display:block;color:white;margin-bottom:3px}.portal-switch{display:flex;gap:7px;flex-wrap:wrap}.portal-button{border:1px solid var(--edge);color:#aabdd3;background:#112034;padding:8px 10px;border-radius:9px;font-size:11px;font-weight:800}.portal-button.selected{background:#244b40;color:#8bf4af;border-color:#477660}.main{min-width:0;padding:30px clamp(18px,3.5vw,62px) 80px;max-width:1770px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:30px}.eyebrow{font-size:11px;color:var(--green);font-weight:850;letter-spacing:1.9px;text-transform:uppercase}.topbar-left .page-context{color:var(--muted);font-size:13px;margin-top:6px}.topbar-right{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.demo-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #4d684b;background:#1b312c;color:#a7f2c6;padding:9px 11px;border-radius:99px;font-weight:800;white-space:nowrap;font-size:11px}.demo-pill:before{content:"";height:7px;width:7px;background:var(--green);border-radius:100%;box-shadow:0 0 12px var(--green)}.btn{background:#1a2a40;border:1px solid #32435b;color:#f7faff;border-radius:10px;padding:11px 15px;font-weight:750;font-size:13px;transition:.17s ease;white-space:nowrap}.btn:hover{background:#29415e;transform:translateY(-1px)}.btn-primary{color:#06211b;border-color:#a1f4bd;background:var(--green)}.btn-primary:hover{background:#bcffd0}.btn-ghost{background:transparent;border-color:var(--edge);color:#acc0d8}.btn-danger{border-color:#82464e;background:#3c232f;color:#ffb0b3}.btn-small{padding:8px 11px;font-size:12px}.btn-icon{padding:9px 12px}.hero-header{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:23px;flex-wrap:wrap}.hero-header h1{font-size:clamp(27px,2.9vw,39px);margin:5px 0 7px;letter-spacing:-1.8px;line-height:1.1}.hero-header p{color:var(--muted);font-size:14px;margin:0;line-height:1.55}.period-switch{border:1px solid var(--edge);padding:5px;border-radius:12px;display:flex;gap:3px;background:#101b2b}.period-btn{border:0;background:transparent;color:#9fb1c7;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:800}.period-btn.active{background:#344961;color:#fff}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric{background:linear-gradient(148deg,#142237,#101c2c);border:1px solid var(--edge);border-radius:var(--radius);padding:22px;min-width:0;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;inset:auto -20px -57px auto;width:110px;height:110px;border-radius:60%;background:var(--glow,#86b0ff);filter:blur(70px);opacity:.14;pointer-events:none}.metric-label{font-size:12px;font-weight:720;color:#a5b5c8;margin-bottom:17px}.metric-value{font-size:clamp(22px,2.2vw,35px);letter-spacing:-1.4px;font-weight:850;white-space:nowrap}.metric-foot{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.4}.metric-feature{color:var(--green)}.section-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:19px;margin-bottom:19px}.panel{background:linear-gradient(145deg,#111e30,#101b2b);border:1px solid var(--edge);border-radius:var(--radius);padding:24px;min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px}.panel-title h2{font-size:18px;letter-spacing:-.5px;margin:0}.panel-title small{color:var(--muted);font-size:11px}.panel-desc{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 18px}.budget-card{display:flex;gap:20px;align-items:center;justify-content:space-between}.budget-num{font-size:34px;font-weight:850;letter-spacing:-1px;margin:5px 0}.muted{color:var(--muted)}.soft{font-size:12px;color:var(--muted)}.budget-track,.progress-track{height:10px;background:#2d3e53;border-radius:99px;overflow:hidden}.budget-fill,.progress-fill{height:100%;background:linear-gradient(90deg,#46ba86,#91ffd0);border-radius:99px;transition:width .5s}.budget-track{margin:17px 0 12px}.budget-foot{font-size:12px;color:var(--muted)}.top3-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.podium-card{border:1px solid var(--edge);background:#17273a;border-radius:15px;padding:17px 10px;text-align:center;min-width:0}.podium-card.first{border-color:#a69255;background:linear-gradient(145deg,#3e3528,#182437)}.rank-number{font-size:11px;font-weight:900;color:var(--yellow);letter-spacing:1px}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--avcolor,#3d6b8b),#152637);border:2px solid #58768d;object-fit:cover;font-size:15px;font-weight:850;color:white;flex-shrink:0}.podium-card .avatar{height:75px;width:75px;margin:14px auto 12px;font-size:22px;border-width:3px}.seller-name{font-weight:800;font-size:13px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.podium-count{font-size:28px;font-weight:850;margin-top:9px}.podium-foot{font-size:10px;color:var(--muted);margin-top:4px}.ranking-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #25374d;padding:12px 0}.ranking-row:last-child{border:0}.rank-index{width:28px;color:#92a6bc;font-size:14px;font-weight:850;text-align:center}.rank-detail{min-width:0;flex:1}.rank-detail strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-detail small{color:var(--muted);font-size:11px}.rank-amount{text-align:right;white-space:nowrap;font-size:13px;font-weight:800}.rank-amount small{display:block;color:var(--muted);font-weight:500;margin-top:5px;font-size:11px}.chart-wrap{height:203px;display:flex;gap:12px;align-items:stretch;border-bottom:1px solid #34465e;padding:10px 4px 0}.chart-column{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:8px}.chart-bar{width:min(30px,65%);border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#9cffc3,#379978);height:var(--barheight);min-height:3px}.chart-column span{font-size:10px;color:#879bb5;margin-bottom:-23px}.chart-footer{margin-top:30px;color:var(--muted);font-size:12px}.activity{display:grid;gap:16px}.activity-item{display:flex;align-items:flex-start;gap:11px}.activity-symbol{background:#183b34;color:var(--green);width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:14px;flex-shrink:0}.activity-symbol.quote{background:#313357;color:var(--blue)}.activity-symbol.cancel{background:#4d2b35;color:var(--red)}.activity-text{flex:1;min-width:0;font-size:12px;line-height:1.5}.activity-text b{color:#fff}.activity-text small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.pill{display:inline-block;font-size:10px;font-weight:850;padding:6px 9px;border:1px solid #385a50;border-radius:99px;color:#8be5b2;background:#18352e;white-space:nowrap}.pill.warn{border-color:#625543;background:#3c3225;color:#ffd296}.pill.neutral{border-color:#3d4b65;background:#242e44;color:#c4d2f8}.pill.red{border-color:#754952;background:#422b37;color:#ffb7bd}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px;min-width:650px}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#8297b1;text-align:left;font-weight:850;padding:12px 14px;border-bottom:1px solid #34455b;white-space:nowrap}.data-table td{padding:15px 14px;border-bottom:1px solid #253850;vertical-align:middle;color:#dce6f3}.data-table tr:last-child td{border-bottom:0}.name-flex{display:flex;align-items:center;gap:11px;min-width:0}.name-flex strong{font-weight:800;font-size:13px}.name-flex small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.actions{display:flex;gap:7px;flex-wrap:wrap}.empty{padding:45px 20px;color:var(--muted);text-align:center;line-height:1.7}.empty strong{display:block;color:white;font-size:18px}.filter-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:17px}.field{display:grid;gap:7px;margin-bottom:14px}.field label{font-size:12px;color:#b9c9dd;font-weight:750}.input,.select,.textarea{width:100%;background:#0c1828;color:#f5faff;border:1px solid #344862;border-radius:10px;padding:12px 13px;font-size:13px}.textarea{resize:vertical;min-height:80px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.form-footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px}.form-hint{color:var(--muted);font-size:11px;line-height:1.6}.modal-backdrop{position:fixed;inset:0;background:#03070dcc;backdrop-filter:blur(6px);z-index:50;display:grid;place-items:center;padding:18px}.modal{background:#111f31;border:1px solid #3c536e;width:min(650px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:21px;padding:27px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin:3px 0 0;letter-spacing:-.5px}.tab-row{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #31455d;padding-bottom:11px;margin-bottom:19px}.tab-button{border:1px solid var(--edge);background:#17263a;color:#a3b4c9;padding:9px 12px;border-radius:9px;font-weight:700;font-size:12px}.tab-button.active{background:#294a3e;color:#a0ffc5;border-color:#427961}.toast-root{position:fixed;bottom:20px;right:20px;z-index:100}.toast{padding:13px 17px;background:#26483a;color:#dcffe8;border:1px solid #56a782;border-radius:12px;box-shadow:var(--shadow);font-size:13px;font-weight:700;animation:pop .2s ease}.notice{border:1px solid #4c624b;background:#233627;padding:15px 17px;border-radius:12px;font-size:12px;color:#cde6d2;line-height:1.6}.notice-blue{border-color:#405775;background:#192a41;color:#c1d7ef}.notice strong{color:#fff}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail-tile{background:#19293e;border:1px solid var(--edge);padding:16px;border-radius:12px}.detail-tile b{display:block;font-size:23px;letter-spacing:-.7px;margin:8px 0}.detail-tile span{font-size:11px;color:var(--muted)}.stack{display:grid;gap:18px}.split{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-heading{font-size:14px;font-weight:800;margin:0 0 12px}.thin-sep{height:1px;background:var(--edge);margin:15px 0}.code-box{white-space:pre-wrap;overflow-wrap:anywhere;padding:15px;border:1px solid #34465b;border-radius:12px;background:#06101e;color:#a8d4ed;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.text-good{color:var(--green)}.text-warn{color:var(--yellow)}.text-red{color:var(--red)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--edge-soft)}.toggle-row b{font-size:13px}.toggle-row small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.toggle-row input{width:18px;height:18px;accent-color:#79e6a5}.completion{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 6px;font-size:11px;color:var(--muted)}.completion strong{color:white}.sale-overlay{position:fixed;z-index:110;inset:0;background:#04101de8;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;animation:pop .35s ease}.sale-content{position:relative;z-index:2;width:min(640px,100%);border:2px solid #4eab7e;border-radius:28px;padding:45px 25px;background:radial-gradient(circle at 50% 0%,#265c48,#101e32 58%);box-shadow:0 0 110px #44d9953a}.sale-content .avatar{width:124px;height:124px;font-size:37px;margin:0 auto 16px}.sale-content h2{font-size:clamp(36px,6vw,78px);letter-spacing:-3px;margin:8px 0;color:#9afdc0}.sale-content p{margin:3px 0 24px;font-size:23px;font-weight:800}.confetti{position:absolute;left:var(--x);top:-10%;width:9px;height:17px;background:var(--c);transform:rotate(var(--r));animation:fall var(--d) linear forwards;opacity:.95}.display-shell{min-height:100vh;background:radial-gradient(circle at 25% 0%,#17382d 0%,#07101b 44%,#050c16 100%);padding:25px clamp(15px,3vw,48px) 32px;display:flex;flex-direction:column;gap:17px;height:100vh;overflow:hidden}.display-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.display-logo{font-size:clamp(23px,2.3vw,36px);font-weight:900;letter-spacing:-1.5px}.display-logo span{color:var(--green)}.display-sub{color:#93a8bf;font-size:clamp(11px,1.15vw,16px);margin-top:3px}.display-controls{display:flex;gap:9px;flex-wrap:wrap}.display-main{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(330px,1fr);gap:17px;min-height:0;height:41vh}.display-podium,.display-budget,.display-ranking{background:#101e2ee8;border:1px solid #35516b;border-radius:22px;padding:17px 22px;min-width:0;min-height:0}.display-section-title{font-size:clamp(14px,1.6vw,23px);font-weight:850;margin-bottom:11px}.display-top3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;height:calc(100% - 38px)}.display-person{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #365168;background:#15283b;border-radius:17px;min-width:0;padding:6px}.display-person.gold{border-color:#89783e;background:linear-gradient(160deg,#393622,#17283b)}.display-person .avatar{width:clamp(72px,7.5vw,125px);height:clamp(72px,7.5vw,125px);font-size:clamp(25px,3vw,43px);border-width:4px;margin:2px auto 5px}.display-position{font-size:clamp(12px,1.2vw,17px);font-weight:900;color:var(--yellow)}.display-person-name{font-weight:850;font-size:clamp(14px,1.7vw,25px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.display-person-count{font-weight:950;font-size:clamp(31px,4.6vw,67px);letter-spacing:-2px;line-height:1.2;margin-top:2px}.display-person .soft{font-size:clamp(9px,.8vw,12px)}.display-budget{display:flex;flex-direction:column;justify-content:center}.display-budget-label{color:var(--green);text-transform:uppercase;font-size:clamp(12px,1.2vw,18px);letter-spacing:2px;font-weight:900}.display-budget-amount{font-weight:950;font-size:clamp(48px,6vw,96px);letter-spacing:-5px;white-space:nowrap}.display-budget-amount span{font-size:clamp(20px,2.6vw,39px);color:#95adc2;font-weight:700}.display-budget .budget-track{height:17px;margin:16px 0}.display-budget .soft{font-size:clamp(12px,1.1vw,19px)}.display-ranking{flex:1;display:flex;flex-direction:column;padding-bottom:12px;overflow:hidden}.display-ranking-head{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;gap:9px}.display-ranking-scroll{overflow-y:auto;scrollbar-width:none;min-height:0;flex:1}.display-ranking-scroll::-webkit-scrollbar{display:none}.display-rank-row{display:grid;grid-template-columns:65px 82px minmax(160px,1.7fr) minmax(110px,.6fr) minmax(110px,.8fr) minmax(130px,.7fr);gap:12px;align-items:center;padding:11px 15px;border-bottom:1px solid #284058}.display-rank-row:nth-child(odd){background:#192d3b77;border-radius:12px}.display-rank-row .avatar{width:65px;height:65px;font-size:20px}.display-rank-row strong{font-size:clamp(20px,2.3vw,32px);letter-spacing:-.5px}.display-rank-row .position{font-size:27px;font-weight:950;color:#8ba6c1}.display-rank-row .value{font-size:clamp(17px,2vw,28px);font-weight:850}.display-rank-row .minor{font-size:12px;color:#91a8be}.display-legend{font-size:11px;color:var(--muted)}.display-mode #app{height:100vh}.footer-note{color:#6f839a;font-size:11px;margin-top:30px;text-align:center}.preview-only{color:var(--yellow);font-size:11px;font-weight:700}.settings-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 18px}.settings-nav button{padding:12px;border-radius:10px;border:1px solid var(--edge);background:#18293e;color:#b4c6d9;font-weight:750}.settings-nav button.active{color:#9af9bb;border-color:#608e6d;background:#234238}@keyframes pop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes fall{to{top:110%;transform:rotate(690deg) translateX(70px);opacity:.1}}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-grid{grid-template-columns:1fr}.display-main{grid-template-columns:1.55fr 1fr}.display-rank-row{grid-template-columns:45px 58px 1.7fr .6fr .8fr .7fr}.display-rank-row .avatar{width:53px;height:53px}}
@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:15px;gap:10px}.sidebar .brand,.sidebar-foot,.sidebar-label{display:none}.sidebar .side-nav{display:flex;overflow:auto;gap:5px}.nav-btn{white-space:nowrap;width:auto;padding:10px}.main{padding:22px 14px 60px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top3-list{gap:7px}.metric{padding:17px}.metric-value{font-size:24px}.display-shell{height:auto;min-height:100vh;overflow:visible}.display-main{grid-template-columns:1fr;height:auto}.display-podium{height:330px}.display-budget{min-height:160px}.display-ranking-scroll{max-height:520px}.display-rank-row{grid-template-columns:30px 50px minmax(110px,1.5fr) .6fr .8fr}.display-rank-row .last{display:none}.display-rank-row .avatar{width:48px;height:48px}.display-rank-row strong{font-size:18px}}
@media(max-width:550px){.hero-header h1{font-size:29px}.topbar{align-items:flex-start;flex-direction:column}.kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.metric{padding:13px}.metric-label{font-size:11px}.metric-value{font-size:21px}.metric-foot{font-size:10px}.panel{padding:17px}.form-grid,.detail-grid{grid-template-columns:1fr}.display-top3{gap:5px}.display-podium{height:265px;padding:12px}.display-person{padding:4px}.display-person .avatar{width:61px;height:61px;font-size:20px}.display-person-name{font-size:11px}.display-person-count{font-size:30px}.display-section-title{font-size:15px}.display-rank-row{grid-template-columns:25px 42px 1.4fr .7fr;gap:6px;padding:8px 3px}.display-rank-row .avatar{width:40px;height:40px}.display-rank-row .value:nth-last-child(2),.display-rank-row .last{display:none}.display-rank-row strong{font-size:14px}.display-rank-row .position{font-size:18px}.modal{padding:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Säljpuls 1.1 additions – intentionally scoped to preserve original theme */
.hero-header .actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}
.section-grid.single-panel{grid-template-columns:minmax(0,1fr)}
.dash-settings-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0;max-height:55vh;overflow:auto}
.dash-setting{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:13px 14px;border:1px solid var(--edge);border-radius:11px;background:#14253a;font-size:13px;font-weight:700;cursor:pointer;min-height:56px}
.dash-setting:hover{border-color:#446d72}
.switch{display:inline-flex;position:relative;width:43px;height:24px;flex:none}
.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.switch-track{width:43px;height:24px;border-radius:22px;background:#42536b;transition:background .15s;position:relative}
.switch-track:before{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:100%;background:white;transition:transform .15s}
.switch input:checked+.switch-track{background:#4da981}
.switch input:checked+.switch-track:before{transform:translateX(19px)}
.switch input:focus-visible+.switch-track{outline:2px solid #d6ffe4;outline-offset:3px}
.chart-panel{min-height:315px}
.chart-head{align-items:flex-start;flex-wrap:wrap}
.chart-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.chart-select{width:auto;max-width:220px;min-width:110px;padding:9px 12px;font-size:12px}
.chart-scroll{overflow-x:auto;padding:0 4px 13px}
.chart-bars{min-width:max(100%,calc(var(--chart-count)*38px));margin-bottom:5px}
.chart-bars .chart-column{min-width:30px}
.chart-bars .chart-column b{font-size:10px;white-space:nowrap;line-height:1;max-width:75px;overflow:hidden;text-overflow:ellipsis}
.chart-bars .chart-column span{white-space:nowrap}
.pace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:21px 0 11px}
.pace-chip{padding:11px 10px;border:1px solid var(--edge);border-radius:11px;background:#142437;min-width:0}
.pace-chip-head{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800}
.pace-chip-head .pace-status{color:#9ab4ce;font-size:10px}
.pace-status.ahead{color:#83ecaf}
.pace-status.behind{color:#ffba7f}
.pace-score{font-size:21px;font-weight:850;letter-spacing:-1px;margin:6px 0}
.pace-score span{font-size:13px;font-weight:650;color:var(--muted)}
.pace-chip .budget-track{height:6px;margin:8px 0}
.pace-chip small{display:block;color:#9dafc4;font-size:10px;line-height:1.5}
.budget-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.budget-preview>div{display:flex;flex-direction:column;gap:7px;padding:16px;border:1px solid var(--edge);border-radius:12px;background:#15263b}
.budget-preview span{color:#90a8c0;font-size:12px}
.budget-preview strong{font-size:23px;font-weight:900;color:#86e9af}
.sound-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
.sound-choice .select{min-width:0}
@media(max-width:1050px){.pace-grid{grid-template-columns:1fr}.pace-chip-head{flex-direction:row;justify-content:space-between}}
@media(max-width:620px){.dash-settings-list{grid-template-columns:1fr}.pace-grid{grid-template-columns:1fr}.chart-controls{width:100%;justify-content:flex-start}.chart-select{min-width:0;max-width:none;flex:1}.hero-header .actions{justify-content:flex-start}.budget-preview strong{font-size:19px}}

/* SÄLJPULS V1.2 — Team management, customizable display, readable budget */
.rank-sort{width:230px;max-width:100%;padding:10px 12px}
.team-section{margin-bottom:19px}
.team-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.team-card{background:#15263a;border:1px solid #344960;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:13px;min-width:0}
.team-card-top{display:flex;align-items:center;gap:11px}
.team-card h3{font-size:18px;margin:0 0 5px}
.team-icon,.team-big-icon{width:55px;height:55px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#285c50,#234664);border:1px solid #51826d;color:#b0ffcf;font-size:17px;font-weight:900;flex:none}
.team-members{display:flex;gap:5px;flex-wrap:wrap;align-items:flex-start;min-height:42px}
.team-members span{font-size:11px;border:1px solid #354860;background:#18293c;border-radius:99px;padding:5px 9px;color:#c0d4e5}
.team-card .actions{margin-top:auto}
.team-select{font-size:12px;min-width:125px;width:170px;padding:8px 10px}
.team-avatar{width:75px;height:75px;margin:14px auto 12px;font-size:22px}
.budget-editor{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px;align-items:stretch;margin-top:7px}
.budget-entry{border:1px solid #354a61;background:#13273b;border-radius:14px;padding:19px}
.budget-entry .field{margin-bottom:16px}
.budget-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.budget-level{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;background:#132238;border:1px solid #354a61;padding:24px 16px;border-radius:14px;min-width:0;min-height:208px}
.budget-level-source{background:linear-gradient(145deg,#1d3d38,#152638);border-color:#5cb28c;box-shadow:inset 0 0 0 1px #58b98a55}
.budget-level span{font-size:14px;font-weight:850;color:#d0e3f0}
.budget-level strong{font-size:clamp(31px,3vw,47px);font-weight:950;letter-spacing:-2px;line-height:1;color:#f2fafb}
.budget-level-source strong{color:#96f8be}
.budget-level small{font-size:12px;color:#9ab1c8}
.budget-level em{font-style:normal;font-size:9px;letter-spacing:1.2px;color:#8fcbaa;font-weight:900;margin-top:auto}
.budget-pace-large{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pace-large-card{background:#14273b;padding:17px;border:1px solid #324a64;border-radius:14px;min-width:0}
.pace-large-count{font-size:32px;font-weight:900;margin:13px 0 4px}
.pace-large-count span{font-size:20px;color:#849bb4}
.pace-large-card .budget-track{height:9px;margin:12px 0}
/* Display hub — large full-width preview, separate page/settings rail */
.display-hub-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(295px,.9fr);align-items:start;gap:18px}
.display-hub-preview{padding:18px}
.display-preview-frame{background:radial-gradient(circle at 12% 0%,#18372d,#091524 55%);border:1px solid #2f4d61;border-radius:16px;overflow:hidden;height:480px;padding:15px;min-width:0}
.display-preview-frame .display-slide{height:100%;min-height:0;gap:10px}
.display-preview-frame .display-section-title{font-size:15px;margin-bottom:7px}
.display-preview-frame .display-main{height:44%;gap:10px;flex:none;min-height:0}
.display-preview-frame .display-podium,.display-preview-frame .display-budget,.display-preview-frame .display-ranking{padding:11px 12px;border-radius:12px}
.display-preview-frame .display-top3{gap:5px;height:calc(100% - 28px)}
.display-preview-frame .display-person{padding:3px}
.display-preview-frame .display-person .avatar{width:48px;height:48px;font-size:15px;border-width:2px;margin:1px auto 2px}
.display-preview-frame .display-position{font-size:11px}
.display-preview-frame .champ-crown{font-size:19px}
.display-preview-frame .display-person-name{font-size:11px}
.display-preview-frame .display-person-count{font-size:27px;letter-spacing:-1px}
.display-preview-frame .display-person .soft{font-size:9px}
.display-preview-frame .display-budget-label{font-size:12px;letter-spacing:1px}
.display-preview-frame .display-budget-amount{font-size:41px;letter-spacing:-2px}
.display-preview-frame .display-budget-amount span{font-size:18px}
.display-preview-frame .display-budget .soft{font-size:10px}
.display-preview-frame .display-budget .budget-track{height:9px;margin:9px 0}
.display-preview-frame .display-rank-row{grid-template-columns:30px 40px minmax(80px,1fr) minmax(50px,.45fr) minmax(85px,.7fr);gap:7px;padding:6px 9px}
.display-preview-frame .display-rank-row .avatar{width:36px;height:36px;font-size:12px}
.display-preview-frame .display-rank-row strong{font-size:13px}
.display-preview-frame .display-rank-row .value{font-size:13px}
.display-preview-frame .display-rank-row .position{font-size:15px}
.display-preview-frame .display-rank-row .minor{font-size:9px}
.display-preview-frame .pill{font-size:8px;padding:4px 7px}
.display-preview-hint{font-size:11px;color:#9caec1;margin-top:10px}
.display-page-list{max-height:545px;overflow-y:auto;display:grid;gap:9px}
.display-page-card{border:1px solid #324760;background:#152337;border-radius:12px;padding:12px;display:grid;gap:10px}
.display-page-card.chosen{border-color:#65b792;background:#192f38}
.display-page-main{display:flex;align-items:center;justify-content:space-between;gap:8px}
.page-select{border:0;background:transparent;color:white;text-align:left;flex:1;min-width:0;padding:3px;cursor:pointer}
.page-select strong,.page-select small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-select strong{font-size:13px}
.page-select small{font-size:11px;color:#9ab0c4;margin-top:5px}
.slide-block-list{display:grid;gap:8px}
.slide-block-row{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 12px;background:#15283c;border:1px solid #354960;border-radius:10px}
.checkbox-row{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;cursor:pointer}
.checkbox-row input{accent-color:#79e6a5;width:17px;height:17px}
/* Fullscreen displays: less zoom, more room for ranking rows */
.display-shell{gap:12px;padding:15px clamp(14px,2vw,38px) 15px;overflow:hidden}
.display-shell .display-head{flex:none}
.display-slide{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px}
.display-shell .display-main{height:32%;flex:0 0 32%;min-height:230px;gap:12px}
.display-slide .display-main.display-one-block{grid-template-columns:1fr}
.display-shell .display-podium,.display-shell .display-budget,.display-shell .display-ranking{padding:12px 18px;border-radius:16px}
.display-shell .display-section-title{font-size:clamp(15px,1.5vw,22px);margin-bottom:8px}
.display-shell .display-top3{height:calc(100% - 29px);gap:8px}
.display-shell .display-person .avatar{width:clamp(60px,6vw,95px);height:clamp(60px,6vw,95px);font-size:clamp(23px,3vw,34px);margin:1px auto 3px}
.display-shell .display-person-count{font-size:clamp(27px,3.5vw,53px)}
.display-shell .display-person-name{font-size:clamp(13px,1.5vw,23px)}
.display-shell .display-position{font-size:clamp(11px,1vw,15px)}
.champ-crown{font-size:clamp(30px,3.2vw,46px);color:#ffdb80;vertical-align:middle;line-height:.6;text-shadow:0 3px 22px #fbc45488}
.display-shell .display-ranking{flex:1;min-height:0}
.display-shell .display-rank-row{grid-template-columns:36px 52px minmax(125px,1.8fr) minmax(80px,.55fr) minmax(100px,.75fr);gap:11px;padding:8px 12px;min-height:63px}
.display-shell .display-rank-row .avatar{width:48px;height:48px;font-size:16px}
.display-shell .display-rank-row strong{font-size:clamp(15px,1.65vw,24px)}
.display-shell .display-rank-row .value{font-size:clamp(14px,1.55vw,23px)}
.display-shell .display-rank-row .position{font-size:22px}
.display-shell .display-ranking-scroll{overflow:auto;flex:1}
/* Comparison and team-only slides */
.display-contest,.display-teams,.display-goals{justify-content:flex-start;min-height:0}
.competition-grid{display:grid;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);gap:15px;align-items:center;flex:1;min-height:0}
.competition-team{background:linear-gradient(145deg,#193044,#101e30);border:1px solid #46677b;border-radius:20px;padding:20px;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;min-height:0;height:100%}
.competition-team h2{font-size:clamp(20px,3vw,42px);margin:10px 0}
.competition-team .budget-track{width:90%;margin:24px auto 5px;height:15px}
.competition-score{font-size:clamp(32px,5.4vw,84px);font-weight:950;letter-spacing:-2px}
.competition-vs{color:#f9cf81;font-size:clamp(25px,3.5vw,55px);font-weight:950;text-align:center}
.team-big-icon{width:clamp(60px,7vw,115px);height:clamp(60px,7vw,115px);font-size:clamp(26px,3.5vw,55px);border-radius:25px}
.display-team-grid{display:grid;gap:12px;overflow:auto;min-height:0}
.display-team-row{display:grid;grid-template-columns:65px 65px minmax(0,1fr) auto;align-items:center;gap:17px;background:#15273b;border:1px solid #334c63;padding:14px 22px;border-radius:15px}
.display-team-row strong{font-size:clamp(20px,2.5vw,37px)}
.display-team-row .team-rank{font-size:31px;font-weight:900;color:#f7cc87}
.display-team-row .team-score{font-size:clamp(22px,3vw,42px);font-weight:900}
.display-goals .budget-pace-large{flex:1;align-items:stretch}
.display-goals .pace-large-card{display:flex;flex-direction:column;justify-content:center;padding:25px}
.display-goals .pace-large-count{font-size:clamp(35px,4.5vw,72px)}
.display-preview-frame .competition-grid{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:4px}
.display-preview-frame .competition-team{padding:9px;border-radius:12px}
.display-preview-frame .competition-team h2{font-size:16px}
.display-preview-frame .competition-score{font-size:22px}
.display-preview-frame .competition-vs{font-size:22px}
.display-preview-frame .team-big-icon{width:45px;height:45px;font-size:18px;border-radius:12px}
.display-preview-frame .display-team-row{padding:7px 10px;grid-template-columns:28px 40px minmax(0,1fr) auto;gap:8px}
.display-preview-frame .display-team-row .team-rank,.display-preview-frame .display-team-row .team-score{font-size:16px}
.display-preview-frame .display-team-row strong{font-size:14px}
.display-preview-frame .display-team-row .team-icon{width:34px;height:34px;font-size:12px}
.display-preview-frame .budget-pace-large{gap:6px}
.display-preview-frame .pace-large-card{padding:8px}
.display-preview-frame .pace-large-count{font-size:20px}
.display-preview-frame .pace-large-count span{font-size:11px}
.display-preview-frame .pace-large-card .soft{font-size:9px}
@media(max-width:1200px){.display-hub-layout{grid-template-columns:1fr}.display-preview-frame{height:460px}}
@media(max-width:850px){.budget-editor{grid-template-columns:1fr}.budget-pace-large{grid-template-columns:1fr}.display-shell{height:100vh;overflow:hidden}.display-shell .display-main{height:34%;min-height:210px}.display-shell .display-rank-row{grid-template-columns:30px 45px minmax(100px,1fr) 60px 85px}.display-shell .display-rank-row .avatar{width:40px;height:40px}}
@media(max-width:600px){.budget-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.budget-level{padding:13px 7px;min-height:145px}.budget-level strong{font-size:24px}.budget-level span{font-size:11px}.budget-level small{font-size:9px}.budget-level em{font-size:7px}.display-preview-frame{height:400px;padding:5px}.display-preview-frame .display-main{grid-template-columns:1fr;flex:0 0 57%}.display-preview-frame .display-budget{display:none}.display-preview-frame .display-rank-row{grid-template-columns:20px 35px minmax(65px,1fr) 50px}.display-preview-frame .display-rank-row>div:last-child{display:none}.display-page-card{padding:9px}.display-shell .display-rank-row{grid-template-columns:22px 37px minmax(80px,1fr) 50px}.display-shell .display-rank-row>div:last-child{display:none}.display-shell .display-rank-row strong{font-size:12px}.display-shell .display-rank-row .avatar{width:33px;height:33px}.display-shell .display-main{grid-template-columns:1fr;flex:0 0 48%;height:48%;min-height:190px}.display-shell .display-budget{display:none}.competition-grid{grid-template-columns:1fr 25px 1fr;gap:5px}.competition-team{padding:6px}.competition-team h2{font-size:15px}.competition-score{font-size:23px}.competition-vs{font-size:18px}}
/* Finish crown and TV spacing: crown belongs to champion's portrait */
.champ-wrap{position:relative;display:flex;align-items:center;justify-content:center;margin:0 auto;isolation:isolate}
.champ-wrap .avatar{flex:none}
.champ-wrap .champ-crown{position:absolute;top:-18px;left:50%;transform:translate(-50%,-25%);z-index:3;font-size:45px;line-height:1;color:#ffda86;filter:drop-shadow(0 3px 5px #201000c9);pointer-events:none}
.podium-card .champ-wrap{margin-top:18px}
.podium-card .champ-wrap .champ-crown{font-size:38px;top:-14px}
.display-shell .display-main{height:36%;flex:0 0 36%}
.display-shell .display-person .avatar{width:clamp(57px,5.5vw,85px);height:clamp(57px,5.5vw,85px)}
.display-shell .display-person-count{font-size:clamp(26px,3.05vw,46px);margin-top:1px}
.display-shell .display-person .soft{font-size:clamp(9px,.8vw,12px)}
.display-shell .display-person{gap:1px;overflow:visible}
.display-shell .display-person .champ-wrap{margin:0 auto}
.display-shell .display-person .champ-crown{top:-12px;transform:translate(-50%,-15%)}
.display-preview-frame .display-person .champ-crown{font-size:25px;top:-9px}
.display-preview-frame .display-person .avatar{margin:0 auto}
@media(max-width:600px){.display-shell .display-main{flex-basis:48%;height:48%}}
/* Crown rests over the top of the winning portrait, not the placement caption. */
.display-shell .display-person .champ-crown{top:6px;transform:translate(-50%,0)}
.display-preview-frame .display-person .champ-crown{top:2px;transform:translate(-50%,0)}
.podium-card .champ-wrap .champ-crown{top:5px;transform:translate(-50%,0)}

/* ───────── SÄLJPULS v1.3 ───────── */
.performance-panel{margin:0 0 20px}.performance-panel .panel-title{align-items:flex-start;gap:16px}.performance-panel .panel-title .soft{max-width:730px;margin-top:5px}.performance-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:17px}.performance-column{border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(3,15,28,.18));padding:14px;min-width:0}.performance-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:850;padding-bottom:12px;border-bottom:1px solid var(--border)}.performance-head strong{font-size:26px}.status-good .performance-head{color:#7be4aa}.status-okay .performance-head{color:#bbd1e9}.status-low .performance-head{color:#ffac9a}.performance-person{width:100%;display:flex;align-items:center;text-align:left;gap:10px;border:1px solid transparent;border-radius:12px;padding:9px 6px;margin-top:5px;background:transparent;color:var(--text);cursor:pointer}.performance-person:hover,.performance-person:focus-visible{background:#1c3247;border-color:#47677d}.performance-person .avatar{width:40px;height:40px;font-size:14px;flex-shrink:0}.performance-person>span:nth-child(2){display:grid;min-width:0;flex:1}.performance-person b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.performance-person small{font-size:11px;color:var(--muted)}.performance-person .chevron{font-size:24px;color:#7f9cac}.subtle-disclaimer{font-size:12px;margin-top:17px;line-height:1.5}.unknown-note{margin-top:10px}
.team-logo{width:60px;height:60px;border-radius:16px;flex-shrink:0;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(130deg,var(--team-color,#4cae94),#1a3a52);border:2px solid color-mix(in srgb,var(--team-color,#4cae94),white 20%);color:#fff;font-weight:900;font-size:24px;text-shadow:0 1px 2px #0026}.team-card{border-top:3px solid var(--tint,#66d7a7)}.team-card .team-logo{width:76px;height:76px;border-radius:20px;font-size:28px}.team-edit-heading{display:flex;align-items:center;gap:20px;margin-bottom:17px}.team-edit-heading .team-logo{width:86px;height:86px}.color-picker{min-height:48px;width:100%;border:1px solid var(--border);background:#162539;padding:5px;border-radius:11px}.member-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:310px;overflow:auto;border:1px solid var(--border);border-radius:13px;padding:10px}.member-option{display:flex;align-items:center;gap:9px;background:#17293e;border:1px solid #29435e;border-radius:10px;padding:10px;cursor:pointer;min-width:0;color:var(--text)}.member-option:has(input:checked){background:#244637;border-color:#64c89c}.member-option input{accent-color:#76eab0}.member-option .avatar{height:35px;width:35px;font-size:12px}.member-option>span:last-child{display:grid;font-size:13px;min-width:0}.member-option small{color:#91a7c4;font-size:10px}
.contest-v13{display:flex;flex-direction:column;min-height:0}.contest-v13-grid{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:10px;flex:1;min-height:0}.contest-v13-grid.mode-three{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr)}.contest-big-card{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-width:0;min-height:0;background:linear-gradient(160deg,#193147,#12253b);border:1px solid #3d6683;border-radius:18px;padding:24px 16px;text-align:center;overflow:hidden}.contest-big-card h2{font-size:clamp(18px,2.5vw,34px);line-height:1.15}.contest-big-card .competition-score{font-size:clamp(30px,4.3vw,62px);font-weight:950;letter-spacing:-.035em}.contest-big-card .budget-track{width:92%;margin-top:10px}.contest-big-card .soft{font-size:13px}.contest-logo-stack{display:flex;align-items:center;justify-content:center;gap:18px;max-width:100%;flex-wrap:nowrap;min-height:150px}.contest-team-badge{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.contest-team-badge .team-logo{height:clamp(85px,11vw,155px);width:clamp(85px,11vw,155px);border-radius:50%;font-size:clamp(32px,6vw,65px);box-shadow:0 0 0 5px #243e55}.contest-logo-stack.double .team-logo{width:clamp(67px,8vw,118px);height:clamp(67px,8vw,118px)}.contest-team-badge strong{font-size:clamp(11px,1vw,15px)}.contest-v13-grid .competition-vs{display:grid;place-items:center;font-size:clamp(15px,2vw,30px);font-weight:950;color:#ffcc75}
.display-preview-frame .contest-v13-grid{gap:4px;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)}.display-preview-frame .contest-v13-grid.mode-three{grid-template-columns:minmax(0,1fr) 13px minmax(0,1fr) 13px minmax(0,1fr)}.display-preview-frame .contest-big-card{gap:4px;padding:7px 4px;border-radius:12px}.display-preview-frame .contest-logo-stack{min-height:50px;gap:4px}.display-preview-frame .contest-team-badge .team-logo{height:clamp(28px,5vw,65px);width:clamp(28px,5vw,65px);font-size:17px;box-shadow:none}.display-preview-frame .contest-big-card h2{font-size:12px}.display-preview-frame .contest-big-card .competition-score{font-size:19px}.display-preview-frame .contest-big-card .soft{font-size:9px}.display-preview-frame .contest-team-badge strong{font-size:9px}.display-preview-frame .contest-big-card .budget-track{margin-top:1px}.display-preview-frame .contest-v13-grid .competition-vs{font-size:11px}.contest-choose-team{border:1px solid var(--border);padding:10px;border-radius:12px;display:grid;gap:6px;min-width:0}.contest-choose-team legend{padding:0 6px;color:#afc8dc;font-weight:800}.contest-choose-team .team-logo{width:32px;height:32px;border-radius:9px;font-size:13px}.contest-select-layout{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.stats-layout{display:flex;flex-direction:column;gap:18px}.comparison-selectors{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);gap:10px;align-items:stretch}.compare-chooser{border:1px solid #34516b;background:#15283d;border-radius:14px;padding:15px}.compare-controls{display:grid;gap:9px;margin-top:10px}.compare-vs{display:grid;place-items:center;font-size:20px;font-weight:900;color:#eac17a}.comparison-selectors .select{max-width:100%}.analysis-bars{display:grid;gap:18px;margin:18px 0}.analysis-bar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.analysis-bar-heading b{font-size:13px}.analysis-bar-heading span{font-size:19px;font-weight:900}.analysis-bar-track{height:17px;border-radius:9px;background:#273b52;margin:6px 0 3px;overflow:hidden}.analysis-bar-track>div{height:100%;border-radius:9px;min-width:2px}.analysis-bar-line>small{color:var(--muted)}.compact-data th,.compact-data td{padding:12px 10px}.insights{display:grid;gap:10px;margin-top:18px}.insights h3{font-size:20px;margin:0}.insight-box{background:#15342f;border:1px solid #30695a;border-radius:13px;padding:15px;line-height:1.5}.insight-box p{margin:7px 0 0}.dev-goal{border:1px solid var(--border);border-radius:13px;padding:15px;margin-top:12px}.dev-goal .split{gap:15px}.dev-goal .soft{margin-top:3px}.dev-goal-row{display:flex;justify-content:space-between;align-items:center;margin:14px 0 6px}.dev-goal-row small{color:var(--muted)}.dev-goal .actions{margin-top:12px}.goal-archived{opacity:.6}.inspector-head .avatar{width:58px;height:58px}.stats-bottom{display:grid;grid-template-columns:1fr}
@media(max-width:1200px){.performance-columns{grid-template-columns:1fr 1fr 1fr}.contest-team-badge .team-logo{width:100px;height:100px}.contest-v13-grid.mode-three .contest-team-badge .team-logo{width:80px;height:80px}}
@media(max-width:950px){.performance-columns{grid-template-columns:1fr}.comparison-selectors{grid-template-columns:1fr}.compare-vs{height:25px}.contest-logo-stack.double .team-logo{width:65px;height:65px}}
@media(max-width:660px){.contest-select-layout,.member-check-grid{grid-template-columns:1fr}.contest-big-card{padding:8px 4px;gap:6px}.contest-v13-grid,.contest-v13-grid.mode-three{gap:4px}.contest-team-badge .team-logo,.contest-v13-grid.mode-three .contest-team-badge .team-logo{width:43px;height:43px;font-size:17px}.contest-logo-stack{min-height:65px}.contest-big-card h2{font-size:12px}.contest-big-card .competition-score{font-size:18px}.contest-big-card .soft{font-size:9px}.contest-v13-grid .competition-vs{font-size:10px}.performance-panel .panel-title{flex-direction:column}.analysis-bar-heading span{font-size:15px}}

/* Show recent activity high on the dashboard without swallowing the first screen. */
.latest-activity .activity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 24px}
.latest-activity .activity-item{min-width:0;padding:9px 6px}
.latest-activity .activity-text{min-width:0}
.latest-activity{margin-bottom:18px}
@media(max-width:780px){.latest-activity .activity{grid-template-columns:1fr}}
.derived-goal-list{display:grid;gap:0}.derived-head,.derived-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;align-items:center;padding:10px 6px;border-bottom:1px solid var(--border)}.derived-head{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.derived-row b{font-size:13px}.derived-row span{font-weight:750;text-align:right}.seller-derived-panel{margin-top:16px;padding:18px}.goal-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.goal-mini{background:#172a3e;border:1px solid var(--border);border-radius:13px;padding:16px;display:grid;gap:8px}.goal-mini>span{color:#aed3e7;font-weight:800}.goal-mini strong{font-size:25px}.goal-mini strong span{font-size:14px;color:var(--muted)}.goal-mini small{color:var(--muted)}.goal-history{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 4px}.goal-history>span{background:#182c43;border:1px solid #34516d;padding:10px 13px;border-radius:11px;font-size:13px}.goal-history b{font-weight:950}.seller-derived-panel .panel-title{margin-bottom:9px}@media(max-width:850px){.goal-mini-grid{grid-template-columns:1fr}}

/* Säljpuls v1.4 — additions to existing v1.3 design */
.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 19px}.settings-company-head{display:flex;align-items:center;gap:22px;margin-bottom:23px;padding:18px;border:1px solid var(--edge);background:var(--card2);border-radius:16px}.company-large-logo{width:104px;height:104px;border-radius:22px;background:linear-gradient(135deg,#193f3d,#285273);border:1px solid #326568;display:flex;align-items:center;justify-content:center;font-size:42px;overflow:hidden;flex:none}.company-large-logo img{width:100%;height:100%;object-fit:cover}.settings-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:24px}.settings-summary>div{display:flex;flex-direction:column;gap:7px;padding:19px 15px;border:1px solid var(--edge);border-radius:13px;background:var(--card2)}.settings-summary small{color:var(--muted);font-size:12px}.settings-summary strong{font-size:20px}.settings-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-security-grid .notice{margin:0;display:flex;flex-direction:column;gap:11px}.settings-security-grid p{line-height:1.6;color:var(--muted)}.settings-security-grid .btn{align-self:flex-start}.admin-alert{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--card2);color:var(--text);padding:15px 13px;border:1px solid var(--edge);border-radius:12px;gap:14px;text-align:left;margin-bottom:8px}.admin-alert:hover{border-color:var(--green)}.activation-flow{display:grid;gap:11px;margin:0 0 18px}.activation-flow span{padding:13px 15px;border:1px solid var(--edge);border-radius:12px;background:var(--card2)}.seller-welcome{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;background:linear-gradient(115deg,#122c30,#152238 65%);border:1px solid #31565c;border-radius:20px;padding:21px 25px;margin-bottom:20px}.seller-welcome h2{font-size:26px;margin:0 0 5px}.seller-welcome .avatar{width:76px;height:76px;font-size:24px}.seller-welcome .demo-seller-switch{max-width:250px}.seller-progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.progress-tile{background:linear-gradient(135deg,#142237,#1a2d45);border:1px solid var(--edge);border-radius:19px;padding:24px 19px;min-width:0}.progress-tile strong{font-size:29px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:8px 0 5px}.progress-tile small{font-size:12px;color:var(--muted)}.progress-tile .budget-track{margin:13px 0 7px}.seller-paces{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}.seller-pace{flex:1;min-width:115px}.seller-pace strong,.seller-paces>div strong{font-size:26px;display:block;margin:5px 0}.seller-paces small{font-size:12px;color:var(--muted)}.seller-pace .budget-track{margin-top:9px}.sale-overlay-full{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;background:#07111e!important;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:9999!important}.sale-overlay-full .celebration-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}.celebration-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,8,17,.55),rgba(3,15,24,.3),rgba(1,8,17,.55))}.sale-overlay-full .sale-content{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:14px;width:min(90vw,1100px);padding:30px}.sale-overlay-full .sale-content h2{font-size:clamp(50px,8vw,148px);line-height:1.03;margin:0;letter-spacing:-.055em;text-shadow:0 6px 32px #000b}.sale-overlay-full .sale-content .eyebrow{font-size:clamp(14px,2.2vw,30px);letter-spacing:.18em}.sale-overlay-full .sale-content .celebration-avatar{width:clamp(120px,19vh,260px);height:clamp(120px,19vh,260px);font-size:clamp(40px,9vh,90px);box-shadow:0 0 0 9px #8ce9c162,0 20px 70px #0008}.celebration-tb{font-weight:950;color:#9cf7bc;font-size:clamp(38px,7vw,110px);line-height:1.2;text-shadow:0 8px 32px #000b}.sale-overlay-full .sale-content p.soft{font-size:16px;color:#def8e8}.champ-wrap{position:relative;isolation:isolate}.champ-wrap .king-crown{position:absolute!important;z-index:10;top:-45px!important;left:50%!important;transform:translateX(-50%) rotate(-7deg);font-size:60px!important;line-height:1;text-shadow:0 2px 15px #f5c36385;color:#ffd174}.podium-medal{position:absolute;right:-14px;bottom:-11px;font-size:33px;z-index:9;filter:drop-shadow(0 4px 6px #0009)}.display-person.gold .champ-wrap .king-crown{font-size:78px!important;top:-58px!important}.display-person .podium-medal{right:-16px;bottom:-13px;font-size:46px}.display-person .champ-wrap{margin-top:28px}.display-top3{overflow:visible!important}.display-podium{overflow:visible!important}.display-person .avatar{max-width:none}.display-person.gold{border-color:#bb9447}.display-person .display-position{margin-bottom:12px}@media(max-width:1200px){.seller-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){.seller-progress-grid,.settings-summary,.settings-security-grid{grid-template-columns:1fr}.seller-welcome{align-items:flex-start}.sale-overlay-full .sale-content{gap:11px}.settings-tabs{gap:5px}.settings-tabs .btn{padding:8px 10px;font-size:12px}.champ-wrap .king-crown{font-size:42px!important}.podium-medal{font-size:23px}}
/* The celebration is a true full-screen layer, not a modal card. */
.sale-overlay-full{background:linear-gradient(130deg,#07171e,#173c37,#0b162e)!important;animation:celebration-ambient 5s ease-in-out infinite alternate}
.sale-overlay-full .sale-content{max-width:none!important;width:100%!important;height:100%!important;padding:4vh 3vw!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;backdrop-filter:none!important;position:relative!important;transform:none!important}
@keyframes celebration-ambient{from{background-position:0 0;filter:hue-rotate(0deg)}to{background-position:100% 100%;filter:hue-rotate(6deg)}}
/* Keep the crown adjacent to the winner's portrait rather than on the rank label. */
.display-person.gold .champ-wrap .king-crown{top:-16px!important;left:calc(50% + 45px)!important;font-size:64px!important;transform:translateX(-50%) rotate(17deg)}
.podium-card.first .champ-wrap .king-crown{top:-16px!important;left:calc(50% + 35px)!important;font-size:48px!important;transform:translateX(-50%) rotate(17deg)}

/* SÄLJPULS AUTH v1.5: separat inloggningsgrind, originaldashboarden oförändrad. */
body:not(.authenticated){background:radial-gradient(circle at 50% 10%,#163a30 0,#0b1423 46%,#07111f 100%);}
#app[hidden]{display:none!important;}
#auth-root:has(.auth-card),#auth-root:has(.auth-loading){min-height:100vh;display:grid;place-items:center;padding:26px 15px;box-sizing:border-box;}
.auth-card{width:min(100%,456px);border:1px solid #34516b;border-radius:26px;background:#102136;color:#eff7ff;box-shadow:0 20px 80px #0005;padding:40px 37px;display:flex;flex-direction:column;gap:11px;}
.auth-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:#234c3a;color:#94fac4;font-size:28px;font-weight:900;margin-bottom:8px;}
.auth-eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#78e7b5;}
.auth-card h1{font-size:clamp(28px,3vw,37px);font-weight:900;margin:0 0 5px;line-height:1.12;}
.auth-subtitle{color:#afbed0;line-height:1.55;margin:0 0 14px;font-size:14px;}
.auth-card label{font-size:13px;font-weight:700;margin-top:7px;}
.auth-card input{border:1px solid #42617b;background:#091a2b;border-radius:11px;color:#fff;font-size:16px;padding:14px 15px;width:100%;outline:none;box-sizing:border-box;}
.auth-card input:focus{border-color:#77e7b6;box-shadow:0 0 0 3px #77e7b522;}
.auth-primary{background:#79e8ad;color:#07171d;font-size:16px;font-weight:850;border:0;border-radius:12px;min-height:48px;margin-top:12px;cursor:pointer;}
.auth-primary:disabled{opacity:.6;cursor:wait;}
.auth-feedback{border-radius:10px;padding:10px;background:#4a2630;color:#ffe1e6;margin:5px 0;font-size:13px;line-height:1.5;}
.auth-feedback[data-mode="note"]{background:#164435;color:#dbffee;}
.auth-small,.auth-boundary{color:#98aabf;font-size:12px;line-height:1.6;margin:10px 0 0;}
.auth-boundary{border-top:1px solid #375068;padding-top:17px;}
.auth-loading{color:#deffed;text-align:center;}
.auth-spinner{border:3px solid #264539;border-top-color:#7aebac;border-radius:50%;width:35px;height:35px;margin:auto;animation:auth-spin .9s linear infinite;}
@keyframes auth-spin{to{transform:rotate(360deg)}}
body.authenticated:not(.display-mode){padding-top:44px;}
#auth-toolbar{position:fixed;z-index:100005;top:0;left:0;right:0;min-height:44px;background:#06261e;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 18px;box-sizing:border-box;color:#d5f6e7;box-shadow:0 2px 12px #0005;font:12px/1.3 system-ui,sans-serif;}
.auth-toolbar-left,.auth-toolbar-right{display:flex;align-items:center;gap:12px;min-width:0;}
.auth-email{opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.auth-auth-dot{color:#7febb5;}
.auth-toolbar-button{background:#153c31;color:#e7fff3;border:1px solid #4c7767;border-radius:8px;padding:7px 10px;white-space:nowrap;cursor:pointer;font-size:12px;font-weight:650;}
.auth-toolbar-button:hover{background:#265545;}
.auth-logout{background:#263b45;}
body.display-mode #auth-toolbar{display:none;}
body.display-mode{padding-top:0!important;}
#live-register{position:fixed;inset:44px 0 0;background:#06111dec;color:#eff9ff;z-index:100000;overflow:auto;padding:44px 20px;box-sizing:border-box;}
.live-register-card{max-width:920px;margin:0 auto;padding:28px;border-radius:18px;background:#0e2032;border:1px solid #365368;}
.live-register-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.live-register-heading h2{font-size:26px;margin:0 0 8px;}
.live-register-heading p{font-size:14px;color:#a5b9ca;}
.live-register-notice{font-size:13px;background:#183e3b;color:#c5f5e4;border-radius:10px;padding:12px;margin:22px 0;}
.live-empty{padding:40px;background:#10283b;border:1px dashed #45617b;border-radius:14px;text-align:center;}
.live-register-table{width:100%;border-collapse:collapse;font-size:14px;}
.live-register-table th,.live-register-table td{padding:14px 12px;text-align:left;border-bottom:1px solid #2d465c;}
.live-register-table th{color:#9eb4c6;font-size:12px;}
body.auth-register-open{overflow:hidden;}
@media(max-width:640px){
 .auth-card{padding:28px 20px;}
 #auth-toolbar{flex-wrap:wrap;min-height:66px;padding:5px 9px;}
 body.authenticated:not(.display-mode){padding-top:67px;}
 .auth-toolbar-left{gap:5px;font-size:10px;}
 .auth-toolbar-button{font-size:10px;padding:5px 7px;}
 .auth-email{max-width:130px;}
 #live-register{top:67px;padding:12px;}
 .live-register-card{padding:15px;}
}

/* ---- Säljpuls v1.6: ägarens kundhantering ---- */
#sp-crm-root{position:fixed;inset:0;z-index:150;overflow-y:auto;background:#08111e;color:#f4f8ff;font-family:Inter,system-ui,sans-serif;padding:26px clamp(14px,3.5vw,55px) 65px}
.crm-layout{max-width:1550px;margin:auto}.crm-bar{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;margin:0 0 23px}.crm-bar h1{font-size:clamp(27px,3vw,42px);margin:4px 0}.crm-bar p,.crm-footnote{color:#92a7bd;font-size:13px}.crm-eyebrow{font-size:10px;letter-spacing:2px;font-weight:850;color:#7ee8b0}.crm-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.crm-button{border:1px solid #38516b;background:#193047;border-radius:10px;color:#e9f4ff;padding:11px 13px;font-size:12px;font-weight:800}.crm-button:hover{background:#264861}.crm-button.crm-primary{background:#76dda5;border-color:#93f7bd;color:#092719}.crm-button.crm-danger{color:#ffb8bf;border-color:#8f4f57;background:#422834}.crm-button:disabled{opacity:.5}.crm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.crm-stat,.crm-panel{background:#111f30;border:1px solid #294258;border-radius:18px}.crm-stat{padding:19px 22px}.crm-stat small,.crm-contact small{display:block;color:#8fa9bf;font-size:12px}.crm-stat strong{display:block;font-size:30px;margin-top:8px}.crm-split{display:grid;grid-template-columns:minmax(265px,.82fr) minmax(460px,1.7fr);gap:18px;align-items:start}.crm-panel{padding:23px;min-height:400px}.crm-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.crm-heading h2{margin:0;font-size:21px}.crm-heading span{color:#98afc4;font-size:12px}.crm-list{display:grid;gap:8px;max-height:70vh;overflow-y:auto}.crm-lead{text-align:left;width:100%;display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid #2a4259;background:#172b3d;color:#eef6ff;border-radius:11px;padding:14px}.crm-lead.is-active{border-color:#77dcac;background:#1b3c38}.crm-lead strong,.crm-lead small{display:block}.crm-lead small{font-size:11px;color:#9bb1c6;margin-top:4px}.crm-badge{display:inline-block;flex-shrink:0;font-size:10px;padding:6px 9px;border-radius:50px;border:1px solid #4c657a;color:#d3e6f7;background:#23364a}.crm-demo{color:#b8f6cd;background:#1b4a3a;border-color:#3e926f}.crm-signed,.crm-provisioned{color:#91ebba}.crm-contract{color:#ffce85;background:#493926}.crm-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.crm-contact strong{display:block;font-size:13px;overflow-wrap:anywhere;margin-top:4px}.crm-stage{padding:17px 20px;border:1px solid #314b62;border-radius:13px;background:#17293a;margin-top:12px}.crm-stage-title{display:flex;align-items:center;gap:10px}.crm-stage-title>span{color:#80e1b1;font-size:11px;font-weight:900}.crm-stage h3{margin:0;font-size:16px}.crm-stage p{font-size:13px;line-height:1.65;color:#b9cadd}.crm-stage small{color:#8faac2}.crm-help{font-size:11px!important;color:#95aabf!important}.crm-empty,.crm-placeholder{color:#a9bed0;font-size:14px;line-height:1.65}.crm-placeholder{text-align:center;padding:45px 20px}.crm-placeholder span{font-size:40px;color:#83e5ae}.crm-footnote{margin-top:20px}.crm-loading{margin:50px auto;max-width:700px;text-align:center;line-height:2}.crm-modal-backdrop{position:fixed;inset:0;background:#02070bd9;display:grid;place-items:center;z-index:200;padding:20px}.crm-modal{background:#142438;border:1px solid #435e76;border-radius:18px;padding:26px;width:min(590px,100%);max-height:92vh;overflow-y:auto}.crm-x{background:none;color:#c7d8e4;border:0;font-size:22px}.crm-form{display:grid;gap:10px}.crm-form label,.crm-form legend{font-weight:750;color:#c7d8e5;font-size:12px}.crm-form input:not([type=checkbox]),.crm-form select,.crm-form textarea{width:100%;border-radius:9px;border:1px solid #405a73;background:#0a1726;color:white;padding:12px;font-size:13px}.crm-form fieldset{border:1px solid #334e63;border-radius:10px;padding:13px}.crm-form .crm-check{display:flex;align-items:center;gap:9px;margin:8px 0;font-weight:500}.crm-check input{accent-color:#7be2a9}#crm-message{padding:12px 16px;background:#173b30;border:1px solid #4e9872;border-radius:11px;font-size:13px}#crm-message[data-type=error]{background:#40262d;border-color:#a15a66}
@media(max-width:900px){.crm-split{grid-template-columns:1fr}.crm-stats{grid-template-columns:repeat(2,1fr)}.crm-contact{grid-template-columns:1fr}.crm-list{max-height:320px}}

.crm-heading .crm-badge{max-width:max-content;flex:0 0 auto;align-self:center}.crm-lead>div{min-width:0;overflow-wrap:anywhere}.crm-lead .crm-badge{max-width:115px;white-space:normal;text-align:center}

/* SÄLJTAVLAN V1.7 — Faktureringsvy / tydligare varumärke */
.brand-logo img{width:31px;height:31px;object-fit:contain;display:block}
.brand-name{font-size:20px;letter-spacing:-1px}
.brand-sub{font-size:9px;letter-spacing:1.75px}
.auth-mark img{display:block;width:37px;height:37px;object-fit:contain}
.billing-form-section{padding:19px 0;border-bottom:1px solid #304356}
.billing-form-section:first-of-type{padding-top:0}
.billing-form-section:last-of-type{border-bottom:0}
.billing-form-section h3{font-size:13px;color:#a0f1c9;text-transform:uppercase;letter-spacing:1.4px;margin:0 0 18px}
.billing-field-full{grid-column:1/-1}
.billing-form-section .field small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:5px}
.billing-live-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0 9px}
.billing-live-summary>div{background:linear-gradient(140deg,#183348,#14293a);border:1px solid #35576b;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;min-width:0}
.billing-live-summary>div:nth-child(2){border-color:#4a9a7b;background:linear-gradient(140deg,#19443d,#152e37)}
.billing-live-summary small{font-size:11px;line-height:1.5;color:#9eb4ca}
.billing-live-summary strong{font-size:20px;color:#e6fff0;letter-spacing:-.6px;overflow-wrap:anywhere}
.modal:has(form[data-form="company"]){width:min(780px,96vw);max-height:min(92vh,1080px);overflow-y:auto}
.modal:has(form[data-form="invoice"]){width:min(690px,96vw);max-height:92vh;overflow-y:auto}
@media(max-width:660px){.billing-live-summary{grid-template-columns:1fr}.billing-form-section{padding:16px 0}}

.brand-tagline{font-size:10px;font-weight:650;color:#79e6a5;margin-top:4px;letter-spacing:.1px}
