 /* Partners Site - Unified Minimalist Dark/Light Mode CSS */
 /* @version 13.0.0 - Professional theme system bez inline CSS */

 /* These styles are now handled by critical inline CSS in <head> to prevent FOUC */
 /* Keeping theme-aware styles for other elements */

 /* Transitions for all elements when enabled */
 .transitions-enabled * {
   transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
 }

 .navbar {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   z-index: 9999;
   background-color: var(--navbar-bg, #ffffff);
   border-bottom: 1px solid var(--border-color, #000000);
   height: 50px;
   padding: 0 16px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   transition: background-color 0.3s ease, border-color 0.3s ease;
 }

 [data-theme="dark"] .navbar {
   background-color: var(--navbar-bg, #181a1b);
   border-bottom: 1px solid var(--border-color, #404040);
 }

 /* Hamburger Menu Button */
 .navbar-hamburger {
   display: none;
   flex-direction: column;
   gap: 4px;
   background: none;
   border: none;
   cursor: pointer;
   padding: 8px;
   border-radius: 6px;
   transition: background-color 0.2s ease;
   z-index: 10001;
 }

 .navbar-hamburger:hover {
   background-color: var(--hover-bg, rgba(0, 0, 0, 0.05));
 }

 [data-theme="dark"] .navbar-hamburger:hover {
   background-color: var(--hover-bg, rgba(255, 255, 255, 0.05));
 }

 .hamburger-line {
   width: 20px;
   height: 2px;
   background-color: var(--navbar-text, #333);
   transition: all 0.3s ease;
   border-radius: 1px;
 }

 [data-theme="dark"] .hamburger-line {
   background-color: var(--navbar-text, #d1cdc7);
 }

 .navbar-hamburger.active .hamburger-line:nth-child(1) {
   transform: rotate(45deg) translate(5px, 5px);
 }

 .navbar-hamburger.active .hamburger-line:nth-child(2) {
   opacity: 0;
 }

 .navbar-hamburger.active .hamburger-line:nth-child(3) {
   transform: rotate(-45deg) translate(6px, -6px);
 }

 /* Navbar Content Container */
 .navbar-content {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   min-width: 0;
   transition: all 0.3s ease;
 }

 .container {
   max-width: 1200px;
   margin: 0 auto;
   padding: 20px;
   width: 100%;
   background-color: var(--bg-primary, #ffffff);
   color: var(--text-primary, #000000);
   transition: background-color 0.3s ease, color 0.3s ease;
 }

 [data-theme="dark"] .container {
   background-color: var(--bg-primary, #181a1b);
   color: var(--text-primary, #d1cdc7);
 }

 /* Ukryty element facebook_profile - niewidoczny dla użytkownika */
 .navbar-facebook-hidden {
   display: none !important;
   visibility: hidden !important;
 }

 /* CSS Custom Properties for Theme System */
 :root {
   /* Light Mode (Default) */
   --primary-color: #000000;
   --secondary-color: #ffffff;
   --bg-primary: #ffffff;
   --bg-secondary: #f8f9fa;
   --text-primary: #000000;
   --text-secondary: #666666;
   --text-muted: #999999;
   --border-color: #000000;
   --border-light: #e5e5e5;
   --shadow-color: rgba(0, 0, 0, 0.1);
   --hover-bg: #f5f5f5;
   --navbar-bg: #ffffff;
   --navbar-text: #000000;
   --card-bg: #ffffff;
   --input-bg: #ffffff;
   --button-bg: #000000;
   --button-text: #ffffff;
   --button-hover-bg: #333333;
   --success-color: #4CAF50;
   --warning-color: #f39c12;
   --danger-color: #e74c3c;
   --theme-toggle-bg: #ffffff;
   --theme-toggle-border: #e5e5e5;
   --theme-toggle-hover: #f5f5f5;
 }

 /* Dark Mode Variables */
 [data-theme="dark"] {
   --primary-color: #ffffff;
   --secondary-color: #000000;
   --bg-primary: #181a1b;
   --bg-secondary: #1e2021;
   --text-primary: #d1cdc7;
   --text-secondary: #9e9689;
   --text-muted: #666666;
   --border-color: #404040;
   --border-light: #2d2d2d;
   --shadow-color: rgba(255, 255, 255, 0.1);
   --hover-bg: #2d2d2d;
   --navbar-bg: #181a1b;
   --navbar-text: #d1cdc7;
   --card-bg: #1e2021;
   --input-bg: #2d2d2d;
   --button-bg: #d1cdc7;
   --button-text: #181a1b;
   --button-hover-bg: #ffffff;
   --success-color: #2d8a3f;
   --warning-color: #ffc71e;
   --danger-color: #df4655;
   --theme-toggle-bg: #1e2021;
   --theme-toggle-border: #404040;
   --theme-toggle-hover: #2d2d2d;
 }

 /* Reset and Base Styles */
 * {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
 }

 /* Wyłączenie animacji dla section-title i wszystkich elementów wewnątrz sekcji nagłówkowych */
 .section-title,
 .section-title *,
 .section-header,
 .section-header *,
 .section-description,
 .section-description * {
   transition: none !important;
   opacity: 1 !important;
   transform: none !important;
 }

 html {
   background-color: var(--bg-primary);
 }

 /* Body styles moved to critical CSS section at top */

 /* Container styles moved to critical CSS section at top */

 .content {
   width: 100%;
   max-width: 400px;
   margin: 0 auto;
   padding: 20px;
   background-color: var(--bg-primary);
   color: var(--text-primary);
 }

 /* Typography */
 h1 {
   font-size: 32px;
   font-weight: 700;
   color: var(--text-primary);
   margin-bottom: 12px;
   letter-spacing: -0.8px;
   line-height: 1.2;
 }

 h2,
 h3,
 h4,
 h5,
 h6 {
   color: var(--text-primary);
   font-weight: 600;
   margin-bottom: 16px;
   letter-spacing: -0.3px;
 }

 p {
   font-size: 16px;
   color: var(--text-primary);
   font-weight: 400;
   margin-bottom: 16px;
   line-height: 1.6;
 }

 /* Cards */
 .card {
   background-color: var(--card-bg);
   padding: 32px;
   border-radius: 0;
   border: 1px solid var(--border-color);
   margin-bottom: 24px;
   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
   box-shadow: none;
 }

 .card:hover {
   border-color: var(--border-color);
   box-shadow: 0 4px 12px var(--shadow-color);
   transform: translateY(-2px);
 }

 /* Enhanced Navbar - base styles moved to critical CSS section */

 .navbar-group {
   display: flex;
   gap: 12px;
   align-items: center;
   min-width: 0;
 }

 .navbar-group-user {
   flex: 0 0 auto;
   min-width: 0;
   overflow: hidden;
 }

 .navbar-group-partner {
   flex: 0 0 auto;
  margin-left: auto;
 }

 .navbar-item {
   display: flex;
   align-items: center;
   gap: 6px;
   color: var(--navbar-text);
   font-size: 15px;
   font-weight: 600;
   padding: 6px 12px;
   border-radius: 6px;
   background: transparent;
   border: none;
   cursor: default;
   position: relative;
   white-space: nowrap;
   max-width: 100%;
 }

 .navbar-item:hover:not(.navbar-item-name) {
   background-color: var(--text-primary);
   color: var(--bg-primary);
 }

 .navbar-item-partner {
   color: var(--text-secondary);
   opacity: 0.8;
 }

 .navbar-item-partner:hover {
   background-color: var(--text-primary);
   color: var(--bg-primary);
 }

 .navbar-icon {
   width: 16px;
   height: 16px;
   color: inherit;
   flex-shrink: 0;
 }

 .navbar-item span {
   white-space: nowrap;
   min-width: 0;
 }

 /* Responsive truncation for navbar elements */
 .navbar-ellipsis {
   display: inline-block;
   max-width: 100%;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 .navbar-item-name {
   flex: 1 1 auto;
   min-width: 0;
   overflow: hidden;
   max-width: clamp(140px, 40vw, 520px);
  color: var(--text-secondary);
  opacity: 0.8;
 }

 .navbar-item-name .navbar-ellipsis {
   flex: 1 1 auto;
   min-width: 0;
   width: auto;
 }

 .navbar-item-lead {
   flex: 0 0 auto;
   color: var(--text-secondary);
   opacity: 0.8;
 }

 .navbar-item-lead:hover {
   background-color: var(--text-primary);
   color: var(--bg-primary);
 }

 .navbar-item-partner span {
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   max-width: clamp(80px, 20vw, 220px);
   display: inline-block;
 }

 /* Responsive fallback for small screens */
 @media (max-width: 480px) {
   
   .navbar-item-name {
     max-width: clamp(120px, 55vw, 400px);
   }

  .navbar-item-name .navbar-ellipsis {
    min-width: 60px;
    flex: 1 1 60px;
  }
 }

 /* Theme Toggle Button - Fully Fixed with theme variables */
 .theme-toggle {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 36px;
   height: 36px;
   border-radius: 50%;
   background-color: var(--theme-toggle-bg);
   border: 1px solid var(--theme-toggle-border);
   color: var(--text-primary);
   cursor: pointer;
   margin-left: 12px;
   outline: none;
   transition: all 0.3s ease;
 }

 .theme-toggle:hover {
   background-color: var(--theme-toggle-hover);
   border-color: var(--border-color);
   color: var(--text-primary);
   transform: scale(1.05);
 }

 .theme-toggle:focus {
   outline: 2px solid var(--border-color);
   outline-offset: 2px;
 }

 .theme-toggle svg {
   width: 18px;
   height: 18px;
   fill: currentColor;
   transition: all 0.3s ease;
 }

 .theme-toggle:hover svg {
   transform: scale(1.1);
 }

 .theme-toggle.switching .theme-icon-light {
   animation: sunPulse 0.6s ease-in-out;
 }

 .theme-toggle.switching .theme-icon-dark {
   animation: moonShake 0.6s ease-in-out;
 }

 @keyframes sunPulse {

   0%,
   100% {
     transform: scale(1);
     filter: brightness(1);
   }

   25% {
     transform: scale(1.15);
     filter: brightness(1.3);
   }

   50% {
     transform: scale(1.05);
     filter: brightness(1.1);
   }

   75% {
     transform: scale(1.1);
     filter: brightness(1.2);
   }
 }

 @keyframes moonShake {

   0%,
   100% {
     transform: translateX(0);
   }

   15% {
     transform: translateX(-2px) scale(1.05);
   }

   30% {
     transform: translateX(2px) scale(0.98);
   }

   45% {
     transform: translateX(-1px) scale(1.02);
   }

   60% {
     transform: translateX(1px) scale(0.99);
   }

   75% {
     transform: translateX(-0.5px) scale(1.01);
   }
 }

 /* Tooltips - only for items with data-tooltip attribute */
 .navbar-item[data-tooltip]::before {
   content: attr(data-tooltip);
   position: absolute;
   bottom: -35px;
   left: 50%;
   transform: translateX(-50%);
   background-color: var(--text-primary);
   color: var(--bg-primary);
   padding: 4px 8px;
   border-radius: 4px;
   font-size: 12px;
   font-weight: 500;
   white-space: nowrap;
   opacity: 0;
   pointer-events: none;
   transition: opacity 0.3s ease;
   z-index: 10000;
 }

 .navbar-item[data-tooltip]::after {
   content: '';
   position: absolute;
   bottom: -8px;
   left: 50%;
   transform: translateX(-50%);
   width: 0;
   height: 0;
   border-left: 5px solid transparent;
   border-right: 5px solid transparent;
   border-bottom: 5px solid var(--text-primary);
   opacity: 0;
   pointer-events: none;
   transition: opacity 0.3s ease;
   z-index: 10000;
 }

 .navbar-item[data-tooltip]:hover::before,
 .navbar-item[data-tooltip]:hover::after {
   opacity: 1;
}

.navbar-item[data-tooltip]:focus-visible::before,
.navbar-item[data-tooltip]:focus-visible::after,
.navbar-item[data-tooltip][data-tooltip-active]::before,
.navbar-item[data-tooltip][data-tooltip-active]::after {
  opacity: 1;
 }

 /* Full name display styles */
 .navbar.show-full-name .navbar-item-lead,
 .navbar.show-full-name .navbar-group-partner {
   display: none;
 }

 .navbar.show-full-name .navbar-item-name {
   max-width: none;
   width: 100%;
   justify-content: center;
   text-align: center;
   flex: 1;
 }

 .navbar.show-full-name .navbar-item-name .navbar-ellipsis {
   overflow: hidden;
   text-overflow: clip;
   white-space: normal;
   width: auto;
   max-width: none;
   text-align: center;
 }

 .navbar-item-name {
   cursor: pointer;
   transition: background-color 0.2s ease;
 }

 /* Normal hover/focus effects for name element */
 .navbar-item-name:hover,
 .navbar-item-name:focus {
   background-color: var(--text-primary) !important;
   color: var(--bg-primary) !important;
   outline: none;
 }

 /*
.navbar-item-name:focus {
  box-shadow: 0 0 0 2px var(--border-color);
}*/

 /* Remove hover/focus effects when showing full name */
 .navbar.show-full-name .navbar-item-name,
 .navbar.show-full-name .navbar-item-name:hover,
 .navbar.show-full-name .navbar-item-name:focus {
   background-color: transparent !important;
   box-shadow: none !important;
   color: var(--text-primary) !important;
 }

 /* Intro Section */
 .intro {
   text-align: left;
   margin-bottom: 48px;
   position: relative;
   padding: 32px;
   border: 1px solid var(--border-color);
   border-radius: 0;
   background-color: var(--card-bg);
 }

 .intro:hover {
   border-color: var(--border-color);
   background-color: var(--card-bg);
 }

 .intro h1 {
   font-size: 36px;
   font-weight: 800;
   color: var(--text-primary);
   margin-bottom: 12px;
   letter-spacing: -1px;
   text-align: left;
   line-height: 1.1;
 }

 .intro-description {
   font-size: 16px;
   color: var(--text-primary);
   font-weight: 400;
   text-align: left;
   line-height: 1.6;
   margin-bottom: 0;
   max-width: none;
 }

 /* Form Styles */
 .form-section {
   width: 100%;
   margin-top: 20px;
   background-color: var(--bg-primary);
 }

 .form-container {
   width: 100%;
   background-color: var(--bg-primary);
 }

 .form-group {
   margin-bottom: 24px;
 }

 .form-group label {
   display: block;
   margin-bottom: 8px;
   font-weight: 600;
   color: var(--text-primary);
   font-size: 15px;
   letter-spacing: -0.2px;
 }

 .required {
   color: var(--danger-color);
   margin-left: 4px;
 }

 .optional-text {
   color: var(--text-secondary);
   font-size: 13px;
   font-weight: normal;
   margin-left: 8px;
   opacity: 0.8;
 }

 /* Enhanced Input Styles */
 input[type="text"],
 input[type="password"],
 input[type="email"],
 input[type="number"],
 textarea,
 select {
   width: 100%;
   height: 52px;
   padding: 0 18px;
   border: 2px solid var(--border-color);
   border-radius: 0;
   font-size: 16px;
   color: var(--text-primary);
   background-color: var(--input-bg);
   font-family: inherit;
   font-weight: 500;
 }

 textarea {
   height: auto;
   min-height: 120px;
   padding: 18px;
   resize: vertical;
 }

 input:focus,
 textarea:focus,
 select:focus {
   outline: none;
   border-color: var(--border-color);
   transform: translateY(-1px);
 }

 input:hover:not(:focus),
 textarea:hover:not(:focus),
 select:hover:not(:focus) {
   background-color: var(--hover-bg);
 }

 input::placeholder,
 textarea::placeholder {
   color: var(--text-secondary);
   font-weight: 400;
   font-size: 15px;
   opacity: 0.7;
 }

 /* Enhanced Button Styles - FIXED to use theme variables */
 .btn,
 button {
   width: 100%;
   height: 52px;
   background-color: var(--button-bg);
   color: var(--button-text);
   border: none;
   border-radius: 10px;
   font-size: 16px;
   font-weight: 600;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   font-family: inherit;
   letter-spacing: -0.2px;
   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .btn:active:not(:disabled),
 button:active:not(:disabled) {
   transform: translateY(0);
   box-shadow: 0 4px 10px var(--shadow-color);
 }

 .btn:disabled,
 button:disabled {
   background-color: var(--button-bg) !important;
   color: var(--button-text) !important;
   cursor: not-allowed;
   transform: none;
   box-shadow: none;
   opacity: 0.8;
   border-color: var(--button-bg) !important;
 }

 .btn.loading,
 button.loading {
   background-color: var(--button-bg) !important;
   color: var(--button-text) !important;
   border-color: var(--button-bg) !important;
   opacity: 0.9;
 }

 /* Form Control Styles */
 .form-control {
   display: block;
   width: 100%;
   padding: 16px 18px;
   font-size: 16px;
   font-weight: 500;
   line-height: 1.5;
   color: var(--text-primary);
   background-color: var(--input-bg);
   background-clip: padding-box;
   border: 2px solid var(--border-color);
   border-radius: 0;
 }

 .form-control:focus {
   border-color: var(--border-color);
   outline: 0;
   transform: translateY(-1px);
 }

 .form-control.is-invalid {
   border-color: var(--danger-color);
 }

 .form-control.is-invalid:focus {
   border-color: var(--danger-color);
   box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.1);
 }

 /* Error Messages */
 .invalid-feedback {
   display: none;
   width: 100%;
   margin-top: 8px;
   font-size: 14px;
   font-weight: 500;
   color: var(--danger-color);
   padding: 12px 16px;
   background-color: var(--card-bg);
   border: 1px solid var(--danger-color);
   border-radius: 8px;

 }

 .was-validated .form-control:invalid~.invalid-feedback,
 .form-control.is-invalid~.invalid-feedback {
   display: block;
 }


 /* Dashboard Styles */
 .dashboard-section {
   margin-bottom: 24px;
   border: 2px solid var(--border-color);
   border-radius: 0;
   overflow: hidden;
   background-color: var(--card-bg);
   transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
   box-shadow: none;
 }

 .dashboard-section:hover {
   border-color: var(--border-color);
   box-shadow: 0 6px 20px var(--shadow-color);
   transform: translateY(-1px);
 }

 .section-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 20px 24px;
   cursor: pointer;
   user-select: none;
   background-color: var(--card-bg);
   border-bottom: 1px solid var(--border-color);
   position: relative;
 }

 .section-header:hover {
   background-color: var(--text-primary);
   color: var(--bg-primary);
 }

 .section-header:hover .section-title {
   color: var(--bg-primary);
 }

 .section-header:hover .section-title i {
   color: var(--bg-primary);
 }

 .section-header:hover .section-description {
   color: var(--bg-primary);
 }

 .section-header:hover .section-toggle {
   background-color: var(--bg-primary);
   color: var(--text-primary);
 }

 .section-title {
   color: var(--text-primary);
   font-size: 20px;
   font-weight: 700;
   margin: 0;
   display: flex;
   align-items: center;
   gap: 12px;
   letter-spacing: -0.4px;
   flex-direction: column;
   align-items: flex-start;
 }

 .section-title i {
   font-size: 24px;
   color: var(--text-primary);
   margin-bottom: 8px;
   /* Prevent layout shift by reserving space for icons */
   min-width: 24px;
   min-height: 24px;
   display: inline-block;
   text-align: center;
 }

 /* Reserve space for Bootstrap Icons to prevent layout shift */

 .section-description {
   font-size: 14px;
   color: var(--text-primary);
   font-weight: 400;
   margin: 0;
   opacity: 0.8;
   line-height: 1.4;
 }

 .section-toggle {
   width: 36px;
   height: 36px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   background-color: var(--bg-primary);
   border: 1px solid var(--border-color);
   color: var(--text-primary);
   cursor: pointer;
   transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
 }

 .section-toggle:hover {
   background-color: var(--text-primary);
   color: var(--bg-primary);
   transform: scale(1.05);
 }


 .section-toggle.expanded svg {
   transform: rotate(180deg);
 }

 .section-content {
   max-height: 0;
   overflow: hidden;
   padding: 0 24px;
   background-color: var(--card-bg);
 }

 .section-content.expanded {
   max-height: 5000px;
   padding: 28px 24px;
 }

 /* Campaigns Grid */
 .campaigns-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 20px;
 }

 .campaign-card {
   border: 1px solid var(--border-color);
   border-radius: 0;
   margin-bottom: 0;
   background-color: var(--card-bg);
   overflow: hidden;
   box-shadow: none;
   scroll-margin-top: 70px;
   transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
 }

 .campaign-card:hover {
   border-color: var(--border-color);
   box-shadow: 0 8px 24px var(--shadow-color);
   transform: translateY(-3px);
 }

 .campaign-header {
   background-color: var(--card-bg);
   padding: 20px 24px;
   border-bottom: 1px solid var(--border-color);
   cursor: pointer;
   user-select: none;
   display: flex;
   align-items: center;
   justify-content: space-between;
 }

 .campaign-header:hover {
   background-color: var(--text-primary);
   color: var(--bg-primary);
 }

 .campaign-header:hover .campaign-title {
   color: var(--bg-primary);
 }

 .campaign-header:hover .campaign-expand-icon {
   background-color: var(--bg-primary);
   color: var(--text-primary);
 }

 .campaign-header-content {
   display: flex;
   align-items: center;
   gap: 16px;
   flex: 1;
   min-width: 0;
   margin-right: 20px;
 }

 .campaign-logo,
 .campaign-logo-placeholder {
   width: 64px !important;
   height: 64px !important;
   border-radius: 8px;
   flex-shrink: 0;
   transition: all 0.3s ease;
 }

 .campaign-logo {
   object-fit: contain;
   background-color: #ffffff !important;
   padding: 8px;
   border: 1px solid var(--border-color);
 }

 .campaign-logo:hover {
   transform: scale(1.05);
   border-color: var(--text-primary);
 }

 .campaign-logo-container {
   position: relative;
   display: inline-block;
 }

 .campaign-logo-placeholder {
   background-color: var(--hover-bg);
   border: 2px dashed var(--border-color);
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--text-secondary);
   font-size: 12px;
   text-align: center;
   font-weight: 600;
 }

 .campaign-logo-placeholder:hover {
   background-color: var(--border-color);
   color: var(--bg-primary);
 }

 .campaign-info {
   display: flex;
   flex-direction: column;
   gap: 4px;
   flex: 1;
   min-width: 0;
 }

 .campaign-title {
   font-size: 18px;
   font-weight: 700;
   color: var(--text-primary);
   margin: 0;
   letter-spacing: -0.3px;
   line-height: 1.3;
   word-wrap: break-word;
   overflow-wrap: break-word;
 }

 .campaign-expand-icon {
   width: 28px;
   height: 28px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 4px;
   background-color: var(--bg-primary);
   border: 1px solid var(--border-color);
   color: var(--text-primary);
   flex-shrink: 0;
   cursor: pointer;
   transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
 }

 .campaign-expand-icon:hover {
   background-color: var(--hover-bg);
 }

 .campaign-expand-icon svg {
   transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
 }

 .campaign-expand-icon.expanded svg {
   transform: rotate(180deg);
 }

 .campaign-body {
   max-height: 0;
   overflow: hidden;
   transition: max-height 0.6s cubic-bezier(0.25, 0.8, 0.25, 1),
     padding 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
   padding: 0 24px;
   background-color: var(--card-bg);
 }

 .campaign-body.expanded {
   max-height: 1200px;
   padding: 24px;
 }

 .campaign-description {
   margin-bottom: 24px;
   padding: 20px;
   border: 1px solid var(--border-color);
   background-color: var(--card-bg);
   border-radius: 8px;
 }

 .campaign-description-text {
   font-size: 16px;
   color: var(--text-primary);
   line-height: 1.6;
 }

 .campaign-full-details {
   margin-bottom: 24px;
 }

 .campaign-detail-item {
   margin-bottom: 16px;
   padding-bottom: 16px;
   border-bottom: 1px solid var(--border-light);
 }

 .campaign-detail-item:last-child {
   border-bottom: none;
   margin-bottom: 0;
   padding-bottom: 0;
 }

 .campaign-detail-item:hover {
   background-color: var(--hover-bg);
   margin: 0 -12px 16px -12px;
   padding: 12px 12px 16px 12px;
   border-radius: 0;
 }

 .campaign-detail-label {
   font-size: 12px;
   color: var(--text-secondary);
   text-transform: uppercase;
   letter-spacing: 1px;
   margin-bottom: 6px;
   font-weight: 700;
 }

 .campaign-detail-value {
   font-size: 15px;
   color: var(--text-primary);
   line-height: 1.5;
   font-weight: 500;
 }

 .promo-code {
   background-color: var(--button-bg);
   color: var(--button-text);
   padding: 8px 16px;
   border-radius: 8px;
   font-size: 14px;
   font-weight: 700;
   letter-spacing: 1px;
   font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
   border: 2px solid var(--border-color);
   display: inline-block;
   margin: 4px 0;
   text-transform: uppercase;
 }

 /* Campaign Actions */
 .campaign-actions {
   display: flex;
   flex-direction: column;
   gap: 12px;
   margin-top: 20px;
 }

 .campaign-action-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   padding: 14px 20px;
   border-radius: 8px;
   text-decoration: none;
   font-size: 15px;
   font-weight: 600;
   border: none;
   cursor: pointer;
   letter-spacing: -0.2px;
   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
   font-family: inherit;
 }

 .campaign-offer-button {
   background-color: var(--button-bg);
   color: var(--button-text);
 }

 .campaign-offer-button:hover {
   background-color: var(--button-hover-bg);
   color: var(--button-text);
   transform: translateY(-2px);
   box-shadow: 0 6px 16px var(--shadow-color);
   text-decoration: none;
 }

 .campaign-promo-button {
   background-color: var(--success-color);
   color: #ffffff;
 }

 /* Campaign Partner Code - delikatnie wyeksponowany tekst */
 .campaign-partner-code {
   font-size: 15px;
   font-weight: 600;
   color: var(--text-primary);
   background-color: var(--hover-bg);
   padding: 8px 12px;
   border-radius: 6px;
   border: 1px solid var(--border-light);
   margin-bottom: 16px;
   transition: all 0.3s ease;
 }

 .campaign-partner-code:hover {
   background-color: var(--border-light);
   color: var(--text-primary);
   border-color: var(--border-color);
   transform: translateY(-1px);
 }

 .campaign-partner-code i {
   color: var(--text-secondary);
   font-size: 14px;
 }

 .campaign-partner-code strong {
   font-weight: 700;
   color: var(--text-primary);
 }

 .campaign-promo-button:hover {
   background-color: #3e8e41;
   color: #ffffff;
   transform: translateY(-2px);
   box-shadow: 0 6px 16px rgba(76, 175, 80, 0.3);
 }

 [data-theme="dark"] .campaign-promo-button:hover {
   background-color: #66cc73;
   box-shadow: 0 6px 16px rgba(117, 230, 178, 0.3);
 }

 .campaign-link-button {
   background-color: var(--text-secondary);
   color: var(--bg-primary);
 }

 .campaign-link-button:hover {
   background-color: var(--text-primary);
   color: var(--bg-primary);
   transform: translateY(-2px);
   box-shadow: 0 6px 16px var(--shadow-color);
 }

 .campaign-action-button:active {
   transform: translateY(0);
   box-shadow: 0 2px 8px var(--shadow-color);
 }

 .campaign-action-button i {
   font-size: 16px;
 }



 .campaign-description-text {
   font-size: 16px;
   color: var(--text-primary);
   line-height: 1.6;
 }



 /* Alerts and Messages */
 .alert {
   padding: 16px 20px;
   margin-bottom: 24px;
   border-radius: 10px;
   font-size: 15px;
   font-weight: 500;
   border: 1px solid;

   background-color: var(--card-bg);
 }

 .alert-success {
   color: var(--success-color);
   border-color: var(--success-color);
 }

 .alert-error,
 .alert-danger {
   color: var(--danger-color);
   border-color: var(--danger-color);
 }

 .alert-warning {
   color: var(--warning-color);
   border-color: var(--warning-color);
 }

 .alert-info {
   color: var(--text-primary);
   border-color: var(--border-color);
 }

 /* Utility Classes */
 .text-center {
   text-align: center;
 }

 .text-muted {
   color: var(--text-muted);
 }

 .text-primary {
   color: var(--text-primary);
 }

 .text-danger {
   color: var(--danger-color);
 }

 .bg-light {
   background-color: var(--bg-secondary);
 }

 .bg-dark {
   background-color: var(--text-primary);
   color: var(--bg-primary);
 }

 .bg-primary {
   background-color: var(--button-bg);
   color: var(--button-text);
 }

 .border {
   border: 1px solid var(--border-color);
 }

 .mt-3 {
   margin-top: 1rem;
 }

 .mb-3 {
   margin-bottom: 1rem;
 }

 .mt-4 {
   margin-top: 1.5rem;
 }

 .mb-4 {
   margin-bottom: 1.5rem;
 }

 /* Links */
 a {
   color: var(--text-primary);
   text-decoration: none;
   transition: all 0.2s ease;
 }

 a:hover {
   color: var(--text-secondary);
   text-decoration: underline;
 }

 /* Responsive Design */
 @media (min-width: 768px) {
   .campaigns-grid {
     grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
     gap: 24px;
   }

   .campaign-offer-button {
     width: auto;
     justify-content: flex-start;
     min-width: 200px;
   }

   .container {
     padding: 32px;
   }

   .intro {
     padding: 40px;
   }

   .intro h1 {
     font-size: 42px;
   }
 }

 @media (min-width: 1024px) {
   .campaigns-grid {
     grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
   }
 }

 /* Desktop Optimizations - Ensure navbar is visible on desktop */
 @media (min-width: 768px) {
   .navbar-content {
     position: static !important;
     transform: none !important;
     opacity: 1 !important;
     pointer-events: all !important;
     display: flex !important;
     flex-direction: row !important;
     justify-content: space-between !important;
     align-items: center !important;
     width: 100% !important;
     padding: 0 !important;
     background-color: transparent !important;
     border-bottom: none !important;
     box-shadow: none !important;
   }

   .navbar-hamburger {
     display: none !important;
   }
 }

 /* Mobile Optimizations */
 @media (max-width: 767px) {
   body {
     min-height: 150vh;
     /* Zwiększenie wysokości body na mobile - footer będzie widoczny po przewinięciu */
     padding-top: 50px !important;
     /* Przywrócenie oryginalnego padding */
   }

   .container {
     padding: 16px;
     min-height: 120vh;
     /* Dodatkowa wysokość kontenera dla lepszego rozmieszczenia treści */
   }

   .content {
     padding: 16px;
   }

   .navbar {
     height: 50px;
     padding: 0 16px;
   }

   /* Hide hamburger menu - use desktop layout on mobile */
   .navbar-hamburger {
     display: none !important;
   }

   .navbar-content {
     position: static !important;
     transform: none !important;
     opacity: 1 !important;
     pointer-events: all !important;
     display: flex !important;
     flex-direction: row !important;
     justify-content: space-between !important;
     align-items: center !important;
     width: 100% !important;
     padding: 0 !important;
     background-color: transparent !important;
     border-bottom: none !important;
     box-shadow: none !important;
   }

   .navbar-group {
     gap: 12px;
     /* Professional spacing */
     margin-bottom: 0;
   }

   /* 2-line vertical layout CSS - As per user requirements */
   .navbar.is-vertical {
     height: auto !important;
     min-height: 80px !important;
     align-items: stretch !important;
   }

   .navbar-content.is-vertical {
     flex-direction: column !important;
     justify-content: flex-start !important;
     align-items: stretch !important;
     padding: 8px 0 !important;
     gap: 4px !important;
     height: auto !important;
   }

   /* First line: full_name (left), lead_id (right) with margins */
   .navbar-content.is-vertical .navbar-group-user {
     display: flex;
     flex-direction: row !important;
     align-items: center !important;
     justify-content: space-between !important;
     order: 1;
     width: 100% !important;
     padding: 0 16px !important;
     /* Professional margins */
   }

   .navbar-content.is-vertical .navbar-group-user .navbar-item:first-child {
     text-align: left !important;
     margin-right: auto !important;
   }

   .navbar-content.is-vertical .navbar-group-user .navbar-item:last-child {
     text-align: right !important;
     margin-left: auto !important;
   }

   /* Second line: partner_code (left), toggle (right) with margins */
   .navbar-content.is-vertical .navbar-group-partner {
     display: flex;
     flex-direction: row !important;
     align-items: center !important;
     justify-content: space-between !important;
     order: 2;
     width: 100% !important;
     padding: 0 16px !important;
     /* Professional margins */
   }

   .navbar-content.is-vertical .navbar-group-partner .navbar-item {
     text-align: left !important;
   }

   .navbar-content.is-vertical .navbar-group-partner .theme-toggle {
     margin-left: auto !important;
   }

   /* Items in vertical mode - allow text wrapping but keep compact */
   .navbar.is-vertical .navbar-item,
   .navbar.is-vertical .navbar-item span {
     white-space: normal !important;
     text-align: left !important;
   }

   .navbar.is-vertical .navbar-item {
     justify-content: flex-start !important;
     padding: 6px 12px !important;
     margin-bottom: 0 !important;
     flex-shrink: 0 !important;
   }

   /* REMOVED: Media query that was forcing vertical layout on mobile
     This was the critical bug causing navbar to always be vertical */

   /* Legacy support for existing classes */
   .navbar-content.overflow-vertical {
     flex-direction: column !important;
     justify-content: flex-start !important;
     align-items: stretch !important;
     padding: 8px 0 !important;
     gap: 4px !important;
     height: auto !important;
     min-height: 80px !important;
   }

   .navbar.overflow-mode {
     height: auto !important;
     min-height: 80px !important;
   }

   /* Auto-adjust body padding when navbar is taller */
   body.navbar-tall {
     padding-top: 50px !important;
   }

   /* Extra padding for vertical overflow mode */
   body.navbar-vertical {
     padding-top: 150px !important;
   }

   .navbar-item {
     font-size: 12px;
     padding: 8px 12px;
     justify-content: flex-start;
      border-radius: 8px;
   }

   .navbar-icon {
     width: 14px;
     height: 14px;
   }

   .navbar span {
     font-size: 12px;
   }

   .navbar-item::before {
     bottom: -40px;
     font-size: 11px;
     padding: 3px 6px;
   }

   .navbar-item::after {
     bottom: -13px;
   }

   .intro {
     margin-bottom: 32px;
     padding: 24px;
   }

   .intro h1 {
     font-size: 28px;
   }

   .section-header {
     padding: 20px;
   }

   .section-content.expanded {
     padding: 24px 20px;
   }

   .campaign-header {
     padding: 16px 20px;
   }

   .campaign-body.expanded {
     padding: 20px;
   }

   .campaign-logo {
     width: 64px !important;
     height: 64px !important;
   }

   .campaign-title {
     font-size: 16px;
   }

   .section-title {
     font-size: 18px;
   }

   .campaign-offer-button {
     padding: 14px 20px;
     font-size: 15px;
   }

   /* Mobile theme toggle adjustments - ensure perfect circle */
   .theme-toggle {
     width: 32px !important;
     height: 32px !important;
     min-width: 32px !important;
     min-height: 32px !important;
     max-width: 32px !important;
     max-height: 32px !important;
     margin-left: 8px;
     flex-shrink: 0 !important;
     border-radius: 50% !important;
     box-sizing: border-box !important;
   }

   .theme-toggle svg {
     width: 16px;
     height: 16px;
   }

   .theme-toggle:hover {
     transform: scale(1.03);
   }
 }

 @media (max-width: 480px) {
   .intro h1 {
     font-size: 24px;
   }

   .section-title {
     font-size: 16px;
   }

   .campaign-title {
     font-size: 15px;
   }

   .campaign-header {
     padding: 14px 16px;
   }

   .campaign-body.expanded {
     padding: 16px;
   }

   .section-header {
     padding: 16px;
   }

   .section-content.expanded {
     padding: 20px 16px;
   }

   .campaign-logo {
     width: 64px !important;
     height: 64px !important;
   }

   .campaign-header-content {
     gap: 12px;
   }

   /* Smaller screens - even more compact theme toggle - ensure perfect circle */
   .theme-toggle {
     width: 28px !important;
     height: 28px !important;
     min-width: 28px !important;
     min-height: 28px !important;
     max-width: 28px !important;
     max-height: 28px !important;
     margin-left: 6px;
     flex-shrink: 0 !important;
     border-radius: 50% !important;
     box-sizing: border-box !important;
   }

   .theme-toggle svg {
     width: 14px;
     height: 14px;
   }
 }



 /* Print Styles */
 @media print {
   .navbar {
     display: none;
   }

   body {
     padding-top: 0;
   }

   .card {
     border: 1px solid var(--border-color);
     box-shadow: none;
   }
 }



 /* Dashboard Intro */
 .dashboard-intro {
   margin-bottom: 40px;
   text-align: center;
   padding-top: 20px;
   background-color: var(--bg-primary);
   color: var(--text-primary);
 }

 .dashboard-intro h1 {
   font-size: 28px;
   font-weight: 700;
   color: var(--text-primary);
   margin-bottom: 16px;
 }

 .dashboard-intro p {
   font-size: 16px;
   color: var(--text-primary);
   margin: 0;
 }

 /* Footer Styles */
 body {
   min-height: 100vh;
   display: flex;
   flex-direction: column;
 }

 .container {
   flex: 1;
 }

 .site-footer {
   background-color: var(--card-bg);
   border-top: 1px solid var(--border-color);
   padding: 20px 0;
   margin-top: auto;
   font-size: 13px;
 }

 .footer-content {
   max-width: 1200px;
   margin: 0 auto;
   padding: 0 20px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   gap: 16px;
 }

 .footer-text,
 .footer-contact {
   margin: 0;
   color: var(--text-secondary);
   font-weight: 400;
   line-height: 1.4;
 }

 .footer-link {
   color: var(--text-primary);
   text-decoration: none;
   font-weight: 500;
   transition: color 0.2s ease;
 }

 .footer-link:hover {
   color: var(--text-primary);
   text-decoration: underline;
 }

 /* Mobile footer styles */
 @media (max-width: 767px) {
   .footer-content {
     flex-direction: column;
     text-align: center;
     gap: 8px;
     padding: 0 16px;
   }

   .footer-text,
   .footer-contact {
     font-size: 12px;
   }
 }



 /* Copy Toast Notifications - Complete styles */
 .copy-toast {
   position: fixed;
   top: 80px;
   right: 20px;
   min-width: 320px;
   max-width: 400px;
   background-color: var(--card-bg);
   border: 1px solid var(--border-color);
   border-radius: 8px;
   box-shadow: 0 8px 24px var(--shadow-color);
   z-index: 10000;
   opacity: 0;
   transform: translateX(100%);
   transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   padding: 16px;
   font-family: inherit;
 }

 .copy-toast.show {
   opacity: 1;
   transform: translateX(0);
 }

 .copy-toast.fade-out {
   opacity: 0;
   transform: translateX(100%);
 }

 .copy-toast.success {
   border-left: 4px solid var(--success-color);
 }

 .copy-toast.error {
   border-left: 4px solid var(--danger-color);
 }

 .copy-toast-header {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 8px;
 }

 .copy-toast-icon {
   width: 20px;
   height: 20px;
   flex-shrink: 0;
 }

 .copy-toast.success .copy-toast-icon {
   color: var(--success-color);
 }

 .copy-toast.error .copy-toast-icon {
   color: var(--danger-color);
 }

 .copy-toast-title {
   font-size: 14px;
   font-weight: 600;
   color: var(--text-primary);
   margin: 0;
 }

 .copy-toast-message {
   font-size: 13px;
   color: var(--text-secondary);
   margin-bottom: 8px;
   line-height: 1.4;
 }

 .copy-toast-content {
   font-size: 12px;
   color: var(--text-primary);
   background-color: var(--bg-secondary);
   padding: 8px 12px;
   border-radius: 4px;
   border: 1px solid var(--border-light);
   font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
   word-break: break-all;
   line-height: 1.3;
 }

 /* Mobile toast adjustments */
 @media (max-width: 767px) {
   .copy-toast {
     top: 70px;
     right: 16px;
     left: 16px;
     min-width: auto;
     max-width: none;
   }
 }

 /* Hidden Utility */
 [hidden] {
   display: none;
 }

 
/* Remove Facebook icon from mobile profile */
.mobile-profile::before {
    display: none !important;
}

/* Mobile profile styling without icon - Facebook profile as secondary information */
.mobile-profile {
    position: relative;
    font-size: 14px;
    color: var(--text-secondary, #666666);
    opacity: 0.8;
    font-weight: 400;
    /* Facebook profile shown as secondary information without any icon */
}

.mobile-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background-color: var(--card-bg, #ffffff);
    border: 1px solid var(--border-color, #e5e5e5);
    border-radius: 8px;
    margin-bottom: 16px;
}

.mobile-card-title {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.mobile-name {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary, #000000);
}

.profile-text {
    font-weight: 400;
}

.mobile-card-id {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-secondary, #666666);
    margin-left: 12px;
}