/* ======================================= */
/* Main Stylesheet for GooseFlow          */
/* ======================================= */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap');
@import url('base.css');
@import url('layout.css');

/* Buttons and Form Controls       */
/* =============================== */

button {
  background-color: var(--primary-color);
  border: none;
  color: var(--light-text-color);
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
}

button:hover {
  background-color: var(--accent-color);
}

input,
select {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-sizing: border-box;
  margin: 5px 0;
}

/* =============================== */
/* Profile Page Avatar             */
/* =============================== */
.avatar-wrapper {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}

#avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}

.avatar-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  text-align: center;
  font-size: 14px;
  padding: 6px 0;
  opacity: 0;
  transition: opacity 0.3s;
}

.avatar-wrapper:hover .avatar-overlay {
  opacity: 1;
}

/* =============================== */

/* Notification Bell */
#notification-container {
  position: relative;
  margin-left: auto;
  margin-right: 20px;
}

#notification-icon {
  font-size: 20px;
  cursor: pointer;
  color: var(--primary-color);
}

#notification-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: var(--accent-color);
  color: #fff;
  border-radius: 12px;
  padding: 0 4px;
  font-size: 12px;
}

#notification-badge.hidden {
  display: none;
}

#notification-list {
  position: absolute;
  right: 0;
  top: 30px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  width: 250px;
  max-height: 300px;
  overflow-y: auto;
  display: none;
  z-index: 1001;
}

#notification-list.show {
  display: block;
}

#notification-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#notification-list li {
  padding: 8px 12px;
  cursor: pointer;
}

#notification-list li:hover {
  background: #f0f0f0;
}

#notification-list .notification-item {
  display: grid;
  gap: 4px;
  border-bottom: 1px solid #eef0f3;
}

#notification-list .notification-item strong {
  color: var(--primary-color);
  font-size: 14px;
  line-height: 1.2;
}

#notification-list .notification-item span {
  color: #425466;
  font-size: 13px;
  line-height: 1.35;
}

#notification-list .notification-item small {
  color: #7a8699;
  font-size: 11px;
}

#notification-list .notification-empty {
  color: #7a8699;
  cursor: default;
}

#notification-list .notification-empty:hover,
#notification-list .notification-actions:hover {
  background: #fff;
}

#notification-list .notification-actions {
  padding: 8px;
  border-bottom: 1px solid #eef0f3;
  cursor: default;
}

#notification-list .notification-actions button {
  width: 100%;
  background: #f6f8fa;
  color: var(--primary-color);
  border: 1px solid #d9dee7;
  padding: 6px 8px;
}

#notification-list .notification-actions button:hover {
  background: #eef2f7;
}

#notification-icon.notify {
  animation: bell-shake 0.5s;
  color: var(--accent-color);
}

@keyframes bell-shake {
  0%, 100% { transform: rotate(0deg); }
  20%, 60% { transform: rotate(-20deg); }
  40%, 80% { transform: rotate(20deg); }
}

.sim-card {
  background: #fff;
  border: 1px solid #d0d7e1;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
  width: calc(15.333% - 20px);
  min-width: 280px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  text-align: center;
}

/* =============================== */
/* SIM CARD SITE                   */
/* =============================== */

#sim-card-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-start;
  flex-direction: row;
}

.sim-card .location {
  font-size: 1.1em;
  font-weight: bold;
  color: var(--accent-color);
  margin-bottom: 6px;
}

.sim-card .name {
  font-size: 1em;
  font-weight: 500;
  margin-bottom: 4px;
  color: var(--primary-color);
}

.sim-card .sim-serial {
  font-size: 0.9em;
  color: #555;
  margin-bottom: 6px;
}

.sim-card .password-field {
  font-family: monospace;
  margin-bottom: 4px;
}

.sim-card .meta {
  font-size: 0.85em;
  color: #444;
  margin-top: 4px;
}

.sim-card .actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

@media (max-width: 1100px) {
  .sim-card {
    width: calc(50% - 20px);
  }
}

@media (max-width: 700px) {
  .sim-card {
    width: 100%;
  }
}

/* Standort-Popup */
#location-popup .popup-inner {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#location-map {
  height: 240px;           /* kleine Karte im Popup */
  border-radius: 10px;
  overflow: hidden;
  background: #f2f2f2;
}

.location-map {            /* die kleinen Karten in den Karten-Listen */
  height: 160px;
  border-radius: 10px;
  overflow: hidden;
  margin-top: 8px;
}

/* ===== Profile – Light Card UI (wie Screenshot) ===== */
:root{
  --gf-card-bg:#ffffff;
  --gf-muted:#64748b;
  --gf-soft:#f1f5f9;
  --gf-soft-2:#eef2f7;
  --gf-ring:rgba(0,0,0,.06);
}

/* Layout-Abstände */
#content{ padding:24px; }
@media (max-width: 900px){ #content{ padding:16px; } }

/* --- Top Profilkarte --- */
.employee-card{
  background:var(--gf-card-bg);
  border:1px solid var(--gf-ring);
  border-radius:20px;
  box-shadow:0 8px 24px rgba(17,24,39,.06);
  padding:18px;
  display:grid;
  gap:16px;
}
.ec-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.ec-left{ display:flex; align-items:center; gap:14px; flex:1; min-width:0; }
.ec-avatar{
  width:64px; height:64px; border-radius:50%;
  overflow:hidden; background:#e5e7eb; flex:0 0 auto;
  border:3px solid var(--gf-soft-2);
}
.ec-avatar img{ width:100%; height:100%; object-fit:cover; }
.ec-meta{ min-width:0; }
.ec-name{ font-weight:800; font-size:1.1rem; }
.ec-line{ display:flex; flex-wrap:wrap; gap:18px; color:var(--gf-muted); }
.ec-line span{ white-space:nowrap; }

.ec-right{ display:flex; gap:8px; align-items:center; }
.ec-select{ padding:8px 10px; border:1px solid var(--gf-ring); border-radius:10px; background:#fff; }
.btn-primary{
  background: var(--accent-color, #06b6d4);
  color:#fff; border:none; border-radius:12px; padding:10px 14px; font-weight:700;
}
.btn-primary:hover{ filter:brightness(1.05); }
.btn-ghost{
  background:transparent; border:1px solid var(--gf-ring); border-radius:10px; padding:8px 12px;
}
.btn-dark{
  background:#0f172a; color:#fff; border:none; border-radius:12px; padding:10px 14px; font-weight:700;
}

/* Kennzahlen-Leiste */
.ec-stats{
  display:grid; gap:10px;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}
@media (max-width: 920px){ .ec-stats{ grid-template-columns: 1fr 1fr; } }
.stat-card{
  background:var(--gf-soft);
  border:1px solid var(--gf-ring);
  border-radius:16px; padding:14px;
  display:flex; align-items:center; gap:12px;
}
.stat-ico{ font-size:18px; padding:10px; border-radius:12px; background:#fff; border:1px solid var(--gf-ring); }
.stat-val{ font-weight:800; font-size:1.1rem; }
.stat-sub{ color:var(--gf-muted); font-size:.86rem; }

/* --- Activity Panel v2 --- */
.activity-panel.v2{
  margin-top:18px; background:var(--gf-card-bg);
  border:1px solid var(--gf-ring); border-radius:20px; box-shadow:0 8px 24px rgba(17,24,39,.06);
}
.ap-header{ display:flex; align-items:center; justify-content:space-between; padding:16px 18px; }
.ap-tools{ display:flex; gap:8px; }
.ap-btn{ background:#fff; border:1px solid var(--gf-ring); border-radius:10px; padding:8px 10px; display:inline-flex; align-items:center; gap:8px; }
.ap-btn span{ display:none; } /* wie im Screenshot komprimiert */
@media (min-width: 1100px){ .ap-btn span{ display:inline; } }

.activity-grid{
  display:grid; gap:12px; padding:6px 12px 18px 12px;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
}
@media (max-width: 1200px){ .activity-grid{ grid-template-columns: repeat(2, minmax(240px,1fr)); } }
@media (max-width: 720px){ .activity-grid{ grid-template-columns: 1fr; } }

.act-card{
  background:linear-gradient(180deg,#fff, #fafafa);
  border:1px solid var(--gf-ring); border-radius:16px;
  padding:14px; box-shadow:0 6px 16px rgba(17,24,39,.06);
  display:grid; gap:6px;
}
.act-top{ display:flex; align-items:center; justify-content:space-between; }
.act-date{ display:flex; align-items:center; gap:8px; font-weight:700; }
.act-badge{ padding:6px 10px; border-radius:999px; font-weight:700; font-size:.78rem; border:1px solid var(--gf-ring); }
.badge-new{ background:#e8fff4; color:#0a8a5b; }
.badge-update{ background:#ecf2ff; color:var(--primary-color); }
.badge-assign{ background:#fff8e6; color:#a16207; }
.badge-delete{ background:#ffecec; color:#b91c1c; }
.badge-note{ background:#f0f9ff; color:#0369a1; }

.act-body{ color:#334155; }
.act-times{ display:flex; gap:28px; color:var(--gf-muted); font-feature-settings:"tnum" on, "lnum" on; }
.ap-footer{ display:flex; align-items:center; justify-content:space-between; padding:10px 18px 16px; }

.ec-actions{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
/* ===== MS365 Fancy UI ===== */
.gf-card{
  background: var(--gf-card-bg, #fff);
  border: 1px solid var(--gf-ring, rgba(0,0,0,.06));
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(17,24,39,.06);
  padding: 16px;
  display: grid;
  gap: 16px;
}

.gf-card-header{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding: 6px 4px 8px;
}
.gf-title{ display:flex; align-items:center; gap:12px; }
.gf-title h2{ margin:0; font-size:1.25rem; font-weight:800; }
.gf-title .fa-solid,.gf-title .fa-regular,.gf-title .fa-brands{ font-size:22px; color:var(--primary-color); }
.gf-sub{ margin:2px 0 0; color:var(--gf-muted,#64748b); font-size:.9rem; }
.gf-actions{ display:flex; gap:8px; }

.gf-toolbar{
  display:grid; gap:12px;
  grid-template-columns: minmax(180px, 220px) 1fr auto minmax(200px, 260px);
  align-items:end;
}
@media (max-width: 900px){
  .gf-toolbar{ grid-template-columns: 1fr; align-items:stretch; }
}

.field{ display:flex; flex-direction:column; gap:6px; }
.field.grow{ width:100%; }
.field label{ font-weight:600; font-size:.9rem; color:var(--gf-muted,#64748b); }

.status-chip{
  justify-self: end;
  background: var(--gf-soft,#f1f5f9);
  border: 1px solid var(--gf-ring,rgba(0,0,0,.06));
  border-radius: 999px;
  padding: 8px 12px;
  min-height: 38px;
  display:flex; align-items:center;
  color:#334155; font-size:.9rem;
}
@media (max-width: 900px){ .status-chip{ justify-self: start; } }

.btn-primary i, .btn-dark i, .btn-ghost i { margin-right:8px; }

.gf-grid{
  display:grid; gap:16px;
  grid-template-columns: 1.2fr 1fr;
}
@media (max-width: 1100px){ .gf-grid{ grid-template-columns: 1fr; } }

.gf-section{
  background:#fff; border:1px solid var(--gf-ring,rgba(0,0,0,.06));
  border-radius:16px; padding:14px;
  box-shadow:0 6px 18px rgba(17,24,39,.05);
  display:grid; gap:12px;
}
.gf-section-head{
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px dashed var(--gf-ring,rgba(0,0,0,.06));
  padding-bottom:10px;
}
.gf-section h3{ margin:0; font-size:1.05rem; font-weight:800; display:flex; align-items:center; gap:10px; }

.ap-tools{ display:flex; gap:8px; }
.ap-btn{
  background:#fff; border:1px solid var(--gf-ring); border-radius:10px; padding:8px 10px;
  display:inline-flex; align-items:center; gap:8px; cursor:pointer;
}
.ap-btn:hover{ filter:brightness(1.03); }
.ap-btn i{ font-size:16px; }

.inbox-list{
  min-height: 180px;
  border:1px dashed var(--gf-ring);
  border-radius:12px; padding:10px;
  background: linear-gradient(180deg,#fff,#fafafa);
}
.inbox-empty{
  display:flex; gap:10px; align-items:center; justify-content:center; color:var(--gf-muted);
  height:140px;
}
.inbox-empty i{ font-size:20px; color:var(--primary-color); }

.inbox-item{
  display:grid; grid-template-columns: auto 1fr auto; gap:10px; align-items:center;
  padding:10px; border-bottom:1px dashed var(--gf-ring);
}
.inbox-item:last-child{ border-bottom:none; }
.inbox-from{ font-weight:700; color:#0f172a; }
.inbox-subject{ color:#1f2937; }
.inbox-meta{ color:var(--gf-muted); font-size:.85rem; }

.send-form{ display:grid; gap:10px; }
.send-actions{ display:flex; justify-content:flex-end; gap:10px; }

/* =============================== */
/* Globale Select2 Styling Overrides */
/* =============================== */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border: 1px solid #d1d5db !important;
  border-radius: 10px !important;
  min-height: 44px;
  background: #f9fafb !important;
}

.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--accent-color) !important;
  background: #fff !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 42px !important;
  color: #374151 !important;
  padding-left: 16px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px !important;
  right: 10px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #EEE2DC !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 4px 10px !important;
  color: var(--primary-color) !important;
  font-weight: 500;
  margin-top: 6px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: var(--primary-color) !important;
  border-right: none !important;
  margin-right: 5px !important;
}

/* ======================================= */
/* Modern Visual Refresh                   */
/* ======================================= */
:root {
  --primary-color: #123b5d;
  --accent-color: #ed6a2f;
  --light-text-color: #f7fbff;
  --surface-0: #f4f8fc;
  --surface-1: #ffffff;
  --surface-2: #edf3f8;
  --text-1: #1f2d3d;
  --text-2: #4f6476;
  --border-soft: rgba(18, 59, 93, 0.12);
  --shadow-soft: 0 14px 40px rgba(14, 38, 58, 0.12);
  --shadow-strong: 0 22px 46px rgba(14, 38, 58, 0.18);
}

html, body {
  min-height: 100%;
}

body {
  font-family: "Manrope", "Segoe UI", sans-serif;
  color: var(--text-1);
  background:
    radial-gradient(circle at 10% -10%, rgba(18, 59, 93, 0.2), transparent 42%),
    radial-gradient(circle at 90% 0%, rgba(237, 106, 47, 0.16), transparent 38%),
    linear-gradient(180deg, #f6fafe 0%, #eff5fb 100%);
}

header {
  height: 68px;
  border-radius: 0 0 16px 16px;
  border-bottom: 1px solid var(--border-soft);
  box-shadow: 0 10px 30px rgba(10, 32, 51, 0.12);
  backdrop-filter: saturate(1.2) blur(10px);
  background: rgba(255, 255, 255, 0.86);
}

#logo {
  height: 44px;
  max-height: 44px;
}

.mobile-menu-toggle {
  display: none;
}

#menu {
  top: 80px;
  left: 16px;
  width: 248px;
  bottom: 16px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  border-right: none;
  box-shadow: var(--shadow-soft);
  background: linear-gradient(165deg, #123b5d 0%, #0b2d49 68%, #0a2440 100%);
}

#menu ul li > a,
#menu ul li > button.menu-link {
  color: #ebf6ff;
  border-radius: 12px;
  font-weight: 700;
  transition: background-color 0.22s ease, transform 0.22s ease, color 0.22s ease;
}

#menu ul li > a:hover,
#menu ul li > button.menu-link:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  transform: translateX(2px);
}

#menu li button.menu-link.open,
#menu li a.active {
  background: rgba(237, 106, 47, 0.25);
  color: #ffffff !important;
}

#menu li button.menu-link.open i,
#menu li a.active i {
  color: #ffffff !important;
}

#menu li a.submenu-link {
  display: block;
  background: transparent !important;
  color: rgba(236, 248, 255, 0.84) !important;
}

#menu li a.submenu-link.active,
#menu li a.submenu-link:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.12) !important;
}

#menu li ul.submenu,
#menu ul ul {
  background: transparent !important;
}

#menu .menu-toggle {
  color: #eaf5ff;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}

#menu .menu-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
}

#menu.collapsed {
  width: 74px !important;
}

#content {
  margin-left: 286px;
  margin-right: 24px;
  margin-top: 94px;
  min-height: calc(100vh - 126px);
  height: auto;
  border: 1px solid var(--border-soft);
  border-radius: 22px;
  padding: 26px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(4px);
}

#content.collapsed {
  margin-left: 108px;
}

.hidden {
  display: none !important;
}

a {
  color: var(--primary-color);
  text-decoration: none;
}

button {
  border-radius: 12px;
  padding: 10px 16px;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  background: linear-gradient(135deg, var(--primary-color) 0%, #1d5e8f 100%);
  color: #f8fbff;
}

button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(18, 59, 93, 0.24);
  filter: brightness(1.02);
  background: linear-gradient(135deg, var(--accent-color) 0%, #f18934 100%);
}

input,
select,
textarea {
  font-family: "Manrope", "Segoe UI", sans-serif;
  border: 1px solid rgba(17, 58, 91, 0.18);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fbfdff;
  color: var(--text-1);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: rgba(237, 106, 47, 0.85);
  box-shadow: 0 0 0 4px rgba(237, 106, 47, 0.16);
  background: #ffffff;
}

dialog {
  border: 1px solid var(--border-soft);
  border-radius: 18px;
  box-shadow: var(--shadow-strong);
}

dialog::backdrop {
  background: rgba(8, 26, 43, 0.46);
  backdrop-filter: blur(2px);
}

table {
  background: var(--surface-1);
  border-radius: 14px;
  overflow: hidden;
}

th {
  background: var(--surface-2);
  color: var(--primary-color);
}

td,
th {
  border-bottom-color: rgba(17, 58, 91, 0.1) !important;
}

#profile-container {
  border: 1px solid rgba(17, 58, 91, 0.16);
  background: rgba(248, 252, 255, 0.86);
}

#profile-greeting {
  color: var(--primary-color);
}

#notification-list,
#profile-menu {
  border: 1px solid var(--border-soft);
  box-shadow: var(--shadow-soft);
  border-radius: 14px;
}

#task-filters .view-switch button.active {
  background: linear-gradient(135deg, var(--accent-color) 0%, #f18934 100%);
  border-color: transparent;
}

.gf-more {
  background: linear-gradient(135deg, var(--primary-color) 0%, #1d5e8f 100%);
}

.gf-more:hover {
  background: linear-gradient(135deg, var(--accent-color) 0%, #f18934 100%);
}

#dashboard.cards {
  gap: 18px;
}

.card {
  border: 1px solid var(--border-soft);
  border-radius: 16px;
  box-shadow: var(--shadow-soft);
}

main#content > * {
  animation: gf-reveal 0.42s ease both;
}

@keyframes gf-reveal {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1180px) {
  #menu {
    width: 228px;
  }

  #content {
    margin-left: 262px;
    margin-right: 16px;
    padding: 18px;
  }

  #content.collapsed {
    margin-left: 98px;
  }
}

@media (max-width: 860px) {
  header {
    height: 64px;
    padding: 10px 12px;
    border-radius: 0;
    gap: 10px;
  }

  .mobile-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(17, 58, 91, 0.14);
    border-radius: 12px;
    background: #ffffff;
    color: var(--primary-color);
    box-shadow: none;
  }

  .mobile-menu-toggle:hover {
    background: #f2f6fa;
    color: var(--accent-color);
    transform: none;
    box-shadow: none;
    filter: none;
  }

  .mobile-menu-toggle i {
    pointer-events: none;
    font-size: 18px;
  }

  #logo {
    margin-right: 0;
  }

  #menu {
    top: 72px;
    left: 10px;
    width: min(84vw, 320px);
    transform: translateX(-115%);
    transition: transform 0.28s ease;
    z-index: 1100;
  }

  #menu.open {
    transform: translateX(0);
  }

  #menu.collapsed {
    width: min(84vw, 320px) !important;
  }

  #menu.collapsed li a span,
  #menu.collapsed li button span,
  #menu.collapsed li button .arrow {
    display: inline !important;
  }

  #menu.collapsed li a i,
  #menu.collapsed li button.menu-link i {
    width: 1em;
    margin: 0;
    display: inline-block;
  }

  #content,
  #content.collapsed {
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 82px;
    border-radius: 16px;
    padding: 14px;
  }

  #profile-greeting {
    display: none;
  }

  #task-search {
    min-width: 160px;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}

/* ======================================= */
/* Navigation Polish                       */
/* ======================================= */
#menu {
  overflow: hidden;
}

#menu > ul {
  padding: 14px 12px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.28) transparent;
}

#menu li {
  margin: 0 0 4px;
}

#menu li span,
#menu li a i,
#menu li button.menu-link i {
  padding: 0;
}

#menu ul li > a,
#menu ul li > button.menu-link {
  min-height: 42px;
  width: 100%;
  padding: 10px 12px;
  box-sizing: border-box;
  gap: 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  line-height: 1.2;
}

#menu li > a span,
#menu li > button.menu-link span {
  padding: 0;
}

#menu li a i,
#menu li button.menu-link i:not(.arrow) {
  flex: 0 0 20px;
  width: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
}

#menu li button.menu-link .arrow {
  flex: 0 0 auto;
  margin-left: auto;
  font-size: 12px;
  opacity: 0.72;
}

#menu .active {
  border-left: none;
  border-radius: 12px;
}

#menu ul li > a.active,
#menu ul li > button.menu-link.active,
#menu ul li > button.menu-link.open {
  border-color: rgba(255, 255, 255, 0.16);
  background: linear-gradient(135deg, rgba(237, 106, 47, 0.92), rgba(241, 137, 52, 0.78));
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(7, 23, 37, 0.22);
}

#menu li ul.submenu {
  margin: 4px 0 6px 30px;
  padding: 0 0 0 10px;
  border-left: 1px solid rgba(255, 255, 255, 0.16);
}

#menu li a.submenu-link {
  min-height: 36px;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 0.9rem;
}

#menu li a.submenu-link .submenu-label {
  font-size: inherit;
  font-weight: 700;
}

#menu.collapsed > ul {
  padding: 14px 8px;
}

#menu.collapsed ul li > a,
#menu.collapsed ul li > button.menu-link {
  justify-content: center;
  padding: 10px 8px;
}

#menu.collapsed li a i,
#menu.collapsed li button.menu-link i:not(.arrow) {
  margin: 0;
  width: 22px;
  flex-basis: 22px;
}

#menu.collapsed .menu-toggle {
  padding: 15px 0;
}

#menu .menu-toggle {
  min-height: 54px;
  border-radius: 0;
}

#menu .menu-toggle i {
  pointer-events: none;
}

@media (max-width: 860px) {
  #menu {
    bottom: 10px;
    max-height: calc(100vh - 82px);
  }

  #menu.open {
    box-shadow: 0 24px 60px rgba(4, 20, 34, 0.32);
  }

  #menu.collapsed ul li > a,
  #menu.collapsed ul li > button.menu-link {
    justify-content: flex-start;
    padding: 10px 12px;
  }
}
