/* ===== BKH Presentation - White & Gold Professional Theme v3 ===== */
/* Optimized for large TV screens + responsive down to mobile */

/* --- Fullscreen / Normal toggle --- */
#presModal.fullscreen .modal-dialog {
    width:100vw; max-width:100vw; height:100vh; margin:0;
    transition: all 0.45s cubic-bezier(0.4,0,0.2,1);
}
#presModal.fullscreen .modal-content { height:100vh; border-radius:0; border:none; }

#presModal:not(.fullscreen) .modal-dialog {
    max-width:95vw; height:auto; margin:1.75rem auto;
    transition: all 0.45s cubic-bezier(0.4,0,0.2,1);
}
#presModal:not(.fullscreen) .modal-content { height:90vh; border-radius:16px; }

#presModal .modal-content {
    background: #ffffff;
    overflow:hidden;
    box-shadow: 0 30px 100px rgba(0,0,0,0.18);
}

/* Close Button */
#presCloseBtn {
    position:absolute; top:14px; right:18px; z-index:100;
    background:rgba(0,0,0,0.05); border:1px solid rgba(0,0,0,0.08);
    color:rgba(0,0,0,0.45); width:34px; height:34px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    transition:all 0.3s; font-size:0.9rem; backdrop-filter:blur(10px);
}
#presCloseBtn:hover { background:#F5C518; color:#1a1a1a; border-color:transparent; transform:scale(1.1); }

/* --- Slide Container --- */
#presBody { width:100%; height:100%; position:relative; overflow:hidden; }

.pres-slide {
    position:absolute; inset:0; display:flex; flex-direction:column;
    align-items:center;
    padding:0 4vw 60px;
    opacity:0; transform:translateX(50px);
    transition: opacity 0.55s cubic-bezier(0.4,0,0.2,1), transform 0.55s cubic-bezier(0.4,0,0.2,1);
    pointer-events:none; overflow-y:auto; overflow-x:hidden;
    background:#ffffff; box-sizing:border-box;
}
.pres-slide > * { max-width:100%; min-width:0; box-sizing:border-box; }
/* Title & End slides stay centered */
.pres-slide.slide-title,
.pres-slide.slide-end {
    justify-content:center; padding-top:0;
}
/* Content slides: start from top below header */
.pres-slide.slide-summary,
.pres-slide.slide-chart,
.pres-slide.slide-table,
.pres-slide.slide-category {
    justify-content:flex-start; padding-top:0;
}

.pres-slide.active { opacity:1; transform:translateX(0); pointer-events:auto; }
.pres-slide.exit-left { opacity:0; transform:translateX(-50px); }
.pres-slide.exit-right { opacity:0; transform:translateX(50px); }

/* Background effects */
.pres-slide::before {
    content:''; position:absolute; inset:0; z-index:0; opacity:0.55;
}
.pres-slide::after {
    content:''; position:absolute; inset:0; z-index:0;
    background-image: linear-gradient(rgba(0,0,0,0.02) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(0,0,0,0.02) 1px, transparent 1px);
    background-size:60px 60px; opacity:0.35;
}
.pres-slide > * { position:relative; z-index:1; }

.slide-title::before { background: radial-gradient(ellipse at 25% 15%, rgba(245,197,24,0.08) 0%, transparent 55%), radial-gradient(ellipse at 80% 85%, rgba(245,197,24,0.05) 0%, transparent 50%); }
.slide-summary::before { background: radial-gradient(ellipse at 50% 0%, rgba(245,197,24,0.06) 0%, transparent 55%), radial-gradient(ellipse at 0% 100%, rgba(212,160,23,0.04) 0%, transparent 50%); }
.slide-chart::before { background: radial-gradient(ellipse at 65% 25%, rgba(245,197,24,0.05) 0%, transparent 50%), radial-gradient(ellipse at 15% 85%, rgba(0,0,0,0.02) 0%, transparent 50%); }
.slide-table::before { background: radial-gradient(ellipse at 20% 40%, rgba(245,197,24,0.05) 0%, transparent 50%); }
.slide-category::before { background: radial-gradient(ellipse at 55% 15%, rgba(245,197,24,0.06) 0%, transparent 50%), radial-gradient(ellipse at 20% 80%, rgba(0,0,0,0.015) 0%, transparent 50%); }
.slide-end::before { background: radial-gradient(ellipse at 50% 50%, rgba(245,197,24,0.1) 0%, transparent 55%), radial-gradient(ellipse at 75% 20%, rgba(212,160,23,0.06) 0%, transparent 50%); }

/* ─── Slide Top Bar (Logo + Group + Title) ─── */
.slide-top-bar {
    width:100%; display:flex; align-items:center; gap:clamp(10px,1.3vw,22px);
    padding:clamp(10px,1.2vh,20px) 0 clamp(8px,1vh,14px);
    border-bottom:2px solid #F5C518;
    margin-bottom:clamp(8px,1vh,18px);
    animation:fadeSlideUp 0.4s ease 0.05s both;
    flex-shrink:0;
}
.slide-top-bar-logo {
    width:clamp(36px,3.5vw,64px); height:clamp(36px,3.5vw,64px);
    object-fit:contain; flex-shrink:0;
    filter:drop-shadow(0 2px 6px rgba(0,0,0,0.08));
}
.slide-top-bar-info { flex:1; min-width:0; }
.slide-top-bar-title {
    font-size:clamp(1.4rem,2.8vw,3.2rem); font-weight:800; color:#1a1a1a;
    line-height:1.1; letter-spacing:-0.5px;
}
.slide-top-bar-title .accent {
    background:linear-gradient(135deg,#D4A017,#F5C518);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

/* --- Typography (standalone, for title/end slides) --- */
.slide-label {
    display:inline-flex; align-items:center; gap:6px;
    background:rgba(245,197,24,0.12); border:1px solid rgba(245,197,24,0.3);
    color:#92400e; padding:5px 14px; border-radius:20px;
    font-size:clamp(0.6rem,0.8vw,0.8rem); font-weight:700; text-transform:uppercase; letter-spacing:1.5px;
    margin-bottom:12px; animation:fadeSlideUp 0.4s ease 0.1s both;
}
.slide-heading {
    font-size:clamp(1.4rem,3vw,2.8rem); font-weight:800; color:#1a1a1a;
    text-align:center; line-height:1.15; margin-bottom:6px; letter-spacing:-0.5px;
    animation:fadeSlideUp 0.45s ease 0.15s both;
}
.slide-heading .accent {
    background:linear-gradient(135deg,#D4A017,#F5C518);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.slide-subheading {
    font-size:clamp(0.78rem,1.2vw,1.1rem); color:#6b7280;
    text-align:center; font-weight:400; margin-bottom:clamp(12px,1.5vh,24px);
    animation:fadeSlideUp 0.45s ease 0.25s both;
}

/* --- KPI Strip --- */
.kpi-strip {
    display:flex; gap:clamp(8px,0.8vw,16px); flex-wrap:wrap; justify-content:center;
    margin-bottom:clamp(12px,1.5vh,24px); animation:fadeSlideUp 0.45s ease 0.3s both;
    width:100%;
}
.kpi-item {
    background:#ffffff; border:1px solid rgba(0,0,0,0.06);
    border-left:3px solid #F5C518;
    border-radius:10px; padding:clamp(8px,1vh,16px) clamp(12px,1vw,24px); text-align:center;
    min-width:clamp(80px,8vw,160px); flex:1; max-width:clamp(140px,14vw,240px);
    box-shadow:0 2px 8px rgba(0,0,0,0.06);
    transition:all 0.3s;
}
.kpi-item:hover { box-shadow:0 4px 16px rgba(0,0,0,0.1); transform:translateY(-2px); }
.kpi-val { font-size:clamp(0.9rem,1.4vw,1.6rem); font-weight:800; color:#1a1a1a; line-height:1.2; }
.kpi-lbl { font-size:clamp(0.5rem,0.6vw,0.72rem); color:#6b7280; font-weight:600; text-transform:uppercase; letter-spacing:0.3px; margin-top:2px; }
.kpi-val.red { color:#dc2626; } .kpi-val.green { color:#059669; }
.kpi-val.blue { color:#2563eb; } .kpi-val.amber { color:#d97706; }
.kpi-val.purple { color:#7c3aed; } .kpi-val.cyan { color:#0891b2; }

/* --- Big Metric Cards (Executive) --- */
.metric-grid {
    display:grid; grid-template-columns:repeat(auto-fit, minmax(clamp(130px,12vw,220px), 1fr));
    gap:clamp(10px,1vw,20px); width:100%;
    animation:fadeSlideUp 0.5s ease 0.3s both;
}
.metric-card {
    background:#ffffff; border:1px solid rgba(0,0,0,0.06);
    border-radius:14px; padding:clamp(14px,1.5vh,28px) clamp(12px,1vw,24px); text-align:center;
    box-shadow:0 2px 10px rgba(0,0,0,0.05);
    transition:all 0.3s; animation:scaleIn 0.4s ease both;
}
.metric-card:nth-child(1){animation-delay:0.25s}.metric-card:nth-child(2){animation-delay:0.33s}
.metric-card:nth-child(3){animation-delay:0.41s}.metric-card:nth-child(4){animation-delay:0.49s}
.metric-card:nth-child(5){animation-delay:0.57s}.metric-card:nth-child(6){animation-delay:0.65s}
.metric-card:nth-child(7){animation-delay:0.73s}.metric-card:nth-child(8){animation-delay:0.81s}
.metric-card:hover { box-shadow:0 6px 24px rgba(0,0,0,0.1); transform:translateY(-3px); border-color:#F5C518; }
.metric-icon {
    width:clamp(36px,3.5vw,56px); height:clamp(36px,3.5vw,56px); border-radius:12px;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:clamp(1rem,1.3vw,1.5rem); margin-bottom:8px;
}
.metric-icon.red{background:rgba(220,38,38,0.1);color:#dc2626}
.metric-icon.green{background:rgba(5,150,105,0.1);color:#059669}
.metric-icon.blue{background:rgba(37,99,235,0.1);color:#2563eb}
.metric-icon.amber{background:rgba(245,197,24,0.15);color:#d97706}
.metric-icon.purple{background:rgba(124,58,237,0.1);color:#7c3aed}
.metric-icon.cyan{background:rgba(8,145,178,0.1);color:#0891b2}
.metric-value { font-size:clamp(1rem,1.8vw,2rem); font-weight:800; color:#1a1a1a; line-height:1.1; margin-bottom:3px; }
.metric-label { font-size:clamp(0.55rem,0.65vw,0.78rem); color:#6b7280; font-weight:600; text-transform:uppercase; letter-spacing:0.4px; }

/* --- CSS Conic Donut --- */
.donut-ring-grid {
    display:flex; flex-wrap:wrap; gap:clamp(10px,1vw,18px); justify-content:center;
    width:100%; animation:fadeSlideUp 0.5s ease 0.3s both;
}
.donut-ring-item {
    background:#ffffff; border:1px solid rgba(0,0,0,0.06);
    border-radius:12px; padding:clamp(10px,1vh,18px); text-align:center;
    width:clamp(100px,9vw,150px);
    box-shadow:0 2px 8px rgba(0,0,0,0.04);
    animation:scaleIn 0.35s ease both;
}
.donut-ring {
    width:clamp(52px,5vw,84px); height:clamp(52px,5vw,84px); border-radius:50%; margin:0 auto 8px;
    background:conic-gradient(var(--ring-color) var(--ring-pct), rgba(0,0,0,0.06) var(--ring-pct));
    display:flex; align-items:center; justify-content:center;
    position:relative;
}
.donut-ring::after {
    content:''; position:absolute;
    width:clamp(38px,3.8vw,64px); height:clamp(38px,3.8vw,64px); border-radius:50%;
    background:#ffffff;
}
.donut-ring .ring-pct {
    position:relative; z-index:1; font-size:clamp(0.6rem,0.75vw,0.9rem); font-weight:800; color:#1a1a1a;
}
.donut-ring-label { font-size:clamp(0.55rem,0.65vw,0.78rem); color:#374151; font-weight:600; line-height:1.2; }
.donut-ring-value { font-size:clamp(0.52rem,0.6vw,0.72rem); color:#9ca3af; margin-top:1px; font-variant-numeric:tabular-nums; }

/* --- Bar Chart --- */
.chart-container { width:100%; animation:fadeSlideUp 0.45s ease 0.3s both; }
.chart-bar-row {
    display:flex; align-items:center; gap:clamp(6px,0.6vw,14px); margin-bottom:clamp(3px,0.4vh,6px);
    animation:fadeSlideRight 0.35s ease both;
}
.chart-bar-row:nth-child(1){animation-delay:0.3s}.chart-bar-row:nth-child(2){animation-delay:0.34s}
.chart-bar-row:nth-child(3){animation-delay:0.38s}.chart-bar-row:nth-child(4){animation-delay:0.42s}
.chart-bar-row:nth-child(5){animation-delay:0.46s}.chart-bar-row:nth-child(6){animation-delay:0.5s}
.chart-bar-row:nth-child(7){animation-delay:0.54s}.chart-bar-row:nth-child(8){animation-delay:0.58s}
.chart-bar-row:nth-child(9){animation-delay:0.62s}.chart-bar-row:nth-child(10){animation-delay:0.66s}
.chart-bar-row:nth-child(11){animation-delay:0.7s}.chart-bar-row:nth-child(12){animation-delay:0.74s}
.chart-bar-row:nth-child(13){animation-delay:0.78s}.chart-bar-row:nth-child(14){animation-delay:0.82s}
.chart-bar-row:nth-child(15){animation-delay:0.86s}

.chart-label {
    flex:0 0 clamp(90px,10vw,180px); text-align:right;
    font-size:clamp(0.65rem,0.8vw,1rem); font-weight:600;
    color:#374151; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.chart-bar-track {
    flex:1; height:clamp(22px,2.5vh,36px); background:rgba(0,0,0,0.04);
    border-radius:6px; overflow:hidden; position:relative;
}
.chart-bar-fill {
    height:100%; border-radius:6px; display:flex; align-items:center;
    justify-content:flex-end; padding-right:clamp(6px,0.5vw,12px);
    font-size:clamp(0.58rem,0.7vw,0.88rem); font-weight:700; color:#fff; min-width:40px;
    transition:width 1.1s cubic-bezier(0.25,0.46,0.45,0.94); width:0;
}
.pres-slide.active .chart-bar-fill { width:var(--bar-width); }
.chart-pct-badge {
    flex:0 0 clamp(36px,4vw,60px); text-align:right;
    font-size:clamp(0.55rem,0.65vw,0.78rem); font-weight:700;
    color:#6b7280; font-variant-numeric:tabular-nums;
}

/* Bar color gradients */
.bar-yellow{background:linear-gradient(90deg,#F5C518,#FCD34D)}
.bar-red{background:linear-gradient(90deg,#dc2626,#f87171)}
.bar-blue{background:linear-gradient(90deg,#2563eb,#60a5fa)}
.bar-green{background:linear-gradient(90deg,#059669,#34d399)}
.bar-amber{background:linear-gradient(90deg,#d97706,#fbbf24)}
.bar-purple{background:linear-gradient(90deg,#7c3aed,#a78bfa)}
.bar-pink{background:linear-gradient(90deg,#db2777,#f472b6)}

/* --- Table with inline bars --- */
.slide-table-wrap {
    width:100%; border-radius:10px; overflow:hidden;
    border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 2px 10px rgba(0,0,0,0.04);
    animation:fadeSlideUp 0.45s ease 0.3s both;
}
.slide-table { width:100%; border-collapse:collapse; font-size:clamp(0.7rem,0.85vw,1rem); }
.slide-table thead th {
    background:#F5C518; color:#1a1a1a;
    font-weight:700; padding:clamp(6px,0.8vh,12px) clamp(8px,0.8vw,16px); text-transform:uppercase;
    letter-spacing:0.4px; font-size:clamp(0.55rem,0.65vw,0.78rem);
    border-bottom:2px solid #D4A017; text-align:left;
}
.slide-table thead th.text-end { text-align:right; }
.slide-table tbody td {
    padding:clamp(4px,0.6vh,10px) clamp(8px,0.8vw,16px); color:#374151;
    border-bottom:1px solid rgba(0,0,0,0.04);
    font-variant-numeric:tabular-nums;
}
.slide-table tbody td.text-end { text-align:right; }
.slide-table tbody td.fw-bold { font-weight:700; color:#1a1a1a; }
.slide-table tbody tr { animation:fadeSlideUp 0.25s ease both; }
.slide-table tbody tr:nth-child(n){ animation-delay:calc(0.3s + var(--row-i,0)*0.03s); }
.slide-table tbody tr:nth-child(even) { background:rgba(245,197,24,0.06); }
.slide-table tbody tr:hover { background:rgba(245,197,24,0.14); }
.slide-table tfoot td {
    padding:clamp(6px,0.8vh,12px) clamp(8px,0.8vw,16px); font-weight:800; color:#1a1a1a;
    background:rgba(245,197,24,0.18); border-top:2px solid #F5C518;
}

/* Inline bar inside table cell */
.inline-bar-track { width:100%; height:clamp(5px,0.6vh,8px); background:rgba(0,0,0,0.06); border-radius:3px; margin-top:3px; }
.inline-bar-fill { height:100%; border-radius:3px; transition:width 0.8s ease; width:0; }
.pres-slide.active .inline-bar-fill { width:var(--ib-w); }

/* Rank badges */
.rank-badge {
    display:inline-flex; align-items:center; justify-content:center;
    width:clamp(20px,2vw,30px); height:clamp(20px,2vw,30px); border-radius:50%;
    font-size:clamp(0.5rem,0.6vw,0.72rem); font-weight:800; flex-shrink:0;
}
.rank-1{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a1a}
.rank-2{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#1a1a1a}
.rank-3{background:linear-gradient(135deg,#cd7c32,#b8621b);color:#fff}
.rank-default{background:rgba(0,0,0,0.06);color:#6b7280}

/* --- Layouts --- */
.slide-two-col {
    display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2vw,32px);
    width:100%;
    animation:fadeSlideUp 0.45s ease 0.3s both;
}
.slide-three-col {
    display:grid; grid-template-columns:1fr 1fr 1fr; gap:clamp(12px,1.5vw,24px);
    width:100%;
    animation:fadeSlideUp 0.45s ease 0.3s both;
}
.slide-col { min-width:0; }
.slide-col-header {
    font-size:clamp(0.6rem,0.75vw,0.9rem); font-weight:700; color:#6b7280;
    text-transform:uppercase; letter-spacing:0.4px; margin-bottom:clamp(8px,1vh,14px);
    padding-bottom:6px; border-bottom:2px solid #F5C518;
    display:flex; align-items:center; gap:6px;
}
.slide-col-header i { font-size:clamp(0.7rem,0.85vw,1rem); color:#D4A017; }

/* --- Budget Comparison --- */
.comp-grid {
    display:grid; grid-template-columns:repeat(auto-fill, minmax(clamp(160px,14vw,260px), 1fr));
    gap:clamp(8px,0.8vw,14px); width:100%;
    animation:fadeSlideUp 0.45s ease 0.3s both;
}
.comp-card {
    background:#ffffff; border:1px solid rgba(0,0,0,0.06);
    border-radius:10px; padding:clamp(10px,1vh,18px);
    box-shadow:0 2px 8px rgba(0,0,0,0.04);
    animation:scaleIn 0.35s ease both;
}
.comp-branch { font-size:clamp(0.65rem,0.8vw,0.95rem); font-weight:700; color:#1a1a1a; margin-bottom:6px; }
.comp-bar-track { height:clamp(5px,0.6vh,8px); background:rgba(0,0,0,0.06); border-radius:3px; overflow:hidden; margin-bottom:5px; }
.comp-bar-actual { height:100%; border-radius:3px; transition:width 0.9s ease; width:0; }
.pres-slide.active .comp-bar-actual { width:var(--comp-width); }
.comp-over{background:linear-gradient(90deg,#059669,#34d399)}
.comp-under{background:linear-gradient(90deg,#d97706,#fbbf24)}
.comp-way-under{background:linear-gradient(90deg,#dc2626,#f87171)}
.comp-vals { display:flex; justify-content:space-between; font-size:clamp(0.55rem,0.65vw,0.78rem); }
.comp-vals span { color:#6b7280; }
.comp-pct { font-weight:800 !important; }
.pct-over{color:#059669!important} .pct-under{color:#d97706!important} .pct-way-under{color:#dc2626!important}

/* --- Achievement Ring (big) --- */
.achievement-ring {
    width:clamp(110px,12vw,180px); height:clamp(110px,12vw,180px); border-radius:50%; margin:0 auto 12px;
    background:conic-gradient(var(--ach-color) var(--ach-pct), rgba(0,0,0,0.06) var(--ach-pct));
    display:flex; align-items:center; justify-content:center;
    position:relative; animation:scaleIn 0.5s ease 0.3s both;
    box-shadow:0 4px 20px rgba(0,0,0,0.08);
}
.achievement-ring::after {
    content:''; position:absolute;
    width:clamp(85px,9.5vw,140px); height:clamp(85px,9.5vw,140px); border-radius:50%; background:#ffffff;
}
.achievement-ring .ach-inner {
    position:relative; z-index:1; text-align:center;
}
.achievement-ring .ach-pct { font-size:clamp(1.2rem,2vw,2rem); font-weight:800; }
.achievement-ring .ach-lbl { font-size:clamp(0.5rem,0.6vw,0.72rem); color:#6b7280; text-transform:uppercase; letter-spacing:0.5px; }

/* --- Navigation --- */
.pres-nav {
    position:absolute; bottom:0; left:0; right:0; height:clamp(44px,5vh,60px);
    display:flex; align-items:center; justify-content:space-between;
    padding:0 clamp(16px,2vw,32px);
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(12px);
    border-top:1px solid rgba(0,0,0,0.06);
    z-index:50;
}
.pres-nav-dots { display:flex; gap:3px; align-items:center; }
.pres-dot {
    width:clamp(4px,0.4vw,7px); height:clamp(4px,0.4vw,7px); border-radius:4px;
    background:rgba(0,0,0,0.15); transition:all 0.3s; cursor:pointer;
}
.pres-dot.active { width:clamp(16px,1.5vw,28px); background:#F5C518; }
.pres-dot:hover:not(.active) { background:rgba(0,0,0,0.3); }
.pres-page-info { font-size:clamp(0.6rem,0.7vw,0.85rem); color:#9ca3af; font-weight:600; font-variant-numeric:tabular-nums; }
.pres-nav-btns { display:flex; gap:6px; }
.pres-nav-btn {
    width:clamp(28px,3vw,40px); height:clamp(28px,3vw,40px); border-radius:50%;
    border:1px solid rgba(0,0,0,0.1); background:rgba(0,0,0,0.03);
    color:rgba(0,0,0,0.45); display:flex; align-items:center; justify-content:center;
    cursor:pointer; transition:all 0.3s; font-size:clamp(0.7rem,0.85vw,1rem);
}
.pres-nav-btn:hover { background:#F5C518; color:#1a1a1a; border-color:#F5C518; }
.pres-nav-btn:disabled { opacity:0.2; cursor:not-allowed; }

/* --- Title Slide (Dark Grunge Design) --- */
.pres-slide.slide-title {
    background:#1a1a1a !important;
    padding:0 0 clamp(44px,5vh,60px) 0 !important; /* bottom = nav bar height */
    justify-content:stretch !important;
    align-items:stretch !important;
}
.pres-slide.slide-title::before {
    background:
        radial-gradient(ellipse at 30% 20%, rgba(60,60,60,0.5) 0%, transparent 60%),
        radial-gradient(ellipse at 70% 80%, rgba(40,40,40,0.4) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 50%, rgba(80,80,80,0.15) 0%, transparent 70%) !important;
    opacity:1 !important;
}
.pres-slide.slide-title::after {
    background-image:
        url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E") !important;
    background-size:200px 200px !important;
    opacity:0.6 !important;
}

.title-slide-inner {
    position:relative; z-index:1;
    width:100%; height:100%;
    display:flex; flex-direction:column;
}

/* Dark main area with centered text */
.title-dark-area {
    flex:1;
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    padding:clamp(20px,4vh,60px) clamp(20px,4vw,80px);
    position:relative;
}

.title-heading {
    font-size:clamp(2.2rem,4.5vw,4.5rem);
    font-weight:900;
    color:#ffffff;
    text-align:center;
    line-height:1.25;
    letter-spacing:1px;
    text-shadow:0 2px 12px rgba(0,0,0,0.4);
    animation:fadeSlideUp 0.5s ease 0.15s both;
    font-family:'Impact','Arial Black','Segoe UI',sans-serif;
}

.title-subtitle {
    font-size:clamp(1.3rem,2.5vw,2.5rem);
    font-weight:800;
    color:#ffffff;
    text-align:center;
    margin-top:clamp(30px,5vh,70px);
    letter-spacing:0.5px;
    text-shadow:0 2px 8px rgba(0,0,0,0.3);
    animation:fadeSlideUp 0.5s ease 0.3s both;
    font-family:'Impact','Arial Black','Segoe UI',sans-serif;
}

/* Diagonal stripe + yellow footer */
.title-footer-area {
    position:relative;
    flex-shrink:0;
    height:clamp(80px,13vh,140px);
}

.title-diagonal {
    position:absolute;
    top:0;
    left:0; right:0;
    height:clamp(24px,3.5vh,44px);
    background:#ffffff;
    transform:skewY(-2deg);
    transform-origin:top right;
    z-index:2;
}

.title-yellow-bar {
    position:absolute;
    top:clamp(16px,2.5vh,36px);
    bottom:0; left:0; right:0;
    background:#F5C518;
    display:flex;
    align-items:center;
    padding:0 clamp(16px,2.5vw,40px);
    z-index:3;
}

.title-footer-logo {
    width:clamp(50px,5.5vw,80px);
    height:clamp(50px,5.5vw,80px);
    object-fit:contain;
    border-radius:50%;
    filter:drop-shadow(0 2px 6px rgba(0,0,0,0.2));
    animation:scaleIn 0.45s ease 0.4s both;
}

/* Legacy classes kept for compatibility */
.title-logo { display:none; }
.title-month { display:none; }
.title-divider { display:none; }
.title-company { display:none; }

/* --- Agenda Slide --- */
.pres-slide.slide-agenda {
    background:#ffffff !important;
    justify-content:flex-start !important;
    overflow:hidden !important;
}

/* ── Grid ── */
.agenda-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(1px,0.15vh,3px) clamp(24px,3vw,56px);
    width:100%;
    flex:1;
    align-content:start;
    animation:fadeSlideUp 0.4s ease 0.12s both;
}

/* ── Item ── */
.agenda-item {
    display:flex;
    align-items:center;
    gap:clamp(10px,1vw,18px);
    padding:clamp(6px,0.6vh,11px) clamp(6px,0.6vw,12px);
    cursor:pointer;
    transition:all 0.2s ease;
    border-left:3px solid transparent;
    border-radius:0 6px 6px 0;
    animation:fadeSlideUp 0.25s ease both;
}
.agenda-item:hover {
    border-left-color:#F5C518;
    background:linear-gradient(90deg, rgba(245,197,24,0.06) 0%, transparent 100%);
    transform:translateX(4px);
}

/* ── Number circle ── */
.agenda-num {
    width:clamp(24px,2.2vw,34px);
    height:clamp(24px,2.2vw,34px);
    border-radius:50%;
    border:2px solid #e0e0e0;
    color:#bbb;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.55rem,0.7vw,0.82rem);
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    font-variant-numeric:tabular-nums;
    transition:all 0.2s ease;
}
.agenda-item:hover .agenda-num {
    border-color:#F5C518;
    background:#F5C518;
    color:#1a1a1a;
}

/* ── Text ── */
.agenda-text {
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.6rem,0.8vw,0.95rem);
    font-weight:500;
    color:#555;
    line-height:1.35;
    transition:color 0.2s ease;
}
.agenda-item:hover .agenda-text {
    color:#1a1a1a;
}

/* Responsive */
@media(max-width:900px){
    .agenda-grid{grid-template-columns:1fr;gap:1px}
    .agenda-item{padding:5px 8px;gap:8px}
    .agenda-num{width:22px;height:22px;font-size:0.55rem}
    .agenda-text{font-size:0.6rem}
}

/* --- Cannibalization Slide --- */
.can-subtitle {
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.9rem,1.2vw,1.4rem);
    font-weight:600;
    color:#d97706;
    font-style:italic;
    margin-bottom:clamp(8px,1vh,16px);
    animation:fadeSlideUp 0.3s ease 0.15s both;
}
.can-controls {
    display:flex;
    align-items:center;
    gap:clamp(10px,1.2vw,20px);
    margin-bottom:clamp(8px,1vh,16px);
    animation:fadeSlideUp 0.3s ease 0.2s both;
    flex-wrap:wrap;
}
.can-label {
    font-size:clamp(0.8rem,0.95vw,1.1rem);
    font-weight:700;
    color:#1a1a1a;
    white-space:nowrap;
}
.can-checks {
    display:flex;
    flex-wrap:wrap;
    gap:clamp(5px,0.5vw,10px) clamp(10px,1vw,18px);
}
.can-chk {
    display:flex;
    align-items:center;
    gap:6px;
    font-size:clamp(0.72rem,0.85vw,1rem);
    color:#374151;
    cursor:pointer;
    padding:4px 12px;
    border-radius:14px;
    border:1px solid #e5e7eb;
    transition:all 0.15s ease;
    white-space:nowrap;
}
.can-chk:hover { border-color:#F5C518; background:rgba(245,197,24,0.06); }
.can-chk:has(input:checked) { border-color:#F5C518; background:rgba(245,197,24,0.12); color:#1a1a1a; font-weight:600; }
.can-chk input { width:16px; height:16px; accent-color:#F5C518; margin:0; }

.can-body {
    flex:1;
    display:flex;
    flex-direction:column;
    gap:clamp(10px,1.2vh,20px);
    min-height:0;
    animation:fadeSlideUp 0.4s ease 0.25s both;
}

/* Cannibalization table */
.can-table {
    width:100%;
    border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.85rem,1vw,1.15rem);
}
.can-table thead th {
    background:#F5C518;
    color:#1a1a1a;
    font-weight:700;
    padding:clamp(8px,1vh,14px) clamp(14px,1.4vw,24px);
    font-size:clamp(0.78rem,0.92vw,1.08rem);
    border-bottom:2px solid #d4a017;
}
.can-table thead th.text-end { text-align:right; }
.can-table tbody td {
    padding:clamp(7px,0.8vh,12px) clamp(14px,1.4vw,24px);
    border-bottom:1px solid rgba(0,0,0,0.05);
    font-variant-numeric:tabular-nums;
}
.can-table tbody td.text-end { text-align:right; }
.can-tbl-name {
    font-weight:600;
    color:#1a1a1a;
    display:flex;
    align-items:center;
    gap:10px;
}
.can-dot {
    width:14px; height:14px;
    border-radius:50%;
    flex-shrink:0;
}
.can-avg-row { background:rgba(124,58,237,0.06); }
.can-avg-row td { font-weight:700; font-style:italic; }
.can-table tbody tr:hover:not(.can-avg-row) { background:rgba(245,197,24,0.06); }

/* SVG chart */
.can-svg {
    width:100%;
    height:auto;
    max-height:clamp(240px,34vh,480px);
}

/* Legend */
#can-legend {
    display:flex;
    justify-content:center;
    gap:clamp(16px,2vw,32px);
    flex-wrap:wrap;
    animation:fadeSlideUp 0.4s ease 0.4s both;
}
.can-leg-item {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:clamp(0.72rem,0.85vw,1rem);
    color:#6b7280;
}
.can-leg-line {
    width:24px; height:4px;
    border-radius:2px;
    flex-shrink:0;
}

/* Responsive */
@media(max-width:768px){
    .can-controls{flex-direction:column;align-items:flex-start}
    .can-table{font-size:0.72rem}
    .can-svg{max-height:180px}
}

/* --- Foodora & Wolt salg (Delivery Platform Breakdown) --- */
.ds-table-wrap {
    width:100%;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 2px 12px rgba(0,0,0,0.08);
    animation:fadeSlideUp 0.4s ease 0.15s both;
}
.ds-table {
    width:100%;
    border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.75rem,0.9vw,1.05rem);
}
.ds-table thead .ds-header-top th {
    background:#1a1a1a;
    color:#fff;
    font-weight:700;
    padding:clamp(6px,0.7vh,12px) clamp(8px,0.8vw,16px);
    text-align:center;
    border-right:1px solid rgba(255,255,255,0.15);
    font-size:clamp(0.75rem,0.9vw,1.1rem);
}
.ds-table thead .ds-header-top th.ds-col-branch {
    text-align:left;
    min-width:clamp(100px,12vw,180px);
}
.ds-table thead .ds-header-top th.ds-total-group {
    background:#F5C518;
    color:#1a1a1a;
}
.ds-table thead .ds-header-sub th {
    background:#333;
    color:#e5e7eb;
    font-weight:600;
    padding:clamp(4px,0.5vh,8px) clamp(8px,0.8vw,16px);
    font-size:clamp(0.68rem,0.82vw,0.95rem);
    border-right:1px solid rgba(255,255,255,0.1);
}
.ds-table thead .ds-header-sub th.ds-totalt-col {
    background:#d4a017;
    color:#1a1a1a;
    font-weight:700;
}
.ds-table tbody .ds-row {
    animation:fadeSlideUp 0.3s ease both;
}
.ds-table tbody .ds-row:nth-child(even) {
    background:rgba(0,0,0,0.02);
}
.ds-table tbody .ds-row:hover {
    background:rgba(245,197,24,0.06);
}
.ds-table tbody td {
    padding:clamp(4px,0.5vh,8px) clamp(8px,0.8vw,16px);
    border-bottom:1px solid rgba(0,0,0,0.05);
    font-variant-numeric:tabular-nums;
    border-right:1px solid rgba(0,0,0,0.03);
}
.ds-table tbody td.ds-totalt-col {
    background:rgba(245,197,24,0.08);
    font-weight:700;
}
.ds-branch-name {
    font-weight:600;
    color:#1a1a1a;
    white-space:nowrap;
}
.ds-total-row {
    background:#F5C518 !important;
}
.ds-total-row td {
    font-weight:700 !important;
    color:#1a1a1a !important;
    padding:clamp(6px,0.7vh,12px) clamp(8px,0.8vw,16px) !important;
    border-bottom:2px solid #d4a017 !important;
}
.ds-pct-row {
    background:#1a1a1a !important;
}
.ds-pct-row td {
    font-weight:700 !important;
    color:#F5C518 !important;
    padding:clamp(6px,0.7vh,12px) clamp(8px,0.8vw,16px) !important;
}
.ds-pct-row .ds-branch-name {
    color:#F5C518 !important;
}
@media(max-width:768px){
    .ds-table{font-size:0.58rem}
    .ds-table thead .ds-header-top th{font-size:0.6rem;padding:4px 6px}
    .ds-table thead .ds-header-sub th{font-size:0.5rem;padding:3px 6px}
    .ds-table tbody td{padding:3px 6px}
}

/* --- Salgsfordeling (Sales Distribution by Channel) --- */
.sf-table-wrap {
    width:100%;
    border-radius:10px;
    overflow:auto;
    box-shadow:0 2px 12px rgba(0,0,0,0.08);
    animation:fadeSlideUp 0.4s ease 0.15s both;
    flex:1;
    min-height:0;
}
.sf-table {
    width:100%;
    border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.72rem,0.88vw,1rem);
    white-space:nowrap;
}
.sf-table thead .sf-header-top th {
    background:#1a1a1a;
    color:#fff;
    font-weight:700;
    padding:clamp(5px,0.6vh,10px) clamp(6px,0.6vw,12px);
    text-align:center;
    border-right:1px solid rgba(255,255,255,0.15);
    font-size:clamp(0.72rem,0.88vw,1.05rem);
}
.sf-table thead .sf-header-top th.sf-col-branch {
    text-align:left;
    min-width:clamp(70px,8vw,140px);
}
.sf-table thead .sf-header-top th.sf-total-group {
    background:#F5C518;
    color:#1a1a1a;
}
.sf-table thead .sf-header-top th.sf-prev-group {
    background:#6b7280;
    color:#fff;
}
.sf-table thead .sf-header-sub th {
    background:#333;
    color:#e5e7eb;
    font-weight:600;
    padding:clamp(3px,0.4vh,7px) clamp(6px,0.6vw,12px);
    font-size:clamp(0.65rem,0.8vw,0.92rem);
    border-right:1px solid rgba(255,255,255,0.1);
}
.sf-table tbody .sf-row {
    animation:fadeSlideUp 0.3s ease both;
}
.sf-table tbody .sf-row:nth-child(even) {
    background:rgba(0,0,0,0.02);
}
.sf-table tbody .sf-row:hover {
    background:rgba(245,197,24,0.06);
}
.sf-table tbody td {
    padding:clamp(3px,0.4vh,7px) clamp(6px,0.6vw,12px);
    border-bottom:1px solid rgba(0,0,0,0.05);
    font-variant-numeric:tabular-nums;
    border-right:1px solid rgba(0,0,0,0.03);
    color:#374151;
}
.sf-table tbody td.text-end { text-align:right; }
.sf-table tbody td.text-center { text-align:center; }
.sf-table tbody td.sf-totalt-col {
    background:rgba(245,197,24,0.08);
    font-weight:700;
}
.sf-branch-name {
    font-weight:600;
    color:#1a1a1a;
    white-space:nowrap;
}
.sf-total-row {
    background:#F5C518 !important;
}
.sf-total-row td {
    font-weight:700 !important;
    color:#1a1a1a !important;
    border-bottom:2px solid #d4a017 !important;
    padding:clamp(5px,0.6vh,10px) clamp(6px,0.6vw,12px) !important;
}
.sf-pct-row {
    background:#1a1a1a !important;
}
.sf-pct-row td {
    font-weight:700 !important;
    color:#F5C518 !important;
    padding:clamp(5px,0.6vh,10px) clamp(6px,0.6vw,12px) !important;
}
.sf-pct-row .sf-branch-name {
    color:#F5C518 !important;
}

/* Percentage-only table variant */
.sf-pct-table thead th {
    background:#1a1a1a;
    color:#fff;
    font-weight:700;
    padding:clamp(6px,0.7vh,12px) clamp(8px,0.8vw,16px);
    font-size:clamp(0.6rem,0.72vw,0.9rem);
    border-bottom:3px solid #F5C518;
}
.sf-pct-table thead th.sf-col-branch { text-align:left; min-width:clamp(80px,10vw,160px); }
.sf-pct-table thead th.text-center { text-align:center; }
.sf-pct-table .sf-row td { font-size:clamp(0.72rem,0.88vw,1rem); }
.sf-heat-cell { transition:background 0.3s; }

/* Alle kanaler table variant (8 percentage columns) */
.sf-alle-table { font-size:clamp(0.65rem,0.78vw,0.9rem); }
.sf-alle-table thead .sf-header-top th {
    background:#1a1a1a; color:#fff; font-weight:700;
    padding:clamp(5px,0.5vh,8px) clamp(4px,0.4vw,8px);
    font-size:clamp(0.65rem,0.78vw,0.9rem);
    border-bottom:none;
}
.sf-alle-table thead .sf-header-sub th {
    background:#333; color:#e5e7eb; font-weight:600;
    padding:clamp(3px,0.35vh,6px) clamp(4px,0.4vw,8px);
    font-size:clamp(0.58rem,0.7vw,0.82rem);
    border-bottom:2px solid #F5C518;
}
.sf-alle-table .sf-row td { font-size:clamp(0.65rem,0.78vw,0.9rem); }
.sf-prev-row {
    background:#6b7280 !important;
}
.sf-prev-row td {
    font-weight:700 !important;
    color:#fff !important;
    padding:clamp(5px,0.6vh,10px) clamp(6px,0.6vw,12px) !important;
}
.sf-prev-row .sf-branch-name {
    color:#fff !important;
}

@media(max-width:768px){
    .sf-table{font-size:0.5rem}
    .sf-table thead .sf-header-top th{font-size:0.5rem;padding:3px 4px}
    .sf-table thead .sf-header-sub th{font-size:0.42rem;padding:2px 4px}
    .sf-table tbody td{padding:2px 4px}
    .sf-pct-table .sf-row td{font-size:0.55rem}
    .sf-alle-table{font-size:0.42rem}
    .sf-alle-table thead .sf-header-top th{font-size:0.42rem;padding:2px 3px}
    .sf-alle-table thead .sf-header-sub th{font-size:0.38rem;padding:2px 3px}
    .sf-alle-table .sf-row td{font-size:0.42rem;padding:2px 3px}
}

/* --- Sammenligning BKH Norge table (.sn-*) --- */
.sn-table-wrap {
    width:100%; border-radius:10px; overflow:auto;
    border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 2px 10px rgba(0,0,0,0.04);
    animation:fadeSlideUp 0.45s ease 0.2s both;
    flex:1; min-height:0;
}
.sn-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.68rem,0.82vw,0.95rem);
    white-space:nowrap;
}
.sn-table thead .sn-hdr1 th {
    background:#1a1a1a; color:#F5C518;
    font-size:clamp(0.65rem,0.78vw,0.9rem);
    font-weight:700; padding:6px 6px; text-align:center;
    border-right:1px solid rgba(255,255,255,0.12);
    letter-spacing:0.02em;
}
.sn-table thead .sn-hdr2 th {
    background:#2a2a2a; color:#fff;
    font-size:clamp(0.58rem,0.7vw,0.82rem);
    font-weight:600; padding:4px 6px; text-align:center;
    border-right:1px solid rgba(255,255,255,0.08);
}
.sn-col-month { min-width:70px; text-align:left!important; }
.sn-grp { border-bottom:2px solid #F5C518!important; }
.sn-row {
    animation:fadeSlideUp 0.35s ease calc(var(--row-i,0)*0.04s + 0.15s) both;
}
.sn-row td {
    padding:5px 6px; border-bottom:1px solid rgba(0,0,0,0.05);
    border-right:1px solid rgba(0,0,0,0.04);
}
.sn-month { font-weight:600; color:#1a1a1a; padding-left:8px!important; }
.sn-row:hover { background:rgba(245,197,24,0.06); }
.sn-ytd {
    background:rgba(245,197,24,0.08);
    border-top:2px solid #F5C518;
}
.sn-ytd td { font-weight:600; }
.sn-positive { color:#059669; }
.sn-negative { color:#dc2626; }

@media(max-width:768px){
    .sn-table{font-size:0.42rem}
    .sn-table thead .sn-hdr1 th{font-size:0.42rem;padding:3px 4px}
    .sn-table thead .sn-hdr2 th{font-size:0.38rem;padding:2px 4px}
    .sn-row td{padding:2px 4px}
}

/* --- Gruppemiks BKH Norge table (.gm-*) --- */
.gm-table-wrap {
    width:100%; max-width:900px; margin:0 auto;
    border-radius:10px; overflow:hidden;
    border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 2px 10px rgba(0,0,0,0.04);
    animation:fadeSlideUp 0.45s ease 0.2s both;
}
.gm-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.75rem,0.95vw,1.15rem);
}
.gm-table thead th {
    background:#1a1a1a; color:#F5C518;
    font-weight:700; padding:clamp(10px,1.2vh,18px) clamp(14px,1.5vw,28px);
    font-size:clamp(0.7rem,0.85vw,1.05rem);
    letter-spacing:0.03em;
    border-bottom:3px solid #F5C518;
}
.gm-col-label { text-align:left!important; min-width:clamp(200px,25vw,400px); }
.gm-table thead th.text-center { text-align:center; }
.gm-row {
    background:#F5C518;
    animation:fadeSlideUp 0.3s ease calc(var(--row-i,0)*0.05s + 0.2s) both;
}
.gm-row td {
    padding:clamp(10px,1.2vh,18px) clamp(14px,1.5vw,28px);
    border-bottom:4px solid #fff;
    font-weight:700; color:#1a1a1a;
    font-variant-numeric:tabular-nums;
}
.gm-row td.text-center { text-align:center; }
.gm-label { font-weight:800; text-transform:uppercase; }
.gm-pos { color:#059669!important; }
.gm-neg { color:#dc2626!important; }
.gm-total {
    background:#F5C518;
}
.gm-total td {
    padding:clamp(10px,1.2vh,18px) clamp(14px,1.5vw,28px);
    font-weight:800!important; color:#1a1a1a;
    border-top:3px solid #1a1a1a;
}

/* Info button */
.gm-info-btn {
    position:absolute; top:clamp(70px,9vh,100px); right:clamp(16px,2vw,32px);
    width:32px; height:32px; border-radius:50%;
    background:rgba(245,197,24,0.15); border:1px solid rgba(245,197,24,0.4);
    color:#92400e; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    font-size:1rem; transition:all 0.3s; z-index:5;
}
.gm-info-btn:hover { background:#F5C518; color:#1a1a1a; transform:scale(1.1); }

/* Info modal overlay */
.gm-modal-overlay {
    display:none; position:fixed; inset:0; z-index:9999;
    background:rgba(0,0,0,0.5); backdrop-filter:blur(4px);
    align-items:center; justify-content:center;
}
.gm-modal-overlay.gm-modal-open { display:flex; }
.gm-modal-content {
    background:#fff; border-radius:14px; width:90%; max-width:700px;
    max-height:80vh; overflow-y:auto;
    box-shadow:0 20px 60px rgba(0,0,0,0.2);
    animation:scaleIn 0.25s ease both;
}
.gm-modal-header {
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 24px; border-bottom:2px solid #F5C518;
    background:#1a1a1a; color:#F5C518; border-radius:14px 14px 0 0;
}
.gm-modal-header h5 { margin:0; font-size:1rem; font-weight:700; display:flex; align-items:center; gap:8px; }
.gm-modal-close {
    background:none; border:none; color:#F5C518; font-size:1.5rem;
    cursor:pointer; line-height:1; padding:0 4px; transition:all 0.2s;
}
.gm-modal-close:hover { color:#fff; transform:scale(1.2); }
.gm-modal-body { padding:20px 24px; }
.gm-modal-intro { font-size:0.85rem; color:#374151; margin-bottom:16px; line-height:1.5; }
.gm-modal-table {
    width:100%; border-collapse:collapse; font-size:0.78rem; margin-bottom:16px;
}
.gm-modal-table thead th {
    background:#f3f4f6; padding:8px 10px; font-weight:700; color:#1a1a1a;
    border-bottom:2px solid #e5e7eb; text-align:left; font-size:0.72rem;
    text-transform:uppercase; letter-spacing:0.3px;
}
.gm-modal-table tbody td {
    padding:7px 10px; border-bottom:1px solid #f3f4f6; color:#374151;
    font-variant-numeric:tabular-nums; vertical-align:top;
}
.gm-modal-table tbody td.text-end { text-align:right; }
.gm-modal-total td {
    border-top:2px solid #F5C518!important; background:rgba(245,197,24,0.08);
}
.gm-modal-formula {
    background:#f9fafb; border-left:3px solid #F5C518; padding:8px 14px;
    font-size:0.8rem; color:#374151; margin-bottom:8px; border-radius:0 6px 6px 0;
}
.gm-modal-note {
    background:rgba(217,119,6,0.08); border-left:3px solid #d97706;
    padding:8px 14px; font-size:0.75rem; color:#92400e; margin-top:12px;
    border-radius:0 6px 6px 0; display:flex; align-items:center; gap:6px;
}

@media(max-width:768px){
    .gm-table{font-size:0.65rem}
    .gm-table thead th{font-size:0.6rem;padding:6px 8px}
    .gm-row td,.gm-total td{padding:6px 8px}
    .gm-modal-content{width:95%;max-height:85vh}
    .gm-modal-table{font-size:0.65rem}
}

/* --- Topp 10 W & F (Foodora + Wolt) --- */
.wf-layout {
    display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,3vw,48px);
    flex:1; min-height:0; align-items:start;
    animation:fadeSlideUp 0.4s ease 0.2s both;
}
.wf-side {
    min-width:0;
    display:flex; flex-direction:column; gap:clamp(10px,1.2vh,18px);
}
.wf-platform-label {
    font-weight:900; font-size:clamp(1.3rem,2vw,2.2rem);
    padding:2px 0 4px; letter-spacing:0.5px;
}
.wf-foodora span {
    color:#d70f64; font-style:italic;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
}
.wf-wolt span {
    background:#009de0; color:#fff; padding:3px 14px; border-radius:5px;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(1.1rem,1.6vw,1.8rem);
}
.wf-table-wrap {
    border-radius:12px; overflow:hidden;
    border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 4px 16px rgba(0,0,0,0.06);
}
.wf-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.78rem,0.95vw,1.1rem);
}
.wf-table thead tr { background:#1a1a1a; }
.wf-table thead th {
    color:#fff; font-weight:800;
    padding:clamp(8px,1vh,13px) clamp(12px,1.3vw,20px);
    font-size:clamp(0.7rem,0.85vw,1rem);
    letter-spacing:0.3px;
    border-bottom:3px solid #F5C518;
}
.wf-table thead th.text-end { text-align:right; }

.wf-row {
    animation:fadeSlideUp 0.22s ease both;
    animation-delay:calc(0.25s + var(--row-i,0) * 0.04s);
    background:rgba(245,197,24,0.06);
}
.wf-row:nth-child(odd) { background:rgba(245,197,24,0.12); }
.wf-row:hover { background:rgba(245,197,24,0.18); }
.wf-row td {
    padding:clamp(6px,0.7vh,11px) clamp(12px,1.3vw,20px);
    border-bottom:2px solid #fff;
    font-variant-numeric:tabular-nums;
}
.wf-product { font-weight:700; color:#1a1a1a; }
.wf-value { font-weight:800; color:#1a1a1a; }

/* W&F Pie charts */
.wf-pie-wrap {
    display:flex; justify-content:center; align-items:center;
    animation:scaleIn 0.5s ease 0.4s both;
}
.wf-pie-svg {
    width:clamp(140px,16vw,240px); height:clamp(140px,16vw,240px);
    filter:drop-shadow(0 3px 10px rgba(0,0,0,0.1));
}
.wf-pie-svg path { transition:opacity 0.2s; cursor:pointer; }
.wf-pie-svg path:hover { opacity:0.8; }
.wf-pie-svg text { pointer-events:none; font-family:'Inter','Segoe UI',system-ui,sans-serif; }

@media(max-width:768px){
    .wf-layout{grid-template-columns:1fr;gap:16px}
    .wf-table{font-size:0.65rem}
    .wf-table thead th{font-size:0.56rem;padding:5px 8px}
    .wf-row td{padding:4px 8px}
    .wf-pie-svg{width:120px;height:120px}
}

/* --- Topp 10 Solgte Produkter --- */
.tp-layout {
    display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,3vw,48px);
    flex:1; min-height:0; align-items:center;
    animation:fadeSlideUp 0.4s ease 0.2s both;
}
.tp-table-side { min-width:0; }
.tp-table-wrap {
    border-radius:12px; overflow:hidden;
    border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 4px 16px rgba(0,0,0,0.06);
}
.tp-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.85rem,1.1vw,1.25rem);
}
.tp-table thead tr {
    background:#1a1a1a;
}
.tp-table thead th {
    color:#fff; font-weight:800;
    padding:clamp(10px,1.2vh,16px) clamp(14px,1.5vw,24px);
    font-size:clamp(0.78rem,0.95vw,1.1rem);
    letter-spacing:0.4px;
    border-bottom:3px solid #F5C518;
}
.tp-th-rank { width:44px; text-align:center; }
.tp-table thead th.text-end { text-align:right; }

.tp-row {
    animation:fadeSlideUp 0.22s ease both;
    animation-delay:calc(0.25s + var(--row-i,0) * 0.04s);
    background:rgba(245,197,24,0.06);
}
.tp-row:nth-child(odd) { background:rgba(245,197,24,0.12); }
.tp-row:hover { background:rgba(245,197,24,0.18); }
.tp-row td {
    padding:clamp(8px,1vh,14px) clamp(14px,1.5vw,24px);
    border-bottom:2px solid #fff;
    font-variant-numeric:tabular-nums;
}
.tp-rank {
    text-align:center; font-weight:800; color:#1a1a1a;
    display:flex; align-items:center; gap:8px; justify-content:center;
    font-size:clamp(0.85rem,1vw,1.15rem);
}
.tp-rank-dot {
    display:inline-block; width:12px; height:12px; border-radius:50%;
    flex-shrink:0;
}
.tp-product { font-weight:700; color:#1a1a1a; font-size:clamp(0.82rem,1vw,1.15rem); }
.tp-value { font-weight:800; color:#1a1a1a; font-size:clamp(0.85rem,1.05vw,1.2rem); }

/* Pie chart side */
.tp-chart-side { display:flex; align-items:center; justify-content:center; }
.tp-pie-wrap {
    display:flex; flex-direction:column; align-items:center; gap:clamp(12px,1.5vh,20px);
}
.tp-pie-svg {
    width:clamp(260px,30vw,440px); height:clamp(260px,30vw,440px);
    animation:scaleIn 0.5s ease 0.3s both;
    filter:drop-shadow(0 4px 14px rgba(0,0,0,0.12));
}
.tp-pie-svg path { transition:opacity 0.2s; cursor:pointer; }
.tp-pie-svg path:hover { opacity:0.8; }
.tp-pie-svg text { pointer-events:none; font-family:'Inter','Segoe UI',system-ui,sans-serif; }

/* Shared pie legend */
.tp-legend, .wf-legend {
    display:flex; flex-direction:column; gap:4px;
    font-size:clamp(0.62rem,0.75vw,0.88rem);
    animation:fadeSlideUp 0.4s ease 0.5s both;
    width:100%;
}
.pie-leg-item {
    display:flex; align-items:center; gap:7px;
}
.pie-leg-dot {
    width:10px; height:10px; border-radius:50%; flex-shrink:0;
}
.pie-leg-label {
    flex:1; color:#374151; font-weight:600;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.pie-leg-pct { font-weight:800; color:#1a1a1a; min-width:36px; text-align:right; }

.wf-legend { font-size:clamp(0.52rem,0.62vw,0.75rem); }
.wf-pie-wrap {
    flex-direction:row; gap:clamp(10px,1.2vw,20px);
}

@media(max-width:768px){
    .tp-layout{grid-template-columns:1fr;gap:14px}
    .tp-table{font-size:0.72rem}
    .tp-table thead th{font-size:0.62rem;padding:7px 10px}
    .tp-row td{padding:5px 10px}
    .tp-pie-svg{width:180px;height:180px}
    .tp-legend,.wf-legend{font-size:0.52rem}
    .wf-pie-wrap{flex-direction:column}
}

/* --- Branch Comparison Table (Sammenligning avdelinger) --- */
.bc-table-wrap {
    width:100%;
    border-radius:10px;
    overflow:auto;
    border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 2px 10px rgba(0,0,0,0.04);
    animation:fadeSlideUp 0.45s ease 0.2s both;
    flex:1;
    min-height:0;
}
.bc-table {
    width:100%;
    border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.72rem,0.88vw,1rem);
    white-space:nowrap;
}
.bc-table thead th {
    background:#1a1a1a;
    color:#fff;
    font-weight:700;
    padding:clamp(5px,0.6vh,10px) clamp(6px,0.6vw,14px);
    letter-spacing:0.3px;
    font-size:clamp(0.46rem,0.55vw,0.68rem);
    border-bottom:3px solid #F5C518;
    position:sticky;
    top:0;
    z-index:2;
}
.bc-table thead th.text-end { text-align:right; }
.bc-table thead th:first-child { text-align:left; min-width:clamp(70px,8vw,140px); }

.bc-row {
    animation:fadeSlideUp 0.2s ease both;
    animation-delay:calc(0.2s + var(--row-i,0) * 0.025s);
}
.bc-row td {
    padding:clamp(4px,0.45vh,8px) clamp(6px,0.6vw,14px);
    color:#374151;
    border-bottom:1px solid rgba(0,0,0,0.04);
    font-variant-numeric:tabular-nums;
}
.bc-row td.text-end { text-align:right; }
.bc-branch { font-weight:600; color:#1a1a1a; }

/* Even row stripe */
.bc-table tbody .bc-row:nth-child(even):not(.bc-total-row):not(.bc-grand-row) {
    background:rgba(245,197,24,0.03);
}
.bc-table tbody .bc-row:hover:not(.bc-total-row):not(.bc-grand-row) {
    background:rgba(245,197,24,0.08);
}

/* New branch row */
.bc-new-row { background:rgba(37,99,235,0.04) !important; }
.bc-new-row .bc-branch::after {
    content:'NY';
    display:inline-block;
    margin-left:6px;
    background:#2563eb;
    color:#fff;
    font-size:0.42rem;
    padding:1px 4px;
    border-radius:2px;
    font-weight:700;
    vertical-align:middle;
}

/* LFL total row */
.bc-total-row { background:rgba(245,197,24,0.1) !important; }
.bc-total-row td {
    font-weight:700 !important;
    border-top:2px solid #F5C518;
    border-bottom:1px solid #F5C518;
}

/* Grand total row */
.bc-grand-row { background:rgba(245,197,24,0.18) !important; }
.bc-grand-row td {
    font-weight:800 !important;
    color:#1a1a1a !important;
    border-top:2px solid #F5C518;
    border-bottom:3px solid #F5C518;
}

/* Color coding */
.bc-positive { color:#059669 !important; font-weight:700; }
.bc-negative { color:#dc2626 !important; font-weight:700; }

/* Responsive */
@media(max-width:768px){
    .bc-table{font-size:0.5rem}
    .bc-table thead th{font-size:0.42rem;padding:4px 5px}
    .bc-row td{padding:3px 5px}
}

/* --- Totalt Salg Comparison Table --- */
.ts-table-wrap {
    width:100%;
    border-radius:10px;
    overflow:hidden;
    border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 2px 10px rgba(0,0,0,0.04);
    animation:fadeSlideUp 0.45s ease 0.2s both;
    flex:1;
    min-height:0;
}
.ts-table {
    width:100%;
    border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.68rem,0.85vw,1.02rem);
}
.ts-table thead th {
    background:#1a1a1a;
    color:#fff;
    font-weight:700;
    padding:clamp(8px,1vh,14px) clamp(10px,1.2vw,22px);
    letter-spacing:0.4px;
    font-size:clamp(0.6rem,0.72vw,0.88rem);
    border-bottom:3px solid #F5C518;
}
.ts-table thead th.text-end { text-align:right; }
.ts-label-col { text-align:left; min-width:clamp(160px,18vw,300px); }

.ts-row {
    animation:fadeSlideUp 0.25s ease both;
    animation-delay:calc(0.25s + var(--row-i,0) * 0.035s);
}
.ts-row td {
    padding:clamp(5px,0.6vh,10px) clamp(10px,1.2vw,22px);
    color:#374151;
    border-bottom:1px solid rgba(0,0,0,0.05);
    font-variant-numeric:tabular-nums;
}
.ts-row td.text-end { text-align:right; }
.ts-label { font-weight:600; color:#1a1a1a; white-space:nowrap; }

/* Bold total rows — yellow tinted */
.ts-bold-row { background:rgba(245,197,24,0.1) !important; }
.ts-bold-row td {
    font-weight:800 !important;
    color:#1a1a1a !important;
    border-top:2px solid #F5C518;
    border-bottom:2px solid #F5C518;
}

/* New branch indicator */
.ts-new-branch .ts-label::after {
    content:'NY';
    display:inline-block;
    margin-left:8px;
    background:#2563eb;
    color:#fff;
    font-size:0.5rem;
    padding:1px 6px;
    border-radius:3px;
    font-weight:700;
    letter-spacing:0.5px;
    vertical-align:middle;
}

/* Category rows — indented */
.ts-category-row .ts-label { padding-left:clamp(12px,1.2vw,24px); font-weight:500; }

/* Avvik color coding */
.ts-positive { color:#059669 !important; font-weight:700; }
.ts-negative { color:#dc2626 !important; font-weight:700; }

/* Separator */
.ts-separator td {
    padding:3px 0 !important;
    border-bottom:2px solid rgba(0,0,0,0.07) !important;
    background:transparent;
}

/* Even row stripe */
.ts-table tbody .ts-row:nth-child(even):not(.ts-bold-row):not(.ts-separator) {
    background:rgba(245,197,24,0.03);
}
.ts-table tbody .ts-row:hover:not(.ts-separator) {
    background:rgba(245,197,24,0.08);
}

/* Footnote */
.ts-footnote {
    font-size:clamp(0.52rem,0.62vw,0.75rem);
    color:#9ca3af;
    margin-top:clamp(6px,0.8vh,12px);
    font-style:italic;
    animation:fadeSlideUp 0.4s ease 0.5s both;
}
.ts-footnote.ts-warning { color:#d97706; font-style:normal; }

/* Responsive */
@media(max-width:768px){
    .ts-table{font-size:0.65rem}
    .ts-label-col{min-width:120px}
    .ts-table thead th{font-size:0.55rem;padding:6px 8px}
    .ts-row td{padding:4px 8px}
    .ts-category-row .ts-label{padding-left:8px}
}

/* --- Status Foodora --- */
.sfood-platform-label {
    display:flex; align-items:center; gap:8px;
    margin-bottom:clamp(6px,0.8vh,12px);
    animation:fadeSlideUp 0.3s ease 0.15s both;
}
.sfood-platform-label span {
    display:inline-block;
    background:#d70f64; color:#fff;
    font-weight:800; font-size:clamp(0.7rem,0.85vw,1rem);
    padding:4px 16px; border-radius:6px;
    letter-spacing:0.5px; text-transform:uppercase;
}
.sfood-scroll {
    flex:1; min-height:0; overflow:auto;
    max-width:100%; width:100%;
    animation:fadeSlideUp 0.4s ease 0.2s both;
}
.sfood-table-wrap {
    border-radius:10px; overflow-x:auto; overflow-y:hidden;
    border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 2px 10px rgba(0,0,0,0.04);
    max-width:100%;
}
.sfood-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.75rem,0.9vw,1.05rem);
}
.sfood-table thead th {
    background:#1a1a1a; color:#fff;
    font-weight:700;
    padding:clamp(6px,0.7vh,10px) clamp(6px,0.8vw,14px);
    letter-spacing:0.3px;
    font-size:clamp(0.52rem,0.62vw,0.78rem);
    border-bottom:3px solid #d70f64;
    white-space:nowrap;
    position:sticky; top:0; z-index:2;
}
.sfood-table thead th.text-end { text-align:right; }

.sfood-row {
    animation:fadeSlideUp 0.25s ease both;
    animation-delay:calc(0.2s + var(--row-i,0) * 0.03s);
}
.sfood-row td {
    padding:clamp(5px,0.6vh,9px) clamp(6px,0.8vw,14px);
    color:#374151;
    border-bottom:1px solid rgba(0,0,0,0.05);
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}
.sfood-row td.text-end { text-align:right; font-weight:600; }
.sfood-label { font-weight:700; color:#1a1a1a; white-space:nowrap; }
.sfood-chain { font-weight:800 !important; color:#1a1a1a !important; background:rgba(245,197,24,0.06); }

/* Avvik row */
.sfood-avvik-row { background:rgba(215,15,100,0.03); }
.sfood-avvik-row td { border-bottom:2px solid rgba(215,15,100,0.12); }
.sfood-pos { color:#059669 !important; }
.sfood-neg { color:#dc2626 !important; }

/* Highlighted rows (yellow tint) */
.sfood-highlight-row { background:rgba(245,197,24,0.08); }
.sfood-highlight-row td { font-weight:700; border-bottom:2px solid rgba(245,197,24,0.2); }

/* Offline rows */
.sfood-offline-row { background:rgba(215,15,100,0.04); }
.sfood-offline-row td { font-style:italic; }

/* Hover & stripe */
.sfood-table tbody tr:hover { background:rgba(215,15,100,0.05); }
.sfood-table tbody .sfood-row:nth-child(even):not(.sfood-highlight-row):not(.sfood-avvik-row):not(.sfood-offline-row) {
    background:rgba(0,0,0,0.015);
}

/* Responsive */
@media(max-width:768px){
    .sfood-table{font-size:0.55rem}
    .sfood-table thead th{font-size:0.48rem;padding:4px 5px}
    .sfood-row td{padding:3px 5px}
}

/* --- Status Wolt --- */
.swolt-platform-label {
    display:flex; align-items:center; gap:8px;
    margin-bottom:clamp(6px,0.8vh,12px);
    animation:fadeSlideUp 0.3s ease 0.15s both;
}
.swolt-platform-label span {
    display:inline-block;
    background:#009de0; color:#fff;
    font-weight:800; font-size:clamp(0.7rem,0.85vw,1rem);
    padding:4px 16px; border-radius:6px;
    letter-spacing:0.5px; text-transform:uppercase;
}
.swolt-scroll {
    flex:1; min-height:0; overflow:auto;
    max-width:100%; width:100%;
    animation:fadeSlideUp 0.4s ease 0.2s both;
}
.swolt-table-wrap {
    border-radius:10px; overflow-x:auto; overflow-y:hidden;
    border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 2px 10px rgba(0,0,0,0.04);
    max-width:100%;
}
.swolt-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.75rem,0.9vw,1.05rem);
}
.swolt-table thead th {
    background:#1a1a1a; color:#fff;
    font-weight:700;
    padding:clamp(6px,0.7vh,10px) clamp(6px,0.8vw,14px);
    letter-spacing:0.3px;
    font-size:clamp(0.52rem,0.62vw,0.78rem);
    border-bottom:3px solid #009de0;
    white-space:nowrap;
    position:sticky; top:0; z-index:2;
}
.swolt-table thead th.text-end { text-align:right; }

.swolt-row {
    animation:fadeSlideUp 0.25s ease both;
    animation-delay:calc(0.2s + var(--row-i,0) * 0.03s);
}
.swolt-row td {
    padding:clamp(5px,0.6vh,9px) clamp(6px,0.8vw,14px);
    color:#374151;
    border-bottom:1px solid rgba(0,0,0,0.05);
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}
.swolt-row td.text-end { text-align:right; font-weight:600; }
.swolt-label { font-weight:700; color:#1a1a1a; white-space:nowrap; }
.swolt-chain { font-weight:800 !important; color:#1a1a1a !important; background:rgba(0,157,224,0.06); }

.swolt-avvik-row { background:rgba(0,157,224,0.03); }
.swolt-avvik-row td { border-bottom:2px solid rgba(0,157,224,0.12); }
.swolt-pos { color:#059669 !important; }
.swolt-neg { color:#dc2626 !important; }

.swolt-highlight-row { background:rgba(245,197,24,0.08); }
.swolt-highlight-row td { font-weight:700; border-bottom:2px solid rgba(245,197,24,0.2); }

.swolt-offline-row { background:rgba(0,157,224,0.04); }
.swolt-offline-row td { font-style:italic; }

.swolt-table tbody tr:hover { background:rgba(0,157,224,0.05); }
.swolt-table tbody .swolt-row:nth-child(even):not(.swolt-highlight-row):not(.swolt-avvik-row):not(.swolt-offline-row) {
    background:rgba(0,0,0,0.015);
}

@media(max-width:768px){
    .swolt-table{font-size:0.55rem}
    .swolt-table thead th{font-size:0.48rem;padding:4px 5px}
    .swolt-row td{padding:3px 5px}
}

/* --- Kontaktårsaker Foodora --- */
.kf-platform-label {
    display:flex; align-items:center; gap:8px;
    margin-bottom:clamp(8px,1vh,14px);
    animation:fadeSlideUp 0.3s ease 0.15s both;
}
.kf-platform-label span {
    display:inline-block;
    background:#d70f64; color:#fff;
    font-weight:800; font-size:clamp(0.7rem,0.85vw,1rem);
    padding:4px 16px; border-radius:6px;
    letter-spacing:0.5px; text-transform:uppercase;
}

.kf-tables {
    display:flex; flex-direction:column; gap:clamp(8px,1vh,14px);
    flex:1; min-height:0; overflow-y:auto;
    animation:fadeSlideUp 0.4s ease 0.2s both;
}
.kf-section-label {
    font-weight:700; font-size:clamp(0.62rem,0.72vw,0.85rem);
    color:#1a1a1a; letter-spacing:0.3px; margin-bottom:4px;
}
.kf-summary-side { flex:none; width:100%; }
.kf-branch-side  { flex:none; width:100%; overflow-x:auto; }

.kf-table-wrap {
    border-radius:10px; overflow:hidden;
    border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 2px 10px rgba(0,0,0,0.04);
}
.kf-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.75rem,0.9vw,1.05rem);
}
.kf-table thead th {
    background:#1a1a1a; color:#fff;
    font-weight:700;
    padding:clamp(7px,0.8vh,12px) clamp(8px,1vw,18px);
    letter-spacing:0.3px;
    font-size:clamp(0.58rem,0.68vw,0.82rem);
    border-bottom:3px solid #d70f64;
    white-space:nowrap;
}
.kf-table thead th.text-end { text-align:right; }

/* Group rows (Food Issue, Wrong/Missing Item) */
.kf-group-row {
    background:rgba(215,15,100,0.08);
    animation:fadeSlideUp 0.25s ease both;
    animation-delay:calc(0.25s + var(--row-i,0) * 0.03s);
}
.kf-group-row td {
    padding:clamp(6px,0.7vh,10px) clamp(8px,1vw,18px);
    font-weight:800; color:#1a1a1a;
    border-bottom:2px solid rgba(215,15,100,0.15);
    font-variant-numeric:tabular-nums;
}

/* Sub-rows (individual reasons) */
.kf-sub-row {
    animation:fadeSlideUp 0.25s ease both;
    animation-delay:calc(0.25s + var(--row-i,0) * 0.03s);
}
.kf-sub-row td {
    padding:clamp(4px,0.5vh,8px) clamp(8px,1vw,18px);
    padding-left:clamp(20px,2vw,36px);
    color:#374151;
    border-bottom:1px solid rgba(0,0,0,0.04);
    font-variant-numeric:tabular-nums;
}
.kf-sub-row td.text-end { font-weight:600; }

/* Branch breakdown data rows */
.kf-data-row {
    animation:fadeSlideUp 0.25s ease both;
    animation-delay:calc(0.25s + var(--row-i,0) * 0.03s);
}
.kf-data-row td {
    padding:clamp(5px,0.6vh,9px) clamp(8px,1vw,18px);
    color:#374151;
    border-bottom:1px solid rgba(0,0,0,0.04);
    font-variant-numeric:tabular-nums;
}
.kf-data-row td.text-end { font-weight:600; }
.kf-reason { font-weight:600; color:#1a1a1a; white-space:nowrap; }

/* Total row */
.kf-total-row {
    background:rgba(215,15,100,0.08);
}
.kf-total-row td {
    padding:clamp(6px,0.7vh,10px) clamp(8px,1vw,18px);
    font-weight:800; color:#1a1a1a;
    border-top:2px solid #d70f64;
    font-variant-numeric:tabular-nums;
}

/* Zero value muted */
.kf-zero { color:#d1d5db !important; font-weight:400 !important; }

/* Heatmap highlight — cells with high values */
.kf-data-row td.text-end:not(.kf-zero) { color:#b91c1c; }

/* Hover */
.kf-table tbody tr:hover { background:rgba(215,15,100,0.05); }

/* Even stripe */
.kf-branch-tbl tbody .kf-data-row:nth-child(even) { background:rgba(215,15,100,0.02); }

/* Responsive */
@media(max-width:768px){
    .kf-tables{flex-direction:column}
    .kf-summary-side{flex:none;width:100%}
    .kf-table{font-size:0.6rem}
    .kf-table thead th{font-size:0.52rem;padding:5px 6px}
    .kf-group-row td,.kf-sub-row td,.kf-data-row td,.kf-total-row td{padding:4px 6px}
    .kf-sub-row td{padding-left:14px}
}

/* ── Meal Deal (mdd-*) ── */
.mdd-scroll {
    overflow:auto; width:100%;
    border-radius:8px; border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 1px 6px rgba(0,0,0,0.04);
}
.mdd-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.72rem,0.9vw,1rem);
}
.mdd-table thead th {
    background:#1a1a1a; color:#fff;
    font-weight:700; padding:clamp(5px,0.55vh,9px) clamp(8px,0.9vw,16px);
    letter-spacing:0.3px; white-space:nowrap; text-align:center;
    position:sticky; top:0; z-index:2;
    border-bottom:2px solid #F5C518;
}
.mdd-table thead th:first-child { text-align:left; }
.mdd-table thead th small { font-weight:400; opacity:0.7; }
.mdd-table td {
    padding:clamp(3px,0.38vh,7px) clamp(8px,0.9vw,16px);
    text-align:center; font-variant-numeric:tabular-nums;
    border-bottom:1px solid rgba(0,0,0,0.04);
    line-height:1.2;
}
.mdd-branch {
    text-align:left !important; white-space:nowrap; font-weight:600; color:#1a1a1a;
}
.mdd-total-cell { font-weight:800; color:#1a1a1a; }
.mdd-row {
    animation:fadeSlideUp 0.15s ease both;
    animation-delay:calc(0.1s + var(--row-i,0) * 0.015s);
}
.mdd-row:hover { background:rgba(245,197,24,0.06); }
.mdd-row:nth-child(even) { background:rgba(0,0,0,0.015); }

/* Platform totals */
.mdd-plat-row td {
    border-top:2px solid rgba(0,0,0,0.1);
    font-weight:700;
}
.mdd-wolt-row { background:rgba(0,157,224,0.06) !important; }
.mdd-wolt-row .mdd-branch { color:#0284c7; }
.mdd-foodora-row { background:rgba(215,15,100,0.06) !important; }
.mdd-foodora-row .mdd-branch { color:#be123c; }

/* Grand total */
.mdd-grand-row { background:#F5C518 !important; }
.mdd-grand-row td {
    font-weight:800; color:#1a1a1a;
    border-top:2px solid #1a1a1a;
}

/* Historical rows */
.mdd-hist-row { background:rgba(245,197,24,0.06) !important; }
.mdd-hist-row td {
    font-weight:500; color:#4b5563;
    border-bottom:1px solid rgba(245,197,24,0.15);
}
.mdd-hist-row .mdd-branch { font-weight:500; font-style:italic; color:#6b7280; }
.mdd-hist-row .mdd-total-cell { color:#374151; }

@media(max-width:768px){
    .mdd-table{font-size:0.6rem}
    .mdd-table thead th{padding:3px 5px}
    .mdd-table td{padding:2px 5px}
}

/* ── Salgstrend Wolt & Foodora (st-*) ── */
.st-chart-area {
    padding:0 clamp(6px,0.8vw,14px);
    width:100%; max-width:100%; overflow:hidden; box-sizing:border-box;
}
.st-logos {
    display:flex; gap:12px; align-items:center; margin-bottom:4px;
}
.st-logo-wolt {
    background:#009de0; color:#fff; font-weight:800; font-size:clamp(0.75rem,0.9vw,1rem);
    padding:3px 12px; border-radius:4px; letter-spacing:0.5px;
}
.st-logo-foodora {
    color:#d70f64; font-weight:800; font-size:clamp(0.8rem,1vw,1.1rem);
    letter-spacing:0.5px;
}
.st-chart-title {
    text-align:center; font-weight:600; font-size:clamp(0.75rem,0.9vw,1rem);
    color:#374151; margin-bottom:clamp(2px,0.5vh,8px);
}
.st-chart-container {
    display:flex; gap:0; position:relative;
}
.st-y-axis {
    display:flex; flex-direction:column; justify-content:space-between;
    padding-right:5px; flex-shrink:0; width:clamp(52px,5vw,78px);
    height:clamp(160px,28vh,300px);
}
.st-y-label {
    font-size:clamp(0.55rem,0.6vw,0.72rem); color:#9ca3af;
    text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums;
}
.st-bars-scroll {
    flex:1; overflow-x:auto; overflow-y:hidden;
    height:clamp(180px,30vh,320px);
}
.st-bars-inner {
    position:relative; min-width:100%; height:100%;
    display:flex; flex-direction:column;
}
.st-grid {
    position:absolute; top:0; left:0; right:0; bottom:22px;
    display:flex; flex-direction:column; justify-content:space-between;
    pointer-events:none; z-index:0;
}
.st-grid-line {
    border-bottom:1px solid rgba(0,0,0,0.06);
    height:0;
}
.st-bar-groups {
    display:flex; align-items:flex-end; gap:clamp(2px,0.25vw,5px);
    flex:1; position:relative; z-index:1;
    padding-bottom:22px;
}
.st-bar-group {
    flex:1; min-width:clamp(26px,2.4vw,44px);
    display:flex; flex-direction:column; align-items:center;
    animation:fadeSlideUp 0.3s ease both;
}
.st-bars-pair {
    display:flex; gap:clamp(1px,0.15vw,3px);
    align-items:flex-end; width:100%;
    height:clamp(140px,26vh,280px);
}
.st-bar {
    flex:1; border-radius:2px 2px 0 0;
    transition:height 0.5s ease, opacity 0.2s;
    min-height:2px; cursor:pointer;
    position:relative;
}
.st-bar:hover { opacity:0.8; }
.st-bar-foodora { background:#5b9bd5; }
.st-bar-wolt { background:#c0504d; }
.st-bar-label {
    font-size:clamp(0.5rem,0.55vw,0.65rem); color:#6b7280;
    margin-top:3px; white-space:nowrap; text-align:center;
    font-weight:600;
}

/* Data table under chart */
.st-data-table-wrap {
    overflow-x:auto; margin-top:clamp(4px,0.6vh,10px);
    border:1px solid rgba(0,0,0,0.08); border-radius:6px;
    max-width:100%;
}
.st-data-table {
    width:100%; border-collapse:collapse;
    font-size:clamp(0.55rem,0.6vw,0.72rem);
    font-variant-numeric:tabular-nums;
}
.st-data-table td {
    padding:clamp(3px,0.35vh,5px) clamp(4px,0.4vw,8px);
    white-space:nowrap; text-align:center;
    border-bottom:1px solid rgba(0,0,0,0.04);
}
.st-dt-head {
    font-weight:800; text-align:left !important;
    position:sticky; left:0; background:#fff; z-index:1;
    min-width:55px; padding-left:8px !important;
}
.st-dt-foodora { color:#5b9bd5; }
.st-dt-wolt { color:#c0504d; }
.st-data-table tr:first-child td { background:rgba(91,155,213,0.05); }
.st-data-table tr:last-child td { background:rgba(192,80,77,0.05); }

/* Legend */
.st-legend {
    display:flex; gap:18px; justify-content:center;
    margin-top:clamp(4px,0.6vh,10px);
    font-size:clamp(0.7rem,0.8vw,0.9rem); color:#374151;
}
.st-legend-item { display:flex; align-items:center; gap:6px; font-weight:600; }
.st-legend-box {
    width:14px; height:14px; border-radius:2px; display:inline-block;
}

@media(max-width:768px){
    .st-y-axis{width:40px}
    .st-y-label{font-size:0.45rem}
    .st-bar-group{min-width:22px}
    .st-bar-label{font-size:0.4rem}
    .st-data-table{font-size:0.45rem}
}

/* ── Kontaktårsaker Wolt (kw-*) ── */
.kw-no-data {
    text-align:center; padding:48px 24px; color:#6b7280;
    font-size:1rem; background:rgba(0,157,224,0.04);
    border-radius:12px; margin-top:24px;
}
.kw-images {
    display:flex; gap:clamp(16px,2vw,32px);
    justify-content:center; align-items:flex-start;
    margin-top:clamp(12px,2vh,24px);
    animation:fadeSlideUp 0.4s ease both;
}
.kw-img-wrap {
    flex:1; max-width:50%;
    background:#fff; border-radius:12px;
    border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 2px 12px rgba(0,0,0,0.06);
    overflow:hidden;
}
.kw-img-label {
    background:#009de0; color:#fff;
    font-weight:700; font-size:clamp(0.85rem,1vw,1.15rem);
    padding:clamp(8px,0.9vh,14px) clamp(12px,1.5vw,22px);
    letter-spacing:0.3px; text-align:center;
}
.kw-img {
    width:100%; height:auto; display:block;
    padding:4px;
    max-height:clamp(350px,58vh,650px);
    object-fit:contain;
}
@media(max-width:768px){
    .kw-images{flex-direction:column;align-items:center}
    .kw-img-wrap{max-width:95%}
}



/* --- End Slide --- */
.end-icon { font-size:clamp(2rem,3.5vw,4rem); color:#F5C518; margin-bottom:12px; animation:pulseGlow 2s ease infinite; }

/* --- Logo Watermark (bottom-right on every slide) --- */
.slide-logo-watermark {
    position:absolute; bottom:clamp(50px,6vh,68px); right:clamp(16px,2vw,32px); z-index:10;
    width:clamp(36px,3.5vw,60px); height:clamp(36px,3.5vw,60px); opacity:0.08;
    pointer-events:none; object-fit:contain;
}
.slide-title .slide-logo-watermark { display:none; }

/* --- Loading --- */
.pres-loading {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    height:100%; color:#9ca3af;
}
.pres-loading .spinner-border {
    width:2.5rem; height:2.5rem;
    border-color:rgba(245,197,24,0.25); border-right-color:#F5C518;
}

/* ── Kampanje Slides ── */
.kamp-scroll {
    overflow:auto; width:100%; max-width:100%;
    max-height:clamp(400px,70vh,800px);
    border-radius:8px; border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 1px 6px rgba(0,0,0,0.04);
    margin-bottom:6px;
}
.kamp-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.72rem,0.9vw,1rem);
}
.kamp-table thead th {
    background:#1a1a1a; color:#fff;
    font-weight:700; padding:clamp(5px,0.55vh,9px) clamp(8px,0.9vw,16px);
    letter-spacing:0.3px; white-space:nowrap; text-align:center;
    position:sticky; top:0; z-index:2;
    border-bottom:2px solid #F5C518;
    font-size:clamp(0.65rem,0.82vw,0.95rem);
}
.kamp-th-branch { text-align:left!important; min-width:clamp(100px,12vw,200px); }
.kamp-th-total { font-weight:800; color:#F5C518; }
.kamp-row {
    animation:fadeSlideUp 0.15s ease both;
    animation-delay:calc(0.1s + var(--row-i,0) * 0.015s);
}
.kamp-row td {
    padding:clamp(4px,0.42vh,8px) clamp(8px,0.9vw,16px);
    text-align:center; font-variant-numeric:tabular-nums;
    border-bottom:1px solid rgba(0,0,0,0.04);
    line-height:1.2;
}
.kamp-row:hover td { background:rgba(245,197,24,0.06); }
.kamp-row:nth-child(even) td { background:rgba(0,0,0,0.015); }
.kamp-row:nth-child(even):hover td { background:rgba(245,197,24,0.06); }
.kamp-branch {
    text-align:left!important; font-weight:600; color:#1a1a1a;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    max-width:clamp(120px,14vw,220px);
}
.kamp-total-cell { font-weight:800; color:#1a1a1a; }
.kamp-grand-row { background:#F5C518!important; }
.kamp-grand-row td {
    font-weight:800; color:#1a1a1a;
    padding:clamp(5px,0.55vh,10px) clamp(8px,0.9vw,16px);
    text-align:center; border-top:2px solid #1a1a1a;
    font-size:clamp(0.72rem,0.9vw,1.05rem);
}
.kamp-grand-row .kamp-branch { text-align:left!important; }
.kamp-footer {
    text-align:center; font-size:clamp(0.6rem,0.72vw,0.85rem);
    color:#6b7280; margin-top:6px; padding:4px 0;
}

/* ── Dressing stk Salg ── */
.dr-scroll{width:100%;max-width:100%;overflow-x:auto;border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,0.07);margin-top:8px}
.dr-table{width:100%;border-collapse:collapse;font-size:clamp(0.68rem,0.88vw,1rem)}
.dr-table thead{position:sticky;top:0;z-index:2}
.dr-table thead th{background:#1a1a1a;color:#fff;font-weight:700;padding:clamp(6px,0.7vh,12px) clamp(6px,0.7vw,14px);text-align:center;white-space:nowrap;font-size:clamp(0.62rem,0.8vw,0.92rem)}
.dr-th-label{text-align:left!important;min-width:clamp(60px,6vw,100px)}
.dr-row td{padding:clamp(5px,0.55vh,10px) clamp(6px,0.7vw,14px);text-align:center;border-bottom:1px solid #e5e7eb;background:#fff}
.dr-label{text-align:left!important;font-weight:600;white-space:nowrap}
.dr-kjede{font-weight:700;background:#f9fafb!important}
.dr-total-row td{background:#fef9c3!important;font-weight:700;padding:clamp(6px,0.65vh,11px) clamp(6px,0.7vw,14px);text-align:center;border-top:2px solid #F5C518;border-bottom:2px solid #F5C518}
.dr-total-row .dr-label{text-align:left!important}

/* ── Snacks & Sides ── */
.ss-scroll {
    overflow:auto; width:100%; max-width:100%;
    border-radius:8px; border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 1px 6px rgba(0,0,0,0.04);
    margin-bottom:10px;
}
.ss-scroll:first-of-type { max-height:clamp(300px,52vh,600px); }
.ss-ch-scroll { max-height:clamp(180px,26vh,320px); }
.ss-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.62rem,0.78vw,0.92rem);
}
.ss-table thead th {
    background:#1a1a1a; color:#fff;
    font-weight:700; padding:clamp(4px,0.45vh,8px) clamp(5px,0.6vw,12px);
    letter-spacing:0.3px; white-space:nowrap; text-align:center;
    position:sticky; top:0; z-index:2;
    border-bottom:2px solid #F5C518;
    font-size:clamp(0.58rem,0.72vw,0.85rem);
}
.ss-th-label { text-align:left!important; min-width:clamp(80px,10vw,180px); }
.ss-row {
    animation:fadeSlideUp 0.15s ease both;
    animation-delay:calc(0.05s + var(--row-i,0)*0.012s);
}
.ss-row td {
    padding:clamp(3px,0.32vh,6px) clamp(5px,0.6vw,12px);
    text-align:center; font-variant-numeric:tabular-nums;
    border-bottom:1px solid rgba(0,0,0,0.04); line-height:1.2;
}
.ss-row:hover td { background:rgba(245,197,24,0.06); }
.ss-row:nth-child(even) td { background:rgba(0,0,0,0.015); }
.ss-row:nth-child(even):hover td { background:rgba(245,197,24,0.06); }
.ss-label { text-align:left!important; font-weight:600; color:#1a1a1a; white-space:nowrap; }
.ss-kjede { font-weight:700; background:rgba(0,0,0,0.02)!important; }
.ss-hist-row td {
    padding:clamp(3px,0.32vh,6px) clamp(5px,0.6vw,12px);
    text-align:center; font-variant-numeric:tabular-nums;
    border-bottom:1px solid rgba(245,197,24,0.15);
    background:rgba(245,197,24,0.06); font-weight:500; color:#4b5563;
}
.ss-hist-row .ss-label { font-weight:500; font-style:italic; color:#6b7280; }
.ss-hist-row .ss-kjede { font-weight:700; color:#374151; background:rgba(245,197,24,0.10)!important; }
.ss-hist-row:hover td { background:rgba(245,197,24,0.12); }
.ss-total-row { background:#F5C518!important; }
.ss-total-row td {
    font-weight:800; color:#1a1a1a;
    padding:clamp(4px,0.45vh,8px) clamp(5px,0.6vw,12px);
    text-align:center; border-top:2px solid #1a1a1a;
    font-size:clamp(0.65rem,0.82vw,0.95rem);
}
.ss-total-row .ss-label { text-align:left!important; }
.ss-ch-table thead th { font-size:clamp(0.55rem,0.68vw,0.8rem); white-space:normal; line-height:1.15; }

/* ── Status Pizza salg ── */
.pz-full {
    width:100%; max-width:100%;
    border-radius:8px; border:1px solid rgba(0,0,0,0.08);
    box-shadow:0 1px 6px rgba(0,0,0,0.04);
}
.pz-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.62rem,0.78vw,0.92rem);
}
.pz-table thead th {
    background:#1a1a1a; color:#fff;
    font-weight:700; padding:clamp(4px,0.45vh,8px) clamp(6px,0.7vw,14px);
    letter-spacing:0.3px; white-space:nowrap; text-align:center;
    position:sticky; top:0; z-index:2;
    border-bottom:2px solid #F5C518;
    font-size:clamp(0.58rem,0.72vw,0.85rem);
}
.pz-th-label { text-align:left!important; min-width:clamp(80px,10vw,180px); }
.pz-row {
    animation:fadeSlideUp 0.12s ease both;
    animation-delay:calc(0.03s + var(--row-i,0)*0.01s);
}
.pz-row td {
    padding:clamp(2px,0.28vh,5px) clamp(6px,0.7vw,14px);
    text-align:center; font-variant-numeric:tabular-nums;
    border-bottom:1px solid rgba(0,0,0,0.04); line-height:1.2;
    background:#fefce8;
}
.pz-row:hover td { background:rgba(245,197,24,0.18); }
.pz-row-24 td { background:#F5C518; color:#1a1a1a; }
.pz-row-24:hover td { background:#e6b200; }
.pz-label { text-align:left!important; font-weight:600; color:#1a1a1a; white-space:nowrap; }
.pz-kjede { font-weight:700; }
.pz-total-row td {
    background:#F5C518!important; font-weight:800; color:#1a1a1a;
    padding:clamp(3px,0.35vh,6px) clamp(6px,0.7vw,14px);
    text-align:center; border-top:2px solid #1a1a1a;
    font-size:clamp(0.65rem,0.82vw,0.95rem);
}
.pz-total-row .pz-label { text-align:left!important; }
.pz-section-title {
    font-family:'Oswald','Anton',sans-serif;
    font-size:clamp(1rem,1.6vw,1.8rem); font-weight:800; font-style:italic;
    color:#1a1a1a; margin:6px 0 4px;
}

/* ── Pizza Salg Bar Chart ── */
.pzc-wrap { display:flex; flex-direction:column; align-items:center; width:100%; }
.pzc-title {
    font-size:clamp(0.8rem,1vw,1.1rem); font-weight:600; color:#374151;
    margin-bottom:clamp(8px,1.2vh,16px); text-align:center;
}
.pzc-chart {
    display:flex; align-items:flex-end; gap:0;
    width:clamp(300px,50vw,700px); height:clamp(280px,55vh,520px);
    border-left:2px solid #d1d5db; border-bottom:2px solid #d1d5db;
    position:relative; padding-left:clamp(30px,3.5vw,60px);
}
.pzc-yaxis {
    position:absolute; left:0; top:0; bottom:0;
    display:flex; flex-direction:column; justify-content:space-between;
    padding-right:6px;
}
.pzc-ytick {
    font-size:clamp(0.55rem,0.65vw,0.75rem); color:#6b7280;
    text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums;
}
.pzc-bars {
    flex:1; display:flex; justify-content:center; align-items:flex-end;
    height:100%; padding:0 clamp(20px,4vw,60px);
}
.pzc-bar-group {
    display:flex; align-items:flex-end; gap:clamp(8px,1.5vw,24px);
    position:relative; height:100%;
}
.pzc-bar {
    width:clamp(60px,10vw,140px);
    border-radius:4px 4px 0 0;
    display:flex; align-items:flex-start; justify-content:center;
    position:relative;
    transform-origin:bottom;
    animation:barScale 0.6s ease both;
}
.pzc-bar-prev { background:#1a5276; }
.pzc-bar-cur { background:#e67e22; animation-delay:0.15s; }
.pzc-bar-val {
    position:absolute; top:-22px; left:50%; transform:translateX(-50%);
    font-size:clamp(0.65rem,0.8vw,0.95rem); font-weight:700; color:#1a1a1a;
    white-space:nowrap;
}
.pzc-bar-label {
    position:absolute; bottom:-24px; left:50%; transform:translateX(-50%);
    font-size:clamp(0.7rem,0.85vw,1rem); font-weight:600; color:#374151;
}
.pzc-legend {
    display:flex; gap:clamp(16px,2.5vw,40px); margin-top:clamp(28px,4vh,48px);
    font-size:clamp(0.7rem,0.85vw,1rem); color:#374151;
}
.pzc-leg-item { display:flex; align-items:center; gap:6px; font-weight:500; }
.pzc-leg-box { width:14px; height:14px; border-radius:2px; display:inline-block; }
.pzc-leg-prev { background:#1a5276; }
.pzc-leg-cur { background:#e67e22; }

@keyframes barScale { from{transform:scaleY(0)} to{transform:scaleY(1)} }

/* ═══════════════════ GRØNNE DAGER ═══════════════════ */
.gd-tbl-wrap {
    overflow-x:auto;
    border-radius:8px;
    box-shadow:0 2px 8px rgba(0,0,0,.12);
    margin-bottom:clamp(6px,1vh,12px);
}
.gd-tbl-mid { margin-top:clamp(4px,0.8vh,10px); }
.gd-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.62rem,0.78vw,0.92rem);
    font-variant-numeric:tabular-nums;
}
.gd-table thead tr {
    background:#1a1a1a; color:#fff;
    border-bottom:3px solid #F5C518;
}
.gd-table thead th {
    padding:clamp(4px,0.45vh,8px) clamp(5px,0.6vw,12px);
    font-weight:700; text-align:center; white-space:nowrap;
    letter-spacing:0.3px;
}
.gd-th-label { text-align:left !important; min-width:clamp(70px,9vw,140px); }
.gd-row {
    animation:fadeSlideUp .35s ease both;
    animation-delay:calc(.06s + var(--row-i,0)*.03s);
}
.gd-row:nth-child(odd) { background:#fafafa; }
.gd-row:nth-child(even) { background:#fff; }
.gd-row:hover { background:rgba(245,197,24,0.06); }
.gd-row td {
    padding:clamp(3px,0.32vh,6px) clamp(5px,0.6vw,12px);
    text-align:center; border-bottom:1px solid rgba(0,0,0,0.04);
    color:#1a1a1a; font-weight:500; line-height:1.2;
}
.gd-label {
    text-align:left !important; font-weight:600 !important;
    color:#374151 !important; white-space:nowrap;
}
.gd-kjede { font-weight:700 !important; color:#b8860b !important; }
.gd-total-row {
    background:#fef9e7 !important;
    animation:fadeSlideUp .35s ease both;
    animation-delay:calc(.06s + var(--row-i,0)*.03s);
}
.gd-total-row td {
    padding:clamp(3px,0.32vh,6px) clamp(5px,0.6vw,12px);
    text-align:center; border-bottom:1px solid rgba(0,0,0,0.04);
    font-weight:700 !important; color:#1a1a1a;
    border-top:2px solid #F5C518; line-height:1.2;
}
.gd-total-row .gd-label { color:#92400e !important; }

/* ═══════════════════ SHAWARMA & MARINERT KYLLING ═══════════════════ */
.sm-tbl-wrap {
    overflow-x:auto;
    border-radius:8px;
    box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.sm-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.62rem,0.78vw,0.92rem);
    font-variant-numeric:tabular-nums;
}
.sm-table thead tr {
    background:#1a1a1a; color:#fff;
    border-bottom:2px solid #F5C518;
}
.sm-table thead th {
    padding:clamp(4px,0.45vh,8px) clamp(5px,0.6vw,12px);
    font-weight:700; text-align:center; white-space:nowrap;
    letter-spacing:0.3px;
}
.sm-th-label { text-align:left !important; min-width:clamp(80px,10vw,160px); }
.sm-row {
    background:#fff;
    animation:fadeSlideUp .3s ease both;
    animation-delay:calc(.04s + var(--row-i,0)*.02s);
}
.sm-row:hover { background:rgba(245,197,24,0.06); }
.sm-row td {
    padding:clamp(3px,0.32vh,6px) clamp(5px,0.6vw,12px);
    text-align:center; border-bottom:1px solid rgba(0,0,0,0.04);
    color:#1a1a1a; font-weight:500; line-height:1.2;
}
.sm-label {
    text-align:left !important; font-weight:600 !important;
    color:#374151 !important; white-space:nowrap;
}
.sm-total-row {
    background:#F5C518 !important;
    animation:fadeSlideUp .3s ease both;
    animation-delay:calc(.04s + var(--row-i,0)*.02s);
}
.sm-total-row td {
    padding:clamp(3px,0.32vh,6px) clamp(5px,0.6vw,12px);
    text-align:center; border-bottom:1px solid #b8860b;
    font-weight:700 !important; color:#1a1a1a; line-height:1.2;
}
.sm-total-row .sm-label { color:#92400e !important; }

/* ═══════════════════ STATUS DØNER ═══════════════════ */
.dn-tbl-wrap {
    overflow-x:auto;
    border-radius:8px;
    box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.dn-table {
    width:100%; border-collapse:collapse;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.62rem,0.78vw,0.92rem);
    font-variant-numeric:tabular-nums;
}
.dn-table thead tr {
    background:#1a1a1a; color:#fff;
    border-bottom:2px solid #F5C518;
}
.dn-table thead th {
    padding:clamp(4px,0.45vh,8px) clamp(5px,0.6vw,12px);
    font-weight:700; text-align:center; white-space:nowrap;
    letter-spacing:0.3px;
}
.dn-th-label { text-align:left !important; min-width:clamp(70px,9vw,140px); }
.dn-row {
    background:#fff;
    animation:fadeSlideUp .25s ease both;
    animation-delay:calc(.03s + var(--row-i,0)*.015s);
}
.dn-row:hover { background:rgba(245,197,24,0.06); }
.dn-row td {
    padding:clamp(3px,0.32vh,6px) clamp(5px,0.6vw,12px);
    text-align:center; border-bottom:1px solid rgba(0,0,0,0.04);
    color:#1a1a1a; font-weight:500; line-height:1.2;
}
.dn-label {
    text-align:left !important; font-weight:600 !important;
    color:#374151 !important; white-space:nowrap;
}
.dn-total-row {
    background:#F5C518 !important;
    animation:fadeSlideUp .25s ease both;
    animation-delay:calc(.03s + var(--row-i,0)*.015s);
}
.dn-total-row td {
    padding:clamp(3px,0.32vh,6px) clamp(5px,0.6vw,12px);
    text-align:center; border-bottom:1px solid #b8860b;
    font-weight:700 !important; color:#1a1a1a; line-height:1.2;
}
.dn-total-row .dn-label { color:#92400e !important; }
.dn-chart {
    width:100%;
    max-height:clamp(130px,18vh,220px);
    margin-top:clamp(6px,1vh,14px);
}

/* ═══════════════════ PPTX DOWNLOAD ═══════════════════ */
.pptx-dl-btn {
    display:inline-flex; align-items:center; gap:8px;
    margin-top:clamp(20px,3vh,40px);
    padding:clamp(10px,1.2vh,16px) clamp(24px,3vw,48px);
    background:transparent; color:#1a1a1a;
    border:2px solid #F5C518; border-radius:50px;
    font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:clamp(0.85rem,1.1vw,1.2rem); font-weight:700;
    cursor:pointer; transition:all 0.25s ease;
    animation:fadeSlideUp 0.5s ease 0.3s both;
}
.pptx-dl-btn:hover {
    background:#F5C518; color:#1a1a1a;
    box-shadow:0 4px 20px rgba(245,197,24,0.4);
    transform:translateY(-2px);
}
.pptx-dl-btn:active { transform:translateY(0); }
.pptx-dl-btn i { font-size:1.2em; }

/* Progress overlay */
.pptx-progress {
    position:fixed; inset:0; z-index:99999;
    background:rgba(0,0,0,0.85);
    display:flex; align-items:center; justify-content:center;
    animation:fadeIn 0.2s ease;
}
.pptx-progress-inner {
    text-align:center; width:clamp(280px,40vw,480px);
}
.pptx-progress-title {
    color:#fff; font-family:'Inter',system-ui,sans-serif;
    font-size:clamp(1.1rem,1.5vw,1.6rem); font-weight:700;
    margin-bottom:20px;
}
.pptx-progress-bar-wrap {
    width:100%; height:8px; border-radius:4px;
    background:rgba(255,255,255,0.15); overflow:hidden;
}
.pptx-progress-bar {
    height:100%; width:0; border-radius:4px;
    background:linear-gradient(90deg,#D4A017,#F5C518);
    transition:width 0.3s ease;
}
.pptx-progress-text {
    color:rgba(255,255,255,0.7); font-family:'Inter',system-ui,sans-serif;
    font-size:clamp(0.75rem,0.9vw,0.95rem); margin-top:12px;
}
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

/* --- Animations --- */
@keyframes fadeSlideUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeSlideRight { from{opacity:0;transform:translateX(-16px)} to{opacity:1;transform:translateX(0)} }
@keyframes scaleIn { from{opacity:0;transform:scale(0.88)} to{opacity:1;transform:scale(1)} }
@keyframes expandWidth { from{width:0} to{width:clamp(50px,5vw,100px)} }
@keyframes pulseGlow { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.7;transform:scale(1.08)} }
.modal.show .modal-dialog { animation:fadeSlideUp 0.3s ease; }

/* --- Responsive: mobile --- */
@media(max-width:768px){
    .pres-slide{padding:0 12px 56px}
    .slide-top-bar{flex-wrap:wrap;gap:8px;padding:10px 0 8px}
    .slide-top-bar-logo{width:32px;height:32px}
    .slide-top-bar-title{font-size:1.3rem}
    .chart-label{flex:0 0 80px;font-size:0.6rem}
    .metric-grid{grid-template-columns:repeat(2,1fr);gap:8px}
    .slide-two-col,.slide-three-col{grid-template-columns:1fr}
    .comp-grid{grid-template-columns:1fr}
    .donut-ring-item{width:85px;padding:8px}
    .slide-logo-watermark{width:28px;height:28px;bottom:50px;right:10px}
}
