/*
 * NiqExpensesReport — geteiltes Stylesheet für die eingebettete Reisekassen-Auswertung.
 * Alle Regeln sind unter .niq-report gescopt, damit sie im „Auswertung"-Toggle der Reisekasse
 * NICHT mit den generischen Klassen der Host-Seite (.block, .kpi, .range …) kollidieren.
 * Die Standalone-Seite (reisekasse-auswertung.html) nutzt weiter ihre eigene Inline-CSS.
 * Selbsttragend: eigene Farb-/Font-Variablen, damit es überall gleich aussieht.
 */
.niq-report{
  --sand:#C9A96E; --cream:#F5EFE6; --dark:#121211;
  --green:#5A9E6F; --yellow:#C9A040; --red:#B05050;
  --ff-head:'Playfair Display',Georgia,serif;
  --ff-ui:'Inter',system-ui,sans-serif;
}

/* range selector */
.niq-report .range{display:flex;align-items:center;gap:0.8rem;flex-wrap:wrap;margin-bottom:1.4rem;}
.niq-report .seg{display:inline-flex;gap:0.25rem;background:rgba(0,0,0,0.25);border:1px solid rgba(201,169,110,0.2);border-radius:999px;padding:0.25rem;}
.niq-report .seg button{border:none;background:transparent;color:rgba(245,239,230,0.6);font-size:0.82rem;padding:0.45rem 0.95rem;border-radius:999px;font-family:inherit;cursor:pointer;}
.niq-report .seg button.sel{background:var(--sand);color:var(--dark);font-weight:600;}
.niq-report .range-ctx{font-size:0.8rem;color:rgba(245,239,230,0.5);}
.niq-report .range-ctx a{color:var(--sand);border-bottom:1px solid rgba(201,169,110,0.4);}
.niq-report .custom-dates{display:none;align-items:center;gap:0.5rem;font-size:0.8rem;color:rgba(245,239,230,0.45);}
.niq-report .custom-dates.show{display:inline-flex;}
.niq-report .custom-dates input[type=date]{background:rgba(0,0,0,0.25);border:1px solid rgba(201,169,110,0.25);color:var(--cream);border-radius:8px;padding:0.4rem 0.55rem;font-family:inherit;font-size:0.8rem;color-scheme:dark;}
.niq-report .range-sm{margin:0 0 1.1rem;}
.niq-report .range-sm .seg button{font-size:0.78rem;padding:0.4rem 0.8rem;}
.niq-report .who-label{font-size:0.72rem;letter-spacing:0.06em;color:rgba(245,239,230,0.45);}

/* KPI cards */
.niq-report .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:0.7rem;margin-bottom:1.6rem;}
@media(max-width:620px){.niq-report .kpis{grid-template-columns:repeat(2,1fr);}}
.niq-report .kpi{background:rgba(255,255,255,0.03);border:1px solid rgba(201,169,110,0.15);border-radius:14px;padding:0.9rem 1rem;}
.niq-report .kpi .l{font-size:0.66rem;text-transform:uppercase;letter-spacing:0.07em;color:rgba(245,239,230,0.45);}
.niq-report .kpi .v{font-family:var(--ff-ui);font-variant-numeric:tabular-nums;font-size:1.6rem;color:var(--cream);margin-top:0.15rem;line-height:1;}
.niq-report .kpi .v .u{font-size:0.78rem;color:var(--sand);}
.niq-report .kpi .s{font-size:0.72rem;margin-top:0.3rem;}
.niq-report .kpi.track .s b{font-weight:600;}

/* section */
.niq-report .block{background:rgba(0,0,0,0.18);border:1px solid rgba(201,169,110,0.13);border-radius:16px;padding:1.2rem 1.3rem;margin-bottom:1.3rem;}
.niq-report .block-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.niq-report .block-head h2{font-family:var(--ff-head);font-size:1.2rem;font-weight:700;color:var(--cream);margin:0;}
.niq-report .block-head .hint{font-size:0.74rem;color:rgba(245,239,230,0.4);}

/* trend chart */
.niq-report .trend{display:flex;align-items:flex-end;gap:4px;height:170px;}
.niq-report .tbar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:0.4rem;cursor:pointer;height:100%;}
.niq-report .tbar .stack{width:100%;max-width:34px;border-radius:4px 4px 0 0;overflow:hidden;display:flex;flex-direction:column-reverse;transition:opacity 0.15s;min-height:2px;}
.niq-report .tbar:hover .stack{opacity:0.82;}
.niq-report .tbar .seg-fill{width:100%;}
.niq-report .tbar .cap{font-size:0.66rem;color:rgba(245,239,230,0.4);white-space:nowrap;}
.niq-report .tbar .val{font-size:0.66rem;color:rgba(245,239,230,0.7);font-family:var(--ff-ui);font-variant-numeric:tabular-nums;}

/* category breakdown */
.niq-report .cat-wrap{display:grid;grid-template-columns:150px 1fr;gap:1.3rem;align-items:center;}
@media(max-width:560px){.niq-report .cat-wrap{grid-template-columns:1fr;}}
.niq-report .donut{position:relative;width:150px;height:150px;margin:0 auto;}
.niq-report .donut .ctr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;}
.niq-report .donut svg circle.seg{cursor:pointer;transition:stroke-width 0.12s;}
.niq-report .donut svg circle.seg:hover{stroke-width:6.5;}
.niq-report .donut .ctr .big{font-family:var(--ff-ui);font-variant-numeric:tabular-nums;font-size:1.4rem;color:var(--cream);}
.niq-report .donut .ctr .sm{font-size:0.64rem;color:rgba(245,239,230,0.45);text-transform:uppercase;letter-spacing:0.06em;}
.niq-report .catlist{display:flex;flex-direction:column;gap:0.55rem;}
.niq-report .catrow{cursor:pointer;}
.niq-report .catrow .top{display:flex;align-items:center;gap:0.5rem;font-size:0.86rem;}
.niq-report .catrow .dot{width:9px;height:9px;border-radius:50%;flex:none;}
.niq-report .catrow .nm{flex:1;color:var(--cream);}
.niq-report .catrow .am{color:rgba(245,239,230,0.7);font-family:var(--ff-ui);font-variant-numeric:tabular-nums;}
.niq-report .catrow .am .bud{color:rgba(245,239,230,0.35);font-size:0.76rem;}
.niq-report .catrow .track{height:6px;background:rgba(255,255,255,0.06);border-radius:4px;margin-top:0.3rem;overflow:hidden;position:relative;}
.niq-report .catrow .track > span{display:block;height:100%;border-radius:4px;}
.niq-report .catrow .track .budmark{position:absolute;top:-2px;bottom:-2px;width:2px;background:rgba(245,239,230,0.5);}
.niq-report .catrow:hover .nm{color:var(--sand);}
.niq-report .catrow.total{padding-bottom:0.7rem;border-bottom:1px solid rgba(201,169,110,0.18);margin-bottom:0.45rem;}
.niq-report .catrow.total .top{font-size:0.94rem;}
.niq-report .catrow.total .track{height:8px;}
.niq-report .catrow.total:hover .nm{color:inherit;}
.niq-report .over{color:var(--red)!important;font-weight:600;}

/* countries */
.niq-report .countries{display:flex;flex-direction:column;gap:0.7rem;}
.niq-report .crow{cursor:pointer;}
.niq-report .crow .top{display:flex;justify-content:space-between;font-size:0.88rem;margin-bottom:0.3rem;}
.niq-report .crow .nm{color:var(--cream);}
.niq-report .crow .nm small{color:rgba(245,239,230,0.4);margin-left:0.5rem;}
.niq-report .crow .perday{color:var(--sand);font-family:var(--ff-ui);font-variant-numeric:tabular-nums;}
.niq-report .crow .bar{height:22px;background:rgba(255,255,255,0.04);border-radius:6px;overflow:hidden;display:flex;}
.niq-report .crow .bar > span{height:100%;}
.niq-report .crow:hover .nm{color:var(--sand);}

/* sprit */
.niq-report .sprit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.7rem;margin-bottom:1rem;}
.niq-report .sprit-kpi{text-align:center;padding:0.7rem 0.4rem;background:rgba(201,169,110,0.05);border:1px solid rgba(201,169,110,0.12);border-radius:12px;}
.niq-report .sprit-kpi .v{font-family:var(--ff-ui);font-variant-numeric:tabular-nums;font-size:1.4rem;color:var(--cream);}
.niq-report .sprit-kpi .v .u{font-size:0.7rem;color:var(--sand);}
.niq-report .sprit-kpi .l{font-size:0.64rem;text-transform:uppercase;letter-spacing:0.06em;color:rgba(245,239,230,0.45);margin-top:0.2rem;}
.niq-report .spark{display:flex;align-items:flex-end;gap:3px;height:54px;margin-top:0.3rem;}
.niq-report .spark > span{flex:1;background:var(--sand);border-radius:2px 2px 0 0;min-height:2px;}
.niq-report .sprit-note{font-size:0.78rem;color:rgba(245,239,230,0.5);margin-top:0.7rem;}
.niq-report .sprit-note b{color:var(--sand);}

/* export */
.niq-report .export{display:flex;gap:0.6rem;flex-wrap:wrap;}
.niq-report .export button{background:rgba(201,169,110,0.1);border:1px solid rgba(201,169,110,0.3);color:var(--sand);border-radius:10px;padding:0.55rem 1rem;font-size:0.84rem;font-family:inherit;cursor:pointer;}

/* drill sheet */
.niq-report .scrim{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,0.6);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity 0.25s;}
.niq-report .scrim.open{opacity:1;pointer-events:auto;}
.niq-report .sheet{position:fixed;left:0;right:0;bottom:0;z-index:2001;max-width:760px;margin:0 auto;background:#241910;border-top:1px solid rgba(201,169,110,0.25);border-radius:22px 22px 0 0;padding:0.6rem 1.2rem calc(1.6rem + env(safe-area-inset-bottom));transform:translateY(102%);transition:transform 0.32s cubic-bezier(.22,.61,.36,1);max-height:84vh;overflow-y:auto;box-shadow:0 -12px 40px rgba(0,0,0,0.5);}
.niq-report .sheet.open{transform:translateY(0);}
.niq-report .grab{width:42px;height:4px;border-radius:3px;background:rgba(245,239,230,0.2);margin:0.4rem auto 0.9rem;}
.niq-report .drill-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:0.2rem;}
.niq-report .drill-head h3{font-family:var(--ff-head);font-size:1.3rem;color:var(--cream);margin:0;}
.niq-report .drill-head .x{background:none;border:none;color:rgba(245,239,230,0.5);font-size:1.4rem;cursor:pointer;}
.niq-report .drill-sub{font-size:0.8rem;color:rgba(245,239,230,0.5);margin-bottom:1rem;}
.niq-report .drill-sub b{color:var(--sand);}
.niq-report .dentry{display:flex;align-items:center;gap:0.8rem;padding:0.6rem 0.2rem;border-bottom:1px solid rgba(255,255,255,0.05);}
.niq-report .dentry .bar{width:3px;align-self:stretch;border-radius:2px;flex:none;min-height:1.8em;}
.niq-report .dentry .m{flex:1;min-width:0;}
.niq-report .dentry .m .t{font-size:0.9rem;color:var(--cream);}
.niq-report .dentry .m .s{font-size:0.74rem;color:rgba(245,239,230,0.45);}
.niq-report .dentry .a{text-align:right;}
.niq-report .dentry .a .c{font-family:var(--ff-ui);font-variant-numeric:tabular-nums;font-size:1rem;color:var(--cream);}
.niq-report .dentry .a .o{font-size:0.7rem;color:rgba(245,239,230,0.4);}
