
      :root {
        --primary-color: #4a6cf7;
        --secondary-color: #135e96;
        --accent-color: #13c296;
        --danger-color: #fb5d5d;
        --warning-color: #f6aa35;
        --success-color: #2ecc71;
        --text-color: #4f5d73;
        --light-bg: #1a1a2e;
        --dark-bg: #212b36;
        --border-color: #e5e9f2;
        --white: #2a2a3e;
        --shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
        --shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.12);
        --radius: 10px;
        --transition: all 0.3s ease;

        --autoerp-primary: #ff6b35;
        --autoerp-secondary: #f7931e;
        --autoerp-accent: #fcb316;
        --autoerp-dark: #c1272d;

        --supplier-primary: #9b59b6;
        --supplier-secondary: #8e44ad;
        --supplier-accent: #a569bd;
        --supplier-dark: #7d3c98;

        --pay2erp-primary: #3498db;
        --pay2erp-secondary: #2980b9;
        --pay2erp-accent: #5dade2;
        --pay2erp-dark: #21618c;

        --autocash-primary: #16a085;
        --autocash-secondary: #138d75;
        --autocash-accent: #48c9b0;
        --autocash-dark: #0e6655;

        --autostock-primary: #e74c3c;
        --autostock-secondary: #c0392b;
        --autostock-accent: #ec7063;
        --autostock-dark: #a93226;

        --spam-primary: #f39c12;
        --spam-secondary: #d68910;
        --spam-accent: #f7dc6f;
        --spam-dark: #b9770e;

        --cleanup-primary: #34495e;
        --cleanup-secondary: #2c3e50;
        --cleanup-accent: #5d6d7e;
        --cleanup-dark: #212f3c;

        --mail2cloud-primary: #00bcd4;
        --mail2cloud-secondary: #0097a7;
        --mail2cloud-accent: #4dd0e1;
        --mail2cloud-dark: #006064;

        --clientfactory-primary: #667eea;
        --clientfactory-secondary: #764ba2;
        --clientfactory-accent: #7c8ff0;
        --clientfactory-dark: #4a5bc7;

        --mail2know-primary: #8e44ad;
        --mail2know-secondary: #7d3c98;
        --mail2know-accent: #af7ac5;
        --mail2know-dark: #5b2c6f;
      }

      * {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
      }

      body {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        line-height: 1.6;
        color: var(--text-color);
        background: linear-gradient(135deg, var(--tb-dark-bg) 0%, #1a1f2e 100%) !important;
      }

      .customer_dashboard,
      .dashboard-container {
        background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 100%) !important;
      }

      .dashboard-container {
        max-width: 1200px;
        margin: 20px auto;
        padding: 20px 0px;
        border-radius: var(--radius);
        box-shadow: var(--shadow);
      }

      .dashboard-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px;
        margin-bottom: 25px;
        border-radius: var(--radius) var(--radius) 0 0;
        background: linear-gradient(to bottom, rgba(74, 108, 247, 0.1), transparent) !important;
        border-bottom: 2px solid rgba(79, 195, 247, 0.2);
      }

      .dashboard-title {
        color: var(--dark-bg);
        font-size: 1.8rem;
        font-weight: 600;
        margin: 0;
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
      }

      .header-actions {
        display: flex;
        gap: 8px;
        padding: 4px;
        background: #1f1f33 !important;
        border-radius: 10px;
        border: 1px solid var(--border-color);
      }

      .header-action-btn {
        padding: 12px 24px;
        background: transparent;
        border: none;
        border-radius: 8px;
        color: var(--text-color);
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: var(--transition);
        display: flex;
        align-items: center;
        gap: 8px;
        position: relative;
      }

      .header-action-btn:hover {
        background: rgba(74, 108, 247, 0.1);
        color: var(--primary-color);
      }

      .header-action-btn.active {
        background: #2a2a3e !important;
        color: #e0e0e0 !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
      }

      .header-action-btn.active::after {
        content: "";
        position: absolute;
        bottom: -2px;
        left: 50%;
        transform: translateX(-50%);
        width: 30px;
        height: 3px;
        background: var(--primary-color);
        border-radius: 2px;
      }

      .app-selection-container {
        padding: 20px;
        animation: fadeIn 0.3s ease;
      }

      .app-selection-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 20px;
        max-width: 1200px;
        margin: 0 auto;
      }

      .app-selection-grid .app-card:first-child {
        grid-column: 1 / -1;
        justify-content: center;
        text-align: center;
      }

      .app-selection-grid .app-card:first-child .app-card-content {
        text-align: center;
      }

      .app-selection-grid .app-card:first-child .app-card-arrow {
        position: absolute;
        right: 20px;
      }

      .app-selection-grid .app-card:last-child {
        grid-column: 1 / -1;
        justify-content: center;
        text-align: center;
      }

      .app-selection-grid .app-card:last-child .app-card-content {
        text-align: center;
      }

      .app-selection-grid .app-card:last-child .app-card-arrow {
        position: absolute;
        right: 20px;
      }

      /* Paired row: two apps side by side (50% each) spanning the full grid width */
      .app-selection-grid .app-card-pair {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
      }

      /* Cards inside a pair keep normal (non-full-width, left-aligned) styling
         even when they land as first/last child of the pair wrapper */
      .app-selection-grid .app-card-pair .app-card {
        grid-column: auto;
        justify-content: flex-start;
        text-align: left;
      }

      .app-selection-grid .app-card-pair .app-card .app-card-content {
        text-align: left;
      }

      .app-selection-grid .app-card-pair .app-card .app-card-arrow {
        position: static;
        right: auto;
      }

      .app-card {
        background: #252540 !important;
        border: 1px solid rgba(79, 195, 247, 0.25);
        border-radius: 15px;
        padding: 20px;
        cursor: pointer;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        gap: 15px;
        position: relative;
        overflow: hidden;
        min-height: 100px;
      }

      .app-card.disabled {
        opacity: 0.6;
        cursor: not-allowed;
        position: relative;
      }

      .app-card.disabled::after {
        content: "{{T|Coming Soon}}";
        position: absolute;
        top: 10px;
        right: 10px;
        background: linear-gradient(135deg, #ff6b6b, #ee5a6f);
        color: white;
        padding: 4px 12px;
        border-radius: 20px;
        font-size: 0.75rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
      }

      .app-card.disabled:hover {
        transform: none;
        box-shadow: none;
        border-color: var(--border-color);
      }

      .app-card.disabled .app-card-arrow {
        display: none;
      }

      .app-card.not-purchased {
        opacity: 0.6;
        cursor: pointer;
        position: relative;
      }

      .app-card.not-purchased::after {
        content: "{{T|Purchase}}";
        position: absolute;
        top: 10px;
        right: 10px;
        background: linear-gradient(135deg, #f6aa35, #f39c12);
        color: white;
        padding: 4px 12px;
        border-radius: 20px;
        font-size: 0.75rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
      }

      .app-card.not-purchased:hover {
        transform: none;
        box-shadow: none;
        border-color: var(--border-color);
      }

      .app-card.not-purchased .app-card-arrow {
        display: none;
      }

      /* Available feature (not tier-locked): thin green border, regardless of
         whether the toggle is on or off. Communicates "you can use this at your
         tier". A brighter green when the toggle is actually enabled, brightest
         on hover. Locked items keep their amber border (.feature-item.locked
         below). */
      .feature-item:not(.locked) {
        border-color: rgba(46, 204, 113, 0.55) !important;
      }
      .feature-item:not(.locked):has(input:checked) {
        border-color: rgba(46, 204, 113, 0.85) !important;
      }
      .feature-item:not(.locked):hover {
        border-color: rgba(46, 204, 113, 0.95) !important;
      }

      .feature-item.locked {
        opacity: 0.7;
        /* pointer-events stays enabled — keep tooltip working. The actual <input> is
           pointer-events: none below so users can't toggle. */
        position: relative;
        cursor: help;
        /* Locked features get an amber border with a lock-badge embedded in the
           top-right corner (see ::after below). Overrides the default
           transparent / hover-cyan border. */
        border-color: rgba(246, 170, 53, 0.45) !important;
      }
      /* Disable just the checkbox click, not the whole row (so tooltip fires on hover). */
      .feature-item.locked .feature-checkbox,
      .feature-item.locked .feature-checkbox input {
        cursor: help;
        pointer-events: none;
      }
      /* Locked feature hover doesn't get the cyan glow — keep the amber locked look. */
      .feature-item.locked:hover {
        border-color: rgba(246, 170, 53, 0.7) !important;
        transform: none;
        box-shadow: none;
      }

      /* Lock badge sitting on top-right of the border (the "embedded in border" look).
         Uses Unicode 🔒 (renders everywhere — no FontAwesome dependency, which was
         causing the strange-mark rendering when FA hex \f023 fell back to a glyph
         box because the loaded FA version didn't match the CSS font-family). */
      .feature-item.locked::after {
        content: "🔒";
        position: absolute;
        top: -10px;
        right: 14px;
        padding: 0 6px;
        font-size: 0.85rem;
        line-height: 1.2;
        color: #f6aa35;
        background: linear-gradient(145deg, #1e1e32, #252540);
        border-radius: 4px;
        pointer-events: none;
        z-index: 2;
      }

      .custom-control-row.locked {
        opacity: 0.7;
        /* pointer-events kept enabled — locked custom controls are "preview mode":
           user can read/interact to see what they would do at the right tier.
           Server-side APP_CHECK_CUSTOM still ignores the value at runtime. */
        position: relative;
        cursor: help;
      }

      .custom-control-row.locked::after {
        content: "🔒";
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        color: #f6aa35;
        font-size: 0.85rem;
        line-height: 1;
        pointer-events: none;
      }

      .app-upgrade-banner {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.75rem;
        padding: 1rem 1.5rem;
        background: linear-gradient(135deg, rgba(246, 170, 53, 0.12), rgba(243, 156, 18, 0.08));
        border: 1px solid rgba(246, 170, 53, 0.3);
        border-radius: 10px;
        margin-bottom: 20px;
        color: #f6aa35;
        font-weight: 500;
        flex-wrap: wrap;
      }

      .app-upgrade-banner a {
        color: #fff;
        background: linear-gradient(135deg, #f6aa35, #f39c12);
        padding: 6px 16px;
        border-radius: 6px;
        text-decoration: none;
        font-weight: 600;
        font-size: 0.9rem;
      }

      .subscription-info {
        padding: 10px 16px;
        margin: 16px;
        font-size: 0.85rem;
        color: rgba(255,255,255,0.6);
        border-left: 3px solid var(--primary-color);
        background: rgba(255,255,255,0.03);
        border-radius: 0 8px 8px 0;
      }
      .subscription-info strong {
        color: rgba(255,255,255,0.85);
      }

      .app-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
        transform: scaleX(0);
        transition: transform 0.3s ease;
      }

      .app-card:hover {
        background: rgba(30, 30, 50, 0.95) !important;
        transform: translateY(-5px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
        border-color: var(--primary-color);
      }

      .app-card:hover::before {
        transform: scaleX(1);
      }

      .app-card-icon {
        width: 60px;
        height: 60px;
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
      }

      .app-card-icon i {
        font-size: 1.8rem;
        color: white;
      }

      .app-card-content {
        flex: 1;
      }

      .app-card-content h2,
      .app-card-content h3 {
        color: var(--dark-bg);
        font-size: 1.2rem;
        font-weight: 600;
        margin: 0 0 5px 0;
      }

      .app-card-content p {
        color: var(--text-color);
        font-size: 0.9rem;
        margin: 0;
        line-height: 1.4;
      }

      .app-card-arrow {
        color: var(--text-color);
        opacity: 0.5;
        transition: all 0.3s ease;
      }

      .app-card:hover .app-card-arrow {
        opacity: 1;
        transform: translateX(5px);
      }

      .app-card.mail2erp .app-card-icon {
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
      }

      .app-card.autoerp .app-card-icon {
        background: linear-gradient(135deg, var(--autoerp-primary), var(--autoerp-accent));
      }

      .app-card.supplier2erp .app-card-icon {
        background: linear-gradient(135deg, var(--supplier-primary), var(--supplier-accent));
      }

      .app-card.pay2erp .app-card-icon {
        background: linear-gradient(135deg, var(--pay2erp-primary), var(--pay2erp-accent));
      }

      .app-card.autocash .app-card-icon {
        background: linear-gradient(135deg, var(--autocash-primary), var(--autocash-accent));
      }

      .app-card.autostock .app-card-icon {
        background: linear-gradient(135deg, var(--autostock-primary), var(--autostock-accent));
      }

      .app-card.autospam .app-card-icon {
        background: linear-gradient(135deg, var(--spam-primary), var(--spam-accent));
      }

      .app-card.autopurchase .app-card-icon {
        background: linear-gradient(135deg, var(--cleanup-primary), var(--cleanup-accent));
      }

      .app-card.mail2cloud .app-card-icon {
        background: linear-gradient(135deg, var(--mail2cloud-primary), var(--mail2cloud-accent));
      }

      .app-card.clientfactory .app-card-icon {
        background: linear-gradient(135deg, var(--clientfactory-primary), var(--clientfactory-accent));
      }

      .app-card.mail2know .app-card-icon {
        background: linear-gradient(135deg, var(--mail2know-primary), var(--mail2know-accent));
      }

      .tab-content.disabled {
        opacity: 0.5;
        pointer-events: none;
      }

      .app-content-container {
        padding: 20px;
        animation: slideIn 0.3s ease;
      }

      .app-navigation {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 25px;
        padding: 15px 20px;
        border-radius: 10px;
        background: #252540 !important;
        border: 1px solid rgba(79, 195, 247, 0.25);
      }

      .back-to-apps-btn {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        background: #2a2a3e !important;
        border: 1px solid rgba(79, 195, 247, 0.4) !important;
        color: #e0e0e0 !important;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
      }

      .back-to-apps-btn:hover {
        background: var(--primary-color);
        color: white;
        transform: translateX(-3px);
      }

      .back-to-apps-btn i {
        transition: transform 0.3s ease;
      }

      .back-to-apps-btn:hover i {
        transform: translateX(-3px);
      }

      .current-app-title {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 1.3rem;
        font-weight: 600;
        color: var(--dark-bg);
      }

      .current-app-title i {
        color: var(--primary-color);
      }

      .tab-content {
        display: none;
      }

      .tab-content.active {
        display: block;
      }

      /* Dashboard Cards Base */
      .dashboard-card {
        background: #1f1f33 !important;
        backdrop-filter: blur(10px);
        border: 1px solid rgba(79, 195, 247, 0.2);
        border-radius: var(--radius);
        box-shadow: var(--shadow);
        padding: 20px;
        transition: var(--transition);
        min-height: 200px;
        display: flex;
        flex-direction: column;
        width: 100%;
        box-sizing: border-box;
        overflow: visible;
        min-width: 0;
      }

        /* ===== A5b: Per-app Usage (%) widget ===== */
        .usage-widget {
          background: rgba(255,255,255,0.04);
          border: 1px solid rgba(255,255,255,0.08);
          border-radius: 6px;
          padding: 10px 14px;
          margin: 0 0 12px 0;
          display: flex;
          align-items: center;
          gap: 14px;
          font-size: 13px;
        }
        .usage-widget .usage-label { font-weight: 600; min-width: 80px; }
        .usage-widget .usage-bar {
          flex: 1;
          height: 8px;
          background: rgba(255,255,255,0.08);
          border-radius: 4px;
          overflow: hidden;
          position: relative;
        }
        .usage-widget .usage-bar-fill {
          height: 100%;
          background: linear-gradient(90deg, #4CAF50 0%, #4CAF50 70%, #FF9800 85%, #f44336 100%);
          transition: width 0.4s ease;
        }
        .usage-widget .usage-text { min-width: 130px; text-align: right; font-variant-numeric: tabular-nums; }
        .usage-widget.usage-state-unlimited { background: rgba(255,193,7,0.10); border-color: rgba(255,193,7,0.30); }
        .usage-widget.usage-state-unlimited .usage-text { color: #FFC107; font-weight: 600; }
        .usage-widget.usage-state-freemium  { background: rgba(156,39,176,0.10); border-color: rgba(156,39,176,0.30); }
        .usage-widget.usage-state-freemium .usage-text  { color: #BA68C8; font-weight: 600; }
        .usage-widget.usage-state-degraded  { background: rgba(244,67,54,0.10); border-color: rgba(244,67,54,0.40); }
        .usage-widget.usage-state-degraded .usage-text  { color: #f44336; font-weight: 600; }
        .usage-widget.usage-state-low10 .usage-text     { color: #FF9800; font-weight: 600; }
        .usage-widget .usage-hint  { font-size: 11px; opacity: 0.7; margin-left: 8px; }

      .dashboard-card,
      .dashboard-card .control-panel,
      .dashboard-card {
        flex: 1;
      }

      .dashboard-card:hover {
        background: rgba(26, 26, 46, 0.95) !important;
        border-color: rgba(79, 195, 247, 0.4);
        transform: translateY(-2px);
        box-shadow: var(--shadow-hover);
      }

      .dashboard-card.autoerp-card {
        border-top: 3px solid var(--autoerp-primary);
      }

      .dashboard-card.autoerp-card:hover {
        border-color: var(--autoerp-secondary);
        box-shadow: 0 8px 24px rgba(255, 107, 53, 0.15);
      }

      .dashboard-card.supplier-card {
        border-top: 3px solid var(--supplier-primary);
      }

      .dashboard-card.supplier-card:hover {
        border-color: var(--supplier-secondary);
        box-shadow: 0 8px 24px rgba(155, 89, 182, 0.15);
      }

      .dashboard-card.pay2erp-card {
        border-top: 3px solid var(--pay2erp-primary);
      }

      .dashboard-card.pay2erp-card:hover {
        border-color: var(--pay2erp-secondary);
        box-shadow: 0 8px 24px rgba(52, 152, 219, 0.15);
      }

      .dashboard-card.autocash-card {
        border-top: 3px solid var(--autocash-primary);
      }

      .dashboard-card.autocash-card:hover {
        border-color: var(--autocash-secondary);
        box-shadow: 0 8px 24px rgba(22, 160, 133, 0.15);
      }

      .dashboard-card.autostock-card {
        border-top: 3px solid var(--autostock-primary);
      }

      .dashboard-card.autostock-card:hover {
        border-color: var(--autostock-secondary);
        box-shadow: 0 8px 24px rgba(231, 76, 60, 0.15);
      }

      .dashboard-card.spam-card {
        border-top: 3px solid var(--spam-primary);
      }

      .dashboard-card.spam-card:hover {
        border-color: var(--spam-secondary);
        box-shadow: 0 8px 24px rgba(243, 156, 18, 0.15);
      }

      .dashboard-card.mail2cloud-card {
        border-top: 3px solid var(--mail2cloud-primary);
      }

      .dashboard-card.mail2cloud-card:hover {
        border-color: var(--mail2cloud-secondary);
        box-shadow: 0 8px 24px rgba(0, 188, 212, 0.15);
      }

      .dashboard-card.mail2know-card {
        border-top: 3px solid var(--mail2know-primary);
      }

      .dashboard-card.mail2know-card:hover {
        border-color: var(--mail2know-secondary);
        box-shadow: 0 8px 24px rgba(142, 68, 173, 0.15);
      }

      .card-header {
        color: var(--dark-bg);
        font-size: 1.2rem;
        font-weight: 600;
        margin-bottom: 15px;
        display: flex;
        align-items: center;
      }

      .card-header i {
        margin-right: 8px;
        color: var(--primary-color);
      }

      .autoerp-card .card-header i {
        color: var(--autoerp-primary);
      }

      .supplier-card .card-header i {
        color: var(--supplier-primary);
      }

      .pay2erp-card .card-header i {
        color: var(--pay2erp-primary);
      }

      .autocash-card .card-header i {
        color: var(--autocash-primary);
      }

      .autostock-card .card-header i {
        color: var(--autostock-primary);
      }

      .spam-card .card-header i {
        color: var(--spam-primary);
      }

      .mail2cloud-card .card-header i {
        color: var(--mail2cloud-primary);
      }

      .mail2know-card .card-header i {
        color: var(--mail2know-primary);
      }

      .stats-grid,
      .twofa-selector {
        display: grid;
        gap: 15px;
        align-items: center;
        min-height: 100px;
        min-width: 0;
      }

      .stats-grid {
        grid-template-columns: repeat(auto-fit, minmax(100px, 2fr));
      }

      .twofa-selector {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      }

      .stat-item,
      .twofa-option {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        min-height: 90px;
        padding: 5px;
        border: 2px solid #e0e0e0;
        border-radius: 8px;
        transition: all 0.3s ease;
        min-width: 0;
        overflow-wrap: anywhere;
      }

      .twofa-option {
        cursor: pointer;
      }

      .twofa-option input[type="radio"] {
        display: none;
      }

      .twofa-option:has(input[type="radio"]:checked) {
        border-color: #667eea;
        background-color: #f0f4ff;
      }

      .twofa-option:has(input[type="radio"]:checked) i,
      .twofa-option:has(input[type="radio"]:checked) span {
        color: #667eea;
      }

      .twofa-info {
        padding: 10px;
        background: #f5f5f5;
        border-radius: 4px;
        margin-top: 10px;
      }

      .autoerp-card .stat-item {
        background: rgba(255, 107, 53, 0.1) !important;
      }

      .supplier-card .stat-item {
        background: rgba(155, 89, 182, 0.05);
      }

      .pay2erp-card .stat-item {
        background: rgba(52, 152, 219, 0.05);
      }

      .autocash-card .stat-item {
        background: rgba(22, 160, 133, 0.05);
      }

      .autostock-card .stat-item {
        background: rgba(231, 76, 60, 0.05);
      }

      .spam-card .stat-item {
        background: rgba(243, 156, 18, 0.05);
      }

      .mail2cloud-card .stat-item {
        background: rgba(0, 188, 212, 0.05);
      }

      .mail2know-card .stat-item {
        background: rgba(142, 68, 173, 0.05);
      }

      .stat-value,
      .twofa-option {
        font-weight: 700;
        color: var(--primary-color);
      }

      .stat-value.company-name {
        font-size: 1.2rem;
        word-break: break-word;
        line-height: 1.3;
        max-height: 3.9em;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
      }

      .autoerp-card .stat-value {
        color: var(--autoerp-primary);
      }

      .supplier-card .stat-value {
        color: var(--supplier-primary);
      }

      .pay2erp-card .stat-value {
        color: var(--pay2erp-primary);
      }

      .autocash-card .stat-value {
        color: var(--autocash-primary);
      }

      .autostock-card .stat-value {
        color: var(--autostock-primary);
      }

      .spam-card .stat-value {
        color: var(--spam-primary);
      }

      .mail2cloud-card .stat-value {
        color: var(--mail2cloud-primary);
      }

      .mail2know-card .stat-value {
        color: var(--mail2know-primary);
      }

      .stat-label {
        font-size: 0.9rem;
        color: var(--text-color);
      }

      /* Features List */
      .features-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 10px 0;
        min-width: 0;
      }

      .feature-item {
        background: linear-gradient(145deg, #1e1e32, #252540) !important;
        border: 2px solid transparent;
        border-radius: 12px;
        padding: 0;
        transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        overflow: visible;
        min-width: 0;
        position: relative;
        grid-column: 1 / -1;
      }

      .feature-item.half-width {
        grid-column: span 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
      }
      /* Half-width: text on left, checkbox on right — vertically centered */
      .feature-item.half-width .feature-checkbox {
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .feature-item.half-width .feature-checkbox::before {
        margin-left: 0;
        align-self: center;
      }
      .feature-item.half-width .feature-checkbox > span:not(.feature-info-icon) {
        align-self: center;
      }

      /* Unchecked hover state - subtle glow */
      .feature-item:hover {
        background: linear-gradient(145deg, #252545, #2a2a4a) !important;
        border-color: rgba(79, 195, 247, 0.3);
        transform: translateY(-3px) scale(1.02);
        box-shadow:
          0 8px 25px rgba(0, 0, 0, 0.3),
          0 0 20px rgba(79, 195, 247, 0.1) inset;
      }

      /* Checkbox styling */
      .feature-checkbox {
        display: flex;
        align-items: center;
        padding: 14px 15px;
        cursor: pointer;
        position: relative;
        z-index: 1;
        user-select: none;
        min-height: 50px;
        min-width: 0;
      }

      .feature-checkbox::before {
        content: "";
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 22px;
        margin-left: 12px;
        border: 2px solid #606080;
        border-radius: 6px;
        background: linear-gradient(145deg, #2a2a3e, #1a1a2e);
        transition: all 0.3s ease;
        flex-shrink: 0;
        box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.3);
        order: 2;
        font-size: 14px;
        font-weight: bold;
        color: white;
      }
      .feature-checkbox > span:not(.feature-info-icon) {
        font-size: 14px;
        font-weight: 500;
        color: #b8b8c8;
        line-height: 1.3;
        flex: 1;
        transition: all 0.3s ease;
        overflow-wrap: break-word;
        min-width: 0;
        order: 1;
      }
      .feature-item:hover .feature-checkbox > span:not(.feature-info-icon) {
        color: #d0d0e0;
      }
      .feature-checkbox input[type="checkbox"] {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 0;
        width: 0;
      }
      .feature-checkbox::after {
        content: none;
      }
      /* Shimmer container — clips animation, sits inside .feature-item which keeps overflow:visible for tooltips */
      .feature-shimmer {
        position: absolute;
        inset: 0;
        overflow: hidden;
        border-radius: inherit;
        pointer-events: none;
        z-index: 0;
      }

      .feature-item:has(input:checked) .feature-shimmer::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(45deg, transparent 30%, rgba(79, 195, 247, 0.1) 50%, transparent 70%);
        background-size: 200% 200%;
        animation: shimmer 3s infinite;
      }

      @keyframes shimmer {
        0% {
          background-position: 200% 200%;
        }
        100% {
          background-position: -200% -200%;
        }
      }

      .feature-item:has(input:checked) .feature-checkbox::before {
        content: "✓";
        background: linear-gradient(145deg, #4fc3f7, #4a6cf7);
        border-color: #4fc3f7;
        box-shadow:
          0 0 15px rgba(79, 195, 247, 0.5),
          inset 0 0 5px rgba(255, 255, 255, 0.3);
        animation: checkmark 0.3s ease;
      }

      .feature-item:has(input:checked) .feature-checkbox::after {
        content: none;
      }

      .feature-item:has(input:checked) .feature-checkbox > span:not(.feature-info-icon) {
        color: #ffffff;
        font-weight: 600;
        text-shadow: 0 0 10px rgba(79, 195, 247, 0.3);
      }
      .feature-item:has(input:checked):hover {
        transform: translateY(-4px) scale(1.03);
        box-shadow:
          0 10px 30px rgba(79, 195, 247, 0.3),
          0 0 40px rgba(79, 195, 247, 0.2) inset;
      }

      .control-panel {
        display: flex;
        flex-direction: column;
        gap: 20px;
        position: relative;
        min-width: 0;
      }

      .control-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 12px 0;
      }

      .info-icon {
        color: var(--primary-color);
        cursor: help;
        font-size: 0.9rem;
        position: relative;
      }

      .info-tooltip {
        position: absolute;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%) translateY(-8px);
        background: var(--dark-bg);
        color: white;
        padding: 12px 16px;
        border-radius: 8px;
        font-size: 0.85rem;
        line-height: 1.5;
        width: 280px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
        z-index: 1000;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        pointer-events: none;
      }

      .info-tooltip::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -5px;
        border-width: 5px;
        border-style: solid;
        border-color: var(--dark-bg) transparent transparent transparent;
      }

      .info-icon:hover .info-tooltip {
        opacity: 1;
        visibility: visible;
      }

      .toggle-switch {
        position: relative;
        width: 60px;
        height: 30px;
      }

      .toggle-switch input {
        opacity: 0;
        width: 0;
        height: 0;
      }

      .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 30px;
      }

      .toggle-slider:before {
        position: absolute;
        content: "";
        height: 22px;
        width: 22px;
        left: 4px;
        bottom: 4px;
        background-color: white;
        transition: 0.4s;
        border-radius: 50%;
      }

      input:checked + .toggle-slider {
        background-color: var(--success-color);
      }

      /* Demo Mode toggle: orange when ON (demo active), muted green when OFF (full access) */
      input[id$="-demo-mode"] + .toggle-slider {
        background-color: #8bc48b;
      }
      input[id$="-demo-mode"]:checked + .toggle-slider {
        background-color: #e67e22;
      }

      /* Demo state pill: always-visible words for the current mode, so the
         toggle position never has to be decoded. Amber = DEMO (safe preview),
         green = LIVE (real writes). JS (updateDemoStatePill) flips .is-live /
         .is-locked on the pill. */
      .demo-state-pill {
        display: inline-block;
        margin-left: 8px;
        padding: 2px 10px;
        border-radius: 12px;
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 0.02em;
        white-space: nowrap;
        background: #fdf1e3;
        color: #b35c0e;
        border: 1px solid #e67e22;
      }
      .demo-state-pill.is-live {
        background: #e8f5e9;
        color: #1e7e34;
        border-color: #28a745;
      }
      .demo-state-pill .demo-state-text-live { display: none; }
      .demo-state-pill.is-live .demo-state-text-demo { display: none; }
      .demo-state-pill.is-live .demo-state-text-live { display: inline; }
      .demo-state-pill.is-locked .demo-state-text-demo::before { content: "\1F512 "; }

      /* Small info-link next to the demo pill → opens /demo with the full explanation */
      .demo-info-link {
        margin-left: 6px;
        color: var(--primary-color, #4a6cf7);
        font-size: 0.9rem;
        text-decoration: none;
        opacity: 0.7;
      }
      .demo-info-link:hover { opacity: 1; }

      /* ==========================================
         AI MODE SELECTOR
         ========================================== */
      .ai-mode-select {
        padding: 8px 12px;
        border: 1px solid var(--border-color);
        border-radius: 8px;
        background: linear-gradient(135deg, rgba(74, 108, 247, 0.04) 0%, rgba(19, 194, 150, 0.04) 100%);
        color: var(--text-color);
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        transition: var(--transition);
        appearance: none;
        -webkit-appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234f5d73' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 10px center;
        padding-right: 30px;
        min-width: 150px;
      }

      .ai-mode-select:hover {
        border-color: var(--primary-color);
        box-shadow: 0 0 0 3px rgba(74, 108, 247, 0.1);
      }

      .ai-mode-select:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 3px rgba(74, 108, 247, 0.15);
      }

      .ai-mode-select:disabled {
        opacity: 0.5;
        cursor: not-allowed;
        background: var(--light-bg);
      }

      .ai-mode-select option:disabled {
        color: #999;
        font-style: italic;
      }

      /* AI mode value-based colors */
      .ai-mode-select[data-ai-value="off"] {
        border-color: var(--border-color);
      }

      .ai-mode-select[data-ai-value="essential"] {
        border-color: var(--accent-color);
        background: linear-gradient(135deg, rgba(19, 194, 150, 0.06) 0%, rgba(19, 194, 150, 0.02) 100%);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2313c296' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 10px center;
      }

      .ai-mode-select[data-ai-value="premium"] {
        border-color: #9b59b6;
        background: linear-gradient(135deg, rgba(155, 89, 182, 0.06) 0%, rgba(74, 108, 247, 0.04) 100%);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239b59b6' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 10px center;
      }

      .ai-mode-select[data-ai-value="premium_vision"] {
        border-color: #e67e22;
        background: linear-gradient(135deg, rgba(230, 126, 34, 0.08) 0%, rgba(241, 196, 15, 0.04) 100%);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e67e22' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 10px center;
      }

      .ai-mode-label {
        display: flex;
        align-items: center;
        gap: 6px;
        font-weight: 600;
      }

      .ai-mode-label .ai-mode-icon {
        font-size: 14px;
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
      }

      /* ==========================================
         MOBILE TOOLTIP HINT
         ========================================== */
      .bots-mobile-tooltip-hint {
        display: none;
        align-items: center;
        gap: 10px;
        padding: 10px 16px;
        margin: 0 0 12px 0;
        background: linear-gradient(135deg, rgba(74, 108, 247, 0.08) 0%, rgba(19, 194, 150, 0.06) 100%);
        border: 1px solid rgba(74, 108, 247, 0.15);
        border-radius: 10px;
        font-size: 13px;
        color: var(--text-color);
        line-height: 1.4;
      }

      .bots-mobile-tooltip-hint .bots-hint-icon {
        font-size: 18px;
        color: var(--primary-color);
        flex-shrink: 0;
      }

      @media (max-width: 768px) {
        .bots-mobile-tooltip-hint {
          display: flex;
        }
      }

      @media (hover: hover) and (pointer: fine) {
        .bots-mobile-tooltip-hint {
          display: none !important;
        }
      }

      @media (max-width: 768px) {
        .ai-mode-select {
          min-width: 130px;
          font-size: 13px;
        }
      }

      /* ==========================================
   FEATURE REQUEST POPUP MODAL
   ========================================== */

      .feature-request-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.6);
        backdrop-filter: blur(4px);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 99999999;
        animation: fadeIn 0.2s ease-out;
      }

      @keyframes fadeIn {
        from {
          opacity: 0;
        }
        to {
          opacity: 1;
        }
      }

      .feature-request-modal {
        background: white;
        border-radius: 16px;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
        max-width: 500px;
        width: 90%;
        animation: slideUp 0.3s ease-out;
        overflow: hidden;
      }

      @keyframes slideUp {
        from {
          transform: translateY(50px);
          opacity: 0;
        }
        to {
          transform: translateY(0);
          opacity: 1;
        }
      }

      .feature-request-header {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        padding: 24px;
        position: relative;
        display: flex;
        align-items: center;
        gap: 12px;
      }

      .feature-request-header.category-disabled-app {
        background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
      }

      .feature-request-header.category-missing-provider {
        background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
      }

      .feature-request-header.category-oauth {
        background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
      }

      .feature-request-icon {
        font-size: 32px;
        line-height: 1;
      }

      .feature-request-header h3 {
        margin: 0;
        font-size: 20px;
        font-weight: 600;
        flex: 1;
      }

      .feature-request-close {
        background: rgba(255, 255, 255, 0.2);
        border: none;
        color: white;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s;
      }

      .feature-request-close:hover {
        background: rgba(255, 255, 255, 0.3);
        transform: rotate(90deg);
      }

      .feature-request-body {
        padding: 24px;
      }

      .feature-request-body p {
        margin: 0 0 20px 0;
        color: #555 !important;
        line-height: 1.6;
        font-size: 15px;
      }

      .feature-request-body .feature-description {
        background: #f8f9fa;
        padding: 16px;
        border-radius: 8px;
        border-left: 4px solid #667eea;
        margin-bottom: 20px;
      }

      .feature-request-question {
        background: #fff3cd;
        border-left: 4px solid #ffc107;
        padding: 16px;
        border-radius: 8px;
        margin: 20px 0;
      }

      .feature-request-question p {
        margin: 0;
      }

      .feature-request-question p:first-child {
        color: #856404;
        margin-bottom: 8px;
      }

      .feature-request-question .question-hint {
        font-size: 13px;
        color: #856404;
        opacity: 0.8;
      }

      .feature-request-input-group {
        margin-top: 16px;
      }

      .feature-request-input-group label {
        display: block;
        margin-bottom: 8px;
        color: #333;
        font-weight: 500;
        font-size: 14px;
      }

      .feature-request-input-group input,
      .feature-request-input-group textarea,
      .feature-request-input-group select {
        width: 100%;
        padding: 12px;
        border: 2px solid #e0e0e0;
        border-radius: 8px;
        font-size: 14px;
        font-family: inherit;
        transition: all 0.2s;
        box-sizing: border-box;
      }

      .feature-request-input-group input:focus,
      .feature-request-input-group textarea:focus,
      .feature-request-input-group select:focus {
        outline: none;
        border-color: #667eea;
        box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
      }

      .feature-request-input-group textarea {
        resize: vertical;
        min-height: 80px;
      }

      .feature-request-input-group .input-hint {
        font-size: 12px;
        color: #999;
        margin-top: 6px;
      }

      .feature-request-input-group .input-required {
        color: #e74c3c;
        font-weight: 500;
      }

      .feature-request-input-group .input-error {
        color: #e74c3c;
        font-size: 12px;
        margin-top: 6px;
        font-weight: 500;
        display: flex;
        align-items: center;
        gap: 4px;
      }

      .feature-request-input-group .input-error::before {
        content: "⚠️";
      }

      .feature-request-input-group textarea.error,
      .feature-request-input-group input.error {
        border-color: #e74c3c !important;
        box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1) !important;
      }

      .feature-request-footer {
        padding: 20px 24px;
        background: #f8f9fa;
        display: flex;
        gap: 12px;
        justify-content: flex-end;
      }

      .feature-request-footer button {
        padding: 12px 24px;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.2s;
        border: none;
        display: inline-flex;
        align-items: center;
        gap: 8px;
      }

      .feature-request-footer .btn-secondary {
        background: white;
        color: #666;
        border: 2px solid #e0e0e0;
      }

      .feature-request-footer .btn-secondary:hover {
        background: #f5f5f5;
        border-color: #ccc;
      }

      .feature-request-footer .btn-primary {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
      }

      .feature-request-footer .btn-primary:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4);
      }

      .feature-request-footer .btn-primary:active {
        transform: translateY(0);
      }

      .feature-request-footer .btn-primary:disabled {
        opacity: 0.6;
        cursor: not-allowed;
        transform: none;
      }

      .feature-request-success {
        padding: 24px;
        text-align: center;
      }

      .feature-request-success-icon {
        font-size: 64px;
        margin-bottom: 16px;
        animation: successPop 0.5s ease-out;
      }

      @keyframes successPop {
        0% {
          transform: scale(0);
        }
        50% {
          transform: scale(1.2);
        }
        100% {
          transform: scale(1);
        }
      }

      .feature-request-success h3 {
        margin: 0 0 12px 0;
        color: #2ecc71;
        font-size: 20px;
      }

      .feature-request-success p {
        margin: 0;
        color: #666;
        font-size: 14px;
        line-height: 1.6;
      }

      /* Disabled app cards - clickable with hover effect */
      .app-card.disabled[data-feature-request] {
        cursor: pointer;
        opacity: 0.7;
        transition: all 0.3s;
      }

      .app-card.disabled[data-feature-request]:hover {
        opacity: 1;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      }

      .app-card.disabled[data-feature-request]::after {
        content: "{{T|Click to request access}}";
        position: absolute;
        bottom: 12px;
        left: 50%;
        transform: translateX(-50%);
        background: rgba(102, 126, 234, 0.9);
        color: white;
        padding: 6px 12px;
        border-radius: 4px;
        font-size: 11px;
        opacity: 0;
        transition: opacity 0.3s;
        white-space: nowrap;
      }

      .app-card.disabled[data-feature-request]:hover::after {
        opacity: 1;
      }

      .oauth-notification-content button {
        margin-left: auto;
        background: none;
        border: none;
        cursor: pointer;
        color: #999;
        font-size: 16px;
        padding: 4px;
      }

      .oauth-notification-content button:hover {
        color: #333;
      }

      .auto-save-indicator {
        padding: 8px 16px;
        border-radius: 8px;
        font-size: 13px;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 8px;
        animation: slideInRight 0.3s ease;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        backdrop-filter: blur(10px);
        pointer-events: auto;
      }

      .auto-save-indicator.saving {
        background: linear-gradient(135deg, rgba(246, 170, 53, 0.95), rgba(251, 191, 36, 0.95));
        color: white;
      }

      .auto-save-indicator.success {
        background: linear-gradient(135deg, rgba(46, 204, 113, 0.95), rgba(39, 174, 96, 0.95));
        color: white;
      }

      .auto-save-indicator.error {
        background: linear-gradient(135deg, rgba(251, 93, 93, 0.95), rgba(231, 76, 60, 0.95));
        color: white;
      }

      .autoerp-card input:checked + .toggle-slider {
        background-color: var(--autoerp-primary);
      }

      .supplier-card input:checked + .toggle-slider {
        background-color: var(--supplier-primary);
      }

      .pay2erp-card input:checked + .toggle-slider {
        background-color: var(--pay2erp-primary);
      }

      .autocash-card input:checked + .toggle-slider {
        background-color: var(--autocash-primary);
      }

      .autostock-card input:checked + .toggle-slider {
        background-color: var(--autostock-primary);
      }

      .spam-card input:checked + .toggle-slider {
        background-color: var(--spam-primary);
      }

      .mail2cloud-card input:checked + .toggle-slider {
        background-color: var(--mail2cloud-primary);
      }

      .mail2know-card input:checked + .toggle-slider {
        background-color: var(--mail2know-primary);
      }

      input:checked + .toggle-slider:before {
        transform: translateX(30px);
      }

      .select-control {
        padding: 8px 12px;
        border: 1px solid var(--border-color);
        border-radius: 5px;
        background-color: var(--white);
        color: var(--text-color);
        font-size: 14px;
        cursor: pointer;
        transition: var(--transition);
      }

      .select-control:hover {
        border-color: var(--primary-color);
      }

      .autoerp-card .select-control:hover {
        border-color: var(--autoerp-primary);
      }

      .supplier-card .select-control:hover {
        border-color: var(--supplier-primary);
      }

      .pay2erp-card .select-control:hover {
        border-color: var(--pay2erp-primary);
      }

      .autocash-card .select-control:hover {
        border-color: var(--autocash-primary);
      }

      .autostock-card .select-control:hover {
        border-color: var(--autostock-primary);
      }

      .spam-card .select-control:hover {
        border-color: var(--spam-primary);
      }

      .mail2cloud-card .select-control:hover {
        border-color: var(--mail2cloud-primary);
      }

      .mail2know-card .select-control:hover {
        border-color: var(--mail2know-primary);
      }

      .select-control:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 2px rgba(74, 108, 247, 0.2);
      }

      /* ==========================================
         CUSTOM CONTROL ELEMENTS
         ========================================== */

      .custom-controls-container {
        border-top: 1px solid rgba(79, 195, 247, 0.15);
        margin-top: 8px;
        padding-top: 8px;
      }

      .custom-control-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 12px 0;
        gap: 16px;
      }

      .custom-control-label {
        font-weight: 600;
        color: #b8b8c8;
        font-size: 14px;
        white-space: nowrap;
        flex-shrink: 0;
      }

      .custom-control-right {
        display: flex;
        align-items: center;
        gap: 10px;
        flex: 1;
        justify-content: flex-end;
        min-width: 0;
      }

      /* Dropdown */
      .custom-dropdown {
        padding: 8px 12px;
        border: 1px solid rgba(79, 195, 247, 0.3);
        border-radius: 5px;
        background: #2a2a3e;
        color: #e0e0e0;
        font-size: 14px;
        cursor: pointer;
        transition: var(--transition);
        min-width: 140px;
        max-width: 220px;
      }

      .custom-dropdown:hover {
        border-color: var(--primary-color);
      }

      .custom-dropdown:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 2px rgba(74, 108, 247, 0.2);
      }

      /* Text & Number inputs */
      .custom-text-input,
      .custom-number-input {
        padding: 8px 12px;
        border: 1px solid rgba(79, 195, 247, 0.3);
        border-radius: 5px;
        background: #2a2a3e;
        color: #e0e0e0;
        font-size: 14px;
        transition: var(--transition);
        min-width: 120px;
        max-width: 220px;
      }

      .custom-number-input {
        max-width: 140px;
        text-align: right;
      }

      .custom-text-input:hover,
      .custom-number-input:hover {
        border-color: var(--primary-color);
      }

      .custom-text-input:focus,
      .custom-number-input:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 2px rgba(74, 108, 247, 0.2);
      }

      .custom-input-unit {
        color: #808090;
        font-size: 13px;
        flex-shrink: 0;
      }

      /* Slider */
      /* Operating Hours time inputs (in control-row, next to Run Frequency) */
      .ophours-wrapper {
        display: flex;
        flex-direction: column;
        gap: 4px;
      }
      .ophours-row {
        display: flex;
        align-items: center;
        gap: 6px;
      }
      .ophours-label {
        font-size: 0.8rem;
        color: var(--text-secondary);
        min-width: 30px;
        text-align: right;
      }
      .ophours-time {
        padding: 4px 6px;
        border: 1px solid rgba(79, 195, 247, 0.3);
        border-radius: 5px;
        background: #2a2a3e;
        color: #e0e0e0;
        font-size: 0.85rem;
        font-family: inherit;
      }
      .ophours-time:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 2px rgba(74, 108, 247, 0.2);
      }

      .custom-slider-wrapper {
        display: flex;
        align-items: center;
        gap: 10px;
        flex: 1;
        max-width: 260px;
      }

      .custom-slider {
        -webkit-appearance: none;
        appearance: none;
        flex: 1;
        height: 6px;
        border-radius: 3px;
        background: linear-gradient(90deg, var(--primary-color), rgba(79, 195, 247, 0.3));
        outline: none;
        transition: opacity 0.2s;
      }

      .custom-slider::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background: var(--primary-color);
        cursor: pointer;
        border: 2px solid #fff;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
        transition: transform 0.2s;
      }

      .custom-slider::-webkit-slider-thumb:hover {
        transform: scale(1.15);
      }

      .custom-slider::-moz-range-thumb {
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background: var(--primary-color);
        cursor: pointer;
        border: 2px solid #fff;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
      }

      .custom-slider-value {
        min-width: 42px;
        text-align: right;
        font-size: 14px;
        font-weight: 600;
        color: #e0e0e0;
        flex-shrink: 0;
      }

      /* Readonly text */
      .custom-readonly-value {
        font-size: 14px;
        color: #e0e0e0;
        font-weight: 500;
        text-align: right;
      }

      /* Progress bar */
      .custom-progress-wrapper {
        display: flex;
        align-items: center;
        gap: 10px;
        flex: 1;
        max-width: 260px;
      }

      .custom-progress-bar {
        flex: 1;
        height: 8px;
        border-radius: 4px;
        background: rgba(79, 195, 247, 0.15);
        overflow: hidden;
        position: relative;
      }

      .custom-progress-fill {
        height: 100%;
        border-radius: 4px;
        background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
        transition: width 0.6s ease;
        min-width: 0;
      }

      .custom-progress-label {
        min-width: 42px;
        text-align: right;
        font-size: 14px;
        font-weight: 600;
        color: #e0e0e0;
        flex-shrink: 0;
      }

      .save-button {
        margin-top: 20px;
        padding: 12px 24px;
        background-color: var(--primary-color);
        color: white;
        border: none;
        border-radius: 5px;
        font-size: 16px;
        font-weight: 500;
        cursor: pointer;
        transition: var(--transition);
        width: 100%;
      }

      .save-button:hover {
        background-color: var(--secondary-color);
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(74, 108, 247, 0.3);
      }

      .autoerp-card .save-button {
        background-color: var(--autoerp-primary);
      }

      .autoerp-card .save-button:hover {
        background-color: var(--autoerp-dark);
        box-shadow: 0 4px 12px rgba(255, 107, 53, 0.3);
      }

      .supplier-card .save-button {
        background-color: var(--supplier-primary);
      }

      .supplier-card .save-button:hover {
        background-color: var(--supplier-dark);
        box-shadow: 0 4px 12px rgba(155, 89, 182, 0.3);
      }

      .pay2erp-card .save-button {
        background-color: var(--pay2erp-primary);
      }

      .pay2erp-card .save-button:hover {
        background-color: var(--pay2erp-dark);
        box-shadow: 0 4px 12px rgba(52, 152, 219, 0.3);
      }

      .autocash-card .save-button {
        background-color: var(--autocash-primary);
      }

      .autocash-card .save-button:hover {
        background-color: var(--autocash-dark);
        box-shadow: 0 4px 12px rgba(22, 160, 133, 0.3);
      }

      .autostock-card .save-button {
        background-color: var(--autostock-primary);
      }

      .autostock-card .save-button:hover {
        background-color: var(--autostock-dark);
        box-shadow: 0 4px 12px rgba(231, 76, 60, 0.3);
      }

      .spam-card .save-button {
        background-color: var(--spam-primary);
      }

      .spam-card .save-button:hover {
        background-color: var(--spam-dark);
        box-shadow: 0 4px 12px rgba(243, 156, 18, 0.3);
      }

      .mail2cloud-card .save-button {
        background-color: var(--mail2cloud-primary);
      }

      .mail2cloud-card .save-button:hover {
        background-color: var(--mail2cloud-dark);
        box-shadow: 0 4px 12px rgba(0, 188, 212, 0.3);
      }

      .mail2know-card .save-button {
        background-color: var(--mail2know-primary);
      }

      .mail2know-card .save-button:hover {
        background-color: var(--mail2know-dark);
        box-shadow: 0 4px 12px rgba(142, 68, 173, 0.3);
      }

      .save-button:active {
        transform: translateY(0);
      }

      .save-indicator-container {
        position: fixed !important;
        top: 80px !important;
        right: 20px !important;
        z-index: 999999 !important;
        pointer-events: none;
      }

      .dashboard-footer {
        text-align: center;
        margin-top: 30px;
        padding-top: 20px;
        border-top: 1px solid var(--border-color);
        font-size: 0.9rem;
        color: #888;
      }

      .settings-content {
        padding: 20px;
      }

      .settings-intro {
        background: linear-gradient(135deg, rgba(74, 108, 247, 0.1), rgba(19, 194, 150, 0.1));
        border: 1px solid rgba(74, 108, 247, 0.2);
        border-radius: var(--radius);
        padding: 20px;
        margin-bottom: 30px;
        color: white;
      }

      .settings-intro h3 {
        color: var(--primary-color);
        margin-bottom: 10px;
        display: flex;
        align-items: center;
        gap: 10px;
      }

      .settings-intro p {
        line-height: 1.6;
        margin-bottom: 10px;
      }

      .settings-intro a {
        color: var(--primary-color);
        text-decoration: none;
        font-weight: 600;
      }

      .settings-intro a:hover {
        text-decoration: underline;
      }

      .settings-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(250px, 1fr));
        gap: 20px;
        margin-bottom: 30px;
      }

      .settings-card {
        background: #252540 !important;
        border: 1px solid rgba(79, 195, 247, 0.25);
        border-radius: var(--radius);
        padding: 25px;
        text-align: center;
        transition: var(--transition);
        cursor: pointer;
        position: relative;
        overflow: hidden;
      }

      .settings-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        transform: scaleX(0);
        transition: transform 0.3s ease;
      }

      .settings-card.disabled {
        opacity: 0.6;
        cursor: not-allowed;
        position: relative;
      }

      .settings-card.disabled::after {
        content: "{{T|Coming Soon}}";
        position: absolute;
        top: 15px;
        right: 15px;
        background: linear-gradient(135deg, #ff6b6b, #ee5a6f);
        color: white;
        padding: 4px 12px;
        border-radius: 20px;
        font-size: 0.75rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
      }

      .settings-card.disabled:hover {
        transform: none;
        box-shadow: none;
        border-color: var(--border-color);
      }

      .settings-card:hover {
        border-color: var(--primary-color);
        transform: translateY(-5px);
        box-shadow: var(--shadow-hover);
      }

      .settings-card:hover::before {
        transform: scaleX(1);
      }

      .settings-card.mail2erp::before {
        background: var(--primary-color);
      }

      .settings-card.autoerp::before {
        background: var(--autoerp-primary);
      }

      .settings-card.supplier2erp::before {
        background: var(--supplier-primary);
      }

      .settings-card.pay2erp::before {
        background: var(--pay2erp-primary);
      }

      .settings-card.autostock::before {
        background: var(--autostock-primary);
      }

      .settings-card.autospam::before {
        background: var(--spam-primary);
      }

      .settings-card.autopurchase::before {
        background: var(--cleanup-primary);
      }

      .settings-card.mail2cloud::before {
        background: var(--mail2cloud-primary);
      }

      .settings-card.clientfactory::before {
        background: var(--clientfactory-primary);
      }

      .settings-card.mail2know::before {
        background: var(--mail2know-primary);
      }

      .settings-card i {
        font-size: 3rem;
        margin-bottom: 15px;
        color: var(--primary-color);
      }

      .settings-card.mail2erp i {
        color: var(--primary-color);
      }

      .settings-card.autoerp i {
        color: var(--autoerp-primary);
      }

      .settings-card.supplier2erp i {
        color: var(--supplier-primary);
      }

      .settings-card.pay2erp i {
        color: var(--pay2erp-primary);
      }

      .settings-card.autostock i {
        color: var(--autostock-primary);
      }

      .settings-card.autospam i {
        color: var(--spam-primary);
      }

      .settings-card.autopurchase i {
        color: var(--cleanup-primary);
      }

      .settings-card.mail2cloud i {
        color: var(--mail2cloud-primary);
      }

      .settings-card.clientfactory i {
        color: var(--clientfactory-primary);
      }

      .settings-card.mail2know i {
        color: var(--mail2know-primary);
      }

      .settings-card h3 {
        font-size: 1.2rem;
        margin-bottom: 10px;
        color: var(--dark-bg);
      }

      .settings-card p {
        font-size: 0.9rem;
        color: var(--text-color);
        line-height: 1.5;
      }

      .settings-general-card {
        grid-column: 1 / -1 !important;
        background: linear-gradient(135deg, #4a6cf7, #13c296) !important;
        color: white !important;
        border: none !important;
      }

      .settings-general-card i,
      .settings-general-card h3,
      .settings-general-card p {
        color: white !important;
      }

      .settings-general-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 8px 24px rgba(74, 108, 247, 0.3);
      }

      /* Paired row: two settings cards side by side (50% each) spanning full width */
      .settings-card-pair {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
      }

      .settings-form-group input,
      .settings-form-group select,
      .settings-form-group textarea,
      .folder-input,
      .select-control {
        background: #2a2a3e !important;
        border: 1px solid rgba(79, 195, 247, 0.3);
        color: #e0e0e0 !important;
      }

      /* Fix browser autofill text color being invisible on dark backgrounds */
      .settings-form-group input:-webkit-autofill,
      .settings-form-group input:-webkit-autofill:hover,
      .settings-form-group input:-webkit-autofill:focus,
      .settings-form-group select:-webkit-autofill,
      .settings-form-group select:-webkit-autofill:hover,
      .settings-form-group select:-webkit-autofill:focus {
        -webkit-text-fill-color: #e0e0e0 !important;
        -webkit-box-shadow: 0 0 0px 1000px #2a2a3e inset !important;
        box-shadow: 0 0 0px 1000px #2a2a3e inset !important;
        border: 1px solid rgba(79, 195, 247, 0.3) !important;
        transition: background-color 5000s ease-in-out 0s;
      }

      .dashboard-title,
      .card-header,
      .current-app-title,
      .app-card-content h2,
      .app-card-content h3,
      .settings-card h3,
      .folder-label {
        color: #e0e0e0 !important;
      }

      .app-card-content p,
      .stat-label,
      .subscription-row,
      p {
        color: #c0c0c0 !important;
      }

      input[type="text"] {
        background-color: white;
      }

      .dashboard-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
        width: 100%;
        max-width: 100%;
      }

      .features-list {
        overflow: visible !important;
      }

      .feature-info-icon {
        margin-left: auto;
        padding: 10px;
        color: #4fc3f7;
        cursor: pointer;
        font-size: 16px;
        position: relative;
        display: inline-flex;
        align-items: center;
        flex-shrink: 0;
        z-index: 1;
        transition: all 0.2s ease;
        -webkit-tap-highlight-color: transparent;
        order: 3;
      }

      .feature-info-icon:hover,
      .feature-info-icon.active {
        color: #81d4fa;
        transform: scale(1.1);
        z-index: 10001;
      }

      .feature-info-tooltip {
        position: absolute;
        bottom: calc(100% + 12px);
        right: 0;
        background: #1a1a2e;
        color: #ffffff;
        padding: 12px 16px;
        border-radius: 8px;
        font-size: 13px;
        line-height: 1.6;
        width: 320px;
        max-width: 90vw;
        box-shadow:
          0 8px 24px rgba(0, 0, 0, 0.5),
          0 0 1px rgba(79, 195, 247, 0.3);
        border: 1px solid rgba(79, 195, 247, 0.2);
        z-index: 10002;
        opacity: 0;
        visibility: hidden;
        transform: translateY(5px);
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        pointer-events: none;
        font-weight: 400;
        white-space: normal;
        text-align: left;
      }

      .feature-info-tooltip::after {
        content: "";
        position: absolute;
        top: 100%;
        right: 12px;
        border: 6px solid transparent;
        border-top-color: #1a1a2e;
        filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.3));
      }

      /* Tooltip visibility controlled ONLY via JS .active class — no :hover rule */
      .feature-info-icon.active .feature-info-tooltip {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
      }

      /* ── Feature Tooltip Touch (ftt-) system ── */
      .ftt-clone {
        position: fixed;
        background: #1a1a2e;
        color: #ffffff;
        padding: 12px 16px;
        border-radius: 8px;
        font-size: 13px;
        line-height: 1.6;
        width: 320px;
        max-width: 90vw;
        box-shadow: 0 8px 24px rgba(0,0,0,0.5),
                    0 0 1px rgba(79,195,247,0.3);
        border: 1px solid rgba(79,195,247,0.2);
        z-index: 99999;
        opacity: 0;
        transform: translateY(5px);
        transition: opacity 0.2s ease, transform 0.2s ease;
        pointer-events: auto;
        font-weight: 400;
        white-space: normal;
        text-align: left;
      }
      .ftt-clone.ftt-visible {
        opacity: 1;
        transform: translateY(0);
      }
      .ftt-clone::after {
        content: "";
        position: absolute;
        top: 100%;
        right: 12px;
        border: 6px solid transparent;
        border-top-color: #1a1a2e;
        filter: drop-shadow(0 2px 2px rgba(0,0,0,0.3));
      }
      .ftt-pressing {
        outline: 2px solid rgba(79,195,247,0.4);
        outline-offset: -2px;
        transition: outline-color 0.3s ease;
      }

      .demo-email-display {
        align-items: center;
        width: 100%;
        padding: 12px 16px;
        background: linear-gradient(135deg, rgba(74, 108, 247, 0.1), rgba(19, 194, 150, 0.1));
        border: 1px solid rgba(79, 195, 247, 0.3);
        border-radius: 8px;
        transition: all 0.3s ease;
      }

      .demo-email-display:hover {
        background: linear-gradient(135deg, rgba(74, 108, 247, 0.15), rgba(19, 194, 150, 0.15));
        border-color: rgba(79, 195, 247, 0.5);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(74, 108, 247, 0.2);
      }

      .demo-email-label {
        font-size: 14px;
        font-weight: 600;
        color: #4fc3f7;
        text-transform: uppercase;
        letter-spacing: 0.5px;
      }

      .demo-email-link {
        display: flex;
        align-items: center;
        gap: 8px;
        color: #e0e0e0 !important;
        text-decoration: none;
        font-size: 15px;
        font-weight: 500;
        transition: all 0.3s ease;
        padding: 6px 12px;
        border-radius: 6px;
        background: rgba(255, 255, 255, 0.05);
      }

      .demo-email-link:hover {
        color: #81d4fa !important;
        background: rgba(79, 195, 247, 0.1);
        transform: translateX(3px);
      }

      .demo-email-link i {
        font-size: 16px;
        color: #4fc3f7;
      }

      .app-card.disabled[data-feature-request] {
        cursor: pointer;
        opacity: 0.7;
        transition: all 0.3s;
      }

      @keyframes spin {
        0% {
          transform: rotate(0deg);
        }
        100% {
          transform: rotate(360deg);
        }
      }

      @keyframes loading {
        0% {
          background-position: 200% 0;
        }
        100% {
          background-position: -200% 0;
        }
      }

      @keyframes slideIn {
        from {
          opacity: 0;
          transform: translateX(20px);
        }
        to {
          opacity: 1;
          transform: translateX(0);
        }
      }

      .feature-item:has(.feature-info-icon:hover),
      .feature-item:has(.feature-info-icon.active) {
        z-index: 100;
      }

      /* ==========================================
   RESPONSIVE DESIGN - MEDIA QUERIES
   Extracted from BOTS_CSS.html
   ========================================== */

      /* Media Query 1: (min-width: 1400px) */
      @media (min-width: 1400px) {
        .dashboard-grid {
          max-width: 1200px;
          grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
          gap: 25px;
        }

        .settings-grid {
          grid-template-columns: repeat(3, minmax(250px, 1fr));
        }
      }

      /* Media Query 2: (min-width: 769px) and (max-width: 1023px) */
      @media (min-width: 769px) and (max-width: 1023px) {
        body {
          padding: 0px !important;
        }

        .dashboard-grid {
          grid-template-columns: repeat(2, 1fr);
          gap: 20px;
        }

        .app-selection-grid {
          grid-template-columns: repeat(2, 1fr);
        }

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

      /* Media Query 3: (max-width: 768px) */
      @media (max-width: 768px) {
        body {
          padding: 0px !important;
        }

        /* Grid Layouts */
        .dashboard-grid {
          grid-template-columns: 1fr;
          gap: 15px;
        }

        .app-selection-grid {
          grid-template-columns: 1fr;
          gap: 15px;
        }

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

        .app-selection-grid .app-card-pair,
        .settings-card-pair {
          grid-template-columns: 1fr;
        }

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

        /* Contain horizontal overflow from feature tooltips/shimmer */
        .tab-content {
          overflow-x: clip;
        }

        .features-list {
          grid-template-columns: repeat(2, 1fr);
        }

        /* Remove scale transforms that cause visual overflow on mobile */
        .feature-item:hover {
          transform: translateY(-2px);
        }

        .feature-item:has(input:checked):hover {
          transform: translateY(-2px);
        }

        .folder-settings-grid {
          grid-template-columns: 1fr;
        }

        /* Header Adjustments */
        .dashboard-header {
          flex-direction: column;
          gap: 15px;
          align-items: stretch;
          padding: 15px;
        }

        .dashboard-title {
          font-size: 1.4rem;
          text-align: center;
        }

        .header-actions {
          width: 100%;
          padding: 3px;
        }

        .header-action-btn {
          flex: 1;
          justify-content: center;
          padding: 10px 12px;
          font-size: 13px;
        }

        /* App Cards */
        .app-selection-container {
          padding: 15px;
        }

        .app-card {
          padding: 15px;
        }

        .app-card-icon {
          width: 50px;
          height: 50px;
        }

        .app-card-icon i {
          font-size: 1.5rem;
        }

        /* Navigation */
        .app-navigation {
          flex-direction: column;
          gap: 15px;
          align-items: stretch;
        }

        .back-to-apps-btn {
          width: 100%;
          justify-content: center;
        }

        .current-app-title {
          justify-content: center;
        }

        /* Settings Modal */
        .settings-modal {
          width: 95%;
          max-height: 95vh;
        }

        .settings-modal-body {
          padding: 20px;
        }

        .settings-modal-footer {
          flex-direction: column;
        }

        .settings-save-btn,
        .settings-cancel-btn {
          width: 100%;
          justify-content: center;
        }

        .settings-form-grid {
          grid-template-columns: 1fr;
        }

        .settings-form-actions {
          flex-direction: column;
        }

        .settings-add-btn,
        .settings-cancel-edit-btn {
          width: 100%;
          justify-content: center;
        }

        /* Access Type */
        .settings-access-type {
          flex-direction: column;
        }

        .access-type-btn {
          width: 100%;
          justify-content: center;
        }

        /* Account Items */
        .account-item {
          flex-direction: column;
          align-items: flex-start;
          gap: 10px;
        }

        .account-actions {
          width: 100%;
          justify-content: flex-end;
        }

        /* IO Type */
        .io-type-buttons {
          flex-direction: column;
        }

        .io-type-btn {
          width: 100%;
        }

        .cloud-selection-grid,
        .ftp-protocol-grid,
        .api-selection-grid {
          grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        }

        .cloud-option h5,
        .ftp-option h5,
        .api-option h5 {
          font-size: 12px;
        }

        /* Test Connection */
        .test-connection-wrapper {
          padding: 15px;
        }

        .test-connection-btn {
          width: 100%;
          justify-content: center;
          padding: 14px 24px;
        }

        .test-result {
          margin-left: 0;
          margin-top: 10px;
          width: 100%;
          justify-content: center;
        }

        /* Tooltips */
        .folder-info-tooltip {
          width: 240px;
          right: auto;
          left: 50%;
          transform: translateX(-50%);
        }

        .folder-info-tooltip::after {
          right: auto;
          left: 50%;
          transform: translateX(-50%);
        }

        /* Save Indicator */
        .save-indicator-container {
          top: 60px !important;
          right: 10px !important;
        }

        /* Modal Specific for Mobile */
        .settings-modal-overlay {
          padding: 0 !important;
          position: fixed !important;
          top: 0 !important;
          left: 0 !important;
          right: 0 !important;
          bottom: 0 !important;
          height: 100% !important;
          display: flex !important;
          align-items: center !important;
          justify-content: center !important;
        }

        .settings-modal {
          width: 100% !important;
          height: 100% !important;
          max-height: 100% !important;
          max-width: 100% !important;
          margin: 0 !important;
          border-radius: 0 !important;
          position: relative !important;
          display: flex !important;
          flex-direction: column !important;
          overflow: hidden !important;
        }

        .settings-modal-header {
          padding: 15px !important;
          flex-shrink: 0 !important;
          min-height: 60px !important;
          position: relative !important;
          z-index: 2 !important;
        }

        .settings-modal-header h2 {
          font-size: 1.2rem !important;
          padding-right: 40px !important;
        }

        .settings-modal-close {
          position: absolute !important;
          top: 50% !important;
          right: 15px !important;
          transform: translateY(-50%) !important;
          width: 40px !important;
          height: 40px !important;
          z-index: 3 !important;
          background: rgba(255, 255, 255, 0.2) !important;
        }

        .settings-modal-body {
          flex: 1 1 auto !important;
          overflow-y: auto !important;
          overflow-x: hidden !important;
          padding: 15px !important;
          -webkit-overflow-scrolling: touch !important;
          padding-bottom: env(safe-area-inset-bottom, 15px) !important;
          max-height: calc(100% - 120px - 80px) !important;
        }

        .settings-modal-footer {
          padding: 15px !important;
          flex-shrink: 0 !important;
          position: relative !important;
          background: rgba(10, 10, 20, 0.98) !important;
          border-top: 1px solid var(--border-color) !important;
          z-index: 2 !important;
          min-height: 80px !important;
          padding-bottom: max(15px, env(safe-area-inset-bottom)) !important;
          display: flex !important;
          flex-direction: column !important;
          gap: 10px !important;
        }

        .settings-modal-footer button {
          width: 100% !important;
          justify-content: center !important;
          padding: 12px !important;
          min-height: 44px !important;
        }

        .settings-form-section {
          padding-bottom: 20px !important;
        }

        .settings-form-group label {
          font-size: 0.9rem !important;
        }

        .settings-form-group input,
        .settings-form-group select,
        .settings-form-group textarea {
          font-size: 16px !important;
          padding: 10px !important;
        }

        /* Scrollbar for mobile */
        .settings-modal-body::-webkit-scrollbar {
          width: 4px !important;
        }

        .settings-modal-body::-webkit-scrollbar-track {
          background: transparent !important;
        }

        .settings-modal-body::-webkit-scrollbar-thumb {
          background: rgba(79, 195, 247, 0.3) !important;
          border-radius: 2px !important;
        }
      }

      /* Media Query 4: (max-width: 480px) */
      @media (max-width: 480px) {
        .header-actions {
          flex-direction: row;
          gap: 4px;
        }

        .header-action-btn {
          font-size: 12px;
          padding: 8px;
        }

        .header-action-btn span {
          display: none;
        }

        .header-action-btn i {
          margin: 0;
        }

        .app-card {
          min-height: 80px;
        }

        .app-card-content h2,
        .app-card-content h3 {
          font-size: 1rem;
        }

        .app-card-content p {
          font-size: 0.8rem;
        }

        .settings-modal-header {
          min-height: 55px !important;
          padding: 12px !important;
        }

        .settings-modal-header h2 {
          font-size: 1rem !important;
        }

        .settings-modal-close {
          width: 35px !important;
          height: 35px !important;
          right: 10px !important;
        }

        .settings-modal-body {
          padding: 10px !important;
          max-height: calc(100% - 110px - 75px) !important;
        }

        .settings-modal-footer {
          min-height: 75px !important;
          padding: 12px !important;
        }
      }

      /* Media Query 5: (max-height: 500px) and (orientation: landscape) */
      @media (max-height: 500px) and (orientation: landscape) {
        .settings-modal-header {
          min-height: 50px !important;
          padding: 10px !important;
        }

        .settings-modal-header h2 {
          font-size: 1rem !important;
        }

        .settings-modal-body {
          padding: 10px !important;
          max-height: calc(100% - 100px - 70px) !important;
        }

        .settings-modal-footer {
          min-height: 70px !important;
          padding: 10px !important;
          flex-direction: row !important;
        }

        .settings-save-btn,
        .settings-cancel-btn {
          width: auto !important;
          flex: 1 !important;
        }
      }

      /* Media Query 6: (max-width: 768px) */
      @media (max-width: 768px) {
        .settings-modal {
          height: 100dvh !important;
          max-height: 100dvh !important;
        }
      }

      /* Media Query 7: (max-width: 768px) */
      @media (max-width: 768px) {
        .settings-modal {
          height: calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
          max-height: calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
        }
      }

      /* Media Query 8: (max-width: 768px) */
      @media (max-width: 768px) {
        .feature-info-tooltip {
          width: 280px;
          font-size: 12px;
          padding: 10px 14px;
        }

        .feature-info-icon {
          font-size: 18px;
          padding-left: 12px;
        }

        .ftt-clone {
          width: 280px;
          font-size: 12px;
          padding: 10px 14px;
        }
      }

      /* Media Query 9: (max-width: 768px) */
      @media (max-width: 768px) {
        .demo-email-display {
          flex-direction: column;
          align-items: flex-start;
        }

        .demo-email-label {
          font-size: 12px;
        }

        .demo-email-link {
          font-size: 13px;
          width: 100%;
        }
      }

      /* Media Query 10: (max-width: 768px) */
      @media (max-width: 768px) {
        .settings-form-grid {
          grid-template-columns: 1fr;
        }

        .oauth-tier-badge {
          top: 15px;
          right: 15px;
          position: static;
          display: inline-block;
          margin-bottom: 10px;
        }

        .oauth-notification {
          left: 10px;
          right: 10px;
          min-width: auto;
        }
      }

      /* Feature request popup buttons: wrap on mobile */
      @media (max-width: 768px) {
        .feature-request-footer {
          flex-wrap: wrap !important;
          padding: 16px !important;
          gap: 8px !important;
        }

        .feature-request-footer button {
          padding: 10px 16px !important;
          font-size: 13px !important;
          flex: 1 1 auto !important;
          justify-content: center !important;
          min-width: 0 !important;
        }

        .feature-request-footer .feature-request-custom-oauth {
          flex: 1 1 100% !important;
          order: -1 !important;
        }

        .feature-request-modal {
          width: 95% !important;
          max-height: 90vh !important;
          overflow-y: auto !important;
        }

        .feature-request-body {
          padding: 16px !important;
        }
      }
    

/* ---- moved from the second inline <style> block of BOTS.html (modal loading overlay) ---- */

      /* Modal Loading Overlay */
      .modal-loading-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.85);
        backdrop-filter: blur(10px);
        display: none;
        align-items: center;
        justify-content: center;
        z-index: 10000001;
        opacity: 0;
        transition: opacity 0.3s ease;
      }

      .modal-loading-overlay.active {
        opacity: 1;
      }

      .loading-spinner-container {
        text-align: center;
        background: linear-gradient(135deg, rgba(42, 42, 62, 0.95), rgba(37, 37, 64, 0.95));
        padding: 3rem 4rem;
        border-radius: 20px;
        border: 2px solid rgba(79, 195, 247, 0.3);
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
        animation: slideInUp 0.3s ease;
      }

      @keyframes slideInUp {
        from {
          transform: translateY(30px);
          opacity: 0;
        }
        to {
          transform: translateY(0);
          opacity: 1;
        }
      }

      .loading-spinner {
        width: 60px;
        height: 60px;
        margin: 0 auto 1.5rem;
        border: 4px solid rgba(79, 195, 247, 0.2);
        border-top: 4px solid #4a6cf7;
        border-right: 4px solid #13c296;
        border-radius: 50%;
        animation: spin 1s linear infinite;
      }

      @keyframes spin {
        0% {
          transform: rotate(0deg);
        }
        100% {
          transform: rotate(360deg);
        }
      }
      .loading-spinner-container h3 {
        color: #e0e0e0;
        font-size: 1.5rem;
        font-weight: 600;
        margin: 0 0 0.5rem 0;
        background: linear-gradient(135deg, #4a6cf7, #13c296);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
      }
      .loading-subtitle {
        color: #a0a0b0;
        font-size: 0.95rem;
        margin: 0;
      }
    