/* CCH Notification Center V3 – Super-Admin only */
:root {
  --nc-bg: #06111b;
  --nc-surface: #0c1b29;
  --nc-surface-2: #102436;
  --nc-line: rgba(88, 203, 255, .15);
  --nc-line-strong: rgba(88, 203, 255, .32);
  --nc-text: #f2f7fb;
  --nc-muted: #93a9ba;
  --nc-accent: #2bc5ff;
  --nc-danger: #ff6b81;
  --nc-success: #4bd2a0;
  --nc-warning: #f2c66d;
  --nc-radius: 18px;
}

* { box-sizing: border-box; }
.notification-center-page { min-height:100vh; margin:0; font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--nc-text); }
.notification-center-page[aria-busy="true"] { cursor: progress; }

.nc-wrap { width:min(94vw,1680px); margin:22px auto 64px; }
.nc-module-title { position:relative; display:grid; grid-template-columns:4px 1fr auto; align-items:center; gap:16px; padding:14px 0 18px; border-bottom:1px solid var(--nc-line-strong); }
.nc-title-accent { align-self:stretch; min-height:42px; border-radius:999px; background:linear-gradient(180deg,#3fd6ff,#0ca8e9); box-shadow:0 0 18px rgba(43,197,255,.22); }
.nc-module-title h1 { margin:0; font-size:clamp(28px,2.5vw,40px); letter-spacing:-.04em; line-height:1; }
.nc-module-title p { margin:7px 0 0; color:var(--nc-muted); }
.nc-status { min-height:34px; display:flex; align-items:center; justify-content:flex-end; max-width:420px; padding:7px 10px; border-radius:10px; font-size:12px; font-weight:800; color:var(--nc-muted); }
.nc-status.ok { color:var(--nc-success); background:rgba(75,210,160,.08); }
.nc-status.error { color:#ffc1cb; background:rgba(255,107,129,.10); }

.nc-tabs { display:flex; gap:8px; padding:18px 0; overflow:auto; scrollbar-width:thin; }
.nc-tab,.nc-subtab { border:1px solid var(--nc-line); background:rgba(15,34,50,.75); color:var(--nc-muted); border-radius:12px; min-height:44px; padding:0 16px; font:inherit; font-weight:800; cursor:pointer; white-space:nowrap; transition:.18s ease; }
.nc-tab:hover,.nc-subtab:hover { color:var(--nc-text); border-color:var(--nc-line-strong); transform:translateY(-1px); }
.nc-tab.is-active,.nc-subtab.is-active { color:#fff; border-color:rgba(43,197,255,.55); background:linear-gradient(180deg,rgba(43,197,255,.20),rgba(43,197,255,.08)); box-shadow:inset 0 -2px 0 var(--nc-accent); }
.nc-subtab span { display:inline-grid; place-items:center; min-width:25px; min-height:25px; margin-left:8px; padding:0 7px; border-radius:999px; background:rgba(255,255,255,.07); font-size:11px; }

.nc-panel { animation:ncPanelIn .18s ease; }
.nc-panel[hidden] { display:none !important; }
@keyframes ncPanelIn { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }

.nc-section-head,.nc-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.nc-section-head { margin:4px 0 16px; }
.nc-section-head h2,.nc-card h3 { margin:0; letter-spacing:-.025em; }
.nc-section-head p,.nc-card-head p,.nc-card p,.nc-muted { color:var(--nc-muted); }
.nc-section-head p,.nc-card-head p { margin:6px 0 0; line-height:1.5; }
.nc-section-actions { display:flex; align-items:center; gap:10px; }
.nc-eyebrow { display:block; margin-bottom:6px; color:var(--nc-accent); font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }

.nc-card { padding:20px; margin-bottom:16px; border:1px solid var(--nc-line); border-radius:var(--nc-radius); background:linear-gradient(180deg,rgba(15,34,50,.92),rgba(9,24,36,.92)); box-shadow:0 18px 50px rgba(0,0,0,.12); }
.nc-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.nc-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.nc-stat { min-height:100px; display:flex; flex-direction:column; justify-content:space-between; padding:16px; border:1px solid var(--nc-line); border-radius:15px; background:rgba(10,27,41,.88); }
.nc-stat strong { font-size:30px; letter-spacing:-.05em; }
.nc-stat span { color:var(--nc-muted); font-size:12px; font-weight:800; }

.nc-stack { display:grid; gap:13px; margin-top:14px; }
.nc-stack label,.nc-form-grid-2 label,.nc-inline-form label,.nc-search { display:grid; gap:7px; font-size:12px; font-weight:800; color:#c6d5e2; }
.nc-stack input,.nc-form-grid-2 input,.nc-form-grid-2 select,.nc-inline-form input,.nc-search input { width:100%; min-height:46px; padding:0 13px; border:1px solid var(--nc-line); border-radius:12px; background:#07131f; color:var(--nc-text); font:inherit; outline:none; }
.nc-stack input:focus,.nc-form-grid-2 input:focus,.nc-form-grid-2 select:focus,.nc-inline-form input:focus,.nc-search input:focus { border-color:rgba(43,197,255,.62); box-shadow:0 0 0 3px rgba(43,197,255,.10); }
.nc-form-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:14px; }
.nc-span-2 { grid-column:1/-1; }
.nc-form-grid-2 small { color:var(--nc-muted); font-weight:600; }
.nc-form-actions { display:flex; gap:10px; flex-wrap:wrap; }

.nc-switch-row { display:flex !important; align-items:center; justify-content:space-between; gap:16px !important; min-height:62px; padding:12px 14px; border:1px solid var(--nc-line); border-radius:13px; background:rgba(5,18,29,.55); }
.nc-switch-row span { display:grid; gap:4px; }
.nc-switch-row strong { color:var(--nc-text); }
.nc-switch-row small { color:var(--nc-muted); font-weight:600; line-height:1.35; }
.nc-switch-row input[type="checkbox"] { width:22px; min-width:22px; height:22px; accent-color:var(--nc-accent); }

.nc-primary,.nc-secondary { min-height:44px; padding:0 15px; border-radius:12px; font:inherit; font-weight:850; cursor:pointer; transition:.18s ease; }
.nc-primary { border:1px solid rgba(43,197,255,.70); background:linear-gradient(180deg,#32c8fa,#18aee6); color:#03111b; }
.nc-secondary { border:1px solid var(--nc-line-strong); background:rgba(18,43,62,.75); color:var(--nc-text); }
.nc-primary:hover,.nc-secondary:hover { filter:brightness(1.08); transform:translateY(-1px); }
.nc-primary:disabled,.nc-secondary:disabled { opacity:.55; cursor:not-allowed; transform:none; }

.nc-details { display:grid; gap:0; margin-top:14px; }
.nc-detail { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.055); }
.nc-detail:last-child { border-bottom:0; }
.nc-detail span { color:var(--nc-muted); }
.nc-detail strong { max-width:64%; text-align:right; overflow-wrap:anywhere; }
.nc-worker-warning { margin-bottom:10px; padding:11px 12px; border:1px solid rgba(242,198,109,.25); border-radius:11px; background:rgba(242,198,109,.08); color:#f7daa1; font-weight:800; }
.nc-hint { margin-top:14px !important; font-size:12px; line-height:1.55; }

.nc-test-card { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr); align-items:end; gap:18px; }
.nc-inline-form { display:grid; grid-template-columns:1fr auto; align-items:end; gap:10px; }

.nc-subtabs { display:flex; gap:8px; margin:2px 0 14px; }
.nc-employee-toolbar { display:flex; align-items:end; gap:10px; margin-bottom:14px; }
.nc-search { flex:1; }
.nc-count-pill,.nc-status-chip { display:inline-flex; align-items:center; min-height:36px; padding:0 11px; border:1px solid var(--nc-line); border-radius:999px; background:rgba(11,31,46,.8); color:var(--nc-muted); font-size:12px; font-weight:850; }
.nc-status-chip.is-ready { color:#8de6bf; border-color:rgba(75,210,160,.30); background:rgba(75,210,160,.08); }

.nc-employee-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; }
.nc-employee-grid[hidden] { display:none !important; }
.nc-employee-card { position:relative; display:grid; gap:13px; min-height:170px; padding:17px; border:1px solid var(--nc-line); border-radius:16px; background:linear-gradient(180deg,rgba(16,36,54,.94),rgba(8,24,36,.94)); cursor:pointer; text-align:left; color:inherit; transition:.18s ease; }
.nc-employee-card:hover { transform:translateY(-2px); border-color:var(--nc-line-strong); box-shadow:0 16px 34px rgba(0,0,0,.18); }
.nc-employee-card h3 { margin:0; font-size:17px; }
.nc-employee-card p { margin:0; color:var(--nc-muted); overflow-wrap:anywhere; }
.nc-employee-meta { display:flex; flex-wrap:wrap; gap:7px; }
.nc-chip { display:inline-flex; align-items:center; min-height:26px; padding:0 9px; border-radius:999px; background:rgba(255,255,255,.055); color:var(--nc-muted); font-size:11px; font-weight:800; }
.nc-chip.success { color:#8de6bf; background:rgba(75,210,160,.09); }
.nc-chip.off { color:#ffc1cb; background:rgba(255,107,129,.09); }
.nc-card-action { margin-top:auto; color:var(--nc-accent); font-size:12px; font-weight:850; }
.nc-empty { grid-column:1/-1; padding:28px; border:1px dashed var(--nc-line-strong); border-radius:16px; text-align:center; color:var(--nc-muted); }

.nc-smtp-layout { align-items:start; }
.nc-table-wrap { overflow:auto; }
.nc-table-wrap table { width:100%; min-width:900px; border-collapse:collapse; }
.nc-table-wrap th,.nc-table-wrap td { padding:12px; text-align:left; vertical-align:top; border-bottom:1px solid rgba(255,255,255,.05); }
.nc-table-wrap th { color:var(--nc-muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.nc-table-wrap small { color:var(--nc-muted); }
.nc-badge { display:inline-flex; align-items:center; min-height:26px; padding:0 8px; border-radius:999px; background:rgba(255,255,255,.06); font-size:11px; font-weight:850; }
.nc-badge.sent { color:#8de6bf; background:rgba(75,210,160,.09); }
.nc-badge.failed,.nc-badge.error { color:#ffc1cb; background:rgba(255,107,129,.09); }
.nc-badge.pending { color:#bfefff; background:rgba(43,197,255,.09); }
.nc-error { max-width:360px; color:#e7b8bf; font-size:11px; white-space:normal; overflow-wrap:anywhere; }

.nc-modal[hidden] { display:none !important; }
.nc-modal { position:fixed; inset:0; z-index:10050; display:grid; place-items:center; padding:20px; }
.nc-modal-backdrop { position:absolute; inset:0; background:rgba(1,8,13,.74); backdrop-filter:blur(8px); }
.nc-modal-dialog { position:relative; z-index:1; width:min(560px,96vw); max-height:min(88vh,720px); overflow:auto; padding:24px; border:1px solid var(--nc-line-strong); border-radius:20px; background:linear-gradient(180deg,#102638,#0a1a28); box-shadow:0 28px 100px rgba(0,0,0,.45); }
.nc-modal-dialog h2 { margin:3px 48px 8px 0; letter-spacing:-.03em; }
.nc-modal-kicker { color:var(--nc-accent); font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.nc-modal-close { position:absolute; top:15px; right:15px; width:36px; height:36px; border:1px solid var(--nc-line); border-radius:10px; background:rgba(5,18,29,.7); color:var(--nc-text); font-size:23px; cursor:pointer; }

@media (max-width:1000px) {
  .nc-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .nc-grid-2,.nc-test-card { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .nc-wrap { width:min(94vw,100%); margin-top:12px; }
  .nc-module-title { grid-template-columns:4px 1fr; }
  .nc-status { grid-column:2; justify-content:flex-start; padding-left:0; }
  .nc-section-head,.nc-employee-toolbar { display:grid; grid-template-columns:1fr; align-items:stretch; }
  .nc-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nc-form-grid-2,.nc-inline-form { grid-template-columns:1fr; }
  .nc-span-2 { grid-column:auto; }
  .nc-form-actions { display:grid; grid-template-columns:1fr; }
  .nc-primary,.nc-secondary { width:100%; }
}
@media (max-width:480px) {
  .nc-module-title h1 { font-size:28px; }
  .nc-stats { grid-template-columns:1fr 1fr; }
  .nc-card { padding:16px; }
  .nc-subtabs { overflow:auto; }
}
@media print {
  .notification-center-page { background:#fff!important; color:#111!important; }
  #cchTopnavMount,.nc-tabs,.nc-primary,.nc-secondary,.nc-modal { display:none!important; }
  .nc-wrap { width:100%; margin:0; }
  .nc-card,.nc-stat { box-shadow:none; background:#fff!important; color:#111!important; border:1px solid #ccc; }
}
@media (prefers-reduced-motion:reduce) {
  .nc-panel,.nc-tab,.nc-subtab,.nc-employee-card,.nc-primary,.nc-secondary { animation:none; transition:none; }
}

/* Notification Center V3.4 – Standardisierung */
body.cch-page-cch-notification-center .nc-wrap {
  width: min(1680px, calc(100% - 32px));
  margin: 20px auto 64px;
}

body.cch-page-cch-notification-center .nc-module-title {
  grid-template-columns: 4px minmax(0, 1fr) auto;
  padding: 16px 0 20px;
  border-bottom-color: rgba(67, 194, 236, .26);
}

body.cch-page-cch-notification-center .nc-title-accent {
  width: 4px;
  min-height: 54px;
  background: linear-gradient(180deg, #43d7ff, #0eace8);
}

body.cch-page-cch-notification-center .nc-tabs {
  margin: 14px 0 18px;
  padding: 7px;
  border: 1px solid rgba(88,203,255,.14);
  border-radius: 16px;
  background: rgba(8, 25, 38, .72);
}

body.cch-page-cch-notification-center .nc-card,
body.cch-page-cch-notification-center .nc-stat,
body.cch-page-cch-notification-center .nc-employee-card {
  box-shadow: none;
}

body.cch-page-cch-notification-center .nc-modal { z-index: 300000; }

@media (max-width: 720px) {
  body.cch-page-cch-notification-center .nc-wrap { width: calc(100% - 20px); }
}
.nc-notification-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(420px,1.45fr);gap:18px;align-items:start}
.nc-compose-card{position:sticky;top:88px}
.nc-notification-filters{display:flex;gap:10px;margin-bottom:12px;align-items:end;flex-wrap:wrap}.nc-notification-filters select{min-width:170px}.nc-notification-filters label{display:grid;gap:5px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.nc-recipient-picker{display:grid;gap:10px;padding:12px;border:1px solid rgba(64,153,205,.3);border-radius:14px;background:rgba(5,19,30,.55)}
.nc-recipient-choices{display:grid;gap:7px;max-height:230px;overflow:auto;padding-right:4px}
.nc-recipient-choice{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid rgba(64,153,205,.24);border-radius:11px;background:rgba(14,39,56,.72);cursor:pointer;text-transform:none;letter-spacing:normal}
.nc-recipient-choice input{width:18px;height:18px;margin-top:2px}.nc-recipient-choice span{display:grid;gap:2px}.nc-recipient-choice strong{font-size:13px}.nc-recipient-choice small{font-size:11px;font-weight:600;color:var(--nc-muted)}
.nc-manager-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,.35fr) auto auto;gap:12px;align-items:end;margin-bottom:14px}.nc-manager-toolbar>label:not(.nc-search){display:grid;gap:7px;color:#c6d5e2;font-size:12px;font-weight:800}.nc-manager-toolbar input{min-height:44px;padding:0 12px;border:1px solid var(--nc-line);border-radius:12px;background:#07131f;color:var(--nc-text)}
.nc-manager-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--nc-line);border-bottom:1px solid var(--nc-line)}.nc-select-all{display:flex;align-items:center;gap:9px;color:var(--nc-muted);font-size:12px;font-weight:800}.nc-select-all input,.managed-message-checkbox{width:18px;height:18px;accent-color:var(--nc-accent)}
.nc-danger-button{min-height:42px;padding:0 14px;border:1px solid rgba(255,107,129,.48);border-radius:12px;background:rgba(255,107,129,.10);color:#ffc1cb;font:inherit;font-weight:850;cursor:pointer}.nc-danger-button:disabled{opacity:.45;cursor:not-allowed}.nc-manager-table{min-width:980px!important}
.nc-message-list,.nc-history-list{display:grid;gap:10px}
.nc-message-shell{position:relative;min-width:0}.nc-message-shell .nc-message{padding-right:92px}.nc-message-delete{position:absolute;right:12px;bottom:12px;z-index:2;min-height:32px!important;padding:5px 9px!important;border:1px solid rgba(255,95,103,.42)!important;border-radius:9px!important;background:rgba(255,95,103,.1)!important;color:#ffadb2!important;font-size:11px;font-weight:850}.nc-message-delete:hover{background:rgba(255,95,103,.2)!important}
.nc-day-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(129,181,205,.24)}
.nc-day-tab{padding:9px 14px;border:1px solid rgba(129,181,205,.28);border-radius:10px;color:inherit;background:rgba(12,35,49,.6);cursor:pointer;font:inherit;font-weight:700}
.nc-day-tab.is-active,.nc-day-tab:focus-visible{border-color:#31c5f5;background:rgba(49,197,245,.16);color:#91e2ff;outline:none}
.nc-message{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:13px;align-items:start;width:100%;padding:14px;border:1px solid var(--cch-v3-line,#18344a);border-radius:17px;background:var(--cch-v3-surface,#0b1b2a);color:inherit;text-align:left;cursor:pointer}
.nc-message:hover{border-color:#168bd0;background:var(--cch-v3-surface-hover,#10263a)}.nc-message-rail{width:8px;height:100%;min-height:54px;border-radius:999px;background:#09a9f5}.nc-message.is-critical .nc-message-rail{background:#ef4444}.nc-message.is-high .nc-message-rail{background:#f59e0b}
.nc-message-copy h3,.nc-history-card h3{margin:0 0 5px;font-size:16px}.nc-message-copy p{margin:0 0 7px;color:var(--cch-v3-text-muted,#8fa7ba)}.nc-message-copy small{color:var(--cch-v3-text-muted,#8fa7ba)}
.nc-message-state{display:grid;justify-items:end;gap:7px}.nc-priority{padding:4px 8px;border-radius:999px;border:1px solid currentColor;font-size:10px;font-weight:900;letter-spacing:.04em}.nc-priority.critical{color:#f87171}.nc-priority.high{color:#fbbf24}.nc-priority.normal{color:#38bdf8}
.nc-history-card{padding:16px 18px;border:1px solid var(--cch-v3-line,#18344a);border-radius:18px;background:var(--cch-v3-surface,#0b1b2a)}.nc-timeline{display:grid;gap:0;margin-top:12px}.nc-event{position:relative;padding:2px 0 16px 26px;color:var(--cch-v3-text-muted,#8fa7ba)}.nc-event:before{content:"";position:absolute;left:3px;top:5px;width:10px;height:10px;border-radius:50%;background:#09a9f5;box-shadow:0 0 0 4px rgba(9,169,245,.12)}.nc-event:after{content:"";position:absolute;left:7px;top:19px;bottom:0;width:2px;background:var(--cch-v3-line,#18344a)}.nc-event:last-child:after{display:none}.nc-event.failed:before{background:#ef4444}.nc-event strong{display:block;color:var(--cch-v3-text,#eaf7ff)}
@media(max-width:900px){.nc-notification-layout{grid-template-columns:1fr}.nc-compose-card{position:static}.nc-message{grid-template-columns:7px minmax(0,1fr)}.nc-message-state{grid-column:2;justify-items:start}.nc-notification-filters{flex-direction:column}}
@media(max-width:900px){.nc-manager-toolbar{grid-template-columns:1fr 1fr}.nc-manager-toolbar .nc-search{grid-column:1/-1}.nc-manager-actions{align-items:stretch;flex-direction:column}.nc-danger-button{width:100%}}
.nc-image-action{display:inline-flex;margin:8px 8px 0 0;padding:6px 10px;border:1px solid rgba(56,189,248,.35);border-radius:999px;color:#7dd3fc;font-size:.78rem;font-weight:800}
.nc-task-message{width:100%;cursor:default}.nc-task-message.is-completed{opacity:.68}.nc-task-message.is-completed h3{text-decoration:line-through}.nc-task-message .nc-image-action{text-decoration:none}
.nc-attendance-explainer{display:flex;align-items:center;gap:12px;margin-bottom:16px;border-color:rgba(49,197,245,.36);background:linear-gradient(135deg,rgba(49,197,245,.11),rgba(8,25,38,.72))}.nc-attendance-explainer strong{color:#91e2ff}.nc-attendance-explainer span{color:var(--nc-muted)}
.nc-attendance-explainer.is-warning{border-color:rgba(245,158,11,.48);background:linear-gradient(135deg,rgba(245,158,11,.13),rgba(8,25,38,.72))}.nc-attendance-explainer.is-warning strong{color:#fbbf24}
.nc-attendance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:13px}.nc-attendance-card{display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(150px,.7fr) minmax(220px,1fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid var(--nc-line-strong);border-radius:17px;background:linear-gradient(180deg,rgba(15,42,59,.9),rgba(8,25,38,.92))}.nc-attendance-card>label{display:grid;gap:7px;color:var(--nc-muted);font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.nc-attendance-card select,.nc-attendance-card input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--nc-line);border-radius:12px;background:#07131f;color:var(--nc-text);font:inherit}.nc-attendance-card input:disabled{opacity:.48}.nc-attendance-person{display:flex;align-items:center;gap:11px;min-width:0}.nc-attendance-person>span:last-child{display:grid;gap:4px;min-width:0}.nc-attendance-person strong{overflow-wrap:anywhere}.nc-attendance-person small{color:var(--nc-muted);line-height:1.45}.nc-channel-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(49,197,245,.35);border-radius:13px;background:rgba(49,197,245,.1);color:#91e2ff;font-size:18px}
@media(max-width:1050px){.nc-attendance-card{grid-template-columns:minmax(210px,1fr) minmax(150px,.7fr)}.nc-attendance-card .attendance-channel-save{width:100%}}
@media(max-width:620px){.nc-attendance-explainer{align-items:flex-start;flex-direction:column}.nc-attendance-card{grid-template-columns:1fr}.nc-attendance-card .nc-primary{width:100%}}
