:root {
  /* Basis */
  --color-bg: #fff;
  --color-text: #1f2430;
  --color-text-muted: rgba(31,36,48,.58);
  --color-text-soft: rgba(31,36,48,.7);
  --color-text-softer: rgba(31,36,48,.03);
  --color-border: rgba(31,36,48,.75);
  --color-border-soft: rgba(31,36,48,.14);
  --color-hover-soft: rgba(31,36,48,.05);
  --color-hover-softer: rgba(31,36,48,.025);
  --color-tag-bg: #eef0f3;
  --color-tag-bg-strong: #dfe3e8;
  --color-badge-bg: #eef0f3;
  --color-placeholder: #9aa1ad;
  --color-input-border: #c6ccd6;
  --color-skeleton: #edeff2;
  --color-skeleton-shine: rgba(255,255,255,.9);
  --color-wrapper-bg: #fafafb;
  --color-img-non-bg: #303848;
  --color-img-non-text: #fff;

  /* Brand / Akzente */
  --color-primary: #2b73f3;
  --color-primary-hover: #2769dd;
  --color-primary-light-bg: #e5eaf8;
  --color-link: #2b73f3;
  --color-white: #fff;

  /* Status */
  --color-error: #d23f52;
  --color-error-bg: #d23f5218;
  --color-warning: #ff8f00;
  --color-warning-bg: #ff8f0026;
  --color-success: #81d781;
  --color-success-bg: #65c96526;
  --color-prio-normal: var(--color-success);
  --color-prio-medium: #d9a400;
  --color-prio-high: #d23f52;
  --color-prio-row-border: #d6d9de;
  --color-prio-delimiter: #7c828d;
  --color-prio-tag-bg: #7c828d26;
  --color-prio-text: #6d7380;
  --color-prio-sidebar-tag-active: #29cb93;

  /* Button */
  --color-btn-bg: #2b73f3;
  --color-btn-bg-hover: #2769dd;
  --color-btn-text: #fff;
  --color-btn-bg-alt: #f1f2f5;
  --color-btn-bg-hover-alt: #e8eaee;
  --color-btn-text-alt: #1f2430;
  --color-btn-disabled-text: #8b95a3;
  --color-btn-disabled-bg: #e6eaf0;
  --color-btn-outline-border: #2b73f3;
  --color-btn-outline-text: #1f2430;

  /* Header / Logo */
  --color-header-bg: #fff;
  --color-header-border: rgba(31,36,48,.12);
  --color-header-underline: #1f2430;
  --color-logo-main: #182848;
  --color-logo-secondary: #364fcd;
  --color-logo-black: #000;
  --color-notification-icon-bg: #364fcd;

  /* Login */
  --color-login-info-bg: #364fcd;
  --color-login-info-text: #fff;
  --color-login-app-bg: #fff;
  --color-login-text: #22252d;
  --color-login-ms-bg: #2a2932;
  --color-login-ms-hover-bg: #37373c;

  /* Misc */
  --color-search-icon: #8a919e;
  --color-checkbox-shadow-strong: rgba(0,0,0,.2);
  --color-checkbox-shadow-soft: rgba(0,0,0,.1);
  --color-checkbox-inner-bg: rgb(251,251,251);
  --color-checkbox-track: rgb(188,202,216);
  --color-overlay: rgba(15,18,26,.5);
  --color-media-bg: #000;
  --color-shadow-soft: rgba(20,24,34,.06);
  --color-divider: rgba(31,36,48,.1);
  --color-shadow-strong: rgba(20,24,34,.16);
  --color-requests-row-bg: #fff;
  --color-requests-sidebar-bg: #fafafb;
}

/* ----------     HTML & BODY CLASS     ---------- */
html, body { color: var(--color-text); background: var(--color-bg); }
/*? ----------     HTML & BODY CLASS     ---------- */

/* ----------     UNIVERSAL CLASS     ---------- */
::placeholder { color: var(--color-placeholder) !important; }
[data-href] { color: var(--color-text); }
a { color: var(--color-link); text-decoration: none; }
.btn { background: var(--color-btn-bg); color: var(--color-btn-text); }
.btn:hover { background: var(--color-btn-bg-hover); }
.btn.alt { background: var(--color-btn-bg-alt); color: var(--color-btn-text-alt); }
.btn.alt:hover { background: var(--color-btn-bg-hover-alt); }
.btn.disabled { color: var(--color-btn-disabled-text) !important; background: var(--color-btn-disabled-bg) !important; }
.btn.non { border: 1px solid var(--color-btn-outline-border); color: var(--color-btn-outline-text); }
.btn.non:hover { background: var(--color-btn-bg); color: var(--color-btn-text); }
.btn.clear { background: transparent; color: var(--color-btn-outline-text); border: none; }
.primary { color: var(--color-primary) !important; }
.error.show { color: var(--color-error) !important; }
.warning.show { color: var(--color-warning) !important; background: var(--color-warning-bg) !important; }
.done.show { color: var(--color-success) !important; background: var(--color-success-bg) !important; }
.wrapper.unsupported { background: var(--color-bg); }
/*? ----------     UNIVERSAL CLASS     ---------- */

/* ----------     GLOBAL     ---------- */
.input-group input, .input-group select { border: 1px solid var(--color-input-border); color: var(--color-text); }
.input-group select { background: var(--color-bg); }
.input-group label { background: var(--color-bg); color: var(--color-text-muted); }
.input-group.bg label { background: var(--color-wrapper-bg); }
.block.bg .input-group label { background: var(--color-bg); }
.block.bg .input-group.bg label { background: var(--color-wrapper-bg); }
.input-group input:focus + label, .input-group select:focus + label, .input-group select:valid + label { color: var(--color-primary); }
.input-group textarea { border: 1px solid var(--color-border-soft); background: var(--color-bg); color: var(--color-text); }

.wrapper.bg { background: var(--color-wrapper-bg); }

.wizard-step-indicator { background: var(--color-text-muted); }
.wizard-step-indicator.active { background: var(--color-primary); }

.select .custom-select.filter { color: var(--color-text); background: var(--color-bg); border: 1px solid var(--color-input-border); }
.select .custom-select.filter .select-dropdown { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.select .custom-select.filter .select-item:hover { background: var(--color-hover-soft); }
.select .custom-select { color: var(--color-text); background: transparent; border: 1px solid var(--color-input-border); }
.select .custom-select .select-dropdown { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.select .custom-select .select-item:hover { background: var(--color-hover-soft); }
.search .input { border: 1px solid var(--color-border-soft); background: var(--color-bg); }
.search .input:focus-within { border-color: var(--color-primary); }
.search .input i { color: var(--color-search-icon); transition: color .2s; }
.skeleton { background-color: var(--color-skeleton); }
.skeleton::after { background: linear-gradient(90deg, rgba(255,255,255,0) 0%, var(--color-skeleton-shine) 50%, rgba(255,255,255,0) 100%); }
.action-menu { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.action-menu .action-item:hover { background: var(--color-hover-soft); }
.checkbox:checked + label { background: var(--color-primary); }
.checkbox:checked + label:hover::after { box-shadow: var(--color-checkbox-shadow-strong) -1px -2px 2px; }
.checkbox + label:hover::after { box-shadow: var(--color-checkbox-shadow-soft) 1px 1px 2px; will-change: padding; }
.checkbox + label::after { background: var(--color-checkbox-inner-bg); }
/*? ----------     GLOBAL     ---------- */

/* ----------     BASIS LAYOUT     ---------- */
.img.non { background: var(--color-img-non-bg); color: var(--color-img-non-text); }
.wrapper .container .top-menu .links .link::after { background: var(--color-primary); }
.wrapper .container .content .blocks .block-wrapper .top .select .input-select { color: var(--color-text); }
.wrapper .container .content .blocks .block-wrapper .top .select .input-select option { background: var(--color-wrapper-bg); }
.wrapper .container .content .blocks .block-wrapper .title.alt { color: var(--color-text-muted); }
.wrapper .container .content .blocks .block-wrapper .title.edit { color: var(--color-primary); }
.wrapper .container .content .blocks .block-wrapper .title.edit:hover { color: var(--color-primary); }
.wrapper .container .content .blocks .block-wrapper .line .btns .toggle { border: 1px solid #e3e5ea; }
.wrapper .container .content .blocks .block-wrapper .line .btns .toggle.active { border: 1px solid var(--color-primary-light-bg); background: var(--color-primary-light-bg); }
.wrapper .container .content .blocks .block-wrapper .line .btns .toggle .number { background: #e3e5ea; }
.wrapper .container .content .blocks .block-wrapper .line .btns .toggle.active .number { background: var(--color-primary); color: var(--color-bg); }
.wrapper .container .content .blocks .block-wrapper .block { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.wrapper .container .content .blocks .block-wrapper .block.bg { background: var(--color-wrapper-bg); border: 1px solid var(--color-border-soft); }
.wrapper .container .content .blocks .block-wrapper .block .top .wrapper .inner-wrapper .text { color: var(--color-text-soft); }
.wrapper .container .content .blocks .block-wrapper .block .top .wrapper .inner-wrapper .status .text { color: var(--color-text); }
.wrapper .container .content .blocks .block-wrapper .block .bottom { color: var(--color-text-muted); }
.wrapper .container .content .blocks .block-wrapper .block .value { color: var(--color-text-muted); }
.wrapper .container .content .blocks .block-wrapper .block .value a { color: var(--color-text-muted); }
.wrapper .container .content .blocks .block-wrapper .block .table-header { border-bottom: 1px solid var(--color-border-soft); color: var(--color-text-soft); }
.wrapper .container .content .blocks .block-wrapper .block .table-rows:hover { background: var(--color-hover-softer); }
.wrapper .container .content .blocks .block-wrapper .block .table-rows>div .tag { background: var(--color-tag-bg); }
.wrapper .container .content .blocks .block-wrapper .block .table-rows>div .tag.alt { background: var(--color-tag-bg-strong); }
.wrapper .container .content .blocks .block-wrapper .block .table-rows .action .ots-revoke:hover { color: var(--color-primary); }
.wrapper .container .content .blocks .block-wrapper .block .block-inner { border-bottom: 1px solid var(--color-border-soft); }
.wrapper .container .content .blocks .block-wrapper .block .block-inner.link:hover { background: var(--color-hover-softer); }
.wrapper .container .content .blocks .block-wrapper .block .block-inner.link:hover .value { color: var(--color-text); }
.wrapper .container .content .blocks .block-wrapper .block .block-inner .block-info .info { color: var(--color-text-muted); }
.wrapper .container .content .blocks .block-wrapper .block .block-inner .block-info .info strong { color: var(--color-text); }
.wrapper .container .content .blocks .sort .select .input-select { color: var(--color-text); }
.wrapper .container .content .blocks .sort .select .input-select option { background: var(--color-wrapper-bg); }
.wrapper .container .content .blocks .sort .filter-group .period-btn::after { background: var(--color-primary); }
.wrapper .container .content .blocks .block-wrapper .hero .info .category { color: var(--color-text-muted); }
.wrapper .container .content .blocks .block-wrapper .card.bg { background: var(--color-wrapper-bg); }
.wrapper .container .content .blocks .block-wrapper .card .title { color: var(--color-text-soft); }
.wrapper .container .content .blocks .block-wrapper .card .details .item.bg { background: var(--color-bg); }
.wrapper .container .content .blocks .block-wrapper .card .details .key { color: var(--color-text-muted); }
.wrapper .container .content .blocks .block-wrapper .card .list .label { color: var(--color-text-muted); }
/*? ----------     BASIS LAYOUT     ---------- */

/* ----------     START     ---------- */
.wrapper.start .container-info { background: var(--color-login-info-bg); color: var(--color-login-info-text); }
.wrapper.start .container-app { background: var(--color-login-app-bg); }
.wrapper.start .container-app .app .title.small { color: var(--color-login-text); }
.wrapper.start .container-app .app .text { color: var(--color-login-text); }
.wrapper.start .container-app .app .form .app-microsoft { background: var(--color-login-ms-bg); color: var(--color-btn-text); }
.wrapper.start .container-app .app .form .app-microsoft:hover { background: var(--color-login-ms-hover-bg); }
/*? ----------     START     ---------- */

/* ----------     HEADER     ---------- */
.header { background: var(--color-header-bg); border-bottom: 1px solid var(--color-header-border); }
.logo .svg .st0 { fill: var(--color-logo-main); }
.logo .svg .st1 { fill: var(--color-logo-secondary); }
.logo .svg .st2 { fill: var(--color-logo-black); }
.header .menu .link:after { background: var(--color-header-underline); }
.header .user .link.hover:hover, .header .user .link i:hover { background: var(--color-hover-soft); }
.header .user .link i.arrow-toggle:hover { background: none; }
.header .user .link .rank .progress .track { background: var(--color-text-muted); }
.header .user .link .rank .progress .track .fill { background: var(--color-primary); }
.header .user .link .separator { border-top: 1px solid var(--color-header-border); }
.header .user .link .notifications .top { border-bottom: 1px solid var(--color-header-border); }
.header .user .link .notifications .top i { background: var(--color-hover-soft); }
.header .user .link .notifications .content .notification-list .notification-empty { color: var(--color-text-soft); }
.header .user .link .notifications .content .notification-list .notification-item.unread { background: var(--color-hover-soft); }
.header .user .link .notifications .content .notification-list .notification-item .notification-icon { background: var(--color-notification-icon-bg); color: var(--color-white); }
.header .user .link .notifications .content .notification-list .notification-item .notification-body .notification-meta { color: var(--color-text-muted); }
.header .user .link .notifications .content .notification-list .notification-divider { background: var(--color-header-border); }
.header .link.has-menu .sub { border-bottom: 1px solid var(--color-header-border); }
.header .link.has-menu .sub .content .sites .site:hover { color: var(--color-primary); }
.header .link.has-menu .sub .content .separator { border-right: 1px solid var(--color-header-border); }
.header .link .sub { background: var(--color-bg); }
.header .link.has-submenu .sub { background: var(--color-bg); border: 1px solid var(--color-header-border); }
/*? ----------     HEADER     ---------- */

/* ----------     REQUESTS     ---------- */
.wrapper .container .content.requests .main .top .links .link::after { background: var(--color-header-underline); }
.wrapper .container .content.requests .main .table .row { background: var(--color-requests-row-bg); border-bottom: 1px solid var(--color-prio-row-border); }
.wrapper .container .content.requests .main .table .row:last-of-type { border-bottom: none; }
.wrapper .container .content.requests .main .table .row .delimiter { background: var(--color-prio-delimiter); }
.wrapper .container .content.requests .main .table .row .user .outer-user .tag { background: var(--color-prio-tag-bg); }
.wrapper .container .content.requests .main .table .row .user .inner-user .img.non { border: 1px solid var(--color-prio-row-border); }
.wrapper .container .content.requests .main .table .row .user .inner-user .subject .number { color: var(--color-prio-text); }
.wrapper .container .content.requests .main .table .row .user .inner-user .user { color: var(--color-prio-text); }
.wrapper .container .content.requests .main .table .row .inner-values .value .status.high { background: var(--color-prio-high); }
.wrapper .container .content.requests .main .table .row .inner-values .value .status.medium { background: var(--color-prio-medium); }
.wrapper .container .content.requests .sidebar .inner .wrapper { background: var(--color-requests-sidebar-bg); }
.wrapper .container .content.requests .sidebar .inner .wrapper .top .new { color: var(--color-text-muted); }
.wrapper .container .content.requests .sidebar .inner .wrapper .top .new:hover { color: var(--color-white); }
.wrapper .container .content.requests .sidebar .inner .wrapper .disruptions .item.empty { color: var(--color-text-muted); }
.wrapper .container .content.requests .sidebar .inner .wrapper .disruptions .item .disruption-description { color: var(--color-text-muted); }
.wrapper .container .content.requests .sidebar .inner .wrapper .disruptions .item .disruption-status { color: var(--color-text-muted); }
.wrapper .container .content.requests .sidebar .inner .wrapper .item .status.active { background: var(--color-prio-sidebar-tag-active); }
.wrapper .container .content.requests .sidebar .inner .wrapper .items.workpools .seen { color: var(--color-text-muted); }

/*? ----------     REQUESTS     ---------- */

/* ----------     REQUESTS TYPE     ---------- */
.wrapper .container .content .type-wrapper .type .type-card { border: 1px solid var( --color-border-soft); }
.wrapper .container .content .type-wrapper .type .type-card:hover { border-color: var(--color-primary); box-shadow: 0 6px 18px rgba(15,23,42,0.08); }
.wrapper .container .content .type-wrapper .type .type-card.disabled:hover { border-color: var(--color-error); }
.wrapper .container .content .type-wrapper .type .type-card .type-info { color: var(--color-text-muted); }
.wrapper .container .content .type-wrapper .type-back .type-back-link { color: var(--color-text-muted); }
.wrapper .container .content .type-wrapper .type-back .type-back-link:hover { color: var(--color-text); }
/*? ----------     REQUESTS TYPE     ---------- */

/* ----------     MANAGEMENT     ---------- */
.device-card { background: var(--color-bg); box-shadow: 0 1px 3px rgba(0,0,0,0.05); }
.device-card-header .badge { background: var(--color-tag-bg); }
.device-card-body .row span:first-child { color: var(--color-text-muted); }
/*? ----------     MANAGEMENT     ---------- */

/* ----------     ACCOUNT DEVICES     ---------- */
.acc-devices-grid .device-card { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.acc-devices-grid .device-card:hover { box-shadow: 0 4px 14px rgba(20,24,34,.06); }
.acc-devices-grid .device-card .device-top .device-icon { background: var(--color-primary-light-bg); color: var(--color-primary); }
.acc-devices-grid .device-card .device-top .device-headline .device-name { color: var(--color-text); }
.acc-devices-grid .device-card .device-top .device-headline .device-type { color: var(--color-text-muted); }
.acc-devices-grid .device-card .device-meta .meta-row .meta-label { color: var(--color-text-muted); }
.acc-devices-grid .device-card .device-meta .meta-row .meta-value { color: var(--color-text); }
.acc-devices-grid .device-card .device-foot { border-top: 1px solid var(--color-border-soft); color: var(--color-text-muted); }
.acc-devices-grid .device-card .device-foot .dot { background: var(--color-text-muted); }
.acc-devices-grid .device-card .device-foot .dot.active { background: var(--color-success); }
.acc-devices-grid .device-card.empty { color: var(--color-text-muted); }
.acc-devices-grid .device-card.empty.error { color: var(--color-warning); }

.acc-pill.ok { color: var(--color-success); background: var(--color-success-bg); }
.acc-pill.pending { color: #6b7380; background: #edeff2; }

.acc-agreements .agreement-item { border-top: 1px solid var(--color-border-soft); }
.acc-agreements .agreement-item.link:hover { background: var(--color-hover-softer); }
.acc-agreements .agreement-item .agreement-icon { background: var(--color-primary-light-bg); color: var(--color-primary); }
.acc-agreements .agreement-item .agreement-info .agreement-name { color: var(--color-text); }
.acc-agreements .agreement-item .agreement-info .agreement-sub { color: var(--color-text-muted); }
.acc-agreements .agreement-item .agreement-status .agreement-date { color: var(--color-text-muted); }
.acc-agreements .agreement-item.empty { color: var(--color-text-muted); }

.modal.modal-terms .terms-progress { color: var(--color-text-muted); }
.modal.modal-terms .terms-device { background: var(--color-wrapper-bg); }
.modal.modal-terms .terms-device .terms-device-icon { background: var(--color-primary-light-bg); color: var(--color-primary); }
.modal.modal-terms .terms-device .terms-device-info .terms-device-sub { color: var(--color-text-muted); }
.modal.modal-terms .terms-sections .terms-section .terms-section-icon { color: var(--color-primary); }
.modal.modal-terms .terms-sections .terms-section .terms-section-body .terms-section-text { color: var(--color-text-muted); }
.modal.modal-terms .terms-confirm { background: var(--color-wrapper-bg); }
.modal.modal-terms .terms-confirm input { accent-color: var(--color-primary); }
.modal.modal-terms .terms-readonly-note { color: var(--color-text-muted); }
/*? ----------     ACCOUNT DEVICES     ---------- */

/* ----------     STATS     ---------- */
.wrapper .container .content .blocks .block-wrapper .block.stats .table-rows { color: var(--color-text-soft); }
.wrapper .container .content .blocks .block-wrapper .block.stats .table-rows .avatar-cell .img.non { background: var(--color-img-non-bg); color: var(--color-img-non-text); }
.wrapper .container .content .blocks .block-wrapper .block.stats .table-rows .dark { color: var(--color-text); }

.wrapper .container .content.stats .section { border: 1px solid var(--color-border-soft); background: var(--color-wrapper-bg); }
.wrapper .container .content.stats .section .section-header .section-title { color: var(--color-text); }
.wrapper .container .content.stats .section .section-header .section-subtitle { color: var(--color-text-muted); }

.wrapper .container .content.stats .section .kpi-row .kpi-card { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.wrapper .container .content.stats .section .kpi-row .kpi-card .kpi-header .kpi-label { color: var(--color-text-muted); }
.wrapper .container .content.stats .section .kpi-row .kpi-card .kpi-header .kpi-trend.kpi-positive { color: var(--color-success); }
.wrapper .container .content.stats .section .kpi-row .kpi-card .kpi-header .kpi-trend.kpi-negative { color: var(--color-error); }
.wrapper .container .content.stats .section .kpi-row .kpi-card .kpi-main .kpi-value { color: var(--color-text); }
.wrapper .container .content.stats .section .kpi-row .kpi-card .kpi-main .kpi-sublabel { color: var(--color-text-muted); }

.wrapper .container .content.stats .section .charts-row .chart-card { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.wrapper .container .content.stats .section .charts-row .chart-card .chart-header .left .chart-title { color: var(--color-text); }
.wrapper .container .content.stats .section .charts-row .chart-card .chart-header .left .chart-subtitle { color: var(--color-text-muted); }
.wrapper .container .content.stats .section .charts-row .chart-card .chart-header .chart-meta { color: var(--color-text-muted); }
.wrapper .container .content.stats .section .charts-row .chart-card .chart-header .chart-meta.chart-meta-positive { color: var(--color-success); }
.wrapper .container .content.stats .section .charts-row .chart-card .chart-header .chart-meta.chart-meta-negative { color: var(--color-error); }

.wrapper .container .content.stats .stats-intro { border: 1px solid var(--color-border-soft); background: var(--color-wrapper-bg); }
.wrapper .container .content.stats .stats-intro .intro-text .intro-title { color: var(--color-text); }
.wrapper .container .content.stats .stats-intro .intro-text .intro-sub { color: var(--color-text-muted); }
.wrapper .container .content.stats .stats-intro .intro-actions .intro-updated { color: var(--color-text-muted); }
.wrapper .container .content.stats .stats-intro .intro-actions .refresh-btn { border: 1px solid var(--color-border-soft); background: var(--color-bg); color: var(--color-text); }
.wrapper .container .content.stats .stats-intro .intro-actions .refresh-btn:hover { border-color: var(--color-primary); color: var(--color-primary); }
.wrapper .container .content.stats .section .kpi-row .kpi-card .kpi-top .kpi-icon { background: var(--color-hover-soft); color: var(--color-text-soft); }
.wrapper .container .content.stats .section .kpi-row .kpi-card .kpi-top .kpi-chip { background: var(--color-hover-soft); color: var(--color-text-muted); }
.wrapper .container .content.stats .section .kpi-row .kpi-card .kpi-top .kpi-chip.up { background: var(--color-success-bg); color: var(--color-success); }
.wrapper .container .content.stats .section .kpi-row .kpi-card .kpi-top .kpi-chip.down { background: var(--color-error-bg); color: var(--color-error); }
.wrapper .container .content.stats .section .kpi-row .kpi-card .kpi-body .kpi-value { color: var(--color-text); }
.wrapper .container .content.stats .section .kpi-row .kpi-card .kpi-body .kpi-label { color: var(--color-text); }
.wrapper .container .content.stats .section .kpi-row .kpi-card .kpi-body .kpi-sublabel { color: var(--color-text-muted); }
.wrapper .container .content.stats .section .charts-row .quality-card { border: 1px solid var(--color-border-soft); background: var(--color-bg); }
.wrapper .container .content.stats .section .charts-row .quality-card .q-row .q-head .q-label { color: var(--color-text); }
.wrapper .container .content.stats .section .charts-row .quality-card .q-row .q-head .q-val { color: var(--color-text); }
.wrapper .container .content.stats .section .charts-row .quality-card .q-row .q-bar { background: var(--color-hover-soft); }
.wrapper .container .content.stats .section .charts-row .quality-card .q-row .q-bar .q-fill { background: var(--color-primary); }
.wrapper .container .content.stats .section .charts-row .quality-card .q-row .q-bar .q-fill.ok { background: var(--color-success); }
.wrapper .container .content.stats .section .charts-row .quality-card .q-row .q-bar .q-fill.warn { background: var(--color-warning); }
.wrapper .container .content.stats .section .charts-row .quality-card .q-row .q-foot { color: var(--color-text-muted); }

.wrapper .container .content.stats .podium .pod { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.wrapper .container .content.stats .podium .pod:hover { box-shadow: 0 6px 22px rgba(20,24,34,.10); }
.wrapper .container .content.stats .podium .pod .pod-avatar { background: var(--color-img-non-bg); color: var(--color-img-non-text); border: 3px solid var(--color-border-soft); }
.wrapper .container .content.stats .podium .pod .pod-name { color: var(--color-text); }
.wrapper .container .content.stats .podium .pod .pod-level { color: var(--color-text-muted); }
.wrapper .container .content.stats .podium .pod .pod-score { color: var(--color-text); }
.wrapper .container .content.stats .podium .pod .pod-score small { color: var(--color-text-muted); }
.wrapper .container .content.stats .podium .pod.p1 { border-color: #e4b13c; }
.wrapper .container .content.stats .podium .pod.p1 .pod-avatar { border-color: #e4b13c; }
.wrapper .container .content.stats .podium .pod.p1 .medal { color: #e4b13c; }
.wrapper .container .content.stats .podium .pod.p2 .pod-avatar { border-color: #b4bcc6; }
.wrapper .container .content.stats .podium .pod.p2 .medal { color: #b4bcc6; }
.wrapper .container .content.stats .podium .pod.p3 .pod-avatar { border-color: #c1834f; }
.wrapper .container .content.stats .podium .pod.p3 .medal { color: #c1834f; }
.wrapper .container .content.stats .lb .lb-head { color: var(--color-text-muted); }
.wrapper .container .content.stats .lb .lb-row { border-top: 1px solid var(--color-border-soft); }
.wrapper .container .content.stats .lb .lb-row:hover { background: var(--color-hover-soft); }
.wrapper .container .content.stats .lb .lb-row .rk { color: var(--color-text-muted); }
.wrapper .container .content.stats .lb .lb-row .who .av { background: var(--color-img-non-bg); color: var(--color-img-non-text); }
.wrapper .container .content.stats .lb .lb-row .who .nm { color: var(--color-text); }
.wrapper .container .content.stats .lb .lb-row .who .lv { color: var(--color-text-muted); }
.wrapper .container .content.stats .lb .lb-row .lv-cell { color: var(--color-text-soft); }
.wrapper .container .content.stats .lb .lb-row .sc { color: var(--color-text); }
.wrapper .container .content.stats .lb .lb-row .delta.up { color: var(--color-success); }
.wrapper .container .content.stats .lb .lb-row .delta.down { color: var(--color-error); }
.wrapper .container .content.stats .lb .lb-row .delta.same { color: var(--color-text-muted); }
.lb-tag { background: var(--color-warning-bg); color: var(--color-warning); }
.modal.modal-rank .rd-head .rd-av { background: var(--color-img-non-bg); color: var(--color-img-non-text); }
.modal.modal-rank .rd-head .rd-meta .rd-name { color: var(--color-text); }
.modal.modal-rank .rd-head .rd-meta .rd-sub { color: var(--color-text-muted); }
.modal.modal-rank .rd-head .rd-rank { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.modal.modal-rank .rd-head .rd-rank .v { color: var(--color-text); }
.modal.modal-rank .rd-head .rd-rank .l { color: var(--color-text-muted); }
.modal.modal-rank .rd-level .rd-level-head { color: var(--color-text-muted); }
.modal.modal-rank .rd-level .rd-level-head b { color: var(--color-text); }
.modal.modal-rank .rd-level .rd-bar { background: var(--color-hover-soft); }
.modal.modal-rank .rd-level .rd-bar .rd-fill { background: var(--color-primary); }
.modal.modal-rank .rd-grid .rd-kpi { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.modal.modal-rank .rd-grid .rd-kpi .rd-v { color: var(--color-text); }
.modal.modal-rank .rd-grid .rd-kpi .rd-l { color: var(--color-text-muted); }
.modal.modal-rank .rd-chart-card { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.modal.modal-rank .rd-chart-card .rd-chart-title { color: var(--color-text); }
.modal.modal-rank .rd-section .rd-section-title { color: var(--color-text-muted); }
/*? ----------     STATS     ---------- */

/* ----------     SERVICES     ---------- */
.wrapper .container .content.services .blocks .block-wrapper .wrapper .content .hint { color: var(--color-text-muted); }
/*? ----------     SERVICES     ---------- */

/* ----------     FÜHRERSCHEINE (SERVICES)     ---------- */
.dl-badge { background: var(--color-badge-bg); color: var(--color-text-muted); }
.dl-badge .dot { background: currentColor; }
.dl-badge.ok { color: var(--color-success); }
.dl-badge.due { color: var(--color-warning); }
.dl-badge.expired { color: var(--color-error); }
.dl-badge.never { color: var(--color-primary); }
/* Übersicht: Text neutral, Punkt farbig; wichtigste Status (abgelaufen/fällig) zusätzlich farbig */
.access-card .dl-badge { color: var(--color-text-muted); }
.access-card .dl-badge.expired { color: var(--color-error); }
.access-card .dl-badge.due { color: var(--color-warning); }
.access-card .dl-badge.ok .dot { background: var(--color-success); }
.access-card .dl-badge.never .dot { background: var(--color-primary); }

.dl-banner { background: var(--color-badge-bg); }
.dl-banner .bn-icon { background: var(--color-bg); color: var(--color-text-soft); }
.dl-banner .bn-text .s { color: var(--color-text-muted); }
.dl-banner.due { background: var(--color-warning-bg); }
.dl-banner.due .bn-icon { background: var(--color-warning); color: #fff; }
.dl-banner.expired { background: var(--color-error-bg); }
.dl-banner.expired .bn-icon { background: var(--color-error); color: #fff; }
.dl-banner.ok { background: var(--color-success-bg); }
.dl-banner.ok .bn-icon { background: var(--color-success); color: #fff; }
.dl-banner.never .bn-icon { background: var(--color-primary); color: #fff; }

.dl-summary .sum-item { background: var(--color-bg); }
.dl-summary .sum-item .sum-icon { background: var(--color-badge-bg); color: var(--color-text-soft); }
.dl-summary .sum-item .sum-icon.due { background: var(--color-warning-bg); color: var(--color-warning); }
.dl-summary .sum-item .sum-icon.expired { background: var(--color-error-bg); color: var(--color-error); }
.dl-summary .sum-item .sum-icon.ok { background: var(--color-success-bg); color: var(--color-success); }
.dl-summary .sum-item .sum-text .k { color: var(--color-text-muted); }

.dl-field .fl .req { color: var(--color-error); }
.dl-field .hint { color: var(--color-text-muted); }
.dl-chips .dl-chip { background: var(--color-bg); color: var(--color-text-soft); border: 1px solid var(--color-border-soft); }
.dl-chips .dl-chip:hover { color: var(--color-text); border-color: var(--color-border); }
.dl-chips .dl-chip.active { background: var(--color-primary); color: var(--color-btn-text); border-color: var(--color-primary); }

.dl-confirm { border-top: 1px solid var(--color-border-soft); }
.dl-confirm .note { color: var(--color-text-muted); }
.dl-log .log-item { border-bottom: 1px solid var(--color-border-soft); }
.dl-log .log-item:last-child { border-bottom: none; }
.dl-log .log-item .log-dot { background: var(--color-badge-bg); color: var(--color-text-soft); }
.dl-log .log-item .log-main .log-meta { color: var(--color-text-muted); }
.dl-log .log-tag { background: var(--color-success-bg); color: var(--color-success); }
.dl-log .dl-log-empty { color: var(--color-text-muted); }
/*? ----------     FÜHRERSCHEINE (SERVICES)     ---------- */

/* ----------     FORM     ---------- */
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .title i { color: var(--color-text-muted); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .title i:hover { color: var(--color-text); }

.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .priority-group .priority-btn { border: 1px solid var(--color-border-soft); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .priority-group .priority-btn:hover { background: var(--color-primary); color: var(--color-white); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .priority-group .priority-btn.active { border-color: var(--color-primary); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .priority-group .priority-btn .priority-dot.priority-dot-normal { background: var(--color-prio-normal); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .priority-group .priority-btn .priority-dot.priority-dot-high { background: var(--color-prio-high); }

.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group.extended i { color: var(--color-search-icon); }

.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .access-inline { border: 1px solid var(--color-border-soft); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .access-inline .access-inline-header { border-bottom: 1px solid var(--color-border-soft); border-top: 1px solid var(--color-border-soft); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .access-inline .access-list .access-row:hover { background: var(--color-hover-soft); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .access-inline .access-list .access-row .access-left .access-avatar { background: var(--color-img-non-bg); color: var(--color-img-non-text); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .access-inline .access-list .access-row .access-left .access-namewrap .access-email { color: var(--color-text-muted); }

.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .access-inline .access-inline-header .access-selected .access-selected-placeholder { color: var(--color-text-muted); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .access-inline .access-inline-header .access-selected .access-chip { background: var(--color-tag-bg); color: var(--color-text); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .access-inline .access-inline-header .access-selected .access-chip .access-chip-avatar { background: var(--color-img-non-bg); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .access-inline .access-inline-header .access-selected .access-chip .access-chip-remove { color: var(--color-text-muted); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .access-inline .access-inline-header .access-selected .access-chip .access-chip-remove:hover { color: var(--color-text); }

.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .message-editor .message-input { border: 1px solid var(--color-border-soft); background: var(--color-bg); color: var(--color-text); }

.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .attachments .dropzone { border: 1px dashed var(--color-input-border); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .attachments .dropzone.drag-over { border-color: var(--color-primary); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .attachments .dropzone .dropzone-inner .dropzone-info { color: var(--color-text-muted); }

.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .attachments .attachments-list .attachment-row { border: 1px solid var(--color-border-soft); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .attachments .attachments-list .attachment-row .attachment-left .attachment-meta .attachment-info { color: var(--color-text-muted); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .attachments .attachments-list .attachment-row .attachment-right .attachment-remove { color: var(--color-text-muted); }
.wrapper.content.form .container .content .blocks .block-wrapper .block .block-inner .block-info .input-group .attachments .attachments-list .attachment-row .attachment-right .attachment-remove:hover { color: var(--color-text); }
/*? ----------     FORM     ---------- */

/* ----------     SERVICE/CODE PAGE     ---------- */
.wrapper.service .service-inner .service-text .service-title { color: var(--color-text); }
.wrapper.service .service-inner .service-text .service-sub { color: var(--color-text-muted); }
.wrapper.service .service-inner .service-text .service-btn { border: 1px solid var(--color-border-soft); background: var(--color-bg); color: var(--color-text); box-shadow: 0 4px 10px rgba(15,23,42,0.08); }
.wrapper.service .service-inner .service-text .service-btn:hover { border-color: var(--color-border); box-shadow: 0 8px 20px rgba(15,23,42,0.14); }
/*? ----------     SERVICE/CODE PAGE     ---------- */

/* ----------     KARTEN-RAHMEN     ---------- */
.device-card, .group-list, .loc-list .loc-card, .agr-detail .agr-head, .agr-detail .agr-grid, .agr-detail .agr-content, .agr-mgmt .agr-mgmt-item, .sys-kpis .sys-kpi, .sys-audit .sys-audit-row, .access-list .access-card, .docs-side, .cat-card, .file-tile, .browser-stats, .error-list .error-card, .disruption-list .disruption-card, .ots-list .ots-card, .fleet-card, .fleet-summary .sum-item, .dl-summary .sum-item, .uticket, .connector-list .connector-card, .connector-detail .cd-head, .connector-detail .cd-section, .hc-cat-card, #hcPopular .hc-article-item, #hcListItems .hc-article-item, .hc .card.bg { border: 1px solid var(--color-border-soft); }
/* Ticketkarten: einheitlicher Rahmen (Priorität kommt als Tag im Betreff, kein Streifen mehr) */
.req-list .req-card, .req-list .req-skel { border: 1px solid var(--color-border-soft); }
/* Tab-Zähler: im hellen Modus mit Rahmen, damit sich der Badge vom Tab-Hintergrund abhebt */
.req-tabs .req-tab .count { border: 1px solid var(--color-border-soft); }
/* SLA-Statusboxen: im hellen Modus mit Rahmen, wie die übrigen Karten */
.content.request-detail .rq-sla .s { border: 1px solid var(--color-border-soft); }
/* Ticketdetail-Chat: neutrale Bubbles mit Rahmen; eigene (primary) ohne */
.content.request-detail .rq-msg .body { border: 1px solid var(--color-border-soft); }
.content.request-detail .rq-msg.right .body { border-color: transparent; }
/* Workpool-Tag: im hellen Modus mit Rahmen, damit er sich vom Kartenhintergrund abhebt */
.content.request-detail .rq-st .rq-wptag { border: 1px solid var(--color-border-soft); }
.req-list .req-card .req-meta .req-wptag { border: 1px solid var(--color-border-soft); }
.rq-drawer .rq-note { border: 1px solid var(--color-border-soft); }
/*? ----------     KARTEN-RAHMEN     ---------- */

/*? ----------     ERP     ---------- */
.ra-card { background: var(--color-wrapper-bg); border: 1px solid var(--color-border-soft); }
.ra-head .ra-sub { color: var(--color-text-muted); }
.ra-x { color: var(--color-text-muted); }
.ra-x:hover { background: var(--color-hover-soft); color: var(--color-text); }
.ra-hr { background: var(--color-divider); }
.ra-lbl { color: var(--color-text-soft); }
.ra-lbl .req { color: var(--color-primary); }
.ra-lbl .opt { color: var(--color-text-muted); }
.ra-hint { color: var(--color-text-muted); }
.ra-inp { border: 1px solid var(--color-border-soft); background: var(--color-bg); color: var(--color-text); }
.ra-inp::placeholder { color: var(--color-placeholder); }
.ra-inp:focus { border-color: var(--color-primary); }
.ra-dd { background: var(--color-bg); border: 1px solid var(--color-border-soft); box-shadow: 0 16px 40px var(--color-shadow-strong); }
.ra-drow { color: var(--color-text); }
.ra-drow:hover { background: var(--color-hover-soft); }
.ra-drow .sub { color: var(--color-text-muted); }
.ra-drow.new { color: var(--color-primary); }
.ra-drow.empty { color: var(--color-text-muted); }
.ra-drow.empty:hover { background: transparent; }
.ra-seg { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.ra-seg .ra-seg-btn { background: transparent; color: var(--color-text-soft); }
.ra-seg .ra-seg-btn.active { background: var(--color-primary-light-bg); color: var(--color-primary); }
.ra-pos { border: 1px solid var(--color-border-soft); }
.ra-pos-title { color: var(--color-text-soft); }
.ra-pos-x { color: var(--color-text-muted); }
.ra-pos-x:hover { background: var(--color-hover-soft); color: var(--color-error); }
.ra-add-pos { color: var(--color-primary); }
.ra-new-hint { color: var(--color-primary); }
.ra-totals .t-key { color: var(--color-text-muted); }
.ra-err { color: var(--color-error); }
.ra-btn.ghost { background: transparent; color: var(--color-text-soft); }
.ra-btn.ghost:hover { background: var(--color-hover-soft); color: var(--color-text); }
.ra-btn.ra-cta { background: var(--color-btn-bg); color: var(--color-btn-text); }
.ra-btn.ra-cta:hover { background: var(--color-btn-bg-hover); }
.ra-btn.ra-cta.disabled { background: var(--color-btn-disabled-bg); color: var(--color-btn-disabled-text); }
.ra-preview { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.ra-preview .row + .row { border-top: 1px solid var(--color-divider); }
.ra-preview .key { color: var(--color-text-muted); }
.ra-preview .val { color: var(--color-text); }
.pu-pos { border: 1px solid var(--color-border-soft); }
.pu-pos-line .pu-muted { color: var(--color-text-muted); }
.rc-pos-title { color: var(--color-text-muted); }
.rc-all { color: var(--color-primary); }
.as-item { border: 1px solid var(--color-border-soft); }
.as-item:hover { border-color: var(--color-primary); }
.as-item .as-title { color: var(--color-text); }
.as-item .as-sub { color: var(--color-text-muted); }
.as-empty { color: var(--color-text-muted); }
.cat-item { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.cat-item.editing { border-color: var(--color-primary); }
.cat-item .cat-name { color: var(--color-text); }
.cat-item .cat-sub { color: var(--color-text-muted); }
.cat-item .cat-count { color: var(--color-text-muted); }
.cat-form-title { color: var(--color-text-muted); }
.cat-form-cancel { color: var(--color-link); }
.wh-unit { border: 1px solid var(--color-border-soft); }
.wh-unit .muted { color: var(--color-text-muted); }
.wh-unit .lnk { color: var(--color-primary); }
.cb-list { background: var(--color-bg); border: 1px solid var(--color-border-soft); box-shadow: 0 10px 28px var(--color-shadow-strong); }
.cb-item { color: var(--color-text); }
.cb-item:hover { background: var(--color-hover-soft); }
.cb-item .cb-sub { color: var(--color-text-muted); }
.cb-item .cb-sub.warn { color: var(--color-warning); }
.cb-item.empty { color: var(--color-text-muted); }
.cb-item.empty:hover { background: transparent; }
.of-banner { border: 1px solid var(--color-border-soft); border-left: 3px solid var(--color-warning); color: var(--color-text-muted); }
.of-map { border: 1px dashed var(--color-border-soft); }
.of-map-hint { color: var(--color-text-muted); }
.of-map-item { border: 1px solid var(--color-border-soft); }
.of-map-item:hover { border-color: var(--color-primary); }
.of-map-item.active { border-color: var(--color-primary); background: var(--color-primary-light-bg); }
.of-map-item.active .sub { color: var(--color-primary); }
.of-map-item .sub { color: var(--color-text-muted); }
.of-pos { border: 1px solid var(--color-border-soft); }
.of-pos-title { color: var(--color-text-muted); }
.of-pos-remove { color: var(--color-text-muted); }
.of-pos-remove:hover { color: var(--color-error); }
.pm-toggle { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.pm-opt { color: var(--color-text-soft); }
.pm-opt.active { background: var(--color-primary-light-bg); color: var(--color-primary); }
.of-totals .t-key { color: var(--color-text-muted); }
.of-dpos { border: 1px solid var(--color-border-soft); }
.of-dpos .sub { color: var(--color-text-muted); }
.of-inv { border: 1px solid var(--color-border-soft); }
.of-inv .lnk { color: var(--color-primary); }
.of-ticket-hint { color: var(--color-text-muted); }
/* Alt-Buttons auf Wrapper-Flaechen: --color-btn-bg-alt entspricht (nahezu) der
   Flaechenfarbe von block.bg/card.bg und waere unsichtbar - deshalb hier auf
   --color-bg mit weicher Kontur ausweichen (Optik wie .btn.non) */
.block.bg .btn.alt, .card.bg .btn.alt { background: var(--color-bg); border: 1px solid var(--color-border-soft); }
.block.bg .btn.alt:hover, .card.bg .btn.alt:hover { background: var(--color-btn-bg-hover-alt); }
/* Einkauf-Redesign: KPI-Kacheln, Lieferfortschritt, Detailkopf, Ticket-Chip */
.erp-kpi { background: var(--color-wrapper-bg); border: 1px solid var(--color-border-soft); }
.erp-kpi .k-label { color: var(--color-text-muted); }
.erp-kpi .k-value { color: var(--color-text); }
.erp-kpi .k-sub { color: var(--color-text-muted); }
.erp-progress .track { background: var(--color-badge-bg); }
.erp-progress .fill { background: var(--color-primary); }
.erp-progress .fill.done { background: var(--color-success); }
.erp-progress .pct { color: var(--color-text-muted); }
.po-head .t .meta { color: var(--color-text-muted); }
.erp-iconbtn { color: var(--color-text-muted); }
.erp-iconbtn:hover { color: var(--color-text); background: var(--color-hover-soft); }
.pu-pos-line .sum { color: var(--color-text); }
.ticket-chip { background: var(--color-primary-light-bg); color: var(--color-primary); }
/* Filter-Chips (Benutzer & Rollen): gleicher Rahmen wie die access-cards */
.filter-chips .chip { border: 1px solid var(--color-border-soft); }
.filter-chips .chip.active { border-color: var(--color-primary); }
/* Zweizeilige Tabellenzelle: Unterzeile gedaempft */
.block.table .table-rows>div.cell-stack .sub { color: var(--color-text-muted); }
