body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial,sans-serif;background:#f6f7fb;color:#1b1f24;}
.navbar{background:var(--secondary)!important;}
.btn-primary{background:var(--primary);border-color:var(--primary);}
.btn-primary:hover{filter:brightness(0.95);}
.card{border:0;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.06);}
.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem rgba(0,163,255,.15);}
.timer-pill{background:rgba(255,255,255,.12);border-radius:999px;padding:.35rem .75rem;font-variant-numeric:tabular-nums;}
.answer-option{border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:.75rem .9rem;margin-bottom:.6rem;background:#fff;}
.answer-option:hover{border-color:rgba(0,163,255,.4);}
.answer-correct{border-color:rgba(0,160,80,.45);background:rgba(0,160,80,.06);}
.answer-wrong{border-color:rgba(220,53,69,.45);background:rgba(220,53,69,.06);}
.joomla-login-card{max-width:420px;margin:10vh auto;}

/* ADR Trainer 4.0.6 - canonical backoffice navigation */
.admin-area{min-height:100vh;background:#f6f7fb;}
.admin-topbar{position:sticky;top:0;z-index:1040;box-shadow:0 1px 0 rgba(255,255,255,.08),0 8px 24px rgba(15,23,42,.12);}
.admin-topbar .container-fluid{min-height:48px;}
.admin-user-link{color:rgba(255,255,255,.72);font-size:.86rem;text-decoration:none;white-space:nowrap;}
.admin-user-link:hover{color:#fff;}
.admin-shell{display:flex;min-height:calc(100vh - 64px);}
.admin-sidebar{width:270px;flex:0 0 270px;background:#fff;border-right:1px solid rgba(15,23,42,.08);padding:18px 14px 26px;}
.admin-sidebar-caption{padding:0 10px 10px;color:#8792a2;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.admin-side-nav{display:flex;flex-direction:column;gap:4px;width:100%;}
.admin-side-group{padding-top:15px;margin-top:7px;border-top:1px solid rgba(15,23,42,.07);}
.admin-side-heading{padding:0 10px 7px;color:#697586;font-size:.72rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;}
.admin-side-link{display:flex;align-items:center;min-height:38px;padding:8px 10px;border-radius:9px;color:#263244;text-decoration:none;font-size:.91rem;font-weight:600;transition:background-color .12s ease,color .12s ease;}
.admin-side-link:hover{background:#f1f4f8;color:#111827;}
.admin-side-link.active{background:color-mix(in srgb,var(--primary) 12%,white);color:var(--primary);box-shadow:inset 3px 0 0 var(--primary);}
.admin-main{flex:1;min-width:0;padding:28px 30px 40px;max-width:1600px;}
.admin-mobile-offcanvas{width:min(88vw,320px);}
.admin-mobile-offcanvas .admin-side-nav{padding:0 12px 18px;}
.admin-mobile-offcanvas .admin-side-group{margin-top:5px;}
.admin-section-card{border:1px solid rgba(15,23,42,.06);box-shadow:0 8px 24px rgba(15,23,42,.05);}
.admin-section-card .card-body{padding:1.25rem;}
.admin-section-title{font-weight:700;margin-bottom:.2rem;}
.admin-section-copy{font-size:.88rem;color:#6b7280;margin-bottom:1rem;}
.admin-quicklinks{display:flex;flex-wrap:wrap;gap:.5rem;}
.admin-kpi{border:1px solid rgba(15,23,42,.06);box-shadow:none;}
.admin-kpi .card-body{padding:1rem 1.1rem;}
.admin-kpi-label{font-size:.78rem;color:#6b7280;font-weight:700;text-transform:uppercase;letter-spacing:.035em;}
.admin-kpi-value{font-size:1.75rem;line-height:1.1;font-weight:750;margin-top:.25rem;}
@media (max-width:991.98px){
  .admin-shell{display:block;min-height:0;}
  .admin-main{padding:20px 16px 34px;max-width:none;}
}
@media (max-width:575.98px){
  .admin-topbar .navbar-brand{font-size:1rem;}
  .admin-main{padding-left:12px;padding-right:12px;}
}

/* 4.0.16: lightweight server-rendered charts (no JS dependency). */
.tw-svg-chart{width:100%;overflow:hidden}.tw-svg-chart svg{display:block;width:100%;height:auto;min-height:220px}.tw-chart-grid{stroke:#dfe6ee;stroke-width:1}.tw-chart-axis{fill:#657487;font-size:12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.tw-chart-label{font-size:11px}.tw-chart-line{fill:none;stroke:#e86f1c;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.tw-chart-point{fill:#e86f1c;stroke:#fff;stroke-width:2}.tw-chart-bar-bg{fill:#eef2f6}.tw-chart-bar{fill:#e86f1c}

/* 4.1.9 R1 - TrainWerk backoffice UX foundation */
.admin-area{
  --tw-navy:#102a43;
  --tw-navy-2:#163a5f;
  --tw-orange:#e86f1c;
  --tw-orange-soft:#fff3ea;
  --tw-bg:#f4f6f8;
  --tw-border:#e3e8ef;
  --tw-text:#172033;
  --tw-muted:#667085;
  background:var(--tw-bg);
  color:var(--tw-text);
}
.admin-topbar{background:var(--tw-navy)!important;box-shadow:0 1px 0 rgba(255,255,255,.08),0 8px 24px rgba(16,42,67,.14)}
.tw-admin-brand{display:flex;align-items:center;gap:.65rem;color:#fff!important;text-decoration:none;line-height:1.05}
.tw-admin-brand>span:last-child{display:flex;flex-direction:column;gap:.08rem}
.tw-admin-brand strong{font-size:.92rem;letter-spacing:.06em}
.tw-admin-brand small{font-size:.68rem;font-weight:500;opacity:.7;letter-spacing:.03em}
.tw-brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--tw-orange);color:#fff;font-weight:800;font-size:.78rem;letter-spacing:.04em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.admin-sidebar{background:#fff;border-right:1px solid var(--tw-border);padding:20px 14px 30px}
.admin-sidebar-caption{color:#98a2b3}
.admin-side-group{border-top:1px solid #eef1f4}
.admin-side-heading{color:#7b8797}
.admin-side-link{color:#344054;border-radius:10px;font-weight:620;min-height:40px}
.admin-side-link:hover{background:#f7f8fa;color:var(--tw-navy)}
.admin-side-link.active{background:var(--tw-orange-soft);color:#b54708;box-shadow:inset 3px 0 0 var(--tw-orange)}
.admin-main{padding:30px 32px 46px}
.admin-area .card{border:1px solid var(--tw-border);border-radius:14px;box-shadow:0 8px 28px rgba(16,42,67,.055)}
.admin-area .card-header{background:#fff;border-bottom:1px solid var(--tw-border);padding:1rem 1.2rem}
.admin-area .btn{border-radius:9px;font-weight:650}
.admin-area .btn-primary{background:var(--tw-orange);border-color:var(--tw-orange)}
.admin-area .btn-primary:hover,.admin-area .btn-primary:focus{background:#d75f12;border-color:#d75f12}
.admin-area .btn-outline-primary{color:#c65a13;border-color:#e9a16d}
.admin-area .btn-outline-primary:hover{background:var(--tw-orange);border-color:var(--tw-orange);color:#fff}
.admin-area .btn-outline-secondary{border-color:#cfd6df;color:#475467;background:#fff}
.admin-area .btn-outline-secondary:hover{background:#f7f8fa;color:#1d2939;border-color:#b8c1cc}
.admin-area .form-control,.admin-area .form-select{border-color:#cfd6df;border-radius:9px;min-height:42px;background-color:#fff}
.admin-area .form-control:focus,.admin-area .form-select:focus{border-color:#ee9a60;box-shadow:0 0 0 .2rem rgba(232,111,28,.13)}
.admin-area .form-label{font-weight:650;color:#344054}
.admin-area .alert{border-radius:11px;border-width:1px}
.admin-area .badge{font-weight:650;letter-spacing:.01em}
.admin-area .table{--bs-table-bg:transparent;color:#344054}
.admin-area .table thead th{background:#f8fafc;color:#667085;font-size:.76rem;text-transform:uppercase;letter-spacing:.035em;border-bottom:1px solid var(--tw-border);padding:.85rem 1rem;white-space:nowrap}
.admin-area .table tbody td{padding:.9rem 1rem;border-color:#edf0f4}
.admin-area .table tbody tr:hover{background:#fbfcfd}
.tw-admin-table{min-width:760px}

.tw-admin-hero{display:flex;justify-content:space-between;align-items:stretch;gap:2rem;padding:26px 28px;border-radius:16px;background:linear-gradient(135deg,var(--tw-navy),var(--tw-navy-2));color:#fff;box-shadow:0 12px 34px rgba(16,42,67,.14);overflow:hidden}
.tw-admin-hero>div:first-child{min-width:0;align-self:center}
.tw-admin-eyebrow,.tw-card-kicker{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.tw-admin-eyebrow{color:#ffbf8d;margin-bottom:.45rem}
.tw-card-kicker{color:#b95a17;margin-bottom:.35rem}
.tw-admin-hero-title{font-size:clamp(1.55rem,2vw,2.15rem);line-height:1.1;margin:0;font-weight:760;letter-spacing:-.02em}
.tw-admin-hero-copy{margin:.65rem 0 0;color:rgba(255,255,255,.77);max-width:760px}
.tw-release-panel{flex:0 0 210px;display:flex;flex-direction:column;justify-content:center;gap:.25rem;padding:18px 20px;border-radius:13px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13)}
.tw-release-panel strong{font-size:1.35rem;color:#fff}.tw-release-panel span{font-size:.82rem;color:rgba(255,255,255,.72)}.tw-release-panel .tw-release-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:#ffbf8d;font-weight:750}

.admin-kpi{background:#fff}.tw-kpi-link{color:inherit!important;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.tw-kpi-link:hover{transform:translateY(-1px);border-color:#d9b89f;box-shadow:0 10px 28px rgba(16,42,67,.08)}
.admin-kpi-label{color:#667085}.admin-kpi-value{color:var(--tw-navy);font-size:1.85rem}
.tw-action-card{position:relative;color:inherit!important;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.tw-action-card:hover{border-color:#e1b28f;transform:translateY(-1px);box-shadow:0 12px 32px rgba(16,42,67,.08)}
.tw-action-arrow{position:absolute;right:20px;top:18px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--tw-orange-soft);color:#b54708;font-size:1.1rem;font-weight:800}
.tw-action-card h2{padding-right:38px;color:var(--tw-navy)}

.tw-upload-zone{display:flex;align-items:center;gap:14px;padding:18px;border:1px dashed #c8d1dc;border-radius:12px;background:#fbfcfd;cursor:pointer;transition:border-color .12s ease,background .12s ease}
.tw-upload-zone:hover{border-color:#e69a63;background:#fffaf6}.tw-upload-zone>span:nth-child(2){display:flex;flex-direction:column;gap:.15rem}.tw-upload-zone small{color:#667085}.tw-upload-icon{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:11px;background:var(--tw-orange-soft);color:#b54708;font-size:.72rem;font-weight:850;letter-spacing:.04em}
.tw-update-progress{padding:16px 18px;border-radius:12px;background:#f8fafc;border:1px solid var(--tw-border)}
.tw-update-progress .progress{height:8px;background:#e8edf3}.tw-update-progress .progress-bar{background:var(--tw-orange);transition:width .25s ease}
.tw-step-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;font-size:.67rem;color:#7b8797;text-align:center}
.tw-package-summary{padding:18px;border:1px solid #dfe5ec;border-radius:12px;background:#fff}
.tw-compact-steps{padding-left:0;list-style:none;display:grid;gap:13px}.tw-compact-steps li{position:relative;padding-left:30px}.tw-compact-steps li:before{content:counter(list-item);position:absolute;left:0;top:0;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--tw-orange-soft);color:#b54708;font-size:.7rem;font-weight:800}.tw-compact-steps strong,.tw-compact-steps span{display:block}.tw-compact-steps span{font-size:.79rem;color:#667085;margin-top:.12rem}

@media (max-width:991.98px){
  .admin-main{padding:22px 18px 36px}
  .tw-admin-hero{padding:22px;flex-direction:column;gap:1rem}.tw-release-panel{flex-basis:auto;width:100%}
}
@media (max-width:575.98px){
  .admin-main{padding:16px 12px 30px}.tw-admin-hero{padding:20px 18px;border-radius:13px}.tw-step-strip{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:8px}.tw-upload-zone{align-items:flex-start}
}

/* 4.1.9 R1b - TrainWerk family UX polish based on the live product references. */
.admin-area{
  --tw-navy:#0d3553;
  --tw-navy-2:#174f78;
  --tw-navy-3:#0a2b44;
  --tw-orange:#ff7617;
  --tw-orange-hover:#e9650c;
  --tw-orange-soft:#fff1e5;
  --tw-bg:#f3f6f8;
  --tw-card:#ffffff;
  --tw-border:#dfe5eb;
  --tw-text:#18324a;
  --tw-muted:#6b7d8d;
  --tw-success:#169b62;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  background:var(--tw-bg);
  color:var(--tw-text);
}
.admin-app-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh;background:var(--tw-bg)}
.admin-workspace{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.admin-sidebar{width:auto;min-width:0;position:sticky;top:0;height:100vh;overflow-y:auto;background:linear-gradient(180deg,var(--tw-navy-3),var(--tw-navy));border-right:0;padding:0 14px 18px;color:#fff;z-index:1030}
.admin-sidebar-brand{display:flex;flex-direction:column;padding:24px 8px 20px;text-decoration:none;color:#fff!important}
.admin-sidebar-brand-title{font-size:.82rem;font-weight:850;letter-spacing:.14em;color:#fff}
.admin-sidebar-brand-subtitle{margin-top:4px;font-size:.67rem;color:#8fb0c8;letter-spacing:.01em}
.admin-sidebar-rule{height:1px;background:rgba(255,255,255,.09);margin:0 0 14px}
.admin-sidebar .admin-side-nav{gap:3px}
.admin-sidebar .admin-side-group{padding-top:14px;margin-top:8px;border-top:1px solid rgba(255,255,255,.07)}
.admin-sidebar .admin-side-heading{padding:0 10px 7px;color:#6f9cb9;font-size:.64rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.admin-sidebar .admin-side-link{position:relative;color:#d7e5ef;border-radius:6px;min-height:37px;padding:8px 10px 8px 12px;font-size:.78rem;font-weight:620;gap:8px;box-shadow:none}
.admin-sidebar .admin-side-link:hover{background:rgba(255,255,255,.055);color:#fff}
.admin-sidebar .admin-side-link.active{background:rgba(255,255,255,.10);color:#fff;box-shadow:inset 3px 0 0 var(--tw-orange)}
.admin-nav-dot{width:5px;height:5px;border-radius:50%;background:#5f8ba8;flex:0 0 5px}
.admin-side-link.active .admin-nav-dot{background:var(--tw-orange)}
.admin-sidebar-footer{display:flex;flex-direction:column;gap:3px;padding:18px 8px 4px;margin-top:22px;border-top:1px solid rgba(255,255,255,.09);font-size:.63rem;color:#7397af;line-height:1.35}
.admin-topbar{position:sticky;top:0;z-index:1020;background:#fff!important;border-bottom:1px solid var(--tw-border);box-shadow:none;min-height:66px}
.admin-topbar-inner{min-height:66px;padding:10px 22px 10px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.admin-greeting{display:flex;flex-direction:column;line-height:1.18}
.admin-greeting strong{font-size:.86rem;color:#17344d;font-weight:800}
.admin-greeting span{font-size:.68rem;color:#788a99;margin-top:4px}
.admin-top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.admin-topbar .btn{font-size:.68rem;border-radius:5px;padding:.42rem .66rem;font-weight:700;background:#fff}
.admin-mobile-toggle{border:1px solid #d8e0e6;border-radius:6px;padding:5px 7px}
.admin-mobile-toggle .navbar-toggler-icon{filter:invert(18%) sepia(20%) saturate(1730%) hue-rotate(164deg) brightness(92%)}
.admin-main{width:100%;max-width:1420px;margin:0 auto;padding:30px 34px 48px}
.admin-area .card{border:1px solid var(--tw-border);border-radius:8px;box-shadow:0 7px 22px rgba(15,53,83,.055)}
.admin-area .card-header{padding:.9rem 1.05rem;border-bottom:1px solid var(--tw-border);background:#fff}
.admin-area .btn{border-radius:5px;font-weight:720}
.admin-area .btn-primary{background:var(--tw-orange);border-color:var(--tw-orange);color:#fff}
.admin-area .btn-primary:hover,.admin-area .btn-primary:focus{background:var(--tw-orange-hover);border-color:var(--tw-orange-hover);color:#fff}
.admin-area .btn-outline-primary{color:#d85f0b;border-color:#ef9a5e;background:#fff}
.admin-area .btn-outline-primary:hover{background:var(--tw-orange);border-color:var(--tw-orange);color:#fff}
.admin-area .btn-outline-secondary{color:#28475f;border-color:#cfd8df;background:#fff}
.admin-area .btn-outline-secondary:hover{color:#17344d;border-color:#aebcc7;background:#f7f9fa}
.admin-area .form-control,.admin-area .form-select{min-height:40px;border-radius:5px;border-color:#cfd9e1;font-size:.88rem}
.admin-area .form-control:focus,.admin-area .form-select:focus{border-color:#ee914f;box-shadow:0 0 0 .16rem rgba(255,118,23,.12)}
.admin-area .form-label{font-size:.78rem;font-weight:750;color:#29475e}
.admin-area .table thead th{background:#f7f9fb;color:#647b8d;font-size:.65rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase;padding:.72rem .9rem;border-color:#e1e7ec}
.admin-area .table tbody td{padding:.76rem .9rem;border-color:#e9edf1;font-size:.82rem;vertical-align:middle}
.admin-area .table tbody tr:hover{background:#fbfcfd}
.admin-area .badge{border-radius:999px;font-size:.65rem;padding:.38em .65em}

.tw-section-kicker,.tw-card-kicker,.tw-admin-eyebrow{font-size:.63rem;line-height:1.2;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:var(--tw-orange)}
.tw-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.tw-page-heading h1{font-size:1.65rem;line-height:1.1;color:#143953;font-weight:800;letter-spacing:-.025em;margin:.4rem 0 .35rem}
.tw-page-heading p{margin:0;color:#758896;font-size:.8rem}
.tw-platform-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(210px,.7fr);background:linear-gradient(115deg,#164f78,#14466a);border-left:4px solid var(--tw-orange);border-radius:8px;color:#fff;box-shadow:0 10px 28px rgba(13,53,83,.13);overflow:hidden}
.tw-platform-hero-copy{padding:28px 30px;align-self:center}
.tw-platform-hero-copy h2{font-size:1.45rem;line-height:1.17;margin:.45rem 0 .55rem;font-weight:800;max-width:720px}
.tw-platform-hero-copy p{margin:0;max-width:760px;color:#d1e0ea;font-size:.8rem;line-height:1.55}
.tw-platform-hero .btn-outline-light{border-color:#a8c3d5;color:#fff;background:transparent}
.tw-platform-hero .btn-outline-light:hover{background:#fff;color:#174f78}
.tw-platform-hero-metrics{border-left:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;justify-content:center;padding:18px 26px}
.tw-platform-hero-metrics>div{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.tw-platform-hero-metrics>div:last-child{border-bottom:0}
.tw-platform-hero-metrics span{grid-column:1;color:#ffb980;font-size:.59rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800}
.tw-platform-hero-metrics strong{grid-column:2;grid-row:1/3;font-size:1.35rem;color:#fff;align-self:center}
.tw-platform-hero-metrics small{grid-column:1;color:#a9c2d3;font-size:.65rem}
.tw-release-status-card{background:#fff;border:1px solid var(--tw-border);border-top:3px solid var(--tw-orange);border-radius:8px;padding:22px 22px;box-shadow:0 7px 22px rgba(15,53,83,.055)}
.tw-release-number{font-size:2.2rem;font-weight:850;line-height:1;color:#173f5d;margin-top:20px}
.tw-release-revision{font-size:.85rem;font-weight:800;color:var(--tw-orange);margin-top:4px}
.tw-release-divider{height:1px;background:#e4e9ed;margin:20px 0 14px}
.tw-section-head{margin-top:4px}
.tw-section-head h2{font-size:1.05rem;font-weight:800;color:#173f5d;margin:.38rem 0 .25rem}
.tw-section-head p{font-size:.76rem;color:#7d8d99;margin:0}
.tw-work-card{position:relative;display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid var(--tw-border);border-top:2px solid #e6ebef;border-radius:7px;padding:18px 20px;color:inherit;box-shadow:0 5px 18px rgba(15,53,83,.04);transition:border-color .13s ease,box-shadow .13s ease,transform .13s ease}
.tw-work-card:hover{border-top-color:var(--tw-orange);box-shadow:0 9px 24px rgba(15,53,83,.08);transform:translateY(-1px)}
.tw-work-card-icon{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#174f78;color:#fff;font-size:.64rem;font-weight:850}
.tw-work-card-body{min-width:0;padding-right:58px}
.tw-work-card h3{font-size:.95rem;font-weight:800;color:#183b56;margin:.28rem 0 .28rem}
.tw-work-card p{font-size:.72rem;line-height:1.48;color:#758796;margin:0}
.tw-work-metric{display:inline-block;margin-top:8px;font-size:.66rem;font-weight:750;color:#2a536e;background:#f3f7fa;border-radius:4px;padding:4px 7px}
.tw-work-open{position:absolute;right:18px;top:18px;font-size:.67rem;font-weight:800;color:#e46a13}
.tw-mini-stat{height:100%;background:#fff;border:1px solid var(--tw-border);border-top:2px solid var(--tw-orange);border-radius:7px;padding:15px 17px;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 4px 15px rgba(15,53,83,.035)}
.tw-mini-stat span{font-size:.68rem;color:#728696;font-weight:650}.tw-mini-stat strong{font-size:1.22rem;color:#173f5d}
.tw-system-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;border:1px solid var(--tw-border);border-left:3px solid var(--tw-orange);border-radius:7px;padding:17px 19px;box-shadow:0 5px 18px rgba(15,53,83,.04)}
.tw-system-strip>div:first-child{display:flex;flex-direction:column;gap:4px}.tw-system-strip strong{font-size:.87rem;color:#183b56}.tw-system-strip span{font-size:.71rem;color:#758796;max-width:850px}

.tw-admin-hero{border-radius:8px;border-left:4px solid var(--tw-orange);background:linear-gradient(115deg,#164f78,#14466a);padding:25px 28px;box-shadow:0 9px 26px rgba(13,53,83,.12)}
.tw-admin-hero-title{font-size:1.45rem}.tw-admin-hero-copy{font-size:.78rem;color:#d1e0ea}.tw-release-panel{border-radius:6px;background:rgba(255,255,255,.08);flex-basis:195px}
.tw-release-panel .tw-release-label{color:#ffb980}
.tw-upload-zone{border-radius:7px}.tw-upload-icon{border-radius:6px}
.tw-update-progress{border-radius:7px}.tw-package-summary{border-radius:7px}
.tw-step-strip span{border-radius:4px}

.admin-mobile-offcanvas{background:var(--tw-navy-3);color:#fff;width:min(88vw,330px)}
.admin-mobile-head{background:var(--tw-navy-3);border-bottom:1px solid rgba(255,255,255,.09)}
.admin-mobile-offcanvas .admin-side-nav{padding:12px 12px 18px}
.admin-mobile-offcanvas .admin-side-group{padding-top:14px;margin-top:8px;border-top:1px solid rgba(255,255,255,.07)}
.admin-mobile-offcanvas .admin-side-heading{color:#6f9cb9;font-size:.64rem;letter-spacing:.13em}
.admin-mobile-offcanvas .admin-side-link{color:#d7e5ef;border-radius:6px;font-size:.8rem;gap:8px}
.admin-mobile-offcanvas .admin-side-link:hover{background:rgba(255,255,255,.055);color:#fff}
.admin-mobile-offcanvas .admin-side-link.active{background:rgba(255,255,255,.10);color:#fff;box-shadow:inset 3px 0 0 var(--tw-orange)}
.admin-mobile-meta{padding:16px 20px;border-top:1px solid rgba(255,255,255,.09);font-size:.66rem;color:#7397af;display:flex;flex-direction:column;gap:3px}

/* Split-screen internal login matching the TrainWerk product family. */
.tw-admin-login-page{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:#fff;color:#18324a}
.tw-admin-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr)}
.tw-admin-login-brand{position:relative;display:flex;flex-direction:column;background:linear-gradient(145deg,#0b2e48,#0d3b5b);color:#fff;padding:42px clamp(34px,5vw,72px);overflow:hidden}
.tw-admin-login-brand:after{content:"";position:absolute;right:-18%;bottom:5%;width:70%;height:1px;background:rgba(255,255,255,.08);transform:rotate(-8deg);box-shadow:0 100px 0 rgba(255,255,255,.05)}
.tw-login-brand-top{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.tw-login-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:4px;background:#ff7617;font-size:.7rem;font-weight:850}.tw-login-brand-top>div{display:flex;flex-direction:column}.tw-login-brand-top strong{font-size:.85rem}.tw-login-brand-top span:last-child{font-size:.63rem;color:#98b5c9;margin-top:3px}
.tw-login-brand-copy{margin:auto 0;position:relative;z-index:1;max-width:720px}.tw-login-brand-copy .tw-section-kicker{color:#ff8a34}.tw-login-brand-copy h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;letter-spacing:-.035em;margin:18px 0 18px;font-weight:850}.tw-login-brand-copy>p{max-width:630px;color:#b7cad7;font-size:.82rem;line-height:1.55}
.tw-login-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px}.tw-login-benefits>div{padding:0 22px;border-left:1px solid rgba(255,255,255,.11);display:flex;flex-direction:column;gap:5px}.tw-login-benefits>div:first-child{padding-left:0;border-left:0}.tw-login-benefits span{color:#ff7617;font-size:1.15rem}.tw-login-benefits strong{font-size:.72rem}.tw-login-benefits small{font-size:.62rem;line-height:1.45;color:#8eacbf}
.tw-login-brand-foot{position:relative;z-index:1;font-size:.62rem;color:#789bae;line-height:1.45}.tw-login-brand-foot small{font-size:.58rem}
.tw-admin-login-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 28px;background:#fff}.tw-admin-login-card{width:min(100%,430px);border:1px solid #dfe5eb;border-top:3px solid #ff7617;border-radius:5px;padding:34px 36px;box-shadow:0 18px 46px rgba(15,53,83,.10)}.tw-admin-login-card h2{font-size:1.65rem;color:#163c58;font-weight:830;margin:10px 0 4px}.tw-login-accent{width:34px;height:3px;background:#ff7617;margin:11px 0 18px}.tw-admin-login-card>p{font-size:.76rem;line-height:1.55;color:#7a8a98;margin-bottom:22px}.tw-admin-login-card .form-label{font-size:.7rem;font-weight:800;color:#243f55}.tw-admin-login-card .form-control{min-height:44px;border-radius:4px;border-color:#cfd9e1}.tw-admin-login-card .form-control:focus{border-color:#ee914f;box-shadow:0 0 0 .16rem rgba(255,118,23,.12)}.tw-admin-login-card .btn{min-height:45px;border-radius:4px;background:#ff7617;border-color:#ff7617;font-weight:800}.tw-admin-login-card .btn:hover{background:#e9650c;border-color:#e9650c}.tw-login-card-foot{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e5e9ed;font-size:.65rem}.tw-login-card-foot span{color:#8a99a5}.tw-login-card-foot a{font-weight:800;color:#183f5d;text-decoration:none}.tw-admin-login-legal{width:min(100%,430px);display:flex;justify-content:center;gap:22px;margin-top:40px;color:#a0adb7;font-size:.58rem}

@media (max-width:1199.98px){.tw-platform-hero{grid-template-columns:1fr}.tw-platform-hero-metrics{border-left:0;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:repeat(3,1fr);padding:0 24px}.tw-platform-hero-metrics>div{border-bottom:0;border-right:1px solid rgba(255,255,255,.12);padding:16px 12px}.tw-platform-hero-metrics>div:last-child{border-right:0}}
@media (max-width:991.98px){.admin-app-shell{display:block}.admin-main{max-width:none;padding:24px 18px 38px}.admin-topbar-inner{padding-left:16px;padding-right:16px}.tw-admin-login-shell{grid-template-columns:1fr}.tw-admin-login-brand{min-height:auto;padding:34px 28px}.tw-login-brand-copy{margin:55px 0 30px}.tw-login-benefits{margin-top:26px}.tw-admin-login-main{padding:42px 20px}}
@media (max-width:767.98px){.admin-greeting span{display:none}.tw-platform-hero-metrics{grid-template-columns:1fr}.tw-platform-hero-metrics>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.tw-platform-hero-metrics>div:last-child{border-bottom:0}.tw-work-card-body{padding-right:0}.tw-work-open{position:static;align-self:center;margin-left:auto}.tw-login-benefits{grid-template-columns:1fr;gap:16px}.tw-login-benefits>div,.tw-login-benefits>div:first-child{padding:0 0 0 16px;border-left:1px solid rgba(255,255,255,.11)}.tw-login-brand-copy h1{font-size:2.15rem}}
@media (max-width:575.98px){.admin-main{padding:18px 12px 30px}.admin-topbar-inner{padding:9px 12px}.admin-top-actions .btn{padding:.38rem .5rem}.tw-page-heading h1{font-size:1.4rem}.tw-platform-hero-copy{padding:22px 20px}.tw-work-card{padding:16px}.tw-admin-login-card{padding:28px 22px}.tw-admin-login-main{padding:32px 14px}.tw-admin-login-brand{padding:28px 22px}}


/* 4.1.9 R2 - accordion navigation + people lifecycle */
.admin-sidebar .admin-side-nav,.admin-mobile-offcanvas .admin-side-nav{gap:8px}
.admin-overview-link{margin-bottom:4px}
.admin-sidebar .admin-side-group,.admin-mobile-offcanvas .admin-side-group{padding:0;margin:0;border:1px solid rgba(255,255,255,.07);border-radius:8px;overflow:hidden;background:rgba(3,31,50,.13)}
.admin-sidebar .admin-side-group.is-active-group,.admin-mobile-offcanvas .admin-side-group.is-active-group{background:rgba(255,255,255,.025)}
.admin-side-group-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:58px;padding:10px 11px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}
.admin-side-group-toggle:hover{background:rgba(255,255,255,.045)}
.admin-side-group-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
.admin-side-group-copy strong{font-size:.77rem;line-height:1.15;color:#fff;font-weight:760}
.admin-side-group-copy small{font-size:.59rem;line-height:1.2;color:#78a0b9;font-weight:500}
.admin-side-group-symbol{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;color:#8dc1e2;font-size:1.05rem;font-weight:800;line-height:1}
.admin-side-group.is-open .admin-side-group-symbol{color:var(--tw-orange)}
.admin-side-group-items{padding:0 7px 8px;border-top:1px solid rgba(255,255,255,.055)}
.admin-side-group-items[hidden]{display:none!important}
.admin-sidebar .admin-side-group-items .admin-side-link,.admin-mobile-offcanvas .admin-side-group-items .admin-side-link{margin-top:3px;padding-left:14px;min-height:34px;font-size:.73rem}
.admin-sidebar .admin-side-group-items .admin-side-link.active,.admin-mobile-offcanvas .admin-side-group-items .admin-side-link.active{background:rgba(255,255,255,.11)}
.admin-sidebar .admin-side-heading,.admin-mobile-offcanvas .admin-side-heading{display:none}
@media (max-width:991.98px){.admin-mobile-offcanvas .admin-side-group{margin-inline:0}.admin-side-group-toggle{min-height:60px}}


/* 4.1.9 R2a - unified TrainWerk product-family navigation */
.admin-sidebar .admin-side-link,.admin-mobile-offcanvas .admin-side-link{border-radius:4px}
.admin-sidebar .admin-side-link.active,.admin-mobile-offcanvas .admin-side-link.active{
  background:rgba(255,255,255,.11);
  color:#fff;
  box-shadow:inset 3px 0 0 var(--tw-orange);
}
.admin-nav-dot{display:none!important}
.admin-nav-icon{
  display:inline-grid;
  place-items:center;
  width:16px;
  min-width:16px;
  height:18px;
  color:#7fa6bf;
  font-size:.72rem;
  font-weight:760;
  line-height:1;
  text-align:center;
}
.admin-side-link:hover .admin-nav-icon{color:#c4dbe8}
.admin-side-link.active .admin-nav-icon{color:#d7e6ef}
.admin-sidebar .admin-side-group-items,.admin-mobile-offcanvas .admin-side-group-items{padding-left:0;padding-right:0}
.admin-sidebar .admin-side-group-items .admin-side-link,.admin-mobile-offcanvas .admin-side-group-items .admin-side-link{
  margin:3px 7px 0;
  padding-left:11px;
}
.admin-side-group.is-open .admin-side-group-symbol{color:var(--tw-orange)}
.admin-overview-link.active{box-shadow:inset 3px 0 0 var(--tw-orange)}

/* 4.1.11 R2g - professional role/tenant work context */
.tw-admin-context-switcher{position:relative;margin:0;flex:0 1 auto}
.tw-admin-context-switcher>summary{list-style:none;display:flex;align-items:center;gap:.55rem;min-width:210px;max-width:330px;padding:.42rem .68rem;border:1px solid #d7e0e8;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.tw-admin-context-switcher>summary::-webkit-details-marker{display:none}
.tw-admin-context-switcher>summary:hover{border-color:#b8c7d4;background:#fbfcfd}
.tw-admin-context-switcher[open]>summary{border-color:#9fb2c3;box-shadow:0 0 0 3px rgba(27,72,108,.08)}
.tw-admin-context-symbol{width:27px;height:27px;border-radius:7px;background:#eef3f7;color:var(--tw-navy,#10253f);display:grid;place-items:center;font-size:.75rem;font-weight:900;flex:0 0 auto}
.tw-admin-context-summary-copy{min-width:0;display:flex;flex-direction:column;line-height:1.1}
.tw-admin-context-summary-copy small{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:#738394;font-weight:800}
.tw-admin-context-summary-copy strong{font-size:.76rem;color:var(--tw-navy,#10253f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.tw-admin-context-chevron{margin-left:auto;color:#7b8b99;font-size:.82rem;transition:transform .15s ease}
.tw-admin-context-switcher[open] .tw-admin-context-chevron{transform:rotate(180deg)}
.tw-admin-context-popover{position:absolute;right:0;top:calc(100% + 9px);width:min(360px,calc(100vw - 24px));z-index:1060;background:#fff;border:1px solid #d8e1e9;border-radius:10px;padding:14px;box-shadow:0 18px 42px rgba(16,37,63,.18)}
.tw-admin-context-popover:before{content:"";position:absolute;right:22px;top:-6px;width:11px;height:11px;background:#fff;border-left:1px solid #d8e1e9;border-top:1px solid #d8e1e9;transform:rotate(45deg)}
.tw-admin-context-popover-head{position:relative;display:flex;flex-direction:column;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #edf1f4}
.tw-admin-context-popover-head strong{font-size:.88rem;color:var(--tw-navy,#10253f)}
.tw-admin-context-popover-head span{font-size:.7rem;color:#7a8a99;margin-top:2px;line-height:1.4}
.tw-admin-context-form{display:grid;gap:10px}
.tw-admin-context-form label{display:grid;gap:5px;margin:0}
.tw-admin-context-form label>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:#687b8d;font-weight:800}
.tw-admin-context-form .form-select{font-size:.78rem;border-color:#ccd8e2}
.tw-admin-context-fixed{padding:.43rem .6rem;border:1px solid #d6dfe7;border-radius:6px;background:#f7f9fb;color:#314a60;font-size:.78rem;font-weight:700}
.tw-managed-company-banner{border-left:5px solid var(--tw-orange,#f28c28);background:#fff7ed;border-radius:8px;padding:.85rem 1rem;margin-bottom:1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}
.tw-managed-company-banner strong{color:var(--tw-navy,#10253f)}
@media (max-width:991.98px){.tw-admin-context-switcher>summary{min-width:0;max-width:250px}.tw-admin-context-summary-copy small{display:none}.tw-admin-context-summary-copy strong{max-width:160px}}


/* 4.1.11 R2g - internal admin library */
.tw-library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}
.tw-library-kicker{color:var(--tw-orange,#e97924);letter-spacing:.08em}
.tw-library-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.tw-library-security-note{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;border:1px solid #d9e4ec;border-left:4px solid var(--tw-orange,#e97924);border-radius:10px;background:#fff;padding:13px 15px;margin-bottom:14px}
.tw-library-security-icon{width:30px;height:30px;border-radius:8px;background:#edf3f7;color:var(--tw-navy,#10253f);display:grid;place-items:center;font-size:.72rem}
.tw-library-security-note strong{display:block;color:var(--tw-navy,#10253f);font-size:.82rem}
.tw-library-security-note span{display:block;color:#748494;font-size:.74rem;line-height:1.45;margin-top:2px}
.tw-library-search{display:flex;gap:8px;margin-bottom:16px}
.tw-library-search .form-control{min-width:0}
.tw-library-stack{display:grid;gap:10px}
.tw-library-section{background:#fff;border:1px solid #dce4eb;border-radius:10px;overflow:visible}
.tw-library-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;background:#fff;border-radius:10px}
.tw-library-section>summary::-webkit-details-marker{display:none}
.tw-library-section[open]>summary{border-bottom:1px solid #e6edf2;border-radius:10px 10px 0 0;background:#fbfcfd}
.tw-library-section-copy{display:flex;flex-direction:column;min-width:0}
.tw-library-section-copy strong{font-size:.9rem;color:#20394f}
.tw-library-section-copy small{font-size:.7rem;color:#81909f;margin-top:2px}
.tw-library-section-marker{width:26px;height:26px;border:1px solid #d6e0e8;border-radius:7px;display:grid;place-items:center;color:#5d7285;font-weight:800}
.tw-library-section[open] .tw-library-section-marker{font-size:0}
.tw-library-section[open] .tw-library-section-marker:after{content:"×";font-size:.9rem}
.tw-library-section-body{padding:12px;display:grid;gap:10px;background:#f8fafc;border-radius:0 0 10px 10px}
.tw-library-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid #e0e7ed;border-radius:9px;padding:14px}
.tw-library-item-topline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.tw-library-status,.tw-library-conf,.tw-library-type{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:.6rem;font-weight:850;letter-spacing:.04em}
.tw-library-status.is-current{background:#e7f5ec;color:#23744d}
.tw-library-conf{background:#f1f4f7;color:#5d6e7e}
.tw-library-conf.is-superadmin{background:#f9e8e8;color:#9b3131}
.tw-library-conf.is-trainwerk{background:#eaf1f7;color:#2e5d83}
.tw-library-conf.is-tenant{background:#fff2df;color:#966020}
.tw-library-conf.is-project{background:#ecf3e9;color:#4a7a3a}
.tw-library-type{background:#f6f7f9;color:#6c7884}
.tw-library-item h2{font-size:.95rem;margin:0;color:#203a51}
.tw-library-item p{margin:5px 0 0;color:#768797;font-size:.74rem;line-height:1.5}
.tw-library-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;color:#81909d;font-size:.67rem}
.tw-library-meta strong{color:#52677a;font-weight:750}
.tw-library-item-action{align-self:center}
.tw-library-history{background:#fff;border:1px dashed #d7e0e7;border-radius:8px}
.tw-library-history>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;color:#536a7f;font-size:.74rem;font-weight:800}
.tw-library-history>summary::-webkit-details-marker{display:none}
.tw-library-history>summary strong{min-width:24px;text-align:center;border-radius:999px;background:#eef2f5;padding:2px 6px}
.tw-library-history-list{border-top:1px solid #e9eef2}
.tw-library-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #eef2f5}
.tw-library-history-row:last-child{border-bottom:0}
.tw-library-history-row>div{display:flex;flex-direction:column;min-width:0}
.tw-library-history-row strong{font-size:.76rem;color:#304a61}
.tw-library-history-row span{font-size:.66rem;color:#82909d;margin-top:2px}
.tw-library-empty{background:#fff;border:1px dashed #d7e0e7;border-radius:10px;padding:28px;text-align:center;color:#7c8b98;font-size:.8rem}
@media(max-width:767.98px){.tw-library-head{align-items:flex-start;flex-direction:column}.tw-library-search{flex-wrap:wrap}.tw-library-search .form-control{width:100%;flex-basis:100%}.tw-library-item{grid-template-columns:1fr}.tw-library-item-action .btn{width:100%}.tw-library-item-action{width:100%}}


/* 4.1.11 R4d - Admin sidebar visual alignment
 * Pure presentation patch. The canonical navigation structure, order,
 * capabilities and role filtering remain in admin/_top.php unchanged.
 * Visual language follows the compact Interactive Demo sidebar.
 */
.admin-sidebar .admin-side-nav,
.admin-mobile-offcanvas .admin-side-nav{
  gap:4px;
}
.admin-sidebar .admin-side-group,
.admin-mobile-offcanvas .admin-side-group{
  margin:10px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
}
.admin-sidebar .admin-side-group.is-active-group,
.admin-mobile-offcanvas .admin-side-group.is-active-group{
  background:transparent;
}
.admin-side-group-toggle{
  min-height:auto;
  padding:12px 10px 7px;
  border:0;
  border-radius:0;
  background:transparent;
}
.admin-side-group-toggle:hover,
.admin-side-group-toggle:focus{
  background:transparent;
}
.admin-side-group-copy{
  gap:0;
}
.admin-side-group-copy strong{
  color:#7f9cb4;
  font-size:.63rem;
  line-height:1.25;
  font-weight:850;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.admin-side-group-copy small{
  display:none;
}
.admin-side-group-symbol{
  width:18px;
  min-width:18px;
  height:18px;
  color:#7897af;
  font-size:.78rem;
  font-weight:800;
}
.admin-side-group.is-open .admin-side-group-symbol{
  color:#9bb4c7;
}
.admin-side-group-items{
  padding:0;
  border-top:0;
}
.admin-sidebar .admin-side-group-items,
.admin-mobile-offcanvas .admin-side-group-items{
  padding-left:0;
  padding-right:0;
}
.admin-sidebar .admin-side-link,
.admin-mobile-offcanvas .admin-side-link{
  position:relative;
  min-height:40px;
  padding:7px 10px;
  border-radius:8px;
  gap:9px;
  color:#d4e0ea;
  font-size:.78rem;
  font-weight:620;
  line-height:1.25;
  box-shadow:none;
  transition:background-color .14s ease,color .14s ease,transform .14s ease;
}
.admin-sidebar .admin-side-group-items .admin-side-link,
.admin-mobile-offcanvas .admin-side-group-items .admin-side-link{
  margin:3px 7px 0;
  min-height:40px;
  padding:7px 10px;
  font-size:.76rem;
}
.admin-sidebar .admin-side-link:hover,
.admin-mobile-offcanvas .admin-side-link:hover{
  background:rgba(255,255,255,.055);
  color:#fff;
  transform:translateX(1px);
}
.admin-sidebar .admin-side-link.active,
.admin-mobile-offcanvas .admin-side-link.active{
  background:rgba(255,255,255,.09);
  color:#fff;
  font-weight:760;
  box-shadow:none;
  transform:none;
}
.admin-sidebar .admin-side-link.active::before,
.admin-mobile-offcanvas .admin-side-link.active::before{
  content:"";
  position:absolute;
  top:7px;
  bottom:7px;
  width:4px;
  border-radius:0 4px 4px 0;
  background:var(--tw-orange);
}
.admin-sidebar .admin-overview-link.active::before{
  left:-14px;
}
.admin-sidebar .admin-side-group-items .admin-side-link.active::before{
  left:-21px;
}
.admin-mobile-offcanvas .admin-overview-link.active::before{
  left:-12px;
}
.admin-mobile-offcanvas .admin-side-group-items .admin-side-link.active::before{
  left:-19px;
}
.admin-overview-link{
  margin:0 0 7px;
}
.admin-nav-icon{
  display:inline-grid;
  place-items:center;
  width:24px;
  min-width:24px;
  height:24px;
  border-radius:6px;
  background:rgba(255,255,255,.055);
  color:#9eb7ca;
  font-size:.64rem;
  font-weight:800;
  line-height:1;
  transition:background-color .14s ease,color .14s ease;
}
.admin-side-link:hover .admin-nav-icon{
  background:rgba(255,255,255,.075);
  color:#cbdbe7;
}
.admin-side-link.active .admin-nav-icon{
  background:rgba(255,255,255,.07);
  color:#e2ebf2;
}
.admin-nav-dot{
  display:none!important;
}
@media (max-width:991.98px){
  .admin-mobile-offcanvas .admin-side-group{margin-top:9px}
  .admin-mobile-offcanvas .admin-side-group-toggle{min-height:auto;padding:12px 10px 7px}
}

/* 4.1.12 R6c - Admin Blue Glass Visual
 * User-supplied blue depth artwork is used only on large blue backoffice
 * surfaces. A translucent navy layer preserves TrainWerk contrast and brand
 * consistency; glass blur is deliberately limited to navigation/metric panes.
 */
:root{
  --tw-admin-blue-depth-image:url("../img/admin/HINTERGRUND-BLAU.png");
  --tw-admin-blue-depth-overlay:linear-gradient(125deg,rgba(5,27,47,.80),rgba(6,48,80,.68));
  --tw-admin-blue-depth-overlay-deep:linear-gradient(180deg,rgba(4,25,43,.91),rgba(7,47,76,.82));
  --tw-admin-glass-fill:rgba(255,255,255,.075);
  --tw-admin-glass-border:rgba(255,255,255,.14);
  --tw-admin-glass-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 18px 42px rgba(3,25,43,.20);
}

/* Canonical desktop and mobile navigation backgrounds. */
.admin-sidebar,
.admin-mobile-offcanvas,
.admin-mobile-head{
  background-color:#082f4d;
  background-image:var(--tw-admin-blue-depth-overlay-deep),var(--tw-admin-blue-depth-image)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:55% center!important;
}
.admin-sidebar{box-shadow:10px 0 34px rgba(3,27,47,.16)}
.admin-sidebar-rule{background:rgba(255,255,255,.12)}
.admin-sidebar-footer,.admin-mobile-meta{color:rgba(207,225,238,.66);border-top-color:rgba(255,255,255,.12)}
.admin-sidebar-brand-subtitle{color:rgba(211,229,241,.68)}
.admin-side-group-copy strong{color:rgba(199,220,235,.68)}
.admin-side-group-symbol{color:rgba(202,222,236,.64)}
.admin-side-group.is-open .admin-side-group-symbol{color:rgba(233,242,248,.86)}

.admin-sidebar .admin-side-link:hover,
.admin-mobile-offcanvas .admin-side-link:hover{
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
  -webkit-backdrop-filter:blur(8px) saturate(115%);
  backdrop-filter:blur(8px) saturate(115%);
}
.admin-sidebar .admin-side-link.active,
.admin-mobile-offcanvas .admin-side-link.active{
  background:rgba(255,255,255,.105);
  border:1px solid rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 8px 22px rgba(1,23,40,.12);
  -webkit-backdrop-filter:blur(10px) saturate(120%);
  backdrop-filter:blur(10px) saturate(120%);
}
.admin-nav-icon{
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.045);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}

/* Dashboard and section heroes: artwork + transparent navy brand layer. */
.tw-platform-hero,
.tw-admin-hero{
  background-color:#124b72;
  background-image:var(--tw-admin-blue-depth-overlay),var(--tw-admin-blue-depth-image)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center 52%!important;
  border-top:1px solid rgba(255,255,255,.10);
  border-right:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(4,34,57,.22);
  box-shadow:var(--tw-admin-glass-shadow);
}
.tw-platform-hero-copy p,
.tw-admin-hero-copy{color:rgba(231,241,248,.82)}
.tw-release-panel{
  background:var(--tw-admin-glass-fill);
  border:1px solid var(--tw-admin-glass-border);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 30px rgba(2,25,43,.12);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  backdrop-filter:blur(14px) saturate(120%);
}
.tw-platform-hero-metrics{
  background:rgba(3,31,52,.20);
  border-left:1px solid rgba(255,255,255,.15);
  box-shadow:inset 1px 0 0 rgba(255,255,255,.035);
  -webkit-backdrop-filter:blur(12px) saturate(115%);
  backdrop-filter:blur(12px) saturate(115%);
}
.tw-platform-hero-metrics>div{border-bottom-color:rgba(255,255,255,.14)}

/* Internal admin login uses the same visual language and cache-safe theme URL. */
.tw-admin-login-brand{
  background-color:#082f4d;
  background-image:linear-gradient(145deg,rgba(4,25,43,.84),rgba(7,49,80,.70)),var(--tw-admin-blue-depth-image)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center 52%!important;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.08);
}
.tw-admin-login-brand:after{
  width:78%;
  height:32%;
  right:-18%;
  bottom:-7%;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.12),rgba(255,255,255,0) 68%);
  transform:none;
  box-shadow:none;
  pointer-events:none;
}
.tw-login-benefits{
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  background:rgba(4,31,52,.18);
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
  -webkit-backdrop-filter:blur(12px) saturate(115%);
  backdrop-filter:blur(12px) saturate(115%);
}
.tw-login-benefits>div{border-left-color:rgba(255,255,255,.10)}

/* Fallback keeps contrast if backdrop-filter is unavailable. */
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .tw-release-panel{background:rgba(7,43,70,.78)}
  .tw-platform-hero-metrics{background:rgba(6,41,68,.58)}
  .tw-login-benefits{background:rgba(5,37,62,.56)}
}

/* 4.1.12 R6d - Add-on hub, Incident foundation and global breadcrumbs */
.tw-admin-breadcrumbs{margin:0 0 18px;padding:0 0 10px;border-bottom:1px solid #e2e8ee;overflow-x:auto;scrollbar-width:thin}
.tw-admin-breadcrumbs ol{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0;min-width:max-content;font-size:.72rem;line-height:1.25;color:#778697}
.tw-admin-breadcrumbs a{color:#4c6479;text-decoration:none;font-weight:650}
.tw-admin-breadcrumbs a:hover{color:var(--tw-orange);text-decoration:none}
.tw-admin-breadcrumbs [aria-current="page"] span{color:#24384a;font-weight:760}
.tw-admin-breadcrumb-sep{color:#a9b5c0;user-select:none}
.tw-admin-hero-kicker{font-size:.66rem;line-height:1.1;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#ffb980;margin-bottom:8px}

.tw-addon-card,.tw-addon-settings-card,.tw-incident-next-card{border:1px solid #e0e7ed;box-shadow:0 8px 24px rgba(11,43,67,.055)}
.tw-addon-card{overflow:hidden;position:relative}
.tw-addon-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--tw-orange)}
.tw-addon-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:10px;background:#123f61;color:#fff;font-weight:850;font-size:1.1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 18px rgba(8,47,77,.13)}
.tw-addon-icon-lg{width:50px;height:50px;flex-basis:50px;font-size:1.35rem;border-radius:12px}
.tw-addon-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tw-addon-meta>span{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid #e4e9ee;background:#f8fafb;border-radius:7px;min-width:0}
.tw-addon-meta small{font-size:.62rem;color:#7a8794;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.tw-addon-meta strong{font-size:.8rem;color:#263a4c;overflow:hidden;text-overflow:ellipsis}
.tw-addon-switch-form{margin:0;flex:0 0 auto}
.tw-module-switch{display:inline-flex;align-items:center;gap:8px;min-width:78px;padding:6px 9px;border:1px solid #cfd8df;border-radius:999px;background:#eef2f5;color:#697886;font-size:.67rem;font-weight:800;letter-spacing:.05em;cursor:pointer;transition:.18s ease}
.tw-module-switch>span{display:block;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid #cbd5dd;box-shadow:0 2px 5px rgba(0,0,0,.08);transition:.18s ease}
.tw-module-switch.is-on{background:#eaf5ef;border-color:#9bc9ae;color:#216b40}
.tw-module-switch.is-on>span{transform:translateX(4px);background:#2f8b57;border-color:#2f8b57;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 2px 6px rgba(34,105,64,.18)}
.tw-module-switch:hover{border-color:#9eabb5}
.tw-module-switch:focus-visible{outline:3px solid rgba(242,108,33,.22);outline-offset:2px}
.tw-incident-next-card{border-left:4px solid var(--tw-orange)}
.tw-incident-next-copy{max-width:800px}

@media (max-width:767.98px){
  .tw-admin-breadcrumbs{margin-bottom:14px;padding-bottom:8px}
  .tw-addon-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:420px){.tw-addon-meta{grid-template-columns:1fr}}

/* 4.1.12 R6e - Tools & Einstellungen: klare Trennung LMS / Zusatzmodule */
.tw-tools-domain-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tw-tools-domain-option{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;align-items:center;padding:17px 18px;border:1px solid #dbe3ea;border-radius:13px;background:rgba(255,255,255,.88);color:#29445c;text-decoration:none;box-shadow:0 4px 14px rgba(16,36,61,.04);transition:.16s ease}.tw-tools-domain-option:hover{border-color:#bccbd8;color:#18344f;transform:translateY(-1px);box-shadow:0 8px 20px rgba(16,36,61,.08)}.tw-tools-domain-option.is-active{border-color:rgba(23,49,79,.34);background:linear-gradient(135deg,rgba(16,36,61,.96),rgba(27,70,106,.9));color:#fff;box-shadow:0 14px 28px rgba(16,36,61,.16)}.tw-tools-domain-option strong{display:block;font-size:.98rem}.tw-tools-domain-option small{display:block;margin-top:4px;color:#6f8191;line-height:1.45}.tw-tools-domain-option.is-active small{color:#c8d6e4}.tw-tools-domain-icon{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:#eef3f7;color:#29445c;font-size:1.1rem;font-weight:850}.tw-tools-domain-option.is-active .tw-tools-domain-icon{background:rgba(255,255,255,.11);color:#fff;border:1px solid rgba(255,255,255,.14)}.tw-tools-domain-context{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 16px;border-left:4px solid var(--tw-orange,#e97924);border-radius:10px;background:#f7f9fb;border-top:1px solid #e3e9ee;border-right:1px solid #e3e9ee;border-bottom:1px solid #e3e9ee}.tw-tools-domain-context>div{min-width:220px}.tw-tools-domain-context span{display:block;font-size:.65rem;letter-spacing:.08em;font-weight:850;color:#8a99a6}.tw-tools-domain-context strong{display:block;margin-top:2px;color:#20394f}.tw-tools-domain-context p{margin:0;color:#6f8191;font-size:.8rem;line-height:1.5;max-width:760px}@media(max-width:820px){.tw-tools-domain-switch{grid-template-columns:1fr}.tw-tools-domain-context{align-items:flex-start;flex-direction:column;gap:7px}.tw-tools-domain-context>div{min-width:0}}

/* 4.1.12 R6f - Incident core data-model status UI
 * IMPORTANT: This section extends the full R6e theme. It must never replace
 * the existing Blue-Glass theme definitions from R6c/R6e.
 */
.tw-incident-schema-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.tw-incident-schema-item{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #dfe7ed;border-radius:8px;background:#f8fafb;min-width:0}
.tw-incident-schema-item>span{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#e4f4ea;color:#27744f;font-size:.68rem;font-weight:900;flex:0 0 auto}
.tw-incident-schema-item.is-missing>span{background:#fff0df;color:#ad5c1a}
.tw-incident-schema-item code{font-size:.69rem;color:#365168;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tw-incident-status-flow{display:flex;align-items:stretch;gap:7px;flex-wrap:wrap}
.tw-incident-status-flow>span{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid #dfe6ec;border-radius:8px;background:#f8fafb;min-width:126px}
.tw-incident-status-flow strong{font-size:.67rem;color:#29455d}.tw-incident-status-flow small{font-size:.62rem;color:#788997}.tw-incident-status-flow>b{align-self:center;color:#9aa8b4}
.tw-incident-next-card{overflow:hidden}
.tw-incident-next-card>.card-body{position:relative}
.tw-incident-next-card>.card-body:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--tw-orange);opacity:.82}
@media(max-width:900px){.tw-incident-schema-grid{grid-template-columns:1fr}.tw-incident-status-flow>span{min-width:0;flex:1 1 145px}}
