/*
 * Copyright (c) 2026 TNSystem. Alle Rechte vorbehalten.
 * Datei: public/assets/ui-accessibility.css
 * Zweck: Gestaltet die Benutzeroberfläche „ui accessibility“ des TNSystem Faktura-Portals.
 */
:root{--ui-zoom:1}
html[data-font-scale="compact"]{--ui-zoom:.95}
html[data-font-scale="standard"]{--ui-zoom:1}
html[data-font-scale="large"]{--ui-zoom:1.10}
html[data-font-scale="xlarge"]{--ui-zoom:1.20}
body{zoom:var(--ui-zoom)}

.sidebar-nav-group{margin:0;border-radius:7px}
.sidebar-nav-group>summary{
  display:flex;align-items:center;gap:14px;min-height:36px;padding:6px 10px;
  border-radius:6px;color:#d6e3f2;font-size:13.5px;font-weight:700;
  cursor:pointer;list-style:none;user-select:none
}
.sidebar-nav-group>summary::-webkit-details-marker{display:none}
.sidebar-nav-group>summary i{width:22px;text-align:center;font-style:normal;font-size:16px}
.sidebar-nav-group>summary b{margin-left:auto;font-size:13px;transition:transform .18s ease}
.sidebar-nav-group[open]>summary b{transform:rotate(180deg)}
.sidebar-nav-group>summary:hover,.sidebar-nav-group>summary.active{background:rgba(255,255,255,.09);color:#fff}
.sidebar-nav-group-items{display:grid;gap:2px;margin:2px 0 5px 21px;padding-left:9px;border-left:1px solid rgba(190,211,237,.28)}
.sidebar .sidebar-nav-group-items a{min-height:31px;padding:5px 8px;font-size:12px}
.sidebar .sidebar-nav-group-items a i{width:17px;font-size:13px}
.admin-sidebar .admin-nav-group{margin:3px 0}
.admin-sidebar .admin-nav-group>summary{border:1px solid transparent}
.admin-sidebar .admin-nav-group>summary.active{border-color:rgba(190,211,237,.16);background:rgba(255,255,255,.1)}
.admin-sidebar .admin-nav-group .sidebar-ticket-badges{margin-left:auto}

/* Administrationsübersicht: klare Prioritäten statt gleichrangiger Langseite */
.admin-dashboard{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:start}
.admin-dashboard>.admin-welcome{grid-column:1/-1;margin:0;display:flex;align-items:center;justify-content:space-between;gap:22px}
.admin-quick-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.admin-quick-actions a{padding:8px 11px;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;text-decoration:none;font-size:12px;font-weight:750;background:rgba(255,255,255,.08)}
.admin-quick-actions a:hover{background:#fff;color:#173a50}
.admin-dashboard>.admin-summary{grid-column:1/-1;grid-row:2;margin:0}
.admin-dashboard>.support-priority-panel{grid-column:1/-1;grid-row:3;margin:0}
.admin-dashboard>.business-today{grid-column:1/-1;grid-row:4;margin:0}
.admin-dashboard>.admin-analysis-fold{grid-column:1/-1;grid-row:5;margin:0;border:1px solid #dbe4ec;border-radius:11px;background:#fff;box-shadow:0 6px 20px rgba(24,55,88,.045);overflow:hidden}
.admin-analysis-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;cursor:pointer;list-style:none}
.admin-analysis-fold>summary::-webkit-details-marker{display:none}
.admin-analysis-fold>summary span{display:grid;gap:3px}
.admin-analysis-fold>summary strong{color:#173a50;font-size:14px}
.admin-analysis-fold>summary small{color:#6d7b8b;font-size:11px}
.admin-analysis-fold>summary b{padding:6px 9px;border-radius:7px;background:#edf3f8;color:#315477;font-size:11px}
.admin-analysis-fold[open]>summary{border-bottom:1px solid #e4eaf0}
.admin-analysis-fold[open]>summary b{font-size:0}
.admin-analysis-fold[open]>summary b:after{content:"Details schließen";font-size:11px}
.admin-analysis-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;background:#f7f9fc}
.admin-analysis-content>.activity-overview{grid-column:1/-1;margin:0}
.admin-analysis-content>.inactive-users-panel,.admin-analysis-content>.recent-users-panel{margin:0}
.admin-analysis-content>.admin-grid{grid-column:1/-1;margin:0}
.admin-dashboard .activity-period-grid{grid-template-columns:1fr}
.admin-dashboard .user-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-dashboard .activity-period{padding:12px}
.admin-dashboard .activity-period dl{gap:6px}
.admin-dashboard>.support-priority-panel .latest-ticket-list .empty{margin:0;padding:12px 18px;color:#6d7b8b}
.admin-dashboard>.support-priority-panel>.panel-head{padding:13px 16px}
.admin-dashboard>.support-priority-panel{min-height:0}
@media(max-width:1180px){.admin-analysis-content{grid-template-columns:1fr}}
@media(max-width:760px){
  .admin-dashboard{display:block}
  .admin-dashboard>*{margin-bottom:12px!important}
  .admin-dashboard>.admin-welcome{display:block}
  .admin-quick-actions{justify-content:flex-start;margin-top:14px}
  .admin-analysis-fold>summary{align-items:flex-start}
  .admin-analysis-content{display:block;padding:10px}
  .admin-analysis-content>*{margin-bottom:10px!important}
}

/* Administrationsstartseite: eigenständiges Business-Dashboard ohne Faltmenüs */
.admin-executive-dashboard{display:grid;gap:14px}
.executive-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 23px;border-radius:12px;background:linear-gradient(118deg,#122f46,#1d6070);color:#fff;box-shadow:0 12px 30px rgba(18,47,70,.14)}
.executive-header h2{margin:2px 0 5px;font-size:24px}.executive-header p{margin:0;color:#d4e6eb}.executive-header .eyebrow{color:#8ed1dc}
.executive-date{min-width:132px;padding-left:22px;border-left:1px solid rgba(255,255,255,.25);text-align:right}.executive-date span,.executive-date strong{display:block}.executive-date span{font-size:11px;color:#bcd6de}.executive-date strong{margin-top:4px;font-size:17px}
.executive-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.executive-kpis a{position:relative;display:grid;min-height:105px;padding:15px 16px;border:1px solid #dce5ed;border-radius:10px;background:#fff;color:#1b3045;text-decoration:none;box-shadow:0 5px 16px rgba(25,53,78,.045);transition:transform .15s ease,border-color .15s ease}
.executive-kpis a:hover{transform:translateY(-2px);border-color:#8eafc3}.executive-kpis a.attention{border-top:3px solid #d97706}
.executive-kpis span,.executive-kpis small{color:#6c7b8a;font-size:11px}.executive-kpis strong{align-self:center;font-size:24px}.executive-kpis small{align-self:end}
.executive-main-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);gap:14px}
.executive-card{padding:18px;border:1px solid #dce5ed;border-radius:11px;background:#fff;box-shadow:0 5px 18px rgba(25,53,78,.045)}
.executive-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid #e8edf2}.executive-card>header h3{margin:2px 0 0;font-size:17px}.executive-card>header>a{color:#17638a;font-size:12px;font-weight:750;text-decoration:none}.executive-card>header>span{color:#6c7b8a;font-size:11px}
.executive-ticket-list{display:grid}.executive-ticket-list>a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f5;color:#1b3045;text-decoration:none}.executive-ticket-list>a:last-child{border-bottom:0}.executive-ticket-list>a>span{font-weight:800;color:#527087}.executive-ticket-list>a>small{color:#6c7b8a}.executive-ticket-list>a.urgent{box-shadow:inset 3px 0 0 #dc2626;padding-left:10px}
.executive-empty{display:grid;place-items:center;min-height:116px;text-align:center}.executive-empty b{color:#36566e}.executive-empty span{font-size:12px;color:#7a8895}
.executive-status-list{display:grid}.executive-status-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #edf1f5}.executive-status-list>div:last-child{border-bottom:0}.executive-status-list span{color:#6c7b8a;font-size:12px}.executive-status-list strong{font-size:12px;text-align:right}.executive-status-list strong.ok{color:#08775d}.executive-status-list strong.warning{color:#b45309}
.executive-today-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin-top:14px;border:1px solid #e2e8ee;border-radius:9px;background:#e2e8ee;overflow:hidden}.executive-today-grid>div{padding:13px 14px;background:#f9fbfc}.executive-today-grid span,.executive-today-grid strong{display:block}.executive-today-grid span{min-height:28px;color:#607180;font-size:11px}.executive-today-grid strong{margin-top:5px;font-size:22px;color:#173a50}
.executive-sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.executive-sections a{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:14px 15px;border:1px solid #dce5ed;border-radius:9px;background:#fff;color:#1b3045;text-decoration:none}.executive-sections span{font-weight:800}.executive-sections small{grid-column:1/2;color:#6c7b8a;font-size:11px}.executive-sections b{grid-column:2;grid-row:1/3;align-self:center;color:#17638a;font-size:11px}
@media(max-width:1180px){.executive-kpis{grid-template-columns:repeat(3,1fr)}.executive-main-grid{grid-template-columns:1fr}.executive-today-grid{grid-template-columns:repeat(3,1fr)}.executive-sections{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.executive-header{align-items:flex-start}.executive-date{display:none}.executive-kpis{grid-template-columns:1fr 1fr}.executive-kpis a{min-height:94px}.executive-today-grid{grid-template-columns:1fr 1fr}.executive-sections{grid-template-columns:1fr}.executive-ticket-list>a{grid-template-columns:38px 1fr}.executive-ticket-list>a>small{grid-column:2}}
@media(max-width:460px){.executive-kpis,.executive-today-grid{grid-template-columns:1fr}.executive-header{padding:18px}.executive-card{padding:14px}}
.font-scale-preview{align-self:end;display:grid;gap:4px;max-width:390px;padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:#f7f9fc}
.font-scale-preview span{color:var(--muted)}
.font-scale-choice-grid .onboarding-template-choice{min-height:150px;align-content:center}
.font-scale-option-sample{display:grid;place-items:center;min-height:58px;border-radius:8px;background:#eef3f8;color:#173f68;font-weight:800;line-height:1}
.font-scale-choice-grid .onboarding-template-choice.selected .font-scale-option-sample{background:#e5f1fb;color:#075eaa}

body.nav-collapsed .sidebar-nav-group>summary{justify-content:center}
body.nav-collapsed .sidebar-nav-group>summary span,
body.nav-collapsed .sidebar-nav-group>summary b,
body.nav-collapsed .sidebar-nav-group-items{display:none}

@media(max-width:760px){
  .sidebar-nav-group>summary{min-height:40px}
}
