.ws-tc-wrap{max-width:820px;margin:16px auto;padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.ws-tc-title{font-size:18px;font-weight:700;margin:0 0 10px}
.ws-tc-sub{font-size:13px;color:#374151;margin:0 0 10px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ws-tc-now{font-size:28px;font-weight:800;letter-spacing:0.5px}
.ws-tc-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ws-tc-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.ws-tc-field label{display:block;font-size:12px;color:#374151;margin:0 0 6px}
.ws-tc-field input,.ws-tc-field select{width:100%;padding:10px 10px;border:1px solid #d1d5db;border-radius:10px;font-size:14px}
.ws-tc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;align-items:center}
.ws-tc-actions-main{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.ws-tc-actions-secondary{display:flex;gap:10px;flex-wrap:wrap;width:100%}
.ws-tc-actions-main .ws-tc-btn{width:100%}
 .ws-tc-btn{appearance:none;border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}
.ws-tc-btn-come{background:#16a34a;color:#fff}
.ws-tc-btn-go{background:#2563eb;color:#fff}
.ws-tc-btn-secondary{background:#f3f4f6;color:#111827}
.ws-tc-btn-danger{background:#ef4444;color:#fff}
.ws-tc-msg{margin-top:10px;font-size:13px;min-height:18px}
.ws-tc-msg.ok{color:#15803d}
.ws-tc-msg.err{color:#b91c1c}
.ws-tc-list{margin-top:16px}
.ws-tc-list h3{margin:0 0 8px;font-size:14px}
.ws-tc-card{border:1px solid #e5e7eb;border-radius:12px;padding:10px;margin-bottom:10px;background:#fafafa}
.ws-tc-meta{font-size:12px;color:#374151;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ws-tc-meta .ws-tc-pill{padding:3px 8px;border-radius:999px;background:#fff;border:1px solid #e5e7eb}
.ws-tc-mini{padding:6px 10px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-weight:700}
.ws-tc-mini.danger{border-color:#fecaca;background:#fff5f5}
.ws-tc-editbar{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:640px){
  .ws-tc-row,.ws-tc-row-3{grid-template-columns:1fr}
  .ws-tc-now{font-size:24px}
}

/* === Modern Mitarbeiter-Portal (Screenshot-Look) === */
.ws-tc-modern{max-width:420px;padding:0;border-radius:14px;overflow:hidden;background:#fff}
.ws-tc-modern-header{background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:18px 18px}
.ws-tc-modern-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:26px;color:#0f172a}
.ws-tc-modern-datetime{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}
.ws-tc-modern-date{font-size:12px;font-weight:700;color:#0f172a;opacity:.7;white-space:nowrap}
.ws-tc-modern-now{font-size:14px;font-weight:700;color:#0f172a;opacity:.85;white-space:nowrap}
.ws-tc-modern-icon{display:inline-block;width:34px;height:34px;border-radius:999px;border:2px solid #1f3b78;position:relative}
.ws-tc-modern-icon:before{content:'';position:absolute;left:50%;top:50%;width:2px;height:12px;background:#1f3b78;transform:translate(-50%,-90%) rotate(0deg);transform-origin:bottom}
.ws-tc-modern-icon:after{content:'';position:absolute;left:50%;top:50%;width:10px;height:2px;background:#1f3b78;transform:translate(0,-50%);transform-origin:left}
.ws-tc-modern-body{padding:18px}
.ws-tc-modern-title{margin:0 0 14px 0;font-size:24px;line-height:1.2;color:#111827}
.ws-tc-modern-subtitle{margin:18px 0 10px 0;font-size:18px;color:#111827}
.ws-tc-modern-text{color:#111827;margin:0 0 8px 0}
.ws-tc-modern-kv{margin:6px 0;color:#111827;line-height:1.35}
.ws-tc-modern-kv span{color:#374151}
.ws-tc-modern-kv-block{margin-top:12px;padding-top:10px;border-top:1px solid #e5e7eb}
.ws-tc-modern-kv-label{font-weight:800;color:#111827;margin:0 0 8px 0}
.ws-tc-modern-worktimes{display:grid;gap:6px}
.ws-tc-modern-worktime{display:flex;align-items:center;gap:10px}
.ws-tc-modern-worktime-val{color:#374151;font-weight:600;font-size:14px}
.ws-tc-modern-form{display:flex;flex-direction:column;gap:12px}
.ws-tc-modern-field label{display:block;font-size:14px;color:#111827;margin:0 0 6px}
.ws-tc-modern-field input{width:100%;padding:12px 12px;border:1px solid #d1d5db;border-radius:10px;font-size:15px}
.ws-tc-modern-linkrow{margin-top:-4px}
.ws-tc-modern-linkrow a{color:#2563eb;text-decoration:underline;font-size:14px}
.ws-tc-modern-muted{color:#6b7280;font-size:14px}
.ws-tc-modern-alert{padding:10px 12px;border-radius:10px;margin:0 0 12px 0;font-size:14px}
.ws-tc-modern-alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
        .ws-tc-modern-alert-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.ws-tc-modern-btn{appearance:none;border:0;border-radius:10px;padding:12px 14px;font-weight:800;cursor:pointer;text-align:center}
.ws-tc-modern-btn-primary{background:#1d4ed8;color:#fff}
.ws-tc-modern-btn-secondary{background:#f3f4f6;color:#111827}
.ws-tc-modern-btn-link{background:transparent;color:#2563eb;padding:0;font-weight:700;text-decoration:underline}
.ws-tc-modern-btnrow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.ws-tc-modern-btn-come{background:#16a34a;color:#fff;font-size:20px}
.ws-tc-modern-btn-go{background:#dc2626;color:#fff;font-size:20px}
.ws-tc-modern-list{margin-top:10px}
.ws-tc-modern-table{width:100%;border-collapse:collapse;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}

.ws-tc-modern-summary{margin:10px 0 12px 0;padding:10px 12px;border:1px solid #dcdcde;background:#f6f7f7;border-radius:14px;}
.ws-tc-modern-summary-row{display:flex;justify-content:space-between;gap:12px;line-height:1.4;margin:2px 0;}
.ws-tc-modern-summary-muted{color:#666;font-size:13px;}

/* Employee portal: summary tiles (calmer, more dashboard-like) */
.ws-tc-summary-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.ws-tc-summary-tile{padding:10px 12px;border:1px solid #e5e5e5;background:#fff;border-radius:14px;box-shadow:0 1px 0 rgba(0,0,0,0.03);} 
.ws-tc-summary-tile-muted{opacity:0.7;}
.ws-tc-summary-k{font-size:12px;color:#666;line-height:1.2;margin-bottom:6px;}
.ws-tc-summary-v{font-size:16px;font-weight:650;letter-spacing:-0.01em;}
.ws-tc-summary-unit{font-size:12px;color:#666;font-weight:600;}
 .ws-tc-modern-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 8px 0;}
.ws-tc-modern-tabs .ws-tc-tab{appearance:none;border:1px solid #dcdcde;background:#fff;border-radius:999px;padding:6px 10px;font-size:13px;cursor:pointer;}
.ws-tc-modern-tabs .ws-tc-tab.active{background:#0f172a;color:#fff;border-color:#0f172a;}
    .ws-tc-modern-table th,.ws-tc-modern-table td{padding:10px 10px;border-bottom:1px solid #e5e7eb;font-size:14px;text-align:left}
.ws-tc-modern-table th{background:#f8fafc;color:#374151;font-weight:700}
.ws-tc-modern-table tr:last-child td{border-bottom:0}
/* === Admin Schichtkalender (Monatsansicht) === */
.ws-tc-admin-cal-wrap{max-width:980px}
.ws-tc-admin-cal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 8px;flex-wrap:wrap}
.ws-tc-admin-cal-title{font-size:20px;font-weight:800;color:#111827}
.ws-tc-admin-cal-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#374151;font-size:13px}
.ws-tc-admin-cal-pill{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;font-weight:800;border:1px solid #e5e7eb;background:#f3f4f6;color:#111827;margin-right:4px}
.ws-tc-admin-cal{width:100%;border-collapse:separate;border-spacing:10px;table-layout:fixed}
.ws-tc-admin-cal th{font-size:12px;color:#6b7280;text-align:center;font-weight:700}
.ws-tc-admin-cal-empty{height:76px}
.ws-tc-admin-cal-cell{position:relative;height:76px;border-radius:12px;border:1px solid #e5e7eb;background:#f3f4f6;cursor:pointer;user-select:none;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.ws-tc-admin-cal-cell:hover{box-shadow:0 2px 10px rgba(0,0,0,.08)}
.ws-tc-admin-cal-day{position:absolute;right:10px;top:8px;font-size:12px;color:#6b7280;pointer-events:none}
.ws-tc-admin-cal-code{display:flex;align-items:center;justify-content:center;height:100%;font-size:28px;font-weight:900;color:#0f172a;pointer-events:none}
.ws-tc-shift-F{background:#dcfce7;border-color:#bbf7d0}
.ws-tc-shift-S{background:#fef3c7;border-color:#fde68a}
.ws-tc-shift-N{background:#dbeafe;border-color:#bfdbfe}
.ws-tc-shift-OFF{background:#f3f4f6;border-color:#e5e7eb}
@media (max-width: 980px){
  .ws-tc-admin-cal{border-spacing:6px}
  .ws-tc-admin-cal-cell{height:64px}
  .ws-tc-admin-cal-code{font-size:22px}
}


/* Shift badges (table + portal) */
.ws-tc-badge{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  font-weight:700;
  font-size:12px;
  line-height:18px;
  border:1px solid rgba(0,0,0,.08);
}
.ws-tc-badge-early{ background: #dff7e8; }
.ws-tc-badge-late{ background: #fff0c9; }
.ws-tc-badge-night{ background: #dbe9ff; }
.ws-tc-badge-off{ background: #eeeeee; }
.ws-tc-badge-na{ background: #f4f4f4; }


/* Year shift calendar (printed plan style) */
.ws-tc-year-wrap{overflow:auto;}
.ws-tc-year-table{
  border-collapse:separate;
  border-spacing:2px;
  width:max-content;
  min-width:980px;
}
.ws-tc-year-table th,.ws-tc-year-table td{
  text-align:center;
  vertical-align:middle;
  font-size:12px;
  line-height:1.1;
}
.ws-tc-year-month{
  position:sticky;
  left:0;
  background:#fff;
  z-index:2;
  text-align:left;
  padding:6px 10px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:8px;
  white-space:nowrap;
}
.ws-tc-year-daynum{
  font-weight:700;
  padding:6px 0;
  min-width:26px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:8px;
  background:#f7f7f7;
}
.ws-tc-year-dow{
  padding:6px 0;
  min-width:26px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:8px;
  background:#ffffff;
}
.ws-tc-year-weekend{ background:#efefef; font-weight:700; }
.ws-tc-year-shift{
  padding:10px 0;
  min-width:26px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:8px;
  font-weight:900;
  font-size:14px;
}
.ws-tc-year-shift span{ display:inline-block; transform:translateY(1px); }
.ws-tc-year-empty{ background:transparent; border:none; }
.ws-tc-year-early{ background:#dff7e8; }
.ws-tc-year-late{ background:#fff0c9; }
.ws-tc-year-night{ background:#dbe9ff; }
.ws-tc-year-off{ background:#eeeeee; }
.ws-tc-year-na{ background:#f4f4f4; }
.ws-tc-year-legend{
  margin-top:10px;
  font-size:12px;
}
.ws-tc-year-chip{
  display:inline-block;
  width:18px;
  height:18px;
  border-radius:6px;
  margin:0 6px 0 10px;
  border:1px solid rgba(0,0,0,.08);
  text-align:center;
  line-height:18px;
  font-weight:900;
}


/* Month print view tweaks */
.ws-tc-year-table.ws-tc-monthprint .ws-tc-year-month{
  min-width:110px;
}


/* Portal menu (Meine Zeiten / Mein Schichtplan) */
.ws-tc-portal-menu{
  display:flex;
  gap:10px;
  margin:14px 0 10px 0;
  flex-wrap:wrap;
}
.ws-tc-portal-menu-btn{
  appearance:none;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  padding:10px 14px;
  border-radius:999px;
  font-weight:800;
  cursor:pointer;
}
.ws-tc-portal-menu-btn.is-active{
  background:#111827;
  color:#fff;
  border-color:#111827;
}
.ws-tc-portal-section{ display:none; }
.ws-tc-portal-section.is-active{ display:block; }


/* Hide horizontal scrollbar (still scrollable) */
.ws-tc-year-wrap{
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none; /* Firefox */
  -ms-overflow-style:none; /* IE/Edge legacy */
}
.ws-tc-year-wrap::-webkit-scrollbar{
  height:0;
  width:0;
}


/* Monthprint split (no horizontal scroll) */
.ws-tc-monthprint-wrap{ overflow:hidden; margin-bottom:10px; }
.ws-tc-monthprint-table{
  border-collapse:separate;
  border-spacing:2px;
  width:100%;
  table-layout:fixed;
}
.ws-tc-monthprint-table th,.ws-tc-monthprint-table td{
  text-align:center;
  vertical-align:middle;
  font-size:12px;
  line-height:1.1;
}
.ws-tc-mp-left{
  text-align:left;
  padding:6px 10px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:8px;
  background:#fff;
  white-space:nowrap;
  width:110px;
}
.ws-tc-mp-daynum{
  font-weight:700;
  padding:6px 0;
  border:1px solid rgba(0,0,0,.08);
  border-radius:8px;
  background:#f7f7f7;
}
.ws-tc-mp-dow{
  padding:6px 0;
  border:1px solid rgba(0,0,0,.08);
  border-radius:8px;
  background:#fff;
}
.ws-tc-mp-weekend{ background:#efefef; font-weight:700; }
.ws-tc-mp-shift{
  padding:10px 0;
  border:1px solid rgba(0,0,0,.08);
  border-radius:8px;
  font-weight:900;
  font-size:14px;
}
.ws-tc-mp-shift span{ display:inline-block; transform:translateY(1px); }
.ws-tc-mp-empty{ background:transparent; border:none; }
.ws-tc-mp-early{ background:#dff7e8; }
.ws-tc-mp-late{ background:#fff0c9; }
.ws-tc-mp-night{ background:#dbe9ff; }
.ws-tc-mp-off{ background:#eeeeee; }
.ws-tc-mp-na{ background:#f4f4f4; }


/* Month week-grid (mobile friendly) */
.ws-tc-mgrid{
  width:100%;
  border-collapse:separate;
  border-spacing:6px;
  table-layout:fixed;
}
.ws-tc-mgrid th{
  text-align:center;
  font-size:12px;
  font-weight:900;
  padding:6px 0;
  color:#111827;
}
.ws-tc-mgrid-empty{
  background:transparent;
}
.ws-tc-mgrid-cell{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:8px 6px 10px 6px;
  text-align:center;
  vertical-align:top;
  min-height:54px;
}
.ws-tc-mgrid-day{
  font-size:12px;
  font-weight:800;
  opacity:.8;
  line-height:1;
}
.ws-tc-mgrid-letter{
  margin-top:6px;
  font-size:18px;
  font-weight:1000;
  line-height:1;
}
.ws-tc-mgrid-src{
  position:absolute;
  right:6px;
  bottom:6px;
  font-size:10px;
  line-height:1;
  padding:2px 4px;
  border-radius:6px;
  background:rgba(0,0,0,.06);
  opacity:.85;
}
.ws-tc-mgrid-early{ background:#dff7e8; }
.ws-tc-mgrid-late{ background:#fff0c9; }
.ws-tc-mgrid-night{ background:#dbe9ff; }
.ws-tc-mgrid-off{ background:#eeeeee; }
.ws-tc-mgrid-na{ background:#f4f4f4; }
.ws-tc-mgrid-legend{
  margin-top:10px;
  font-size:12px;
}
.ws-tc-mgrid-chip{
  display:inline-block;
  width:18px;
  height:18px;
  border-radius:6px;
  margin:0 6px 0 10px;
  border:1px solid rgba(0,0,0,.08);
  text-align:center;
  line-height:18px;
  font-weight:900;
}


/* Calendar enhancements */
.ws-tc-mgrid-today{ outline:3px solid rgba(17,24,39,.85); outline-offset:2px; }
.ws-tc-mgrid-past{ filter:grayscale(0.6); opacity:0.70; }
.ws-tc-mgrid-holiday{ box-shadow:0 0 0 2px rgba(220,38,38,.25) inset; }
.ws-tc-mgrid-hdot{ width:8px; height:8px; border-radius:999px; background:rgba(220,38,38,.85); margin:6px auto 0 auto; }
.ws-tc-mgrid-cell[data-tip]{ position:relative; }
.ws-tc-mgrid-cell[data-tip]:hover::after{
  content:attr(data-tip);
  position:absolute;
  left:50%;
  bottom:100%;
  transform:translate(-50%,-8px);
  background:#111827;
  color:#fff;
  padding:6px 8px;
  border-radius:10px;
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
  z-index:50;
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ws-tc-mgrid-print{
  display:inline-block;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  padding:8px 12px;
  border-radius:999px;
  font-weight:800;
  cursor:pointer;
  margin:0 0 10px 0;
}
/* Print: make the shift plan use the full page (margins are additionally controlled by the browser print dialog) */
@page { size: A4 landscape; margin: 0mm; }

@media print{
  html, body{ margin:0 !important; padding:0 !important; }
  body * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }

  /* Default: hide elements that never belong on print */
  .ws-tc-portal-menu, .ws-tc-modern-btnrow, .ws-tc-mgrid-print, .ws-tc-modern-btn-link { display:none !important; }

  /* When printing the shift plan, print ONLY the month grid card */
  body.ws-tc-print-shiftplan * { visibility:hidden !important; }
  body.ws-tc-print-shiftplan .ws-tc-mgrid-card,
  body.ws-tc-print-shiftplan .ws-tc-mgrid-card * { visibility:visible !important; }
  body.ws-tc-print-shiftplan .ws-tc-mgrid-card {
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    box-shadow:none !important;
    border:0 !important;
  }

  /* Slightly enlarge the calendar to better fill the page */
  body.ws-tc-print-shiftplan .ws-tc-mgrid{ zoom: 1.15; }
  body.ws-tc-print-shiftplan .ws-tc-mgrid-nav{ display:none !important; }

  /* Print header: show month title small (good for Aushang), hide subtitle */
  body.ws-tc-print-shiftplan .ws-tc-mgrid-card > h3{
    display:block !important;
    font-size:14px !important;
    font-weight:800 !important;
    text-align:center !important;
    margin:6mm 0 4mm 0 !important;
    padding:0 !important;
  }
  body.ws-tc-print-shiftplan .ws-tc-mgrid-card > .ws-tc-modern-muted{ display:none !important; }


  .ws-tc-wrap.ws-tc-modern { box-shadow:none !important; }
  .ws-tc-mgrid { border-spacing:4px; width:100% !important; }
}

/* Password UI */
.ws-tc-pw-alert{margin:10px 0;padding:10px 12px;border-radius:12px;font-weight:700;border:1px solid rgba(0,0,0,.08);}
.ws-tc-pw-ok{background:#dff7e8;}
.ws-tc-pw-err{background:#ffe1e1;}
.ws-tc-pw-details summary{cursor:pointer;font-weight:900;margin:8px 0;}
.ws-tc-pw-form{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.ws-tc-pw-form label{font-weight:800;font-size:12px;opacity:.85;}
.ws-tc-pw-form input{padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.12);width:100%;}

/* CrazyTimeWR logo in portal header */
.ctwr-logo{
  height:28px;
  width:auto;
  display:inline-block;
  vertical-align:middle;
  margin-right:10px;
}
@media (max-width:420px){
  .ctwr-logo{ height:24px; margin-right:8px; }
}


/* Month navigation */
.ws-tc-mgrid-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:8px 0 10px 0;
}
.ws-tc-mgrid-navtitle{
  font-weight:900;
  color:#111827;
  font-size:14px;
}
.ws-tc-mgrid-navbtn{
  text-decoration:none;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  padding:8px 12px;
  border-radius:999px;
  font-weight:800;
  color:#111827;
  white-space:nowrap;
}
.ws-tc-mgrid-navbtn:hover{ filter:brightness(0.98); }

/* Admin calendar (month preview) – also used in frontend portal pages */
.ws-tc-admin-cal-wrap{max-width:980px}
.ws-tc-admin-cal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 8px;flex-wrap:wrap}
.ws-tc-admin-cal-navbtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:1px solid rgba(0,0,0,.10);background:#fff;color:#111827;font-weight:900;text-decoration:none}
.ws-tc-admin-cal-navbtn:hover{filter:brightness(0.98)}
.ws-tc-admin-cal-title{font-size:20px;font-weight:800;color:#111827}
.ws-tc-admin-cal-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#374151;font-size:13px}
.ws-tc-admin-cal-pill{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;font-weight:800;border:1px solid #e5e7eb;background:#f3f4f6;color:#111827;margin-right:4px}
.ws-tc-admin-cal{width:100%;border-collapse:separate;border-spacing:10px;table-layout:fixed}
.ws-tc-admin-cal th{font-size:12px;color:#6b7280;text-align:center;font-weight:700}
.ws-tc-admin-cal-empty{height:76px}
.ws-tc-admin-cal-cell{position:relative;height:76px;border-radius:12px;border:1px solid #e5e7eb;background:#f3f4f6;cursor:pointer;user-select:none;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.ws-tc-admin-cal-cell:hover{box-shadow:0 2px 10px rgba(0,0,0,.08)}
.ws-tc-admin-cal-day{position:absolute;right:10px;top:8px;font-size:12px;color:#6b7280;pointer-events:none}
.ws-tc-admin-cal-code{display:flex;align-items:center;justify-content:center;height:100%;font-size:28px;font-weight:900;color:#0f172a;pointer-events:none}
.ws-tc-weekend{opacity:0.95}
.ws-tc-shift-F{background:#dcfce7;border-color:#bbf7d0}
.ws-tc-shift-S{background:#fef3c7;border-color:#fde68a}
.ws-tc-shift-N{background:#dbeafe;border-color:#bfdbfe}
.ws-tc-shift-OFF{background:#f3f4f6;border-color:#e5e7eb}
@media (max-width: 980px){
  .ws-tc-admin-cal{border-spacing:6px}
  .ws-tc-admin-cal-cell{height:64px}
  .ws-tc-admin-cal-code{font-size:22px}
}

/* Portal Logout Button */
.ws-tc-emp-logout-btn{margin-top:10px;width:100%;}

/* CrazyTimeWR: inactivity timeout warning banner (employee portal) */
.ws-tc-timeout-warning{
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 10px;
  padding: 10px 12px;
  margin: 10px 0 14px;
  font-weight: 600;
}

/* === Portal vNext layout (Cards + Hero) === */
.ws-tc-portal-layout{display:flex;flex-direction:column;gap:14px;margin-top:12px;}
.ws-tc-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:14px 14px;box-shadow:0 6px 18px rgba(0,0,0,.04);}
.ws-tc-card-content{padding:0;overflow:hidden;}
.ws-tc-card-content .ws-tc-portal-menu{margin:0;border-bottom:1px solid rgba(0,0,0,.06);padding:10px 12px;background:rgba(17,24,39,0.02);} 
.ws-tc-card-content .ws-tc-portal-section{padding:12px;}

/* Hero */
.ws-tc-card-hero{border:0;position:relative;overflow:hidden;}
.ws-tc-card-hero:before{content:"";position:absolute;inset:0;opacity:1;}
.ws-tc-card-hero > *{position:relative;}
.ws-tc-card-hero.ws-tc-hero-fruh:before{background:linear-gradient(180deg, rgba(16,185,129,0.16), rgba(255,255,255,0.85));}
.ws-tc-card-hero.ws-tc-hero-spat:before{background:linear-gradient(180deg, rgba(245,158,11,0.18), rgba(255,255,255,0.85));}
.ws-tc-card-hero.ws-tc-hero-nacht:before{background:linear-gradient(180deg, rgba(99,102,241,0.16), rgba(255,255,255,0.85));}
.ws-tc-card-hero.ws-tc-hero-frei:before{background:linear-gradient(180deg, rgba(107,114,128,0.12), rgba(255,255,255,0.85));}

/* Subtle state hint */
.ws-tc-card-hero.is-clocked-in{outline:2px solid rgba(16,185,129,0.35);outline-offset:-2px;}
.ws-tc-card-hero.is-clocked-out{outline:2px solid rgba(148,163,184,0.35);outline-offset:-2px;}
.ws-tc-card-hero.is-clocked-done{outline:2px solid rgba(239,68,68,0.24);outline-offset:-2px;}

/* Mobile polish */
@media (max-width: 720px){
  .ws-tc-summary-tiles{grid-template-columns:1fr;}
  .ws-tc-modern-btnrow.ws-tc-hero-btnrow{flex-direction:column;}
  .ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn{width:100%;}
}

.ws-tc-hero-top{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;}
.ws-tc-hero-greet{font-weight:800;color:#111827;}
.ws-tc-hero-assignment{display:flex;flex-direction:column;gap:1px;}
.ws-tc-hero-sub{font-size:13px;color:rgba(17,24,39,.75);margin:0;}
.ws-tc-hero-main{display:flex;flex-direction:column;gap:2px;margin-bottom:12px;}
.ws-tc-hero-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(17,24,39,.55);font-weight:800;}
.ws-tc-hero-shift{font-size:20px;font-weight:900;color:#111827;line-height:1.1;}
.ws-tc-hero-window{font-size:14px;font-weight:700;color:rgba(17,24,39,.75);}
.ws-tc-portal-status{display:inline-flex;align-items:center;gap:8px;margin:10px 0 2px 0;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:800;line-height:1.2;border:1px solid transparent;background:rgba(255,255,255,.72);backdrop-filter:blur(4px);width:max-content;max-width:100%;}
.ws-tc-portal-status-dot{width:10px;height:10px;border-radius:999px;flex:0 0 10px;background:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.14);}
.ws-tc-portal-status.is-ready{color:#334155;border-color:rgba(148,163,184,.28);}
.ws-tc-portal-status.is-ready .ws-tc-portal-status-dot{background:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.14);}
.ws-tc-portal-status.is-waiting{color:#92400e;border-color:rgba(245,158,11,.28);background:rgba(255,251,235,.9);}
.ws-tc-portal-status.is-waiting .ws-tc-portal-status-dot{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.14);}
.ws-tc-portal-status.is-in{color:#166534;border-color:rgba(34,197,94,.28);background:rgba(240,253,244,.9);}
.ws-tc-portal-status.is-in .ws-tc-portal-status-dot{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.14);}
.ws-tc-portal-status.is-done{color:#991b1b;border-color:rgba(239,68,68,.24);background:rgba(254,242,242,.92);}
.ws-tc-portal-status.is-done .ws-tc-portal-status-dot{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12);}
.ws-tc-portal-status-sub{display:none;margin:6px 2px 10px 2px;font-size:13px;line-height:1.4;color:#475569;max-width:420px;}
.ws-tc-portal-status-sub.is-visible{display:block;}
.ws-tc-hero-btnrow{margin-top:6px;}
.ws-tc-hero-msg{margin:8px 0 0 0;}
.ws-tc-hero-alert{margin-top:10px;}

/* Details card */
.ws-tc-card-details summary{cursor:pointer;font-weight:900;color:#111827;list-style:none;}
.ws-tc-card-details summary::-webkit-details-marker{display:none;}
.ws-tc-card-details summary:after{content:"▾";float:right;opacity:.6;}
.ws-tc-card-details[open] summary:after{content:"▴";}
.ws-tc-card-messages summary{display:flex;align-items:center;gap:8px;}
.ws-tc-card-messages summary:after{float:none;margin-left:auto;}

.ws-tc-portal-logout{margin-top:14px;}

@media (min-width: 980px){
  .ws-tc-portal-layout{gap:16px;}
}


/* === CTWR Portal Login (Modern Card) === */
.ctwr-login-page{
  min-height: 70vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 12px;
  background: linear-gradient(135deg, #f5f7fa, #eef2f7);
  border-radius: 18px;
}
.ctwr-login-card{
  width:100%;
  max-width:420px;
  background:#fff;
  border-radius:16px;
  padding:28px;
  box-shadow: 0 20px 55px rgba(0,0,0,.10);
}
.ctwr-login-title{
  font-size:22px;
  font-weight:700;
  line-height:1.2;
}
.ctwr-login-subtitle{
  margin-top:6px;
  color: rgba(0,0,0,.65);
}
.ctwr-login-alert{
  margin-top:14px;
  padding:10px 12px;
  border-radius:12px;
  background: rgba(220,38,38,.08);
  color: rgba(153,27,27,1);
  border: 1px solid rgba(220,38,38,.25);
}
.ctwr-login-alert--success{
  background: rgba(34,197,94,.10);
  border-color: rgba(34,197,94,.25);
  color: rgba(20,83,45,1);
}
.ctwr-login-form{ margin-top:16px; }
.ctwr-login-label{
  display:block;
  margin-top:12px;
  margin-bottom:6px;
  font-weight:600;
}
.ctwr-login-input{
  width:100%;
  border:1px solid rgba(0,0,0,.15);
  border-radius:12px;
  padding:12px 12px;
  font-size:15px;
  outline:none;
}
.ctwr-login-input:focus{
  border-color: rgba(37,99,235,.55);
  box-shadow: 0 0 0 4px rgba(37,99,235,.12);
}
.ctwr-login-password{ position:relative; }
.ctwr-login-password .ctwr-login-input{ padding-right:44px; }
.ctwr-login-toggle{
  position:absolute;
  right:10px;
  top:50%;
  transform: translateY(-50%);
  border:none;
  background: transparent;
  cursor:pointer;
  font-size:18px;
  line-height:1;
  opacity:.75;
}
.ctwr-login-toggle:hover{ opacity:1; }
.ctwr-login-submit{
  margin-top:16px;
  width:100%;
  border:none;
  border-radius:12px;
  padding:12px 14px;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  background: rgba(37,99,235,1);
  color:#fff;
}
.ctwr-login-submit:hover{
  filter: brightness(0.95);
}


/* --- Mitteilungen (Portal) --- */
.ctwr-msg-badge{display:inline-block;min-width:18px;padding:2px 6px;margin-left:8px;border-radius:999px;background:#111;color:#fff;font-size:12px;line-height:1;text-align:center;vertical-align:middle;}
.ctwr-msg-list{display:flex;flex-direction:column;gap:12px;margin-top:10px;}
.ctwr-msg-card{background:#fff;border:1px solid #e6e8ee;border-radius:14px;padding:12px 14px;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.ctwr-msg-card.is-unread{border-color:#c9d6ff;box-shadow:0 2px 10px rgba(84,110,255,.10);}
.ctwr-msg-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.ctwr-msg-date{font-size:12px;opacity:.7;white-space:nowrap;}
.ctwr-msg-body{margin-top:8px;}


/* Portal clock button disabled states */
.ws-tc-modern-btn.ws-tc-disabled-toggle,
.ws-tc-modern-btn.ws-tc-disabled,
.ws-tc-modern-btn[disabled]{
  opacity:.45;
  filter:saturate(.15);
  cursor:not-allowed;
  pointer-events:none;
  box-shadow:none;
  transform:none;
}
.ws-tc-modern-btn.ws-tc-disabled-toggle:active,
.ws-tc-modern-btn.ws-tc-disabled:active,
.ws-tc-modern-btn[disabled]:active{
  transform:none;
}

.ws-tc-mgrid-printrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 10px;}
.ws-tc-mgrid-print-year{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
@media print{
  .ws-tc-mgrid-printrow,.ws-tc-mgrid-navbtn{display:none !important;}
}


/* Year planner PRO layout */
.ws-tc-year-pro{margin:12px 0;}
.ws-tc-year-pro-head{margin-bottom:12px;}
.ws-tc-year-pro-title{margin:0 0 6px 0;font-size:34px;line-height:1.1;}
.ws-tc-year-pro-meta{font-size:14px;}
.ws-tc-year-pro-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.ws-tc-year-pro-month{
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  background:#fff;
  padding:12px;
  box-shadow:0 10px 24px rgba(17,24,39,.04);
  break-inside:avoid;
}
.ws-tc-year-pro-month-title{
  margin:0 0 10px 0;
  text-align:center;
  font-size:22px;
  line-height:1.1;
}
.ws-tc-year-pro-weekdays,
.ws-tc-year-pro-days{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
}
.ws-tc-year-pro-weekdays{margin-bottom:6px;}
.ws-tc-year-pro-weekday{
  display:flex;align-items:center;justify-content:center;
  min-height:34px;border:1px solid rgba(0,0,0,.08);border-radius:10px;
  background:#fff;font-weight:800;font-size:13px;color:#475569;
}
.ws-tc-year-pro-weekday.is-weekend{background:#f3f4f6;}
.ws-tc-year-pro-day{
  min-height:64px;border:1px solid rgba(0,0,0,.08);border-radius:16px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-weight:900;font-size:22px;line-height:1;gap:6px;
}
.ws-tc-year-pro-day small{
  font-size:12px;line-height:1;color:#64748b;font-weight:700;
}
.ws-tc-year-pro-day strong{line-height:1;}
.ws-tc-year-pro-day.is-empty{
  background:transparent;border:1px dashed rgba(0,0,0,.04);
}
.ws-tc-year-pro-day.is-na{background:#f8fafc;}
.ws-tc-year-pro-day.is-early{background:#dff7e8;}
.ws-tc-year-pro-day.is-late{background:#fff0c9;}
.ws-tc-year-pro-day.is-night{background:#dbe9ff;}
.ws-tc-year-pro-day.is-off{background:#eeeeee;}
.ws-tc-year-pro-legend{margin-top:14px;}

@media (max-width: 1100px){
  .ws-tc-year-pro-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 700px){
  .ws-tc-year-pro-title{font-size:26px;}
  .ws-tc-year-pro-grid{grid-template-columns:1fr;gap:14px;}
  .ws-tc-year-pro-month-title{font-size:18px;}
  .ws-tc-year-pro-day{min-height:52px;font-size:18px;border-radius:14px;}
}
@media print{
  body .ws-tc-year-pro{
    box-shadow:none !important;
    border:none !important;
    margin:0 !important;
  }
  body .ws-tc-year-pro-grid{
    grid-template-columns:repeat(3,1fr) !important;
    gap:10px !important;
  }
  body .ws-tc-year-pro-month{
    padding:8px !important;
    border-radius:10px !important;
    box-shadow:none !important;
  }
  body .ws-tc-year-pro-title{font-size:24px !important;}
  body .ws-tc-year-pro-month-title{font-size:16px !important;margin-bottom:6px !important;}
  body .ws-tc-year-pro-weekday{min-height:24px !important;font-size:10px !important;border-radius:6px !important;}
  body .ws-tc-year-pro-day{min-height:38px !important;font-size:14px !important;border-radius:8px !important;gap:2px !important;}
  body .ws-tc-year-pro-day small{font-size:9px !important;}
}


.ws-tc-year-pro-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 12px 0;}
.ws-tc-year-pro-back,.ws-tc-year-pro-print{display:inline-flex;align-items:center;justify-content:center;}
@media print{
  .ws-tc-year-pro-actions,.ws-tc-year-pro-back,.ws-tc-year-pro-print{display:none !important;}
}



.ws-tc-year-wall{padding:14px 14px 18px 14px}
.ws-tc-year-wall-head{display:grid;grid-template-columns:1.2fr .7fr 1.1fr;gap:8px;align-items:stretch;margin-bottom:8px}
.ws-tc-year-wall-title,.ws-tc-year-wall-year{background:#c8c8c8;color:#111;font-weight:800;text-align:center;padding:8px 10px;border:1px solid #777}
.ws-tc-year-wall-legend{display:flex;gap:8px;justify-content:flex-end;align-items:stretch}
.ws-tc-year-wall-legend span{display:inline-flex;align-items:center;justify-content:center;min-width:110px;padding:8px 12px;border:1px solid #777;font-weight:700}
.ws-tc-year-wall-legend .holiday{background:#f0b43a}
.ws-tc-year-wall-legend .vacation{background:#8bb8e8}
.ws-tc-year-wall-company{text-align:center;font-weight:700;margin:10px 0 8px 0}
.ws-tc-year-wall-wrap{overflow:auto}
.ws-tc-year-wall-table{border-collapse:collapse;width:max-content;min-width:100%;background:#fff}
.ws-tc-year-wall-table th,.ws-tc-year-wall-table td{border:1px solid #777;text-align:center;vertical-align:middle}
.ws-tc-year-wall-month{min-width:54px;width:54px;padding:0 4px;background:#f1f5f9;font-weight:800;writing-mode:horizontal-tb;transform:none;letter-spacing:0;white-space:nowrap}
.ws-tc-year-wall-row.nums td{height:24px;font-size:11px;font-weight:700;background:#fff8}
.ws-tc-year-wall-row.dows td{height:28px;font-size:11px;color:#333;background:#fff}
.ws-tc-year-wall-row.shifts td{height:30px;font-size:14px;font-weight:900}
.ws-tc-year-wall-table td.empty{background:#fff}
.ws-tc-year-wall-table td.weekend{background:#d6e77a}
.ws-tc-year-wall-table td.num.weekend{background:#c7db61}
.ws-tc-year-wall-table td.dow.weekend{font-weight:700}
.ws-tc-year-wall-table td.shift.early{background:#dff7e8}
.ws-tc-year-wall-table td.shift.late{background:#fff0c9}
.ws-tc-year-wall-table td.shift.night{background:#dbe9ff}
.ws-tc-year-wall-table td.shift.off{background:#fff}
@media (max-width: 768px){
  .ws-tc-year-wall-head{grid-template-columns:1fr;gap:6px}
  .ws-tc-year-wall-legend{justify-content:flex-start}
  .ws-tc-year-wall-legend span{min-width:92px}
  .ws-tc-year-wall-month{min-width:48px;width:48px}
  .ws-tc-year-wall-row.nums td,.ws-tc-year-wall-row.dows td,.ws-tc-year-wall-row.shifts td{min-width:28px}
}
@media print{
  .ws-tc-year-wall{box-shadow:none !important;border:none !important;padding:6mm}
  .ws-tc-year-wall-wrap{overflow:visible}
  .ws-tc-year-wall-table{width:100% !important;table-layout:fixed}
  .ws-tc-year-wall-table th,.ws-tc-year-wall-table td{border-color:#555}
  .ws-tc-year-wall-row.nums td{height:18px;font-size:9px}
  .ws-tc-year-wall-row.dows td{height:18px;font-size:9px}
  .ws-tc-year-wall-row.shifts td{height:20px;font-size:11px}
}


@media print{
  body *{visibility:hidden !important;}
  .ws-tc-year-wall, .ws-tc-year-wall *,
  .ws-tc-mgrid, .ws-tc-mgrid *{
    visibility:visible !important;
  }
  .ws-tc-year-wall, .ws-tc-mgrid{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    box-shadow:none !important;
    border:none !important;
    background:#fff !important;
  }
  .no-print,
  .ws-tc-year-pro-actions,
  .ws-tc-year-pro-back,
  .ws-tc-year-pro-print,
  .ws-tc-mgrid-print-row,
  .ws-tc-mgrid-nav,
  header, footer, #wpadminbar{
    display:none !important;
  }
}

/* V20.9.2 Notification PRO */
.ctwr-notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-left:10px;text-decoration:none;border:1px solid rgba(148,163,184,.45);border-radius:999px;width:36px;height:36px;background:#fff;color:#111827;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.ctwr-notification-bell:hover{background:#f8fafc;text-decoration:none;}
.ctwr-bell-icon{font-size:17px;line-height:1;}
.ctwr-bell-badge{position:absolute;right:-6px;top:-6px;margin-left:0;background:#ef4444!important;color:#fff!important;border:2px solid #fff;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;}
.ws-tc-card-messages .ctwr-msg-card.is-read{opacity:.72;}

/* === V23.3 TRUE APP MODE === */
body:has(.ws-tc-modern-wrap), .ws-tc-modern-wrap{
  background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
}
.ws-tc-modern-wrap{
  max-width:430px!important;
  margin:18px auto 90px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 18px 50px rgba(15,23,42,.10)!important;
}
.ws-tc-modern-header{
  padding:18px 18px!important;
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(10px);
}
.ws-tc-modern-header h2,
.ws-tc-modern-header .ws-tc-title{
  font-size:24px!important;
  letter-spacing:-.03em;
}
.ws-tc-portal-layout{gap:16px!important;padding:0 16px 16px!important;}
.ws-tc-card{
  border-radius:22px!important;
  border:1px solid rgba(148,163,184,.22)!important;
  box-shadow:0 18px 46px rgba(15,23,42,.08)!important;
}
.ws-tc-card-hero{
  padding:20px!important;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)!important;
}
.ws-tc-card-hero:before{opacity:.9!important;}
.ws-tc-hero-greet{font-size:17px!important;letter-spacing:-.02em;}
.ws-tc-hero-sub{font-size:12px!important;}
.ws-tc-hero-label{font-size:11px!important;margin-top:8px;}
.ws-tc-hero-shift{
  font-size:30px!important;
  letter-spacing:-.04em;
  margin-top:2px;
}
.ws-tc-hero-window{
  font-size:17px!important;
  color:#0f172a!important;
}
.ws-tc-portal-status{
  padding:10px 14px!important;
  font-size:13px!important;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin-top:16px!important;
}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn,
.ws-tc-modern-btnrow.ws-tc-hero-btnrow button,
.ws-tc-modern-btnrow.ws-tc-hero-btnrow a{
  width:100%!important;
  min-height:58px!important;
  border-radius:16px!important;
  font-size:18px!important;
  font-weight:900!important;
  box-shadow:0 14px 28px rgba(15,23,42,.12)!important;
}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn:not([disabled]):first-child,
.ws-tc-modern-btnrow.ws-tc-hero-btnrow button:not([disabled]):first-child{
  background:linear-gradient(135deg,#16a34a,#22c55e)!important;
  color:#fff!important;
  border:0!important;
}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn[disabled],
.ws-tc-modern-btnrow.ws-tc-hero-btnrow button[disabled]{
  opacity:.62!important;
  box-shadow:none!important;
}
.ws-tc-card-content{
  border-radius:22px!important;
}
.ws-tc-portal-menu{
  position:sticky!important;
  bottom:0!important;
  z-index:20!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  padding:12px!important;
  background:rgba(255,255,255,.95)!important;
  backdrop-filter:blur(12px);
  border-top:1px solid rgba(148,163,184,.25)!important;
  border-bottom:0!important;
}
.ws-tc-portal-menu .ws-tc-portal-menu-btn,
.ws-tc-portal-menu-btn{
  justify-content:center!important;
  border-radius:999px!important;
  padding:11px 12px!important;
  font-weight:900!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}
.ws-tc-portal-menu-btn.is-active{
  background:#0f172a!important;
  color:#fff!important;
  border-color:#0f172a!important;
}
.ws-tc-card-details,
.ws-tc-card-messages{
  background:rgba(255,255,255,.96)!important;
}
.ws-tc-card-details summary,
.ws-tc-card-messages summary{
  font-size:16px!important;
}
@media (max-width:720px){
  .ws-tc-modern-wrap{
    margin:0 auto 90px!important;
    max-width:100%!important;
    min-height:100vh!important;
    border-radius:0!important;
  }
  .ws-tc-portal-layout{padding:0 12px 16px!important;}
  .ws-tc-card{border-radius:24px!important;}
}

/* V23.4 REAL BUILD - Final App Polish */
body:has(.ws-tc-modern-wrap), .ws-tc-modern-wrap{
  background:#f6f8fb !important;
}
.ws-tc-wrap.ws-tc-modern{
  max-width:420px !important;
  margin:0 auto !important;
  border-radius:22px !important;
  box-shadow:0 18px 50px rgba(15,23,42,.08) !important;
  overflow:hidden !important;
}
.ws-tc-modern-header{
  background:#ffffff !important;
  border-bottom:1px solid #edf1f7 !important;
  padding:18px 18px !important;
}
.ws-tc-modern-brand{
  font-size:25px !important;
  letter-spacing:-.04em !important;
}
.ws-tc-modern-body{
  padding:20px 16px 118px 16px !important;
}
.ws-tc-modern-title{
  font-size:24px !important;
  margin-bottom:12px !important;
}
.ws-tc-card-hero{
  border-radius:22px !important;
  padding:22px 20px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 16px 34px rgba(15,23,42,.08) !important;
  border:1px solid rgba(148,163,184,.35) !important;
}
.ws-tc-card-hero.ws-tc-hero-fruh{border-color:rgba(34,197,94,.32)!important;}
.ws-tc-card-hero.ws-tc-hero-spat{border-color:rgba(245,158,11,.34)!important;}
.ws-tc-card-hero.ws-tc-hero-nacht{border-color:rgba(99,102,241,.34)!important;}
.ws-tc-card-hero.ws-tc-hero-frei{border-color:rgba(148,163,184,.4)!important;}
.ws-tc-hero-greet{font-size:17px!important;font-weight:900!important;color:#0f172a!important;}
.ws-tc-hero-sub{font-size:12px!important;color:#64748b!important;font-weight:700!important;}
.ws-tc-hero-label{font-size:11px!important;letter-spacing:.12em!important;color:#64748b!important;margin-top:12px!important;}
.ws-tc-hero-shift{font-size:29px!important;line-height:1.02!important;letter-spacing:-.045em!important;color:#071226!important;}
.ws-tc-hero-window{font-size:16px!important;color:#0f172a!important;font-weight:900!important;margin-top:3px!important;}
.ws-tc-portal-status{
  border-radius:999px !important;
  padding:8px 12px !important;
  font-size:13px !important;
  font-weight:900 !important;
  width:max-content !important;
  max-width:100% !important;
  box-shadow:0 6px 14px rgba(15,23,42,.06) !important;
}
.ws-tc-portal-status.is-ready{background:#e8fff1!important;border-color:#bbf7d0!important;color:#166534!important;}
.ws-tc-portal-status.is-wait{background:#fff7ed!important;border-color:#fed7aa!important;color:#9a3412!important;}
.ws-tc-portal-status.is-done,.ws-tc-portal-status.is-blocked{background:#fff1f2!important;border-color:#fecdd3!important;color:#be123c!important;}
.ws-tc-portal-status-sub{font-size:13px!important;color:#64748b!important;margin-top:8px!important;}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow,
.ws-tc-buttons{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  margin-top:16px !important;
}
.ws-tc-modern-btn{
  border-radius:16px !important;
  min-height:56px !important;
  font-size:18px !important;
  letter-spacing:.01em !important;
  transition:transform .08s ease, box-shadow .08s ease, filter .08s ease !important;
}
.ws-tc-modern-btn:active{transform:scale(.985)!important;}
.ws-tc-modern-btn-come:not([disabled]){
  background:linear-gradient(135deg,#16a34a,#22c55e) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(22,163,74,.26) !important;
}
.ws-tc-modern-btn-go:not([disabled]){
  background:linear-gradient(135deg,#991b1b,#ef4444) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(239,68,68,.22) !important;
}
.ws-tc-modern-btn[disabled],.ws-tc-modern-btn.ws-tc-disabled-toggle{
  background:#cbd5d1 !important;
  color:#fff !important;
  opacity:1 !important;
  box-shadow:none !important;
  cursor:not-allowed !important;
}
.ws-tc-card-details{
  border-radius:18px !important;
  border:1px solid #e8edf4 !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}
.ws-tc-card-details summary{
  padding:17px 18px !important;
  font-weight:900 !important;
}
.ws-tc-portal-menu{
  position:sticky !important;
  bottom:10px !important;
  z-index:20 !important;
  margin-top:18px !important;
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:blur(14px) !important;
  border:1px solid #e8edf4 !important;
  box-shadow:0 14px 34px rgba(15,23,42,.1) !important;
  border-radius:22px !important;
  padding:12px !important;
}
.ws-tc-portal-menu a,.ws-tc-portal-menu button{
  border-radius:999px !important;
  padding:12px 14px !important;
  font-weight:900 !important;
}
@media (max-width:520px){
  .ws-tc-wrap.ws-tc-modern{max-width:100%!important;border-radius:0!important;box-shadow:none!important;}
  .ws-tc-modern-body{padding:16px 12px 112px 12px!important;}
  .ws-tc-card-hero{border-radius:20px!important;}
  .ws-tc-hero-shift{font-size:31px!important;}
}


/* === V24.1 CLEAN UI + BLUE HERO GRADIENT === */
.ws-tc-card-hero{
  background:
    radial-gradient(circle at 18% 0%, rgba(96,165,250,.24) 0%, rgba(96,165,250,0) 42%),
    linear-gradient(160deg,#ffffff 0%,#eef6ff 52%,#e8f1ff 100%) !important;
  border-color:rgba(59,130,246,.24) !important;
  box-shadow:0 18px 42px rgba(37,99,235,.12), 0 10px 24px rgba(15,23,42,.06) !important;
}
.ws-tc-card-hero.ws-tc-hero-fruh,
.ws-tc-card-hero.ws-tc-hero-spat,
.ws-tc-card-hero.ws-tc-hero-nacht,
.ws-tc-card-hero.ws-tc-hero-frei{
  border-color:rgba(59,130,246,.30) !important;
}
.ws-tc-hero-greet{font-size:18px!important;font-weight:900!important;}
.ws-tc-hero-sub{color:#475569!important;}
.ws-tc-hero-label{color:#2563eb!important;font-weight:900!important;}
.ws-tc-hero-shift{font-size:32px!important;color:#06142b!important;text-shadow:0 1px 0 rgba(255,255,255,.7);}
.ws-tc-hero-window{font-size:17px!important;}
.ws-tc-portal-status{
  border-width:1px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
}
.ws-tc-portal-status.is-done,.ws-tc-portal-status.is-blocked{
  background:#fff7f7!important;
  border-color:#fecaca!important;
  color:#b91c1c!important;
}
.ws-tc-card-hero .ws-tc-portal-status-sub{
  font-weight:700!important;
  color:#334155!important;
}
.ws-tc-card-hero .ws-tc-modern-btnrow:empty,
.ws-tc-card-hero .ws-tc-buttons:empty{
  display:none!important;
}
.ws-tc-card-hero:not(:has(.ws-tc-modern-btnrow button)),
.ws-tc-card-hero:not(:has(.ws-tc-buttons button)){
  padding-bottom:24px!important;
}
.ws-tc-card-details,.ws-tc-card-messages{
  border-radius:20px!important;
}
.ws-tc-card-details summary,.ws-tc-card-messages summary{
  letter-spacing:-.02em!important;
}

/* === V24.2 FINAL UI PRO - stronger blue hero + visible disabled buttons === */
.ws-tc-card-hero{
  background:
    radial-gradient(circle at 15% 5%, rgba(37,99,235,.20) 0%, rgba(37,99,235,0) 40%),
    linear-gradient(135deg,#e6f0ff 0%,#f8fbff 58%,#eef6ff 100%) !important;
  border:1px solid rgba(37,99,235,.22) !important;
  border-radius:20px!important;
  box-shadow:0 20px 48px rgba(37,99,235,.14), 0 10px 24px rgba(15,23,42,.07) !important;
  padding:20px!important;
}
.ws-tc-card-hero.ws-tc-hero-fruh,
.ws-tc-card-hero.ws-tc-hero-spat,
.ws-tc-card-hero.ws-tc-hero-nacht,
.ws-tc-card-hero.ws-tc-hero-frei{border-color:rgba(37,99,235,.26)!important;}
.ws-tc-hero-label{color:#2563eb!important;font-size:11px!important;letter-spacing:.14em!important;font-weight:950!important;}
.ws-tc-hero-shift{font-size:33px!important;line-height:1.02!important;letter-spacing:-.055em!important;color:#06142b!important;}
.ws-tc-hero-window{font-size:17px!important;color:#0f172a!important;font-weight:950!important;}
.ws-tc-card-hero .ws-tc-portal-status{margin-top:14px!important;border-radius:999px!important;box-shadow:0 8px 18px rgba(15,23,42,.06)!important;}
.ws-tc-card-hero .ws-tc-portal-status-sub{margin-top:10px!important;font-weight:800!important;}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow{margin-top:18px!important;display:flex!important;}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn,
.ws-tc-modern-btnrow.ws-tc-hero-btnrow button{min-height:54px!important;border-radius:16px!important;font-size:17px!important;font-weight:950!important;letter-spacing:.01em!important;}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn[disabled],
.ws-tc-modern-btnrow.ws-tc-hero-btnrow button[disabled]{display:block!important;opacity:.58!important;filter:saturate(.75)!important;}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn-come[disabled],
.ws-tc-modern-btnrow.ws-tc-hero-btnrow #ws-tc-come[disabled]{background:#9aa8a1!important;color:#fff!important;}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn-go[disabled],
.ws-tc-modern-btnrow.ws-tc-hero-btnrow #ws-tc-go[disabled]{background:#a99598!important;color:#fff!important;}

/* === V24.3 MICRO-INTERACTIONS === */
.ws-tc-card-hero{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ws-tc-card-hero:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 46px rgba(15,23,42,.13)!important;
}
.ws-tc-card-hero .ws-tc-portal-status{
  animation: ctwrStatusPop .26s ease both;
}
.ws-tc-card-hero .ws-tc-portal-status-sub{
  animation: ctwrFadeUp .28s ease both;
}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn,
.ws-tc-modern-btnrow.ws-tc-hero-btnrow button,
.ws-tc-modern-btnrow.ws-tc-hero-btnrow a{
  transition: transform .12s ease, box-shadow .18s ease, filter .18s ease, opacity .18s ease!important;
  will-change: transform;
}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn:not([disabled]):hover,
.ws-tc-modern-btnrow.ws-tc-hero-btnrow button:not([disabled]):hover,
.ws-tc-modern-btnrow.ws-tc-hero-btnrow a:not([disabled]):hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn:not([disabled]):active,
.ws-tc-modern-btnrow.ws-tc-hero-btnrow button:not([disabled]):active,
.ws-tc-modern-btnrow.ws-tc-hero-btnrow a:not([disabled]):active{
  transform: scale(.975);
}
.ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn[disabled],
.ws-tc-modern-btnrow.ws-tc-hero-btnrow button[disabled]{
  cursor:not-allowed!important;
}
.ws-tc-accordion,
.ws-tc-card,
.ws-tc-app-tabs,
.ws-tc-pill,
.ws-tc-modern-alert{
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease, background .18s ease;
}
.ws-tc-accordion:hover,
.ws-tc-app-tabs:hover{
  box-shadow: 0 10px 26px rgba(15,23,42,.08)!important;
}
@keyframes ctwrStatusPop{
  0%{transform:scale(.96);opacity:.65}
  100%{transform:scale(1);opacity:1}
}
@keyframes ctwrFadeUp{
  0%{transform:translateY(5px);opacity:.35}
  100%{transform:translateY(0);opacity:1}
}
@media (prefers-reduced-motion: reduce){
  .ws-tc-card-hero,
  .ws-tc-card-hero *,
  .ws-tc-modern-btnrow.ws-tc-hero-btnrow *,
  .ws-tc-accordion,
  .ws-tc-card,
  .ws-tc-app-tabs,
  .ws-tc-pill,
  .ws-tc-modern-alert{
    animation:none!important;
    transition:none!important;
  }
}

/* === V24.4 CARD GRADIENT PACK === */
.ws-tc-card-details,
.ws-tc-accordion.ws-tc-card-details,
details.ws-tc-card-details{
  background:radial-gradient(circle at 15% 0%, rgba(34,197,94,.13) 0%, rgba(34,197,94,0) 42%),linear-gradient(135deg,#ffffff 0%,#f0fdf4 58%,#ecfdf5 100%) !important;
  border-color:rgba(34,197,94,.20) !important;
  box-shadow:0 14px 32px rgba(22,163,74,.08),0 8px 20px rgba(15,23,42,.04) !important;
}
.ws-tc-card-details summary{color:#052e16 !important;}
.ws-tc-card-messages,
.ws-tc-accordion.ws-tc-card-messages,
details.ws-tc-card-messages{
  background:radial-gradient(circle at 16% 0%, rgba(245,158,11,.14) 0%, rgba(245,158,11,0) 44%),linear-gradient(135deg,#ffffff 0%,#fff7ed 58%,#fffbeb 100%) !important;
  border-color:rgba(245,158,11,.22) !important;
  box-shadow:0 14px 32px rgba(245,158,11,.08),0 8px 20px rgba(15,23,42,.04) !important;
}
.ws-tc-card-messages summary{color:#451a03 !important;}
.ws-tc-portal-menu,
.ws-tc-app-tabs,
.ws-tc-card-content .ws-tc-portal-menu{
  background:radial-gradient(circle at 12% 0%, rgba(168,85,247,.13) 0%, rgba(168,85,247,0) 45%),linear-gradient(135deg,rgba(255,255,255,.96) 0%,rgba(250,245,255,.94) 58%,rgba(245,243,255,.94) 100%) !important;
  border-color:rgba(168,85,247,.20) !important;
  box-shadow:0 14px 34px rgba(126,34,206,.10),0 8px 20px rgba(15,23,42,.05) !important;
}
.ws-tc-portal-menu a,.ws-tc-portal-menu button,.ws-tc-app-tabs a,.ws-tc-app-tabs button{
  background:rgba(255,255,255,.74) !important;
  border-color:rgba(168,85,247,.16) !important;
}
.ws-tc-portal-menu a:hover,.ws-tc-portal-menu button:hover,.ws-tc-app-tabs a:hover,.ws-tc-app-tabs button:hover{
  background:#fff !important;
  box-shadow:0 8px 18px rgba(126,34,206,.10) !important;
}
.ws-tc-card-details:hover,.ws-tc-card-messages:hover,.ws-tc-portal-menu:hover,.ws-tc-app-tabs:hover{transform:translateY(-1px);}

/* === V24.5 UI SYSTEM - unified premium card system === */
:root{
  --ctwr-card-radius: 22px;
  --ctwr-card-shadow: 0 14px 34px rgba(15,23,42,.075), 0 4px 12px rgba(15,23,42,.035);
  --ctwr-card-shadow-hover: 0 18px 42px rgba(15,23,42,.105), 0 6px 16px rgba(15,23,42,.045);
  --ctwr-border-soft: rgba(148,163,184,.22);
}
.ws-tc-card,.ws-tc-accordion,.ws-tc-card-details,.ws-tc-card-messages,.ws-tc-portal-menu,.ws-tc-app-tabs{
  border-radius:var(--ctwr-card-radius)!important;
  border:1px solid var(--ctwr-border-soft)!important;
  box-shadow:var(--ctwr-card-shadow)!important;
  overflow:hidden!important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease!important;
}
.ws-tc-card:hover,.ws-tc-accordion:hover,.ws-tc-card-details:hover,.ws-tc-card-messages:hover,.ws-tc-portal-menu:hover,.ws-tc-app-tabs:hover{
  transform:translateY(-1px)!important;
  box-shadow:var(--ctwr-card-shadow-hover)!important;
}
.ws-tc-card-hero{
  background:radial-gradient(circle at 16% 0%, rgba(59,130,246,.18) 0%, rgba(59,130,246,0) 40%),linear-gradient(135deg,#f8fbff 0%,#eef6ff 56%,#f7fbff 100%)!important;
  border-color:rgba(59,130,246,.24)!important;
  box-shadow:0 18px 44px rgba(59,130,246,.12), var(--ctwr-card-shadow)!important;
}
.ws-tc-card-details,.ws-tc-accordion.ws-tc-card-details,details.ws-tc-card-details{
  background:radial-gradient(circle at 15% 0%, rgba(34,197,94,.08) 0%, rgba(34,197,94,0) 42%),linear-gradient(135deg,#fbfffd 0%,#f3fbf6 56%,#fbfffd 100%)!important;
  border-color:rgba(34,197,94,.16)!important;
}
.ws-tc-card-messages,.ws-tc-accordion.ws-tc-card-messages,details.ws-tc-card-messages{
  background:radial-gradient(circle at 15% 0%, rgba(245,158,11,.085) 0%, rgba(245,158,11,0) 42%),linear-gradient(135deg,#fffdf9 0%,#fff8ee 56%,#fffdf8 100%)!important;
  border-color:rgba(245,158,11,.17)!important;
}
.ws-tc-portal-menu,.ws-tc-app-tabs,.ws-tc-card-content .ws-tc-portal-menu{
  background:radial-gradient(circle at 12% 0%, rgba(168,85,247,.08) 0%, rgba(168,85,247,0) 44%),linear-gradient(135deg,rgba(255,255,255,.97) 0%,rgba(250,247,255,.96) 56%,rgba(252,250,255,.96) 100%)!important;
  border-color:rgba(168,85,247,.16)!important;
}
.ws-tc-card-details summary,.ws-tc-card-messages summary{padding:18px 20px!important;font-weight:950!important;letter-spacing:-.025em!important;}
.ws-tc-card-details summary{color:#064e3b!important;}
.ws-tc-card-messages summary{color:#78350f!important;}
.ws-tc-portal-menu a,.ws-tc-portal-menu button,.ws-tc-app-tabs a,.ws-tc-app-tabs button{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(148,163,184,.18)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.045)!important;
  transition:transform .12s ease, box-shadow .16s ease, background .16s ease!important;
}
.ws-tc-portal-menu a:hover,.ws-tc-portal-menu button:hover,.ws-tc-app-tabs a:hover,.ws-tc-app-tabs button:hover{transform:translateY(-1px)!important;background:#fff!important;box-shadow:0 12px 24px rgba(15,23,42,.08)!important;}
.ws-tc-portal-menu a:active,.ws-tc-portal-menu button:active,.ws-tc-app-tabs a:active,.ws-tc-app-tabs button:active{transform:scale(.98)!important;}
.ws-tc-modern-body{gap:18px!important;}
.ws-tc-portal-layout{gap:18px!important;}

/* V25.15 Urlaub im Frontend-Kalender */
.ws-tc-mgrid-cell.ws-tc-mgrid-vacation,
.ws-tc-mgrid-chip.ws-tc-mgrid-vacation {
  background:#d1fae5 !important;
  color:#065f46 !important;
  border-color:#10b981 !important;
}
.ws-tc-mgrid-cell.ws-tc-mgrid-vacation .ws-tc-mgrid-letter {
  font-size:20px;
  line-height:1;
}
.ws-tc-badge-vacation {
  background:#d1fae5;
  color:#065f46;
  border:1px solid #10b981;
}
.ws-tc-year-wall-table .shift.vacation{background:#d1fae5!important;color:#065f46!important;}

/* V25.17: Resturlaub-Box im Frontend */
@media (max-width: 720px) {
  .ctwr-vacation-balance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* V25.25: Mobile table cleanup - prevent Gehen column from being clipped */
.ws-tc-modern-table{width:100%;max-width:100%;table-layout:fixed;}
.ws-tc-modern-table-wrap{width:100%;max-width:100%;overflow:hidden;}
.ws-tc-modern-table th,.ws-tc-modern-table td{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ws-tc-modern-table th:nth-child(1),.ws-tc-modern-table td:nth-child(1){width:34%;}
.ws-tc-modern-table th:nth-child(2),.ws-tc-modern-table td:nth-child(2){width:24%;}
.ws-tc-modern-table th:nth-child(3),.ws-tc-modern-table td:nth-child(3){width:21%;}
.ws-tc-modern-table th:nth-child(4),.ws-tc-modern-table td:nth-child(4){width:21%;}
@media (max-width:600px){
  .ws-tc-modern .ws-tc-modern-table{min-width:0!important;width:100%!important;table-layout:fixed!important;}
  .ws-tc-modern .ws-tc-modern-table th,.ws-tc-modern .ws-tc-modern-table td{padding:7px 4px!important;font-size:12px!important;line-height:1.2!important;}
}

/* V25.44 Krankheit orange markieren (Rot bleibt für Ignorieren/Fehler reserviert) */
.ws-tc-mgrid-cell.ws-tc-mgrid-sick,
.ws-tc-mgrid-chip.ws-tc-mgrid-sick {
  background:#ffedd5 !important;
  color:#9a3412 !important;
  border-color:#fb923c !important;
}
.ws-tc-mgrid-cell.ws-tc-mgrid-sick .ws-tc-mgrid-letter {
  font-weight:900;
  font-size:18px;
  line-height:1;
}
.ws-tc-badge-sick {
  background:#ffedd5;
  color:#9a3412;
  border:1px solid #fb923c;
}
.ws-tc-year-wall-table .shift.sick{background:#ffedd5!important;color:#9a3412!important;}
.ws-tc-card-sick summary{color:#9a3412!important;}

/* V26.9 Mitarbeiter-Notizen im Portal */
.ws-tc-emp-note-box{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap;min-width:180px}
.ws-tc-emp-note{width:100%;min-width:170px;min-height:38px;border:1px solid #d1d5db;border-radius:10px;padding:7px 9px;font-size:12px;line-height:1.35;resize:vertical;background:#fff}
.ws-tc-emp-note-save{white-space:nowrap}
.ws-tc-emp-note-msg{font-size:11px;color:#166534;line-height:24px;min-height:18px}
.ws-tc-emp-note-msg.err{color:#b91c1c}


/* V27.0 Mobile Mitarbeiter-Notizen: auf Smartphones als Karten anzeigen */
.ws-tc-mobile-note-list{display:none}
@media (max-width: 640px){
  #ws-tc-list .ws-tc-modern-table-wrap{display:none!important}
  #ws-tc-list .ws-tc-mobile-note-list{display:block;margin-top:10px}
  #ws-tc-list .ws-tc-mobile-note-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px;margin:10px 0;box-shadow:0 2px 8px rgba(15,23,42,.06)}
  #ws-tc-list .ws-tc-mobile-note-head{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:15px;color:#1f2937;margin-bottom:8px}
  #ws-tc-list .ws-tc-mobile-note-head span{background:#eef2ff;border-radius:999px;padding:4px 9px;font-size:12px;color:#1d4ed8}
  #ws-tc-list .ws-tc-mobile-note-times{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;font-size:13px;color:#475569}
  #ws-tc-list .ws-tc-mobile-note-label{font-size:13px;font-weight:700;color:#334155;margin:4px 0 6px}
  #ws-tc-list .ws-tc-emp-note-box{display:block;min-width:0;width:100%}
  #ws-tc-list .ws-tc-emp-note{width:100%;min-width:0;min-height:72px;font-size:14px;border-radius:12px;margin-bottom:8px}
  #ws-tc-list .ws-tc-emp-note-save{width:100%;min-height:42px;border-radius:12px;font-size:14px}
  #ws-tc-list .ws-tc-emp-note-msg{display:block;text-align:center;margin-top:5px;line-height:18px}
}


/* V27.1 Kompakte Mitarbeiter-Notizen */
#ws-tc-list .ws-tc-mobile-note-card{padding:10px 11px!important;margin:8px 0!important;border-radius:14px!important;}
#ws-tc-list .ws-tc-mobile-note-head{margin-bottom:5px!important;font-size:14px!important;}
#ws-tc-list .ws-tc-mobile-note-head span{padding:3px 8px!important;font-size:11px!important;}
#ws-tc-list .ws-tc-mobile-note-times{margin-bottom:6px!important;gap:6px!important;font-size:12px!important;}
#ws-tc-list .ws-tc-mobile-note-label{font-size:12px!important;font-weight:700!important;margin:2px 0 4px!important;color:#475569!important;}
#ws-tc-list .ws-tc-emp-note-box{position:relative!important;display:block!important;width:100%!important;min-width:0!important;}
#ws-tc-list .ws-tc-emp-note{width:100%!important;min-width:0!important;min-height:34px!important;height:34px!important;max-height:110px!important;padding:7px 38px 7px 10px!important;margin:0!important;font-size:13px!important;line-height:1.35!important;border-radius:10px!important;resize:vertical!important;overflow:hidden!important;}
#ws-tc-list .ws-tc-emp-note:focus{min-height:78px!important;height:78px!important;overflow:auto!important;}
#ws-tc-list .ws-tc-emp-note-save{position:absolute!important;right:5px!important;top:5px!important;width:28px!important;min-width:28px!important;min-height:24px!important;height:24px!important;padding:0!important;border-radius:8px!important;font-size:13px!important;line-height:22px!important;opacity:.75!important;}
#ws-tc-list .ws-tc-emp-note-save:hover{opacity:1!important;}
#ws-tc-list .ws-tc-emp-note-msg{display:block!important;text-align:left!important;margin:3px 0 0 2px!important;line-height:14px!important;font-size:11px!important;min-height:14px!important;color:#16a34a!important;}
#ws-tc-list .ws-tc-emp-note-msg:empty{display:none!important;}
@media (min-width: 641px){
  #ws-tc-list .ws-tc-emp-note-save{font-size:12px!important;width:auto!important;min-width:34px!important;padding:0 8px!important;}
  #ws-tc-list .ws-tc-emp-note{min-height:34px!important;height:34px!important;}
  #ws-tc-list .ws-tc-emp-note:focus{height:68px!important;}
}


/* V27.2 Mitarbeiternotizen: vergangene Tage nur lesbar */
#ws-tc-list .ws-tc-emp-note[readonly]{background:#f8fafc!important;color:#64748b!important;border-style:dashed!important;cursor:not-allowed!important;}
#ws-tc-list .ws-tc-emp-note-box-locked .ws-tc-emp-note-msg{display:block!important;color:#64748b!important;font-size:11px!important;}
#ws-tc-list .ws-tc-mobile-note-card-locked{opacity:.92;}


/* V27.5 Mitarbeiterportal: Tabelle ohne horizontalen Scrollbalken */
#ws-tc-tabs{display:none!important;}
#ws-tc-list .ws-tc-mobile-note-list{display:none!important;}
#ws-tc-list .ws-tc-modern-table-wrap{display:block!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important;-webkit-overflow-scrolling:auto!important;}
#ws-tc-list .ws-tc-times-table-compact{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;}
#ws-tc-list .ws-tc-times-table-compact th,#ws-tc-list .ws-tc-times-table-compact td{box-sizing:border-box!important;padding:8px 6px!important;font-size:13px!important;line-height:1.25!important;vertical-align:middle!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#ws-tc-list .ws-tc-times-table-compact th:nth-child(1),#ws-tc-list .ws-tc-times-table-compact td:nth-child(1){width:24%!important;}
#ws-tc-list .ws-tc-times-table-compact th:nth-child(2),#ws-tc-list .ws-tc-times-table-compact td:nth-child(2){width:22%!important;}
#ws-tc-list .ws-tc-times-table-compact th:nth-child(3),#ws-tc-list .ws-tc-times-table-compact td:nth-child(3){width:27%!important;}
#ws-tc-list .ws-tc-times-table-compact th:nth-child(4),#ws-tc-list .ws-tc-times-table-compact td:nth-child(4){width:27%!important;}
#ws-tc-list .ws-tc-times-table-compact .ws-tc-today-note-row td{white-space:normal!important;overflow:visible!important;padding:6px!important;background:#fafafa!important;}
#ws-tc-list .ws-tc-emp-note-box-table{display:flex!important;gap:5px!important;align-items:flex-start!important;width:100%!important;min-width:0!important;}
#ws-tc-list .ws-tc-emp-note-box-table .ws-tc-emp-note{flex:1 1 auto!important;width:auto!important;min-width:0!important;height:32px!important;min-height:32px!important;padding:6px 8px!important;font-size:12px!important;line-height:1.25!important;border-radius:8px!important;resize:vertical!important;}
#ws-tc-list .ws-tc-emp-note-box-table .ws-tc-emp-note:focus{min-height:58px!important;height:58px!important;}
#ws-tc-list .ws-tc-emp-note-box-table .ws-tc-emp-note-save{position:static!important;flex:0 0 32px!important;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;border-radius:8px!important;}
#ws-tc-list .ws-tc-emp-note-box-table .ws-tc-emp-note-msg{display:block!important;font-size:10px!important;line-height:12px!important;margin-left:2px!important;}
@media (max-width:640px){
  #ws-tc-list .ws-tc-times-table-compact th,#ws-tc-list .ws-tc-times-table-compact td{font-size:12px!important;padding:7px 5px!important;}
  #ws-tc-list .ws-tc-times-table-compact th:nth-child(1),#ws-tc-list .ws-tc-times-table-compact td:nth-child(1){width:23%!important;}
  #ws-tc-list .ws-tc-times-table-compact th:nth-child(2),#ws-tc-list .ws-tc-times-table-compact td:nth-child(2){width:21%!important;}
  #ws-tc-list .ws-tc-times-table-compact th:nth-child(3),#ws-tc-list .ws-tc-times-table-compact td:nth-child(3){width:28%!important;}
  #ws-tc-list .ws-tc-times-table-compact th:nth-child(4),#ws-tc-list .ws-tc-times-table-compact td:nth-child(4){width:28%!important;}
}


/* V27.8 Admin-Aktionsbuttons kompakter */
.ctwr-admin-times-table .ctwr-admin-actions-cell{
  white-space:nowrap!important;
  min-width:170px!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell .button,
.ctwr-admin-times-table .ctwr-admin-actions-cell input.button,
.ctwr-admin-times-table .ctwr-admin-actions-cell button.button{
  min-height:28px!important;
  height:28px!important;
  line-height:26px!important;
  padding:0 8px!important;
  font-size:12px!important;
  border-radius:6px!important;
  margin:1px 2px 3px 0!important;
  vertical-align:middle!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell form{
  display:inline-block!important;
  margin:0!important;
}
.ctwr-admin-times-table .ctwr-note-save{
  min-height:28px!important;
  height:28px!important;
  line-height:26px!important;
  padding:0 8px!important;
  font-size:12px!important;
  border-radius:6px!important;
}
@media (max-width: 782px){
  .ctwr-admin-times-table .ctwr-admin-actions-cell .button,
  .ctwr-admin-times-table .ctwr-admin-actions-cell input.button,
  .ctwr-admin-times-table .ctwr-admin-actions-cell button.button{
    min-height:30px!important;
    height:30px!important;
    line-height:28px!important;
    padding:0 9px!important;
    font-size:12px!important;
  }
}


/* V27.9 Admin-Aktionsbuttons als Symbole */
.ctwr-admin-times-table .ctwr-admin-actions-cell{
  white-space:nowrap!important;
  min-width:118px!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell input.ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell button.ctwr-icon-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  line-height:28px!important;
  padding:0!important;
  margin:1px 3px 3px 0!important;
  border-radius:999px!important;
  font-size:14px!important;
  text-align:center!important;
  overflow:hidden!important;
  vertical-align:middle!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell input.ctwr-icon-action{
  font-family:Arial, sans-serif!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell form{
  display:inline-block!important;
  margin:0!important;
  padding:0!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-delete{
  color:#b32d2e!important;
  border-color:#f0b8b8!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-ignore{
  color:#7a4b00!important;
  border-color:#f0d28a!important;
}


/* V28.0 Admin-Symbolbuttons modern/dezent */
.ctwr-admin-times-table .ctwr-admin-actions-cell{
  white-space:nowrap!important;
  min-width:124px!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell input.ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell button.ctwr-icon-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  line-height:28px!important;
  padding:0!important;
  margin:1px 4px 1px 0!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:50%!important;
  background:#f1f5f9!important;
  font-size:14px!important;
  text-decoration:none!important;
  vertical-align:middle!important;
  cursor:pointer!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-icon-action:hover,
.ctwr-admin-times-table .ctwr-admin-actions-cell input.ctwr-icon-action:hover,
.ctwr-admin-times-table .ctwr-admin-actions-cell button.ctwr-icon-action:hover{
  background:#e2e8f0!important;
  transform:translateY(-1px);
}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-come{color:#2563eb!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-go{color:#1e3a8a!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-ignore{color:#f97316!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-delete{color:#dc2626!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell form{
  display:inline-block!important;
  margin:0!important;
  padding:0!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell input.ctwr-icon-action{
  font-family:Arial, sans-serif!important;
}

/* V28.1 Admin-Symbolbuttons: blauen WP-Rahmen endgültig entfernen */
.ctwr-admin-times-table .ctwr-admin-actions-cell a.ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell button.ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell input.ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-icon-action.button,
.ctwr-admin-times-table .ctwr-admin-actions-cell .button.ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell .button-secondary.ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell .button.delete.ctwr-icon-action{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  line-height:28px!important;
  padding:0!important;
  margin:1px 4px 1px 0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:999px!important;
  background:#f1f5f9!important;
  text-decoration:none!important;
  cursor:pointer!important;
  font-size:14px!important;
  vertical-align:middle!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell a.ctwr-icon-action:hover,
.ctwr-admin-times-table .ctwr-admin-actions-cell button.ctwr-icon-action:hover,
.ctwr-admin-times-table .ctwr-admin-actions-cell input.ctwr-icon-action:hover,
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-icon-action.button:hover{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:#e2e8f0!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-icon-action:focus{
  outline:2px solid #cbd5e1!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-come{color:#2563eb!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-go{color:#1e3a8a!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-ignore{color:#f97316!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-delete{color:#dc2626!important;}


/* V28.2 icon action buttons */
.ws-action-btn,.ctwr-action-btn,.ws-icon-btn{
 width:32px!important;
 height:32px!important;
 padding:0!important;
 border:none!important;
 border-radius:50%!important;
 background:#f3f4f6!important;
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 margin:0 3px!important;
 box-shadow:none!important;
}
.ws-action-btn:hover,.ctwr-action-btn:hover,.ws-icon-btn:hover{
 background:#e5e7eb!important;
}
.ws-action-btn.delete,.ctwr-action-btn.delete{color:#dc2626!important;}
.ws-action-btn.ignore,.ctwr-action-btn.ignore{color:#f59e0b!important;}


/* V28.3 Admin-Symbolbuttons Feinschliff: mittig, farbig, gleiche Abstaende */
.ctwr-admin-times-table .ctwr-admin-actions-cell{
  white-space:nowrap!important;
  min-width:146px!important;
  text-align:left!important;
  vertical-align:middle!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell form{
  display:inline-flex!important;
  margin:0 0 0 0!important;
  padding:0!important;
  vertical-align:middle!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell a.ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell button.ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell input.ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-icon-action.button,
.ctwr-admin-times-table .ctwr-admin-actions-cell .button.ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell .button-secondary.ctwr-icon-action,
.ctwr-admin-times-table .ctwr-admin-actions-cell .button.delete.ctwr-icon-action{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:0!important;
  margin:0 5px 0 0!important;
  border:0!important;
  outline:0!important;
  border-radius:999px!important;
  background:#f1f5f9!important;
  box-shadow:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  text-decoration:none!important;
  vertical-align:middle!important;
  cursor:pointer!important;
  transform:none!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell a.ctwr-icon-action:hover,
.ctwr-admin-times-table .ctwr-admin-actions-cell button.ctwr-icon-action:hover,
.ctwr-admin-times-table .ctwr-admin-actions-cell input.ctwr-icon-action:hover,
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-icon-action.button:hover{
  background:#e5e7eb!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  transform:translateY(-1px)!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-icon-action:focus{
  outline:2px solid #cbd5e1!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-icon-action .dashicons{
  width:18px!important;
  height:18px!important;
  font-size:18px!important;
  line-height:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-come .dashicons{color:#2563eb!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-go .dashicons{color:#1e3a8a!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-ignore .dashicons{color:#f97316!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-delete .dashicons{color:#dc2626!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-delete:hover{background:#fee2e2!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-ignore:hover{background:#ffedd5!important;}
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-come:hover,
.ctwr-admin-times-table .ctwr-admin-actions-cell .ctwr-action-go:hover{background:#dbeafe!important;}

/* V28.4 Admin: Drei-Punkte-Aktionsmenue */
.ctwr-admin-times-table .ctwr-admin-actions-cell{
  white-space:nowrap!important;
  min-width:54px!important;
  width:54px!important;
  text-align:center!important;
  position:relative!important;
  overflow:visible!important;
}
.ctwr-row-actions-menu{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.ctwr-actions-trigger{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  border:0!important;
  outline:0!important;
  border-radius:999px!important;
  background:#f1f5f9!important;
  color:#334155!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:700!important;
  cursor:pointer!important;
  padding:0!important;
  box-shadow:none!important;
}
.ctwr-actions-trigger:hover,
.ctwr-row-actions-menu.is-open .ctwr-actions-trigger{
  background:#e2e8f0!important;
  color:#0f172a!important;
}
.ctwr-actions-dropdown{
  display:none;
  position:absolute!important;
  right:0!important;
  top:38px!important;
  z-index:99999!important;
  min-width:188px!important;
  background:#ffffff!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  box-shadow:0 12px 32px rgba(15,23,42,.18)!important;
  padding:6px!important;
  text-align:left!important;
}
.ctwr-row-actions-menu.is-open .ctwr-actions-dropdown{display:block!important;}
.ctwr-actions-dropdown form{display:block!important;margin:0!important;padding:0!important;}
.ctwr-menu-item{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  border:0!important;
  background:transparent!important;
  color:#1e293b!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:8px 10px!important;
  border-radius:8px!important;
  font-size:13px!important;
  line-height:1.2!important;
  text-decoration:none!important;
  cursor:pointer!important;
  box-shadow:none!important;
  text-align:left!important;
  margin:0!important;
}
.ctwr-menu-item:hover{background:#f1f5f9!important;color:#0f172a!important;}
.ctwr-menu-item .dashicons{
  width:18px!important;height:18px!important;font-size:18px!important;line-height:18px!important;
}
.ctwr-menu-come .dashicons{color:#2563eb!important;}
.ctwr-menu-go .dashicons{color:#1e3a8a!important;}
.ctwr-menu-ignore .dashicons{color:#f97316!important;}
.ctwr-menu-delete{color:#b91c1c!important;}
.ctwr-menu-delete .dashicons{color:#dc2626!important;}
.ctwr-menu-delete:hover{background:#fee2e2!important;color:#991b1b!important;}

/* === V28.5 Käufer-Polish: Dashboard / Startassistent === */
.ctwr-dashboard{max-width:1180px}
.ctwr-dashboard h1{font-weight:800;letter-spacing:-.02em}
.ctwr-dash-sub{font-size:15px;color:#5f6b7a;margin-top:0}
.ctwr-dash-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}
.ctwr-dash-card{background:#fff;border:1px solid #dcdcde;border-radius:16px;padding:16px 18px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.ctwr-dash-k{font-size:12px;color:#646970;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.ctwr-dash-v{font-size:34px;line-height:1.05;font-weight:850;color:#111827;margin:8px 0 2px}
.ctwr-dash-m{font-size:13px;color:#646970}
.ctwr-dash-panel{background:#fff;border:1px solid #dcdcde;border-radius:18px;padding:18px;margin:16px 0;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.ctwr-dash-panel h2{margin:0 0 14px;font-size:18px}
.ctwr-setup-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ctwr-setup-item{display:flex;align-items:flex-start;gap:12px;text-decoration:none;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:14px;color:#111827}
.ctwr-setup-item:hover{background:#f1f5f9;border-color:#cbd5e1;color:#111827}
.ctwr-setup-item.is-done{background:#f0fdf4;border-color:#bbf7d0}
.ctwr-setup-num{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:999px;background:#111827;color:#fff;font-weight:800}
.ctwr-setup-item.is-done .ctwr-setup-num{background:#16a34a}
.ctwr-setup-item strong{display:block;font-size:14px;margin-bottom:3px}
.ctwr-setup-item small{display:block;color:#646970;line-height:1.35}
.ctwr-dash-actions{margin:18px 0;display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:1100px){.ctwr-dash-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.ctwr-dash-grid,.ctwr-setup-list{grid-template-columns:1fr}.ctwr-dash-v{font-size:28px}}


/* V30.11: Zuweisungsaktionen platzsparend im Drei-Punkte-Menü */
.ctwr-assignment-table,
.ctwr-assignment-table tbody,
.ctwr-assignment-table tr,
.ctwr-assignment-table td{overflow:visible!important;}
.ctwr-assignment-table .ctwr-assignment-actions-head,
.ctwr-assignment-table .ctwr-assignment-actions-cell{
  width:64px!important;
  min-width:64px!important;
  text-align:center!important;
  white-space:nowrap!important;
  position:relative!important;
}
.ctwr-assignment-table .ctwr-actions-dropdown{right:0!important;left:auto!important;}
@media (max-width:782px){
  .ctwr-assignment-table .ctwr-assignment-actions-head,
  .ctwr-assignment-table .ctwr-assignment-actions-cell{width:48px!important;min-width:48px!important;}
}


/* V30.12: Aktionsspalte auf schmalen Ansichten sicher sichtbar */
.ctwr-assignment-table{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.ctwr-assignment-table th,
.ctwr-assignment-table td{
  box-sizing:border-box!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.ctwr-assignment-table th:nth-child(1),
.ctwr-assignment-table td:nth-child(1){width:26%!important;}
.ctwr-assignment-table th:nth-child(2),
.ctwr-assignment-table td:nth-child(2){width:34%!important;}
.ctwr-assignment-table th:nth-child(3),
.ctwr-assignment-table td:nth-child(3){width:auto!important;}
.ctwr-assignment-table .ctwr-assignment-actions-head,
.ctwr-assignment-table .ctwr-assignment-actions-cell{
  width:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  padding-left:4px!important;
  padding-right:4px!important;
  overflow:visible!important;
}
@media (max-width:782px){
  .ctwr-assignment-table{font-size:12px!important;}
  .ctwr-assignment-table th,
  .ctwr-assignment-table td{padding:8px 7px!important;}
  .ctwr-assignment-table th:nth-child(1),
  .ctwr-assignment-table td:nth-child(1){width:25%!important;}
  .ctwr-assignment-table th:nth-child(2),
  .ctwr-assignment-table td:nth-child(2){width:31%!important;}
  .ctwr-assignment-table .ctwr-assignment-actions-head,
  .ctwr-assignment-table .ctwr-assignment-actions-cell{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    padding-left:2px!important;
    padding-right:2px!important;
  }
  .ctwr-assignment-table .ctwr-assignment-actions-head{font-size:0!important;}
  .ctwr-assignment-table .ctwr-assignment-actions-head::after{content:'⋮';font-size:20px!important;line-height:1!important;}
  .ctwr-assignment-table .ctwr-actions-trigger{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
  }
}

/* V30.15: Zuweisungsaktionen wie in der Zeiten-Tabelle */
.ctwr-assignment-card{
  overflow:visible!important;
}
.ctwr-assignment-card .ctwr-assignment-table{
  overflow:visible!important;
}
.ctwr-assignment-card .ctwr-assignment-table .ctwr-actions-dropdown{
  display:none;
  right:0!important;
  left:auto!important;
  top:38px!important;
  z-index:999999!important;
}
.ctwr-assignment-card .ctwr-assignment-table .ctwr-row-actions-menu.is-open .ctwr-actions-dropdown{
  display:block!important;
}


/* V30.58 – Markenname kompakt in einer Zeile; Installationsbutton nur auf Loginseite */
.ws-tc-modern-brand{
  min-width:0;
  width:100%;
  gap:8px !important;
}
.ws-tc-modern-name{
  display:block;
  min-width:0;
  flex:1 1 auto;
  white-space:nowrap;
  font-size:18px !important;
  line-height:1.15 !important;
  letter-spacing:-.025em !important;
}
.ws-tc-modern-icon{
  flex:0 0 28px;
  width:28px !important;
  height:28px !important;
}
.ws-tc-modern-datetime{
  flex:0 0 auto;
  margin-left:4px !important;
}
.ws-tc-modern-date{
  font-size:10px !important;
}
@media (max-width:420px){
  .ws-tc-modern-header{padding:14px 12px !important;}
  .ws-tc-modern-brand{gap:6px !important;}
  .ws-tc-modern-name{font-size:16px !important;letter-spacing:-.03em !important;}
  .ws-tc-modern-icon{flex-basis:25px;width:25px !important;height:25px !important;}
  .ws-tc-modern-date{font-size:9px !important;}
}


/* V30.59 – App-Header: dunkelblau, kompakt, ohne Theme-Menü */
body.ctwr-employee-portal-page #header,
body.ctwr-employee-portal-page .ct-header,
body.ctwr-employee-portal-page header.site-header,
body.ctwr-employee-portal-page .site-header{
  display:none !important;
}
body.ctwr-employee-portal-page .site-main,
body.ctwr-employee-portal-page main#main,
body.ctwr-employee-portal-page .ct-container-full,
body.ctwr-employee-portal-page .entry-content{
  padding-top:0 !important;
  margin-top:0 !important;
}
body.ctwr-employee-portal-page .ws-tc-wrap.ws-tc-modern{
  margin-top:0 !important;
}
.ws-tc-modern-header{
  background:#0D3B66 !important;
  border:0 !important;
  border-radius:0 !important;
  padding:13px 16px !important;
  box-shadow:0 5px 18px rgba(13,59,102,.18) !important;
}
.ws-tc-modern-brand{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  gap:10px !important;
  color:#fff !important;
}
.ws-tc-modern-brand .ctwr-logo{
  width:34px !important;
  height:34px !important;
  object-fit:contain !important;
  filter:brightness(0) invert(1) !important;
  flex:0 0 34px !important;
}
.ws-tc-modern-icon{
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
  border-color:#fff !important;
  color:#fff !important;
}
.ws-tc-modern-icon::before,
.ws-tc-modern-icon::after{
  background:#fff !important;
}
.ws-tc-modern-name{
  color:#fff !important;
  font-size:17px !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1.1 !important;
}
.ws-tc-modern-datetime{
  margin-left:auto !important;
  flex:0 0 auto !important;
  color:rgba(255,255,255,.82) !important;
}
.ws-tc-modern-date{
  color:rgba(255,255,255,.82) !important;
  font-size:10px !important;
  font-weight:600 !important;
  white-space:nowrap !important;
}
.ws-tc-modern-body{
  padding-top:18px !important;
}
@media (max-width:480px){
  .ws-tc-modern-header{padding:11px 12px !important;}
  .ws-tc-modern-brand{gap:8px !important;}
  .ws-tc-modern-brand .ctwr-logo,
  .ws-tc-modern-icon{width:30px !important;height:30px !important;flex-basis:30px !important;}
  .ws-tc-modern-name{font-size:15px !important;}
  .ws-tc-modern-date{font-size:9px !important;}
  .ws-tc-modern-body{padding-top:14px !important;}
}


/* V30.60 – Datum und Uhrzeit im App-Header getrennt und luftig */
.ws-tc-modern-datetime{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  min-width:max-content !important;
}
.ws-tc-modern-date{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:0 !important;
}
.ctwr-header-date,
.ctwr-header-time{
  display:inline-block !important;
  white-space:nowrap !important;
}
.ctwr-header-time{
  font-weight:800 !important;
  color:#fff !important;
}
.ctwr-header-date{
  color:rgba(255,255,255,.82) !important;
}
@media (max-width:480px){
  .ws-tc-modern-header{padding:12px 14px !important;}
  .ws-tc-modern-brand{gap:9px !important;}
  .ws-tc-modern-name{font-size:14px !important;flex:1 1 auto !important;min-width:0 !important;}
  .ws-tc-modern-date{font-size:10px !important;gap:7px !important;}
}
@media (max-width:390px){
  .ws-tc-modern-name{font-size:13px !important;}
  .ws-tc-modern-date{font-size:9px !important;gap:5px !important;}
}

/* V30.62 – vollständiger Markenname ohne Abschneiden */
.ws-tc-modern-brand{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  column-gap:10px !important;
}
.ws-tc-modern-name{
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:nowrap !important;
  min-width:0 !important;
  width:auto !important;
  font-size:clamp(12px,1.8vw,17px) !important;
  line-height:1.1 !important;
}
.ws-tc-modern-datetime{
  margin-left:0 !important;
  justify-self:end !important;
}
@media (max-width:560px){
  .ws-tc-modern-brand{
    grid-template-columns:auto minmax(0,1fr) !important;
    grid-template-areas:
      "icon name"
      "icon datetime" !important;
    row-gap:4px !important;
    column-gap:9px !important;
  }
  .ws-tc-modern-icon,
  .ws-tc-modern-brand .ctwr-logo{grid-area:icon !important;align-self:center !important;}
  .ws-tc-modern-name{
    grid-area:name !important;
    font-size:15px !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }
  .ws-tc-modern-datetime{
    grid-area:datetime !important;
    justify-self:start !important;
    margin:0 !important;
  }
  .ws-tc-modern-date{font-size:10px !important;gap:8px !important;}
}
@media (max-width:390px){
  .ws-tc-modern-name{font-size:14px !important;}
  .ws-tc-modern-date{font-size:9px !important;gap:6px !important;}
}


/* V30.63 – Datum und Uhrzeit links unter dem Produktnamen */
.ws-tc-modern-brand{
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) !important;
  grid-template-areas:
    "icon name"
    "icon datetime" !important;
  align-items:center !important;
  column-gap:10px !important;
  row-gap:4px !important;
  width:100% !important;
}
.ws-tc-modern-brand .ctwr-logo,
.ws-tc-modern-icon{
  grid-area:icon !important;
  align-self:center !important;
}
.ws-tc-modern-name{
  grid-area:name !important;
  justify-self:start !important;
  width:100% !important;
  min-width:0 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-size:16px !important;
  line-height:1.1 !important;
}
.ws-tc-modern-datetime{
  grid-area:datetime !important;
  justify-self:start !important;
  margin:0 !important;
  min-width:0 !important;
  width:auto !important;
}
.ws-tc-modern-date{
  justify-content:flex-start !important;
  font-size:11px !important;
  line-height:1.15 !important;
  gap:8px !important;
  text-align:left !important;
}
@media (max-width:480px){
  .ws-tc-modern-header{padding:12px 14px !important;}
  .ws-tc-modern-brand{
    grid-template-columns:30px minmax(0,1fr) !important;
    column-gap:9px !important;
    row-gap:4px !important;
  }
  .ws-tc-modern-brand .ctwr-logo,
  .ws-tc-modern-icon{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }
  .ws-tc-modern-name{font-size:14px !important;}
  .ws-tc-modern-date{font-size:10px !important;gap:7px !important;}
}
@media (max-width:360px){
  .ws-tc-modern-name{font-size:13px !important;}
  .ws-tc-modern-date{font-size:9px !important;gap:6px !important;}
}


/* V30.64 – Desktop eckiger Header */
@media (min-width:768px){
  .ws-tc-modern-header{
    border-radius:0 !important;
  }
}


/* V30.67 unified rounded header */
.ws-tc-modern .ws-tc-header,
.ws-tc-modern .ctwr-header,
.ws-tc-modern .portal-header{
  border-radius:18px 18px 0 0 !important;
  overflow:hidden !important;
}
.ws-tc-modern{
  border-radius:18px !important;
  overflow:hidden !important;
}

/* V30.68 – tatsächlichen Portal-Header oben abrunden */
.ws-tc-wrap.ws-tc-modern,
.ws-tc-modern{
  border-radius:18px 18px 0 0 !important;
  overflow:hidden !important;
}
.ws-tc-modern > .ws-tc-modern-header,
.ws-tc-modern-header{
  border-radius:18px 18px 0 0 !important;
  overflow:hidden !important;
  background-clip:padding-box !important;
}
.ws-tc-modern > .ws-tc-modern-body{
  border-radius:0 !important;
}
@media (max-width:767px){
  .ws-tc-wrap.ws-tc-modern,
  .ws-tc-modern,
  .ws-tc-modern > .ws-tc-modern-header,
  .ws-tc-modern-header{
    border-radius:18px 18px 0 0 !important;
  }
}
@media (min-width:768px){
  .ws-tc-wrap.ws-tc-modern,
  .ws-tc-modern,
  .ws-tc-modern > .ws-tc-modern-header,
  .ws-tc-modern-header{
    border-radius:18px 18px 0 0 !important;
  }
}

/* V30.69 – Header und Inhalt als eine gemeinsame Portal-Karte */
.ws-tc-wrap.ws-tc-modern{
  padding:0 !important;
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:20px !important;
  overflow:hidden !important;
  box-shadow:0 10px 30px rgba(15,23,42,.10) !important;
}
.ws-tc-wrap.ws-tc-modern > .ws-tc-modern-header{
  margin:0 !important;
  width:100% !important;
  box-sizing:border-box !important;
  border-radius:20px 20px 0 0 !important;
}
.ws-tc-wrap.ws-tc-modern > .ws-tc-modern-body{
  margin:0 !important;
  width:100% !important;
  box-sizing:border-box !important;
  background:#fff !important;
  border-radius:0 0 20px 20px !important;
}
@media (max-width:767px){
  .ws-tc-wrap.ws-tc-modern{
    width:calc(100% - 20px) !important;
    max-width:none !important;
    margin:10px auto 18px !important;
    border-radius:20px !important;
  }
  .ws-tc-wrap.ws-tc-modern > .ws-tc-modern-header{
    border-radius:20px 20px 0 0 !important;
  }
  .ws-tc-wrap.ws-tc-modern > .ws-tc-modern-body{
    border-radius:0 0 20px 20px !important;
  }
}
@media (min-width:768px){
  .ws-tc-wrap.ws-tc-modern{
    max-width:820px !important;
    margin:18px auto !important;
    border-radius:20px !important;
  }
}

/* V30.70 – Hamburger-Menü im Mitarbeiterportal-Header */
.ws-tc-modern-header{
  position:relative !important;
  padding-right:72px !important;
  overflow:visible !important;
  z-index:30;
}
.ctwr-header-menu{
  position:absolute;
  top:50%;
  right:18px;
  transform:translateY(-50%);
  z-index:60;
}
.ctwr-header-menu-toggle{
  width:42px;
  height:42px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  background:rgba(255,255,255,.10);
  color:#fff;
  cursor:pointer;
  box-shadow:none;
  -webkit-tap-highlight-color:transparent;
}
.ctwr-header-menu-toggle:hover,
.ctwr-header-menu-toggle:focus-visible{
  background:rgba(255,255,255,.18);
  outline:2px solid rgba(255,255,255,.55);
  outline-offset:2px;
}
.ctwr-header-menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  border-radius:999px;
  background:#fff;
  transition:transform .2s ease,opacity .2s ease;
}
.ctwr-header-menu.is-open .ctwr-header-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.ctwr-header-menu.is-open .ctwr-header-menu-toggle span:nth-child(2){opacity:0;}
.ctwr-header-menu.is-open .ctwr-header-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.ctwr-header-menu-panel{
  position:absolute;
  top:50px;
  right:0;
  width:min(300px,calc(100vw - 34px));
  padding:8px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.24);
  overflow:hidden;
}
.ctwr-header-menu-panel[hidden]{display:none !important;}
.ctwr-header-menu-panel a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:44px;
  padding:10px 12px;
  border-radius:11px;
  color:#0f2742 !important;
  font-size:15px;
  font-weight:700;
  line-height:1.25;
  text-decoration:none !important;
}
.ctwr-header-menu-panel a:hover,
.ctwr-header-menu-panel a:focus-visible{
  background:#eef5fb;
  outline:none;
}
.ctwr-header-menu-panel .ctwr-header-menu-logout{
  margin-top:5px;
  border-top:1px solid #e5e7eb;
  border-radius:0 0 11px 11px;
  color:#b42318 !important;
}
@media (max-width:480px){
  .ws-tc-modern-header{padding-right:62px !important;}
  .ctwr-header-menu{right:12px;}
  .ctwr-header-menu-toggle{width:38px;height:38px;border-radius:10px;}
  .ctwr-header-menu-panel{top:46px;right:-2px;}
}

/* V30.71 – Hamburger-Menü im tatsächlich verwendeten Portal-Header sichtbar */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-header{
  position:relative !important;
  padding-right:72px !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-brand{
  width:100% !important;
  max-width:calc(100% - 4px) !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  right:16px !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-toggle{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
}
@media (max-width:480px){
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-header{
    padding-right:62px !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu{
    right:11px !important;
  }
}

/* V30.72 – Hamburger-Menü vollständig sichtbar, nicht vom Portal-Container abgeschnitten */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu{
  z-index:100000 !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-toggle{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  padding:0 !important;
  border-radius:12px !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-panel{
  position:fixed !important;
  top:var(--ctwr-menu-top,76px) !important;
  right:var(--ctwr-menu-right,12px) !important;
  left:auto !important;
  width:min(300px,calc(100vw - 24px)) !important;
  max-height:calc(100vh - var(--ctwr-menu-top,76px) - 16px) !important;
  overflow-y:auto !important;
  z-index:100001 !important;
  transform:none !important;
}
body.ctwr-menu-open::after{
  content:"";
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.24);
  z-index:99990;
}
body.ctwr-menu-open .ctwr-header-menu,
body.ctwr-menu-open .ctwr-header-menu-panel{
  z-index:100001 !important;
}
@media (max-width:480px){
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-toggle{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    max-width:40px !important;
    max-height:40px !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-panel{
    width:calc(100vw - 24px) !important;
  }
}


/* V30.73 – Menüpanel direkt unter <body>, garantiert über der Abdunklung */
.ctwr-header-menu-panel.ctwr-menu-portalized{
  position:fixed !important;
  top:var(--ctwr-menu-top,76px) !important;
  right:var(--ctwr-menu-right,12px) !important;
  left:auto !important;
  display:block;
  width:min(310px,calc(100vw - 24px)) !important;
  max-height:calc(100vh - var(--ctwr-menu-top,76px) - 16px) !important;
  overflow-y:auto !important;
  padding:10px !important;
  border:1px solid rgba(15,23,42,.12) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 20px 60px rgba(15,23,42,.30) !important;
  z-index:2147483646 !important;
  transform:none !important;
  opacity:1 !important;
  visibility:visible !important;
}
.ctwr-header-menu-panel.ctwr-menu-portalized[hidden]{display:none !important;}
.ctwr-header-menu-panel.ctwr-menu-portalized a{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-height:46px !important;
  padding:11px 13px !important;
  color:#0f2742 !important;
  background:#fff !important;
}
body.ctwr-menu-open::after{
  z-index:20 !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-header{
  z-index:30 !important;
}
@media (max-width:480px){
  .ctwr-header-menu-panel.ctwr-menu-portalized{
    width:calc(100vw - 24px) !important;
    right:12px !important;
  }
}

/* V30.74 – Hamburger-Menü kompakt, ohne unnötigen Leerraum */
.ctwr-header-menu-panel.ctwr-menu-portalized{
  height:auto !important;
  min-height:0 !important;
  max-height:calc(100vh - var(--ctwr-menu-top,76px) - 16px) !important;
  bottom:auto !important;
  display:block !important;
  overflow-y:auto !important;
}
.ctwr-header-menu-panel.ctwr-menu-portalized .ctwr-header-menu-logout{
  margin-top:6px !important;
  padding-top:12px !important;
  border-top:1px solid #e5e7eb !important;
}
@media (max-width:480px){
  .ctwr-header-menu-panel.ctwr-menu-portalized{
    max-height:calc(100vh - var(--ctwr-menu-top,76px) - 12px) !important;
  }
}

/* V30.76 – Hamburger-Button kleiner und sauber vertikal mittig im Header */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-header,
.ws-tc-modern-header{
  padding-right:64px !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu,
.ctwr-header-menu{
  top:50% !important;
  right:14px !important;
  transform:translateY(-50%) !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-toggle,
.ctwr-header-menu-toggle{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
  border-radius:10px !important;
  gap:4px !important;
  padding:0 !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-toggle span,
.ctwr-header-menu-toggle span{
  width:18px !important;
  height:2px !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu.is-open .ctwr-header-menu-toggle span:nth-child(1),
.ctwr-header-menu.is-open .ctwr-header-menu-toggle span:nth-child(1){
  transform:translateY(6px) rotate(45deg) !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu.is-open .ctwr-header-menu-toggle span:nth-child(2),
.ctwr-header-menu.is-open .ctwr-header-menu-toggle span:nth-child(2){
  opacity:0 !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu.is-open .ctwr-header-menu-toggle span:nth-child(3),
.ctwr-header-menu.is-open .ctwr-header-menu-toggle span:nth-child(3){
  transform:translateY(-6px) rotate(-45deg) !important;
}
@media (max-width:480px){
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-header,
  .ws-tc-modern-header{
    padding-right:58px !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu,
  .ctwr-header-menu{
    right:12px !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-toggle,
  .ctwr-header-menu-toggle{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    max-width:32px !important;
    max-height:32px !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-toggle span,
  .ctwr-header-menu-toggle span{
    width:16px !important;
  }
}

/* V30.76 – Hamburger-Button nicht mehr am oberen Rand, sondern optisch mittig */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu,
.ctwr-header-menu{
  top:18px !important;
  transform:none !important;
}
@media (max-width:480px){
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu,
  .ctwr-header-menu{
    top:17px !important;
  }
}

/* V30.77 – Hamburger-Button 2–3 px nach oben */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu,
.ctwr-header-menu{
  top: 13px !important;
}
@media (max-width:480px){
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu,
  .ctwr-header-menu{
    top: 12px !important;
  }
}

/* V30.78 – unteren Schnellzugriff ausblenden; Navigation erfolgt über Hamburger-Menü */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-card-content > .ws-tc-portal-menu{
  display:none !important;
}

/* V30.79 – Portal-Karten nur noch über das Hamburger-Menü anzeigen */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-menu-only-panel:not([open]){
  display:none !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-menu-only-panel[open]{
  display:block !important;
  scroll-margin-top:18px;
}


/* V30.80 – Mitarbeiterportal nutzt die volle verfügbare Breite */
body.ctwr-employee-portal-page .site-main,
body.ctwr-employee-portal-page main#main,
body.ctwr-employee-portal-page .ct-container,
body.ctwr-employee-portal-page .ct-container-full,
body.ctwr-employee-portal-page .content-area,
body.ctwr-employee-portal-page .site-content,
body.ctwr-employee-portal-page .entry-content{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

body.ctwr-employee-portal-page .ws-tc-wrap.ws-tc-modern{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

@media (max-width:767px){
  body.ctwr-employee-portal-page .ws-tc-wrap.ws-tc-modern{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    border-left:0 !important;
    border-right:0 !important;
  }
}


/* V30.81 – Portal ohne Außenrand / bündig auf 100% Breite */
html body.ctwr-employee-portal-page{
  margin:0 !important;
  padding:0 !important;
}

body.ctwr-employee-portal-page .site,
body.ctwr-employee-portal-page .site-content,
body.ctwr-employee-portal-page .site-main,
body.ctwr-employee-portal-page main#main,
body.ctwr-employee-portal-page .content-area,
body.ctwr-employee-portal-page .entry-content,
body.ctwr-employee-portal-page .ct-container,
body.ctwr-employee-portal-page .ct-container-full{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

body.ctwr-employee-portal-page .ws-tc-wrap,
body.ctwr-employee-portal-page .ws-tc-wrap.ws-tc-modern{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

@media (max-width: 767px){
  body.ctwr-employee-portal-page .ws-tc-wrap,
  body.ctwr-employee-portal-page .ws-tc-wrap.ws-tc-modern{
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
  }
}

/* V30.84 – unnötigen Leerraum unter der Portal-Hauptkarte entfernen */
body.ctwr-employee-portal-page .ws-tc-modern-wrap,
body.ctwr-employee-portal-page .ws-tc-wrap.ws-tc-modern{
  min-height:0 !important;
  height:auto !important;
  margin-bottom:16px !important;
}
body.ctwr-employee-portal-page .ws-tc-modern-body{
  min-height:0 !important;
  height:auto !important;
  padding-bottom:20px !important;
}
body.ctwr-employee-portal-page .ws-tc-card-content{
  min-height:0 !important;
  height:auto !important;
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}
@media (max-width:720px){
  body.ctwr-employee-portal-page .ws-tc-modern-wrap{
    min-height:0 !important;
    margin-bottom:12px !important;
  }
  body.ctwr-employee-portal-page .ws-tc-modern-body{
    padding-bottom:16px !important;
  }
}

/* V30.85 – Startansicht zeigt nur die Frei-/Stempelkarte */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-card-content{
  display:none !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-card-content.ctwr-menu-section-visible{
  display:block !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-portal-layout{
  padding-bottom:8px !important;
  margin-bottom:0 !important;
  min-height:0 !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body{
  padding-bottom:8px !important;
  min-height:0 !important;
  height:auto !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-card-hero{
  margin-bottom:0 !important;
}

/* V30.86 – Startansicht endet direkt nach der Frei-/Stempelkarte */
body.ctwr-employee-portal-page .ws-tc-modern-body,
body.ctwr-employee-portal-page .ws-tc-modern-content,
body.ctwr-employee-portal-page .ws-tc-modern-main,
body.ctwr-employee-portal-page .ws-tc-portal-content,
body.ctwr-employee-portal-page .entry-content{
  min-height:0 !important;
  height:auto !important;
  padding-bottom:12px !important;
  margin-bottom:0 !important;
}
body.ctwr-employee-portal-page .ws-tc-wrap.ws-tc-modern{
  min-height:0 !important;
  height:auto !important;
}
body.ctwr-employee-portal-page .ws-tc-modern-body::after,
body.ctwr-employee-portal-page .ws-tc-modern-content::after,
body.ctwr-employee-portal-page .entry-content::after{
  content:none !important;
  display:none !important;
}
body.ctwr-employee-portal-page .ws-tc-modern-body > :last-child,
body.ctwr-employee-portal-page .ws-tc-modern-content > :last-child{
  margin-bottom:0 !important;
}

/* V30.87 – echtes responsives Mitarbeiterportal */
.ws-tc-wrap[data-mode="emp_portal_modern"]{
  box-sizing:border-box !important;
  width:min(100% - 16px, 920px) !important;
  max-width:920px !important;
  margin:8px auto 12px !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] *,
.ws-tc-wrap[data-mode="emp_portal_modern"] *::before,
.ws-tc-wrap[data-mode="emp_portal_modern"] *::after{
  box-sizing:border-box !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-header{
  min-height:clamp(82px, 12vw, 102px) !important;
  padding:clamp(12px, 2.8vw, 20px) clamp(14px, 3vw, 24px) !important;
  padding-right:clamp(58px, 10vw, 78px) !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-brand{
  min-width:0 !important;
  width:100% !important;
  gap:clamp(8px, 1.8vw, 14px) !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-brand .ctwr-logo,
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-icon{
  width:clamp(34px, 7vw, 52px) !important;
  height:clamp(34px, 7vw, 52px) !important;
  flex:0 0 auto !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-name{
  font-size:clamp(14px, 3.2vw, 22px) !important;
  line-height:1.12 !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-date,
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-now{
  font-size:clamp(10px, 2.2vw, 14px) !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body{
  padding:clamp(14px, 3.2vw, 28px) !important;
  padding-bottom:clamp(8px, 2vw, 18px) !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-title{
  font-size:clamp(26px, 6vw, 42px) !important;
  line-height:1.08 !important;
  margin:0 0 clamp(14px, 3vw, 24px) !important;
  overflow-wrap:anywhere !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-portal-layout,
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-card-hero{
  width:100% !important;
  max-width:none !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-card-hero{
  padding:clamp(18px, 4vw, 34px) !important;
  border-radius:clamp(18px, 4vw, 28px) !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-hero-greet{
  font-size:clamp(20px, 4vw, 30px) !important;
  line-height:1.15 !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-hero-sub{
  font-size:clamp(14px, 2.8vw, 20px) !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-hero-label{
  font-size:clamp(12px, 2.4vw, 16px) !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-hero-shift{
  font-size:clamp(38px, 9vw, 64px) !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-portal-status,
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-alert{
  width:100% !important;
  max-width:100% !important;
  padding:clamp(12px, 3vw, 20px) !important;
  font-size:clamp(15px, 3vw, 21px) !important;
  line-height:1.5 !important;
  overflow-wrap:anywhere !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-btnrow.ws-tc-hero-btnrow .ws-tc-modern-btn,
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-btnrow.ws-tc-hero-btnrow button{
  min-height:clamp(54px, 10vw, 72px) !important;
  font-size:clamp(17px, 3.4vw, 24px) !important;
  border-radius:clamp(14px, 3vw, 20px) !important;
}

/* Sehr kleine Smartphones */
@media (max-width:360px){
  .ws-tc-wrap[data-mode="emp_portal_modern"]{
    width:calc(100% - 8px) !important;
    margin:4px auto 8px !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-header{
    padding-left:10px !important;
    padding-right:50px !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body{
    padding-left:10px !important;
    padding-right:10px !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu{
    right:8px !important;
  }
}

/* Smartphones */
@media (min-width:361px) and (max-width:767px){
  .ws-tc-wrap[data-mode="emp_portal_modern"]{
    width:calc(100% - 12px) !important;
  }
}

/* Tablets */
@media (min-width:768px) and (max-width:1023px){
  .ws-tc-wrap[data-mode="emp_portal_modern"]{
    width:min(94vw, 820px) !important;
  }
}

/* Desktop */
@media (min-width:1024px){
  .ws-tc-wrap[data-mode="emp_portal_modern"]{
    width:min(88vw, 920px) !important;
    margin:20px auto !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-card-hero{
    max-width:760px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* V30.95 – WordPress-/Theme-Navigation auf Mitarbeiter-Loginseite vollständig ausblenden */
body.ctwr-employee-portal-page #header,
body.ctwr-employee-portal-page #masthead,
body.ctwr-employee-portal-page header#header,
body.ctwr-employee-portal-page header.site-header,
body.ctwr-employee-portal-page .site-header,
body.ctwr-employee-portal-page .ct-header,
body.ctwr-employee-portal-page .ct-header-trigger,
body.ctwr-employee-portal-page .elementor-location-header,
body.ctwr-employee-portal-page .elementor-location-footer,
body.ctwr-employee-portal-page .main-navigation,
body.ctwr-employee-portal-page .site-navigation,
body.ctwr-employee-portal-page .menu-toggle,
body.ctwr-employee-portal-page .mobile-menu-toggle,
body.ctwr-employee-portal-page [class*="mobile-menu-trigger"],
body.ctwr-employee-portal-page [class*="header-menu-trigger"],
body.ctwr-employee-portal-page [data-device="mobile"] > header,
body.ctwr-employee-portal-page footer.site-footer,
body.ctwr-employee-portal-page #colophon{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
body.ctwr-employee-portal-page .site-content,
body.ctwr-employee-portal-page #content,
body.ctwr-employee-portal-page main,
body.ctwr-employee-portal-page .content-area{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* V30.96 – Logo oberhalb der Mitarbeiter-Login-Karte */
.ws-tc-wrap[data-mode="emp_login_modern"] .ctwr-login-logo{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin:22px auto 12px !important;
  padding:0 !important;
}
.ws-tc-wrap[data-mode="emp_login_modern"] .ctwr-login-logo img{
  display:block !important;
  width:112px !important;
  height:112px !important;
  max-width:28vw !important;
  object-fit:contain !important;
  border-radius:50% !important;
  filter:drop-shadow(0 10px 22px rgba(13,59,102,.18));
}
@media (max-width:480px){
  .ws-tc-wrap[data-mode="emp_login_modern"] .ctwr-login-logo{
    margin-top:18px !important;
    margin-bottom:10px !important;
  }
  .ws-tc-wrap[data-mode="emp_login_modern"] .ctwr-login-logo img{
    width:96px !important;
    height:96px !important;
    max-width:30vw !important;
  }
}

/* V30.97 – Logo im tatsächlich verwendeten Login-Template */
.ctwr-login-page .ctwr-login-logo-visible{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin:0 auto 18px !important;
  padding:0 !important;
}
.ctwr-login-page .ctwr-login-logo-visible img{
  display:block !important;
  width:112px !important;
  height:112px !important;
  max-width:30vw !important;
  object-fit:contain !important;
  border-radius:50% !important;
  filter:drop-shadow(0 10px 22px rgba(13,59,102,.18));
}
@media (max-width:480px){
  .ctwr-login-page .ctwr-login-logo-visible{
    margin-bottom:14px !important;
  }
  .ctwr-login-page .ctwr-login-logo-visible img{
    width:96px !important;
    height:96px !important;
    max-width:32vw !important;
  }
}

/* V30.98 – Login-Logo zentriert oberhalb der Karte, nicht seitlich */
.ctwr-login-page{
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}
.ctwr-login-page .ctwr-login-logo-visible{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  max-width:420px !important;
  margin:0 auto 18px !important;
  flex:0 0 auto !important;
}
.ctwr-login-page .ctwr-login-card{
  width:100% !important;
  max-width:420px !important;
  flex:0 0 auto !important;
}
@media (max-width:480px){
  .ctwr-login-page{
    padding:20px 12px !important;
  }
  .ctwr-login-page .ctwr-login-logo-visible{
    margin-bottom:14px !important;
  }
  .ctwr-login-page .ctwr-login-card{
    max-width:100% !important;
  }
}


/* V30.99 – Login: Logo plus Markenname und Untertitel oberhalb der Karte */
.ctwr-login-page .ctwr-login-brand-copy{
  width:100%;
  margin:0 auto 22px;
  text-align:center;
}
.ctwr-login-page .ctwr-login-brand-title{
  color:#344b65;
  font-size:clamp(24px,5.5vw,34px);
  font-weight:500;
  line-height:1.15;
  letter-spacing:-.02em;
}
.ctwr-login-page .ctwr-login-brand-subtitle{
  margin-top:9px;
  color:#718096;
  font-size:clamp(12px,3.2vw,16px);
  font-weight:500;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
}
@media (max-width:600px){
  .ctwr-login-page .ctwr-login-brand-copy{margin-bottom:18px;}
  .ctwr-login-page .ctwr-login-brand-title{font-size:27px;}
  .ctwr-login-page .ctwr-login-brand-subtitle{font-size:13px;}
}

/* V31.00 – Login verwendet exakt die tickende Splashscreen-Uhr */
.ctwr-login-page .ctwr-login-splash-clock{
  position:relative;
  width:112px;
  height:112px;
  max-width:30vw;
  max-height:30vw;
  border-radius:50%;
  background:#fff;
  box-shadow:0 10px 24px rgba(13,59,102,.18);
}
.ctwr-login-page .ctwr-login-splash-clock::before{
  content:"";
  position:absolute;
  inset:17px;
  border:7px solid #0D3B66;
  border-radius:50%;
  box-sizing:border-box;
}
.ctwr-login-page .ctwr-login-clock-hour,
.ctwr-login-page .ctwr-login-clock-minute,
.ctwr-login-page .ctwr-login-clock-second{
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  border-radius:999px;
  transform-origin:0 50%;
}
.ctwr-login-page .ctwr-login-clock-hour{
  width:33px;
  height:7px;
  margin-top:-3.5px;
  background:#0D3B66;
}
.ctwr-login-page .ctwr-login-clock-minute{
  width:29px;
  height:7px;
  margin-top:-3.5px;
  background:#0D3B66;
}
.ctwr-login-page .ctwr-login-clock-second{
  width:37px;
  height:2px;
  margin-top:-1px;
  background:#e5484d;
  transition:transform .12s cubic-bezier(.2,.9,.3,1.25);
}
.ctwr-login-page .ctwr-login-clock-second::after{
  content:"";
  position:absolute;
  right:-3px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#e5484d;
  transform:translateY(-50%);
}
.ctwr-login-page .ctwr-login-clock-center{
  position:absolute;
  left:50%;
  top:50%;
  z-index:5;
  width:10px;
  height:10px;
  margin:-5px;
  border-radius:50%;
  background:#1BAAB5;
}
@media(max-width:480px){
  .ctwr-login-page .ctwr-login-splash-clock{
    width:96px;
    height:96px;
  }
  .ctwr-login-page .ctwr-login-splash-clock::before{
    inset:15px;
    border-width:6px;
  }
  .ctwr-login-page .ctwr-login-clock-hour{width:28px;height:6px;margin-top:-3px;}
  .ctwr-login-page .ctwr-login-clock-minute{width:25px;height:6px;margin-top:-3px;}
  .ctwr-login-page .ctwr-login-clock-second{width:32px;}
}
@media(prefers-reduced-motion:reduce){
  .ctwr-login-page .ctwr-login-clock-second{transition:none;}
}

/* V31.01 – Login-Branding kompakter, Uhr zeigt reale Gerätezeit */
.ctwr-login-page{
  padding-top:18px !important;
  padding-bottom:18px !important;
}
.ctwr-login-page .ctwr-login-logo-visible{
  margin-bottom:10px !important;
}
.ctwr-login-page .ctwr-login-splash-clock{
  width:92px !important;
  height:92px !important;
  max-width:24vw !important;
  max-height:24vw !important;
}
.ctwr-login-page .ctwr-login-splash-clock::before{
  inset:14px !important;
  border-width:6px !important;
}
.ctwr-login-page .ctwr-login-clock-hour{
  width:27px !important;
  height:6px !important;
  margin-top:-3px !important;
}
.ctwr-login-page .ctwr-login-clock-minute{
  width:24px !important;
  height:6px !important;
  margin-top:-3px !important;
}
.ctwr-login-page .ctwr-login-clock-second{
  width:31px !important;
}
.ctwr-login-page .ctwr-login-brand-copy{
  margin-bottom:14px !important;
}
.ctwr-login-page .ctwr-login-brand-title{
  font-size:clamp(22px,4.8vw,30px) !important;
  line-height:1.08 !important;
}
.ctwr-login-page .ctwr-login-brand-subtitle{
  margin-top:6px !important;
  font-size:clamp(11px,2.8vw,14px) !important;
}
@media(max-width:480px){
  .ctwr-login-page{
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
  .ctwr-login-page .ctwr-login-logo-visible{
    margin-bottom:8px !important;
  }
  .ctwr-login-page .ctwr-login-splash-clock{
    width:82px !important;
    height:82px !important;
  }
  .ctwr-login-page .ctwr-login-splash-clock::before{
    inset:13px !important;
    border-width:5px !important;
  }
  .ctwr-login-page .ctwr-login-clock-hour{width:24px !important;height:5px !important;margin-top:-2.5px !important;}
  .ctwr-login-page .ctwr-login-clock-minute{width:21px !important;height:5px !important;margin-top:-2.5px !important;}
  .ctwr-login-page .ctwr-login-clock-second{width:28px !important;}
  .ctwr-login-page .ctwr-login-brand-copy{
    margin-bottom:12px !important;
  }
  .ctwr-login-page .ctwr-login-brand-title{
    font-size:24px !important;
  }
  .ctwr-login-page .ctwr-login-brand-subtitle{
    font-size:12px !important;
  }
}

/* V31.02 – Mitteilungs-Badge direkt am Hamburger-Menü */
.ctwr-header-menu-toggle{
  position:relative !important;
  overflow:visible !important;
}
.ctwr-header-menu-badge{
  position:absolute !important;
  top:-6px !important;
  right:-6px !important;
  min-width:18px !important;
  height:18px !important;
  padding:0 5px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:2px solid #144a74 !important;
  border-radius:999px !important;
  background:#dc2626 !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:800 !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  box-shadow:0 2px 8px rgba(15,23,42,.28) !important;
  z-index:3 !important;
  pointer-events:none !important;
}
@media (max-width:480px){
  .ctwr-header-menu-badge{
    top:-5px !important;
    right:-5px !important;
    min-width:17px !important;
    height:17px !important;
    font-size:9px !important;
  }
}

/* V31.03 – Mitteilungs-Badge am Hamburger sauber positionieren */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu,
.ctwr-header-menu{
  position:absolute !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-badge,
.ctwr-header-menu-badge{
  position:absolute !important;
  top:-4px !important;
  right:-4px !important;
  min-width:18px !important;
  height:18px !important;
  padding:0 5px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  background:#dc2626 !important;
  color:#fff !important;
  border:2px solid #144a74 !important;
  font-size:11px !important;
  font-weight:800 !important;
  line-height:1 !important;
  z-index:5 !important;
  transform:none !important;
  box-shadow:0 2px 6px rgba(0,0,0,.18) !important;
}
@media (max-width:480px){
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-badge,
  .ctwr-header-menu-badge{
    top:-3px !important;
    right:-3px !important;
    min-width:17px !important;
    height:17px !important;
    font-size:10px !important;
  }
}

/* V31.04 – Mitteilungs-Badge vollständig innerhalb des Hamburger-Buttons */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-toggle,
.ctwr-header-menu-toggle{
  position:relative !important;
  overflow:visible !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-toggle > .ctwr-header-menu-badge,
.ctwr-header-menu-toggle > .ctwr-header-menu-badge{
  position:absolute !important;
  top:2px !important;
  right:2px !important;
  width:15px !important;
  min-width:15px !important;
  max-width:none !important;
  height:15px !important;
  min-height:15px !important;
  max-height:15px !important;
  padding:0 3px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1.5px solid #fff !important;
  border-radius:999px !important;
  background:#dc2626 !important;
  color:#fff !important;
  font-size:9px !important;
  font-weight:800 !important;
  line-height:15px !important;
  box-sizing:border-box !important;
  box-shadow:0 1px 4px rgba(15,23,42,.28) !important;
  transform:none !important;
  opacity:1 !important;
  z-index:10 !important;
  pointer-events:none !important;
}
@media (max-width:480px){
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu-toggle > .ctwr-header-menu-badge,
  .ctwr-header-menu-toggle > .ctwr-header-menu-badge{
    top:1px !important;
    right:1px !important;
    width:14px !important;
    min-width:14px !important;
    height:14px !important;
    min-height:14px !important;
    max-height:14px !important;
    font-size:8px !important;
    line-height:14px !important;
  }
}


/* V31.05 – Offline-/Synchronisierungsanzeige */
.ctwr-offline-status{
  position:fixed;left:50%;bottom:18px;transform:translateX(-50%);
  z-index:2147483645;padding:9px 14px;border-radius:999px;
  color:#fff;font:700 13px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;
  box-shadow:0 10px 28px rgba(15,23,42,.25);max-width:calc(100vw - 28px);
  text-align:center;white-space:nowrap;
}
.ctwr-offline-status.is-offline{background:#b42318;}
.ctwr-offline-status.is-syncing{background:#1d4ed8;}
@media(max-width:480px){.ctwr-offline-status{bottom:12px;font-size:12px;padding:8px 12px;}}

/* V31.12 – Tag-/Nachtmodus im Mitarbeiterportal */
.ctwr-theme-setting{
  margin-top:16px;
  padding:16px;
  border:1px solid rgba(15,39,66,.12);
  border-radius:16px;
  background:rgba(255,255,255,.72);
}
.ctwr-theme-setting .ws-tc-modern-subtitle{margin:0 0 5px!important;}
.ctwr-theme-setting .ws-tc-modern-muted{margin:0 0 13px!important;}
.ctwr-theme-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ctwr-theme-choice{
  min-height:46px;padding:10px 14px;border:1px solid #cbd5e1;border-radius:13px;
  background:#fff;color:#18324d;font:700 15px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;
  cursor:pointer;box-shadow:0 4px 12px rgba(15,23,42,.05);
}
.ctwr-theme-choice[aria-pressed="true"]{
  border-color:#2477df;background:#eaf3ff;color:#1358aa;box-shadow:0 0 0 2px rgba(36,119,223,.12);
}
.ctwr-password-heading{margin-top:22px!important;}

body.ctwr-portal-dark{
  background:#07111f!important;color:#e6edf6!important;color-scheme:dark;
}
body.ctwr-portal-dark .ws-tc-wrap.ws-tc-modern{
  background:#0d1b2d!important;border-color:#263a53!important;box-shadow:0 16px 42px rgba(0,0,0,.36)!important;
}
body.ctwr-portal-dark .ws-tc-modern-body{background:#0d1b2d!important;color:#e6edf6!important;}
body.ctwr-portal-dark .ws-tc-modern-title,
body.ctwr-portal-dark .ws-tc-modern-subtitle,
body.ctwr-portal-dark .ws-tc-modern-text,
body.ctwr-portal-dark .ws-tc-modern-kv,
body.ctwr-portal-dark .ws-tc-card summary,
body.ctwr-portal-dark label{color:#eef5ff!important;}
body.ctwr-portal-dark .ws-tc-modern-muted{color:#aebdd0!important;opacity:1!important;}
body.ctwr-portal-dark .ws-tc-hero,
body.ctwr-portal-dark .ws-tc-card,
body.ctwr-portal-dark .ctwr-theme-setting{
  background:linear-gradient(180deg,#16283d 0%,#101e31 100%)!important;
  border-color:#34506e!important;color:#edf4fc!important;
  box-shadow:0 12px 30px rgba(0,0,0,.24)!important;
}
body.ctwr-portal-dark .ws-tc-hero .ws-tc-modern-muted,
body.ctwr-portal-dark .ws-tc-hero .ws-tc-modern-kv{color:#b9c7d8!important;}
body.ctwr-portal-dark .ws-tc-modern-form input,
body.ctwr-portal-dark .ws-tc-pw-form input,
body.ctwr-portal-dark input,
body.ctwr-portal-dark select,
body.ctwr-portal-dark textarea{
  background:#0a1626!important;color:#f4f8fc!important;border-color:#38516d!important;
}
body.ctwr-portal-dark .ctwr-theme-choice{
  background:#0b192a;color:#dbe9f7;border-color:#3b536d;box-shadow:none;
}
body.ctwr-portal-dark .ctwr-theme-choice[aria-pressed="true"]{
  background:#173c62;color:#fff;border-color:#5aa6f4;box-shadow:0 0 0 2px rgba(90,166,244,.16);
}
body.ctwr-portal-dark .ctwr-header-menu-panel.ctwr-menu-portalized,
body.ctwr-portal-dark .ctwr-header-menu-panel{
  background:#0e1d2f!important;border-color:#334b66!important;
}
body.ctwr-portal-dark .ctwr-header-menu-panel a{background:#0e1d2f!important;color:#eef5ff!important;}
body.ctwr-portal-dark .ctwr-header-menu-panel a:hover,
body.ctwr-portal-dark .ctwr-header-menu-panel a:focus-visible{background:#19324d!important;}
body.ctwr-portal-dark .ctwr-msg-card{background:#12243a!important;color:#eaf2fb!important;border-color:#344f6d!important;}
body.ctwr-portal-dark .ws-tc-modern-alert{filter:saturate(.82) brightness(.82);}
body.ctwr-portal-dark hr{border-color:#31465f!important;}
@media(max-width:480px){
  .ctwr-theme-setting{padding:14px;}
  .ctwr-theme-choice{min-height:43px;font-size:14px;}
}

/* V31.13 – Kleine Tag-/Nacht-Schalter direkt unter dem Hamburger-Menü */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:5px !important;
}
.ctwr-header-theme-quick{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:3px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  box-shadow:0 4px 12px rgba(15,23,42,.12);
}
.ctwr-header-theme-btn{
  width:24px;
  height:24px;
  min-width:24px;
  min-height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#fff;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  -webkit-tap-highlight-color:transparent;
}
.ctwr-header-theme-btn:hover,
.ctwr-header-theme-btn:focus-visible{
  background:rgba(255,255,255,.16);
  outline:none;
}
.ctwr-header-theme-btn[aria-pressed="true"]{
  background:#fff;
  box-shadow:0 2px 8px rgba(15,23,42,.22);
}
body.ctwr-portal-dark .ctwr-header-theme-btn[aria-pressed="true"]{
  background:#dbeafe;
}
@media (max-width:480px){
  .ctwr-header-theme-quick{gap:3px;padding:2px;}
  .ctwr-header-theme-btn{
    width:22px;
    height:22px;
    min-width:22px;
    min-height:22px;
    font-size:12px;
  }
}

/* V31.14 – Tag/Nacht-Schnellschalter sichtbar direkt unter dem Hamburger-Button */
.ctwr-header-menu{
  overflow:visible !important;
}
.ctwr-header-theme-quick{
  position:absolute !important;
  top:40px !important;
  right:0 !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:100002 !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
}
.ctwr-header-theme-btn{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
}
@media (max-width:480px){
  .ctwr-header-theme-quick{
    top:37px !important;
    right:-1px !important;
  }
}

/* V31.15 – Schnellschalter fest und sichtbar unter dem Hamburger-Button */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu,
.ws-tc-modern-header .ctwr-header-menu{
  position:absolute !important;
  top:20px !important;
  right:14px !important;
  transform:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:7px !important;
  width:42px !important;
  height:auto !important;
  overflow:visible !important;
  z-index:100010 !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-theme-quick,
.ws-tc-modern-header .ctwr-header-theme-quick{
  position:static !important;
  inset:auto !important;
  transform:none !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  width:42px !important;
  height:22px !important;
  min-height:22px !important;
  margin:0 !important;
  padding:2px !important;
  gap:2px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.12) !important;
  box-sizing:border-box !important;
  z-index:100011 !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-theme-btn,
.ws-tc-modern-header .ctwr-header-theme-btn{
  width:17px !important;
  height:17px !important;
  min-width:17px !important;
  min-height:17px !important;
  max-width:17px !important;
  max-height:17px !important;
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  visibility:visible !important;
  opacity:1 !important;
  border-radius:50% !important;
  font-size:10px !important;
  line-height:1 !important;
}
@media (max-width:480px){
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-menu,
  .ws-tc-modern-header .ctwr-header-menu{
    top:19px !important;
    right:12px !important;
    width:40px !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ctwr-header-theme-quick,
  .ws-tc-modern-header .ctwr-header-theme-quick{
    width:40px !important;
  }
}

/* V31.18 – Nachtmodus nur für App-Rahmen; Inhaltskarten bleiben hell und lesbar */
body.ctwr-portal-dark .ws-tc-modern-body{
  background:#f7f9fc!important;
  color:#0f2742!important;
}
body.ctwr-portal-dark .ws-tc-modern-title,
body.ctwr-portal-dark .ws-tc-modern-subtitle,
body.ctwr-portal-dark .ws-tc-modern-text,
body.ctwr-portal-dark .ws-tc-modern-kv,
body.ctwr-portal-dark .ws-tc-card summary,
body.ctwr-portal-dark .ws-tc-card h1,
body.ctwr-portal-dark .ws-tc-card h2,
body.ctwr-portal-dark .ws-tc-card h3,
body.ctwr-portal-dark .ws-tc-card h4,
body.ctwr-portal-dark .ws-tc-card p,
body.ctwr-portal-dark .ws-tc-card label,
body.ctwr-portal-dark .ws-tc-card-content,
body.ctwr-portal-dark .ws-tc-mgrid,
body.ctwr-portal-dark .ws-tc-mgrid th,
body.ctwr-portal-dark .ws-tc-mgrid-day,
body.ctwr-portal-dark .ws-tc-mgrid-letter,
body.ctwr-portal-dark .ws-tc-mgrid-summary,
body.ctwr-portal-dark .ws-tc-mgrid-legend{
  color:#0f2742!important;
}
body.ctwr-portal-dark .ws-tc-modern-muted,
body.ctwr-portal-dark .ws-tc-card .ws-tc-modern-muted{
  color:#627286!important;
  opacity:1!important;
}
body.ctwr-portal-dark .ws-tc-hero,
body.ctwr-portal-dark .ws-tc-card,
body.ctwr-portal-dark .ws-tc-modern-card,
body.ctwr-portal-dark .ws-tc-card-content,
body.ctwr-portal-dark .ctwr-msg-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  border-color:#b9c9dc!important;
  color:#0f2742!important;
  box-shadow:0 12px 30px rgba(15,39,66,.14)!important;
}
body.ctwr-portal-dark .ws-tc-modern-form input,
body.ctwr-portal-dark .ws-tc-pw-form input,
body.ctwr-portal-dark .ws-tc-card input,
body.ctwr-portal-dark .ws-tc-card select,
body.ctwr-portal-dark .ws-tc-card textarea{
  background:#fff!important;
  color:#0f2742!important;
  border-color:#cbd5e1!important;
}
body.ctwr-portal-dark .ws-tc-mgrid-print{
  background:#fff!important;
  color:#2477df!important;
  border-color:#d8e0ea!important;
}
body.ctwr-portal-dark .ws-tc-mgrid-chip{
  color:#0f2742!important;
}
body.ctwr-portal-dark .ws-tc-mgrid-early{background:#dff7e8!important;}
body.ctwr-portal-dark .ws-tc-mgrid-late{background:#fff0c9!important;}
body.ctwr-portal-dark .ws-tc-mgrid-night{background:#dbe9ff!important;}
body.ctwr-portal-dark .ws-tc-mgrid-off{background:#eeeeee!important;}
body.ctwr-portal-dark .ws-tc-mgrid-na{background:#f4f4f4!important;}
body.ctwr-portal-dark .ws-tc-mgrid-vacation{background:#dcfce7!important;}
body.ctwr-portal-dark .ws-tc-mgrid-sick{background:#ffedd5!important;}

/* V31.19 – ausgewählte Hamburger-Karte allein und in voller verfügbarer Höhe */
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view{
  padding-bottom:0 !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view > .ws-tc-modern-title,
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view > .ws-tc-modern-alert{
  display:none !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view .ws-tc-portal-layout{
  display:block !important;
  min-height:calc(100dvh - 176px) !important;
  margin:0 !important;
  padding:0 !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view .ws-tc-portal-layout > .ws-tc-card{
  display:none !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view .ws-tc-portal-layout > .ws-tc-card.ctwr-single-card-active{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-height:calc(100dvh - 176px) !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view details.ws-tc-card.ctwr-single-card-active > summary{
  position:sticky;
  top:0;
  z-index:2;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view .ws-tc-card-content.ctwr-single-card-active .ws-tc-portal-menu{
  display:none !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view .ws-tc-card-content.ctwr-single-card-active .ws-tc-portal-section{
  display:none !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view .ws-tc-card-content.ctwr-single-card-active .ws-tc-portal-section.is-active{
  display:block !important;
  min-height:calc(100dvh - 220px) !important;
}
@media (max-width:600px){
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view .ws-tc-portal-layout,
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view .ws-tc-portal-layout > .ws-tc-card.ctwr-single-card-active{
    min-height:calc(100dvh - 158px) !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view .ws-tc-card-content.ctwr-single-card-active .ws-tc-portal-section.is-active{
    min-height:calc(100dvh - 190px) !important;
  }
}


/* V31.26 – Demo-Zugang: Portal nur ansehen */
.ctwr-demo-readonly-banner{
  position:sticky;top:0;z-index:9999;
  margin:0 auto 12px;max-width:1100px;
  padding:10px 14px;border-radius:12px;
  background:#fff7d6;border:1px solid #e4bd45;
  color:#604600;font-weight:800;text-align:center;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}
body.ctwr-demo-readonly .ws-tc-card form:not(.ws-tc-logout-form) button[type="submit"],
body.ctwr-demo-readonly .ws-tc-card input[type="submit"],
body.ctwr-demo-readonly [data-action="come"],
body.ctwr-demo-readonly [data-action="go"],
body.ctwr-demo-readonly .ws-tc-clock-btn,
body.ctwr-demo-readonly .ctwr-vacation-submit,
body.ctwr-demo-readonly .ctwr-sick-submit{
  pointer-events:none!important;
  opacity:.45!important;
  filter:grayscale(1)!important;
}
body.ctwr-demo-readonly .ws-tc-card textarea,
body.ctwr-demo-readonly .ws-tc-card input:not([type="hidden"]),
body.ctwr-demo-readonly .ws-tc-card select{
  pointer-events:none!important;
}


/* V31.38 – Hero-Kopf noch kompakter */
.ws-tc-card-hero .ws-tc-hero-top{
  gap:3px!important;
  margin-bottom:7px!important;
}
.ws-tc-card-hero .ws-tc-hero-greet{
  margin:0!important;
  line-height:1.12!important;
}
.ws-tc-card-hero .ws-tc-hero-assignment{
  gap:0!important;
  margin-top:1px!important;
}
.ws-tc-card-hero .ws-tc-hero-assignment .ws-tc-hero-sub{
  margin:0!important;
  line-height:1.15!important;
}
.ws-tc-card-hero .ws-tc-hero-main{
  margin-top:0!important;
}


/* V31.40 – Portal-Karten wieder bis zum unteren Bildschirmrand */
.ws-tc-wrap[data-mode="emp_portal_modern"]{
  min-height:100dvh !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body{
  min-height:calc(100dvh - 142px) !important;
  box-sizing:border-box !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-portal-layout{
  min-height:calc(100dvh - 292px) !important;
  box-sizing:border-box !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-card-hero{
  min-height:calc(100dvh - 300px) !important;
  box-sizing:border-box !important;
}
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view .ws-tc-portal-layout,
.ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body.ctwr-single-card-view .ws-tc-portal-layout > .ws-tc-card.ctwr-single-card-active{
  min-height:calc(100dvh - 158px) !important;
}

@media (max-width:600px){
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-modern-body{
    min-height:calc(100dvh - 142px) !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-portal-layout{
    min-height:calc(100dvh - 292px) !important;
  }
  .ws-tc-wrap[data-mode="emp_portal_modern"] .ws-tc-card-hero{
    min-height:calc(100dvh - 300px) !important;
  }
}
