/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[10].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root {
  --bg: #f4f8fc;
  --card: rgba(255,255,255,.86);
  --card-solid: #ffffff;
  --text: #0f172a;
  --muted: #64748b;
  --border: rgba(15, 23, 42, .10);
  --primary: #0a61b0;
  --primary-dark: #084f91;
  --primary-soft: rgba(10, 97, 176, .10);
  --danger: #b42318;
  --success: #087443;
  --warn: #b54708;
  --shadow: 0 24px 70px rgba(15, 23, 42, .10);
  --radius: 24px;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  min-height: 100%;
  background:
    radial-gradient(circle at 15% 12%, rgba(10,97,176,.12), transparent 30%),
    radial-gradient(circle at 85% 0%, rgba(10,97,176,.14), transparent 34%),
    linear-gradient(135deg, #f8fbff 0%, #eef6ff 42%, #ffffff 100%);
  color: var(--text);
  font-family: 'Poppins', Arial, Helvetica, sans-serif;
}

button, input, textarea, select { font: inherit; }
a { color: inherit; text-decoration: none; }

.page { min-height: 100vh; }

.login-page {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: 28px;
}

.login-page::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .32;
  background-image:
    linear-gradient(135deg, transparent 0 11%, rgba(10,97,176,.16) 11.1%, transparent 11.35%),
    linear-gradient(135deg, transparent 0 17%, rgba(10,97,176,.10) 17.1%, transparent 17.35%),
    linear-gradient(90deg, rgba(10,97,176,.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(10,97,176,.06) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 92px 92px, 92px 92px;
  -webkit-mask-image: linear-gradient(90deg, black 0%, rgba(0,0,0,.65) 35%, transparent 78%);
          mask-image: linear-gradient(90deg, black 0%, rgba(0,0,0,.65) 35%, transparent 78%);
}

.login-shell {
  position: relative;
  z-index: 1;
  width: min(100%, 1120px);
  display: grid;
  grid-template-columns: 1fr 460px;
  grid-gap: 36px;
  gap: 36px;
  align-items: center;
}

.login-hero {
  padding: 42px;
}

.login-hero img {
  width: min(100%, 420px);
  height: auto;
  margin-bottom: 40px;
}

.login-hero h1 {
  font-size: clamp(42px, 5vw, 76px);
  line-height: .96;
  letter-spacing: -.065em;
  margin: 0 0 22px;
}

.login-hero p {
  max-width: 620px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7;
}

.login-card,
.card,
.modern-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}

.login-card {
  padding: 34px;
}

.login-card h2 {
  font-size: 34px;
  letter-spacing: -.04em;
  margin: 0 0 8px;
}

.login-card p {
  margin: 0 0 28px;
  color: var(--muted);
}

.form, .grid { display: grid; grid-gap: 14px; gap: 14px; }
.form { margin-top: 18px; }

label {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  color: #334155;
  font-weight: 700;
  font-size: 14px;
}

input, textarea, select {
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 13px 15px;
  background: rgba(255,255,255,.85);
  color: var(--text);
}

textarea { min-height: 92px; }

input:focus, textarea:focus, select:focus {
  outline: 3px solid rgba(10,97,176,.16);
  border-color: rgba(10,97,176,.52);
}

.btn {
  border: 0;
  border-radius: 16px;
  padding: 12px 16px;
  background: linear-gradient(135deg, var(--primary), #064b94);
  color: white;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 14px 26px rgba(10,97,176,.22);
}

.btn:hover { background: linear-gradient(135deg, #0b71cc, var(--primary)); }
.btn.secondary { background: #eaf3fc; color: var(--primary); box-shadow: none; }
.btn.danger { background: #fee4e2; color: var(--danger); box-shadow: none; }
.btn.warn { background: #fff7ed; color: var(--warn); box-shadow: none; }
.btn:disabled { opacity: .55; cursor: not-allowed; }

.error {
  color: var(--danger);
  background: #fff1f0;
  border: 1px solid #fecdca;
  border-radius: 14px;
  padding: 10px 12px;
}

.success {
  color: var(--success);
  background: #ecfdf3;
  border: 1px solid #abefc6;
  border-radius: 14px;
  padding: 10px 12px;
}

/* Modern app shell */
.shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 280px 1fr;
}

.sidebar {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  height: 100vh;
  background: rgba(255,255,255,.74);
  border-right: 1px solid var(--border);
  -webkit-backdrop-filter: blur(18px);
          backdrop-filter: blur(18px);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.sidebar .brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  font-weight: 800;
}

.sidebar .brand::before {
  content: "";
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background-image: url('/logo.png');
  background-size: 84px auto;
  background-position: left center;
  background-repeat: no-repeat;
  background-color: white;
  box-shadow: 0 8px 20px rgba(10,97,176,.12);
}

.sidebar p { color: var(--muted); margin: 6px 0 0; }

.nav {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.nav button {
  border: 1px solid transparent;
  background: transparent;
  color: #334155;
  text-align: left;
  padding: 13px 14px;
  border-radius: 16px;
  cursor: pointer;
  font-weight: 700;
}

.nav button.active,
.nav button:hover {
  background: var(--primary-soft);
  border-color: rgba(10,97,176,.14);
  color: var(--primary);
}

.main {
  padding: 28px;
}

.topbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 24px;
}

.topbar h1 {
  font-size: 34px;
  line-height: 1.1;
  letter-spacing: -.045em;
  margin: 0;
}

.topbar p {
  color: var(--muted);
  margin: 8px 0 0;
}

.card {
  padding: 22px;
}

.card h2 {
  margin: 0 0 16px;
  font-size: 20px;
  letter-spacing: -.02em;
}

.stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 16px;
  gap: 16px;
}

.stat-card {
  position: relative;
  overflow: hidden;
  min-height: 135px;
  padding: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.68));
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 18px 45px rgba(15,23,42,.08);
}

.stat-card::after {
  content: "";
  position: absolute;
  width: 130px;
  height: 130px;
  right: -48px;
  bottom: -62px;
  border-radius: 50%;
  background: var(--primary-soft);
}

.stat-card p {
  color: var(--muted);
  margin: 0 0 12px;
}

.stat-value {
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -.04em;
}

.quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  grid-gap: 16px;
  gap: 16px;
}

.quick-card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  background: rgba(255,255,255,.78);
  cursor: pointer;
  text-align: left;
  transition: .18s ease;
}

.quick-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 45px rgba(10,97,176,.12);
  border-color: rgba(10,97,176,.22);
}

.quick-card strong {
  display: block;
  font-size: 18px;
  margin: 12px 0 6px;
}

.quick-card span {
  color: var(--muted);
  font-size: 13px;
}

.quick-icon {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 22px;
}

.table-wrap { overflow-x: auto; }

table {
  width: 100%;
  border-collapse: collapse;
}

th, td {
  padding: 13px 11px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

th {
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.badge {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 999px;
  background: #ecfdf3;
  color: var(--success);
  font-size: 12px;
  font-weight: 800;
}

.badge.warn { background: #fff7ed; color: var(--warn); }

.actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  grid-gap: 13px;
  gap: 13px;
}

.form-grid .wide { grid-column: 1 / -1; }

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(140px, 1fr));
  grid-gap: 12px;
  gap: 12px;
  overflow-x: auto;
}

.calendar-day {
  min-height: 130px;
  background: rgba(255,255,255,.82);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 12px;
}

.calendar-date {
  display: flex;
  justify-content: space-between;
  color: var(--muted);
  margin-bottom: 10px;
}

.calendar-item {
  background: var(--primary-soft);
  color: #1f2937;
  border-radius: 12px;
  padding: 7px 8px;
  font-size: 13px;
  margin-top: 6px;
}

.calendar-empty {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}

@media (max-width: 980px) {
  .login-shell {
    grid-template-columns: 1fr;
  }

  .login-hero {
    padding: 10px 0;
    text-align: center;
  }

  .login-hero img {
    margin: 0 auto 24px;
    width: min(100%, 320px);
  }

  .login-hero h1 {
    font-size: 44px;
  }

  .login-hero p {
    margin: 0 auto;
  }

  .shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: relative;
    height: auto;
  }

  .nav {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .stats,
  .quick-grid,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .calendar-grid {
    grid-template-columns: 1fr;
  }

  .main {
    padding: 18px;
  }

  .topbar {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* Final Mitarbeiterliste */
.employees-modern .muted {
  margin-top: -8px;
}

.radio-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.radio-row label,
.checkbox-line {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  font-weight: 700;
}

.radio-row input,
.checkbox-line input {
  width: 18px;
  height: 18px;
  padding: 0;
}

.password-row {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 10px;
  gap: 10px;
}

.search-field {
  margin-bottom: 16px;
}

.employee-list {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.employee-row {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 14px;
  gap: 14px;
  align-items: center;
  padding: 15px 16px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,.76);
}

.employee-row strong {
  font-size: 16px;
}

.employee-row p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 14px;
}

@media (max-width: 780px) {
  .employee-row {
    grid-template-columns: 1fr;
  }

  .password-row {
    grid-template-columns: 1fr;
  }
}


input[readonly] {
  background: rgba(10, 97, 176, 0.06);
  color: var(--primary);
  font-weight: 700;
}


/* Mitarbeiterliste als Hauptscreen + Modal */
.employees-page {
  display: grid;
  grid-gap: 18px;
  gap: 18px;
}

.employee-toolbar {
  display: grid;
  grid-template-columns: auto minmax(260px, 1fr);
  align-items: center;
  grid-gap: 14px;
  gap: 14px;
}

.employee-toolbar .actions {
  flex-wrap: nowrap;
}

.employee-search input {
  width: 100%;
}

.employee-list-card {
  min-height: 520px;
}

.employee-list-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
}

.employee-list-header h2 {
  margin-bottom: 4px;
}

.employee-list-header p {
  margin: 0;
  color: var(--muted);
}

.employee-table-list {
  display: grid;
  grid-gap: 0;
  gap: 0;
  max-height: 66vh;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: rgba(255,255,255,.64);
}

.employee-list-row {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  grid-gap: 12px;
  gap: 12px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid var(--border);
  background: transparent;
  padding: 15px 18px;
  cursor: pointer;
  text-align: left;
  color: var(--text);
}

.employee-list-row:last-child {
  border-bottom: 0;
}

.employee-list-row:hover,
.employee-list-row.selected {
  background: rgba(10, 97, 176, 0.08);
}

.employee-list-row.selected {
  box-shadow: inset 4px 0 0 var(--primary);
}

.employee-name {
  font-weight: 800;
}

.employee-meta {
  color: var(--text);
  font-size: 14px;
  white-space: nowrap;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(15, 23, 42, .32);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
}

.employee-modal {
  width: min(100%, 720px);
  max-height: 92vh;
  overflow: auto;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 28px;
  box-shadow: 0 34px 90px rgba(15,23,42,.24);
  padding: 26px;
}

.employee-modal-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.employee-modal-header h2 {
  margin: 0 0 5px;
}

.employee-modal-header p {
  margin: 0;
  color: var(--muted);
}

.modal-close {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 14px;
  background: rgba(10, 97, 176, .08);
  color: var(--primary);
  font-size: 26px;
  cursor: pointer;
}

.radio-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.radio-row label,
.checkbox-line {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  font-weight: 700;
}

.radio-row input,
.checkbox-line input {
  width: 18px;
  height: 18px;
  padding: 0;
}

.password-row {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 10px;
  gap: 10px;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

input[readonly] {
  background: rgba(10, 97, 176, 0.06);
  color: var(--primary);
  font-weight: 700;
}

@media (max-width: 780px) {
  .employee-toolbar {
    grid-template-columns: 1fr;
  }

  .employee-toolbar .actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .employee-list-row {
    grid-template-columns: 1fr;
  }

  .employee-meta {
    white-space: normal;
  }

  .password-row {
    grid-template-columns: 1fr;
  }

  .modal-actions {
    display: grid;
  }
}


/* Allgemeine Notizen */
.notes-page {
  display: grid;
  grid-gap: 22px;
  gap: 22px;
}

.notes-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.notes-header h2 {
  margin: 0 0 8px;
  font-size: 28px;
  letter-spacing: -0.04em;
}

.notes-header p {
  margin: 0;
  color: var(--muted);
}

.notes-create {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 12px;
  gap: 12px;
}

.notes-list-card {
  min-height: 520px;
}

.notes-list {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  min-height: 480px;
  align-content: start;
}

.note-row {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 16px;
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,.78);
}

.note-row p {
  margin: 0;
  color: var(--text);
  white-space: pre-wrap;
}

.note-icon-btn {
  width: 46px;
  height: 46px;
  padding: 0;
}

.notes-empty {
  min-height: 300px;
  display: grid;
  place-items: center;
  align-content: center;
  grid-gap: 8px;
  gap: 8px;
  color: var(--muted);
}

.notes-empty strong {
  color: var(--text);
}

@media (max-width: 780px) {
  .notes-header,
  .notes-create,
  .note-row {
    grid-template-columns: 1fr;
  }

  .notes-header {
    display: grid;
  }
}


/* Final Bundle Layout */
.projects-layout {
  display: grid;
  grid-template-columns: minmax(360px, 0.9fr) minmax(460px, 1.1fr);
  grid-gap: 18px;
  gap: 18px;
  align-items: start;
}

.projects-list-panel,
.project-detail-panel {
  min-height: 72vh;
}

.projects-toolbar {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
  margin-bottom: 14px;
}

.project-list {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  max-height: 62vh;
  overflow: auto;
}

.project-row {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 14px;
  gap: 14px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,.74);
  color: var(--text);
  padding: 15px 16px;
  text-align: left;
  cursor: pointer;
}

.project-row:hover,
.project-row.selected {
  background: rgba(10, 97, 176, .08);
  border-color: rgba(10, 97, 176, .22);
}

.project-row strong,
.project-row small {
  display: block;
}

.project-row small {
  color: var(--muted);
  margin-top: 5px;
}

.project-row em {
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
  color: var(--primary);
  background: var(--primary-soft);
  border-radius: 999px;
  padding: 6px 10px;
  white-space: nowrap;
}

.empty-state {
  min-height: 420px;
  display: grid;
  place-items: center;
  align-content: center;
  grid-gap: 8px;
  gap: 8px;
  color: var(--muted);
  text-align: center;
}

.empty-state strong {
  color: var(--text);
}

.project-detail h2 {
  margin-bottom: 4px;
}

.tabbar {
  display: flex;
  gap: 8px;
  margin: 18px 0;
  flex-wrap: wrap;
}

.tabbar button {
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  padding: 9px 13px;
  font-weight: 800;
  cursor: pointer;
}

.tabbar button.active {
  color: white;
  background: var(--primary);
  border-color: var(--primary);
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  grid-gap: 12px;
  gap: 12px;
}

.info-grid div,
.file-upload-card,
.department-form-card,
.planning-card {
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 15px;
  background: rgba(255,255,255,.72);
}

.info-grid strong,
.info-grid span {
  display: block;
}

.info-grid span {
  color: var(--muted);
  margin-top: 6px;
}

.department-form-list {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.planning-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  grid-gap: 14px;
  gap: 14px;
}

.planning-card h3 {
  margin: 14px 0 6px;
}

.planning-card p {
  margin-top: 0;
}

.btn.warn {
  background: #fff7ed;
  color: var(--warn);
  box-shadow: none;
}

@media (max-width: 1100px) {
  .projects-layout,
  .planning-grid {
    grid-template-columns: 1fr;
  }

  .project-row {
    grid-template-columns: 1fr;
  }

  .info-grid {
    grid-template-columns: 1fr;
  }
}


/* Final Bundle 2 functional refinements */
.projects-toolbar {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}

.project-top-actions {
  align-items: center;
}

.project-main-button,
.project-search {
  min-height: 54px;
}

.project-search {
  width: 100%;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  line-height: 1;
}

.status-kein-lieferschein {
  background: #f1f5f9;
  color: #475569;
}

.status-lieferschein {
  background: #e0f2fe;
  color: #0369a1;
}

.status-abrechnen {
  background: #fff7ed;
  color: #c2410c;
}

.status-abgerechnet {
  background: #dcfce7;
  color: #15803d;
}

.project-detail-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.project-detail-header h2 {
  margin: 0 0 8px;
}

.project-detail-header p {
  margin: 0;
}

.status-actions {
  gap: 12px;
}

.done-btn {
  background: #fff7ed;
  color: #c2410c;
  box-shadow: none;
}

.billed-btn {
  background: #dcfce7;
  color: #15803d;
  box-shadow: none;
}

.employee-work-groups {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
}

.work-group {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  padding: 14px;
}

.work-group h3 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}

.work-group h3 span {
  color: var(--primary);
}

.files-grid {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
}

.file-upload-card {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
}

.file-upload-card h3 {
  margin: 0 0 6px;
}

.file-upload-card p {
  margin: 0;
  color: var(--muted);
}

.file-upload-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  grid-gap: 10px;
  gap: 10px;
  align-items: center;
}

.file-upload-row input[type="file"] {
  width: 100%;
}

@media (max-width: 900px) {
  .projects-toolbar,
  .file-upload-row,
  .project-detail-header {
    grid-template-columns: 1fr;
    display: grid;
  }
}


/* Final Bundle 4 status color scheme */
.status-pill,
.project-row em.status-pill {
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 900;
  letter-spacing: -0.01em;
}

.status-kein-lieferschein {
  background: #fff1f0 !important;
  color: #d92d20 !important;
  border: 1px solid #fecdca;
}

.status-lieferschein {
  background: #ecfdf3 !important;
  color: #039855 !important;
  border: 1px solid #abefc6;
}

.status-abrechnen {
  background: #fff7ed !important;
  color: #dc6803 !important;
  border: 1px solid #fedf89;
}

.status-abgerechnet {
  background: #fef7c3 !important;
  color: #027a48 !important;
  border: 1px solid #fde272;
}

.done-btn {
  background: #fff7ed !important;
  color: #dc6803 !important;
  border: 1px solid #fedf89;
}

.billed-btn {
  background: #fef7c3 !important;
  color: #027a48 !important;
  border: 1px solid #fde272;
}


/* Statusfilter Auftragsliste */
.projects-toolbar {
  grid-template-columns: auto minmax(220px, 1fr) minmax(180px, 220px);
}

.project-status-filter {
  min-height: 54px;
  width: 100%;
  border-radius: 16px;
  border: 1px solid var(--border);
  padding: 0 14px;
  background: rgba(255,255,255,.9);
  font-weight: 700;
}

@media (max-width: 900px) {
  .projects-toolbar {
    grid-template-columns: 1fr;
  }
}


/* Bundle 6: date/status/file previews */
.attachment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  grid-gap: 14px;
  gap: 14px;
}

.attachment-card {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,.72);
}

.file-preview {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.file-preview strong {
  font-size: 14px;
}

.file-preview img {
  width: 100%;
  max-height: 340px;
  object-fit: contain;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: white;
}

.file-preview iframe {
  width: 100%;
  height: 420px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: white;
}

.file-fallback {
  min-height: 120px;
  place-items: center;
  align-content: center;
  border: 1px dashed var(--border);
  border-radius: 14px;
}

.file-fallback a {
  color: var(--primary);
  font-weight: 800;
}

@media (max-width: 900px) {
  .attachment-grid {
    grid-template-columns: 1fr;
  }
}


/* Bundle 9: Anhänge volle Breite untereinander */
.attachment-grid {
  grid-template-columns: 1fr !important;
  gap: 18px;
}

.attachment-card {
  width: 100%;
}

.attachment-card .file-preview iframe {
  height: 520px;
}

.attachment-card .file-preview img {
  max-height: 520px;
}

.file-upload-card,
.attachment-card {
  max-width: 100%;
}


/* Bundle 10: Abteilungsplanung final */
.planning-page-final {
  display: grid;
  grid-gap: 26px;
  gap: 26px;
}

.planning-controls {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(360px, auto) minmax(220px, 260px);
  grid-gap: 20px 34px;
  gap: 20px 34px;
  align-items: end;
}

.planning-controls label {
  display: grid;
  grid-gap: 9px;
  gap: 9px;
  font-weight: 800;
}

.planning-controls input,
.planning-controls select {
  min-height: 52px;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 0 16px;
  background: rgba(255,255,255,.85);
  font-weight: 700;
}

.planning-week-inputs {
  display: grid;
  grid-template-columns: 130px 130px auto;
  grid-gap: 10px;
  gap: 10px;
  align-items: center;
}

.planning-week-inputs span,
.planning-view-row span,
.week-nav span {
  color: var(--muted);
  font-weight: 500;
}

.planning-view-row {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 16px;
}

.segmented {
  display: inline-flex;
  border: 1px solid var(--border);
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.72);
}

.segmented button {
  border: 0;
  background: transparent;
  padding: 12px 25px;
  font-weight: 900;
  cursor: pointer;
}

.segmented button.active {
  background: var(--primary);
  color: white;
}

.week-nav {
  grid-column: 1 / -1;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 10px;
}

.week-nav button {
  min-width: 48px;
  height: 42px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: rgba(255,255,255,.85);
  font-weight: 900;
  cursor: pointer;
}

.planning-card-grid-final {
  display: grid;
  grid-template-columns: repeat(4, minmax(240px, 1fr));
  grid-gap: 22px;
  gap: 22px;
}

.planning-card-grid-final.filtered {
  grid-template-columns: 1fr;
}

.planning-department-card {
  min-height: 270px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: rgba(255,255,255,.78);
  padding: 28px;
}

.planning-department-card h3 {
  margin: 0 0 20px;
}

.planning-green { color: #0BA84A; }
.planning-yellow { color: #F5B400; }
.planning-purple { color: #7B2CBF; }
.planning-blue { color: #144F7F; }

.planning-check-list {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.planning-check-list label {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-gap: 9px;
  gap: 9px;
  align-items: start;
  color: #ef1b1b;
  font-weight: 800;
}

.planning-check-list label.done {
  color: var(--text);
  font-weight: 600;
}

.planning-check-list input,
.week-bar input {
  width: 22px;
  height: 22px;
  accent-color: var(--primary);
}

.planning-week-layout {
  display: grid;
  grid-template-columns: 190px 1fr;
  grid-gap: 24px;
  gap: 24px;
  align-items: start;
}

.planning-legend {
  min-height: 540px;
  display: grid;
  align-content: start;
  grid-gap: 18px;
  gap: 18px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: rgba(255,255,255,.78);
  padding: 28px;
}

.planning-legend span {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
}

.planning-legend i {
  width: 15px;
  height: 15px;
  display: inline-block;
  border-radius: 3px;
}

.planning-legend i.planning-green,
.week-bar.planning-green { background: #0BA84A; color: white; }

.planning-legend i.planning-yellow,
.week-bar.planning-yellow { background: #F5B400; color: white; }

.planning-legend i.planning-purple,
.week-bar.planning-purple { background: #7B2CBF; color: white; }

.planning-legend i.planning-blue,
.week-bar.planning-blue { background: #144F7F; color: white; }

.planning-week-calendar h2 {
  margin: 0 0 18px;
}

.week-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: minmax(42px, auto);
  min-height: 530px;
  border-left: 1px solid var(--border);
  border-top: 1px solid var(--border);
  background: rgba(255,255,255,.55);
}

.week-day {
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  min-height: 44px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.8);
}

.week-bar {
  grid-column: 1 / -1;
  margin: 5px 0;
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 7px;
  padding: 0 9px;
  font-weight: 900;
}

.week-bar.done {
  opacity: .62;
  text-decoration: line-through;
}

@media (max-width: 1100px) {
  .planning-controls,
  .planning-card-grid-final,
  .planning-week-layout,
  .planning-week-inputs {
    grid-template-columns: 1fr;
  }

  .week-nav {
    justify-self: start;
  }
}


/* Bundle 12: Abteilungsplanung Wochenansicht Feinschliff */
.planning-controls {
  grid-template-columns: minmax(220px, 300px) minmax(220px, 260px) minmax(220px, 260px);
}

.planning-controls label:has(select) {
  max-width: 260px;
}

.planning-check-list label {
  color: var(--text);
  font-weight: 600;
}

.planning-check-list label.overdue {
  color: #ef1b1b;
  font-weight: 900;
}

.planning-check-list label.done {
  color: var(--text);
  font-weight: 500;
}

.planning-week-layout {
  align-items: stretch;
}

.planning-legend {
  min-height: 500px;
  height: 500px;
}

.week-grid {
  grid-auto-rows: 40px;
  min-height: 500px;
  height: 500px;
  align-content: start;
  overflow: hidden;
}

.week-day {
  min-height: 40px;
  height: 40px;
  align-items: start;
  padding-top: 10px;
}

.week-bar {
  min-height: 32px;
  height: 32px;
  margin: 4px 6px;
  align-self: start;
  overflow: hidden;
  font-size: 13px;
}

.week-bar input {
  flex: 0 0 auto;
}

.week-bar span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .planning-controls {
    grid-template-columns: 1fr;
  }

  .planning-controls label:has(select) {
    max-width: none;
  }

  .planning-legend,
  .week-grid {
    height: auto;
    min-height: 360px;
  }
}


/* Bundle 13: Abteilungsplanung Layout-Korrekturen */
.planning-controls {
  align-items: end;
}

.planning-week-inputs {
  align-items: end;
}

.planning-week-inputs span {
  align-self: center;
  white-space: nowrap;
}

.planning-card-grid-final {
  align-items: stretch;
}

.planning-check-list label {
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  line-height: 1.35;
}

.planning-check-list label span {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
  padding-top: 2px;
}

.planning-week-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin: 0 0 18px;
}

.planning-week-header h2 {
  margin: 0;
}

.week-nav {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  justify-self: auto;
  grid-column: auto;
}

.planning-week-layout {
  grid-template-columns: 190px 1fr;
  align-items: start;
}

.planning-legend {
  height: 500px !important;
  min-height: 500px !important;
  box-sizing: border-box;
}

.planning-week-calendar {
  height: 500px;
  display: grid;
  grid-template-rows: auto 1fr;
}

.week-grid {
  height: 434px !important;
  min-height: 434px !important;
  box-sizing: border-box;
  grid-auto-rows: 40px;
}

.week-day {
  height: 40px !important;
  min-height: 40px !important;
  box-sizing: border-box;
}

@media (max-width: 1100px) {
  .planning-week-header,
  .week-nav {
    display: grid !important;
    justify-content: stretch;
  }

  .planning-week-calendar,
  .planning-legend,
  .week-grid {
    height: auto !important;
    min-height: 360px !important;
  }
}


/* Bundle 14: Aktuelle KW neben Dropdown */
.planning-week-inputs {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}

.planning-week-inputs span {
  position: static !important;
  margin-left: 4px;
  white-space: nowrap;
  opacity: 0.8;
}


/* Bundle 15: Planning Header Hotfix */
.planning-controls {
  display: grid;
  grid-template-columns: 320px auto auto;
  grid-gap: 28px;
  gap: 28px;
  align-items: end;
}

.planning-week-inputs {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}

.planning-week-inputs input,
.planning-week-inputs select {
  flex: 0 0 auto;
}

.planning-week-inputs span {
  position: static !important;
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  white-space: nowrap;
  opacity: 0.75;
}

.planning-controls > label:last-child {
  min-width: 260px;
  max-width: 260px;
}

@media (max-width: 1200px) {
  .planning-controls {
    grid-template-columns: 1fr;
  }

  .planning-controls > label:last-child {
    min-width: 100%;
    max-width: 100%;
  }

  .planning-week-inputs {
    flex-wrap: wrap;
  }
}


/* Bundle 16: Archiv */
.archive-delete-date {
  background: #fff1f0 !important;
  color: #d92d20 !important;
  border: 1px solid #fecdca;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.project-row small {
  line-height: 1.45;
}


/* Bundle 18: general polish */
.session-info {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}

.session-info span {
  display: block;
}

.session-info strong {
  color: var(--text);
}

.stats + .card table .status-pill {
  width: -moz-fit-content;
  width: fit-content;
}


/* Bundle 25: Daily + Monthly final behavior */
.bulk-actions {
  display: flex;
  justify-content: flex-end;
  margin: 8px 0 14px;
}
.bulk-actions .btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.time-range-box {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto 220px 220px auto;
  grid-gap: 16px;
  gap: 16px;
  align-items: end;
  border-top: 1px solid var(--border);
  padding-top: 18px;
  margin-top: 4px;
}
.timesheet-wizard-page {
  display: grid;
  grid-gap: 18px;
  gap: 18px;
}
.wizard-card {
  max-width: 760px;
  display: grid;
  grid-gap: 18px;
  gap: 18px;
}
.wizard-card label {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  font-weight: 800;
}
.wizard-card input,
.wizard-card select {
  min-height: 52px;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 0 16px;
  background: rgba(255,255,255,.9);
  font-weight: 700;
}
.wizard-time-row {
  display: grid;
  grid-template-columns: 130px 160px 160px;
  grid-gap: 12px;
  gap: 12px;
  align-items: center;
}
@media (max-width: 900px) {
  .time-range-box,
  .wizard-time-row {
    grid-template-columns: 1fr;
  }
}


/* Bundle 26 spacing improvements */
.time-tracking-page,
.timesheet-wizard-page{
  gap:32px;
}

.time-form-card,
.table-wrap,
.wizard-card{
  padding:32px !important;
  border-radius:32px !important;
}

.time-form{
  gap:24px !important;
}

.time-row{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:8px;
  flex-wrap:wrap;
}

.time-row strong{
  min-width:140px;
}

.time-actions{
  margin-top:18px;
}

.time-list-header{
  margin-bottom:22px;
}

.wizard-card h2{
  margin-bottom:18px;
}

.wizard-card .actions{
  margin-top:18px;
  display:flex;
  gap:16px;
}

.wizard-card select,
.wizard-card input{
  min-height:58px !important;
  font-size:1rem;
}

.bulk-actions{
  margin-bottom:24px !important;
}


/* Bundle 28: safer spacing without changing logic */
.time-tracking-page {
  display: grid !important;
  grid-gap: 36px !important;
  gap: 36px !important;
}

.time-form-card {
  margin-bottom: 36px !important;
}

.table-wrap {
  margin-top: 36px !important;
}

.time-form {
  row-gap: 28px !important;
}

.time-form label {
  margin-bottom: 12px;
}

.time-date-status {
  gap: 26px !important;
  margin-top: 12px;
}

.time-row {
  margin-top: 18px !important;
  margin-bottom: 10px !important;
  gap: 16px !important;
}

.wizard-card {
  padding: 34px !important;
  border-radius: 30px !important;
}


/* Bundle 29: monthly preview actions */
.wizard-card .actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}


/* Bundle 33: Stundenzettel Zusammenfassung */
.timesheet-summary-lines {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  margin: 18px 0 22px;
  color: var(--text);
}

.timesheet-summary-lines p {
  margin: 0;
  font-size: 1.05rem;
}


/* Bundle 35: Print + Drag & Drop */
.project-print-actions {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 14px;
}

.dropzone {
  position: relative;
  outline: 2px dashed transparent;
  transition: outline-color .2s ease, background .2s ease;
}

.dropzone:hover,
.dropzone:focus-within {
  outline-color: rgba(10, 97, 176, .35);
  background: rgba(10, 97, 176, .04);
}

.dropzone::after {
  content: "Dateien hierher ziehen oder mit Strg+V einfügen";
  display: block;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px dashed rgba(10, 97, 176, .35);
  border-radius: 14px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.planning-view-row .btn {
  margin-right: 4px;
}


/* Bundle 36: print button is global header action */
.project-print-actions {
  display: none !important;
}


/* UI polish package sidebar spacing */
:root {
  --sidebar-footer-gap: 48px;
}

.sidebar .brand,
.app-sidebar .brand,
.sidebar-brand,
.brand {
  gap: 10px !important;
}

.sidebar .brand img,
.app-sidebar .brand img,
.sidebar-brand img,
.brand img,
.sidebar-logo,
.app-logo {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  object-fit: contain !important;
}

.sidebar .brand h1,
.sidebar .brand strong,
.sidebar .brand span:not(.logo-mark),
.app-sidebar .brand h1,
.app-sidebar .brand strong,
.app-sidebar .brand span:not(.logo-mark),
.sidebar-brand h1,
.sidebar-brand strong,
.sidebar-brand span:not(.logo-mark) {
  display: none !important;
}

.sidebar .brand p,
.app-sidebar .brand p,
.sidebar-brand p {
  display: none !important;
}

.sidebar-footer,
.app-sidebar-footer,
.user-footer,
.sidebar .user-info,
.app-sidebar .user-info,
.sidebar-user {
  margin-top: var(--sidebar-footer-gap) !important;
}

.sidebar nav,
.app-sidebar nav,
.sidebar-menu {
  margin-bottom: 24px !important;
}

.sidebar-footer button,
.app-sidebar-footer button,
.user-footer button,
.sidebar .user-info button,
.app-sidebar .user-info button,
.sidebar-user button {
  margin-top: 20px !important;
}

.login-hero h1,
.login-left h1,
.auth-hero h1,
.login-slogan,
.login-page h1 {
  line-height: 1.18 !important;
  letter-spacing: -0.04em !important;
}

.time-tracking-page {
  display: grid !important;
  grid-gap: 54px !important;
  gap: 54px !important;
}

.time-form-card {
  margin-bottom: 0 !important;
}

.time-tracking-page .card + .card {
  margin-top: 0 !important;
}

.time-tracking-page section.card:last-child {
  position: relative !important;
}

.time-tracking-page section.card:last-child h2,
.time-tracking-page section.card:last-child h3 {
  margin-bottom: 8px !important;
}

.time-tracking-page section.card:last-child > p {
  margin-bottom: 24px !important;
}

.time-tracking-page table {
  margin-top: 8px !important;
}

.selected-delete-btn,
.time-tracking-page button.selected-delete-btn {
  position: absolute !important;
  top: 32px !important;
  right: 32px !important;
}


/* FINAL UI FIXES */
.sidebar-header,
.app-sidebar-header,
.sidebar-top {
  padding-bottom: 8px !important;
}

.sidebar-header img,
.app-sidebar-header img,
.sidebar-top img,
.logo img {
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  border-radius: 18px !important;
  object-fit: contain !important;
  image-rendering: auto !important;
}

.sidebar-header h1,
.sidebar-header .title,
.sidebar-header .brand-title,
.app-sidebar-header h1,
.app-sidebar-header .title,
.app-sidebar-header .brand-title,
.logo-text {
  display: none !important;
}

.sidebar nav,
.app-sidebar nav {
  margin-bottom: 12px !important;
}

.sidebar-footer,
.app-sidebar-footer,
.user-panel,
.user-box {
  margin-top: 24px !important;
  padding-top: 8px !important;
}

.sidebar-footer .logout-button,
.app-sidebar-footer .logout-button,
.sidebar-footer button,
.app-sidebar-footer button {
  margin-top: 28px !important;
}

.login-left h1,
.login-hero h1,
.auth-hero h1 {
  line-height: 1.28 !important;
}



/* FINAL SIDEBAR EXACT FIX */
.sidebar,
.app-sidebar,
.sidebar-final {
  display: flex !important;
  flex-direction: column !important;
}

.sidebar .brand,
.app-sidebar .brand,
.sidebar-brand,
.brand-final,
.brand {
  min-height: auto !important;
  margin-bottom: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.sidebar .brand img,
.app-sidebar .brand img,
.sidebar-brand img,
.brand-final img,
.brand img,
.sidebar-logo,
.app-logo {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  max-height: 58px !important;
  object-fit: contain !important;
  transform: scale(1.18) !important;
  transform-origin: left center !important;
}

.sidebar .brand strong,
.sidebar .brand span,
.sidebar .brand h1,
.app-sidebar .brand strong,
.app-sidebar .brand span,
.app-sidebar .brand h1,
.sidebar-brand strong,
.sidebar-brand span,
.sidebar-brand h1,
.brand-final strong,
.brand-final span,
.brand-final h1,
.logo-text,
.brand-title {
  display: none !important;
}

.sidebar nav,
.app-sidebar nav,
.sidebar-menu {
  flex: 0 0 auto !important;
  margin-bottom: 0 !important;
}

.sidebar-footer,
.app-sidebar-footer,
.sidebar-footer-final,
.user-info,
.sidebar-user {
  margin-top: 44px !important;
  padding-top: 0 !important;
}

.sidebar-footer p,
.app-sidebar-footer p,
.sidebar-footer-final p,
.user-info p,
.sidebar-user p {
  margin: 0 0 9px 0 !important;
  line-height: 1.35 !important;
}

.sidebar-footer button,
.app-sidebar-footer button,
.sidebar-footer-final button,
.user-info button,
.sidebar-user button,
.logout-final {
  margin-top: 24px !important;
  display: inline-flex !important;
}

/* Login subtitle restored and slogan breathing */
.login-left p,
.login-hero p,
.auth-hero p,
.login-description {
  display: block !important;
}

.login-left h1,
.login-hero h1,
.auth-hero h1,
.login-slogan,
.login-page h1 {
  line-height: 1.28 !important;
}


/* LAST SIDEBAR BALANCE FIX */
.sidebar .brand,
.app-sidebar .brand,
.brand-final {
  margin-top: 6px !important;
  margin-bottom: 64px !important;
  justify-content: center !important;
}

.sidebar-logo {
  width: 74px !important;
  height: 74px !important;
  min-width: 74px !important;
  min-height: 74px !important;
  display: block !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

.sidebar nav,
.app-sidebar nav {
  margin-bottom: 64px !important;
}

.sidebar-footer,
.app-sidebar-footer,
.sidebar-footer-final {
  margin-top: 64px !important;
}

.logout-final {
  margin-top: 24px !important;
}


/* ABSOLUTE FINAL SIDEBAR CLEANUP */
.sidebar.sidebar-final {
  width: 280px !important;
  min-width: 280px !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 28px 16px 22px !important;
  box-sizing: border-box !important;
}

.sidebar-logo-wrap {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 0 42px 0 !important;
  padding: 0 !important;
}

.sidebar-full-logo {
  display: block !important;
  width: 210px !important;
  max-width: 210px !important;
  height: auto !important;
  object-fit: contain !important;
}

.sidebar-nav-final,
.sidebar.sidebar-final .nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sidebar-session-final {
  margin-top: auto !important;
  padding-top: 42px !important;
}

.sidebar-session-final .session-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  color: #64748b !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
}

.sidebar-session-final .session-info strong {
  color: #0f172a !important;
}

.sidebar-session-final .logout-final {
  margin-top: 26px !important;
  border: 0 !important;
  outline: none !important;
  border-radius: 18px !important;
  padding: 12px 20px !important;
  min-height: 48px !important;
  background: #e8f3ff !important;
  color: #075cae !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

.sidebar-session-final .logout-final:hover {
  background: #dbeeff !important;
}


/* NOTES SPACING FIX */
.notes-page .page-header,
.notes-view .page-header,
.notes-page header,
.notes-view header {
  margin-bottom: 14px !important;
  padding-bottom: 0 !important;
}

.notes-page .page-header p,
.notes-view .page-header p,
.notes-page header p,
.notes-view header p {
  margin-bottom: 0 !important;
}

.notes-page .actions,
.notes-view .actions,
.notes-page .notes-actions,
.notes-view .notes-actions,
.notes-page .note-input-row,
.notes-view .note-input-row,
.notes-form,
.notes-page form,
.notes-view form {
  margin-top: 14px !important;
}

.notes-page .toolbar,
.notes-view .toolbar,
.notes-page .top-actions,
.notes-view .top-actions {
  margin-top: 10px !important;
}


/* KEYBOARD CONTROL FOCUS */
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(0, 94, 177, 0.28) !important;
  outline-offset: 2px !important;
}

tr:has(input[type="checkbox"]:checked),
.list-item:has(input[type="checkbox"]:checked),
.project-card:has(input[type="checkbox"]:checked) {
  background: rgba(219, 234, 254, 0.5) !important;
}


/* VISIBLE PRINT BUTTONS */
.screen-print-row {
  display: flex;
  justify-content: flex-end;
  margin: -4px 0 18px;
}

.notes-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.notes-print-button,
.planning-print-button,
.projects-print-button {
  white-space: nowrap;
}


/* PRINT BUTTON TOPBAR FINAL */
.app-print-topbar,
.topbar.app-print-topbar {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-bottom: 28px !important;
}

.app-topbar-print-button {
  margin-top: 6px !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

.screen-print-row {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.notes-header {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.notes-page .notes-create {
  margin-top: 0 !important;
}


/* PROJECT PRINT FILTER FINAL FIX */
.projects-print-button,
.project-top-actions .projects-print-button {
  display: none !important;
}

.project-status-filter,
.projects-toolbar select {
  position: relative !important;
  z-index: 5 !important;
  pointer-events: auto !important;
}

.projects-toolbar {
  pointer-events: auto !important;
}


/* FINAL PROJECT PRINT TABLE ORDER */
.project-status-filter,
.projects-toolbar select {
  position: relative !important;
  z-index: 5 !important;
  pointer-events: auto !important;
}


/* BACKUP INFO GRID */
.backup-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  grid-gap: 12px;
  gap: 12px;
  margin: 18px 0;
}

.backup-info-grid div {
  border: 1px solid rgba(148, 163, 184, 0.32);
  border-radius: 18px;
  padding: 14px;
  background: #f8fbff;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.backup-info-grid strong {
  color: #0f172a;
}

.backup-info-grid span {
  color: #64748b;
}


/* BACKUP UI FINAL POLISH */
.backup-create-card {
  position: relative;
}

.backup-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.backup-card-header h2 {
  margin-bottom: 0;
}

.backup-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 70px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #eaf4ff;
  color: #075ca8;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(11, 99, 182, 0.12);
}

.restore-confirm-label {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 18px;
  margin-bottom: 16px;
}

.restore-confirm-label span {
  display: block;
}

.restore-confirm-label input {
  margin-top: 0 !important;
}

.restore-actions {
  margin-top: 18px;
}


/* DASHBOARD UPCOMING FINAL */
.dashboard-upcoming-card h2 {
  margin-bottom: 12px !important;
}

.dashboard-upcoming-table {
  margin-top: 0 !important;
}

.dashboard-overdue-row td {
  color: #e11d48 !important;
  font-weight: 800;
}


/* AUDIT LOG VIEW */
.audit-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.audit-search-row {
  display: flex;
  gap: 12px;
  align-items: center;
  min-width: min(520px, 100%);
}

.audit-search-row input {
  min-width: 320px;
}

.audit-log-card table {
  table-layout: fixed;
}

.audit-log-card th:nth-child(1),
.audit-log-card td:nth-child(1) {
  width: 150px;
}

.audit-log-card th:nth-child(2),
.audit-log-card td:nth-child(2) {
  width: 170px;
}

.audit-log-card th:nth-child(3),
.audit-log-card td:nth-child(3) {
  width: 90px;
}

.audit-log-card th:nth-child(4),
.audit-log-card td:nth-child(4) {
  width: 150px;
}

.audit-log-card th:nth-child(5),
.audit-log-card td:nth-child(5) {
  width: 210px;
}

.audit-details {
  color: #64748b;
  font-size: 0.92rem;
  word-break: break-word;
}

.audit-area {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: #eaf4ff;
  color: #075ca8;
  font-weight: 900;
  font-size: 0.82rem;
}

.audit-area-status {
  background: #fff7ed;
  color: #c2410c;
}

.audit-area-material {
  background: #fefce8;
  color: #a16207;
}

.audit-area-stunden {
  background: #ecfeff;
  color: #0e7490;
}

.audit-area-lieferschein,
.audit-area-anhaenge {
  background: #f0fdf4;
  color: #15803d;
}

.audit-area-archiv {
  background: #f5f3ff;
  color: #6d28d9;
}

@media (max-width: 900px) {
  .audit-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .audit-search-row,
  .audit-search-row input {
    min-width: 0;
    width: 100%;
  }
}


/* SIDEBAR LOGOUT SPACE FIX */
.sidebar-final {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
  overflow: hidden !important;
}

.sidebar-logo-wrap {
  margin-bottom: 22px !important;
  padding-top: 18px !important;
}

.sidebar-full-logo {
  max-height: 84px !important;
  object-fit: contain !important;
}

.sidebar-nav-final {
  gap: 10px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.sidebar-nav-final button,
.sidebar-final .nav button {
  min-height: 44px !important;
  padding-top: 11px !important;
  padding-bottom: 11px !important;
}

.sidebar-session-final {
  margin-top: auto !important;
  padding-top: 18px !important;
  padding-bottom: 22px !important;
  background: rgba(248, 251, 255, 0.92) !important;
}

.logout-final {
  margin-top: 14px !important;
  position: relative !important;
  z-index: 2 !important;
}

@media (max-height: 820px) {
  .sidebar-logo-wrap {
    margin-bottom: 12px !important;
    padding-top: 10px !important;
  }

  .sidebar-full-logo {
    max-height: 70px !important;
  }

  .sidebar-nav-final {
    gap: 6px !important;
  }

  .sidebar-nav-final button,
  .sidebar-final .nav button {
    min-height: 38px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .sidebar-session-final {
    padding-top: 12px !important;
    padding-bottom: 14px !important;
  }

  .logout-final {
    margin-top: 10px !important;
  }
}


/* AUDIT LOG PROJECT COLUMN UPDATE */
.audit-log-card th:nth-child(1),
.audit-log-card td:nth-child(1) {
  width: 170px !important;
}

.audit-log-card th:nth-child(2),
.audit-log-card td:nth-child(2) {
  width: 190px !important;
}

.audit-log-card th:nth-child(3),
.audit-log-card td:nth-child(3) {
  width: 210px !important;
}

.audit-log-card th:nth-child(4),
.audit-log-card td:nth-child(4) {
  width: 230px !important;
}

.audit-log-card th:nth-child(5),
.audit-log-card td:nth-child(5) {
  width: 220px !important;
}


/* AUDIT LIVE SEARCH FINAL */
.audit-search-row {
  justify-content: flex-end;
}

.audit-search-row input {
  width: min(460px, 100%);
}


/* DASHBOARD VACATIONS CARD */
.dashboard-vacations-card h2 {
  margin-bottom: 12px !important;
}

.dashboard-vacations-table {
  margin-top: 0 !important;
}

.dashboard-vacations-table th:nth-child(2),
.dashboard-vacations-table td:nth-child(2) {
  text-align: right;
  width: 160px;
}

.dashboard-vacations-table th:nth-child(3),
.dashboard-vacations-table td:nth-child(3) {
  width: 260px;
}


.dashboard-vacations-table th:first-child,
.dashboard-vacations-table td:first-child {
  width: 50%;
}

.dashboard-vacations-table th:nth-child(2),
.dashboard-vacations-table td:nth-child(2) {
  width: 15%;
  text-align: right;
}

.dashboard-vacations-table th:nth-child(3),
.dashboard-vacations-table td:nth-child(3) {
  width: 35%;
}


/* VACATION COLUMNS FINAL 40-20-40 */
.dashboard-vacations-table table {
  table-layout: fixed;
  width: 100%;
}

.dashboard-vacations-table th:first-child,
.dashboard-vacations-table td:first-child {
  width: 40% !important;
  text-align: left !important;
}

.dashboard-vacations-table th:nth-child(2),
.dashboard-vacations-table td:nth-child(2) {
  width: 20% !important;
  text-align: left !important;
}

.dashboard-vacations-table th:nth-child(3),
.dashboard-vacations-table td:nth-child(3) {
  width: 40% !important;
  text-align: left !important;
}


/* APP TOASTS AND CONFIRM DIALOGS */
.toast-stack {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 12px;
  pointer-events: none;
}

.app-toast {
  min-width: 280px;
  max-width: 420px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(203, 213, 225, 0.9);
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.18);
  color: #101828;
  font-weight: 800;
  animation: toast-in 0.18s ease-out;
}

.app-toast-success { border-color: #86efac; background: #f0fdf4; }
.app-toast-info { border-color: #bfdbfe; background: #eff6ff; }
.app-toast-warning { border-color: #fed7aa; background: #fff7ed; }
.app-toast-error { border-color: #fecaca; background: #fef2f2; }

.toast-icon {
  font-size: 1.1rem;
  line-height: 1;
}

@keyframes toast-in {
  from { transform: translateY(10px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.42);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}

.confirm-card {
  width: min(520px, 100%);
  background: rgba(255, 255, 255, 0.98);
  border-radius: 28px;
  padding: 30px;
  box-shadow: 0 30px 90px rgba(15, 23, 42, 0.28);
  border: 1px solid rgba(226, 232, 240, 0.95);
}

.confirm-card h2 {
  margin: 0 0 10px;
  font-size: 1.45rem;
  color: #101828;
}

.confirm-card p {
  margin: 0;
  color: #64748b;
  line-height: 1.55;
  font-size: 1.02rem;
}

.confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 26px;
}

.warning-btn {
  background: #f59e0b !important;
  color: white !important;
  box-shadow: 0 18px 45px rgba(245, 158, 11, 0.22) !important;
}

@media (max-width: 640px) {
  .toast-stack {
    right: 14px;
    left: 14px;
    bottom: 14px;
  }

  .app-toast {
    min-width: 0;
    max-width: none;
  }

  .confirm-actions {
    flex-direction: column-reverse;
  }

  .confirm-actions .btn {
    width: 100%;
  }
}


/* TOAST VISIBILITY HOTFIX */
.toast-stack {
  position: fixed !important;
  right: 24px !important;
  bottom: 24px !important;
  z-index: 2147483647 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  pointer-events: none !important;
}

.app-toast {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 320px !important;
  max-width: 480px !important;
  padding: 14px 18px !important;
  border-radius: 18px !important;
  font-weight: 700 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}


/* TOAST END FIX */
.toast-stack {
  position: fixed !important;
  right: 24px !important;
  bottom: 24px !important;
  z-index: 2147483647 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  pointer-events: none !important;
}

.app-toast {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 320px !important;
  max-width: 480px !important;
  padding: 15px 18px !important;
  border-radius: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateZ(0) !important;
  font-weight: 800 !important;
}

.confirm-overlay {
  z-index: 2147483646 !important;
}


/* AUDIT COUNTER */
.audit-counter {
  margin-left: auto;
  align-self: flex-start;
  padding: 10px 16px;
  border-radius: 16px;
  background: #eaf4ff;
  color: #075ca8;
  font-weight: 900;
  box-shadow: 0 16px 40px rgba(7, 92, 168, 0.12);
  white-space: nowrap;
}

.audit-toolbar {
  position: relative;
}


/* AUDIT COUNTER TOP RIGHT FINAL */
.audit-toolbar {
  position: relative !important;
}

.audit-counter {
  position: absolute !important;
  top: 22px !important;
  right: 24px !important;
  margin-left: 0 !important;
  align-self: auto !important;
}


/* AUDIT COUNTER NO OVERLAP FINAL */
.audit-toolbar {
  position: relative !important;
  padding-top: 34px !important;
}

.audit-counter {
  position: absolute !important;
  top: 18px !important;
  right: 28px !important;
  margin: 0 !important;
  z-index: 2 !important;
}

.audit-search-row {
  padding-right: 150px !important;
}

.audit-search-row input {
  max-width: 520px !important;
}

@media (max-width: 900px) {
  .audit-toolbar {
    padding-top: 70px !important;
  }

  .audit-counter {
    top: 18px !important;
    right: 20px !important;
  }

  .audit-search-row {
    padding-right: 0 !important;
  }
}


/* OVERTIME SUMMARY */
.bulk-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}

.overtime-summary {
  padding: 10px 16px;
  border-radius: 16px;
  background: #eaf4ff;
  color: #075ca8;
  font-weight: 900;
  box-shadow: 0 16px 40px rgba(7, 92, 168, 0.12);
  white-space: nowrap;
}


/* OVERTIME POSITION FINAL */
.time-title-row {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}

.time-title-row h2 {
  margin: 0;
}

.time-title-row .overtime-summary {
  box-shadow: none;
  padding: 8px 14px;
}


/* BACKUP IMPORT FINAL LAYOUT */
.backup-import-top {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin-left: auto;
}

.backups-table {
  table-layout: fixed;
  width: 100%;
}

.backups-table th:nth-child(1), .backups-table td:nth-child(1) { width: 25%; }
.backups-table th:nth-child(2), .backups-table td:nth-child(2) { width: 10%; white-space: nowrap; }
.backups-table th:nth-child(3), .backups-table td:nth-child(3) { width: 18%; white-space: nowrap; }
.backups-table th:nth-child(4), .backups-table td:nth-child(4) { width: 24%; overflow-wrap: anywhere; }
.backups-table th:nth-child(5), .backups-table td:nth-child(5) { width: 23%; }

.backups-table .actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  flex-wrap: nowrap;
}

.backups-table .btn {
  padding-left: 16px;
  padding-right: 16px;
  white-space: nowrap;
}

.attachment-card .attachment-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 18px !important;
  width: 100%;
  margin-left: auto;
}

.attachment-size {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 80px;
  color: #101828;
}

@media (max-width: 1200px) {
  .backups-table .actions {
    flex-wrap: wrap;
  }
}


/* BACKUP LAYOUT NO SCROLL FINAL */
.backup-page-top-actions {
  position: absolute;
  top: 32px;
  right: 34px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.backup-page-top-actions .btn {
  white-space: nowrap;
}

.backup-create-card .backup-card-header {
  align-items: flex-start;
}

.backup-create-card .backup-import-top {
  display: none !important;
}

.backups-table {
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 0 !important;
}

.backups-table th:nth-child(1), .backups-table td:nth-child(1) { width: 22% !important; }
.backups-table th:nth-child(2), .backups-table td:nth-child(2) { width: 9% !important; white-space: nowrap !important; }
.backups-table th:nth-child(3), .backups-table td:nth-child(3) { width: 16% !important; white-space: nowrap !important; }
.backups-table th:nth-child(4), .backups-table td:nth-child(4) { width: 24% !important; overflow-wrap: anywhere !important; }
.backups-table th:nth-child(5), .backups-table td:nth-child(5) { width: 29% !important; }

.backups-table .actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}

.backups-table .btn {
  padding: 13px 15px !important;
  white-space: nowrap !important;
}

.backups-table td {
  vertical-align: middle !important;
}

.card.table-wrap:has(.backups-table) {
  overflow-x: visible !important;
}


/* MOBILE RESPONSIVE V1 HANDY FIRST
   Desktop bleibt ab 1024px unverändert. */
.mobile-appbar,
.mobile-menu-backdrop,
.mobile-close-menu,
.mobile-project-back {
  display: none;
}

@media (max-width: 1023px) {
  html, body {
    overflow-x: hidden;
  }

  .shell {
    display: block !important;
    min-height: 100vh;
    padding-top: 78px;
  }

  .mobile-appbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9000;
    height: 68px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 16px;
    background: rgba(255, 255, 255, 0.94);
    border-bottom: 1px solid var(--border);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.10);
    -webkit-backdrop-filter: blur(18px);
            backdrop-filter: blur(18px);
  }

  .mobile-appbar img {
    height: 44px;
    width: auto;
    max-width: calc(100vw - 86px);
    object-fit: contain;
  }

  .mobile-menu-button {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 16px;
    background: #eaf3fc;
    color: var(--primary);
    font-size: 24px;
    font-weight: 900;
    cursor: pointer;
  }

  .mobile-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9001;
    display: block;
    background: rgba(15, 23, 42, 0.46);
    border: 0;
    padding: 0;
  }

  .sidebar {
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 9002;
    width: min(86vw, 340px);
    height: 100dvh !important;
    transform: translateX(-105%);
    transition: transform .22s ease;
    overflow-y: auto;
    border-right: 1px solid var(--border);
    box-shadow: 20px 0 80px rgba(15, 23, 42, .25);
  }

  .sidebar.mobile-open {
    transform: translateX(0);
  }

  .mobile-close-menu {
    display: inline-flex !important;
    justify-content: center;
    width: 100%;
  }

  .main {
    padding: 16px !important;
    width: 100%;
  }

  .topbar {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px !important;
    margin-bottom: 16px;
    border-radius: 22px;
  }

  .topbar h1 {
    font-size: clamp(26px, 7vw, 40px) !important;
    line-height: 1.05;
  }

  .topbar p {
    font-size: 14px;
    line-height: 1.45;
  }

  .app-topbar-print-button {
    display: none !important;
  }

  .grid,
  .form-grid,
  .dashboard-grid,
  .stats-grid,
  .info-grid,
  .files-grid,
  .backup-info-grid,
  .employee-grid,
  .planning-grid {
    grid-template-columns: 1fr !important;
  }

  .card,
  .modern-card,
  .login-card {
    border-radius: 22px !important;
    padding: 18px !important;
  }

  .actions {
    flex-wrap: wrap;
    gap: 10px;
  }

  .btn,
  button,
  input,
  textarea,
  select {
    min-height: 46px;
  }

  .btn {
    padding: 13px 16px;
  }

  .form-grid .wide,
  .wide {
    grid-column: auto !important;
  }

  .table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  table {
    min-width: 680px;
  }

  .modal-backdrop {
    padding: 12px !important;
    align-items: flex-start !important;
    overflow-y: auto;
  }

  .employee-modal,
  .modal,
  .confirm-card {
    width: min(100%, 560px) !important;
    max-height: none !important;
    border-radius: 22px !important;
    padding: 18px !important;
  }

  .tabbar {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }

  .tabbar button {
    white-space: nowrap;
    flex: 0 0 auto;
  }

  .project-layout,
  .projects-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-gap: 16px !important;
    gap: 16px !important;
  }

  .project-list-panel {
    min-height: auto !important;
  }

  .project-detail-panel {
    min-height: auto !important;
  }

  .project-detail-panel:has(.project-detail) {
    position: fixed;
    inset: 78px 0 0 0;
    z-index: 7500;
    overflow-y: auto;
    background:
      radial-gradient(circle at 15% 12%, rgba(10,97,176,.12), transparent 30%),
      linear-gradient(135deg, #f8fbff 0%, #eef6ff 42%, #ffffff 100%);
    padding: 16px;
    border-radius: 0 !important;
    border: 0 !important;
  }

  .mobile-project-back {
    display: inline-flex !important;
    margin-bottom: 14px;
  }

  .project-detail-header {
    align-items: flex-start !important;
    gap: 12px;
    flex-direction: column;
  }

  .project-item,
  .project-list button,
  .project-card {
    min-height: 82px;
    padding: 16px !important;
  }

  .status-actions .btn,
  .file-upload-row .btn,
  .time-actions .btn,
  .restore-actions .btn {
    width: 100%;
  }

  .file-upload-row {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }

  .attachment-grid {
    grid-template-columns: 1fr !important;
  }

  .attachment-card .actions,
  .attachment-actions {
    justify-content: flex-end !important;
  }

  .file-preview,
  .pdf-preview,
  iframe,
  object,
  embed {
    max-width: 100% !important;
  }

  .backup-page-top-actions {
    position: static !important;
    justify-content: flex-end;
    margin: 0 0 12px 0;
  }

  .backups-table {
    min-width: 860px !important;
  }

  .audit-toolbar {
    padding-top: 70px !important;
  }

  .audit-counter {
    top: 18px !important;
    right: 20px !important;
  }

  .audit-search-row {
    padding-right: 0 !important;
  }

  .toast-stack {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
  }

  .app-toast {
    min-width: 0 !important;
    width: 100%;
  }

  .login-shell {
    grid-template-columns: 1fr !important;
    gap: 18px;
  }

  .login-hero {
    padding: 10px !important;
    text-align: center;
  }

  .login-hero img {
    width: min(78vw, 340px) !important;
    margin-bottom: 20px !important;
  }

  .login-hero h1 {
    font-size: clamp(34px, 10vw, 54px) !important;
  }
}

@media (max-width: 767px) {
  .main {
    padding: 12px !important;
  }

  .topbar {
    padding: 16px !important;
  }

  .topbar h1 {
    font-size: 28px !important;
  }

  .topbar p {
    display: none;
  }

  .card,
  .modern-card {
    padding: 15px !important;
  }

  .project-list-toolbar,
  .toolbar,
  .filters,
  .filter-row,
  .search-row,
  .audit-search-row,
  .time-list-header,
  .backup-card-header {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .project-list-toolbar input,
  .toolbar input,
  .search-row input,
  .audit-search-row input {
    width: 100% !important;
  }

  .project-detail-panel:has(.project-detail) {
    inset: 68px 0 0 0;
    padding: 12px;
  }

  .employee-work-groups table,
  .project-detail table,
  .audit-log-card table,
  .dashboard-upcoming-card table,
  .dashboard-vacations-table table {
    min-width: 0 !important;
    width: 100% !important;
  }

  .employee-work-groups table thead,
  .project-detail table thead {
    display: none;
  }

  .employee-work-groups table tr,
  .project-detail table tr {
    display: grid;
    grid-gap: 8px;
    gap: 8px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
  }

  .employee-work-groups table td,
  .project-detail table td {
    display: block;
    border: 0 !important;
    padding: 2px 0 !important;
  }

  .employee-work-groups table td:last-child,
  .project-detail table td:last-child {
    margin-top: 6px;
  }

  .employee-work-groups .actions,
  .project-detail table .actions {
    justify-content: flex-start !important;
  }

  .dashboard-vacations-table,
  .dashboard-upcoming-card .table-wrap {
    overflow-x: auto;
  }

  .time-range-box,
  .bulk-actions {
    align-items: stretch !important;
  }

  .selected-delete-btn {
    width: 100%;
  }

  .overtime-summary {
    width: 100%;
    text-align: center;
  }

  .confirm-actions {
    flex-direction: column-reverse !important;
  }

  .confirm-actions .btn {
    width: 100%;
  }
}


/* MOBILE RESPONSIVE V2 FIXES - desktop >=1024 untouched */
@media (max-width:1023px){
  html,body{overflow-x:hidden!important;width:100%}
  .main,.topbar,.card,.modern-card,.dashboard-card,.quick-card,.project-detail,.project-detail-panel,.project-list-panel,.table-wrap{max-width:100%!important;box-sizing:border-box!important}
  .sidebar{gap:12px!important;padding:18px 16px!important;background:rgba(255,255,255,.92)!important}
  .sidebar-logo-wrap{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;margin:0 auto 10px!important}
  .sidebar-full-logo{max-width:230px!important;height:auto!important}
  .sidebar .nav,.sidebar-nav-final{gap:6px!important;margin-top:4px!important}
  .sidebar .nav button{padding:11px 14px!important;min-height:42px!important}
  .sidebar-session-final{margin-top:28px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;gap:14px!important}
  .sidebar-session-final .session-info{background:transparent!important;border-radius:0!important;padding:0!important;margin:0!important}
  .logout-final{margin-bottom:20px!important}
  .mobile-close-menu{margin-top:12px!important}
  .dashboard-grid,.quick-grid,.stats-grid,.grid{width:100%!important;max-width:100%!important}
  .quick-card,.stat-card,.dashboard-card,.card{width:100%!important;min-width:0!important;overflow:hidden}
  .quick-card *{min-width:0!important}
  .employee-work-groups,.work-group,.project-detail .table-wrap{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .employee-work-groups table,.project-detail table{display:table!important;min-width:560px!important;width:100%!important;table-layout:fixed!important}
  .employee-work-groups table thead,.project-detail table thead{display:table-header-group!important}
  .employee-work-groups table tbody,.project-detail table tbody{display:table-row-group!important}
  .employee-work-groups table tr,.project-detail table tr{display:table-row!important;padding:0!important;border-bottom:1px solid var(--border)}
  .employee-work-groups table th,.employee-work-groups table td,.project-detail table th,.project-detail table td{display:table-cell!important;padding:12px 10px!important;vertical-align:middle!important;border-bottom:1px solid var(--border)!important;overflow-wrap:break-word}
  .employee-work-groups table .actions,.project-detail table .actions{display:flex!important;flex-wrap:nowrap!important;gap:8px!important}
  .employee-work-groups table .btn,.project-detail table .btn{padding:10px 12px!important;min-height:40px!important;white-space:nowrap!important}
  .project-detail table:has(th:nth-child(5)){min-width:680px!important}
  .segmented button,.view-toggle button,.planning-view-toggle button{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1!important}
  .planning-week,.week-grid,.calendar-week,.week-calendar,.calendar-grid{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .week-grid table,.calendar-grid table,.planning-week table,.week-calendar table{min-width:760px!important}
  .week-grid,.calendar-grid{grid-template-columns:repeat(7,minmax(110px,1fr))!important}
  .calendar-day,.week-day,.planning-day{min-width:110px!important;overflow:hidden!important}
  .calendar-event,.week-event,.planning-event{white-space:normal!important;overflow-wrap:anywhere!important;font-size:12px!important;padding:8px!important}
  .time-range-row,.time-range,.shift-row{display:grid!important;grid-template-columns:auto minmax(90px,1fr) auto minmax(90px,1fr)!important;align-items:center!important;grid-gap:10px!important;gap:10px!important;width:100%!important}
  .time-range-row select,.time-range select,.shift-row select{width:100%!important;min-width:0!important}
  .time-title-row,.month-overview-header,.timesheet-header{display:grid!important;grid-template-columns:1fr auto!important;align-items:start!important;grid-gap:10px!important;gap:10px!important;width:100%!important}
  .time-title-row .overtime-summary,.month-overview-header .overtime-summary,.timesheet-header .overtime-summary{width:auto!important;justify-self:end!important;padding:8px 12px!important;font-size:14px!important;white-space:nowrap!important}
  .bulk-actions{align-items:stretch!important;margin:8px 0 14px!important}
  .selected-delete-btn{width:100%!important}
  .audit-log-card{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .audit-log-card table{min-width:860px!important;table-layout:fixed!important}
  .audit-log-card th:nth-child(1),.audit-log-card td:nth-child(1){width:140px!important}
  .audit-log-card th:nth-child(2),.audit-log-card td:nth-child(2){width:150px!important}
  .audit-log-card th:nth-child(3),.audit-log-card td:nth-child(3){width:140px!important}
  .audit-log-card th:nth-child(4),.audit-log-card td:nth-child(4){width:170px!important}
  .audit-log-card th:nth-child(5),.audit-log-card td:nth-child(5){width:170px!important}
  .audit-log-card th:nth-child(6),.audit-log-card td:nth-child(6){width:120px!important}
  .audit-log-card td,.audit-details{white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;line-height:1.35!important}
}
@media (max-width:767px){
  .employee-work-groups table,.project-detail table{display:table!important;min-width:560px!important}
  .employee-work-groups table thead,.project-detail table thead{display:table-header-group!important}
  .employee-work-groups table tr,.project-detail table tr{display:table-row!important}
  .employee-work-groups table td,.project-detail table td{display:table-cell!important;padding:12px 10px!important}
  .project-detail .form-grid,.project-detail form.form-grid{grid-template-columns:1fr!important}
  .project-detail .tabbar{flex-wrap:wrap!important;overflow-x:visible!important}
  .audit-log-card table{min-width:860px!important}
}


/* MOBILE V3 FINAL FIXES */
.mobile-delete-label {
  display: none;
}

@media (max-width: 1023px) {
  /* Stundenerfassung: Heading above, von/bis together below */
  .time-row.shift-row {
    display: grid !important;
    grid-template-columns: auto minmax(88px, 1fr) auto minmax(88px, 1fr) !important;
    grid-template-areas:
      "title title title title"
      "fromLabel fromSelect toLabel toSelect" !important;
    align-items: center !important;
    grid-gap: 10px 10px !important;
    gap: 10px 10px !important;
  }

  .time-row.shift-row > strong {
    grid-area: title !important;
    margin-bottom: 2px !important;
  }

  .time-row.shift-row > span:nth-of-type(1) {
    grid-area: fromLabel !important;
  }

  .time-row.shift-row > select:nth-of-type(1) {
    grid-area: fromSelect !important;
    width: 100% !important;
  }

  .time-row.shift-row > span:nth-of-type(2) {
    grid-area: toLabel !important;
  }

  .time-row.shift-row > select:nth-of-type(2) {
    grid-area: toSelect !important;
    width: 100% !important;
  }

  /* Monatsübersicht: Löschen direkt unter Überstunden und klein */
  .time-list-header {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: start !important;
    grid-gap: 6px 10px !important;
    gap: 6px 10px !important;
    position: relative !important;
  }

  .time-title-row {
    display: contents !important;
  }

  .time-title-row h2 {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
  }

  .time-list-header > span {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .time-title-row .overtime-summary {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    justify-self: end !important;
    align-self: start !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    border-radius: 14px !important;
  }

  .bulk-actions {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    width: auto !important;
    margin: 0 !important;
    z-index: 2 !important;
  }

  .desktop-delete-label {
    display: none !important;
  }

  .mobile-delete-label {
    display: inline !important;
  }

  .selected-delete-btn {
    width: auto !important;
    min-height: 0 !important;
    padding: 8px 12px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  .time-list-header + .bulk-actions + table,
  .time-list-header ~ table {
    margin-top: 54px !important;
  }

  /* Wochenansicht: Legende volle Breite, Titel + Zeitraum in einer Zeile, Kalender darunter */
  .planning-week-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-gap: 14px !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .planning-legend {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px 18px !important;
  }

  .planning-legend strong {
    flex: 0 0 100% !important;
  }

  .planning-week-calendar {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .planning-week-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-gap: 10px !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
  }

  .planning-week-title-line {
    display: flex !important;
    align-items: baseline !important;
    gap: 12px !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 2px !important;
  }

  .planning-week-title-line h2 {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }

  .planning-week-title-line span {
    flex: 0 0 auto !important;
    color: var(--muted) !important;
    font-weight: 600 !important;
  }

  .week-nav {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    grid-gap: 10px !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .week-nav button {
    width: 100% !important;
  }

  .week-grid {
    overflow-x: auto !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  .time-row.shift-row {
    grid-template-columns: auto minmax(86px, 1fr) auto minmax(86px, 1fr) !important;
  }

  .planning-week-title-line {
    font-size: 14px !important;
  }

  .planning-week-title-line h2 {
    font-size: 21px !important;
  }
}


/* MOBILE V4 FINAL SPACING + SCROLL FIX */
@media (max-width: 1023px) {
  /* Monatsübersicht darf wieder normal vertikal scrollen */
  .time-list-header,
  .time-title-row,
  .time-tracking-view,
  .time-tracking-card,
  .table-wrap {
    overflow: visible !important;
  }

  .card.table-wrap {
    overflow-x: auto !important;
    overflow-y: visible !important;
  }

  body,
  .main {
    overflow-y: auto !important;
  }

  /* Stundenerfassung luftiger */
  .time-row.shift-row {
    margin-top: 18px !important;
    margin-bottom: 22px !important;
    row-gap: 13px !important;
    column-gap: 12px !important;
  }

  .time-row.shift-row > strong {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
  }

  .time-row.shift-row select {
    min-height: 52px !important;
  }

  .time-actions {
    margin-top: 10px !important;
  }

  /* Monatsübersicht: absolute button darf Scrollen nicht blockieren */
  .bulk-actions {
    position: static !important;
    width: auto !important;
    margin: 8px 0 14px auto !important;
    display: flex !important;
    justify-content: flex-end !important;
  }

  .time-list-header + .bulk-actions + table,
  .time-list-header ~ table {
    margin-top: 8px !important;
  }

  /* Legende kompakter, aber mit mehr Luft zwischen Zeilen */
  .planning-legend {
    min-height: 0 !important;
    padding: 18px 22px !important;
    gap: 16px 22px !important;
    align-content: start !important;
  }

  .planning-legend strong {
    margin-bottom: 2px !important;
  }

  .planning-legend span {
    line-height: 1.45 !important;
    margin-bottom: 2px !important;
  }

  .planning-week-title-line {
    gap: 14px !important;
    padding: 4px 0 8px !important;
    align-items: center !important;
  }

  .planning-week-title-line span {
    line-height: 1.45 !important;
  }

  .week-nav {
    margin-top: 4px !important;
    margin-bottom: 10px !important;
  }
}

@media (max-width: 767px) {
  .time-row.shift-row {
    margin-top: 20px !important;
    margin-bottom: 24px !important;
  }

  .planning-legend {
    padding: 16px 20px !important;
    gap: 15px 20px !important;
  }

  .planning-week-title-line {
    font-size: 14px !important;
  }
}


/* MOBILE V5 FINAL: Time sheet action cleanup */
@media (max-width: 1023px) {
  /* Oben bei Überstunden keinen Sammel-Löschen-Button anzeigen */
  .bulk-actions {
    display: none !important;
  }

  /* Aktion-Spalte: Löschen rechtsbündig unter Bearbeiten */
  .time-list-card table td:last-child .actions,
  .time-tracking-view table td:last-child .actions,
  .table-wrap table td:last-child .actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }

  .time-list-card table td:last-child .btn,
  .time-tracking-view table td:last-child .btn,
  .table-wrap table td:last-child .btn {
    width: 126px !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

@media (max-width: 767px) {
  .time-list-card table td:last-child .btn,
  .time-tracking-view table td:last-child .btn,
  .table-wrap table td:last-child .btn {
    width: 124px !important;
  }
}


/* MOBILE V6 FINAL: Dashboard tables horizontal scroll */
@media (max-width: 1023px) {
  .dashboard-vacations-table,
  .dashboard-upcoming-card .table-wrap,
  .dashboard-upcoming-card,
  .dashboard-vacations-card {
    max-width: 100% !important;
  }

  .dashboard-vacations-table,
  .dashboard-upcoming-card .table-wrap {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
  }

  .dashboard-vacations-table table,
  .dashboard-upcoming-card table {
    min-width: 640px !important;
    width: 640px !important;
    table-layout: fixed !important;
  }

  .dashboard-vacations-table th,
  .dashboard-vacations-table td,
  .dashboard-upcoming-card th,
  .dashboard-upcoming-card td {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    padding: 12px 14px !important;
  }

  .dashboard-vacations-table th:nth-child(1),
  .dashboard-vacations-table td:nth-child(1) {
    width: 260px !important;
  }

  .dashboard-vacations-table th:nth-child(2),
  .dashboard-vacations-table td:nth-child(2) {
    width: 150px !important;
  }

  .dashboard-vacations-table th:nth-child(3),
  .dashboard-vacations-table td:nth-child(3) {
    width: 230px !important;
  }

  .dashboard-upcoming-card th:nth-child(1),
  .dashboard-upcoming-card td:nth-child(1) {
    width: 180px !important;
  }

  .dashboard-upcoming-card th:nth-child(2),
  .dashboard-upcoming-card td:nth-child(2) {
    width: 150px !important;
  }

  .dashboard-upcoming-card th:nth-child(3),
  .dashboard-upcoming-card td:nth-child(3) {
    width: 150px !important;
  }

  .dashboard-upcoming-card th:nth-child(4),
  .dashboard-upcoming-card td:nth-child(4) {
    width: 160px !important;
  }
}

@media (max-width: 767px) {
  .dashboard-vacations-table table,
  .dashboard-upcoming-card table {
    min-width: 620px !important;
    width: 620px !important;
  }
}


/* LUCIDE ICONS FINAL */
.sidebar .nav button {
  display: flex;
  align-items: center;
  gap: 12px;
}

.menu-icon {
  width: 20px;
  height: 20px;
  color: #475569;
  stroke-width: 2.2;
  flex: 0 0 auto;
  transition: color .18s ease;
}

.sidebar .nav button.active .menu-icon,
.sidebar .nav button:hover .menu-icon {
  color: #0B5CAD;
}

.quick-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.quick-lucide-icon {
  width: 24px;
  height: 24px;
  color: #475569;
  stroke-width: 2.15;
}

.quick-card:hover .quick-lucide-icon {
  color: #0B5CAD;
}

@media (max-width: 1023px) {
  .sidebar .nav button {
    gap: 12px !important;
  }

  .menu-icon {
    width: 20px;
    height: 20px;
  }
}


/* STATUS LUCIDE ICONS FINAL */
.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.status-lucide-icon {
  width: 15px;
  height: 15px;
  stroke-width: 2.8;
  flex: 0 0 auto;
}

/* Icons inherit the existing semantic status colors */
.status-lieferschein .status-lucide-icon {
  color: #12b76a;
}

.status-kein-lieferschein .status-lucide-icon {
  color: #f04438;
}

.status-abrechnen .status-lucide-icon {
  color: #f79009;
}

.status-abgerechnet .status-lucide-icon {
  color: #12b76a;
}


/* FINAL STATUS ICON COLOR OVERRIDE */
.status-lucide-icon {
  color: currentColor !important;
}


/* EMPLOYEE LUCIDE ICONS FINAL */
.employee-meta-icon {
  width: 16px;
  height: 16px;
  stroke-width: 2.4;
  vertical-align: -3px;
  margin-left: 4px;
  color: #475569;
}

.employee-meta-icon.office {
  color: #0B5CAD;
}

.employee-meta-icon.worker {
  color: #475569;
}

.employee-meta-icon.fulltime {
  color: #475569;
}

.employee-meta-icon.parttime {
  color: #0B5CAD;
}

.employee-meta-icon.apprentice {
  color: #087443;
}

.employee-meta-icon.timesheet {
  color: #0B5CAD;
}

.employee-inline-meta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.employee-radio-label {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}

.employee-radio-label .employee-meta-icon {
  margin-left: 0;
}


/* FINAL EMPLOYEE ICON SPACING + SINGLE COLOR */
.employee-meta-icon {
  color: #475569 !important;
  margin-left: 6px !important;
}

.employee-meta-icon.office,
.employee-meta-icon.worker,
.employee-meta-icon.fulltime,
.employee-meta-icon.parttime,
.employee-meta-icon.apprentice,
.employee-meta-icon.timesheet {
  color: #475569 !important;
}

.employee-meta-part {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.employee-meta-separator {
  display: inline-flex;
  align-items: center;
  margin: 0 4px;
  color: #475569;
}

.employee-inline-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: inherit;
}

.employee-radio-label {
  gap: 8px !important;
}

.employee-radio-label .employee-meta-icon {
  color: #475569 !important;
  margin-left: 0 !important;
}


/* FINAL EMPLOYEE META SPACING V2 */
.employee-inline-meta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
}

.employee-inline-meta .employee-meta-icon {
  margin-left: 2px !important;
  margin-right: 0 !important;
}

.employee-meta-part {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
}

.employee-meta-separator {
  margin: 0 10px !important;
  color: #475569 !important;
}


/* FINAL TOUCH: small spacing between word and icon */
.employee-inline-meta .employee-meta-icon,
.employee-meta-part .employee-meta-icon {
  margin-left: 4px !important;
}



/* MISSING GOODS FEATURE */
.stat-card-button {
  border: 1px solid var(--border);
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

.stat-card-button:hover {
  transform: translateY(-1px);
  border-color: rgba(217, 45, 32, .28);
}

.project-title-line {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.missing-goods-project-icon {
  width: 19px;
  height: 19px;
  color: #d92d20;
  stroke-width: 2.8;
  flex: 0 0 auto;
}

@media (max-width: 1023px) {
  .missing-goods-project-icon {
    width: 18px;
    height: 18px;
  }
}

@media (max-width:1023px){
  .project-detail .grid > table{display:table!important;min-width:760px!important;width:max-content!important}
  .project-detail .grid{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
}


/* NOTE LUCIDE ICONS TEST FIX */
.note-action-icon {
  width: 16px;
  height: 16px;
  stroke-width: 2.6;
}
.note-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


/* PASSWORD EYE LUCIDE FINAL */
.password-toggle-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 64px;
}

.password-toggle-icon {
  width: 20px;
  height: 20px;
  color: #475569;
  stroke-width: 2.35;
}

.password-toggle-button:hover .password-toggle-icon {
  color: #334155;
}


/* AUTO LOGOUT + LUCIDE TOASTS */
.login-info-banner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: -8px 0 18px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(10, 97, 176, .20);
  background: #eaf3fc;
  color: #0a61b0;
  font-weight: 700;
  line-height: 1.45;
}

.login-info-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  margin-top: 1px;
  color: #0a61b0;
  stroke-width: 2.4;
}

.toast-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.toast-lucide-icon {
  width: 18px;
  height: 18px;
  stroke-width: 2.7;
}

.app-toast-success .toast-lucide-icon {
  color: #12b76a;
}

.app-toast-warning .toast-lucide-icon {
  color: #f04438;
}

.app-toast-error .toast-lucide-icon {
  color: #f79009;
}

.app-toast-info .toast-lucide-icon {
  color: #0a61b0;
}

