/* VARIABLES *//**
 * Lucide Icons Compatibility Layer
 * Provides Fomantic UI-like styling for Lucide icon font
 */

/* Base icon styles *//* ═══════════════════════════════════════════════════════════════
   MODULE INFO
   ═══════════════════════════════════════════════════════════════
   NAME: chphAccountUsage/chphAccountUsage.css
   PURPOSE: Styles for harness account pool dashboard (Spec 1011, supersedes 966)
   PATTERN SOURCE: christophoros.css:314 (.chph__requestList), :3425 (.chph__empty)
   CSS VARIABLES: christophoros.css:9-33 (--chph-* design tokens)
   LAST UPDATED: 2026-02-19
   ═══════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────────────────────────
   Container
   ───────────────────────────────────────────────────────────────── *//* ═══════════════════════════════════════════════════════════════
   MODULE: chphThought/chphThought.css
   PURPOSE: THOUGHT tab styles — constellation, timeline, coverage map
   SPEC: 1237 Wave 4
   PATTERN SOURCE: christophoros.css:8544-8595 (tab buttons, tab panels)
   ═══════════════════════════════════════════════════════════════ */

/* ── View Bar ──────────────────────────────────────────────── *//* ================================================================
   Forgot Password (custom Blaze template)
   ================================================================ *//* ============================================
   Mockup List View Styles
   ============================================
   Card-based layout for mockup projects.
   Pattern source: _stylesheets/data-thumbnail.css (card grid + variables)
   ============================================ */


/* ============================================
   1. Container
   ============================================ *//* ============================================
   Mockup Detail View Styles
   ============================================
   Screen tab bar, wireframe iframe, toggle button, responsive layout.
   Pattern source: _stylesheets/data-thumbnail.css (variables, transitions)
   ============================================ */


/* ============================================
   1. Container
   ============================================ *//* ============================================
   Mockup Editor — Selection Panel Styles
   ============================================
   Side panel for editing JMDK Mockup nodes.
   Width 320px, slide-in from right, scrollable body,
   fixed header/footer.
   Spec 1276 Phase 2, Wave 0B (item 13)
   Pattern source: mockupDetail.css (BEM, #jmkrClient scope, transitions)
   ============================================ */


/* ============================================
   1. Panel Container & Slide-in
   ============================================ *//* ============================================
   Phoros Cinema - Timeline Video Editor
   ============================================ */

/* Cinema Overlay - uses .studioOverlay base *//* ============================================
   Phoros Cinema Page - Public Preview Styles
   ============================================ *//* ============================================
   Studio Post Editor (Spec 785)
   ============================================ */

/* Post Editor Overlay - uses .studioOverlay base *//* ============================================
   Studio Image Editor (Render Room)
   ============================================ *//* ============================================
   CHPH Color System - Centralized Variables
   Color Profile System with Multiple Themes
   ============================================ */

/* === DEFAULT PROFILE: MATRIX (Green) === *//* Contact Group Member Browser Styles */
/* Following BEM patterns from christophoros.css *//* Contact Prospects Page Styles */

/* Channel badges - reuses signal channel badge pattern *//* Contact Signals Page Styles */

/* Channel badges - used in both list and popup *//* ============================================ Chat Shell & Header ============================================ *//* ============================================
   Invoice Page Styles
   ============================================
   Invoice-specific styling. Generic public page wrapper
   styles are in _stylesheets/publicPage.css.

   Table of Contents:
   ------------------
   1. Bill To Section
   2. Print Controls
   3. Payment Buttons
   4. Disclaimer
   5. Embedded Invoice Overrides
   6. Summary Card
   7. Actions Card
   8. Layout
   9. Responsive Styles

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


/* ============================================
   1. Bill To Section
   ============================================ *//* Spec 1136 W1.7: Transaction Report Modal — BEM-scoped styles
   Pattern: christophoros.css:800-1000 for BEM naming convention
   All classes namespaced txnReport__ */

/* ═══ Overlay + Modal Shell ═══ *//* ============================================
   LEGAL BILLABLE HOURS — Minimal overrides
   Pattern source: Semantic UI .ui.statistics, .ui.progress, .ui.very.basic.table
   Custom CSS ONLY where Semantic UI genuinely doesn't cover the need
   ============================================ */

/* Ratio bar — Semantic UI .ui.progress requires JS init; use simple inline bar instead *//* ============================================
   LEGAL DEADLINES — Minimal overrides
   Pattern source: jamaker dataRow/leftSection/rightSection, notificationGroupDate
   Custom CSS ONLY where Semantic UI genuinely doesn't cover the need
   ============================================ */

/* Group header color variants — notificationGroupDate is the base class, these add urgency colors *//* ============================================
   LEGAL MATTER DETAIL — Inline editing + Activity timeline
   Pattern source: Semantic UI .ui.segment, .ui.label.mini
   Custom CSS ONLY where Semantic UI genuinely doesn't cover the need
   ============================================ */

/* N11.3: Inline field editing — display value styling *//* PrintingSetting - Label Printing Configuration */
/* Note: Uses shared settingsSection styles from _stylesheets/settings.css *//* ============================================
   SERVICE AGENT — Dashboard Module Styling
   Pattern source: settings.css:77-123 (settingsSection)
   ============================================ */

/* Tab Navigation *//* ============================================
   Studio Module Styles
   ============================================ *//* Trading Intelligence Module - Styles
   ============================================================================ *//* VSM Settings Page - Page-specific Styles *//* ============================================
   Data Row Component Styles
   ============================================
   Extracted from template.css - all selectors scoped to #jmkrClient
   Reusable data row component for displaying list items, tasks, contacts, etc.

   Table of Contents:
   ------------------
   1. CSS Variables & Base Styles
   2. Layout Structure
      2.1 Flexbox Layout
      2.2 Header Section
      2.3 Left Section
      2.4 Right Section
   3. Row States & Backgrounds
      3.1 Alternating Colors
      3.2 Hover States
      3.3 Hidden/Revealed Animations
   4. Size Modifiers
   5. Bordered Variants
      5.1 Basic Bordered
      5.2 Doubled Layout
      5.3 Child Task List
   6. Status Badges
   7. Buttons
      7.1 Base Button
      7.2 Hover Button Overlay
      7.3 Input Buttons
   8. Text Styles
      8.1 Base Text
      8.2 SubText Tags
      8.3 Text Variants
   9. Interactive Elements
      9.1 Links
      9.2 Faded Elements
      9.3 Copy Link
   10. Avatars
   11. Horizontal Scroll Tables
   12. Grid Integration
   13. Images & Media
   14. Inverted Theme
   15. Popup Display Modes
   16. Responsive Styles
       16.1 Tablet (max-width: 992px)
       16.2 Mobile (max-width: 600px)
       16.3 Small Mobile (max-width: 767px)
   17. Animation Disable

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


/* ============================================
   1. CSS Variables & Base Styles
   ============================================ *//* ============================================
   Data Thumbnail Component Styles
   ============================================
   Reusable thumbnail grid component for displaying items in card-based view.
   Companion to data-row.css for list-based display.

   Table of Contents:
   ------------------
   1. CSS Variables & Base Styles
   2. Grid Container Layout
   3. Card Structure
      3.1 Base Card
      3.2 Card States (Hover, Active, Selected)
   4. Preview Area
      4.1 Base Preview
      4.2 Image Preview
      4.3 Icon Preview
      4.4 Type-Specific Colors
   5. Info Section
      5.1 Card Name
      5.2 Card Meta
   6. Action Buttons
      6.1 Positioned Actions (4 corners)
      6.2 Inline Actions (above meta)
      6.3 Button States
   7. Responsive Styles

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


/* ============================================
   1. CSS Variables & Base Styles
   ============================================ *//* ============================================
   Empty State Component
   ============================================
   Standardized empty state display for dashboard modules.

   Usage:
   <div class="empty-state [empty-state--page|empty-state--compact|empty-state--inline]">
       <div class="empty-state__icon"><i class="lucide-icon icon-{name}"></i></div>
       <h3 class="empty-state__title">Title here</h3>
       <p class="empty-state__description">Description text...</p>
       <div class="empty-state__actions">
           <div class="empty-state__button empty-state__button--primary">Primary Action</div>
           <div class="empty-state__button">Secondary Action</div>
       </div>
   </div>

   Variants:
   - (default)       : Standard size, suitable for content areas
   - --page          : Full page welcome states (larger padding, bigger icon)
   - --compact       : Card/panel embedded states (smaller padding)
   - --inline        : Minimal inline states (dashed border style)

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

/* Base Empty State *//* ============================================
   Public Document Styles
   ============================================
   Reusable card and rich text formatting for public-facing document pages
   (invoices, files, contracts, etc.)

   Table of Contents:
   ------------------
   1. Base Card Styles
      1.1 Container
      1.2 Variants
      1.3 Section Title
   2. Rich Text Formatting
      2.1 Base Typography
      2.2 Headings
      2.3 Paragraphs
      2.4 Word Processor Classes
      2.5 Lists
      2.6 Tables
      2.7 Links
      2.8 Text Emphasis
      2.9 Blockquotes
   3. Disclaimer
   4. Responsive Styles
   5. Legacy Aliases (Invoice Page)
      5.1 Invoice Card Base
      5.2 Invoice Rich Text

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


/* ============================================
   1. Base Card Styles
   ============================================ */

/* ---------- 1.1 Container ---------- *//* ============================================
   Public Page Styles
   ============================================
   Base wrapper styles for public-facing document pages
   (invoices, files, contracts, HTML documents, etc.)

   Usage:
   ------
   Add class="publicPage" to your outer wrapper div.
   Works alongside publicDocument.css for content styling.

   Table of Contents:
   ------------------
   1. Base Container
   2. Page Layout
   3. Print Area
   4. Loading State
   5. Dividers
   6. Inline Links
   7. Brand Signature
   8. PDF Viewer
   9. File Download
   10. Rich Text Content (#description)
   11. Title
   12. Print Label
   13. Responsive Styles
   14. Legacy Alias (#InvoicePage)

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


/* ============================================
   1. Base Container
   ============================================ *//* ============================================
   Settings Page Styles
   ============================================
   Component styles for settings and configuration pages.
   All selectors scoped to #jmkrClient.

   Table of Contents:
   ------------------
   1. Page Layout
   2. Section Component
      2.1 Base Section
      2.2 Section Header
      2.3 Section Icon
   3. Settings Cards Grid
   4. Settings Table
      4.1 Table Structure
      4.2 Table Cells
      4.3 Remove Button
   5. Settings Add Button
   6. Settings Footer
   7. Settings Field
   8. Settings Tree
      8.1 Base Tree
      8.2 Tree Hint
      8.3 Tree List
      8.4 Tree Empty State
   9. Settings Tree Node
      9.1 Node Base
      9.2 Node Content
      9.3 Node Actions
      9.4 Node Children
   10. Selectize Overrides
   11. Form Fields
   12. Link Items
   13. Accordion Component
       13.1 Accordion Base
       13.2 Accordion Item
       13.3 Accordion Header
       13.4 Accordion Content
       13.5 Accordion Toggles
   14. List Component
       14.1 List Base
       14.2 List Item
       14.3 List Actions
   15. Profile Header
   16. Specialist Cards
   17. Section Danger Variant
   18. Job Card Component
       18.1 Job Card Base
       18.2 Job Card Header
       18.3 Job Card Progress
       18.4 Job Card Sections
       18.5 Job Card Artifacts
       18.6 Job Card Status Variants
   19. Button Variants
   20. Info Box
   21. Responsive Styles

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


/* ============================================
   1. Page Layout
   ============================================ *//* ==========================================================================
   INTERFACE.CSS - Jamaker Dashboard Interface Styles
   ==========================================================================

   Table of Contents:
   1. CSS Variables
   2. Base Styles
   3. Layout Structure
      3.1 Content Area
      3.2 Left UI Panel (Navigation Sidebar)
      3.3 Middle UI Panel (Main Content)
      3.4 Right UI Panel (Right Sidebar)
      3.5 Pinned Menu
   4. Page Components
      4.1 Page Layout
      4.2 Page Title & Actions
   5. Account Popup
   6. Dashboard Features
   7. Business Card
   8. UI Components
      8.1 Tabular Menu
      8.2 Feed & Cards
      8.3 Organization Menu
   9. Scrollbar Styles
   10. Third-Party Overrides
       10.1 Intro.js Tour
       10.2 WYSIWYG Editor
   11. Form Components
       11.1 Contact Search
       11.2 Native Select Elements
   12. Subscription Modal

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


/* ==========================================================================
   1. CSS VARIABLES
   ========================================================================== *//* Data Row styles moved to stylesheets/data-row.css *//* ========================================
   Patient Care Note Compact Card
======================================== */

/* Patient Care Note: compact patient card (right-hand panel) */
:root {
  /* Layout & Sizing */
  --login-buttons-accounts-dialog-width: 250px;
  --meteor-accounts-base-padding: 8px;
  --meteor-accounts-dialog-border-width: 1px;
  --configure-login-service-dialog-width: 530px;
  --button-border-radius: 4px;
  --dialog-border-radius: 8px;
  --input-border-radius: 4px;
  
  /* Colors - Primary */
  --login-buttons-color: #4e40b8;
  --login-buttons-color-active: #6c5ce7;
  
  /* Colors - Config */
  --login-buttons-config-color: #cc3a1a;
  --login-buttons-config-color-border: #a32e15;
  --login-buttons-config-color-active: #e5532e;
  --login-buttons-config-color-active-border: #cc3a1a;
  
  /* Colors - UI */
  --color-text-primary: #2d2d2d;
  --color-text-secondary: #4a4a4a;
  --color-text-disabled: #999;
  --color-background-primary: #fff;
  --color-background-secondary: #f8f9fa;
  --color-background-disabled: #e0e0e0;
  --color-border: #e6e6e6;
  --color-input-border: #d1d1d1;
  --color-input-focus-border: var(--login-buttons-color);
  --color-error: #e74c3c;
  --color-success: #2ecc71;
  --color-overlay: rgba(0, 0, 0, 0.6);
  
  /* Typography */
  --font-family-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  --font-family-monospace: 'SF Mono', SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
  --font-size-base: 16px;
  --font-size-small: 0.875rem;
  --font-size-smaller: 0.8125rem;
  --font-size-smallest: 0.75rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 600;
  --line-height-base: 1.5;
  
  /* Effects */
  --box-shadow-dialog: 0 10px 25px rgba(0, 0, 0, 0.1);
  --box-shadow-button-active: 0 2px 4px 0 rgba(0, 0, 0, 0.1) inset;
  --box-shadow-input-focus: 0 0 0 3px rgba(78, 64, 184, 0.2);
  
  /* Transitions */
  --transition-speed-fast: 0.1s;
  --transition-speed-normal: 0.2s;
  --transition-speed-slow: 0.3s;
  --transition-timing: cubic-bezier(0.25, 0.1, 0.25, 1);
  
  /* Dark Theme Variables - These can be overridden by users */
  --login-buttons-color-dark: #8c7ae6;
  --login-buttons-color-active-dark: #a29bfe;
  --color-text-primary-dark: #f5f5f5;
  --color-text-secondary-dark: #d1d1d1;
  --color-text-disabled-dark: #777;
  --color-background-primary-dark: #121212;
  --color-background-secondary-dark: #1e1e1e;
  --color-background-disabled-dark: #444;
  --color-border-dark: #333;
  --color-input-border-dark: #444;
  --color-input-focus-border-dark: var(--login-buttons-color-dark);
  --color-error-dark: #ff6b6b;
  --color-success-dark: #55efc4;
  --color-overlay-dark: rgba(0, 0, 0, 0.8);
  --box-shadow-dialog-dark: 0 10px 25px rgba(0, 0, 0, 0.3);
  --box-shadow-button-active-dark: 0 2px 4px 0 rgba(0, 0, 0, 0.3) inset;
  --box-shadow-input-focus-dark: 0 0 0 3px rgba(140, 122, 230, 0.3);
}

/* Dark Theme */
@media (prefers-color-scheme: dark) {
  :root {
    /* Colors (Dark) - Use the dark theme variables with fallbacks */
    --login-buttons-color: var(--login-buttons-color-dark, #7986CB);
    --login-buttons-color-active: var(--login-buttons-color-active-dark, #9FA8DA);
    --color-text-primary: var(--color-text-primary-dark, #eee);
    --color-text-secondary: var(--color-text-secondary-dark, #bbb);
    --color-text-disabled: var(--color-text-disabled-dark, #666);
    --color-background-primary: var(--color-background-primary-dark, #121212);
    --color-background-secondary: var(--color-background-secondary-dark, #1e1e1e);
    --color-background-disabled: var(--color-background-disabled-dark, #444);
    --color-border: var(--color-border-dark, #333);
    --color-input-border: var(--color-input-border-dark, #444);
    --color-input-focus-border: var(--color-input-focus-border-dark, var(--login-buttons-color, #7986CB));
    --color-error: var(--color-error-dark, #e57373);
    --color-success: var(--color-success-dark, #81c784);
    --color-overlay: var(--color-overlay-dark, rgba(0, 0, 0, 0.8));
    
    /* Effects (Dark) */
    --box-shadow-dialog: var(--box-shadow-dialog-dark, 0 4px 12px rgba(0, 0, 0, 0.5));
    --box-shadow-button-active: var(--box-shadow-button-active-dark, 0 2px 3px 0 rgba(0, 0, 0, 0.4) inset);
    --box-shadow-input-focus: var(--box-shadow-input-focus-dark, 0 0 0 2px rgba(121, 134, 203, 0.25));
  }
}

/* LOGIN BUTTONS */

#login-buttons {
  display: inline-block;
  line-height: 1;
}

#login-buttons .login-button {
  position: relative;
}

#login-buttons button.login-button {
  width: 100%;
}

#login-buttons .login-buttons-with-only-one-button {
  display: inline-block;
}

#login-buttons .login-buttons-with-only-one-button .login-button {
  display: inline-block;
}

#login-buttons .login-buttons-with-only-one-button .login-text-and-button {
  display: inline-block;
}

#login-buttons .login-display-name {
  display: inline-block;
  padding-right: 2px;
  line-height: var(--line-height-base);
  font-family: var(--font-family-primary);
}

#login-buttons .loading {
  line-height: 1;
  background-image: url(data:image/gif;base64,R0lGODlhEAALAPQAAP///wAAANra2tDQ0Orq6gYGBgAAAC4uLoKCgmBgYLq6uiIiIkpKSoqKimRkZL6+viYmJgQEBE5OTubm5tjY2PT09Dg4ONzc3PLy8ra2tqCgoMrKyu7u7gAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA);
  width: 16px;
  background-position: center center;
  background-repeat: no-repeat;
}

#login-buttons .login-button, .accounts-dialog .login-button {
  cursor: pointer;
  -webkit-user-select: none; /* Safari support */
  user-select: none;
  padding: 0.625rem 1.25rem;

  font-size: var(--font-size-small);
  font-family: var(--font-family-primary);
  line-height: var(--line-height-base);
  font-weight: var(--font-weight-medium);

  text-align: center;
  color: var(--color-background-primary);

  background: var(--login-buttons-color);
  border: none;
  
  border-radius: var(--button-border-radius);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: background-color var(--transition-speed-normal) var(--transition-timing),
              box-shadow var(--transition-speed-normal) var(--transition-timing),
              transform var(--transition-speed-fast) var(--transition-timing);
}

#login-buttons .login-button:hover, .accounts-dialog .login-button:hover {
  background: var(--login-buttons-color-active);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}

#login-buttons .login-button:active, .accounts-dialog .login-button:active {
  background: var(--login-buttons-color-active);
  transform: translateY(1px);
  box-shadow: var(--box-shadow-button-active);
}

#login-buttons .login-button.login-button-disabled,
#login-buttons .login-button.login-button-disabled:active,
.accounts-dialog .login-button.login-button-disabled,
.accounts-dialog .login-button.login-button-disabled:active {
  color: var(--color-text-disabled);
  background: var(--color-background-disabled);
  border: none;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
  opacity: 0.7;
}

/* Reset styles for dialog elements */
.accounts-dialog * {
  padding: 0;
  margin: 0;
  line-height: inherit;
  color: inherit;
  font: inherit;
  font-family: var(--font-family-primary);
}

.accounts-dialog .login-button {
  width: auto;
  margin-bottom: 4px;
}

#login-buttons .login-buttons-padding {
  display: inline-block;
  width: 30px;
}

#login-buttons .login-display-name {
  margin-right: 4px;
}

#login-buttons .configure-button {
  background: var(--login-buttons-config-color);
  border-color: var(--login-buttons-config-color-border);
}

#login-buttons .configure-button:active,
#login-buttons .configure-button:hover {
  background: var(--login-buttons-config-color-active);
  border-color: var(--login-buttons-config-color-active-border);
}

#login-buttons .login-image {
  display: inline-block;
  position: absolute;
  left: 6px;
  top: 6px;
  width: 16px;
  height: 16px;
}

#login-buttons .text-besides-image {
  margin-left: 18px;
}

#login-buttons .no-services {
  color: red;
}

#login-buttons .login-link-and-dropdown-list {
  position: relative;
}

#login-buttons .login-close-text {
  float: left;
  position: relative;
  padding-bottom: 8px;
}

#login-buttons .login-text-and-button .loading,
#login-buttons .login-link-and-dropdown-list .loading {
  display: inline-block;
}

#login-buttons.login-buttons-dropdown-align-left #login-dropdown-list .loading {
  float: right;
}

#login-buttons.login-buttons-dropdown-align-right #login-dropdown-list .loading {
  float: left;
}

#login-buttons .login-close-text-clear {
  clear: both;
}

#login-buttons .or {
  text-align: center;
}

#login-buttons .hline {
  text-decoration: line-through;
  color: lightgrey;
}

#login-buttons .or-text {
  font-weight: bold;
}

#login-buttons #signup-link {
  float: right;
}

#login-buttons #forgot-password-link,
#login-buttons #resend-passwordless-code {
  float: left;
}

#login-buttons #back-to-login-link {
  float: right;
}

#login-buttons a, .accounts-dialog a {
  cursor: pointer;
  text-decoration: none;
  color: var(--login-buttons-color);
  transition: color var(--transition-speed-normal) var(--transition-timing);
}

#login-buttons a:hover, .accounts-dialog a:hover {
  color: var(--login-buttons-color-active);
  text-decoration: underline;
}

#login-buttons.login-buttons-dropdown-align-right .login-close-text {
  float: right;
}

.accounts-dialog {
  border: var(--meteor-accounts-dialog-border-width) solid var(--color-border);
  z-index: 1000;
  background: var(--color-background-primary);
  border-radius: var(--dialog-border-radius);

  padding: 24px;
  margin: -8px -12px 0 -12px;

  width: var(--login-buttons-accounts-dialog-width);

  box-shadow: var(--box-shadow-dialog);

  font-size: var(--font-size-base);
  color: var(--color-text-primary);
}

.accounts-dialog > * {
  line-height: 1.6;
}

.accounts-dialog > .login-close-text {
  line-height: inherit;
  font-size: inherit;
  font-family: inherit;
}

.accounts-dialog label, .accounts-dialog .title {
  font-size: var(--font-size-small);
  margin-top: 1rem;
  margin-bottom: 0.375rem;
  display: block;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  letter-spacing: 0.01em;
}

.accounts-dialog input[type=text],
.accounts-dialog input[type=email],
.accounts-dialog input[type=password] {
  box-sizing: border-box;
  width: 100%;
  height: auto;
  font-size: 1rem;
  padding: 0.5rem;
  border-radius: 4px;
  transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

#login-buttons input[type=text]:focus,
#login-buttons input[type=email]:focus,
#login-buttons input[type=password]:focus,
.accounts-dialog input[type=text]:focus,
.accounts-dialog input[type=email]:focus,
.accounts-dialog input[type=password]:focus {
  outline: none;
  border-color: var(--color-input-focus-border);
  box-shadow: var(--box-shadow-input-focus);
}

.accounts-dialog .login-button-form-submit {
  margin-top: 8px;
}

.accounts-dialog .message {
  font-size: var(--font-size-smaller);
  margin-top: 10px;
  line-height: 1.4;
  padding: 0.375rem 0;
}

.accounts-dialog .error-message {
  color: var(--color-error);
  padding: 0.375rem 0.625rem;
  background-color: rgba(231, 76, 60, 0.1);
  border-radius: 4px;
  margin-bottom: 0.75rem;
}

.accounts-dialog .info-message {
  color: var(--color-success);
  padding: 0.375rem 0.625rem;
  background-color: rgba(46, 204, 113, 0.1);
  border-radius: 4px;
  margin-bottom: 0.75rem;
}

.accounts-dialog .additional-link {
  font-size: var(--font-size-smallest);
  margin-top: 1rem;
  display: inline-block;
}

.accounts-dialog .accounts-close {
  position: absolute;
  top: 12px;
  right: 16px;

  font-size: 18px;
  font-weight: var(--font-weight-bold);
  line-height: 18px;
  text-decoration: none;
  color: var(--color-text-secondary);
  opacity: 0.6;
  transition: opacity var(--transition-speed-normal) var(--transition-timing);
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.accounts-dialog .accounts-close:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.05);
}

.accounts-dialog #login-buttons-cancel-reset-password {
  float: right;
}

.accounts-dialog #login-buttons-cancel-enroll-account {
  float: right;
}

#login-dropdown-list {
  position: absolute;
  top: calc(-1 * var(--meteor-accounts-dialog-border-width));
  left: calc(-1 * var(--meteor-accounts-dialog-border-width));
}

#login-buttons.login-buttons-dropdown-align-right #login-dropdown-list {
  left: auto;
  right: calc(-1 * var(--meteor-accounts-dialog-border-width));
}

#login-buttons-message-dialog .message {
  /* we intentionally want it bigger on this dialog since it's the only thing displayed */
  font-size: 100%;
}

.accounts-centered-dialog {
  font-family: var(--font-family-primary);

  z-index: 1001;
  position: fixed;
  
  /* Modern centering approach using transform */
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: var(--login-buttons-accounts-dialog-width);
}

#configure-login-service-dialog {
  width: var(--configure-login-service-dialog-width);
  /* Using transform for centering instead of negative margins */
}

#configure-login-service-dialog table {
  width: 100%;
}

#configure-login-service-dialog input[type=text] {
  width: 100%;
  font-family: var(--font-family-monospace);
}

#configure-login-service-dialog ol {
  margin-top: 10px;
  margin-bottom: 10px;
}

#configure-login-service-dialog ol li {
  margin-left: 30px;
}

#configure-login-service-dialog .configuration_labels {
  width: 30%;
}

#configure-login-service-dialog .configuration_inputs {
  width: 70%;
}

#configure-login-service-dialog .new-section {
  margin-top: 10px;
}

#configure-login-service-dialog .url {
  font-family: var(--font-family-monospace);
}

#configure-login-service-dialog-save-configuration {
  float: right;
}

.configure-login-service-dismiss-button {
  float: left;
}

#just-verified-dismiss-button, #messages-dialog-dismiss-button {
  margin-top: 8px;
}

.hide-background {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  background-color: var(--color-overlay);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

#login-buttons input[type=text],
#login-buttons input[type=email],
#login-buttons input[type=password],
.accounts-dialog input[type=text],
.accounts-dialog input[type=email],
.accounts-dialog input[type=password] {
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--color-input-border);
  border-radius: var(--input-border-radius);
  line-height: var(--line-height-base);
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  background-color: var(--color-background-primary);
  width: 100%;
  box-sizing: border-box;
  transition: border-color var(--transition-speed-normal) var(--transition-timing),
              box-shadow var(--transition-speed-normal) var(--transition-timing);
}/* Import the CSS from accounts-ui-unstyled */
@import url("{accounts-ui-unstyled}/login_buttons.import.css");.at-title {
  margin-bottom: 1rem;
}
.at-social-btn {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}
.at-wrap {
  text-align: center;
}
.at-left {
  text-align: left !important;
}
.at-grid {
  height: 100%;
}
.at-column {
  max-width: 520px;
}
.at-input.validating * {
  cursor: progress;
}
.at-pwd-link {
  margin-bottom: 1rem;
}
.at-signin-link,
.at-signup-link {
  margin-top: 1rem;
}#popupPayment #createPaymentMethod_stripe button {
  float: left;
  display: block;
  background-color: #ffffff;
  color: #4c4e4e;
  border-radius: 4px;
  border: 0;
  margin-top: 10px;
  font-size: 17px;
  font-weight: bold;
  width: 100%;
  line-height: 50px;
  outline: none;
}

#popupPayment #createPaymentMethod_stripe button:focus {
  background: none;
  color: #ffffff;
  border: 1px solid #ffffff;
}

#popupPayment #createPaymentMethod_stripe button:active {
  background: none;
  color: #ffffff;
  border: 1px solid #ffffff;
}

#popupPayment #createPaymentMethod_stripe .outcome {
  float: left;
  width: 100%;
  padding-top: 21px;
  padding-bottom: 0px;
  min-height: 20px;
}

#popupPayment #createPaymentMethod_stripe .success,
#popupPayment #createPaymentMethod_stripe .error {
  display: none;
  font-size: 15px;
}

#popupPayment #createPaymentMethod_stripe .success.visible,
#popupPayment #createPaymentMethod_stripe .error.visible {
  display: inline;
}

#popupPayment #createPaymentMethod_stripe .error {
  color: #E4584C;
}

#popupPayment #createPaymentMethod_stripe .success {
  color: #34D08C;
}

#popupPayment #createPaymentMethod_stripe .success .token {
  font-weight: 500;
  font-size: 15px;
}

#popupPayment #createPaymentMethod_stripe .outcome * {
  font-size: 17px;
  letter-spacing: 0.17px;
  color: black;
  font-weight: bold;
}

#popupPayment #createPaymentMethod_stripe input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px #1eadd3 inset;
  -webkit-text-fill-color: white !important;
}

/* General styles */
#inventoryInCartForm #createPaymentMethod_stripe button {
  display: none;
}

#inventoryInCartForm #createPaymentMethod_stripe .outcome {
  float: left;
  width: 100%;
  padding-top: 0px;
  padding-bottom: 0px;
  min-height: 20px;
}

#inventoryInCartForm #createPaymentMethod_stripe .success,
#inventoryInCartForm #createPaymentMethod_stripe .error {
  display: none;
  font-size: 15px;
}

#inventoryInCartForm #createPaymentMethod_stripe .success.visible,
#inventoryInCartForm #createPaymentMethod_stripe .error.visible {
  display: inline;
}

#inventoryInCartForm #createPaymentMethod_stripe .error {
  color: #E4584C;
}

#inventoryInCartForm #createPaymentMethod_stripe .success {
  color: #34D08C;
}

#inventoryInCartForm #createPaymentMethod_stripe .success .token {
  font-weight: 500;
  font-size: 15px;
}

#inventoryInCartForm #createPaymentMethod_stripe .outcome * {
  font-size: 17px;
  letter-spacing: 0.17px;
  color: black;
  font-weight: bold;
}

#inventoryInCartForm #createPaymentMethod_stripe input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px white inset;
  -webkit-text-fill-color: #333 !important;
}

#inventoryInCartForm .ElementsApp,
#inventoryInCartForm .ElementsApp .InputElement {
  color: black !important;
}

#inventoryInCartForm #card-element {
  border: none !important;
  color: black !important;
  border-radius: 5px !important;
  margin-top: 10px !important;
  padding: 10px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.177) !important;
  letter-spacing: 0.75px !important;
  background: var(--jmkr-color-1) !important;
}

#stripe-checkout-container {
  z-index: 10000 !important;
  width: calc(100% - 2em) !important;
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;

  max-width: 400px !important;
  max-height: calc(100vh - 2em) !important;
  height: 100% !important;
  border-radius: 10px !important;

  padding: 10px !important;
  background-color: white !important;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);

  overflow: auto;
}

#stripe-checkout-container iframe {}

#stripe-checkout-background {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  z-index: 9900;
}

#stripe-checkout-container {
  display: none;
}#conversationAttachment #picture {
    border-radius: 4px;

    background-color: rgba(0,0,0,0.1);
    background-size: cover;
    background-position: center;

    width: 100%;
    padding-top: calc(50% - 17px);
    padding-bottom: calc(50% - 17px);

    text-align: center;
    letter-spacing: 0.75px;
    color: var(--jmkr-color-1) !important;

    margin-left: auto;
    margin-right: auto;

    cursor: pointer;
}

#conversationAttachment #clickHere {
    margin-top: 11px;
    border-radius: 4px;

    background-color: rgba(0,0,0,0.1);
    background-size: cover;
    background-position: center;

    width: 100%;
    padding-top: calc(5% - 17px);
    padding-bottom: calc(5% - 17px);

    text-align: center;
    letter-spacing: 0.75px;
    color: var(--jmkr-color-1) !important;

    margin-left: auto;
    margin-right: auto;

    cursor: pointer;
}

#conversationAttachment img {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

#conversationAttachment #progressBar {
    border-radius: 7px;

    background-color: rgba(0,0,0,0.1);

    width: 177px; 
    height: 7px;

    margin-left: auto;
    margin-right: auto;

    margin-top: 17px;
}

#conversationAttachment #progress {
    border-radius: 7px;

    background-color: var(--jmkr-color-1);

    height: 7px;
}#picture___ {
    border-radius: 4px;
    border: 2px dashed var(--jmkr-color-1);

    background-color: #22b1cd17;
    background-size: cover;
    background-position: center;

    width: 100%;
    padding-top: calc(17% - 17px);
    padding-bottom: calc(17% - 17px);

    text-align: center;
    letter-spacing: 0.75px;
    color: var(--jmkr-color-1) !important;

    margin-left: auto;
    margin-right: auto;
}

.delete_picture___ {
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;

    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    color: var(--jmkr-color-1);
    background-color: white;
    border-radius: 5px;

    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}

.delete_picture___ i {
    margin: 0 !important;
}

/* Download button styling to match delete button pattern */
.download_contentFile {
    position: absolute;
    bottom: 10px;
    left: 7.5px;
    cursor: pointer;

    height: 30px;
    line-height: 30px;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;

    background-color: white;
    border-radius: 5px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);

    transition: all 0.2s ease;
}

.download_contentFile:hover {
    background-color: var(--jmkr-color-1);
    color: white;
    transform: scale(1.05);
}

.download_contentFile a {
    display: block;
    color: var(--jmkr-color-1);
    text-decoration: none;
    width: 100%;
    height: 100%;
    line-height: inherit;
}

.download_contentFile:hover a {
    color: white;
}

.download_contentFile i {
    margin: 0 !important;
    font-size: 14px;
}

/* Ensure parent column can contain absolutely positioned buttons */
.display_contentFile .ui.grid .column {
    position: relative;
    padding-bottom: 45px !important;
}

.display_contentFile__preview {
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 6px;
    background: #f9fbfc;
    padding: 12px;
    margin-bottom: 12px;
    max-height: calc(100vh - 370px);
    overflow: auto;
}

.display_contentFile__preview--html {
    background: #f4f8ff;
}

.display_contentFile__preview--csv {
    background: #f6fbf4;
}

.display_contentFile__preview--markdown {
    background: #fdf8f2;
}

.display_contentFile__preview--docx {
    background: #f5f3ff;
}

.display_contentFile__preview--text {
    background: #f8f9fa;
}

.display_contentFile__preview--transcript {
    background: #f4f9f4;
    border-left: 3px solid #4caf50;
}

.display_contentFile__transcriptHeader {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 10px;
}

.display_contentFile__transcriptHeader i {
    color: #4caf50;
    font-size: 15px;
}

.display_contentFile__transcriptMeta {
    font-weight: 400;
    font-size: 11px;
    color: rgba(0, 0, 0, 0.45);
    margin-left: auto;
}

.display_contentFile__transcriptToggle {
    border: none;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 4px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: rgba(0, 0, 0, 0.5);
    transition: background 0.15s ease, color 0.15s ease;
}

.display_contentFile__transcriptToggle:hover {
    background: rgba(0, 0, 0, 0.08);
    color: rgba(0, 0, 0, 0.7);
}

.display_contentFile__transcriptContent {
    margin: 0;
    padding: 0;
    background: transparent;
    color: #334155;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 13px;
    line-height: 1.7;
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-x: auto;
    border: none;
}

.display_contentFile__loading,
.display_contentFile__error,
.display_contentFile__empty,
.display_contentFile__truncated {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: rgba(0, 0, 0, 0.65);
}

.display_contentFile__error {
    color: #d93f3f;
}

.display_contentFile__htmlIframe {
    width: 100%;
    min-height: 400px;
    height: calc(100vh - 370px);
    border: none;
    border-radius: 4px;
    background: #fff;
}

/* ============================================
   Markdown Preview Rich Text Styling
   Based on publicDocument.css patterns
   ============================================ */

.display_contentFile__markdownContent {
    line-height: 1.7;
    color: #334155;
    font-size: 15px;
}

/* ---------- Headings ---------- */

.display_contentFile__markdownContent h1 {
    font-size: 1.75rem;
    font-weight: 700;
    color: #0f172a;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--jmkr-color-1);
    line-height: 1.3;
}

.display_contentFile__markdownContent h1:first-child {
    margin-top: 0;
}

.display_contentFile__markdownContent h2 {
    font-size: 1.35rem;
    font-weight: 700;
    color: #1e293b;
    margin-top: 1.5rem;
    margin-bottom: 0.6rem;
    line-height: 1.3;
}

.display_contentFile__markdownContent h2:first-child {
    margin-top: 0;
}

.display_contentFile__markdownContent h3 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #334155;
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
    line-height: 1.4;
}

.display_contentFile__markdownContent h3:first-child {
    margin-top: 0;
}

.display_contentFile__markdownContent h4,
.display_contentFile__markdownContent h5,
.display_contentFile__markdownContent h6 {
    font-size: 1rem;
    font-weight: 600;
    color: #475569;
    margin-top: 1rem;
    margin-bottom: 0.4rem;
    line-height: 1.4;
}

/* ---------- Paragraphs ---------- */

.display_contentFile__markdownContent p {
    margin-bottom: 1rem;
    line-height: 1.7;
}

.display_contentFile__markdownContent p:last-child {
    margin-bottom: 0;
}

/* ---------- Lists ---------- */

.display_contentFile__markdownContent ul,
.display_contentFile__markdownContent ol {
    margin-bottom: 1rem;
    padding-left: 1.5rem;
}

.display_contentFile__markdownContent li {
    margin-bottom: 0.35rem;
    line-height: 1.6;
}

.display_contentFile__markdownContent li p {
    margin-bottom: 0.15rem;
}

.display_contentFile__markdownContent ul ul,
.display_contentFile__markdownContent ul ol,
.display_contentFile__markdownContent ol ul,
.display_contentFile__markdownContent ol ol {
    margin-top: 0.35rem;
    margin-bottom: 0.35rem;
}

/* ---------- Links ---------- */

.display_contentFile__markdownContent a {
    color: var(--jmkr-color-1);
    text-decoration: none;
    font-weight: 500;
}

.display_contentFile__markdownContent a:hover {
    text-decoration: underline;
}

/* ---------- Text Emphasis ---------- */

.display_contentFile__markdownContent strong,
.display_contentFile__markdownContent b {
    font-weight: 600;
    color: #1e293b;
}

.display_contentFile__markdownContent em,
.display_contentFile__markdownContent i {
    font-style: italic;
    color: #64748b;
}

.display_contentFile__markdownContent del {
    text-decoration: line-through;
    color: #94a3b8;
}

/* ---------- Blockquotes ---------- */

.display_contentFile__markdownContent blockquote {
    border-left: 4px solid var(--jmkr-color-1);
    margin: 1rem 0;
    padding: 0.75rem 1rem;
    color: #475569;
    font-style: italic;
    background: rgba(0, 0, 0, 0.02);
    border-radius: 0 4px 4px 0;
}

.display_contentFile__markdownContent blockquote p {
    margin-bottom: 0.5rem;
}

.display_contentFile__markdownContent blockquote p:last-child {
    margin-bottom: 0;
}

/* ---------- Code ---------- */

.display_contentFile__markdownContent code {
    background: #f1f5f9;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;
    font-size: 0.875em;
    color: #0f172a;
}

.display_contentFile__markdownContent pre {
    background: #1e293b;
    color: #e2e8f0;
    padding: 1rem;
    border-radius: 6px;
    overflow-x: auto;
    margin: 1rem 0;
    font-size: 0.875rem;
    line-height: 1.5;
}

.display_contentFile__markdownContent pre code {
    background: none;
    padding: 0;
    color: inherit;
    font-size: inherit;
}

/* ---------- Tables ---------- */

.display_contentFile__markdownContent table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.25rem 0;
    font-size: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    overflow: hidden;
}

.display_contentFile__markdownContent th {
    background-color: #f8fafc;
    font-weight: 600;
    color: #1e293b;
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 2px solid #e2e8f0;
}

.display_contentFile__markdownContent td {
    padding: 0.65rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: top;
}

.display_contentFile__markdownContent tr:last-child td {
    border-bottom: none;
}

.display_contentFile__markdownContent tr:nth-child(even) {
    background-color: #f8fafc;
}

/* ---------- Horizontal Rule ---------- */

.display_contentFile__markdownContent hr {
    border: none;
    border-top: 2px solid #e2e8f0;
    margin: 1.5rem 0;
}

/* ---------- Images ---------- */

.display_contentFile__markdownContent img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    margin: 0.5rem 0;
}

/* ---------- Task Lists (Checkboxes) ---------- */

.display_contentFile__markdownContent input[type="checkbox"] {
    margin-right: 0.5rem;
    vertical-align: middle;
}

/* Legacy class support */
.display_contentFile__markdownHeading {
    margin-top: 12px;
    font-weight: 600;
}

.display_contentFile__markdownList {
    margin-left: 20px;
    padding-left: 12px;
}

.display_contentFile__markdownParagraph {
    margin: 6px 0;
}

.display_contentFile__textContent {
    margin: 0;
    padding: 0;
    background: transparent;
    color: #334155;
    font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;
    font-size: 13px;
    line-height: 1.6;
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-x: auto;
}

/* Edit Button and Editor Styles */
.display_contentFile__editAction {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.display_contentFile__editButton {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--jmkr-color-1);
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease;
}

.display_contentFile__editButton:hover {
    background: var(--jmkr-color-1-dark, #1a8eb8);
    box-shadow: 0 4px 12px rgba(30, 171, 211, 0.25);
}

.display_contentFile__editButton i {
    font-size: 12px;
}

.display_contentFile__editorWrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.display_contentFile__textEditor {
    width: 100%;
    min-height: 300px;
    padding: 16px;
    font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;
    font-size: 13px;
    line-height: 1.6;
    color: #334155;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.15);
    border-radius: 6px;
    resize: vertical;
    box-sizing: border-box;
}

.display_contentFile__textEditor:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 0 3px rgba(30, 171, 211, 0.12);
}

.display_contentFile__editorActions {
    display: flex;
    gap: 10px;
    justify-content: flex-start;
}

.display_contentFile__editorButton {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease;
}

.display_contentFile__editorButton i {
    font-size: 12px;
}

.display_contentFile__editorButton--save {
    background: var(--jmkr-color-1);
    color: #ffffff;
}

.display_contentFile__editorButton--save:hover {
    background: var(--jmkr-color-1-dark, #1a8eb8);
    box-shadow: 0 4px 12px rgba(30, 171, 211, 0.25);
}

.display_contentFile__editorButton--cancel {
    background: #f1f5f9;
    color: #475569;
}

.display_contentFile__editorButton--cancel:hover {
    background: #e2e8f0;
}

.display_contentFile__docxContent {
    min-height: 160px;
    color: rgba(0, 0, 0, 0.8);
}

.display_contentFile__docxContent p {
    margin: 6px 0;
}

.display_contentFile__tableWrapper {
    max-height: 260px;
    overflow: auto;
}

.display_contentFile__table {
    width: 100%;
    border-collapse: collapse;
    background: white;
}

.display_contentFile__table td {
    border: 1px solid rgba(0, 0, 0, 0.08);
    padding: 6px 8px;
    font-size: 12px;
    white-space: nowrap;
}

.display_contentFile__table tr:nth-child(even) td {
    background: rgba(0, 0, 0, 0.02);
}

.display_contentFile__thumbnailGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
    padding: 4px 0;
}

.display_contentFile__thumbnailCard {
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    background: white;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 160px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.display_contentFile__thumbnailCard:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

.display_contentFile__thumbnailInner {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 12px;
}

.display_contentFile__thumbnailPreview {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.02);
    border-radius: 6px;
    height: 90px;
    margin-bottom: 10px;
}

.display_contentFile__thumbnailPreview img {
    max-height: 88px;
    max-width: 100%;
    border-radius: 4px;
    object-fit: cover;
}

.display_contentFile__thumbnailPreview i {
    font-size: 32px;
    color: rgba(0, 0, 0, 0.35);
}

.display_contentFile__thumbnailMeta {
    flex: 1;
}

.display_contentFile__thumbnailName {
    font-size: 13px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.8);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.display_contentFile__thumbnailType {
    font-size: 11px;
    color: rgba(0, 0, 0, 0.45);
    margin-top: 2px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.display_contentFile__thumbnailActions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 12px;
}

.display_contentFile__thumbnailButton {
    border: 0;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 5px;
    width: 32px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(0, 0, 0, 0.55);
    transition: background 0.2s ease, color 0.2s ease;
    cursor: pointer;
}

.display_contentFile__thumbnailButton:hover {
    background: var(--jmkr-color-1);
    color: white;
}

.display_contentFile__thumbnailButton i {
    margin: 0;
    font-size: 13px;
}

.display_contentFile__thumbnailInner.is-readonly {
    border-left: 3px solid rgba(0, 0, 0, 0.1);
}

.display_contentFile__thumbnailInner.is-editable {
    border-left: 3px solid var(--jmkr-color-1);
}

#audio___ {
    width: 100%;
}

#video___ {
    width: 100%;
}

#pdf___ {
    width: 100%;
}

#contentForm #clickHere {
    margin-top: 11px;
    border-radius: 4px;

    background-color: rgba(0, 0, 0, 0.1);
    background-size: cover;
    background-position: center;

    width: 100%;
    padding-top: calc(5% - 17px);
    padding-bottom: calc(5% - 17px);

    text-align: center;
    letter-spacing: 0.75px;
    color: var(--jmkr-color-1) !important;

    margin-left: auto;
    margin-right: auto;

    cursor: pointer;
}

#contentForm img {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    height: 200px;
    object-fit: contain;
}

#contentForm #progressBar {
    border-radius: 7px;

    background-color: rgba(0, 0, 0, 0.1);

    width: 177px;
    height: 7px;

    margin-left: auto;
    margin-right: auto;

    margin-top: 17px;
}

#contentForm #progress {
    border-radius: 7px;

    background-color: var(--jmkr-color-1);

    height: 7px;
}

/* ============================================
   Public File Page Overrides
   When display_contentFile renders on the public file page (FileFolderPage),
   remove the constrained preview box and match the inline HTML Document
   gold standard: full-width, white background, generous padding.
   Pattern source: fileFolderPreview_webText publicDocument__richText
   ============================================ */

.publicPage .display_contentFile__preview {
    max-height: none;
    border: none;
    border-radius: 0;
    background: #fff;
    padding: 20px 0;
    margin-bottom: 0;
}

.publicPage .display_contentFile__preview--markdown {
    background: #fff;
}

.publicPage .display_contentFile__preview--html {
    background: #fff;
}

.publicPage .display_contentFile__markdownContent {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #1e293b;
}

/* On file page, the 3-column grid wrapper is unnecessary for a single file.
   Override to full width for better readability. */
.publicPage .display_contentFile .ui.grid .column {
    width: 100% !important;
    padding-bottom: 12px !important;
}

/* Hide the inline download button on file page — FileFolderPage has its own download section */
.publicPage .download_contentFile {
    display: none;
}

/* ============================================
   Embed Mode File Type Renderers (Spec 1196 W2)
   Type-specific styles for files displayed inside the
   embed iframe. All rules scoped under .fileFolderPage--embed.
   Pattern source: fileFolder.css:1268-1284 (W1 embed selectors)
   ============================================ */

/* Grid layout: remove extra padding for edge-to-edge media content */
.fileFolderPage--embed .display_contentFile .ui.grid .column {
    padding-bottom: 0 !important;
}

/* Images: clean embed appearance, fill viewport, maintain aspect ratio */
/* Overrides base #picture___ (line 1): removes dashed border, tinted bg, and proportional padding */
.fileFolderPage--embed #picture___ {
    border: none;
    border-radius: 0;
    background-color: transparent;
    padding-top: 0;
    padding-bottom: 0;
    max-height: 100vh;
    object-fit: contain;
    display: block;
}

/* PDF: full viewport height viewer */
.fileFolderPage--embed #pdf___ {
    height: calc(100vh - 20px);
}

/* Video: responsive player, maintain aspect ratio */
.fileFolderPage--embed #video___ {
    width: 100%;
    height: auto;
    max-height: 100vh;
    object-fit: contain;
    display: block;
}

/* Audio: compact centered player */
.fileFolderPage--embed #audio___ {
    width: 90%;
    margin: auto;
    display: block;
}

/* Text-based previews: embed-optimized layout */
/* Overrides base .display_contentFile__preview (line 92): removes max-height constraint, */
/* border/border-radius chrome, and adjusts padding for compact embed readability. */
/* Self-sufficient — does not rely on .publicPage overrides (line 790) for correctness. */
.fileFolderPage--embed .display_contentFile__preview {
    max-height: none;
    border: none;
    border-radius: 0;
    background: #fff;
    padding: 12px 16px;
    margin-bottom: 0;
}

/* HTML iframe: viewport-sized, override min-height for small embeds */
.fileFolderPage--embed .display_contentFile__htmlIframe {
    min-height: 0;
    height: calc(100vh - 40px);
    border-radius: 0;
}#conversationAttachment #picture {
    border-radius: 4px;

    background-color: rgba(0,0,0,0.1);
    background-size: cover;
    background-position: center;

    width: 100%;
    padding-top: calc(50% - 17px);
    padding-bottom: calc(50% - 17px);

    text-align: center;
    letter-spacing: 0.75px;
    color: var(--jmkr-color-1) !important;

    margin-left: auto;
    margin-right: auto;

    cursor: pointer;
}

#conversationAttachment #clickHere {
    margin-top: 11px;
    border-radius: 4px;

    background-color: rgba(0,0,0,0.1);
    background-size: cover;
    background-position: center;

    width: 100%;
    padding-top: calc(5% - 17px);
    padding-bottom: calc(5% - 17px);

    text-align: center;
    letter-spacing: 0.75px;
    color: var(--jmkr-color-1) !important;

    margin-left: auto;
    margin-right: auto;

    cursor: pointer;
}

#conversationAttachment img {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

#conversationAttachment #progressBar {
    border-radius: 7px;

    background-color: rgba(0,0,0,0.1);

    width: 177px; 
    height: 7px;

    margin-left: auto;
    margin-right: auto;

    margin-top: 17px;
}

#conversationAttachment #progress {
    border-radius: 7px;

    background-color: var(--jmkr-color-1);

    height: 7px;
}#emailForm #uploadFile {
    background: var(--jmkr-color-1);
    color: white;
    padding: 11px;
    padding-left: 0px;
    padding-right: 0px;
    text-align: center;
    letter-spacing: 0.7px;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
}#FormPage #uploadFile,
.formFieldListRow #uploadFile {
    background: var(--jmkr-color-1);
    color: white;
    margin-top: 11px;
    padding: 11px;
    padding-left: 0px;
    padding-right: 0px;
    text-align: center;
    letter-spacing: 0.7px;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
}#serviceTypeForm #picture {
    border-radius: 4px;
    border: 2px dashed var(--jmkr-color-1);

    background-color: rgba(0,0,0,0.1);
    background-size: 90%;
    background-position: center;

    width: 100%;
    padding-top: calc(50% - 17px);
    padding-bottom: calc(50% - 17px);

    text-align: center;
    letter-spacing: 0.75px;
    color: var(--jmkr-color-1) !important;

    margin-left: auto;
    margin-right: auto;

    cursor: pointer;
}

#serviceTypeForm #clickHere {
    margin-top: 11px;
    border-radius: 4px;

    background-color: rgba(0,0,0,0.1);
    background-size: cover;
    background-position: center;

    width: 100%;
    padding-top: calc(5% - 17px);
    padding-bottom: calc(5% - 17px);

    text-align: center;
    letter-spacing: 0.75px;
    color: var(--jmkr-color-1) !important;

    margin-left: auto;
    margin-right: auto;

    cursor: pointer;
}

#serviceTypeForm img {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

#serviceTypeForm #progressBar {
    border-radius: 7px;

    background-color: rgba(0,0,0,0.1);

    width: 177px; 
    height: 7px;

    margin-left: auto;
    margin-right: auto;

    margin-top: 17px;
}

#serviceTypeForm #progress {
    border-radius: 7px;

    background-color: var(--jmkr-color-1);

    height: 7px;
}#Dashboard #picture,
#AccountInformation #picture {
    border-radius: 4px;

    background-color: rgba(0, 0, 0, 0.1);
    background-size: cover;
    background-position: center;

    width: 350px;
    padding-top: calc(350px/2 - 17px);
    padding-bottom: calc(350px/2 - 17px);

    text-align: center;
    letter-spacing: 0.75px;
    color: var(--jmkr-color-1) !important;

    cursor: pointer;
}

#Dashboard #clickHere {
    margin-top: 11px;
    border-radius: 4px;

    background-color: rgba(0, 0, 0, 0.1);
    background-size: cover;
    background-position: center;

    width: 100%;
    padding-top: calc(5% - 17px);
    padding-bottom: calc(5% - 17px);

    text-align: center;
    letter-spacing: 0.75px;
    color: var(--jmkr-color-1) !important;

    margin-left: auto;
    margin-right: auto;

    cursor: pointer;
}

#Dashboard img,
#AccountInformation img {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

#Dashboard #progressBar {
    border-radius: 7px;

    background-color: rgba(0, 0, 0, 0.1);

    max-width: 350px;
    height: 7px;

    margin-top: 17px;
}

#Dashboard #progress {
    border-radius: 7px;

    background-color: var(--jmkr-color-1);

    height: 7px;
}#accountSetting #picture {
    border-radius: 4px;

    background-color: rgba(0,0,0,0.1);
    background-size: cover;
    background-position: center;

    width: 100%;
    padding-top: calc(50% - 17px);
    padding-bottom: calc(50% - 17px);

    text-align: center;
    letter-spacing: 0.75px;
    color: var(--jmkr-color-1) !important;

    margin-left: auto;
    margin-right: auto;

    cursor: pointer;
}

#accountSetting #clickHere {
    margin-top: 11px;
    border-radius: 4px;

    background-color: rgba(0,0,0,0.1);
    background-size: cover;
    background-position: center;

    width: 100%;
    padding-top: calc(5% - 17px);
    padding-bottom: calc(5% - 17px);

    text-align: center;
    letter-spacing: 0.75px;
    color: var(--jmkr-color-1) !important;

    margin-left: auto;
    margin-right: auto;

    cursor: pointer;
}

#accountSetting img {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

#accountSetting #progressBar {
    border-radius: 7px;

    background-color: rgba(0,0,0,0.1);

    width: 177px; 
    height: 7px;

    margin-left: auto;
    margin-right: auto;

    margin-top: 17px;
}

#accountSetting #progress {
    border-radius: 7px;

    background-color: var(--jmkr-color-1);

    height: 7px;
}#popupPaymentBG {
  z-index: 111;
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35));
}

#popupPayment .form input,
#popupPayment .form label {
  color: white !important;
}

#popupPayment .form input {
  background: none !important;
  border: none !important;
  border-bottom: 1px solid white !important;
}

#popupPayment {
  z-index: 112;
  position: fixed;

  background-color: var(--jmkr-color-1);
  left: 0px;
  top: calc(50% - 510px/2);
  max-height: calc(100% - 17px*2);
  left: calc(50% - 500px/2);
  width: 500px;
  padding: 34px;
  padding-bottom: 17px;
  border-radius: 5px;
  overflow: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

#popupPayment #title {
  text-align: center;
  padding-bottom: 17px;
  font-size: 20px;
  color: white;
  line-height: 25px;
  font-weight: bold;
  letter-spacing: 1px;
}

@media screen and (max-width: 767px) {
  #popupPayment {
    left: 11px;
    width: calc(100% - 22px);
    padding: 17px;
  }

  #popupPayment #title {
    text-align: left;
    padding-bottom: 0px;
    font-size: 13px;
    color: white;
    text-transform: uppercase;
    letter-spacing: 2px;
  }
}

.mobile #popupPayment {
  top: 60px;
  max-height: calc(100% - 60px);
  left: 0px;
  width: calc(100% - 0px);
  border-radius: 0px;
  padding: 17px;
}

#popupPayment #close {
  margin-top: 11px;
  text-align: center;
  width: 100%;
  font-size: 27px;
  color: white;
  line-height: 60px;
  text-transform: uppercase;
  letter-spacing: 2px;
  cursor: pointer;
}

#popupPayment #disclaimer {
  letter-spacing: 0.5px;
  color: white;
  font-size: 12px;
  padding-bottom: 11px;
  text-align: center;
  width: 190px;
  margin-left: auto;
  margin-right: auto;
}

#popupPayment #poweredBy {
  background-image: url('jmkr/poweredbystripe.png');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 28px;
  margin-top: 0px;
}#pdf-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #f0f0f0;
    overflow: hidden;
    font-family: Arial, sans-serif;
}

#pdf-overlay {
    position: absolute;
    top: calc(60px + 1.7em);
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    width: auto;
    height: calc(100% - 40px);
}

.pdf-field-highlight,
.pdf-field-link {
    z-index: 1;
    position: absolute;
    border: 1px solid #00f;
    background-color: rgba(0, 0, 255, 0.1);
    cursor: pointer;
    pointer-events: auto;
    transform-origin: top left;
}

.pdf-field-link {
    z-index: 2;
    border: 1px solid rgb(0, 255, 98);
    background-color: rgba(0, 255, 102, 0.35);
    position: absolute;
    overflow: hidden;
}

.pdf-field-link-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0px;
    border-radius: 3px;
    font-size: 11px;
    letter-spacing: -0.05em;
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90%;
}

#pdf-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fafafa;
    border-bottom: 1px solid #ccc;
    padding: 0.5rem 1rem;
}

#pdf-toolbar .toolbar-section {
    display: flex;
    align-items: center;
    gap: 1rem;
}

#pdf-page-refresh,
#pdf-page-previousButton,
#pdf-page-nextButton,
#pdf-page-rotate {
    cursor: pointer;
    user-select: none;
}

#pdf-page-refresh {
    opacity: 0.5;
}

#pdf-page-info {
    font-weight: bold;
}

.zoom-container {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

#pdf-zoom-slider {
    width: 100px;
    cursor: pointer;
}

#zoom-value {
    min-width: 2em;
}

#pdf-canvas {
    flex: 1 1 auto;
    background: #fff;
    display: block;
    margin: 1.7em auto !important;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100% - 40px);
}
.lucide-icon {
  font-family: 'lucide' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  speak: never;
}

/* Size variants (matching Fomantic) */
.lucide-icon.mini { font-size: 0.4em; }
.lucide-icon.tiny { font-size: 0.5em; }
.lucide-icon.small { font-size: 0.75em; }
.lucide-icon.large { font-size: 1.5em; }
.lucide-icon.big { font-size: 2em; }
.lucide-icon.huge { font-size: 4em; }
.lucide-icon.massive { font-size: 8em; }

/* Color modifiers */
.lucide-icon.red { color: #db2828; }
.lucide-icon.orange { color: #f2711c; }
.lucide-icon.yellow { color: #fbbd08; }
.lucide-icon.olive { color: #b5cc18; }
.lucide-icon.green { color: #21ba45; }
.lucide-icon.teal { color: #00b5ad; }
.lucide-icon.blue { color: #2185d0; }
.lucide-icon.violet { color: #6435c9; }
.lucide-icon.purple { color: #a333c8; }
.lucide-icon.pink { color: #e03997; }
.lucide-icon.brown { color: #a5673f; }
.lucide-icon.grey, .lucide-icon.gray { color: #767676; }
.lucide-icon.black { color: #1b1c1d; }
.lucide-icon.white { color: #ffffff; }

/* Loading animation */
.lucide-icon.loading {
  animation: lucide-spin 1s linear infinite;
}

@keyframes lucide-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* State modifiers */
.lucide-icon.disabled {
  opacity: 0.45;
  pointer-events: none;
}

.lucide-icon.fitted {
  width: auto;
  margin: 0;
}

/* Link icons */
.lucide-icon.link {
  cursor: pointer;
  opacity: 0.8;
  transition: opacity 0.1s ease;
}

.lucide-icon.link:hover {
  opacity: 1;
}

/* Circular icons */
.lucide-icon.circular {
  border-radius: 500em;
  line-height: 1;
  padding: 0.5em;
  box-shadow: 0 0 0 0.1em rgba(0, 0, 0, 0.1) inset;
  width: 2em;
  height: 2em;
}

/* Bordered icons */
.lucide-icon.bordered {
  line-height: 1;
  vertical-align: baseline;
  width: 2em;
  height: 2em;
  padding: 0.5em;
  box-shadow: 0 0 0 0.1em rgba(0, 0, 0, 0.1) inset;
  border-radius: 0.25em;
}

/* Inverted icons */
.lucide-icon.inverted {
  color: #ffffff;
}

.lucide-icon.inverted.red { background-color: #db2828; }
.lucide-icon.inverted.orange { background-color: #f2711c; }
.lucide-icon.inverted.yellow { background-color: #fbbd08; }
.lucide-icon.inverted.green { background-color: #21ba45; }
.lucide-icon.inverted.teal { background-color: #00b5ad; }
.lucide-icon.inverted.blue { background-color: #2185d0; }
.lucide-icon.inverted.purple { background-color: #a333c8; }
.lucide-icon.inverted.pink { background-color: #e03997; }
.lucide-icon.inverted.grey, .lucide-icon.inverted.gray { background-color: #767676; }
.lucide-icon.inverted.black { background-color: #1b1c1d; }

/* Flipped icons */
.lucide-icon.horizontally.flipped {
  transform: scaleX(-1);
}

.lucide-icon.vertically.flipped {
  transform: scaleY(-1);
}

/* Rotated icons */
.lucide-icon.clockwise.rotated {
  transform: rotate(90deg);
}

.lucide-icon.counterclockwise.rotated {
  transform: rotate(-90deg);
}

/* Corner icons in groups */
.lucide-icon.corner {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0;
  left: auto;
  font-size: 0.45em;
}

/* Stacked icons container (replaces Fomantic's .icons) */
.lucide-stacked {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2em;
  height: 1.2em;
  vertical-align: middle;
}

.lucide-stacked .lucide-icon {
  position: absolute;
}

.lucide-stacked .lucide-icon:first-child {
  position: relative;
  font-size: 1em;
}

.lucide-stacked .lucide-icon:last-child {
  font-size: 0.5em;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Verified badge variant */
.lucide-stacked.verified .lucide-icon:first-child {
  color: var(--jmkr-color-1, #5AB3FF);
}

.lucide-stacked.verified .lucide-icon:last-child {
  color: white;
  font-size: 0.45em;
}

/* Cancelled/void variant */
.lucide-stacked.cancelled .lucide-icon:first-child {
  opacity: 0.5;
}

.lucide-stacked.cancelled .lucide-icon:last-child {
  color: var(--jmkr-color-danger, #db2828);
  font-size: 0.7em;
}.mc-calendar--inline {
    max-width: 400px !important;
    box-shadow: 1px 1px 17px rgba(0, 0, 0, 0.17);
}

.mc-select__data--month,
.mc-select__data--month span {
    width: 7em !important;
    max-width: 7em !important;
}

.mc-calendar--inline .mc-select__data--month,
.mc-calendar--inline .mc-select__data--month span {
    width: 8em !important;
    max-width: 8em !important;
    text-align: left !important;
}.mdtimepicker .mdtp__wrapper .mdtp__clock_holder .mdtp__clock .mdtp__digit.active:before,
.mdtimepicker .mdtp__wrapper .mdtp__clock_holder .mdtp__clock .mdtp__digit.active span,
.mdtimepicker .mdtp__wrapper .mdtp__clock_holder .mdtp__clock .mdtp__digit:not(.digit--disabled) span:hover,
.mdtimepicker .mdtp__wrapper .mdtp__clock_holder .mdtp__clock .mdtp__clock_dot,
.mdtimepicker .mdtp__wrapper .mdtp__clock_holder .mdtp__clock .mdtp__am.active,
.mdtimepicker .mdtp__wrapper .mdtp__clock_holder .mdtp__clock .mdtp__pm.active,
.mdtp__wrapper[data-theme='jmkr'] .mdtp__clock .mdtp__digit.active span,
.mdtp__wrapper[data-theme='jmkr'] .mdtp__clock .mdtp__digit:not(.digit--disabled) span:hover,
.mdtp__wrapper[data-theme='jmkr'] .mdtp__time_holder {
    background-color: var(--jmkr-color-1) !important;
}

.mdtp__wrapper[data-theme='dark'] .mdtp__button,
.mdtp__wrapper[data-theme='jmkr'] .mdtp__button {
    color: var(--jmkr-color-1) !important;
    padding: 0px 3.5px !important;
    text-align: right !important;
}

.mdtp__wrapper[data-theme='dark'] .mdtp__button:hover,
.mdtp__wrapper[data-theme='jmkr'] .mdtp__button:hover {
    background-color: #fff !important;
}

.mdtimepicker .mdtp__wrapper .mdtp__button.cancel {
    float: left;
}

.mdtimepicker .mdtp__wrapper {
    bottom: calc(50% - 420px/2);
    box-shadow: 1px 1px 17px rgba(0, 0, 0, 0.17);
}

.mdtimepicker .mdtp__clock_holder {
    background-color: #F5F5F6;
}

.mdtimepicker {
    background-color: rgba(0, 0, 0, 0) !important;
}#gtthrAddPaymentMethod_stripe #poweredByStripe {
    background-image: url('entrzn/poweredByStripe.png');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 170px;
    height: 50px;
    margin-left: auto;
    margin-right: auto;
}


#gtthrAddPaymentMethod_stripe * {
    font-size: 19px;
    font-variant: normal;
    padding: 0;
    margin: 0;
}

#gtthrAddPaymentMethod_stripe html {
    height: 100%;
}

#gtthrAddPaymentMethod_stripe body {
    background: #424770;
    display: flex;
    align-items: center;
    min-height: 100%;
}

#gtthrAddPaymentMethod_stripe form {
    width: auto;
    margin: 20px auto;
    margin-bottom: 0px;
    margin-top: 0px;
}

#gtthrAddPaymentMethod_stripe label {
    height: 35px;
    position: relative;
    color: black;
    display: block;
    margin-top: 30px;
    margin-bottom: 20px;
}

#gtthrAddPaymentMethod_stripe label>span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-weight: 300;
    line-height: 32px;
    color: black;
    border-bottom: 1px solid black;
    transition: border-bottom-color 200ms ease-in-out;
    cursor: text;
    pointer-events: none;
}

#gtthrAddPaymentMethod_stripe label>span span {
    position: absolute;
    top: 0;
    left: 0;
    transform-origin: 0% 50%;
    transition: transform 200ms ease-in-out;
    cursor: text;
}

#gtthrAddPaymentMethod_stripe .ElementsApp,
#gtthrAddPaymentMethod_stripe .ElementsApp .InputElement {
    color: black;
}

#gtthrAddPaymentMethod_stripe label .field.is-focused+span span,
#gtthrAddPaymentMethod_stripe label .field:not(.is-empty)+span span {
    transform: scale(0.68) translateY(-36px);
    cursor: default;
}

#gtthrAddPaymentMethod_stripe label .field.is-focused+span {
    border-bottom-color: black;
}

#gtthrAddPaymentMethod_stripe .field {
    background: transparent;
    font-weight: 300;
    border: 0;
    color: black;
    outline: none;
    cursor: text;
    display: block;
    width: 100%;
    line-height: 32px;
    padding-bottom: 3px;
    transition: opacity 200ms ease-in-out;
}

#gtthrAddPaymentMethod_stripe .field::-webkit-input-placeholder {
    color: grey;
}

#gtthrAddPaymentMethod_stripe .field::-moz-placeholder {
    color: grey;
}

/* IE doesn't show placeholders when empty+focused */
#gtthrAddPaymentMethod_stripe .field:-ms-input-placeholder {
    color: grey;
}

#gtthrAddPaymentMethod_stripe .field.is-empty:not(.is-focused) {
    opacity: 0;
}

#gtthrAddPaymentMethod_stripe button {
    float: left;
    display: block;
    background-color: var(--gtthr-dark-color-1);
    color: white !important;
    border-radius: 4px;
    letter-spacing: 0.75px;
    border: 0;
    margin-top: 0px;
    font-size: 19px;
    font-weight: bold;
    width: 100%;
    height: 57px;
    line-height: 55px;
    outline: none;
}

#gtthrAddPaymentMethod_stripe button:focus {
    background: none;
    color: black;
    border: 1px solid black;
}

#gtthrAddPaymentMethod_stripe button:active {
    background: none;
    color: black;
    border: 1px solid black;
}

#gtthrAddPaymentMethod_stripe .outcome {
    float: left;
    width: 100%;
    padding-top: 21px;
    padding-bottom: 17px;
    min-height: 20px;
    text-align: center;
}

#gtthrAddPaymentMethod_stripe .success,
#gtthrAddPaymentMethod_stripe .error {
    display: none;
    font-size: 15px;
}

#gtthrAddPaymentMethod_stripe .success.visible,
#gtthrAddPaymentMethod_stripe .error.visible {
    display: inline;
}

#gtthrAddPaymentMethod_stripe .error {
    color: #E4584C;
}

#gtthrAddPaymentMethod_stripe .success {
    color: #34D08C;
}

#gtthrAddPaymentMethod_stripe .success .token {
    font-weight: 500;
    font-size: 15px;
}

#gtthrAddPaymentMethod_stripe .outcome * {
    font-size: 17px;
    letter-spacing: 0.17px;
    color: #E58D1F;
    font-weight: bold;
    text-align: center;
}

#gtthrAddPaymentMethod_stripe input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px #1eadd3 inset;
    -webkit-text-fill-color: black !important;
}
.chph__accountUsage {
  margin-bottom: 10px;
  border-bottom: 1px solid var(--chph-border-default);
  padding-top: 0px;
}

.chph__accountUsage__loading,
.chph__accountUsage__empty {
  padding: 8px 0;
  font-size: 12px;
  color: var(--chph-text-muted);
  text-align: center;
}

.chph__accountUsage__error {
  padding: 8px;
  font-size: 12px;
  color: #e56060;
  border-radius: 6px;
  background: rgba(229, 96, 96, 0.1);
}

/* ─────────────────────────────────────────────────────────────────
   Account Row
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__row {
  padding: 6px 0;
}

.chph__accountUsage__row + .chph__accountUsage__row {
  border-top: 1px solid var(--chph-border-subtle);
  margin-top: 8px;
  padding-top: 6px;
}

.chph__accountUsage__row--cartridge {
  background: rgba(99, 102, 241, 0.06);
  border-radius: 6px;
  padding: 6px 8px;
  margin: 0px;
  border-left: 2px solid rgba(99, 102, 241, 0.5);
}

.chph__accountUsage__row--active {
  background: rgba(99, 102, 241, 0.06);
  border-radius: 6px;
  padding: 6px 8px;
  margin: 0px;
  border-left: 2px solid rgba(99, 102, 241, 0.5);
}

/* ─────────────────────────────────────────────────────────────────
   Header (indicator + name + badges)
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  font-size: 12px;
  line-height: 1;
}

.chph__accountUsage__indicator {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

.chph__accountUsage__indicator--active {
  background: #22c55e;
  box-shadow: 0 0 4px rgba(34, 197, 94, 0.5);
}

.chph__accountUsage__indicator--idle {
  background: var(--chph-text-faint);
}

.chph__accountUsage__indicator--error {
  background: #e56060;
}

.chph__accountUsage__name {
  font-weight: 600;
  color: var(--chph-text-primary);
}

.chph__accountUsage__badge {
  color: var(--chph-text-muted);
  font-size: 11px;
}

.chph__accountUsage__cartridgeBadge {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: var(--chph-accent);
  background: rgba(99, 102, 241, 0.12);
  border: 1px solid rgba(99, 102, 241, 0.25);
  border-radius: 3px;
  padding: 1px 5px;
}

.chph__accountUsage__row--error {
  opacity: 0.7;
  border-left: 2px solid rgba(249, 115, 22, 0.5);
  border-radius: 6px;
  padding: 6px 8px;
  margin: 0 -8px;
}

/* ─────────────────────────────────────────────────────────────────
   Action row (Spec 1257) — beneath the name so buttons don't compete
   with the name/badges for horizontal space.
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 4px 0 6px 15px; /* align with text after indicator dot */
  font-size: 11px;
  line-height: 1;
}

.chph__accountUsage__actionBtn {
  background: transparent;
  border: 1px solid var(--chph-border-default);
  color: var(--chph-text-muted);
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 3px;
  cursor: pointer;
  line-height: 1;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.chph__accountUsage__actionBtn:hover {
  background: rgba(99, 102, 241, 0.08);
  border-color: var(--chph-accent);
  color: var(--chph-text-primary);
}

.chph__accountUsage__probeBtn {
  border-color: rgba(99, 102, 241, 0.4);
  color: var(--chph-accent);
}

.chph__accountUsage__probeBtn:hover {
  background: rgba(99, 102, 241, 0.12);
  border-color: var(--chph-accent);
  color: var(--chph-accent);
}

/* The standalone delete-cancel button used in the add-flow header keeps its
   legacy bare-glyph styling (no action-button chrome around it). */
.chph__accountUsage__deleteBtn--visible {
  background: none;
  border: none;
  color: var(--chph-text-faint);
  font-size: 11px;
  cursor: pointer;
  padding: 0 2px;
  line-height: 1;
  opacity: 1;
}

.chph__accountUsage__deleteBtn--visible:hover {
  color: #e56060;
}

.chph__accountUsage__errorMsg {
  font-size: 11px;
  color: #e56060;
  padding: 2px 0 2px 13px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.chph__accountUsage__errorCount {
  font-size: 10px;
  font-weight: 600;
  color: #f97316;
  font-family: monospace;
}

.chph__accountUsage__cooldown {
  font-size: 10px;
  color: var(--chph-text-faint);
  font-family: monospace;
}

/* ─────────────────────────────────────────────────────────────────
   Re-login Button — recovery action, red accent so it stands apart
   from the benign Probe button when both sit side-by-side.
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__reloginBtn {
  border-color: rgba(229, 96, 96, 0.4);
  color: #e56060;
}

.chph__accountUsage__reloginBtn:hover {
  background: rgba(229, 96, 96, 0.1);
  border-color: #e56060;
  color: #ff7070;
}

/* Delete button when it lives in the action row (Spec 1257): hostile-action
   tint so it reads as destructive even at a glance. */
.chph__accountUsage__actions .chph__accountUsage__deleteBtn {
  border-color: rgba(229, 96, 96, 0.2);
  color: var(--chph-text-muted);
}

.chph__accountUsage__actions .chph__accountUsage__deleteBtn:hover {
  background: rgba(229, 96, 96, 0.08);
  border-color: rgba(229, 96, 96, 0.6);
  color: #e56060;
}

/* ─────────────────────────────────────────────────────────────────
   Login Flow (auth link + code input)
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__loginFlow {
  padding: 6px 0 4px 13px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.chph__accountUsage__authLink {
  font-size: 11px;
  color: var(--chph-accent);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color 0.15s ease;
}

.chph__accountUsage__authLink:hover {
  color: var(--chph-text-primary);
  text-decoration: underline;
}

.chph__accountUsage__codeInput {
  display: flex;
  gap: 4px;
  align-items: center;
}

.chph__accountUsage__codeField {
  flex: 1;
  font-size: 11px;
  font-family: monospace;
  padding: 4px 8px;
  border: 1px solid var(--chph-border-default);
  border-radius: 4px;
  background: var(--chph-bg-input, rgba(0, 0, 0, 0.05));
  color: var(--chph-text-primary);
  outline: none;
  min-width: 0;
  transition: border-color 0.15s ease;
}

.chph__accountUsage__codeField:focus {
  border-color: var(--chph-accent);
}

.chph__accountUsage__codeField::placeholder {
  color: var(--chph-text-faint);
  font-family: inherit;
}

.chph__accountUsage__codeSubmit {
  background: var(--chph-accent);
  border: none;
  color: white;
  font-size: 12px;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: opacity 0.15s ease;
}

.chph__accountUsage__codeSubmit:hover {
  opacity: 0.85;
}

.chph__accountUsage__codeCancel {
  background: transparent;
  border: 1px solid rgba(229, 96, 96, 0.4);
  color: #e56060;
  font-size: 12px;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.chph__accountUsage__codeCancel:hover {
  background: rgba(229, 96, 96, 0.1);
  border-color: #e56060;
}

/* Inline login error — sits directly underneath the code input so the user
   sees feedback next to where they just clicked, not at the top of the panel. */
.chph__accountUsage__loginError {
  margin-top: 4px;
  padding: 4px 8px;
  font-size: 11px;
  color: #e56060;
  background: rgba(229, 96, 96, 0.08);
  border: 1px solid rgba(229, 96, 96, 0.3);
  border-radius: 3px;
  line-height: 1.35;
}

.chph__accountUsage__loginError--stale {
  color: #f97316;
  background: rgba(249, 115, 22, 0.08);
  border-color: rgba(249, 115, 22, 0.3);
}

.chph__accountUsage__loginErrorHint {
  color: var(--chph-text-muted);
  font-style: italic;
  margin-left: 4px;
}

/* Dead paste-box — the subprocess handle is gone, the field is inert. */
.chph__accountUsage__codeField--stale {
  opacity: 0.55;
  text-decoration: line-through;
  cursor: not-allowed;
}

.chph__accountUsage__codeSubmit[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}

/* "Starting wrapped claude auth login…" / "Submitting code…" status rows — shown
   while a wrapped-CLI call is in flight. The spinner gives the operator clear
   feedback that the click registered; the italic copy explains what is
   happening without hijacking the whole panel. */
.chph__accountUsage__loginStatus {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--chph-text-muted);
  font-style: italic;
  padding: 4px 0;
  line-height: 1.35;
}

.chph__accountUsage__loginStatus--submitting {
  margin-top: 4px;
  color: var(--chph-accent);
  font-weight: 500;
}

.chph__accountUsage__spinner {
  display: inline-block;
  width: 10px;
  height: 10px;
  border: 2px solid rgba(99, 102, 241, 0.2);
  border-top-color: var(--chph-accent);
  border-radius: 50%;
  animation: chph__accountUsage__spin 0.8s linear infinite;
  flex-shrink: 0;
}

@keyframes chph__accountUsage__spin {
  to { transform: rotate(360deg); }
}

/* ─────────────────────────────────────────────────────────────────
   Gauge Bar
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__gauge {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 1px 0 1px 13px;
}

.chph__accountUsage__label {
  font-size: 11px;
  color: var(--chph-text-muted);
  width: 20px;
  flex-shrink: 0;
  font-family: monospace;
}

.chph__accountUsage__bar {
  flex: 1;
  height: 6px;
  background: var(--chph-border-default);
  border-radius: 3px;
  overflow: hidden;
  min-width: 0;
}

.chph__accountUsage__fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  min-width: 0;
}

.chph__accountUsage__fill--ok {
  background: #22c55e;
}

.chph__accountUsage__fill--warning {
  background: #eab308;
}

.chph__accountUsage__fill--danger {
  background: #e56060;
}

.chph__accountUsage__pct {
  font-size: 11px;
  color: var(--chph-text-secondary);
  width: 28px;
  text-align: right;
  flex-shrink: 0;
  font-family: monospace;
}

/* ─────────────────────────────────────────────────────────────────
   Countdown
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__countdown {
  font-size: 10px;
  color: var(--chph-text-faint);
  padding: 0 0 2px 39px;
}

.chph__accountUsage__polledAt {
  font-size: 9px;
  color: var(--chph-text-faint);
  padding: 2px 0 0 39px;
  opacity: 0.6;
}

/* ─────────────────────────────────────────────────────────────────
   Pool Health Summary (Spec 1011)
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__poolHealth {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0 6px;
  font-size: 11px;
  flex-wrap: wrap;
}

.chph__accountUsage__poolStat {
  font-weight: 600;
}

.chph__accountUsage__poolStat--total {
  color: var(--chph-text-primary);
  font-size: 14px;
  margin-right: -2px;
}

.chph__accountUsage__poolStat--total::after {
  content: " accts";
  font-size: 10px;
  font-weight: 400;
  color: var(--chph-text-faint);
}

.chph__accountUsage__poolStat--ready {
  color: #22c55e;
}

.chph__accountUsage__poolStat--emergency {
  color: #d97706;
}

.chph__accountUsage__poolStat--inuse {
  color: var(--chph-accent);
}

.chph__accountUsage__poolStat--limited {
  color: #ef4444;
}

.chph__accountUsage__poolStat--expired {
  color: #e56060;
}

.chph__accountUsage__poolStat--cooling {
  color: #eab308;
}

.chph__accountUsage__poolStat--errored {
  color: #f97316;
}

.chph__accountUsage__poolLabel {
  color: var(--chph-text-faint);
  font-weight: 400;
  font-size: 10px;
}

.chph__accountUsage__coolingThreshold {
  margin-left: auto;
  color: var(--chph-text-faint);
  font-family: monospace;
  font-size: 10px;
  cursor: pointer;
}

.chph__accountUsage__coolingThreshold:hover,
.chph__accountUsage__coolingThreshold:focus {
  color: var(--chph-text);
  outline: none;
}

/* ─────────────────────────────────────────────────────────────────
   Aggregate Summary (Collapsed View)
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__aggregate {
  padding: 2px 0 6px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.chph__accountUsage__aggHeader {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0 6px;
  font-size: 11px;
  flex-wrap: wrap;
}

.chph__accountUsage__aggStats,
.chph__accountUsage__aggFacts {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.chph__accountUsage__aggFacts {
  gap: 6px;
}

.chph__accountUsage__aggFact {
  font-size: 10px;
  font-weight: 600;
  border-radius: 999px;
  padding: 2px 7px;
  background: rgba(148, 163, 184, 0.12);
  color: var(--chph-text-secondary);
}

.chph__accountUsage__aggFact--primary {
  background: rgba(99, 102, 241, 0.12);
  color: var(--chph-accent);
}

.chph__accountUsage__aggFact--cooling {
  background: rgba(234, 179, 8, 0.14);
  color: #d97706;
}

.chph__accountUsage__aggFact--emergency {
  background: rgba(234, 179, 8, 0.2);
  color: #eab308;
}

.chph__accountUsage__aggFact--danger {
  background: rgba(229, 96, 96, 0.14);
  color: #e56060;
}

.chph__accountUsage__aggFact--muted {
  background: rgba(148, 163, 184, 0.1);
  color: var(--chph-text-faint);
}

.chph__accountUsage__aggGauges {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.chph__accountUsage__aggGauge {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* ─────────────────────────────────────────────────────────────────
   Status Badge + Type Badge (Spec 1011)
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__statusBadge {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.5px;
  border-radius: 3px;
  padding: 1px 5px;
  text-transform: uppercase;
}

.chph__accountUsage__status--ready {
  color: #22c55e;
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.25);
}

.chph__accountUsage__status--inuse {
  color: var(--chph-accent);
  background: rgba(99, 102, 241, 0.12);
  border: 1px solid rgba(99, 102, 241, 0.25);
}

.chph__accountUsage__status--cooling {
  color: #eab308;
  background: rgba(234, 179, 8, 0.12);
  border: 1px solid rgba(234, 179, 8, 0.25);
}

.chph__accountUsage__status--emergency {
  color: #d97706;
  background: rgba(217, 119, 6, 0.14);
  border: 1px solid rgba(217, 119, 6, 0.3);
}

.chph__accountUsage__status--limited {
  color: #ef4444;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.28);
}

.chph__accountUsage__status--expired {
  color: #e56060;
  background: rgba(229, 96, 96, 0.12);
  border: 1px solid rgba(229, 96, 96, 0.25);
}

.chph__accountUsage__status--errored {
  color: #f97316;
  background: rgba(249, 115, 22, 0.12);
  border: 1px solid rgba(249, 115, 22, 0.25);
}

.chph__accountUsage__typeBadge {
  font-size: 9px;
  color: var(--chph-text-faint);
  font-family: monospace;
  text-transform: lowercase;
}

/* ─────────────────────────────────────────────────────────────────
   Controls (Toggle + Add + Migrate)
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__controls {
  display: flex;
  align-items: center;
  margin-top: 4px;
}

.chph__accountUsage__toggle {
  flex: 1;
  padding: 3px 0;
  background: none;
  border: none;
  color: var(--chph-text-faint);
  font-size: 11px;
  cursor: pointer;
  text-align: center;
  transition: color 0.15s ease;
}

.chph__accountUsage__toggle:hover {
  color: var(--chph-text-secondary);
}

@keyframes chphRefreshSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.chph__accountUsage__refreshBtn--spinning {
  animation: chphRefreshSpin 1s linear infinite;
}

.chph__accountUsage__refreshBtn,
.chph__accountUsage__addBtn,
.chph__accountUsage__migrateBtn,
.chph__accountUsage__emergencyBtn {
  background: none;
  border: none;
  color: var(--chph-text-faint);
  font-size: 14px;
  cursor: pointer;
  padding: 2px 6px;
  line-height: 1;
  transition: color 0.15s ease;
  flex-shrink: 0;
}

.chph__accountUsage__refreshBtn:hover,
.chph__accountUsage__addBtn:hover,
.chph__accountUsage__migrateBtn:hover {
  color: var(--chph-accent);
}

/* ─────────────────────────────────────────────────────────────────
   Emergency Mode Button + Badge (Spec 1011)
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__emergencyBtn:hover {
  color: #eab308;
}

.chph__accountUsage__emergencyBtn--active {
  color: #eab308;
  text-shadow: 0 0 6px rgba(234, 179, 8, 0.4);
}

.chph__accountUsage__emergencyBadge {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #eab308;
  background: rgba(234, 179, 8, 0.15);
  border: 1px solid rgba(234, 179, 8, 0.4);
  border-radius: 3px;
  padding: 1px 6px;
  box-shadow: 0 0 6px rgba(234, 179, 8, 0.3), 0 0 12px rgba(234, 179, 8, 0.15);
  animation: chphEmergencyGlow 2s ease-in-out infinite;
}

.chph__accountUsage__emergencyBadge--inline {
  animation: none;
  box-shadow: none;
}

@keyframes chphEmergencyGlow {
  0%, 100% {
    box-shadow: 0 0 6px rgba(234, 179, 8, 0.3), 0 0 12px rgba(234, 179, 8, 0.15);
    text-shadow: 0 0 4px rgba(234, 179, 8, 0.4);
  }
  50% {
    box-shadow: 0 0 10px rgba(234, 179, 8, 0.5), 0 0 20px rgba(234, 179, 8, 0.25);
    text-shadow: 0 0 8px rgba(234, 179, 8, 0.6);
  }
}

/* ─────────────────────────────────────────────────────────────────
   Add Account Flow
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__addFlow {
  border-top: 1px solid var(--chph-border-subtle);
  margin-top: 8px;
  padding-top: 6px;
}

.chph__accountUsage__addHeader {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  font-size: 12px;
  line-height: 1;
}

/* ─────────────────────────────────────────────────────────────────
   Token Health Indicator (Spec 1167)
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__tokenHealth {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 6px;
  margin-bottom: 6px;
  font-size: 11px;
  flex-wrap: wrap;
}

.chph__accountUsage__tokenHealth--collapsed {
  margin-top: 2px;
  margin-bottom: 2px;
}

.chph__accountUsage__tokenHealth--ok {
  background: rgba(34, 197, 94, 0.06);
  border: 1px solid rgba(34, 197, 94, 0.2);
}

.chph__accountUsage__tokenHealth--expired {
  background: rgba(229, 96, 96, 0.06);
  border: 1px solid rgba(229, 96, 96, 0.2);
}

.chph__accountUsage__tokenHealth--emergency {
  background: rgba(234, 179, 8, 0.08);
  border: 1px solid rgba(234, 179, 8, 0.24);
}

.chph__accountUsage__tokenHealth--limited {
  background: rgba(239, 68, 68, 0.07);
  border: 1px solid rgba(239, 68, 68, 0.22);
}

.chph__accountUsage__tokenIndicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.chph__accountUsage__tokenHealth--ok .chph__accountUsage__tokenIndicator {
  background: #22c55e;
  box-shadow: 0 0 6px rgba(34, 197, 94, 0.5);
}

.chph__accountUsage__tokenHealth--expired .chph__accountUsage__tokenIndicator {
  background: #e56060;
}

.chph__accountUsage__tokenHealth--emergency .chph__accountUsage__tokenIndicator {
  background: #eab308;
  box-shadow: 0 0 6px rgba(234, 179, 8, 0.45);
}

.chph__accountUsage__tokenHealth--limited .chph__accountUsage__tokenIndicator {
  background: #ef4444;
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.35);
}

.chph__accountUsage__tokenProfile {
  font-weight: 600;
  color: var(--chph-text-primary);
}

.chph__accountUsage__tokenStatus {
  font-size: 10px;
  font-family: monospace;
}

.chph__accountUsage__tokenStatus--ok {
  color: #22c55e;
}

.chph__accountUsage__tokenStatus--expired {
  color: #e56060;
}

.chph__accountUsage__tokenStatus--emergency {
  color: #eab308;
}

.chph__accountUsage__tokenStatus--limited {
  color: #ef4444;
}

.chph__accountUsage__tokenMode {
  margin-left: auto;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--chph-accent);
  background: rgba(99, 102, 241, 0.08);
  border: 1px solid rgba(99, 102, 241, 0.2);
  border-radius: 3px;
  padding: 1px 5px;
}

/* ─────────────────────────────────────────────────────────────────
   Account Pinning (Spec 1167 Wave 4)
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__pinBtn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 2px;
  font-size: 11px;
  opacity: 0.25;
  transition: opacity 0.2s ease;
  line-height: 1;
}

.chph__accountUsage__pinBtn:hover {
  opacity: 0.7;
}

.chph__accountUsage__pinBtn--active {
  opacity: 1;
}

.chph__accountUsage__pinBtn--active:hover {
  opacity: 0.6;
}

.chph__accountUsage__pinnedBadge {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #d97706;
  background: rgba(217, 119, 6, 0.1);
  border: 1px solid rgba(217, 119, 6, 0.25);
  border-radius: 3px;
  padding: 1px 4px;
}

/* ─────────────────────────────────────────────────────────────────
   Current Cartridge Indicator (Spec 1151 — fallback)
   ───────────────────────────────────────────────────────────────── */
.chph__accountUsage__cartridge {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 0 6px;
  font-size: 11px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--chph-border-subtle);
  margin-bottom: 4px;
}

.chph__accountUsage__cartridge--collapsed {
  padding-bottom: 2px;
  margin-top: 2px;
  margin-bottom: 2px;
  border-bottom: none;
}

.chph__accountUsage__cartridgeLabel {
  color: var(--chph-text-faint);
  font-weight: 400;
}

.chph__accountUsage__cartridgeProfile {
  color: var(--chph-text-primary);
  font-weight: 600;
}

.chph__accountUsage__cartridgeMeta {
  color: var(--chph-text-faint);
}

.thought {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.thought__viewBar {
  display: flex;
  gap: 4px;
  padding: 8px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: #161b22;
  flex-shrink: 0;
}

.thought__viewBtn {
  padding: 6px 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 3.5px;
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.thought__viewBtn:hover {
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.85);
}

.thought__viewBtn--active {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
}

/* ── Filters ───────────────────────────────────────────────── */

.thought__filters {
  display: flex;
  gap: 12px;
  padding: 8px 12px;
  background: #161b22;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  flex-wrap: wrap;
  flex-shrink: 0;
}

.thought__filterGroup {
  display: flex;
  align-items: center;
  gap: 6px;
}

.thought__filterLabel {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.thought__filterInput {
  padding: 4px 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 3.5px;
  background: rgba(255, 255, 255, 0.04);
  color: #e6edf3;
  font-size: 12px;
  outline: none;
  min-width: 120px;
}

.thought__filterInput:focus {
  border-color: rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.07);
}

.thought__filterSelect {
  appearance: none;
  -webkit-appearance: none;
  background: rgba(255, 255, 255, 0.06);
  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 d='M3 4.5L6 7.5L9 4.5' fill='none' stroke='%23ffffff' stroke-opacity='0.5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
  padding: 6px 8px;
  padding-right: 28px;
  outline: none;
  cursor: pointer;
}

.thought__filterSelect:focus {
  border-color: rgba(66, 165, 245, 0.5);
}

.thought__filterSelect option {
  background: #1e1e1e;
  color: rgba(255, 255, 255, 0.85);
}

/* ── Loading / Empty States ────────────────────────────────── */

.thought__loading,
.thought__empty {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: rgba(255, 255, 255, 0.4);
  font-size: 13px;
  font-style: italic;
}

/* ── Constellation View ────────────────────────────────────── */

.thought__constellation {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  position: relative;
}

.thought__canvasWrap {
  position: relative;
  flex: 1;
  min-height: 400px;
  background: #0d1117;
  overflow: hidden;
}

.thought__canvasWrap canvas:not(.thought__minimap) {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.thought__legend {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  padding: 6px 12px;
  background: rgba(13, 17, 23, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 3.5px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  pointer-events: auto;
  cursor: pointer;
  max-height: calc(50% - 12px);
  overflow-y: auto;
  z-index: 2;
}

.thought__legendItem {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 3px;
  transition: background 0.15s;
  white-space: nowrap;
}

.thought__legendItem:hover {
  background: rgba(255, 255, 255, 0.1);
}

.thought__legendDot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.thought__legendDot--vocab {
  background: #ffd700;
}

.thought__legendDot--ktp {
  background: #4488ff;
}

.thought__legendGroup {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 4px;
  padding: 0 4px;
}

.thought__legendGroup:first-child {
  margin-top: 0;
}

.thought__legendSep {
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
  margin: 2px 0;
}

.thought__legendLine {
  display: inline-block;
  width: 12px;
  height: 2px;
}

.thought__legendLine--ref {
  background: rgba(255, 255, 255, 0.5);
}

.thought__legendLine--causal {
  background: #ffd700;
}

.thought__legendLine--ap {
  background: #ff4444;
  border-top: 1px dashed #ff4444;
  height: 0;
}

.thought__stats {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 10px;
  background: rgba(13, 17, 23, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 3.5px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
  z-index: 2;
  pointer-events: none;
}

/* ── Hover Tooltip ─────────────────────────────────────────── */

.thought__tooltip {
  position: absolute;
  padding: 4px 10px;
  background: rgba(22, 27, 34, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.85);
  white-space: nowrap;
  pointer-events: none;
  z-index: 4;
  opacity: 0;
  transition: opacity 0.15s ease;
}

/* ── Node Detail Panel ─────────────────────────────────────── */

.thought__detail {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: #161b22;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  max-height: 300px;
  max-width: calc(100% - 24px);
  overflow-y: auto;
  z-index: 3;
}

.thought__detailHeader {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.thought__detailType {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 3.5px;
  font-size: 11px;
  font-weight: 700;
}

.thought__detailType--vocab {
  background: rgba(255, 215, 0, 0.15);
  color: #ffd700;
}

.thought__detailType--ktp {
  background: rgba(68, 136, 255, 0.15);
  color: #4488ff;
}

.thought__detailName {
  font-size: 14px;
  font-weight: 600;
  color: #e6edf3;
}

.thought__detailDomain {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
}

.thought__detailClose {
  margin-left: auto;
  padding: 2px 6px;
  border: none;
  background: none;
  color: rgba(255, 255, 255, 0.4);
  font-size: 16px;
  cursor: pointer;
}

.thought__detailClose:hover {
  color: rgba(255, 255, 255, 0.8);
}

.thought__detailBody {
  padding: 10px 14px;
}

.thought__detailField {
  margin-bottom: 8px;
}

.thought__detailLabel {
  display: inline;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-right: 6px;
}

.thought__detailValue {
  font-size: 13px;
  color: #e6edf3;
  line-height: 1.5;
}

.thought__detailAction {
  display: inline-block;
  margin-top: 6px;
  margin-right: 8px;
  padding: 4px 10px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 3.5px;
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  font-size: 11px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.thought__detailAction:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}

.thought__detailExpanded {
  margin-top: 10px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 3.5px;
}

.thought__detailExpandTitle {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 8px 0;
}

.thought__detailExpandBody {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
}

.thought__detailExpandBody--ktp p {
  margin: 0 0 6px 0;
}

/* ── Timeline View ─────────────────────────────────────────── */

.thought__timeline {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  background: #0d1117;
}

.thought__timelineTrack {
  padding: 16px;
}

.thought__timelineEvent {
  display: flex;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.thought__timelineEvent:last-child {
  border-bottom: none;
}

.thought__timelineDate {
  flex-shrink: 0;
  width: 110px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
  font-family: monospace;
  padding-top: 2px;
}

.thought__timelineDot {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-top: 4px;
}

.thought__timelineDot--ADDED {
  background: #3fb950;
}

.thought__timelineDot--UPDATED {
  background: #58a6ff;
}

.thought__timelineDot--DEPRECATED {
  background: #f85149;
}

.thought__timelineContent {
  flex: 1;
  min-width: 0;
}

.thought__timelineAction {
  font-size: 13px;
  color: #e6edf3;
  font-weight: 500;
}

.thought__timelineDomain {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 2px;
}

.thought__timelineTraceBtn {
  display: inline-block;
  margin-top: 4px;
  padding: 2px 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 3.5px;
  background: transparent;
  color: rgba(255, 255, 255, 0.45);
  font-size: 10px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.thought__timelineTraceBtn:hover {
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.7);
}

/* ── Decision Trace Panel ──────────────────────────────────── */

.thought__tracePanel {
  flex-shrink: 0;
  background: #161b22;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 12px 16px;
}

.thought__traceHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.thought__traceTitle {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.thought__traceBody {
  font-size: 13px;
  color: #e6edf3;
}

.thought__traceField {
  margin-bottom: 4px;
  line-height: 1.4;
}

.thought__traceField strong {
  color: rgba(255, 255, 255, 0.5);
  font-size: 11px;
  margin-right: 4px;
}

/* ── Coverage Map View ─────────────────────────────────────── */

.thought__coverageMap {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  background: #0d1117;
}

.thought__coverageTable {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.thought__coverageTh {
  padding: 8px 12px;
  text-align: left;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: #161b22;
  position: sticky;
  top: 0;
  z-index: 1;
}

.thought__coverageTh--num {
  text-align: right;
  width: 60px;
}

.thought__coverageRow {
  cursor: pointer;
  transition: background 0.15s;
}

.thought__coverageRow:hover {
  background: rgba(255, 255, 255, 0.04);
}

.thought__coverageTd {
  padding: 8px 12px;
  color: #e6edf3;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.thought__coverageTd--num {
  text-align: right;
  font-family: monospace;
  font-size: 12px;
}

.thought__coverageBar {
  font-family: monospace;
  font-size: 14px;
  letter-spacing: 1px;
}

.thought__coverageBar--high {
  color: #3fb950;
}

.thought__coverageBar--med {
  color: #d29922;
}

.thought__coverageBar--low {
  color: #db6d28;
}

.thought__coverageBar--none {
  color: #f85149;
}

.thought__coverageHint {
  padding: 12px 16px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.3);
  font-style: italic;
}

/* W5 Item 5: Family coverage section header */
.thought__coverageFamilyHeader {
  padding: 14px 12px 6px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  margin-top: 8px;
}

/* ── Reduced Motion ────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .thought__viewBtn,
  .thought__filterInput,
  .thought__filterSelect,
  .thought__detailAction,
  .thought__timelineTraceBtn,
  .thought__coverageRow {
    transition: none;
  }
}

/* ── Sidebar Mount (Spec 1237 THOUGHT relocation) ────────── */

.chph__thoughtMain {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

/* ── Sidebar Panel (Christopher's sidebar correction) ───── */

.thought__sidebar {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow-y: auto;
}

.thought__sidebarViewBar {
  display: flex;
  gap: 4px;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
  flex-wrap: wrap;
}

.thought__sidebarViewBar .thought__viewBtn {
  flex: 1;
  min-width: 0;
  padding: 5px 6px;
  font-size: 11px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.thought__sidebarFilters {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
}

.thought__sidebarFilterGroup {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.thought__sidebarFilterGroup .thought__filterLabel {
  font-size: 10px;
}

.thought__sidebarFilterGroup .thought__filterInput,
.thought__sidebarFilterGroup .thought__filterSelect {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* ── Minimap (inset overview) ────────────────────────────── */

.thought__minimap {
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  pointer-events: none;
  z-index: 2;
}

/* ── Domain Toggle Checkboxes ────────────────────────────── */

.thought__domainToggles {
  max-height: 200px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.thought__domainToggle {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  padding: 2px 0;
}

.thought__domainToggle input[type="checkbox"] {
  width: 12px;
  height: 12px;
  margin: 0;
  accent-color: rgba(66, 165, 245, 0.8);
  flex-shrink: 0;
}

.thought__domainToggleDot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}.firstAction {
    font-family: 'questrialregular';

    padding: 21px;
    padding-top: 11px;

    border-radius: 5px;
    border: 1px solid var(--jmkr-color-1);

    cursor: pointer;

    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);
    font-size: 30px;
    letter-spacing: 0.75px;
    line-height: 50px;
    color: var(--jmkr-color-1);
    font-weight: bolder;

    background: rgba(37, 37, 37, 0.017);
}

.firstAction i {
    color: var(--jmkr-color-1);
}

.firstAction .description {
    padding-top: 7px;
    font-size: 17px;
    letter-spacing: 0.75px;
    line-height: 25px;
    color: black;
}

.nightMode .firstAction .description {
    color: white;
}

#Account .newAccountMessage {
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 700px;
    margin: auto;
}

#Account .newAccountMessage .image {
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url('https://jamaker.s3.amazonaws.com/flfldr/Gss9svYzqkKzLjaSo.webp');
    background-position: center 77px;
    background-size: 77%;
    background-repeat: no-repeat;
    filter: grayscale(100%);
    width: 100%;
    height: 100%;
}

#Account .newAccountMessage .wrapButtons {
    position: absolute;
    bottom: 35px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 450px;
    text-align: center;
    padding: 10px;
    padding-bottom: 0px;
}

#Account .newAccountMessage .message {
    padding: 21px;
    padding-top: 11px;
}

#Account .newAccountMessage .button {
    display: inline-block;
    padding: 15px 25px;
    margin: 5px;
    margin-top: 0px;
    border-radius: 5px;
    background: var(--jmkr-color-1);
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
    cursor: pointer;
    border: none;
}

#Account .newAccountMessage .button.right {
    background: var(--jmkr-color-2);
    color: black;
    font-size: 14px;
    font-weight: 400;
}

#Account .newAccountMessage .button:hover {
    background: black;
    color: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: scale(1.05);
}#addressThumbnail {
    padding: 17px;

    margin-bottom: 17px;

    letter-spacing: 0.7px;
    font-size: 14px;
    line-height: 20px;

    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 5px;

    cursor: pointer;
}

#addressThumbnail i {
    letter-spacing: 0.7px;
    font-size: 11px;
}

#addressThumbnail b {
    letter-spacing: 0.7px;
    font-size: 17px;
}

#forgotpassword {
  background: none;
  border: none;
  box-shadow: none;
  padding-top: 1em;
}

#forgotpassword label {
  font-size: 14px;
}

#forgotpassword a {
  color: var(--jmkr-color-1);
}

#forgotPasswordEmail {
  padding: 7px !important;
  padding-left: 11px !important;
  border-radius: 1px;
  font-size: 14px;
}

/* ================================================================
   Meteor Accounts-UI Dialogs
   These dialogs are rendered at body level by the accounts-ui
   package. They appear for:
     - Reset flow    (_resetPasswordDialog)
     - Enrollment    (_enrollAccountDialog)
     - Just-reset    (_justResetPasswordDialog)
     - Just-verified (_justVerifiedEmailDialog)
     - Messages      (_loginButtonsMessagesDialog)

   Pattern source: register.css:154-167 (btn-submit styling)
   ================================================================ */

/* -- Backdrop overlay ------------------------------------------- */

body > .hide-background {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 9998;
}

/* -- Dialog container ------------------------------------------- */

body > .accounts-dialog.accounts-centered-dialog,
body > form.accounts-dialog.accounts-centered-dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  width: 90%;
  max-width: 400px;
  background: #1a1a1a;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 36px 32px 28px;
  box-shadow:
    0 24px 48px rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(255, 255, 255, 0.04);
  color: #f0f0f0;
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  box-sizing: border-box;
}

/* -- Labels ----------------------------------------------------- */

body > .accounts-dialog #reset-password-new-password-label,
body > .accounts-dialog #enroll-account-password-label,
body > .accounts-dialog #reset-password-username-email-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.65);
  letter-spacing: 0.3px;
  margin-bottom: 6px;
  text-transform: uppercase;
}

/* -- Input fields ----------------------------------------------- */

body > .accounts-dialog input[type="password"],
body > .accounts-dialog input[type="text"] {
  display: block;
  width: 100%;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  color: #f0f0f0;
  font-size: 15px;
  font-family: inherit;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
  margin-bottom: 16px;
}

body > .accounts-dialog input[type="password"]:focus,
body > .accounts-dialog input[type="text"]:focus {
  border-color: var(--jmkr-color-1, #cfa74e);
  box-shadow: 0 0 0 3px rgba(207, 167, 78, 0.15);
}

body > .accounts-dialog input[type="password"]::placeholder,
body > .accounts-dialog input[type="text"]::placeholder {
  color: rgba(255, 255, 255, 0.25);
}

/* -- Input wrappers --------------------------------------------- */

body > .accounts-dialog .reset-password-new-password-wrapper,
body > .accounts-dialog .reset-password-username-email-wrapper,
body > .accounts-dialog .enroll-account-password-wrapper,
body > .accounts-dialog .enroll-account-username-email-wrapper {
  margin-bottom: 4px;
}

/* -- Primary action buttons ------------------------------------- */

body > .accounts-dialog .login-button.login-button-form-submit,
body > .accounts-dialog #login-buttons-reset-password-button,
body > .accounts-dialog #login-buttons-enroll-account-button {
  display: block;
  width: 100%;
  padding: 13px 20px;
  background: var(--jmkr-color-1, #cfa74e);
  color: #0d0c0a;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-align: center;
  text-transform: uppercase;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.1s ease;
  margin-top: 8px;
  font-family: inherit;
}

body > .accounts-dialog .login-button.login-button-form-submit:hover,
body > .accounts-dialog #login-buttons-reset-password-button:hover,
body > .accounts-dialog #login-buttons-enroll-account-button:hover {
  background: #d4af5a;
  transform: translateY(-1px);
}

body > .accounts-dialog .login-button.login-button-form-submit:active,
body > .accounts-dialog #login-buttons-reset-password-button:active,
body > .accounts-dialog #login-buttons-enroll-account-button:active {
  transform: translateY(0);
}

/* -- Close button ----------------------------------------------- */

body > .accounts-dialog .accounts-close,
body > .accounts-dialog #login-buttons-cancel-reset-password,
body > .accounts-dialog #login-buttons-cancel-enroll-account {
  position: absolute;
  top: 12px;
  right: 16px;
  font-size: 22px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.35);
  text-decoration: none;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: color 0.15s ease, background 0.15s ease;
}

body > .accounts-dialog .accounts-close:hover,
body > .accounts-dialog #login-buttons-cancel-reset-password:hover,
body > .accounts-dialog #login-buttons-cancel-enroll-account:hover {
  color: rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.06);
}

/* -- Dismiss / secondary buttons -------------------------------- */

body > .accounts-dialog #just-verified-dismiss-button,
body > .accounts-dialog #messages-dialog-dismiss-button {
  display: block;
  width: 100%;
  padding: 11px 20px;
  background: rgba(255, 255, 255, 0.08);
  color: #f0f0f0;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.4px;
  text-align: center;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s ease;
  margin-top: 16px;
  font-family: inherit;
}

body > .accounts-dialog #just-verified-dismiss-button:hover,
body > .accounts-dialog #messages-dialog-dismiss-button:hover {
  background: rgba(255, 255, 255, 0.12);
}

/* -- Error / info messages -------------------------------------- */

body > .accounts-dialog .message.error-message {
  background: rgba(220, 38, 38, 0.12);
  border: 1px solid rgba(220, 38, 38, 0.3);
  border-radius: 8px;
  color: #fca5a5;
  font-size: 13px;
  padding: 10px 14px;
  margin: 12px 0;
  line-height: 1.5;
}

body > .accounts-dialog .message.info-message {
  background: rgba(59, 130, 246, 0.12);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 8px;
  color: #93c5fd;
  font-size: 13px;
  padding: 10px 14px;
  margin: 12px 0;
  line-height: 1.5;
}

/* -- Success / confirmation dialog text ------------------------- */

body > .accounts-dialog {
  font-size: 15px;
  line-height: 1.6;
}

/* -- Disabled button state -------------------------------------- */

body > .accounts-dialog .login-button.login-button-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

/* -- Mobile responsive ------------------------------------------ */

@media (max-width: 480px) {
  body > .accounts-dialog.accounts-centered-dialog,
  body > form.accounts-dialog.accounts-centered-dialog {
    width: 94%;
    padding: 28px 20px 24px;
    border-radius: 10px;
  }
}#jmkrClient #signup>div,
#jmkrClient #signin>div {
  border: none;
  box-shadow: none;
  padding-bottom: 0px !important;
}

#jmkrClient #at-pwd-form>div {
  background: none;
}

#jmkrClient #signup .at-title,
#jmkrClient #signin .at-title {
  display: none;
}

#jmkrClient #at-google {
  display: block;
}

#jmkrClient #googlesignin {
  background-color: #dc4a38;
  color: #ffffff;
  font-size: 1.14285714rem;
  text-shadow: none;
  background-image: none;
  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;
  border-radius: 0.28571429rem;
  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-weight: bold;
}

#jmkrClient #googlesignin #icon {
  float: left;
  width: 40px;
  text-align: center;
  line-height: 42px;
}

#jmkrClient #googlesignin #text {
  float: left;
  width: calc(100% - 40px);
  text-align: center;
  line-height: 42px;
}

#jmkrClient #appstorebadges {
  margin-right: auto;
  margin-left: auto;
}

#jmkrClient #appstorebadges #google {
  float: left;
  background: url('jmkr/google.png');
  width: calc(50% - 0px);
  padding-bottom: 20%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0px;
}

#jmkrClient #appstorebadges #apple {
  float: left;
  background: url('jmkr/apple.png');
  width: calc(50% - 0px);
  padding-bottom: 20%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-left: 0px;
}

#jmkrClient div.at-error.ui.large.icon.error.message>i {
  font-size: 17px;
  color: #d93636;
}

#jmkrClient div.at-error.ui.large.icon.error.message>div {
  color: #d93636;
  text-transform: uppercase;
}

#jmkrClient #signup>div.ui.large.message>div.at-signin-link.at-wrap,
#jmkrClient #signin>div.ui.large.message>div.at-signup-link.at-wrap {
  font-size: 14px;
}

#jmkrClient .ui.stacked.segment {
  box-shadow: none;
}

#jmkrClient .ui.stacked.segment:after {
  border-top: none;
  display: none;
}

#jmkrClient #signup>div.ui.large.message>div.at-terms-link.at-wrap {
  display: none;
}

#jmkrClient #signup>div.at-title>h2,
#jmkrClient #signin>div.at-title>h2 {
  text-transform: uppercase;
  font-size: 17px;
}

#jmkrClient #signup>div.ui.large.message {
  padding-top: 0px;
}

#jmkrClient #signup label,
#jmkrClient #signin label {
  font-size: 11px;
}

#jmkrClient #signup>div.at-sep.ui.horizontal.divider,
#jmkrClient #signin>div.at-sep.ui.horizontal.divider,
#jmkrClient #signup>div>div.at-sep.ui.horizontal.divider,
#jmkrClient #signin>div>div.at-sep.ui.horizontal.divider {
  display: none;
}

#jmkrClient #signup #at-pwd-form>div>div:nth-child(4) {
  float: left;
  width: calc(50% - 5px);
  clear: none;
}

#jmkrClient #signup #at-pwd-form>div>div:nth-child(5) {
  float: right;
  width: calc(50% - 5px);
  clear: none;
}

#jmkrClient #signup>div>div.at-terms-link.at-wrap {
  margin-top: 17px;
  font-size: 12px;
}

#jmkrClient #at-field-username_and_email,
#jmkrClient #at-field-email,
#jmkrClient #at-field-password,
#jmkrClient #at-field-password_again,
#jmkrClient #at-field-firstname,
#jmkrClient #at-field-lastname,
#jmkrClient #at-field-username,
#jmkrClient #at-field-username_and_email {
  padding: 7px !important;
  padding-left: 11px !important;
  border-radius: 1px;
}

#jmkrClient #at-btn,
#jmkrClient .btn-submit {
  border: none;
  width: 100%;
  background: var(--jmkr-color-1);
  color: white;
  font-weight: normal;
  letter-spacing: 0.75px;
  font-size: 17px;
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  border-radius: 5px !important;
  margin-top: 17px;
}

#jmkrClient.btn-submit {
  margin-top: 7px;
}

#jmkrClient #signup #at-btn {
  margin-top: 107px;
}

#jmkrClient #signin>div>div.at-error.ui.icon.error.message {
  border: none;
  -webkit-box-shadow: none;
}

#jmkrClient #signin>div.at-form.ui.large.fluid.form.segment.error {
  border: none;
}

#jmkrClient #signin>div.at-form.ui.large.fluid.form.segment.error>div.at-error.ui.icon.error.message {
  padding: 7px;
  border-radius: 0px;
  padding-left: 11px;
  padding-right: 11px;
  border: none;
  background: white;
}

#jmkrClient #signin>div.at-form.ui.large.fluid.form.segment.error>div.at-error.ui.icon.error.message>div {
  text-align: center;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: bold;
  color: white !important;
}

#jmkrClient #signin>div.at-form.ui.large.fluid.form.segment.error>div.at-error.ui.icon.error.message>i {
  font-size: 20px;
  color: white !important;
}

#jmkrClient #signin>div.at-error.ui.icon.error.message>div>p {
  color: white;
}

#jmkrClient #signup a,
#jmkrClient #signin a {
  color: #404040;
  letter-spacing: 0.4px;
  font-size: 16px;
}

#jmkrClient #signin>div>div.at-title,
#jmkrClient #signup>div>div.at-title {
  display: none;
}

#jmkrClient div>div.ui.large.message,
#jmkrClient div>div.ui.large.message>div.at-signin-link.at-wrap {
  margin-top: 0px;
  margin-left: 17px;
  width: calc(100% - 34px);
  background: none;
}

#jmkrClient #signup>div.ui.large.message,
#jmkrClient #signin>div.ui.large.message {
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 11px;
}

.ui.message {
  background: none;
}

.ui.divider {
  margin: 0px;
  height: 7px;
}

#jmkrClient #signin>div:nth-child(3),
#jmkrClient #signup>div:nth-child(3) {
  padding-left: 11px;
  padding-right: 11px;
  padding-bottom: 11px;
}

.isCordova #jmkrClient #at-facebook,
.isCordova #jmkrClient #at-google,
.isCordova #jmkrClient #at-twitter {
  display: none;
}

#jmkrClient #at-facebook,
#jmkrClient #at-google,
#jmkrClient #at-twitter {
  font-weight: normal;
  margin-top: 0px !important;
  margin-bottom: 17px !important;
  letter-spacing: 0.75px;
  font-size: 17px;
  margin-left: 0px;
  width: 100%;
  
}

#jmkrClient #at-facebook {
  margin-top: 0px !important;
}

#jmkrClient #at-twitter {
  margin-bottom: 10px !important;
}

#jmkrClient #signin>div.at-error.ui.large.icon.error.message {
  background: none;
  margin-bottom: 0px;
  padding-left: 17px;
  padding-bottom: 0px;
}

#jmkrClient #signin>div.at-error.ui.large.icon.error.message {
  display: none;
}

#jmkrClient #at-pwd-form>div {
  padding-top: 0px;
  padding-bottom: 0px;
  border: none;
}

#jmkrClient .at-oauth {
  padding: 0px !important;
  margin-bottom: 11px !important;
}

#jmkrClient .at-oauth .icon::before {
  line-height: 43px !important;
}#contentFilterForm {
  float: left;
  width: calc(100% - var(--line-height));
}

#inputContentSearch input,
#inputContentTransactionSearch input {
  border-radius: 0px !important;
  border-top: 0px !important;
  border-color: rgba(30, 173, 211, 0.35) !important;
}

#searchContentToggle,
#searchContentTransactionToggle {
  float: left;
  background: var(--jmkr-color-1);
  color: white;
  width: var(--line-height);
  text-align: center;
  height: var(--line-height);
  line-height: var(--line-height);
  cursor: pointer;
}

#contentForm hr {
  opacity: 0.5;
}

#contentForm .addToSectionListButton {
  float: right;
  background: black;

  text-align: center;
  color: white;
  letter-spacing: 0.37px;
  font-size: 17px;

  padding: 25px;
  padding-top: 14px;
  padding-bottom: 14px;

  border-radius: 4px;

  cursor: pointer;
}

#contentForm .deleteSection {
  float: right;
  cursor: pointer;
  z-index: 100;
  position: relative;

  margin-top: -7px;
  margin-bottom: -21px;
  margin-right: -7px;

  font-size: 14px;
  color: white;
  background: var(--jmkr-color-1);
  width: 25px;
  height: 25px;
  line-height: 25px;
  border-radius: 50%;
  text-align: center;
  padding-left: 1px;
}

#contentForm .contentSignaturePreview {
  position: relative;
  width: 100%;
}

#contentForm .contentSignatureCanvas {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
}

#contentForm .contentSignaturePlaceholder {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  pointer-events: none;
}

/* Column headers */
.contentTableHeader {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(0, 0, 0, 0.5);
}

.contentTableHeader__column {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 12px;
}

.contentTableHeader__actions {
  flex-shrink: 0;
  text-align: right;
  min-width: 280px;
}

/* Display columns in data row */
#contentDataRow.hasColumns .leftSection {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

#contentDataRow.hasColumns .leftSection .text.columnCell {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 12px;
}

#contentDataRow .leftSection .text.full {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}#contentTypeForm #addContentField {
    background: var(--jmkr-color-1);
    color: white;
    margin-bottom: 11px;
    padding: 11px;
    padding-left: 0px;
    padding-right: 0px;
    text-align: center;
    letter-spacing: 0.7px;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
}

.contentField {
    padding: 11px;
    padding-top: 7px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    margin-bottom: 11px;
    background: rgba(0, 0, 0, 0.017);
}

.deleteContentField {
    float: right;
    cursor: pointer;

    margin-top: -15px;
    margin-right: -21px;

    font-size: 12px;
    color: white;
    background: var(--jmkr-color-1);
    width: 21px;
    height: 21px;
    line-height: 20px;
    border-radius: 50%;
    text-align: center;
    padding-top: 1px;
}

#contentFormUploadButton {
    line-height: var(--line-height);
    text-align: center;
    font-size: 21px;
    cursor: pointer;
}.performanceAdvisorLoading {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(0, 0, 0, 0.67);
  font-size: 14px;
}

.performanceAdvisorError {
  color: #ce5252;
}

.performanceAdvisorErrorPanel {
  padding: 14px;
  background: rgba(206, 82, 82, 0.1);
  color: #8e251f;
  border-radius: 6px;
}

.analysisDataTable tbody tr.hasRecommendation {
  background: rgba(27, 165, 126, 0.08);
}

.analysisDataTable tbody tr.needsAttention {
  background: rgba(255, 165, 0, 0.12);
}

.signatureHeading {
  font-weight: 600;
  color: #1b1c1d;
}

.signatureMeta {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.47);
  margin-top: 4px;
}

.recommendationStatus {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  margin-bottom: 6px;
  color: white;
}

.recommendationStatus.new {
  background: #2185d0;
}

.recommendationStatus.queued {
  background: #f2711c;
}

.recommendationStatus.dismissed {
  background: rgba(112, 125, 134, 0.5);
}

.recommendationMeta {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.55);
}

.recommendationActions {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap;
}

.recommendationActions .miniAction {
  background: rgba(0, 0, 0, 0.05);
  padding: 5px 10px;
  border-radius: 20px;
  font-size: 12px;
  cursor: pointer;
  color: rgba(0, 0, 0, 0.65);
  transition: background 120ms ease;
}

.recommendationActions .miniAction:hover {
  background: rgba(0, 0, 0, 0.12);
}

.recommendationNone {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}

.performanceAdvisorEmpty {
  padding: 18px;
  text-align: center;
  color: rgba(0, 0, 0, 0.45);
  border: 1px dashed rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}

.horizontalScroll {
  overflow-x: auto;
}#webDomain {
	padding-top: 0px;
	background: white;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.07);
}

#webDomain #page {
	letter-spacing: 0.5px;
}

#webDomain #printArea {
	padding: 21px;
	padding-top: 11px;
}

#webDomain .inlineLink {
	font-size: 100%;
}

#webDomain #page #loading {
	text-align: center;
	padding: 17px;
	letter-spacing: 1.17px;
	font-size: 35px;
	font-weight: bold;
	opacity: 0.17;
}

#webDomain #signature {
	letter-spacing: 1.35px;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	text-align: right;
	padding: 11px;
	color: white;
	font-size: 13px;
	padding-top: 7px;
	padding-bottom: 17px;
}

#webDomain #signature b {
	font-size: 25px;
}

#webDomain #left {
	float: left;
}

#webDomain #picture {
	margin-left: -17px;
	margin-top: -17px;
	width: 157px;
	height: 157px;
	margin-bottom: 21px;
	border-radius: 50%;

	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

#webDomain #name {
	font-size: 21px;
	margin-bottom: 17px;
}

#webDomain #contact {
	font-size: 14px;
	line-height: 25px;
	letter-spacing: 1px;
	opacity: 0.6;
}

#webDomain #contact i {
	margin-right: 7px;
}

#webDomain #right {
	float: right;
}

#webDomain #title {
	font-size: 25px;
	font-weight: bold;
	text-transform: uppercase;
	opacity: 0.95;
	margin-bottom: 17px;
	min-width: 170px;
	max-width: 270px;
	line-height: 27px;
	padding-left: 0px;
}

#webDomain #info {
	float: left;
	width: 77px;
	padding-right: 7px;
	font-size: 10px;
	text-align: right;
}

#webDomain #detail {
	float: right;
	width: calc(100% - 77px);
	font-size: 10px;
	line-height: 20px;
}

#webDomain #amount {
	float: right;
	width: 270px;
	padding: 7px;
	padding-top: 0px;
	padding-right: 0px;
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-bottom: 4px solid rgba(0, 0, 0, 0.1);
	border-radius: 5px;
	font-size: 10px;
	text-align: center;
	line-height: 35px;
	margin-top: 21px;

	box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.035);
}

#webDomain #amount b {
	font-size: 25px;
}

#webDomain #line {
	border-top: 2px dotted #1eadd3;
	box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.07);
}

#webDomain #lineup {
	border-top: 2px solid #1eadd3;
	box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.17);
}

#webDomain #description {
	line-height: 30px;
	font-size: 16px;
	letter-spacing: 0.7px;
	padding: 11px;

	overflow: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;

	border-radius: 5px;
}

#webDomain #description .page,
#webDomain #description .column {
	padding: 0px !important;
}

#webDomain #description p {
	line-height: 30px;

	margin-block-start: 1em;
	margin-block-end: 1em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
}

#webDomain #description ul {
	list-style-type: disc;
	margin-block-start: 1em;
	margin-block-end: 1em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
	padding-inline-start: 17px;
}

#webDomain #description a {
	color: #1eadd3 !important;

}

#webDomain #billTo {
	float: left;
	max-width: calc(100% - 40px);
	font-size: 13px;
	padding-left: 11px;
}

#webDomain #printLabel {
	font-size: 13px;
	float: right;
	cursor: pointer;
	padding-left: 11px;
	padding-right: 11px;
}

#webDomain .pay {
	float: left;
	text-align: center;
	border-radius: 3px;
	line-height: 34px;
	width: 270px;

	font-size: 12px;
	letter-spacing: 0.4px;
	color: white;
	margin-top: 15px;
	margin-right: 11px;
	background-image: linear-gradient(to left, #1eadd3, var(--jmkr-color-1));

	cursor: pointer;
}

#webDomain .payLabel {
	float: left;
	font-weight: bold;
	border-radius: 3px;
	line-height: 34px;

	font-size: 12px;
	letter-spacing: 0.4px;
	margin-top: 15px;
}

#webDomain .pay b {
	font-size: 15px;
	letter-spacing: 1px;
}

@media screen and (max-width: 570px) {
	#webDomain .pay {
		float: none;
		margin-left: auto;
		margin-right: auto;
	}

	#webDomain .payLabel {
		float: none;
		width: 270px;
		margin-top: 0px;
		margin-left: auto;
		margin-right: auto;
	}

	#webDomain #or {
		float: none;
		margin-top: 14px;
		line-height: 1px;
		margin-left: auto;
		margin-right: auto;
	}

	#webDomain #left {
		width: 100%;
	}

	#webDomain #picture {
		margin-left: auto;
		margin-right: auto;
	}

	#webDomain #name {
		text-align: center;
	}

	#webDomain #contact {
		text-align: center;
	}

	#webDomain #contact i {
		margin-right: 7px;
	}

	#webDomain #right {
		width: 100%;
	}

	#webDomain #title {
		text-align: center;
		margin-top: 17px;
		margin-left: auto;
		margin-right: auto;
	}

	#webDomain #info {
		width: 50%;
	}

	#webDomain #detail {
		width: 50%;
	}

	#webDomain #amount {
		float: none;
		width: 270px;
		margin-left: auto;
		margin-right: auto;
	}

	#webDomain #amount b {
		font-size: 25px;
	}
}

#webDomainForm #addDNSRecord {
	background: var(--jmkr-color-1);
	color: white;
	margin-bottom: 11px;
	padding: 11px;
	padding-left: 0px;
	padding-right: 0px;
	text-align: center;
	letter-spacing: 0.7px;
	font-size: 14px;
	border-radius: 5px;
	cursor: pointer;
}

#webDomainForm #inputSearch {
	float: left;
	width: calc(100% - 60px - 11px)
}

#webDomainForm #searchWebDomainButton {
	float: right;
	width: 60px;

	background: var(--jmkr-color-1);
	color: white;
	text-align: center;
	letter-spacing: 0.7px;
	font-size: 14px;
	border-radius: 5px;
	cursor: pointer;
	line-height: 48px;
}

#DNSRecordListHeader {
	background: var(--jmkr-color-1);
	color: white;
	padding-left: 17px;
	border-radius: 4px;
	letter-spacing: 0.7px;
	font-size: 15px;
	line-height: 15px;
}

#DNSRecordListRow {
	padding-left: 11px;
	padding-right: 11px;
}

.DNSRecord {
	padding: 11px;
	padding-top: 7px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 4px;
	margin-bottom: 11px;
	background: rgba(0, 0, 0, 0.017);
}

.deleteDNSRecord {
	float: right;
	cursor: pointer;

	margin-top: -15px;
	margin-right: -21px;

	font-size: 12px;
	color: white;
	background: var(--jmkr-color-1);
	width: 21px;
	height: 21px;
	line-height: 20px;
	border-radius: 50%;
	text-align: center;
	padding-top: 1px;
}

#webDomainFilterForm {
	float: left;
	width: calc(100% - var(--line-height));
}

#inputWebDomainSearch input {
	border-radius: 0px !important;
	border-top: 0px !important;
	border-color: var(--jmkr-color-1) !important;
}

#searchWebDomainToggle {
	float: left;
	background: var(--jmkr-color-1);
	color: white;
	width: var(--line-height);
	text-align: center;
	height: var(--line-height);
	line-height: var(--line-height);
	cursor: pointer;
}

.webDomainSearchResult {
	padding: 21px;
	padding-left: 17px;
	padding-right: 17px;
	margin-top: 11px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 2px solid rgba(0, 0, 0, 0.1);
	border-radius: 5px;
	cursor: pointer;
}

.webDomainSearchResult .domainName {
	float: left;
	font-size: 30px;
	font-weight: 500;
	word-break: break-all;
}

.webDomainSearchResult .domainName .purchaseButton {
	width: 117px;
	background: var(--jmkr-color-1);
	color: white;
	margin-top: 21px;
	padding: 7px;
	text-align: center;
	letter-spacing: 0.7px;
	font-size: 13px;
	border-radius: 3.5px;
	cursor: pointer;
}

.webDomainSearchResult .purchasePrice {
	text-align: right;
	float: right;
	font-size: 21px;
}

.webDomainSearchResult .purchasePrice .renewalPrice {
	font-size: 11px;
	opacity: 0.77;
}

#webDomainForm #addDNSRecordButton {
	background: var(--jmkr-color-1);
	color: white;
	text-align: center;
	letter-spacing: 0.7px;
	font-size: 14px;
	border-radius: 5px;
	cursor: pointer;
	line-height: 48px;
}

#jmkrClient #MockupList {
    background: var(--mainUIBackground);
}

#jmkrClient .mockup-list__container {
    padding: 16px;
    overflow-y: auto;
    overflow-x: hidden;
}


/* ============================================
   2. Card Grid
   ============================================ */

#jmkrClient .mockup-list__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
    padding-bottom: 16px;
}


/* ============================================
   3. Card
   ============================================ */

#jmkrClient .mockup-list__card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    padding: 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

#jmkrClient .mockup-list__card:hover {
    border-color: rgba(15, 23, 42, 0.15);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08), 0 2px 4px rgba(15, 23, 42, 0.04);
    transform: translateY(-2px);
}

#jmkrClient .mockup-list__card:active {
    transform: translateY(0px);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}


/* ============================================
   4. Card Header
   ============================================ */

#jmkrClient .mockup-list__card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

#jmkrClient .mockup-list__card-color {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
}

#jmkrClient .mockup-list__card-title {
    font-size: 15px;
    font-weight: 600;
    color: #1e293b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ============================================
   5. Card Meta
   ============================================ */

#jmkrClient .mockup-list__card-meta {
    font-size: 13px;
    color: #94a3b8;
    margin-bottom: 12px;
}


/* ============================================
   6. Screen Preview Strip
   ============================================ */

#jmkrClient .mockup-list__screen-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

#jmkrClient .mockup-list__screen-chip {
    font-size: 11px;
    color: #64748b;
    background: #f1f5f9;
    border-radius: 4px;
    padding: 3px 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 80px;
}

#jmkrClient .mockup-list__screen-chip--more {
    color: #94a3b8;
    font-style: italic;
    max-width: none;
}


/* ============================================
   7. Empty State
   ============================================ */

#jmkrClient .mockup-list__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #94a3b8;
    gap: 12px;
}

#jmkrClient .mockup-list__empty > i {
    font-size: 48px;
    opacity: 0.4;
}

#jmkrClient .mockup-list__empty-title {
    font-size: 18px;
    font-weight: 600;
    color: #64748b;
}

#jmkrClient .mockup-list__empty-subtitle {
    font-size: 14px;
    color: #94a3b8;
}


/* ============================================
   8. Loading State
   ============================================ */

#jmkrClient .mockup-list__loading {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

#jmkrClient #MockupDetail {
    background: var(--mainUIBackground);
}

#jmkrClient .mockup-detail__content {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 16px 16px;
}


/* ============================================
   2. Toolbar
   ============================================ */

#jmkrClient .mockup-detail__toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
}

#jmkrClient .mockup-detail__edit-toggle-container .mockup-detail__toggle-btn {
    display: flex;
    align-items: center;
    gap: 4px;
}

#jmkrClient .mockup-detail__edit-toggle-container .mockup-detail__toggle-btn .lucide-icon {
    font-size: 14px;
}

#jmkrClient .mockup-detail__view-toggle {
    display: flex;
    background: #f1f5f9;
    border-radius: 6px;
    padding: 2px;
    gap: 2px;
}

#jmkrClient .mockup-detail__toggle-btn {
    font-size: 12px;
    font-weight: 500;
    color: #64748b;
    padding: 4px 12px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease;
    user-select: none;
}

#jmkrClient .mockup-detail__toggle-btn:hover {
    color: #1e293b;
    background: rgba(255, 255, 255, 0.5);
}

#jmkrClient .mockup-detail__toggle-btn--active {
    color: #1e293b;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}


/* ============================================
   3. Screen Tab Bar
   ============================================ */

#jmkrClient .mockup-detail__screen-tabs {
    display: flex;
    gap: 4px;
    padding: 8px 0;
    overflow-x: auto;
    flex-shrink: 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    margin-bottom: 12px;
}

#jmkrClient .mockup-detail__tab {
    font-size: 13px;
    font-weight: 500;
    color: #64748b;
    padding: 6px 14px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
    user-select: none;
}

#jmkrClient .mockup-detail__tab:hover {
    color: #1e293b;
    background: #f1f5f9;
}

#jmkrClient .mockup-detail__tab--active {
    color: #1e293b;
    background: #e2e8f0;
    font-weight: 600;
}


/* ============================================
   4. Wireframe Display Area
   ============================================ */

#jmkrClient .mockup-detail__wireframe-area {
    flex: 1;
    min-height: 0;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

#jmkrClient .mockup-detail__wireframe-frame {
    width: 100%;
    min-height: 400px;
    border: none;
    display: block;
}


/* ============================================
   5. ASCII View
   ============================================ */

#jmkrClient .mockup-detail__ascii-view {
    padding: 16px;
    overflow: auto;
    height: 100%;
}

#jmkrClient .mockup-detail__ascii-pre {
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
    font-size: 12px;
    line-height: 1.5;
    color: #1e293b;
    white-space: pre;
    margin: 0;
    tab-size: 4;
}


/* ============================================
   6. Placeholder & Loading
   ============================================ */

#jmkrClient .mockup-detail__placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 300px;
    color: #94a3b8;
    gap: 12px;
    font-size: 14px;
}

#jmkrClient .mockup-detail__placeholder > i {
    font-size: 32px;
    animation: spin 1.5s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

#jmkrClient .mockup-detail__loading {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 400px;
}


/* ============================================
   7. Screen Info Bar
   ============================================ */

#jmkrClient .mockup-detail__screen-info {
    font-size: 12px;
    color: #94a3b8;
    padding: 8px 0;
    flex-shrink: 0;
}


/* ============================================
   8. Edit Layout — Wireframe + Panel (Wave 1B)
   ============================================
   In edit mode, the wireframe area and the selection panel
   share horizontal space via a flex row. In view mode, the
   wireframe occupies the full width.
   ============================================ */

#jmkrClient .mockup-detail__edit-layout {
    display: flex;
    flex: 1;
    min-height: 0;
    gap: 0;
}

#jmkrClient .mockup-detail__edit-layout .mockup-detail__wireframe-area {
    flex: 1;
    min-width: 0;
}

#jmkrClient .mockup-detail__edit-layout--editing .mockup-detail__wireframe-area {
    border-right: none;
    border-radius: 8px 0 0 8px;
}


/* ============================================
   9. Selection Panel Container
   ============================================
   Holds MockupEditor when a node is selected,
   or a helpful empty-state prompt otherwise.
   ============================================ */

#jmkrClient .mockup-detail__panel-container {
    flex: 0 0 320px;
    min-width: 320px;
    max-width: 320px;
    background: #fafbfc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-left: none;
    border-radius: 0 8px 8px 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: mockup-detail-panel-slide 0.2s ease-out;
}

@keyframes mockup-detail-panel-slide {
    from { transform: translateX(8px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

#jmkrClient .mockup-detail__panel-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 10px;
    padding: 32px 20px;
    color: #94a3b8;
    text-align: center;
}

#jmkrClient .mockup-detail__panel-empty > i {
    font-size: 32px;
    color: #cbd5e1;
}

#jmkrClient .mockup-detail__panel-empty-title {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    margin-top: 4px;
}

#jmkrClient .mockup-detail__panel-empty-hint {
    font-size: 12px;
    line-height: 1.5;
    color: #94a3b8;
    max-width: 240px;
}


/* ============================================
   10. Context Menu + Type Picker (Wave 1B)
   ============================================
   Right-click menu overlay. The type picker is
   a variant shown for Add sibling/child.
   ============================================ */

#jmkrClient .mockup-detail__menu-overlay {
    position: fixed;
    inset: 0;
    background: transparent;
    z-index: 1000;
}

#jmkrClient .mockup-detail__context-menu {
    position: fixed;
    z-index: 1001;
    min-width: 180px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.15), 0 2px 8px rgba(15, 23, 42, 0.08);
    padding: 6px;
    user-select: none;
    animation: mockup-detail-menu-appear 0.12s ease-out;
}

@keyframes mockup-detail-menu-appear {
    from { opacity: 0; transform: scale(0.96); }
    to { opacity: 1; transform: scale(1); }
}

#jmkrClient .mockup-detail__context-menu-title {
    font-size: 11px;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 6px 10px 4px;
}

#jmkrClient .mockup-detail__context-menu-action {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #1e293b;
    padding: 6px 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.1s ease;
}

#jmkrClient .mockup-detail__context-menu-action:hover {
    background: #f1f5f9;
}

#jmkrClient .mockup-detail__context-menu-action .lucide-icon {
    font-size: 14px;
    color: #64748b;
    width: 16px;
    text-align: center;
}

#jmkrClient .mockup-detail__context-menu-divider {
    height: 1px;
    background: rgba(15, 23, 42, 0.08);
    margin: 4px 0;
}


/* ---- Type picker (Add sibling/child) ---- */

#jmkrClient .mockup-detail__type-picker {
    min-width: 240px;
    max-height: 420px;
    display: flex;
    flex-direction: column;
}

#jmkrClient .mockup-detail__type-picker-body {
    overflow-y: auto;
    max-height: 360px;
    padding: 4px 0;
}

#jmkrClient .mockup-detail__type-picker-category {
    padding: 4px 0;
}

#jmkrClient .mockup-detail__type-picker-heading {
    font-size: 11px;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 6px 10px 2px;
}

#jmkrClient .mockup-detail__type-picker-item {
    font-size: 13px;
    color: #1e293b;
    padding: 5px 10px 5px 24px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.1s ease;
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
}

#jmkrClient .mockup-detail__type-picker-item:hover {
    background: #eff6ff;
    color: #2563eb;
}


/* ============================================
   11. Edit-Mode Drag-to-Reorder (Wave 1B)
   ============================================
   Visual feedback injected inside the iframe via
   classes toggled by the parent's drag handlers.
   The iframe's inline <style> (added by Alpha)
   defines .mockup-node base; these augment it.
   ============================================ */

#jmkrClient .mockup-detail__wireframe-frame {
    /* Ensure hover/selected outlines are visible at the iframe edge */
    background: #ffffff;
}


/* ============================================
   12. Mockup Conflict Modal (Wave 1B)
   ============================================
   Overlay shown when updateNode returns
   node-conflict. Side-by-side diff with Keep Mine
   / Keep Server / Cancel.
   ============================================ */

#jmkrClient .mockup-conflict__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1100;
    animation: mockup-conflict-fade 0.15s ease-out;
}

@keyframes mockup-conflict-fade {
    from { opacity: 0; }
    to { opacity: 1; }
}

#jmkrClient .mockup-conflict {
    width: 640px;
    max-width: calc(100vw - 48px);
    max-height: calc(100vh - 80px);
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#jmkrClient .mockup-conflict__header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px 20px 14px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

#jmkrClient .mockup-conflict__icon {
    font-size: 24px;
    color: #f59e0b;
    flex-shrink: 0;
    padding-top: 2px;
}

#jmkrClient .mockup-conflict__header-text {
    flex: 1;
    min-width: 0;
}

#jmkrClient .mockup-conflict__title {
    font-size: 16px;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 2px;
}

#jmkrClient .mockup-conflict__subtitle {
    font-size: 12px;
    color: #94a3b8;
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
}

#jmkrClient .mockup-conflict__close {
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    color: #94a3b8;
    cursor: pointer;
    padding: 0 4px;
    flex-shrink: 0;
}

#jmkrClient .mockup-conflict__close:hover {
    color: #1e293b;
}

#jmkrClient .mockup-conflict__body {
    flex: 1;
    padding: 16px 20px;
    overflow-y: auto;
}

#jmkrClient .mockup-conflict__explainer {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 14px;
}

#jmkrClient .mockup-conflict__columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

#jmkrClient .mockup-conflict__column {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    overflow: hidden;
    background: #fafbfc;
}

#jmkrClient .mockup-conflict__column--server {
    border-color: rgba(245, 158, 11, 0.3);
}

#jmkrClient .mockup-conflict__column--yours {
    border-color: rgba(37, 99, 235, 0.3);
}

#jmkrClient .mockup-conflict__column-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    background: #f1f5f9;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

#jmkrClient .mockup-conflict__column--server .mockup-conflict__column-header {
    background: rgba(245, 158, 11, 0.08);
}

#jmkrClient .mockup-conflict__column--yours .mockup-conflict__column-header {
    background: rgba(37, 99, 235, 0.06);
}

#jmkrClient .mockup-conflict__column-label {
    font-size: 12px;
    font-weight: 600;
    color: #1e293b;
}

#jmkrClient .mockup-conflict__column-meta {
    font-size: 11px;
    color: #94a3b8;
}

#jmkrClient .mockup-conflict__field-list {
    padding: 8px 12px 12px;
}

#jmkrClient .mockup-conflict__field {
    padding: 6px 0;
    border-bottom: 1px dashed rgba(15, 23, 42, 0.06);
}

#jmkrClient .mockup-conflict__field:last-child {
    border-bottom: none;
}

#jmkrClient .mockup-conflict__field--changed {
    background: rgba(251, 191, 36, 0.08);
    margin: 0 -6px;
    padding: 6px;
    border-radius: 4px;
    border-bottom: none;
}

#jmkrClient .mockup-conflict__field-label {
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 2px;
}

#jmkrClient .mockup-conflict__field-value {
    font-size: 13px;
    color: #1e293b;
    word-break: break-word;
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
}

#jmkrClient .mockup-conflict__footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 20px 18px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

#jmkrClient .mockup-conflict__btn {
    font-size: 13px;
    font-weight: 500;
    padding: 8px 14px;
    border-radius: 6px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #ffffff;
    color: #1e293b;
    cursor: pointer;
    transition: all 0.1s ease;
}

#jmkrClient .mockup-conflict__btn:hover {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.2);
}

#jmkrClient .mockup-conflict__btn--keep-mine {
    background: #2563eb;
    color: #ffffff;
    border-color: #2563eb;
}

#jmkrClient .mockup-conflict__btn--keep-mine:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
}

#jmkrClient .mockup-conflict__btn--keep-server {
    background: #f59e0b;
    color: #ffffff;
    border-color: #f59e0b;
}

#jmkrClient .mockup-conflict__btn--keep-server:hover {
    background: #d97706;
    border-color: #d97706;
}

#jmkrClient .mockup-editor {
    display: flex;
    flex-direction: column;
    width: 320px;
    min-width: 320px;
    height: 100%;
    background: #ffffff;
    border-left: 1px solid rgba(15, 23, 42, 0.1);
    overflow: hidden;
    transform: translateX(0);
    transition: transform 0.2s ease;
}

#jmkrClient .mockup-editor--hidden {
    transform: translateX(100%);
    width: 0;
    min-width: 0;
    border-left: none;
    overflow: hidden;
}


/* ============================================
   2. Header
   ============================================ */

#jmkrClient .mockup-editor__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    flex-shrink: 0;
    background: #fafbfc;
}

#jmkrClient .mockup-editor__type-badge {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-left: 3px solid #999;
    padding-left: 8px;
}

#jmkrClient .mockup-editor__type-name {
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
    text-transform: capitalize;
}

#jmkrClient .mockup-editor__node-id {
    font-size: 10px;
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
    color: #94a3b8;
}

#jmkrClient .mockup-editor__close-btn {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #94a3b8;
    background: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease;
}

#jmkrClient .mockup-editor__close-btn:hover {
    color: #1e293b;
    background: #f1f5f9;
}


/* ============================================
   3. Body — Scrollable Field Area
   ============================================ */

#jmkrClient .mockup-editor__body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 12px;
}


/* ============================================
   4. Fields — Label + Input Stacked
   ============================================ */

#jmkrClient .mockup-editor__field {
    margin-bottom: 12px;
}

#jmkrClient .mockup-editor__field--inline {
    display: flex;
    align-items: center;
    gap: 8px;
}

#jmkrClient .mockup-editor__field--inline .mockup-editor__label {
    margin-bottom: 0;
}

#jmkrClient .mockup-editor__label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

#jmkrClient .mockup-editor__input,
#jmkrClient .mockup-editor__textarea,
#jmkrClient .mockup-editor__select {
    width: 100%;
    font-size: 13px;
    color: #1e293b;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    padding: 6px 8px;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
}

#jmkrClient .mockup-editor__input:focus,
#jmkrClient .mockup-editor__textarea:focus,
#jmkrClient .mockup-editor__select:focus {
    border-color: #93c5fd;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
}

#jmkrClient .mockup-editor__textarea {
    resize: vertical;
    min-height: 60px;
    font-family: inherit;
    line-height: 1.4;
}

#jmkrClient .mockup-editor__checkbox {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #3b82f6;
}


/* ============================================
   5. List Editor Rows
   ============================================ */

#jmkrClient .mockup-editor__list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 8px;
}

#jmkrClient .mockup-editor__list-row {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px 0;
}

#jmkrClient .mockup-editor__drag-handle {
    font-size: 14px;
    color: #cbd5e1;
    cursor: grab;
    user-select: none;
    flex-shrink: 0;
    width: 18px;
    text-align: center;
}

#jmkrClient .mockup-editor__drag-handle:active {
    cursor: grabbing;
}

#jmkrClient .mockup-editor__list-input {
    flex: 1;
    min-width: 0;
}

#jmkrClient .mockup-editor__list-input--short {
    flex: 0 0 80px;
}

#jmkrClient .mockup-editor__list-remove {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #cbd5e1;
    background: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.15s ease;
}

#jmkrClient .mockup-editor__list-remove:hover {
    color: #ef4444;
    background: #fef2f2;
}


/* ============================================
   6. Grid Editor (Table)
   ============================================ */

#jmkrClient .mockup-editor__grid-headers {
    display: flex;
    gap: 4px;
    align-items: center;
    margin-bottom: 4px;
}

#jmkrClient .mockup-editor__grid-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 8px;
}

#jmkrClient .mockup-editor__grid-row {
    display: flex;
    gap: 4px;
    align-items: center;
}

#jmkrClient .mockup-editor__grid-cell {
    flex: 1;
    min-width: 0;
}

#jmkrClient .mockup-editor__grid-cell .mockup-editor__input {
    font-size: 12px;
    padding: 4px 6px;
}

#jmkrClient .mockup-editor__grid-actions {
    display: flex;
    gap: 8px;
}


/* ============================================
   7. Container Children List
   ============================================ */

#jmkrClient .mockup-editor__children-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

#jmkrClient .mockup-editor__child-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    border-radius: 4px;
    background: #f8fafc;
    border: 1px solid #f1f5f9;
}

#jmkrClient .mockup-editor__child-type {
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    background: #e2e8f0;
    padding: 1px 6px;
    border-radius: 3px;
    flex-shrink: 0;
}

#jmkrClient .mockup-editor__child-label {
    font-size: 12px;
    color: #475569;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#jmkrClient .mockup-editor__children-empty {
    font-size: 12px;
    color: #94a3b8;
    font-style: italic;
    padding: 8px;
    text-align: center;
}


/* ============================================
   8. Footer — Save/Cancel/Undo
   ============================================ */

#jmkrClient .mockup-editor__footer {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    flex-shrink: 0;
    background: #fafbfc;
}

#jmkrClient .mockup-editor__btn {
    font-size: 12px;
    font-weight: 500;
    padding: 5px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease;
    background: #ffffff;
    color: #475569;
}

#jmkrClient .mockup-editor__btn:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
}

#jmkrClient .mockup-editor__btn--save {
    background: #3b82f6;
    color: #ffffff;
    border-color: #3b82f6;
}

#jmkrClient .mockup-editor__btn--save:hover {
    background: #2563eb;
    border-color: #2563eb;
}

#jmkrClient .mockup-editor__btn--cancel {
    color: #64748b;
}

#jmkrClient .mockup-editor__btn--undo {
    margin-left: auto;
    color: #94a3b8;
    border-color: #f1f5f9;
}

#jmkrClient .mockup-editor__btn--undo:hover {
    color: #64748b;
    border-color: #e2e8f0;
}

#jmkrClient .mockup-editor__btn--add {
    width: 100%;
    font-size: 11px;
    color: #64748b;
    border-style: dashed;
    padding: 4px;
}

#jmkrClient .mockup-editor__btn--add:hover {
    color: #3b82f6;
    border-color: #93c5fd;
    background: #eff6ff;
}

#jmkrClient .mockup-editor__btn--icon {
    width: 24px;
    height: 24px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    flex-shrink: 0;
}

#jmkrClient .mockup-editor__btn--link {
    border: none;
    background: none;
    color: #3b82f6;
    padding: 2px 6px;
    font-size: 11px;
}

#jmkrClient .mockup-editor__btn--link:hover {
    text-decoration: underline;
    background: none;
}

#jmkrClient .mockup-editor__btn--remove {
    color: #94a3b8;
    font-size: 11px;
}

#jmkrClient .mockup-editor__btn--remove:hover {
    color: #ef4444;
    border-color: #fecaca;
    background: #fef2f2;
}#WebsiteBuilderDataProcessorLog {
    background: rgba(0, 0, 0, 0.5);
    height: 100%;
    overflow: auto;
}

.dataProcessorLogThumbnail {
    border-bottom: 1px dotted rgba(255, 255, 255, 0.35);
    padding: 10px;
    line-height: 17px;
    font-weight: 200;
    font-size: 13px;
}

.dataProcessorLogThumbnail .argument {
    display: inline-block;
    width: 100%;
    line-break: anywhere;
    word-wrap: break-word;
}

.dataProcessorLogThumbnail pre {
    white-space: pre-wrap;
    white-space: -moz-pre-wrap;
    white-space: -pre-wrap;
    white-space: -o-pre-wrap;
    word-wrap: break-word;
}

.dataProcessorLogThumbnail .date {
    display: inline-block;
    opacity: 0.7;
    font-size: 80%;
}


.dataProcessorLogThumbnail .run-id-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 11px;
}

.dataProcessorLogThumbnail .run-id-label {
    font-weight: bold;
    opacity: 0.9;
    font-family: monospace;
    background: rgba(0, 0, 0, 0.3);
    padding: 2px 6px;
    border-radius: 3px;
}

.dataProcessorLogThumbnail .run-filter-btn {
    cursor: pointer;
    background: rgba(255, 255, 255, 0.1);
    padding: 2px 6px;
    border-radius: 3px;
    transition: background 0.2s;
    font-size: 10px;
}

.dataProcessorLogThumbnail .run-filter-btn:hover {
    background: rgba(255, 255, 255, 0.2);
}


.dataProcessorLogThumbnail.clickable-log {
    cursor: pointer;
    transition: all 0.2s ease;
    border-radius: 4px;
    margin: 5px;
    scroll-margin: 60px;
}

.dataProcessorLogThumbnail.clickable-log:hover {
    transform: translateX(2px);
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
}


#notificationList {
    scroll-behavior: smooth;
    overflow-y: auto;
    overflow-x: hidden;
}


.processor-log-controls {
    background: rgba(0, 0, 0, 0.3);
    color: white;
    height: 77px;
    min-height: 77px;
    max-height: 77px;
    overflow: hidden;
}

.processor-log-controls .ui.button {
    background: rgba(255, 255, 255, 0.1) !important;
    color: white !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.processor-log-controls .ui.button:hover {
    background: rgba(255, 255, 255, 0.2) !important;
}

.filter-status {
    color: rgba(255, 255, 255, 0.8);
}#WebsiteBuilder .pageTitle i {
	font-size: 70%;
	cursor: pointer;
	margin-left: 7px;
	margin-right: 7px;
}

.deleteCustomField {
	position: absolute;
	top: 0px;
	right: -7px;
	border-radius: 50%;

	cursor: pointer;
}

#WebsiteBuilderModule {
	position: relative;
	margin-top: 7px;
	width: calc(100% - 0px);
	border-radius: 5px;
}

#WebsiteBuilderModule .middleLine {
	position: absolute;
	left: 0px;
	top: 16px;
	width: 7px;

	border-bottom: 1px dotted rgba(0, 0, 0, 0.77);
}

.addModuleButton,
#AddWebsiteBuilderModule {
	color: white;
	background-color: rgba(55, 55, 55, 0.7);
	line-height: 21px;
	font-size: 12px;
	letter-spacing: 0.35px;
	padding: 7px;
	width: 100%;
	border-radius: 3.5px;
	border: 1px solid rgba(0, 0, 0, 0.35);
	text-align: center;
	cursor: pointer;
	margin-left: 10px;
	width: calc(100% - 20px);
}

.smallEditorModuleButton {
	color: white;
	background-color: rgba(55, 55, 55, 0.7);
	line-height: 20px;
	font-size: 11.5px;
	letter-spacing: 0.35px;
	padding: 5px;
	border-radius: 5px;
	width: 100%;
	text-align: center;
	cursor: pointer;
	margin-left: 10px;
	width: calc(100% - 20px);
}

.editorModuleButton {
	color: white;
	background-color: rgba(55, 55, 55, 0.7);
	line-height: var(--line-height);
	font-size: 15px;
	letter-spacing: 0.35px;
	width: 100%;
	text-align: center;
	cursor: pointer;
}

.editorModuleButton.margin {
	margin-left: 7.5px;
	width: calc(100% - 7.5px*2);
}

.removeModuleButton {
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 10;
	cursor: pointer;
}

#WebsiteBuilderModuleForm h3 {
	position: relative;
}

#WebsiteBuilderModuleDrop,
#WebsiteBuilderModuleDropActive {
	padding: 5px;
	border-radius: 5px;
	border: 1px dashed rgba(0, 0, 0, 0.17);
	background: rgba(0, 0, 0, 0.05);
	font-size: 11px;
	text-align: center;
	letter-spacing: 0.75px;
	color: rgba(0, 0, 0, 0.5);
}

#WebsiteBuilderModuleDropActive {
	border-color: white;
	color: white;
	background: var(--jmkr-color-1);
}

#WebsiteBuilderModule #controls {
	color: black;
	display: flex;
	align-items: center;
	padding: 6px 7px;
	border-bottom: 1px dotted rgba(0, 0, 0, 0.77);
	cursor: pointer;
}

#WebsiteBuilderModule #controls:hover {
	background-color: rgba(0, 0, 0, 0.1);
}

#WebsiteBuilderModule .treeStableCommitWrap {
	opacity: 0.12;
	transition: opacity 140ms ease;
}

#WebsiteBuilderModule .treeStableCommitWrap.child-pending {
	opacity: 1;
}

#WebsiteBuilderModule .treeStableCommitWrap.pending {
	opacity: 1;
}

#WebsiteBuilderModule .treeStableCommitWrap.child-pending .treeStableStatus {
	color: #f7c948 !important;
}

#WebsiteBuilderModule .treeStableCommitWrap.child-pending .smallEditorModuleButton {
	background: #f7c948 !important;
	color: #000 !important;
}

#WebsiteBuilderModule #controls:hover .treeStableCommitWrap,
#WebsiteBuilderModule .treeStableCommitWrap:hover {
	opacity: 1;
}

.commitHistoryPanel {
	background: #2d2d2d;
	color: #e0e0e0;
	padding: 16px;
	height: calc(100vh - var(--line-height) * 3);
}

.commitHeader {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.commitHeader__title {
	display: flex;
	align-items: flex-start;
	gap: 9px;
}

.commitHeader__label {
	font-size: 16px;
	font-weight: 600;
}

.commitHeader__subtext {
	font-size: 12px;
	color: #b0b0b0;
	margin-top: 2px;
}

.commitHeader__count {
	font-size: 12px;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: #b0b0b0;
}

.commitHelpText {
	color: #9b9b9b;
	font-size: 12px;
	text-align: center;
	margin-bottom: 0;
}

.commitHistoryList {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: calc(100vh - 320px);
	overflow-y: auto;
	padding-right: 4px;
}

.commitRow {
	background: #333;
	border: 1px solid #3d3d3d;
	border-radius: 6px;
	padding: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.commitRow.status-applied {
	border-color: rgba(88, 255, 181, 0.4);
}

.commitRow.status-rolled-back {
	border-color: rgba(247, 201, 72, 0.4);
}

.commitRow__main {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.commitSequenceBadge {
	background: #1f1f1f;
	border-radius: 4px;
	padding: 4px 8px;
	font-weight: 600;
	font-size: 12px;
	min-width: 48px;
	text-align: center;
}

.commitRow__content {
	flex: 1 1 auto;
}

.commitRow__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 12px;
	color: #bfbfbf;
}

.commitStatusBadge {
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 11px;
	letter-spacing: 0.3px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	text-transform: uppercase;
}

.commitRow.status-applied .commitStatusBadge {
	color: #58ffb5;
	border-color: rgba(88, 255, 181, 0.6);
}

.commitRow.status-rolled-back .commitStatusBadge {
	color: #f7c948;
	border-color: rgba(247, 201, 72, 0.6);
}

.commitTimestamp,
.commitActor {
	display: flex;
	align-items: center;
	gap: 4px;
}

.commitNote {
	color: #f0f0f0;
	font-style: italic;
	font-size: 13px;
}

.commitDivisions {
	color: #bfbfbf;
	font-size: 12px;
	display: flex;
	align-items: center;
	gap: 4px;
}

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

.commitRow__actions .smallEditorModuleButton {
	margin-left: 0;
	width: auto;
	padding: 5px 10px;
	min-width: 140px;
}

.commitRow__actions .smallEditorModuleButton.disabled {
	opacity: 0.45;
	pointer-events: none;
}

.commitEmptyState {
	background: #3a3a3a !important;
	color: #e0e0e0 !important;
	border: 1px solid #4a4a4a !important;
}

.loadMoreDivisionCommits {
	width: 100%;
	margin-left: 0 !important;
}

#WebsiteBuilderModule #controls #drag {
	font-size: 11px;
	padding-left: 0px !important;
	padding-right: 7px !important;
}

#WebsiteBuilderModule #controls #type {
	font-size: 13px !important;
	letter-spacing: 0.75px !important;
	border-radius: 0px !important;
	box-shadow: none;

	padding: 0px !important;
	padding-left: 0px !important;
	padding-right: 11px !important;
	text-align: left;
	min-width: 0;
	flex: 1 1 auto;
}

.specPanel {
	position: fixed;
	top: 70px;
	right: -420px;
	width: 360px;
	height: calc(100vh - 110px);
	background: #ffffff;
	box-shadow: 0 12px 28px rgba(15, 30, 61, 0.28);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	transition: right 210ms ease;
	z-index: 1010;
	overflow: hidden;
}

.specPanel.is-open {
	right: 24px;
}

.specPanel__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-bottom: 1px solid rgba(15, 30, 61, 0.1);
}

.specPanel__title {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.2px;
}

.specPanel__actions {
	display: flex;
	align-items: center;
	gap: 6px;
}

/* Mobile build thumbnails -------------------------------------------------- */

.mobileBuildRequestList {
	margin-top: 6px;
}

.mobileBuildCardList {
	display: grid;
	gap: 18px;
}

.mobileBuildCard {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 20px 22px;
	background: #ffffff;
	border: 1px solid rgba(15, 30, 61, 0.09);
	border-radius: 16px;
	box-shadow: 0 14px 30px rgba(15, 30, 61, 0.08);
	color: #1e2538;
	overflow: hidden;
}

.mobileBuildCard::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 4px;
	background: #7c8df8;
}

.mobileBuildCard__header {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.mobileBuildCard__avatar {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(124, 141, 248, 0.18), rgba(85, 110, 236, 0.16));
	display: flex;
	align-items: center;
	justify-content: center;
	color: #3c4fad;
	font-size: 20px;
	box-shadow: inset 0 0 0 1px rgba(60, 79, 173, 0.15);
}

.mobileBuildCard__heading {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.mobileBuildCard__title {
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.2px;
	color: #1a1f33;
}

.mobileBuildCard__metaRow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	color: rgba(26, 31, 51, 0.65);
}

.mobileBuildCard__metaItem {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.mobileBuildCard__metaValue {
	font-weight: 600;
	color: #1a1f33;
}

.mobileBuildCard__metaItem--progress {
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(124, 141, 248, 0.16);
	color: #3f4fbe;
	font-weight: 600;
}

.mobileBuildCard__status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	background: rgba(124, 141, 248, 0.15);
	color: #3f4fbe;
}

.mobileBuildCard__progress {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mobileBuildCard__progressTrack {
	position: relative;
	height: 8px;
	border-radius: 999px;
	background: rgba(15, 30, 61, 0.08);
	overflow: hidden;
}

.mobileBuildCard__progressFill {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(124, 141, 248, 0.9), rgba(88, 110, 236, 0.85));
	transition: width 220ms ease;
}

.mobileBuildCard__progressLabel {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.2px;
	color: rgba(26, 31, 51, 0.62);
	text-transform: uppercase;
}

.mobileBuildCard__section {
	border-top: 1px solid rgba(15, 30, 61, 0.07);
	padding-top: 14px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mobileBuildCard__sectionTitle {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.28px;
	color: rgba(26, 31, 51, 0.55);
}

.mobileBuildCard__artifactList {
	display: grid;
	gap: 10px;
}

.mobileBuildCard__artifact {
	border: 1px solid rgba(15, 30, 61, 0.08);
	border-radius: 10px;
	padding: 10px 12px;
	background: #f8f9ff;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mobileBuildCard__artifactHeader {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
	font-size: 13px;
	font-weight: 600;
	color: #1c2140;
}

.mobileBuildCard__artifactMeta {
	font-size: 11px;
	color: rgba(26, 31, 51, 0.55);
}

.mobileBuildCard__artifactActions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	font-size: 12px;
	color: rgba(26, 31, 51, 0.6);
}

.mobileBuildCard__artifactActions a {
	font-size: 12px;
	font-weight: 600;
	color: #4657c8;
}

.mobileBuildCard__artifactActions a:hover,
.mobileBuildCard__artifactActions a:focus {
	text-decoration: underline;
}

.mobileBuildCard__artifactPending {
	font-size: 12px;
	color: rgba(183, 48, 65, 0.78);
	font-weight: 600;
}

.mobileBuildCard__notes {
	font-size: 13px;
	color: rgba(26, 31, 51, 0.75);
	background: rgba(124, 141, 248, 0.08);
	border-radius: 10px;
	padding: 12px 14px;
}

.mobileBuildCard__footer {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.mobileBuildCard__actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.mobileBuildCard__actions .ui.button {
	margin: 0;
}

/* Status-specific accents -------------------------------------------------- */

.mobileBuildCard--failed::before {
	background: #f26d7d;
}

.mobileBuildCard--failed .mobileBuildCard__status {
	background: rgba(242, 109, 125, 0.16);
	color: #a4303f;
}

.mobileBuildCard--failed .mobileBuildCard__progressFill {
	background: linear-gradient(90deg, rgba(242, 109, 125, 0.92), rgba(208, 60, 83, 0.92));
}

.mobileBuildCard--cancelled::before {
	background: #d4d8e6;
}

.mobileBuildCard--cancelled .mobileBuildCard__status {
	background: rgba(175, 183, 205, 0.32);
	color: #565e73;
}

.mobileBuildCard--completed::before {
	background: #4ec19f;
}

.mobileBuildCard--completed .mobileBuildCard__status {
	background: rgba(78, 193, 159, 0.18);
	color: #206850;
}

.mobileBuildCard--completed .mobileBuildCard__progressFill {
	background: linear-gradient(90deg, rgba(78, 193, 159, 0.92), rgba(36, 152, 118, 0.92));
}

.mobileBuildCard--building::before,
.mobileBuildCard--uploading::before,
.mobileBuildCard--preparing::before,
.mobileBuildCard--queued::before {
	background: #7c8df8;
}

.mobileBuildCard--building .mobileBuildCard__status,
.mobileBuildCard--uploading .mobileBuildCard__status,
.mobileBuildCard--preparing .mobileBuildCard__status,
.mobileBuildCard--queued .mobileBuildCard__status {
	background: rgba(124, 141, 248, 0.18);
	color: #3f4fbe;
}

.mobileBuildCard--uploading .mobileBuildCard__progressFill {
	background: linear-gradient(90deg, rgba(124, 141, 248, 0.9), rgba(99, 121, 241, 0.88));
}

.mobileBuildCard--preparing .mobileBuildCard__progressFill {
	background: linear-gradient(90deg, rgba(253, 190, 86, 0.9), rgba(238, 141, 74, 0.88));
}

.mobileBuildCard--preparing .mobileBuildCard__status {
	background: rgba(253, 190, 86, 0.22);
	color: #a86321;
}

.mobileBuildCard--queued .mobileBuildCard__progressFill {
	background: linear-gradient(90deg, rgba(142, 158, 255, 0.9), rgba(99, 121, 241, 0.88));
}

@media (max-width: 960px) {
	.mobileBuildCard {
		padding: 18px 18px;
	}

	.mobileBuildCard__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.mobileBuildCard__status {
		align-self: flex-start;
	}

	.mobileBuildCard__actions {
		justify-content: flex-start;
	}
}

.specPanel__docTypeGroup {
	display: inline-flex;
	gap: 6px;
	margin-right: 10px;
}

.specPanel__docTypeToggle {
	border-radius: 4px;
	border: 1px solid rgba(15, 30, 61, 0.2);
	background: rgba(15, 30, 61, 0.05);
	color: inherit;
	padding: 4px 10px;
	font-size: 11px;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
}

.specPanel__docTypeToggle.is-active {
	background: var(--jmkr-color-1, #2d6cdf);
	border-color: var(--jmkr-color-1, #2d6cdf);
	color: #fff;
}

.specPanel__docTypeToggle[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}

.specPanel__actions button+button {
	margin-left: 8px;
}

.specPanel__body {
	display: flex;
	height: 100%;
}

.specPanel__list {
	width: 30%;
	border-right: 1px solid rgba(15, 30, 61, 0.08);
	background: rgba(15, 30, 61, 0.02);
	overflow-x: hidden;
	overflow-y: auto;
}

.specPanel__item {
	padding: 8px 12px;
	cursor: pointer;
	border-left: 3px solid transparent;
	transition: background 150ms ease, border-color 150ms ease;
}

.specPanel__item:hover {
	background: rgba(15, 30, 61, 0.08);
}

.specPanel__item.is-active {
	border-color: var(--jmkr-color-1, #2d6cdf);
	background: rgba(45, 108, 223, 0.16);
}

.specPanel__item.is-archived {
	opacity: 0.6;
	font-style: italic;
}

.specPanel__item.is-archived.is-active {
	opacity: 0.85;
}

.specPanel__itemTitle {
	font-weight: 600;
	font-size: 13px;
	margin-bottom: 2px;
}

.specPanel__empty {
	padding: 18px;
	font-size: 12px;
	color: rgba(15, 30, 61, 0.55);
}

.specPanel__toggleArchived.ui.button {
	background: rgba(15, 30, 61, 0.08);
	color: rgba(15, 30, 61, 0.85);
}

.specPanel__toggleArchived.ui.button.is-active {
	background: var(--jmkr-color-1, #2d6cdf);
	color: #fff;
}

.specPanel__toggleArchived.ui.button[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}

.specPanel__content {
	flex: 1;
	padding: 16px;
	display: flex;
	flex-direction: column;
}

.specPanel__contentHeader {
	display: flex;
	flex-direction: column;
	margin-bottom: 12px;
}

.specPanel__titleInput {
	margin-top: 4px;
	padding: 7px 8px;
	border: 1px solid rgba(15, 30, 61, 0.2);
	border-radius: 4px;
	font-size: 14px;
}

.specPanel__titleInput[disabled] {
	background: rgba(15, 30, 61, 0.05);
	color: rgba(15, 30, 61, 0.45);
}

.specPanel__editor {
	flex: 1;
	resize: none;
	padding: 12px;
	border: 1px solid rgba(15, 30, 61, 0.24);
	border-radius: 6px;
	font-family: 'SFMono-Regular', Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
	font-size: 13px;
	line-height: 1.48;
	margin-bottom: 12px;
}

.specPanel__preview {
	flex: 1;
	padding: 12px;
	border: 1px solid rgba(15, 30, 61, 0.12);
	border-radius: 6px;
	background: rgba(15, 30, 61, 0.03);
	font-family: 'SFMono-Regular', Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
	font-size: 13px;
	line-height: 1.48;
	white-space: pre-wrap;
	overflow-y: auto;
}

.specPanel__footer {
	display: flex;
	justify-content: flex-end;
	margin-top: 12px;
}

.specPanel__footer .button+.button {
	margin-left: 8px;
}

#WebsiteBuilderModule .ui.accordion .content {
	padding: 0px;
}

#WebsiteBuilderModule .bottom.attached.segment {
	border: none;
}

.JMDK_outline,
.JMDK_innerOutline,
.JMDK_selectedOutline {
	display: none;

	position: absolute;
	z-index: 10001;

	left: -1px;
	width: calc(100% + 2px);
	top: -1px;
	height: calc(100% + 2px);

	border-radius: 1px;
	pointer-events: none;
	border: 2px dashed var(--jmkr-color-1);

	-webkit-transition: top 0.17s ease, left 0.17s ease, width 0.17s ease, height 0.17s ease, opacity 0.17s ease;
	-moz-transition: top 0.17s ease, left 0.17s ease, width 0.17s ease, height 0.17s ease, opacity 0.17s ease;
	-ms-transition: top 0.17s ease, left 0.17s ease, width 0.17s ease, height 0.17s ease, opacity 0.17s ease;
	-o-transition: top 0.17s ease, left 0.17s ease, width 0.17s ease, height 0.17s ease, opacity 0.17s ease;
	transition: top 0.17s ease, left 0.17s ease, width 0.17s ease, height 0.17s ease, opacity 0.17s ease;
}

.JMDK_innerOutline .inside {
	position: absolute;
	z-index: -1;

	left: -1px;
	width: calc(100% + 2px);
	top: -1px;
	height: calc(100% + 2px);

	border-radius: 1px;
	pointer-events: none;
	border: 2px dashed white;
}

.JMDK_innerOutline {
	border: 2px dashed black;
}

.JMDK_selectedOutline {
	border: 2px solid red;
}

.JMDK_outlineTag,
.JMDK_innerOutlineTag,
.JMDK_selectedOutlineTag {
	display: none;

	position: absolute;
	z-index: 1;

	left: -2px;
	letter-spacing: 0.75px;
	line-height: 30px;

	padding-left: 11px;
	padding-right: 11px;
	background: var(--jmkr-color-1);
	color: white;
	font-size: 17px;

	white-space: nowrap !important;
	overflow: hidden;
	text-overflow: ellipsis;
}

.JMDK_innerOutlineTag {
	left: auto;
	right: -2px;
	font-size: 12px;
	line-height: 21px;
	background: black;
}

.JMDK_selectedOutlineTag {
	background: red;
}

.isInWebsiteBuilder .JMDK_outline,
.isInWebsiteBuilder .JMDK_innerOutline,
.isInWebsiteBuilder .JMDK_selectedOutline,
.isInWebsiteBuilder .JMDK_outlineTag,
.isInWebsiteBuilder .JMDK_innerOutlineTag,
.isInWebsiteBuilder .JMDK_selectedOutlineTag {
	display: block;
}

.SubWebsiteBuilderModule {
	position: relative;
	border-bottom-left-radius: 3.5px;
	padding: 17px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	margin-bottom: 7px;
}

.SubWebsiteBuilderModule .leftLine {
	position: absolute;
	left: 15px;
	top: 0px;
	height: calc(100% - 35px);

	border-left: 1px dotted rgba(0, 0, 0, 0.77);
}



#jmkrClient .WebsiteBuilderInterface #WebsiteBuilderModuleForm .ui.tabular.menu .item.active {
	border-radius: 0px !important;
	background: #2b2b2b !important;
	color: var(--jmkr-color-1) !important;
}

#jmkrClient .WebsiteBuilderInterface #WebsiteBuilderModuleForm .ui.tabular.menu {
	border: none !important;
	min-height: 0px;
}

#jmkrClient .WebsiteBuilderInterface .ui.attached.tabular.menu {
	background: rgba(0, 0, 0, 0) !important;
}

#jmkrClient .WebsiteBuilderInterface .ui.tab.segment {
	background: #2b2b2b !important;
	padding: 1em !important;
	padding-bottom: 1em !important;
	margin-bottom: 0px !important;
}

#jmkrClient .WebsiteBuilderInterface .ui.tab.segment.iframeSegment {
	padding: 0em !important;
	background: #252525 !important;
}

#wrapIframeForDemo {
	width: 100%;
}

#iframeForDemo {
	position: absolute;
	width: 125% !important;
	height: 125% !important;
	-moz-transform: scale(0.8, 0.8);
	-webkit-transform: scale(0.8, 0.8);
	-o-transform: scale(0.8, 0.8);
	-ms-transform: scale(0.8, 0.8);
	transform: scale(0.8, 0.8);
	-moz-transform-origin: top left;
	-webkit-transform-origin: top left;
	-o-transform-origin: top left;
	-ms-transform-origin: top left;
	transform-origin: top left;
}

#iframeForDemo.disableZooming {
	width: 100% !important;
	height: 100% !important;
	-moz-transform: scale(1, 1);
	-webkit-transform: scale(1, 1);
	-o-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
}

#hoverFiller {
	position: relative;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-top: 0px;
}

#HTMLEditor,
#CSSEditor,
#JSEditor {
	width: 100%;
	border: none;
	border-radius: 0px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-top: 0px;
}

#HTMLDisplay,
#CSSDisplay,
#JSDisplay {
	width: 100%;
	border: none;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 0px;
}

#iframeForHTMLEditor,
#iframeForCSSEditor,
#iframeForJSEditor,
#iframeForTemplates {
	display: block;
	position: relative;
	width: 100%;
	height: 500px;
}

#iframeForHTMLEditor,
#iframeForCSSEditor,
#iframeForJSEditor {
	display: block;

	position: absolute;
	left: 0px;
	top: 0px;

	width: 100%;

	border: none;
	border-bottom: 3.5px solid black;

	-webkit-transition: width 0.17s ease;
	-moz-transition: width 0.17s ease;
	-ms-transition: width 0.17s ease;
	-o-transition: width 0.17s ease;
	transition: width 0.17s ease;
}

.iframeField:hover #iframeForHTMLEditor,
.iframeField:hover #iframeForCSSEditor,
.iframeField:hover #iframeForJSEditor {

	position: absolute;

	background-color: white;
	box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.1);
	border-bottom: 3.5px solid var(--jmkr-color-1);
}

.staticIframe #iframeForHTMLEditor,
.staticIframe #iframeForCSSEditor,
.staticIframe #iframeForJSEditor {
	display: block;

	position: relative !important;
	right: 0px !important;
	top: 0px !important;

	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;

	box-shadow: none !important;

	-webkit-transition: width 0.7s ease;
	-moz-transition: width 0.7s ease;
	-ms-transition: width 0.7s ease;
	-o-transition: width 0.7s ease;
	transition: width 0.7s ease;
}

#WebsiteBuilderTree {
	position: absolute;
	z-index: 100000;
	background-color: #252525;
	left: 0px;
	top: 0px;
	padding-left: 0px;
	width: 30px;
	min-width: 30px;
	max-width: 500px;
	height: 100%;

	-webkit-transition: top 0.17s ease, left 0.17s ease, width 0.17s ease, min-width 0.17s ease, padding-left 0.17s ease;
	-moz-transition: top 0.17s ease, left 0.17s ease, width 0.17s ease, min-width 0.17s ease, padding-left 0.17s ease;
	-ms-transition: top 0.17s ease, left 0.17s ease, width 0.17s ease, min-width 0.17s ease, padding-left 0.17s ease;
	-o-transition: top 0.17s ease, left 0.17s ease, width 0.17s ease, min-width 0.17s ease, padding-left 0.17s ease;
	transition: top 0.17s ease, left 0.17s ease, width 0.17s ease, min-width 0.17s ease, padding-left 0.17s ease;

	overflow-x: hidden;
	box-shadow: 0px 0px 17px rgba(0, 0, 0, 0.17);
}

#WebsiteBuilderTreeIcon {
	position: absolute;
	top: 0px;
	left: 0px;
	height: 100%;
	line-height: 100%;
	text-align: center;
	width: 100%;
	max-width: 500px;
	z-index: 100000;
	border-right: 1px dashed #303129;
	color: white;
	background: #323232;
	padding-top: 7.5px;
	padding-left: 0.5px;
}

#WebsiteBuilderTree:hover {
	min-width: 350px;
	width: calc(100% - 150px);
	border-right: none;
	box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.17);
}

#WebsiteBuilderTree:hover #WebsiteBuilderTreeIcon {
	display: none;
}

#WebsiteBuilderTreeInside {
	min-width: 250px;
}

#WebsiteBuilderTreeBeside {
	padding-left: 30px;
	background-color: #252525;
}

#WebsiteBuilder #dragOver,
#WebsiteBuilder #toggleDemo,
#WebsiteBuilder #batchScreenshot {
	position: absolute;
	right: 0px;
	top: calc(var(--line-height) * 1);
	width: var(--line-height);
	height: var(--line-height);
	text-align: center;
	line-height: var(--line-height);
	color: silver;
	cursor: pointer;
	border-radius: 50%;
	z-index: 1000;
}

#WebsiteBuilder #batchScreenshot:hover {
	color: #7c3aed;
}

#WebsiteBuilder #dragIsOn {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 999;
}

.doNotCollapseFileFinder #WebsiteBuilderTree {
	position: relative !important;
	min-width: 0px !important;
	width: 100% !important;
	max-width: 100% !important;
	border-right: none !important;
	box-shadow: none !important;
}

.doNotCollapseFileFinder #WebsiteBuilderTree #WebsiteBuilderTreeIcon {
	display: none !important;
}

.doNotCollapseFileFinder #WebsiteBuilderTreeBeside {
	padding-left: 0px !important;
}

#jmkrClient #WebsiteBuilderTreeBeside #notificationList {
	background: #252525;
	color: white;
}

#WebsiteBuilderTreeBeside label,
#WebsiteBuilderTreeBeside input,
#WebsiteBuilderTreeBeside textarea,
#WebsiteBuilderTreeBeside .ui.search.dropdown>.text,
#WebsiteBuilderTreeBeside .selectize-input.items.full.has-items {
	color: white;
}

#jmkrClient #WebsiteBuilderTreeBeside .menu {
	border: none !important;
	min-height: var(--line-height) !important;
}

#jmkrClient #WebsiteBuilderTreeBeside .ui.tabular.menu .item {
	color: white !important;
	line-height: var(--line-height) !important;
	height: var(--line-height) !important;
	padding: 1em !important;
	padding-top: 0px !important;
	padding-bottom: 0px !important;
	position: relative;
}

#jmkrClient #WebsiteBuilderTreeBeside .ui.tabular.menu .item .click {
	position: absolute;
	left: 0px;
	top: 0px;
	height: 100%;
	width: calc(100% - 35px);
	z-index: 1;
	cursor: pointer;
}

.iframeField {
	position: relative;
}

#jmkrClient #WebsiteBuilderTreeBeside #WebsiteBuilderModuleForm {
	border-top: 1px solid black;
}



.closeJMDKTab.icon {
	margin-left: 0px !important;
	padding-top: 2px !important;
	width: 0px !important;
	overflow-x: hidden;

	-webkit-transition: width 0.17s ease;
	-moz-transition: width 0.17s ease;
	-ms-transition: width 0.17s ease;
	-o-transition: width 0.17s ease;
	transition: width 0.17s ease;
}

.item:hover .closeJMDKTab {
	margin-left: 5px !important;
	width: 15px !important;
}

/* ============================================
   Web App Preview Overlay
   ============================================ */
.webAppPreviewOverlay {
    z-index: 10000;
}

.webAppPreview {
    background: var(--menu-color-2, #1e1e1e);
    position: relative;
}

/* Header */
.webAppPreview__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: var(--menu-color-3, #252525);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.webAppPreview__title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 1.1em;
    font-weight: 600;
}

.webAppPreview__title i {
    color: var(--jmkr-color-1);
}

.webAppPreview__headerActions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.webAppPreview__btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--menu-color-2, #1e1e1e);
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s;
}

.webAppPreview__btn:hover {
    background: var(--menu-color-1, #333);
    color: var(--jmkr-color-1);
}

.webAppPreview__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 77, 77, 0.2);
    border-radius: 8px;
    color: #ff6b6b;
    cursor: pointer;
    transition: all 0.2s;
    margin-left: 10px;
}

.webAppPreview__close:hover {
    background: rgba(255, 77, 77, 0.4);
}

/* Size Selector */
.webAppPreview__sizeSelector {
    display: flex;
    align-items: center;
    gap: 4px;
    background: rgba(0, 0, 0, 0.3);
    padding: 4px;
    border-radius: 8px;
}

.webAppPreview__sizeBtn {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.6);
    transition: all 0.2s;
}

.webAppPreview__sizeBtn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.webAppPreview__sizeBtn.active {
    background: var(--jmkr-color-1);
    color: #fff;
}

/* Body / Iframe Container */
.webAppPreview__body {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--menu-color-1, #333);
    position: relative;
    overflow: hidden;
}

/* Device container - wraps the iframe */
.webAppPreview__device {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.webAppPreview__iframe {
    width: 100%;
    height: 100%;
    border: none;
    background: #fff;
    transition: all 0.3s ease;
}

/* Fill mode (default) - full size */
.webAppPreview__body--fill .webAppPreview__device {
    width: 100%;
    height: 100%;
}

.webAppPreview__body--fill .webAppPreview__iframe {
    width: 100%;
    height: 100%;
    border-radius: 0;
    box-shadow: none;
}

/* Mobile mode - 375x667 (iPhone SE/8) */
.webAppPreview__body--mobile .webAppPreview__device {
    width: 375px;
    height: 667px;
    max-width: 100%;
    max-height: 100%;
}

.webAppPreview__body--mobile .webAppPreview__iframe {
    width: 100%;
    height: 100%;
    border-radius: 24px;
    box-shadow: 0 0 0 12px #1a1a1a, 0 0 0 14px #333, 0 20px 60px rgba(0, 0, 0, 0.5);
}

/* Tablet mode - 768x1024 (iPad) */
.webAppPreview__body--tablet .webAppPreview__device {
    width: 768px;
    height: 1024px;
    max-width: 100%;
    max-height: 100%;
}

.webAppPreview__body--tablet .webAppPreview__iframe {
    width: 100%;
    height: 100%;
    border-radius: 16px;
    box-shadow: 0 0 0 10px #1a1a1a, 0 0 0 12px #333, 0 20px 60px rgba(0, 0, 0, 0.5);
}

/* Laptop mode - 1366x768 */
.webAppPreview__body--laptop .webAppPreview__device {
    width: 1366px;
    height: 768px;
    max-width: 100%;
    max-height: 100%;
}

.webAppPreview__body--laptop .webAppPreview__iframe {
    width: 100%;
    height: 100%;
    border-radius: 8px;
    box-shadow: 0 0 0 8px #1a1a1a, 0 0 0 10px #333, 0 20px 60px rgba(0, 0, 0, 0.5);
}

/* Scale down devices that don't fit */
.webAppPreview__body--mobile .webAppPreview__device,
.webAppPreview__body--tablet .webAppPreview__device,
.webAppPreview__body--laptop .webAppPreview__device {
    transform-origin: center center;
}

/* Footer */
.webAppPreview__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: var(--menu-color-3, #252525);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.webAppPreview__url {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.85em;
    max-width: 50%;
    overflow: hidden;
}

.webAppPreview__url i {
    color: var(--jmkr-color-1);
    flex-shrink: 0;
}

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

.webAppPreview__footerActions {
    display: flex;
    gap: 10px;
}

/* Studio button overrides for dark theme */
.webAppPreview .studio-button {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    color: #fff;
    white-space: nowrap;
}

.webAppPreview .studio-button:hover {
    background: rgba(255, 255, 255, 0.2);
}

.webAppPreview .studio-button.primary {
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
}

.webAppPreview .studio-button.primary:hover {
    opacity: 0.85;
}

/* Recording Controls (Spec 811) */
.webAppPreview__recordingControls {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 15px;
    padding: 0 15px;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.webAppPreview__recordingIndicator {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: rgba(255, 0, 0, 0.15);
    border-radius: 6px;
    border: 1px solid rgba(255, 0, 0, 0.3);
}

.webAppPreview__recordingDot {
    width: 10px;
    height: 10px;
    background: #ff4444;
    border-radius: 50%;
    animation: recordingPulse 1.5s ease-in-out infinite;
}

@keyframes recordingPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(0.9); }
}

.webAppPreview__recordingTime {
    font-family: monospace;
    font-size: 0.9em;
    color: #fff;
    min-width: 50px;
}

.webAppPreview__recordingEvents {
    font-size: 0.8em;
    color: rgba(255, 255, 255, 0.6);
}

.webAppPreview__btn.startRecording {
    width: auto;
    height: auto;
    gap: 6px;
    padding: 8px 12px;
    background: transparent;
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
}

.webAppPreview__btn.startRecording:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.webAppPreview__btn.startRecording i {
    color: #e74c3c;
    font-size: 14px;
}

.webAppPreview__btn.recording-stop {
    background: rgba(255, 0, 0, 0.2) !important;
    border: 1px solid rgba(255, 0, 0, 0.4);
}

.webAppPreview__btn.recording-stop:hover {
    background: rgba(255, 0, 0, 0.3) !important;
}

.webAppPreview__btn.recording-stop i {
    color: #ff4444;
}

/* Paused state - dim the recording dot */
.webAppPreview__recordingControls.paused .webAppPreview__recordingDot {
    animation: none;
    opacity: 0.5;
}

/* Save Recording Dialog (Spec 811 - Phase 3) */
.jmdk-save-dialog-popup {
    width: 420px !important;
}

.jmdk-save-dialog {
    text-align: left;
}

.jmdk-save-dialog__summary {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 12px;
    margin-bottom: 16px;
    background: #f5f5f5;
    border-radius: 8px;
}

.jmdk-save-dialog__stat {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #666;
}

.jmdk-save-dialog__stat i {
    font-size: 16px;
    color: #888;
}

.jmdk-save-dialog__field {
    margin-bottom: 16px;
}

.jmdk-save-dialog__field label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #333;
}

.jmdk-save-dialog__field label .optional {
    font-weight: 400;
    color: #999;
}

.jmdk-save-dialog__field input.swal2-input,
.jmdk-save-dialog__field textarea.swal2-textarea {
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}

.jmdk-save-dialog__field textarea.swal2-textarea {
    height: 80px;
    resize: vertical;
}

.jmdk-save-dialog__type-options {
    display: flex;
    gap: 10px;
}

.jmdk-save-dialog__type-option {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 10px 14px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.jmdk-save-dialog__type-option:hover {
    border-color: #ccc;
}

.jmdk-save-dialog__type-option input {
    display: none;
}

.jmdk-save-dialog__type-option span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #666;
}

.jmdk-save-dialog__type-option input:checked + span {
    color: var(--jmkr-color-1, #4a90d9);
}

.jmdk-save-dialog__type-option:has(input:checked) {
    border-color: var(--jmkr-color-1, #4a90d9);
    background: rgba(74, 144, 217, 0.05);
}

.jmdk-save-dialog-confirm {
    background: var(--jmkr-color-1, #4a90d9) !important;
}

/* Recordings Panel (Spec 811 - Phase 5) */
.webAppPreview__recordingsPanel {
    position: absolute;
    top: 71px;
    right: 0;
    bottom: 65px;
    width: 320px;
    background: #1a1a1a;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    z-index: 10;
}

.webAppPreview__recordingsHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.webAppPreview__recordingsHeader h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
}

.webAppPreview__recordingsHeader h3 i {
    font-size: 16px;
    opacity: 0.7;
}

.webAppPreview__recordingsClose {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.6);
    transition: all 0.2s;
}

.webAppPreview__recordingsClose:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.webAppPreview__recordingsList {
    flex: 1;
    overflow-y: auto;
    padding: 10px;
}

.webAppPreview__recordingItem {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    padding-right: 16px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.webAppPreview__recordingItem:hover {
    background: rgba(255, 255, 255, 0.08);
}

.webAppPreview__recordingIcon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.6);
    flex-shrink: 0;
}
.webAppPreview__recordingIcon i {
    font-size: 18px;
}

.webAppPreview__recordingInfo {
    flex: 1;
    min-width: 0;
}

.webAppPreview__recordingName {
    font-size: 13px;
    font-weight: 500;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.webAppPreview__recordingMeta {
    display: flex;
    gap: 10px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 4px;
}

.webAppPreview__recordingActions {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 4px;
    opacity: 0;
    background: linear-gradient(to right, transparent, #2a2a2a 20%);
    padding-left: 20px;
    transition: opacity 0.2s;
}

.webAppPreview__recordingItem:hover .webAppPreview__recordingActions {
    opacity: 1;
}

.webAppPreview__recordingBtn {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.2s;
}

.webAppPreview__recordingBtn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.webAppPreview__recordingBtn.deleteRecording:hover {
    background: rgba(255, 0, 0, 0.2);
    color: #ff6b6b;
}

.webAppPreview__recordingsEmpty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
}

.webAppPreview__recordingsEmpty i {
    font-size: 40px;
    margin-bottom: 15px;
    opacity: 0.5;
}

.webAppPreview__recordingsEmpty p {
    margin: 0 0 5px 0;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
}

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

/* Recording Detail Dialog */
.jmdk-recording-detail-popup {
    max-width: 500px;
}

.jmdk-recording-detail__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px;
    background: #f5f5f5;
    border-radius: 8px;
    margin-bottom: 15px;
    font-size: 13px;
    color: #666;
}

.jmdk-recording-detail__meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.jmdk-recording-detail__meta i {
    font-size: 14px;
    opacity: 0.7;
}

.jmdk-recording-detail__type {
    font-weight: 500;
    color: #333;
}

.jmdk-recording-detail__desc {
    padding: 12px;
    background: #fafafa;
    border-radius: 6px;
    margin-bottom: 15px;
    font-size: 13px;
    color: #555;
    line-height: 1.5;
}

.jmdk-recording-detail__events h4 {
    margin: 0 0 10px 0;
    font-size: 13px;
    font-weight: 500;
    color: #333;
}

.jmdk-event-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: #f9f9f9;
    border-radius: 4px;
    margin-bottom: 4px;
    font-size: 12px;
}

.jmdk-event-item i {
    width: 16px;
    color: #888;
}

.jmdk-event-type {
    font-weight: 500;
    color: #333;
    min-width: 50px;
}

.jmdk-event-time {
    color: #888;
    min-width: 30px;
}

.jmdk-event-detail {
    flex: 1;
    color: #666;
    font-family: monospace;
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.jmdk-event-more {
    padding: 8px;
    text-align: center;
    font-size: 12px;
    color: #888;
}

/* Play button in detail dialog (Spec 811 - Phase 4) */
.jmdk-play-button {
    background: #4CAF50 !important;
    border-color: #4CAF50 !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}
.jmdk-play-button:hover {
    background: #43A047 !important;
    border-color: #43A047 !important;
}
.jmdk-play-button i {
    font-size: 14px;
}

/* Responsive */
@media (max-width: 768px) {
    .webAppPreviewOverlay {
        left: 0;
        width: 100%;
        padding: 0;
    }

    .webAppPreviewOverlay.slimMenu,
    .webAppPreviewOverlay.rightUIOpen,
    .webAppPreviewOverlay.slimMenu.rightUIOpen {
        left: 0;
        width: 100%;
    }

    .webAppPreview {
        max-height: 100vh;
        height: 100vh;
        border-radius: 0;
        max-width: 100%;
    }

    .webAppPreview__footer {
        flex-direction: column;
        gap: 12px;
    }

    .webAppPreview__url {
        max-width: 100%;
        width: 100%;
    }

    .webAppPreview__footerActions {
        width: 100%;
        justify-content: stretch;
    }

    .webAppPreview__footerActions .studio-button {
        flex: 1;
        justify-content: center;
    }
}
#wizardChat {
    border-radius: 4px;
    padding: 1em;
    background: rgba(0, 0, 0, 0.017);
    height: calc(100vh - var(--line-height) * 2);
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    gap: 0.75em;
    transform: scaleY(-1);
}

#wizardChat > * {
    transform: scaleY(-1);
}

.dataProcessorPopUp #wizardChat {
    height: calc(100vh - var(--line-height) * 2 - 3.5px);
}

#wizardChat .wizardChatMessage {
    margin: 0;
    max-width: 100%;
    animation: wizardChatFadeIn 0.5s ease-out;
}

@keyframes fadeInTop {
    from {
        opacity: 0;
        transform: translateY(-17px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes wizardChatFadeIn {
    from {
        opacity: 0;
        transform: scaleY(-1) translateY(-17px);
    }

    to {
        opacity: 1;
        transform: scaleY(-1) translateY(0);
    }
}


.loading-dots {
    position: relative;
}

.loading-dots::after {
    content: '';
    animation: loadingDots 1.5s infinite;
}

@keyframes loadingDots {

    0%,
    20% {
        content: '';
    }

    25%,
    45% {
        content: '.';
    }

    50%,
    70% {
        content: '..';
    }

    75%,
    95% {
        content: '...';
    }

    100% {
        content: '';
    }
}

#wizardChat .wizardChatMessageContent {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    word-wrap: break-word;
}

#wizardChat .wizardChatMessageContent p {
    margin: 0;
}

#wizardChat .wizardChatMessageInstructions {
    position: relative;
    max-height: 35vh;
    overflow-y: hidden;
    margin-bottom: 0.4em;
    margin-left: -0.25em;
    width: calc(100% + 0.5em);
}

#wizardChat .wizardChatMessageInstructions .scroll {
    position: absolute;
    z-index: 1;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    padding-top: 0.3em;
    padding-bottom: 0.8em;
}

#wizardChat .wizardChatMessageInstructions .topShadow {
    position: absolute;
    z-index: 2;
    top: 0em;
    left: 0px;
    width: 100%;
    height: 1em;
    background: linear-gradient(to top, rgba(0, 0, 0, 0), #3C3C3C);
}

#wizardChat .wizardChatMessageInstructions .bottomShadow {
    position: absolute;
    z-index: 2;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 1em;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #3C3C3C);
}

#wizardChat .wizardChatMessageInstructions .wizardChatMessageInstruction {
    font-size: 0.85em;
    line-height: 1.35em;
    color: #b4b4b4;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 4px;
    padding: 0.4em;
    margin-top: 0.4em;
    animation: fadeInTop 0.5s ease-out;
}

#wizardChat .wizardChatMessageInstructions .wizardChatMessageInstruction:hover {
    background-color: rgba(255, 255, 255, 0.05);
    color: white;
}

#wizardChat .wizardChatMessageInstructions .wizardChatMessageInstruction.processing {
    border: 2px solid rgba(255, 255, 0, 0.1);
    background-color: rgba(255, 255, 0, 0.05);
}

#wizardChat .wizardChatMessageInstructions .wizardChatMessageInstruction.completed {
    border: 2px solid rgba(0, 255, 0, 0.1);
    background-color: rgba(0, 255, 0, 0.05);
}

#wizardChat .wizardChatMessageInstructions .wizardChatMessageInstruction.failed {
    border: 2px solid rgba(231, 76, 60, 0.1);
    background-color: rgba(231, 76, 60, 0.05);
}

#wizardChat .wizardChatMessageInstructions .wizardChatMessageInstruction .processingTime {
    opacity: 0.7;
    font-size: 0.8em;
}

#wizardChat .wizardChatMessageInstructions .wizardChatMessageInstruction .tag {
    display: inline-block;
    font-size: 0.77em;
    background-color: rgba(255, 255, 255, 0.05);
    padding: 0.2em 0.7em;
    border-radius: 4px;
    margin-top: 0.5em;
    font-weight: 500;
}

#wizardChat .wizardChatMessageDate {
    float: left;
    font-size: 0.75em;
    color: #999;
    padding-top: 1em;
}

#wizardChat .wizardChatMessageDelete,
#wizardChat .wizardChatMessageUndo,
#wizardChat .wizardChatMessageRedo,
#wizardChat .wizardChatMessageResume {
    float: right;
    font-size: 0.8em;
    color: #aaa;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.2s;
    width: -moz-fit-content;
    width: fit-content;
    padding-top: 1em;
}

#wizardChat .wizardChatMessage:hover .wizardChatMessageDelete,
#wizardChat .wizardChatMessage:hover .wizardChatMessageUndo,
#wizardChat .wizardChatMessage:hover .wizardChatMessageRedo,
#wizardChat .wizardChatMessage:hover .wizardChatMessageResume {
    opacity: 1;
}

#wizardChat .wizardChatMessageDelete:hover {
    color: red;
}

#wizardChat .wizardChatMessageUndo:hover,
#wizardChat .wizardChatMessageRedo:hover {
    color: var(--jmkr-color-1);
}

#wizardChat .wizardChatMessageResume:hover {
    color: #28a745;
}

#wizardChat .wizard-progress-bar-container {
    position: absolute;
    bottom: -4px;
    left: 0px;
    width: 100%;
    z-index: 1000;
    height: 3px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 2px;
    margin-top: 4px;
    margin-bottom: 4px;
    overflow: hidden;
}

#wizardChat .wizard-progress-bar {
    height: 100%;
    background-color: #51cf66;
    border-radius: 2px;
    transition: width 0.5s ease-in-out;
}


.wizardImagePreview {
    position: absolute;
    top: -110px;
    left: 10px;
    display: block;
    margin-bottom: 8px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    overflow: hidden;
    background: #fafafa;
    max-width: 160px;
    height: 100px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    transition: all 0.2s ease;
    z-index: 1000;
}

.wizardImagePreview:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    border-color: #d0d0d0;
}

.wizardImagePreview img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 100px;
    object-fit: cover;
    border-radius: 5px;
}

.wizardImagePreviewRemove {
    position: absolute;
    top: 3px;
    right: 3px;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 10px;
    opacity: 0.8;
}

.wizardImagePreviewRemove:hover {
    background: rgba(220, 53, 69, 0.9);
    opacity: 1;
    transform: scale(1.1);
}

.wizardImagePreviewRemove i {
    margin: 0 !important;
}

.wizardImagePreview.uploading {
    background: #f8f9fa;
    border: 1px dashed #6c757d;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.uploadingIndicator {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #6c757d;
    font-size: 12px;
}

.uploadingIndicator i {
    font-size: 14px !important;
}


.wizard.iframeField.field {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.wizard.iframeField.field form {
    margin-bottom: 0;
    flex-shrink: 0;
}


.wizard.iframeField.field #aiField {
    margin-bottom: 0 !important;
}

.wizard.iframeField.field #aiField input {
    font-size: 14px;
    padding: 8px 12px;
    border-radius: 4px;
    border: 1px solid #ddd;
}

.wizard.iframeField.field #aiField .aiButton {
    border-radius: 4px;
    font-size: 14px;
}

.wizardInputContainer {
    display: flex;
    align-items: center;
}

.wizardInputContainer input {
    flex: 1;
    font-size: 14px !important;
    border-radius: 4px !important;
    border: 1px solid #ddd !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wizardInputContainer .button.transcriptWizard {
    border-left: none;
    background: none;
}

.wizardChatMessage {
    display: flex;
    flex-direction: column;
    gap: 0.5em;

    padding-bottom: 0.5em;
    margin-bottom: 1em;
    border-bottom: 1px solid #ddd;
}

.wizardChatMessage .role {
    display: flex;
    align-items: center;
    gap: 0.5em;
    padding-top: 0.5em;
    font-size: 12px;
    color: #999;
    text-transform: uppercase;
}

.wizardChatMessage .role-label {
    flex: 1;
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
}

.wizardChatMessage .role-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.1em 0.6em;
    border-radius: 999px;
    font-size: 10px;
    letter-spacing: 0.08em;
    border: 1px solid rgba(153, 153, 153, 0.4);
    background: rgba(153, 153, 153, 0.15);
    color: inherit;
}

.wizardChatMessage .role-badge--test {
    border-color: rgba(16, 185, 129, 0.45);
    background: rgba(16, 185, 129, 0.18);
    color: #0f9d7a;
}

.wizardChatMessage .message {
    font-size: 14px;
    line-height: 1.5em;
}

.wizardChatMessage .message pre {
    margin: 0.75em 0;
    padding: 0.75em;
    border-radius: 6px;
    background: #1f1f24;
    color: #f3f4f6;
    overflow-x: auto;
    font-family: Menlo, Monaco, "Courier New", monospace;
    font-size: 13px;
    line-height: 1.45em;
}

.wizardChatMessage .message pre code {
    background: transparent;
    color: inherit;
    padding: 0;
}

.wizardChatMessage .message code {
    font-family: Menlo, Monaco, "Courier New", monospace;
    font-size: 13px;
}

.wizardChatMessage .message :not(pre)>code {
    display: inline;
    background: rgba(31, 34, 40, 0.08);
    color: var(--jmkr-color-1);
    padding: 2px 4px;
    border-radius: 4px;
}

.wizardChatMessage .date {
    font-size: 11px;
    color: #999;
    text-align: right;
}


.wizardChatMessage .section-title {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
    font-size: 12px;
    font-weight: 600;
    color: #b4b4b4;
    text-transform: uppercase;
}

.wizardChatMessage .thoughts ol {
    margin: 0.25em 0 0.5em 0;
    padding: 0;
    list-style: none;
}

.wizardChatMessage .thoughts li {
    margin: 0.15em 0;
    color: #d0d0d0;
}

.wizardChatMessage .thoughts .index {
    color: var(--jmkr-color-1);
}

.wizardChatMessage .internalNotes {
    margin: 0.5em 0 0.75em 0;
    padding-left: 0.75em;
    border-left: 2px solid rgba(255, 255, 255, 0.08);
    font-size: 12px;
    color: #9da0a8;
}

.wizardChatMessage .internalNotes .note {
    margin: 0.15em 0;
    line-height: 1.4em;
}

.wizardChatMessage .internalNotes .label {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.04em;
    margin-right: 0.35em;
    color: #b9bec7;
}

.wizardChatMessage .internalNotes .content {
    color: inherit;
}

.wizardChatMessage .codeEdits .codeEdit {
    margin: 0.5em 0;
}

.wizardChatMessage .codeEdits .meta {
    font-size: 12px;
    color: #9aa0a6;
    margin-bottom: 0.25em;
}

.wizardChatMessage .codeEdits .meta .separator {
    margin: 0 0.35em;
    opacity: 0.6;
}

.wizardChatMessage .codeEdits .meta .filename {
    color: #e2e2e2;
}

.wizardChatMessage .codeEdits .meta .action,
.wizardChatMessage .codeEdits .meta .range,
.wizardChatMessage .codeEdits .meta .language {
    color: #cfcfcf;
}

.wizardChatMessage .codeEdits pre.copy-block {
    background: #1e1f22;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 4px;
    padding: 0.75em;
    overflow-x: auto;
    color: #e6e6e6;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 12px;
    line-height: 1.4;
}

.wizardChatMessage .codeEdits pre.copy-block:hover {
    border-color: rgba(255, 255, 255, 0.18);
    background: #232427;
}

.wizardChatMessage .codeEdits pre.copy-block code {
    color: inherit;
}

.wizardChatMessage .codexSession {
    color: #f0f3ff;
}

.codexSession--curated {
    background: rgba(18, 24, 43, 0.72);
    border: 1px solid rgba(104, 139, 255, 0.18);
    border-radius: 10px;
    padding: 1rem 1.1rem;
    box-shadow: 0 6px 18px rgba(10, 16, 32, 0.28);
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.codexSession__loading {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.92rem;
    color: rgba(223, 229, 255, 0.8);
    letter-spacing: 0.01em;
}

.codexSession__loading .loader {
    margin-right: 0;
}

.codexSession__loadingLabel {
    font-weight: 600;
}

.codexSession__stageLabel {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: rgba(223, 229, 255, 0.66);
}

.codexSession__container {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.codexSession__feed {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.codexSession__item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.85rem 1rem 0.85rem 1.6rem;
    background: rgba(24, 32, 59, 0.82);
    border: 1px solid rgba(104, 139, 255, 0.12);
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px rgba(104, 139, 255, 0.04);
}

.codexSession__bullet {
    position: absolute;
    left: 1rem;
    top: 1.1rem;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: rgba(94, 234, 212, 0.85);
    box-shadow: 0 0 0 3px rgba(10, 16, 40, 0.65);
}

.codexSession__item--thinking .codexSession__bullet {
    background: rgba(255, 200, 99, 0.9);
}

.codexSession__empty {
    padding: 0.85rem 1rem;
    background: rgba(24, 32, 59, 0.82);
    border: 1px solid rgba(255, 200, 99, 0.18);
    border-radius: 8px;
    color: rgba(240, 243, 255, 0.9);
    font-size: 0.95rem;
    text-align: center;
}

.codexSession__empty--error,
.codexSession__empty--timeout {
    border-color: rgba(255, 149, 128, 0.45);
}

.codexSession__empty--cancelled {
    border-color: rgba(255, 200, 99, 0.45);
}

.codexSession__emptyLabel {
    display: inline-block;
}

.codexSession__body {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    width: 100%;
}

.codexSession__content {
    flex: 1;
    font-size: 0.95rem;
    line-height: 1.55;
    color: rgba(240, 243, 255, 0.9);
    word-break: break-word;
}

.codexSession__content p {
    margin: 0 0 0.35rem 0;
}

.codexSession__content p:last-child {
    margin-bottom: 0;
}

.codexSession__content--thinking {
    color: rgba(249, 220, 174, 0.95);
    font-style: italic;
}

.codexSession__timestamp {
    font-size: 0.75rem;
    color: rgba(223, 229, 255, 0.65);
    white-space: nowrap;
    margin-top: 0.2rem;
}

.codexSession__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    margin-bottom: 0.75rem;
}

.codexSession__meta {
    font-size: 0.85rem;
    color: rgba(240, 243, 255, 0.7);
    word-break: break-all;
}

.codexSession__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
}

.codexSession__badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(22, 119, 255, 0.12);
    color: #1677ff;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.28px;
    text-transform: uppercase;
}

.nightMode .codexSession__badge {
    background: rgba(93, 156, 255, 0.16);
    color: #5d9cff;
}

.codexTimeline {
    margin-top: 0.75rem;
    display: flex;
    flex-direction: column;
    scroll-behavior: smooth;
}

.codexTimeline__item {
    position: relative;
    padding: 0.85rem 1rem 0.9rem 0.95rem;
    border: 1px solid rgba(104, 139, 255, 0.15);
    box-shadow: 0 6px 16px rgba(11, 19, 41, 0.25);
    margin-bottom: 0.85rem;
}

.codexTimeline__item--status {
    border-left: 3px solid rgba(117, 117, 117, 0.8);
}

.codexTimeline__item--reasoning {
    border-left: 3px solid rgba(255, 200, 99, 0.85);
}

.codexTimeline__item--assistant {
    border-left: 3px solid rgba(94, 234, 212, 0.85);
}


.codexTimeline__item--command {
    border-left: 3px solid rgba(255, 149, 128, 0.85);
}

.codexTimeline__item--commandError {
    border-left-color: rgba(255, 98, 120, 0.95);
    box-shadow: 0 8px 18px rgba(45, 9, 22, 0.35);
}

.codexTimeline__item--commandWarn {
    border-left-color: rgba(255, 199, 120, 0.9);
}

.codexTimeline__time {
    display: inline-flex;
    justify-content: flex-end;
    font-size: 0.75rem;
    color: rgba(240, 243, 255, 0.65);
    letter-spacing: 0.08em;
    margin-bottom: 0.05rem;
    text-transform: uppercase;
    position: relative;
    gap: 0.35rem;
    font-weight: 600;
}

.codexTimeline__time::after {
    content: attr(data-time);
    position: absolute;
    top: 100%;
    right: 0;
    background: rgba(15, 23, 42, 0.92);
    color: rgba(226, 232, 255, 0.92);
    font-size: 0.68rem;
    letter-spacing: 0.05em;
    padding: 0.25rem 0.4rem;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(8, 12, 24, 0.45);
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity 0.16s ease, transform 0.16s ease;
    white-space: nowrap;
}

.codexTimeline__time[data-time=""],
.codexTimeline__time[data-time=""]::after {
    display: none;
}

.codexTimeline__time:hover::after {
    opacity: 1;
    transform: translateY(0);
}

.codexTimeline__content {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding-top: 0.15rem;
}

.codexTimeline__text {
    font-size: 0.9rem;
    color: rgba(240, 243, 255, 0.88);
    line-height: 1.55;
    white-space: pre-wrap;
    word-break: break-word;
}

.codexTimeline__commandBody {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.codexTimeline__commandHeader {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.codexTimeline__commandSummary {
    font-size: 13px;
    color: rgba(193, 208, 255, 0.82);
    line-height: 1.35;
}

.codexTimeline__commandSummary code {
    background: rgba(27, 34, 62, 0.85);
    border: 1px solid rgba(129, 159, 255, 0.25);
    border-radius: 4px;
    padding: 0.15rem 0.35rem;
    font-size: 0.78rem;
    color: rgba(203, 213, 255, 0.95);
}

.codexTimeline__commandDetails {
    border: 1px solid rgba(104, 139, 255, 0.18);
    border-radius: 6px;
    padding: 0.4rem 0.75rem;
    background: rgba(27, 34, 62, 0.35);
    margin-top: 0.35rem;
}

.codexTimeline__commandDetails>summary {
    cursor: pointer;
    font-size: 0.74rem;
    color: rgba(193, 210, 255, 0.78);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 600;
    list-style: none;
}

.codexTimeline__commandDetails>summary::-webkit-details-marker {
    display: none;
}

.codexTimeline__commandDetails>summary::after {
    content: '▾';
    display: inline-block;
    font-size: 0.7rem;
    margin-left: 0.4rem;
    transform: translateY(-1px);
}

.codexTimeline__commandDetails[open]>summary::after {
    content: '▴';
}

.codexTimeline__commandDetails[open]>summary {
    margin-bottom: 0.5rem;
}

.codexTimeline__code {
    background: rgba(27, 34, 62, 0.95);
    border: 1px solid rgba(129, 159, 255, 0.25);
    padding: 0.25rem 0.55rem;
    border-radius: 6px;
    font-size: 0.8rem;
    color: rgba(203, 213, 255, 0.95);
}

.codexTimeline__status {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    border: 1px solid transparent;
}

.codexTimeline__status.success {
    color: #7ef8c2;
    border-color: rgba(126, 248, 194, 0.35);
    background: rgba(126, 248, 194, 0.12);
}

.codexTimeline__status.error {
    color: #ff8aa5;
    border-color: rgba(255, 138, 165, 0.35);
    background: rgba(255, 138, 165, 0.12);
}

.codexTimeline__status.pending {
    color: rgba(236, 241, 255, 0.65);
    border-color: rgba(236, 241, 255, 0.25);
    background: rgba(236, 241, 255, 0.08);
}

.codexTimeline__stderrBadge {
    font-size: 0.65rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 138, 165, 0.45);
    background: rgba(255, 138, 165, 0.18);
    color: rgba(255, 174, 190, 0.95);
}

.codexTimeline__cwd {
    font-size: 0.75rem;
    color: rgba(167, 180, 222, 0.75);
    word-break: break-all;
}

.codexTimeline__commandOutput {
    border: 1px solid rgba(104, 139, 255, 0.15);
    border-radius: 6px;
    padding: 0.35rem 0.7rem;
}

.codexTimeline__commandOutput>summary {
    cursor: pointer;
    font-size: 0.75rem;
    color: rgba(193, 210, 255, 0.8);
    letter-spacing: 0.04em;
}

.codexTimeline__commandOutput pre {
    margin: 0.35rem 0 0;
    max-height: 12rem;
    overflow-y: auto;
    font-size: 0.75rem;
    color: rgba(193, 208, 255, 0.95);
}

.codexTimeline__stderrPreview,
.codexTimeline__stdoutPreview {
    font-size: 0.75rem;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
    border-radius: 6px;
    padding: 0.35rem 0.55rem;
}

.codexTimeline__stderrPreview {
    background: rgba(255, 107, 132, 0.14);
    border: 1px solid rgba(255, 138, 165, 0.25);
    color: rgba(255, 198, 211, 0.98);
}

.codexTimeline__stdoutPreview {
    background: rgba(126, 248, 194, 0.12);
    border: 1px solid rgba(126, 248, 194, 0.25);
    color: rgba(193, 252, 226, 0.95);
}

.codexTimeline__warnings {
    font-size: 0.75rem;
    color: rgba(255, 199, 120, 0.85);
}

.codexTimeline__warnings ul {
    margin: 0.25rem 0 0 1rem;
    padding: 0;
    list-style: disc;
}

.codexSession__section {
    margin: 0.6rem 0;
    border: 1px solid rgba(117, 117, 117, 0.15);
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
}

.codexSession__section>summary {
    cursor: pointer;
    color: rgba(240, 243, 255, 0.85);
}

.codexSession__details>summary {
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.codexSession__reasoning,
.codexSession__messages {
    margin-top: 0.5rem;
}

.codexSession__reasoningEntry,
.codexSession__message {
    padding: 0.35rem 0;
    border-bottom: 1px dashed rgba(117, 117, 117, 0.25);
    font-size: 0.9rem;
}

.codexSession__reasoningEntry:last-child,
.codexSession__message:last-child {
    border-bottom: none;
}

.codexSession__reasoningBreak {
    text-align: center;
    opacity: 0.5;
    font-size: 0.8rem;
    padding: 0.25rem 0;
}

.codexSession__commands {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.codexSession__command {
    background: rgba(24, 31, 56, 0.75);
    border-radius: 6px;
    padding: 0.6rem 0.7rem;
    border: 1px solid rgba(117, 117, 117, 0.15);
}

.codexSession__commandHeader {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: baseline;
    font-size: 0.9rem;
    margin-bottom: 0.4rem;
}

.codexSession__commandHeader code {
    background: rgba(12, 18, 38, 0.85);
    border-radius: 4px;
    padding: 0.2rem 0.4rem;
    font-size: 0.85rem;
}

.codexSession__commandCwd {
    font-size: 0.8rem;
    color: rgba(240, 243, 255, 0.6);
}

.codexSession__commandStatus {
    font-size: 0.8rem;
    padding: 0.15rem 0.35rem;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.codexSession__commandStatus.success {
    background: rgba(56, 211, 159, 0.18);
    color: #4fe3a4;
}

.codexSession__commandStatus.error {
    background: rgba(249, 68, 97, 0.18);
    color: #ff6b81;
}

.codexSession__commandOutput {
    margin: 0.3rem 0;
    border-radius: 6px;
    background: rgba(8, 12, 26, 0.9);
    border: 1px solid rgba(117, 117, 117, 0.1);
}

.codexSession__commandOutput>summary {
    padding: 0.4rem 0.6rem;
    cursor: pointer;
    color: rgba(240, 243, 255, 0.75);
}

.codexSession__commandOutput pre {
    margin: 0;
    padding: 0.6rem;
    font-size: 0.85rem;
    white-space: pre-wrap;
    background: transparent;
    color: rgba(240, 243, 255, 0.85);
}

.codexSession__commandWarnings {
    margin: 0.4rem 0;
    font-size: 0.8rem;
    color: rgba(240, 243, 255, 0.65);
}

.codexSession__commandWarnings ul {
    margin: 0.35rem 0 0.1rem 1rem;
    padding: 0;
    list-style: disc;
}

.codexSession__planActions {
    margin-top: 0.75rem;
}

.codexSession__applyPlan {
    background: linear-gradient(135deg, rgba(88, 132, 255, 0.8), rgba(76, 201, 240, 0.8));
    border: 1px solid rgba(117, 117, 117, 0.4);
    border-radius: 6px;
    color: #0b1224;
    font-weight: 600;
    padding: 0.4rem 0.8rem;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.codexSession__applyPlan:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(88, 132, 255, 0.25);
}

.codexSession__applyPlan:active {
    transform: translateY(0);
}

.codexSession__actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.codexSession__button {
    background: rgba(88, 132, 255, 0.18);
    border: 1px solid rgba(117, 117, 117, 0.35);
    border-radius: 6px;
    color: rgba(217, 226, 255, 0.95);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    padding: 0.35rem 0.75rem;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.codexSession__button:hover {
    background: rgba(108, 152, 255, 0.28);
    box-shadow: 0 4px 12px rgba(88, 132, 255, 0.25);
    transform: translateY(-1px);
}

.codexSession__button:active {
    transform: translateY(0);
    box-shadow: none;
}

.codexSession__prompt {
    margin: 0.5rem 0 0;
    background: rgba(8, 12, 26, 0.9);
    padding: 0.75rem;
    border-radius: 6px;
    font-size: 0.85rem;
    color: rgba(240, 243, 255, 0.85);
}

.codexSession__statusList {
    margin: 0.45rem 0 0.1rem 0;
    padding-left: 0;
    list-style: none;
}

.codexSession__statusList li {
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
    padding: 0.35rem 0;
    font-size: 0.85rem;
    color: rgba(240, 243, 255, 0.78);
    border-bottom: 1px dashed rgba(117, 117, 117, 0.18);
}

.codexSession__statusList li:last-child {
    border-bottom: none;
}

.codexSession__statusTime {
    font-family: Menlo, Monaco, "Courier New", monospace;
    font-size: 0.75rem;
    color: rgba(240, 243, 255, 0.55);
    min-width: 3.4rem;
}

.codexSession__statusText {
    flex: 1;
}

.codexSession__tokens {
    margin: 0.4rem 0 0.1rem 1rem;
    padding: 0;
    list-style: disc;
    color: rgba(240, 243, 255, 0.75);
    font-size: 0.85rem;
    line-height: 1.45;
}

.codexSession__validationList {
    margin: 0.4rem 0 0.1rem 0;
    padding: 0;
    list-style: none;
}

.codexSession__validationList li {
    padding: 0.35rem 0;
    border-bottom: 1px dashed rgba(117, 117, 117, 0.18);
}

.codexSession__validationList li:last-child {
    border-bottom: none;
}

.codexSession__validationCommand {
    font-size: 0.85rem;
    color: rgba(240, 243, 255, 0.85);
}

.codexSession__validationStatus {
    font-size: 0.75rem;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.codexSession__validationStatus.pass {
    background: rgba(56, 211, 159, 0.18);
    color: #4fe3a4;
}

.codexSession__validationStatus.fail {
    background: rgba(249, 68, 97, 0.18);
    color: #ff6b81;
}

.codexSession__validationStatus.unknown {
    background: rgba(141, 148, 177, 0.2);
    color: rgba(240, 243, 255, 0.7);
}

.codexSession__validationRow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.codexSession__validationNote {
    font-size: 0.75rem;
    color: rgba(204, 212, 255, 0.85);
    flex: 1;
    min-width: 11rem;
}

.codexSession__validationDetails {
    margin: 0.35rem 0 0.1rem 0.95rem;
    padding-left: 1rem;
    list-style: disc;
    color: rgba(255, 199, 120, 0.85);
    font-size: 0.75rem;
}

.codexSession__validationDetails li {
    margin: 0.1rem 0;
}

.codexSession__validationDetails--applied {
    color: rgba(126, 248, 194, 0.85);
}

.codexSession__validationDetails--summary {
    color: rgba(204, 212, 255, 0.8);
}

.codexSession__raw {
    margin-top: 0.5rem;
    overflow-y: auto;
    border-radius: 6px;
}

.codexSession__rawEvent {
    border-bottom: 1px solid rgba(117, 117, 117, 0.08);
}

.codexSession__rawEvent:last-child {
    border-bottom: none;
}

.codexSession__rawEventMeta {
    font-size: 0.75rem;
    color: rgba(240, 243, 255, 0.5);
    margin-bottom: 0.35rem;
}

.codexSession__rawEvent pre {
    margin: 0;
    font-size: 0.8rem;
    white-space: pre-wrap;
    background: transparent;
    color: rgba(240, 243, 255, 0.7);
}

.wizardInputContainer .cancelCodex {
    background: #ffe3dd;
    color: #d6452d;
}

.wizardInputContainer .cancelCodex:hover {
    background: #ffd6ce;
    color: #b8371f;
}


#wizardChat,
.wizardProjectsPanel,
.wizardProjectsList,
.wizardObjectivesList,
.wizardProjectsActions {
    box-sizing: border-box;
}

.wizardProjectsPanel {
    margin: 24px;
    padding: 18px;
    background: rgba(10, 12, 20, 0.82);
    border-radius: 14px;
    box-shadow: 0 18px 38px rgba(6, 9, 20, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.04);
}

.wizardProjectsPanel.is-focused {
    margin-bottom: 16px;
}

.wizardProjectsPanel.is-focused .wizardProjectsItem {
    display: none;
}

.wizardProjectsPanel.is-focused .wizardProjectsItem.is-focused {
    display: block;
}

.wizardProjectsPanel.is-focused .wizardObjectivesList {
    padding-bottom: 0;
}

.wizardProjectsPanel.is-focused .wizardObjectiveItem {
    display: none;
}

.wizardProjectsPanel.is-focused .wizardObjectiveItem.is-active {
    display: block;
}

.wizardProjectsHeader {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.wizardProjectsTitle {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.72);
}

.wizardProjectsActions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.wizardProjectsAction {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    font-size: 11px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.82);
    transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
}

.wizardProjectsAction[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
}

.wizardProjectsAction:not([disabled]):hover,
.wizardProjectsAction:not([disabled]):focus {
    background: rgba(149, 108, 229, 0.18);
    border-color: rgba(149, 108, 229, 0.45);
    color: #f4e8ff;
}

.wizardChatEmpty {
    margin: 24px;
    margin-top: 0;
    padding: 32px;
    text-align: center;
    border-radius: 14px;
    border: 1px dashed rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.82);
}

.wizardChatEmpty__icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 24px;
    background: rgba(149, 108, 229, 0.18);
    color: #f4e8ff;
    font-size: 20px;
}

.wizardChatEmpty h3 {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
}

.wizardChatEmpty p {
    margin: 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.78);
}

.wizardProjectsList {
    list-style: none;
    margin: 16px 0 0 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.wizardProjectsItem {
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    background: rgba(21, 26, 42, 0.55);
    transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.wizardProjectsItem.is-expanded {
    border-color: rgba(149, 108, 229, 0.6);
    box-shadow: 0 12px 28px rgba(149, 108, 229, 0.25);
    background: rgba(34, 26, 54, 0.72);
}

.wizardProjectsItem.is-archived {
    opacity: 0.65;
}

.wizardProjectsRow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 8px;
}

.wizardProjectsRowActions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding-right: 12px;
}

.wizardProjectsRowAction {
    padding: 4px 10px;
    font-size: 10px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.85);
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.wizardProjectsRowAction[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
}

.wizardProjectsRowAction:not([disabled]):hover,
.wizardProjectsRowAction:not([disabled]):focus {
    background: rgba(149, 108, 229, 0.22);
    border-color: rgba(149, 108, 229, 0.55);
    color: #f4e8ff;
}

.wizardProjectsToggle {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    border: none;
    padding: 14px 16px;
    background: transparent;
    color: inherit;
    text-align: left;
    border-radius: 12px;
    transition: background 160ms ease, color 160ms ease;
}

.wizardProjectsToggle:hover,
.wizardProjectsToggle:focus {
    background: rgba(255, 255, 255, 0.05);
    color: #ffffff;
}

.wizardProjectsName {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}

.wizardProjectsIcon {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.68);
    transition: transform 160ms ease;
}

.wizardProjectsItem.is-expanded .wizardProjectsIcon {
    transform: rotate(4deg);
    color: #f4e8ff;
}

.wizardProjectsBadge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 8px;
    font-size: 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.wizardProjectsMeta {
    font-size: 11px;
    opacity: 0.7;
}

.wizardObjectivesList {
    list-style: none;
    margin: 0;
    padding: 0 0 12px 18px;
    display: grid;
    gap: 10px;
}

.wizardObjectiveItem {
    border-left: 2px solid rgba(149, 108, 229, 0.35);
    padding-left: 12px;
    position: relative;
}

.wizardObjectiveItem.is-active {
    border-left-color: rgba(255, 255, 255, 0.85);
}

.wizardObjectiveItem.is-archived {
    opacity: 0.65;
}

.wizardObjectiveRow {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.wizardObjectiveButton {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    border: none;
    background: transparent;
    color: inherit;
    padding: 10px 0;
    text-align: left;
    transition: color 160ms ease;
}

.wizardObjectiveButton:hover,
.wizardObjectiveButton:focus {
    color: #ffffff;
}

.wizardObjectiveTitle {
    font-weight: 600;
    font-size: 13px;
}

.wizardObjectiveMeta {
    font-size: 11px;
    opacity: 0.72;
}

.wizardObjectiveActions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.wizardObjectiveAction {
    padding: 4px 10px;
    font-size: 10px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.85);
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.wizardObjectiveAction[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
}

.wizardObjectiveAction:not([disabled]):hover,
.wizardObjectiveAction:not([disabled]):focus {
    background: rgba(149, 108, 229, 0.22);
    border-color: rgba(149, 108, 229, 0.55);
    color: #f4e8ff;
}

.wizardProjectsEmpty,
.wizardObjectivesEmpty {
    font-size: 12px;
    opacity: 0.75;
    padding: 12px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 10px;
    text-align: left;
}

/* SPEC 682 – compact wizard layout */
.wizard {
    width: 100%;
    min-height: 420px;
}

.wizard--split {
    display: flex;
    width: 100%;
    align-items: stretch;
}

.wizard__navigator {
    flex: 0 0 32%;
    width: 32%;
    max-width: 32%;
    min-width: 280px;
    min-height: 420px;
    background: #11141c;
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.55);
    padding: 15px;
    box-sizing: border-box;
    color: #e7ecf9;
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: calc(100vh - 57px);
    overflow-y: auto;
    overflow-x: hidden;
}

.wizard__viewer {
    flex: 1 1 68%;
    width: 68%;
    max-width: 68%;
    min-width: 320px;
    background: #070b12;
    border: 1px solid rgba(255, 255, 255, 0.04);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.55);
    padding: 15px;
    box-sizing: border-box;
    color: #f5f7ff;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 57px);
    overflow-y: auto;
    overflow-x: hidden;
}

.wizard__navSection {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wizard__navHeader {
    display: block;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.wizard__navSubtitle {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.45);
    text-transform: none;
}

.wizard__navActions {
    display: inline-flex;
    gap: 6px;
}

.wizard__navToggle {
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.05);
    color: #e7ecf9;
    padding: 4px 10px;
    border-radius: 8px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
}

.wizard__navToggle:hover {
    border-color: #45c5ff;
    background: rgba(69, 197, 255, 0.18);
}

.wizard__navCreate {
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.08);
    color: #e7ecf9;
    padding: 6px;
    border-radius: 8px;
    cursor: pointer;
}

.wizard__navResync {
    background: rgba(69, 197, 255, 0.14);
    border-color: rgba(69, 197, 255, 0.4);
    color: #45c5ff;
}

.wizard__navResync[disabled],
.wizard__navResync[disabled]:hover {
    opacity: 0.55;
    cursor: not-allowed;
    border-color: rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.08);
    color: rgba(231, 236, 249, 0.6);
}

.wizard__navSyncUp {
    background: rgba(130, 255, 208, 0.16);
    border-color: rgba(130, 255, 208, 0.4);
    color: #86ffd2;
}

.wizard__navSyncUp[disabled],
.wizard__navSyncUp[disabled]:hover {
    opacity: 0.55;
    cursor: not-allowed;
    border-color: rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.08);
    color: rgba(231, 236, 249, 0.6);
}

.wizard__navItem {
    width: 100%;
    text-align: left;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.03);
    color: inherit;
    display: block;
    word-break: break-word;
    cursor: pointer;
}

.wizard__navItem.is-active,
.wizard__navItem:hover {
    border-color: #45c5ff;
    background: rgba(69, 197, 255, 0.16);
}

.wizard__navItem:focus-visible,
.wizard__objectiveButton:focus-visible,
.wizard__objectiveAssign:focus-visible {
    outline: 2px solid #45c5ff;
    outline-offset: 2px;
}

.wizard__sectionTitle {
    font-weight: 600;
    margin-bottom: 12px;
    font-size: 15px;
    color: #253342;
}

.wizard__navTitle,
.wizard__viewerTitle {
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.72);
}

.wizard__docHeader {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.wizard__docViewer {
    flex: 1;
    overflow-y: auto;
    white-space: pre-wrap;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 16px;
    font-size: 14px;
    line-height: 1.5;
}

.wizard__project {
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 12px;
    background: rgba(255, 255, 255, 0.02);
}

.wizard__projectHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    margin-bottom: 8px;
}

.wizard__projectTitle {
    font-weight: 600;
}

.wizard__projectActions {
    display: inline-flex;
    gap: 6px;
}

.wizard__projectEdit,
.wizard__projectArchive {
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.08);
    color: #e7ecf9;
    padding: 5px;
    border-radius: 6px;
    cursor: pointer;
    min-width: 32px;
}

.wizard__projectEdit:hover,
.wizard__projectArchive:hover {
    border-color: #45c5ff;
    background: rgba(69, 197, 255, 0.18);
}

.wizard__projectBadge {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 2px 8px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.85);
}

.wizard__objectiveList {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.wizard__objectiveRow {
    display: block;
    position: relative;
}

.wizard__objectiveButton {
    flex: 1;
    width: 100%;
    text-align: left;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    padding: 10px 48px 10px 12px;
    background: rgba(255, 255, 255, 0.03);
    color: inherit;
    font-weight: 600;
    transition: border-color 0.2s, background 0.2s;
}

.wizard__objectiveButton.is-active,
.wizard__objectiveButton:hover {
    border-color: #45c5ff;
    background: rgba(69, 197, 255, 0.14);
}

.wizard__objectiveAssign,
.wizard__objectiveRename {
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.05);
    color: #e7ecf9;
    border-radius: 6px;
    padding: 5px;
    cursor: pointer;
    min-width: 35px;
}

.wizard__objectiveAssign:hover,
.wizard__objectiveRename:hover {
    border-color: #45c5ff;
    background: rgba(69, 197, 255, 0.2);
}

.wizard__objectiveArchive {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.04);
    color: #f8d7a6;
    border-radius: 6px;
    padding: 5px;
    cursor: pointer;
    min-width: 35px;
}

.wizard__objectiveArchive:hover {
    border-color: #ff9f43;
    background: rgba(255, 159, 67, 0.18);
    color: #fff7de;
}

.wizard__objectiveActions {
    position: absolute;
    top: 50%;
    right: 7px;
    transform: translateY(-50%);
    display: none;
    gap: 6px;
}

.wizard__objectiveRow:hover .wizard__objectiveActions,
.wizard__objectiveRow:focus-within .wizard__objectiveActions {
    display: inline-flex;
}

.wizard__objectiveTitle {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wizard__objectiveTitleText {
    flex: 1;
    word-break: break-word;
}

.wizard__objectiveButton.has-unread {
    border-color: rgba(244, 199, 111, 0.7);
    background: rgba(244, 199, 111, 0.13);
}

.wizard__statusIcon {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    border-radius: 50%;
    position: relative;
}

.wizard__statusIcon::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.wizard__statusIcon--spinner::after {
    border: 2px solid rgba(69, 197, 255, 0.35);
    border-top-color: #45c5ff;
    animation: wizardStatusSpinner 0.9s linear infinite;
}

.wizard__statusIcon--persona-human.wizard__statusIcon--spinner::after {
    border-color: rgba(141, 209, 255, 0.35);
    border-top-color: rgba(141, 209, 255, 0.95);
}

.wizard__statusIcon--persona-cofounder.wizard__statusIcon--spinner::after {
    border-color: rgba(149, 108, 229, 0.45);
    border-top-color: rgba(149, 108, 229, 1);
}

.wizard__statusIcon--persona-coder.wizard__statusIcon--spinner::after {
    border-color: rgba(78, 201, 176, 0.35);
    border-top-color: rgba(78, 201, 176, 0.95);
}

.wizard__statusIcon--persona-designer.wizard__statusIcon--spinner::after {
    border-color: rgba(247, 121, 199, 0.35);
    border-top-color: rgba(247, 121, 199, 0.95);
}

.wizard__statusIcon--persona-system.wizard__statusIcon--spinner::after {
    border-color: rgba(93, 208, 248, 0.35);
    border-top-color: rgba(93, 208, 248, 0.95);
}

.wizard__statusIcon--persona-direct.wizard__statusIcon--spinner::after {
    border-color: rgba(93, 168, 255, 0.35);
    border-top-color: rgba(93, 168, 255, 0.95);
}

.wizard__statusIcon--unread::after {
    background: #f4c76f;
    box-shadow: 0 0 6px rgba(244, 199, 111, 0.6);
}

.wizard__statusIcon--idle::after {
    background: rgba(255, 255, 255, 0.3);
    box-shadow: 0 0 4px rgba(255, 255, 255, 0.2);
}

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

.wizard__emptyState {
    text-align: center;
    padding: 24px;
    color: rgba(231, 236, 249, 0.78);
    border: 1px dashed rgba(255, 255, 255, 0.14);
    border-radius: 8px;
    margin-top: 0;
}

.wizard__chatHistory {
    flex: 1;
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 14px;
    background: rgba(0, 0, 0, 0.28);
    margin-bottom: 12px;
}
.wizard__chatSentinel {
    width: 100%;
    height: 1px;
}

.wizard__composer {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wizard__input {
    width: 100%;
    min-height: 80px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    padding: 12px;
    resize: vertical;
    background: rgba(0, 0, 0, 0.35);
    color: #f5f7ff;
    font-size: 14px;
    line-height: 1.5;
}
.wizard__agentSettings {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 10px;
}
.wizard__agentField {
    flex: 1 1 0;
    min-width: 160px;
}
.wizard__agentLabel {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 6px;
}
.wizard__agentSelect {
    width: 100%;
    padding: 9px 10px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #f5f7ff;
}
.wizard__agentSelect:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.wizard__composerActions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.wizard__attachmentList {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.wizard__actionButton {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.04);
    color: #f0f4ff;
    border-radius: 10px;
    padding: 10px 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.wizard__actionButton i {
    margin: 0;
}

.wizard__actionButton:hover {
    border-color: #45c5ff;
    background: rgba(69, 197, 255, 0.16);
}

.wizard__attachmentChip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px dashed rgba(255, 255, 255, 0.3);
    padding: 8px 12px;
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.85);
    background: rgba(255, 255, 255, 0.05);
    width: fit-content;
}

.wizard__attachmentName {
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wizard__attachmentRemove {
    background: transparent;
    border: none;
    color: inherit;
    cursor: pointer;
}

.wizard__attachmentRemove i {
    margin: 0;
}

.wizard__messageAttachments {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.wizard__codexSession {
    margin-top: 12px;
}

.wizard__codexSession .workspaceCodexSession {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px;
    padding: 12px;
    color: #f5f7ff !important;
}

.wizard__codexSession .workspaceCodexSession__intro,
.wizard__codexSession .workspaceCodexSession__stage {
    color: #ffffff !important;
}

.wizard__codexSession .workspaceAgentSession .workspaceCodexSession__intro,
.wizard__codexSession .workspaceAgentSession .workspaceCodexSession__content,
.wizard__codexSession .workspaceAgentSession .workspaceCodexSession__timestamp {
    color: #ffffff !important;
}

.wizard__codexSession .workspaceCodexSession__badge {
    color: #0a1222 !important;
    background: rgba(255, 255, 255, 0.2) !important;
}

.wizard__attachmentThumb {
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    overflow: hidden;
    width: 96px;
    height: 96px;
    display: block;
}

.wizard__attachmentThumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wizard__sendButton {
    margin-left: auto;
    background: linear-gradient(90deg, #1a8cff, #6c5ce7);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 10px 20px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s;
}

.wizard__sendButton:hover {
    opacity: 0.9;
}

.wizard__message {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.wizard__message:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.wizard__messageMeta {
    font-size: 11px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 4px;
    display: flex;
    justify-content: space-between;
}

.wizard__messageBody {
    font-size: 14px;
    line-height: 1.5;
    color: #f5f7ff;
    word-break: break-word;
}.wizardLauncherCluster {
    position: fixed;
    bottom: 1em;
    right: 1em;
    display: flex;
    flex-direction: column;
    gap: 0.6em;
    z-index: 998;
}

.wizardLauncherButton {
    position: relative;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--jmkr-color-1);
    font-size: 20px;
    color: #fff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    cursor: pointer;
}

.wizardLauncherButton.is-disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.wizardLauncherBadge {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #ff5252;
}

.wizardOverlay {
    position: fixed;
    inset: 0;
    z-index: 999;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.wizardLauncherButton--capture {
    background: linear-gradient(135deg, #2d6cdf, #28b3ff);
}

.wizardLauncherButton--annotate {
    background: linear-gradient(135deg, #f37398, #ffb347);
}

.wizardAnnotator {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    max-height: 70vh;
    overflow: auto;
}

.wizardAnnotator__canvas {
    max-width: 82vw;
    max-height: 60vh;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.85);
    touch-action: none;
}

.wizardAnnotator__controls {
    display: flex;
    gap: 10px;
    align-self: flex-end;
}

.wizardAnnotator__button {
    padding: 6px 14px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: transparent;
    color: #fff;
    cursor: pointer;
    font-size: 0.9rem;
}

.wizardAnnotator__button:hover {
    background: rgba(255, 255, 255, 0.08);
}

.wizardOverlay.is-open {
    pointer-events: auto;
    opacity: 1;
}

.wizardOverlay__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.wizardOverlay.is-open .wizardOverlay__backdrop {
    opacity: 1;
}

.wizardOverlay__panel {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: min(1000px, 100vw);
    background: #1f1f1f;
    color: #fff;
    display: flex;
    flex-direction: column;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.35);
    transform: translateX(110%);
    transition: transform 0.25s ease;
}

.wizardOverlay.is-open .wizardOverlay__panel {
    transform: translateX(0);
}

.wizardOverlay__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 57px;
    padding: 0 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.wizardOverlay__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wizardOverlay__docs {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.08);
    border: none;
    color: #fff;
    font-size: 0.85rem;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.wizardOverlay__docs.is-active {
    background: var(--jmkr-color-1, #2d6cdf);
    box-shadow: 0 6px 18px rgba(45, 108, 223, 0.35);
}

.wizardOverlay__docs:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.wizardOverlay__title {
    font-size: 1.1rem;
    font-weight: 600;
}

.wizardOverlay__close {
    background: transparent;
    border: none;
    color: inherit;
    cursor: pointer;
    font-size: 1.1rem;
}

.wizardOverlay__body {
    flex: 1;
    overflow-y: auto;
}

.wizardOverlay:not(.has-objective) #wizardChat,
.wizardOverlay:not(.has-objective) #aiForm {
    display: none !important;
}

.wizardOverlay.has-objective .wizardProjectsActions {
    display: none;
}

.wizardOverlay.has-objective .wizardProjectsPanel .wizardProjectsItem {
    display: none;
}

.wizardOverlay.has-objective .wizardProjectsPanel .wizardProjectsItem.is-focused {
    display: block;
}

.wizardOverlay.has-objective .wizardProjectsPanel .wizardObjectiveItem {
    display: none;
}

.wizardOverlay.has-objective .wizardProjectsPanel .wizardObjectiveItem.is-active {
    display: block;
}

.wizardOverlay__body .specPanel--overlay {
    position: static;
    right: auto;
    top: auto;
    width: 100%;
    height: 100%;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

.specPanel--overlay .specPanel__header {
    background: rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.specPanel--overlay .specPanel__docTypeGroup {
    display: inline-flex;
    gap: 6px;
    margin-right: 10px;
}

.specPanel--overlay .specPanel__docTypeToggle {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
    padding: 4px 10px;
    font-size: 11px;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    transition: background 150ms ease, border-color 150ms ease;
}

.specPanel--overlay .specPanel__docTypeToggle.is-active {
    background: var(--jmkr-color-1, #2d6cdf);
    border-color: var(--jmkr-color-1, #2d6cdf);
}

.specPanel--overlay .specPanel__docTypeToggle[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
}

.specPanel--overlay .specPanel__title {
    color: #fff;
}

.specPanel--overlay .specPanel__body {
    flex: 1;
    display: flex;
    height: calc(100% - 0px);
    min-height: 0;
}

.specPanel--overlay .specPanel__list {
    background: rgba(255, 255, 255, 0.04);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.specPanel--overlay .specPanel__item.is-archived {
    opacity: 0.55;
}

.specPanel--overlay .specPanel__empty {
    color: rgba(255, 255, 255, 0.65);
}

.specPanel--overlay .specPanel__toggleArchived.ui.button {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.specPanel--overlay .specPanel__toggleArchived.ui.button.is-active {
    background: var(--jmkr-color-1, #2d6cdf);
    box-shadow: 0 6px 18px rgba(45, 108, 223, 0.3);
}

.specPanel--overlay .specPanel__toggleArchived.ui.button[disabled] {
    opacity: 0.4;
    cursor: not-allowed;
}

.specPanel--overlay .specPanel__item {
    border-left-color: transparent;
}

.specPanel--overlay .specPanel__item.is-active {
    border-left-color: var(--jmkr-color-1, #2d6cdf);
    background: rgba(45, 108, 223, 0.22);
}

.specPanel--overlay .specPanel__content {
    background: transparent;
}

.specPanel--overlay .specPanel__titleInput {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #fff;
}

.specPanel--overlay .specPanel__titleInput[disabled] {
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.55);
}

.specPanel--overlay .specPanel__editor {
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #f5f5f5;
}

.specPanel--overlay .specPanel__preview {
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #f5f5f5;
}

.wizardSpecs__empty {
    padding: 24px;
    color: rgba(255, 255, 255, 0.7);
}

.wizardOverlay__empty {
    text-align: center;
    margin-top: 64px;
    color: rgba(255, 255, 255, 0.75);
}

.wizardOverlay__empty i {
    font-size: 42px;
    margin-bottom: 12px;
    display: block;
}#game_body {
    height: 100%;
    z-index: 100;
}

#ezGameIFrame {
    position: relative;
    height: 700px;
    width: 100%;

    border: none;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.35);
    margin: 0px;
    padding: 0px;

    margin-bottom: -7px;
}

#ezGameLoadingScreen {
    position: relative;
    z-index: 100;
    top: 0px;
    left: 0px;

    height: 100%;
    width: 100%;

    background-color: black;

    will-change: opacity;
    -webkit-transition: opacity 0.7s ease;
    -moz-transition: opacity 0.7s ease;
    -ms-transition: opacity 0.7s ease;
    -o-transition: opacity 0.7s ease;
    transition: opacity 0.7s ease;
}

:root {
    --ezGame-scale: 0.6;
}

@media screen and (max-width: 1280px) {
    :root {
        --ezGame-scale: 0.4;
    }
}

#ezGame_gradient_timeOfDay {
    position: fixed;
    z-index: 11;

    left: 0px;
    top: 0px;
    width: 100%;
    height: calc(100% + env(safe-area-inset-bottom)*2);

    pointer-events: none;

    mix-blend-mode: luminosity;
    background: radial-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0), rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.035), rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.5));
    -webkit-box-shadow: inset 0 0 77px 77px rgba(0, 0, 0, 0.07);
}

#ezGame_joystick {
    position: fixed;
    z-index: 20;
    left: -5px;
    bottom: -12.5px;

    width: 177;
    height: 177;
}

#ezGame_banner,
#ezGame_healthBar,
#ezGame_powerBar,
#ezGame_healthBar_empty,
#ezGame_powerBar_empty,
#ezGame_attackButton,
#ezGame_dashButton,
#ezGame_jumpButton,
#ezGame_powerButton,
#ezGame_summonGatherer,
#ezGame_summonSwordsman,
#ezGame_summonRanger {
    position: fixed;
    z-index: 20;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    cursor: pointer;

    user-select: none;
    /* supported by Chrome and Opera */
    -webkit-user-select: none;
    /* Safari */
    -khtml-user-select: none;
    /* Konqueror HTML */
    -moz-user-select: none;
    /* Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
}

#ezGame_mapMode_title,
#ezGame_mapMode_save,
#ezGame_mapMode_paintObject,
#ezGame_mapMode_paintTile,
#ezGame_mapMode_move,
#ezGame_mapMode_erase,
#ezGame_mapMode_menu,
#ezGame_mapMode_save {
    position: fixed;
    z-index: 20;
}

#ezGame_mapMode_title {
    top: 0px;
    right: calc(557.1px);

    padding: 17px;

    font-size: 17px;
    color: white;

    text-align: right;
}

#ezGame_mapMode_title b {
    font-size: 25px;
}

#ezGame_mapMode_save {
    bottom: 17px;
    left: 17px;

    line-height: 40px;
    padding-left: 17px;
    padding-right: 17px;

    background-color: white;
    color: black;
    border-radius: 35px;
    text-align: center;
    font-size: 15px;

    cursor: pointer;
}

#ezGame_mapMode_paintObject,
#ezGame_mapMode_paintTile,
#ezGame_mapMode_move,
#ezGame_mapMode_erase {
    right: calc(557.1px + 17px);

    line-height: 50px;
    width: 50px;

    background-color: white;
    color: black;
    border-radius: 35px;
    text-align: center;
    font-size: 20px;

    cursor: pointer;
}

#ezGame_mapMode_paintObject.active,
#ezGame_mapMode_paintTile.active,
#ezGame_mapMode_move.active,
#ezGame_mapMode_erase.active {
    background-color: var(--jmkr-color-1);
    color: white;
}

#ezGame_mapMode_paintTile {
    bottom: calc(17px*4 + 50px*3);
}

#ezGame_mapMode_paintObject {
    bottom: calc(17px*3 + 50px*2);
}

#ezGame_mapMode_move {
    bottom: calc(17px*2 + 50px*1);
}

#ezGame_mapMode_erase {
    bottom: calc(17px*1 + 50px*0);
}

#ezGame_mapMode_menu {
    bottom: 0px;
    right: 0px;

    width: 557.1px;
    height: 100%;

    background-color: white;
}

#ezGame_mapMode_menu .ui.tabular.menu .active.item {
    border-radius: 0px !important;
    border-top: 0px !important;
}

#ezGame_mapMode_menu #scroll {
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;

    padding: 1em;
    padding-top: 0px;
}

#ezGame_mapMode_menu #scrollForm {
    position: absolute;
    background-color: white;
    z-index: 17;

    left: 0px;
    top: 0px;

    width: 100%;
    height: 100%;

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;

    padding: 1em;
}

.ezGame_mapMode_menu_objectThumbnail,
.ezGame_mapMode_menu_tileThumbnail {
    margin-left: auto;
    margin-right: auto;
    max-width: 200px;

    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.ezGame_mapMode_menu_objectThumbnail #image,
.ezGame_mapMode_menu_tileThumbnail #image {
    padding-bottom: 100%;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    background-color: rgba(0, 0, 0, 0.1);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    cursor: pointer;
}

.ezGame_mapMode_menu_objectThumbnail #name,
.ezGame_mapMode_menu_tileThumbnail #name {
    padding: 7px;
    line-height: 14px;
    font-size: 11px;
}

.ezGame_mapMode_menu_objectThumbnail #paint,
.ezGame_mapMode_menu_tileThumbnail #paint {
    float: left;
    font-size: 13px;
    padding: 5px;
    width: 50%;
    text-align: center;
    opacity: 0.5;
    cursor: pointer;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.ezGame_mapMode_menu_objectThumbnail #edit,
.ezGame_mapMode_menu_tileThumbnail #edit {
    float: left;
    font-size: 13px;
    padding: 5px;
    width: calc(50% - 1px);
    text-align: center;
    opacity: 0.5;
    cursor: pointer;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-left: 1px solid rgba(0, 0, 0, 0.1);
}

.ezGame_mapMode_menu_mapThumbnail {
    padding-left: 11px;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.ezGame_mapMode_menu_mapThumbnail #name {
    float: left;
    line-height: 40px;
    width: calc(100% - 40px);
    cursor: pointer;
}

.ezGame_mapMode_menu_mapThumbnail #edit {
    float: right;
    font-size: 17px;
    line-height: 40px;
    width: 40px;
    text-align: center;
    cursor: pointer;
    background-color: #52a3e5;
    color: white;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

#ezGame_mapMode_menu .addRecord,
#ezGame_mapMode_menu .saveRecord,
#ezGame_mapMode_menu .copyRecord,
#ezGame_mapMode_menu .cancelRecord,
#ezGame_mapMode_menu .addToRecord {
    background-color: var(--jmkr-color-1);
    color: white;
    padding-left: 11px;
    padding-right: 11px;
    line-height: 40px;
    border-radius: 5px;
    text-align: center;
    font-size: 15px;
    letter-spacing: 0.35px;
    cursor: pointer;
}

#ezGame_mapMode_menu .addRecord {
    margin: 1em;
}

#ezGame_mapMode_menu .addToRecord {
    float: left;
    width: 45px;
}

#ezGame_mapMode_menu .saveRecord {
    float: left;
    width: calc(100% - 45px * 2 - 11px * 2);
}

#ezGame_mapMode_menu .removeDensityRecord {
    position: absolute;
    cursor: pointer;
    top: -1.7px;
    right: -3.5px;

    background-color: var(--jmkr-color-1);
    color: white;

    width: 21px;
    line-height: 21px;
    border-radius: 50%;
    text-align: center;
}

#ezGame_mapMode_menu .copyRecord,
#ezGame_mapMode_menu .cancelRecord {
    float: right;
    width: 45px;
    margin-left: 11px;
}

#ezGame_banner {
    z-index: 25;
    width: calc(1.3*157px*var(--ezGame-scale));
    height: calc(1.3*183px*var(--ezGame-scale));

    top: calc(11px*var(--ezGame-scale));
    left: calc(11px*var(--ezGame-scale));

    background-image: url('entrzn/HUD/boboShantiBanner.png');
}

#ezGame_healthBar,
#ezGame_healthBar_empty {
    z-index: 21;
    width: calc(1.17*507px*var(--ezGame-scale));
    height: calc(1.17*86px*var(--ezGame-scale));

    top: calc(1.5*17px*var(--ezGame-scale));
    left: calc(1.5*77px*var(--ezGame-scale));

    background-image: url('entrzn/HUD/healthBar.png');
    background-size: calc(1.17*507px*var(--ezGame-scale)) calc(1.17*86px*var(--ezGame-scale));
}

#ezGame_healthBar_empty {
    z-index: 20;
    background-image: url('entrzn/HUD/healthBar_empty.png');
}

#ezGame_healthBar {
    width: calc(1.17*507px*var(--ezGame-scale)*0.9);
}

#ezGame_powerBar,
#ezGame_powerBar_empty {
    z-index: 23;
    width: calc(1.17*423px*var(--ezGame-scale));
    height: calc(1.17*75px*var(--ezGame-scale));

    top: calc(1.5*57px*var(--ezGame-scale));
    left: calc(1.5*77px*var(--ezGame-scale));

    background-image: url('entrzn/HUD/powerBar.png');
}

#ezGame_powerBar_empty {
    z-index: 21;
    background-image: url('entrzn/HUD/powerBar_empty.png');
}

#ezGame_healthBar,
#ezGame_powerBar {
    position: relative;
    top: 0px;
    left: 0px;

    will-change: opacity;
    -webkit-transition: width 0.7s ease;
    -moz-transition: width 0.7s ease;
    -ms-transition: width 0.7s ease;
    -o-transition: width 0.7s ease;
    transition: width 0.7s ease;
}

#ezGame_attackButton {
    width: calc(219px*var(--ezGame-scale));
    height: calc(215px*var(--ezGame-scale));

    bottom: calc(17px*var(--ezGame-scale));
    right: calc(17px*var(--ezGame-scale));

    background-image: url('entrzn/HUD/attackButton.png');
}

#ezGame_dashButton {
    width: calc(135px*var(--ezGame-scale));
    height: calc(147px*var(--ezGame-scale));

    bottom: calc(235px*var(--ezGame-scale));
    right: calc(17px*var(--ezGame-scale));

    background-image: url('entrzn/HUD/dashButton.png');
}

#ezGame_jumpButton {
    width: calc(148px*var(--ezGame-scale));
    height: calc(140px*var(--ezGame-scale));

    bottom: calc(17px*var(--ezGame-scale));
    right: calc(235px*var(--ezGame-scale));

    background-image: url('entrzn/HUD/jumpButton.png');
}

#ezGame_powerButton {
    width: calc(135px*var(--ezGame-scale));
    height: calc(147px*var(--ezGame-scale));

    bottom: calc(207px*var(--ezGame-scale));
    right: calc(207px*var(--ezGame-scale));

    background-image: url('entrzn/HUD/powerButton.png');
}

#ezGame_summonGatherer {
    width: calc(173px*var(--ezGame-scale));
    height: calc(155px*var(--ezGame-scale));

    top: calc(17px*var(--ezGame-scale));
    right: calc(417px*var(--ezGame-scale));

    background-image: url('entrzn/HUD/summonGatherer.png');
}

#ezGame_summonSwordsman {
    width: calc(172px*var(--ezGame-scale));
    height: calc(155px*var(--ezGame-scale));

    top: calc(17px*var(--ezGame-scale));
    right: calc(var(--left-menu-width)*var(--ezGame-scale));

    background-image: url('entrzn/HUD/summonSwordsman.png');
}

#ezGame_summonRanger {
    width: calc(172px*var(--ezGame-scale));
    height: calc(155px*var(--ezGame-scale));

    top: calc(17px*var(--ezGame-scale));
    right: calc(17px*var(--ezGame-scale));

    background-image: url('entrzn/HUD/summonRanger.png');
}

@media screen and (max-width: 767px) {

    #ezGame_summonGatherer {
        top: calc(417px*var(--ezGame-scale));
        right: calc(17px*var(--ezGame-scale));
    }

    #ezGame_summonSwordsman {
        top: calc(var(--left-menu-width)*var(--ezGame-scale));
        right: calc(17px*var(--ezGame-scale));
    }

    #ezGame_summonRanger {
        top: calc(17px*var(--ezGame-scale));
        right: calc(17px*var(--ezGame-scale));
    }

}#gtthrAddOperator #close {
    text-align: left;
    color: var(--gtthr-dark-color-1);
    font-weight: bold;
    font-size: 21px;
    letter-spacing: 0.75px;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

#gtthrAddOperator #title {
    color: var(--gtthr-dark-color-1);
    text-align: center;
    font-weight: bold;
    font-size: 21px;
    letter-spacing: 0.75px;
}

#gtthrAddOperator #saveDocumentsButton {
    cursor: pointer;

    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.75px;


    margin-top: 17px;
    border-radius: 5px;
    padding: 17px;
}#gtthrAddPaymentMethod #close {
    text-align: left;
    color: black;
    font-weight: bold;
    font-size: 21px;
    letter-spacing: 0.75px;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

#gtthrAddPaymentMethod #title {
    color: black;
    text-align: center;
    font-weight: bold;
    font-size: 21px;
    letter-spacing: 0.75px;
}

#gtthrAddPaymentMethod #message {
    padding-bottom: 27px;
    color: black;
    font-size: 13.5px;
    letter-spacing: 0.75px;
}#gtthrRegistration {
    z-index: 2;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;

    background: var(--gtthr-dark-color-1);
}

#gtthrRegistration #title {
    z-index: 2;
    position: absolute;
    top: calc(50% - 400px/2 - 20px - 0px);
    left: 0px;
    width: 100%;

    color: white;
    text-align: center;
    font-weight: bold;
    font-size: 21px;
    letter-spacing: 0.75px;
}

#gtthrRegistration #logo {
    z-index: 3;
    position: absolute;
    top: calc(50% - 400px/2 - 20px - 0px);
    left: calc(50% - 150px/2);
    width: 150px;
    height: 150px;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    border-radius: 50%;
}

#gtthrRegistration #signUpForm,
#gtthrRegistration #loginForm,
#gtthrRegistration #recoverForm {
    padding: 21px;

    z-index: 2;
    position: absolute;
    top: calc(50% - 192px/2 - 100px);
    left: 0px;
    width: 100%;
}

#gtthrRegistration #signUpForm {
    top: calc(50% - 356px/2 - 0px);
}

#gtthrRegistration #recoverForm {
    top: calc(50% - 110px/2);
}

#gtthrRegistration #signUpForm input,
#gtthrRegistration #loginForm input,
#gtthrRegistration #recoverForm input,
#gtthrRegistration #signUpForm input::selection,
#gtthrRegistration #loginForm input::selection,
#gtthrRegistration #recoverForm input::selection {
    color: white;
    background: none !important;
    background-color: none !important;
    border: none !important;
    border-bottom: 1px solid #808183 !important;
    box-shadow: none !important;
    border-radius: 0px !important;
    padding-top: 0px !important;
}

#gtthrRegistration label {
    color: white;
    letter-spacing: 0.75px;
}

#gtthrRegistration #returnToLoginButton {
    z-index: 2;
    cursor: pointer;
    position: absolute;
    top: 0px;
    left: 0px;

    padding: 17px;
    color: white;
    letter-spacing: 0.75px;
}

#gtthrRegistration #returnToLoginButton b {
    color: var(--gtthr-light-color-1);
}

#gtthrRegistration #signUpButton,
#gtthrRegistration #loginButton,
#gtthrRegistration #recoverButton {
    z-index: 2;
    cursor: pointer;
    position: absolute;
    bottom: calc(50% - 400px/2 - 0px);
    left: 21px;
    width: calc(100% - 42px);

    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.75px;

    border-radius: 5px;
    padding: 17px;
}

#gtthrRegistration #signUpButton {
    bottom: calc(50% - 400px/2 - 50px);
}

#gtthrRegistration #recoverButton {
    bottom: calc(50% - 110px/2 - 50px);
}

#gtthrRegistration #forgotYourPasswordButton {
    z-index: 2;
    cursor: pointer;
    position: absolute;
    bottom: calc(50% - 400px/2 - 30px);
    left: 17px;
    width: calc(100% - 34px);

    color: white;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.75px;
}

#gtthrRegistration #newUserButton {
    z-index: 2;
    cursor: pointer;
    position: absolute;
    top: 17px;
    right: 17px;
    width: 170px;

    color: white;
    text-align: right;
    letter-spacing: 0.75px;
}

#gtthrRegistration #newUserButton b {
    color: var(--gtthr-light-color-1);
}

#gtthrRegistration_googleUser {
    padding-bottom: 17px;
}

#gtthrRegistration_appleUser {
    position: relative;
    line-height: 50px;
    text-align: center;
    color: #757575;
    background-color: white;
    margin-bottom: 17px;
    border-radius: 1px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.21px;
    padding-left: 38px;
    cursor: pointer;
}

#gtthrRegistration_appleUser .icon {
    position: absolute;
    color: black;
    left: 11px;
    top: 0px;
    font-size: 21px;
}
.studioCinemaOverlay {
    z-index: 10000;
}

.studioCinema {
    background: var(--menu-color-1);
}

/* Loading State */
.studioCinema__loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap: 16px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.1em;
}

.studioCinema__loading .lucide-icon {
    font-size: 2em;
    color: var(--primary-color);
}

/* Header */
.studioCinema__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: var(--menu-color-2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.studioCinema__title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 1.1em;
    font-weight: 600;
}

.studioCinema__title i {
    color: var(--jmkr-color-1);
    font-size: 1.2em;
}

.studioCinema__headerActions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.studioCinema__projectName {
    background: var(--menu-color-3);
    padding: 6px 12px;
    border-radius: 6px;
    color: #fff;
    font-size: 0.9em;
    min-width: 150px;
    outline: none;
    border: 1px solid transparent;
    transition: border-color 0.2s;
}

.studioCinema__projectName:focus {
    border-color: var(--jmkr-color-1);
}

.studioCinema__duration {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85em;
    font-family: monospace;
}

/* Model Badge in Header */
.studioCinema__modelBadge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 6px;
    color: #fff;
    font-size: 0.85em;
    cursor: pointer;
    transition: all 0.2s ease;
}

.studioCinema__modelBadge:hover {
    transform: scale(1.02);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.studioCinema__modelBadge i {
    font-size: 1em;
}

.studioCinema__modelBadge span {
    font-weight: 500;
}

.modelBadge__aspect {
    opacity: 0.8;
    font-size: 0.9em;
    padding-left: 8px;
    border-left: 1px solid rgba(255, 255, 255, 0.3);
}

.studioCinema__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e74c3c;
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s;
}

.studioCinema__close:hover {
    background: #c0392b;
    transform: scale(1.05);
}

.studioCinema__btn.danger {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(231, 76, 60, 0.3);
    color: #fff;
    cursor: pointer;
    transition: all 0.2s;
}

.studioCinema__btn.danger:hover {
    background: #c0392b;
    transform: scale(1.05);
}

/* Main Content Area */
.studioCinema__main {
    display: flex;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* Preview Panel */
.studioCinema__preview {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #000;
    position: relative;
    overflow: auto;
}

.cinemaPreview__container {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    min-height: 0;
}

.cinemaPreview__frame {
    /* Inline style sets aspect-ratio, max-width, max-height */
    /* Height constrained by container, width derived from aspect-ratio */
    height: 100%;
    width: auto;
    background: #1a1a1a;
    border: 2px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.cinemaPreview__frame img,
.cinemaPreview__frame video {
    /* Size and position set by inline styles for crop/zoom */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cinemaPreview__placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    color: rgba(255, 255, 255, 0.3);
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
}

.cinemaPreview__placeholder i {
    font-size: 4em;
}

.cinemaPreview__placeholder span {
    font-size: 0.95em;
    max-width: 200px;
}

.cinemaPreview__info {
    padding: 10px 20px;
    background: rgba(0, 0, 0, 0.5);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.cinemaPreview__dimensions {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.8em;
    padding: 3px 8px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    font-family: monospace;
}

.cinemaPreview__label {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85em;
}

/* Share Section */
.cinemaPreview__share {
    padding: 12px 20px;
    background: rgba(0, 0, 0, 0.3);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.cinemaPreview__shareLabel {
    display: flex;
    align-items: center;
    gap: 6px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.75em;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.cinemaPreview__shareLabel i {
    font-size: 0.9em;
}

.cinemaPreview__shareUrl {
    display: flex;
    gap: 6px;
}

.cinemaPreview__shareUrl input {
    flex: 1;
    padding: 8px 12px;
    background: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.8em;
    font-family: 'SF Mono', Monaco, monospace;
}

.cinemaPreview__shareUrl input:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

.cinemaPreview__copyBtn,
.cinemaPreview__openBtn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
}

.cinemaPreview__copyBtn:hover,
.cinemaPreview__openBtn:hover {
    background: var(--jmkr-color-1);
    color: #fff;
}

/* Properties Panel */
.studioCinema__properties {
    width: 320px;
    background: var(--menu-color-2);
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    overflow-y: auto;
}

.cinemaProps__section {
    padding: 20px;
}

.cinemaProps__title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-weight: 600;
    font-size: 0.95em;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.cinemaProps__title i {
    color: var(--jmkr-color-1);
}

.cinemaProps__field {
    margin-bottom: 16px;
}

.cinemaProps__field label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.8em;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.autoGeneratePrompt {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    background: linear-gradient(135deg, var(--jmkr-color-1), var(--jmkr-color-2));
    border-radius: 4px;
    font-size: 0.85em;
    text-transform: none;
    cursor: pointer;
    transition: all 0.2s ease;
    color: white;
}

.autoGeneratePrompt:hover {
    transform: scale(1.05);
    box-shadow: 0 2px 8px rgba(var(--jmkr-color-1-rgb), 0.4);
}

.autoGeneratePrompt.loading {
    pointer-events: none;
    opacity: 0.7;
    cursor: default;
}

.autoGeneratePrompt i {
    font-size: 0.9em;
}

.autoGeneratePrompt .spinning {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.cinemaProps__field input[type="text"],
.cinemaProps__field input[type="number"],
.cinemaProps__field textarea,
.cinemaProps__field select {
    width: 100%;
    background: var(--menu-color-3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    color: #fff;
    padding: 10px 12px;
    font-size: 0.9em;
    font-family: inherit;
    transition: border-color 0.2s;
}

.cinemaProps__field input:focus,
.cinemaProps__field textarea:focus,
.cinemaProps__field select:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

.cinemaProps__field textarea {
    resize: vertical;
    min-height: 100px;
}

.cinemaProps__timeInput {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cinemaProps__timeInput input {
    width: 80px;
    text-align: center;
}

.cinemaProps__timeInput span {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85em;
}

/* Crop Editor */
.keyframeCropEditor {
    position: relative;
    width: 100%;
    background: #000;
    border-radius: 6px;
    overflow: hidden;
    cursor: move;
}

.cropEditor__source {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    opacity: 0.5;
}

.cropEditor__frame {
    position: absolute;
    border: 2px solid var(--jmkr-color-1);
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5);
    pointer-events: none;
    transition: none;
}

.cropEditor__frame::before {
    content: '';
    position: absolute;
    inset: 0;
    border: 1px dashed rgba(255, 255, 255, 0.3);
}

.cropEditor__handle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 30px;
    background: var(--jmkr-color-1);
    border-radius: 50%;
    opacity: 0.7;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cropEditor__handle::before {
    content: '⊕';
    color: white;
    font-size: 16px;
}

.keyframeCropEditor:active .cropEditor__frame {
    border-color: var(--jmkr-color-2);
}

.cropHint {
    font-weight: normal;
    text-transform: none;
    opacity: 0.6;
    font-size: 0.9em;
}

/* Resize Handles on Crop Frame */
.cropEditor__resizeHandle {
    position: absolute;
    width: 14px;
    height: 14px;
    background: var(--jmkr-color-1);
    border: 2px solid white;
    border-radius: 50%;
    pointer-events: auto;
    z-index: 10;
    transition: transform 0.15s, background 0.15s;
}

.cropEditor__resizeHandle:hover {
    transform: scale(1.3);
    background: var(--jmkr-color-2);
}

.cropEditor__resizeHandle--nw {
    top: -7px;
    left: -7px;
    cursor: nw-resize;
}

.cropEditor__resizeHandle--ne {
    top: -7px;
    right: -7px;
    cursor: ne-resize;
}

.cropEditor__resizeHandle--sw {
    bottom: -7px;
    left: -7px;
    cursor: sw-resize;
}

.cropEditor__resizeHandle--se {
    bottom: -7px;
    right: -7px;
    cursor: se-resize;
}

/* Crop Scale Slider */
.cropScaleSlider {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cropScaleSlider input[type="range"] {
    width: 100%;
    height: 6px;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 3px;
    outline: none;
    cursor: pointer;
}

.cropScaleSlider input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    background: var(--jmkr-color-1);
    border: 2px solid white;
    border-radius: 50%;
    cursor: grab;
    transition: transform 0.15s, background 0.15s;
}

.cropScaleSlider input[type="range"]::-webkit-slider-thumb:hover {
    transform: scale(1.2);
    background: var(--jmkr-color-2);
}

.cropScaleSlider input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: var(--jmkr-color-1);
    border: 2px solid white;
    border-radius: 50%;
    cursor: grab;
}

.cropScaleMarkers {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    color: rgba(255, 255, 255, 0.5);
    padding: 0 2px;
}

.cropScaleDisplay {
    font-weight: 600;
    color: var(--jmkr-color-1);
    margin-left: 8px;
}

/* Version Selector */
.keyframeVersionSelector {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    max-height: 180px;
    overflow-y: auto;
    padding: 4px;
}

.keyframeVersion {
    position: relative;
    width: 60px;
    height: 60px;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid rgba(255, 255, 255, 0.2);
    transition: border-color 0.2s, transform 0.2s;
}

.keyframeVersion:hover {
    border-color: rgba(255, 255, 255, 0.5);
    transform: scale(1.05);
}

.keyframeVersion.selected {
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 8px rgba(var(--jmkr-color-1-rgb), 0.5);
}

.keyframeVersion img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.keyframeVersion .versionLabel {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-size: 9px;
    padding: 2px 4px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cinemaProps__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
}

.cinemaProps__actions .studio-button {
    width: 100%;
    justify-content: center;
}

.cinemaProps__actions .studio-button.danger {
    width: 100%;
    padding: 10px;
    background: rgba(231, 76, 60, 0.2);
    color: #e74c3c;
}

.cinemaProps__actions .studio-button.danger:hover {
    background: #e74c3c;
    color: #fff;
}

.cinemaProps__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: rgba(255, 255, 255, 0.3);
    text-align: center;
    padding: 40px 20px;
    gap: 15px;
}

.cinemaProps__empty i {
    font-size: 3em;
}

.cinemaProps__empty span {
    font-size: 0.9em;
    line-height: 1.5;
}

/* Scene Video Versions */
.cinemaScene__versions {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.cinemaScene__versions .versions__label {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85em;
    margin-bottom: 10px;
}

.cinemaScene__versions .versions__list {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.cinemaScene__versions .versions__list::-webkit-scrollbar {
    height: 4px;
}

.cinemaScene__versions .versions__list::-webkit-scrollbar-track {
    background: var(--menu-color-2);
    border-radius: 2px;
}

.cinemaScene__versions .versions__list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
}

.cinemaScene__versions .versions__list::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.3);
}

.cinemaScene__versions .versions__item {
    flex-shrink: 0;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.2s;
    position: relative;
}

.cinemaScene__versions .versions__item:hover {
    opacity: 0.9;
}

.cinemaScene__versions .versions__item.active {
    opacity: 1;
}

.cinemaScene__versions .versions__item video {
    width: 80px;
    height: 45px;
    object-fit: cover;
    border-radius: 4px;
    border: 2px solid transparent;
    display: block;
}

.cinemaScene__versions .versions__item.active video {
    border-color: var(--jmkr-color-1);
}

.cinemaScene__versions .versions__item span {
    display: block;
    font-size: 0.65em;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 3px;
    text-align: center;
}

/* Timeline */
.studioCinema__timeline {
    background: var(--menu-color-3);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    position: relative;
}

/* Timeline Toolbar */
.cinemaTimeline__toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 15px;
    background: var(--menu-color-2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.cinemaTimeline__tools {
    display: flex;
    gap: 5px;
}

.cinemaTimeline__tool {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--menu-color-3);
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    transition: all 0.2s;
}

.cinemaTimeline__tool:hover {
    background: var(--jmkr-color-1);
    color: #fff;
}

.cinemaTimeline__transport {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cinemaTransport__btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--menu-color-3);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    transition: all 0.2s;
}

.cinemaTransport__btn:hover {
    background: var(--jmkr-color-1);
    color: #fff;
}

.cinemaTransport__btn.playPause {
    width: 44px;
    height: 44px;
    background: var(--jmkr-color-1);
    color: #fff;
}

.cinemaTransport__btn.playPause:hover {
    transform: scale(1.05);
}

.cinemaTransport__time {
    font-family: monospace;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9em;
    min-width: 100px;
}

.cinemaTransport__time .currentTime {
    color: #fff;
}

/* Timeline Ruler */
.cinemaTimeline__ruler {
    height: 28px;
    background: var(--menu-color-1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    position: relative;
    overflow: hidden;
}

.cinemaRuler__track {
    height: 100%;
    position: relative;
    margin-left: 100px;
}

.cinemaRuler__marker {
    position: absolute;
    top: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.7em;
    font-family: monospace;
}

.cinemaRuler__marker.major {
    color: rgba(255, 255, 255, 0.8);
}

.cinemaRuler__label {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.6);
    white-space: nowrap;
    margin-bottom: 2px;
}

.cinemaRuler__tick {
    width: 1px;
    flex: 1;
    background: rgba(255, 255, 255, 0.25);
}

.cinemaRuler__marker--minor .cinemaRuler__tick {
    background: rgba(255, 255, 255, 0.12);
}

/* Timeline Tracks */
.cinemaTimeline__tracks {
    max-height: 200px;
    overflow-y: auto;
}

.cinemaTrack {
    display: flex;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.cinemaTrack__label {
    width: 100px;
    padding: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--menu-color-2);
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.8em;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.cinemaTrack__label i {
    font-size: 1.1em;
}

.cinemaTrack__content {
    flex: 1;
    position: relative;
    min-height: 60px;
    background: var(--menu-color-1);
}

.cinemaTrack__dropzone {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.cinemaTrack__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: rgba(255, 255, 255, 0.3);
    font-size: 0.85em;
    border: 2px dashed rgba(255, 255, 255, 0.1);
    margin: 5px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
}

.cinemaTrack__placeholder:hover {
    border-color: var(--jmkr-color-1);
    color: var(--jmkr-color-1);
}

/* Keyframes */
.cinemaKeyframe {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    background: var(--menu-color-3);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    overflow: visible; /* Allow lock icon to show outside bounds */
    cursor: grab;
    transition: border-color 0.2s, box-shadow 0.2s;
    z-index: 10;
}

.cinemaKeyframe:active,
.cinemaKeyframe.dragging {
    cursor: grabbing;
}

.cinemaKeyframe img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px; /* Match inner radius since overflow is visible */
}

.cinemaKeyframe i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: rgba(255, 255, 255, 0.4);
}

.cinemaKeyframe:hover {
    border-color: var(--jmkr-color-1);
    transform: translate(-50%, -50%) scale(1.1);
    z-index: 11;
}

.cinemaKeyframe.selected {
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 0 3px rgba(91, 192, 222, 0.3);
}

/* Scene Blocks */
.cinemaScene {
    position: absolute;
    top: 8px;
    bottom: 8px;
    background: linear-gradient(135deg, rgba(91, 192, 222, 0.2) 0%, rgba(91, 192, 222, 0.1) 100%);
    border: 1px solid rgba(91, 192, 222, 0.3);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.cinemaScene:hover {
    background: linear-gradient(135deg, rgba(91, 192, 222, 0.3) 0%, rgba(91, 192, 222, 0.2) 100%);
    border-color: var(--jmkr-color-1);
}

.cinemaScene.selected {
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.3);
}

.cinemaScene.generated {
    background: linear-gradient(135deg, rgba(46, 204, 113, 0.2) 0%, rgba(46, 204, 113, 0.1) 100%);
    border-color: rgba(46, 204, 113, 0.5);
}

.cinemaScene.generating {
    background: linear-gradient(135deg, rgba(241, 196, 15, 0.2) 0%, rgba(241, 196, 15, 0.1) 100%);
    border-color: rgba(241, 196, 15, 0.5);
}

.cinemaScene__bar {
    width: 30px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.2);
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9em;
}

.cinemaScene.generated .cinemaScene__bar {
    color: #2ecc71;
}

.cinemaScene.generating .cinemaScene__bar {
    color: #f1c40f;
}

/* Stale scene - keyframe was modified after video was generated */
.cinemaScene.stale {
    background: linear-gradient(135deg, rgba(231, 76, 60, 0.3) 0%, rgba(231, 76, 60, 0.15) 100%);
    border-color: rgba(231, 76, 60, 0.7);
}

.cinemaScene.stale .cinemaScene__bar {
    color: #e74c3c;
}

.cinemaScene__label {
    flex: 1;
    padding: 0 10px;
    font-size: 0.75em;
    color: rgba(255, 255, 255, 0.7);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Playhead */
.cinemaTimeline__playhead {
    position: absolute;
    top: 50px; /* Start below the toolbar */
    bottom: 0;
    left: 100px;
    width: 20px;
    margin-left: -10px;
    z-index: 100;
    cursor: ew-resize;
    pointer-events: none;
}

.cinemaPlayhead__marker {
    width: 14px;
    height: 14px;
    background: #e74c3c;
    border-radius: 50%;
    position: absolute;
    top: 6px; /* Position within the ruler area */
    left: 50%;
    transform: translateX(-50%);
    cursor: ew-resize;
    transition: transform 0.1s;
    pointer-events: auto;
}

.cinemaPlayhead__marker:hover {
    transform: translateX(-50%) scale(1.2);
}

.cinemaPlayhead__line {
    position: absolute;
    top: 20px; /* Start below the marker */
    bottom: 0;
    left: 50%;
    width: 2px;
    background: #e74c3c;
    transform: translateX(-50%);
    pointer-events: none;
}

/* Footer */
.studioCinema__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: var(--menu-color-2);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.studioCinema__footerLeft,
.studioCinema__footerRight {
    display: flex;
    gap: 10px;
}

.studioCinema__footerRight .studio-button.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Override button colors for dark cinema background */
.studioCinema .studio-button,
.cinemaProps .studio-button {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.studioCinema .studio-button:hover,
.cinemaProps .studio-button:hover {
    background: rgba(255, 255, 255, 0.2);
}

/* Image Editor overlay above Cinema - only override z-index and padding
   Width/left positioning is inherited from base .studioImageEditorOverlay rules */
.studioCinemaOverlay ~ .studioImageEditorOverlay,
.studioImageEditorOverlay.fromCinema {
    z-index: 10001;
}

/* Cinema Creation Picker Modal */
.cinema-picker-modal .swal2-title {
    color: #333 !important;
}

.cinema-creation-picker {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
    max-height: 400px;
    overflow-y: auto;
    padding: 10px 5px;
}

.cinema-picker-option {
    position: relative;
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 3px solid #e0e0e0;
    transition: all 0.2s ease;
    background: #f5f5f5;
}

.cinema-picker-option:hover {
    border-color: #999;
    transform: scale(1.02);
}

.cinema-picker-option.selected {
    border-color: var(--accent, #5aa3b3) !important;
    box-shadow: 0 0 0 2px rgba(90, 163, 179, 0.3);
}

.cinema-picker-option img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cinema-picker-blank {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #f0f0f0;
}

.cinema-picker-blank-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cinema-picker-blank-icon i {
    font-size: 20px;
    color: #888;
}

.cinema-picker-blank span {
    font-size: 12px;
    color: #666;
}

.cinema-picker-empty {
    text-align: center;
    padding: 30px 20px;
    color: #666;
}

.cinema-picker-empty i {
    font-size: 48px;
    color: #ccc;
    margin-bottom: 15px;
    display: block;
}

.cinema-picker-empty p {
    margin: 5px 0;
    font-size: 14px;
    color: #666;
}

/* Multi-select mode */
.cinema-picker-multi .cinema-picker-option {
    position: relative;
}

.cinema-picker-check {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.4);
    border: 2px solid rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all 0.2s ease;
}

.cinema-picker-option:hover .cinema-picker-check {
    opacity: 1;
}

.cinema-picker-option.selected .cinema-picker-check {
    opacity: 1;
    background: var(--accent, #5aa3b3);
    border-color: var(--accent, #5aa3b3);
}

.cinema-picker-check i {
    font-size: 14px;
    color: #fff;
}

.cinema-picker-number {
    position: absolute;
    bottom: 8px;
    left: 8px;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    border-radius: 12px;
    background: var(--accent, #5aa3b3);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all 0.2s ease;
}

.cinema-picker-option.selected .cinema-picker-number:not(:empty) {
    opacity: 1;
}

/* Keyframe Edit Modal */
.cinema-keyframe-edit-modal {
    text-align: left;
}

.cinema-edit-current {
    width: 100%;
    aspect-ratio: 16/9;
    background: #f0f0f0;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cinema-edit-current img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
}

.cinema-edit-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #999;
}

.cinema-edit-empty i {
    font-size: 32px;
}

.cinema-edit-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cinema-edit-action {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: #f5f5f5;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cinema-edit-action:hover {
    background: #e8e8e8;
}

.cinema-edit-action.danger:hover {
    background: #fee;
}

.cinema-edit-action i {
    font-size: 20px;
    color: #666;
    width: 24px;
    text-align: center;
}

.cinema-edit-action.danger i {
    color: #e74c3c;
}

.cinema-edit-action span {
    font-weight: 500;
    color: #333;
    display: block;
}

.cinema-edit-action small {
    font-size: 12px;
    color: #888;
    display: block;
    margin-top: 2px;
}

.cinema-edit-picker-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    font-weight: 500;
    color: #333;
}

.cinema-edit-back {
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    transition: background 0.2s;
}

.cinema-edit-back:hover {
    background: #e0e0e0;
}

.cinema-edit-modal .cinema-creation-picker {
    max-height: 300px;
}

/* Scene Editor Modal */
.cinema-scene-editor {
    text-align: left;
}

.cinema-scene-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: #f0f0f0;
    border-radius: 8px;
    margin-bottom: 16px;
}

.cinema-scene-time {
    font-weight: 600;
    color: #333;
    font-size: 14px;
}

.cinema-scene-duration {
    font-size: 13px;
    color: #666;
}

.cinema-scene-field {
    margin-bottom: 16px;
}

.cinema-scene-field label {
    display: block;
    font-weight: 500;
    color: #333;
    margin-bottom: 6px;
    font-size: 13px;
}

.cinema-scene-field textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    resize: vertical;
    min-height: 120px;
    box-sizing: border-box;
}

.cinema-scene-field textarea:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.1);
}

.cinema-scene-field select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    background: white;
    cursor: pointer;
}

.cinema-scene-modal .swal-primary-button {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.cinema-scene-modal .swal-secondary-button {
    background: #6c757d;
}

/* Locked Keyframe Visual Indicator */
.cinemaKeyframe.locked::after {
    content: '';
    position: absolute;
    top: -4px;
    right: -4px;
    width: 16px;
    height: 16px;
    background: #ffc107;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
    z-index: 10;
}

.cinemaKeyframe.locked::before {
    content: '\1F512'; /* Lock emoji */
    position: absolute;
    top: -3px;
    right: -3px;
    font-size: 10px;
    z-index: 11;
    line-height: 1;
}

.cinemaKeyframe.locked .cinemaKeyframe__thumb {
    border-color: #ffc107;
    box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.3);
}

/* Scene Generating Animation */
.cinemaScene.generating .cinemaScene__bar {
    background: linear-gradient(90deg, #667eea, #764ba2, #667eea);
    background-size: 200% 100%;
    animation: generatingPulse 1.5s ease-in-out infinite;
}

@keyframes generatingPulse {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Scene Generated (has video) */
.cinemaScene.generated .cinemaScene__bar {
    background: linear-gradient(135deg, #28a745, #20c997);
}

.cinemaScene.generated .cinemaScene__bar i::before {
    content: '\2713'; /* Checkmark */
}

/* Danger button in Swal */
.swal-danger-button {
    background: #dc3545 !important;
}

.swal-danger-button:hover {
    background: #c82333 !important;
}

/* Video Preview in Cinema */
.cinemaPreview__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #000;
    transition: opacity 0.15s ease-in;
}

.cinemaPreview__frame video {
    pointer-events: none; /* Don't allow direct video interaction */
}

/* Video Loading State */
.cinemaPreview__frame.loading {
    position: relative;
}

.cinemaPreview__loader {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.6);
    z-index: 10;
    pointer-events: none;
}

.cinemaPreview__loader i {
    font-size: 2.5em;
    color: var(--jmkr-color-1);
}

/* Model Config Modal Styles */
.model-config-popup {
    text-align: left;
}

.model-config-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.model-config-modal {
    text-align: left;
}

.model-config-section {
    margin-bottom: 20px;
}

.model-config-section label {
    display: block;
    font-weight: 600;
    color: #333;
    margin-bottom: 6px;
    font-size: 0.95em;
}

.model-config-hint {
    font-size: 0.85em;
    color: #888;
    margin-bottom: 12px;
}

.model-config-options {
    display: flex;
    gap: 12px;
}

.model-config-option {
    flex: 1;
    border: 2px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.2s ease;
}

.model-config-option:hover {
    border-color: #999;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.model-config-option.selected {
    border-width: 3px;
}

.model-config-option__header {
    padding: 10px 12px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.model-config-option__name {
    font-weight: 600;
    font-size: 0.95em;
}

.model-config-option__body {
    padding: 12px;
    background: #f9f9f9;
}

.model-config-option__desc {
    font-size: 0.85em;
    color: #666;
    margin-bottom: 10px;
}

.model-config-option__caps {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.cap-badge {
    font-size: 0.75em;
    padding: 3px 8px;
    background: #e0e0e0;
    border-radius: 4px;
    color: #555;
}

.cap-badge--highlight {
    background: #d4edda;
    color: #155724;
}

.model-config-option__constraints {
    display: flex;
    gap: 12px;
    font-size: 0.8em;
    color: #888;
}

.model-config-option__constraints span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.model-config-option__constraints i {
    font-size: 0.9em;
}

/* Aspect Ratio Options */
.aspect-options {
    display: flex;
    gap: 10px;
}

.aspect-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 10px 15px;
    border: 2px solid #ddd;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 80px;
}

.aspect-option:hover {
    border-color: #999;
}

.aspect-option.selected {
    border-color: var(--jmkr-color-1, #5bc0de);
    background: rgba(91, 192, 222, 0.1);
}

.aspect-option__preview {
    width: 40px;
    height: 30px;
    background: #ddd;
    border-radius: 3px;
}

.aspect-option span {
    font-size: 0.8em;
    color: #666;
    text-align: center;
}

/* Duration Options */
.duration-options {
    display: flex;
    gap: 8px;
}

.duration-option {
    padding: 8px 16px;
    border: 2px solid #ddd;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9em;
    font-weight: 500;
    color: #666;
    transition: all 0.2s ease;
}

.duration-option:hover {
    border-color: #999;
}

.duration-option.selected {
    border-color: var(--jmkr-color-1, #5bc0de);
    background: var(--jmkr-color-1, #5bc0de);
    color: #fff;
}

/* Model Config Warnings */
.model-config-warnings {
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 8px;
    padding: 12px;
    margin-top: 15px;
}

.model-config-warnings__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #856404;
    margin-bottom: 8px;
    font-size: 0.9em;
}

.model-config-warning {
    font-size: 0.85em;
    color: #856404;
    padding: 4px 0;
}

/* Scene Model Selector in Properties Panel */
.sceneModelSelector {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.sceneModelOption {
    flex: 1;
    padding: 10px;
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.sceneModelOption:hover {
    border-color: rgba(255, 255, 255, 0.4);
}

.sceneModelOption.selected {
    border-color: var(--jmkr-color-1);
    background: rgba(91, 192, 222, 0.15);
}

.sceneModelOption__name {
    font-size: 0.85em;
    font-weight: 600;
    color: #fff;
    margin-bottom: 4px;
}

.sceneModelOption__duration {
    font-size: 0.75em;
    color: rgba(255, 255, 255, 0.6);
}

/* Scene Constraint Warning */
.sceneConstraintWarning {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
    background: rgba(231, 76, 60, 0.2);
    border: 1px solid rgba(231, 76, 60, 0.4);
    border-radius: 6px;
    margin-top: 12px;
    font-size: 0.85em;
    color: #e74c3c;
}

.sceneConstraintWarning i {
    margin-top: 2px;
}

.sceneConstraintWarning--info {
    background: rgba(241, 196, 15, 0.2);
    border-color: rgba(241, 196, 15, 0.4);
    color: #f39c12;
}

/* Keyframe Warning Badge */
.cinemaKeyframe.has-warning::after {
    content: '';
    position: absolute;
    top: -4px;
    right: -4px;
    width: 14px;
    height: 14px;
    background: #f39c12;
    border-radius: 50%;
    border: 2px solid #fff;
}

.cinemaScene.has-warning {
    border-color: rgba(243, 156, 18, 0.7);
}

.cinemaScene.has-warning .cinemaScene__bar {
    background: rgba(243, 156, 18, 0.3);
}

/* Snap Indicator */
.cinemaSnapIndicator {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: var(--jmkr-color-1);
    color: #fff;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 0.8em;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.15s ease;
    pointer-events: none;
    z-index: 200;
    margin-bottom: 8px;
}

.cinemaSnapIndicator::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: var(--jmkr-color-1);
}

/* Duration Hint */
.durationHint {
    font-weight: normal;
    text-transform: none;
    opacity: 0.6;
    font-size: 0.9em;
}

/* ============================================
   Cinema Create Modal Styles
   ============================================ */
.cinema-create-popup {
    text-align: left;
}

.cinema-create-title {
    display: flex !important;
    align-items: center;
    gap: 10px;
    font-size: 1.3em !important;
}

.cinema-create-modal {
    text-align: left;
}

.cinema-create-section {
    margin-bottom: 20px;
}

.cinema-create-section label {
    display: block;
    font-weight: 600;
    color: #333;
    margin-bottom: 6px;
    font-size: 0.95em;
}

.cinema-create-hint {
    font-size: 0.85em;
    color: #888;
    margin-bottom: 10px;
    margin-top: 0;
}

.cinema-create-input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 0.95em;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.cinema-create-input:focus {
    outline: none;
    border-color: var(--jmkr-color-1, #5bc0de);
}

.cinema-create-input--small {
    width: 100px;
}

/* Model Selection Cards */
.cinema-create-models {
    display: flex;
    gap: 12px;
}

.cinema-create-model {
    flex: 1;
    border: 2px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cinema-create-model:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.cinema-create-model.selected {
    border-width: 3px;
}

.cinema-create-model__header {
    padding: 10px 12px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    font-size: 0.9em;
}

.cinema-create-model__body {
    padding: 12px;
    background: #f9f9f9;
}

.cinema-create-model__body p {
    font-size: 0.85em;
    color: #666;
    margin: 0 0 10px 0;
    line-height: 1.4;
}

.cinema-create-model__caps {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.cap-tag {
    font-size: 0.75em;
    padding: 3px 8px;
    background: #e0e0e0;
    border-radius: 4px;
    color: #555;
}

.cap-tag--highlight {
    background: #d4edda;
    color: #155724;
}

.cinema-create-model__info {
    font-size: 0.8em;
    color: #888;
}

.cinema-create-model__info span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.cinema-create-model__info i {
    font-size: 0.9em;
}

/* Aspect Ratio Selection */
.cinema-create-aspects {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.cinema-create-aspect {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 12px 16px;
    border: 2px solid #ddd;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 90px;
}

.cinema-create-aspect:hover {
    border-color: #999;
}

.cinema-create-aspect.selected {
    border-color: var(--jmkr-color-1, #5bc0de);
    background: rgba(91, 192, 222, 0.08);
}

.cinema-create-aspect__preview {
    width: 40px;
    max-height: 50px;
    background: linear-gradient(135deg, #ddd 0%, #ccc 100%);
    border-radius: 3px;
}

.cinema-create-aspect span {
    font-size: 0.8em;
    color: #666;
    text-align: center;
}

/* Duration Input */
.cinema-create-duration {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cinema-create-duration span {
    color: #666;
    font-size: 0.9em;
}

/* Warning */
.cinema-create-warning {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 6px;
    margin-top: 10px;
    font-size: 0.85em;
    color: #856404;
}

.cinema-create-warning i {
    flex-shrink: 0;
}

/* Responsive - Mobile */
@media (max-width: 768px) {
    .studioCinemaOverlay {
        left: 0;
        width: 100%;
        padding: 0;
    }

    .studioCinemaOverlay.slimMenu,
    .studioCinemaOverlay.rightUIOpen,
    .studioCinemaOverlay.slimMenu.rightUIOpen {
        left: 0;
        width: 100%;
    }

    .studioCinema {
        max-height: 100vh;
        height: 100vh;
        border-radius: 0;
        max-width: 100%;
    }
}

#CinemaPage {
    min-height: 100vh;
    background: #1a1a1a;
    color: #fff;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.cinemaPageContainer {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.cinemaPage {
    background: #252525;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

/* Header */
.cinemaPage__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    background: #1e1e1e;
    border-bottom: 1px solid #333;
}

.cinemaPage__headerLeft {
    display: flex;
    align-items: center;
    gap: 20px;
}

.cinemaPage__title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.25em;
    font-weight: 600;
}

.cinemaPage__title i {
    color: #aaa;
}

.cinemaPage__viewCount {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9em;
    color: #888;
    padding-left: 20px;
    border-left: 1px solid #444;
}

.cinemaPage__viewCount i {
    font-size: 0.9em;
    opacity: 0.7;
}

.cinemaPage__actions {
    display: flex;
    gap: 8px;
}

.cinemaPage__btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #333;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.cinemaPage__btn:hover {
    background: #444;
}

/* Preview Area */
.cinemaPage__preview {
    position: relative;
    background: #000;
    aspect-ratio: 16/9;
}

.cinemaPage__player {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cinemaPage__video,
.cinemaPage__image,
.cinemaPage__videoSlot {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Stack video slots absolutely for sliding window */
.cinemaPage__videoSlot {
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 1;
}

.cinemaPage__videoSlot[style*="opacity: 1"] {
    z-index: 2;
}

#fallbackImage {
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 0;
}

.cinemaPage__playOverlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.4);
    cursor: pointer;
    transition: opacity 0.3s;
}

.cinemaPage__playOverlay.hidden {
    opacity: 0;
    pointer-events: none;
}

.cinemaPage__playBtn {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(60, 60, 60, 0.9);
    border-radius: 50%;
    font-size: 2em;
    transition: transform 0.2s, background 0.2s;
}

.cinemaPage__playOverlay:hover .cinemaPage__playBtn {
    transform: scale(1.1);
    background: rgba(80, 80, 80, 0.95);
}

/* Watermark */
.cinemaPage__watermark {
    position: absolute;
    bottom: 12px;
    right: 12px;
    z-index: 10;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.cinemaPage__watermark:hover {
    opacity: 1;
}

.cinemaPage__watermark img {
    height: 70px;
    width: auto;
    filter: saturate(0);
    transition: filter 0.2s;
}

.cinemaPage__watermark:hover img {
    filter: saturate(1);
}

/* Timeline */
.cinemaPage__timeline {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 24px;
    background: #1e1e1e;
}

.cinemaPage__progress {
    flex: 1;
    height: 6px;
    background: #444;
    border-radius: 3px;
    cursor: pointer;
    position: relative;
}

.cinemaPage__progressBar {
    height: 100%;
    background: #888;
    border-radius: 3px;
    transition: width 0.1s;
}

.cinemaPage__playhead {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    transition: left 0.1s;
    z-index: 2;
}

.cinemaPage__sceneMarker {
    position: absolute;
    top: 0;
    width: 2px;
    height: 100%;
    background: rgba(255, 255, 255, 0.5);
    transform: translateX(-50%);
    z-index: 1;
}

.cinemaPage__timeDisplay {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.9em;
    font-family: 'SF Mono', Monaco, monospace;
    color: rgba(255, 255, 255, 0.7);
}

.cinemaPage__separator {
    opacity: 0.5;
}

/* Controls */
.cinemaPage__controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    padding: 16px 24px;
    background: #222;
}

.cinemaPage__controlBtn {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #333;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 1.2em;
}

.cinemaPage__controlBtn:hover {
    background: #444;
    transform: scale(1.05);
}

.cinemaPage__playPause {
    width: 64px;
    height: 64px;
    background: #444;
    font-size: 1.5em;
}

.cinemaPage__playPause:hover {
    background: #555;
}

/* Share Section */
.cinemaPage__share {
    padding: 20px 24px;
    border-top: 1px solid #333;
}

.cinemaPage__shareLabel {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 0.9em;
    color: #888;
}

.cinemaPage__shareUrl {
    display: flex;
    gap: 8px;
}

.cinemaPage__shareUrl input {
    flex: 1;
    padding: 12px 16px;
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 8px;
    color: #fff;
    font-size: 0.9em;
    font-family: 'SF Mono', Monaco, monospace;
}

.cinemaPage__shareUrl input:focus {
    outline: none;
    border-color: #666;
}

.cinemaPage__copyBtn {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #444;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.cinemaPage__copyBtn:hover {
    transform: scale(1.05);
}

/* Scenes List */
.cinemaPage__scenes {
    padding: 20px 24px;
    border-top: 1px solid #333;
}

.cinemaPage__scenesLabel {
    font-size: 0.9em;
    color: #888;
    margin-bottom: 12px;
}

.cinemaPage__scenesList {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 8px;
}

.cinemaPage__scenesList::-webkit-scrollbar {
    height: 4px;
}

.cinemaPage__scenesList::-webkit-scrollbar-track {
    background: #333;
    border-radius: 2px;
}

.cinemaPage__scenesList::-webkit-scrollbar-thumb {
    background: #555;
    border-radius: 2px;
}

.cinemaPage__scene {
    flex-shrink: 0;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.2s;
}

.cinemaPage__scene:hover {
    opacity: 0.9;
}

.cinemaPage__scene.active {
    opacity: 1;
}

.cinemaPage__sceneThumbnail {
    width: 120px;
    height: 68px;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid transparent;
    background: #1a1a1a;
}

.cinemaPage__scene.active .cinemaPage__sceneThumbnail {
    border-color: #888;
}

.cinemaPage__sceneThumbnail video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cinemaPage__scenePlaceholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
}

.cinemaPage__sceneInfo {
    margin-top: 4px;
    text-align: center;
}

.cinemaPage__sceneTime {
    font-size: 0.75em;
    color: #777;
    font-family: 'SF Mono', Monaco, monospace;
}

/* Footer */
.cinemaPage__footer {
    padding: 20px 24px;
    border-top: 1px solid #333;
    display: flex;
    justify-content: center;
}

.cinemaPage__branding {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #666;
    text-decoration: none;
    font-size: 0.85em;
    transition: color 0.2s;
}

.cinemaPage__branding:hover {
    color: #999;
}

.cinemaPage__branding img {
    height: 20px;
}

/* Not Found State */
.cinemaPage__notFound {
    padding: 80px 24px;
    text-align: center;
    color: #888;
}

.cinemaPage__notFound i {
    font-size: 4em;
    margin-bottom: 24px;
    color: #444;
}

.cinemaPage__notFound h2 {
    font-size: 1.5em;
    margin-bottom: 12px;
    color: #fff;
}

.cinemaPage__notFound p {
    font-size: 1em;
    max-width: 400px;
    margin: 0 auto;
}

/* Responsive */
@media (max-width: 768px) {
    .cinemaPageContainer {
        padding: 10px;
    }

    .cinemaPage__header {
        padding: 16px;
    }

    .cinemaPage__headerLeft {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .cinemaPage__title {
        font-size: 1.1em;
    }

    .cinemaPage__viewCount {
        padding-left: 0;
        border-left: none;
        font-size: 0.8em;
    }

    .cinemaPage__timeline {
        padding: 12px 16px;
    }

    .cinemaPage__controls {
        padding: 12px 16px;
        gap: 12px;
    }

    .cinemaPage__controlBtn {
        width: 40px;
        height: 40px;
    }

    .cinemaPage__playPause {
        width: 56px;
        height: 56px;
    }

    .cinemaPage__share {
        padding: 16px;
    }

    .cinemaPage__shareUrl {
        flex-direction: column;
    }

    .cinemaPage__copyBtn {
        width: 100%;
        height: 44px;
    }
}

/* Fullscreen Mode */
.cinemaPage__player:fullscreen {
    background: #000;
}

.cinemaPage__player:fullscreen .cinemaPage__playOverlay {
    display: none;
}

.cinemaPage__player:fullscreen .cinemaPage__video,
.cinemaPage__player:fullscreen .cinemaPage__image,
.cinemaPage__player:fullscreen .cinemaPage__videoSlot {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.studioPostEditorOverlay {
    z-index: 10000;
    position: fixed;
    top: 0;
    left: var(--left-menu-width);
    width: calc(100% - var(--left-menu-width));
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    transition: left 0.3s ease, width 0.3s ease;
}

/* When left menu is slim */
#leftUI.slim ~ #middleUI .studioPostEditorOverlay,
.studioPostEditorOverlay.slimMenu {
    left: var(--left-menu-width-slim);
    width: calc(100% - var(--left-menu-width-slim));
}

/* When right UI is open */
.studioPostEditorOverlay.rightUIOpen {
    width: calc(100% - var(--left-menu-width) - var(--right-menu-width));
}

/* Both slim menu and right UI open */
#leftUI.slim ~ #middleUI .studioPostEditorOverlay.rightUIOpen,
.studioPostEditorOverlay.slimMenu.rightUIOpen {
    width: calc(100% - var(--left-menu-width-slim) - var(--right-menu-width));
}

.studioPostEditor {
    background: var(--menu-color-2);
}

/* Header */
.studioPostEditor__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.2);
}

.studioPostEditor__title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
}

.studioPostEditor__title i {
    color: var(--jmkr-color-1);
}

.studioPostEditor__headerActions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.studioPostEditor__platform {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.8);
}

.studioPostEditor__platform i {
    font-size: 14px;
}

.studioPostEditor__status {
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

.studioPostEditor__status.draft {
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.6);
}

.studioPostEditor__status.ready {
    background: rgba(34, 197, 94, 0.2);
    color: #22c55e;
}

.studioPostEditor__status.scheduled {
    background: rgba(59, 130, 246, 0.2);
    color: #3b82f6;
}

.studioPostEditor__status.posted {
    background: color-mix(in srgb, var(--jmkr-color-1) 20%, transparent);
    color: var(--jmkr-color-1);
}

.studioPostEditor__btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.6);
    transition: all 0.2s;
}

.studioPostEditor__btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.studioPostEditor__btn.deletePost:hover {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
}

.studioPostEditor__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.6);
    transition: all 0.2s;
}

.studioPostEditor__close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

/* Body Layout */
.studioPostEditor__body {
    display: flex;
    flex: 1;
    overflow: hidden;
}

/* Sidebar */
.studioPostEditor__sidebar {
    width: 320px;
    padding: 16px;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.1);
    overflow-y: auto;
}

.sidebar__section {
    margin-bottom: 16px;
}

.sidebar__section > label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Collapsible Groups */
.sidebar__group {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    margin-bottom: 10px;
    overflow: hidden;
}

.sidebar__groupHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    cursor: pointer;
    transition: background 0.2s;
}

.sidebar__groupHeader:hover {
    background: rgba(255, 255, 255, 0.05);
}

.sidebar__groupHeader span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
}

.sidebar__groupHeader span i {
    font-size: 14px;
    color: var(--jmkr-color-1);
}

.sidebar__groupHeader > i {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.4);
    transition: transform 0.2s;
}

.sidebar__group.expanded .sidebar__groupHeader > i {
    transform: rotate(180deg);
}

.sidebar__groupContent {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.sidebar__group.expanded .sidebar__groupContent {
    max-height: 500px;
}

.sidebar__groupContent > .sidebar__field:first-child {
    padding-top: 4px;
}

.sidebar__groupContent > .sidebar__field:last-child {
    padding-bottom: 14px;
}

/* Sidebar Fields */
.sidebar__field {
    padding: 6px 14px;
}

.sidebar__field > label {
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 6px;
}

.sidebar__field > label .optional {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.3);
}

/* Inputs */
.sidebar__input {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    font-size: 13px;
    transition: border-color 0.2s;
}

.sidebar__input:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

.sidebar__input::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

.sidebar__textarea {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    font-size: 13px;
    min-height: 70px;
    resize: vertical;
    transition: border-color 0.2s;
    font-family: inherit;
}

.sidebar__textarea:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

.sidebar__textarea::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

/* Select */
.sidebar__select {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    font-size: 13px;
    cursor: pointer;
    transition: border-color 0.2s;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}

.sidebar__select:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

.sidebar__select option {
    background: #1a1a1a;
    color: #fff;
}

.sidebar__selectSmall {
    flex: 1;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    font-size: 12px;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
}

.sidebar__selectSmall:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

.sidebar__selectSmall option {
    background: #1a1a1a;
    color: #fff;
}

/* Chips (multi-select) */
.sidebar__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.sidebar__chip {
    padding: 6px 12px;
    border-radius: 16px;
    font-size: 12px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    cursor: pointer;
    transition: all 0.2s;
}

.sidebar__chip:hover {
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.8);
}

.sidebar__chip.selected {
    background: color-mix(in srgb, var(--jmkr-color-1) 20%, transparent);
    border-color: var(--jmkr-color-1);
    color: var(--jmkr-color-1);
}

/* Toggle Switch */
.sidebar__toggleRow {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sidebar__toggle {
    position: relative;
    width: 40px;
    height: 22px;
    flex-shrink: 0;
}

.sidebar__toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle__slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 22px;
    transition: 0.2s;
}

.toggle__slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: 0.2s;
}

.sidebar__toggle input:checked + .toggle__slider {
    background: var(--jmkr-color-1);
}

.sidebar__toggle input:checked + .toggle__slider:before {
    transform: translateX(18px);
}

.toggle__label {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
}

.sidebar__actions {
    padding-top: 10px;
}

/* Main Editor Area */
.studioPostEditor__main {
    flex: 1;
    padding: 20px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

/* Footer */
.studioPostEditor__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.2);
}

.studioPostEditor__footerLeft {
    display: flex;
    align-items: center;
    gap: 16px;
}

.post-char-count {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
}

.studioPostEditor__footerActions {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Studio Buttons */
.studioPostEditor .studio-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    background: #3a3a3a;
    color: #c5c5c5;
    border: 1px solid #4a4a4a;
    transition: all 0.2s;
}

.studioPostEditor .studio-button i {
    color: inherit;
}

.studioPostEditor .studio-button:hover {
    background: #4a4a4a;
    border-color: #5a5a5a;
    color: #fff;
}

.studioPostEditor .studio-button.primary {
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
    color: #fff;
}

.studioPostEditor .studio-button.primary:hover {
    background: color-mix(in srgb, var(--jmkr-color-1) 80%, black);
    border-color: color-mix(in srgb, var(--jmkr-color-1) 80%, black);
}

.studioPostEditor .studio-button.primary.saved {
    background: #22c55e;
    border-color: #22c55e;
}

.studioPostEditor .studio-button.active {
    background: rgba(34, 197, 94, 0.3);
    color: #22c55e;
    border-color: #22c55e;
}

.studioPostEditor .studio-button.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.studioPostEditor .studio-button i.spinning {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* ============================================
   Tweet Editor - 6 Variations Grid
   ============================================ */

.postEditor__tweetGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.postEditor__variation {
    background: rgba(0, 0, 0, 0.3);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.2s;
    cursor: pointer;
}

.postEditor__variation:hover {
    border-color: rgba(255, 255, 255, 0.2);
}

.postEditor__variation.selected {
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--jmkr-color-1) 30%, transparent);
}

.postEditor__variation.empty {
    cursor: default;
}

.variation__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    background: rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.variation__radio {
    color: rgba(255, 255, 255, 0.3);
}

.postEditor__variation.selected .variation__radio {
    color: var(--jmkr-color-1);
}

.variation__label {
    font-size: 12px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
}

.variation__charCount {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
}

.variation__charCount.over-limit {
    color: #ef4444;
    font-weight: 600;
}

.variation__body {
    width: 100%;
    min-height: 120px;
    padding: 14px;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
    resize: none;
}

.variation__body:focus {
    outline: none;
}

.variation__body::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

.variation__placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: rgba(255, 255, 255, 0.3);
    text-align: center;
}

.variation__placeholder i {
    font-size: 24px;
    margin-bottom: 10px;
}

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

/* Main Input Area */
.postEditor__mainInput {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 12px;
    padding: 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.postEditor__mainInput label {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 10px;
}

.postEditor__mainInput textarea {
    width: 100%;
    flex: 1;
    min-height: 80px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
    resize: none;
}

.postEditor__mainInput textarea:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

.mainInput__charCount {
    text-align: right;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 8px;
}

.mainInput__charCount.over-limit {
    color: #ef4444;
}

/* ============================================
   LinkedIn Editor - 3 Variations
   ============================================ */

.postEditor__linkedinGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.postEditor__variation.linkedin {
    min-height: 280px;
}

.variation__headline {
    padding: 0 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.variation__headline input {
    width: 100%;
    padding: 12px 0;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}

.variation__headline input:focus {
    outline: none;
}

.variation__headline input::placeholder {
    color: rgba(255, 255, 255, 0.3);
    font-weight: 400;
}

.postEditor__mainInput.linkedin input {
    width: 100%;
    padding: 12px;
    margin-bottom: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}

.postEditor__mainInput.linkedin input:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

/* LinkedIn Variations - consistent sizing */
.postEditor__variation.linkedin {
    min-height: 200px;
}

.variation__toggle {
    margin-left: auto;
    color: rgba(255, 255, 255, 0.4);
}

.variation__preview {
    padding: 12px 14px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 13px;
    line-height: 1.4;
}

.variation__content {
    padding: 14px;
}

.variation__content label {
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 6px;
    text-transform: uppercase;
}

.variation__bodyWrap {
    margin: 14px 0;
}

.variation__hashtags input {
    width: 100%;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.2);
    color: #fff;
    font-size: 13px;
}

.variation__hashtags input:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

/* ============================================
   Long-Form Editor (Blog/Newsletter)
   ============================================ */

.postEditor__longform {
    max-width: 800px;
    margin: 0 auto;
}

.longform__title {
    margin-bottom: 24px;
}

.longform__title input {
    width: 100%;
    padding: 16px;
    border: none;
    border-bottom: 2px solid rgba(255, 255, 255, 0.1);
    background: transparent;
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    transition: border-color 0.2s;
}

.longform__title input:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

.longform__title input::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

/* Blocks Container */
.longform__blocks {
    margin-bottom: 24px;
}

.longform__block {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    margin-bottom: 16px;
    overflow: hidden;
    transition: all 0.2s;
}

.longform__block:hover {
    border-color: rgba(255, 255, 255, 0.2);
}

.block__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    background: rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.block__type {
    font-size: 11px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.block__actions {
    display: flex;
    align-items: center;
    gap: 4px;
}

.block__action {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.4);
    transition: all 0.2s;
}

.block__action:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.block__action[title="Delete"]:hover {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
}

/* Text Block */
.block__content {
    width: 100%;
    min-height: 120px;
    padding: 16px;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 15px;
    line-height: 1.7;
    resize: vertical;
}

.block__content:focus {
    outline: none;
}

.block__content::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

/* Image Block */
.block__image {
    padding: 16px;
}

.block__image img {
    width: 100%;
    max-height: 400px;
    object-fit: contain;
    border-radius: 8px;
}

.block__imagePlaceholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    border: 2px dashed rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    transition: all 0.2s;
}

.block__imagePlaceholder:hover {
    border-color: var(--jmkr-color-1);
    color: var(--jmkr-color-1);
}

.block__imagePlaceholder i {
    font-size: 32px;
    margin-bottom: 12px;
}

.block__imagePlaceholder span {
    font-size: 13px;
}

.block__caption {
    width: 100%;
    padding: 12px 16px;
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    background: rgba(0, 0, 0, 0.1);
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    font-style: italic;
}

.block__caption:focus {
    outline: none;
}

.block__caption::placeholder {
    color: rgba(255, 255, 255, 0.3);
    font-style: italic;
}

/* Heading Block */
.block__heading {
    width: 100%;
    padding: 16px;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 22px;
    font-weight: 600;
}

.block__heading:focus {
    outline: none;
}

.block__heading::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

/* Add Block Buttons */
.longform__addBlock {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 20px;
    border: 2px dashed rgba(255, 255, 255, 0.1);
    border-radius: 12px;
}

.addBlock__btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: all 0.2s;
}

.addBlock__btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.addBlock__btn i {
    font-size: 16px;
}

/* ============================================
   Responsive Adjustments
   ============================================ */

@media (max-width: 1024px) {
    .postEditor__tweetGrid {
        grid-template-columns: repeat(2, 1fr);
    }

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

@media (max-width: 768px) {
    .studioPostEditorOverlay {
        padding: 20px;
    }

    .studioPostEditor__body {
        flex-direction: column;
    }

    .studioPostEditor__sidebar {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .postEditor__tweetGrid,
    .postEditor__linkedinGrid {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   Image Picker Modal
   ============================================ */

.imagePicker__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.imagePicker__modal {
    background: var(--menu-color-2);
    border-radius: 12px;
    width: 100%;
    max-width: 800px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.imagePicker__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.2);
    font-weight: 600;
    color: #fff;
}

.imagePicker__close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.6);
    transition: all 0.2s;
}

.imagePicker__close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.imagePicker__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    padding: 20px;
    overflow-y: auto;
}

.imagePicker__item {
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.2s;
    position: relative;
}

.imagePicker__item:hover {
    border-color: var(--jmkr-color-1);
    transform: scale(1.02);
}

.imagePicker__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.imagePicker__itemName {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 8px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    font-size: 11px;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.imagePicker__empty {
    grid-column: span 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    color: rgba(255, 255, 255, 0.4);
    text-align: center;
}

.imagePicker__empty i {
    font-size: 48px;
    margin-bottom: 16px;
}

@media (max-width: 768px) {
    .imagePicker__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .imagePicker__empty {
        grid-column: span 2;
    }
}

/* ============================================
   Post Preview Modal
   ============================================ */

.postPreview__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.85);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.postPreview__modal {
    background: #1a1a1a;
    border-radius: 16px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
}

.postPreview__modal.blog,
.postPreview__modal.newsletter {
    max-width: 800px;
}

.postPreview__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.3);
    font-weight: 600;
    color: #fff;
}

.postPreview__close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.6);
    transition: all 0.2s;
}

.postPreview__close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.postPreview__content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

/* ============================================
   Tweet/X Preview
   ============================================ */

.preview__tweet {
    background: #000;
    border-radius: 12px;
    padding: 16px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.tweet__header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.tweet__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.tweet__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tweet__avatarPlaceholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.tweet__userInfo {
    flex: 1;
    min-width: 0;
}

.tweet__displayName {
    display: block;
    font-weight: 700;
    color: #e7e9ea;
    font-size: 15px;
    line-height: 1.2;
}

.tweet__handle {
    display: block;
    color: #71767b;
    font-size: 15px;
}

.tweet__logo {
    color: #e7e9ea;
}

.tweet__body {
    color: #e7e9ea;
    font-size: 15px;
    line-height: 1.4;
    margin-bottom: 12px;
    white-space: pre-wrap;
    word-wrap: break-word;
}

.tweet__hashtags {
    color: #1d9bf0;
    font-size: 15px;
    margin-bottom: 12px;
}

.tweet__timestamp {
    color: #71767b;
    font-size: 15px;
    padding-bottom: 12px;
    border-bottom: 1px solid #2f3336;
    margin-bottom: 12px;
}

.tweet__actions {
    display: flex;
    justify-content: space-between;
    max-width: 425px;
}

.tweet__action {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #71767b;
    font-size: 13px;
    cursor: pointer;
    transition: color 0.2s;
}

.tweet__action:hover {
    color: #1d9bf0;
}

.tweet__action i {
    font-size: 18px;
}

/* ============================================
   LinkedIn Preview
   ============================================ */

.preview__linkedin {
    background: #1b1f23;
    border-radius: 8px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    overflow: hidden;
}

.linkedin__header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
}

.linkedin__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.linkedin__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.linkedin__avatarPlaceholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #0077b5 0%, #00a0dc 100%);
}

.linkedin__userInfo {
    flex: 1;
    min-width: 0;
}

.linkedin__displayName {
    display: block;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
    line-height: 1.3;
}

.linkedin__headline {
    display: block;
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
    line-height: 1.3;
    margin-top: 2px;
}

.linkedin__meta {
    display: flex;
    align-items: center;
    gap: 4px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 12px;
    margin-top: 4px;
}

.linkedin__meta i {
    font-size: 12px;
}

.linkedin__more {
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
}

.linkedin__postHeadline {
    padding: 0 16px 8px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.95);
    font-size: 14px;
}

.linkedin__body {
    padding: 0 16px 16px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
    line-height: 1.5;
}

.linkedin__hashtags {
    padding: 0 16px 16px;
    color: #70b5f9;
    font-size: 14px;
}

.linkedin__engagement {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.linkedin__reactions {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
}

.linkedin__reactionIcons {
    font-size: 14px;
}

.linkedin__stats {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
}

.linkedin__actions {
    display: flex;
    justify-content: space-around;
    padding: 8px 0;
}

.linkedin__action {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 16px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.2s;
}

.linkedin__action:hover {
    background: rgba(255, 255, 255, 0.08);
}

.linkedin__action i {
    font-size: 20px;
}

/* ============================================
   Blog Preview
   ============================================ */

.preview__blog {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}

.blog__article {
    color: #1a1a1a;
}

.blog__featuredImage {
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.blog__featuredImage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog__header {
    padding: 32px 32px 24px;
}

.blog__title {
    font-size: 32px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 16px;
    color: #1a1a1a;
}

.blog__meta {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 14px;
    color: #666;
}

.blog__author {
    display: flex;
    align-items: center;
    gap: 8px;
}

.blog__authorAvatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

.blog__date,
.blog__readTime {
    color: #888;
}

.blog__content {
    padding: 0 32px 32px;
    font-size: 17px;
    line-height: 1.7;
    color: #333;
}

.blog__content h2 {
    font-size: 24px;
    font-weight: 700;
    margin: 32px 0 16px;
    color: #1a1a1a;
}

.blog__content p {
    margin: 0 0 20px;
}

.blog__content figure {
    margin: 24px 0;
}

.blog__content figure img {
    width: 100%;
    border-radius: 8px;
}

.blog__content figcaption {
    text-align: center;
    font-size: 14px;
    color: #666;
    margin-top: 8px;
    font-style: italic;
}

/* ============================================
   Newsletter Preview
   ============================================ */

.preview__newsletter {
    background: #f5f5f5;
    padding: 24px;
    border-radius: 8px;
}

.newsletter__container {
    background: #fff;
    max-width: 600px;
    margin: 0 auto;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.newsletter__header {
    padding: 24px;
    text-align: center;
    border-bottom: 1px solid #eee;
}

.newsletter__logo {
    max-height: 48px;
    width: auto;
}

.newsletter__brandName {
    font-size: 24px;
    font-weight: 700;
    color: #1a1a1a;
}

.newsletter__hero {
    text-align: center;
}

.newsletter__hero img {
    width: 100%;
    display: block;
}

.newsletter__title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    margin: 24px 24px 0;
    color: #1a1a1a;
}

.newsletter__content {
    padding: 24px;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}

.newsletter__content h2 {
    font-size: 20px;
    font-weight: 700;
    margin: 24px 0 12px;
    color: #1a1a1a;
}

.newsletter__content p {
    margin: 0 0 16px;
}

.newsletter__image {
    margin: 20px 0;
}

.newsletter__image img {
    width: 100%;
    border-radius: 4px;
}

.newsletter__caption {
    font-size: 13px;
    color: #666;
    text-align: center;
    margin-top: 8px;
    font-style: italic;
}

.newsletter__footer {
    padding: 24px;
    text-align: center;
    border-top: 1px solid #eee;
    font-size: 12px;
    color: #888;
}

.newsletter__footer p {
    margin: 0 0 8px;
}

.newsletter__footer a {
    color: #666;
    text-decoration: underline;
}

/* Preview Modal Responsive */
@media (max-width: 768px) {
    .postPreview__overlay {
        padding: 20px;
    }

    .postPreview__modal {
        max-height: 95vh;
    }

    .blog__header {
        padding: 20px;
    }

    .blog__title {
        font-size: 24px;
    }

    .blog__content {
        padding: 0 20px 20px;
        font-size: 15px;
    }

    .newsletter__title {
        font-size: 22px;
        margin: 16px 16px 0;
    }

    .newsletter__content {
        padding: 16px;
    }
}

/* ============================================
   Additional Sidebar Styles (Spec 785)
   ============================================ */

/* Hint text under fields */
.sidebar__hint {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 4px;
    font-style: italic;
}

/* Small textarea variant */
.sidebar__textareaSmall {
    min-height: 60px;
    max-height: 100px;
}

/* Preset applied badge */
.sidebar__presetBadge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: color-mix(in srgb, var(--jmkr-color-1) 20%, transparent);
    border: 1px solid color-mix(in srgb, var(--jmkr-color-1) 40%, transparent);
    border-radius: 8px;
    font-size: 12px;
    color: var(--jmkr-color-1);
    margin-top: 10px;
}

.sidebar__presetBadge i.icon-check-circle {
    color: #22c55e;
}

.sidebar__presetBadge span {
    flex: 1;
}

.sidebar__presetBadge .clearPreset {
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.2s;
}

.sidebar__presetBadge .clearPreset:hover {
    opacity: 1;
    color: #ef4444;
}
.studioImageEditorOverlay {
    z-index: 71;
}

.studioImageEditor {
    background: var(--menu-color-2);
}

/* Header */
.studioImageEditor__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: var(--menu-color-3);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.studioImageEditor__title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 1.1em;
    font-weight: 600;
}

.studioImageEditor__title i {
    color: var(--jmkr-color-1);
}

.studioImageEditor__headerActions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.studioImageEditor__btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--menu-color-2);
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s;
}

.studioImageEditor__btn:hover {
    background: var(--menu-color-1);
}

.studioImageEditor__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 77, 77, 0.2);
    border-radius: 8px;
    color: #ff6b6b;
    cursor: pointer;
    transition: all 0.2s;
    margin-left: 10px;
}

.studioImageEditor__close:hover {
    background: rgba(255, 77, 77, 0.4);
}

/* Body */
.studioImageEditor__body {
    display: flex;
    flex: 1;
    overflow: hidden;
}

/* Toolbar */
.studioImageEditor__toolbar {
    width: 80px;
    background: var(--menu-color-3);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px 10px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.toolbar__section {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.toolbar__label {
    font-size: 0.7em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.toolbar__tools {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.toolbar__tool {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--menu-color-2);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: all 0.2s;
}

.toolbar__tool:hover {
    background: var(--menu-color-1);
    color: #fff;
}

.toolbar__tool.active {
    background: var(--jmkr-color-1);
    color: #fff;
}

.toolbar__colors {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
}

.toolbar__color {
    width: 24px;
    height: 24px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
    box-sizing: border-box;
}

.toolbar__color:hover {
    transform: scale(1.15);
}

.toolbar__color.active {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--jmkr-color-1);
}

.toolbar__sizes {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
}

.toolbar__size {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--menu-color-2);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
}

.toolbar__size:hover {
    background: var(--menu-color-1);
}

.toolbar__size.active {
    background: var(--menu-color-1);
    box-shadow: 0 0 0 2px var(--jmkr-color-1);
}

.toolbar__size span {
    background: #fff;
    border-radius: 50%;
    display: block;
}

/* Canvas Area */
.studioImageEditor__canvasWrap {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: var(--menu-color-1);
    position: relative;
    overflow: hidden;
}

.studioImageEditor__canvasContainer {
    position: relative;
    display: inline-block;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
    border-radius: 4px;
    overflow: hidden;
}

.studioImageEditor__canvasContainer img {
    display: block;
    max-width: 100%;
    max-height: calc(90vh - 220px);
}

.studioImageEditor__canvasContainer canvas {
    position: absolute;
    top: 0;
    left: 0;
    cursor: crosshair;
}

.studioImageEditor__processing {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    z-index: 10;
}

.studioImageEditor__processing p {
    margin-top: 15px;
    font-size: 0.95em;
}

/* AI Panel */
.studioImageEditor__aiPanel {
    width: 300px;
    background: var(--menu-color-3);
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
}

.aiPanel__header {
    display: block;
    padding: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    font-weight: 600;
}

.aiPanel__header i {
    color: var(--jmkr-color-1);
}

.aiPanel__body {
    flex: 1;
    padding: 15px;
    overflow-y: auto;
}

.aiPanel__body textarea {
    width: 100%;
    height: 205px;
    background: var(--menu-color-2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    color: #fff;
    padding: 12px;
    font-size: 0.9em;
    resize: none;
    font-family: inherit;
}

.aiPanel__body textarea:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
    background: var(--menu-color-1);
}

.aiPanel__body textarea::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

.aiPanel__modelSelect {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}

.aiPanel__modelSelect label {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.8em;
    white-space: nowrap;
}

.aiPanel__modelSelect select {
    flex: 1;
    padding: 7px 10px;
    background: var(--menu-color-2);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    color: #fff;
    font-size: 0.85em;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    padding-right: 28px;
}

.aiPanel__modelSelect select:hover {
    border-color: rgba(255, 255, 255, 0.25);
}

.aiPanel__modelSelect select:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

.aiPanel__modelSelect select option {
    background: var(--menu-color-1);
    color: #fff;
    padding: 8px;
}

.aiPanel__modelNote {
    display: block;
    width: 100%;
    font-size: 0.75em;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 6px;
    font-style: italic;
}

/* Reference Images Section */
.aiPanel__references {
    margin-top: 15px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    background: var(--menu-color-2);
    overflow: hidden;
}

.references__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: var(--menu-color-1);
}

.references__header span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.85em;
    font-weight: 500;
}

.references__header i {
    font-size: 14px;
    color: var(--jmkr-color-1);
}

.references__addBtn {
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--jmkr-color-1);
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s;
}

.references__addBtn:hover {
    background: var(--jmkr-color-2);
    transform: scale(1.05);
}

.references__addBtn i {
    font-size: 14px;
    color: #fff;
}

.references__list {
    max-height: 200px;
    overflow-y: auto;
}

.references__list:empty {
    display: none;
}

.references__item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: background 0.2s;
}

.references__item:last-child {
    border-bottom: none;
}

.references__item:hover {
    background: rgba(255, 255, 255, 0.03);
}

.references__item img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.references__itemInfo {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.references__name {
    width: 100%;
    padding: 5px 8px;
    background: var(--menu-color-1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    color: var(--jmkr-color-1);
    font-size: 0.85em;
    font-weight: 600;
}

.references__name:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

.references__name::placeholder {
    color: rgba(255, 255, 255, 0.3);
    font-weight: 400;
}

.references__role {
    width: 100%;
    padding: 5px 8px;
    background: var(--menu-color-1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    color: #fff;
    font-size: 0.8em;
    cursor: pointer;
}

.references__role:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

.references__description {
    width: 100%;
    padding: 5px 8px;
    background: var(--menu-color-1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.75em;
}

.references__description:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

.references__description::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

.references__remove {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 77, 77, 0.15);
    border-radius: 4px;
    color: rgba(255, 100, 100, 0.8);
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.2s;
}

.references__remove:hover {
    background: rgba(255, 77, 77, 0.3);
    color: #ff6b6b;
}

.references__remove i {
    font-size: 12px;
}

.references__hint {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(var(--jmkr-color-1-rgb, 100, 149, 237), 0.1);
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.75em;
}

.references__hint i {
    font-size: 12px;
    color: var(--jmkr-color-1);
    flex-shrink: 0;
}

.references__hint strong {
    color: var(--jmkr-color-1);
}

/* @ Mention Autocomplete */
.aiPanel__mentionDropdown {
    position: absolute;
    background: var(--menu-color-1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
    z-index: 100;
    max-height: 150px;
    overflow-y: auto;
    min-width: 150px;
}

.aiPanel__mentionItem {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    cursor: pointer;
    transition: background 0.15s;
}

.aiPanel__mentionItem:hover,
.aiPanel__mentionItem.active {
    background: var(--menu-color-2);
}

.aiPanel__mentionItem img {
    width: 24px;
    height: 24px;
    object-fit: cover;
    border-radius: 4px;
}

.aiPanel__mentionItem span {
    color: var(--jmkr-color-1);
    font-size: 0.85em;
    font-weight: 500;
}

.aiPanel__presets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.aiPanel__preset {
    padding: 6px 12px;
    background: var(--menu-color-2);
    border-radius: 16px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.8em;
    cursor: pointer;
    transition: all 0.2s;
}

.aiPanel__preset:hover {
    background: var(--menu-color-1);
    color: #fff;
}

.aiPanel__actions {
    padding: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    gap: 8px;
}

.aiPanel__actions .studio-button {
    flex: 1;
    justify-content: center;
}

.aiPanel__actions .studio-button.animateImage {
    background: linear-gradient(135deg, #9b59b6 0%, #8e44ad 100%);
    color: #fff;
}

.aiPanel__actions .studio-button.animateImage:hover {
    background: linear-gradient(135deg, #a569bd 0%, #9b59b6 100%);
    color: #fff;
}

/* Footer */
.studioImageEditor__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: var(--menu-color-3);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.studioImageEditor__versions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.versions__label {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85em;
    flex-shrink: 0;
}

.versions__list {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    flex: 1;
}

.versions__list::-webkit-scrollbar {
    height: 4px;
}

.versions__list::-webkit-scrollbar-track {
    background: var(--menu-color-2);
    border-radius: 2px;
}

.versions__list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
}

.versions__list::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.3);
}

.versions__item {
    width: 50px;
    flex-shrink: 0;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.2s;
    text-align: center;
}

.versions__item:hover {
    opacity: 0.9;
}

.versions__item.active {
    opacity: 1;
}

.versions__item img {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 4px;
    border: 2px solid transparent;
}

.versions__item.active img {
    border-color: var(--jmkr-color-1);
}

.versions__item span {
    display: block;
    font-size: 0.65em;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 3px;
}

.versions__item.pending {
    cursor: default;
    opacity: 0.8;
}

.versions__spinner {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--menu-color-2);
    border-radius: 4px;
    border: 2px dashed rgba(255, 255, 255, 0.2);
}

.versions__spinner .loader:before,
.versions__spinner .loader:after {
    border-color: rgba(255, 255, 255, 0.3) !important;
}

.versions__spinner .loader:after {
    border-top-color: #fff !important;
}

.studioImageEditor__footerActions {
    display: flex;
    gap: 10px;
}

/* Responsive */
@media (max-width: 1024px) {
    .studioImageEditor__aiPanel {
        width: 250px;
    }

    .studioImageEditorOverlay {
        padding: 15px;
    }

    .studioImageEditor {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .studioImageEditorOverlay {
        left: 0;
        width: 100%;
        padding: 0;
    }

    .studioImageEditorOverlay.slimMenu,
    .studioImageEditorOverlay.rightUIOpen,
    .studioImageEditorOverlay.slimMenu.rightUIOpen {
        left: 0;
        width: 100%;
    }

    .studioImageEditor {
        max-height: 100vh;
        height: 100vh;
        border-radius: 0;
        max-width: 100%;
    }

    .studioImageEditor__body {
        flex-direction: column;
    }

    .studioImageEditor__toolbar {
        width: 100%;
        flex-direction: row;
        justify-content: space-around;
        padding: 10px;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .toolbar__section {
        flex-direction: row;
        gap: 8px;
    }

    .toolbar__tools {
        flex-direction: row;
    }

    .toolbar__colors {
        display: flex;
        gap: 4px;
    }

    .toolbar__sizes {
        flex-direction: row;
    }

    .studioImageEditor__aiPanel {
        width: 100%;
        max-height: 200px;
        border-left: none;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .aiPanel__body textarea {
        height: 80px;
    }

    .studioImageEditor__footer {
        flex-direction: column;
        gap: 10px;
    }

    .studioImageEditor__versions {
        width: 100%;
    }
}

/* 4K Upscale Button & Badge */
.versions__item {
    position: relative;
}

.versions__upscale {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 20px;
    height: 20px;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all 0.2s;
    z-index: 2;
}

.versions__upscale i {
    font-size: 12px;
    color: #fff;
}

.versions__item:hover .versions__upscale {
    opacity: 1;
}

.versions__upscale:hover {
    background: var(--jmkr-color-1);
    transform: scale(1.1);
}

.versions__4kBadge {
    position: absolute;
    top: 2px;
    right: 2px;
    background: linear-gradient(135deg, #4CAF50 0%, #2E7D32 100%);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    padding: 2px 5px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 2;
}

/* Resize to Preset button (Spec 956) — follows versions__upscale pattern */
.versions__resizePreset {
    position: absolute;
    top: 2px;
    right: 24px;
    width: 20px;
    height: 20px;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all 0.2s;
    z-index: 2;
}

.versions__resizePreset i {
    font-size: 12px;
    color: #fff;
}

.versions__item:hover .versions__resizePreset {
    opacity: 1;
}

.versions__resizePreset:hover {
    background: #3ddc84;
    transform: scale(1.1);
}

/* Preset dimension badge — follows versions__4kBadge pattern */
.versions__presetBadge {
    position: absolute;
    top: 2px;
    right: 2px;
    background: linear-gradient(135deg, #3ddc84 0%, #00796b 100%);
    color: #fff;
    font-size: 10px;
    padding: 2px 4px;
    border-radius: 3px;
    z-index: 2;
}

.versions__presetBadge i {
    font-size: 10px;
    color: #fff;
}

.versions__item.is4K img {
    border-color: #4CAF50;
}

.versions__item.is4K.active img {
    border-color: #4CAF50;
    box-shadow: 0 0 8px rgba(76, 175, 80, 0.5);
}

/* Video Version Styles */
.versions__item video {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 4px;
    border: 2px solid transparent;
}

.versions__item.active video {
    border-color: var(--jmkr-color-1);
}

.versions__item.isVideo {
    cursor: pointer;
}

.versions__item:hover video {
    /* Play on hover controlled by JS */
}

/* Disable edit/animate buttons and toolbar when viewing video */
.studioImageEditor[data-is-video="true"] .applyAIEdit,
.studioImageEditor[data-is-video="true"] .animateImage {
    opacity: 0.5;
    pointer-events: none;
}

.studioImageEditor[data-is-video="true"] .studioImageEditor__toolbar {
    opacity: 0.3;
    pointer-events: none;
}

.studioImageEditor[data-is-video="true"] .aiPanel__header::before {
    content: "Video mode - select an image version to edit";
    display: block;
    padding: 8px 15px;
    background: rgba(155, 89, 182, 0.2);
    border-radius: 4px;
    font-size: 0.8em;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 10px;
}

.versions__videoBadge {
    position: absolute;
    top: 2px;
    right: 2px;
    background: linear-gradient(135deg, #9b59b6 0%, #8e44ad 100%);
    color: #fff;
    font-size: 10px;
    padding: 3px 4px;
    border-radius: 3px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.versions__videoBadge i {
    font-size: 10px;
}

.versions__item.isVideo video {
    border-color: #9b59b6;
}

.versions__item.isVideo.active video {
    border-color: #9b59b6;
    box-shadow: 0 0 8px rgba(155, 89, 182, 0.5);
}

/* Video Player in Canvas Area */
.studioImageEditor__canvasContainer video#editorVideoPlayer {
    display: block;
    max-width: 100%;
    max-height: calc(90vh - 220px);
    border-radius: 4px;
}

/* Hide canvas tools when viewing video */
.studioImageEditor__canvasContainer:has(video#editorVideoPlayer) + .studioImageEditor__toolbar {
    opacity: 0.5;
    pointer-events: none;
}
.chph {
  /* === PRIMARY ACCENT === */
  --chph-accent: var(--jmkr-color-1, #00ff41);
  --chph-accent-rgb: 0, 255, 65;

  /* === DARK THEME BACKGROUNDS === */
  --chph-bg-base: #0a120a;
  --chph-bg-surface: #0a150a;
  --chph-bg-elevated: #0a150c;
  --chph-bg-overlay: rgba(6, 12, 8, 0.82);
  --chph-bg-sidebar: rgba(8, 18, 8, 0.9);
  --chph-bg-dropdown: #0f1a0f;
  --chph-bg-deep: #061008;

  /* === TEXT COLORS === */
  --chph-text-primary: #f4f4f5;
  --chph-text-secondary: rgba(255, 255, 255, 0.85);
  --chph-text-muted: rgba(255, 255, 255, 0.7);
  --chph-text-faint: rgba(255, 255, 255, 0.5);
  --chph-text-inverse: #050814;
  --chph-text-tinted: rgba(240, 255, 245, 0.9);

  /* === BORDER COLORS === */
  --chph-border-subtle: rgba(255, 255, 255, 0.05);
  --chph-border-default: rgba(255, 255, 255, 0.08);
  --chph-border-strong: rgba(255, 255, 255, 0.16);
  --chph-border-accent: rgba(0, 255, 65, 0.08);

  /* === SHADOW COLORS === */
  --chph-shadow-color: rgba(8, 18, 10, 0.3);
  --chph-shadow-strong: rgba(8, 20, 12, 0.35);

  /* === SEMANTIC: SUCCESS === */
  --chph-success: #22c55e;
  --chph-success-text: #8cd4a8;
  --chph-success-muted: #2d8a4e;
  --chph-success-bg: rgba(140, 212, 168, 0.1);

  /* === SEMANTIC: WARNING === */
  --chph-warning: #f59e0b;
  --chph-warning-text: #ffae42;
  --chph-warning-muted: #b8860b;
  --chph-warning-bg: rgba(255, 174, 66, 0.1);

  /* === SEMANTIC: ERROR === */
  --chph-error: #ef4444;
  --chph-error-text: #f87171;
  --chph-error-muted: #c53030;
  --chph-error-bg: rgba(197, 48, 48, 0.1);

  /* === SEMANTIC: INFO === */
  --chph-info: #3182ce;
  --chph-info-text: #7edce2;
  --chph-info-bg: rgba(49, 130, 206, 0.15);

  /* === SEMANTIC: PURPLE (phases, spawns) === */
  --chph-purple: #6e48aa;
  --chph-purple-light: #9d50bb;
  --chph-purple-text: #a78bfa;
  --chph-purple-muted: #c4b5fd;

  /* === SEMANTIC: NEUTRAL === */
  --chph-neutral: #6b7280;
  --chph-neutral-text: #9ca3af;

  /* === LOG TYPE COLORS === */
  --chph-log-assistant: #7edce2;
  --chph-log-interim: #ffc863;
  --chph-log-reasoning: #ffc863;
  --chph-log-tool-use: #4ade80;
  --chph-log-tool-result: #6ee7b3;
  --chph-log-spawn: #a78bfa;
  --chph-log-phase: #a78bfa;
  --chph-log-compaction: #9ca3af;
  --chph-log-session-start: #60a5fa;

  --chph-log-error: #ff9580;
  --chph-log-hook: #fbbf24;
  --chph-log-generic: #e5ebff;

  /* === LIGHT THEME (modals, popups) === */
  --chph-light-bg: #f5f5f7;
  --chph-light-bg-alt: #f8f9fa;
  --chph-light-bg-hover: #e8e8ec;
  --chph-light-border: #e0e0e0;
  --chph-light-text: #050814;
}

/* === COLOR PROFILE: OCEAN (Blue) === */
.chph[data-color-profile="ocean"] {
  --chph-accent: #5cb3ff;
  --chph-accent-rgb: 92, 179, 255;

  --chph-bg-base: #0a1220;
  --chph-bg-surface: #0f1628;
  --chph-bg-elevated: #141c30;
  --chph-bg-overlay: rgba(10, 18, 32, 0.82);
  --chph-bg-sidebar: rgba(15, 22, 40, 0.9);
  --chph-bg-dropdown: #1a2438;
  --chph-bg-deep: #060c18;

  --chph-text-tinted: rgba(240, 245, 255, 0.9);

  --chph-border-accent: rgba(92, 179, 255, 0.08);

  --chph-shadow-color: rgba(10, 18, 32, 0.3);
  --chph-shadow-strong: rgba(8, 16, 28, 0.35);
}

/* === COLOR PROFILE: AMBER (Orange/Gold) === */
.chph[data-color-profile="amber"] {
  --chph-accent: #f59e0b;
  --chph-accent-rgb: 245, 158, 11;

  --chph-bg-base: #12100a;
  --chph-bg-surface: #1a160e;
  --chph-bg-elevated: #201c14;
  --chph-bg-overlay: rgba(18, 16, 10, 0.82);
  --chph-bg-sidebar: rgba(26, 22, 14, 0.9);
  --chph-bg-dropdown: #252016;
  --chph-bg-deep: #0c0a06;

  --chph-text-tinted: rgba(255, 250, 240, 0.9);

  --chph-border-accent: rgba(245, 158, 11, 0.08);

  --chph-shadow-color: rgba(18, 14, 8, 0.3);
  --chph-shadow-strong: rgba(20, 16, 10, 0.35);
}

/* === COLOR PROFILE: CRIMSON (Red) === */
.chph[data-color-profile="crimson"] {
  --chph-accent: #ef4444;
  --chph-accent-rgb: 239, 68, 68;

  --chph-bg-base: #120a0a;
  --chph-bg-surface: #1a0f0f;
  --chph-bg-elevated: #201414;
  --chph-bg-overlay: rgba(18, 10, 10, 0.82);
  --chph-bg-sidebar: rgba(26, 15, 15, 0.9);
  --chph-bg-dropdown: #251818;
  --chph-bg-deep: #0c0606;

  --chph-text-tinted: rgba(255, 245, 245, 0.9);

  --chph-border-accent: rgba(239, 68, 68, 0.08);

  --chph-shadow-color: rgba(18, 10, 10, 0.3);
  --chph-shadow-strong: rgba(20, 12, 12, 0.35);
}

/* === COLOR PROFILE: VIOLET (Purple) === */
.chph[data-color-profile="violet"] {
  --chph-accent: #a78bfa;
  --chph-accent-rgb: 167, 139, 250;

  --chph-bg-base: #0e0a14;
  --chph-bg-surface: #14101c;
  --chph-bg-elevated: #1a1424;
  --chph-bg-overlay: rgba(14, 10, 20, 0.82);
  --chph-bg-sidebar: rgba(20, 16, 28, 0.9);
  --chph-bg-dropdown: #1e182a;
  --chph-bg-deep: #08060c;

  --chph-text-tinted: rgba(248, 245, 255, 0.9);

  --chph-border-accent: rgba(167, 139, 250, 0.08);

  --chph-shadow-color: rgba(14, 10, 20, 0.3);
  --chph-shadow-strong: rgba(16, 12, 22, 0.35);
}

.chph {
  display: grid;
  grid-template-columns: 310px 1fr;
  gap: 0;
  height: calc(100vh - (var(--line-height, 20px) * 2));
  color: var(--chph-text-primary);
  background-color: var(--chph-bg-base);
}

.chph.is-sidebar-collapsed {
  grid-template-columns: 55px 1fr;
}

.chph__sidebar {
  background: var(--chph-bg-sidebar);
  border: 1px solid var(--chph-border-accent);
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
  min-height: 0;
}

.chph__sidebarBody {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding: 0 1em;
  padding-right: calc(1em - 4px);
}

.chph__sidebarHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: relative;
  padding: 1em 1em 0;
}

.chph__sidebarClose {
  display: none;
  position: absolute;
  top: -8px;
  left: -8px;
  border: none;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.75);
  width: 34px;
  height: 34px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 140ms ease, color 140ms ease, box-shadow 140ms ease;
  box-shadow: 0 10px 24px var(--chph-shadow-color);
}

.chph__sidebarClose:hover,
.chph__sidebarClose:focus {
  background: rgba(var(--chph-accent-rgb), 0.3);
  color: #ffffff;
}

.chph__sidebarActions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.chph__sidebarToggle {
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.02);
  padding: 0;
  transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
}

.chph__sidebarToggle:hover,
.chph__sidebarToggle:focus {
  background: rgba(var(--chph-accent-rgb), 0.22);
  border-color: rgba(var(--chph-accent-rgb), 0.68);
  color: #ffffff;
}

.chph.is-sidebar-collapsed .chph__sidebar {
  align-items: center;
}

.chph.is-sidebar-collapsed .chph__title,
.chph.is-sidebar-collapsed .chph__sidebarBody,
.chph.is-sidebar-collapsed .chph__sidebarTabs {
  display: none;
}

.chph.is-sidebar-collapsed .chph__sidebarActions {
  justify-content: center;
}

.chph.is-sidebar-collapsed .chph__sidebarActions> :not(.chph__sidebarToggle) {
  display: none;
}

.chph.is-sidebar-collapsed .chph__sidebarToggle {
  border-color: rgba(255, 255, 255, 0.32);
}


.chph__title {
  font-size: 20px;
  margin: 0;
}

/* ─── Spec 1006: Pinned Prime Radiant objective ─────────────────── */
.chph__pinnedRadiant {
  margin: 0 0 8px 0;
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: 8px;
  background: rgba(245, 158, 11, 0.06);
  transition: border-color 180ms ease, background 180ms ease;
}
.chph__pinnedRadiant:hover {
  border-color: rgba(245, 158, 11, 0.45);
  background: rgba(245, 158, 11, 0.10);
}
.chph__pinnedRadiant.is-active {
  border-color: rgba(245, 158, 11, 0.6);
  background: rgba(245, 158, 11, 0.14);
}
.chph__pinnedRadiantButton {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
}
.chph__pinnedRadiantIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(245, 158, 11, 0.18);
  color: rgb(245, 178, 50);
  flex-shrink: 0;
}
.chph__pinnedRadiantIcon i {
  width: 16px;
  height: 16px;
}
.chph__pinnedRadiantLabel {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}
.chph__pinnedRadiantTitle {
  font-size: 13px;
  font-weight: 600;
  color: rgb(245, 178, 50);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.chph__pinnedRadiantMeta {
  font-size: 11px;
  opacity: 0.55;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.chph__pinnedRadiantStatus {
  flex-shrink: 0;
  color: rgba(245, 158, 11, 0.7);
}
.chph__pinnedRadiantStatus i {
  width: 14px;
  height: 14px;
}

/* ─── Radiant children: sub-agents beneath pinned Prime Radiant ─── */
.chph__radiantChildList {
  list-style: none;
  margin: 0;
  padding: 2px 8px 6px 8px;
  border-top: 1px solid rgba(245, 158, 11, 0.12);
}

.chph__radiantChildItem {
  padding: 1px 0;
}

.chph__radiantChildButton {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 4px 6px;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  border-radius: 4px;
  transition: background 0.15s;
}

.chph__radiantChildButton:hover {
  background: rgba(245, 158, 11, 0.08);
}

.chph__radiantChildStatusIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  color: rgba(245, 158, 11, 0.4);
}

.chph__radiantChildStatusIcon i {
  width: 12px;
  height: 12px;
}

.chph__radiantChildStatusIcon--active {
  color: rgba(245, 178, 50, 0.85);
}

.chph__radiantChildLabel {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  flex: 1;
}

.chph__radiantChildRole {
  display: inline-flex;
  align-items: center;
  padding: 1px 4px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: 3px;
  font-size: 0.6rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: rgba(245, 178, 50, 0.9);
  flex-shrink: 0;
}

.chph__radiantChildTitle {
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0.8;
}

.chph__radiantChildMeta {
  font-size: 10px;
  opacity: 0.4;
  white-space: nowrap;
  flex-shrink: 0;
}

.chph__radiantChildMore {
  padding: 1px 0;
}

.chph__radiantChildMoreBtn {
  background: none;
  border: none;
  color: rgba(245, 158, 11, 0.7);
  font-size: 0.7rem;
  cursor: pointer;
  padding: 3px 6px;
  border-radius: 3px;
  transition: background 0.15s, color 0.15s;
}

.chph__radiantChildMoreBtn:hover {
  background: rgba(245, 158, 11, 0.1);
  color: rgba(245, 178, 50, 1);
}

.chph__requestList {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.chph__requestItem {
  overflow: visible;
  min-width: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: 6px;
}

.chph__appear {
  opacity: 0;
  transform: translateY(12px);
  animation: chphCardAppear 220ms ease-out forwards;
}

.chph__requestItem.is-active {
  border-bottom-color: rgba(var(--chph-accent-rgb), 0.35);
  background: rgba(var(--chph-accent-rgb), 0.08);
  border-radius: 8px;
  margin: 0 -8px;
  padding: 4px 8px 6px 8px;
  border-left: 3px solid rgba(var(--chph-accent-rgb), 0.7);
}

.chph__requestItem.is-archived {
  border-bottom-style: dashed;
}

.chph__requestItem.is-archived .chph__requestButton {
  opacity: 0.65;
}

.chph__projectItem.is-archived .chph__projectButton {
  opacity: 0.65;
}

.chph__requestCard {
  position: relative;
}

.chph__requestRow {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  position: relative;
}

.chph__requestActions {
  position: absolute;
  top: 4px;
  right: 4px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--chph-bg-overlay);
  border-radius: 5px;
  padding: 4px;
  box-shadow: 0 8px 18px var(--chph-shadow-strong);
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease, transform 140ms ease;
  transform: translateY(-6px);
  z-index: 2;
}

.chph__requestActions .chph__action {
  flex-shrink: 0;
}



.chph__requestActionButton {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  font-size: 11px;
  white-space: nowrap;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.08);
}

.chph__requestActionButton i.icon {
  margin: 0;
}

.chph__requestItem:hover>.chph__requestCard .chph__requestActions {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.chph__requestItem--nested .chph__requestRow {
  gap: 6px;
}

.chph__requestItem--nested .chph__requestButton {
  padding-left: 12px;
}

.chph__projectRow {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  position: relative;
}

.chph__projectButton {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
  padding: 10px 12px 10px 0;
  background: transparent;
  border: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: inherit;
  transition: color 160ms ease;
}

.chph__projectButton:hover,
.chph__projectButton:focus {
  color: #ffffff;
}

.chph__projectActions {
  position: absolute;
  top: 4px;
  right: 4px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--chph-bg-overlay);
  border-radius: 5px;
  padding: 4px;
  box-shadow: 0 8px 18px var(--chph-shadow-strong);
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease, transform 140ms ease;
  transform: translateY(-6px);
  z-index: 2;
}

.chph__projectAction {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  font-size: 11px;
  white-space: nowrap;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.08);
}

.chph__projectActions .chph__action {
  flex-shrink: 0;
}

.chph__projectAction[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.chph__projectAction i.icon {
  margin: 0;
}

.chph__projectActions:empty {
  display: none;
}

.chph__projectRow:hover .chph__projectActions,
.chph__projectRow:focus-within .chph__projectActions {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.chph__projectMore {
  margin: 6px 0 0;
  padding: 4px 12px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.8);
  font-size: 12px;
  border-radius: 14px;
  cursor: pointer;
  transition: color 140ms ease, border-color 140ms ease, background 140ms ease;
}

.chph__projectMore:hover,
.chph__projectMore:focus {
  color: #ffffff;
  border-color: rgba(var(--chph-accent-rgb), 0.6);
  background: rgba(var(--chph-accent-rgb), 0.16);
}

.chph__projectItem.is-expanded .chph__projectButton {
  color: #f4e8ff;
  text-shadow: 0 0 18px rgba(var(--chph-accent-rgb), 0.35);
  background: rgba(var(--chph-accent-rgb), 0.12);
  border-radius: 8px;
  padding-left: 16px;
  padding-right: 12px;
}

.chph__projectHeading {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.chph__projectLabel {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  flex-wrap: wrap;
  min-width: 0;
}

.chph__projectIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: rgba(255, 255, 255, 0.85);
  transition: transform 160ms ease;
}

.chph__projectIcon--alert {
  color: #ffae42;
  text-shadow: 0 0 12px rgba(255, 174, 66, 0.6);
}

.chph__projectName {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

.chph__projectMeta {
  font-size: 10px;
  opacity: 0.7;
  word-break: break-word;
  overflow-wrap: break-word;
}

.chph__projectList {
  list-style: none;
  margin: 8px 0 0 0;
  padding: 0 0 0 18px;
  display: grid;
  gap: 8px;
}

.chph__projectEmpty {
  font-size: 12px;
  opacity: 0.7;
  padding: 4px 0 0 2px;
}

/* ─────────────────────────────────────────────────────────
   Spec 1046: Family rows inside project expansion
   Pattern: chph__projectRow for expand/collapse structure
   ───────────────────────────────────────────────────────── */
.chph__familyItem {
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
  overflow: hidden;
}

.chph__familyRow {
  display: flex;
  align-items: flex-start;
}

.chph__familyButton {
  display: flex;
  flex: 1;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  padding: 6px 8px;
  border-radius: 6px;
  transition: background 0.15s ease;
  min-width: 0;
}

.chph__familyButton:hover {
  background: var(--chph-bg-hover, rgba(0, 0, 0, 0.04));
}

.chph__familyHeading {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.chph__familyLabel {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--chph-text-primary, #1a1a2e);
  line-height: 1.3;
}

.chph__familyIcon {
  font-size: 13px;
  opacity: 0.7;
  flex-shrink: 0;
}

/* Spec 1067: Drag-and-drop reordering of family rows */
.chph__familyDragHandle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  flex-shrink: 0;
  cursor: grab;
  opacity: 0;
  transition: opacity 0.15s ease;
  color: var(--chph-text-secondary, #6b7280);
  font-size: 12px;
  padding: 6px 0;
}

.chph__familyItem:hover .chph__familyDragHandle {
  opacity: 0.6;
}

.chph__familyDragHandle:hover {
  opacity: 1 !important;
}

/* Spec 1067: SortableJS drag-and-drop classes
   Pattern: planner.css:84-89 (sortable-ghost styles) */
.chph__familyItem.sortable-ghost {
  opacity: 0.4;
  background-color: rgba(99, 102, 241, 0.08);
  outline: 1px dotted var(--chph-accent, #6366f1);
}

.chph__familyItem.sortable-chosen {
  opacity: 0.9;
}

.chph__familyItem.is-expanded .chph__familyIcon {
  opacity: 1;
  color: var(--chph-accent, #6366f1);
}

/* Activity indicator: glow when any family member has turnActive === true
   Pattern: chph__projectIcon--alert (line 715) — amber text-shadow glow */
.chph__familyItem--active .chph__familyIcon {
  opacity: 1;
  color: #ffae42;
  text-shadow: 0 0 10px rgba(255, 174, 66, 0.5);
  animation: chphFamilyGlow 2s ease-in-out infinite;
}

@keyframes chphFamilyGlow {
  0%, 100% { text-shadow: 0 0 10px rgba(255, 174, 66, 0.5); }
  50% { text-shadow: 0 0 16px rgba(255, 174, 66, 0.8); }
}

@media (prefers-reduced-motion: reduce) {
  .chph__familyItem--active .chph__familyIcon {
    animation: none;
  }
}

.chph__familyName {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chph__familyBadge {
  display: inline-flex;
  align-items: center;
  border-radius: 3px;
  font-size: 10px;
  line-height: 1;
  vertical-align: middle;
  flex-shrink: 0;
}

.chph__familyBadge--private {
  background: rgba(255, 174, 66, 0.18);
  color: #d4a24c;
  padding: 2px 4px;
  margin-left: 4px;
}

.chph__familyBadge--private .lucide-icon {
  width: 11px;
  height: 11px;
}

.chph__familyMeta {
  font-size: 11px;
  color: var(--chph-text-secondary, #666);
  opacity: 0.8;
  padding-left: 19px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chph__familyMemberList {
  list-style: none;
  margin: 4px 0 0 0;
  padding: 0 0 0 10px;
  display: grid;
  gap: 4px;
  border-left: 2px solid var(--chph-border-subtle, rgba(99, 102, 241, 0.15));
  margin-left: 14px;
  min-width: 0;
  overflow: hidden;
}

/* Family member objective rows */
.chph__requestItem--familyMember {
  border-bottom: none;
  min-width: 0;
  overflow: hidden;
}

.chph__requestItem--familyMember .chph__requestButton {
  padding-left: 8px;
  min-width: 0;
  overflow: hidden;
}

.chph__requestItem--familyMember .chph__requestTitle {
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  min-width: 0;
}

/* Representative badge and star styling */
.chph__requestItem--familyRep {
  position: relative;
}

.chph__familyRoleBadge {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 500;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--chph-badge-bg, rgba(99, 102, 241, 0.08));
  color: var(--chph-badge-text, #6366f1);
  margin-left: 4px;
  vertical-align: middle;
  white-space: nowrap;
}

.chph__familyRoleBadge--rep {
  background: rgba(234, 179, 8, 0.12);
  color: #b45309;
  font-weight: 600;
}

/* Spec 1240 W3: Human name as primary identifier on family member thumbnails */
/* Renders above the objective title so the name is visually dominant */
.chph__familyHumanName {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--chph-text-primary, #1a1a2e);
  margin-bottom: 1px;
  letter-spacing: 0.01em;
}

/* Spec 1069 Phase 6.5: Prompt health indicator dot per family member */
/* Pattern source: chph__accountUsage__indicator at chphAccountUsage.css:70-88 */
.chph__promptHealth {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-left: 4px;
  vertical-align: middle;
  flex-shrink: 0;
}

.chph__promptHealth--green {
  background: #22c55e;
  box-shadow: 0 0 3px rgba(34, 197, 94, 0.4);
}

.chph__promptHealth--amber {
  background: #f59e0b;
  box-shadow: 0 0 3px rgba(245, 158, 11, 0.4);
}

.chph__promptHealth--red {
  background: #e56060;
  box-shadow: 0 0 3px rgba(229, 96, 96, 0.4);
}

/* Spec 1046: Family load-more button (show inactive members) */
/* Pattern source: chph__radiantChildMore at christophoros.css:457-475 */
.chph__familyLoadMore {
  padding: 1px 0;
  list-style: none;
}

.chph__familyLoadMoreBtn {
  background: none;
  border: none;
  color: rgba(99, 102, 241, 0.7);
  font-size: 0.7rem;
  cursor: pointer;
  padding: 3px 8px;
  border-radius: 3px;
  transition: background 0.15s, color 0.15s;
}

.chph__familyLoadMoreBtn:hover {
  background: rgba(99, 102, 241, 0.1);
  color: rgba(99, 102, 241, 1);
}

/* Spec 829: Org-linked badge */
.chph__orgLinkedBadge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 11px;
  color: #8cd4a8;
  padding: 1px 5px;
  border-radius: 4px;
  background: rgba(140, 212, 168, 0.1);
}

.chph__orgLinkedBadge i {
  font-size: 10px;
}

/* Settings modal */
.chph__settingsContainer {
  text-align: left;
}

.chph__settingsModal {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.chph__settingsTabs {
  display: flex;
  gap: 4px;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 0;
}

.chph__settingsTab {
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
  color: #666;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.chph__settingsTab:hover {
  color: #333;
  background: #f5f5f7;
}

.chph__settingsTab--active {
  color: #6e48aa;
  border-bottom-color: #6e48aa;
}

.chph__settingsContent {
  min-height: 280px;
}

.chph__settingsPane {
  display: none;
}

.chph__settingsPane--active {
  display: block;
}

.chph__settingsGroup {
  margin-bottom: 20px;
}

.chph__settingsLabel {
  display: block;
  font-weight: 600;
  font-size: 13px;
  color: #333;
  margin-bottom: 8px;
}

.chph__settingsInputRow {
  display: flex;
  align-items: center;
  gap: 8px;
}

.chph__settingsInput {
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
  width: 100%;
  max-width: 200px;
}

.chph__settingsInput:focus {
  outline: none;
  border-color: #6e48aa;
  box-shadow: 0 0 0 2px rgba(110, 72, 170, 0.1);
}

.chph__settingsInput--small {
  width: 80px;
  max-width: 80px;
  text-align: center;
}

.chph__settingsRow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.chph__settingsLabel {
  font-size: 14px;
  color: #444;
  min-width: 120px;
}

.chph__settingsInputGroup {
  display: flex;
  align-items: center;
  gap: 8px;
}

.chph__settingsUnit {
  font-size: 13px;
  color: #666;
}

.chph__settingsHint {
  font-size: 12px;
  color: #888;
  margin-top: 6px;
  line-height: 1.4;
}

.chph__settingsCheckGroup {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.chph__settingsCheckGroup label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #444;
  cursor: pointer;
}

.chph__settingsCheckRow {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  background: #f8f9fa;
  border-radius: 8px;
  cursor: pointer;
}

.chph__settingsCheckRow:hover {
  background: #f0f4f8;
}

.chph__settingsCheckRow input[type="checkbox"] {
  margin-top: 2px;
  width: 18px;
  height: 18px;
}

.chph__settingsCheckRow strong {
  display: block;
  font-size: 14px;
  color: #333;
  margin-bottom: 2px;
}

.chph__settingsScheduleList,
.chph__settingsOrdersList {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}

.chph__settingsScheduleRow {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
}

.chph__settingsScheduleRow input[type="checkbox"] {
  width: 16px;
  height: 16px;
}

.chph__settingsScheduleRow input[type="time"],
.chph__settingsScheduleRow input[type="text"] {
  padding: 6px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 13px;
}

.chph__settingsScheduleRow input[type="time"] {
  width: 100px;
}

.chph__settingsScheduleRow input[type="text"] {
  flex: 1;
  min-width: 80px;
}

.chph__settingsOrderRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  font-size: 13px;
}

.chph__settingsRemoveBtn {
  padding: 4px 8px;
  border: none;
  background: transparent;
  color: #c53030;
  cursor: pointer;
  border-radius: 4px;
}

.chph__settingsRemoveBtn:hover {
  background: #fee2e2;
}

.chph__settingsAddBtn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border: 1px dashed #ccc;
  background: transparent;
  color: #666;
  font-size: 13px;
  border-radius: 6px;
  cursor: pointer;
}

.chph__settingsAddBtn:hover {
  border-color: #6e48aa;
  color: #6e48aa;
  background: rgba(110, 72, 170, 0.05);
}

.chph__settingsAddOrderRow {
  display: flex;
  gap: 8px;
}

.chph__settingsAddOrderRow .chph__settingsInput {
  flex: 1;
  max-width: none;
}

.chph__settingsEmpty {
  color: #888;
  font-size: 13px;
  padding: 12px;
  text-align: center;
  background: #f8f9fa;
  border-radius: 6px;
}

/* Spec 829: Approval countdown progress bar */
.chph__approvalCountdown {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 12px;
  color: #666;
}

.chph__approvalCountdownBar {
  flex: 1;
  height: 6px;
  background: #e0e0e0;
  border-radius: 3px;
  overflow: hidden;
  max-width: 120px;
}

.chph__approvalCountdownFill {
  height: 100%;
  background: linear-gradient(90deg, #6e48aa, #9d50bb);
  border-radius: 3px;
  transition: width 1s linear;
}

.chph__approvalCountdownFill--urgent {
  background: linear-gradient(90deg, #c53030, #f56565);
}

.chph__approvalCountdownText {
  min-width: 50px;
}

/* Spec 829: EXPLICIT badge for manual approval */
.chph__approvalExplicitBadge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  background: #fef3c7;
  color: #92400e;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 4px;
  margin-left: 8px;
}

.chph__approvalExplicitBadge i {
  font-size: 12px;
}

/* Spin animation for loading states */
@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.spin {
  animation: spin 1s linear infinite;
}


.chph__requestButton {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
  padding: 10px 12px 10px 0;
  background: transparent;
  border: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: inherit;
  transition: color 160ms ease;
  overflow: hidden;
  white-space: normal;
}

.chph__requestButton:hover,
.chph__requestButton:focus {
  color: #ffffff;
}

.chph__requestItem.is-active .chph__requestButton {
  color: #f4e8ff;
  text-shadow: 0 0 18px rgba(var(--chph-accent-rgb), 0.35);
  background: rgba(var(--chph-accent-rgb), 0.12);
  border-radius: 8px;
  padding-left: 16px;
  padding-right: 12px;
}

.chph__requestTitle {
  display: block;
  font-weight: 600;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
}

.chph__requestTitle .chph__statusIcon {
  vertical-align: middle;
  margin-right: 6px;
}

.chph__requestTitle .chph__requestBadge {
  margin-left: 6px;
  vertical-align: middle;
}

.chph__requestItem--nested {
  border-bottom: none;
  padding-bottom: 4px;
}

.chph__requestItem--nested .chph__requestRow {
  gap: 6px;
}

.chph__requestItem--nested .chph__requestButton {
  padding-left: 12px;
}

/* ─────────────────────────────────────────────────────────────────
   Spec 963: Child objective hierarchy (Squad dispatch via CHPH)
   ───────────────────────────────────────────────────────────────── */
.chph__childObjectiveList {
  list-style: none;
  margin: 4px 0 0 0;
  padding: 0 0 0 8px;
  border-left: 2px solid rgba(60, 210, 125, 0.3);
}

.chph__requestItem--child {
  border-bottom: none;
  padding-bottom: 2px;
}

.chph__requestItem--child .chph__requestCard {
  background: rgba(60, 210, 125, 0.04);
  border-radius: 6px;
  padding: 4px;
}

.chph__requestItem--child .chph__requestButton {
  padding: 6px 8px;
  font-size: 0.85em;
}

.chph__requestItem--child .chph__requestTitle .chph__statusIcon {
  margin-right: 4px;
}

.chph__requestItem--child .chph__requestMeta {
  font-size: 0.7rem;
  opacity: 0.7;
}

.chph__requestActions--child {
  padding: 0 4px;
}

.chph__requestActions--child .chph__requestActionButton {
  width: 22px;
  height: 22px;
  font-size: 0.75rem;
}

.chph__childObjectiveMore {
  padding: 2px 0;
}

.chph__childObjectiveMoreBtn {
  background: none;
  border: none;
  color: rgba(60, 210, 125, 0.8);
  font-size: 0.75rem;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background 0.15s, color 0.15s;
}

.chph__childObjectiveMoreBtn:hover {
  background: rgba(60, 210, 125, 0.1);
  color: rgba(60, 210, 125, 1);
}

.chph__squadRoleBadge {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  background: linear-gradient(135deg, rgba(60, 210, 125, 0.15), rgba(58, 173, 229, 0.15));
  border: 1px solid rgba(60, 210, 125, 0.3);
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(60, 210, 125, 0.9);
  margin-right: 4px;
}

/* VSM objective annotation badges — sit above title as a framing label */
.chph__vsmBadge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 0.55rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
  white-space: nowrap;
  line-height: 1.4;
}

/* Core Mind — purple/violet (the brain center) */
.chph__vsmBadge--core {
  background: linear-gradient(135deg, rgba(147, 51, 234, 0.18), rgba(168, 85, 247, 0.12));
  border: 1px solid rgba(147, 51, 234, 0.35);
  color: rgba(168, 85, 247, 0.95);
}

/* Relationship — warm amber (human connection) */
.chph__vsmBadge--relationship {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.18), rgba(251, 191, 36, 0.12));
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: rgba(245, 158, 11, 0.95);
}

/* Task — blue/cyan (execution) */
.chph__vsmBadge--task {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.18), rgba(96, 165, 250, 0.12));
  border: 1px solid rgba(59, 130, 246, 0.35);
  color: rgba(96, 165, 250, 0.95);
}

/* Generic VSM fallback — neutral */
.chph__vsmBadge--generic {
  background: rgba(148, 163, 184, 0.15);
  border: 1px solid rgba(148, 163, 184, 0.3);
  color: rgba(148, 163, 184, 0.9);
}

.chph__childCountBadge {
  display: inline-flex;
  align-items: center;
  padding: 1px 5px;
  background: rgba(58, 173, 229, 0.12);
  border-radius: 8px;
  font-size: 0.7rem;
  font-weight: 500;
  color: rgba(58, 173, 229, 0.9);
  margin-left: 4px;
}

/* Spec 963: Child status aggregation badge */
.chph__childStatusBadge {
  display: inline-flex;
  align-items: center;
  padding: 1px 5px;
  border-radius: 8px;
  font-size: 0.65rem;
  font-weight: 500;
  margin-left: 4px;
  text-transform: lowercase;
}

.chph__childStatusBadge--running {
  background: rgba(255, 193, 7, 0.15);
  color: rgba(255, 193, 7, 0.95);
  animation: chph-pulse-running 1.5s ease-in-out infinite;
}

.chph__childStatusBadge--pending {
  background: rgba(158, 158, 158, 0.15);
  color: rgba(158, 158, 158, 0.9);
}

.chph__childStatusBadge--done {
  background: rgba(60, 210, 125, 0.12);
  color: rgba(60, 210, 125, 0.9);
}

.chph__childStatusBadge--partial {
  background: rgba(58, 173, 229, 0.12);
  color: rgba(58, 173, 229, 0.9);
}

@keyframes chph-pulse-running {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

.chph__statusIcon {
  position: relative;
  display: inline-flex;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.chph__statusIcon--spinner::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid rgba(60, 210, 125, 0.35);
  border-top-color: rgba(60, 210, 125, 0.95);
  animation: chphRequestSpinner 0.8s linear infinite;
}

.chph__personaIndicator {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  position: relative;
}

.chph__statusIcon--awaiting {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.chph__statusIcon--halted {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.chph__personaIndicator::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.chph__personaIndicator--human.chph__statusIcon--spinner::after {
  border-color: rgba(141, 209, 255, 0.35);
  border-top-color: rgba(141, 209, 255, 0.95);
}

.chph__personaIndicator--cofounder.chph__statusIcon--spinner::after {
  border-color: rgba(var(--chph-accent-rgb), 0.45);
  border-top-color: rgba(var(--chph-accent-rgb), 1);
}

.chph__personaIndicator--impact_researcher.chph__statusIcon--spinner::after {
  border-color: rgba(244, 199, 111, 0.35);
  border-top-color: rgba(244, 199, 111, 0.95);
}

.chph__personaIndicator--coder.chph__statusIcon--spinner::after {
  border-color: rgba(78, 201, 176, 0.35);
  border-top-color: rgba(78, 201, 176, 0.95);
}

.chph__personaIndicator--designer.chph__statusIcon--spinner::after {
  border-color: rgba(247, 121, 199, 0.35);
  border-top-color: rgba(247, 121, 199, 0.95);
}

.chph__personaIndicator--taste_validator.chph__statusIcon--spinner::after {
  border-color: rgba(255, 168, 161, 0.35);
  border-top-color: rgba(255, 168, 161, 0.95);
}

.chph__personaIndicator--reviewer.chph__statusIcon--spinner::after {
  border-color: rgba(125, 211, 108, 0.35);
  border-top-color: rgba(125, 211, 108, 0.95);
}

.chph__personaIndicator--system.chph__statusIcon--spinner::after {
  border-color: rgba(93, 208, 248, 0.35);
  border-top-color: rgba(93, 208, 248, 0.95);
}

.chph__personaIndicator--direct.chph__statusIcon--spinner::after {
  border-color: rgba(100, 200, 150, 0.35);
  border-top-color: rgba(100, 200, 150, 0.95);
}

.chph__personaIndicator--human:not(.chph__statusIcon--spinner)::after {
  background: rgba(141, 209, 255, 0.95);
  box-shadow: 0 0 6px rgba(141, 209, 255, 0.55);
}

.chph__personaIndicator--cofounder:not(.chph__statusIcon--spinner)::after {
  background: rgba(var(--chph-accent-rgb), 0.95);
  box-shadow: 0 0 6px rgba(var(--chph-accent-rgb), 0.55);
}

.chph__personaIndicator--impact_researcher:not(.chph__statusIcon--spinner)::after {
  background: rgba(244, 199, 111, 0.95);
  box-shadow: 0 0 6px rgba(244, 199, 111, 0.55);
}

.chph__personaIndicator--coder:not(.chph__statusIcon--spinner)::after {
  background: rgba(78, 201, 176, 0.95);
  box-shadow: 0 0 6px rgba(78, 201, 176, 0.55);
}

.chph__personaIndicator--designer:not(.chph__statusIcon--spinner)::after {
  background: rgba(247, 121, 199, 0.95);
  box-shadow: 0 0 6px rgba(247, 121, 199, 0.55);
}

.chph__personaIndicator--taste_validator:not(.chph__statusIcon--spinner)::after {
  background: rgba(255, 168, 161, 0.95);
  box-shadow: 0 0 6px rgba(255, 168, 161, 0.55);
}

.chph__personaIndicator--reviewer:not(.chph__statusIcon--spinner)::after {
  background: rgba(125, 211, 108, 0.95);
  box-shadow: 0 0 6px rgba(125, 211, 108, 0.55);
}

.chph__statusIcon--halted::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(229, 96, 96, 0.95), rgba(229, 96, 96, 0.7));
  box-shadow: 0 0 6px rgba(229, 96, 96, 0.45);
}

.chph__personaIndicator--system:not(.chph__statusIcon--spinner)::after {
  background: rgba(93, 208, 248, 0.95);
  box-shadow: 0 0 6px rgba(93, 208, 248, 0.55);
}

.chph__personaIndicator--direct:not(.chph__statusIcon--spinner)::after {
  background: rgba(100, 200, 150, 0.95);
  box-shadow: 0 0 6px rgba(100, 200, 150, 0.5);
}

.chph__statusIcon--unseen::after,
.chph__statusIcon--awaiting::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #f4c76f;
  box-shadow: 0 0 6px rgba(244, 199, 111, 0.55);
}

.chph__statusIcon--failed {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.chph__statusIcon--failed::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #f0616d;
  box-shadow: 0 0 6px rgba(240, 97, 109, 0.6);
}

/* PM2 Process Status Icons */
.chph__statusIcon--online,
.chph__statusIcon--stopped,
.chph__statusIcon--errored,
.chph__statusIcon--launching,
.chph__statusIcon--aggregate,
.chph__statusIcon--unknown {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-radius: 50%;
  position: relative;
}

.chph__statusIcon--online {
  background: rgba(76, 175, 80, 0.9);
  box-shadow: 0 0 6px rgba(76, 175, 80, 0.5);
}

.chph__statusIcon--stopped {
  background: rgba(158, 158, 158, 0.7);
  box-shadow: 0 0 4px rgba(158, 158, 158, 0.3);
}

.chph__statusIcon--errored {
  background: rgba(244, 67, 54, 0.9);
  box-shadow: 0 0 6px rgba(244, 67, 54, 0.5);
}

.chph__statusIcon--launching {
  background: rgba(255, 193, 7, 0.9);
  box-shadow: 0 0 6px rgba(255, 193, 7, 0.5);
  animation: chphPulse 1.2s ease-in-out infinite;
}

.chph__statusIcon--aggregate {
  background: rgba(var(--chph-accent-rgb), 0.7);
  box-shadow: 0 0 6px rgba(var(--chph-accent-rgb), 0.4);
}

.chph__statusIcon--unknown {
  background: rgba(120, 120, 140, 0.5);
  box-shadow: none;
}

@keyframes chphPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

@keyframes chphRequestSpinner {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes chphCardAppear {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.chph__requestMeta {
  font-size: 10px;
  opacity: 0.7;
  word-break: break-word;
  overflow-wrap: break-word;
}

.chph__requestFormerTitle {
  display: block;
  font-size: 9px;
  font-style: italic;
  opacity: 0.55;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chph__requestBadge,
.chph__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  padding: 4px 12px;
  border-radius: 999px;
  line-height: 1;
  font-size: 11px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.chph__requestBadge {
  margin-left: 6px;
  background: rgba(255, 255, 255, 0.14);
}

.chph__requestBadge--pinned {
  background: rgba(58, 173, 229, 0.22);
  color: #8ecfef;
  padding: 2px 6px;
  font-size: 10px;
}

.chph__requestBadge--pinned .lucide-icon {
  width: 12px;
  height: 12px;
}

.chph__requestBadge--direct {
  background: rgba(100, 200, 150, 0.28);
  color: #f5f9ff;
}

.chph__providerBadge--codex {
  background: rgba(100, 200, 150, 0.24);
  color: #f5f9ff;
}

.chph__providerBadge--claude {
  background: rgba(255, 179, 71, 0.24);
  color: #fff8ec;
}

.chph__providerBadge--infinity {
  background: rgba(138, 43, 226, 0.24);
  color: #e8d5f9;
}

.chph__providerBadge {
  align-self: center;
}

.chph__accountBadge {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.5);
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.3px;
}

.chph__modeBadge {
  margin-left: 0;
  align-self: center;
}

.chph__requestArchive {
  align-self: stretch;
  min-width: 70px;
}

.chph__toggleArchived {
  width: 100%;
  margin-top: 6px;
  display: block;
  text-align: center;
}

.chph__main {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow-y: auto;
}

.chph__main--withPadding {
  padding: 1em;
}

.chph__mainHeaderContent {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.chph__mainHeaderTop {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 12px;
}

.chph__mainHeaderContent .chph__status {
  margin-left: 0;
  align-self: center;
}

.chph__configActions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.chph__hint--success {
  color: #69e6a6;
}

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

.chph__mainHeader.is-hidden {
  display: none;
}

.chph__mainTitle {
  margin: 0;
  font-size: 24px;
  display: inline-block;
  max-width: calc(100% - 80px) !important;
  cursor: pointer;
}

.chph__mainTitle:focus-visible {
  outline: 2px solid rgba(var(--chph-accent-rgb), 0.8);
  border-radius: 4px;
  outline-offset: 2px;
}

.chph__status {
  vertical-align: top;
  gap: 4px;
  margin-left: 0;
  align-self: center;
  background: rgba(255, 255, 255, 0.08);
}

.chph__status--draft {
  display: none;
}

.chph__status--approved {
  background: rgba(70, 211, 157, 0.2);
}

.chph__status--in_progress {
  background: rgba(241, 180, 76, 0.25);
}

.chph__status--completed {
  background: rgba(70, 211, 157, 0.3);
}

.chph__status--failed {
  background: rgba(229, 96, 96, 0.28);
}

.chph__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
  gap: 0em;
  height: calc(100% - 50px);
}

.chph__column {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow-y: auto;
  padding-right: 0.5em;
}

.chph__primary {
  min-height: 0;
}

.chph__secondary {
  min-height: 0;
}

.chph__sectionHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.chph__sectionHeader--plan {
  flex-wrap: wrap;
  gap: 12px;
}

.chph__planControls {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.chph__planControlButtons {
  display: flex;
  gap: 10px;
}

.chph__planLayout {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}

.chph__planCard {
  background: var(--chph-bg-deep);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.25);
  border-radius: 5px;
  padding: 10px 15px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.chph__planCardHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.chph__planFields {
  display: grid;
  gap: 14px;
}

.chph__planField {
  display: grid;
  gap: 6px;
}

.chph__planFieldLabel {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  opacity: 0.65;
}

.chph__planContext {
  display: grid;
  gap: 12px;
}

.chph__planContextItem {
  display: grid;
  gap: 6px;
}

.chph__planContextLabel {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  opacity: 0.65;
}

.chph__planContextItem ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.chph__planContextHazards {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.chph__planContextHazardRisk {
  font-weight: 600;
}

.chph__planContextHazardMitigation {
  opacity: 0.75;
}

.chph__planNodesCard {
  background: var(--chph-bg-deep);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.25);
  border-radius: 5px;
  padding: 10px 15px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.chph__workOrderCard {
  background: var(--chph-bg-deep);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.25);
  border-radius: 5px;
  padding: 10px 15px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.chph__workOrderForm .chph__planField {
  margin-bottom: 12px;
}

.chph__workOrderActions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.chph__workOrderHint {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
}

.chph__workOrderAuto {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.chph__humanWorkOrder {
  border: 1px solid rgba(var(--chph-accent-rgb), 0.35);
  border-radius: 8px;
  padding: 10px 12px;
  background: var(--chph-bg-overlay);
}

.chph__humanWorkOrderTitle {
  font-weight: 600;
  margin-bottom: 4px;
}

.chph__humanWorkOrderBody {
  margin: 0 0 4px;
  line-height: 1.4;
}

.chph__planNodeList {
  display: grid;
  gap: 12px;
}

.chph__planNodeCard {
  background: rgba(10, 24, 14, 0.72);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.2);
  border-radius: 14px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.chph__planNodeHeader {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.chph__planNodeTitle,
.chph__planNodeRole {
  display: grid;
  gap: 4px;
  min-width: 160px;
  flex: 1 1 160px;
}

.chph__planNodeKeyLabel {
  font-size: 11px;
  text-transform: uppercase;
  opacity: 0.6;
  letter-spacing: 0.55px;
}

.chph__planControls--footer {
  justify-content: space-between;
}

.chph__planCard--context {
  background: rgba(10, 24, 14, 0.68);
}






.chph__hint {
  font-size: 12px;
  opacity: 0.65;
}

.chph__conversation,
.chph__plan,
.chph__logs {
  background: var(--chph-bg-surface);
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 5px;
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.chph__conversation {
  flex: 1 1 0;
  min-height: 260px;
}

.chph__plan {
  flex: 0 0 auto;
  max-height: 45vh;
  overflow-y: auto;
}

.chph__transcript {
  flex: 1 1 0;
  min-height: 220px;
  overflow-x: hidden;
  overflow-y: auto;
  overflow-anchor: auto;
  padding-right: 4px;
}

.chph__loadMore {
  margin: 12px auto 0;
  max-width: 320px;
  text-align: center;
}

.chph__loadMore .sixteen.wide.column {
  width: 100%;
}

.chph__loadMore--logs {
  margin-bottom: 12px;
}

.chph__message {
  position: relative;
  display: block;
  padding: 10px 15px 10px 1.7rem;
  border-radius: 5px;
  background: var(--chph-bg-overlay);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.18);
  box-shadow: inset 0 0 0 1px rgba(var(--chph-accent-rgb), 0.05);
  color: var(--chph-text-tinted);
  margin-bottom: 12px;
}

.chph__message:last-child {
  margin-bottom: 0;
}

.chph__message>*+* {
  margin-top: 0.85rem;
}

.chph__message::before {
  content: "";
  position: absolute;
  left: 0.7rem;
  top: 1.35rem;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: rgba(94, 234, 212, 0.86);
  box-shadow: 0 0 0 3px var(--chph-bg-overlay);
}

.chph__message--human {
  background: rgba(var(--chph-accent-rgb), 0.15);
  border-color: rgba(var(--chph-accent-rgb), 0.26);
  box-shadow: inset 0 0 0 1px rgba(var(--chph-accent-rgb), 0.08);
}

.chph__message--human::before {
  background: rgba(var(--chph-accent-rgb), 0.95);
}

.chph__messageHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 0.78rem;
  letter-spacing: 0.22px;
  text-transform: uppercase;
  color: rgba(223, 229, 255, 0.74);
}

.chph__headerTitle {
  display: inline-block;
  flex: 1 1 auto;
  vertical-align: top;
  min-width: 0;
}

.chph__messageMeta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.chph__audioButton {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(223, 229, 255, 0.86);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  padding: 0;
}

.chph__audioButton i {
  margin: 0;
}

.chph__audioButton:hover,
.chph__audioButton:focus {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}

.chph__audioButton:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.chph__audioButton--playing {
  background: rgba(var(--chph-accent-rgb), 0.35);
  color: #fff;
}

.chph__audioButton--pending {
  cursor: progress;
}

.chph__audioButton--pending .lucide-icon {
  animation: chph-spinner 0.8s linear infinite;
}

.chph__audioButton--error {
  background: rgba(255, 126, 126, 0.25);
  color: #ffe0e0;
}

.chph__audioButton--partial {
  background: rgba(var(--chph-accent-rgb), 0.15);
  color: rgba(223, 229, 255, 0.95);
}

.chph__audioButton--partial .lucide-icon {
  animation: chph-spinner 1.6s linear infinite;
}

/* Spec 1057 T3: Dictation indicator icon in message meta */
.chph__dictationIndicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: var(--chph-accent, #3AADE5);
  opacity: 0.65;
  font-size: 14px;
}

/* Streaming segmented TTS: segment wrappers and active highlight */
.chph__speechSegment {
  transition: background 0.3s ease, border-left-color 0.3s ease, padding-left 0.3s ease;
}

.chph__speechHighlight {
  background: rgba(var(--chph-accent-rgb), 0.10);
  border-left: 3px solid rgba(var(--chph-accent-rgb), 0.55);
  padding-left: 10px;
  border-radius: 2px;
}

/* Spec 984: Whole-message highlight for conversationalized or legacy (non-segmented) playback */
.chph__speechPlayingWhole {
  background: rgba(var(--chph-accent-rgb), 0.06);
  border-left: 2px solid rgba(var(--chph-accent-rgb), 0.35);
  padding-left: 8px;
  border-radius: 2px;
  transition: background 0.3s ease, border-left-color 0.3s ease;
}

.chph__badge {
  background: rgba(var(--chph-accent-rgb), 0.25);
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.28px;
  text-transform: uppercase;
  color: rgba(223, 229, 255, 0.96);
}

.chph__tag {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 999px;
  background: var(--chph-bg-elevated);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--chph-text-secondary);
  width: fit-content;
  margin-top: 4px;
}

.chph__timestamp {
  display: block;
  font-family: var(--font-mono, "Fira Code", monospace);
  font-size: 0.75rem;
  color: rgba(210, 218, 255, 0.7);
  white-space: nowrap;
  text-align: right;
}

.chph__messageId {
  display: block;
  font-family: var(--font-mono, "Fira Code", monospace);
  font-size: 0.65rem;
  color: rgba(180, 190, 220, 0.5);
  white-space: nowrap;
  text-align: right;
  user-select: all;
  cursor: pointer;
}

.chph__messageId:hover {
  color: rgba(180, 190, 220, 0.8);
}

.chph__messageBody {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(240, 255, 245, 0.9);
}

.chph__messageBody pre {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 10px 12px;
  overflow-x: auto;
  max-width: 100%;
  box-sizing: border-box;
  font-size: 0.85rem;
  line-height: 1.4;
}

.chph__messageBody code {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  padding: 1px 4px;
  font-size: 0.85rem;
}

.chph__messageBody pre code {
  display: inline-block;
  min-width: 100%;
  box-sizing: border-box;
}

.chph__messageBody ul,
.chph__messageBody ol {
  margin: 8px 0 8px 18px;
  padding-left: 12px;
}

.chph__messageBody strong {
  color: rgba(255, 255, 255, 0.95);
}

.chph__rawOriginal {
  margin-top: 8px;
}

.chph__rawOriginal summary {
  cursor: pointer;
}

/* Exposed Edits section (always visible above intermediate steps accordion) */
.chph__exposedEdits {
  margin-top: 12px;
  border: 1px solid rgba(100, 180, 255, 0.25);
  border-radius: 6px;
  background: rgba(100, 180, 255, 0.04);
}

.chph__exposedEditsSummary {
  padding: 8px 12px;
  cursor: pointer;
  font-size: 0.85rem;
  color: rgba(140, 200, 255, 0.9);
  user-select: none;
  display: flex;
  align-items: center;
  gap: 6px;
}

.chph__exposedEditsSummary:hover {
  background: rgba(100, 180, 255, 0.08);
}

.chph__exposedEditsSummary::before {
  content: '▾';
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

.chph__exposedEdits:not([open]) .chph__exposedEditsSummary::before {
  content: '▸';
}

.chph__exposedEditsLabel {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.5px;
}

.chph__exposedEditsCount {
  opacity: 0.7;
  font-size: 0.8rem;
}

.chph__exposedEditsContent {
  padding: 8px 12px 12px;
  border-top: 1px solid rgba(100, 180, 255, 0.15);
}

.chph__exposedEditItem {
  padding: 8px 0;
  border-bottom: 1px solid rgba(100, 180, 255, 0.1);
}

.chph__exposedEditItem:last-child {
  border-bottom: none;
}

.chph__exposedEditHeader {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.chph__editDiff--exposed {
  margin-top: 6px;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(100, 180, 255, 0.15);
}

/* Grouped incremental messages (intermediate thinking collapsed) */
.chph__groupedMessages {
  margin-top: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.02);
}

.chph__groupedMessagesSummary {
  padding: 8px 12px;
  cursor: pointer;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.6);
  user-select: none;
  display: flex;
  align-items: center;
  gap: 6px;
}

.chph__groupedMessagesSummary:hover {
  background: rgba(255, 255, 255, 0.04);
}

.chph__groupedMessagesSummary::before {
  content: '▸';
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

.chph__groupedMessages[open] .chph__groupedMessagesSummary::before {
  transform: rotate(90deg);
}

.chph__groupedMessagesCount {
  opacity: 0.8;
}

.chph__groupedMessagesContent {
  padding: 8px 12px 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  max-height: 400px;
  overflow-y: auto;
}

.chph__groupedMessageItem {
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.chph__groupedMessageItem:last-child {
  border-bottom: none;
}

.chph__groupedMessageHeader {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

.chph__groupedMessageTime {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.4);
}

.chph__audioButton--grouped {
  width: 22px;
  height: 22px;
  margin-left: auto;
  flex-shrink: 0;
}

.chph__audioButton--grouped i {
  font-size: 12px;
}

.chph__groupedMessageText {
  font-size: 0.9rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.7);
}

/* Agent-specific grouping styles */
.chph__groupedMessages--agent {
  border-color: rgba(147, 112, 219, 0.3);
  background: rgba(147, 112, 219, 0.05);
}

.chph__agentBadge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-radius: 4px;
  background: rgba(147, 112, 219, 0.2);
  color: rgb(200, 180, 255);
  border: 1px solid rgba(147, 112, 219, 0.3);
}

.chph__agentBadge--subagent {
  background: rgba(100, 180, 255, 0.15);
  color: rgb(140, 200, 255);
  border-color: rgba(100, 180, 255, 0.3);
}

.chph__agentBadge--squad {
  background: rgba(255, 180, 100, 0.15);
  color: rgb(255, 200, 140);
  border-color: rgba(255, 180, 100, 0.3);
}

.chph__agentBadgeSmall {
  display: inline-block;
  padding: 1px 5px;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  border-radius: 3px;
  background: rgba(147, 112, 219, 0.15);
  color: rgba(200, 180, 255, 0.9);
  margin-left: 8px;
  vertical-align: middle;
}

.chph__groupedMessageItem--agent {
  border-left: 2px solid rgba(147, 112, 219, 0.4);
  padding-left: 10px;
  margin-left: 2px;
}

/* Reasoning-specific grouping styles */
.chph__groupedMessageItem--reasoning {
  border-left: 2px solid rgba(255, 200, 60, 0.35);
  padding-left: 10px;
  margin-left: 2px;
}

.chph__groupedMessageItem--reasoning .chph__groupedMessageText {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.6);
}

.chph__reasoningBadge {
  display: inline-block;
  padding: 1px 5px;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  border-radius: 3px;
  background: rgba(255, 200, 60, 0.15);
  color: rgba(255, 220, 120, 0.9);
  margin-left: 8px;
  vertical-align: middle;
}

/* Reply-centric grouping: collapsed intermediate steps between chph reply anchors */
.chph__intermediateSteps {
  margin: 4px 0;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.02);
  overflow: hidden;
}

.chph__intermediateStepsSummary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  cursor: pointer;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.45);
  user-select: none;
  list-style: none;
  transition: color 0.2s ease, background 0.2s ease;
}

.chph__intermediateStepsSummary::-webkit-details-marker {
  display: none;
}

.chph__intermediateStepsSummary::before {
  content: '▸';
  font-size: 0.7rem;
  transition: transform 0.15s ease;
  flex-shrink: 0;
}

.chph__intermediateSteps[open] .chph__intermediateStepsSummary::before {
  transform: rotate(90deg);
}

.chph__intermediateStepsSummary:hover {
  color: rgba(255, 255, 255, 0.65);
  background: rgba(255, 255, 255, 0.03);
}

.chph__intermediateStepsCount {
  opacity: 0.9;
}

.chph__intermediateStepsSummary .chph__timestamp {
  margin-left: auto;
  font-size: 0.7rem;
  opacity: 0.6;
}

.chph__intermediateStepsContent {
  padding: 4px 14px 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.chph__intermediateStepItem {
  padding: 6px 0;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.chph__intermediateStepItem:last-child {
  border-bottom: none;
}

.chph__intermediateStepItem--reasoning {
  border-left: 2px solid rgba(168, 85, 247, 0.3);
  padding-left: 8px;
}

.chph__intermediateStepItem--error {
  border-left: 2px solid rgba(239, 68, 68, 0.4);
  padding-left: 8px;
}

.chph__intermediateStepHeader {
  display: flex;
  align-items: center;
  gap: 8px;
}

.chph__intermediateStepItem .chph__tag--kind {
  font-size: 0.65rem;
  padding: 1px 5px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 3px;
  color: rgba(255, 255, 255, 0.5);
  font-family: 'Berkeley Mono', monospace;
  flex-shrink: 0;
}

.chph__intermediateStepMeta {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.35);
  font-style: italic;
}

.chph__intermediateStepBody {
  margin-top: 4px;
  padding: 6px 8px;
  font-size: 0.75rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.65);
  background: rgba(255, 255, 255, 0.03);
  border-radius: 4px;
  max-height: 200px;
  overflow-y: auto;
  word-break: break-word;
}

.chph__intermediateStepBody p {
  margin: 0 0 4px 0;
}

.chph__intermediateStepBody p:last-child {
  margin-bottom: 0;
}

.chph__intermediateStepBody pre {
  font-size: 0.7rem;
  background: rgba(0, 0, 0, 0.3);
  padding: 4px 6px;
  border-radius: 3px;
  overflow-x: auto;
}

.chph__intermediateStepBody code {
  font-size: 0.7rem;
  background: rgba(0, 0, 0, 0.2);
  padding: 1px 3px;
  border-radius: 2px;
}

/* Spec 1027: Standalone collapsed entries (squad, peer, distillation) */
.chph__collapsedEntry {
  margin: 4px 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 3px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.02);
  overflow: hidden;
}

.chph__collapsedEntry--squad {
  border-left-color: rgba(245, 158, 11, 0.6);
  background: rgba(245, 158, 11, 0.03);
}

.chph__collapsedEntry--peer {
  border-left-color: rgba(20, 184, 166, 0.6);
  background: rgba(20, 184, 166, 0.03);
}

.chph__collapsedEntry--distillation {
  border-left-color: rgba(255, 185, 50, 0.6);
  background: rgba(255, 185, 50, 0.03);
}

.chph__collapsedEntry--finished {
  border-left-color: rgba(147, 130, 220, 0.7);
  border-left-width: 4px;
  background: rgba(147, 130, 220, 0.05);
}

.chph__collapsedSummary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  cursor: pointer;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.5);
  user-select: none;
  list-style: none;
  transition: color 0.2s ease, background 0.2s ease;
}

.chph__collapsedSummary::-webkit-details-marker {
  display: none;
}

.chph__collapsedSummary::before {
  content: '▸';
  font-size: 0.7rem;
  transition: transform 0.15s ease;
  flex-shrink: 0;
}

.chph__collapsedEntry[open] .chph__collapsedSummary::before {
  transform: rotate(90deg);
}

.chph__collapsedSummary:hover {
  color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.03);
}

.chph__collapsedBadge {
  display: inline-block;
  padding: 2px 8px;
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 4px;
  flex-shrink: 0;
}

.chph__collapsedBadge--squad {
  background: rgba(245, 158, 11, 0.2);
  color: rgba(255, 200, 100, 0.9);
  border: 1px solid rgba(245, 158, 11, 0.3);
}

.chph__collapsedBadge--peer {
  background: rgba(20, 184, 166, 0.2);
  color: rgba(94, 234, 212, 0.9);
  border: 1px solid rgba(20, 184, 166, 0.3);
}

.chph__collapsedBadge--distillation {
  background: rgba(255, 185, 50, 0.3);
  color: rgb(255, 220, 130);
  border: 1px solid rgba(255, 185, 50, 0.4);
}

.chph__collapsedBadge--finished {
  background: rgba(147, 130, 220, 0.25);
  color: rgba(200, 185, 255, 0.95);
  border: 1px solid rgba(147, 130, 220, 0.4);
  font-weight: 700;
}

.chph__collapsedPreview {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.75rem;
}

.chph__collapsedSummary .chph__timestamp {
  font-size: 0.7rem;
  opacity: 0.6;
  flex-shrink: 0;
}

.chph__collapsedContent {
  padding: 10px 14px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.chph__collapsedContent .chph__messageBody {
  font-size: 0.88rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.75);
}

/* Spec 1027: Per-message delete button */
.chph__deleteButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: rgba(255, 255, 255, 0.3);
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.chph__deleteButton:hover {
  background: rgba(239, 68, 68, 0.15);
  color: rgba(239, 68, 68, 0.9);
}

.chph__deleteButton .lucide-icon {
  width: 14px;
  height: 14px;
}

.chph__editBadge {
  display: inline-block;
  padding: 1px 5px;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  border-radius: 3px;
  background: rgba(100, 180, 255, 0.15);
  color: rgba(140, 200, 255, 0.9);
  margin-left: 8px;
  vertical-align: middle;
}

.chph__editFileName {
  font-size: 0.78rem;
  font-family: var(--jmkr-monospace, 'IBM Plex Mono', monospace);
  color: rgba(180, 200, 230, 0.85);
  margin-left: 6px;
}

.chph__rawOriginal .chph__messageRaw {
  margin: 8px 0 0;
  padding: 12px 16px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(240, 255, 245, 0.92);
}

.chph__markdownTableWrapper {
  margin: 12px 0;
  border: 1px solid var(--chph-border-default);
  border-radius: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: var(--chph-bg-overlay);
}

.chph__markdownTable {
  width: 100%;
  border-collapse: collapse;
  min-width: 320px;
  font-size: 0.92rem;
  line-height: 1.4;
}

.chph__markdownTable th,
.chph__markdownTable td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  border-right: 1px solid rgba(255, 255, 255, 0.03);
  text-align: left;
  vertical-align: top;
  color: rgba(235, 239, 255, 0.92);
}

.chph__markdownTable th:last-child,
.chph__markdownTable td:last-child {
  border-right: none;
}

.chph__markdownTable th {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--chph-text-secondary);
  background: var(--chph-bg-overlay);
  position: sticky;
  top: 0;
}

.chph__markdownTable tbody tr:nth-child(odd) {
  background: rgba(255, 255, 255, 0.015);
}

.chph__markdownTable caption {
  caption-side: bottom;
  padding: 8px 12px;
  font-size: 0.75rem;
  color: rgba(189, 199, 235, 0.7);
}

/* ============================================
   Spec 995: Enhanced Code Blocks, Callouts, Mermaid, Task Lists
   Visual output discipline — rendering pipeline CSS
   ============================================ */

/* ---------- Code Block Wrapper + Header ---------- */

.chph__codeWrapper {
  margin: 12px 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.04);
}

.chph__codeWrapper .chph__pre {
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.chph__codeHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  min-height: 28px;
}

.chph__codeLang {
  font-size: 0.72rem;
  font-weight: 500;
  color: rgba(189, 199, 235, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ---------- Copy Button (shared class, context-adaptive via parent) ---------- */

.phoros__copyBtn {
  font-size: 0.72rem;
  padding: 2px 8px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(189, 199, 235, 0.7);
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
  line-height: 1.4;
}

.phoros__copyBtn:hover {
  background: rgba(255, 255, 255, 0.12);
  color: rgba(235, 239, 255, 0.92);
  border-color: rgba(255, 255, 255, 0.2);
}

.phoros__copyBtn--copied {
  background: rgba(100, 200, 150, 0.15) !important;
  color: rgba(100, 220, 150, 0.9) !important;
  border-color: rgba(100, 200, 150, 0.3) !important;
}

/* ---------- Syntax Highlighting Token Colors (Prism.js dark theme) ---------- */
/* Custom dark palette matching CHPH: cool blues, warm greens, muted purples */

.chph__codeBlock .token.comment,
.chph__codeBlock .token.prolog,
.chph__codeBlock .token.doctype,
.chph__codeBlock .token.cdata {
  color: rgba(150, 160, 185, 0.65);
  font-style: italic;
}

.chph__codeBlock .token.punctuation {
  color: rgba(189, 199, 235, 0.6);
}

.chph__codeBlock .token.property,
.chph__codeBlock .token.tag,
.chph__codeBlock .token.boolean,
.chph__codeBlock .token.number,
.chph__codeBlock .token.constant,
.chph__codeBlock .token.symbol {
  color: #7ec8e3;
}

.chph__codeBlock .token.selector,
.chph__codeBlock .token.attr-name,
.chph__codeBlock .token.string,
.chph__codeBlock .token.char,
.chph__codeBlock .token.builtin {
  color: #a8d5a2;
}

.chph__codeBlock .token.operator,
.chph__codeBlock .token.entity,
.chph__codeBlock .token.url,
.chph__codeBlock .token.variable {
  color: #e0c097;
}

.chph__codeBlock .token.atrule,
.chph__codeBlock .token.attr-value,
.chph__codeBlock .token.keyword {
  color: #c4a7e7;
}

.chph__codeBlock .token.function,
.chph__codeBlock .token.class-name {
  color: #82b4e8;
}

.chph__codeBlock .token.regex,
.chph__codeBlock .token.important {
  color: #e8b482;
}

.chph__codeBlock .token.important,
.chph__codeBlock .token.bold {
  font-weight: bold;
}

.chph__codeBlock .token.italic {
  font-style: italic;
}

.chph__codeBlock .token.deleted {
  color: #e88282;
}

.chph__codeBlock .token.inserted {
  color: #a8d5a2;
}

/* ---------- Mermaid Diagrams ---------- */

.chph__mermaidContainer {
  margin: 12px 0;
  padding: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  text-align: center;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.chph__mermaidContainer svg {
  max-width: 100%;
  height: auto;
}

.chph__mermaidLoading {
  padding: 20px;
  color: rgba(189, 199, 235, 0.6);
  font-size: 0.85rem;
}

/* ---------- SVG Containers (Spec 1189) ---------- */

.chph__svgContainer {
  margin: 12px 0;
  padding: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  text-align: center;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.chph__svgContainer svg {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.chph__svgLoading {
  padding: 20px;
  color: rgba(189, 199, 235, 0.6);
  font-size: 0.85rem;
}

.chph__svgWarning {
  padding: 6px 12px;
  margin-bottom: 8px;
  color: #fbbf24;
  background: rgba(251, 191, 36, 0.08);
  border: 1px solid rgba(251, 191, 36, 0.15);
  border-radius: 4px;
  font-size: 0.75rem;
}

/* ---------- Three.js 3D Containers (Spec 1190) ---------- */

.chph__threejsContainer {
  margin: 12px 0;
  padding: 0;
  background: #0f172a;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  aspect-ratio: 16 / 9;
}

.chph__threejsContainer canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
  cursor: grab;
}

.chph__threejsContainer canvas:active {
  cursor: grabbing;
}

.chph__threejsLoading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(189, 199, 235, 0.6);
  font-size: 0.85rem;
}

.chph__threejsLabel {
  position: absolute;
  color: #e2e8f0;
  font-size: 0.7rem;
  padding: 2px 6px;
  background: rgba(15, 23, 42, 0.8);
  border-radius: 3px;
  pointer-events: none;
  white-space: nowrap;
  transform: translate(-50%, -100%);
}

/* ============================================
   FILE EMBED IFRAME — CHPH Context (Spec 1195)
   ============================================ */

.chph__fileEmbedWrapper {
  display: block;
  width: 100%;
  max-width: 480px;
  height: 200px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 3.5px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  margin: 8px 0;
  background: rgba(255, 255, 255, 0.02);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.chph__fileEmbedWrapper:hover {
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.chph__fileEmbedWrapper:focus-visible {
  outline: 2px solid #3AADE5;
  outline-offset: 2px;
}

.chph__fileEmbedIframe {
  width: 100%;
  height: 100%;
  border: none;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.03);
}

/* Fallback card (dark theme default) */
.chph__fileEmbedCard--fallback {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 3.5px;
  max-width: 480px;
  margin: 8px 0;
}

.chph__fileEmbedCard--fallback .chph__fileEmbedIcon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 3.5px;
  color: #64748b;
  flex-shrink: 0;
}

.chph__fileEmbedCard--fallback .chph__fileEmbedMeta { flex: 1; min-width: 0; }
.chph__fileEmbedCard--fallback .chph__fileEmbedName { display: block; font-size: 13px; font-weight: 500; color: #e2e8f0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chph__fileEmbedCard--fallback .chph__fileEmbedType { font-size: 11px; color: #64748b; }
.chph__fileEmbedCard--fallback .chph__fileEmbedDownload { font-size: 12px; color: #3AADE5; text-decoration: none; font-weight: 500; flex-shrink: 0; }
.chph__fileEmbedCard--fallback .chph__fileEmbedDownload:hover { text-decoration: underline; }

/* Lightbox — same as convMsg__ but in chph__ namespace */
.chph__fileEmbedLightbox {
  position: fixed;
  top: 0; left: 0; width: 100vw; height: 100vh;
  background: rgba(0, 0, 0, 0.9);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.chph__fileEmbedLightboxClose {
  position: absolute; top: 16px; right: 24px;
  width: 40px; height: 40px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%; color: #fff; font-size: 24px;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background 0.2s ease; z-index: 1;
}
.chph__fileEmbedLightboxClose:hover { background: rgba(255, 255, 255, 0.2); }
.chph__fileEmbedLightboxIframe {
  width: 90vw; height: 85vh;
  border: none; border-radius: 3.5px; background: #fff;
}

.chph__fileEmbedLoading {
  display: flex; align-items: center; gap: 8px;
  padding: 16px; color: #64748b; font-size: 13px;
}

/* ---------- Callout/Admonition Blocks ---------- */

.chph__callout {
  margin: 12px 0;
  border-radius: 8px;
  border: 1px solid;
  overflow: hidden;
}

.chph__calloutHeader {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.chph__calloutIcon {
  font-size: 1rem;
  line-height: 1;
}

.chph__calloutBody {
  padding: 8px 12px 10px;
  font-size: 0.92rem;
  line-height: 1.5;
}

.chph__calloutBody p:first-child { margin-top: 0; }
.chph__calloutBody p:last-child { margin-bottom: 0; }

/* Callout type: NOTE (blue) */
.chph__callout--note {
  border-color: rgba(100, 180, 255, 0.3);
  background: rgba(100, 180, 255, 0.06);
}
.chph__callout--note .chph__calloutHeader {
  color: rgba(140, 200, 255, 0.9);
  background: rgba(100, 180, 255, 0.08);
}
.chph__callout--note .chph__calloutBody {
  color: rgba(235, 239, 255, 0.88);
}

/* Callout type: WARNING (amber) */
.chph__callout--warning {
  border-color: rgba(255, 190, 80, 0.3);
  background: rgba(255, 190, 80, 0.06);
}
.chph__callout--warning .chph__calloutHeader {
  color: rgba(255, 200, 100, 0.9);
  background: rgba(255, 190, 80, 0.08);
}
.chph__callout--warning .chph__calloutBody {
  color: rgba(255, 245, 220, 0.88);
}

/* Callout type: TIP (green) */
.chph__callout--tip {
  border-color: rgba(100, 200, 150, 0.3);
  background: rgba(100, 200, 150, 0.06);
}
.chph__callout--tip .chph__calloutHeader {
  color: rgba(120, 220, 160, 0.9);
  background: rgba(100, 200, 150, 0.08);
}
.chph__callout--tip .chph__calloutBody {
  color: rgba(220, 255, 235, 0.88);
}

/* Callout type: IMPORTANT (purple) */
.chph__callout--important {
  border-color: rgba(160, 130, 255, 0.3);
  background: rgba(160, 130, 255, 0.06);
}
.chph__callout--important .chph__calloutHeader {
  color: rgba(180, 155, 255, 0.9);
  background: rgba(160, 130, 255, 0.08);
}
.chph__callout--important .chph__calloutBody {
  color: rgba(230, 225, 255, 0.88);
}

/* Callout type: CAUTION (red) */
.chph__callout--caution {
  border-color: rgba(255, 100, 100, 0.3);
  background: rgba(255, 100, 100, 0.06);
}
.chph__callout--caution .chph__calloutHeader {
  color: rgba(255, 130, 130, 0.9);
  background: rgba(255, 100, 100, 0.08);
}
.chph__callout--caution .chph__calloutBody {
  color: rgba(255, 230, 230, 0.88);
}

/* ---------- GFM Task List Checkboxes ---------- */

.chph__taskList {
  list-style: none;
  padding-left: 4px;
}

.chph__taskItem {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 2px 0;
}

.chph__taskCheckbox {
  margin-top: 4px;
  width: 14px;
  height: 14px;
  accent-color: rgba(100, 200, 150, 0.8);
  flex-shrink: 0;
}

/* ---------- Spec 995 Phase 2: Strikethrough ---------- */

.chph__del {
  text-decoration: line-through;
  color: rgba(235, 239, 255, 0.45);
  text-decoration-color: rgba(235, 239, 255, 0.35);
}

/* ---------- Spec 995 Phase 2: Heading Anchors ---------- */

[id^="chph__"] h1,
[id^="chph__"] h2,
[id^="chph__"] h3,
[id^="chph__"] h4,
[id^="chph__"] h5,
[id^="chph__"] h6,
h1[id^="chph__"],
h2[id^="chph__"],
h3[id^="chph__"],
h4[id^="chph__"],
h5[id^="chph__"],
h6[id^="chph__"] {
  scroll-margin-top: 80px;
}

/* ---------- Spec 995 Phase 2: Collapsible Sections (details/summary) ---------- */

.chph__paragraph details,
.chph__blockquote details,
.chph__calloutBody details {
  margin: 8px 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.02);
  overflow: hidden;
}

.chph__paragraph details summary,
.chph__blockquote details summary,
.chph__calloutBody details summary {
  padding: 8px 12px;
  cursor: pointer;
  font-weight: 500;
  color: rgba(235, 239, 255, 0.85);
  user-select: none;
  list-style: none;
}

.chph__paragraph details summary::-webkit-details-marker,
.chph__blockquote details summary::-webkit-details-marker,
.chph__calloutBody details summary::-webkit-details-marker {
  display: none;
}

.chph__paragraph details summary::before,
.chph__blockquote details summary::before,
.chph__calloutBody details summary::before {
  content: '\25B6';
  display: inline-block;
  margin-right: 8px;
  font-size: 10px;
  transition: transform 0.2s ease;
  color: rgba(100, 180, 255, 0.6);
}

.chph__paragraph details[open] summary::before,
.chph__blockquote details[open] summary::before,
.chph__calloutBody details[open] summary::before {
  transform: rotate(90deg);
}

.chph__paragraph details > :not(summary),
.chph__blockquote details > :not(summary),
.chph__calloutBody details > :not(summary) {
  padding: 0 12px 8px;
}

/* ---------- Spec 995 Phase 2: Math (KaTeX) ---------- */

.phoros__mathBlock {
  margin: 12px 0;
  padding: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  text-align: center;
  overflow-x: auto;
}

.phoros__mathBlock code {
  font-family: 'KaTeX_Main', 'Times New Roman', serif;
  font-size: 15px;
  color: rgba(235, 239, 255, 0.85);
}

.phoros__mathBlock[data-katex-rendered="true"] code {
  display: none;
}

.phoros__mathInline {
  display: inline;
}

.phoros__mathInline code {
  font-family: 'KaTeX_Main', 'Times New Roman', serif;
  font-size: 0.95em;
  color: rgba(235, 239, 255, 0.85);
  background: transparent;
  padding: 0;
}

.phoros__mathInline[data-katex-rendered="true"] code {
  display: none;
}

/* ---------- Spec 995 Phase 2: Highlight (mark) ---------- */

.phoros__highlight {
  background: rgba(250, 204, 21, 0.2);
  color: rgba(250, 230, 140, 0.95);
  padding: 1px 4px;
  border-radius: 3px;
}

/* ---------- Spec 995 Phase 3: Enhanced Image Notation ---------- */

/* Alignment modifiers */
.chph__imageBlock--center {
  text-align: center;
}

.chph__imageBlock--center .chph__image {
  margin-left: auto;
  margin-right: auto;
}

.chph__imageBlock--right {
  text-align: right;
}

.chph__imageBlock--left {
  text-align: left;
}

.chph__imageBlock--float-right {
  float: right;
  margin: 0 0 12px 16px;
  max-width: 50%;
}

.chph__imageBlock--float-left {
  float: left;
  margin: 0 16px 12px 0;
  max-width: 50%;
}

/* Auto-detected images — subtle indicator */
.chph__imageBlock--autoDetected {
  margin: 12px 0;
}

.chph__imageBlock--autoDetected .chph__imageCaption {
  font-size: 11px;
  opacity: 0.6;
}

/* ============================================
   Spec 924: Interim Message Grouping
   Subordinate container for reasoning progression
   ============================================ */

/* Details/summary toggle container - default collapsed */
.chph__interimDetails {
  margin-top: 12px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--chph-border-subtle);
  overflow: hidden;
}

/* Summary (toggle header) */
.chph__interimSummary {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  font-size: 11px;
  color: var(--chph-text-muted);
  cursor: pointer;
  user-select: none;
  transition: background 0.15s ease, color 0.15s ease;
  list-style: none; /* Remove default marker */
}

.chph__interimSummary::-webkit-details-marker {
  display: none; /* Hide default marker in webkit */
}

.chph__interimSummary:hover {
  background: rgba(255, 255, 255, 0.04);
  color: var(--chph-text-secondary);
}

/* Icon in the summary */
.chph__interimIcon {
  font-size: 12px;
  opacity: 0.7;
}

/* Label text */
.chph__interimLabel {
  flex: 1;
  font-family: var(--font-mono, monospace);
  letter-spacing: 0.3px;
}

/* Chevron rotation on expand */
.chph__interimChevron {
  font-size: 12px;
  opacity: 0.5;
  transition: transform 0.2s ease;
}

.chph__interimDetails[open] .chph__interimChevron {
  transform: rotate(180deg);
}

/* List of interim items */
.chph__interimList {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--chph-border-subtle);
}

/* Individual interim item - vertical layout for full content */
.chph__interimItem {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  font-size: 12px;
  color: var(--chph-text-secondary);
  border-bottom: 1px solid var(--chph-border-subtle);
  transition: background 0.15s ease;
}

.chph__interimItem:last-child {
  border-bottom: none;
}

.chph__interimItem:hover {
  background: rgba(255, 255, 255, 0.02);
}

/* Header row with icon and timestamp */
.chph__interimItemHeader {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Interim item icon */
.chph__interimItemIcon {
  flex-shrink: 0;
  font-size: 12px;
  opacity: 0.6;
  color: var(--chph-log-interim);
}

/* Error item styling */
.chph__interimItem--error {
  background: var(--chph-error-bg);
  border-left: 3px solid var(--chph-error-muted);
}

.chph__interimItem--error:hover {
  background: rgba(197, 48, 48, 0.15);
}

.chph__interimItemIcon--error {
  color: var(--chph-error-text);
  opacity: 1;
}

/* Full content display */
.chph__interimItemContent {
  margin: 0;
  padding: 8px 10px;
  background: rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--chph-text-primary);
  max-height: 400px;
  overflow-y: auto;
}

/* Spec 924: Standalone orphan interims get more space (real-time visibility) */
.chph__interimItemContent--standalone {
  max-height: none;
  overflow-y: visible;
  font-size: 12px;
  padding: 12px 14px;
}

/* Timestamp - right-aligned in header */
.chph__interimItemTime {
  flex-shrink: 0;
  font-size: 10px;
  color: var(--chph-text-faint);
  font-family: var(--font-mono, monospace);
  margin-left: auto;
}

.chph__messageReply {
  margin-bottom: 12px;
  line-height: 1.5;
}

/* Markdown header styles for Claude messages */
.chph__markdownHeader {
  margin: 16px 0 8px 0;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.95);
  line-height: 1.3;
}

.chph__messageBody h3.chph__markdownHeader {
  font-size: 1.05rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding-bottom: 6px;
}

.chph__messageBody h4.chph__markdownHeader {
  font-size: 0.98rem;
}

.chph__messageBody h5.chph__markdownHeader {
  font-size: 0.92rem;
  color: rgba(220, 225, 255, 0.9);
}

/* Numbered list item styling */
.chph__listNumber {
  display: inline-block;
  min-width: 1.5em;
  font-weight: 600;
  color: rgba(160, 180, 255, 0.9);
}

.chph__diffDetails {
  margin-bottom: 12px;
}

.chph__diffDetailsSummary {
  cursor: pointer;
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
  flex-direction: column;
  padding: 6px 10px;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.03);
  appearance: none;
  font-family: inherit;
  text-align: left;
}

.chph__diffDetailsSummary:focus {
  outline: 2px solid rgba(255, 255, 255, 0.3);
  outline-offset: 2px;
}

.chph__diffDetailsMeta {
  font-size: 0.65rem;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(255, 255, 255, 0.6);
}

.chph__diffDetailsBody {
  margin-top: 8px;
}

.chph__fullResponseContent {
  margin: 8px 0 0;
  padding: 12px 16px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
  max-height: 300px;
  overflow-y: auto;
}

.chph__fullResponseContent p {
  margin: 0 0 8px;
}

.chph__fullResponseContent p:last-child {
  margin-bottom: 0;
}


.chph__promptBlock {
  padding: 10px 15px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.chph__promptBlock h5 {
  margin: 0 0 6px;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.chph__promptList {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.chph__message--optimistic {
  border-style: dashed;
  border-color: rgba(var(--chph-accent-rgb), 0.45);
}

.chph__message--optimistic::before {
  background: rgba(var(--chph-accent-rgb), 0.92);
}

.chph__message--pending {
  border-color: rgba(var(--chph-accent-rgb), 0.45);
}

.chph__message--pending::before {
  background: rgba(255, 200, 99, 0.95);
}

/* Spec 924: Orphan interim messages (real-time during execution) */
.chph__message--interim {
  border-color: rgba(130, 180, 255, 0.4);
  background: rgba(130, 180, 255, 0.06);
}

.chph__message--interim::before {
  background: rgba(130, 180, 255, 0.85);
}

.chph__message--interim.chph__message--error {
  border-color: rgba(255, 130, 130, 0.4);
  background: rgba(255, 130, 130, 0.06);
}

.chph__message--interim.chph__message--error::before {
  background: rgba(255, 130, 130, 0.85);
}

/* Badge modifier for interim/thinking state */
.chph__badge--interim {
  background: rgba(130, 180, 255, 0.35);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

/* Spec 1027: .chph__message--distillation and .chph__badge--distillation removed
   (distillations now render via .chph__collapsedEntry--distillation) */

.chph__distillationMeta {
  display: inline-block;
  font-size: 0.72rem;
  color: rgba(255, 220, 130, 0.7);
  margin-left: 6px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.chph__tag--voided {
  background: rgba(255, 130, 130, 0.2);
  color: rgba(255, 180, 180, 0.9);
  border: 1px solid rgba(255, 130, 130, 0.3);
}

/* Covered messages accordion (distillation expand-to-originals) */
.chph__coveredMessages {
  margin-top: 12px;
  border: 1px solid rgba(255, 185, 50, 0.2);
  border-radius: 6px;
  background: rgba(255, 185, 50, 0.03);
}

.chph__coveredMessagesSummary {
  padding: 8px 12px;
  cursor: pointer;
  font-size: 0.85rem;
  color: rgba(255, 220, 130, 0.7);
  user-select: none;
  display: flex;
  align-items: center;
  gap: 6px;
}

.chph__coveredMessagesSummary:hover {
  background: rgba(255, 185, 50, 0.06);
}

.chph__coveredMessagesIcon {
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

.chph__coveredMessages[open] .chph__coveredMessagesIcon {
  transform: rotate(90deg);
}

.chph__coveredMessagesLabel {
  font-weight: 600;
  color: rgba(255, 220, 130, 0.8);
}

.chph__coveredMessagesRange {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.35);
  margin-left: auto;
}

.chph__coveredMessagesContent {
  padding: 8px 12px 12px;
  border-top: 1px solid rgba(255, 185, 50, 0.12);
  max-height: 500px;
  overflow-y: auto;
}

.chph__coveredMessagesPlaceholder {
  text-align: center;
  padding: 12px;
}

.chph__coveredMessagesLoading {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.4);
  font-style: italic;
}

.chph__coveredMessageItem {
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 185, 50, 0.08);
  border-left: 2px solid rgba(255, 185, 50, 0.2);
  padding-left: 10px;
  margin-left: 2px;
}

.chph__coveredMessageItem:last-child {
  border-bottom: none;
}

.chph__coveredMessageHeader {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

.chph__coveredMessageRole {
  display: inline-block;
  padding: 1px 5px;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.6);
}

.chph__coveredMessageTime {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.4);
}

.chph__coveredMessageText {
  font-size: 0.88rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.65);
}

.chph__badge--interim .lucide-icon {
  width: 11px;
  height: 11px;
}


.chph__pendingResponse {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
}

.chph__pendingLabel {
  font-size: 13px;
  color: rgba(223, 229, 255, 0.75);
}

/* Spec 1055: Thinking indicator — 3 bouncing dots (dot-dot-dot bubble) */
.chph__thinkingDots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 12px;
}

.chph__thinkingDot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(var(--chph-accent-rgb), 0.85);
  animation: chphThinkingBounce 1.4s ease-in-out infinite;
}

.chph__thinkingDot:nth-child(2) {
  animation-delay: 0.16s;
}

.chph__thinkingDot:nth-child(3) {
  animation-delay: 0.32s;
}

@keyframes chphThinkingBounce {
  0%, 60%, 100% {
    transform: translateY(0);
    opacity: 0.4;
  }
  30% {
    transform: translateY(-6px);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .chph__thinkingDot {
    animation: none;
    opacity: 0.7;
  }
}

.chph__validationWarnings {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(240, 179, 126, 0.7);
  border-radius: 8px;
  background-color: rgba(240, 179, 126, 0.14);
  color: #d0893b;
}

.chph__validationTitle {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.chph__validationList {
  margin: 6px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
  font-size: 0.85rem;
  line-height: 1.35;
}

.chph__composer {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px 20px;
  margin-top: auto;
  background: var(--chph-bg-overlay);
  border: 1px solid var(--chph-border-default);
  border-radius: 5px;
  box-shadow: 0 22px 44px var(--chph-shadow-strong);
  backdrop-filter: blur(8px);
}

.chph__composerBody {
  width: 100%;
}

.chph__label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  width: 100%;
}

.chph__textarea,
.chph__input {
  background: var(--chph-bg-overlay);
  border: 1px solid var(--chph-border-default);
  border-radius: 5px;
  padding: 16px 18px;
  color: inherit;
  font-size: 15px;
  line-height: 1.55;
  transition: border-color 140ms ease, box-shadow 140ms ease;
  width: 100%;
  box-sizing: border-box;
}

.chph__textarea:focus,
.chph__input:focus {
  border-color: rgba(var(--chph-accent-rgb), 0.65);
  outline: none;
  box-shadow: 0 0 0 3px rgba(var(--chph-accent-rgb), 0.22);
}

#chphMessage {
  resize: vertical;
}

.chph__composerActions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  width: 100%;
  flex-wrap: wrap;
}

.chph__composerButtons {
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  flex: 0 1 auto;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}

.chph__tokenTelemetry {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 220px;
  min-width: 220px;
  padding: 8px 12px;
  border-radius: 6px;
  background: var(--chph-bg-surface);
  border: 1px solid var(--chph-border-strong);
  color: var(--chph-text-tinted);
  font-size: 12px;
  transition: border-color 0.2s ease;
}

.chph__tokenTelemetry.is-warning {
  border-color: rgba(244, 199, 111, 0.7);
}

.chph__tokenTelemetry.is-danger {
  border-color: rgba(229, 96, 96, 0.76);
}

.chph__tokenTelemetryHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.chph__tokenTelemetryLabel {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.78;
}

.chph__tokenTelemetryValue {
  font-size: 13px;
  font-weight: 600;
}

.chph__tokenTelemetryMeter {
  position: relative;
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  overflow: hidden;
}

.chph__tokenTelemetryFill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, rgba(var(--chph-accent-rgb), 0.9), rgba(var(--chph-accent-rgb), 0.7));
  transition: width 160ms ease;
}

.chph__tokenTelemetry.is-warning .chph__tokenTelemetryFill {
  background: linear-gradient(90deg, rgba(244, 199, 111, 0.9), rgba(244, 165, 79, 0.9));
}

.chph__tokenTelemetry.is-danger .chph__tokenTelemetryFill {
  background: linear-gradient(90deg, rgba(242, 116, 116, 0.95), rgba(229, 96, 96, 0.95));
}

.chph__tokenTelemetryFooter {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  opacity: 0.78;
}

.chph__tokenTelemetryRemaining {
  font-weight: 500;
}

.chph__tokenTelemetryCost {
  font-weight: 500;
  color: var(--chph-accent, #00ff41);
  margin-left: 8px;
}

.chph__tokenTelemetryUpdated {
  text-align: right;
}

.chph__tokenTelemetryHint {
  font-size: 11px;
  opacity: 0.72;
}

.chph__tokenTelemetry--compact {
  max-width: 240px;
  padding: 6px 10px;
  margin-left: auto;
}

.chph__tokenTelemetry--aboveTabs {
  margin-bottom: 12px;
  flex: none;
}

/* See More button in telemetry header */
.chph__tokenTelemetrySeeMore {
  background: none;
  border: none;
  color: var(--chph-accent, #00ff41);
  cursor: pointer;
  font-size: 11px;
  padding: 2px 6px;
  margin-left: auto;
  border-radius: 4px;
  transition: background-color 0.15s ease;
}

.chph__tokenTelemetrySeeMore:hover {
  background-color: rgba(var(--chph-accent-rgb), 0.15);
}

.chph__tokenTelemetrySeeMore:focus {
  outline: 2px solid var(--chph-accent, #00ff41);
  outline-offset: 1px;
}

/* Context breakdown expanded section */
.chph__contextBreakdown {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(240, 255, 245, 0.1);
  font-size: 12px;
}

.chph__contextLoading,
.chph__contextError {
  color: rgba(240, 255, 245, 0.6);
  font-style: italic;
  padding: 8px 0;
}

.chph__contextError {
  color: #f87171;
}

.chph__contextSummary {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 6px;
}

.chph__contextModel {
  font-weight: 500;
  color: rgba(240, 255, 245, 0.9);
  font-family: var(--font-mono, monospace);
  font-size: 11px;
}

.chph__contextTokenSummary {
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  color: rgba(240, 255, 245, 0.6);
}

/* Overall context usage bar — matches the ⛁ bar from /context */
.chph__contextOverallBar {
  height: 8px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 12px;
}

.chph__contextOverallBarFill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, rgba(var(--chph-accent-rgb), 0.6), rgba(var(--chph-accent-rgb), 0.9));
  border-radius: 4px;
  min-width: 2px;
  transition: width 0.3s ease;
}

.chph__contextOverallBarFill--nodata {
  background: rgba(255, 255, 255, 0.15);
}

/* Free space category — dimmer than active categories */
.chph__contextCategory--free .chph__contextCategoryName {
  color: rgba(240, 255, 245, 0.4);
}

.chph__contextCategory--free .chph__contextCategoryValue {
  color: rgba(240, 255, 245, 0.35);
}

/* Suggestions section */
.chph__contextSection--suggestions {
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px solid rgba(240, 255, 245, 0.06);
}

.chph__contextSuggestion {
  font-size: 11px;
  color: rgba(240, 255, 245, 0.5);
  padding: 2px 0 2px 6px;
  border-left: 2px solid rgba(var(--chph-accent-rgb), 0.3);
  margin-bottom: 4px;
}

/* Context sections */
.chph__contextSection {
  margin-bottom: 12px;
}

.chph__contextSectionTitle {
  font-weight: 600;
  font-size: 11px;
  color: rgba(240, 255, 245, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  padding: 0;
  cursor: default;
  width: 100%;
}

.chph__contextSection--collapsible .chph__contextSectionTitle {
  cursor: pointer;
}

.chph__contextSection--collapsible .chph__contextSectionTitle:hover {
  color: rgba(240, 255, 245, 0.9);
}

.chph__contextToggle {
  font-size: 9px;
  transition: transform 0.2s ease;
}

.chph__contextSection--collapsible.is-collapsed .chph__contextToggle {
  transform: rotate(-90deg);
}

.chph__contextSection--collapsible.is-collapsed .chph__contextSectionContent {
  display: none;
}

/* Context categories (system prompt, tools, etc.) */
.chph__contextCategory {
  padding: 6px 0;
  color: rgba(240, 255, 245, 0.8);
}

.chph__contextCategory + .chph__contextCategory {
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.chph__contextCategoryHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}

.chph__contextCategoryName {
  flex: 1;
  font-size: 12px;
}

.chph__contextCategoryValue {
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  color: rgba(240, 255, 245, 0.6);
}

.chph__contextCategoryBar {
  height: 6px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
  overflow: hidden;
}

.chph__contextCategoryBarFill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, rgba(var(--chph-accent-rgb), 0.7), rgba(var(--chph-accent-rgb), 0.9));
  border-radius: 3px;
  min-width: 2px;
  transition: width 0.3s ease;
}

/* Memory files list */
.chph__contextFile {
  display: flex;
  justify-content: space-between;
  padding: 2px 0 2px 12px;
  color: rgba(240, 255, 245, 0.7);
  font-family: var(--font-mono, monospace);
  font-size: 11px;
}

.chph__contextFilePath {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chph__contextFileTokens {
  flex-shrink: 0;
  margin-left: 8px;
  color: rgba(240, 255, 245, 0.5);
}

/* Skills list */
.chph__contextSkill {
  display: flex;
  align-items: center;
  padding: 2px 0 2px 12px;
  color: rgba(240, 255, 245, 0.7);
  font-size: 11px;
}

.chph__contextSkillName {
  flex: 1;
  font-family: var(--font-mono, monospace);
}

.chph__contextSkillSource {
  font-size: 10px;
  color: rgba(240, 255, 245, 0.4);
  margin: 0 8px;
  padding: 1px 4px;
  background: rgba(240, 255, 245, 0.08);
  border-radius: 3px;
}

.chph__contextSkillTokens {
  flex-shrink: 0;
  font-family: var(--font-mono, monospace);
  color: rgba(240, 255, 245, 0.5);
}

/* Context actions (Clear Context button) */
.chph__contextActions {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(240, 255, 245, 0.1);
  display: flex;
  justify-content: flex-end;
}

.chph__contextAction {
  background: none;
  border: 1px solid rgba(240, 255, 245, 0.2);
  color: rgba(240, 255, 245, 0.8);
  cursor: pointer;
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 4px;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.chph__contextAction:hover {
  background-color: rgba(var(--chph-accent-rgb), 0.15);
  border-color: rgba(var(--chph-accent-rgb), 0.4);
  color: var(--chph-text-tinted);
}

.chph__contextAction:focus {
  outline: 2px solid var(--chph-accent, #00ff41);
  outline-offset: 1px;
}

.chph__contextAction:disabled,
.chph__contextAction[disabled] {
  opacity: 0.4;
  cursor: not-allowed;
}

.chph__contextAction:disabled:hover,
.chph__contextAction[disabled]:hover {
  background: none;
  border-color: rgba(240, 255, 245, 0.2);
}

.chph__tokenTelemetryBreakdown {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  font-size: 12px;
  color: rgba(240, 255, 245, 0.72);
}

.chph__tokenTelemetryStat {
  white-space: nowrap;
}

.chph__tokenTelemetryStat--compaction {
  color: rgba(255, 170, 68, 0.9);
  font-weight: 550;
}

.chph__composerActions .chph__action--ghost {
  background: var(--chph-bg-overlay);
  border: 1px solid var(--chph-border-default);
}

.chph__composerActions .chph__action {
  width: auto;
}

.chph__audioToggle .icon {
  margin-right: 6px;
}

.chph__audioToggle.is-active {
  background: rgba(var(--chph-accent-rgb), 0.2);
  border-color: rgba(var(--chph-accent-rgb), 0.6);
  color: #fff;
}

.chph__composer .clear {
  display: none;
}

.chph__uploadInput {
  display: none;
}


.chph__secondaryOverlay {
  display: none;
}

.chph__awaitingBanner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0;
  padding: 12px 16px;
  border: 1px solid rgba(240, 179, 126, 0.8);
  border-radius: 8px;
  background-color: rgba(240, 179, 126, 0.15);
}

.chph__awaitingText {
  display: flex;
  flex-direction: column;
  font-size: 0.9rem;
  color: #a45a1a;
}

.chph__awaitingMeta {
  font-size: 0.85rem;
}

.chph__haltBanner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0;
  padding: 12px 16px;
  border: 1px solid rgba(229, 96, 96, 0.7);
  border-radius: 8px;
  background-color: rgba(229, 96, 96, 0.12);
  color: #e56060;
}

.chph__haltText {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 0.9rem;
}

.chph__haltTimestamp {
  font-size: 0.82rem;
  opacity: 0.85;
}

/* ── Live Browse Screenshot Panel (Spec 968) ───────────────────── */
/* Pattern source: .chph__awaitingBanner (panel above transcript) */

.chph__liveScreenshot {
  margin: 12px 0;
  border: 1px solid rgba(100, 180, 255, 0.4);
  border-radius: 8px;
  background-color: rgba(100, 180, 255, 0.08);
  overflow: hidden;
}

.chph__liveScreenshotHeader {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  cursor: pointer;
  user-select: none;
  transition: background 140ms ease;
}

.chph__liveScreenshotHeader:hover {
  background: rgba(100, 180, 255, 0.12);
}

.chph__liveScreenshotLabel {
  font-size: 0.85rem;
  font-weight: 600;
  color: rgba(var(--chph-accent-rgb), 1);
}

.chph__liveScreenshotMeta {
  font-size: 0.8rem;
  opacity: 0.7;
}

.chph__liveScreenshotToggle {
  margin-left: auto;
  font-size: 0.7rem;
  opacity: 0.6;
}

.chph__liveScreenshot--collapsed .chph__liveScreenshotHeader {
  border-bottom: none;
}

.chph__liveScreenshotBody {
  padding: 0 12px 12px;
}

.chph__liveScreenshotImage {
  display: block;
  width: 100%;
  max-height: 500px;
  object-fit: contain;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: #0a0a0a;
}

.chph__liveScreenshotFooter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 6px;
  font-size: 0.78rem;
  opacity: 0.65;
}

.chph__liveScreenshotPage {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 80%;
}

.chph__liveScreenshotTime {
  flex-shrink: 0;
}

/* Inline image blocks in transcript (browse screenshots in markdown) */
.chph__imageBlock {
  margin: 8px 0;
}

.chph__image {
  display: block;
  max-width: 100%;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  cursor: zoom-in;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.chph__image:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  transform: translateY(-1px);
}

/* Highcharts chart containers in transcript messages */
.chph__chartContainer {
  margin: 12px 0;
  min-height: 200px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.chph__chartLoading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 40px 16px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
}

/* Override Highcharts internal styles for dark theme compatibility */
.chph__chartContainer .highcharts-background { fill: transparent !important; }
.chph__chartContainer .highcharts-title { fill: rgba(255, 255, 255, 0.85) !important; }
.chph__chartContainer .highcharts-subtitle { fill: rgba(255, 255, 255, 0.6) !important; }
.chph__chartContainer .highcharts-axis-title { fill: rgba(255, 255, 255, 0.6) !important; }
.chph__chartContainer .highcharts-axis-labels text { fill: rgba(255, 255, 255, 0.55) !important; }
.chph__chartContainer .highcharts-grid-line { stroke: rgba(255, 255, 255, 0.08) !important; }
.chph__chartContainer .highcharts-tick { stroke: rgba(255, 255, 255, 0.15) !important; }
.chph__chartContainer .highcharts-legend-item text { fill: rgba(255, 255, 255, 0.7) !important; }
.chph__chartContainer .highcharts-tooltip-box { fill: rgba(30, 30, 30, 0.95) !important; stroke: rgba(255, 255, 255, 0.15) !important; }
.chph__chartContainer .highcharts-tooltip text { fill: rgba(255, 255, 255, 0.9) !important; }

.chph__action {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 5px;
  color: inherit;
  padding: 5px 15px;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease;
}

.chph__action--primary {
  background: linear-gradient(135deg, rgba(var(--chph-accent-rgb), 0.8), rgba(var(--chph-accent-rgb), 0.8));
  border-color: transparent;
}

.chph__action--danger {
  background: rgba(229, 96, 96, 0.2);
  border-color: rgba(229, 96, 96, 0.4);
}

.chph__action--ghost {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}

.chph__requestArchive {
  padding: 6px 10px;
  font-size: 12px;
}

.chph__action--ghost:hover,
.chph__action--ghost:focus {
  border-color: rgba(var(--chph-accent-rgb), 0.5);
  background: rgba(var(--chph-accent-rgb), 0.12);
}

.chph__action--ghost.is-active {
  background: rgba(var(--chph-accent-rgb), 0.2);
  border-color: rgba(var(--chph-accent-rgb), 0.6);
  color: #fff;
}

.chph__action[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.chph__action.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.chph__form {
  display: grid;
  gap: 12px;
}

.chph__panel {
  background: var(--chph-bg-overlay);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.18);
  border-radius: 5px;
  box-shadow: inset 0 0 0 1px rgba(var(--chph-accent-rgb), 0.05);
  padding: 10px 15px;
  display: grid;
  gap: 15px;
  color: var(--chph-text-tinted);
}

.chph__panel--form .chph__form {
  gap: 18px;
}











.chph__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
  color: rgba(240, 255, 245, 0.9);
}

.chph__table thead th {
  text-transform: uppercase;
  letter-spacing: 0.24px;
  font-size: 0.72rem;
  color: rgba(223, 229, 255, 0.7);
  padding: 0 0 12px;
}

.chph__table th,
.chph__table td {
  padding: 10px 15px;
  text-align: left;
}

.chph__table tbody tr {
  background: var(--chph-bg-deep);
}

.chph__table tbody tr+tr td {
  border-top: 1px solid rgba(var(--chph-accent-rgb), 0.16);
}

.chph__panel--table {
  gap: 16px;
}

.chph__panel--table .chph__table {
  border-radius: 12px;
  overflow: hidden;
}

.chph__empty--panel {
  background: var(--chph-bg-surface);
  border: 1px dashed rgba(var(--chph-accent-rgb), 0.35);
  border-radius: 10px;
}

.chph__logTimeline {
  margin-top: 6px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.chph__logTimelineControls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.chph__logTimelineControls .chph__logsTypeGroup {
  flex-wrap: wrap;
}

.chph__logTimelineHint {
  flex: 1 1 160px;
  font-size: 0.72rem;
  letter-spacing: 0.18px;
  color: rgba(223, 229, 255, 0.68);
  text-align: right;
  line-height: 1.15;
}

.chph__logTimelineHint--fallback {
  color: rgba(255, 200, 99, 0.85);
}


.chph__logPreview {
  margin: 0;
  background: var(--chph-bg-overlay);
  border-radius: 8px;
  border: 1px solid rgba(var(--chph-accent-rgb), 0.18);
  padding: 8px 10px;
  font-size: 0.8rem;
  line-height: 1.35;
  color: var(--chph-text-tinted);
  max-height: 180px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

.chph__logTimeline .chph__logItem {
  position: relative;
}

.chph__empty {
  padding: 16px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  text-align: center;
  font-size: 13px;
}

/* ═══════════════════════════════════════════════════════════════════
   TERMINAL PANEL SYSTEM
   Unified terminal-inspired UI for the entire secondary (right) panel.
   All components inherit from .chph__terminalPanel CSS variables.
   Pattern source: .chph__logTerminal (lines 3173-3367)
   ═══════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────────────────
   Foundation: CSS Variables & Base Typography
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel {
  --term-bg: var(--chph-bg-overlay);
  --term-bg-subtle: var(--chph-bg-surface);
  --term-border: rgba(var(--chph-accent-rgb), 0.12);
  --term-border-active: rgba(var(--chph-accent-rgb), 0.25);
  --term-text: var(--chph-text-tinted);
  --term-text-dim: var(--chph-text-muted);
  --term-prefix: rgba(var(--chph-accent-rgb), 0.65);
  --term-font: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  --term-line-height: 1.4;
  --term-gap: 2px;
  --term-radius: 3px;

  font-family: var(--term-font);
  color: var(--term-text);
  font-size: 0.78rem;
  line-height: var(--term-line-height);
}

/* ─────────────────────────────────────────────────────────
   Token Telemetry Bar
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel .chph__tokenTelemetry {
  background: var(--term-bg);
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 8px 10px;
  font-size: 0.75rem;
  gap: 3px;
}

.chph__terminalPanel .chph__tokenTelemetry.is-warning {
  border-color: rgba(244, 199, 111, 0.45);
}

.chph__terminalPanel .chph__tokenTelemetry.is-danger {
  border-color: rgba(229, 96, 96, 0.5);
}

.chph__terminalPanel .chph__tokenTelemetryHeader {
  gap: 8px;
}

.chph__terminalPanel .chph__tokenTelemetryLabel {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--term-prefix);
  opacity: 1;
}

.chph__terminalPanel .chph__tokenTelemetryValue {
  font-size: 0.78rem;
  font-weight: 500;
}

.chph__terminalPanel .chph__tokenTelemetryMeter {
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.06);
}

.chph__terminalPanel .chph__tokenTelemetryFooter {
  font-size: 0.68rem;
  opacity: 0.85;
}

.chph__terminalPanel .chph__tokenTelemetrySeeMore {
  font-size: 0.68rem;
  padding: 2px 5px;
}

.chph__terminalPanel .chph__tokenTelemetryBreakdown {
  gap: 6px;
  font-size: 0.72rem;
}

.chph__terminalPanel .chph__tokenTelemetryStat {
  font-size: 0.68rem;
}

/* ─────────────────────────────────────────────────────────
   Context Breakdown (expanded section)
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel .chph__contextBreakdown {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--term-border);
  font-size: 0.75rem;
}

.chph__terminalPanel .chph__contextSummary {
  margin-bottom: 4px;
}

.chph__terminalPanel .chph__contextModel {
  font-size: 0.72rem;
  color: var(--term-text);
}

.chph__terminalPanel .chph__contextTokenSummary {
  font-size: 0.68rem;
  color: var(--term-text-dim);
}

.chph__terminalPanel .chph__contextOverallBar {
  height: 4px;
  margin-bottom: 8px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.06);
}

.chph__terminalPanel .chph__contextCategory--free .chph__contextCategoryName,
.chph__terminalPanel .chph__contextCategory--free .chph__contextCategoryValue {
  color: var(--term-text-dim);
  opacity: 0.6;
}

.chph__terminalPanel .chph__contextSuggestion {
  font-size: 0.68rem;
  color: var(--term-text-dim);
  padding: 2px 0 2px 6px;
  border-left: 2px solid var(--term-accent, rgba(110, 231, 183, 0.3));
  margin-bottom: 3px;
}

.chph__terminalPanel .chph__contextSection {
  margin-bottom: 8px;
}

.chph__terminalPanel .chph__contextSectionTitle {
  font-size: 0.68rem;
  color: var(--term-prefix);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
}

.chph__terminalPanel .chph__contextSectionTitle::before {
  content: ">";
  color: var(--term-prefix);
  opacity: 0.6;
  font-weight: 400;
}

.chph__terminalPanel .chph__contextCategory {
  margin-bottom: 4px;
}

.chph__terminalPanel .chph__contextCategoryHeader {
  font-size: 0.72rem;
  margin-bottom: 2px;
}

.chph__terminalPanel .chph__contextCategoryName {
  color: var(--term-text);
}

.chph__terminalPanel .chph__contextCategoryValue {
  font-size: 0.68rem;
  color: var(--term-text-dim);
}

.chph__terminalPanel .chph__contextCategoryBar {
  height: 3px;
  border-radius: 1px;
  background: rgba(255, 255, 255, 0.06);
}

.chph__terminalPanel .chph__contextFile,
.chph__terminalPanel .chph__contextSkill {
  padding: 1px 0 1px 10px;
  font-size: 0.68rem;
  gap: 6px;
}

.chph__terminalPanel .chph__contextFilePath,
.chph__terminalPanel .chph__contextSkillName {
  color: var(--term-text);
}

.chph__terminalPanel .chph__contextFileTokens,
.chph__terminalPanel .chph__contextSkillTokens {
  color: var(--term-text-dim);
  font-size: 0.65rem;
}

.chph__terminalPanel .chph__contextToggle {
  font-size: 0.6rem;
  opacity: 0.6;
}

.chph__terminalPanel .chph__contextActions {
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px solid var(--term-border);
}

.chph__terminalPanel .chph__contextAction {
  font-size: 0.68rem;
  padding: 4px 8px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--term-border);
}

.chph__terminalPanel .chph__contextAction:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--term-border-active);
}

/* ─────────────────────────────────────────────────────────
   Tabs Container & Buttons (slash-prefix style)
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel .chph__tabs {
  background: var(--term-bg-subtle);
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 0;
}

.chph__terminalPanel .chph__tabsHeader {
  padding: 8px 10px 0 10px;
  margin-bottom: 0;
  border-bottom: 1px solid var(--term-border);
}

.chph__terminalPanel .chph__tabButtons {
  gap: 2px;
}

.chph__terminalPanel .chph__tabButton {
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 6px 8px 8px 8px;
  font-family: var(--term-font);
  font-size: 0.72rem;
  color: var(--term-prefix);
  transition: color 80ms ease, border-color 80ms ease;
}

.chph__terminalPanel .chph__tabButton::before {
  content: "/";
  opacity: 0.5;
  margin-right: 1px;
}

.chph__terminalPanel .chph__tabButton:hover {
  color: var(--term-text);
  background: transparent;
}

.chph__terminalPanel .chph__tabButton[aria-pressed="true"] {
  background: transparent;
  color: var(--term-text);
  border-bottom-color: var(--chph-accent, #00ff41);
}

.chph__terminalPanel .chph__tabPanel {
  padding: 10px;
  gap: 8px;
}

/* ─────────────────────────────────────────────────────────
   Plan Tab Content
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel .chph__planLayout {
  gap: 8px;
}

.chph__terminalPanel .chph__planCard {
  background: var(--term-bg);
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 8px 10px;
  gap: 8px;
}

.chph__terminalPanel .chph__planCardHeader {
  gap: 8px;
}

.chph__terminalPanel .chph__planCardHeader h5 {
  font-size: 0.78rem;
  font-weight: 600;
  margin: 0;
}

.chph__terminalPanel .chph__hint {
  font-size: 0.65rem;
  color: var(--term-text-dim);
}

.chph__terminalPanel .chph__planSection {
  margin-bottom: 6px;
}

.chph__terminalPanel .chph__planSection h6 {
  font-size: 0.68rem;
  color: var(--term-prefix);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 3px 0;
}

.chph__terminalPanel .chph__planSection h6::before {
  content: "> ";
  opacity: 0.6;
}

.chph__terminalPanel .chph__planSection p {
  font-size: 0.75rem;
  margin: 0;
  line-height: 1.35;
}

.chph__terminalPanel .chph__planSection ul {
  margin: 0;
  padding-left: 12px;
  list-style: none;
}

.chph__terminalPanel .chph__planSection li {
  font-size: 0.72rem;
  line-height: 1.35;
  margin-bottom: 1px;
}

.chph__terminalPanel .chph__planSection li::before {
  content: "› ";
  color: var(--term-prefix);
  opacity: 0.6;
  margin-left: -10px;
}

.chph__terminalPanel .chph__planFields {
  gap: 6px;
}

.chph__terminalPanel .chph__planFieldLabel {
  font-size: 0.65rem;
  color: var(--term-prefix);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 1;
}

.chph__terminalPanel .chph__planNodeCard {
  background: var(--term-bg);
  border: 1px solid var(--term-border);
  border-left: 3px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 8px 10px;
  gap: 6px;
}

.chph__terminalPanel .chph__planNodeCard--completed {
  border-left-color: #22c55e;
}

.chph__terminalPanel .chph__planNodeCard--in_progress {
  border-left-color: #f59e0b;
}

/* ─────────────────────────────────────────────────────────
   Instinct Tab Content
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel .chph__instinctPanel {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.chph__terminalPanel .chph__instinctTitle {
  font-size: 0.82rem;
  font-weight: 600;
  margin: 0 0 4px 0;
}

.chph__terminalPanel .chph__instinctDescription {
  font-size: 0.72rem;
  color: var(--term-text-dim);
  margin: 0 0 8px 0;
  line-height: 1.35;
}

.chph__terminalPanel .chph__instinctList {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.chph__terminalPanel .chph__instinctCard {
  background: var(--term-bg);
  border: 1px solid var(--term-border);
  border-left: 3px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 8px 10px;
}

.chph__terminalPanel .chph__instinctCard--hasConcern {
  border-left-color: rgba(239, 68, 68, 0.7);
}

.chph__terminalPanel .chph__instinctCard--hasSuggestion {
  border-left-color: rgba(34, 197, 94, 0.7);
}

.chph__terminalPanel .chph__instinctCardHeader {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

.chph__terminalPanel .chph__instinctCheckpointBadge {
  font-size: 0.62rem;
  padding: 1px 5px;
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  background: rgba(var(--chph-accent-rgb), 0.1);
  color: var(--term-prefix);
}

.chph__terminalPanel .chph__instinctCheckpointBadge--concern {
  background: rgba(239, 68, 68, 0.12);
  color: #f87171;
}

.chph__terminalPanel .chph__instinctCheckpointBadge--suggestion {
  background: rgba(34, 197, 94, 0.12);
  color: #4ade80;
}

.chph__terminalPanel .chph__instinctSummary {
  font-size: 0.75rem;
  line-height: 1.4;
  margin: 0 0 6px 0;
}

.chph__terminalPanel .chph__instinctField {
  font-size: 0.72rem;
  margin-bottom: 2px;
}

.chph__terminalPanel .chph__instinctFieldLabel {
  color: var(--term-prefix);
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.chph__terminalPanel .chph__instinctObservationList {
  padding-left: 10px;
  margin: 4px 0 0 0;
  list-style: none;
}

.chph__terminalPanel .chph__instinctObservation {
  font-size: 0.72rem;
  line-height: 1.35;
  margin-bottom: 2px;
}

.chph__terminalPanel .chph__instinctObservation::before {
  content: "› ";
  color: var(--term-prefix);
  opacity: 0.6;
}

.chph__terminalPanel .chph__instinctCommand,
.chph__terminalPanel .chph__instinctFile {
  font-size: 0.65rem;
  padding: 1px 4px;
  border-radius: 2px;
  background: rgba(var(--chph-accent-rgb), 0.1);
}

.chph__terminalPanel .chph__instinctEmpty {
  padding: 16px;
  text-align: center;
  color: var(--term-text-dim);
  font-size: 0.72rem;
}

/* ─────────────────────────────────────────────────────────
   Config Tab Content
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel .chph__configForm {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.chph__terminalPanel .chph__configLabel {
  font-size: 0.68rem;
  color: var(--term-prefix);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.chph__terminalPanel .chph__configInput {
  background: var(--term-bg);
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 6px 8px;
  font-family: var(--term-font);
  font-size: 0.75rem;
  color: var(--term-text);
}

.chph__terminalPanel .chph__configInput:focus {
  border-color: var(--term-border-active);
  outline: none;
}

.chph__terminalPanel .chph__configActions {
  display: flex;
  gap: 6px;
  margin-top: 4px;
}

.chph__terminalPanel .chph__configButton {
  font-family: var(--term-font);
  font-size: 0.72rem;
  padding: 5px 10px;
  border-radius: var(--term-radius);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--term-border);
  color: var(--term-text);
  cursor: pointer;
  transition: background 80ms ease, border-color 80ms ease;
}

.chph__terminalPanel .chph__configButton:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--term-border-active);
}

.chph__terminalPanel .chph__configButton--primary {
  background: rgba(var(--chph-accent-rgb), 0.15);
  border-color: rgba(var(--chph-accent-rgb), 0.3);
}

.chph__terminalPanel .chph__configButton--primary:hover {
  background: rgba(var(--chph-accent-rgb), 0.25);
}

/* ─────────────────────────────────────────────────────────
   Sidebar (Left Panel) - Projects & Objectives
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel.chph__sidebar {
  background: var(--term-bg-subtle);
  border: 1px solid var(--term-border);
  gap: 10px;
}

.chph__terminalPanel.chph__sidebar .chph__title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
}

.chph__terminalPanel.chph__sidebar .chph__sidebarBody {
  padding: 0 10px;
  padding-right: calc(10px - 2px);
}

.chph__terminalPanel.chph__sidebar .chph__sidebarHeader {
  padding: 10px 10px 0;
}

/* Sidebar tabs - slash prefix style */
.chph__terminalPanel.chph__sidebar .chph__sidebarTabs {
  gap: 2px;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--term-border);
}

.chph__terminalPanel.chph__sidebar .chph__sidebarTabButton {
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 6px 8px 8px 8px;
  font-size: 0.72rem;
  font-family: var(--term-font);
  color: var(--term-prefix);
  box-shadow: none;
  transition: color 80ms ease, border-color 80ms ease;
}

.chph__terminalPanel.chph__sidebar .chph__sidebarTabButton::before {
  content: "/";
  opacity: 0.5;
  margin-right: 1px;
}

.chph__terminalPanel.chph__sidebar .chph__sidebarTabButton:hover {
  color: var(--term-text);
  background: transparent;
}

.chph__terminalPanel.chph__sidebar .chph__sidebarTabButton[aria-pressed="true"] {
  background: transparent;
  color: var(--term-text);
  border-bottom-color: var(--chph-accent, #00ff41);
  box-shadow: none;
}

/* Request/Objective list */
.chph__terminalPanel.chph__sidebar .chph__requestList {
  gap: 4px;
}

.chph__terminalPanel.chph__sidebar .chph__requestItem {
  border-bottom: 1px solid var(--term-border);
  padding-bottom: 4px;
}

.chph__terminalPanel.chph__sidebar .chph__requestItem.is-active {
  background: var(--term-bg);
  border-radius: var(--term-radius);
  margin: 0 -6px;
  padding: 4px 6px;
  border-left: 3px solid var(--chph-accent, #00ff41);
  border-bottom-color: transparent;
}

.chph__terminalPanel.chph__sidebar .chph__requestButton {
  padding: 8px;
  gap: 3px;
}

.chph__terminalPanel.chph__sidebar .chph__requestHeading {
  gap: 2px;
}

.chph__terminalPanel.chph__sidebar .chph__requestLabel {
  font-size: 0.72rem;
  font-weight: 500;
  gap: 6px;
}

.chph__terminalPanel.chph__sidebar .chph__requestIcon {
  width: 16px;
  height: 16px;
}

.chph__terminalPanel.chph__sidebar .chph__requestName {
  gap: 4px;
}

.chph__terminalPanel.chph__sidebar .chph__requestMeta {
  font-size: 0.62rem;
  opacity: 0.6;
}

.chph__terminalPanel.chph__sidebar .chph__requestFormerTitle {
  font-size: 0.56rem;
  opacity: 0.5;
}

/* Project items */
.chph__terminalPanel.chph__sidebar .chph__projectButton {
  padding: 6px 8px 6px 0;
  gap: 2px;
}

.chph__terminalPanel.chph__sidebar .chph__projectHeading {
  gap: 2px;
}

.chph__terminalPanel.chph__sidebar .chph__projectLabel {
  font-size: 0.72rem;
  font-weight: 500;
  gap: 6px;
}

.chph__terminalPanel.chph__sidebar .chph__projectIcon {
  width: 16px;
  height: 16px;
}

.chph__terminalPanel.chph__sidebar .chph__projectMeta {
  font-size: 0.62rem;
}

.chph__terminalPanel.chph__sidebar .chph__projectList {
  margin: 4px 0 0 0;
  padding: 0 0 0 7px;
  gap: 4px;
}

.chph__terminalPanel.chph__sidebar .chph__projectItem.is-expanded .chph__projectButton {
  background: var(--term-bg);
  border-radius: var(--term-radius);
  padding-left: 0px;
  padding-right: 8px;
}

.chph__terminalPanel.chph__sidebar .chph__projectMore {
  margin: 4px 0 0;
  padding: 3px 10px;
  font-size: 0.65rem;
  border-radius: var(--term-radius);
  border: 1px solid var(--term-border);
}

.chph__terminalPanel.chph__sidebar .chph__projectMore:hover {
  border-color: var(--term-border-active);
  background: rgba(255, 255, 255, 0.04);
}

/* Spec 1046: Family rows in terminal panel */
.chph__terminalPanel.chph__sidebar .chph__familyButton {
  padding: 4px 6px;
  gap: 2px;
}

.chph__terminalPanel.chph__sidebar .chph__familyLabel {
  font-size: 0.70rem;
  font-weight: 500;
  gap: 5px;
}

.chph__terminalPanel.chph__sidebar .chph__familyIcon {
  font-size: 12px;
}

.chph__terminalPanel.chph__sidebar .chph__familyMeta {
  font-size: 0.60rem;
  opacity: 0.5;
}

.chph__terminalPanel.chph__sidebar .chph__familyMemberList {
  margin: 2px 0 0 0;
  padding: 0 0 0 8px;
  gap: 2px;
  border-left-color: var(--term-border, rgba(99, 102, 241, 0.2));
  margin-left: 12px;
}

.chph__terminalPanel.chph__sidebar .chph__familyRoleBadge {
  font-size: 0.56rem;
  padding: 0 4px;
  background: rgba(99, 102, 241, 0.15);
  color: #a5b4fc;
}

.chph__terminalPanel.chph__sidebar .chph__familyHumanName {
  font-size: 0.64rem;
  color: var(--term-text, #e2e8f0);
}

.chph__terminalPanel.chph__sidebar .chph__familyRoleBadge--rep {
  background: rgba(234, 179, 8, 0.15);
  color: #eab308;
}

.chph__terminalPanel.chph__sidebar .chph__familyBadge--private {
  background: rgba(255, 174, 66, 0.15);
  color: #d4a24c;
  font-size: 0.56rem;
}

.chph__terminalPanel.chph__sidebar .chph__familyItem.is-expanded .chph__familyButton {
  background: var(--term-bg);
  border-radius: var(--term-radius);
}

.chph__terminalPanel.chph__sidebar .chph__familyItem.is-expanded .chph__familyIcon {
  color: var(--chph-accent, #00ff41);
}

/* Spec 1046: Family load-more button in terminal theme */
/* Pattern source: chph__radiantChildMoreBtn at christophoros.css:461-475 */
.chph__terminalPanel.chph__sidebar .chph__familyLoadMoreBtn {
  color: rgba(245, 158, 11, 0.7);
  font-size: 0.65rem;
}

.chph__terminalPanel.chph__sidebar .chph__familyLoadMoreBtn:hover {
  background: rgba(245, 158, 11, 0.1);
  color: rgba(245, 178, 50, 1);
}

/* Activity glow in terminal theme — amber stands out against dark bg */
.chph__terminalPanel.chph__sidebar .chph__familyItem--active .chph__familyIcon {
  color: #ffae42;
  text-shadow: 0 0 10px rgba(255, 174, 66, 0.6);
}

/* Action buttons in hover state */
.chph__terminalPanel.chph__sidebar .chph__requestActions,
.chph__terminalPanel.chph__sidebar .chph__projectActions {
  background: var(--term-bg);
  border-radius: var(--term-radius);
  padding: 3px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.chph__terminalPanel.chph__sidebar .chph__requestActionButton,
.chph__terminalPanel.chph__sidebar .chph__projectAction {
  padding: 4px 8px;
  font-size: 0.62rem;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.06);
}

/* Sidebar header action buttons — compact sizing */
.chph__terminalPanel.chph__sidebar .chph__sidebarActions .chph__action {
  font-size: 0.68rem;
}

.chph__terminalPanel.chph__sidebar .chph__sidebarToggle {
  border: 1px solid var(--term-border);
  background: transparent;
}

.chph__terminalPanel.chph__sidebar .chph__sidebarToggle:hover {
  border-color: var(--term-border-active);
  background: rgba(255, 255, 255, 0.04);
}

/* Badges in sidebar */
.chph__terminalPanel.chph__sidebar .chph__orgLinkedBadge {
  font-size: 0.58rem;
  padding: 1px 4px;
  border-radius: 2px;
}

/* Empty state */
.chph__terminalPanel.chph__sidebar .chph__projectEmpty {
  font-size: 0.68rem;
  padding: 2px 0 0 2px;
}

/* ─────────────────────────────────────────────────────────
   Logs Panel (PM2 Process Management)
   Terminal styling for sidebar Logs tab content
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel.chph__sidebar .chph__logsPanel {
  gap: 8px;
}

.chph__terminalPanel.chph__sidebar .chph__logsHeader {
  padding-bottom: 6px;
  border-bottom: 1px solid var(--term-border);
  margin-bottom: 2px;
}

/* PM2 Process tabs - terminal card style */
.chph__terminalPanel.chph__sidebar .chph__logsProcessTabs {
  gap: 4px;
}

.chph__terminalPanel.chph__sidebar .chph__logsProcessButton {
  border: 1px solid var(--term-border);
  background: var(--term-bg);
  border-radius: var(--term-radius);
  padding: 6px 10px;
  border-left: 3px solid transparent;
  transition: border-color 80ms ease, background 80ms ease;
}

.chph__terminalPanel.chph__sidebar .chph__logsProcessButton:hover {
  border-color: var(--term-border-active);
  background: rgba(255, 255, 255, 0.02);
}

.chph__terminalPanel.chph__sidebar .chph__logsProcessButton.is-active,
.chph__terminalPanel.chph__sidebar .chph__logsProcessButton[aria-pressed="true"] {
  background: var(--term-bg);
  border-left-color: var(--chph-accent, #00ff41);
  border-color: var(--term-border-active);
}

.chph__terminalPanel.chph__sidebar .chph__logsProcessName {
  font-family: var(--term-font);
  font-size: 0.72rem;
  font-weight: 500;
}

.chph__terminalPanel.chph__sidebar .chph__logsProcessMeta {
  font-family: var(--term-font);
  font-size: 0.62rem;
  opacity: 0.55;
}

/* Process action buttons */
.chph__terminalPanel.chph__sidebar .chph__logsProcessAction {
  font-family: var(--term-font);
  font-size: 0.62rem;
  padding: 3px 8px;
  border-radius: var(--term-radius);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--term-border);
}

.chph__terminalPanel.chph__sidebar .chph__logsProcessAction:hover {
  border-color: var(--term-border-active);
  background: rgba(255, 255, 255, 0.08);
}

/* System card - terminal style */
.chph__terminalPanel.chph__sidebar .chph__logsSystemCard {
  background: var(--term-bg);
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 8px 10px;
  gap: 8px;
  box-shadow: none;
}

.chph__terminalPanel.chph__sidebar .chph__logsSystemHeader {
  gap: 6px;
}

.chph__terminalPanel.chph__sidebar .chph__logsSystemTitle {
  font-family: var(--term-font);
  font-size: 0.68rem;
  color: var(--term-prefix);
}

.chph__terminalPanel.chph__sidebar .chph__logsSystemTitle::before {
  content: ">";
  opacity: 0.5;
  margin-right: 4px;
}

.chph__terminalPanel.chph__sidebar .chph__logsSystemMeta {
  font-family: var(--term-font);
  font-size: 0.62rem;
}

.chph__terminalPanel.chph__sidebar .chph__logsSystemMetrics {
  gap: 8px;
}

.chph__terminalPanel.chph__sidebar .chph__logsSystemMetricLabel {
  font-family: var(--term-font);
  font-size: 0.58rem;
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__sidebar .chph__logsSystemMetricValue {
  font-family: var(--term-font);
  font-size: 0.72rem;
  color: var(--term-text);
}

/* Logs type buttons */
.chph__terminalPanel.chph__sidebar .chph__logsTypeButton {
  font-family: var(--term-font);
  font-size: 0.68rem;
  padding: 4px 10px;
  border-radius: var(--term-radius);
  border: 1px solid var(--term-border);
  background: transparent;
}

.chph__terminalPanel.chph__sidebar .chph__logsTypeButton.is-active {
  background: var(--term-bg);
  border-color: var(--term-border-active);
  color: var(--term-text);
}

/* Logs controls */
.chph__terminalPanel.chph__sidebar .chph__logsControls {
  gap: 6px;
}

/* Logs list - process items */
.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestItem {
  border-bottom: 1px solid var(--term-border);
  padding: 0;
}

.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestItem.is-active {
  background: var(--term-bg);
  border-radius: var(--term-radius);
  margin: 0 -6px;
  padding: 0 6px;
  border-left: 3px solid var(--chph-accent, #00ff41);
  border-bottom-color: transparent;
}

.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestCard {
  position: relative;
}

.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestRow {
  gap: 6px;
}

.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestButton {
  padding: 6px 0;
  gap: 2px;
}

.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestTitle {
  font-family: var(--term-font);
  font-size: 0.72rem;
  display: flex;
  align-items: center;
  gap: 6px;
}

.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestMeta {
  font-family: var(--term-font);
  font-size: 0.58rem;
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestMeta--sub {
  font-size: 0.55rem;
  opacity: 0.7;
}

/* Process status icons in terminal style */
.chph__terminalPanel.chph__sidebar .chph__logsList .chph__statusIcon--online,
.chph__terminalPanel.chph__sidebar .chph__logsList .chph__statusIcon--stopped,
.chph__terminalPanel.chph__sidebar .chph__logsList .chph__statusIcon--errored,
.chph__terminalPanel.chph__sidebar .chph__logsList .chph__statusIcon--launching,
.chph__terminalPanel.chph__sidebar .chph__logsList .chph__statusIcon--aggregate,
.chph__terminalPanel.chph__sidebar .chph__logsList .chph__statusIcon--unknown {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
}

/* Hover actions for process items */
.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestActions {
  position: absolute;
  top: 4px;
  right: 0;
  background: var(--term-bg);
  border-radius: var(--term-radius);
  padding: 2px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-2px);
  transition: opacity 100ms ease, transform 100ms ease;
}

.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestItem:hover .chph__requestActions {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestActionButton {
  width: 24px;
  height: 24px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
  background: transparent;
  border: none;
  color: var(--term-text-dim);
  transition: background 80ms ease, color 80ms ease;
}

.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestActionButton:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--term-text);
}

.chph__terminalPanel.chph__sidebar .chph__logsList .chph__requestActionButton .lucide-icon {
  width: 14px;
  height: 14px;
}

/* ─────────────────────────────────────────────────────────
   Files Panel (File Browser)
   Terminal styling for sidebar Files tab content
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel.chph__sidebar .chph__filesHeader {
  padding-bottom: 6px;
  border-bottom: 1px solid var(--term-border);
}

.chph__terminalPanel.chph__sidebar .chph__filesPath {
  font-family: var(--term-font);
  font-size: 0.68rem;
  gap: 2px;
}

.chph__terminalPanel.chph__sidebar .chph__crumb {
  color: var(--term-text);
  font-weight: 500;
}

.chph__terminalPanel.chph__sidebar .chph__crumb:hover {
  color: var(--chph-accent, #00ff41);
}

.chph__terminalPanel.chph__sidebar .chph__crumbSeparator {
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__sidebar .chph__filterInput {
  font-family: var(--term-font);
  font-size: 0.72rem;
  padding: 6px 10px;
  border-radius: var(--term-radius);
  border: 1px solid var(--term-border);
  background: var(--term-bg);
  color: var(--term-text);
  margin: 4px 0;
}

.chph__terminalPanel.chph__sidebar .chph__filterInput:focus {
  border-color: var(--term-border-active);
  outline: none;
}

.chph__terminalPanel.chph__sidebar .chph__filterInput::placeholder {
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__sidebar .chph__fileList {
  gap: 2px;
}

.chph__terminalPanel.chph__sidebar .chph__fileItem {
  padding: 5px 6px;
  gap: 8px;
  border-bottom: 1px solid var(--term-border);
  border-left: 2px solid transparent;
  transition: border-color 80ms ease, background 80ms ease;
}

.chph__terminalPanel.chph__sidebar .chph__fileItem:hover {
  background: rgba(255, 255, 255, 0.02);
  border-left-color: var(--term-prefix);
}

.chph__terminalPanel.chph__sidebar .chph__fileName {
  font-family: var(--term-font);
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--term-text);
  gap: 6px;
}

.chph__terminalPanel.chph__sidebar .chph__fileIcon {
  width: 14px;
  height: 14px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.06);
}

.chph__terminalPanel.chph__sidebar .chph__fileMeta {
  font-family: var(--term-font);
  font-size: 0.62rem;
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__sidebar .chph__fileSize {
  min-width: 50px;
}

.chph__terminalPanel.chph__sidebar .chph__fileTime {
  min-width: 75px;
}

.chph__terminalPanel.chph__sidebar .chph__filesActions {
  gap: 4px;
}

/* ─────────────────────────────────────────────────────────
   Changes Panel (Git Controls)
   Terminal styling for sidebar Changes tab content
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel.chph__sidebar .chph__changesActions {
  gap: 6px;
  margin-bottom: 8px;
}

.chph__terminalPanel.chph__sidebar .chph__changesControls {
  gap: 8px;
  margin-bottom: 8px;
}

.chph__terminalPanel.chph__sidebar .chph__diffMode {
  border: 1px solid var(--term-border);
  background: var(--term-bg);
  border-radius: var(--term-radius);
}

.chph__terminalPanel.chph__sidebar .chph__diffModeButton {
  font-family: var(--term-font);
  font-size: 0.62rem;
  padding: 4px 10px;
  border-radius: var(--term-radius);
}

.chph__terminalPanel.chph__sidebar .chph__diffModeButton.is-active,
.chph__terminalPanel.chph__sidebar .chph__diffModeButton[aria-pressed="true"] {
  background: rgba(var(--chph-accent-rgb), 0.25);
  color: var(--term-text);
  box-shadow: none;
}

.chph__terminalPanel.chph__sidebar .chph__changesList {
  gap: 2px;
}

.chph__terminalPanel.chph__sidebar .chph__changesItem {
  padding: 5px 4px;
  gap: 4px;
  border-bottom: 1px solid var(--term-border);
  border-left: 2px solid transparent;
  transition: border-color 80ms ease, background 80ms ease;
}

.chph__terminalPanel.chph__sidebar .chph__changesItem:hover {
  background: rgba(255, 255, 255, 0.02);
}

/* Git select checkbox - terminal style */
.chph__terminalPanel.chph__sidebar .chph__gitSelect {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border-radius: 2px;
  border: 1px solid var(--term-border);
  background: transparent;
}

.chph__terminalPanel.chph__sidebar .chph__gitSelect::after {
  width: 6px;
  height: 6px;
  margin-top: 4px;
  border-radius: 1px;
  background: var(--term-text-dim);
}

.chph__terminalPanel.chph__sidebar .chph__gitSelect[aria-pressed="true"] {
  border-color: var(--chph-accent, #00ff41);
  background: rgba(var(--chph-accent-rgb), 0.15);
  box-shadow: none;
}

.chph__terminalPanel.chph__sidebar .chph__gitSelect[aria-pressed="true"]::after {
  background: var(--chph-accent, #00ff41);
}

.chph__terminalPanel.chph__sidebar .chph__gitSelect--child {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.chph__terminalPanel.chph__sidebar .chph__changesExpand {
  width: 14px;
  flex: 0 0 14px;
  font-size: 0.68rem;
  color: var(--term-text-dim);
}

/* Git status badges - terminal style */
.chph__terminalPanel.chph__sidebar .chph__gitStatusBadge {
  font-family: var(--term-font);
  font-size: 0.58rem;
  padding: 1px 4px;
  border-radius: 2px;
}

.chph__terminalPanel.chph__sidebar .chph__gitPath {
  font-family: var(--term-font);
  font-size: 0.68rem;
  color: var(--term-text);
}

/* Children tree */
.chph__terminalPanel.chph__sidebar .chph__changesChildren {
  margin: 2px 0 4px 28px;
  padding: 0;
  border-left: 1px dashed var(--term-border);
}

.chph__terminalPanel.chph__sidebar .chph__changesChild {
  margin: 2px 0;
  padding-left: 10px;
}

.chph__terminalPanel.chph__sidebar .chph__changesChildRow {
  gap: 4px;
}

.chph__terminalPanel.chph__sidebar .chph__changesChildLink {
  font-family: var(--term-font);
  font-size: 0.65rem;
  color: var(--term-text);
}

.chph__terminalPanel.chph__sidebar .chph__changesChildLink:hover {
  color: var(--chph-accent, #00ff41);
}

/* DevLog/WebApps group toggles */
.chph__terminalPanel.chph__sidebar .chph__changesDevLog {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--term-border);
}

.chph__terminalPanel.chph__sidebar .chph__changesDevLogToggle {
  font-family: var(--term-font);
  font-size: 0.68rem;
  padding: 5px 8px;
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  background: var(--term-bg);
  color: var(--term-text);
}

.chph__terminalPanel.chph__sidebar .chph__changesDevLogToggle:hover {
  border-color: var(--term-border-active);
  background: rgba(255, 255, 255, 0.02);
}

/* Git panel (commit/push/sync cards) */
.chph__terminalPanel.chph__sidebar .chph__gitPanel {
  margin-top: 10px;
  gap: 10px;
}

.chph__terminalPanel.chph__sidebar .chph__gitSelectionBar {
  padding: 6px 8px;
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  background: var(--term-bg);
  gap: 6px;
}

.chph__terminalPanel.chph__sidebar .chph__gitSelectionInfo {
  font-family: var(--term-font);
  font-size: 0.68rem;
  color: var(--term-text);
}

.chph__terminalPanel.chph__sidebar .chph__gitSelectionActions {
  gap: 4px;
}

.chph__terminalPanel.chph__sidebar .chph__gitCards {
  gap: 8px;
}

.chph__terminalPanel.chph__sidebar .chph__gitCard {
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 8px 10px;
  background: var(--term-bg);
  gap: 8px;
  border-left: 3px solid var(--term-prefix);
}

.chph__terminalPanel.chph__sidebar .chph__gitCardHeader {
  font-family: var(--term-font);
  font-size: 0.62rem;
}

.chph__terminalPanel.chph__sidebar .chph__gitCard h5 {
  font-family: var(--term-font);
  font-size: 0.72rem;
  color: var(--term-text);
}

.chph__terminalPanel.chph__sidebar .chph__gitCardMeta {
  font-family: var(--term-font);
  font-size: 0.58rem;
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__sidebar .chph__gitField {
  font-family: var(--term-font);
  font-size: 0.68rem;
  gap: 4px;
}

.chph__terminalPanel.chph__sidebar .chph__gitField input {
  font-family: var(--term-font);
  font-size: 0.72rem;
  padding: 5px 8px;
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  background: rgba(0, 0, 0, 0.2);
  color: var(--term-text);
}

.chph__terminalPanel.chph__sidebar .chph__gitField input:focus {
  border-color: var(--term-border-active);
  outline: none;
}

.chph__terminalPanel.chph__sidebar .chph__gitHint {
  font-family: var(--term-font);
  font-size: 0.62rem;
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__sidebar .chph__gitCardActions {
  gap: 6px;
}

.chph__terminalPanel.chph__sidebar .chph__gitWarning {
  font-family: var(--term-font);
  font-size: 0.65rem;
  color: #ffc77a;
}

.chph__terminalPanel.chph__sidebar .chph__gitOutput {
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 8px;
  background: var(--term-bg);
  gap: 6px;
}

.chph__terminalPanel.chph__sidebar .chph__gitOutput header {
  font-family: var(--term-font);
  font-size: 0.62rem;
  color: var(--term-prefix);
}

.chph__terminalPanel.chph__sidebar .chph__gitCommand {
  font-family: var(--term-font);
  font-size: 0.68rem;
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__sidebar .chph__gitOutput pre {
  font-family: var(--term-font);
  font-size: 0.65rem;
  max-height: 120px;
}

/* Raw git status */
.chph__terminalPanel.chph__sidebar .chph__changesRaw {
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 8px;
  background: var(--term-bg);
  font-family: var(--term-font);
  font-size: 0.65rem;
  margin-top: 8px;
}

.chph__terminalPanel.chph__sidebar .chph__changesRaw summary {
  font-size: 0.68rem;
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__sidebar .chph__changesRaw pre {
  font-size: 0.62rem;
  max-height: 120px;
}

/* ─────────────────────────────────────────────────────────
   Nginx Panel (Server/SSL Management)
   Terminal styling for sidebar Nginx tab content
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel.chph__sidebar .chph__nginxPanel {
  gap: 10px;
  padding: 0;
}

.chph__terminalPanel.chph__sidebar .chph__nginxHeader {
  gap: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--term-border);
}

/* Nginx status badges */
.chph__terminalPanel.chph__sidebar .chph__nginxStatus {
  font-family: var(--term-font);
  font-size: 0.68rem;
  padding: 5px 8px;
  border-radius: var(--term-radius);
}

.chph__terminalPanel.chph__sidebar .chph__nginxStatus--active {
  background: rgba(76, 175, 80, 0.1);
  border: 1px solid rgba(76, 175, 80, 0.3);
  border-left: 3px solid rgba(76, 175, 80, 0.8);
}

.chph__terminalPanel.chph__sidebar .chph__nginxStatus--inactive {
  background: rgba(244, 67, 54, 0.1);
  border: 1px solid rgba(244, 67, 54, 0.3);
  border-left: 3px solid rgba(244, 67, 54, 0.8);
}

.chph__terminalPanel.chph__sidebar .chph__nginxTestResult {
  font-family: var(--term-font);
  font-size: 0.68rem;
  padding: 5px 8px;
  border-radius: var(--term-radius);
}

.chph__terminalPanel.chph__sidebar .chph__nginxTestResult--ok {
  border-left: 3px solid rgba(76, 175, 80, 0.8);
}

.chph__terminalPanel.chph__sidebar .chph__nginxTestResult--error {
  border-left: 3px solid rgba(244, 67, 54, 0.8);
}

.chph__terminalPanel.chph__sidebar .chph__nginxOutput {
  font-family: var(--term-font);
  font-size: 0.62rem;
  padding: 6px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: var(--term-radius);
  max-height: 100px;
}

/* Nginx sections */
.chph__terminalPanel.chph__sidebar .chph__nginxSection {
  border-top: 1px solid var(--term-border);
  padding-top: 8px;
}

.chph__terminalPanel.chph__sidebar .chph__nginxSectionTitle {
  font-family: var(--term-font);
  font-size: 0.72rem;
  color: var(--term-prefix);
  margin-bottom: 6px;
}

.chph__terminalPanel.chph__sidebar .chph__nginxSectionTitle::before {
  content: ">";
  opacity: 0.5;
  margin-right: 4px;
}

/* SSL Certificate actions */
.chph__terminalPanel.chph__sidebar .chph__nginxCertActions {
  gap: 6px;
  margin-bottom: 8px;
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertActions .chph__input {
  font-family: var(--term-font);
  font-size: 0.72rem;
  padding: 5px 8px;
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  background: var(--term-bg);
  color: var(--term-text);
}

/* Certificate list */
.chph__terminalPanel.chph__sidebar .chph__nginxCertList {
  gap: 2px;
  max-height: 200px;
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertItem {
  padding: 5px 8px;
  border-radius: var(--term-radius);
  background: var(--term-bg);
  border: 1px solid var(--term-border);
  border-left: 3px solid transparent;
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertItem--valid {
  border-left-color: rgba(76, 175, 80, 0.7);
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertItem--warning {
  border-left-color: rgba(255, 193, 7, 0.7);
  background: rgba(255, 193, 7, 0.05);
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertItem--expired {
  border-left-color: rgba(244, 67, 54, 0.7);
  background: rgba(244, 67, 54, 0.05);
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertRow {
  gap: 6px;
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertInfo {
  gap: 1px;
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertName {
  font-family: var(--term-font);
  font-size: 0.72rem;
  color: var(--term-text);
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertMeta {
  gap: 4px;
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertBadge {
  font-family: var(--term-font);
  font-size: 0.55rem;
  padding: 1px 4px;
  border-radius: 2px;
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertBadge--valid {
  background: rgba(76, 175, 80, 0.15);
  color: #81c784;
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertBadge--warning {
  background: rgba(255, 193, 7, 0.15);
  color: #ffd54f;
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertBadge--expired {
  background: rgba(244, 67, 54, 0.15);
  color: #e57373;
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertDomains {
  font-family: var(--term-font);
  font-size: 0.58rem;
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__sidebar .chph__nginxCertActions {
  flex-shrink: 0;
}

/* Nginx log controls */
.chph__terminalPanel.chph__sidebar .chph__nginxLogControls {
  display: flex;
  gap: 4px;
  margin-bottom: 6px;
}

.chph__terminalPanel.chph__sidebar .chph__nginxLogControls .chph__action {
  font-family: var(--term-font);
  font-size: 0.65rem;
  padding: 4px 8px;
}

.chph__terminalPanel.chph__sidebar .chph__nginxLogOutput {
  font-family: var(--term-font);
  font-size: 0.62rem;
  padding: 6px 8px;
  background: var(--term-bg);
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  max-height: 150px;
  overflow: auto;
}

/* Common empty/error/hint states in terminal style */
.chph__terminalPanel.chph__sidebar .chph__empty {
  font-family: var(--term-font);
  font-size: 0.68rem;
  color: var(--term-text-dim);
  padding: 8px;
  text-align: center;
}

.chph__terminalPanel.chph__sidebar .chph__error {
  font-family: var(--term-font);
  font-size: 0.68rem;
  padding: 6px 8px;
  border-radius: var(--term-radius);
  background: rgba(244, 67, 54, 0.1);
  border: 1px solid rgba(244, 67, 54, 0.3);
  border-left: 3px solid rgba(244, 67, 54, 0.7);
  color: #ffb1b1;
}

.chph__terminalPanel.chph__sidebar .chph__hint {
  font-family: var(--term-font);
  font-size: 0.68rem;
  padding: 6px 8px;
  border-radius: var(--term-radius);
  background: var(--term-bg);
  border: 1px solid var(--term-border);
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__sidebar .chph__hint--success {
  background: rgba(76, 175, 80, 0.1);
  border-color: rgba(76, 175, 80, 0.3);
  border-left: 3px solid rgba(76, 175, 80, 0.7);
  color: #a5d6a7;
}

/* Action buttons in terminal style */
.chph__terminalPanel.chph__sidebar .chph__action {
  font-family: var(--term-font);
  font-size: 0.68rem;
  padding: 5px 10px;
  border-radius: var(--term-radius);
}

.chph__terminalPanel.chph__sidebar .chph__action--ghost {
  border: 1px solid var(--term-border);
  background: transparent;
  color: var(--term-text);
}

.chph__terminalPanel.chph__sidebar .chph__action--ghost:hover {
  border-color: var(--term-border-active);
  background: rgba(255, 255, 255, 0.04);
}

.chph__terminalPanel.chph__sidebar .chph__action--primary {
  background: rgba(var(--chph-accent-rgb), 0.2);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.4);
  color: var(--term-text);
}

.chph__terminalPanel.chph__sidebar .chph__action--primary:hover {
  background: rgba(var(--chph-accent-rgb), 0.3);
  border-color: rgba(var(--chph-accent-rgb), 0.6);
}

/* ─────────────────────────────────────────────────────────
   Conversation Section (Primary Column)
   Pattern: Left-border state indication like DAG nodes
   ───────────────────────────────────────────────────────── */
.chph__terminalPanel.chph__primary .chph__conversation {
  background: var(--term-bg-subtle);
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 10px;
  gap: 10px;
}

.chph__terminalPanel.chph__primary .chph__transcript {
  padding-right: 2px;
}

.chph__terminalPanel.chph__primary .chph__message {
  position: relative;
  padding: 8px 10px 8px 18px;
  border-radius: var(--term-radius);
  background: var(--term-bg);
  border: 1px solid var(--term-border);
  border-left: 3px solid rgba(94, 234, 212, 0.5);
  box-shadow: none;
  margin-bottom: 6px;
}

.chph__terminalPanel.chph__primary .chph__message:last-child {
  margin-bottom: 0;
}

.chph__terminalPanel.chph__primary .chph__message::before {
  display: none;
}

.chph__terminalPanel.chph__primary .chph__message > * + * {
  margin-top: 0.5rem;
}

.chph__terminalPanel.chph__primary .chph__message--human {
  background: var(--term-bg);
  border-color: var(--term-border);
  border-left-color: var(--chph-accent, #00ff41);
  box-shadow: none;
}

.chph__terminalPanel.chph__primary .chph__message--pending {
  border-left-color: rgba(251, 191, 36, 0.6);
}

/* Spec 1055: Terminal theme thinking dots — use accent green instead of default accent */
.chph__terminalPanel .chph__thinkingDots {
  background: rgba(255, 255, 255, 0.04);
}

.chph__terminalPanel .chph__thinkingDot {
  background: var(--chph-accent, #00ff41);
}

.chph__terminalPanel.chph__primary .chph__message--optimistic {
  border-left-color: rgba(var(--chph-accent-rgb), 0.5);
}

.chph__terminalPanel.chph__primary .chph__messageHeader {
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  color: var(--term-prefix);
  gap: 6px;
}

.chph__terminalPanel.chph__primary .chph__timestamp {
  font-size: 0.65rem;
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__primary .chph__badge {
  background: rgba(var(--chph-accent-rgb), 0.18);
  padding: 2px 6px;
  font-size: 0.62rem;
  border-radius: 2px;
}

.chph__terminalPanel.chph__primary .chph__tag {
  padding: 1px 6px;
  border-radius: 2px;
  background: var(--chph-bg-surface);
  font-size: 0.62rem;
  margin-top: 2px;
}

.chph__terminalPanel.chph__primary .chph__messageBody {
  font-size: 0.82rem;
  line-height: 1.45;
}

.chph__terminalPanel.chph__primary .chph__messageBody pre {
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 8px 10px;
  font-size: 0.75rem;
  line-height: 1.35;
}

.chph__terminalPanel.chph__primary .chph__messageBody code {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 2px;
  padding: 1px 3px;
  font-size: 0.78rem;
}

.chph__terminalPanel.chph__primary .chph__messageBody ul,
.chph__terminalPanel.chph__primary .chph__messageBody ol {
  margin: 4px 0 4px 14px;
  padding-left: 10px;
}

.chph__terminalPanel.chph__primary .chph__rawOriginal .chph__messageRaw {
  padding: 8px 10px;
  border-radius: var(--term-radius);
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid var(--term-border);
  font-size: 0.72rem;
}

.chph__terminalPanel.chph__primary .chph__markdownTableWrapper {
  margin: 8px 0;
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  background: var(--term-bg);
}

.chph__terminalPanel.chph__primary .chph__markdownTable {
  font-size: 0.78rem;
}

.chph__terminalPanel.chph__primary .chph__markdownTable th,
.chph__terminalPanel.chph__primary .chph__markdownTable td {
  padding: 6px 8px;
  border-bottom: 1px solid var(--term-border);
  border-right: 1px solid rgba(255, 255, 255, 0.02);
}

.chph__terminalPanel.chph__primary .chph__markdownTable th {
  font-size: 0.68rem;
  background: var(--chph-bg-surface);
}

/* Spec 995: Terminal panel overrides for enhanced rendering */
.chph__terminalPanel.chph__primary .chph__codeWrapper {
  margin: 8px 0;
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  background: rgba(0, 0, 0, 0.25);
}

.chph__terminalPanel.chph__primary .chph__codeHeader {
  padding: 4px 8px;
  background: rgba(0, 0, 0, 0.15);
  border-bottom: 1px solid var(--term-border);
  min-height: 22px;
}

.chph__terminalPanel.chph__primary .chph__codeLang {
  font-size: 0.65rem;
}

.chph__terminalPanel.chph__primary .phoros__copyBtn {
  font-size: 0.65rem;
  padding: 1px 6px;
}

.chph__terminalPanel.chph__primary .chph__callout {
  margin: 8px 0;
  border-radius: var(--term-radius);
}

.chph__terminalPanel.chph__primary .chph__calloutHeader {
  padding: 5px 8px;
  font-size: 0.72rem;
}

.chph__terminalPanel.chph__primary .chph__calloutBody {
  padding: 5px 8px 7px;
  font-size: 0.78rem;
}

.chph__terminalPanel.chph__primary .chph__mermaidContainer {
  margin: 8px 0;
  padding: 10px;
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  background: var(--term-bg);
}

.chph__terminalPanel.chph__primary .chph__threejsContainer {
  margin: 8px 0;
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  background: var(--term-bg);
}

.chph__terminalPanel.chph__primary .chph__taskCheckbox {
  width: 12px;
  height: 12px;
  margin-top: 3px;
}

/* Composer in terminal style */
.chph__terminalPanel.chph__primary .chph__composer {
  background: var(--term-bg);
  border: 1px solid var(--term-border);
  border-radius: var(--term-radius);
  padding: 8px;
}

.chph__terminalPanel.chph__primary .chph__textarea {
  font-family: var(--term-font);
  font-size: 0.78rem;
  background: transparent;
  border: none;
  color: var(--term-text);
  padding: 4px 6px;
}

.chph__terminalPanel.chph__primary .chph__textarea::placeholder {
  color: var(--term-text-dim);
}

.chph__terminalPanel.chph__primary .chph__composerActions {
  gap: 4px;
}

.chph__terminalPanel.chph__primary .chph__sendButton {
  font-family: var(--term-font);
  font-size: 0.72rem;
  padding: 5px 10px;
  border-radius: var(--term-radius);
}

/* Audio button terminal style */
.chph__terminalPanel.chph__primary .chph__audioButton {
  width: 26px;
  height: 26px;
  background: rgba(255, 255, 255, 0.04);
}

/* Message reply in terminal style */
.chph__terminalPanel.chph__primary .chph__messageReply {
  margin-bottom: 8px;
  line-height: 1.4;
}

/* Empty state */
.chph__terminalPanel.chph__primary .chph__empty {
  padding: 12px;
  border-radius: var(--term-radius);
  background: var(--term-bg);
  font-size: 0.72rem;
  color: var(--term-text-dim);
}

/* ─────────────────────────────────────────────────────────
   Terminal-style eventlog UI
   ───────────────────────────────────────────────────────── */
.chph__logTerminal {
  --term-bg: var(--chph-bg-overlay);
  --term-border: rgba(var(--chph-accent-rgb), 0.12);
  --term-text: var(--chph-text-tinted);
  --term-prefix: rgba(var(--chph-accent-rgb), 0.65);
  --term-line-height: 1.4;
  --term-gap: 2px;
  flex: 0 0 auto;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  background: var(--term-bg);
  border: 1px solid var(--term-border);
  border-radius: 8px;
  padding: 8px;
  font-size: 0.78rem;
  line-height: var(--term-line-height);
  color: var(--term-text);
}

.chph__logTerminal .chph__logTimelineControls {
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--term-border);
}

.chph__logTerminal .chph__logsTypeButton {
  font-family: inherit;
  font-size: 0.72rem;
  padding: 3px 8px;
}

.chph__logLine {
  gap: 6px;
  padding: 2px 4px;
  margin-bottom: var(--term-gap);
  border-radius: 3px;
  transition: background 80ms ease;
}

.chph__logLine:hover {
  background: rgba(255, 255, 255, 0.03);
}

.chph__logLine:last-child {
  margin-bottom: 0;
}

.chph__logPrefix {
  flex-shrink: 0;
  color: var(--term-prefix);
  font-size: 0.72rem;
  min-width: 58px;
  opacity: 0.75;
}

.chph__logType {
  flex-shrink: 0;
  font-weight: 600;
  min-width: 56px;
  font-size: 0.72rem;
}

/* Type prefix colors */
.chph__logType--assistant_message { color: #7edce2; }
.chph__logType--assistant_interim { color: #ffc863; }
.chph__logType--thinking { color: #ffc863; }
.chph__logType--reasoning { color: #ffc863; }
.chph__logType--tool_use { color: #4ade80; }
.chph__logType--tool_result { color: #6ee7b3; }
.chph__logType--spawn { color: #a78bfa; }
.chph__logType--phase_transition { color: #a78bfa; }
.chph__logType--compaction { color: #9ca3af; }
.chph__logType--session_start { color: #60a5fa; }

.chph__logType--error { color: #ff9580; }
.chph__logType--hook_activation { color: #fbbf24; }
.chph__logType--generic { color: #e5ebff; }

.chph__logBody {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
}

.chph__logTerminal .chph__logTitle {
  margin: 0;
  font-weight: 500;
  color: rgba(240, 255, 245, 0.92);
  word-break: break-word;
}

.chph__logTerminal .chph__logMeta {
  margin: 0;
  font-size: 0.72rem;
  color: rgba(223, 229, 255, 0.55);
}

/* Expandable detail area */
.chph__logExpand {
  padding: 4px 0 6px;
  border-left: 2px solid rgba(var(--chph-accent-rgb), 0.15);
  padding-left: 8px;
  margin-bottom: 4px;
}

.chph__logExpand:empty {
  display: none;
}

.chph__logTerminal .chph__logSummary {
  margin: 0 0 2px;
  font-size: 0.78rem;
  line-height: 1.35;
  color: rgba(239, 241, 255, 0.9);
  word-break: break-all;
}

.chph__logTerminal .chph__logChips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 2px 0;
}

.chph__logTerminal .chph__logChip {
  display: inline-block;
  padding: 1px 5px;
  border-radius: 3px;
  background: rgba(var(--chph-accent-rgb), 0.28);
  color: rgba(229, 235, 255, 0.88);
  font-size: 0.68rem;
  letter-spacing: 0.15px;
}

.chph__logTerminal .chph__logDetailList {
  margin: 2px 0 2px 10px;
  padding: 0;
  list-style: none;
  font-size: 0.74rem;
  line-height: 1.3;
}

.chph__logTerminal .chph__logDetailList li {
  margin-bottom: 1px;
}

.chph__logTerminal .chph__logDetailList li::before {
  content: "› ";
  color: rgba(var(--chph-accent-rgb), 0.5);
}

.chph__logTerminal .chph__logPreview {
  margin: 2px 0;
  padding: 6px 8px;
  border-radius: 4px;
  font-size: 0.74rem;
  max-height: 140px;
}

.chph__logTerminal .chph__logRaw {
  margin-top: 2px;
}

.chph__logTerminal .chph__logRaw summary {
  font-size: 0.7rem;
  color: rgba(223, 229, 255, 0.6);
}

/* Interactive blocks - tighter spacing */
.chph__logTerminal .chph__askUserQuestion {
  margin-top: 4px;
  padding: 10px;
  border-radius: 6px;
}

.chph__logTerminal .chph__askQuestion {
  margin-bottom: 10px;
}

.chph__logTerminal .chph__askQuestionText {
  margin: 0 0 8px;
  font-size: 0.82rem;
}

.chph__logTerminal .chph__askOptions {
  gap: 4px;
}

.chph__logTerminal .chph__askOption {
  padding: 8px 10px;
  border-radius: 4px;
}

.chph__logTerminal .chph__editDiff {
  margin-top: 4px;
  border-radius: 4px;
}

.chph__logTerminal .chph__editDiffHeader {
  padding: 4px 8px;
}

.chph__logTerminal .chph__editDiffLine {
  padding: 2px 8px;
  font-size: 0.7rem;
}

.chph__logTerminal .chph__toolResult {
  margin-top: 4px;
  padding: 8px;
  border-radius: 6px;
}

.chph__logTerminal .chph__phaseTransition {
  margin-top: 4px;
  padding: 6px 8px;
}

.chph__logTerminal .chph__reasoning {
  margin-top: 2px;
}

.chph__logTerminal .chph__reasoningDetails summary {
  font-size: 0.7rem;
}

.chph__logTerminal .chph__reasoningContent {
  font-size: 0.74rem;
  padding: 6px 8px;
  max-height: 200px;
}

.chph__logTerminal .chph__compaction {
  margin-top: 4px;
  padding: 6px 8px;
}

.chph__logTitle {
  margin: 0 0 3px;
  font-weight: 600;
  color: rgba(240, 255, 245, 0.92);
}

.chph__logMeta {
  margin: 0 0 3px;
  font-size: 0.75rem;
  letter-spacing: 0.2px;
  color: rgba(223, 229, 255, 0.6);
}

.chph__logSummary {
  margin: 0 0 3px;
  font-size: 0.9rem;
  line-height: 1.35;
  color: rgba(239, 241, 255, 0.95);
}

.workspaceAgentSession.chph__logTimeline .chph__logChips {
  display: block;
  margin: 0 0 3px;
}

.workspaceAgentSession.chph__logTimeline .chph__logChip {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(var(--chph-accent-rgb), 0.32);
  color: rgba(229, 235, 255, 0.92);
  font-size: 0.72rem;
  letter-spacing: 0.2px;
  margin: 0 3px 3px 0;
}

.chph__logChipLabel {
  text-transform: uppercase;
  font-weight: 600;
  opacity: 0.7;
}

.chph__logDetailList {
  margin: 0 0 4px 12px;
  padding: 0;
  list-style: disc;
  color: rgba(223, 229, 255, 0.88);
  font-size: 0.78rem;
  line-height: 1.3;
}

.chph__logDetailList li {
  margin-bottom: 2px;
}

.chph__logRaw {
  margin-top: 2px;
}

.chph__logRaw summary {
  cursor: pointer;
  font-size: 0.76rem;
  color: rgba(223, 229, 255, 0.75);
  margin-bottom: 3px;
}

.chph__logRaw[open] summary {
  color: rgba(var(--chph-accent-rgb), 0.95);
}

/* AskUserQuestion interactive UI */
.chph__askUserQuestion {
  margin-top: 12px;
  padding: 14px;
  border-radius: 8px;
  background: rgba(var(--chph-accent-rgb), 0.15);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.3);
}

.chph__askQuestion {
  margin-bottom: 14px;
}

.chph__askQuestion:last-child {
  margin-bottom: 0;
}

.chph__askHeader {
  display: inline-block;
  padding: 3px 8px;
  margin-bottom: 6px;
  border-radius: 999px;
  background: rgba(var(--chph-accent-rgb), 0.25);
  color: rgba(var(--chph-accent-rgb), 0.95);
  font-size: 0.72rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.chph__askQuestionText {
  margin: 0 0 10px 0;
  font-size: 0.88rem;
  color: rgba(229, 235, 255, 0.95);
  line-height: 1.4;
}

.chph__askOptions {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.chph__askOption {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease;
}

.chph__askOption:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
}

.chph__askOption:has(.chph__askInput:checked) {
  background: rgba(var(--chph-accent-rgb), 0.15);
  border-color: rgba(var(--chph-accent-rgb), 0.5);
}

.chph__askInput {
  margin: 2px 0 0 0;
  flex-shrink: 0;
  accent-color: rgba(var(--chph-accent-rgb), 0.95);
}

.chph__askOptionContent {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.chph__askOptionLabel {
  font-size: 0.84rem;
  color: rgba(229, 235, 255, 0.95);
  font-weight: 500;
}

.chph__askOptionDesc {
  font-size: 0.76rem;
  color: rgba(180, 190, 220, 0.8);
  line-height: 1.35;
}

.chph__askOption--other .chph__askOptionContent {
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.chph__askOption--other .chph__askOptionLabel {
  flex-shrink: 0;
}

.chph__askOtherInput {
  flex: 1;
  min-width: 0;
  padding: 6px 10px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.2);
  color: rgba(229, 235, 255, 0.95);
  font-size: 0.82rem;
  font-family: inherit;
}

.chph__askOtherInput:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.chph__askOtherInput:focus {
  outline: none;
  border-color: rgba(var(--chph-accent-rgb), 0.6);
}

.chph__askActions {
  margin-top: 14px;
  display: flex;
  justify-content: flex-end;
}

.chph__askSubmit {
  padding: 8px 18px;
  border-radius: 6px;
  border: none;
  background: rgba(var(--chph-accent-rgb), 0.85);
  color: rgba(255, 255, 255, 0.98);
  font-size: 0.84rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 120ms ease, opacity 120ms ease;
}

.chph__askSubmit:hover:not(:disabled) {
  background: rgba(var(--chph-accent-rgb), 1);
}

.chph__askSubmit:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.chph__askUserQuestion--answered {
  opacity: 1;
  pointer-events: auto;
}

.chph__askUserQuestion--answered .chph__askSubmit {
  display: none;
}

/* Answered question display */
.chph__askAnswered {
  padding: 4px 0;
}

.chph__askAnsweredHeader {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  color: rgba(134, 239, 172, 0.95);
  font-size: 0.78rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.chph__askAnsweredIcon {
  width: 14px;
  height: 14px;
}

.chph__askAnsweredContent {
  margin: 0;
  padding: 10px 12px;
  border-radius: 6px;
  background: rgba(134, 239, 172, 0.08);
  border: 1px solid rgba(134, 239, 172, 0.2);
  color: rgba(229, 235, 255, 0.95);
  font-size: 0.84rem;
  font-family: inherit;
  white-space: pre-wrap;
  word-wrap: break-word;
  line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════════════════
   Spec 1066: Inline Interactive Fields (5-type family)
   Pattern source: Callout CSS (lines 3242-3340), MCQ CSS (lines 7246-7401)
   ═══════════════════════════════════════════════════════════════════ */

/* ---------- Base Field Container ---------- */

.chph__field {
  margin: 12px 0;
  border-radius: 8px;
  border: 1px solid;
  overflow: hidden;
  transition: opacity 200ms ease;
}

.chph__fieldHeader {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.chph__fieldIcon {
  font-size: 1rem;
  line-height: 1;
}

.chph__fieldBody {
  padding: 8px 12px 10px;
  font-size: 0.92rem;
  line-height: 1.5;
}

.chph__fieldBody p:first-child { margin-top: 0; }
.chph__fieldBody p:last-child { margin-bottom: 0; }

/* ---------- CONFIRM Type (Amber/Gold) ---------- */

.chph__field--confirm {
  border-color: rgba(255, 190, 80, 0.3);
  background: rgba(255, 190, 80, 0.06);
}

.chph__field--confirm .chph__fieldHeader {
  color: rgba(255, 200, 100, 0.9);
  background: rgba(255, 190, 80, 0.08);
}

.chph__field--confirm .chph__fieldBody {
  color: rgba(255, 245, 220, 0.88);
}

/* ---------- SELECT Type (Cyan/Blue) ---------- */

.chph__field--select {
  border-color: rgba(100, 180, 255, 0.3);
  background: rgba(100, 180, 255, 0.06);
}

.chph__field--select .chph__fieldHeader {
  color: rgba(140, 200, 255, 0.9);
  background: rgba(100, 180, 255, 0.08);
}

.chph__field--select .chph__fieldBody {
  color: rgba(235, 239, 255, 0.88);
}

/* ---------- MULTI Type (Teal/Green) ---------- */

.chph__field--multi {
  border-color: rgba(100, 200, 150, 0.3);
  background: rgba(100, 200, 150, 0.06);
}

.chph__field--multi .chph__fieldHeader {
  color: rgba(120, 220, 160, 0.9);
  background: rgba(100, 200, 150, 0.08);
}

.chph__field--multi .chph__fieldBody {
  color: rgba(220, 255, 235, 0.88);
}

/* ---------- INPUT Type (Neutral/Gray) ---------- */

.chph__field--input {
  border-color: rgba(180, 190, 220, 0.25);
  background: rgba(180, 190, 220, 0.05);
}

.chph__field--input .chph__fieldHeader {
  color: rgba(180, 190, 220, 0.9);
  background: rgba(180, 190, 220, 0.07);
}

.chph__field--input .chph__fieldBody {
  color: rgba(229, 235, 255, 0.88);
}

/* ---------- FORM Type (Purple) ---------- */

.chph__field--form {
  border-color: rgba(160, 130, 255, 0.3);
  background: rgba(160, 130, 255, 0.06);
}

.chph__field--form .chph__fieldHeader {
  color: rgba(180, 155, 255, 0.9);
  background: rgba(160, 130, 255, 0.08);
}

.chph__field--form .chph__fieldBody {
  color: rgba(230, 225, 255, 0.88);
}

/* ---------- Interactive: Chips (SELECT/MULTI) ---------- */

.chph__fieldChips {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
}

.chph__fieldChip {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease;
  font-size: 0.84rem;
  color: rgba(229, 235, 255, 0.95);
  user-select: none;
}

.chph__fieldChip:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
}

/* SELECT type: selected chip uses field accent */
.chph__field--select .chph__fieldChip--selected {
  background: rgba(100, 180, 255, 0.15);
  border-color: rgba(100, 180, 255, 0.5);
}

/* MULTI type: selected chip uses field accent */
.chph__field--multi .chph__fieldChip--selected {
  background: rgba(100, 200, 150, 0.15);
  border-color: rgba(100, 200, 150, 0.5);
}

.chph__fieldChipCheck {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  transition: background 120ms ease, border-color 120ms ease;
}

.chph__fieldChip--selected .chph__fieldChipCheck {
  background: currentColor;
  border-color: currentColor;
}

.chph__field--select .chph__fieldChip--selected .chph__fieldChipCheck {
  background: rgba(100, 180, 255, 0.85);
  border-color: rgba(100, 180, 255, 0.85);
}

.chph__field--multi .chph__fieldChip--selected .chph__fieldChipCheck {
  background: rgba(100, 200, 150, 0.85);
  border-color: rgba(100, 200, 150, 0.85);
}

.chph__fieldChipLabel {
  font-weight: 500;
}

.chph__fieldChipDesc {
  font-size: 0.76rem;
  color: rgba(180, 190, 220, 0.8);
  line-height: 1.35;
  margin-top: 2px;
}

/* ---------- Interactive: Approve/Reject Buttons (CONFIRM) ---------- */

.chph__fieldActions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}

.chph__fieldBtn {
  padding: 8px 16px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(229, 235, 255, 0.9);
  font-size: 0.84rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.chph__fieldBtn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
}

.chph__fieldBtn--approve.chph__fieldBtn--active {
  background: rgba(100, 200, 150, 0.2);
  border-color: rgba(100, 200, 150, 0.6);
  color: rgba(120, 220, 160, 0.95);
}

.chph__fieldBtn--reject.chph__fieldBtn--active {
  background: rgba(255, 100, 100, 0.15);
  border-color: rgba(255, 100, 100, 0.5);
  color: rgba(255, 140, 140, 0.95);
}

/* ---------- Interactive: Text Input (INPUT/FORM) ---------- */

.chph__fieldInputWrap {
  margin-top: 8px;
}

.chph__fieldLabel {
  display: block;
  font-size: 0.78rem;
  font-weight: 500;
  color: rgba(180, 190, 220, 0.85);
  margin-bottom: 4px;
}

.chph__fieldInput {
  width: 100%;
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.2);
  color: rgba(229, 235, 255, 0.95);
  font-size: 0.84rem;
  font-family: inherit;
  box-sizing: border-box;
  transition: border-color 120ms ease;
}

.chph__fieldInput:focus {
  outline: none;
  border-color: rgba(var(--chph-accent-rgb), 0.6);
}

.chph__fieldInput::placeholder {
  color: rgba(180, 190, 220, 0.4);
}

.chph__fieldInput:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* FORM type: multiple input rows */
.chph__fieldFormRow {
  margin-top: 8px;
}

.chph__fieldFormRow:first-child {
  margin-top: 0;
}

/* ---------- Submit Footer ---------- */

.chph__fieldSubmit {
  margin-top: 12px;
  padding: 12px;
  border-radius: 8px;
  background: rgba(var(--chph-accent-rgb), 0.08);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.15);
}

.chph__fieldNote {
  width: 100%;
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.15);
  color: rgba(229, 235, 255, 0.95);
  font-size: 0.82rem;
  font-family: inherit;
  resize: vertical;
  min-height: 36px;
  box-sizing: border-box;
  transition: border-color 120ms ease;
}

.chph__fieldNote:focus {
  outline: none;
  border-color: rgba(var(--chph-accent-rgb), 0.5);
}

.chph__fieldNote::placeholder {
  color: rgba(180, 190, 220, 0.4);
}

.chph__fieldNote:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.chph__fieldSubmitBtn {
  display: block;
  margin-top: 8px;
  margin-left: auto;
  padding: 8px 18px;
  border-radius: 6px;
  border: none;
  background: rgba(var(--chph-accent-rgb), 0.85);
  color: rgba(255, 255, 255, 0.98);
  font-size: 0.84rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 120ms ease, opacity 120ms ease;
}

.chph__fieldSubmitBtn:hover:not(:disabled) {
  background: rgba(var(--chph-accent-rgb), 1);
}

.chph__fieldSubmitBtn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* ---------- Submitted State ---------- */

.chph__field--submitted {
  opacity: 0.7;
  pointer-events: none;
}

.chph__field--submitted .chph__fieldChip,
.chph__field--submitted .chph__fieldBtn,
.chph__field--submitted .chph__fieldInput {
  cursor: not-allowed;
}

.chph__fieldSubmit--done .chph__fieldSubmitBtn {
  background: rgba(100, 200, 150, 0.6);
  cursor: default;
}

.chph__fieldSubmit--done .chph__fieldNote {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Edit tool inline diff visualization */
.chph__editDiff {
  margin-top: 10px;
  border: 1px solid var(--chph-border-default);
  border-radius: 6px;
  overflow: hidden;
}

.chph__editDiffHeader {
  display: flex;
  gap: 0.75rem;
  padding: 6px 10px;
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.72rem;
  font-weight: 600;
}

.chph__editDiffStat--add {
  color: rgba(72, 187, 120, 0.95);
}

.chph__editDiffStat--remove {
  color: rgba(231, 76, 60, 0.95);
}

.chph__editDiffBody {
  font-family: var(--jmkr-monospace, 'IBM Plex Mono', monospace);
  font-size: 0.72rem;
  line-height: 1.45;
  background: rgba(0, 0, 0, 0.15);
  overflow-x: auto;
}

.chph__editDiffLine {
  display: grid;
  grid-template-columns: 3ch 3ch 2ch 1fr;
  gap: 0.5rem;
  padding: 3px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.chph__editDiffLine:last-child {
  border-bottom: none;
}

.chph__editDiffLine--added {
  background: rgba(39, 174, 96, 0.18);
}

.chph__editDiffLine--removed {
  background: rgba(231, 76, 60, 0.18);
}

.chph__editDiffLine--gap {
  background: rgba(255, 255, 255, 0.02);
  font-style: italic;
  color: rgba(180, 190, 210, 0.65);
}

.chph__editDiffGutter {
  text-align: right;
  color: rgba(160, 174, 192, 0.45);
}

.chph__editDiffMarker {
  color: rgba(180, 190, 210, 0.6);
}

.chph__editDiffLine--added .chph__editDiffMarker {
  color: rgba(72, 187, 120, 0.85);
}

.chph__editDiffLine--removed .chph__editDiffMarker {
  color: rgba(231, 76, 60, 0.85);
}

.chph__editDiffText {
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(229, 235, 255, 0.9);
}

.chph__editDiffFallback {
  padding: 10px 12px;
  font-size: 0.78rem;
  color: rgba(180, 190, 210, 0.75);
  background: rgba(255, 255, 255, 0.02);
}

/* Message Queue */
.chph__messageQueue {
  padding: 12px;
  background: var(--chph-bg-surface);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.3);
  border-radius: 8px;
  margin-bottom: 10px;
}

.chph__messageQueueHeader {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(var(--chph-accent-rgb), 0.2);
}

.chph__messageQueueIcon {
  width: 16px;
  height: 16px;
  color: rgba(var(--chph-accent-rgb), 0.8);
}

.chph__messageQueueTitle {
  font-size: 12px;
  font-weight: 600;
  color: rgba(var(--chph-accent-rgb), 0.9);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.chph__messageQueueCount {
  margin-left: auto;
  padding: 2px 8px;
  background: rgba(var(--chph-accent-rgb), 0.2);
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  color: rgba(var(--chph-accent-rgb), 0.9);
}

.chph__messageQueueItems {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.chph__messageQueueItem {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  background: rgba(12, 24, 14, 0.5);
  border: 1px solid rgba(48, 54, 61, 0.6);
  border-radius: 6px;
  transition: border-color 0.15s ease;
}

.chph__messageQueueItem:hover {
  border-color: rgba(var(--chph-accent-rgb), 0.4);
}

.chph__messageQueuePosition {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--chph-accent-rgb), 0.15);
  border-radius: 50%;
  font-size: 11px;
  font-weight: 600;
  color: rgba(var(--chph-accent-rgb), 0.9);
}

.chph__messageQueuePreview {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  color: var(--chph-text-secondary) 0.9);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chph__messageQueueActions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.chph__messageQueueSendNow {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  background: rgba(var(--chph-accent-rgb), 0.15);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.3);
  border-radius: 4px;
  color: rgba(var(--chph-accent-rgb), 0.95);
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}

.chph__messageQueueSendNow:hover {
  background: rgba(var(--chph-accent-rgb), 0.25);
  border-color: rgba(var(--chph-accent-rgb), 0.5);
}

.chph__messageQueueSendNow:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(var(--chph-accent-rgb), 0.3);
}

.chph__messageQueueSendNow i {
  width: 12px;
  height: 12px;
}

.chph__messageQueueRemove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  background: transparent;
  border: 1px solid rgba(248, 81, 73, 0.3);
  border-radius: 4px;
  color: rgba(248, 81, 73, 0.7);
  cursor: pointer;
  transition: all 0.15s ease;
}

.chph__messageQueueRemove:hover {
  background: rgba(248, 81, 73, 0.15);
  border-color: rgba(248, 81, 73, 0.5);
  color: rgba(248, 81, 73, 0.95);
}

.chph__messageQueueRemove:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(248, 81, 73, 0.3);
}

.chph__messageQueueRemove i {
  width: 14px;
  height: 14px;
}

/* Toast Notification */
.chph__toast {
  background: var(--chph-bg-elevated) !important;
  border: 1px solid rgba(var(--chph-accent-rgb), 0.3) !important;
  color: var(--chph-text-secondary) !important;
}

.chph__toast .swal2-title {
  color: var(--chph-text-secondary) 0.95) !important;
  font-size: 14px !important;
}

.chph__toast .swal2-html-container {
  color: rgba(160, 174, 192, 0.9) !important;
  font-size: 13px !important;
}

/* Tool Result Display */
.chph__toolResult {
  margin-top: 10px;
  padding: 10px 12px;
  background: rgba(12, 24, 14, 0.6);
  border: 1px solid rgba(48, 54, 61, 0.8);
  border-radius: 8px;
  border-left: 3px solid rgba(88, 166, 255, 0.6);
}

.chph__toolResult--error {
  border-left-color: rgba(248, 81, 73, 0.6);
  background: rgba(248, 81, 73, 0.08);
}

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

.chph__toolResultIcon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.chph__toolResultIcon svg {
  width: 100%;
  height: 100%;
}

.chph__toolResult:not(.chph__toolResult--error) .chph__toolResultIcon {
  color: rgba(88, 166, 255, 0.9);
}

.chph__toolResult--error .chph__toolResultIcon {
  color: rgba(248, 81, 73, 0.9);
}

.chph__toolResultLabel {
  font-size: 12px;
  font-weight: 600;
  color: rgba(229, 235, 255, 0.9);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.chph__toolResult--error .chph__toolResultLabel {
  color: rgba(248, 129, 122, 0.95);
}

.chph__toolResultOutput {
  margin: 0;
  padding: 8px 10px;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 6px;
  font-family: "SF Mono", "Menlo", "Monaco", "Consolas", monospace;
  font-size: 11px;
  line-height: 1.5;
  color: rgba(180, 190, 210, 0.85);
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 200px;
  overflow-y: auto;
}

.chph__toolResult--error .chph__toolResultOutput {
  color: rgba(248, 129, 122, 0.9);
}



/* Phase Transition Display */
.chph__phaseTransition {
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 8px;
  border-left: 3px solid;
}

.chph__phaseTransition--planning {
  background: rgba(136, 87, 255, 0.12);
  border-left-color: rgba(136, 87, 255, 0.7);
}

.chph__phaseTransition--executing {
  background: rgba(63, 185, 80, 0.12);
  border-left-color: rgba(63, 185, 80, 0.7);
}

.chph__phaseHeader {
  display: flex;
  align-items: center;
  gap: 10px;
}

.chph__phaseIcon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.chph__phaseIcon svg {
  width: 100%;
  height: 100%;
}

.chph__phaseTransition--planning .chph__phaseIcon {
  color: rgba(136, 87, 255, 0.9);
}

.chph__phaseTransition--executing .chph__phaseIcon {
  color: rgba(63, 185, 80, 0.9);
}

.chph__phaseLabel {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.chph__phaseTransition--planning .chph__phaseLabel {
  color: rgba(176, 137, 255, 0.95);
}

.chph__phaseTransition--executing .chph__phaseLabel {
  color: rgba(103, 215, 120, 0.95);
}

/* Extended Reasoning Display */
.chph__reasoning {
  margin-top: 8px;
}

.chph__reasoningDetails {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  overflow: hidden;
}

.chph__reasoningSummary {
  padding: 8px 12px;
  font-size: 11px;
  color: rgba(180, 190, 210, 0.8);
  background: rgba(255, 255, 255, 0.03);
  cursor: pointer;
  user-select: none;
}

.chph__reasoningSummary:hover {
  background: rgba(255, 255, 255, 0.05);
  color: rgba(200, 210, 230, 0.9);
}

.chph__reasoningContent {
  margin: 0;
  padding: 12px;
  background: rgba(0, 0, 0, 0.2);
  font-family: "SF Mono", "Menlo", "Monaco", "Consolas", monospace;
  font-size: 11px;
  line-height: 1.6;
  color: rgba(180, 190, 210, 0.85);
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 300px;
  overflow-y: auto;
}

/* Compaction UI - context window compaction events */
.chph__compaction {
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 8px;
  border-left: 3px solid;
}

.chph__compaction--auto {
  background: rgba(255, 170, 68, 0.12);
  border-left-color: rgba(255, 170, 68, 0.7);
}

.chph__compaction--manual {
  background: rgba(100, 180, 255, 0.12);
  border-left-color: rgba(100, 180, 255, 0.7);
}

.chph__compactionHeader {
  display: flex;
  align-items: center;
  gap: 8px;
}

.chph__compactionIcon {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.chph__compactionIcon svg {
  width: 14px;
  height: 14px;
}

.chph__compaction--auto .chph__compactionIcon {
  color: rgba(255, 170, 68, 0.9);
}

.chph__compaction--manual .chph__compactionIcon {
  color: rgba(100, 180, 255, 0.9);
}

.chph__compactionLabel {
  font-size: 13px;
  font-weight: 550;
}

.chph__compaction--auto .chph__compactionLabel {
  color: rgba(255, 200, 128, 0.95);
}

.chph__compaction--manual .chph__compactionLabel {
  color: rgba(150, 200, 255, 0.95);
}

.chph__compactionTokens {
  font-size: 11px;
  color: rgba(180, 190, 210, 0.7);
  margin-left: auto;
}

.chph__error {
  padding: 16px;
  border-radius: 12px;
  background: rgba(229, 96, 96, 0.18);
  border: 1px solid rgba(229, 96, 96, 0.4);
}

.chph__placeholder {
  margin: auto;
  text-align: center;
  opacity: 0.7;
  max-width: 320px;
}

.chph__tabs {
  background: var(--chph-bg-surface);
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 5px;
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.chph__tabsHeader {
  padding: 18px 18px 0 18px;
  margin-bottom: 0;
}

.chph__tabButtons {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  max-width: 100%;
}

.chph__tabButton {
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  padding: 10px 15px;
  border-radius: 5px;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease;
  flex: 0 1 auto;
}

.chph__tabButton[aria-pressed="true"] {
  background: linear-gradient(135deg, rgba(var(--chph-accent-rgb), 0.8), rgba(var(--chph-accent-rgb), 0.8));
  border-color: transparent;
}

.chph__tabButton:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.chph__tabPanel {
  padding: 15px;
  display: none;
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
}

.chph__tabPanel.is-active {
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow-y: auto;
}

.chph__tabPanel.is-hidden {
  display: none;
}

/* ─── Spec 1006: Radiant tab panel ──────────────────────────────── */
.chph__tabButton--radiant {
  color: rgb(245, 178, 50);
}
.chph__tabButton--radiant[aria-pressed="true"] {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.7), rgba(245, 178, 50, 0.7));
  border-color: transparent;
  color: #fff;
}
.chph__tabPanel--radiant {
  padding: 16px;
}
.chph__radiantPanel {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.chph__radiantSection {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.chph__radiantSectionTitle {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.6;
  margin: 0;
}
/* Spec 1030: Removed .chph__radiantVoiceButton, .chph__radiantVoiceHint — voice moved to toolbar */
.chph__radiantBriefButton {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  transition: background 140ms ease;
}
.chph__radiantBriefButton:hover {
  background: rgba(255, 255, 255, 0.08);
}
.chph__radiantBriefButton i {
  width: 14px;
  height: 14px;
}
.chph__radiantBriefResults {
  font-size: 13px;
  line-height: 1.5;
  margin-top: 8px;
}
.chph__radiantBriefResults .chph__tableWrapper {
  margin: 8px 0 0;
  border-radius: 8px;
  overflow: hidden;
}
.chph__radiantBriefResults .chph__table {
  font-size: 0.78rem;
}
.chph__radiantBriefResults .chph__table th,
.chph__radiantBriefResults .chph__table td {
  padding: 6px 10px;
  white-space: nowrap;
}
.chph__radiantBriefResults .chph__table td:nth-child(2) {
  white-space: normal;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.chph__radiantBriefResults .chph__paragraph {
  margin: 0 0 4px;
  color: rgba(240, 255, 245, 0.75);
}
.chph__radiantBriefResults .chph__strong {
  color: rgba(245, 178, 50, 0.95);
}
.chph__radiantBriefLoading {
  color: rgba(255, 255, 255, 0.4);
  font-size: 12px;
  padding: 8px 0;
}
.chph__radiantBriefError {
  color: rgba(239, 68, 68, 0.9);
  font-size: 12px;
  padding: 8px 0;
}

/* Spec 1030→1043: Voice settings UI simplified from radiant-specific →
   toolbar popover → SweetAlert modal (Swal.fire). Button remains .chph__voiceSettingsBtn. */

.chph__logsPanel {
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;
}

.chph__logsHeader {
  display: flex;
  justify-content: flex-end;
}

.chph__logsProcessTabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.chph__logsProcessButton {
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
  color: inherit;
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease;
  text-align: left;
  min-width: 0;
}

.chph__logsProcessButton.is-active,
.chph__logsProcessButton[aria-pressed="true"] {
  background: linear-gradient(135deg, rgba(var(--chph-accent-rgb), 0.75), rgba(var(--chph-accent-rgb), 0.75));
  border-color: transparent;
}

.chph__logsProcessName {
  display: block;
  font-weight: 600;
  font-size: 13px;
}

.chph__logsProcessMeta {
  display: block;
  font-size: 11px;
  opacity: 0.7;
}

.chph__requestMeta--sub {
  opacity: 0.6;
  font-size: 11px;
  display: block;
}

.chph__logsProcessActions {
  display: inline-flex;
  gap: 6px;
  margin-left: auto;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.chph__logsProcessAction {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  transition: background 140ms ease, color 140ms ease;
}

.chph__logsProcessAction[disabled] {
  opacity: 0.5;
  pointer-events: none;
}

.chph__logsProcessAction:hover,
.chph__logsProcessAction:focus {
  background: rgba(var(--chph-accent-rgb), 0.28);
  color: #fff;
}

.chph__logsProcessActionLoader {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.25);
  border-top-color: rgba(255, 255, 255, 0.9);
  animation: chph-spinner 0.8s linear infinite;
}

/* Legacy logsSystemCard (kept for backward compat) */
.chph__logsSystemCard {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 8px;
  background: rgba(12, 14, 24, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 12px 24px rgba(6, 8, 20, 0.35);
}

/* ─────────────────────────────────────────────────────────
   Terminal-style system stats (replaces card-based UI)
   ───────────────────────────────────────────────────────── */
.chph__logsSystemTerminal {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  font-size: 0.75rem;
  line-height: 1.4;
  background: var(--chph-bg-overlay, rgba(9, 10, 16, 0.95));
  border: 1px solid rgba(var(--chph-accent-rgb, 0, 255, 65), 0.12);
  border-radius: 4px;
  padding: 6px 10px;
  margin-bottom: 8px;
}

.chph__logsSystemLine {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}

.chph__logsSystemPrefix {
  color: rgba(var(--chph-accent-rgb, 0, 255, 65), 0.5);
  font-weight: 500;
}

.chph__logsSystemLabel {
  color: rgba(var(--chph-accent-rgb, 0, 255, 65), 0.85);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  min-width: 28px;
}

.chph__logsSystemValues {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  flex: 1;
}

.chph__logsSystemStat {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  color: rgba(240, 245, 255, 0.88);
}

.chph__logsSystemStatLabel {
  color: rgba(var(--chph-accent-rgb, 0, 255, 65), 0.55);
  font-size: 0.68rem;
  text-transform: lowercase;
}

.chph__logsSystemProcess {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.68rem;
  margin-left: auto;
}

.chph__logsSystemHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.chph__logsSystemTitle {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.82);
}

.chph__logsSystemMeta {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.55);
}

.chph__logsSystemMetrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}

.chph__logsSystemMetric {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.chph__logsSystemMetricLabel {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.55);
}

.chph__logsSystemMetricValue {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.88);
}

.chph__aggregateViewer {
  position: relative;
}

.chph__aggregateLegend--sticky {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 4px 0;
  background: var(--chph-bg-overlay, rgba(9, 10, 16, 0.98));
  backdrop-filter: blur(6px);
}

.chph__logsList .chph__requestRow {
  align-items: center;
  gap: 14px;
}

.chph__logsList .chph__requestButton {
  padding: 12px 0;
}

.chph__logsList .chph__requestTitle {
  font-size: 14px;
  font-weight: 600;
}

.chph__logsList .chph__requestMeta {
  font-size: 10px;
}

.chph__logsList .chph__requestItem:hover .chph__logsProcessActions,
.chph__logsList .chph__requestItem:focus-within .chph__logsProcessActions {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.chph__logsControls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.chph__logsTypeGroup {
  display: inline-flex;
  gap: 6px;
}

.chph__logsTypeButton {
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
  color: inherit;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease;
}

.chph__logsTypeButton.is-active,
.chph__logsTypeButton[aria-pressed="true"] {
  background: rgba(var(--chph-accent-rgb), 0.35);
  border-color: rgba(var(--chph-accent-rgb), 0.65);
}

.chph__logsActions {
  display: inline-flex;
  gap: 6px;
}

.chph__logsMeta {
  font-size: 12px;
  opacity: 0.6;
}

.chph__logsViewer {
  flex: 1 1 auto;
  min-height: 240px;
  max-height: calc(100vh - 285px);
  overflow: auto;
  background: var(--chph-bg-overlay, rgba(9, 10, 16, 0.95));
  border: 1px solid rgba(var(--chph-accent-rgb, 0, 255, 65), 0.12);
  border-radius: 4px;
  color: rgba(240, 245, 255, 0.9);
  padding: 8px;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  font-size: 0.75rem;
  line-height: 1.4;
  white-space: pre-wrap;
  word-break: break-word;
}

.chph__aggregateViewer {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.chph__aggregateLegend {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(var(--chph-accent-rgb, 0, 255, 65), 0.1);
  margin-bottom: 2px;
}

.chph__aggregateLegendItem {
  display: inline-flex;
  align-items: center;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  padding: 2px 6px;
  border-radius: 2px;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid transparent;
}

/* ─────────────────────────────────────────────────────────
   Terminal-style aggregate log lines
   ───────────────────────────────────────────────────────── */
.chph__aggregateLines {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.chph__aggregateLine {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 2px 6px;
  border-radius: 2px;
  border-left: 2px solid rgba(255, 255, 255, 0.08);
  background: transparent;
  transition: background 80ms ease;
}

.chph__aggregateLine:hover {
  background: rgba(255, 255, 255, 0.03);
}

.chph__aggregateBadge {
  flex: 0 0 auto;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  font-weight: 600;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  min-width: 72px;
  opacity: 0.9;
}

.chph__aggregateText {
  flex: 1 1 auto;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  font-size: 0.75rem;
  line-height: 1.4;
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(240, 245, 255, 0.88);
}

.chph__aggregateEmpty {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  font-size: 0.75rem;
  font-style: italic;
  color: rgba(255, 255, 255, 0.5);
  padding: 4px 6px;
}

.chph__aggregateStatus {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
  padding: 4px 6px;
}

/* Tone colors - terminal style (border accent, no background) */
.chph__logAggregateLine--toneA {
  border-left-color: rgba(var(--chph-accent-rgb), 0.7);
}
.chph__logAggregateLine--toneA .chph__aggregateBadge {
  color: rgba(var(--chph-accent-rgb), 0.95);
}
.chph__aggregateLegendItem.chph__logAggregateLine--toneA {
  border-left: 2px solid rgba(var(--chph-accent-rgb), 0.7);
  background: rgba(var(--chph-accent-rgb), 0.1);
  color: rgba(var(--chph-accent-rgb), 0.95);
}

.chph__logAggregateLine--toneB {
  border-left-color: rgba(100, 200, 150, 0.7);
}
.chph__logAggregateLine--toneB .chph__aggregateBadge {
  color: rgba(100, 200, 150, 0.95);
}
.chph__aggregateLegendItem.chph__logAggregateLine--toneB {
  border-left: 2px solid rgba(100, 200, 150, 0.7);
  background: rgba(100, 200, 150, 0.1);
  color: rgba(100, 200, 150, 0.95);
}

.chph__logAggregateLine--toneC {
  border-left-color: rgba(78, 201, 176, 0.7);
}
.chph__logAggregateLine--toneC .chph__aggregateBadge {
  color: rgba(78, 201, 176, 0.95);
}
.chph__aggregateLegendItem.chph__logAggregateLine--toneC {
  border-left: 2px solid rgba(78, 201, 176, 0.7);
  background: rgba(78, 201, 176, 0.1);
  color: rgba(78, 201, 176, 0.95);
}

.chph__logAggregateLine--toneD {
  border-left-color: rgba(244, 199, 111, 0.7);
}
.chph__logAggregateLine--toneD .chph__aggregateBadge {
  color: rgba(244, 199, 111, 0.95);
}
.chph__aggregateLegendItem.chph__logAggregateLine--toneD {
  border-left: 2px solid rgba(244, 199, 111, 0.7);
  background: rgba(244, 199, 111, 0.1);
  color: rgba(244, 199, 111, 0.95);
}

.chph__logAggregateLine--toneE {
  border-left-color: rgba(247, 121, 199, 0.7);
}
.chph__logAggregateLine--toneE .chph__aggregateBadge {
  color: rgba(247, 121, 199, 0.95);
}
.chph__aggregateLegendItem.chph__logAggregateLine--toneE {
  border-left: 2px solid rgba(247, 121, 199, 0.7);
  background: rgba(247, 121, 199, 0.1);
  color: rgba(247, 121, 199, 0.95);
}

.chph__logAggregateLine--toneF {
  border-left-color: rgba(125, 211, 108, 0.7);
}
.chph__logAggregateLine--toneF .chph__aggregateBadge {
  color: rgba(125, 211, 108, 0.95);
}
.chph__aggregateLegendItem.chph__logAggregateLine--toneF {
  border-left: 2px solid rgba(125, 211, 108, 0.7);
  background: rgba(125, 211, 108, 0.1);
  color: rgba(125, 211, 108, 0.95);
}

.chph__logAggregateLine--error {
  border-left-color: rgba(255, 149, 128, 0.8);
}
.chph__logAggregateLine--error .chph__aggregateBadge {
  color: rgba(255, 149, 128, 0.95);
}
.chph__logAggregateLine--error .chph__aggregateText {
  color: rgba(255, 149, 128, 0.9);
}
.chph__aggregateLegendItem.chph__logAggregateLine--error {
  border-left: 2px solid rgba(255, 149, 128, 0.7);
  background: rgba(255, 149, 128, 0.1);
  color: rgba(255, 149, 128, 0.95);
}

@keyframes chph-spinner {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.chph__spin {
  animation: chph-spinner 0.8s linear infinite;
}

.chph__actionList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.chph__actionCard {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 10px 15px;
  display: grid;
}

.chph__actionHeader {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  cursor: pointer;
}

.chph__actionCard summary::-webkit-details-marker {
  display: none;
}

.chph__actionCard[open] {
  border-color: rgba(var(--chph-accent-rgb), 0.4);
  background: rgba(var(--chph-accent-rgb), 0.08);
}

.chph__actionSummary {
  opacity: 0.7;
}

.chph__actionBody {
  display: grid;
  gap: 12px;
  margin-top: 10px;
  font-size: 13px;
}

.chph__actionBlock {
  display: grid;
  gap: 6px;
}

.chph__actionBlock p {
  margin: 0;
}

.chph__actionBlock ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.chph__actionPlanTitle {
  font-weight: 600;
  margin: 0;
}

.chph__actionPlanCommander {
  margin: 0;
  opacity: 0.8;
}

.chph__actionPlanHazards {
  list-style: none;
  padding-left: 0;
  display: grid;
  gap: 6px;
}

.chph__actionPlanHazardRisk {
  font-weight: 600;
}

.chph__actionPlanHazardMitigation {
  opacity: 0.8;
}

.chph__actionPlanNodes {
  list-style: none;
  padding-left: 0;
  display: grid;
  gap: 10px;
}

.chph__actionPlanNode {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 6px;
  padding: 10px 15px;
  display: grid;
  gap: 6px;
}

.chph__actionPlanNodeHeader {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.85;
}

.chph__actionPlanNodeKey {
  font-family: var(--monospace, 'Source Code Pro', monospace);
}

.chph__actionPlanNodeRole {
  background: rgba(var(--chph-accent-rgb), 0.18);
  border-radius: 999px;
  padding: 2px 8px;
}

.chph__actionPlanNodeDescription {
  margin: 0;
}

.chph__actionPlanNodeDependencies {
  margin: 0;
  opacity: 0.8;
  font-size: 12px;
}

.chph__testDetails {
  opacity: 0.7;
}

.chph__testStatus {
  margin-left: 6px;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.04em;
}

.chph__testStatus--passed {
  color: #46d39d;
}

.chph__testStatus--failed {
  color: #e56060;
}

.chph__severity {
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.04em;
}

.chph__severity--critical {
  color: #ff7d7d;
}

.chph__severity--warning {
  color: #f1b44c;
}

.chph__severity--info {
  color: var(--chph-accent);
}

.chph__sidebarTabs {
  display: flex;
  flex-shrink: 0;
  gap: 8px;
  margin-bottom: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
}

.chph__sidebarTabs::-webkit-scrollbar {
  height: 4px;
}

.chph__sidebarTabs::-webkit-scrollbar-track {
  background: transparent;
}

.chph__sidebarTabs::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2px;
}

.chph__sidebarTabButton {
  flex: 0 0 auto;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 11px;
  border-radius: 5px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.65);
  padding: 10px 12px;
  font-weight: 600;
  white-space: nowrap;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.chph__sidebarTabButton[aria-pressed="true"] {
  background: linear-gradient(135deg, rgba(var(--chph-accent-rgb), 0.95), rgba(var(--chph-accent-rgb), 0.95));
  color: #050814;
  border-color: transparent;
  box-shadow: 0 6px 18px rgba(100, 119, 255, 0.4);
}

.chph__sidebarPanel {
  display: none;
}

.chph__sidebarPanel.is-active {
  display: block;
}

.chph__filesHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.chph__filesPath {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.chph__crumb {
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.85);
  padding: 0;
  font-weight: 600;
}

.chph__crumbSeparator {
  color: rgba(255, 255, 255, 0.4);
}

.chph__filesActions {
  display: flex;
  gap: 6px;
}

.chph__filterInput {
  width: 100%;
  margin: 5px 0 5px;
  padding: 9px 12px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(8, 11, 23, 0.8);
  color: #f4f4f5;
  font-size: 13px;
}

.chph__filterInput:focus {
  border-color: rgba(var(--chph-accent-rgb), 0.6);
  outline: none;
}

.chph__fileList {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.chph__fileItem {
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 8px 4px;
}

.chph__fileName {
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
  background: transparent;
  color: #f5f5f7;
  font-weight: 600;
  text-align: left;
  flex: 1;
  min-width: 0;
}

.chph__fileIcon {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
}

.chph__fileMeta {
  display: flex;
  align-items: center;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.7);
  flex-shrink: 0;
}

.chph__fileMeta .chph__action {
  min-width: 64px;
  text-align: center;
}

.chph__fileSize {
  min-width: 60px;
  text-align: right;
}

.chph__fileTime {
  min-width: 90px;
  text-align: right;
}

.chph__changesActions {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.chph__changesControls {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.chph__changesControls .chph__filterInput {
  margin: 0;
  flex: 1;
}

.chph__diffMode {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(8, 11, 23, 0.85);
}

.chph__diffModeButton {
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 6px 16px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.chph__diffModeButton.is-active {
  background: linear-gradient(135deg, rgba(var(--chph-accent-rgb), 0.95), rgba(var(--chph-accent-rgb), 0.95));
  color: #050814;
  box-shadow: 0 4px 12px rgba(100, 119, 255, 0.35);
}

.chph__changesList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.chph__changesItem {
  display: flex;
  align-items: center;
  gap: 5px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 10px 4px;
  position: relative;
}

.chph__changesExpand {
  width: 18px;
  flex: 0 0 18px;
  text-align: center;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  cursor: pointer;
}

.chph__changesExpand--placeholder {
  display: none;
}

.chph__gitSelect {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.02);
  cursor: pointer;
  flex: 0 0 22px;
}

.chph__gitSelect::after {
  content: '';
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.3);
  margin: 0 auto;
  margin-top: 5px;
}

.chph__gitSelect[aria-pressed="true"] {
  background: rgba(var(--chph-accent-rgb), 0.3);
  border-color: rgba(var(--chph-accent-rgb), 0.7);
  box-shadow: 0 0 6px rgba(var(--chph-accent-rgb), 0.5);
}

.chph__gitSelect[aria-pressed="true"]::after {
  background: #061008;
}

.chph__gitSelect--child {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

.chph__gitStatusBadge {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.1);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.chph__gitStatusBadge--added {
  background: rgba(67, 181, 129, 0.15);
  color: #7ef2c4;
}

.chph__gitStatusBadge--modified {
  background: rgba(255, 194, 111, 0.12);
  color: #ffd9a1;
}

.chph__gitStatusBadge--deleted {
  background: rgba(255, 97, 97, 0.15);
  color: #ffb1b1;
}

.chph__gitStatusBadge--untracked {
  background: rgba(130, 148, 255, 0.18);
  color: #d5ddff;
}

.chph__gitStatusBadge--renamed,
.chph__gitStatusBadge--changed {
  background: rgba(var(--chph-accent-rgb), 0.18);
  color: #dcd0ff;
}

.chph__gitStatusBadge--copied {
  background: rgba(var(--chph-accent-rgb), 0.18);
  color: #d1dfff;
}

.chph__gitStatusBadge--conflict {
  background: rgba(255, 140, 88, 0.2);
  color: #ffd6c2;
}

.chph__gitPath {
  flex: 1;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  padding-left: 2px;
}

.chph__changesChildren {
  list-style: none;
  margin: 4px 0 8px 34px;
  padding: 0;
  border-left: 1px dashed rgba(255, 255, 255, 0.12);
}

.chph__changesChild {
  margin: 4px 0;
  padding-left: 12px;
}

.chph__changesChildRow {
  display: flex;
  align-items: center;
  gap: 6px;
}

.chph__changesDevLog {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.chph__changesDevLogToggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 10px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.82);
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
  text-align: left;
}

.chph__changesDevLogToggle:hover,
.chph__changesDevLogToggle:focus {
  color: #ffffff;
  border-color: rgba(var(--chph-accent-rgb), 0.55);
  background: rgba(var(--chph-accent-rgb), 0.16);
}

.chph__changesList--devlog,
.chph__changesList--webapps {
  margin-top: 10px;
}

.chph__changesChildLink {
  border: none;
  background: none;
  color: rgba(255, 255, 255, 0.8);
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
  font-size: 12px;
  text-align: left;
  cursor: pointer;
  padding: 0;
}

.chph__changesChild--loading,
.chph__changesChild--error,
.chph__changesChild--empty {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
}

.chph__monacoDialog {
  padding: 0 !important;
}

.chph__monacoContainer {
  height: 60vh;
}

.chph__viewerPanel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 18px;
  background: rgba(8, 11, 23, 0.85);
  flex: 1 1 auto;
  min-height: 0;
}

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

.chph__viewerTitle {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.chph__viewerMeta,
.chph__viewerPath {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 4px;
  word-break: break-all;
}

.chph__viewerActions {
  display: flex;
  gap: 8px;
}

.chph__viewerHint {
  margin-top: 8px;
}

.chph__viewerError {
  margin-top: 12px;
}

.chph__viewerSurface {
  position: relative;
  flex: 1 1 auto;
  min-height: 220px;
}

.chph__viewerHost {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  border: 1px solid var(--chph-border-default);
  background: var(--chph-bg-surface);
}

.chph__viewerFallback {
  display: none;
  width: 100%;
  border-radius: 8px;
  border: 1px solid var(--chph-border-default);
  background: var(--chph-bg-surface);
  color: #f4f4f5;
  font-family: 'Source Code Pro', 'Menlo', 'Monaco', monospace;
  font-size: 12px;
  line-height: 1.6;
  padding: 14px 16px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

.chph__renderMarkdown,
.chph__renderHtml {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(5, 8, 18, 0.95);
  color: rgba(255, 255, 255, 0.9);
  overflow: auto;
  padding: 18px;
}

.chph__renderMarkdown h1,
.chph__renderMarkdown h2,
.chph__renderMarkdown h3,
.chph__renderMarkdown h4,
.chph__renderMarkdown h5 {
  color: #ffffff;
  margin-top: 1.2em;
}

.chph__renderMarkdown pre,
.chph__renderMarkdown code {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
  background: rgba(255, 255, 255, 0.08);
  padding: 2px 4px;
  border-radius: 4px;
}

.chph__renderHtml {
  border: none;
  padding: 0;
}

.chph__renderHtml iframe,
.chph__renderHtml {
  width: 100%;
  height: 100%;
  border: none;
}

.chph__viewerPanel--diff .chph__viewerSurface,
.chph__viewerPanel--diff .chph__viewerHost {
  height: calc(100vh - 295px);
}

.chph__viewerPanel--log .chph__viewerSurface,
.chph__viewerPanel--log .chph__viewerHost {
  height: calc(100vh - 235px);
}

.chph__viewerPanel--log .chph__viewerHost {
  display: none;
}

.chph__viewerPanel--log .chph__viewerFallback {
  display: block;
}

.chph__viewerPanel--file .chph__viewerSurface,
.chph__viewerPanel--file .chph__viewerHost {
  height: calc(100vh - 235px);
}

.chph__viewerPanel--empty .chph__viewerSurface,
.chph__viewerPanel--empty .chph__viewerHost {
  height: calc(100vh - 215px);
}

/* ── Spec 1015: Jobs Queue Visibility — viewer panel + sidebar styles ────── */

.chph__viewerPanel--jobs .chph__viewerSurface {
  height: calc(100vh - 235px);
  overflow-y: auto;
}

.chph__viewerPanel--jobs .chph__viewerHost {
  display: none;
}

/* Spec 1063 Phase 9: Deleted Jobs dashboard CSS (chph__jobs*, chph__job* — 30 rules). HTML removed in Wave 4c. */

.chph__viewerPlaceholder {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 8px;
  background: rgba(10, 12, 24, 0.92);
  color: rgba(255, 255, 255, 0.75);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.chph__viewerDiffRaw {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 8px;
  background: rgba(0, 0, 0, 0.35);
}

.chph__viewerDiffRaw pre,
.chph__changesRaw pre {
  max-height: 200px;
  overflow: auto;
  margin: 8px 0 0 0;
}

.chph__changesRaw {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 12px;
  background: rgba(5, 8, 18, 0.8);
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
  font-size: 12px;
  color: #d5daf1;
  margin-top: 16px;
}

.chph__changesRaw summary {
  cursor: pointer;
  color: rgba(255, 255, 255, 0.85);
}

.chph__gitPanel {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.chph__gitSelectionBar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(10, 12, 24, 0.6);
  flex-wrap: wrap;
  gap: 10px;
}

.chph__gitSelectionInfo {
  font-size: 13px;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.75);
}

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

.chph__gitCards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.chph__gitCard {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 14px;
  background: rgba(8, 11, 23, 0.75);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.chph__gitCardHeader {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
}

.chph__gitCard h5 {
  margin: 0;
  font-size: 13px;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.9);
}

.chph__gitCardMeta {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
}

.chph__gitField {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
}

.chph__gitField input {
  width: 100%;
}

.chph__gitHint {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.65);
  margin: 0;
}

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

.chph__gitWarning {
  color: #f7c07c;
  margin: 0;
  font-size: 12px;
}

.chph__gitOutput {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 12px;
  background: rgba(5, 8, 18, 0.85);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.chph__gitOutput header {
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 4px;
}

.chph__gitCommand {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
}

.chph__gitOutput pre {
  max-height: 180px;
  overflow: auto;
  font-size: 12px;
  margin: 4px 0 0 0;
}

.chph__gitOutput--error {
  color: #ffb1b1;
}

@media (prefers-reduced-motion: reduce) {
  .chph__appear {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

.chph__statusIcon--direct {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border-radius: 50%;
  background: rgba(100, 200, 150, 0.45);
  box-shadow: 0 0 6px rgba(100, 200, 150, 0.35);
}

.chph__fileReference {
  border: 1px solid rgba(var(--chph-accent-rgb), 0.45);
  background: rgba(var(--chph-accent-rgb), 0.16);
  color: #ffffff;
  border-radius: 4px;
  padding: 2px 6px;
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 13px;
  cursor: pointer;
  transition: background 140ms ease, border 140ms ease;
}

.chph__fileReference:hover,
.chph__fileReference:focus {
  background: rgba(var(--chph-accent-rgb), 0.32);
  border-color: rgba(var(--chph-accent-rgb), 0.75);
}

.chph__modalOverlay {
  position: fixed;
  inset: 0;
  background: rgba(9, 9, 18, 0.85);
  z-index: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.chph__modalPanel {
  width: min(960px, 96vw);
  max-height: 92vh;
  background: var(--chph-bg-elevated);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  box-shadow: 0 25px 70px rgba(4, 5, 10, 0.6);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* File reference modal - full screen overlay respecting menus */
.chph__fileRefOverlay {
  top: 0;
  left: var(--left-menu-width);
  right: 0;
  bottom: 0;
  width: auto;
  height: 100%;
  padding: 20px;
  transition: left 0.3s ease, right 0.3s ease;
}

/* When left menu is slim */
#leftUI.slim ~ #middleUI .chph__fileRefOverlay,
.chph__fileRefOverlay.slimMenu {
  left: var(--left-menu-width-slim);
}

/* When right UI is open */
.chph__fileRefOverlay.rightUIOpen {
  right: var(--right-menu-width);
}

.chph__fileRefModal {
  width: 100%;
  height: 100%;
  max-height: 100%;
  border-radius: 12px;
}

.chph__modalHeader {
  padding: 20px 24px 16px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.chph__modalTitle {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 4px;
}

.chph__modalMeta {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
}

.chph__fileRefModal .chph__modalHeader {
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.02);
}

.chph__fileRefModal .chph__modalTitle {
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 14px;
  font-weight: 500;
  color: #f4f4f5;
  word-break: break-all;
}

.chph__fileRefModal .chph__modalMeta {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 4px;
}

.chph__fileRefModal .chph__sidebarClose {
  display: inline-flex;
  position: static;
  margin-left: auto;
  flex-shrink: 0;
}

.chph__fileRefBody {
  padding: 16px 20px 20px;
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

.chph__fileRefStats {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 12px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.chph__fileRefCode {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  background: rgba(6, 8, 16, 0.95);
  overflow: auto;
  padding: 16px 0;
  flex: 1 1 auto;
  min-height: 0;
}

.chph__fileRefMarkdown.chph__renderMarkdown {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  min-height: 0;
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(6, 8, 16, 0.95);
}

.chph__fileRefMarkdown.chph__renderMarkdown > :first-child {
  margin-top: 0;
}

.chph__fileRefMarkdown.chph__renderMarkdown > :last-child {
  margin-bottom: 0;
}

.chph__fileRefLine {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  padding: 1px 20px;
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 13px;
  line-height: 1.5;
  border-left: 3px solid transparent;
  min-width: max-content;
}

.chph__fileRefLine:hover {
  background: rgba(255, 255, 255, 0.03);
}

.chph__fileRefLineNumber {
  color: rgba(255, 255, 255, 0.35);
  text-align: right;
  user-select: none;
  font-variant-numeric: tabular-nums;
}

.chph__fileRefLineText {
  margin: 0;
  color: #e4e4e7;
}

.chph__fileRefLineText code {
  color: inherit;
  background: transparent;
  white-space: pre;
  tab-size: 4;
}

.chph__fileRefLine--highlight {
  background: rgba(var(--chph-accent-rgb), 0.1);
  border-left-color: rgba(var(--chph-accent-rgb), 0.85);
}

.chph__fileRefLine--highlight:hover {
  background: rgba(var(--chph-accent-rgb), 0.15);
}

.chph__activityModal .chph__sidebarClose {
  display: inline-flex;
  position: static;
  margin-left: auto;
}

.chph__activityBody {
  padding: 0 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.chph__activityToolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.chph__activityNav {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.04);
  color: #f4f4f5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 140ms ease, border 140ms ease;
}

.chph__activityNav:hover:not([disabled]),
.chph__activityNav:focus:not([disabled]) {
  border-color: rgba(var(--chph-accent-rgb), 0.65);
  background: rgba(var(--chph-accent-rgb), 0.15);
}

.chph__activityNav[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}

.chph__activityDay {
  font-size: 16px;
  font-weight: 600;
  flex: 1 1 auto;
  min-width: 180px;
}

.chph__activityToday {
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
  color: #f4f4f5;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 13px;
  cursor: pointer;
  transition: background 140ms ease, border 140ms ease;
}

.chph__activityToday:hover:not([disabled]),
.chph__activityToday:focus:not([disabled]) {
  background: rgba(72, 184, 255, 0.12);
  border-color: rgba(72, 184, 255, 0.6);
}

.chph__activityToday[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.chph__activityScale {
  position: relative;
  height: 32px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.chph__activityScaleTick {
  position: absolute;
  bottom: -6px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  transform: translateX(-50%);
}

.chph__activityScaleTick::before {
  content: '';
  position: absolute;
  top: -24px;
  left: 50%;
  width: 1px;
  height: 22px;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.08);
}

.chph__activityList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.chph__activityRow {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.chph__activityRowMeta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.75);
}

.chph__activityRowTitle {
  font-weight: 600;
  color: #ffffff;
}

.chph__activityRowProject {
  color: rgba(255, 255, 255, 0.68);
}

.chph__activityRowStatus {
  color: rgba(255, 255, 255, 0.52);
}

.chph__activityRowTimeline {
  position: relative;
  height: 34px;
  border-radius: 6px;
  background: var(--chph-bg-sidebar);
  border: 1px solid rgba(255, 255, 255, 0.05);
  overflow: hidden;
}

.chph__activityBand {
  position: absolute;
  top: 5px;
  height: 24px;
  border-radius: 4px;
  background: rgba(var(--chph-accent-rgb), 0.35);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.65);
  color: #ffffff;
  display: flex;
  align-items: center;
  font-size: 11px;
  padding: 0 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chph__activityBand.is-active {
  background: rgba(72, 184, 255, 0.35);
  border-color: rgba(72, 184, 255, 0.75);
}

.chph__activityBand.is-archived {
  opacity: 0.6;
}

.chph__activityBandLabel {
  pointer-events: none;
}

.chph__activityHint {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.68);
  margin: -4px 0 0;
}

/* Deployment Modal */
.chph__deployModal {
  width: 560px;
  max-width: 90vw;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
}

.chph__deployModal .chph__sidebarClose {
  display: inline-flex;
  position: static;
  margin-left: auto;
}

.chph__deployStatusDot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: middle;
}

.chph__deployStatusDot--running {
  background: #f59e0b;
  animation: deployPulse 1.5s ease-in-out infinite;
}

.chph__deployStatusDot--success {
  background: #22c55e;
}

.chph__deployStatusDot--failed {
  background: #ef4444;
}

@keyframes deployPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.1); }
}

.chph__deployBody {
  padding: 0 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
}

.chph__deployCommit {
  display: flex;
  gap: 8px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 8px;
  font-size: 13px;
}

.chph__deployCommitLabel {
  color: rgba(255, 255, 255, 0.5);
  flex-shrink: 0;
}

.chph__deployCommitText {
  color: rgba(255, 255, 255, 0.85);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chph__deployEvents {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 400px;
  padding-right: 8px;
}

.chph__deployEvent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 6px;
  font-size: 13px;
  transition: background 0.2s ease;
}

.chph__deployEvent--complete,
.chph__deployEvent--success {
  background: rgba(34, 197, 94, 0.1);
}

.chph__deployEvent--error,
.chph__deployEvent--failed {
  background: rgba(239, 68, 68, 0.1);
}

.chph__deployEventIcon {
  flex-shrink: 0;
  font-size: 14px;
}

.chph__deployEventMessage {
  flex: 1;
  color: rgba(255, 255, 255, 0.85);
  word-break: break-word;
}

.chph__deployEventTime {
  flex-shrink: 0;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
}

/* Nginx/SSL Panel Styles */
.chph__nginxPanel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 8px 0;
}

.chph__nginxHeader {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.chph__nginxStatus {
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 13px;
}

.chph__nginxStatus--active {
  background: rgba(76, 175, 80, 0.15);
  border: 1px solid rgba(76, 175, 80, 0.4);
  color: #81c784;
}

.chph__nginxStatus--inactive {
  background: rgba(244, 67, 54, 0.15);
  border: 1px solid rgba(244, 67, 54, 0.4);
  color: #e57373;
}

.chph__nginxTestResult {
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 13px;
}

.chph__nginxTestResult--ok {
  background: rgba(76, 175, 80, 0.15);
  border: 1px solid rgba(76, 175, 80, 0.4);
}

.chph__nginxTestResult--error {
  background: rgba(244, 67, 54, 0.15);
  border: 1px solid rgba(244, 67, 54, 0.4);
}

.chph__nginxOutput {
  margin: 8px 0 0;
  padding: 8px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  font-size: 11px;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-all;
  max-height: 150px;
  overflow-y: auto;
}

.chph__nginxSection {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 12px;
}

.chph__nginxSectionTitle {
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 8px;
  color: rgba(255, 255, 255, 0.85);
}

.chph__nginxCertActions {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}

.chph__nginxCertActions .chph__input {
  flex: 1;
  min-width: 150px;
}

.chph__nginxCertList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 300px;
  overflow-y: auto;
}

.chph__nginxCertItem {
  padding: 8px 10px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid transparent;
}

.chph__nginxCertItem--valid {
  border-color: rgba(76, 175, 80, 0.3);
}

.chph__nginxCertItem--warning {
  border-color: rgba(255, 193, 7, 0.4);
  background: rgba(255, 193, 7, 0.08);
}

.chph__nginxCertItem--expired {
  border-color: rgba(244, 67, 54, 0.4);
  background: rgba(244, 67, 54, 0.08);
}

.chph__nginxCertRow {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}

.chph__nginxCertInfo {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.chph__nginxCertName {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
  word-break: break-all;
}

.chph__nginxCertMeta {
  display: flex;
  gap: 6px;
  align-items: center;
}

.chph__nginxCertBadge {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 3px;
  text-transform: uppercase;
}

.chph__nginxCertBadge--valid {
  background: rgba(76, 175, 80, 0.2);
  color: #81c784;
}

.chph__nginxCertBadge--warning {
  background: rgba(255, 193, 7, 0.2);
  color: #ffc107;
}

.chph__nginxCertBadge--expired {
  background: rgba(244, 67, 54, 0.2);
  color: #e57373;
}

.chph__nginxCertDomains {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
  word-break: break-all;
}

.chph__nginxCertActions {
  flex-shrink: 0;
}

.chph__nginxLogControls {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}

.chph__nginxLogOutput {
  padding: 10px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 4px;
  font-size: 11px;
  line-height: 1.5;
  overflow-x: auto;
  white-space: pre;
  max-height: 300px;
  overflow-y: auto;
  font-family: 'JetBrains Mono', 'Fira Code', monospace;
}

/* ── Spec 980: Reports sidebar panel ──────────────────────────── */
.chph__requestsPanel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 0;
}

.chph__requestsHeader {
  display: flex;
  gap: 6px;
  align-items: center;
}

.chph__requestsHeader .chph__select {
  flex: 1;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(8, 11, 23, 0.8);
  color: #f4f4f5;
  font-size: 12px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  padding-right: 22px;
}

.chph__requestsHeader .chph__select:focus {
  border-color: rgba(var(--chph-accent-rgb), 0.6);
  outline: none;
}

.chph__reportsList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.chph__reportItem {
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 120ms ease;
}

.chph__reportItem:hover {
  background: rgba(255, 255, 255, 0.06);
}

.chph__reportItemHeader {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-bottom: 3px;
}

.chph__reportBadge {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.chph__reportBadge--bug {
  background: rgba(244, 67, 54, 0.15);
  border: 1px solid rgba(244, 67, 54, 0.35);
  color: #e57373;
}

.chph__reportBadge--feature_request {
  background: rgba(33, 150, 243, 0.15);
  border: 1px solid rgba(33, 150, 243, 0.35);
  color: #64b5f6;
}

.chph__reportSeverity {
  font-size: 10px;
  font-weight: 500;
}

.chph__reportSeverity--critical {
  color: #ef5350;
}

.chph__reportSeverity--high {
  color: #ff7043;
}

.chph__reportSeverity--medium {
  color: #ffa726;
}

.chph__reportSeverity--low {
  color: #66bb6a;
}

.chph__reportSeverity--p1 {
  color: #ef5350;
}

.chph__reportSeverity--p2 {
  color: #ff7043;
}

.chph__reportSeverity--p3 {
  color: #ffa726;
}

.chph__reportSeverity--p4 {
  color: #66bb6a;
}

.chph__reportTitle {
  font-size: 13px;
  color: #e4e4e7;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chph__reportMeta {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 3px;
}

.chph__reportStatus {
  font-size: 11px;
  font-weight: 500;
}

.chph__reportStatus--open {
  color: #ffa726;
}

.chph__reportStatus--in_progress {
  color: #42a5f5;
}

.chph__reportStatus--resolved {
  color: #66bb6a;
}

.chph__reportStatus--wont_fix {
  color: #9e9e9e;
}

.chph__reportStatus--duplicate {
  color: #9e9e9e;
}

.chph__reportDate {
  font-size: 11px;
  color: #71717a;
}
/* ── End Spec 980 reports ─────────────────────────────────────── */

/* Toggle switch */
.chph__toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
}

.chph__toggle--small {
  gap: 6px;
}

.chph__toggleInput {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.chph__toggleSlider {
  position: relative;
  width: 36px;
  height: 20px;
  background: rgba(100, 116, 139, 0.4);
  border-radius: 10px;
  transition: background-color 0.2s;
  flex-shrink: 0;
}

.chph__toggle--small .chph__toggleSlider {
  width: 28px;
  height: 16px;
  border-radius: 8px;
}

.chph__toggleSlider::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  background: white;
  border-radius: 50%;
  transition: transform 0.2s;
}

.chph__toggle--small .chph__toggleSlider::before {
  width: 12px;
  height: 12px;
}

.chph__toggleInput:checked+.chph__toggleSlider {
  background: rgb(0, 255, 65);
}

.chph__toggleInput:checked+.chph__toggleSlider::before {
  transform: translateX(16px);
}

.chph__toggle--small .chph__toggleInput:checked+.chph__toggleSlider::before {
  transform: translateX(12px);
}

.chph__toggleLabel {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.8);
}

/* Schedule list */
.chph__scheduleList {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px;
}

.chph__scheduleItem {
  display: flex;
  align-items: center;
  gap: 8px;
}

.chph__scheduleLabel {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.8);
  flex: 1;
  min-width: 80px;
}

.chph__scheduleTime {
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.2);
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  width: 90px;
}

.chph__scheduleTime:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Triggers list */
.chph__triggersList {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Settings textarea */
.chph__settingsTextarea {
  width: 100%;
  padding: 8px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.2);
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  resize: vertical;
  min-height: 60px;
  margin-bottom: 8px;
  font-family: inherit;
}

.chph__settingsTextarea::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

/* Trust boundaries */
.chph__trustBoundaries {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.chph__trustItem {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.chph__trustLabel {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.8);
}

.chph__trustSelect {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 6px 28px 6px 10px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background-color: rgba(0, 0, 0, 0.3);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  color: rgba(255, 255, 255, 0.9);
  font-size: 11px;
  font-family: inherit;
  min-width: 140px;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.chph__trustSelect:hover {
  border-color: rgba(255, 255, 255, 0.25);
  background-color: rgba(0, 0, 0, 0.4);
}

.chph__trustSelect:focus {
  outline: none;
  border-color: rgba(var(--chph-accent-rgb), 0.5);
  box-shadow: 0 0 0 2px rgba(var(--chph-accent-rgb), 0.15);
}

.chph__trustSelect option {
  background-color: #0f1a0f;
  color: rgba(255, 255, 255, 0.9);
  padding: 8px;
}


.chph__spin {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ============================================================
   PASSIVE INSTINCT (SPLIT-BRAIN REVIEW)
   ============================================================ */

.chph__instinctPanel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
}

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

.chph__instinctTitle {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
}

.chph__instinctDescription {
  margin: 0;
  font-size: 13px;
}

.chph__instinctList {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
  overflow-y: auto;
}

.chph__instinctCard {
  background: var(--chph-bg-deep);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.25);
  border-radius: 8px;
  padding: 16px;
  min-width: 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* New schema: confidence-based card styling */
.chph__instinctCard--highConfidence {
  border-color: rgba(34, 197, 94, 0.4);
}

.chph__instinctCard--lowConfidence {
  border-color: rgba(255, 255, 255, 0.2);
  opacity: 0.85;
}

.chph__instinctCard--hasConcern {
  border-left: 3px solid rgba(239, 68, 68, 0.6);
}

.chph__instinctCard--hasSuggestion {
  border-left: 3px solid rgba(34, 197, 94, 0.6);
}

.chph__instinctCard--hasConcern.chph__instinctCard--hasSuggestion {
  border-left: 3px solid rgba(250, 204, 21, 0.6);
}

/* Legacy schema: trajectory-based card styling */
.chph__instinctCard--onTrack {
  border-color: rgba(34, 197, 94, 0.4);
}

.chph__instinctCard--drifting {
  border-color: rgba(250, 204, 21, 0.4);
}

.chph__instinctCard--offCourse {
  border-color: rgba(239, 68, 68, 0.4);
}

.chph__instinctCardHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.chph__instinctCheckpointBadge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(var(--chph-accent-rgb), 0.2);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: rgba(var(--chph-accent-rgb), 1);
}

.chph__instinctMeta {
  font-size: 12px;
  opacity: 0.6;
  text-transform: capitalize;
}

.chph__instinctSummary {
  margin: 8px 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.9);
}

.chph__instinctDetails {
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.chph__instinctField {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
  margin-bottom: 4px;
}

.chph__instinctFieldLabel {
  font-weight: 500;
  opacity: 0.7;
  flex: 0 0 auto;
}

.chph__instinctTrajectory {
  font-weight: 600;
  text-transform: capitalize;
}

.chph__instinctTrajectory--on-track {
  color: rgba(34, 197, 94, 1);
}

.chph__instinctTrajectory--drifting {
  color: rgba(250, 204, 21, 1);
}

.chph__instinctTrajectory--off-course {
  color: rgba(239, 68, 68, 1);
}

.chph__instinctStance {
  font-style: italic;
}

.chph__instinctConfidence {
  font-weight: 600;
}

/* New schema: confidence levels */
.chph__instinctConfidence--high {
  color: rgba(34, 197, 94, 1);
}

.chph__instinctConfidence--medium {
  color: rgba(250, 204, 21, 1);
}

.chph__instinctConfidence--low {
  color: rgba(255, 255, 255, 0.6);
}

/* New schema: noticed, concern, suggestion */
.chph__instinctNoticed {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.5;
}

.chph__instinctField--concern {
  background: rgba(239, 68, 68, 0.08);
  border-left: 3px solid rgba(239, 68, 68, 0.6);
  padding: 8px 12px;
  border-radius: 0 6px 6px 0;
}

.chph__instinctConcern {
  color: rgba(252, 165, 165, 0.95);
  line-height: 1.5;
}

.chph__instinctField--suggestion {
  background: rgba(34, 197, 94, 0.08);
  border-left: 3px solid rgba(34, 197, 94, 0.6);
  padding: 8px 12px;
  border-radius: 0 6px 6px 0;
}

.chph__instinctSuggestion {
  color: rgba(134, 239, 172, 0.95);
  line-height: 1.5;
}

.chph__instinctThoughtsFor {
  text-transform: capitalize;
  font-weight: 500;
}

.chph__instinctObservations {
  margin-top: 8px;
}

.chph__instinctObservationList {
  margin: 4px 0 0 0;
  padding: 0 0 0 20px;
  list-style: disc;
  min-width: 0;
}

.chph__instinctObservation {
  font-size: 13px;
  line-height: 1.4;
  margin-bottom: 4px;
  word-break: break-word;
  overflow-wrap: break-word;
}

.chph__instinctObservation--high {
  color: rgba(239, 68, 68, 0.9);
}

.chph__instinctObservation--medium {
  color: rgba(250, 204, 21, 0.9);
}

.chph__instinctObservation--low {
  color: rgba(255, 255, 255, 0.8);
}

.chph__instinctObsType {
  font-weight: 500;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.5px;
  opacity: 0.7;
  margin-right: 4px;
}

.chph__instinctObsTarget {
  font-size: 11px;
  opacity: 0.6;
  display: block;
  margin-top: 2px;
  font-family: 'SF Mono', Monaco, monospace;
  word-break: break-all;
}

.chph__instinctObsEvidence {
  display: block;
  font-size: 11px;
  font-style: italic;
  opacity: 0.7;
  margin-top: 4px;
  padding-left: 8px;
  border-left: 2px solid var(--border-color, #e0e0e0);
}

.chph__instinctField--full {
  display: block;
  margin-top: 8px;
}

.chph__instinctCommandsList {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 4px;
}

.chph__instinctFilesList {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}

.chph__instinctCommand {
  font-size: 11px;
  padding: 2px 6px;
  background: rgba(139, 92, 246, 0.15);
  border-radius: 4px;
  font-family: 'SF Mono', Monaco, monospace;
  color: rgba(167, 139, 250, 0.95);
  word-break: break-all;
  display: block;
}

.chph__instinctFile {
  font-size: 11px;
  padding: 2px 6px;
  background: rgba(34, 211, 238, 0.12);
  border-radius: 4px;
  font-family: 'SF Mono', Monaco, monospace;
  color: rgba(103, 232, 249, 0.95);
  word-break: break-all;
}

.chph__instinctVerifiedList,
.chph__instinctUnverifiedList {
  list-style: none;
  margin: 4px 0 0 0;
  padding: 0;
  font-size: 12px;
}

.chph__instinctVerifiedList li,
.chph__instinctUnverifiedList li {
  padding: 4px 0;
  padding-left: 16px;
  position: relative;
}

.chph__instinctVerifiedList li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #16a34a;
}

.chph__instinctUnverifiedList li::before {
  content: '?';
  position: absolute;
  left: 0;
  color: #f59e0b;
}

.chph__instinctFieldLabel--verified {
  color: #16a34a;
}

.chph__instinctFieldLabel--unverified {
  color: #f59e0b;
}

.chph__instinctFieldRow {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 8px;
}

.chph__instinctUserIntent,
.chph__instinctCurrentDirection {
  font-size: 13px;
  line-height: 1.4;
}

.chph__instinctAlignment {
  font-weight: 600;
  text-transform: capitalize;
}

.chph__instinctAlignment--aligned {
  color: rgba(34, 197, 94, 1);
}

.chph__instinctAlignment--partial {
  color: rgba(250, 204, 21, 1);
}

.chph__instinctAlignment--misaligned {
  color: rgba(239, 68, 68, 1);
}

.chph__instinctBlindSpotsList {
  list-style: disc;
  margin: 4px 0 0 0;
  padding: 0 0 0 20px;
  font-size: 13px;
}

.chph__instinctBlindSpotsList li {
  margin-bottom: 4px;
  color: rgba(250, 204, 21, 0.9);
}

.chph__instinctCourseCorrections {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.chph__instinctCorrectionsList {
  list-style: none;
  margin: 8px 0;
  padding: 0;
}

.chph__instinctCorrection {
  margin-bottom: 6px;
}

.chph__instinctCorrectionLabel {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  font-size: 13px;
  line-height: 1.4;
}

.chph__instinctCorrectionCheckbox {
  flex: 0 0 auto;
  margin-top: 2px;
  accent-color: var(--chph-accent);
}

.chph__instinctCorrectionText {
  flex: 1;
}

.chph__instinctCorrectionLabel:has(.chph__instinctCorrectionCheckbox:not(:checked)) .chph__instinctCorrectionText {
  opacity: 0.5;
  text-decoration: line-through;
}

.chph__instinctCourseCorrections .chph__btn {
  margin-top: 8px;
}

.chph__instinctEmpty {
  text-align: center;
  padding: 40px 20px;
}

.chph__instinctEmpty p {
  margin: 0 0 8px 0;
}

/* ============================================================================
   Config Sections — unified spacing and separators
   ============================================================================ */
.chph__configSection {
  padding-top: 20px;
  padding-bottom: 4px;
}

.chph__configSection:first-child {
  padding-top: 0;
}

.chph__configSection + .chph__configSection {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.chph__configSectionTitle {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 12px 0;
  color: rgba(255, 255, 255, 0.9);
}

.chph__agentTokens {
  background: rgba(14, 28, 16, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 8px;
}

.chph__agentTokens:last-child {
  margin-bottom: 0;
}

.chph__agentTokensHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.chph__agentTokensLabel {
  font-weight: 600;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.9);
}

.chph__agentTokensStatus {
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  font-weight: 500;
}

.chph__agentTokensStatus--active {
  background: #22c55e;
  color: #000;
}

.chph__agentTokensStatus--dormant {
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.7);
}

.chph__agentTokensStatus--error {
  background: #ef4444;
  color: #fff;
}

.chph__agentTokensDetail {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 2px;
}

.chph__agentTokensDetail:last-child {
  margin-bottom: 0;
}

.chph__agentTokensDetail--muted {
  color: rgba(255, 255, 255, 0.35);
  font-size: 10px;
}

/* Context Window Progress Bar (Spec 888) */
.chph__agentTokens--context {
  border-color: rgba(var(--chph-accent-rgb), 0.3);
}

.chph__agentTokens--warning {
  border-color: rgba(245, 158, 11, 0.5);
  background: rgba(245, 158, 11, 0.08);
}

.chph__agentTokens--transition {
  border-color: rgba(239, 68, 68, 0.5);
  background: rgba(239, 68, 68, 0.08);
}

.chph__contextProgress {
  width: 100%;
  height: 6px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  margin: 6px 0 8px 0;
  overflow: hidden;
}

.chph__contextProgressBar {
  height: 100%;
  background: linear-gradient(90deg, #22c55e 0%, #22c55e 60%, #f59e0b 80%, #ef4444 100%);
  border-radius: 3px;
  transition: width 0.3s ease;
}

.chph__agentTokens--warning .chph__contextProgressBar {
  background: linear-gradient(90deg, #22c55e 0%, #f59e0b 70%, #f59e0b 100%);
}

.chph__agentTokens--transition .chph__contextProgressBar {
  background: linear-gradient(90deg, #22c55e 0%, #f59e0b 60%, #ef4444 100%);
}

.chph__contextWarning {
  font-size: 11px;
  color: #ef4444;
  background: rgba(239, 68, 68, 0.15);
  padding: 4px 8px;
  border-radius: 4px;
  margin-top: 6px;
}

.chph__contextHint {
  font-size: 10px;
  color: #f59e0b;
  margin-top: 4px;
}

/* Config section hint spacing */
.chph__configSection > .chph__hint {
  margin-bottom: 12px;
}

.chph__configToggle {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.chph__configToggle .chph__toggleLabel {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 8px 12px;
  background: rgba(14, 28, 16, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.chph__configToggle .chph__toggleLabel:hover {
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(14, 28, 16, 0.9);
}

.chph__configToggle .chph__toggleLabel:has(input:checked) {
  border-color: rgba(var(--chph-accent-rgb), 0.5);
  background: rgba(var(--chph-accent-rgb), 0.05);
}

.chph__configToggle .chph__toggleInput {
  accent-color: rgb(var(--chph-accent-rgb));
  width: 16px;
  height: 16px;
  cursor: pointer;
}

.chph__configToggle .chph__toggleText {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
}

.chph__configToggle .chph__toggleHint {
  margin: 4px 0 0 26px;
  font-size: 11px;
}

/* Deduplication controls */
.chph__dedupControls {
  flex-wrap: wrap;
}

.chph__dedupSelect {
  background: rgba(14, 28, 16, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  padding: 6px 10px;
  cursor: pointer;
}

.chph__dedupSelect:hover,
.chph__dedupSelect:focus {
  border-color: rgba(255, 255, 255, 0.3);
  outline: none;
}

.chph__dedupButtons {
  display: flex;
  gap: 8px;
}

/* ============================================================================
   Routines — Time-based schedule editor (Spec 1069 Phase 4b)
   Pattern source: .chph__agentTokens:11943 (card container)
   Pattern source: .chph__dedupSelect:12116 (dark select/input)
   Pattern source: .chph__configToggle:12065 (toggle row)
   ============================================================================ */

/* Routine list — existing routines display */
.chph__routineList {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}

.chph__routineItem {
  background: rgba(14, 28, 16, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 10px 12px;
  transition: border-color 0.15s ease, opacity 0.15s ease;
}

.chph__routineItem:hover {
  border-color: rgba(255, 255, 255, 0.24);
}

.chph__routineItem--disabled {
  opacity: 0.5;
}

.chph__routineItem--disabled:hover {
  opacity: 0.7;
}

/* Routine header — schedule text + action buttons */
.chph__routineHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.chph__routineSchedule {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
}

.chph__routineActions {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

.chph__routineToggle,
.chph__routineRemove {
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 500;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: transparent;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.chph__routineToggle:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.24);
  color: rgba(255, 255, 255, 0.9);
}

.chph__routineRemove:hover {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.4);
  color: #ef4444;
}

/* Routine detail rows — cron expression, prompt */
.chph__routineCron {
  font-size: 11px;
  font-family: 'SF Mono', 'Fira Code', monospace;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 4px;
}

.chph__routinePrompt {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 4px;
  line-height: 1.4;
}

/* Routine editor — add new routine form */
.chph__routineEditor {
  background: rgba(14, 28, 16, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.chph__routineField {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.chph__routineField--cron {
  display: none;
}

.chph__routineLabel {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.chph__routineSelect,
.chph__routineInput {
  background: rgba(14, 28, 16, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  padding: 6px 10px;
  cursor: pointer;
}

.chph__routineSelect:hover,
.chph__routineSelect:focus,
.chph__routineInput:hover,
.chph__routineInput:focus {
  border-color: rgba(255, 255, 255, 0.3);
  outline: none;
}

.chph__routineInput {
  font-family: 'SF Mono', 'Fira Code', monospace;
  cursor: text;
}

.chph__routineTextarea {
  background: rgba(14, 28, 16, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  padding: 6px 10px;
  resize: vertical;
  min-height: 48px;
  max-height: 120px;
  font-family: inherit;
  line-height: 1.4;
}

.chph__routineTextarea:hover,
.chph__routineTextarea:focus {
  border-color: rgba(255, 255, 255, 0.3);
  outline: none;
}

.chph__routineTextarea::placeholder {
  color: rgba(255, 255, 255, 0.3);
}

.chph__routinePreview {
  font-size: 11px;
  color: rgba(var(--chph-accent-rgb), 0.8);
  min-height: 16px;
}

/* Heartbeat Calendar — weekly grid of family routines (Spec 1069 Phase 4b)
   Pattern source: .chph__routineItem (card container), .chph__configSection (spacing) */
.chph__heartbeatCalendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-top: 8px;
}

.chph__heartbeatDay {
  background: rgba(14, 28, 16, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 6px;
  min-height: 60px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.chph__heartbeatDay--active {
  border-color: rgba(255, 255, 255, 0.12);
}

.chph__heartbeatDayHeader {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  padding: 4px 2px 3px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.02);
}

.chph__heartbeatDay--active .chph__heartbeatDayHeader {
  color: rgba(255, 255, 255, 0.8);
}

.chph__heartbeatRoutine {
  padding: 4px 5px;
  cursor: pointer;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  transition: background 0.15s ease;
}

.chph__heartbeatRoutine:last-child {
  border-bottom: none;
}

.chph__heartbeatRoutine:hover {
  background: rgba(var(--chph-accent-rgb), 0.08);
}

.chph__heartbeatRoutine--disabled {
  opacity: 0.4;
}

.chph__heartbeatTime {
  display: block;
  font-size: 9px;
  font-weight: 600;
  color: rgba(var(--chph-accent-rgb), 0.9);
  line-height: 1;
  margin-bottom: 2px;
}

.chph__heartbeatMember {
  display: block;
  font-size: 10px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chph__heartbeatPrompt {
  display: block;
  font-size: 9px;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 1px;
}

.chph__heartbeatEmpty {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.15);
}

/* ============================================================================
   Fabric Config Tab (Spec 1040)
   Terminal-like panel for real-time Fabric enable/disable
   ============================================================================ */

.chph__fabricPanel {
  display: flex;
  flex-direction: column;
  gap: 6px;
  height: 100%;
}

/* ── Global Master Switch ─────────────────────────────────────────── */
/* Pattern: chph__fabricActions:11875 — flex row layout */
/* Pattern: chph__action--small:11622 — compact button sizing */

.chph__fabricGlobalSwitch {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 6px;
}

.chph__fabricGlobalLabel {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--chph-text-secondary);
}

.chph__fabricGlobalModes {
  display: flex;
  gap: 0;
  border-radius: 5px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.chph__fabricModeBtn {
  flex: 1;
  padding: 5px 6px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  color: var(--chph-text-secondary);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  text-align: center;
  white-space: nowrap;
}

.chph__fabricModeBtn + .chph__fabricModeBtn {
  border-left: 1px solid rgba(255, 255, 255, 0.06);
}

.chph__fabricModeBtn:hover:not([disabled]) {
  background: rgba(255, 255, 255, 0.05);
}

.chph__fabricModeBtn--active {
  color: #fff;
  background: rgb(var(--chph-accent-rgb));
}

.chph__fabricModeBtn--active:hover:not([disabled]) {
  background: rgb(var(--chph-accent-rgb));
}

.chph__fabricModeBtn--dev.chph__fabricModeBtn--active {
  background: rgba(251, 191, 36, 0.7);
  color: #000;
}

.chph__fabricModeBtn--off.chph__fabricModeBtn--active {
  background: rgba(229, 96, 96, 0.7);
  color: #fff;
}

.chph__fabricModeBtn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.chph__fabricGlobalNote {
  font-size: 10px;
  color: rgba(229, 96, 96, 0.8);
  line-height: 1.3;
}

/* T8: Global label row — places Fabric label + health badge side by side */
.chph__fabricGlobalLabelRow {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* T8: Health status badge pill
   Pattern: chph__fabricModeBtn:12315 — compact pill sizing
   Colors: green < 1 min, yellow < 5 min, red >= 5 min, gray off/idle */
.chph__fabricHealthBadge {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 1;
  padding: 2px 6px;
  border-radius: 3px;
  text-transform: uppercase;
  transition: background 0.3s ease, color 0.3s ease;
}

.chph__fabricHealthBadge--fresh {
  background: rgba(52, 211, 153, 0.2);
  color: rgba(52, 211, 153, 0.9);
}

.chph__fabricHealthBadge--warm {
  background: rgba(251, 191, 36, 0.2);
  color: rgba(251, 191, 36, 0.9);
}

.chph__fabricHealthBadge--stale {
  background: rgba(229, 96, 96, 0.2);
  color: rgba(229, 96, 96, 0.9);
}

.chph__fabricHealthBadge--idle,
.chph__fabricHealthBadge--connecting {
  background: rgba(255, 255, 255, 0.06);
  color: var(--chph-text-secondary);
}

.chph__fabricHealthBadge--off {
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.3);
}

.chph__fabricList {
  display: flex;
  flex-direction: column;
  gap: 1px;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

.chph__fabricItem {
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 0;
  padding: 5px 4px;
  transition: background 0.15s ease;
}

.chph__fabricItem:hover {
  background: rgba(255, 255, 255, 0.03);
}

.chph__fabricItem:last-child {
  border-bottom: none;
}

.chph__fabricItem--active {
  background: rgba(var(--chph-accent-rgb), 0.03);
}

.chph__fabricItem--disabled {
  opacity: 0.6;
}

.chph__fabricItem--error {
  background: rgba(239, 154, 154, 0.05);
  transition: background 0.3s ease;
}

.chph__fabricItemHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.chph__fabricCollectionName {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--chph-text-primary);
  letter-spacing: 0.2px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chph__fabricItem--active .chph__fabricCollectionName {
  color: rgba(var(--chph-accent-rgb), 0.9);
}

/* Human-friendly display name for content type collections */
/* Pattern: chph__requestTitle + chph__requestMeta from christophoros.css:1130,1582 */
.chph__fabricDisplayName {
  display: block;
  font-weight: 600;
  font-size: 11.5px;
  color: var(--chph-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.chph__fabricItem--active .chph__fabricDisplayName {
  color: rgba(var(--chph-accent-rgb), 0.9);
}

.chph__fabricCollectionMeta {
  display: block;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 9px;
  opacity: 0.5;
  color: var(--chph-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
  margin-top: 1px;
}

/* T8: Per-collection health indicators — freshness dot + doc count + stale badge
   Pattern: chph__fabricHealthBadge:12378 (color palette), chph__fabricCollectionMeta:12494 (compact sizing)
   Layout: inline-flex row between collection button and toggle switch in chph__fabricItemHeader */
.chph__fabricItemHealth {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

/* Freshness dot — 6px circle with color-coded fill
   Green < 60s, yellow < 300s, red >= 300s */
.chph__fabricFreshnessDot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  transition: background 0.3s ease;
}

.chph__fabricFreshnessDot--fresh {
  background: rgba(52, 211, 153, 0.9);
}

.chph__fabricFreshnessDot--warm {
  background: rgba(251, 191, 36, 0.9);
}

.chph__fabricFreshnessDot--stale {
  background: rgba(229, 96, 96, 0.9);
}

.chph__fabricFreshnessDot--unknown {
  background: rgba(255, 255, 255, 0.15);
}

/* Cached document count — monospace number, secondary color */
.chph__fabricDocCount {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 9px;
  color: var(--chph-text-secondary);
  opacity: 0.7;
  line-height: 1;
}

/* Stale badge — dim red pill shown when cache is expired
   Pattern: chph__fabricHealthBadge--stale:12399 (color), chph__fabricBadge:12551 (pill shape) */
.chph__fabricStaleBadge {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 1px 4px;
  border-radius: 2px;
  background: rgba(229, 96, 96, 0.15);
  color: rgba(229, 96, 96, 0.7);
  line-height: 1;
}

.chph__fabricToggle {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.chph__fabricToggle .chph__toggleInput {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.chph__fabricToggle .chph__toggleSlider {
  position: relative;
  display: inline-block;
  width: 28px;
  height: 16px;
  background: rgba(100, 116, 139, 0.4);
  border-radius: 8px;
  transition: background 0.2s ease;
  cursor: pointer;
}

.chph__fabricToggle .chph__toggleSlider::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.2s ease;
}

.chph__fabricToggle .chph__toggleInput:checked + .chph__toggleSlider {
  background: rgb(var(--chph-accent-rgb));
}

.chph__fabricToggle .chph__toggleInput:checked + .chph__toggleSlider::before {
  transform: translateX(12px);
}

.chph__fabricBadge {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 2px 7px;
  border-radius: 3px;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
}

.chph__fabricBadge--heartbeat {
  background: rgba(var(--chph-accent-rgb), 0.15);
  color: rgba(var(--chph-accent-rgb), 0.9);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.3);
}

.chph__fabricBadge--poll {
  background: rgba(59, 130, 246, 0.15);
  color: rgba(59, 130, 246, 0.9);
  border: 1px solid rgba(59, 130, 246, 0.3);
}

.chph__fabricBadge--on-demand {
  background: rgba(168, 85, 247, 0.15);
  color: rgba(168, 85, 247, 0.9);
  border: 1px solid rgba(168, 85, 247, 0.3);
}

.chph__fabricEmpty {
  padding: 12px 8px;
  text-align: center;
}

.chph__fabricEmptyText {
  color: var(--chph-text-faint);
  font-size: 12px;
}

.chph__fabricEmptyText--error {
  color: #EF9A9A;
}

.chph__action--small {
  padding: 3px 8px;
  font-size: 11px;
  line-height: 1;
}

.chph__action--secondary {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--chph-text-secondary);
  padding: 7px 16px;
  border-radius: 4px;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.chph__action--secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(var(--chph-accent-rgb), 0.3);
  color: var(--chph-text-primary);
}

.chph__action--secondary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Spec 1041: Sidebar collection item — selected state + clickable name */
.chph__fabricItem--selected {
  background: rgba(var(--chph-accent-rgb), 0.08);
}

.chph__fabricItem--focused {
  outline: 1px solid rgba(var(--chph-accent-rgb), 0.4);
  outline-offset: -1px;
  background: rgba(var(--chph-accent-rgb), 0.04);
}

.chph__fabricList:focus {
  outline: none;
}

.chph__fabricCollectionButton {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.chph__fabricCollectionButton:hover .chph__fabricCollectionName {
  text-decoration: underline;
  color: rgba(var(--chph-accent-rgb), 1);
}

.chph__fabricCollectionButton:hover .chph__fabricDisplayName {
  text-decoration: underline;
  color: rgba(var(--chph-accent-rgb), 1);
}

/* Spec 1041: Fabric Data Explorer (main viewer panel) */
.chph__fabricExplorer {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  height: 100%;
  overflow-y: auto;
}

.chph__fabricExplorerHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.chph__fabricExplorerTitle {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.chph__fabricExplorerTitle code {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 15px;
  font-weight: 700;
  color: rgba(var(--chph-accent-rgb), 0.9);
}

.chph__fabricExplorerCount {
  font-size: 12px;
  color: var(--chph-text-muted);
}

.chph__fabricExplorerActions {
  display: flex;
  gap: 8px;
}

/* Query bar */
.chph__fabricQueryBar {
  display: flex;
  gap: 8px;
  align-items: center;
}

.chph__fabricQueryInput {
  flex: 1;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  padding: 8px 12px;
  color: var(--chph-text-primary);
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 12px;
  outline: none;
  transition: border-color 0.2s ease;
}

.chph__fabricQueryInput:focus {
  border-color: rgba(var(--chph-accent-rgb), 0.5);
}

.chph__fabricQueryInput::placeholder {
  color: var(--chph-text-faint);
}

.chph__fabricQueryLimit {
  width: 72px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  padding: 8px 10px;
  color: var(--chph-text-primary);
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 12px;
  outline: none;
  text-align: center;
}

.chph__fabricQueryLimit:focus {
  border-color: rgba(var(--chph-accent-rgb), 0.5);
}

.chph__fabricQueryHelp {
  width: 24px;
  height: 24px;
  min-width: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  color: var(--chph-text-secondary);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.chph__fabricQueryHelp:hover {
  border-color: rgba(var(--chph-accent-rgb), 0.4);
  color: var(--chph-text-primary);
}

.chph__fabricQueryHelpPanel {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  padding: 8px 10px;
  margin-top: 4px;
}

.chph__fabricQueryHelpTitle {
  font-size: 10px;
  font-weight: 600;
  color: var(--chph-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}

.chph__fabricQueryHelpExamples {
  font-size: 11px;
  color: var(--chph-text-secondary);
  line-height: 1.7;
}

.chph__fabricQueryHelpExamples code {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 10.5px;
  color: var(--chph-text-primary);
  background: rgba(255, 255, 255, 0.06);
  padding: 1px 4px;
  border-radius: 2px;
}

/* CR-7: Pagination controls */
.chph__fabricPagination {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
}

.chph__fabricPageInfo {
  font-size: 11px;
  color: var(--chph-text-secondary);
  margin-right: auto;
}

/* Loading + empty states */
.chph__fabricExplorerLoading {
  padding: 32px;
  text-align: center;
  color: var(--chph-text-muted);
  font-size: 13px;
}

.chph__fabricExplorerEmpty {
  padding: 32px;
  text-align: center;
  color: var(--chph-text-faint);
  font-size: 12px;
  border: 1px dashed rgba(255, 255, 255, 0.08);
  border-radius: 5px;
}

/* Document list */
.chph__fabricDocList {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.chph__fabricDoc {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.chph__fabricDoc:hover {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
}

.chph__fabricDoc--expanded {
  border-color: rgba(var(--chph-accent-rgb), 0.3);
  background: rgba(var(--chph-accent-rgb), 0.02);
}

.chph__fabricDocChevron {
  margin-right: 6px;
  font-size: 10px;
  color: var(--chph-text-secondary);
  display: inline-block;
  width: 10px;
}

.chph__fabricDocHeader {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  min-height: 34px;
}

.chph__fabricDocId {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  color: rgba(var(--chph-accent-rgb), 0.8);
  flex-shrink: 0;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chph__fabricDocPreview {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 11px;
  color: var(--chph-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

.chph__fabricDocBody {
  margin: 0;
  padding: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 11px;
  line-height: 1.5;
  color: var(--chph-text-secondary);
  background: rgba(0, 0, 0, 0.15);
  overflow-x: auto;
  max-height: 400px;
  overflow-y: auto;
  white-space: pre;
}

/* Enable/Disable All — action row below search (Spec 1041) */
/* Pattern: chph__action--primary:4460, chph-spinner:8554 */
.chph__fabricActions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.chph__fabricActionsSpacer {
  flex: 1;
}

.chph__fabricFilterToggle {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  color: var(--chph-text-secondary);
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 10px;
  padding: 4px 6px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
  flex-shrink: 0;
}

.chph__fabricFilterToggle:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--chph-text-primary);
}

.chph__fabricFilterToggle.is-active {
  background: rgba(var(--chph-accent-rgb), 0.15);
  border-color: rgba(var(--chph-accent-rgb), 0.4);
  color: rgba(var(--chph-accent-rgb), 1);
}

.chph__fabricSpinner {
  display: inline-block;
  width: 10px;
  height: 10px;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: chph-spinner 0.8s linear infinite;
  vertical-align: middle;
  margin-right: 2px;
}

.chph__fabricEnableResult {
  font-size: 10px;
  color: var(--chph-text-secondary);
  line-height: 1.3;
  padding: 0 4px;
}

.chph__fabricEnableResult--error {
  color: #EF9A9A;
}

/* CR-4: Collection filter input — full width row */
.chph__fabricFilterInput {
  width: 100%;
  padding: 5px 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  color: var(--chph-text);
  font-size: 11px;
  outline: none;
}

.chph__fabricFilterInput:focus {
  border-color: rgba(var(--chph-accent-rgb), 0.5);
}

.chph__fabricFilterInput::placeholder {
  color: var(--chph-text-secondary);
}

/* ============================================================================
   Pursuits Tab - Title History (Spec 919)
   Following existing panel patterns: .chph__instinctPanel, .chph__configSection
   ============================================================================ */

.chph__pursuitsPanel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
}

.chph__pursuitsTitle {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
}

.chph__pursuitsDescription {
  margin: 0;
  font-size: 13px;
}

.chph__pursuitsList {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  overflow-y: auto;
}

.chph__pursuitsEntry {
  background: var(--chph-bg-deep);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.2);
  border-radius: 8px;
  padding: 12px 16px;
}

.chph__pursuitsEntry--current {
  border-color: rgba(var(--chph-accent-rgb), 0.5);
  background: rgba(var(--chph-accent-rgb), 0.08);
}

.chph__pursuitsEntryHeader {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.chph__pursuitsCurrentBadge {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: rgba(var(--chph-accent-rgb), 0.25);
  color: rgb(var(--chph-accent-rgb));
  padding: 2px 6px;
  border-radius: 4px;
}

.chph__pursuitsNumber {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 500;
}

.chph__pursuitsEntryTitle {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.95);
  margin-bottom: 4px;
}

.chph__pursuitsEntryMeta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
}

.chph__pursuitsEmpty {
  text-align: center;
  padding: 32px 16px;
}

/* ============================================================================
   Checklist Tab (Spec 958: Checklist CLI sync data)
   Pattern source: .chph__pursuitsPanel styles above
   ============================================================================ */

.chph__checklistPanel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
}

.chph__checklistHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.chph__checklistTitle {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
}

.chph__checklistStatus {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.6);
}

.chph__checklistStatus--active {
  background: rgba(var(--chph-accent-rgb), 0.25);
  color: rgb(var(--chph-accent-rgb));
}

.chph__checklistStatus--completed,
.chph__checklistStatus--archived {
  background: rgba(76, 175, 80, 0.2);
  color: #81c784;
}

.chph__checklistProgress {
  display: flex;
  align-items: center;
  gap: 12px;
}

.chph__checklistProgressBar {
  flex: 1;
  height: 6px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  overflow: hidden;
}

.chph__checklistProgressFill {
  height: 100%;
  background: rgb(var(--chph-accent-rgb));
  border-radius: 3px;
  transition: width 0.3s ease;
}

.chph__checklistProgressLabel {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  white-space: nowrap;
  min-width: 80px;
  text-align: right;
}

.chph__checklistTasks {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  overflow-y: auto;
}

.chph__checklistTask {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 6px;
  background: var(--chph-bg-deep);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.1);
}

.chph__checklistTask--complete {
  border-color: rgba(76, 175, 80, 0.25);
  opacity: 0.8;
}

.chph__checklistTask--in_progress {
  border-color: rgba(var(--chph-accent-rgb), 0.4);
  background: rgba(var(--chph-accent-rgb), 0.05);
}

.chph__checklistTaskIndicator {
  font-size: 14px;
  line-height: 20px;
  min-width: 16px;
  text-align: center;
  flex-shrink: 0;
}

.chph__checklistTask--complete .chph__checklistTaskIndicator {
  color: #81c784;
}

.chph__checklistTask--in_progress .chph__checklistTaskIndicator {
  color: rgb(var(--chph-accent-rgb));
}

.chph__checklistTask--pending .chph__checklistTaskIndicator {
  color: rgba(255, 255, 255, 0.3);
}

.chph__checklistTaskBody {
  flex: 1;
  min-width: 0;
}

.chph__checklistTaskContent {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
  line-height: 20px;
}

.chph__checklistTask--complete .chph__checklistTaskContent {
  text-decoration: line-through;
  color: rgba(255, 255, 255, 0.5);
}

.chph__checklistTaskMeta {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 2px;
  word-break: break-all;
}

.chph__checklistTaskHistory {
  color: rgba(var(--chph-accent-rgb), 0.6);
  font-family: monospace;
  font-size: 10px;
}

.chph__checklistTiming {
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.chph__checklistEmpty {
  text-align: center;
  padding: 32px 16px;
}

/* ============================================================================
   KTP Telemetry Tab (Spec 1101: KTP Injection Timeline + Stats)
   Pattern source: .chph__checklistPanel styles above
   ============================================================================ */

.chph__ktpPanel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
}

.chph__ktpHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.chph__ktpTitle {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
}

.chph__ktpLoading {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  padding: 32px 16px;
}

.chph__ktpError {
  font-size: 13px;
  color: #ef5350;
  padding: 8px 12px;
  background: rgba(239, 83, 80, 0.1);
  border-radius: 6px;
}

.chph__ktpStats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  background: var(--chph-bg-deep);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.chph__ktpStat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 16px;
  min-width: 80px;
}

.chph__ktpStat--channels {
  flex-direction: row;
  gap: 6px;
  flex-wrap: wrap;
}

.chph__ktpStat--time {
  flex-basis: 100%;
  flex-direction: row;
  justify-content: center;
  padding: 4px 0 0;
}

.chph__ktpStatValue {
  font-size: 20px;
  font-weight: 700;
  color: rgb(var(--chph-accent-rgb));
  line-height: 1.2;
}

.chph__ktpStatLabel {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.chph__ktpBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
  white-space: nowrap;
}

.chph__ktpBadge--ch1 {
  background: rgba(76, 175, 80, 0.2);
  color: #81c784;
}

.chph__ktpBadge--ch2 {
  background: rgba(var(--chph-accent-rgb), 0.2);
  color: rgb(var(--chph-accent-rgb));
}

.chph__ktpBadge--ch3 {
  background: rgba(255, 183, 77, 0.2);
  color: #ffb74d;
}

.chph__ktpFilters {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.chph__ktpFilters .chph__select {
  font-size: 12px;
  padding: 4px 8px;
  background: var(--chph-bg-deep);
  color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  min-width: 100px;
}

.chph__ktpTimeline {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  overflow-y: auto;
}

.chph__ktpEvent {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 12px;
  border-radius: 6px;
  background: var(--chph-bg-deep);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.chph__ktpEvent:hover {
  border-color: rgba(var(--chph-accent-rgb), 0.2);
}

.chph__ktpEventHeader {
  display: flex;
  align-items: center;
  gap: 8px;
}

.chph__ktpTimestamp {
  font-size: 11px;
  font-family: monospace;
  color: rgba(255, 255, 255, 0.4);
  min-width: 60px;
}

.chph__ktpTreeName {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chph__ktpEventMeta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.chph__ktpCommand {
  font-size: 11px;
  font-family: monospace;
  color: rgba(255, 255, 255, 0.5);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 300px;
}

.chph__ktpNodes {
  font-size: 11px;
  color: rgba(var(--chph-accent-rgb), 0.7);
}

.chph__ktpContentPreview {
  font-size: 11px;
  font-family: monospace;
  color: rgba(255, 255, 255, 0.4);
  padding: 6px 8px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  max-height: 100px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-all;
}

.chph__ktpLoadMore {
  display: flex;
  justify-content: center;
  padding: 8px 0;
}

.chph__ktpEmpty {
  text-align: center;
  padding: 32px 16px;
}

/* ============================================================================
   Spec Runs Tab (Spec 961: DAG Task Visualization)
   Pattern source: .chph__checklistPanel styles above
   ============================================================================ */

.chph__specRunsPanel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
}

.chph__specRunsHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.chph__specRunsTitle {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
}

.chph__specRunsLoading,
.chph__specRunsError {
  padding: 24px;
  text-align: center;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
}

.chph__specRunsError {
  color: #ef5350;
}

.chph__specRunsList {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
  overflow-y: auto;
}

.chph__specRunEntry {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 8px;
  background: var(--chph-bg-deep);
  border: 1px solid rgba(var(--chph-accent-rgb), 0.15);
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.chph__specRunEntry:hover {
  border-color: rgba(var(--chph-accent-rgb), 0.35);
  background: var(--chph-bg-overlay);
}

.chph__specRunEntryHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.chph__specRunId {
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
}

.chph__specRunStatus {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 2px 8px;
  border-radius: 4px;
}

.chph__specRunStatus--pending {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.6);
}

.chph__specRunStatus--running {
  background: rgba(66, 165, 245, 0.2);
  color: #42a5f5;
}

.chph__specRunStatus--complete {
  background: rgba(102, 187, 106, 0.2);
  color: #66bb6a;
}

.chph__specRunStatus--failed {
  background: rgba(239, 83, 80, 0.2);
  color: #ef5350;
}

.chph__specRunStatus--blocked {
  background: rgba(255, 183, 77, 0.2);
  color: #ffb74d;
}

.chph__specRunStatus--cancelled {
  background: rgba(158, 158, 158, 0.2);
  color: #9e9e9e;
}

.chph__specRunNodes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.chph__specRunNode {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 11px;
  cursor: default;
  transition: border-color 0.2s ease;
}

.chph__specRunNode:hover {
  border-color: rgba(255, 255, 255, 0.25);
}

.chph__specRunNode--pending {
  color: rgba(255, 255, 255, 0.5);
}

.chph__specRunNode--blocked {
  color: #ffb74d;
  border-color: rgba(255, 183, 77, 0.3);
}

.chph__specRunNode--running {
  color: #42a5f5;
  border-color: rgba(66, 165, 245, 0.3);
  animation: pulse-running 2s ease-in-out infinite;
}

.chph__specRunNode--complete {
  color: #66bb6a;
  border-color: rgba(102, 187, 106, 0.3);
}

.chph__specRunNode--failed {
  color: #ef5350;
  border-color: rgba(239, 83, 80, 0.3);
}

.chph__specRunNode--cancelled {
  color: #9e9e9e;
  border-color: rgba(158, 158, 158, 0.3);
  text-decoration: line-through;
}

.chph__specRunNodeId {
  font-weight: 600;
}

.chph__specRunNodeStatus {
  opacity: 0.8;
}

.chph__specRunMeta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
}

.chph__specRunPhase,
.chph__specRunProgress {
  display: flex;
  align-items: center;
  gap: 4px;
}

.chph__specRunsEmpty {
  text-align: center;
  padding: 32px 16px;
}

.chph__specRunsEmpty code {
  display: inline-block;
  margin-top: 8px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  font-family: monospace;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.7);
}

@keyframes pulse-running {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}

/* Voice dictation active indicator */
.chph__composerActions .js-chphDictate.is-active {
  animation: chphDictatePulse 1.5s ease-in-out infinite;
}

@keyframes chphDictatePulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(var(--chph-accent-rgb), 0.4); }
  50% { box-shadow: 0 0 0 6px rgba(var(--chph-accent-rgb), 0); }
}

/* Voice dictation heartbeat — brief flash on each onresult to show active transcription */
.chph__composerActions .js-chphDictate.is-receiving {
  background: rgba(var(--chph-accent-rgb), 0.35);
  transition: background 0.1s ease-in;
}

/* Spec 1056: Ensure dictate button is positioned for the record dot overlay */
.chph__composerActions .js-chphDictate {
  position: relative;
}

/* Spec 1056: Recording indicator dot — red pulsing dot overlay on mic button */
.chph__recordDot {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e53e3e;
  animation: chphRecordPulse 1.2s ease-in-out infinite;
  pointer-events: none;
}

@keyframes chphRecordPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.8); }
}

/* Recording active — red tinted pulse instead of accent pulse */
.chph__composerActions .js-chphDictate.is-recording {
  animation: chphRecordButtonPulse 1.5s ease-in-out infinite;
}

@keyframes chphRecordButtonPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(229, 62, 62, 0.4); }
  50% { box-shadow: 0 0 0 6px rgba(229, 62, 62, 0); }
}

/* When both dictating and recording, recording style takes precedence */
.chph__composerActions .js-chphDictate.is-active.is-recording {
  animation: chphRecordButtonPulse 1.5s ease-in-out infinite;
}

/* ============================================
   Spec 1030: Voice Call Button + Settings Popover
   Pattern source: dictate button (.js-chphDictate) active state
   ============================================ */

/* Wrapper for phone button + settings gear — keeps popover anchored */
.chph__voiceCallWrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* Voice call active pulse — matches dictate pulse pattern */
.chph__composerActions .js-chphVoiceCall.is-active {
  animation: chphVoiceCallPulse 1.5s ease-in-out infinite;
  background: rgba(34, 197, 94, 0.25);
  border-color: rgba(34, 197, 94, 0.6);
}

@keyframes chphVoiceCallPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4); }
  50% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
}

/* Small gear icon for settings — tucked next to phone button */
.chph__voiceSettingsBtn {
  width: 18px;
  height: 18px;
  padding: 0;
  margin-left: -4px;
  border: none;
  background: transparent;
  color: rgba(var(--chph-text-rgb), 0.4);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: color 0.2s ease, background 0.2s ease;
}

.chph__voiceSettingsBtn i {
  font-size: 11px;
}

.chph__voiceSettingsBtn:hover {
  color: rgba(var(--chph-text-rgb), 0.8);
  background: rgba(var(--chph-text-rgb), 0.08);
}

/* ============================================
   MOBILE RESPONSIVE LAYOUT
   Uses %, vw/vh, float/clear — no flexbox.
   Panel visibility via class toggles on .chph root.
   States:
     .is-mobile-sidebar    → sidebar visible (full screen)
     .is-mobile-secondary  → secondary panel visible (full screen)
     (default)             → conversation visible
   ============================================ */

/* --- Mobile header bar (back button + title) --- */
.chph__mobileHeader {
  display: none;
}

@media (max-width: 768px) {

  /* === ROOT: collapse grid to block === */
  .chph {
    display: block;
    width: 100vw;
    overflow: hidden;
    position: relative;
  }

  /* Override collapsed state — irrelevant on mobile */
  .chph.is-sidebar-collapsed {
    grid-template-columns: none;
  }

  /* === SIDEBAR: full-screen overlay, hidden by default === */
  .chph__sidebar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 200;
    display: none;
    overflow-y: auto;
  }

  .chph.is-mobile-sidebar .chph__sidebar {
    display: block;
  }

  /* On mobile, collapsed sidebar state doesn't apply */
  .chph.is-sidebar-collapsed .chph__sidebar {
    width: 100vw;
  }
  .chph.is-sidebar-collapsed .chph__sidebarBody,
  .chph.is-sidebar-collapsed .chph__sidebarTabs {
    display: block;
  }
  .chph.is-sidebar-collapsed .chph__sidebarActions > :not(.chph__sidebarToggle) {
    display: inline-block;
  }

  /* Sidebar close button visible on mobile */
  .chph__sidebar .chph__sidebarClose {
    display: block;
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 10;
  }

  /* === MAIN: full width, full height minus mobile header === */
  .chph__main {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow-y: auto;
    padding: 0;
    z-index: 100;
  }

  .chph__main--withPadding {
    padding: 0;
  }

  /* === INNER LAYOUT: collapse nested grid to block === */
  .chph__layout {
    display: block;
    width: 100%;
    height: calc(100vh - 46px); /* subtract mobile header */
    overflow: hidden;
  }

  /* === PRIMARY (conversation): full screen by default === */
  .chph__column.chph__primary {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    padding: 0;
    float: none;
  }

  /* === SECONDARY: hidden by default, full screen when toggled === */
  .chph__column.chph__secondary {
    display: none;
    width: 100%;
    height: calc(100% - 90px);
    overflow-y: hidden;
    padding: 0;
    float: none;
  }

  .chph.is-mobile-secondary .chph__column.chph__secondary {
    display: block;
  }

  .chph.is-mobile-secondary .chph__column.chph__primary {
    display: none;
  }

  /* When sidebar is open, hide main content */
  .chph.is-mobile-sidebar .chph__main {
    display: none;
  }

  /* === MOBILE HEADER: back button + title bar === */
  .chph__mobileHeader {
    display: block;
    width: 100%;
    height: 46px;
    background: var(--chph-bg-surface, #0a150a);
    border-bottom: 1px solid var(--chph-border-default, rgba(255, 255, 255, 0.08));
    padding: 0;
    position: relative;
    z-index: 50;
  }

  .chph__mobileHeaderInner {
    width: 100%;
    height: 100%;
    position: relative;
  }

  .chph__mobileBack {
    float: left;
    width: 44px;
    height: 44px;
    line-height: 44px;
    text-align: center;
    background: none;
    border: none;
    color: var(--chph-accent, #00ff41);
    font-size: 20px;
    cursor: pointer;
    padding: 0;
    margin: 1px 0 0 0;
  }

  .chph__mobileBack:active {
    opacity: 0.6;
  }

  .chph__mobileTitle {
    float: left;
    max-width: calc(100% - 140px);
    height: 46px;
    line-height: 46px;
    font-size: 14px;
    font-weight: 600;
    color: var(--chph-text-primary, rgba(255, 255, 255, 0.95));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    padding: 0 8px;
  }

  .chph__mobileActions {
    float: right;
    height: 46px;
    line-height: 46px;
  }

  .chph__mobileAction {
    float: right;
    width: 44px;
    height: 44px;
    line-height: 44px;
    text-align: center;
    background: none;
    border: none;
    color: var(--chph-text-secondary, rgba(255, 255, 255, 0.7));
    font-size: 18px;
    cursor: pointer;
    padding: 0;
    margin: 1px 0 0 0;
  }

  .chph__mobileAction:active {
    opacity: 0.6;
  }

  .chph__mobileAction.is-active {
    color: var(--chph-accent, #00ff41);
  }

  .chph__mobileHeaderInner::after {
    content: '';
    display: block;
    clear: both;
  }

  /* === MAIN HEADER: simplify for mobile === */
  .chph__mainHeader {
    display: none; /* replaced by mobile header */
  }

  /* === CONVERSATION: full width, proper padding === */
  .chph__conversation {
    border-radius: 0;
    border-left: none;
    border-right: none;
    padding: 8px;
    min-height: auto;
  }

  .chph__terminalPanel.chph__primary .chph__conversation {
    border-radius: 0;
    border-left: none;
    border-right: none;
    padding: 8px;
  }

  /* === COMPOSER: bottom of screen on mobile === */
  .chph__composer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
    padding: 10px 12px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    margin: 0;
    box-shadow: 0 -4px 16px var(--chph-shadow-strong, rgba(0,0,0,0.4));
  }

  /* Composer at top class — override for mobile (bottom) */
  .chph__composer--top {
    position: fixed;
    bottom: 0;
    top: auto;
  }

  /* Composer actions — horizontal scroll instead of wrap */
  .chph__composerActions {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Transcript needs bottom padding so content isn't hidden behind fixed composer */
  .chph__transcript {
    padding-bottom: 175px;
  }

  /* === SECONDARY PANEL: full screen when visible === */
  .chph__secondary .chph__viewerPanel {
    border-radius: 0;
    border-left: none;
    border-right: none;
    padding: 10px;
  }

  /* Tab buttons in secondary panel — horizontal scroll */
  .chph__tabButtons {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }

  .chph__tabButton {
    display: inline-block;
    float: none;
  }

  /* === SIDEBAR TABS: horizontal scroll on mobile === */
  .chph__sidebarTabs {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .chph__sidebarTabButton {
    display: inline-block;
    float: none;
  }

  /* === TOUCH TARGETS === */
  .chph__sidebarTabButton,
  .chph__tabButton,
  .chph__action,
  .chph__requestButton,
  .chph__projectButton {
    min-height: 30px;
  }

  .chph__sendButton,
  .chph__audioButton {
    min-width: 44px;
    min-height: 44px;
  }

  /* === VIEWER PANEL (when not in objectives mode): full screen === */
  .chph__viewerPanel {
    width: 100%;
    height: calc(100vh - 46px);
    border-radius: 0;
    border: none;
    padding: 10px;
  }

  /* === MESSAGES: full width, tighter spacing === */
  .chph__message {
    margin-left: 0;
    margin-right: 0;
  }

  .chph__terminalPanel.chph__primary .chph__message {
    padding: 6px 8px 6px 14px;
    margin-bottom: 4px;
  }

  .chph__messageBody pre {
    max-width: calc(100vw - 60px);
    overflow-x: auto;
  }

  .chph__terminalPanel.chph__primary .chph__messageBody pre {
    max-width: calc(100vw - 60px);
    overflow-x: auto;
  }

  /* === MODALS: full screen on mobile === */
  .chph__fileRefModal,
  .chph__activityModal,
  .chph__deployModal {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }

  /* === MARKDOWN TABLES: horizontal scroll === */
  .chph__markdownTableWrapper {
    max-width: calc(100vw - 40px);
    overflow-x: auto;
  }

  /* Clear float utility */
  .chph__clearMobile {
    clear: both;
  }

} /* end @media (max-width: 768px) */

/* ============================================
   PRESENTATION INLINE PREVIEW (Spec 1050 Phase 3)
   Pattern: chph__fileReference (christophoros.css:9985)
   ============================================ */

/* Preview card button rendered inline in messages */
.chph__presentationPreviewCard {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 6px 0;
  padding: 10px 14px;
  background: rgba(58, 173, 229, 0.1);
  border: 1px solid rgba(58, 173, 229, 0.3);
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  color: #fff;
  transition: background 140ms ease, border-color 140ms ease, transform 100ms ease;
  max-width: 100%;
}

.chph__presentationPreviewCard:hover,
.chph__presentationPreviewCard:focus {
  background: rgba(58, 173, 229, 0.2);
  border-color: rgba(58, 173, 229, 0.6);
  transform: translateY(-1px);
  outline: none;
}

.chph__presentationPreviewIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: rgba(58, 173, 229, 0.15);
  border-radius: 6px;
  flex-shrink: 0;
}

.chph__presentationPreviewIcon i {
  font-size: 16px;
  color: #3AADE5;
}

.chph__presentationPreviewLabel {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.chph__presentationPreviewName {
  font-weight: 500;
  color: #e0e0e0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chph__presentationPreviewHint {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
}

/* Lightbox overlay — extends chph__modalOverlay/chph__modalPanel */
.chph__presentationLightboxModal {
  width: min(1200px, 96vw);
  max-height: 94vh;
  display: flex;
  flex-direction: column;
}

.chph__presentationLightboxBody {
  flex: 1;
  min-height: 0;
  padding: 0;
  background: #fff;
  border-radius: 0 0 12px 12px;
  overflow: hidden;
}

.chph__presentationLightboxIframe {
  width: 100%;
  height: 70vh;
  border: none;
  display: block;
}

/* ============================================================================
   Spec 1069 Phase 5: Prompt tab + Composition panel styles
   Pattern source: .chph__configSection (spacing), .chph__agentTokens (card layout)
   ============================================================================ */

/* Task 5.1: Composition Inputs — bird's-eye aggregation of prompt composition sources */
.chph__compositionInputs {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.chph__compositionGrid {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.chph__compositionRow {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.chph__compositionLabel {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: rgba(255, 255, 255, 0.45);
  min-width: 72px;
  padding-top: 3px;
  flex-shrink: 0;
}
.chph__compositionValue {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.85);
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
.chph__compositionValue code {
  font-size: 12px;
  padding: 1px 6px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.7);
}
.chph__compositionMuted {
  color: rgba(255, 255, 255, 0.35);
  font-style: italic;
}
.chph__compositionBadge {
  display: inline-block;
  font-size: 11px;
  padding: 1px 7px;
  border-radius: 10px;
  font-weight: 500;
}
.chph__compositionBadge--on {
  background: rgba(76, 175, 80, 0.15);
  color: #81c784;
  border: 1px solid rgba(76, 175, 80, 0.25);
}
.chph__compositionBadge--off {
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.chph__compositionBadge--role {
  background: rgba(66, 165, 245, 0.12);
  color: #64b5f6;
  border: 1px solid rgba(66, 165, 245, 0.2);
}

/* Task 5.3: Family Blurb — domain description above conversation for family members */
.chph__familyBlurb {
  padding: 8px 12px;
  margin-bottom: 8px;
  background: rgba(66, 165, 245, 0.06);
  border: 1px solid rgba(66, 165, 245, 0.12);
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.chph__familyBlurbIcon {
  font-size: 14px;
  color: rgba(66, 165, 245, 0.6);
  flex-shrink: 0;
}
.chph__familyBlurbText {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.4;
}
.chph__familyBlurbName {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
}

/* Task 5.4: Composition Visualization — family member grid for representative objectives */
.chph__compositionViz {
  padding-top: 16px;
  margin-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.chph__compositionVizTitle {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 12px 0;
  color: rgba(255, 255, 255, 0.85);
}
.chph__compositionMemberGrid {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.chph__compositionMember {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.chph__compositionMemberName {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chph__compositionMemberRole {
  font-size: 11px;
  padding: 1px 7px;
  border-radius: 10px;
  background: rgba(66, 165, 245, 0.12);
  color: #64b5f6;
  border: 1px solid rgba(66, 165, 245, 0.2);
  flex-shrink: 0;
}
.chph__compositionMemberTemplate {
  font-size: 11px;
  padding: 1px 7px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.45);
  flex-shrink: 0;
}
.chph__compositionMemberHooks {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
  flex-shrink: 0;
}

/* Spec 1069 Wave F-2 (Step 18): Hook Editor styles */
/* Pattern source: chph__compositionViz (christophoros.css:14092), chph__templateBrowser (christophoros.css:14225) */
.chph__hookEditorSection {
  padding-top: 16px;
  margin-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.chph__hookEditorHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.chph__hookEditorHeader .chph__promptSectionTitle {
  margin: 0;
}
.chph__hookSummary {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 8px;
}
.chph__hookList {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 10px;
}
.chph__hookCard {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 10px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.chph__hookCard:hover {
  background: rgba(255, 255, 255, 0.05);
}
.chph__hookCardMain {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.chph__hookCardType {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  flex-shrink: 0;
}
.chph__hookCardAction {
  font-size: 11px;
  padding: 1px 6px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.5);
  flex-shrink: 0;
}
.chph__hookCardPrompt {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}
.chph__hookCardControls {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  margin-left: 8px;
}
.chph__hookCardControls .chph__action {
  font-size: 11px;
  padding: 2px 6px;
}
.chph__action--danger {
  color: #ef5350 !important;
}
.chph__action--danger:hover {
  background: rgba(239, 83, 80, 0.1) !important;
}
.chph__hookAddForm {
  padding: 10px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  margin-bottom: 10px;
}
.chph__hookAddRow {
  margin-bottom: 8px;
}
.chph__hookAddRow .chph__select,
.chph__hookAddRow .chph__input {
  width: 100%;
  box-sizing: border-box;
}
.chph__select {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
  padding: 6px 8px;
  outline: none;
}
.chph__select:focus {
  border-color: rgba(66, 165, 245, 0.5);
}
.chph__select option {
  background: #1e1e1e;
  color: rgba(255, 255, 255, 0.85);
}
.chph__hookAddActions {
  display: flex;
  gap: 8px;
}

/* Signal History styles */
.chph__signalHistory {
  padding-top: 12px;
  margin-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.chph__signalHistoryHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.chph__signalHistoryTitle {
  font-size: 13px;
  font-weight: 600;
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
}
.chph__signalHistoryList {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.chph__signalHistoryItem {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.02);
}
.chph__signalHistoryType {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.7);
  flex-shrink: 0;
}
.chph__signalHistoryMeta {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.35);
}
.chph__signalHistoryTime {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.3);
  margin-left: auto;
  flex-shrink: 0;
}

/* Prompt tab general styles */
.chph__promptPanel {
  padding: 12px 0;
}
.chph__promptTierRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.chph__promptTierLabel {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
}
.chph__promptTierBadge {
  font-size: 10px;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.4);
  margin-left: 6px;
  text-transform: uppercase;
}
.chph__promptSection {
  margin-bottom: 20px;
}
.chph__promptSectionTitle {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: rgba(255, 255, 255, 0.85);
}
.chph__promptHint {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  margin: 0 0 8px 0;
  line-height: 1.4;
}
.chph__promptEditorHost {
  margin-bottom: 8px;
}
.chph__promptActions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}
.chph__promptDirtyIndicator {
  font-size: 11px;
  color: #f9a825;
  font-style: italic;
}
.chph__promptTemplateRow {
  display: flex;
  gap: 8px;
  align-items: center;
}
.chph__promptPreviewLoading {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
  padding: 20px 0;
  font-style: italic;
}
.chph__promptPreviewMeta {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 6px;
}
.chph__promptPreviewHost {
  margin-bottom: 8px;
}

/* Template Library Browser (Task 5.2) */
.chph__templateBrowser {
  margin-top: 8px;
}
.chph__templateList {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 200px;
  overflow-y: auto;
}
.chph__templateItem {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s;
}
.chph__templateItem:hover {
  background: rgba(255, 255, 255, 0.07);
}
.chph__templateItem.is-selected {
  border-color: rgba(66, 165, 245, 0.3);
  background: rgba(66, 165, 245, 0.08);
}
.chph__templateItemName {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75);
  font-weight: 500;
}
.chph__templateItemPreview {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.35);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chph__templatePreviewBox {
  margin-top: 8px;
  margin-bottom: 0;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.55);
  max-height: 150px;
  overflow-y: auto;
  white-space: pre-wrap;
  font-family: var(--chph-mono, 'JetBrains Mono', 'Fira Code', monospace);
  line-height: 1.5;
}

/* ============================================================================
   Spec 1069 Phase 4b (Step 18b): Routine Schedule Editor styles
   Pattern source: .chph__hookEditorSection (section layout), .chph__compositionBadge (badge pattern)
   ============================================================================ */
.chph__routineEditorSection {
  padding-top: 16px;
  margin-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.chph__routineEditorHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.chph__routineEditorHeader .chph__promptSectionTitle {
  margin: 0;
}
.chph__routineSummary {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 8px;
}
.chph__routineEditorBody {
  margin-top: 8px;
}
/* Routine list items */
.chph__routineList {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 12px;
}
.chph__routineItem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  gap: 8px;
}
.chph__routineItem--disabled {
  opacity: 0.5;
}
.chph__routineItemInfo {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.chph__routineItemSchedule {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
}
.chph__routineItemPrompt {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chph__routineItemCron {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.3);
  font-family: var(--chph-mono, 'JetBrains Mono', 'Fira Code', monospace);
}
.chph__routineItemActions {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}
/* Cron builder form */
.chph__routineCronBuilder {
  padding: 12px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 6px;
}
.chph__routineCronBuilderTitle {
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 10px 0;
  color: rgba(255, 255, 255, 0.75);
}
/* Preset buttons */
.chph__routinePresets {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 10px;
}
.chph__routinePresetBtn {
  font-size: 11px;
  padding: 3px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.chph__routinePresetBtn:hover {
  background: rgba(66, 165, 245, 0.1);
  border-color: rgba(66, 165, 245, 0.3);
  color: rgba(255, 255, 255, 0.85);
}
/* Time selection row */
.chph__routineTimeRow {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.chph__routineLabel {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: rgba(255, 255, 255, 0.45);
  min-width: 40px;
  flex-shrink: 0;
}
.chph__routineSelect {
  font-size: 13px;
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.85);
  outline: none;
}
.chph__routineSelect:focus {
  border-color: rgba(66, 165, 245, 0.4);
}
.chph__routineTimeSep {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
}
/* Day-of-week picker */
.chph__routineDaysRow {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}
.chph__routineDayPicker {
  display: flex;
  gap: 3px;
}
.chph__routineDayBtn {
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
  color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.chph__routineDayBtn:hover {
  background: rgba(66, 165, 245, 0.08);
  border-color: rgba(66, 165, 245, 0.2);
}
.chph__routineDayBtn.is-selected {
  background: rgba(66, 165, 245, 0.15);
  border-color: rgba(66, 165, 245, 0.35);
  color: #64b5f6;
  font-weight: 600;
}
/* Natural language preview */
.chph__routinePreview {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  padding: 6px 10px;
  background: rgba(76, 175, 80, 0.06);
  border: 1px solid rgba(76, 175, 80, 0.12);
  border-radius: 4px;
}
.chph__routinePreviewLabel {
  font-size: 11px;
  font-weight: 600;
  color: rgba(76, 175, 80, 0.6);
  flex-shrink: 0;
}
.chph__routinePreviewText {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
}
/* Prompt input row */
.chph__routinePromptRow {
  margin-bottom: 10px;
}
/* Action buttons */
.chph__routineCronActions {
  display: flex;
  gap: 8px;
}

/* ============================================================================
   Spec 1069 Phase 4b (Step 18c): Weekly Calendar styles
   Pattern source: .chph__compositionMemberGrid (member layout), .chph__compositionViz (section layout)
   ============================================================================ */
.chph__weeklyCalendarSection {
  padding-top: 16px;
  margin-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.chph__weeklyCalendarHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.chph__weeklyCalendarHeader .chph__promptSectionTitle {
  margin: 0;
}
.chph__weeklyCalendarGrid {
  display: grid;
  grid-template-columns: 110px repeat(7, 1fr);
  gap: 2px;
  font-size: 11px;
}
/* Corner cell (top-left empty) */
.chph__calendarCorner {
  background: transparent;
}
/* Day column headers */
.chph__calendarDayHeader {
  text-align: center;
  padding: 6px 4px;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.03);
  border-radius: 3px 3px 0 0;
}
/* Member label (left column) */
.chph__calendarMemberLabel {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 8px;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 3px 0 0 3px;
  overflow: hidden;
}
.chph__calendarMemberName {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.chph__calendarMemberRoleBadge {
  font-size: 9px;
  padding: 1px 5px;
  border-radius: 8px;
  background: rgba(66, 165, 245, 0.12);
  color: #64b5f6;
  border: 1px solid rgba(66, 165, 245, 0.2);
  flex-shrink: 0;
  white-space: nowrap;
}
/* Calendar cells */
.chph__calendarCell {
  min-height: 32px;
  padding: 3px;
  background: rgba(255, 255, 255, 0.015);
  border: 1px solid rgba(255, 255, 255, 0.03);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.chph__calendarCell--active {
  background: rgba(255, 255, 255, 0.035);
  border-color: rgba(255, 255, 255, 0.06);
}
/* Routine blocks inside cells */
.chph__calendarBlock {
  padding: 2px 4px;
  border-radius: 3px;
  font-size: 10px;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.9);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chph__calendarBlockTime {
  font-weight: 600;
  font-size: 10px;
}

/* ═══════════════════════════════════════════════════════════════
   Spec 1280: Inbound Message Queue — badge (list) + list (detail)
   Pattern source: .chph__messageQueue (line 8208), .chph__requestBadge (line 1888)
   ═══════════════════════════════════════════════════════════════ */

/* Badge on objective card (list view) — amber for "waiting" */
.chph__inboundQueueBadge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-left: 6px;
  padding: 2px 7px;
  background: rgba(255, 179, 71, 0.22);
  color: #ffcf8a;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

.chph__inboundQueueBadge .lucide-icon {
  width: 11px;
  height: 11px;
}

/* Detail view — collapsible queue list above transcript */
.chph__inboundQueue {
  margin-bottom: 10px;
  border: 1px solid rgba(255, 179, 71, 0.25);
  border-radius: 8px;
  background: rgba(255, 179, 71, 0.06);
}

.chph__inboundQueueSummary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  cursor: pointer;
  user-select: none;
  font-size: 12px;
  font-weight: 600;
  color: #ffcf8a;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.chph__inboundQueueSummary .lucide-icon {
  width: 15px;
  height: 15px;
  color: rgba(255, 179, 71, 0.7);
}

.chph__inboundQueueSummary:hover {
  background: rgba(255, 179, 71, 0.08);
}

.chph__inboundQueueLabel {
  flex: 1;
}

.chph__inboundQueueCount {
  padding: 2px 8px;
  background: rgba(255, 179, 71, 0.2);
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  color: #ffcf8a;
}

.chph__inboundQueueList {
  list-style: none;
  margin: 0;
  padding: 0 12px 10px;
}

.chph__inboundQueueEntry {
  padding: 8px 10px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
  margin-bottom: 6px;
}

.chph__inboundQueueEntry:last-child {
  margin-bottom: 0;
}

.chph__inboundQueueEntry:hover {
  background: rgba(255, 255, 255, 0.06);
}

.chph__inboundQueueEntryHeader {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

.chph__inboundQueueSender {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
}

.chph__inboundQueueRole {
  font-size: 10px;
  padding: 1px 5px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
  color: rgba(255, 255, 255, 0.6);
  text-transform: lowercase;
}

.chph__inboundQueueTime {
  margin-left: auto;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
}

.chph__inboundQueuePreview {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.commandDashboard {
  padding: 24px;
  padding-bottom: calc(var(--line-height) * 2);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.commandDashboard__header h2 {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
}

.commandDashboard__subtitle {
  margin-top: 4px;
  color: #6b7280;
  font-size: 14px;
}

.commandDashboard__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #f9fafb;
  margin-bottom: 20px;
}

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

.commandDashboard__toolbarRangeSummary {
  color: #6b7280;
  font-size: 13px;
  font-weight: 500;
}

.commandDashboard__customRangeForm {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.commandDashboard__customInput {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 13px;
  color: #111827;
}

.commandDashboard__customApply {
  border: none;
  border-radius: 8px;
  background: var(--jmkr-color-1);
  color: #ffffff;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease;
}

.commandDashboard__customApply:hover {
  background: #1d4ed8;
}

.commandDashboard__loading {
  margin: 16px 0;
  padding: 16px;
  border-radius: 8px;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  color: #1f2937;
  font-size: 14px;
}

.commandDashboard__updatedHint {
  color: #6b7280;
  font-size: 13px;
}

.commandDashboard__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
}

.commandDashboard__metricGroups {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.commandDashboard__metricGroupHeader {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 8px;
}

.commandDashboard__metricGroupControls {
  display: flex;
  gap: 8px;
  align-items: center;
}

.commandDashboard__toggleButton {
  border: 1px solid #d1d5db;
  border-radius: 999px;
  background: #ffffff;
  color: #374151;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.commandDashboard__toggleButton:hover {
  border-color: var(--jmkr-color-1);
  color: var(--jmkr-color-1);
}

.commandDashboard__toggleButton--active {
  background: var(--jmkr-color-1);
  border-color: var(--jmkr-color-1);
  color: #ffffff;
}

.commandDashboard__toggleButton:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.commandDashboard__metricGroup {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.commandDashboard__metricGroupTitle {
  font-size: 16px;
  font-weight: 600;
  color: #111827;
}

.commandDashboard__metricGroupSubtitle {
  font-size: 13px;
  color: #6b7280;
  margin-top: 2px;
}

.commandDashboard__metricCard {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 18px;
  box-shadow: 0 4px 15px rgba(15, 23, 42, 0.08);
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.commandDashboard__metricCard:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12);
}

.commandDashboard__metricCard::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 12px;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.15);
}

.commandDashboard__metricCard--accent-success {
  border-color: #bbf7d0;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(255, 255, 255, 0.9));
}

.commandDashboard__metricCard--accent-warning {
  border-color: #fde68a;
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.12), rgba(255, 255, 255, 0.9));
}

.commandDashboard__metricCard--accent-danger {
  border-color: #fecaca;
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.12), rgba(255, 255, 255, 0.92));
}

.commandDashboard__metricCard--accent-info {
  border-color: #bfdbfe;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(255, 255, 255, 0.95));
}

.commandDashboard__metricCard--accent-neutral {
  border-color: #e5e7eb;
  background: #ffffff;
}

.commandDashboard__metricHeaderRow {
  display: flex;
  align-items: center;
  gap: 12px;
}

.commandDashboard__metricBadge {
  width: 70px;
  height: 30px;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.08);
  color: #111827;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.commandDashboard__metricCard--accent-success .commandDashboard__metricBadge {
  background: rgba(16, 185, 129, 0.18);
  color: #047857;
}

.commandDashboard__metricCard--accent-warning .commandDashboard__metricBadge {
  background: rgba(251, 191, 36, 0.2);
  color: #92400e;
}

.commandDashboard__metricCard--accent-danger .commandDashboard__metricBadge {
  background: rgba(239, 68, 68, 0.18);
  color: #b91c1c;
}

.commandDashboard__metricCard--accent-info .commandDashboard__metricBadge {
  background: rgba(59, 130, 246, 0.18);
  color: #1d4ed8;
}

.commandDashboard__metricLabel {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6b7280;
}

.commandDashboard__metricValue {
  font-size: 28px;
  font-weight: 600;
  color: #111827;
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-top: 4px;
}

.commandDashboard__metricValueNumber {
  line-height: 1.1;
}

.commandDashboard__metricSuffix {
  font-size: 16px;
  font-weight: 600;
  color: #6b7280;
}

.commandDashboard__metricTrend {
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e5e7eb;
  color: #374151;
  text-transform: uppercase;
  width: fit-content;
}

.commandDashboard__metricTrend--positive {
  background: #dcfce7;
  color: #15803d;
}

.commandDashboard__metricTrend--negative {
  background: #fee2e2;
  color: #b91c1c;
}

.commandDashboard__metricTrend--warning {
  background: #fef3c7;
  color: #b45309;
}

.commandDashboard__metricTrend--neutral {
  background: #e5e7eb;
  color: #374151;
}

.commandDashboard__metricHint {
  font-size: 13px;
  color: #6b7280;
}

.commandDashboardTabs {
  display: flex;
  gap: 12px;
  border-bottom: 1px solid #e5e7eb;
  flex-wrap: wrap;
}

.commandDashboardTabs__tab {
  background: none;
  border: none;
  padding: 10px 16px;
  font-size: 14px;
  color: #4b5563;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  font-weight: 500;
  transition: color 0.15s ease, border-color 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.commandDashboardTabs__tab:hover {
  color: #1f2937;
}

.commandDashboardTabs__tab.is-active {
  color: #1f2937;
  border-bottom-color: var(--jmkr-color-1);
  font-weight: 600;
}

.commandDashboardTabs__tab:focus-visible {
  outline: 2px solid var(--jmkr-color-1);
  outline-offset: 2px;
}

.commandDashboardTabs__tabIcon {
  width: 16px;
  height: 16px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.6;
}

.commandDashboardTabs__tab.is-active .commandDashboardTabs__tabIcon {
  opacity: 1;
}

.commandDashboardTabs__tabIcon--wrench {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
}

.commandDashboardTabs__tabIcon--globe {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E");
}

.commandDashboardTabs__panels {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}

.commandDashboardTabs__panel {
  display: none;
  flex-direction: column;
  gap: 16px;
}

.commandDashboardTabs__panel.is-active {
  display: flex;
}

.commandDashboard__section {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.commandDashboard__sectionHeader h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: #1f2937;
}

.commandDashboard__sectionHeader p {
  margin: 4px 0 0;
  font-size: 14px;
  color: #6b7280;
}

.commandDashboard__actionRow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.commandDashboard__button {
  border: none;
  border-radius: 6px;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  background: var(--jmkr-color-1);
  color: #ffffff;
}

.commandDashboard__button:hover:enabled {
  background: #1d4ed8;
}

.commandDashboard__button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.commandDashboard__button--ghost {
  background: #f3f4f6;
  color: #1f2937;
  border: 1px solid #e5e7eb;
}

.commandDashboard__error {
  padding: 12px;
  border-radius: 8px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
  font-size: 14px;
}

.commandDashboard__result {
  padding: 16px;
  border-radius: 8px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1f2937;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
}

.commandDashboard__resultHeadline {
  font-weight: 600;
}

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

.commandDashboard__failures {
  font-size: 13px;
  color: #374151;
}

.commandDashboard__failures ul {
  margin: 8px 0 0 18px;
  padding: 0;
}

.commandDashboard__failures li {
  margin-bottom: 4px;
}

.commandDashboard__resultList {
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
  color: #374151;
}

.commandDashboard__resultList li {
  margin-bottom: 4px;
}

.commandDashboard__dialogGroup {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
}

.commandDashboard__dialogOption {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #1f2937;
}

.commandDashboard__dialogOption input[type="checkbox"] {
  margin: 0;
}

.commandDashboard__swalField {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: left;
  margin-bottom: 12px;
}

.commandDashboard__swalField label {
  font-size: 13px;
  color: #374151;
}

.commandDashboard__swalField input {
  width: 100%;
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid #d1d5db;
  font-size: 14px;
}

.commandDashboard__swalCheckboxGroup {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
}

.commandDashboard__swalCheckbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #1f2937;
}

/* Executive Tab Divider */
.commandDashboard__divider {
  height: 1px;
  background: #e5e7eb;
  margin: 32px 0;
}

/* Executive Tab - Chart Line Icon */
.commandDashboardTabs__tabIcon--chart-line {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='m19 9-5 5-4-4-3 3'/%3E%3C/svg%3E");
}

/* Hero KPI Strip */
.commandDashboard__heroStrip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.commandDashboard__heroMetric {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 15px rgba(15, 23, 42, 0.08);
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.commandDashboard__heroMetric:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12);
}

.commandDashboard__heroLabel {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6b7280;
  font-weight: 600;
}

.commandDashboard__heroValue {
  font-size: 32px;
  font-weight: 700;
  color: #111827;
  line-height: 1.1;
}

.commandDashboard__sparklineContainer {
  height: 40px;
  width: 100%;
  margin: 4px 0;
}

.commandDashboard__trendIndicator {
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e5e7eb;
  color: #374151;
  width: fit-content;
}

.commandDashboard__trendIndicator--positive {
  background: #dcfce7;
  color: #15803d;
}

.commandDashboard__trendIndicator--negative {
  background: #fee2e2;
  color: #b91c1c;
}

.commandDashboard__trendIndicator--neutral {
  background: #e5e7eb;
  color: #374151;
}

.commandDashboard__heroExpand {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.commandDashboard__heroExpand:hover {
  background: #f3f4f6;
  border-color: var(--jmkr-color-1);
}

.commandDashboard__heroExpandIcon {
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cpolyline points='9 21 3 21 3 15'/%3E%3Cline x1='21' y1='3' x2='14' y2='10'/%3E%3Cline x1='3' y1='21' x2='10' y2='14'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

/* Executive Actions Row */
.commandDashboard__executiveActions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.commandDashboard__executiveUpdated {
  font-size: 13px;
  color: #6b7280;
}

/* Executive Details Sections */
.commandDashboard__executiveDetails {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 16px;
}

.commandDashboard__executiveDetails h3 {
  margin: 0 0 16px;
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
}

/* Tier Breakdown Grid */
.commandDashboard__tierBreakdown {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}

.commandDashboard__tierCard {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 14px;
  text-align: center;
}

.commandDashboard__tierLabel {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b7280;
  font-weight: 600;
  margin-bottom: 6px;
}

.commandDashboard__tierMRR {
  font-size: 20px;
  font-weight: 700;
  color: #111827;
}

.commandDashboard__tierCount {
  font-size: 12px;
  color: #6b7280;
  margin-top: 4px;
}

/* Funnel Stats */
.commandDashboard__funnelStats {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.commandDashboard__funnelStat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.commandDashboard__funnelLabel {
  font-size: 13px;
  color: #6b7280;
}

.commandDashboard__funnelValue {
  font-size: 24px;
  font-weight: 700;
  color: #111827;
}

/* Chart Modal */
.commandDashboard__chartModal {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 24px;
}

.commandDashboard__chartModalContent {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 25px 50px rgba(15, 23, 42, 0.25);
  width: 100%;
  max-width: 900px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.commandDashboard__chartModalHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e7eb;
}

.commandDashboard__chartModalTitle {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
}

.commandDashboard__chartModalClose {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
  color: #6b7280;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, color 0.15s ease;
}

.commandDashboard__chartModalClose:hover {
  background: #fee2e2;
  color: #b91c1c;
  border-color: #fecaca;
}

.commandDashboard__chartModalBody {
  padding: 24px;
  overflow-y: auto;
}

.commandDashboard__trendChart {
  width: 100%;
  height: 350px;
}

@media (max-width: 768px) {
  .commandDashboard {
    padding: 16px;
  }

  .commandDashboard__metrics {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }

  .commandDashboard__resultMeta {
    flex-direction: column;
    gap: 6px;
  }

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

  .commandDashboard__heroValue {
    font-size: 26px;
  }

  .commandDashboard__chartModalContent {
    max-height: 80vh;
  }

  .commandDashboard__trendChart {
    height: 280px;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   Inventory Anomaly Scanner Styles
   ───────────────────────────────────────────────────────────────────────────── */

.commandDashboard__filterRow {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-bottom: 16px;
}

.commandDashboard__filterGroup {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.commandDashboard__filterGroup--grow {
  flex: 1;
  min-width: 200px;
}

.commandDashboard__filterGroup label {
  font-size: 12px;
  font-weight: 500;
  color: #6b7280;
}

.commandDashboard__select {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 14px;
  color: #111827;
  background: #ffffff;
  min-width: 120px;
}

.commandDashboard__input {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 14px;
  color: #111827;
  width: 100%;
}

.commandDashboard__inputWithButton {
  position: relative;
  display: flex;
  align-items: center;
}

.commandDashboard__inputWithButton .commandDashboard__input {
  padding-right: 32px;
}

.commandDashboard__inputClear {
  position: absolute;
  right: 8px;
  background: #e5e7eb;
  border: none;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  font-size: 14px;
  line-height: 1;
  color: #6b7280;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.commandDashboard__inputClear:hover {
  background: #d1d5db;
  color: #374151;
}

.commandDashboard__noResults {
  padding: 24px;
  text-align: center;
  color: #6b7280;
  font-size: 14px;
  background: #f9fafb;
  border-radius: 8px;
  border: 1px dashed #e5e7eb;
}

.commandDashboard__anomalyList {
  margin-top: 16px;
  overflow-x: auto;
}

.commandDashboard__anomalyTable {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.commandDashboard__anomalyTable thead {
  background: #f3f4f6;
}

.commandDashboard__anomalyTable th {
  padding: 10px 12px;
  text-align: left;
  font-weight: 600;
  color: #374151;
  border-bottom: 2px solid #e5e7eb;
  white-space: nowrap;
}

.commandDashboard__anomalyTable td {
  padding: 10px 12px;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: top;
}

.commandDashboard__anomalyRow {
  background: #ffffff;
}

.commandDashboard__anomalyRow:hover {
  background: #f9fafb;
}

.commandDashboard__anomalyDetailRow {
  background: #fafbfc;
}

.commandDashboard__anomalyDetailRow td {
  padding: 6px 12px;
  border-bottom: 2px solid #e5e7eb;
}

.commandDashboard__anomalyDetail {
  font-size: 12px;
  color: #6b7280;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.commandDashboard__anomalyDetailLabel {
  font-weight: 500;
  color: #374151;
}

.commandDashboard__anomalyDetailIds {
  margin-left: auto;
  font-size: 11px;
  color: #9ca3af;
}

.commandDashboard__anomalyDetailIds code {
  background: #f3f4f6;
  padding: 1px 4px;
  border-radius: 3px;
  font-size: 10px;
}

.commandDashboard__anomalyDate {
  white-space: nowrap;
  font-size: 12px;
  color: #6b7280;
}

.commandDashboard__anomalyItem {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
}

.commandDashboard__anomalySku code {
  background: #e5e7eb;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
}

.commandDashboard__anomalyOptions {
  display: block;
  font-size: 11px;
  color: #6b7280;
  margin-top: 2px;
}

.commandDashboard__anomalySource {
  font-size: 12px;
}

.commandDashboard__anomalySource small {
  color: #9ca3af;
  font-size: 10px;
}

.commandDashboard__anomalyQty {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}

.commandDashboard__anomalyPositive {
  color: #059669;
  background: #d1fae5;
  border-radius: 4px;
  padding: 2px 6px;
}

.commandDashboard__anomalyNegative {
  color: #dc2626;
  background: #fee2e2;
  border-radius: 4px;
  padding: 2px 6px;
}

/* Tab icon for inventory (box icon) */
.commandDashboardTabs__tabIcon--box::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5M10 11.25h4M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

/* Sortable table headers */
.commandDashboard__sortHeader {
  cursor: pointer;
  user-select: none;
  transition: background 0.15s ease, color 0.15s ease;
}

.commandDashboard__sortHeader:hover {
  background: #e5e7eb;
  color: #111827;
}

.commandDashboard__sortHeader.commandDashboard__sortActive {
  background: #dbeafe;
  color: #1d4ed8;
}

.commandDashboard__sortIndicator {
  margin-left: 4px;
  font-size: 10px;
  opacity: 0.8;
}

@media (max-width: 768px) {
  .commandDashboard__filterRow {
    flex-direction: column;
    align-items: stretch;
  }

  .commandDashboard__anomalyTable {
    font-size: 11px;
  }

  .commandDashboard__anomalyTable th,
  .commandDashboard__anomalyTable td {
    padding: 6px 8px;
  }

  .commandDashboard__anomalyItem {
    max-width: 120px;
  }
}

/* Inventory Repair Modal */
.commandDashboard__repairModal {
  z-index: 1001;
}

.commandDashboard__repairModalContent {
  max-width: 700px;
  max-height: 85vh;
  overflow-y: auto;
}

.commandDashboard__repairInfo {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 20px;
}

.commandDashboard__repairInfoRow {
  padding: 6px 0;
  font-size: 14px;
  color: #374151;
}

.commandDashboard__repairInfoRow code {
  font-size: 12px;
  background: #e5e7eb;
  padding: 2px 6px;
  border-radius: 4px;
  color: #4b5563;
}

.commandDashboard__repairOptions {
  margin-bottom: 20px;
}

.commandDashboard__repairOptions label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #374151;
  cursor: pointer;
  padding: 8px 0;
}

.commandDashboard__repairOptions input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}

.commandDashboard__repairActions {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}

.commandDashboard__repairResult {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
}

.commandDashboard__repairResultHeader {
  padding: 12px 16px;
  background: #ecfdf5;
  border-bottom: 1px solid #d1fae5;
  color: #065f46;
  font-size: 14px;
}

.commandDashboard__repairResultHeader--dryRun {
  background: #fef3c7;
  border-bottom-color: #fcd34d;
  color: #92400e;
}

.commandDashboard__repairResultMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 12px 16px;
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  font-size: 13px;
  color: #6b7280;
}

.commandDashboard__repairAnchor {
  padding: 12px 16px;
  background: #f0f9ff;
  border-bottom: 1px solid #bae6fd;
  font-size: 13px;
  color: #0369a1;
}

.commandDashboard__repairAnchorTitle {
  margin-bottom: 8px;
  font-size: 14px;
  color: #0c4a6e;
}

.commandDashboard__repairAnchorDetails {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 8px;
}

.commandDashboard__repairAnchorItem {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.commandDashboard__repairAnchorItem code {
  font-size: 11px;
  background: #e0f2fe;
  padding: 2px 6px;
  border-radius: 4px;
  color: #0369a1;
  margin-left: 4px;
}

.commandDashboard__repairAnchorId {
  font-size: 11px;
  color: #0284c7;
  opacity: 0.8;
}

.commandDashboard__repairAnchorId code {
  font-size: 10px;
  background: #e0f2fe;
  padding: 2px 6px;
  border-radius: 4px;
}

.commandDashboard__repairAnchorValidation {
  font-size: 12px;
  font-weight: normal;
  color: #0284c7;
  margin-left: 8px;
}

.commandDashboard__repairTabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid #e5e7eb;
  margin-top: 16px;
}

.commandDashboard__repairTab {
  padding: 10px 20px;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  font-size: 14px;
  font-weight: 500;
  color: #6b7280;
  cursor: pointer;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.commandDashboard__repairTab:hover {
  color: #374151;
}

.commandDashboard__repairTab.is-active {
  color: #2563eb;
  border-bottom-color: #2563eb;
}

.commandDashboard__repairTabContent {
  min-height: 200px;
}

.commandDashboard__repairValidationChain {
  padding: 16px;
}

.commandDashboard__repairValidationChainDesc {
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 12px;
  padding: 10px 12px;
  background: #f0f9ff;
  border-radius: 6px;
  border-left: 3px solid #0284c7;
}

.commandDashboard__repairValidationChainTitle {
  font-size: 12px;
  font-weight: 600;
  color: #0369a1;
  margin-bottom: 8px;
}

.commandDashboard__repairValidationTable {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.commandDashboard__repairValidationTable th {
  padding: 6px 10px;
  text-align: left;
  font-weight: 600;
  color: #0369a1;
  background: #e0f2fe;
  border-bottom: 1px solid #bae6fd;
}

.commandDashboard__repairValidationTable td {
  padding: 6px 10px;
  border-bottom: 1px solid #e0f2fe;
  color: #0c4a6e;
}

.commandDashboard__repairValidationTable code {
  font-size: 10px;
  background: #cffafe;
  padding: 1px 4px;
  border-radius: 3px;
  margin-left: 4px;
}

.commandDashboard__repairList {
  padding: 16px;
  max-height: 300px;
  overflow-y: auto;
}

.commandDashboard__repairTable {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.commandDashboard__repairTable thead {
  background: #f3f4f6;
}

.commandDashboard__repairTable th {
  padding: 8px 10px;
  text-align: left;
  font-weight: 600;
  color: #374151;
  border-bottom: 2px solid #e5e7eb;
}

.commandDashboard__repairTable td {
  padding: 8px 10px;
  border-bottom: 1px solid #f3f4f6;
  color: #374151;
}

.commandDashboard__repairTable tbody tr:hover {
  background: #f9fafb;
}

.commandDashboard__repairCorrected {
  color: #059669;
  font-weight: 600;
}

.commandDashboard__repairPositive {
  color: #059669;
}

.commandDashboard__repairNegative {
  color: #dc2626;
}

.commandDashboard__repairFinalQuantity {
  padding: 12px 16px;
  background: #f0fdf4;
  border-top: 1px solid #bbf7d0;
  font-size: 14px;
  color: #166534;
}

.commandDashboard__repairFinalQuantity--mismatch {
  background: #fef2f2;
  border-top-color: #fecaca;
  color: #991b1b;
}

.commandDashboard__repairSynced {
  color: #059669;
  font-weight: 600;
  margin-left: 8px;
}

.commandDashboard__repairMismatchWarning {
  color: #dc2626;
  font-weight: 600;
  margin-left: 8px;
}

.commandDashboard__repairRollback {
  padding: 16px;
  border-top: 1px solid #e5e7eb;
  background: #fef2f2;
}

.commandDashboard__button--danger {
  background: #dc2626;
  color: #fff;
  border: none;
}

.commandDashboard__button--danger:hover {
  background: #b91c1c;
}

.commandDashboard__button--danger:disabled {
  background: #f87171;
  cursor: not-allowed;
}

.commandDashboard__button--small {
  padding: 4px 10px;
  font-size: 12px;
}

.commandDashboard__anomalyActions {
  text-align: center;
}

/* Analysis Tab Styles */
.commandDashboard__analysisContent {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.commandDashboard__analysisSection {
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}

.commandDashboard__analysisSection--highlight {
  background: #f0f9ff;
  border-color: #bae6fd;
}

.commandDashboard__analysisSection--highlight.commandDashboard__analysisMismatch--positive {
  background: #fef3c7;
  border-color: #fcd34d;
}

.commandDashboard__analysisSection--highlight.commandDashboard__analysisMismatch--negative {
  background: #fef2f2;
  border-color: #fca5a5;
}

.commandDashboard__analysisSectionTitle {
  margin: 0 0 12px 0;
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 8px;
}

.commandDashboard__analysisSectionCount {
  font-size: 12px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
  background: #e5e7eb;
  color: #6b7280;
}

.commandDashboard__analysisSectionCount--warning {
  background: #fef3c7;
  color: #b45309;
}

.commandDashboard__analysisSectionCount--danger {
  background: #fee2e2;
  color: #dc2626;
}

.commandDashboard__analysisFormula {
  margin-bottom: 16px;
  padding: 12px;
  background: #1f2937;
  border-radius: 6px;
}

.commandDashboard__analysisFormula code {
  color: #10b981;
  font-size: 16px;
  font-weight: 600;
}

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

.commandDashboard__analysisStat {
  text-align: center;
  padding: 12px;
  background: #fff;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
}

.commandDashboard__analysisStat--warning {
  border-color: #fcd34d;
  background: #fffbeb;
}

.commandDashboard__analysisStatLabel {
  display: block;
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 4px;
}

.commandDashboard__analysisStatValue {
  font-weight: 600;
  color: #1f2937;
}

.commandDashboard__analysisStatValue--large {
  font-size: 24px;
}

.commandDashboard__analysisDriftExplanation {
  margin-top: 12px;
  padding: 12px;
  background: #fefce8;
  border: 1px solid #fde047;
  border-radius: 6px;
  font-size: 13px;
  color: #713f12;
}

.commandDashboard__analysisSourceGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.commandDashboard__analysisSourceCard {
  padding: 12px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  text-align: center;
}

.commandDashboard__analysisSourceLabel {
  font-size: 12px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
}

.commandDashboard__analysisSourceCount {
  font-size: 18px;
  font-weight: 700;
  color: #1f2937;
}

.commandDashboard__analysisSourceQty {
  font-size: 11px;
  color: #6b7280;
  margin-top: 4px;
}

.commandDashboard__analysisChainDesc,
.commandDashboard__analysisDriftDesc,
.commandDashboard__analysisOversellExplanation {
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 12px;
}

.commandDashboard__analysisFirstAnomaly {
  padding: 12px;
  background: #fffbeb;
  border: 1px solid #fde047;
  border-radius: 6px;
  font-size: 13px;
  margin-bottom: 12px;
}

.commandDashboard__analysisNoIssues {
  padding: 16px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 6px;
  color: #047857;
  font-size: 13px;
  text-align: center;
}

.commandDashboard__analysisDetails {
  margin-top: 12px;
}

.commandDashboard__analysisDetails summary {
  cursor: pointer;
  color: #2563eb;
  font-size: 13px;
  font-weight: 500;
}

.commandDashboard__analysisDetails summary:hover {
  text-decoration: underline;
}

.commandDashboard__analysisTable {
  width: 100%;
  margin-top: 12px;
  border-collapse: collapse;
  font-size: 12px;
}

.commandDashboard__analysisTable th,
.commandDashboard__analysisTable td {
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid #e5e7eb;
}

.commandDashboard__analysisTable th {
  background: #f9fafb;
  font-weight: 600;
  color: #374151;
}

.commandDashboard__analysisTable tbody tr:hover {
  background: #f9fafb;
}

.commandDashboard__analysisPositive {
  color: #059669;
  font-weight: 600;
}

.commandDashboard__analysisNegative {
  color: #dc2626;
  font-weight: 600;
}

.commandDashboard__analysisDanger {
  color: #dc2626;
  font-weight: 700;
  background: #fee2e2;
  padding: 2px 6px;
  border-radius: 4px;
}

/* Grouped Anomalies */
.commandDashboard__anomalyGroupedList {
  margin-top: 16px;
}

.commandDashboard__anomalyGroup {
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  margin-bottom: 8px;
  background: #fff;
  overflow: hidden;
}

.commandDashboard__anomalyGroup.is-expanded {
  border-color: #93c5fd;
}

.commandDashboard__anomalyGroupHeader {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  cursor: pointer;
  background: #f9fafb;
  border-bottom: 1px solid transparent;
  transition: background 0.15s ease;
}

.commandDashboard__anomalyGroupHeader:hover {
  background: #f3f4f6;
}

.commandDashboard__anomalyGroup.is-expanded .commandDashboard__anomalyGroupHeader {
  background: #eff6ff;
  border-bottom-color: #bfdbfe;
}

.commandDashboard__anomalyGroupToggle {
  font-size: 10px;
  color: #6b7280;
  width: 12px;
  flex-shrink: 0;
}

.commandDashboard__anomalyGroupName {
  font-weight: 600;
  color: #1f2937;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.commandDashboard__anomalyGroupSku {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.commandDashboard__anomalyGroupSku code {
  font-size: 11px;
  background: #e5e7eb;
  padding: 2px 6px;
  border-radius: 3px;
  color: #374151;
}

.commandDashboard__anomalyGroupOptions {
  font-size: 12px;
  color: #6b7280;
}

.commandDashboard__anomalyGroupCount {
  font-size: 12px;
  font-weight: 600;
  color: #dc2626;
  background: #fef2f2;
  padding: 3px 8px;
  border-radius: 10px;
  flex-shrink: 0;
}

.commandDashboard__anomalyGroupContent {
  padding: 12px;
  background: #fff;
}

.commandDashboard__anomalyGroupContent .commandDashboard__anomalyTable {
  margin: 0;
}

/* ==========================================
   MESH CONTROL PANEL STYLES
   ========================================== */

.commandDashboard__meshStatusGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.commandDashboard__meshStatusCard {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 16px;
  text-align: center;
}

.commandDashboard__meshStatusLabel {
  font-size: 12px;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}

.commandDashboard__meshStatusValue {
  font-size: 22px;
  font-weight: 700;
  color: #111827;
}

.commandDashboard__meshStatusValue--success {
  color: #059669;
}

.commandDashboard__meshStatusValue--warning {
  color: #d97706;
}

.commandDashboard__meshStatusValue--danger {
  color: #dc2626;
}

/* Collection List */
.commandDashboard__meshCollectionList {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

.commandDashboard__meshCollectionRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  transition: all 0.15s ease;
}

.commandDashboard__meshCollectionRow.is-enabled {
  background: #f0fdf4;
  border-color: #bbf7d0;
}

.commandDashboard__meshCollectionInfo {
  flex: 1;
  min-width: 0;
}

.commandDashboard__meshCollectionName {
  font-weight: 600;
  font-size: 14px;
  color: #111827;
  font-family: 'SF Mono', 'Fira Code', monospace;
}

.commandDashboard__meshCollectionMeta {
  display: flex;
  gap: 12px;
  margin-top: 4px;
}

.commandDashboard__meshCollectionPolicy,
.commandDashboard__meshCollectionMode {
  font-size: 12px;
  color: #6b7280;
}

.commandDashboard__meshCollectionActions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-shrink: 0;
}

.commandDashboard__meshAddCollection {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  padding: 12px 16px;
  background: #f9fafb;
  border: 1px dashed #d1d5db;
  border-radius: 8px;
}

.commandDashboard__meshAddCollection .commandDashboard__input {
  flex: 1;
  min-width: 180px;
}

/* Transport List */
.commandDashboard__meshTransportList {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.commandDashboard__meshTransportRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}

.commandDashboard__meshTransportRow.is-enabled {
  background: #eff6ff;
  border-color: #bfdbfe;
}

.commandDashboard__meshTransportInfo {
  flex: 1;
}

.commandDashboard__meshTransportName {
  font-weight: 600;
  font-size: 14px;
  color: #111827;
}

.commandDashboard__meshTransportMeta {
  display: flex;
  gap: 8px;
  margin-top: 4px;
  font-size: 12px;
  color: #6b7280;
}

.commandDashboard__meshTransportBadge {
  background: #e0e7ff;
  color: #4338ca;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
}

.commandDashboard__meshTransportStatus {
  flex-shrink: 0;
}

.commandDashboard__meshTransportAvailable {
  color: #059669;
  font-weight: 600;
  font-size: 13px;
}

.commandDashboard__meshTransportUnavailable {
  color: #9ca3af;
  font-size: 13px;
}

/* Telemetry Log */
.commandDashboard__meshTelemetryLog {
  margin-top: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
}

.commandDashboard__meshTelemetryHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: #f3f4f6;
  border-bottom: 1px solid #e5e7eb;
  font-size: 13px;
  font-weight: 600;
}

.commandDashboard__meshTelemetryClose {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: #6b7280;
  padding: 0;
  line-height: 1;
}

.commandDashboard__meshTelemetryClose:hover {
  color: #111827;
}

.commandDashboard__meshTelemetryBody {
  max-height: 300px;
  overflow-y: auto;
  background: #1f2937;
  padding: 8px 0;
}

.commandDashboard__meshTelemetryEntry {
  display: flex;
  gap: 10px;
  padding: 4px 12px;
  font-family: 'SF Mono', 'Fira Code', monospace;
  font-size: 12px;
  line-height: 1.5;
}

.commandDashboard__meshTelemetryTime {
  color: #6b7280;
  flex-shrink: 0;
}

.commandDashboard__meshTelemetryEvent {
  color: #60a5fa;
  flex-shrink: 0;
}

.commandDashboard__meshTelemetryPayload {
  color: #9ca3af;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Queue Inspector */
.commandDashboard__meshQueueList {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.commandDashboard__meshQueueOp {
  padding: 12px 16px;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: 8px;
}

.commandDashboard__meshQueueOpHeader {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 6px;
}

.commandDashboard__meshQueueOpId {
  font-family: 'SF Mono', 'Fira Code', monospace;
  font-size: 12px;
  background: #fef3c7;
  padding: 2px 6px;
  border-radius: 4px;
  color: #92400e;
}

.commandDashboard__meshQueueOpAction {
  font-weight: 600;
  font-size: 13px;
  color: #111827;
  text-transform: uppercase;
}

.commandDashboard__meshQueueOpCollection {
  font-family: 'SF Mono', 'Fira Code', monospace;
  font-size: 13px;
  color: #6b7280;
}

.commandDashboard__meshQueueOpMeta {
  display: flex;
  gap: 16px;
  font-size: 12px;
  color: #6b7280;
}

/* Tab Icon for Network */
.commandDashboardTabs__tabIcon--network::before {
  content: '⚡';
}

/* Tab Icon for Data Management (Spec 1253) */
.commandDashboardTabs__tabIcon--server::before {
  content: '🖥';
}

/* ═══════════════════════════════════════════════════════════════
   Data Management Tab — Spec 1253
   Pattern source: meshStatusGrid at command.css:1812-1851
   ═══════════════════════════════════════════════════════════════ */

/* Status Grid */
.commandDashboard__dmStatusGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.commandDashboard__dmStatusCard {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 16px;
  text-align: center;
}

.commandDashboard__dmStatusLabel {
  font-size: 12px;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}

.commandDashboard__dmStatusValue {
  font-size: 22px;
  font-weight: 700;
  color: #111827;
}

.commandDashboard__dmStatusValue--success {
  color: #059669;
}

.commandDashboard__dmStatusValue--warning {
  color: #d97706;
}

.commandDashboard__dmStatusValue--danger {
  color: #dc2626;
}

.commandDashboard__dmStatusMeta {
  font-size: 12px;
  color: #9ca3af;
  margin-top: 4px;
}

/* Category Table */
.commandDashboard__dmCategoryTable {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 16px;
}

.commandDashboard__dmCategoryHeader {
  display: grid;
  grid-template-columns: 2fr 1fr 80px 80px 100px;
  gap: 12px;
  padding: 10px 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 10px 10px 0 0;
  font-size: 11px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.commandDashboard__dmCategoryRow {
  display: grid;
  grid-template-columns: 2fr 1fr 80px 80px 100px;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  border-top: none;
  align-items: center;
  font-size: 14px;
}

.commandDashboard__dmCategoryRow:last-child {
  border-radius: 0 0 10px 10px;
}

.commandDashboard__dmCategoryCol--name {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.commandDashboard__dmCategoryName {
  font-weight: 500;
  color: #111827;
}

.commandDashboard__dmCategoryDesc {
  font-size: 12px;
  color: #9ca3af;
}

.commandDashboard__dmCategoryCol--size {
  font-weight: 600;
  color: #111827;
  font-variant-numeric: tabular-nums;
}

.commandDashboard__dmCategoryCol--count {
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.commandDashboard__dmCategoryCol--risk {
  text-align: center;
}

.commandDashboard__dmCategoryCol--action {
  text-align: right;
}

.commandDashboard__dmRiskBadge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.commandDashboard__dmRiskBadge--none {
  background: #d1fae5;
  color: #065f46;
}

.commandDashboard__dmRiskBadge--low {
  background: #fef3c7;
  color: #92400e;
}

/* Process Table */
.commandDashboard__dmProcessTable {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 16px;
}

.commandDashboard__dmProcessHeader {
  display: grid;
  grid-template-columns: 2fr 80px 80px 100px 80px 80px 80px;
  gap: 12px;
  padding: 10px 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 10px 10px 0 0;
  font-size: 11px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.commandDashboard__dmProcessRow {
  display: grid;
  grid-template-columns: 2fr 80px 80px 100px 80px 80px 80px;
  gap: 12px;
  padding: 10px 16px;
  border: 1px solid #e5e7eb;
  border-top: none;
  align-items: center;
  font-size: 13px;
}

.commandDashboard__dmProcessRow:last-child {
  border-radius: 0 0 10px 10px;
}

.commandDashboard__dmProcessCol--name {
  font-weight: 500;
  color: #111827;
  font-family: 'SF Mono', 'Fira Code', monospace;
}

.commandDashboard__dmProcessCol--pid {
  font-variant-numeric: tabular-nums;
  color: #6b7280;
}

.commandDashboard__dmProcessCol--status {
  text-transform: capitalize;
}

.commandDashboard__dmProcessCol--memory,
.commandDashboard__dmProcessCol--cpu,
.commandDashboard__dmProcessCol--restarts,
.commandDashboard__dmProcessCol--uptime {
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.commandDashboard__dmCpuValue--warning {
  color: #d97706;
  font-weight: 600;
}

.commandDashboard__dmCpuValue--danger {
  color: #dc2626;
  font-weight: 600;
}

.commandDashboard__dmMemValue--warning {
  color: #d97706;
  font-weight: 600;
}

.commandDashboard__dmMemValue--danger {
  color: #dc2626;
  font-weight: 600;
}#insightOrganizationFilterForm {
    float: left;
    width: calc(100% - var(--line-height));
}

#sortFilter {
    border-radius: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#jmkrClient .dropdown .text {
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

#inputInsightOrganizationSearch input {
    border-radius: 0px !important;
    border-top: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#searchInsightOrganizationToggle {
    float: left;
    background: var(--jmkr-color-1);
    color: white;
    width: var(--line-height);
    text-align: center;
    height: var(--line-height);
    line-height: var(--line-height);
    cursor: pointer;
}

.bigIcon {
    display: none;

    color: silver;
    width: 135px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: 35px;
    line-height: calc(135px - 0px*2);
    border: 0px solid silver;
    border-radius: 50%;
    margin-bottom: 17px;
    margin-top: 7px;

    background-color: white;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 135px;
}

.bigIcon.calendar,
.bigIcon.folder,
.bigIcon.accounting,
.bigIcon.invoice,
.bigIcon.webBuilder,
.bigIcon.dataprocessors,
.bigIcon.database,
.bigIcon.webDomain,
.bigIcon.teleconference,
.bigIcon.emailAddress,
.bigIcon.mailingList,
.bigIcon.forms,
.bigIcon.events,
.bigIcon.inventory,
.bigIcon.patientCare,
.bigIcon.pointOfSale,
.bigIcon.fleet {
    width: 100%;
    border-radius: 50%;
    height: auto;
    padding-bottom: 100%;
    box-shadow: 0px 7px 35px rgba(0, 0, 0, 0.035);
    background-size: 70%;
    background-color: rgba(0, 0, 0, 0);

    transform: scale(0.7);
    border: 1px solid #579BF7;
}

.bigIcon.calendar {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/QFD37DtXFkkQa95vr.png');
    background-size: 80%;
    background-position: bottom center;
}

.bigIcon.folder {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/C74SnsRa5gZMMpF7k.png');
    background-size: 90%;
}

.bigIcon.accounting {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/rPupkWNKWBpJ3uGB3.png');
    background-size: 85%;
    background-position: bottom center;
}

.bigIcon.invoice {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/i4Hq3deRy8vuCA3u6.png');
    background-size: 90%;
    background-position: left;
}

.bigIcon.webBuilder {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/NzSfRNWkJ8PeWCb8a.png');
    background-size: 80%;
    background-position: bottom center;
}

.bigIcon.dataprocessors {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/s3syfBsidRd5T67Qy/MbSuS8sWwYreLsNtR.png');
    background-size: 70%;
    background-position: bottom center;
}

.bigIcon.database {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/s3syfBsidRd5T67Qy/MbSuS8sWwYreLsNtR.png');
    background-size: 70%;
    background-position: bottom center;
}

.bigIcon.webDomain {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/iwcz9iSzgGiBoWsKo.png');
    background-size: 80%;
    background-position: bottom center;
}

.bigIcon.teleconference {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/s3syfBsidRd5T67Qy/JryMbXx8XsY7Z6oCg.png');
    background-size: 80%;
    background-position: bottom center;
}

.bigIcon.emailAddress {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/5yGj2KizgGpk7dkra.png');
    background-size: 100%;
    background-position: bottom center;
}

.bigIcon.mailingList {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/cCGyWzp8YYGJGQZEs.png');
    background-size: 90%;
    background-position: bottom center;
}

.bigIcon.forms {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/NJsKXoTFJR4YAmLxx.png');
    background-size: 80%;
    background-position: bottom center;
}

.bigIcon.events {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/Y9g85o7GcrWaRdgcZ.png');
    background-size: 80%;
    background-position: bottom center;
}

.bigIcon.inventory {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/wmg4GHNHPH3DHGftJ.png');
    background-size: 90%;
    background-position: bottom center;
}

.bigIcon.patientCare {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/LdhuG7KGF3zn9tFDx.png');
    background-size: 100%;
    background-position: bottom center;
}

.bigIcon.pointOfSale {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/d5uDRsyJjAExxzsf8.png');
    background-size: 90%;
    background-position: bottom center;
}

.bigIcon.fleet {
    background-image: url('https://jamaker.s3.amazonaws.com/dev/fileFolder/QgZoGHh2KQXA6mnmf.png');
    background-size: 90%;
    background-position: bottom center;
}

.bigIcon.calendar .icon,
.bigIcon.folder .icon,
.bigIcon.accounting .icon,
.bigIcon.invoice .icon,
.bigIcon.webBuilder .icon,
.bigIcon.webDomain .icon,
.bigIcon.teleconference .icon,
.bigIcon.emailAddress .icon,
.bigIcon.mailingList .icon,
.bigIcon.forms .icon,
.bigIcon.events .icon,
.bigIcon.inventory .icon,
.bigIcon.patientCare .icon,
.bigIcon.pointOfSale .icon,
.bigIcon.fleet .icon {
    display: none;
}

.bigIcon.true {
    color: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
}

.toolkitGrid .description p {
    font-size: 12px;
    line-height: 17px;
    opacity: 0.7;
}

.toolkitGrid .card {
    border: none !important;
    padding: 15px !important;
}

.moduleThumbnail {
    padding: 15px;
}

.moduleThumbnail .header {}

.moduleThumbnail .description {
    padding-top: 10px;
    padding-bottom: 15px;
}

.moduleThumbnail .header {}.perfDashboard {
  padding: 24px;
  padding-bottom: calc(var(--line-height) * 2);
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.perfDashboard__header h2 {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
}

.perfDashboard__subtitle {
  margin-top: 4px;
  color: #6b7280;
  font-size: 14px;
}

.perfDashboard__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 12px 0 20px;
}

.perfDashboardTabs {
  display: flex;
  gap: 12px;
  border-bottom: 1px solid #e5e7eb;
  flex-wrap: wrap;
}

.perfDashboardTabs__tab {
  background: none;
  border: none;
  padding: 10px 16px;
  font-size: 14px;
  color: #4b5563;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  font-weight: 500;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.perfDashboardTabs__tab:hover {
  color: #1f2937;
}

.perfDashboardTabs__tab.is-active {
  color: #1f2937;
  border-bottom-color: #2563eb;
  font-weight: 600;
}

.perfDashboardTabs__tab:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}

.perfDashboardTabs__panel {
  display: none;
}

.perfDashboardTabs__panel.is-active {
  display: block;
}

.perfDashboard__actionStatus {
  font-size: 13px;
  color: #2563eb;
}

.perfDashboard__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.perfDashboard__card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.perfDashboard__cardLabel {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6b7280;
}

.perfDashboard__cardValue {
  font-size: 28px;
  font-weight: 600;
}

.perfDashboard__cardHint {
  font-size: 13px;
  color: #6b7280;
}

.perfDashboard__card--warning {
  border-color: #facc15;
  background: #fefce8;
}

.perfDashboard__card--danger {
  border-color: #f87171;
  background: #fef2f2;
}

.perfDashboard__section {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  margin-bottom: 1em;
}

.perfDashboard__trend {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) 220px;
  align-items: center;
}

.perfDashboard__trendChart {
  width: 100%;
}

.perfDashboard__trendChartCanvas {
  width: 100%;
  height: 220px;
}

.perfDashboard__trendMeta {
  display: grid;
  gap: 8px;
}

.perfDashboard__trendMetaRow {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
}

.perfDashboard__trendLabel {
  color: #6b7280;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.perfDashboard__trendValue {
  color: #1f2937;
  font-weight: 500;
}

.perfDashboard__sectionHeader {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 16px;
}

.perfDashboard__sectionHeader h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
}

.perfDashboard__sectionHint {
  color: #6b7280;
  font-size: 13px;
}

.perfDashboard__sectionHint--sub {
  display: block;
  margin-bottom: 12px;
}

.perfDashboard__refreshHint {
  margin-bottom: 12px;
  font-size: 13px;
  color: #2563eb;
}

.perfDashboard__table {
  width: 100%;
  border-collapse: collapse;
}

.perfDashboard__row {
  transition: background-color 0.15s ease;
}

.perfDashboard__row--warning {
  background: #fff7ed;
}

.perfDashboard__row--danger {
  background: #fef2f2;
}

.perfDashboard__row--info {
  background: #e0f2fe;
}

.perfDashboard__row--warning:hover {
  background: #fde6c7;
}

.perfDashboard__row--danger:hover {
  background: #fde4e4;
}

.perfDashboard__row--info:hover {
  background: #cfe7fb;
}

.perfDashboard__metric {
  font-weight: 600;
}

.perfDashboard__metric--warning {
  color: #b45309;
}

.perfDashboard__metric--danger {
  color: #b91c1c;
}

.perfDashboard__metric--info {
  color: #0369a1;
}

.perfDashboard__table th,
.perfDashboard__table td {
  padding: 10px 12px;
  border-bottom: 1px solid #e5e7eb;
  text-align: left;
  font-size: 14px;
}

.perfDashboard__table th {
  font-weight: 600;
  color: #374151;
  background: #f9fafb;
}

.perfDashboard__paramPreview {
  margin: 0;
  max-width: 360px;
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.4;
  color: #1f2937;
  white-space: pre-wrap;
  word-break: break-word;
}

.perfDashboard__table--interactive tbody tr {
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.perfDashboard__table--interactive tbody tr:hover {
  background: #f3f4f6;
}

.perfDashboard__traceRow--selected {
  background: #eef2ff;
}

.perfDashboard__traceRow:focus {
  outline: 2px solid rgba(37, 99, 235, 0.75);
  outline-offset: -2px;
}

.perfDashboard__cell--numeric {
  text-align: right;
}

.perfDashboard__cell--actions {
  text-align: right;
  white-space: nowrap;
}

.perfDashboard__loading,
.perfDashboard__error,
.perfDashboard__empty {
  padding: 16px;
  font-size: 14px;
  border: 1px dashed #d1d5db;
  border-radius: 6px;
  background: #f9fafb;
  color: #4b5563;
}

.perfDashboard__error {
  border-color: #f87171;
  background: #fef2f2;
  color: #b91c1c;
}

.perfDashboard__detail {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.perfDashboard__detailMeta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  font-size: 14px;
}

.perfDashboardTraceModal {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
}

.perfDashboardTraceModal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(2px);
}

.perfDashboardTraceModal__dialog {
  position: relative;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(30, 41, 59, 0.35);
  width: min(860px, 100%);
  max-height: min(80vh, 720px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  animation: perfDashboardTraceModal__fadeIn 0.18s ease;
  outline: none;
}

.perfDashboardTraceModal__header {
  padding: 20px 24px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #e5e7eb;
}

.perfDashboardTraceModal__header h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: #111827;
}

.perfDashboardTraceModal__hint {
  margin: 4px 0 0;
  font-size: 13px;
  color: #6b7280;
}

.perfDashboardTraceModal__close {
  border: none;
  background: transparent;
  color: #6b7280;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  padding: 4px;
  border-radius: 6px;
}

.perfDashboardTraceModal__close:hover,
.perfDashboardTraceModal__close:focus {
  background: rgba(37, 99, 235, 0.08);
  color: #1d4ed8;
  outline: none;
}

.perfDashboardTraceModal__body {
  padding: 24px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.perfDashboardTraceModal__footer {
  padding: 20px 24px;
  border-top: 1px solid #e5e7eb;
  display: flex;
  justify-content: flex-end;
}

@keyframes perfDashboardTraceModal__fadeIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.perfDashboardTraceModal .perfDashboard__table {
  margin: 0;
}

.perfDashboardTraceModal .perfDashboard__detailMeta {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.perfDashboard__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 6px;
  border: 1px solid #2563eb;
  background: #2563eb;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.perfDashboard__button:hover {
  background: #1d4ed8;
}

.perfDashboard__button--ghost {
  background: transparent;
  color: #2563eb;
}

.perfDashboard__button--ghost:hover {
  background: rgba(37, 99, 235, 0.08);
}

.perfDashboardCpuProfiles__header {
  align-items: center;
}

.perfDashboardCpuProfiles__actions {
  margin-left: auto;
}

.perfDashboardCpuProfiles__notice {
  margin-bottom: 12px;
  font-size: 13px;
  color: #2563eb;
}

.perfDashboardCpuProfiles__table td {
  vertical-align: top;
}

.perfDashboardCpuProfiles__frames {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 4px;
  font-size: 13px;
  color: #1f2937;
}

.perfDashboardCpuProfiles__frame {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.perfDashboardCpuProfiles__frameHeader {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}

.perfDashboardCpuProfiles__frameLabel {
  flex: 1 1 auto;
  font-weight: 500;
  color: #111827;
}

.perfDashboardCpuProfiles__badge {
  flex: 0 0 auto;
  background: #e0f2fe;
  color: #0369a1;
  border-radius: 9999px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.perfDashboardCpuProfiles__source {
  font-size: 11px;
  color: #6b7280;
  word-break: break-all;
}

.perfDashboardCpuProfiles__hint {
  font-size: 12px;
  color: #2563eb;
}

.perfDashboardCpuProfiles__empty {
  color: #9ca3af;
  font-size: 13px;
}

.perfDashboardCpuProfiles__mongoList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 4px;
  font-size: 13px;
  color: #1f2937;
}

.perfDashboardCpuProfiles__mongoItem {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.perfDashboardCpuProfiles__mongoHeader {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}

.perfDashboardCpuProfiles__mongoLabel {
  flex: 1 1 auto;
  font-weight: 500;
  color: #111827;
}

.perfDashboardCpuProfiles__mongoDetail {
  font-size: 12px;
  color: #1f2937;
}

.perfDashboardMongo__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  margin-bottom: 18px;
}

.perfDashboardMongo__card {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px;
  background: #f9fafb;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.perfDashboardMongo__label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6b7280;
}

.perfDashboardMongo__value {
  font-size: 18px;
  font-weight: 600;
  color: #111827;
}

.perfDashboardMongo__hint {
  font-size: 13px;
  color: #4b5563;
}

.perfDashboardMongo__topCollections {
  margin-top: 12px;
}

.perfDashboardMongo__subheading {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 8px;
  color: #1f2937;
}

.perfDashboard__weakpointsList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.perfDashboard__weakpoint {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 14px;
  background: #f9fafb;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.perfDashboard__weakpoint--warning {
  border-color: #facc15;
  background: #fefce8;
}

.perfDashboard__weakpoint--danger {
  border-color: #fca5a5;
  background: #fef2f2;
}

.perfDashboard__weakpointHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: #6b7280;
}

.perfDashboard__weakpointSeverity {
  font-weight: 600;
  text-transform: uppercase;
}

.perfDashboard__weakpointTitle {
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
}

.perfDashboard__weakpointMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 13px;
  color: #4b5563;
}

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

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

.perfDashboard__badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 12px;
  background: #eef2ff;
  color: #3730a3;
  font-size: 12px;
  font-weight: 500;
}

.perfDashboard__badge--link {
  border: none;
  cursor: pointer;
  background: #dbeafe;
  color: #1d4ed8;
  transition: background-color 0.15s ease;
}

.perfDashboard__badge--link:hover,
.perfDashboard__badge--link:focus {
  background: #bfdbfe;
  outline: none;
}

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

.perfDashboard__badge--status-warning {
  background: #fef3c7;
  color: #b45309;
}

.perfDashboard__badge--status-danger {
  background: #fee2e2;
  color: #b91c1c;
}

.perfDashboard__badge--status-info {
  background: #e0f2fe;
  color: #0c4a6e;
}

.perfDashboardWorkerHealth {
  width: 100%;
}

.perfDashboardWorkerHealth__row.is-warning {
  background: #fff7ed;
}

.perfDashboardWorkerHealth__row.is-danger {
  background: #fef2f2;
}

.perfDashboardWorkerHealth__row.is-stale {
  opacity: 0.7;
}

.perfDashboardWorkerHealth__identity {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.perfDashboardWorkerHealth__label {
  font-weight: 600;
  color: #1f2937;
}

.perfDashboardWorkerHealth__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  color: #6b7280;
  font-size: 12px;
}

.perfDashboardWorkerTrend {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  min-height: 36px;
}

.perfDashboardWorkerTrend__bar {
  width: 6px;
  border-radius: 3px 3px 0 0;
  background: #dbeafe;
}

.perfDashboardWorkerTrend__bar--warning {
  background: #facc15;
}

.perfDashboardWorkerTrend__bar--danger {
  background: #f97316;
}

.perfDashboardWorkerHealth__restarts {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 13px;
}

.perfDashboardWorkerHealth__restartHint {
  color: #6b7280;
  font-size: 12px;
}

.perfDashboardWorkerHealth__status {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
  background: #eef2ff;
  color: #3730a3;
}

.perfDashboardWorkerHealth__status--warning {
  background: #fef3c7;
  color: #b45309;
}

.perfDashboardWorkerHealth__status--danger {
  background: #fee2e2;
  color: #b91c1c;
}

.perfDashboardWorkerHealth__badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  margin-left: 6px;
  border-radius: 10px;
  font-size: 11px;
  background: #e5e7eb;
  color: #374151;
}

.perfDashboardWorkerHealth__empty {
  color: #9ca3af;
  font-size: 12px;
}

.perfDashboardBroadcasts__request {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.perfDashboardBroadcasts__reason {
  font-weight: 600;
  color: #1f2937;
}

.perfDashboardBroadcasts__meta {
  font-size: 12px;
  color: #6b7280;
}

.perfDashboardBroadcasts__status {
  display: inline-flex;
  align-items: center;
}

.perfDashboardBroadcasts__acks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.perfDashboardBroadcasts__ack {
  font-size: 12px;
}

.perfDashboardOffenderTrends__identity {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.perfDashboardOffenderTrends__label {
  font-weight: 600;
  color: #1f2937;
}

.perfDashboardOffenderTrends__meta {
  font-size: 12px;
  color: #6b7280;
}

.perfDashboardOffenderTrends__workers {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.perfDashboardOffenderTrends__sparkline {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  min-height: 36px;
}

.perfDashboardOffenderTrends__sparkline--empty {
  align-items: center;
  color: #6b7280;
  font-size: 12px;
}

.perfDashboardOffenderTrends__bar {
  width: 6px;
  border-radius: 3px 3px 0 0;
  background: #dbeafe;
}

.perfDashboardRaw__status {
  margin-bottom: 12px;
  font-size: 13px;
  color: #2563eb;
}

.perfDashboardRaw__grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.perfDashboardRaw__card {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.perfDashboardRaw__cardHeader h4 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.perfDashboardRaw__description {
  margin: 0;
  font-size: 13px;
  color: #6b7280;
}

.perfDashboardRaw__meta {
  margin: 0;
  font-size: 12px;
  color: #4b5563;
}

.perfDashboardRaw__preview {
  margin: 0;
  max-height: 180px;
  overflow: auto;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 12px;
  font-size: 12px;
  line-height: 1.4;
  color: #1f2937;
}

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

.perfControls {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.perfControls__flash {
  background: #f3f6ff;
  border: 1px solid #d0dcff;
  color: #2f4b96;
  padding: 8px 12px;
  border-radius: 4px;
}

.perfControlsSummary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.perfControlsSummary__card {
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 6px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.perfControlsSummary__label {
  font-size: 13px;
  color: #6b7380;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.perfControlsSummary__value {
  font-size: 20px;
  font-weight: 600;
  color: #1f2933;
}

.perfControlsSummary__hint {
  font-size: 12px;
  color: #6b7380;
}

.perfControlsMonitoring {
  border: 1px solid #e3e8ee;
  border-radius: 6px;
  background: #fff;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.perfControlsMonitoring__header h4 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
}

.perfControlsMonitoring__header p {
  margin: 4px 0 0;
  font-size: 0.9rem;
  color: #6b7380;
}

.perfControlsProfilerToken {
  border: 1px solid #e3e8ee;
  border-radius: 6px;
  background: #fff;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.perfControlsProfilerToken__header h4 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
}

.perfControlsProfilerToken__header p {
  margin: 4px 0 0;
  font-size: 0.9rem;
  color: #6b7380;
}

.perfControlsProfilerToken__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.perfControlsProfilerToken__status {
  font-size: 12px;
  color: #6b7380;
}

.perfControlsProfilerToken__status--error {
  color: #a11f1f;
}

.perfControlsProfilerToken__hint {
  margin: 0;
  font-size: 12px;
  color: #6b7380;
}

.perfControlsProfilerToken__error {
  font-size: 12px;
  color: #a11f1f;
  background: #fdecea;
  border: 1px solid #f5b5b1;
  border-radius: 4px;
  padding: 8px 12px;
}

.perfControlsProfilerToken__result {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.perfControlsProfilerToken__input {
  flex: 1 1 280px;
  min-width: 240px;
  font-family: 'Menlo', 'Courier New', monospace;
  font-size: 14px;
  padding: 8px 10px;
  border: 1px solid #d0d7e2;
  border-radius: 4px;
  background: #f5f7fa;
  color: #1f2933;
}

.perfControlsProfilerToken__input:focus {
  outline: none;
  border-color: #5b77ff;
  box-shadow: 0 0 0 2px rgba(91, 119, 255, 0.2);
  background: #fff;
}

.perfControlsProfilerToken__meta {
  font-size: 12px;
  color: #6b7380;
}

.perfControlsMonitoring__status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 13px;
  color: #4b5563;
}

.perfControlsMonitoring__meta {
  font-size: 12px;
  color: #6b7380;
}

.perfControlsMonitoring__badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}

.perfControlsMonitoring__badge--enabled {
  background: #dcfce7;
  color: #166534;
}

.perfControlsMonitoring__badge--disabled {
  background: #fee2e2;
  color: #b91c1c;
}

.perfControlsMonitoring__hint {
  font-size: 12px;
  color: #6b7380;
  margin: 0;
}

.perfControlsForm__label {
  font-weight: 600;
  margin-bottom: 6px;
  display: block;
  color: #1f2933;
}

.perfControlsForm__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.perfControlsForm__input {
  width: 140px;
  padding: 8px 10px;
  border: 1px solid #d3d8df;
  border-radius: 4px;
  font-size: 14px;
}

.perfControlsForm__hint {
  font-size: 12px;
  color: #6b7380;
  margin-top: 6px;
}

.perfControlsCleanup {
  display: flex;
  flex-direction: column;
  gap: 16px;
  border: 1px solid #e3e8ee;
  border-radius: 6px;
  padding: 16px;
  background: #fff;
}

.perfControlsCleanup__status {
  font-size: 14px;
  padding: 8px 12px;
  border-radius: 4px;
  border: 1px solid #dde2eb;
  background: #f5f7fa;
  color: #1f2933;
}

.perfControlsCleanup__status--running {
  border-color: #f7d488;
  background: #fff8eb;
  color: #8c5a02;
}

.perfControlsCleanup__status--failed {
  border-color: #f5b5b1;
  background: #fdecea;
  color: #a11f1f;
}

.perfControlsCleanup__status--idle {
  border-color: #dde2eb;
  background: #f5f7fa;
  color: #2f3e4d;
}

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

.perfControlsCleanup__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12px;
  color: #6b7380;
}

.perfControlsCleanup__meta code,
.perfControlsCleanup__archiveList code {
  background: #f0f2f7;
  padding: 2px 4px;
  border-radius: 4px;
  font-size: 12px;
}

.perfControlsCleanup__archiveList h4 {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: #1f2933;
}

.perfControlsCleanup__archiveList ul {
  margin: 8px 0 0;
  padding-left: 18px;
  font-size: 12px;
  color: #4a5568;
  word-break: break-all;
}

.perfControlsEmailUnread {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.perfControlsEmailUnread__header h4 {
  margin: 0;
  font-size: 1.1rem;
}

.perfControlsEmailUnread__header p {
  margin: 4px 0 16px;
  color: #6b7380;
  font-size: 0.9rem;
}

.perfControlsEmailUnread__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.perfControlsEmailUnread__label {
  display: block;
  font-size: 0.85rem;
  color: #6b7380;
}

.perfControlsEmailUnread__value {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1f2933;
}

.perfControlsEmailUnread__form .perfControlsForm__controls {
  align-items: flex-start;
}

.perfControlsEmailUnread__form .perfControlsForm__input {
  max-width: 220px;
}

.perfControlsEmailUnread__result {
  margin-top: 16px;
  padding: 12px;
  background: rgba(0, 123, 255, 0.08);
  border-radius: 6px;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #1f2933;
}

.perfControlsEmailUnread__error {
  margin-top: 12px;
  padding: 10px;
  background: rgba(220, 53, 69, 0.12);
  border-radius: 6px;
  color: #8a1c1c;
  font-size: 0.95rem;
}

.perfUsage__header {
  align-items: flex-start;
}

.perfUsage__actions {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

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

.perfUsage__summaryCards {
  margin-bottom: 24px;
}

.perfUsage__cardHintSecondary {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #6b7280;
}

.perfUsage__organizations {
  margin-top: 24px;
}

.perfUsage__organizations h4 {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
}

.perfUsage__table {
  width: 100%;
  border-collapse: collapse;
}

.perfUsage__table th,
.perfUsage__table td {
  padding: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  vertical-align: top;
  text-align: left;
  font-size: 13px;
  color: #1f2937;
}

.perfUsage__table th {
  background: #f9fafb;
  font-weight: 600;
}

.perfUsage__table tbody tr:nth-child(even) {
  background: #fafafa;
}

.perfUsage__orgName {
  font-weight: 600;
  color: #111827;
}

.perfUsage__orgMeta {
  margin-top: 4px;
  font-size: 12px;
  color: #6b7280;
}

.perfUsage__ownerBadges {
  justify-content: flex-start;
}

.perfUsage__metricHint {
  margin-top: 4px;
  font-size: 12px;
  color: #6b7280;
}

@media (max-width: 768px) {
  .perfDashboard {
    padding: 16px;
  }

  .perfDashboard__cards {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }

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

  .perfDashboardTraceModal {
    padding: 16px;
  }

  .perfDashboardTraceModal__dialog {
    width: 100%;
    max-height: 90vh;
    border-radius: 10px;
  }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* Alert Banner - Critical system alerts */
/* ═══════════════════════════════════════════════════════════════════ */

.perfDashboard__alertBanner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 12px;
}

.perfDashboard__alertBanner--critical {
  background: linear-gradient(90deg, #fee2e2 0%, #fef2f2 100%);
  border: 1px solid #fca5a5;
}

.perfDashboard__alertBanner--warning {
  background: linear-gradient(90deg, #fef3c7 0%, #fffbeb 100%);
  border: 1px solid #fcd34d;
}

.perfDashboard__alertBannerIcon {
  font-size: 20px;
  flex-shrink: 0;
}

.perfDashboard__alertBanner--critical .perfDashboard__alertBannerIcon {
  color: #dc2626;
}

.perfDashboard__alertBanner--warning .perfDashboard__alertBannerIcon {
  color: #d97706;
}

.perfDashboard__alertBannerContent {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.perfDashboard__alertBannerContent strong {
  font-size: 14px;
  font-weight: 600;
}

.perfDashboard__alertBanner--critical .perfDashboard__alertBannerContent strong {
  color: #b91c1c;
}

.perfDashboard__alertBannerContent span {
  font-size: 13px;
  color: #6b7280;
}

.perfDashboard__alertBannerAction {
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.perfDashboard__alertBannerAction:hover {
  background: #f9fafb;
  border-color: #9ca3af;
}

/* ═══════════════════════════════════════════════════════════════════ */
/* Metrics Strip - Always-visible key indicators */
/* ═══════════════════════════════════════════════════════════════════ */

.perfDashboard__metricsStrip {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 12px;
  background: #f9fafb;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}

.perfDashboard__metricPill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 500;
}

.perfDashboard__metricPillIcon {
  font-size: 10px;
}

.perfDashboard__metricPill--success .perfDashboard__metricPillIcon {
  color: #22c55e;
}

.perfDashboard__metricPill--warning .perfDashboard__metricPillIcon {
  color: #f59e0b;
}

.perfDashboard__metricPill--danger .perfDashboard__metricPillIcon {
  color: #ef4444;
}

.perfDashboard__metricPill--success {
  background: #f0fdf4;
  border-color: #86efac;
  color: #15803d;
}

.perfDashboard__metricPill--warning {
  background: #fffbeb;
  border-color: #fcd34d;
  color: #b45309;
}

.perfDashboard__metricPill--danger {
  background: #fef2f2;
  border-color: #fca5a5;
  color: #b91c1c;
}

.perfDashboard__metricPillLabel {
  color: #6b7280;
  font-weight: 400;
}

.perfDashboard__metricPillValue {
  font-weight: 600;
}

.perfDashboard__metricPillHint {
  color: #9ca3af;
  font-size: 11px;
}

/* ═══════════════════════════════════════════════════════════════════ */
/* Tab Icons */
/* ═══════════════════════════════════════════════════════════════════ */

.perfDashboardTabs__tabIcon {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 6px;
  vertical-align: middle;
  opacity: 0.7;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.perfDashboardTabs__tab.is-active .perfDashboardTabs__tabIcon {
  opacity: 1;
}

.perfDashboardTabs__tabIcon--pulse {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563' stroke-width='2'%3E%3Cpath d='M4.5 12h3l2-4 3.5 8 2.5-4h4'/%3E%3C/svg%3E");
}

.perfDashboardTabs__tabIcon--server {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563' stroke-width='2'%3E%3Crect x='2' y='3' width='20' height='6' rx='1'/%3E%3Crect x='2' y='11' width='20' height='6' rx='1'/%3E%3Ccircle cx='6' cy='6' r='1'/%3E%3Ccircle cx='6' cy='14' r='1'/%3E%3C/svg%3E");
}

.perfDashboardTabs__tabIcon--activity {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563' stroke-width='2'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'/%3E%3C/svg%3E");
}

.perfDashboardTabs__tabIcon--database {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563' stroke-width='2'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M21 12c0 1.66-4 3-9 3s-9-1.34-9-3'/%3E%3Cpath d='M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5'/%3E%3C/svg%3E");
}

.perfDashboardTabs__tabIcon--cpu {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563' stroke-width='2'%3E%3Crect x='4' y='4' width='16' height='16' rx='2'/%3E%3Crect x='9' y='9' width='6' height='6'/%3E%3Cpath d='M9 1v3M15 1v3M9 20v3M15 20v3M20 9h3M20 14h3M1 9h3M1 14h3'/%3E%3C/svg%3E");
}

.perfDashboardTabs__tabIcon--chart {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563' stroke-width='2'%3E%3Cpath d='M18 20V10M12 20V4M6 20v-6'/%3E%3C/svg%3E");
}

.perfDashboardTabs__tabIcon--gear {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-2 2 2 2 0 01-2-2v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83 0 2 2 0 010-2.83l.06-.06a1.65 1.65 0 00.33-1.82 1.65 1.65 0 00-1.51-1H3a2 2 0 01-2-2 2 2 0 012-2h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 010-2.83 2 2 0 012.83 0l.06.06a1.65 1.65 0 001.82.33H9a1.65 1.65 0 001-1.51V3a2 2 0 012-2 2 2 0 012 2v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 0 2 2 0 010 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 012 2 2 2 0 01-2 2h-.09a1.65 1.65 0 00-1.51 1z'/%3E%3C/svg%3E");
}

/* Tab icon for MongoDB (search/magnifier) */
.perfDashboardTabs__tabIcon--search {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E");
}

/* ═══════════════════════════════════════════════════════
   MONGODB PERFORMANCE TAB — Spec 1026
   WiredTiger status, index recommendations, slow queries,
   active operations, collection overview.
   Card grid classes (perfDashboardMongo__*) reuse existing
   styles defined at line ~572 for the Database tab.
   ═══════════════════════════════════════════════════════ */

/* Progress bars for cache/tickets */
.perfMongo__bar {
  width: 100%;
  height: 8px;
  background: #e5e7eb;
  border-radius: 4px;
  overflow: hidden;
}

.perfMongo__barFill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.4s ease;
}

.perfMongo__barFill--ok {
  background: #22c55e;
}

.perfMongo__barFill--warning {
  background: #f59e0b;
}

.perfMongo__barFill--danger {
  background: #ef4444;
}

/* Index spec display */
.perfMongo__indexSpec {
  font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
  font-size: 12px;
  word-break: break-all;
}

/* Status badges for recommendations */
.perfMongo__statusBadge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.perfMongo__statusBadge--created {
  background: #dcfce7;
  color: #166534;
}

.perfMongo__statusBadge--dismissed {
  background: #f3f4f6;
  color: #6b7280;
}

.perfMongo__statusBadge--new {
  background: #dbeafe;
  color: #1e40af;
}

/* Row severity highlights */
.perfMongo__row--warning {
  background: #fffbeb;
}

.perfMongo__row--danger {
  background: #fef2f2;
}

/* Small button for Create Index */
.perfDashboard__button--sm {
  padding: 4px 10px;
  font-size: 12px;
  border-radius: 4px;
}

@media (max-width: 1024px) {
  .perfDashboardMongo__grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }
}

@media (max-width: 768px) {
  .perfDashboard__metricsStrip {
    padding: 6px 8px;
  }

  .perfDashboard__metricPill {
    padding: 3px 8px;
    font-size: 11px;
  }

  .perfDashboardTabs__tabIcon {
    display: none;
  }

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

  .perfDashboardMongo__value {
    font-size: 16px;
  }

  .perfMongo__indexSpec {
    font-size: 11px;
  }
}

@media (max-width: 480px) {
  .perfDashboardMongo__grid {
    grid-template-columns: 1fr;
  }
}#insightPersonFilterForm {
    float: left;
    width: calc(100% - var(--line-height));
}

#sortFilter {
    border-radius: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#inputInsightPersonSearch input {
    border-radius: 0px !important;
    border-top: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#searchInsightPersonToggle {
    float: left;
    background: var(--jmkr-color-1);
    color: white;
    width: var(--line-height);
    text-align: center;
    height: var(--line-height);
    line-height: var(--line-height);
    cursor: pointer;
}#sortFilter {
    border-radius: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#Traffic .downloadButton {
    position: absolute;
    top: 7px;
    right: 7px;
    background-color: grey;
    color: #fff;
    padding: 5px;
    padding-left: 7px;
    padding-right: 7px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 10px;
}#insightWebAppFilterForm {
    float: left;
    width: calc(100% - var(--line-height));
}

#sortFilter {
    border-radius: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#inputInsightWebAppSearch input {
    border-radius: 0px !important;
    border-top: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#searchInsightWebAppToggle {
    float: left;
    background: var(--jmkr-color-1);
    color: white;
    width: var(--line-height);
    text-align: center;
    height: var(--line-height);
    line-height: var(--line-height);
    cursor: pointer;
}.broadcast-unsubscribe-layout {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f7f7f7;
  padding: 2rem;
}.restrictToColleagueDropdown {
    position: absolute !important;
    z-index: 17;
    right: 0px;
    top: 0px;
    padding: 0px !important;
    cursor: pointer !important;
    font-size: 17px !important;
    width: 37px !important;
    line-height: 37px !important;
    height: 37px !important;
    text-align: center !important;
    font-size: 13.5px !important;
}.selectize-input>* {
    max-width: 100%;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
}#accountingMenu .button {
    float: right;

    font-size: 11px;
    letter-spacing: 0.35px;
    padding: 5px;
    margin-left: 7px;
    margin-bottom: 7px;
    padding-left: 10px;
    padding-right: 10px;
    border: 1px solid white;
    border-radius: 3px;
    opacity: 0.7;
    cursor: pointer;
}

#accountingMenu .button:hover {
    opacity: 1;
}

#accountingMenu .button.black {
    border: 1px solid black;
    color: black;
}

#accountingMenu #total {
    position: relative;

    height: 170px;
    background: var(--jmkr-color-1);
    color: white;
}

#accountingMenu #total .label {
    position: absolute;
    top: 0px;
    left: 0px;
    padding: 10px;

    font-size: 12px;
}

#accountingMenu #total .value {
    position: absolute;
    bottom: 0px;
    left: 0px;
    padding: 10px;

    font-size: 80px;
    letter-spacing: 1.17px;
    line-height: 45px;
    font-weight: bold;

    width: 100%;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

#accountingMenu #total .menu {
    position: absolute;
    top: 0px;
    right: 0px;
    padding: 10px;

    max-width: calc(100% - 70px);
}

#accountingMenu #totalIncome {
    position: relative;
    height: 85px;
    background: var(--menu-color-2);
    color: white;
}

#accountingMenu #totalIncome .label {
    position: absolute;
    top: 0px;
    left: 0px;
    padding: 10px;

    font-size: 12px;
}

#accountingMenu #totalIncome .value {
    position: absolute;
    bottom: 0px;
    left: 0px;
    padding: 10px;

    font-size: 25px;
    letter-spacing: 1.17px;
    padding-top: 5px;
    line-height: 20px;
    padding-top: 10px;
    font-weight: bold;

    width: 100%;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

#accountingMenu #totalIncome .menu {
    position: absolute;
    top: 0px;
    right: 0px;
    padding: 10px;
}

#accountingMenu #totalExpense {
    position: relative;

    height: 85px;
    background: rgba(0, 0, 0, 1);
    color: white;
    cursor: pointer;
}

#accountingMenu #totalExpense .label {
    position: absolute;
    top: 0px;
    left: 0px;
    padding: 10px;

    font-size: 12px;
}

#accountingMenu #totalExpense .value {
    position: absolute;
    bottom: 0px;
    left: 0px;
    padding: 10px;

    font-size: 25px;
    letter-spacing: 1.17px;
    padding-top: 5px;
    line-height: 20px;
    padding-top: 10px;
    font-weight: bold;

    width: 100%;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

#accountingMenu #totalExpense .menu {
    position: absolute;
    top: 0px;
    right: 0px;
    padding: 10px;
}

.card #accountingMenu {
    border-radius: 5px;
    box-shadow: 0px 2px 3px #00000033;
}

.card #accountingMenu #total {
    height: 86px;
    padding: 17px;
    padding-top: 14px;
    color: white;
}

.card #accountingMenu #total .currency {
    float: right;

    font-size: 11px;
}

.card #accountingMenu #total .value {
    font-size: 35px;
    letter-spacing: 1.17px;
    padding-top: 5px;
    line-height: 35px;
    font-weight: bold;
}

@media screen and (min-width: 992px) {
    .card #accountingMenu #total {
        border-top-left-radius: 5px;
        border-bottom-left-radius: 5px;
    }

    .card #accountingMenu #totalExpense {
        border-top-right-radius: 5px;
        border-bottom-right-radius: 5px;
    }
}

@media screen and (max-width: 992px) {
    .card #accountingMenu #total {
        border-top-left-radius: 5px;
    }

    .card #accountingMenu #totalIncome {
        border-top-right-radius: 5px;
    }

    .card #accountingMenu #totalExpense {
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
    }
}

@media screen and (max-width: 767px) {
    #accountingMenu #total {
        height: 86px;
        padding: 17px;
        padding-top: 14px;
        color: white;
    }

    #accountingMenu #total .currency {
        float: right;

        font-size: 11px;
    }

    #accountingMenu #total .value {
        font-size: 25px;
        letter-spacing: 1.17px;
        padding-top: 5px;
        line-height: 35px;
        font-weight: bold;
    }

    .card #accountingMenu #total {
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
    }

    .card #accountingMenu #totalIncome {
        border-top-right-radius: 0px;
    }

    .card #accountingMenu #totalExpense {
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
    }

    #accountingMenu #totalIncome .value,
    #accountingMenu #totalExpense .value {
        font-size: 25px;
    }
}

#accountingMenu #filterAccountingForm {
    padding: 11px;
}

#inputAccountingTransaction {
    margin: 11px;
    border-left: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.nightMode #inputAccountingTransaction {
    margin: 11px;
    border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

#accountingTransactionGroupDate {
    padding: 5px;
    padding-left: 11px;
    font-size: 11px;
    letter-spacing: 0.75px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    background: linear-gradient(to right, rgb(235, 235, 235), rgba(235, 235, 235, 0.35));
}

.nightMode #accountingTransactionGroupDate {
    background: var(--jmkr-color-1);
}

#accountingTransactionGroupDate b {
    font-size: 15px;
}

.accountingColumnHeading {
    float: left;
    width: calc(100% - 35px);
    background: var(--menu-color-2);
    color: white;

    font-size: 13px;
    letter-spacing: 0.75px;
    line-height: 40px;
    height: 40px;

    padding-left: 11px;
    padding-right: 7px;
    cursor: pointer;
}

.accountingColumnSort {
    float: right;
    width: 35px;
    background: var(--menu-color-2);
    color: rgba(255, 255, 255, 0.5);

    font-size: 11px;
    line-height: 40px;
    height: 40px;

    text-align: center;
    cursor: pointer;
}

#wrapValueDisplay {
    position: relative;
}

#valueDisplay {
    position: absolute;
    z-index: 10;
    left: 1px;
    top: 1px;
    width: calc(100% - 1px*2);
    height: calc(100% - 1px*2);
    background: white;
    line-height: 40px;
    font-size: 13.5px;
    padding-left: 11px;
    letter-spacing: 0.35px;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
}

#valueDisplay .label {
    position: absolute;
    top: 0px;
    right: 11px;
    opacity: 0.5;
    font-size: 10px;
    text-transform: uppercase;
}

.nightMode #valueDisplay {
    background: #1B1B1B;
    color: white;
}

#wrapValueDisplay:hover #valueDisplay {
    display: none;
}

/* ==========================================================================
   Filter Bar Styles
   ========================================================================== */

#accountingFilterBar {
    /* Background/border inherited from .accountingPageHeader when inline */
    padding-right: 12px;
}

.nightMode #accountingFilterBar {
    /* Inherits from parent .accountingPageHeader */
}

/* Mobile filter panels container (outside header) */
.accountingFilterBar__mobilePanels {
    background: #f8f9fa;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.nightMode .accountingFilterBar__mobilePanels {
    background: rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* --------------------------------------------------------------------------
   Desktop Filter Bar
   Pattern: filterChip from template.css:785-803
   -------------------------------------------------------------------------- */

.accountingFilterBar__row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.accountingFilterBar__row--desktop {
    padding: 0;
}

.accountingFilterBar__row + .accountingFilterBar__row {
    margin-top: 10px;
}

/* Filter sections - compact inline layout */
.accountingFilterBar__section {
    display: flex;
    align-items: center;
}

.accountingFilterBar__section--search {
    position: relative;
    min-width: 180px;
    max-width: 220px;
}

.accountingFilterBar__section--date {
    min-width: 110px;
}

.accountingFilterBar__section--tags {
    min-width: 100px;
    max-width: 140px;
}

.accountingFilterBar__section--type {
    min-width: 100px;
}

.accountingFilterBar__section--clear {
    flex-shrink: 0;
}

/* Search Input - with search icon */
.accountingFilterBar__section--search::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background: currentColor;
    opacity: 0.4;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat center;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat center;
    pointer-events: none;
    z-index: 1;
}

#inputAccountingSearch input {
    width: 100%;
    padding: 7px 10px 7px 30px !important;
    background: rgba(0, 0, 0, 0.06) !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 12.5px !important;
    outline: none;
    transition: all 0.15s ease;
}

#inputAccountingSearch input:hover {
    background: rgba(0, 0, 0, 0.1) !important;
}

#inputAccountingSearch input:focus {
    background: #fff !important;
    border: 1px solid var(--jmkr-color-1) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15) !important;
}

#inputAccountingSearch input::placeholder {
    color: rgba(0, 0, 0, 0.6) !important;
    font-weight: 500 !important;
}

.nightMode .accountingFilterBar__section--search::before {
    background: rgba(255, 255, 255, 0.6);
}

.nightMode #inputAccountingSearch input {
    background: rgba(255, 255, 255, 0.08) !important;
    border: none !important;
    color: white !important;
}

.nightMode #inputAccountingSearch input:hover {
    background: rgba(255, 255, 255, 0.12) !important;
}

.nightMode #inputAccountingSearch input:focus {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid var(--jmkr-color-1) !important;
}

.nightMode #inputAccountingSearch input::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* Amount Row */
.accountingFilterBar__amountRow {
    padding-top: 5px;
}

.accountingFilterBar__amountLabel {
    font-size: 12px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.6);
    letter-spacing: 0.3px;
    flex-shrink: 0;
}

.nightMode .accountingFilterBar__amountLabel {
    color: rgba(255, 255, 255, 0.6);
}

.accountingFilterBar__amountInputs {
    display: flex;
    align-items: center;
    gap: 8px;
}

.accountingFilterBar__amountInput {
    width: 90px;
    padding: 6px 10px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    font-size: 12px;
    outline: none;
    transition: border-color 0.2s ease;
}

.accountingFilterBar__amountInput:focus {
    border-color: var(--jmkr-color-1);
}

.accountingFilterBar__amountInput::placeholder {
    color: rgba(0, 0, 0, 0.35);
}

.nightMode .accountingFilterBar__amountInput {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.15);
    color: white;
}

.nightMode .accountingFilterBar__amountInput:focus {
    border-color: var(--jmkr-color-1);
}

.nightMode .accountingFilterBar__amountInput::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

.accountingFilterBar__amountSeparator {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.5);
}

.nightMode .accountingFilterBar__amountSeparator {
    color: rgba(255, 255, 255, 0.5);
}

/* Active Filter Count Badge */
.accountingFilterBar__activeCount {
    margin-left: auto;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.3px;
    background: rgba(92, 179, 255, 0.15);
    color: var(--jmkr-color-1);
}

.nightMode .accountingFilterBar__activeCount {
    background: rgba(92, 179, 255, 0.25);
    color: #7cc4ff;
}

/* Custom Date Row */
.accountingFilterBar__customDateRow {
    background: rgba(92, 179, 255, 0.08);
    margin-left: -11px;
    margin-right: -11px;
    padding: 10px 11px !important;
    border-radius: 0;
}

.nightMode .accountingFilterBar__customDateRow {
    background: rgba(92, 179, 255, 0.12);
}

.accountingFilterBar__customDateLabel {
    font-size: 12px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.6);
    letter-spacing: 0.3px;
    flex-shrink: 0;
}

.nightMode .accountingFilterBar__customDateLabel {
    color: rgba(255, 255, 255, 0.6);
}

.accountingFilterBar__customDateInputs {
    display: flex;
    align-items: center;
    gap: 8px;
}

.accountingFilterBar__dateInput {
    padding: 6px 10px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    font-size: 12px;
    outline: none;
    transition: border-color 0.2s ease;
}

.accountingFilterBar__dateInput:focus {
    border-color: var(--jmkr-color-1);
}

.nightMode .accountingFilterBar__dateInput {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.15);
    color: white;
}

.nightMode .accountingFilterBar__dateInput:focus {
    border-color: var(--jmkr-color-1);
}

.accountingFilterBar__dateSeparator {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.5);
}

.nightMode .accountingFilterBar__dateSeparator {
    color: rgba(255, 255, 255, 0.5);
}

/* Clear All Filters Button */
.clearAllFilters.button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.3px;
    color: rgba(0, 0, 0, 0.7);
    background: white;
    cursor: pointer;
    transition: all 0.2s ease;
}

.clearAllFilters.button:hover {
    border-color: rgba(0, 0, 0, 0.25);
    background: #f5f5f5;
}

.clearAllFilters.button i {
    font-size: 11px;
}

.nightMode .clearAllFilters.button {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.15);
    color: rgba(255, 255, 255, 0.8);
}

.nightMode .clearAllFilters.button:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.25);
}

/* --------------------------------------------------------------------------
   Mobile Filter Bar
   -------------------------------------------------------------------------- */

.accountingFilterBar__mobile {
    padding: 10px 11px;
}

.accountingFilterBar__mobileRow {
    display: flex;
    align-items: center;
    gap: 8px;
}

.accountingFilterBar__mobileSearch {
    flex: 1;
}

.accountingFilterBar__mobileIcons {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.mobileFilterIcon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 4px;
    font-size: 15px;
    color: rgba(0, 0, 0, 0.6);
    background: white;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mobileFilterIcon:hover {
    background: #f5f5f5;
    border-color: rgba(0, 0, 0, 0.2);
}

.mobileFilterIcon.active {
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
    color: white;
}

.nightMode .mobileFilterIcon {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.7);
}

.nightMode .mobileFilterIcon:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.2);
}

.nightMode .mobileFilterIcon.active {
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
    color: white;
}

/* Mobile Active Count Badge */
.accountingFilterBar__mobileActiveCount {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 600;
    background: var(--jmkr-color-1);
    color: white;
    flex-shrink: 0;
}

/* Mobile Expandable Panels */
.accountingFilterBar__mobilePanel {
    margin-top: 10px;
    padding: 12px;
    background: rgba(0, 0, 0, 0.03);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 6px;
}

.nightMode .accountingFilterBar__mobilePanel {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
}

.accountingFilterBar__mobilePanelLabel {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.5);
    margin-bottom: 8px;
}

.nightMode .accountingFilterBar__mobilePanelLabel {
    color: rgba(255, 255, 255, 0.5);
}

.accountingFilterBar__mobileCustomDate {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}

.accountingFilterBar__mobileCustomDate span {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.5);
}

.nightMode .accountingFilterBar__mobileCustomDate span {
    color: rgba(255, 255, 255, 0.5);
}

.accountingFilterBar__mobileAmountInputs {
    display: flex;
    align-items: center;
    gap: 8px;
}

.accountingFilterBar__mobileAmountInputs span {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.5);
}

.nightMode .accountingFilterBar__mobileAmountInputs span {
    color: rgba(255, 255, 255, 0.5);
}

/* Selectize overrides - chip/pill style (pattern: template.css:785-803) */
/* Target specific filter IDs for maximum specificity */
#inputAccountingDateFilter .selectize-control,
#inputAccountingTagFilter .selectize-control,
#inputAccountingTypeFilter .selectize-control,
#accountingFilterBar .selectize-control {
    min-width: 0;
}

#inputAccountingDateFilter .selectize-input,
#inputAccountingTagFilter .selectize-input,
#inputAccountingTypeFilter .selectize-input,
#accountingFilterBar .selectize-input {
    min-height: 32px !important;
    padding: 6px 12px !important;
    padding-right: 28px !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    background: rgba(0, 0, 0, 0.06) !important;
    border: none !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    transition: all 0.15s ease;
}

#inputAccountingDateFilter .selectize-input:hover,
#inputAccountingTagFilter .selectize-input:hover,
#inputAccountingTypeFilter .selectize-input:hover,
#accountingFilterBar .selectize-input:hover {
    background: rgba(0, 0, 0, 0.1) !important;
}

#inputAccountingDateFilter .selectize-input.focus,
#inputAccountingTagFilter .selectize-input.focus,
#inputAccountingTypeFilter .selectize-input.focus,
#inputAccountingDateFilter .selectize-input.dropdown-active,
#inputAccountingTagFilter .selectize-input.dropdown-active,
#inputAccountingTypeFilter .selectize-input.dropdown-active,
#accountingFilterBar .selectize-input.focus,
#accountingFilterBar .selectize-input.dropdown-active {
    background: #fff !important;
    border: 1px solid var(--jmkr-color-1) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15) !important;
}

#inputAccountingDateFilter .selectize-input > input,
#inputAccountingTagFilter .selectize-input > input,
#inputAccountingTypeFilter .selectize-input > input,
#accountingFilterBar .selectize-input > input {
    font-size: 12.5px !important;
    font-weight: 500 !important;
}

#inputAccountingDateFilter .selectize-input > input::placeholder,
#inputAccountingTagFilter .selectize-input > input::placeholder,
#inputAccountingTypeFilter .selectize-input > input::placeholder,
#accountingFilterBar .selectize-input > input::placeholder {
    color: rgba(0, 0, 0, 0.6) !important;
    font-weight: 500 !important;
}

/* Dropdown arrow styling */
#inputAccountingDateFilter .selectize-input::after,
#inputAccountingTagFilter .selectize-input::after,
#inputAccountingTypeFilter .selectize-input::after,
#accountingFilterBar .selectize-input::after {
    border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent !important;
}

.nightMode #accountingFilterBar .selectize-input {
    background: rgba(255, 255, 255, 0.08) !important;
    border: none !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

.nightMode #accountingFilterBar .selectize-input:hover {
    background: rgba(255, 255, 255, 0.12) !important;
}

.nightMode #accountingFilterBar .selectize-input.focus,
.nightMode #accountingFilterBar .selectize-input.dropdown-active {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid var(--jmkr-color-1) !important;
}

.nightMode #accountingFilterBar .selectize-input > input::placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
}

.nightMode #accountingFilterBar .selectize-input::after {
    border-color: rgba(255, 255, 255, 0.5) transparent transparent transparent !important;
}

/* Clear button and badge */
.accountingFilterBar__clearBtn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    background: rgba(239, 68, 68, 0.08);
    color: #dc2626;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.accountingFilterBar__clearBtn:hover {
    background: rgba(239, 68, 68, 0.15);
}

.accountingFilterBar__clearBtn i {
    font-size: 12px;
}

.accountingFilterBar__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--jmkr-color-1);
    color: white;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 600;
    margin-left: 6px;
}

.nightMode .accountingFilterBar__clearBtn {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
}

.nightMode .accountingFilterBar__clearBtn:hover {
    background: rgba(239, 68, 68, 0.25);
}

/* ==========================================================================
   Responsive - Mobile Filter Bar
   ========================================================================== */

@media screen and (max-width: 767px) {
    .accountingFilterBar__desktop {
        display: none !important;
    }

    .accountingFilterBar__mobile {
        display: block !important;
    }

    /* Mobile search input adjustments */
    .accountingFilterBar__mobileSearch #inputAccountingSearch input {
        padding: 10px 12px;
        font-size: 14px;
    }

    /* Mobile amount inputs */
    .accountingFilterBar__mobileAmountInputs .accountingFilterBar__amountInput {
        flex: 1;
        width: auto;
    }

    /* Mobile date inputs */
    .accountingFilterBar__mobileCustomDate .accountingFilterBar__dateInput {
        flex: 1;
    }
}

@media screen and (min-width: 768px) {
    .accountingFilterBar__desktop {
        display: block !important;
    }

    .accountingFilterBar__mobile {
        display: none !important;
    }
}

/* ==========================================================================
   Empty State - Secondary Button (for filtered results)
   Addresses Phase 1 review: class used in HTML but not defined in stylesheet
   ========================================================================== */

#Accounting .empty-state__button--secondary {
    background: white;
    border: 1px solid rgba(0, 0, 0, 0.15);
    color: rgba(0, 0, 0, 0.7);
}

#Accounting .empty-state__button--secondary:hover {
    background: #f5f5f5;
    border-color: rgba(0, 0, 0, 0.25);
}

.nightMode #Accounting .empty-state__button--secondary {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.15);
    color: rgba(255, 255, 255, 0.9);
}

.nightMode #Accounting .empty-state__button--secondary:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.25);
}

/* ==========================================================================
   Accounting Reports Dashboard (spec 859)
   Pattern sources:
   - Tab styling: performance.css:36-58
   - Summary grid/cards: template.css:685-716
   - Existing accountingManual.css patterns for colors
   ========================================================================== */

/* --------------------------------------------------------------------------
   Page Header (tabs + filter bar in same row)
   Pattern: analysisHeader from template.css:539-547
   -------------------------------------------------------------------------- */

.accountingPageHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f8f9fa;
}

.nightMode .accountingPageHeader {
    background: rgba(255, 255, 255, 0.03);
}

/* --------------------------------------------------------------------------
   Tab Navigation (spec:118-119)
   Pattern: perfDashboardTabs__tab from performance.css:36-58
   -------------------------------------------------------------------------- */

.accountingPageTabs {
    display: flex;
    gap: 0;
}

.nightMode .accountingPageTabs {
    /* Inherits from parent .accountingPageHeader */
}

.accountingPageTabs__tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    padding: 0 20px;
    line-height: var(--line-height);
    font-size: 13px;
    color: rgba(0, 0, 0, 0.55);
    cursor: pointer;
    font-weight: 500;
    letter-spacing: 0.3px;
    transition: color 0.15s ease, background 0.15s ease;
}

.accountingPageTabs__tab:hover {
    color: rgba(0, 0, 0, 0.8);
    background: rgba(0, 0, 0, 0.03);
}

.accountingPageTabs__tab--active {
    color: var(--jmkr-color-1);
    font-weight: 600;
}

.accountingPageTabs__tab--active:hover {
    background: transparent;
}

.nightMode .accountingPageTabs__tab {
    color: rgba(255, 255, 255, 0.55);
}

.nightMode .accountingPageTabs__tab:hover {
    color: rgba(255, 255, 255, 0.85);
    background: rgba(255, 255, 255, 0.05);
}

.nightMode .accountingPageTabs__tab--active {
    color: var(--jmkr-color-1);
}

.accountingPageTabs__tab i {
    font-size: 14px;
}

/* Filter tab badge */
.accountingPageTabs__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    margin-left: 6px;
    background: var(--jmkr-color-1);
    color: white;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 600;
}

.accountingPageTabs__tab--filter {
    margin-left: auto;
}

/* Filters modal styling */
.accountingFiltersModal {
    max-width: 420px;
}

.accountingFiltersModal .swal2-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
}

.accountingFiltersModal .swal2-title i {
    font-size: 20px;
    color: var(--jmkr-color-1);
}

/* --------------------------------------------------------------------------
   Reports Panel Container
   Pattern: analysisPanel from inventory.css
   -------------------------------------------------------------------------- */

.accountingReportsPanel {
    padding: 16px;
    min-height: 400px;
}

.nightMode .accountingReportsPanel {
    background: transparent;
}

/* --------------------------------------------------------------------------
   Reports Header & Period Selector (spec:120)
   -------------------------------------------------------------------------- */

.accountingReportsHeader {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.nightMode .accountingReportsHeader {
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

.accountingReportsTitle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.85);
    letter-spacing: 0.3px;
}

.nightMode .accountingReportsTitle {
    color: rgba(255, 255, 255, 0.9);
}

.accountingReportsTitle i {
    color: var(--jmkr-color-1);
    font-size: 16px;
}

.accountingReportsPeriodSelector {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-left: auto;
}

.accountingReportsPeriodSelector__label {
    font-size: 12px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.55);
    letter-spacing: 0.3px;
}

.nightMode .accountingReportsPeriodSelector__label {
    color: rgba(255, 255, 255, 0.55);
}

.accountingReportsPeriodSelector__dropdown {
    min-width: 160px;
}

.accountingReportsPeriodSelector__dropdown .selectize-input {
    min-height: 32px;
    padding: 5px 10px;
    font-size: 12px;
    border-radius: 6px;
}

.accountingReportsPeriodSelector__customRange {
    display: flex;
    align-items: center;
    gap: 8px;
}

.accountingReportsPeriodSelector__dateInput {
    padding: 6px 10px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 6px;
    font-size: 12px;
    outline: none;
    transition: border-color 0.2s ease;
}

.accountingReportsPeriodSelector__dateInput:focus {
    border-color: var(--jmkr-color-1);
}

.nightMode .accountingReportsPeriodSelector__dateInput {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.15);
    color: white;
}

.nightMode .accountingReportsPeriodSelector__dateInput:focus {
    border-color: var(--jmkr-color-1);
}

.accountingReportsPeriodSelector__dateSeparator {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.4);
}

.nightMode .accountingReportsPeriodSelector__dateSeparator {
    color: rgba(255, 255, 255, 0.4);
}

.accountingReportsPeriodSelector__apply {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: var(--jmkr-color-1);
    color: white;
    cursor: pointer;
    transition: opacity 0.15s ease;
}

.accountingReportsPeriodSelector__apply:hover {
    opacity: 0.85;
}

.accountingReportsPeriodSelector__apply i {
    font-size: 14px;
}

.accountingReportsActions {
    display: flex;
    gap: 6px;
}

.accountingReportsRefresh {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.05);
    color: rgba(0, 0, 0, 0.55);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.accountingReportsRefresh:hover {
    background: rgba(0, 0, 0, 0.1);
    color: rgba(0, 0, 0, 0.8);
}

.nightMode .accountingReportsRefresh {
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.55);
}

.nightMode .accountingReportsRefresh:hover {
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.85);
}

/* --------------------------------------------------------------------------
   Summary Cards Grid (spec:123-127)
   Pattern: template.css:685-716 (analysisSummaryGrid/Card)
   -------------------------------------------------------------------------- */

.accountingReportsSummaryGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 24px;
}

@media screen and (max-width: 767px) {
    .accountingReportsSummaryGrid {
        grid-template-columns: 1fr;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .accountingReportsSummaryGrid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.accountingReportsSummaryCard {
    position: relative;
    padding: 16px;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.accountingReportsSummaryCard:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Income Card - Green theme (follows var(--menu-color-2) which is income color) */
.accountingReportsSummaryCard--income {
    background: rgba(39, 174, 96, 0.08);
    border-color: rgba(39, 174, 96, 0.15);
}

.accountingReportsSummaryCard--income .analysisSummaryValue {
    color: #1e8449;
}

.accountingReportsSummaryCard--income .analysisSummaryLabel {
    color: rgba(39, 174, 96, 0.85);
}

/* Expense Card - Dark/Black theme (follows #totalExpense pattern) */
.accountingReportsSummaryCard--expense {
    background: rgba(0, 0, 0, 0.06);
    border-color: rgba(0, 0, 0, 0.1);
}

.accountingReportsSummaryCard--expense .analysisSummaryValue {
    color: #1a1a1a;
}

.accountingReportsSummaryCard--expense .analysisSummaryLabel {
    color: rgba(0, 0, 0, 0.6);
}

/* Net Card - Primary color theme */
.accountingReportsSummaryCard--net {
    background: rgba(92, 179, 255, 0.08);
    border-color: rgba(92, 179, 255, 0.2);
}

.accountingReportsSummaryCard--net .analysisSummaryLabel {
    color: rgba(92, 179, 255, 0.9);
}

/* Profit state (positive net) */
.accountingReportsSummaryCard--profit .analysisSummaryValue {
    color: #1e8449;
}

/* Loss state (negative net) */
.accountingReportsSummaryCard--loss .analysisSummaryValue {
    color: #c0392b;
}

/* Night mode card overrides */
.nightMode .accountingReportsSummaryCard {
    border-color: rgba(255, 255, 255, 0.08);
}

.nightMode .accountingReportsSummaryCard--income {
    background: rgba(39, 174, 96, 0.12);
    border-color: rgba(39, 174, 96, 0.2);
}

.nightMode .accountingReportsSummaryCard--income .analysisSummaryValue {
    color: #2ecc71;
}

.nightMode .accountingReportsSummaryCard--expense {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.1);
}

.nightMode .accountingReportsSummaryCard--expense .analysisSummaryValue {
    color: rgba(255, 255, 255, 0.9);
}

.nightMode .accountingReportsSummaryCard--expense .analysisSummaryLabel {
    color: rgba(255, 255, 255, 0.55);
}

.nightMode .accountingReportsSummaryCard--net {
    background: rgba(92, 179, 255, 0.12);
    border-color: rgba(92, 179, 255, 0.25);
}

.nightMode .accountingReportsSummaryCard--profit .analysisSummaryValue {
    color: #2ecc71;
}

.nightMode .accountingReportsSummaryCard--loss .analysisSummaryValue {
    color: #e74c3c;
}

/* --------------------------------------------------------------------------
   Delta Indicators (spec:126-127 - comparison arrows)
   -------------------------------------------------------------------------- */

.accountingReportsDelta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.2px;
}

.accountingReportsDelta i {
    font-size: 12px;
}

.accountingReportsDelta--positive {
    color: #27ae60;
}

.accountingReportsDelta--positive i {
    color: #27ae60;
}

.accountingReportsDelta--negative {
    color: #c0392b;
}

.accountingReportsDelta--negative i {
    color: #c0392b;
}

.accountingReportsDelta--neutral {
    color: rgba(0, 0, 0, 0.4);
}

.nightMode .accountingReportsDelta--positive {
    color: #2ecc71;
}

.nightMode .accountingReportsDelta--positive i {
    color: #2ecc71;
}

.nightMode .accountingReportsDelta--negative {
    color: #e74c3c;
}

.nightMode .accountingReportsDelta--negative i {
    color: #e74c3c;
}

.nightMode .accountingReportsDelta--neutral {
    color: rgba(255, 255, 255, 0.4);
}

/* --------------------------------------------------------------------------
   Breakdown Sections (spec:129-141)
   -------------------------------------------------------------------------- */

.accountingReportsSection {
    margin-bottom: 20px;
}

.accountingReportsSection__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 10px;
    margin-bottom: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.nightMode .accountingReportsSection__header {
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

.accountingReportsSection__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: rgba(0, 0, 0, 0.7);
}

.nightMode .accountingReportsSection__title {
    color: rgba(255, 255, 255, 0.7);
}

.accountingReportsSection__title i {
    font-size: 14px;
    opacity: 0.7;
}

.accountingReportsSection__meta {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.45);
}

.nightMode .accountingReportsSection__meta {
    color: rgba(255, 255, 255, 0.45);
}

/* --------------------------------------------------------------------------
   Progress Bar Breakdown (spec:131-135, 139-141)
   CSS-only horizontal bars
   -------------------------------------------------------------------------- */

.accountingReportsBreakdown {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.accountingReportsBreakdown__row {
    display: grid;
    grid-template-columns: 100px 1fr 90px 50px;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
}

@media screen and (max-width: 600px) {
    .accountingReportsBreakdown__row {
        grid-template-columns: 80px 1fr 70px 40px;
        gap: 8px;
    }
}

.accountingReportsBreakdown__label {
    font-size: 12px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.75);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nightMode .accountingReportsBreakdown__label {
    color: rgba(255, 255, 255, 0.8);
}

.accountingReportsBreakdown__bar {
    position: relative;
    width: 100%;
}

.accountingReportsBreakdown__track {
    position: relative;
    width: 100%;
    height: 20px;
    background: rgba(0, 0, 0, 0.06);
    border-radius: 4px;
    overflow: hidden;
}

.nightMode .accountingReportsBreakdown__track {
    background: rgba(255, 255, 255, 0.08);
}

.accountingReportsBreakdown__fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: 4px;
    transition: width 0.4s ease;
}

/* Expense fill - dark theme (matching #totalExpense black background) */
.accountingReportsBreakdown__fill--expense {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.85) 100%);
}

.nightMode .accountingReportsBreakdown__fill--expense {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.7) 100%);
}

/* Income fill - green theme (matching --menu-color-2) */
.accountingReportsBreakdown__fill--income {
    background: linear-gradient(90deg, rgba(39, 174, 96, 0.7) 0%, rgba(39, 174, 96, 0.9) 100%);
}

.nightMode .accountingReportsBreakdown__fill--income {
    background: linear-gradient(90deg, rgba(46, 204, 113, 0.7) 0%, rgba(46, 204, 113, 0.9) 100%);
}

.accountingReportsBreakdown__value {
    font-size: 13px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.85);
    text-align: right;
    font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
}

.nightMode .accountingReportsBreakdown__value {
    color: rgba(255, 255, 255, 0.9);
}

.accountingReportsBreakdown__percent {
    font-size: 12px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.5);
    text-align: right;
}

.nightMode .accountingReportsBreakdown__percent {
    color: rgba(255, 255, 255, 0.5);
}

.accountingReportsBreakdown__empty {
    padding: 20px;
    text-align: center;
    font-size: 13px;
    color: rgba(0, 0, 0, 0.4);
    font-style: italic;
}

.nightMode .accountingReportsBreakdown__empty {
    color: rgba(255, 255, 255, 0.4);
}

/* --------------------------------------------------------------------------
   Loading & Help States
   Pattern: inventory.css:609-615 (.analysisLoading, .analysisHelp)
   -------------------------------------------------------------------------- */

.accountingReportsPanel .analysisLoading,
.accountingReportsPanel .analysisHelp {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px;
    font-size: 13px;
    color: rgba(0, 0, 0, 0.55);
}

.nightMode .accountingReportsPanel .analysisLoading,
.nightMode .accountingReportsPanel .analysisHelp {
    color: rgba(255, 255, 255, 0.55);
}

.accountingReportsPanel .analysisHelp i {
    color: #f39c12;
}

/* --------------------------------------------------------------------------
   Responsive Adjustments
   -------------------------------------------------------------------------- */

@media screen and (max-width: 767px) {
    .accountingReportsHeader {
        flex-direction: column;
        align-items: flex-start;
    }

    .accountingReportsPeriodSelector {
        margin-left: 0;
        width: 100%;
    }

    .accountingReportsPeriodSelector__dropdown {
        flex: 1;
    }

    .accountingReportsPeriodSelector__customRange {
        width: 100%;
    }

    .accountingReportsPeriodSelector__dateInput {
        flex: 1;
    }

    .accountingReportsActions {
        position: absolute;
        top: 16px;
        right: 16px;
    }
}#AccountingPayrollPage {
    padding: 10px;
}

#AccountingPayrollPage .page700width {
    border-top: 3.5px solid var(--jmkr-color-1);
    position: relative;
    padding: 15px;
    border-radius: 3.5px;
    box-shadow: 0px 2px 3px #00000033;
}

#AccountingPayrollPage h1 {
    margin: 0px !important;
    max-width: calc(100% - 35px);
}

#AccountingPayrollPage .logo {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 35px;
    height: 35px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: var(--jmkr-logo);
    border-radius: 50%;
}

#AccountingPayrollPage #personName {
    padding-top: 1em;
    text-align: center;
    font-size: 15px;
    font-weight: 500;
    line-height: 20px;
}

#AccountingPayrollPage #hoursToday {
    text-align: center;
    font-size: 25px;
    font-weight: 700;
    line-height: 1em;
    padding-top: 0.5em;
    color: var(--jmkr-color-1);
}

#AccountingPayrollPage .form {
    padding: 15px;
    border-radius: 3.5px;
    box-shadow: 0px 2px 3px #00000033;
    margin-top: 15px;
}

#AccountingPayrollPage #actionButtons {}

#AccountingPayrollPage .button {
    width: 100%;
    margin-top: 15px;
    margin-bottom: 15px;
    border-radius: 3.5px;
    box-shadow: 0px 2px 5px #00000033;
    cursor: pointer;
    text-align: center;
    padding: 25px;
    padding-top: 70px;
    position: relative;
}

#AccountingPayrollPage .button i {
    position: absolute;
    top: 25px;
    left: 0px;
    width: 100%;
    height: 70px;
    font-size: 35px;
    opacity: 0.55;
}

#AccountingPayrollPage .button.left {
    float: left;
    width: calc(50% - 7.5px);
}

#AccountingPayrollPage .button.right {
    float: right;
    width: calc(50% - 7.5px);
}

#AccountingPayrollPage #history {}

#AccountingPayrollPage .historyItem {
    width: 100%;
    margin-top: 15px;
    border-radius: 3.5px;
    box-shadow: 0px 2px 3px #00000033;
    padding: 10px;
    position: relative;
}

#AccountingPayrollPage .time {
    float: left;
}

#AccountingPayrollPage .time b {
    color: var(--jmkr-color-1);
}

#AccountingPayrollPage .action {
    float: right;
    font-size: 11px;
    opacity: 0.5;
}

#AccountingPayrollPage #guidingMessage {
    background-color: var(--jmkr-color-1);
    color: white;
    padding: 15px;
    border-radius: 3.5px;
    box-shadow: 0px 2px 3px #00000033;
    margin-top: 15px;
    text-align: center;
    font-size: 17px;
}

#payrollTimetable_leftButton,
#payrollTimetable_downloadButton,
#payrollTimetable_rightButton,
#payrollTimetable_week {
    float: left;
    font-size: 13px;
    line-height: var(--line-height);
    text-align: center;
    width: var(--line-height);
    height: var(--line-height);
    border-bottom: 1px solid #D2D2D2;
    cursor: pointer;
}

#payrollTimetable_downloadButton {
    border-right: 1px solid #D2D2D2;
}

#payrollTimetable_leftButton {
    border-right: 1px solid #D2D2D2;
}

#payrollTimetable_rightButton {
    border-right: 1px solid #D2D2D2;
}

#payrollTimetable_week {
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    width: calc(100% - var(--line-height) * 3);
    border-right: 1px solid #D2D2D2;
    font-size: 12px;
    padding-left: 1em;
    padding-right: 1em;
}

#cycleForm .segment {
    position: relative;
    overflow: hidden;
}

#cycleForm #startLocationMap,
#cycleForm #endLocationMap {
    position: absolute;
    top: 0.5em;
    left: 0.5em;
    width: calc(100% - 1em);
    height: calc(100% - 1em);
    border-radius: 0.5em;
}

#AccountingPayrollPage #locationMap {
    position: absolute;
    top: 1em;
    left: 1em;
    width: calc(100% - 2em);
    height: calc(100% - 2.75em);
    border-radius: 0.5em;
}

#AccountingPayrollPage #locationStatus {
    margin-top: 10px;
}

#AccountingPayrollPage #locationStatus.positive {
    background-color: rgba(33, 186, 69, 0.1);
    border-color: rgba(33, 186, 69, 0.2);
}

#AccountingPayrollPage #locationStatus.negative {
    background-color: rgba(219, 40, 40, 0.1);
    border-color: rgba(219, 40, 40, 0.2);
}

#AccountingPayrollPage #locationStatus.loading {
    background-color: rgba(33, 133, 208, 0.1);
    border-color: rgba(33, 133, 208, 0.2);
}

.inventoryScheduleSessionList .timestampSession {
    position: absolute;
    width: calc(100% - var(--line-height) / 2);
    left: calc(var(--line-height) / 4);
    color: black;
    font-size: 15px;
    border-top: 1.7px solid rgba(0, 0, 0, 0.17);
    overflow: hidden;
    background: rgba(0, 0, 0, 0.05);
}

.inventoryScheduleSessionList .timestampSession:last-child {
    border-bottom: 1.7px solid rgba(0, 0, 0, 0.17);
}

.inventoryScheduleSessionList .timestampSession .name {
    z-index: 2;
    position: absolute;
    cursor: pointer;
    font-size: 15px;
    font-weight: bold;
    top: 0px;
    left: 0px;
    text-align: center;
    width: 100%;
}

.inventoryScheduleSessionList .timestampSession .wrapName {
    position: absolute;
    text-align: left;
    top: 50%;
    left: 0px;
    width: 100%;
    transform: translateY(-50%);
    font-size: 17px;
    line-height: 25px;
    font-weight: normal;
    padding: 7px;
    max-height: calc(100% - 30px * 2);
    overflow: auto;
}

.inventoryScheduleSessionList .timestampSession .startTime,
.inventoryScheduleSessionList .timestampSession .stopTime {
    z-index: 1;
    position: absolute;
    cursor: pointer;
    top: 0px;
    left: 0px;
    line-height: 11px;
    opacity: 0.7;
    width: 100%;
    padding: 7px;
}

.inventoryScheduleSessionList .timestampSession .stopTime {
    text-align: right;
    top: auto;
    bottom: 0px;
}#PayslipPage {
  padding-top: 0px;
  background: white;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.07);
}

#PayslipPage #page {
  letter-spacing: 0.5px;
}

#PayslipPage #printArea {
  padding: 25px;
  padding-top: 15px;
}

#PayslipPage .inlineLink {
  font-size: 100%;
}

#PayslipPage #page #loading {
  text-align: center;
  padding: 17px;
  letter-spacing: 1.17px;
  font-size: 35px;
  font-weight: bold;
  opacity: 0.17;
}

#PayslipPage #signature {
  letter-spacing: 1.35px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: right;
  padding: 11px;
  color: white;
  font-size: 13px;
  padding-top: 7px;
  padding-bottom: 17px;
}

#PayslipPage #signature b {
  font-size: 25px;
}

#PayslipPage #left {
  float: left;
}

@media screen and (min-width: 767px) {
  #PayslipPage #left {
    max-width: 50%;
    width: calc(100% - 350px - 50px);
  }
}

#PayslipPage #picture {
  max-width: 100%;
  object-fit: contain;
  height: 177px;
  margin-bottom: 21px;
}

#PayslipPage #name {
  font-size: 21px;
  margin-bottom: 17px;
}

#PayslipPage #contact {
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 1px;
  opacity: 0.6;
}

#PayslipPage #contact i {
  margin-right: 7px;
}

#PayslipPage #right {
  float: right;
  max-width: 350px;
}

#PayslipPage #title {
  font-size: 28px;
  font-weight: bold;
  opacity: 0.95;
  margin-bottom: 17px;
  min-width: 170px;
  max-width: 370px;
  line-height: 31px;
  padding-left: 0px;
}

#PayslipPage #info {
  float: left;
  width: 117px;
  padding-right: 7px;
  font-size: 10px;
  text-align: right;
}

#PayslipPage #detail {
  float: right;
  width: calc(100% - 117px);
  font-size: 10px;
  line-height: 20px;
}

#PayslipPage #amount {
  float: left;
  width: 270px;
  padding: 7px;
  padding-top: 0px;
  padding-right: 0px;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-bottom: 4px solid rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  font-size: 10px;
  text-align: center;
  line-height: 35px;
  margin-top: 21px;

  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.035);
}

#PayslipPage #amount b {
  font-size: 25px;
}

#PayslipPage .line {
  border-top: 1px dotted var(--jmkr-color-1);
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.07);
  margin: 5px;
  margin-bottom: 0px;
}

#PayslipPage #lineup {
  border-top: 2px solid var(--jmkr-color-1);
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.17);
}

#PayslipPage #description {
  line-height: 30px;
  font-size: 16px;
  letter-spacing: 0.7px;
  padding-top: 15px;
  padding-bottom: 15px;

  overflow: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;

  border-radius: 5px;
}

#PayslipPage #description .page,
#PayslipPage #description .column {
  padding: 0px !important;
}

#PayslipPage #description p {
  line-height: 35px;

  margin-block-start: 0px;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
}

#PayslipPage #description li {
  line-height: 30px;

  margin-block-start: 0px;
  margin-block-end: 0px;
  margin-inline-start: 17px;
  margin-inline-end: 0px;

  padding-inline-start: 0px;
}

#PayslipPage #description ul {
  line-height: 30px;

  margin-block-start: 0px;
  margin-block-end: 17px;
  margin-inline-start: 17px;
  margin-inline-end: 0px;

  padding-inline-start: 0px;
}

#PayslipPage #description pre {
  text-wrap: balance !important;
  word-wrap: normal !important;
  line-break: normal !important;
}

#PayslipPage #description ul ul {
  margin-block-start: 0px;
  margin-block-end: 0px;
  margin-inline-start: 17px;
  margin-inline-end: 0px;
  padding-inline-start: 0px;
}

#PayslipPage #description img {
  max-width: 100%;
}

#PayslipPage #description a {
  color: var(--jmkr-color-1) !important;
  font-weight: 500;
}

#PayslipPage #billTo {
  float: left;
  max-width: calc(100% - 40px);
  font-size: 13px;
  padding-left: 11px;
}

#PayslipPage #printLabel {
  font-size: 13px;
  float: right;
  cursor: pointer;
  padding-left: 11px;
  padding-right: 11px;
}

#PayslipPage .pay,
#PayslipPage .resendEmail {
  float: left;
  text-align: center;
  border-radius: 3px;
  line-height: 34px;
  width: 270px;

  font-size: 12px;
  letter-spacing: 0.4px;
  color: white;
  margin-top: 15px;
  margin-right: 10px;
  background-color: var(--jmkr-color-1);

  cursor: pointer;
}

#PayslipPage .payLabel {
  float: left;
  font-weight: bold;
  border-radius: 3px;
  line-height: 34px;

  font-size: 12px;
  letter-spacing: 0.4px;
  margin-top: 15px;
}

#PayslipPage .pay b,
#PayslipPage .resendEmail {
  font-size: 15px;
  letter-spacing: 1px;
}

@media screen and (max-width: 570px) {

  #PayslipPage .pay,
  #PayslipPage .resendEmail {
    float: none;
    margin-left: auto;
    margin-right: auto;
  }

  #PayslipPage .payLabel {
    float: none;
    width: 270px;
    margin-top: 0px;
    margin-left: auto;
    margin-right: auto;
  }

  #PayslipPage #or {
    float: none;
    margin-top: 14px;
    line-height: 1px;
    margin-left: auto;
    margin-right: auto;
  }

  #PayslipPage #left {
    width: 100%;
  }

  #PayslipPage #wrapPicture {
    text-align: center;
  }

  #PayslipPage #wrapPicture img {
    border-radius: 3.5px;
  }

  #PayslipPage #name {
    text-align: center;
  }

  #PayslipPage #contact {
    text-align: center;
  }

  #PayslipPage #contact i {
    margin-right: 7px;
  }

  #PayslipPage #right {
    width: 100%;
    max-width: 100%;
  }

  #PayslipPage #title {
    text-align: center;
    margin-top: 17px;
    margin-left: auto;
    margin-right: auto;
  }

  #PayslipPage #info {
    width: 50%;
  }

  #PayslipPage #detail {
    width: 50%;
  }

  #PayslipPage #amount {
    float: none;
    width: 270px;
    margin-left: auto;
    margin-right: auto;
  }

  #PayslipPage #amount b {
    font-size: 25px;
  }

  .FormPage #PayslipPage .hideIfEmbedded {
    display: none;
  }
}

.firstColumn {
  width: 100% !important;
}



.secondColumn {
  width: 100% !important;
}



@media screen and (min-width: 700px) {
  .embeddedInvoice #printArea>div.ui.two.column.grid>div.secondColumn.column>div:nth-child(1) {
    display: none;
  }
}

.showIfEmbeddedInvoice {
  display: none;
}

.embeddedInvoice .showIfEmbeddedInvoice {
  display: block;
}

#PayslipPage #disclaimer {
  font-size: 12px;
  line-height: 15px;
  margin-top: 35px;
  margin-bottom: 35px;
  margin-left: auto;
  max-width: 350px;
  width: calc(100% - 25px*2);
  opacity: 0.7;
  border: 1px solid rgba(0, 0, 0, 0.35);
  padding: 10px;
}

.embeddedInvoice .hideIfEmbedded {
  display: none;
}

.embeddedInvoice #printArea {
  padding: 0px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.embeddedInvoice #popupPaymentBG {
  border-radius: 5px;
}

@media screen and (max-width: 767px) {
  .embeddedInvoice #PayslipPage #right {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #ToolPage #page.embeddedInvoice {
    padding-left: 11px;
    padding-right: 11px;
  }
}.autocomplete-widget {
    background: #fff;
    border: 1px solid #ccc;
    padding: 4px;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    font-family: sans-serif;
    font-size: 0.9em;
}

.suggestion-decoration {
    background-color: rgba(255, 255, 0, 0.3);
}

#diffContainer {
    width: 100%;
    height: 50vh;
    overflow: auto;
    -ms-overflow-style: none;
    text-align: left;
}#Colleague #accessToggleList {
    border-radius: 7px;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

#Colleague #accessToggleList .accessToggle {
    padding: 17px;
    padding-bottom: 0.1px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

/* VSM Badge Styles */
.vsm-badge {
    display: inline-block;
    color: #667eea;
    margin-left: 5px;
    vertical-align: middle;
}

.vsm-badge i {
    font-size: 14px;
}

/* AI Colleague Button */
.createAIColleague {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}

.createAIColleague:hover {
    opacity: 0.9;
}

.createAIColleague.disabled {
    background: #ccc !important;
    cursor: not-allowed;
    opacity: 0.6;
}

.createAIColleague.disabled:hover {
    opacity: 0.6;
}


/* Add Friend button */
.talkToVSM,
.addColleagueAsFriend {
    color: #667eea !important;
    cursor: pointer;
}

.talkToVSM:hover,
.addColleagueAsFriend:hover {
    color: #764ba2 !important;
}#ColleagueRole #accessToggleList {
    border-radius: 7px;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

#ColleagueRole #accessToggleList .accessToggle {
    padding: 17px;
    padding-bottom: 0.1px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}.broadcast-unsubscribe-container {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
  max-width: 520px;
  width: 100%;
  padding: 2.5rem 3rem;
  text-align: center;
  color: #1f2933;
  font-family: "Helvetica Neue", Arial, sans-serif;
}

.unsubscribe-status h1 {
  margin-bottom: 1rem;
  font-size: 1.8rem;
  color: #0f172a;
}

.unsubscribe-status p {
  margin: 0.5rem 0;
  line-height: 1.6;
  color: #475569;
}

.unsubscribe-status .note {
  margin-top: 1.5rem;
  font-size: 0.9rem;
  color: #64748b;
}

.unsubscribe-status.loading {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.unsubscribe-status.loading .spinner {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 4px solid rgba(59, 130, 246, 0.2);
  border-top-color: #3b82f6;
  animation: broadcast-unsubscribe-spin 1s linear infinite;
  margin-bottom: 1rem;
}

.unsubscribe-status.error h1 {
  color: #dc2626;
}

.unsubscribe-status.cancelled h1 {
  color: #16a34a;
}

.unsubscribe-status .already-note {
  color: #16a34a;
  font-weight: 600;
}

/* Confirmation action buttons */
.unsubscribe-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 2rem;
  align-items: center;
}

.unsub-btn {
  display: inline-block;
  padding: 0.75rem 2rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: background 0.2s ease, opacity 0.2s ease;
  min-width: 220px;
}

.unsub-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.unsub-btn-confirm {
  background: #dc2626;
  color: #ffffff;
}

.unsub-btn-confirm:hover:not(:disabled) {
  background: #b91c1c;
}

.unsub-btn-cancel {
  background: transparent;
  color: #64748b;
  border: 1px solid #e2e8f0;
}

.unsub-btn-cancel:hover:not(:disabled) {
  background: #f8fafc;
  color: #334155;
  border-color: #cbd5e1;
}

@keyframes broadcast-unsubscribe-spin {
  to { transform: rotate(360deg); }
}#contactBroadcastForm #addMessageOption {
	background: var(--jmkr-color-1);
	color: white;
	margin-bottom: 0px;
	padding: 11px;
	padding-left: 0px;
	padding-right: 0px;
	text-align: center;
	letter-spacing: 0.7px;
	font-size: 14px;
	border-radius: 5px;
	cursor: pointer;
}

#contactBroadcastForm .messageOption {
	padding-top: 0px;
	border: 0px solid rgba(0, 0, 0, 0.1);
	border-radius: 4px;
	margin-bottom: 17px;
}

#contactBroadcastForm .deleteMessageOption {
	float: right;
	cursor: pointer;

	margin-top: -11px;
	margin-right: -11px;

	font-size: 12px;
	color: white;
	background: var(--jmkr-color-1);
	width: 21px;
	height: 21px;
	line-height: 20px;
	border-radius: 50%;
	text-align: center;
	padding-top: 1px;
}

#contactBroadcastForm #addSendCondition {
	background: var(--jmkr-color-1);
	color: white;
	padding: 11px;
	padding-left: 0px;
	padding-right: 0px;
	text-align: center;
	letter-spacing: 0.7px;
	font-size: 14px;
	border-radius: 5px;
	cursor: pointer;
}

#contactBroadcastForm .sendCondition {
	padding: 11px;
	padding-top: 7px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 4px;
	margin-bottom: 11px;
	background: rgba(0, 0, 0, 0.017);
}

#contactBroadcastForm .deleteSendCondition {
	float: right;
	cursor: pointer;

	margin-top: -15px;
	margin-right: -21px;

	font-size: 12px;
	color: white;
	background: var(--jmkr-color-1);
	width: 21px;
	height: 21px;
	line-height: 20px;
	border-radius: 50%;
	text-align: center;
	padding-top: 1px;
}.broadcastGraph {
    float: right;
    width: 40%;
}

.broadcastLog {
    width: 100%;
    padding: 17px;
}

.selected_contactBroadcastMessage h4 {
    border-bottom: 1px dotted var(--jmkr-color-1);
    padding-bottom: 10px;
}

/* Flex-based toolbar container — pattern source: commandDashboard__toolbar (command.css:21-31) */
.broadcastToolbar {
    display: flex;
    align-items: center;
    height: var(--line-height);
    gap: 0;
}

/* Mode content zone — fills available space */
.broadcastToolbar__form {
    flex: 1;
    display: flex;
    gap: 4px;
    height: 100%;
    margin: 0;
    padding: 0;
}

.broadcastToolbar__dateInput {
    flex: 1;
    height: 100%;
    border: 1px solid #ecf0f1;
    border-radius: 0;
    padding: 0 8px;
    font-size: 13px;
}

.broadcastToolbar__searchInput {
    flex: 1;
    height: 100%;
    border: 1px solid #ecf0f1;
    border-radius: 0;
    padding: 0 8px;
    font-size: 13px;
}

/* Batch mode — fills toolbar left zone */
.broadcastToolbar__batch {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    background: var(--jmkr-color-1);
    color: white;
    height: 100%;
}

.broadcastToolbar__batchCount {
    font-weight: 600;
    font-size: 13px;
}

.broadcastToolbar__batchClear {
    cursor: pointer;
    opacity: 0.8;
    font-size: 12px;
    text-decoration: underline;
}

.broadcastToolbar__batchClear:hover {
    opacity: 1;
}

.broadcastToolbar__batchResend {
    cursor: pointer;
    background: rgba(255, 255, 255, 0.2);
    padding: 4px 10px;
    border-radius: 3.5px;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
}

.broadcastToolbar__batchResend:hover {
    background: rgba(255, 255, 255, 0.35);
}

/* Credit alert pill — compact inline indicator */
.broadcastToolbar__alert {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 10px;
    height: 100%;
    font-size: 11px;
    color: #b8860b;
    background: rgba(184, 134, 11, 0.08);
    border-left: 1px solid #ecf0f1;
    white-space: nowrap;
    cursor: default;
}

.broadcastToolbar__alert i {
    font-size: 12px;
}

.broadcastToolbar__alertRetry {
    cursor: pointer;
    text-decoration: underline;
    margin-left: 4px;
    font-weight: 600;
}

.broadcastToolbar__alertRetry:hover {
    color: #8b6914;
}

/* Toggle button — remove float, flex-shrink: 0 */
#searchContactBroadcastMessageToggle {
    flex-shrink: 0;
    background: var(--jmkr-color-1);
    color: white;
    width: var(--line-height);
    text-align: center;
    height: var(--line-height);
    line-height: var(--line-height);
    cursor: pointer;
}

/* Batch select checkbox inside dataRow */
.batchSelectCheckbox {
    width: 16px;
    height: 16px;
    margin: 7px;
    margin-bottom: 0px;
    cursor: pointer;
    flex-shrink: 0;
    accent-color: var(--jmkr-color-1);
    vertical-align: middle;
}

/* Selected row highlight */
.dataRow--selected {
    background: rgba(var(--jmkr-color-1-rgb, 30, 176, 205), 0.08) !important;
    border-left: 3px solid var(--jmkr-color-1) !important;
}

.contactGroupMemberBrowser {
    display: flex;
    flex-direction: column;
    height: calc(100vh - var(--line-height) * 5);
    max-height: calc(100vh - var(--line-height) * 5);
    width: calc(100% + 13.5px * 2);
    margin-left: -13.5px;
}

.contactGroupMemberBrowser__search {
    padding: 13.5px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    background: rgba(0, 0, 0, 0.02);
}

.contactGroupMemberBrowser__search .ui.input {
    width: 100%;
}

.contactGroupMemberBrowser__search .ui.input input {
    border-radius: 5px;
}

.contactGroupMemberBrowser__search .ui.input i.icon {
    opacity: 0.5;
}

.contactGroupMemberBrowser__list {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
}

.contactGroupMemberBrowser__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: rgba(0, 0, 0, 0.4);
    text-align: center;
}

.contactGroupMemberBrowser__empty i {
    font-size: 32px;
    margin-bottom: 10px;
    opacity: 0.5;
}

.contactGroupMemberBrowser__loadMore {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
}

/* Member Row Styles */
.contactGroupMemberRow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 13.5px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    transition: background-color 0.15s ease;
}

.contactGroupMemberRow:hover {
    background: rgba(0, 0, 0, 0.02);
}

.contactGroupMemberRow--tagged {
    background: rgba(33, 186, 69, 0.05);
}

.contactGroupMemberRow--tagged:hover {
    background: rgba(33, 186, 69, 0.08);
}

.contactGroupMemberRow__info {
    flex: 1;
    min-width: 0;
    margin-right: 10px;
}

.contactGroupMemberRow__name {
    font-weight: 600;
    font-size: 14px;
    color: rgba(0, 0, 0, 0.85);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contactGroupMemberRow__email,
.contactGroupMemberRow__phone {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.5);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 2px;
}

.contactGroupMemberRow__action {
    flex-shrink: 0;
}

.contactGroupMemberRow__action .ui.button {
    margin: 0;
    white-space: nowrap;
}

.contactGroupMemberRow__action .ui.button i {
    margin-right: 3px !important;
}

/* Adjust positive/negative button colors for better visibility */
.contactGroupMemberRow__action .ui.positive.button {
    background-color: var(--jmkr-color-1, #21ba45) !important;
}

.contactGroupMemberRow__action .ui.negative.button {
    background-color: rgba(200, 50, 50, 0.85) !important;
}

/* Members tab segment adjustment */
#contactForm .ui.bottom.attached.tab.segment[data-tab="Members"] {
    padding: 0 !important;
}#ContactPage {
    padding: 0px;
    background: white;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Header */
#ContactPage #contactHeader {
    padding: 20px 25px 10px;
    border-bottom: 1px solid #ecf0f1;
    background: #f8f9fa;
    position: relative;
    flex-shrink: 0;
}

#ContactPage #contactTitle {
    font-size: 22px;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-right: 50px;
}

#ContactPage #contactTitle i {
    color: var(--jmkr-color-1);
}

#ContactPage #contactSubtitle {
    font-size: 13px;
    color: #7f8c8d;
    margin-bottom: 12px;
    margin-right: 50px;
}

#ContactPage .contact-status-line {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}

#ContactPage .status-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 3px 8px;
    border-radius: 3.5px;
    background: rgba(0, 0, 0, 0.05);
    color: rgba(0, 0, 0, 0.55);
}

#ContactPage .status-pill.online {
    background: rgba(39, 174, 96, 0.12);
    color: #27ae60;
}

#ContactPage .status-pill.offline {
    background: rgba(127, 140, 141, 0.12);
    color: #7f8c8d;
}

#ContactPage .status-pill.alert {
    background: rgba(231, 76, 60, 0.12);
    color: #e74c3c;
}


#ContactPage #contactCloseButton {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    border-radius: 3.5px;
    background-color: #ecf0f1;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

#ContactPage #contactCloseButton:hover {
    background-color: var(--jmkr-color-1);
    color: white;
}

#ContactPage #contactCloseButton i {
    font-size: 14px;
    color: #7f8c8d;
}

#ContactPage #contactCloseButton:hover i { color: white; }

/* Layout */
#ContactPage #contactContent {
    display: flex;
    flex: 1;
    overflow: hidden;
}

#ContactPage #communicationColumn {
    flex: 2;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #ecf0f1;
}

#ContactPage #profileColumn {
    flex: 1;
    max-width: 350px;
    min-width: 280px;
    background: #f8f9fa;
    overflow-y: auto;
    padding: 13.5px;
}

/* Tabs */
#jmkrClient #ContactPage .ui.attached.tabular.menu {
    padding: 0px 13.5px !important;
    margin: 0px !important;
    border-bottom: 1px solid #ecf0f1;
    background: #f8f9fa;
}

#ContactPage .ui.tabular.menu .item {
    padding: 11px 15px;
    font-weight: 500;
    font-size: 13px;
    color: #7f8c8d;
    border-bottom: 2px solid transparent;
    position: relative;
}

#ContactPage .ui.tabular.menu .item.active {
    color: var(--jmkr-color-1);
    border-bottom-color: var(--jmkr-color-1);
    background: white;
}

#ContactPage .ui.tabular.menu .item:hover {
    color: var(--jmkr-color-1);
}

#ContactPage .ui.tabular.menu .item .ui.circular.label {
    margin-left: 6px;
    font-size: 10px;
    padding: 2px 6px;
}

#ContactPage .tab.segment {
    padding: 0px !important;
    margin: 0px !important;
    border: none;
    border-radius: 0;
    flex: 1;
}

#ContactPage .communicationContent {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Email tab */
#ContactPage .messageArea {
    flex: 1;
    overflow-y: auto;
    padding: 13.5px;
    background: white;
}

#ContactPage .messagesContainer {
    display: flex;
    flex-direction: column;
}

#ContactPage .emailRow {
    border-bottom: 1px solid #f1f3f4;
    padding: 11px 0;
    cursor: pointer;
}

#ContactPage .emailRow:hover {
    background: #fafbfc;
}

#ContactPage .emailRow.unread {
    border-left: 3px solid var(--jmkr-color-1);
    padding-left: 10px;
}

#ContactPage .emailHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3px;
}

#ContactPage .emailSubject {
    font-weight: 600;
    font-size: 13px;
    color: #2c3e50;
    display: flex;
    align-items: center;
    gap: 4px;
}

#ContactPage .emailTime {
    font-size: 11px;
    color: #95a5a6;
    flex-shrink: 0;
}

#ContactPage .emailPreview {
    color: #95a5a6;
    font-size: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Email composer */
#ContactPage .emailComposer {
    border-top: 1px solid #ecf0f1;
    background: white;
}

#ContactPage .emailFields {
    padding: 10px 13.5px 0;
}

#ContactPage .emailFields .field { margin-bottom: 7px; }

#ContactPage .emailFields input {
    border: 1px solid #ecf0f1;
    border-radius: 3.5px;
    padding: 7px 10px;
    font-size: 13px;
    width: 100%;
}

#ContactPage .messageComposer {
    border-top: 1px solid #ecf0f1;
    padding: 10px 13.5px;
    background: white;
    display: flex;
    align-items: flex-end;
    gap: 7px;
}

#ContactPage .composerActions { display: flex; align-items: center; }

#ContactPage .messageInput {
    flex: 1;
    position: relative;
}

#ContactPage .messageTextarea {
    width: 100%;
    min-height: 36px;
    max-height: 100px;
    padding: 8px 12px;
    border: 1px solid #ecf0f1;
    border-radius: 3.5px;
    resize: none;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.4;
}

#ContactPage .messageTextarea:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

/* Contracts / Pricing / Store Credit — shared area styles */
#ContactPage .contractsArea {
    flex: 1;
    overflow-y: auto;
    padding: 13.5px;
    background: white;
}

#ContactPage .contractsHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 13.5px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ecf0f1;
}

#ContactPage .contractsHeader h4 {
    margin: 0;
    font-weight: 600;
    font-size: 14px;
    color: #2c3e50;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Loading + Empty states */
#ContactPage .loadingState {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px 13.5px;
    color: #7f8c8d;
}

#ContactPage .loadingState .ui.loader { position: relative; }
#ContactPage .loadingState span { font-size: 13px; color: #95a5a6; }

#ContactPage .emptyState {
    text-align: center;
    padding: 40px 13.5px;
    color: #95a5a6;
}

#ContactPage .emptyState i { margin-bottom: 13.5px; color: #bdc3c7; }
#ContactPage .emptyState h3 { margin-bottom: 7px; color: #7f8c8d; font-size: 15px; }
#ContactPage .emptyState p { font-size: 13px; }

/* Profile column */
#ContactPage .profileCard {
    background: white;
    border-radius: 3.5px;
    padding: 13.5px;
    margin-bottom: 13.5px;
    border: 1px solid #ecf0f1;
}

#ContactPage .profileHeader {
    text-align: center;
    position: relative;
    margin-bottom: 13.5px;
}

#ContactPage .profilePicture {
    width: 60px;
    height: 60px;
    margin: 0 auto 10px;
    position: relative;
}

#ContactPage .profilePicture img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #f0f0f0;
}

#ContactPage .profilePictureDefault {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--jmkr-color-1);
    display: none;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
}

#ContactPage .profileStatus {
    position: absolute;
    bottom: 10px;
    right: calc(50% - 40px);
}

#ContactPage .statusIndicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid white;
}

#ContactPage .statusIndicator.online { background: #27ae60; }
#ContactPage .statusIndicator.offline { background: #95a5a6; }

#ContactPage .profileInfo {
    text-align: center;
    margin-bottom: 13.5px;
}

#ContactPage .contactName {
    margin: 0 0 10px 0;
    color: #2c3e50;
    font-size: 18px;
    font-weight: 600;
}

#ContactPage .contactDetails {
    display: flex;
    flex-direction: column;
    gap: 0;
}

#ContactPage .contactDetail {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 0;
    border-bottom: 1px solid #f1f3f4;
    overflow: hidden;
}

#ContactPage .contactDetail:last-child { border-bottom: none; }
#ContactPage .contactDetail i { color: var(--jmkr-color-1); width: 14px; font-size: 12px; }
#ContactPage .contactDetail span { flex: 1; font-size: 13px; color: #2c3e50; }

#ContactPage .profileTags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 13.5px;
}

#ContactPage .profileActions {
    margin-bottom: 13.5px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

/* Profile sections */
#ContactPage .profileFollowUp,
#ContactPage .profileInsights,
#ContactPage .profileNotes,
#ContactPage .aiInsights {
    background: white;
    border-radius: 3.5px;
    padding: 13.5px;
    margin-bottom: 13.5px;
    border: 1px solid #ecf0f1;
}

#ContactPage .profileFollowUp .followupLabel {
    font-size: 13px;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 2px;
}

#ContactPage .profileFollowUp .followupLabel.empty {
    font-weight: 400;
    color: #95a5a6;
}

#ContactPage .profileFollowUp .followupStatus.overdue .followupLabel { color: #db2828; }
#ContactPage .profileFollowUp .followupStatus.scheduled .followupLabel { color: #2185d0; }

#ContactPage .profileFollowUp .followupNote {
    font-size: 12px;
    color: #7f8c8d;
}

#ContactPage .profileFollowUp .followupAction {
    display: inline-block;
    margin-top: 8px;
    background: var(--jmkr-color-1);
    color: white;
    font-size: 12px;
    font-weight: 500;
    padding: 5px 10px;
    border-radius: 3.5px;
    cursor: pointer;
    opacity: 0.95;
}

#ContactPage .profileFollowUp .followupAction:hover { opacity: 1; }

#ContactPage .profileFollowUp h4,
#ContactPage .profileInsights h4,
#ContactPage .profileNotes h4,
#ContactPage .aiInsights h4 {
    margin: 0 0 10px 0;
    font-size: 13px;
    font-weight: 600;
    color: #2c3e50;
    display: flex;
    align-items: center;
    gap: 6px;
}

#ContactPage .insightItem {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 0;
    border-bottom: 1px solid #f1f3f4;
}

#ContactPage .insightItem:last-child { border-bottom: none; }
#ContactPage .insightLabel { font-size: 12px; color: #7f8c8d; }
#ContactPage .insightValue { font-weight: 600; font-size: 13px; color: #2c3e50; }

#ContactPage .noteRow {
    padding: 8px 0;
    border-bottom: 1px solid #f1f3f4;
}

#ContactPage .noteRow:last-child { border-bottom: none; }
#ContactPage .noteContent { font-size: 12px; color: #2c3e50; margin-bottom: 3px; }

#ContactPage .noteMetadata {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #7f8c8d;
}

#ContactPage .emptyNotes {
    text-align: center;
    color: #95a5a6;
    font-size: 12px;
    padding: 13.5px 0;
}

#ContactPage .aiSuggestion {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 0;
    border-bottom: 1px solid #f1f3f4;
}

#ContactPage .aiSuggestion:last-child { border-bottom: none; }
#ContactPage .aiSuggestion i { color: var(--jmkr-color-1); font-size: 13px; }
#ContactPage .aiSuggestion span { font-size: 12px; color: #2c3e50; }
#ContactPage .emptyAI { text-align: center; color: #95a5a6; font-size: 12px; padding: 13.5px 0; }

/* Jamaker-consistent buttons — override Semantic UI generics */
#ContactPage .ui.button,
#ContactPage .ui.mini.button {
    background: var(--jmkr-color-1) !important;
    color: white !important;
    border-radius: 3.5px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 6px 12px !important;
    border: none !important;
    box-shadow: none !important;
    opacity: 0.95;
    cursor: pointer;
}

#ContactPage .ui.button:hover,
#ContactPage .ui.mini.button:hover {
    opacity: 1;
}

#ContactPage .ui.dropdown.button {
    background: white !important;
    color: var(--jmkr-color-1) !important;
    border: 1px solid #ecf0f1 !important;
}

#ContactPage .ui.dropdown.button:hover {
    border-color: var(--jmkr-color-1) !important;
}

#ContactPage .ui.dropdown.button .menu {
    border-radius: 3.5px !important;
}

/* Send button — keep round for composer UX */
#ContactPage .sendButton .ui.button {
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Contact detail action buttons — inverted */
#ContactPage .contactDetail .ui.button {
    background: white !important;
    color: var(--jmkr-color-1) !important;
    border: 1px solid #ecf0f1 !important;
    font-size: 11px !important;
    padding: 4px 8px !important;
    flex-shrink: 0;
}

/* Responsive */
@media screen and (max-width: 1024px) {
    #ContactPage #contactContent { flex-direction: column; }
    #ContactPage #profileColumn { max-width: none; min-width: auto; flex: none; height: 250px; overflow-y: auto; }
    #ContactPage #communicationColumn { flex: none; height: calc(100vh - 350px); }
}

@media screen and (max-width: 768px) {
    #ContactPage #contactHeader { padding: 13.5px; }
    #ContactPage #contactTitle { font-size: 18px; }
    #ContactPage #contactCloseButton { top: 13.5px; right: 13.5px; }
    #ContactPage .ui.tabular.menu .item { padding: 10px 12px; font-size: 12px; }
    #ContactPage #profileColumn { padding: 10px; }
}
.prospect-channel-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-right: 5px;
}
.prospect-channel-badge.channel-instagram { background: #E1306C; color: white; }
.prospect-channel-badge.channel-twitter { background: #1DA1F2; color: white; }
.prospect-channel-badge.channel-whatsapp { background: #25D366; color: white; }
.prospect-channel-badge.channel-linkedin { background: #0077B5; color: white; }
.prospect-channel-badge.channel-email { background: #EA4335; color: white; }
.prospect-channel-badge.channel-phone { background: #34A853; color: white; }
.prospect-channel-badge.channel-other { background: #95A5A6; color: white; }

/* ICP Fit score badges */
.prospect-fit-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    margin-right: 5px;
}
.prospect-fit-badge.fit-HIGH { background: #27ae60; color: white; }
.prospect-fit-badge.fit-MEDIUM { background: #f39c12; color: white; }
.prospect-fit-badge.fit-LOW { background: #e67e22; color: white; }
.prospect-fit-badge.fit-NOT_FIT { background: #95a5a6; color: white; }

/* Qualified badge */
.prospect-qualified-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 10px;
    background: #27ae60;
    color: white;
}

/* Data row - unqualified highlight */
#ContactProspects .dataRow.unqualified {
    background: rgba(var(--jmkr-color-1-rgb), 0.03);
    border-left: 3px solid var(--jmkr-color-1);
}

/* Popup detail section */
.prospect-detail {
    background: #f9fafb;
    margin-bottom: 20px;
}
.prospect-detail .prospect-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.prospect-detail .prospect-timestamp {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.45);
    margin-left: auto;
}
.prospect-detail .prospect-handle {
    font-size: 18px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.85);
    margin-bottom: 5px;
}
.prospect-detail .prospect-name {
    font-size: 14px;
    color: rgba(0, 0, 0, 0.65);
    margin-bottom: 10px;
}
.prospect-detail .prospect-bio {
    font-size: 13px;
    color: rgba(0, 0, 0, 0.65);
    margin-bottom: 15px;
    padding: 10px;
    background: rgba(0, 0, 0, 0.03);
    border-radius: 4px;
}
.prospect-detail .prospect-stats {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
}
.prospect-detail .prospect-stat {
    display: flex;
    flex-direction: column;
}
.prospect-detail .prospect-stat .stat-value {
    font-size: 16px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.85);
}
.prospect-detail .prospect-stat .stat-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(0, 0, 0, 0.45);
}
.prospect-detail .prospect-icp-notes {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.prospect-detail .prospect-icp-notes label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(0, 0, 0, 0.45);
    margin-bottom: 5px;
    display: block;
}
.prospect-detail .prospect-icp-notes .notes-text {
    font-size: 13px;
    color: rgba(0, 0, 0, 0.65);
}

/* Filter section */
#ContactProspects .prospect-filters {
    margin-bottom: 15px;
}
#Contact #cardBackground {
    background-color: rgba(0,0,0,0.1);
    padding: 1em 1em;
} #Contact h1, #Contact h3, #Contact h4 {
    position: relative;
    margin: 0px;
    padding: 0px;
    z-index: 2;
} #Contact h3 { 
    padding-top: 1em;
    padding-bottom: 0.35em;
} #Contact h4 { 
    font-weight: normal;
} #Contact #cardBackground #card {
    position: relative;
    background: white;
    padding: 1em; padding-top: 3em;
    border-radius: 7px;
    letter-spacing: 0.75px;
} #Contact #cardBackground #card #stripe {
    z-index: 1;
    background: var(--jmkr-color-1);
    width: 100%;
    height: 6em;
    position: absolute;
    right: 0px;
    top: 2em;
} #Contact #cardBackground #card #refillAlert { 
    z-index: 3;
    position: absolute;
    right: 1em;
    top: 3.7em;
    font-size: 11px;
    opacity: 0.5;
    cursor: pointer;
} #Contact #cardBackground #card #logo {
    display: inline-block;
    width: 0.9em; height: 0.9em;
    border-radius: 3.5px;
    margin-right: 0.25em;
    background-size: cover;
    background-position: center;
} #Contact #cardBackground #card #balance {
    letter-spacing: 0.75px;
} #Contact #cardBackground #card .button {
    float: left;
    width: calc(50% - 1px);
    text-align: center;
    font-size: 11px;
    line-height: 25px;
    padding-top: 4em;
    cursor: pointer;
    opacity: 0.7;
} #Contact #cardBackground #card .button i {
    font-size: 25px;
    line-height: 25px;
} #Contact #cardBackground #card .line {
    float: left;
    margin-top: 3em;
    height: 4em;
    width: 1px;
    background-color: rgba(0,0,0,0.1);
}

/* Social Connections Tab Styles */
.socialConnectionsSection {
    padding: 20px;
}

.socialConnectionsSection .settingsSection__header {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 25px;
}

.socialConnectionsSection .settingsSection__icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: linear-gradient(135deg, #1877f2 0%, #0d65d9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.socialConnectionsSection .settingsSection__icon i {
    font-size: 24px;
    color: white;
}

.socialConnectionsSection .settingsSection__title h3 {
    margin: 0 0 5px 0;
    padding: 0;
    font-size: 18px;
    font-weight: 600;
}

.socialConnectionsSection .settingsSection__subtitle {
    margin: 0;
    color: #666;
    font-size: 14px;
}

/* Social Connection Card */
.socialConnectionCard {
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    background: white;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.socialConnectionCard:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.socialConnectionCard.connected {
    border-color: #21ba45;
    border-width: 2px;
}

.socialConnectionCard.notConnected {
    display: flex;
    align-items: center;
    gap: 20px;
}

.socialConnectionCard__icon {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    background: linear-gradient(135deg, #1877f2 0%, #0d65d9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.socialConnectionCard__icon i {
    font-size: 28px;
    color: white;
}

.socialConnectionCard__info {
    flex: 1;
}

.socialConnectionCard__info h4 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 600;
}

.socialConnectionCard__info p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

.socialConnectionCard__info .connectedDate {
    font-size: 13px;
    color: #888;
}

.socialConnectionCard__action {
    flex-shrink: 0;
}

/* Connected State Header */
.socialConnectionCard__header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.socialConnectionCard__status {
    margin-left: auto;
}

.socialConnectionCard__status .label {
    display: flex;
    align-items: center;
    gap: 5px;
}

.socialConnectionCard__status .label i {
    font-size: 12px;
}

/* Connected Platforms Badges */
.connectedPlatforms {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
}

.platformBadge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 25px;
    background: white;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid #e0e0e0;
}

.platformBadge i {
    font-size: 16px;
}

.platformBadge i.icon-check-circle {
    font-size: 14px;
    margin-left: 4px;
}

.platformBadge.whatsapp {
    background: #e7f5e7;
    border-color: #25d366;
    color: #128c7e;
}

.platformBadge.whatsapp i { color: #25d366; }

.platformBadge.instagram {
    background: linear-gradient(135deg, #fce4ec 0%, #fff3e0 100%);
    border-color: #e1306c;
    color: #c13584;
}

.platformBadge.instagram i { color: #e1306c; }

.platformBadge.facebook {
    background: #e3f2fd;
    border-color: #1877f2;
    color: #1565c0;
}

.platformBadge.facebook i { color: #1877f2; }

.platformBadge.disabled {
    opacity: 0.6;
    background: #f5f5f5;
    border-color: #ddd;
    color: #888;
}

.platformBadge.disabled i { color: #aaa; }

.platformBadge .badge-note {
    font-size: 11px;
    color: #888;
    font-weight: normal;
}

/* Connection Card Actions */
.socialConnectionCard__actions {
    display: flex;
    gap: 10px;
    padding-top: 15px;
    border-top: 1px solid #eee;
}

/* Social Connection Info Box */
.socialConnectionInfo {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 20px;
    margin-top: 15px;
}

.socialConnectionInfo h5 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 15px 0;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.socialConnectionInfo h5 i {
    color: #1877f2;
}

.socialConnectionInfo ul {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0;
}

.socialConnectionInfo ul li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    font-size: 14px;
    color: #444;
}

.socialConnectionInfo ul li i {
    font-size: 18px;
    width: 24px;
    text-align: center;
}

.socialConnectionInfo ul li i.icon-message-circle { color: #25d366; }
.socialConnectionInfo ul li i.icon-instagram { color: #e1306c; }
.socialConnectionInfo ul li i.icon-facebook { color: #1877f2; }

.socialConnectionInfo .note {
    font-size: 13px;
    color: #666;
    margin: 0;
    padding-top: 10px;
    border-top: 1px solid #e0e0e0;
}

/* ─── Baileys WhatsApp QR Section (Spec 1169) ───────────── */

.baileysQrSection {
    background: #f0faf0;
    border: 2px solid #25d366;
    border-radius: 12px;
    padding: 20px;
    margin-top: 15px;
    text-align: center;
}

.baileysQrSection__instructions {
    text-align: left;
    margin-bottom: 20px;
}

.baileysQrSection__instructions h5 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px 0;
    font-size: 15px;
    font-weight: 600;
    color: #128c7e;
}

.baileysQrSection__instructions ol {
    margin: 0;
    padding-left: 20px;
    font-size: 14px;
    color: #444;
    line-height: 1.8;
}

.baileysQrSection__code {
    display: flex;
    justify-content: center;
    padding: 20px;
    background: white;
    border-radius: 12px;
    margin: 15px auto;
    max-width: 280px;
}

.baileysQrSection__code canvas {
    max-width: 240px;
    max-height: 240px;
}

.baileysQrSection__note {
    font-size: 12px;
    color: #888;
    margin: 10px 0 0 0;
}
.signal-channel-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-right: 5px;
}
.signal-channel-badge.channel-instagram { background: #E1306C; color: white; }
.signal-channel-badge.channel-twitter { background: #1DA1F2; color: white; }
.signal-channel-badge.channel-whatsapp { background: #25D366; color: white; }
.signal-channel-badge.channel-linkedin { background: #0077B5; color: white; }
.signal-channel-badge.channel-email { background: #EA4335; color: white; }
.signal-channel-badge.channel-phone { background: #34A853; color: white; }
.signal-channel-badge.channel-meeting { background: #8E44AD; color: white; }
.signal-channel-badge.channel-manual { background: #607D8B; color: white; }
.signal-channel-badge.channel-other { background: #95A5A6; color: white; }

/* Event type badge */
.signal-event-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 10px;
    background: rgba(0, 0, 0, 0.08);
    color: rgba(0, 0, 0, 0.65);
    margin-right: 5px;
}

/* Processed outcome badge */
.signal-outcome-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 10px;
    background: #27ae60;
    color: white;
}
.signal-outcome-badge.outcome-ignored { background: #95a5a6; }
.signal-outcome-badge.outcome-duplicate { background: #e67e22; }
.signal-outcome-badge.outcome-created_prospect { background: #27ae60; }
.signal-outcome-badge.outcome-linked_contact { background: #3498db; }

/* Data row - unprocessed highlight */
#ContactSignals .dataRow.unprocessed {
    background: rgba(var(--jmkr-color-1-rgb), 0.03);
    border-left: 3px solid var(--jmkr-color-1);
}

/* Popup detail section */
.signal-detail {
    background: #f9fafb;
    margin-bottom: 20px;
}
.signal-detail .signal-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.signal-detail .signal-timestamp {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.45);
    margin-left: auto;
}
.signal-detail .signal-handle {
    font-size: 16px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.85);
    margin-bottom: 5px;
}
.signal-detail .signal-name {
    font-size: 14px;
    color: rgba(0, 0, 0, 0.65);
    margin-bottom: 10px;
}
.signal-detail .signal-content {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.signal-detail .signal-content label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(0, 0, 0, 0.45);
    margin-bottom: 5px;
    display: block;
}
.signal-detail .signal-content .content-text {
    font-size: 14px;
    color: rgba(0, 0, 0, 0.75);
    white-space: pre-wrap;
}
.signal-detail .signal-link {
    margin-top: 10px;
}
.signal-detail .signal-link a {
    font-size: 13px;
    color: var(--jmkr-color-1);
}

/* Outcome selection options */
.outcome-options {
    margin: 20px 0;
}
.outcome-option {
    display: flex;
    align-items: flex-start;
    padding: 12px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.outcome-option:hover {
    border-color: var(--jmkr-color-1);
    background: rgba(var(--jmkr-color-1-rgb), 0.05);
}
.outcome-option.selected {
    border-color: var(--jmkr-color-1);
    background: rgba(var(--jmkr-color-1-rgb), 0.1);
}
.outcome-option .radio-indicator {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(0, 0, 0, 0.25);
    border-radius: 50%;
    margin-right: 12px;
    flex-shrink: 0;
    position: relative;
}
.outcome-option.selected .radio-indicator {
    border-color: var(--jmkr-color-1);
}
.outcome-option.selected .radio-indicator::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 8px;
    height: 8px;
    background: var(--jmkr-color-1);
    border-radius: 50%;
}
.outcome-option .outcome-text {
    flex: 1;
}
.outcome-option .outcome-title {
    font-weight: 600;
    color: rgba(0, 0, 0, 0.85);
    margin-bottom: 3px;
}
.outcome-option .outcome-description {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.55);
}

/* Filter section */
#ContactSignals .signal-filters {
    margin-bottom: 15px;
}#contactBroadcastTemplateForm #addMessageOption {
	background: var(--jmkr-color-1);
	color: white;
	margin-bottom: 0px;
	padding: 11px;
	padding-left: 0px;
	padding-right: 0px;
	text-align: center;
	letter-spacing: 0.7px;
	font-size: 14px;
	border-radius: 5px;
	cursor: pointer;
}

#contactBroadcastTemplateForm .messageOption {
	padding-top: 0px;
	border: 0px solid rgba(0, 0, 0, 0.1);
	border-radius: 4px;
	margin-bottom: 17px;
}

#contactBroadcastTemplateForm .deleteMessageOption {
	float: right;
	cursor: pointer;

	margin-top: -11px;
	margin-right: -11px;

	font-size: 12px;
	color: white;
	background: var(--jmkr-color-1);
	width: 21px;
	height: 21px;
	line-height: 20px;
	border-radius: 50%;
	text-align: center;
	padding-top: 1px;
}

#contactBroadcastTemplateForm #addSendCondition {
	background: var(--jmkr-color-1);
	color: white;
	margin-bottom: 11px;
	padding: 11px;
	padding-left: 0px;
	padding-right: 0px;
	text-align: center;
	letter-spacing: 0.7px;
	font-size: 14px;
	border-radius: 5px;
	cursor: pointer;
}

#contactBroadcastTemplateForm .sendCondition {
	padding: 11px;
	padding-top: 7px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 4px;
	margin-bottom: 11px;
	background: rgba(0, 0, 0, 0.017);
}

#contactBroadcastTemplateForm .deleteSendCondition {
	float: right;
	cursor: pointer;

	margin-top: -15px;
	margin-right: -21px;

	font-size: 12px;
	color: white;
	background: var(--jmkr-color-1);
	width: 21px;
	height: 21px;
	line-height: 20px;
	border-radius: 50%;
	text-align: center;
	padding-top: 1px;
}

#aiField {
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-left: none;
}

#aiField #inputAI {
	float: left;
	width: calc(100% - var(--line-height) * 3);
	color: white;
}

#aiField .button {
	float: left;
	width: var(--line-height);
	text-align: center;
	line-height: var(--line-height);
	font-size: 20px;
	cursor: pointer;
	border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.iframeField #aiField .button {
	font-size: 15px;
}#contactThumbnail .tag {
  display: inline-block;
  background: var(--jmkr-color-1);
  color: white;
  border-radius: 5px;
  line-height: 17px;
  font-size: 12px;
  font-weight: bold;
  padding-top: 1px;
  padding-left: 7px;
  padding-right: 7px;
  top: -1px;
  margin-left: 5px;
}

#contactForm #addAddress {
  background: var(--jmkr-color-1);
  color: white;
  margin-top: 11px;
  padding: 11px;
  padding-left: 0px;
  padding-right: 0px;
  text-align: center;
  letter-spacing: 0.7px;
  font-size: 14px;
  border-radius: 5px;
  cursor: pointer;
}

#contactForm .deleteAddress {
  position: absolute;
  z-index: 1;
  right: 20px;
  top: -35px;
  cursor: pointer;

  font-size: 15px;
  color: white;
  background: var(--jmkr-color-1);
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  padding-top: 1px;
}

/* Alphabet separators for contact list */
.alphabetSeparator {
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    color: var(--jmkr-color-1, #335C5C);
    padding: 2px 0;
}
#chatUIBackground {
    display: none;
    z-index: 60;
    position: fixed;

    top: 0px;
    right: 0px;

    width: 100%;
    height: 100%;

    animation: animate_dashboardPopUpBackground 1s forwards;
}

@media screen and (max-width: 1250px) {
    #chatUIBackground {
        display: block;
    }
}

#chatUI {
    z-index: 73;
    position: fixed;

    top: 0px;
    right: 0px;
    transform: translateX(485px);


    width: var(--right-menu-width);
    height: 100%;
    max-height: 100%;

    background: rgba(237, 237, 237, 1);
    box-shadow: 0px -5px 35px rgba(0, 0, 0, 0.25);

    transition: transform 0.35s ease;
}

@media screen and (max-width: 568px) {
    #chatUI {
        width: calc(100% - 77px);
    }
}

@media screen and (max-width: 500px) {
    #chatUI {
        width: 100%;
        border-right: 0px solid black;
    }
}

.nightMode #chatUI {
    background: rgba(21, 21, 21, 1);
}

/* Maximized conversation view - left-nav-aware, right-UI-aware
   Pattern: christophoros.css:10045-10047 (.chph__fileRefOverlay.rightUIOpen)
   --right-menu-width is 0px when rightUI hidden, 331.45px when visible (interface.js:402-403) */
#chatUI.chatUI--maximized {
    left: var(--left-menu-width);
    right: var(--right-menu-width);
    width: auto;
    box-shadow: 0 -10px 60px rgba(0, 0, 0, 0.35);
}

/* Slim left nav variant */
#leftUI.slim ~ #chatUI.chatUI--maximized {
    left: var(--left-menu-width-slim);
}

/* Mobile: no left nav, full width */
@media screen and (max-width: 768px) {
    #chatUI.chatUI--maximized {
        left: 0;
        width: 100%;
    }
}


#chatUI #heading {
    display: flex;
    align-items: center;

    height: 54px;

    padding-left: 7px;
}

.nightMode #chatUI #heading {
    color: white;
}

#chatUI #heading #close {
    order: 1;
    flex-shrink: 0;

    line-height: 50px;
    width: 34px;

    margin-right: 7px;

    font-size: 21px;
    text-align: center;
    color: rgba(0, 0, 0, 0.5);

    cursor: pointer;
}

.nightMode #chatUI #heading #close {
    color: rgba(255, 255, 255, 0.5);
}

#chatUI #heading #picture {
    order: -1;
    flex-shrink: 0;

    height: 42px;
    width: 42px;

    background-color: rgba(0, 0, 0, 0.1);
    background-size: cover;
    background-position: center;

    border-radius: 3.5px;

    cursor: pointer;
}

.nightMode #chatUI #heading #picture {
    background-color: rgba(255, 255, 255, 0.17);
}

#chatUI #heading #information {
    flex: 1;
    min-width: 0;
    position: relative;

    cursor: pointer;
}

#chatUI #heading #information #name {
    padding-top: 3.5px;
    padding-left: 9px;
    padding-right: 5px;

    font-size: 15px;
    font-weight: bold;

    max-width: 100%;
}

/* Action buttons container — hidden by default, revealed on hover */
#chatUI #heading #information #headingActions {
    position: absolute;
    top: 3.5px;
    right: 7px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--jmkr-color-bg, #fff);
    border-radius: 5px;
    padding: 2px 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    opacity: 0;
    pointer-events: none;
    transition: opacity 140ms ease, transform 140ms ease;
    transform: translateY(-4px);
    z-index: 2;
}

.nightMode #chatUI #heading #information #headingActions {
    background: var(--jmkr-color-bg-dark, #222);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

#chatUI.chatUI--maximized #heading #information #headingActions,
#chatUI #heading #information:hover #headingActions,
#chatUI #heading #information:focus-within #headingActions {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

#chatUI #heading #information #favorite,
#chatUI #heading #information #mute,
#chatUI #heading #information #autoplay,
#chatUI #heading #information #maximize {
    padding: 6px;

    line-height: 19px;

    font-size: 17px;
    text-align: center;
    color: rgba(0, 0, 0, 0.5);

    cursor: pointer;

    transition: color 0.2s ease, transform 0.15s ease;
}

#chatUI #heading #information #favorite:hover,
#chatUI #heading #information #mute:hover,
#chatUI #heading #information #autoplay:hover,
#chatUI #heading #information #maximize:hover {
    transform: scale(1.15);
    color: rgba(0, 0, 0, 0.75);
}

#chatUI #heading #information #autoplay.active {
    color: var(--jmkr-color-1);
}

.nightMode #chatUI #heading #information #favorite,
.nightMode #chatUI #heading #information #mute,
.nightMode #chatUI #heading #information #autoplay,
.nightMode #chatUI #heading #information #maximize {
    color: rgba(255, 255, 255, 0.5);
}

.nightMode #chatUI #heading #information #favorite:hover,
.nightMode #chatUI #heading #information #mute:hover,
.nightMode #chatUI #heading #information #autoplay:hover,
.nightMode #chatUI #heading #information #maximize:hover {
    color: rgba(255, 255, 255, 0.8);
}

.nightMode #chatUI #heading #information #autoplay.active {
    color: var(--jmkr-color-1);
}

#chatUI #heading #information #summary {
    padding-left: 9px;

    font-size: 13.5px;
    letter-spacing: 0.75px;
}

#chatUI .conversationRecord,
#chatUI #conversationContactPipeline,
#chatUI #conversationContactPipelineCard {
    z-index: 723;
    position: absolute;

    top: calc(54px + 0px);
    left: calc(0px + 0px);

    width: 100%;

    padding: 0em;

    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;

    background: white;
    box-shadow: 0px 7px 7px rgba(0, 0, 0, 0.17);

    max-height: 35vh;
    overflow-y: auto;
    overflow-x: hidden;
}

#chatUI .conversationRecord * {
    line-break: anywhere !important;
    word-break: break-word !important;
    white-space: normal !important;
    word-wrap: break-word !important;

    pointer-events: none;
}

.nightMode #chatUI .conversationRecord {
    background: #041d22;
}

#chatUI #conversationQuoteMessage {
    z-index: 723;
    position: absolute;

    bottom: calc(55px + 11px);
    left: calc(0px + 11px);

    width: calc(100% - 22px);

    padding: 10px;
    padding-top: 5px;

    border-radius: 7px;

    background: white;
    box-shadow: 1px 1px 11px rgba(0, 0, 0, 0.17);
}

.nightMode #chatUI #conversationQuoteMessage {
    background: #041d22;
}

#chatUI #conversationAttachment {
    z-index: 723;
    position: absolute;

    bottom: calc(55px + 11px);
    left: calc(0px + 11px);

    width: calc(100% - 22px);

    padding: 11px;
    padding-bottom: 17px;

    border-radius: 7px;

    background: white;
    box-shadow: 1px 1px 11px rgba(0, 0, 0, 0.27);
}

/* Conversation message area — column-reverse anchors scroll to the latest message.
   The inner wrapper keeps messages in natural order while the container starts
   at the bottom when content is short or newly appended. */
#chatUI #conversation {
    position: absolute;
    background: rgba(255, 255, 255, 1);
    box-sizing: border-box;

    display: flex;
    flex-direction: column-reverse;

    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;

    width: 100%;
    padding: 0px;

    border-left: 1px solid rgba(170, 170, 170, 0.17);
}

/* Message wrapper — sole flex child, holds all messages in natural order.
   flex-shrink: 0 prevents the wrapper from collapsing smaller than its content.
   column-reverse on parent positions this at the bottom when content is short,
   and starts scroll at the bottom when content overflows. */
#chatUI #conversation .conv__messageWrap {
    flex-shrink: 0;
}

/* Message entrance animation — applied to direct children of .conv__messageWrap. */
@keyframes convMsgEntrance {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#chatUI #conversation .conv__messageWrap>div {
    animation: convMsgEntrance 0.3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@media (prefers-reduced-motion: reduce) {
    #chatUI #conversation .conv__messageWrap>div {
        animation: none;
    }
}

#chatUI #conversation .conv__messageWrap>div:nth-child(even) .messageThumbnail {
    background: rgba(245, 245, 245, 1);
}

.nightMode #chatUI #conversation {
    background: rgba(0, 0, 0, 1);

    border-left: 1px solid rgba(170, 170, 170, 0.17);
}

.messageThumbnail {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;

    cursor: default;

    background: linear-gradient(to top, rgba(0, 0, 0, 0.017), rgba(0, 0, 0, 0));
    padding: 10px;
    padding-bottom: 7.5px;
}

#chatUI #conversation .conv__messageWrap>div:not(:first-of-type) .messageThumbnail {
    padding-top: 3.5px;
}

/* Flex layout: .clear divs act as line breaks in flex-wrap */
.messageThumbnail > .clear {
    flex-basis: 100%;
    height: 0;
}

/* Flex layout: full-width children occupy their own row */
.messageThumbnail > #message,
.messageThumbnail > #attachment,
.messageThumbnail > .attachmentGrid,
.messageThumbnail > #quoted {
    flex-basis: 100%;
    min-width: 0;
}

.messageThumbnail .divider {
    flex-basis: 100%;

    border-bottom: 1px solid var(--jmkr-color-1);

    margin-top: -3.5px;
    margin-left: -10px;
    width: calc(100% + 20px);
}

.nightMode .messageThumbnail {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0));

    color: white;
}

.messageThumbnail #picture {
    flex-shrink: 0;

    width: 25px;
    height: 25px;

    margin-top: 7px;
    margin-right: 9px;
    margin-bottom: 3.5px;

    border-radius: 50%;

    background-color: rgba(0, 0, 0, 0.1);
    background-size: cover;
    background-position: center;

    box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.07);
}

.nightMode .messageThumbnail #picture {
    background-color: rgba(255, 255, 255, 0.17);

    box-shadow: 0px 0px 3px rgba(255, 255, 255, 0.3);
}

.messageThumbnail #title {
    margin-top: 7px;

    line-height: 25px;
    font-size: 17px;
    letter-spacing: 0.17px;
    font-weight: 600;
}

.messageThumbnail #quote,
.messageThumbnail #unquote,
.messageThumbnail #seen {
    line-height: 20px;
    font-size: 15px;
    letter-spacing: 0.17px;
    font-weight: bold;

    padding: 6px;
    padding-right: 10px;

    opacity: 0.5;

    cursor: pointer;

    transition: opacity 0.2s ease, transform 0.15s ease;
}

.messageThumbnail #quote:hover,
.messageThumbnail #unquote:hover,
.messageThumbnail #seen:hover {
    transform: scale(1.2);
    opacity: 0.85;
}

.messageThumbnail #quote {
    order: 3;

    padding-left: 10px;
    padding-right: 0px;
}

.messageThumbnail:hover #quote {
    display: block;
}

/* Speak/TTS button */
.messageThumbnail #speak {
    order: 2;

    padding: 6px;
    padding-left: 10px;
    padding-right: 0px;

    line-height: 20px;
    font-size: 15px;
    letter-spacing: 0.17px;
    font-weight: bold;

    opacity: 0.5;
    cursor: pointer;

    transition: opacity 0.2s ease, transform 0.15s ease;
}

.messageThumbnail #speak:hover {
    transform: scale(1.2);
    opacity: 0.85;
}

.messageThumbnail #speak.hasAudio {
    opacity: 0.6;
    color: var(--jmkr-color-1);
}

.messageThumbnail #speak.generating {
    opacity: 0.5;
}

.messageThumbnail #speak.playing {
    opacity: 1;
    color: var(--jmkr-color-1);
}

.messageThumbnail #speak .spinning {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Hide speak in quoted messages */
#conversationQuoteMessage .messageThumbnail #speak,
.messageThumbnail #quoted .messageThumbnail #speak {
    display: none;
}

.messageThumbnail #unquote {
    margin-left: auto;

    font-size: 15px;
    line-height: 25px;
    padding-top: 7px;
    padding-left: 10px;
    padding-right: 0px;
    display: none;
}

#conversationQuoteMessage>.messageThumbnail {
    padding: 0px;
}

#conversationQuoteMessage .messageThumbnail #unquote {
    display: block;
}

#conversationQuoteMessage .messageThumbnail #quote,
.messageThumbnail #quoted .messageThumbnail #quote,
.messageThumbnail #quoted .messageThumbnail #unquote {
    display: none;
}

.messageThumbnail #quoted {
    margin-left: 0px;
    margin-bottom: 7px;
    padding-bottom: 5px;

    border-radius: 3px;

    pointer-events: none;

    border: 1px solid var(--jmkr-color-1);
    box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.17);
}

.messageThumbnail #quoted #quoted {
    border-left: 2px solid var(--jmkr-color-1);
}

.messageThumbnail #quoted #quoted #quoted {
    border-left: 3px solid var(--jmkr-color-1);
}

.messageThumbnail #quoted #quoted,
.messageThumbnail #quoted #quoted #quoted {
    box-shadow: none;
}

.messageThumbnail #quoted .divider {
    display: none;
}

.nightMode .messageThumbnail #quoted {
    background: black;
    box-shadow: 1px 1px 7px rgba(255, 255, 255, 0.17);
}

.messageThumbnail #quoted .messageThumbnail {
    border: none;
    padding-bottom: 0px;
}

.messageThumbnail #message {
    font-size: 15px;
    line-height: 23.5px;
    letter-spacing: 0px;

    font-weight: 500;

    padding-top: 0px;
    padding-bottom: 5px;

    margin-bottom: 5px;

    border-bottom: 1px solid rgba(0, 0, 0, 0.17);

    word-wrap: break-word;
    overflow-wrap: break-word;
}

.messageThumbnail #message.isLastMessage,
.messageThumbnail #quoted #message {
    border: 0px;
}

.messageThumbnail #message a {
    color: var(--jmkr-color-1) !important;
}

.nightMode .messageThumbnail #message {
    color: white;
}

.inlineLink {
    padding-left: 1.7px;
    padding-top: 0px;
    vertical-align: middle;
    word-break: break-all;
    font-size: 81.7%;
    letter-spacing: 0.77px;
    cursor: pointer;
}

/* Date/action row — always flex so icons never stack */
.messageThumbnail .dateRow {
    display: flex;
    align-items: center;
    flex-basis: 100%;
}

/* Hideable date: collapsed by default, revealed on hover with smooth transition.
   Applied to older messages in same-sender groups (WhatsApp-style: last shows, older hide). */
.messageThumbnail .dateRow.canHideDate {
    overflow: hidden;
    height: 0px;
    transition: height 0.2s ease;
}

.messageThumbnail:hover .dateRow.canHideDate {
    height: 34px;
}

.messageThumbnail #attachment {
    font-size: 17px;
    line-height: 27px;
    letter-spacing: 0.75px;

    padding: 7px;
    padding-left: 0px;
    padding-right: 0px;
}

.messageThumbnail #attachment img {
    display: inline-block;
    object-fit: contain;
    max-width: 100%;
    max-height: 170px;
    cursor: pointer;
    border-radius: 5px;
    border: 2px solid rgba(0, 0, 0, 0.17);

    margin-right: 11px;
    margin-top: 3.5px;
}

.messageThumbnail #timeStamp {
    order: 1;
    margin-left: auto;

    line-height: 20px;
    font-size: 11px;

    padding-left: 7px;

    font-weight: 300;
}

#chatUI #form {
    position: absolute;

    right: 0px;
    bottom: 0px;

    width: 100%;
    min-height: 55px;

    display: flex;
    align-items: flex-end;
    isolation: isolate;

    border: none !important;
}

#chatUI #form:focus {
    border: none !important;
    outline: none !important;
}

.nightMode #chatUI #form {
    color: white;
}

#chatUI #form #addAttachment {
    width: 55px;
    min-height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;

    font-size: 17px;

    cursor: pointer;
}

#chatUI #form #input {
    flex: 1;
    min-width: 0;

    min-height: 35px;
    max-height: 150px;
    line-height: 20px;

    padding: 17px 11px;

    letter-spacing: 0.75px;
    font-size: 14px;

    border: none;
    outline: none;
    outline-width: 0;

    resize: none;
    overflow-y: auto;
    box-sizing: border-box;
    font-family: inherit;
}

.nightMode #chatUI #form #input {
    background: black;
    border: none !important;
    border-top: 1px solid rgba(0, 0, 0, 0.417) !important;
}

#chatUI #form #send {
    width: 55px;
    min-height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;

    font-size: 17px;

    cursor: pointer;
}

#chatUI #form #input[readonly] {
    cursor: not-allowed;
}

#chatUI #form.conv__composer--locked #addAttachment,
#chatUI #form.conv__composer--locked #input,
#chatUI #form.conv__composer--locked #send {
    opacity: 0.22;
    pointer-events: none;
}

.conv__composerPressureHint {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: calc(100% + 10px);
    z-index: 1;

    padding: 7px 10px;

    border-radius: 8px;
    background: rgba(241, 232, 223, 0.96);
    border: 1px solid rgba(137, 83, 36, 0.14);

    font-size: 11.5px;
    line-height: 1.35;
    letter-spacing: 0.02em;
    color: rgba(90, 57, 34, 0.88);
}

.conv__composerPressureHint--reprieve {
    background: rgba(220, 252, 231, 0.97);
    border-color: rgba(22, 163, 74, 0.18);
    color: rgba(20, 83, 45, 0.9);
}

.conv__composerLockOverlay {
    position: absolute;
    inset: 0;
    z-index: 2;

    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0px;

    padding: 11px 16px;

    background:
        linear-gradient(180deg, rgba(249, 243, 236, 0.97), rgba(241, 232, 223, 0.99));
    border-top: 1px solid rgba(137, 83, 36, 0.18);
    backdrop-filter: blur(8px);
    cursor: not-allowed;
}

.conv__composerLockTitle {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(118, 64, 24, 0.92);
}

.conv__composerLockText {
    font-size: 12.5px;
    line-height: 1.35;
    color: rgba(70, 46, 29, 0.9);
    max-width: 100%;
}

.conv__composerLockAction {
    margin-top: 9px;
    align-self: flex-start;
    padding: 8px 12px;

    border: 1px solid rgba(137, 83, 36, 0.2);
    border-radius: 999px;
    background: rgba(255, 250, 245, 0.96);
    color: rgba(92, 54, 23, 0.96);

    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.03em;
    cursor: pointer;
}

.conv__composerLockAction[disabled] {
    opacity: 0.6;
    cursor: wait;
}

.nightMode .conv__composerLockOverlay {
    background:
        linear-gradient(180deg, rgba(31, 21, 17, 0.96), rgba(22, 15, 12, 0.99));
    border-top-color: rgba(221, 140, 72, 0.18);
}

.nightMode .conv__composerPressureHint {
    background: rgba(31, 21, 17, 0.96);
    border-color: rgba(221, 140, 72, 0.14);
    color: rgba(241, 223, 206, 0.88);
}

.nightMode .conv__composerPressureHint--reprieve {
    background: rgba(12, 28, 18, 0.96);
    border-color: rgba(74, 222, 128, 0.2);
    color: rgba(220, 252, 231, 0.92);
}

.nightMode .conv__composerLockTitle {
    color: rgba(246, 176, 112, 0.95);
}

.nightMode .conv__composerLockText {
    color: rgba(241, 223, 206, 0.9);
}

.nightMode .conv__composerLockAction {
    background: rgba(50, 31, 23, 0.96);
    border-color: rgba(221, 140, 72, 0.24);
    color: rgba(250, 228, 210, 0.96);
}

#stagedAttachmentsGrid {
    position: absolute;
    bottom: 55px;
    left: 0;
    right: 0;

    display: flex;
    flex-wrap: wrap;
    gap: 6px;

    padding: 8px 10px;

    background: rgba(245, 245, 245, 0.97);
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.nightMode #stagedAttachmentsGrid {
    background: rgba(30, 30, 30, 0.97);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.stagedAttachment {
    position: relative;

    width: 60px;
    height: 60px;

    border-radius: 4px;
    overflow: hidden;
}

.stagedAttachment img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.stagedAttachment__remove {
    position: absolute;
    top: 2px;
    right: 2px;

    width: 18px;
    height: 18px;
    line-height: 18px;

    background: rgba(0, 0, 0, 0.6);
    color: white;
    border-radius: 50%;

    font-size: 10px;
    text-align: center;

    cursor: pointer;
}

.stagedAttachment__remove:hover {
    background: rgba(200, 0, 0, 0.8);
}

.messageThumbnail .attachmentGrid {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 6px;
}

.messageThumbnail .attachmentGrid img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 4px;
    cursor: pointer;
}

.messageThumbnail pre {
    margin-top: 10px;
    margin-bottom: 0px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    padding: 15px;
    overflow: auto;
    font-size: 13.5px;
    line-height: 17px;
}

.messageThumbnail br {
    margin-top: 7px;
    margin-bottom: 7px;
}


/* ============================================
   Activity Indicators & Workspace Sessions
   ============================================ */

.conv__thinkingIndicator {
    padding: 4px 0;
}

.conv__thinkingDots {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 12px;
}

.nightMode .conv__thinkingDots {
    background: rgba(255, 255, 255, 0.06);
}

.conv__thinkingDot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--jmkr-color-1);
    animation: convThinkingBounce 1.4s ease-in-out infinite;
}

.conv__thinkingDot:nth-child(2) {
    animation-delay: 0.16s;
}

.conv__thinkingDot:nth-child(3) {
    animation-delay: 0.32s;
}

@keyframes convThinkingBounce {
    0%, 60%, 100% {
        transform: translateY(0);
        opacity: 0.4;
    }
    30% {
        transform: translateY(-6px);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .conv__thinkingDot {
        animation: none;
        opacity: 0.7;
    }
}

.workspaceAgentQuickReplies {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(17, 24, 39, 0.12);
}

.nightMode .workspaceAgentQuickReplies {
    background: rgba(31, 41, 55, 0.9);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.35);
}

.workspaceAgentQuickReplies__item {
    pointer-events: auto;
    background: #eef2ff;
    color: #1e3a8a;
    border: none;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 12px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.workspaceAgentQuickReplies__item:hover {
    background: #c7d2fe;
}

.nightMode .workspaceAgentQuickReplies__item {
    background: rgba(59, 130, 246, 0.18);
    color: #bfdbfe;
}

.nightMode .workspaceAgentQuickReplies__item:hover {
    background: rgba(59, 130, 246, 0.3);
}


.workspaceAgentSession .workspaceCodexSession {
    color: #f0f3ff;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    margin-bottom: 15px;
}

.workspaceAgentSession .workspaceCodexSession__container {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.workspaceAgentSession .workspaceCodexSession__meta {
    font-size: 0.85rem;
    color: rgba(240, 243, 255, 0.7);
    word-break: break-all;
}

.workspaceAgentSession .workspaceCodexSession__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 5px;
    margin-bottom: 5px;
}

.workspaceAgentSession .workspaceCodexSession__badge {
    display: inline-flex;
    align-items: center;
    padding: 0px 8px;
    border-radius: 999px;
    background: rgba(119, 143, 255, 0.18);
    color: #000000;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.28px;
    text-transform: uppercase;
}

.nightMode .workspaceAgentSession .workspaceCodexSession__badge {
    background: rgba(119, 143, 255, 0.22);
    color: #dbe6ff;
}

.workspaceAgentSession .workspaceCodexSession__intro {
    color: black;
    font-weight: 600;
}

.workspaceAgentSession .workspaceCodexSession__request {
    margin: 0.5rem 0 0;
    background: rgba(24, 32, 59, 0.82);
    padding: 0.75rem;
    border-radius: 6px;
    font-size: 0.85rem;
    color: rgba(240, 243, 255, 0.85);
}

.workspaceAgentSession .workspaceCodexSession__stage {
    font-size: 0.7rem;
    text-transform: uppercase;
    color: black;
}

.workspaceAgentSession .workspaceCodexSession__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.workspaceAgentSession .workspaceCodexSession__item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.7rem 1rem 0.7rem 1.6rem;
    background: rgba(24, 32, 59, 0.82);
    border: 1px solid rgba(104, 139, 255, 0.12);
    border-radius: 5px;
    box-shadow: inset 0 0 0 1px rgba(104, 139, 255, 0.04);
}

.workspaceAgentSession .workspaceCodexSession__bullet {
    position: absolute;
    left: 0.7rem;
    top: 1.2rem;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: rgba(94, 234, 212, 0.85);
    box-shadow: 0 0 0 3px rgba(10, 16, 32, 0.65);
}

.workspaceAgentSession .workspaceCodexSession__item--thinking .workspaceCodexSession__bullet {
    background: rgba(255, 200, 99, 0.95);
}

.workspaceAgentSession .workspaceCodexSession__body {
    width: 100%;
}

.workspaceAgentSession .workspaceCodexSession__content {
    flex: 1;
    font-size: 0.95rem;
    line-height: 1.55;
    color: rgba(240, 243, 255, 0.9);
    word-break: break-word;
}

.workspaceAgentSession .workspaceCodexSession__content p {
    margin: 0 0 0.35rem 0;
}

.workspaceAgentSession .workspaceCodexSession__content p:last-child {
    margin-bottom: 0;
}

.workspaceAgentSession .workspaceCodexSession__item--thinking .workspaceCodexSession__content {
    color: rgba(249, 220, 174, 0.95);
    font-style: italic;
}

.workspaceAgentSession .workspaceCodexSession__timestamp {
    font-size: 0.75rem;
    color: rgba(223, 229, 255, 0.65);
    white-space: nowrap;
    margin-top: 0.2rem;
}

.workspaceAgentSession .workspaceCodexSession__empty {
    padding: 0.85rem 1rem;
    background: rgba(24, 32, 59, 0.82);
    border: 1px solid rgba(255, 200, 99, 0.18);
    border-radius: 8px;
    color: rgba(240, 243, 255, 0.9);
    font-size: 0.95rem;
    text-align: center;
}

/* ============================================
   Message Element Defaults
   ============================================ */

/* ---------- Base Typography ---------- */

.messageThumbnail #message {
    line-height: 1.65;
    color: #334155;
}

.nightMode .messageThumbnail #message {
    color: #e2e8f0;
}

/* ---------- Headings ---------- */

.messageThumbnail #message h1 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f172a;
    margin-top: 1.25rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.35rem;
    border-bottom: 2px solid var(--jmkr-color-1);
    line-height: 1.3;
}

.messageThumbnail #message h1:first-child {
    margin-top: 0;
}

.messageThumbnail #message h2 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1e293b;
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

.messageThumbnail #message h3 {
    font-size: 1rem;
    font-weight: 600;
    color: #334155;
    margin-top: 1rem;
    margin-bottom: 0.35rem;
    line-height: 1.4;
}

.nightMode .messageThumbnail #message h1 {
    color: #f1f5f9;
}

.nightMode .messageThumbnail #message h2 {
    color: #e2e8f0;
}

.nightMode .messageThumbnail #message h3 {
    color: #cbd5e1;
}

/* ---------- Paragraphs ---------- */

.messageThumbnail #message p {
    margin-bottom: 0.75rem;
    line-height: 1.65;
}

.messageThumbnail #message p:last-child {
    margin-bottom: 0;
}

/* ---------- Lists ---------- */

.messageThumbnail #message ul,
.messageThumbnail #message ol {
    margin-bottom: 0.75rem;
    padding-left: 1.25rem;
}

.messageThumbnail #message li {
    margin-bottom: 0.25rem;
    line-height: 1.55;
}

.messageThumbnail #message li p {
    margin-bottom: 0.15rem;
}

/* ---------- Tables ---------- */

.messageThumbnail #message table {
    width: 100%;
    border-collapse: collapse;
    margin: 0.75rem 0;
    font-size: 13px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    overflow: hidden;
}

.messageThumbnail #message th {
    background-color: #f8fafc;
    font-weight: 600;
    color: #1e293b;
    padding: 0.5rem 0.75rem;
    text-align: left;
    border-bottom: 2px solid #e2e8f0;
}

.messageThumbnail #message td {
    padding: 0.45rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: top;
    color: #334155;
}

.messageThumbnail #message tr:last-child td {
    border-bottom: none;
}

.messageThumbnail #message tr:nth-child(even) {
    background-color: #f8fafc;
}

.nightMode .messageThumbnail #message table {
    border-color: #334155;
}

.nightMode .messageThumbnail #message th {
    background-color: #1e293b;
    color: #e2e8f0;
    border-bottom-color: #475569;
}

.nightMode .messageThumbnail #message td {
    border-bottom-color: #334155;
    color: #cbd5e1;
}

.nightMode .messageThumbnail #message tr:nth-child(even) {
    background-color: #1e293b;
}

/* ---------- Code ---------- */

.messageThumbnail #message code {
    background: #f1f5f9;
    color: #0f172a;
    padding: 0.15rem 0.35rem;
    border-radius: 3px;
    font-size: 0.875em;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

.messageThumbnail #message pre code {
    background: none;
    padding: 0;
}

.nightMode .messageThumbnail #message code {
    background: #1e293b;
    color: #e2e8f0;
}

/* ---------- Links ---------- */

.messageThumbnail #message a {
    color: var(--jmkr-color-1);
    text-decoration: none;
    font-weight: 500;
}

.messageThumbnail #message a:hover {
    text-decoration: underline;
}

/* ---------- Text Emphasis ---------- */

.messageThumbnail #message strong,
.messageThumbnail #message b {
    font-weight: 600;
    color: #1e293b;
}

.nightMode .messageThumbnail #message strong,
.nightMode .messageThumbnail #message b {
    color: #f1f5f9;
}

.messageThumbnail #message em,
.messageThumbnail #message i {
    font-style: italic;
}

/* ---------- Blockquotes ---------- */

.messageThumbnail #message blockquote {
    border-left: 3px solid var(--jmkr-color-1);
    padding-left: 0.75rem;
    margin: 0.75rem 0;
    color: #475569;
    font-style: italic;
    background: #f8fafc;
    padding: 0.65rem;
    padding-left: 0.75rem;
    border-radius: 0 4px 4px 0;
}

.nightMode .messageThumbnail #message blockquote {
    background: #1e293b;
    color: #94a3b8;
}

/* ---------- Horizontal Rules ---------- */

.messageThumbnail #message hr {
    border: none;
    border-top: 1px solid #e2e8f0;
    margin: 1rem 0;
}

.nightMode .messageThumbnail #message hr {
    border-top-color: #334155;
}

/* ============================================
   Markdown Renderer Classes
   ============================================ */

/* ---------- Headers ---------- */

.convMsg__header {
    margin-top: 1.25rem;
    margin-bottom: 0.65rem;
    line-height: 1.35;
    font-weight: 600;
    color: #1e293b;
}

.convMsg__header:first-child {
    margin-top: 0;
}

.convMsg__header--h2 {
    font-size: 1.35rem;
    font-weight: 700;
    padding-bottom: 0.3rem;
    border-bottom: 2px solid var(--jmkr-color-1);
}

.convMsg__header--h3 {
    font-size: 1.15rem;
    font-weight: 600;
}

.convMsg__header--h4 {
    font-size: 1rem;
    font-weight: 600;
    color: #334155;
}

.convMsg__header--h5 {
    font-size: 0.925rem;
    font-weight: 600;
    color: #475569;
}

.nightMode .convMsg__header {
    color: #f1f5f9;
}

.nightMode .convMsg__header--h4 {
    color: #e2e8f0;
}

.nightMode .convMsg__header--h5 {
    color: #cbd5e1;
}

/* ---------- Tables ---------- */

.convMsg__tableWrapper {
    overflow-x: auto;
    margin: 0.75rem 0;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

.convMsg__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    background: #ffffff;
}

.convMsg__tableHead {
    background: linear-gradient(to bottom, #f8fafc, #f1f5f9);
}

.convMsg__tableHeaderCell {
    font-weight: 600;
    color: #1e293b;
    padding: 0.6rem 0.85rem;
    text-align: left;
    border-bottom: 2px solid #e2e8f0;
    white-space: nowrap;
}

.convMsg__tableBody {
    background: #ffffff;
}

.convMsg__tableRow--even {
    background-color: #f8fafc;
}

.convMsg__tableRow--odd {
    background-color: #ffffff;
}

.convMsg__tableCell {
    padding: 0.55rem 0.85rem;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: top;
    color: #334155;
    line-height: 1.5;
}

.convMsg__tableRow:last-child .convMsg__tableCell {
    border-bottom: none;
}

.nightMode .convMsg__tableWrapper {
    border-color: #475569;
}

.nightMode .convMsg__table {
    background: #0f172a;
}

.nightMode .convMsg__tableHead {
    background: linear-gradient(to bottom, #1e293b, #0f172a);
}

.nightMode .convMsg__tableHeaderCell {
    color: #f1f5f9;
    border-bottom-color: #475569;
}

.nightMode .convMsg__tableBody {
    background: #0f172a;
}

.nightMode .convMsg__tableRow--even {
    background-color: #1e293b;
}

.nightMode .convMsg__tableRow--odd {
    background-color: #0f172a;
}

.nightMode .convMsg__tableCell {
    border-bottom-color: #334155;
    color: #cbd5e1;
}

/* ---------- Code ---------- */

.convMsg__inlineCode {
    background: #f1f5f9;
    color: #0f172a;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    font-size: 0.875em;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
    border: 1px solid #e2e8f0;
}

.nightMode .convMsg__inlineCode {
    background: #1e293b;
    color: #e2e8f0;
    border-color: #334155;
}

.convMsg__pre {
    margin: 0.85rem 0;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.convMsg__codeBlock {
    display: block;
    background: #0f172a;
    color: #e2e8f0;
    padding: 0.85rem 1rem;
    font-size: 13px;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
    line-height: 1.55;
    overflow-x: auto;
    white-space: pre;
}

.nightMode .convMsg__pre {
    border-color: #475569;
}

/* ---------- Text Formatting ---------- */

/* ---------- Lists ---------- */

/* ---------- Blockquotes ---------- */

.convMsg__blockquote {
    border-left: 3px solid var(--jmkr-color-1);
    padding: 0.65rem 0.85rem;
    margin: 0.75rem 0;
    background: #f8fafc;
    border-radius: 0 6px 6px 0;
    color: #475569;
    font-style: italic;
}

.nightMode .convMsg__blockquote {
    background: #1e293b;
    color: #94a3b8;
}

/* ---------- Horizontal Rule ---------- */

.convMsg__hr {
    border: none;
    border-top: 1px solid #e2e8f0;
    margin: 1.25rem 0;
}

.nightMode .convMsg__hr {
    border-top-color: #334155;
}

/* ============================================
   Markdown Widgets & Interactive Surfaces
   ============================================ */

/* ---------- Code Block Wrapper + Header ---------- */

.convMsg__codeWrapper {
    margin: 0.85rem 0;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    overflow: hidden;
}

.convMsg__codeWrapper .convMsg__pre {
    margin: 0;
    border: none;
    border-radius: 0;
}

.convMsg__codeHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 10px;
    background: #f1f5f9;
    border-bottom: 1px solid #e2e8f0;
    min-height: 26px;
}

.nightMode .convMsg__codeWrapper {
    border-color: #475569;
}

.nightMode .convMsg__codeHeader {
    background: #1e293b;
    border-bottom-color: #475569;
}

.convMsg__codeLang {
    font-size: 0.72rem;
    font-weight: 500;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.nightMode .convMsg__codeLang {
    color: #94a3b8;
}

/* Copy button in light context */
.convMsg__codeWrapper .phoros__copyBtn {
    font-size: 0.72rem;
    padding: 2px 8px;
    border-radius: 4px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #64748b;
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: inherit;
    line-height: 1.4;
}

.convMsg__codeWrapper .phoros__copyBtn:hover {
    background: #e2e8f0;
    color: #334155;
    border-color: #cbd5e1;
}

.nightMode .convMsg__codeWrapper .phoros__copyBtn {
    border-color: #475569;
    background: #334155;
    color: #94a3b8;
}

.nightMode .convMsg__codeWrapper .phoros__copyBtn:hover {
    background: #475569;
    color: #e2e8f0;
}

/* ---------- Syntax Highlighting Token Colors (Prism.js light theme) ---------- */
/* Slate-toned light palette for conversation messages */

.convMsg__codeBlock .token.comment,
.convMsg__codeBlock .token.prolog,
.convMsg__codeBlock .token.doctype,
.convMsg__codeBlock .token.cdata {
    color: #6b7280;
    font-style: italic;
}

.convMsg__codeBlock .token.punctuation {
    color: #9ca3af;
}

.convMsg__codeBlock .token.property,
.convMsg__codeBlock .token.tag,
.convMsg__codeBlock .token.boolean,
.convMsg__codeBlock .token.number,
.convMsg__codeBlock .token.constant,
.convMsg__codeBlock .token.symbol {
    color: #0284c7;
}

.convMsg__codeBlock .token.selector,
.convMsg__codeBlock .token.attr-name,
.convMsg__codeBlock .token.string,
.convMsg__codeBlock .token.char,
.convMsg__codeBlock .token.builtin {
    color: #16a34a;
}

.convMsg__codeBlock .token.operator,
.convMsg__codeBlock .token.entity,
.convMsg__codeBlock .token.url,
.convMsg__codeBlock .token.variable {
    color: #d97706;
}

.convMsg__codeBlock .token.atrule,
.convMsg__codeBlock .token.attr-value,
.convMsg__codeBlock .token.keyword {
    color: #7c3aed;
}

.convMsg__codeBlock .token.function,
.convMsg__codeBlock .token.class-name {
    color: #2563eb;
}

.convMsg__codeBlock .token.regex,
.convMsg__codeBlock .token.important {
    color: #ea580c;
}

.convMsg__codeBlock .token.deleted {
    color: #dc2626;
}

.convMsg__codeBlock .token.inserted {
    color: #16a34a;
}

/* Night mode: use CHPH-like dark token colors */
.nightMode .convMsg__codeBlock .token.comment,
.nightMode .convMsg__codeBlock .token.prolog,
.nightMode .convMsg__codeBlock .token.doctype,
.nightMode .convMsg__codeBlock .token.cdata {
    color: #6b7280;
}

.nightMode .convMsg__codeBlock .token.property,
.nightMode .convMsg__codeBlock .token.tag,
.nightMode .convMsg__codeBlock .token.boolean,
.nightMode .convMsg__codeBlock .token.number,
.nightMode .convMsg__codeBlock .token.constant,
.nightMode .convMsg__codeBlock .token.symbol {
    color: #7ec8e3;
}

.nightMode .convMsg__codeBlock .token.selector,
.nightMode .convMsg__codeBlock .token.attr-name,
.nightMode .convMsg__codeBlock .token.string,
.nightMode .convMsg__codeBlock .token.char,
.nightMode .convMsg__codeBlock .token.builtin {
    color: #a8d5a2;
}

.nightMode .convMsg__codeBlock .token.keyword {
    color: #c4a7e7;
}

.nightMode .convMsg__codeBlock .token.function,
.nightMode .convMsg__codeBlock .token.class-name {
    color: #82b4e8;
}

/* ---------- Mermaid Diagrams ---------- */

.convMsg__mermaidContainer {
    margin: 0.85rem 0;
    padding: 16px;
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 6px;
    text-align: center;
    overflow-x: auto;
}

.convMsg__mermaidContainer svg {
    max-width: 100%;
    height: auto;
}

.convMsg__mermaidLoading {
    padding: 20px;
    color: #94a3b8;
    font-size: 0.85rem;
}

.nightMode .convMsg__mermaidContainer {
    background: #1e293b;
    border-color: #334155;
}

.nightMode .convMsg__mermaidLoading {
    color: #64748b;
}

/* ---------- SVG Containers ---------- */

.convMsg__svgContainer {
    margin: 0.85rem 0;
    padding: 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    text-align: center;
    overflow-x: auto;
}

.convMsg__svgContainer svg {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.convMsg__svgLoading {
    padding: 20px;
    color: #94a3b8;
    font-size: 0.85rem;
}

.nightMode .convMsg__svgContainer {
    background: #1e293b;
    border-color: #334155;
}

.nightMode .convMsg__svgLoading {
    color: #64748b;
}

/* ---------- Three.js 3D Containers ---------- */

.convMsg__threejsContainer {
    margin: 0.85rem 0;
    padding: 0;
    background: #0f172a;
    border: 1px solid #1e293b;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 16 / 9;
}

.convMsg__threejsContainer canvas {
    width: 100% !important;
    height: 100% !important;
    display: block;
    cursor: grab;
}

.convMsg__threejsContainer canvas:active {
    cursor: grabbing;
}

.convMsg__threejsLoading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #94a3b8;
    font-size: 0.85rem;
}

.nightMode .convMsg__threejsContainer {
    background: #0f172a;
    border-color: #1e293b;
}

/* ============================================
   File Embeds & Charts
   ============================================ */

/* Iframe wrapper — clickable thumbnail container */
.convMsg__fileEmbedWrapper {
    display: block;
    width: 100%;
    max-width: 480px;
    height: 200px;
    border: 1px solid #e2e8f0;
    border-radius: 3.5px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    margin: 8px 0;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.convMsg__fileEmbedWrapper:hover {
    border-color: #cbd5e1;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.convMsg__fileEmbedWrapper:focus-visible {
    outline: 2px solid #3AADE5;
    outline-offset: 2px;
}

/* The iframe itself */
.convMsg__fileEmbedIframe {
    width: 100%;
    height: 100%;
    border: none;
    pointer-events: none;  /* Clicks go to wrapper, not iframe */
    background: #f8fafc;
}

/* Fallback card for non-File-Folder URLs */
.convMsg__fileEmbedCard--fallback {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 3.5px;
    max-width: 480px;
    margin: 8px 0;
}

.convMsg__fileEmbedCard--fallback .convMsg__fileEmbedIcon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    border-radius: 3.5px;
    color: #64748b;
    flex-shrink: 0;
}

.convMsg__fileEmbedCard--fallback .convMsg__fileEmbedMeta {
    flex: 1;
    min-width: 0;
}

.convMsg__fileEmbedCard--fallback .convMsg__fileEmbedName {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #334155;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.convMsg__fileEmbedCard--fallback .convMsg__fileEmbedType {
    font-size: 11px;
    color: #94a3b8;
}

.convMsg__fileEmbedCard--fallback .convMsg__fileEmbedDownload {
    font-size: 12px;
    color: #3AADE5;
    text-decoration: none;
    font-weight: 500;
    flex-shrink: 0;
}
.convMsg__fileEmbedCard--fallback .convMsg__fileEmbedDownload:hover {
    text-decoration: underline;
}

/* Lightbox overlay */
.convMsg__fileEmbedLightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.85);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.convMsg__fileEmbedLightboxClose {
    position: absolute;
    top: 16px;
    right: 24px;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
    z-index: 1;
}
.convMsg__fileEmbedLightboxClose:hover {
    background: rgba(255, 255, 255, 0.2);
}

.convMsg__fileEmbedLightboxIframe {
    width: 90vw;
    height: 85vh;
    border: none;
    border-radius: 3.5px;
    background: #fff;
}

/* Loading indicator */
.convMsg__fileEmbedLoading {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px;
    color: #94a3b8;
    font-size: 13px;
}

/* nightMode */
.nightMode .convMsg__fileEmbedWrapper {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.02);
}
.nightMode .convMsg__fileEmbedWrapper:hover {
    border-color: rgba(255, 255, 255, 0.18);
}
.nightMode .convMsg__fileEmbedIframe {
    background: rgba(255, 255, 255, 0.03);
}
.nightMode .convMsg__fileEmbedCard--fallback {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.1);
}
.nightMode .convMsg__fileEmbedCard--fallback .convMsg__fileEmbedName { color: #e2e8f0; }
.nightMode .convMsg__fileEmbedCard--fallback .convMsg__fileEmbedType { color: #64748b; }
.nightMode .convMsg__fileEmbedCard--fallback .convMsg__fileEmbedIcon { background: rgba(255, 255, 255, 0.06); }
.nightMode .convMsg__fileEmbedCard--fallback .convMsg__fileEmbedDownload { color: #3AADE5; }

/* ---------- Callout/Admonition Blocks ---------- */

.convMsg__callout {
    margin: 0.85rem 0;
    border-radius: 6px;
    border: 1px solid;
    overflow: hidden;
}

.convMsg__calloutHeader {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.convMsg__calloutIcon {
    font-size: 1rem;
    line-height: 1;
}

.convMsg__calloutBody {
    padding: 8px 12px 10px;
    font-size: 0.92rem;
    line-height: 1.5;
}

.convMsg__calloutBody p:first-child { margin-top: 0; }
.convMsg__calloutBody p:last-child { margin-bottom: 0; }

/* Callout type: NOTE (blue) */
.convMsg__callout--note { border-color: #bfdbfe; background: #eff6ff; }
.convMsg__callout--note .convMsg__calloutHeader { color: #1d4ed8; background: #dbeafe; }
.convMsg__callout--note .convMsg__calloutBody { color: #1e3a5f; }
.nightMode .convMsg__callout--note { border-color: rgba(100, 180, 255, 0.3); background: rgba(100, 180, 255, 0.08); }
.nightMode .convMsg__callout--note .convMsg__calloutHeader { color: rgba(140, 200, 255, 0.9); background: rgba(100, 180, 255, 0.1); }
.nightMode .convMsg__callout--note .convMsg__calloutBody { color: #e2e8f0; }

/* Callout type: WARNING (amber) */
.convMsg__callout--warning { border-color: #fde68a; background: #fffbeb; }
.convMsg__callout--warning .convMsg__calloutHeader { color: #92400e; background: #fef3c7; }
.convMsg__callout--warning .convMsg__calloutBody { color: #78350f; }
.nightMode .convMsg__callout--warning { border-color: rgba(255, 190, 80, 0.3); background: rgba(255, 190, 80, 0.08); }
.nightMode .convMsg__callout--warning .convMsg__calloutHeader { color: rgba(255, 200, 100, 0.9); background: rgba(255, 190, 80, 0.1); }
.nightMode .convMsg__callout--warning .convMsg__calloutBody { color: #fef3c7; }

/* Callout type: TIP (green) */
.convMsg__callout--tip { border-color: #bbf7d0; background: #f0fdf4; }
.convMsg__callout--tip .convMsg__calloutHeader { color: #166534; background: #dcfce7; }
.convMsg__callout--tip .convMsg__calloutBody { color: #14532d; }
.nightMode .convMsg__callout--tip { border-color: rgba(100, 200, 150, 0.3); background: rgba(100, 200, 150, 0.08); }
.nightMode .convMsg__callout--tip .convMsg__calloutHeader { color: rgba(120, 220, 160, 0.9); background: rgba(100, 200, 150, 0.1); }
.nightMode .convMsg__callout--tip .convMsg__calloutBody { color: #dcfce7; }

/* Callout type: IMPORTANT (purple) */
.convMsg__callout--important { border-color: #ddd6fe; background: #faf5ff; }
.convMsg__callout--important .convMsg__calloutHeader { color: #5b21b6; background: #ede9fe; }
.convMsg__callout--important .convMsg__calloutBody { color: #4c1d95; }
.nightMode .convMsg__callout--important { border-color: rgba(160, 130, 255, 0.3); background: rgba(160, 130, 255, 0.08); }
.nightMode .convMsg__callout--important .convMsg__calloutHeader { color: rgba(180, 155, 255, 0.9); background: rgba(160, 130, 255, 0.1); }
.nightMode .convMsg__callout--important .convMsg__calloutBody { color: #ede9fe; }

/* Callout type: CAUTION (red) */
.convMsg__callout--caution { border-color: #fecaca; background: #fef2f2; }
.convMsg__callout--caution .convMsg__calloutHeader { color: #991b1b; background: #fee2e2; }
.convMsg__callout--caution .convMsg__calloutBody { color: #7f1d1d; }
.nightMode .convMsg__callout--caution { border-color: rgba(255, 100, 100, 0.3); background: rgba(255, 100, 100, 0.08); }
.nightMode .convMsg__callout--caution .convMsg__calloutHeader { color: rgba(255, 130, 130, 0.9); background: rgba(255, 100, 100, 0.1); }
.nightMode .convMsg__callout--caution .convMsg__calloutBody { color: #fee2e2; }

/* ══════════════════════════════════════════════════════════════
   Inline Interactive Fields
   ══════════════════════════════════════════════════════════════ */

/* ---------- Base Field Container ---------- */

.convMsg__field {
    margin: 12px 0;
    border-radius: 8px;
    border: 1px solid;
    overflow: hidden;
    transition: opacity 200ms ease;
}

.convMsg__fieldHeader {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.convMsg__fieldIcon {
    font-size: 1rem;
    line-height: 1;
}

.convMsg__fieldBody {
    padding: 8px 12px 10px;
    font-size: 0.92rem;
    line-height: 1.5;
}

.convMsg__fieldBody p:first-child { margin-top: 0; }
.convMsg__fieldBody p:last-child { margin-bottom: 0; }

/* ---------- CONFIRM Type (Amber/Gold) ---------- */

.convMsg__field--confirm { border-color: #fde68a; background: #fffbeb; }
.convMsg__field--confirm .convMsg__fieldHeader { color: #92400e; background: #fef3c7; }
.convMsg__field--confirm .convMsg__fieldBody { color: #78350f; }

.nightMode .convMsg__field--confirm { border-color: rgba(255, 190, 80, 0.3); background: rgba(255, 190, 80, 0.06); }
.nightMode .convMsg__field--confirm .convMsg__fieldHeader { color: rgba(255, 200, 100, 0.9); background: rgba(255, 190, 80, 0.08); }
.nightMode .convMsg__field--confirm .convMsg__fieldBody { color: rgba(255, 245, 220, 0.88); }

/* ---------- SELECT Type (Cyan/Blue) ---------- */

.convMsg__field--select { border-color: #bfdbfe; background: #eff6ff; }
.convMsg__field--select .convMsg__fieldHeader { color: #1e40af; background: #dbeafe; }
.convMsg__field--select .convMsg__fieldBody { color: #1e3a5f; }

.nightMode .convMsg__field--select { border-color: rgba(100, 180, 255, 0.3); background: rgba(100, 180, 255, 0.06); }
.nightMode .convMsg__field--select .convMsg__fieldHeader { color: rgba(140, 200, 255, 0.9); background: rgba(100, 180, 255, 0.08); }
.nightMode .convMsg__field--select .convMsg__fieldBody { color: rgba(235, 239, 255, 0.88); }

/* ---------- MULTI Type (Teal/Green) ---------- */

.convMsg__field--multi { border-color: #bbf7d0; background: #f0fdf4; }
.convMsg__field--multi .convMsg__fieldHeader { color: #166534; background: #dcfce7; }
.convMsg__field--multi .convMsg__fieldBody { color: #14532d; }

.nightMode .convMsg__field--multi { border-color: rgba(100, 200, 150, 0.3); background: rgba(100, 200, 150, 0.06); }
.nightMode .convMsg__field--multi .convMsg__fieldHeader { color: rgba(120, 220, 160, 0.9); background: rgba(100, 200, 150, 0.08); }
.nightMode .convMsg__field--multi .convMsg__fieldBody { color: rgba(220, 255, 235, 0.88); }

/* ---------- INPUT Type (Neutral/Gray) ---------- */

.convMsg__field--input { border-color: #e2e8f0; background: #f8fafc; }
.convMsg__field--input .convMsg__fieldHeader { color: #475569; background: #f1f5f9; }
.convMsg__field--input .convMsg__fieldBody { color: #334155; }

.nightMode .convMsg__field--input { border-color: rgba(180, 190, 220, 0.25); background: rgba(180, 190, 220, 0.05); }
.nightMode .convMsg__field--input .convMsg__fieldHeader { color: rgba(180, 190, 220, 0.9); background: rgba(180, 190, 220, 0.07); }
.nightMode .convMsg__field--input .convMsg__fieldBody { color: rgba(229, 235, 255, 0.88); }

/* ---------- FORM Type (Purple) ---------- */

.convMsg__field--form { border-color: #ddd6fe; background: #faf5ff; }
.convMsg__field--form .convMsg__fieldHeader { color: #5b21b6; background: #ede9fe; }
.convMsg__field--form .convMsg__fieldBody { color: #4c1d95; }

.nightMode .convMsg__field--form { border-color: rgba(160, 130, 255, 0.3); background: rgba(160, 130, 255, 0.06); }
.nightMode .convMsg__field--form .convMsg__fieldHeader { color: rgba(180, 155, 255, 0.9); background: rgba(160, 130, 255, 0.08); }
.nightMode .convMsg__field--form .convMsg__fieldBody { color: rgba(230, 225, 255, 0.88); }

/* ---------- Interactive: Chips (SELECT/MULTI) ---------- */

.convMsg__fieldChips {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 8px;
}

.convMsg__fieldChip {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.03);
    border: 1px solid rgba(0, 0, 0, 0.08);
    cursor: pointer;
    transition: background 120ms ease, border-color 120ms ease;
    font-size: 0.84rem;
    color: #334155;
    user-select: none;
}

.convMsg__fieldChip:hover {
    background: rgba(0, 0, 0, 0.06);
    border-color: rgba(0, 0, 0, 0.12);
}

.nightMode .convMsg__fieldChip {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.08);
    color: rgba(229, 235, 255, 0.95);
}

.nightMode .convMsg__fieldChip:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}

/* SELECT: selected chip accent */
.convMsg__field--select .convMsg__fieldChip[data-selected="true"] {
    background: rgba(59, 130, 246, 0.1);
    border-color: rgba(59, 130, 246, 0.4);
}

.nightMode .convMsg__field--select .convMsg__fieldChip[data-selected="true"] {
    background: rgba(100, 180, 255, 0.15);
    border-color: rgba(100, 180, 255, 0.5);
}

/* MULTI: selected chip accent */
.convMsg__field--multi .convMsg__fieldChip[data-selected="true"] {
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(34, 197, 94, 0.4);
}

.nightMode .convMsg__field--multi .convMsg__fieldChip[data-selected="true"] {
    background: rgba(100, 200, 150, 0.15);
    border-color: rgba(100, 200, 150, 0.5);
}

.convMsg__fieldChipCheck {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 1px;
    border-radius: 50%;
    border: 1.5px solid rgba(0, 0, 0, 0.2);
    transition: background 120ms ease, border-color 120ms ease;
}

.nightMode .convMsg__fieldChipCheck {
    border-color: rgba(255, 255, 255, 0.25);
}

.convMsg__fieldChip[data-selected="true"] .convMsg__fieldChipCheck {
    background: currentColor;
    border-color: currentColor;
}

.convMsg__field--select .convMsg__fieldChip[data-selected="true"] .convMsg__fieldChipCheck {
    background: rgba(59, 130, 246, 0.85);
    border-color: rgba(59, 130, 246, 0.85);
}

.nightMode .convMsg__field--select .convMsg__fieldChip[data-selected="true"] .convMsg__fieldChipCheck {
    background: rgba(100, 180, 255, 0.85);
    border-color: rgba(100, 180, 255, 0.85);
}

.convMsg__field--multi .convMsg__fieldChip[data-selected="true"] .convMsg__fieldChipCheck {
    background: rgba(34, 197, 94, 0.85);
    border-color: rgba(34, 197, 94, 0.85);
}

.nightMode .convMsg__field--multi .convMsg__fieldChip[data-selected="true"] .convMsg__fieldChipCheck {
    background: rgba(100, 200, 150, 0.85);
    border-color: rgba(100, 200, 150, 0.85);
}

.convMsg__fieldChipLabel {
    font-weight: 500;
}

.convMsg__fieldChipDesc {
    font-size: 0.76rem;
    color: #64748b;
    line-height: 1.35;
    margin-top: 2px;
}

.nightMode .convMsg__fieldChipDesc {
    color: rgba(180, 190, 220, 0.8);
}

/* ---------- Interactive: Approve/Reject Buttons (CONFIRM) ---------- */

.convMsg__fieldActions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.convMsg__fieldBtn {
    padding: 8px 16px;
    border-radius: 6px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background: rgba(0, 0, 0, 0.03);
    color: #334155;
    font-size: 0.84rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.convMsg__fieldBtn:hover {
    background: rgba(0, 0, 0, 0.06);
    border-color: rgba(0, 0, 0, 0.15);
}

.nightMode .convMsg__fieldBtn {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(229, 235, 255, 0.9);
}

.nightMode .convMsg__fieldBtn:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
}

.convMsg__fieldBtn[data-active="true"].convMsg__fieldBtn--approve {
    background: rgba(34, 197, 94, 0.15);
    border-color: rgba(34, 197, 94, 0.5);
    color: #166534;
}

.nightMode .convMsg__fieldBtn[data-active="true"].convMsg__fieldBtn--approve {
    background: rgba(100, 200, 150, 0.2);
    border-color: rgba(100, 200, 150, 0.6);
    color: rgba(120, 220, 160, 0.95);
}

.convMsg__fieldBtn[data-active="true"].convMsg__fieldBtn--reject {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.4);
    color: #991b1b;
}

.nightMode .convMsg__fieldBtn[data-active="true"].convMsg__fieldBtn--reject {
    background: rgba(255, 100, 100, 0.15);
    border-color: rgba(255, 100, 100, 0.5);
    color: rgba(255, 140, 140, 0.95);
}

/* ---------- Interactive: Text Input (INPUT/FORM) ---------- */

.convMsg__fieldInputWrap {
    margin-top: 8px;
}

.convMsg__fieldLabel {
    display: block;
    font-size: 0.78rem;
    font-weight: 500;
    color: #64748b;
    margin-bottom: 4px;
}

.nightMode .convMsg__fieldLabel {
    color: rgba(180, 190, 220, 0.85);
}

.convMsg__fieldInput {
    width: 100%;
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: #ffffff;
    color: #1e293b;
    font-size: 0.84rem;
    line-height: 1.45;
    font-family: inherit;
    box-sizing: border-box;
    resize: none;
    overflow-y: hidden;
    transition: border-color 120ms ease;
}

.nightMode .convMsg__fieldInput {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.2);
    color: rgba(229, 235, 255, 0.95);
}

.convMsg__fieldInput:focus {
    outline: none;
    border-color: #3b82f6;
}

.nightMode .convMsg__fieldInput:focus {
    border-color: rgba(59, 130, 246, 0.6);
}

.convMsg__fieldInput::placeholder { color: #94a3b8; }
.nightMode .convMsg__fieldInput::placeholder { color: rgba(180, 190, 220, 0.4); }

.convMsg__fieldInput:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* FORM type: multiple input rows */
.convMsg__fieldFormFields {
    padding: 8px 12px 10px;
}

.convMsg__fieldFormRow { margin-top: 8px; }
.convMsg__fieldFormRow:first-child { margin-top: 0; }

/* FORM type: select and checkbox inputs */
.convMsg__fieldSelect {
    width: 100%;
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: #ffffff;
    color: #1e293b;
    font-size: 0.84rem;
    font-family: inherit;
    box-sizing: border-box;
}

.nightMode .convMsg__fieldSelect {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.2);
    color: rgba(229, 235, 255, 0.95);
}

/* ---------- Submit Footer ---------- */

.convMsg__fieldSubmit {
    margin-top: 12px;
    padding: 12px;
    border-radius: 8px;
    background: rgba(59, 130, 246, 0.06);
    border: 1px solid rgba(59, 130, 246, 0.12);
}

.nightMode .convMsg__fieldSubmit {
    background: rgba(59, 130, 246, 0.08);
    border-color: rgba(59, 130, 246, 0.15);
}

.convMsg__fieldNote {
    width: 100%;
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background: #ffffff;
    color: #1e293b;
    font-size: 0.82rem;
    font-family: inherit;
    resize: vertical;
    min-height: 36px;
    box-sizing: border-box;
    transition: border-color 120ms ease;
}

.nightMode .convMsg__fieldNote {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.15);
    color: rgba(229, 235, 255, 0.95);
}

.convMsg__fieldNote:focus {
    outline: none;
    border-color: #3b82f6;
}

.nightMode .convMsg__fieldNote:focus {
    border-color: rgba(59, 130, 246, 0.5);
}

.convMsg__fieldNote::placeholder { color: #94a3b8; }
.nightMode .convMsg__fieldNote::placeholder { color: rgba(180, 190, 220, 0.4); }

.convMsg__fieldNote:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.convMsg__fieldSubmitBtn {
    display: block;
    margin-top: 8px;
    margin-left: auto;
    padding: 8px 18px;
    border-radius: 6px;
    border: none;
    background: #3b82f6;
    color: rgba(255, 255, 255, 0.98);
    font-size: 0.84rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 120ms ease, opacity 120ms ease;
}

.convMsg__fieldSubmitBtn:hover:not(:disabled) {
    background: #2563eb;
}

.convMsg__fieldSubmitBtn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.nightMode .convMsg__fieldSubmitBtn {
    background: rgba(59, 130, 246, 0.85);
}

.nightMode .convMsg__fieldSubmitBtn:hover:not(:disabled) {
    background: rgba(59, 130, 246, 1);
}

/* Submitted state — fade fields after successful submission */
.convMsg__field--submitted { opacity: 0.6; pointer-events: none; }
.convMsg__fieldSubmit--done { opacity: 0.6; }

/* ---------- GFM Task List Checkboxes ---------- */

.convMsg__taskList {
    list-style: none;
    padding-left: 4px;
}

.convMsg__taskItem {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding: 2px 0;
}

.convMsg__taskCheckbox {
    margin-top: 4px;
    width: 14px;
    height: 14px;
    accent-color: var(--jmkr-color-1);
    flex-shrink: 0;
}

/* ---------- Strikethrough ---------- */

.convMsg__del {
    text-decoration: line-through;
    color: #94a3b8;
    text-decoration-color: #94a3b8;
}

.nightMode .convMsg__del {
    color: rgba(235, 239, 255, 0.45);
    text-decoration-color: rgba(235, 239, 255, 0.35);
}

/* ---------- Heading Anchors ---------- */

h1[id^="convMsg__"],
h2[id^="convMsg__"],
h3[id^="convMsg__"],
h4[id^="convMsg__"],
h5[id^="convMsg__"],
h6[id^="convMsg__"] {
    scroll-margin-top: 80px;
}

/* ---------- Collapsible Sections ---------- */

.convMsg__paragraph details,
.convMsg__blockquote details {
    margin: 8px 0;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #f8fafc;
    overflow: hidden;
}

.nightMode .convMsg__paragraph details,
.nightMode .convMsg__blockquote details {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.02);
}

.convMsg__paragraph details summary,
.convMsg__blockquote details summary {
    padding: 8px 12px;
    cursor: pointer;
    font-weight: 500;
    color: #334155;
    user-select: none;
    list-style: none;
}

.nightMode .convMsg__paragraph details summary,
.nightMode .convMsg__blockquote details summary {
    color: rgba(235, 239, 255, 0.85);
}

.convMsg__paragraph details summary::-webkit-details-marker,
.convMsg__blockquote details summary::-webkit-details-marker {
    display: none;
}

.convMsg__paragraph details summary::before,
.convMsg__blockquote details summary::before {
    content: '\25B6';
    display: inline-block;
    margin-right: 8px;
    font-size: 10px;
    transition: transform 0.2s ease;
    color: var(--jmkr-color-1);
}

.convMsg__paragraph details[open] summary::before,
.convMsg__blockquote details[open] summary::before {
    transform: rotate(90deg);
}

.convMsg__paragraph details > :not(summary),
.convMsg__blockquote details > :not(summary) {
    padding: 0 12px 8px;
}

/* ---------- Math (KaTeX) ---------- */
/* phoros__mathBlock and phoros__mathInline use shared class (no prefix) */
/* Light theme overrides for conversation context */

.convMsg__paragraph .phoros__mathBlock,
.convMsg__blockquote .phoros__mathBlock {
    background: #f8fafc;
    border-color: #e2e8f0;
}

.nightMode .convMsg__paragraph .phoros__mathBlock,
.nightMode .convMsg__blockquote .phoros__mathBlock {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.06);
}

.convMsg__paragraph .phoros__mathBlock code,
.convMsg__blockquote .phoros__mathBlock code,
.convMsg__paragraph .phoros__mathInline code,
.convMsg__blockquote .phoros__mathInline code {
    color: #1e293b;
}

.nightMode .convMsg__paragraph .phoros__mathBlock code,
.nightMode .convMsg__blockquote .phoros__mathBlock code,
.nightMode .convMsg__paragraph .phoros__mathInline code,
.nightMode .convMsg__blockquote .phoros__mathInline code {
    color: rgba(235, 239, 255, 0.85);
}

/* ---------- Highlight (mark) ---------- */

.phoros__highlight {
    background: rgba(250, 204, 21, 0.25);
    color: #92400e;
    padding: 1px 4px;
    border-radius: 3px;
}

.nightMode .phoros__highlight {
    background: rgba(250, 204, 21, 0.2);
    color: rgba(250, 230, 140, 0.95);
}

/* ---------- Enhanced Image Notation ---------- */

.convMsg__imageBlock--center {
    text-align: center;
}

.convMsg__imageBlock--center .convMsg__image {
    margin-left: auto;
    margin-right: auto;
}

.convMsg__imageBlock--right {
    text-align: right;
}

.convMsg__imageBlock--left {
    text-align: left;
}

.convMsg__imageBlock--float-right {
    float: right;
    margin: 0 0 12px 16px;
    max-width: 50%;
}

.convMsg__imageBlock--float-left {
    float: left;
    margin: 0 16px 12px 0;
    max-width: 50%;
}

.convMsg__imageBlock--autoDetected {
    margin: 0.75rem 0;
}

.convMsg__imageBlock--autoDetected .convMsg__imageCaption {
    font-size: 11px;
    opacity: 0.6;
}

/* ---------- Inline Images ---------- */

.convMsg__imageBlock {
    display: block;
    margin: 0.75rem 0;
    max-width: 100%;
}

.convMsg__image {
    display: block;
    max-width: 100%;
    max-height: 400px;
    width: auto;
    height: auto;
    object-fit: contain;
    background: #f1f5f9;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    cursor: zoom-in;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.convMsg__image:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    transform: translateY(-2px);
}

.nightMode .convMsg__image {
    background: #1e293b;
}

.convMsg__imageCaption {
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: #64748b;
}

.convMsg__imageCaptionLink {
    color: var(--jmkr-color-1);
    text-decoration: none;
}

.convMsg__imageCaptionLink:hover {
    text-decoration: underline;
}

.nightMode .convMsg__imageCaption {
    color: #94a3b8;
}

/* ---------- Highcharts Chart Containers ---------- */

.convMsg__chartContainer {
    margin: 0.75rem 0;
    min-height: 200px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    overflow: hidden;
}

/* Highcharts light-mode overrides — dark fills for white background */
.convMsg__chartContainer .highcharts-background { fill: transparent !important; }
.convMsg__chartContainer .highcharts-title { fill: #1e293b !important; }
.convMsg__chartContainer .highcharts-subtitle { fill: #475569 !important; }
.convMsg__chartContainer .highcharts-axis-title { fill: #475569 !important; }
.convMsg__chartContainer .highcharts-axis-labels text { fill: #64748b !important; }
.convMsg__chartContainer .highcharts-axis-line { stroke: #cbd5e1 !important; }
.convMsg__chartContainer .highcharts-grid-line { stroke: #e2e8f0 !important; }
.convMsg__chartContainer .highcharts-tick { stroke: #cbd5e1 !important; }
.convMsg__chartContainer .highcharts-crosshair { stroke: #94a3b8 !important; }
.convMsg__chartContainer .highcharts-legend-item text { fill: #334155 !important; }
.convMsg__chartContainer .highcharts-data-label text { fill: #334155 !important; }
.convMsg__chartContainer .highcharts-tooltip-box { fill: #ffffff !important; stroke: #e2e8f0 !important; }
.convMsg__chartContainer .highcharts-tooltip text { fill: #1e293b !important; }

.nightMode .convMsg__chartContainer {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

.convMsg__chartLoading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 40px 16px;
    color: #94a3b8;
    font-size: 13px;
}

/* Highcharts dark theme overrides for night mode */
.nightMode .convMsg__chartContainer .highcharts-background { fill: transparent !important; }
.nightMode .convMsg__chartContainer .highcharts-title { fill: rgba(255, 255, 255, 0.85) !important; }
.nightMode .convMsg__chartContainer .highcharts-subtitle { fill: rgba(255, 255, 255, 0.6) !important; }
.nightMode .convMsg__chartContainer .highcharts-axis-title { fill: rgba(255, 255, 255, 0.6) !important; }
.nightMode .convMsg__chartContainer .highcharts-axis-labels text { fill: rgba(255, 255, 255, 0.55) !important; }
.nightMode .convMsg__chartContainer .highcharts-axis-line { stroke: rgba(255, 255, 255, 0.15) !important; }
.nightMode .convMsg__chartContainer .highcharts-grid-line { stroke: rgba(255, 255, 255, 0.08) !important; }
.nightMode .convMsg__chartContainer .highcharts-tick { stroke: rgba(255, 255, 255, 0.15) !important; }
.nightMode .convMsg__chartContainer .highcharts-crosshair { stroke: rgba(255, 255, 255, 0.3) !important; }
.nightMode .convMsg__chartContainer .highcharts-legend-item text { fill: rgba(255, 255, 255, 0.7) !important; }
.nightMode .convMsg__chartContainer .highcharts-data-label text { fill: rgba(255, 255, 255, 0.7) !important; }
.nightMode .convMsg__chartContainer .highcharts-tooltip-box { fill: rgba(30, 30, 30, 0.95) !important; stroke: rgba(255, 255, 255, 0.15) !important; }
.nightMode .convMsg__chartContainer .highcharts-tooltip text { fill: rgba(255, 255, 255, 0.9) !important; }

/* ============================================
   Message Animation
   ============================================ */

@keyframes msgLineReveal {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.msg-line {
    opacity: 0;
    animation: msgLineReveal 0.28s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: calc(var(--line-index, 0) * 50ms);
}

/* Block elements need display:block to preserve layout */
.msg-line--block {
    display: block;
}

/* Completed animation state - ensures content stays visible */
.msg-line--complete,
.animation-type-message-container.completed .msg-line {
    opacity: 1;
    transform: none;
    animation: none;
}

/* Skip animation for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    .msg-line {
        opacity: 1;
        transform: none;
        animation: none;
    }
}


/* ============================================
   Conversation Profile Modal
   ============================================ */

.conversationProfileModal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 800;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 5px;
    animation: conversationProfileFadeIn 0.2s ease;
}

@keyframes conversationProfileFadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.conversationProfileModal {
    width: 320px;
    max-width: calc(100vw - 40px);
    max-height: calc(100vh - 20px);
    background: white;
    border-radius: 5px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: conversationProfileSlideIn 0.25s ease;
}

@keyframes conversationProfileSlideIn {
    from {
        opacity: 0;
        transform: translateY(-10px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.nightMode .conversationProfileModal {
    background: #1e293b;
}

.conversationProfileModal__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid #e2e8f0;
}

.nightMode .conversationProfileModal__header {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-bottom-color: #334155;
}

.conversationProfileModal__picture {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    background-color: #e2e8f0;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.nightMode .conversationProfileModal__picture {
    background-color: #334155;
}

.conversationProfileModal__info {
    flex: 1;
    min-width: 0;
}

.conversationProfileModal__name {
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nightMode .conversationProfileModal__name {
    color: #f1f5f9;
}

.conversationProfileModal__type {
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
    text-transform: capitalize;
}

.nightMode .conversationProfileModal__type {
    color: #94a3b8;
}

.conversationProfileModal__close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    border-radius: 6px;
    color: #64748b;
    cursor: pointer;
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.conversationProfileModal__close:hover {
    background: rgba(0, 0, 0, 0.05);
    color: #334155;
}

.nightMode .conversationProfileModal__close {
    color: #94a3b8;
}

.nightMode .conversationProfileModal__close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #f1f5f9;
}

.conversationProfileModal__body {
    padding: 16px;
    min-height: 0;
    overflow-y: auto;
}

.conversationProfileModal__section {
    margin-bottom: 16px;
}

.conversationProfileModal__section:last-child {
    margin-bottom: 0;
}

.conversationProfileModal__sectionLabel {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    margin-bottom: 8px;
}

.nightMode .conversationProfileModal__sectionLabel {
    color: #94a3b8;
}

.conversationProfileModal__sectionValue {
    font-size: 14px;
    color: #334155;
    line-height: 1.5;
}

.nightMode .conversationProfileModal__sectionValue {
    color: #cbd5e1;
}

.conversationProfileModal__tokenUsage {
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
    border: 1px solid #86efac;
    border-radius: 8px;
    padding: 12px;
}

.nightMode .conversationProfileModal__tokenUsage {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.1) 0%, rgba(16, 185, 129, 0.08) 100%);
    border-color: rgba(34, 197, 94, 0.3);
}

.conversationProfileModal__tokenRow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
}

.conversationProfileModal__tokenRow:first-child {
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(34, 197, 94, 0.2);
}

.conversationProfileModal__tokenEmpty {
    font-size: 13px;
    line-height: 1.5;
    color: #166534;
}

.conversationProfileModal__tokenLabel {
    font-size: 13px;
    color: #15803d;
    font-weight: 500;
}

.nightMode .conversationProfileModal__tokenLabel {
    color: #4ade80;
}

.nightMode .conversationProfileModal__tokenEmpty {
    color: #bbf7d0;
}

.conversationProfileModal__tokenValue {
    font-size: 14px;
    font-weight: 600;
    color: #166534;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

.conversationProfileModal__tokenValue--subtle {
    font-size: 13px;
    font-weight: 500;
    color: #22c55e;
}

.nightMode .conversationProfileModal__tokenValue {
    color: #86efac;
}

.nightMode .conversationProfileModal__tokenValue--subtle {
    color: #4ade80;
}

/* ============================================
   Profile Modal: Voice Settings
   ============================================ */

.conversationProfileModal__voiceSettings {
    background: linear-gradient(135deg, #f0f9ff 0%, #eff6ff 100%);
    border: 1px solid #93c5fd;
    border-radius: 8px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nightMode .conversationProfileModal__voiceSettings {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(37, 99, 235, 0.08) 100%);
    border-color: rgba(59, 130, 246, 0.3);
}

.conversationProfileModal__voiceHint {
    font-size: 12px;
    line-height: 1.5;
    color: #475569;
}

.nightMode .conversationProfileModal__voiceHint {
    color: #94a3b8;
}

.conversationProfileModal__voiceOptions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.conversationProfileModal__voiceOption {
    position: relative;
    display: block;
    cursor: pointer;
}

.conversationProfileModal__voiceRadio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.conversationProfileModal__voiceOptionBody {
    height: 100%;
    min-height: 96px;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.45);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.78);
    transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.conversationProfileModal__voiceOption:hover .conversationProfileModal__voiceOptionBody {
    transform: translateY(-1px);
    border-color: rgba(59, 130, 246, 0.5);
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.08);
}

.conversationProfileModal__voiceOption--selected .conversationProfileModal__voiceOptionBody {
    border-color: #2563eb;
    background: linear-gradient(180deg, rgba(219, 234, 254, 0.9) 0%, rgba(239, 246, 255, 0.95) 100%);
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.14), 0 12px 24px rgba(37, 99, 235, 0.12);
}

.conversationProfileModal__voicePreviewStatus {
    font-size: 12px;
    line-height: 1.45;
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.12);
    color: #334155;
}

.conversationProfileModal__voicePreviewStatus--active {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
}

.conversationProfileModal__voicePreviewStatus--error {
    background: rgba(239, 68, 68, 0.1);
    color: #b91c1c;
}

.conversationProfileModal__voiceOptionHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.conversationProfileModal__voiceOptionName {
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
}

.conversationProfileModal__voiceOptionBadge {
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1d4ed8;
    background: rgba(37, 99, 235, 0.12);
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-radius: 999px;
    padding: 3px 7px;
}

.conversationProfileModal__voiceOptionDescription {
    font-size: 12px;
    line-height: 1.55;
    color: #475569;
}

.nightMode .conversationProfileModal__voiceOptionBody {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(148, 163, 184, 0.28);
}

.nightMode .conversationProfileModal__voiceOption:hover .conversationProfileModal__voiceOptionBody {
    border-color: rgba(96, 165, 250, 0.5);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.32);
}

.nightMode .conversationProfileModal__voiceOption--selected .conversationProfileModal__voiceOptionBody {
    background: linear-gradient(180deg, rgba(30, 64, 175, 0.32) 0%, rgba(15, 23, 42, 0.9) 100%);
    border-color: rgba(96, 165, 250, 0.72);
    box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.18), 0 12px 24px rgba(15, 23, 42, 0.34);
}

.nightMode .conversationProfileModal__voiceOptionName {
    color: #e2e8f0;
}

.nightMode .conversationProfileModal__voiceOptionBadge {
    color: #bfdbfe;
    background: rgba(59, 130, 246, 0.18);
    border-color: rgba(96, 165, 250, 0.26);
}

.nightMode .conversationProfileModal__voiceOptionDescription {
    color: #cbd5e1;
}

.nightMode .conversationProfileModal__voicePreviewStatus {
    background: rgba(148, 163, 184, 0.16);
    color: #e2e8f0;
}

.nightMode .conversationProfileModal__voicePreviewStatus--active {
    background: rgba(59, 130, 246, 0.18);
    color: #bfdbfe;
}

.nightMode .conversationProfileModal__voicePreviewStatus--error {
    background: rgba(239, 68, 68, 0.18);
    color: #fecaca;
}

.conversationProfileModal__emergencyRequest {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 4px;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.conversationProfileModal__emergencyRequestButton {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid rgba(234, 88, 12, 0.24);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(255, 237, 213, 0.96) 0%, rgba(254, 215, 170, 0.98) 100%);
    color: #9a3412;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.conversationProfileModal__emergencyRequestButton:hover {
    transform: translateY(-1px);
    border-color: rgba(234, 88, 12, 0.34);
    box-shadow: 0 10px 22px rgba(234, 88, 12, 0.12);
}

.conversationProfileModal__emergencyRequestButton:disabled {
    cursor: default;
    transform: none;
    opacity: 0.92;
    box-shadow: none;
}

.conversationProfileModal__emergencyRequestButton--active {
    border-color: rgba(5, 150, 105, 0.28);
    background: linear-gradient(135deg, rgba(209, 250, 229, 0.96) 0%, rgba(167, 243, 208, 0.98) 100%);
    color: #065f46;
}

.conversationProfileModal__emergencyRequestStatus {
    font-size: 12px;
    line-height: 1.45;
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.16);
    color: #92400e;
}

.conversationProfileModal__emergencyRequestStatus--active {
    background: rgba(16, 185, 129, 0.1);
    border-color: rgba(16, 185, 129, 0.16);
    color: #065f46;
}

.nightMode .conversationProfileModal__emergencyRequest {
    border-top-color: rgba(148, 163, 184, 0.16);
}

.nightMode .conversationProfileModal__emergencyRequestButton {
    border-color: rgba(249, 115, 22, 0.28);
    background: linear-gradient(135deg, rgba(67, 20, 7, 0.94) 0%, rgba(94, 35, 10, 0.96) 100%);
    color: #fdba74;
}

.nightMode .conversationProfileModal__emergencyRequestButton:hover {
    border-color: rgba(251, 146, 60, 0.38);
    box-shadow: 0 10px 22px rgba(7, 10, 16, 0.36);
}

.nightMode .conversationProfileModal__emergencyRequestButton--active {
    border-color: rgba(52, 211, 153, 0.26);
    background: linear-gradient(135deg, rgba(6, 44, 34, 0.94) 0%, rgba(8, 65, 49, 0.96) 100%);
    color: #a7f3d0;
}

.nightMode .conversationProfileModal__emergencyRequestStatus {
    background: rgba(120, 53, 15, 0.26);
    border-color: rgba(251, 146, 60, 0.18);
    color: #fed7aa;
}

.nightMode .conversationProfileModal__emergencyRequestStatus--active {
    background: rgba(6, 44, 34, 0.58);
    border-color: rgba(52, 211, 153, 0.18);
    color: #a7f3d0;
}

/* ============================================
   Profile Modal: Presence & Context
   ============================================ */

/* Type line: typeLabel + status badge inline */
.conversationProfileModal__typeLine {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 2px;
}

/* Status badge — inline with type label */
.conversationProfileModal__statusBadge {
    font-size: 10px;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.conversationProfileModal__statusBadge--online {
    background: rgba(34, 197, 94, 0.15);
    color: #15803d;
}

.conversationProfileModal__statusBadge--idle {
    background: rgba(251, 191, 36, 0.15);
    color: #a16207;
}

.conversationProfileModal__statusBadge--offline {
    background: rgba(148, 163, 184, 0.15);
    color: #64748b;
}

.nightMode .conversationProfileModal__statusBadge--online {
    background: rgba(34, 197, 94, 0.2);
    color: #4ade80;
}

.nightMode .conversationProfileModal__statusBadge--idle {
    background: rgba(251, 191, 36, 0.2);
    color: #facc15;
}

.nightMode .conversationProfileModal__statusBadge--offline {
    background: rgba(148, 163, 184, 0.15);
    color: #94a3b8;
}

/* Last active time — subtle text below type line */
.conversationProfileModal__lastActive {
    font-size: 11px;
    color: #94a3b8;
    margin-top: 1px;
}

.nightMode .conversationProfileModal__lastActive {
    color: #64748b;
}

/* Context window meter */
.conversationProfileModal__contextMeter {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.conversationProfileModal__contextBar {
    width: 100%;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
    overflow: hidden;
}

.nightMode .conversationProfileModal__contextBar {
    background: #334155;
}

.conversationProfileModal__contextFill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}

.conversationProfileModal__contextFill--normal {
    background: linear-gradient(90deg, #22c55e, #4ade80);
}

.conversationProfileModal__contextFill--warning {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.conversationProfileModal__contextFill--critical {
    background: linear-gradient(90deg, #ef4444, #f87171);
}

.conversationProfileModal__contextLabel {
    font-size: 12px;
    color: #64748b;
    text-align: right;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

.nightMode .conversationProfileModal__contextLabel {
    color: #94a3b8;
}

/* Objective title styling */
.conversationProfileModal__objectiveTitle {
    font-size: 13px;
    line-height: 1.4;
    color: #475569;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nightMode .conversationProfileModal__objectiveTitle {
    color: #94a3b8;
}

.viewer-zoom-in::before,
.viewer-zoom-out::before,
.viewer-one-to-one::before,
.viewer-reset::before,
.viewer-prev::before,
.viewer-play::before,
.viewer-next::before,
.viewer-rotate-left::before,
.viewer-rotate-right::before,
.viewer-flip-horizontal::before,
.viewer-flip-vertical::before,
.viewer-fullscreen::before,
.viewer-fullscreen-exit::before,
.viewer-close::before {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAAUCAYAAABWOyJDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAQPSURBVHic7Zs/iFxVFMa/0U2UaJGksUgnIVhYxVhpjDbZCBmLdAYECxsRFBTUamcXUiSNncgKQbSxsxH8gzAP3FU2jY0kKKJNiiiIghFlccnP4p3nPCdv3p9778vsLOcHB2bfveeb7955c3jvvNkBIMdxnD64a94GHMfZu3iBcRynN7zAOI7TG15gHCeeNUkr8zaxG2lbYDYsdgMbktBsP03jdQwljSXdtBhLOmtjowC9Mg9L+knSlcD8TNKpSA9lBpK2JF2VdDSR5n5J64m0qli399hNFMUlpshQii5jbXTbHGviB0nLNeNDSd9VO4A2UdB2fp+x0eCnaXxWXGA2X0au/3HgN9P4LFCjIANOJdrLr0zzZ+BEpNYDwKbpnQMeAw4m8HjQtM6Z9qa917zPQwFr3M5KgA6J5rTJCdFZJj9/lyvGhsDvwFNVuV2MhhjrK6b9bFiE+j1r87eBl4HDwCF7/U/k+ofAX5b/EXBv5JoLMuILzf3Ap6Z3EzgdqHMCuF7hcQf4HDgeoHnccncqdK/TvSDWffFXI/exICY/xZyqc6XLWF1UFZna4gJ7q8BsRvgd2/xXpo6P+D9dfT7PpECtA3cnWPM0GXGFZh/wgWltA+cDNC7X+AP4GzjZQe+k5dRxuYPeiuXU7e1qwLpDz7dFjXKRaSwuMLvAlG8zZlG+YmiK1HoFqT7wP2z+4Q45TfEGcMt01xLoNZEBTwRqD4BLpnMLeC1A41UmVxsXgXeBayV/Wx20rpTyrpnWRft7p6O/FdqzGrDukPNtkaMoMo3FBdBSQMOnYBCReyf05s126fU9ytfX98+mY54Kxnp7S9K3kj6U9KYdG0h6UdLbkh7poFXMfUnSOyVvL0h6VtIXHbS6nOP+s/Zm9mvyXW1uuC9ohZ72E9uDmXWLJOB1GxsH+DxPftsB8B6wlGDN02TAkxG6+4D3TWsbeC5CS8CDFce+AW500LhhOW2020TRjK3b21HEmgti9m0RonxbdMZeVzV+/4tF3cBpP7E9mKHNL5q8h5g0eYsCMQz0epq8gQrwMXAgcs0FGXGFRcB9wCemF9PkbYqM/Bas7fxLwNeJPdTdpo4itQti8lPMqTpXuozVRVXPpbHI3KkNTB1NfkL81j2mvhDp91HgV9MKuRIqrykj3WPq4rHyL+axj8/qGPmTqi6F9YDlHOvJU6oYcTsh/TYSzWmTE6JT19CtLTJt32D6CmHe0eQn1O8z5AXgT4sx4Vcu0/EQecMydB8z0hUWkTd2t4CrwNEePqMBcAR4mrBbwyXLPWJa8zrXmmLEhNBmfpkuY2102xxrih+pb+ieAb6vGhuA97UcJ5KR8gZ77K+99xxeYBzH6Q3/Z0fHcXrDC4zjOL3hBcZxnN74F+zlvXFWXF9PAAAAAElFTkSuQmCC');
  background-repeat: no-repeat;
  color: transparent;
  display: block;
  font-size: 0;
  height: 20px;
  line-height: 0;
  width: 20px;
}

.viewer-zoom-in::before {
  background-position: 0 0;
  content: 'Zoom In';
}

.viewer-zoom-out::before {
  background-position: -20px 0;
  content: 'Zoom Out';
}

.viewer-one-to-one::before {
  background-position: -40px 0;
  content: 'One to One';
}

.viewer-reset::before {
  background-position: -60px 0;
  content: 'Reset';
}

.viewer-prev::before {
  background-position: -80px 0;
  content: 'Previous';
}

.viewer-play::before {
  background-position: -100px 0;
  content: 'Play';
}

.viewer-next::before {
  background-position: -120px 0;
  content: 'Next';
}

.viewer-rotate-left::before {
  background-position: -140px 0;
  content: 'Rotate Left';
}

.viewer-rotate-right::before {
  background-position: -160px 0;
  content: 'Rotate Right';
}

.viewer-flip-horizontal::before {
  background-position: -180px 0;
  content: 'Flip Horizontal';
}

.viewer-flip-vertical::before {
  background-position: -200px 0;
  content: 'Flip Vertical';
}

.viewer-fullscreen::before {
  background-position: -220px 0;
  content: 'Enter Full Screen';
}

.viewer-fullscreen-exit::before {
  background-position: -240px 0;
  content: 'Exit Full Screen';
}

.viewer-close::before {
  background-position: -260px 0;
  content: 'Close';
}

.viewer-container {
  bottom: 0;
  direction: ltr;
  font-size: 0;
  left: 0;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: none;
  touch-action: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.viewer-container::selection,
.viewer-container *::selection {
  background-color: transparent;
}

.viewer-container img {
  display: block;
  height: auto;
  max-height: none !important;
  max-width: none !important;
  min-height: 0 !important;
  min-width: 0 !important;
  width: 100%;
}

.viewer-canvas {
  bottom: 0;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
}

.viewer-canvas>img {
  height: auto;
  margin: 15px auto;
  max-width: 90% !important;
  width: auto;
}

.viewer-footer {
  bottom: 0;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  text-align: center;
}

.viewer-navbar {
  background-color: rgba(0, 0, 0, 0.5);
  overflow: hidden;
}

.viewer-list {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 50px;
  margin: 0;
  overflow: hidden;
  padding: 1px 0;
}

.viewer-list>li {
  color: transparent;
  cursor: pointer;
  float: left;
  font-size: 0;
  height: 50px;
  line-height: 0;
  opacity: 0.5;
  overflow: hidden;
  -webkit-transition: opacity 0.15s;
  transition: opacity 0.15s;
  width: 30px;
}

.viewer-list>li:hover {
  opacity: 0.75;
}

.viewer-list>li+li {
  margin-left: 1px;
}

.viewer-list>.viewer-loading {
  position: relative;
}

.viewer-list>.viewer-loading::after {
  border-width: 2px;
  height: 20px;
  margin-left: -10px;
  margin-top: -10px;
  width: 20px;
}

.viewer-list>.viewer-active,
.viewer-list>.viewer-active:hover {
  opacity: 1;
}

.viewer-player {
  background-color: #000;
  bottom: 0;
  cursor: none;
  display: none;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.viewer-player>img {
  left: 0;
  position: absolute;
  top: 0;
}

.viewer-toolbar>ul {
  display: inline-block;
  margin: 0 auto 5px;
  overflow: hidden;
  padding: 3px 0;
}

.viewer-toolbar>ul>li {
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  cursor: pointer;
  float: left;
  height: 24px;
  overflow: hidden;
  -webkit-transition: background-color 0.15s;
  transition: background-color 0.15s;
  width: 24px;
}

.viewer-toolbar>ul>li:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

.viewer-toolbar>ul>li::before {
  margin: 2px;
}

.viewer-toolbar>ul>li+li {
  margin-left: 1px;
}

.viewer-toolbar>ul>.viewer-small {
  height: 18px;
  margin-bottom: 3px;
  margin-top: 3px;
  width: 18px;
}

.viewer-toolbar>ul>.viewer-small::before {
  margin: -1px;
}

.viewer-toolbar>ul>.viewer-large {
  height: 30px;
  margin-bottom: -3px;
  margin-top: -3px;
  width: 30px;
}

.viewer-toolbar>ul>.viewer-large::before {
  margin: 5px;
}

.viewer-tooltip {
  background-color: rgba(0, 0, 0, 0.8);
  border-radius: 10px;
  color: #fff;
  display: none;
  font-size: 12px;
  height: 20px;
  left: 50%;
  line-height: 20px;
  margin-left: -25px;
  margin-top: -10px;
  position: absolute;
  text-align: center;
  top: 50%;
  width: 50px;
}

.viewer-title {
  color: #ccc;
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  margin: 0 5% 5px;
  max-width: 90%;
  opacity: 0.8;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-transition: opacity 0.15s;
  transition: opacity 0.15s;
  white-space: nowrap;
}

.viewer-title:hover {
  opacity: 1;
}

.viewer-button {
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  cursor: pointer;
  height: 80px;
  overflow: hidden;
  position: absolute;
  right: -40px;
  top: -40px;
  -webkit-transition: background-color 0.15s;
  transition: background-color 0.15s;
  width: 80px;
}

.viewer-button:focus,
.viewer-button:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

.viewer-button::before {
  bottom: 15px;
  left: 15px;
  position: absolute;
}

.viewer-fixed {
  position: fixed;
}

.viewer-open {
  overflow: hidden;
}

.viewer-show {
  display: block;
}

.viewer-hide {
  display: none;
}

.viewer-backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}

.viewer-invisible {
  visibility: hidden;
}

.viewer-move {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.viewer-fade {
  opacity: 0;
}

.viewer-in {
  opacity: 1;
}

.viewer-transition {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

@-webkit-keyframes viewer-spinner {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes viewer-spinner {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.viewer-loading::after {
  -webkit-animation: viewer-spinner 1s linear infinite;
  animation: viewer-spinner 1s linear infinite;
  border: 4px solid rgba(255, 255, 255, 0.1);
  border-left-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  content: '';
  display: inline-block;
  height: 40px;
  left: 50%;
  margin-left: -20px;
  margin-top: -20px;
  position: absolute;
  top: 50%;
  width: 40px;
  z-index: 1;
}

@media (max-width: 767px) {
  .viewer-hide-xs-down {
    display: none;
  }
}

@media (max-width: 991px) {
  .viewer-hide-sm-down {
    display: none;
  }
}

@media (max-width: 1199px) {
  .viewer-hide-md-down {
    display: none;
  }
}

.viewer-toolbar {
  display: none;
}#electionJamaica {
	padding-top: 0px;
	background: white;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.07);

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

#electionJamaica ::-webkit-scrollbar {
	width: 15px !important;
	background-color: rgba(255, 255, 255, 0.17) !important;
}

#electionJamaica ::-webkit-scrollbar-thumb {
	background: linear-gradient(to top, #FFDE55, #3A812C) !important;
}

#electionJamaica #page {
	letter-spacing: 0.5px;
}

#electionJamaica #page #loading {
	text-align: center;
	padding: 17px;
	letter-spacing: 1.17px;
	font-size: 35px;
	font-weight: bold;
	opacity: 0.17;
}

#electionJamaicaForm #uploadFile {
	background: var(--jmkr-color-1);
	color: white;
	margin-bottom: 11px;
	padding: 11px;
	padding-left: 0px;
	padding-right: 0px;
	text-align: center;
	letter-spacing: 0.7px;
	font-size: 14px;
	border-radius: 5px;
	cursor: pointer;
}

#electionJamaica {}

#electionJamaica #map {
	z-index: 17;
	position: fixed;

	left: 0px;
	top: 0px;

	width: 100%;
	height: 100%;

	background: #1A1A1B;
}

#electionJamaica #map_candidateList {
	z-index: 71;
	position: fixed;

	left: 11px;
	top: 132.5px;

	max-height: calc(100% - 275px);
	width: calc(100% - 95px);
	max-width: 375px;

	overflow: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;

	padding-right: 11px;
}

@media screen and (max-width: 900px) {
	#electionJamaica #map_candidateList {
		top: 11px;
		max-height: calc(100% - 257px);
	}
}

#electionJamaica #map_candidateList .map_candidate {
	position: relative;
	margin-bottom: 11px;

	box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.17);
	background: #1A1A1B;

	
	cursor: pointer;
}

#electionJamaica #map_candidateList .map_candidate:last-child {
	margin-bottom: 0;
}

#electionJamaica #map_candidateList .map_candidate .name {
	float: left;

	width: calc(100% - 87px);
	color: white;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.57);

	padding: 15px;
	padding-left: 17px;
	padding-right: 17px;

	letter-spacing: 0.75px;
}

#electionJamaica #map_candidateList .map_candidate .name .firstName {
	font-size: 15px;
	padding-top: 7px;
}

#electionJamaica #map_candidateList .map_candidate .name .lastName {
	font-size: 21px;
	font-weight: bold;
	padding-top: 3.5px;
}

#electionJamaica #map_candidateList .map_candidate .name .electoralDivision {
	font-size: 15px;
	font-weight: 300;
	color: grey;
	padding-bottom: 5px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

#electionJamaica #map_candidateList .map_candidate .results {
	position: absolute;
	right: 0px;
	top: 0px;

	width: 105px;
	height: 100%;
	color: white;
	text-shadow: 1px 1px 17px rgba(0, 0, 0, 0.57);
	text-align: center;

	letter-spacing: 0.75px;
}

#electionJamaica #map_candidateList .map_candidate .results .count {
	font-size: 17px;
	background: rgba(255, 255, 255, 0.27);
	line-height: 35px;
}

#electionJamaica #map_candidateList .map_candidate .results .percent {
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
	height: calc(100% - 27px);
	font-size: 22.5px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
}

#electionJamaica #pageTitle {
	z-index: 71;
	position: fixed;

	left: 11px;
	top: 11px;

	color: white;

	overflow-x: hidden;
	white-space: nowrap;
	max-width: calc(100% - 11px*2);

	cursor: pointer;
	box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.17);

	-webkit-transition: transform 0.35s ease;
	-moz-transition: transform 0.35s ease;
	-ms-transition: transform 0.35s ease;
	-o-transition: transform 0.35s ease;
	transition: transform 0.35s ease;
}

@keyframes ticker {
	0% {
		transform: translateX(0%);
	}

	100% {
		transform: translateX(calc(-100% - 5px));
	}
}

#electionJamaica #pageTitle #subTitle .second,
#electionJamaica #pageTitle #subTitle .third {
	display: none;
}

@media screen and (max-width: 900px) {
	#electionJamaica #pageTitle {
		top: auto;
		bottom: 131px;
	}

	#electionJamaica #pageTitle #title {
		font-size: 5vw !important;
		line-height: 5vw !important;
	}

	#electionJamaica #pageTitle #subTitle {
		font-size: 3vw !important;
		line-height: 3vw !important;

		display: inline-block !important;
		white-space: nowrap;
	}

	#electionJamaica #pageTitle #subTitle .ticker {
		display: inline-block !important;
		display: inline-block !important;
		white-space: nowrap;
		animation: ticker 5s linear infinite;
	}
}

#electionJamaica #toggleMapMenu {
	z-index: 71;
	position: fixed;

	right: 11px;
	top: 11px;

	color: white;
	background: black;

	cursor: pointer;

	font-size: 27px;
	text-align: center;
	width: 61px;
	line-height: 57px;
}

#electionJamaica #closeShowMore {
	z-index: 71;
	position: fixed;

	right: 11px;
	top: 81px;

	color: white;
	background: black;

	cursor: pointer;

	font-size: 27px;
	text-align: center;
	width: 61px;
	line-height: 57px;
}

#electionJamaica #pageTitle #title {
	position: relative;
	float: left;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 35px;
	line-height: 35px;
	letter-spacing: 1.7px;

	background: black;
	padding-top: 7px;
}

#electionJamaica #pageTitle #title #line {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	background: linear-gradient(to right, #FFDE55, #3A812C);
	height: 7px;
}

#electionJamaica #pageTitle #subTitle {
	text-transform: uppercase;
	font-size: 25px;
	line-height: 25px;
	letter-spacing: 2.7px;
	font-weight: 400;

	background: #1A1A1B;
	padding: 11px;
}

#electionJamaica #listBreakdown,
#electionJamaica #updateTimes {
	padding-top: 0px;
	padding-right: 11px;

	margin-bottom: 7px;

	background: #000000;
	color: white;

	max-height: calc(100% - 130px);

	overflow: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

#electionJamaica #listBreakdown {}

#electionJamaica #listBreakdown .listBreakdown {
	cursor: pointer;
	padding: 15px;

	font-size: 15.5px;
	line-height: 21px;
	letter-spacing: 0.75px;

	background: rgba(0, 0, 0, 0.077);
	color: white;

	border-bottom: 1px solid rgba(255, 255, 255, 0.17);
}

#electionJamaica #listBreakdown .listBreakdown .listBreakdown {
	font-size: 14px;

	border-radius: 4px;
	margin-bottom: 3.5px;
	padding: 7px;
	padding-left: 11px;
	padding-right: 11px;
	background: rgba(0, 0, 0, 0.07);
}

#electionJamaica #listBreakdown .listBreakdown #name {
	font-size: 12px;
}

#electionJamaica #listBreakdown .listBreakdown #label {
	float: left;
	max-width: calc(100% - 20px);
	cursor: pointer;
	font-size: 12px;
}

#electionJamaica #listBreakdown .listBreakdown #showMore {
	float: right;
	font-size: 11px;
	width: 20px;
	cursor: pointer;
	text-align: right;
}

#electionJamaica #progressBar {
	z-index: 71;
	position: fixed;

	left: 11px;
	bottom: 40px;

	width: calc(100% - 22px);

	padding: 17px;
	background: black;

	cursor: pointer;
	box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.35);
}

#electionJamaica #progressBar #noWrap {
	position: relative;
	height: 57px;
	overflow: hidden;
	background-color: rgba(255, 255, 255, 0.17);
}

#electionJamaica #progressBar #party {
	position: absolute;
	top: 0px;
	left: 0px;

	padding-top: 11px;
	padding-bottom: 11px;
	font-size: 21px;
	letter-spacing: -0.75px;

	-webkit-transition: width 1s ease, left 1s ease;
	-moz-transition: width 1s ease, left 1s ease;
	-ms-transition: width 1s ease, left 1s ease;
	-o-transition: width 1s ease, left 1s ease;
	transition: width 1s ease, left 1s ease;
}

#electionJamaica #progressBar #party #label {
	float: left;

	line-height: 35px;
	height: 35px;

	padding-left: 17px;
	padding-right: 17px;

	color: white;
	background: rgba(255, 255, 255, 0.35);
	text-shadow: 1px 1px 17px rgba(0, 0, 0, 0.17);
}

#electionJamaica #progressBar #party #label b {
	vertical-align: middle;

	padding-left: 11px;
	margin-top: 11px;
	font-size: 21px;
}

#electionJamaica #updateTimes .reportingCheckpoint {
	cursor: pointer;
	padding: 11px;

	font-size: 13.5px;
	line-height: 21px;
	letter-spacing: 0.75px;

	background: rgba(0, 0, 0, 0.077);
	color: white;

	border-bottom: 1px solid rgba(255, 255, 255, 0.17);
}

#electionJamaica #updateTimes .reportingCheckpoint.selectedReportingCheckpoint {
	background: linear-gradient(to right, #FFDE55, #3A812C);
	border-radius: 4px;
	border: none;
	color: black
}

#electionJamaica #updateTimes .reportingCheckpoint #reportProgress {
	margin-top: 7px;

	border-radius: 3px;

	height: 7px;
	background: linear-gradient(to right, #FFDE55, #3A812C);

	-webkit-transition: width 17s linear;
	-moz-transition: width 17s linear;
	-ms-transition: width 17s linear;
	-o-transition: width 17s linear;
	transition: width 17s linear;
}

#electionJamaica #updateTimes .selectedReportingCheckpoint #reportProgress {
	background: black !important;
}

#electionJamaica #alerts {
	padding: 11px;
	border-radius: 4px;
	background: rgba(0, 0, 0, 0.077);

	height: 370px;

	overflow: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

#electionJamaica #mapMenu {
	z-index: 171;
	position: fixed;

	top: 11px;
	left: 11px;

	width: 317px;
	max-width: calc(100% - 22px);
	height: 100%;
	max-height: calc(100% - 22px);

	padding: 17px;
	padding-top: 10px;
	padding-bottom: 0px;

	background: black;

	overflow: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;

	-webkit-transition: transform 0.35s ease;
	-moz-transition: transform 0.35s ease;
	-ms-transition: transform 0.35s ease;
	-o-transition: transform 0.35s ease;
	transition: transform 0.35s ease;
}

#electionJamaica #alertsMenu {
	z-index: 171;
	position: fixed;

	top: 11px;
	left: calc(11px + 317px + 11px);

	width: calc(100% - 317px - 33px);
	height: 100%;
	max-height: calc(100% - 22px);

	padding: 11px;
	padding-top: 0px;
	padding-bottom: 0px;

	color: white;

	overflow: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;

	-webkit-transition: transform 0.35s ease;
	-moz-transition: transform 0.35s ease;
	-ms-transition: transform 0.35s ease;
	-o-transition: transform 0.35s ease;
	transition: transform 0.35s ease;
}

.direction_rtl {
	direction: rtl;
}

.direction_ltr {
	direction: ltr !important;
}

#electionJamaica #alertsMenu .electionAnalysis {
	display: inline-block;
	padding: 15px;
	cursor: pointer;
	background: black;
	border-radius: 5px;
	margin-top: 3.5px;
	margin-bottom: 3.5px;

	
}

#electionJamaica #alertsMenu .electionAnalysis .partyColor {
	float: left;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	margin-right: 7px;
}

#electionJamaica #alertsMenu .electionAnalysis .summary {
	float: left;
	max-width: calc(100% - 24px);
	line-height: 17px;
	height: 17px;
}

#electionJamaica #alertsMenu .electionAnalysis .summary b {
	font-weight: bolder;
}

@media screen and (max-width: 900px) {
	#mapMenu {
		z-index: 171;
	}
}

#electionJamaica #mapMenu #title,
#electionJamaica #alertsMenu #title {
	font-weight: bold;
	text-transform: uppercase;
	font-size: 25px;
	line-height: 45px;
	letter-spacing: 1.7px;

	color: white;
	cursor: pointer;
}

#electionJamaica #alertsMenu #title {
	font-size: 25px;
	line-height: 25px;
}

#electionJamaica #mapMenu #subTitle,
#electionJamaica #alertsMenu #subTitle {
	font-weight: bold;
	text-transform: uppercase;
	font-size: 15px;
	line-height: 25px;
	letter-spacing: 1.7px;

	color: white;
	cursor: pointer;
}

#electionJamaica #mapMenu #title i {
	margin-left: 15px;
	margin-right: 7px;
}

#electionJamaica #mapMenu .tab {
	color: white;
	float: left;
	line-height: var(--line-height);
	width: 50%;
	text-align: center;
	cursor: pointer;

	margin-top: 11px;
	margin-bottom: 11px;
}

#electionJamaica #mapMenu .activeTab {
	background: rgba(255, 255, 255, 0.1);
}

#electionJamaica #mapMenu #subTitle {
	font-weight: bold;
	text-transform: uppercase;
	font-size: 11.7px;
	line-height: var(--line-height);
	letter-spacing: 1.7px;

	text-align: center;
	color: white;
	cursor: pointer;

	opacity: 0.35;
}

#electionJamaica .mapboxgl-ctrl-bottom-left {
	bottom: 3.5px !important;
	top: auto !important;
}

#electionJamaica .mapboxgl-ctrl-bottom-right {
	bottom: 0px !important;
	top: auto !important;
}#emailFilterForm {
    float: left;
    width: calc(100% - 96px);
}

#searchEmailToggle {
    float: left;
    background: var(--jmkr-color-1);
    color: white;
    width: var(--line-height);
    text-align: center;
    height: var(--line-height);
    line-height: var(--line-height);
    cursor: pointer;
}

.emailAttachment {
    border: 1px solid rgba(0, 0, 0, 0.1);
    padding-left: 7px;
    padding-right: 7px;
}

.emailAttachment .delete {
    padding: 3.5px;
    font-size: 13px;
    text-align: center;

    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    cursor: pointer;
}

.emailAttachment .preview {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 70%;
}

.emailAttachment .fileName {
    font-size: 12px;
    padding-top: 0px;
    padding: 7px;
}

.emailAttachmentRegion {
    position: relative;
}

.emailAttachmentDock {
    position: absolute;
    right: 17px;
    bottom: 87px;
    display: flex;
    gap: 10px;
    padding: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    background: white;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.nightMode .emailAttachmentDock {
    background: rgba(255, 255, 255, 0.05);
}

.emailAttachmentDock .emailAttachment {
    width: 135px;
}

#emailReadBody {
    color: black;
    background: white;
}

.nightMode #emailReadBody {
    color: black;
    background: white;
}

.nightMode #emailReadBody * {
    color: black !important;
}

.emailBodyFrame {
    position: relative;
    width: 100%;
    height: calc(100% - 40px);
    border: none;
    border-radius: 5px;
}

#emailAttachmentScroll {}

#emailAttachmentScroll .emailAttachment {
    padding: 7px;
    margin-bottom: 11px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 3.5px;
}

#jmkrClient #Email .ui.tabular.menu .item {
    border-radius: 0px !important;
    padding-top: 11px !important;
}

#jmkrClient #Email .ui.attached.segment {
    padding-top: 0px;
    padding-bottom: 0px;
}

#jmkrClient #Email .notificationThumbnail {
    padding-left: 11px;
    padding-right: 11px;
}


#jmkrClient #Email .emailActions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    font-size: 12px;
    margin-top: 7px;
    color: #666;
}

#jmkrClient #Email .emailActions a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 6px;
    text-decoration: none;
    color: inherit;
    transition: background 120ms ease, color 120ms ease;
    cursor: pointer;
}

#jmkrClient #Email .emailActions a:hover {
    background: rgba(0, 0, 0, 0.06);
    color: #111;
}

.nightMode #jmkrClient #Email .emailActions a:hover {
    background: rgba(255, 255, 255, 0.08);
}

#jmkrClient #Email .emailActions i.icon {
    margin: 0 !important;
}

.emailSearchPrimary {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.emailSearchInput {
    position: relative;
    background: #ffffff;
    box-shadow: 0 12px 28px -22px rgba(0, 0, 0, 0.35);
}

.emailSearchInput input {
    width: 100%;
    border: none;
    background: transparent;
    outline: none;
    color: #1b1c1d;
    padding: 0px 46px 0px 44px;
}

.emailSearchInput i.icon {
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    color: rgba(0, 0, 0, 0.45);
    font-size: 16px;
}

.emailSearchInput .clearEmailSearch {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: rgba(0, 0, 0, 0.05);
    color: rgba(0, 0, 0, 0.45);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 120ms ease;
}

.emailSearchInput .clearEmailSearch:hover {
    background: rgba(0, 0, 0, 0.12);
    color: rgba(0, 0, 0, 0.7);
}

.emailSearchPanel {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px 18px;
}

.emailSearchHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.emailSearchTitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #1b1c1d;
}

.emailSearchTitle i.icon {
    color: var(--jmkr-color-1);
}

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

.emailSearchAction {
    border: none;
    background: rgba(0, 0, 0, 0.06);
    color: rgba(0, 0, 0, 0.6);
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}

.emailSearchAction:hover {
    transform: translateY(-1px);
    background: rgba(0, 0, 0, 0.12);
}

.emailSearchAction.primary {
    background: var(--jmkr-color-1);
    color: white;
    box-shadow: 0 12px 24px -16px rgba(0, 0, 0, 0.32);
}

.emailSearchBody {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.emailSearchGrid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

.emailSearchField {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.emailSearchField label {
    font-size: 11px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.45);
}

.emailSearchField input {
    width: 100%;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 14px;
    background: rgba(255, 255, 255, 0.96);
    transition: border 120ms ease, box-shadow 120ms ease;
}

.emailSearchField input:focus {
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 0 2px rgba(27, 165, 126, 0.14);
    outline: none;
}

.emailSearchFilters.analysisFilters {
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.emailSearchFilters .filterLabel {
    margin-right: 4px;
}

.emailSearchFilters .filterChip {
    background: rgba(27, 165, 126, 0.08);
    color: rgba(0, 0, 0, 0.68);
}

.emailSearchFilters .filterChip i.icon {
    margin: 0;
}

.emailSearchFilters .filterChip.active {
    background: var(--jmkr-color-1);
    color: white;
    box-shadow: 0 10px 24px -18px rgba(0, 0, 0, 0.35);
}

@media (max-width: 768px) {
    .emailSearchPanel {
        padding: 16px 14px;
    }

    .emailSearchGrid {
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    }

    .emailSearchInput input {
        font-size: 14px;
    }
}#EmailSetting #cardBackground {
    background-color: rgba(0, 0, 0, 0.1);
    padding: 1em 1em;
}

#EmailSetting h1,
#EmailSetting h3,
#EmailSetting h4 {
    position: relative;
    margin: 0px;
    padding: 0px;
    z-index: 2;
}

#EmailSetting h3 {
    padding-top: 1em;
    padding-bottom: 0.35em;
}

#EmailSetting h4 {
    font-weight: normal;
}

#EmailSetting #cardBackground #card {
    position: relative;
    background: white;
    padding: 1em;
    padding-top: 3em;
    border-radius: 7px;
    letter-spacing: 0.75px;
}

#EmailSetting #cardBackground #card #stripe {
    z-index: 1;
    background: var(--jmkr-color-1);
    width: 100%;
    height: 6em;
    position: absolute;
    right: 0px;
    top: 2em;
}

#EmailSetting #cardBackground #card #refillAlert {
    z-index: 3;
    position: absolute;
    right: 1em;
    top: 3.7em;
    font-size: 11px;
    opacity: 0.5;
    cursor: pointer;
}

#EmailSetting #cardBackground #card #logo {
    display: inline-block;
    width: 0.9em;
    height: 0.9em;
    border-radius: 3.5px;
    margin-right: 0.25em;
    background-size: cover;
    background-position: center;
}

#EmailSetting #cardBackground #card #balance {
    letter-spacing: 0.75px;
}

#EmailSetting #cardBackground #card .button {
    float: left;
    width: calc(50% - 1px);
    text-align: center;
    font-size: 11px;
    line-height: 25px;
    padding-top: 4em;
    cursor: pointer;
    opacity: 0.7;
}

#EmailSetting #cardBackground #card .button i {
    font-size: 25px;
    line-height: 25px;
}

#EmailSetting #cardBackground #card .line {
    float: left;
    margin-top: 3em;
    height: 4em;
    width: 1px;
    background-color: rgba(0, 0, 0, 0.1);
}


#EmailSetting .customLink {
    padding: 1em;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    margin-bottom: 1em;
    background: rgba(0, 0, 0, 0.017);
}

#EmailSetting .deleteCustomLink {
    float: right;
    cursor: pointer;

    margin-top: -15px;
    margin-right: -21px;

    font-size: 12px;
    color: white;
    background: var(--jmkr-color-1);
    width: 21px;
    height: 21px;
    line-height: 20px;
    border-radius: 50%;
    text-align: center;
    padding-left: 1px;
}#eventForm #addTicketOption,
#eventForm #addComplimentaryTicketOption,
#eventForm #addOptionalTicketOption,
#eventForm #addPaymentPlanOption {
  background: var(--jmkr-color-1);
  color: white;
  margin-bottom: 11px;
  padding: 11px;
  padding-left: 0px;
  padding-right: 0px;
  text-align: center;
  letter-spacing: 0.7px;
  font-size: 14px;
  border-radius: 5px;
  cursor: pointer;
}

#eventForm #addPaymentPlanOption {
  margin-top: 11px;
  margin-bottom: 0px;
}

#eventForm .ticket,
#eventForm .complimentaryTicket,
#eventForm .optionalTicket {
  padding: 11px;
  padding-top: 7px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  margin-bottom: 11px;
  background: rgba(0, 0, 0, 0.017);
}

#eventForm .deleteTicketOption,
#eventForm .deleteComplimentaryTicketOption,
#eventForm .deleteOptionalTicketOption,
#eventForm .deletePaymentPlanOption {
  float: right;
  cursor: pointer;

  margin-top: -15px;
  margin-right: -21px;

  font-size: 12px;
  color: white;
  background: var(--jmkr-color-1);
  width: 21px;
  height: 21px;
  line-height: 20px;
  border-radius: 50%;
  text-align: center;
  padding-left: 1px;
}

#eventForm .deletePaymentPlanOption { 
  position: absolute;
  right: 0px;
  top: 0px;
  margin-top: 0px;
  margin-right: 0px;
  z-index: 100;
}

#ticketListHeader {
  background: var(--jmkr-color-1);
  color: white;
  padding-left: 17px;
  border-radius: 4px;
  letter-spacing: 0.7px;
  font-size: 15px;
  line-height: 15px;
}

#ticketListRow {
  padding-left: 11px;
  padding-right: 11px;
}

#eventFilterForm {
  float: left;
  width: calc(100% - var(--line-height));
}

#inputEventSearch input {
  border-radius: 0px !important;
  border-top: 0px !important;
  border-color: rgba(30, 173, 211, 0.35) !important;
}

.embeddedEvent .hideIfEmbedded {
  display: none;
}

@media screen and (max-width: 767px) {
  #ToolPage #page.embeddedEvent {
    padding-left: 11px;
    padding-right: 11px;
  }
}

.embeddedEvent #printArea {
  padding: 0px !important;
}

/* Event thumbnail preview styling */
#jmkrClient .dataThumbnailCard__preview--event {
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
}

#jmkrClient .dataThumbnailCard__preview--event > i {
  font-size: 48px;
  color: rgba(255, 255, 255, 0.9);
}#jmkrClient #eventTicketFilterForm {
    float: left;
    width: calc(100% - 48px);
}

#jmkrClient #inputEventTicketSearch input,
#jmkrClient #inputEventTicketTransactionSearch input {
    border-radius: 0px !important;
    border-top: 0px !important;
    border-color: rgba(30, 173, 211, 0.35) !important;
}

#jmkrClient #searchEventTicketToggle,
#jmkrClient #scanEventTicket {
    float: left;
    background: var(--jmkr-color-1);
    color: white;
    width: 45px;
    text-align: center;
    height: 45px;
    line-height: 45px;
    cursor: pointer;
}

#jmkrClient #qr-window-background {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation: animate_dashboardPopUpBackground 1s forwards;
    z-index: 999;
}

#jmkrClient #qr-window {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    background: white;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);

    max-width: calc(100% - 20px);
    width: 350px;
}

#jmkrClient #qr-reader {
    width: 100%;
    max-width: 600px;
}#fileFolderBreadcrumb {
  float: left;

  max-width: calc(100% - 51px);
  margin-top: 0px;

  padding-left: 11px;
  padding-right: 11px;

  letter-spacing: 0.7px;

  cursor: pointer;

  line-height: var(--line-height);

  overflow-x: auto;
  white-space: nowrap;
}

.fileFolderColumnRow {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  border-right: 1px solid rgba(0, 0, 0, 0.1);

  font-size: 15px;
  letter-spacing: 0.75px;
  line-height: var(--line-height);
  height: var(--line-height);

  padding-left: 11px;
  padding-right: 11px;

  cursor: pointer;
}

.fileFolderColumnHeading {
  float: left;
  width: calc(100% - 35px);
  background: #F2F2F2;
  color: #222;

  font-size: 13px;
  letter-spacing: 0.75px;
  line-height: var(--line-height);

  padding-left: 11px;
  cursor: pointer;
}

.fileFolderColumnSort {
  float: right;
  width: 35px;
  background: #F2F2F2;
  color: #222;

  font-size: 11px;
  line-height: var(--line-height);
  height: var(--line-height);

  text-align: center;
  cursor: pointer;
}

.selectFileFolderFormType {
  margin-top: 7px;
  font-size: 12px;
  line-height: var(--line-height);
  padding-top: 37px;
  padding-bottom: 0px;
  text-align: center;
  cursor: pointer;
}

.selectFileFolderFormType i {
  font-size: 50px !important;
  line-height: 50px !important;
}

.selectFileFolderFormType.uploadFiles {
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding-bottom: 17px;
  border-radius: 7px;
  background: var(--jmkr-color-1);
  color: white;
}

#filFolderForm_upload #progressBar {
  border-radius: 7px;

  background-color: rgba(0, 0, 0, 0.1);

  width: 117px;
  height: 7px;

  margin-left: auto;
  margin-right: auto;

  margin-top: 17px;
}

#filFolderForm_upload #progress {
  border-radius: 7px;

  background-color: #1eadd3;

  height: 7px;
}

/* In the fileFolder popup, hide the redundant download button and its
   padding-bottom reservation — the #downloadThumbnail row handles download */
.dashboardPopUp .download_contentFile {
  display: none;
}

.dashboardPopUp .display_contentFile .ui.grid .column {
  padding-bottom: 1em !important;
}

#downloadThumbnail {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  transition: all 0.2s ease;
}

#downloadThumbnail:hover {
  border-color: rgba(15, 23, 42, 0.15);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08), 0 2px 4px rgba(15, 23, 42, 0.04);
  transform: translateY(-2px);
}

#downloadThumbnail:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
}

#downloadThumbnail #image {
  flex: 0 0 72px;
  height: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  border-right: 1px solid rgba(15, 23, 42, 0.04);
}

#downloadThumbnail #image i {
  font-size: 28px;
  color: #94a3b8;
  transition: color 0.2s ease, transform 0.2s ease;
}

#downloadThumbnail:hover #image i {
  color: var(--jmkr-color-1);
  transform: scale(1.1);
}

#downloadThumbnail #details {
  flex: 1;
  padding: 14px 16px;
  box-sizing: border-box;
  min-width: 0;
}

#downloadThumbnail #details .line {
  margin-top: 3px;
  font-size: 12px;
  color: #94a3b8;
  box-shadow: none !important;
  border: none !important;
}

#downloadThumbnail #details .line u {
  color: var(--jmkr-color-1);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s ease;
}

#downloadThumbnail:hover #details .line u {
  text-decoration: underline;
}

#downloadThumbnail #details #fileName {
  font-weight: 500;
  font-size: 13px;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.downloadThumbnail__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.downloadThumbnail__link:hover {
  text-decoration: none;
  color: inherit;
}

.filFolderForm_uploadThumbnail {
  position: relative;
  height: 45px;
  width: 100%;
}

.filFolderForm_uploadThumbnail .name {
  position: relative;
  z-index: 2;
  line-height: 45px;
  padding-left: 11px;
  font-size: 17px;
  letter-spacing: 0.75px;
  max-width: calc(100% - 100px);
}

.filFolderForm_uploadThumbnail .detail {
  position: absolute;
  z-index: 2;
  right: 0px;
  top: 0px;
  line-height: 45px;
  padding-right: 11px;
}

.filFolderForm_uploadThumbnail .progress,
.filFolderForm_uploadThumbnail .progressBar {
  position: absolute;
  z-index: 2;
  left: 7px;
  bottom: 0px;
  max-width: calc(100% - 7px * 2);
  width: 0%;
  height: 3.5px;
  background: var(--jmkr-color-1);
  border-radius: 7px;
}

.filFolderForm_uploadThumbnail .progressBar {
  z-index: 1;
  width: 100%;
  background: rgba(0, 0, 0, 0.1);
}

.fileFolderDictationField {
  position: relative;
}

.fileFolderDictationDock {
  position: absolute;
  right: 15px;
  bottom: 40px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 7px;
  max-width: 260px;
  z-index: 5;
}

.fileFolderDictationButton {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #ffffff;
  border: 1px solid var(--jmkr-color-1);
  color: var(--jmkr-color-1);
  padding: 12px 18px;
  border-radius: 7px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 8px 18px rgba(30, 173, 211, 0.12);
}

.fileFolderDictationButton i {
  margin: 0;
}

.fileFolderDictationButton.listening {
  background: var(--jmkr-color-1);
  color: #ffffff;
  box-shadow: 0px 10px 22px rgba(30, 173, 211, 0.28);
}

.fileFolderDictationButton.disabled {
  opacity: 0.45;
  pointer-events: none;
  box-shadow: none;
}

.fileFolderDictationStatus {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
  font-size: 11px;
  letter-spacing: 0.35px;
  text-align: right;
  max-width: 100%;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 6px;
  padding: 6px 10px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.fileFolderDictationInterimText {
  font-size: 12px;
  color: #1e88e5;
  background: rgba(30, 136, 229, 0.12);
  padding: 6px 8px;
  border-radius: 6px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fileFolderDictationMessage {
  font-size: 12px;
  letter-spacing: 0.35px;
}

.fileFolderDictationMessage.info {
  color: #1e88e5;
}

.fileFolderDictationMessage.warning {
  color: #856404;
}

.fileFolderDictationMessage.error {
  color: #c0392b;
}

.fileFolderDictationMessage.success {
  color: #155724;
}

.fileFolderDictationTimestamp {
  font-weight: 600;
  color: var(--jmkr-color-1);
  display: inline-block;
  margin-right: 6px;
}

#dicomIFrame {
  position: relative;
  height: 700px;
  width: 100%;

  border: none;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.35);
  margin: 0px;
  padding: 0px;

  margin-bottom: -10px;
  background-color: black;
}

/* HTML Document Editor (Monaco) */
.fileFolderHTMLDocumentField .iframeField {
  margin-top: 0;
}

.fileFolderHTMLDocumentField .iframeField iframe {
  display: block;
}

/* Web Text Preview Mode */
.fileFolderPreview_webText {
  margin-top: 11px;
}

.fileFolderPreview_webText__content {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 6px;
  padding: 24px;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
}

@keyframes fileFolderSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.publicPage #printLabel {
  float: right;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #0f172a;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  opacity: 1;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.publicPage #printLabel:hover {
  transform: translateY(-1px);
  border-color: rgba(92, 179, 255, 0.35);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.12);
}

.publicPage #printLabel.is-loading {
  pointer-events: none;
  cursor: progress;
  color: #2563eb;
}

.publicPage #printLabel.is-loading .lucide-icon {
  animation: fileFolderSpin 0.9s linear infinite;
}

.fileFolderPage__documentShell {
  margin: 18px 0 24px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 20px;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(92, 179, 255, 0.16), transparent 34%),
    linear-gradient(180deg, #fbfdff 0%, #ffffff 42%);
  box-shadow: 0 22px 50px rgba(15, 23, 42, 0.08);
}

.fileFolderPage__documentHeader {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  padding: 22px 26px 16px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.fileFolderPage__documentEyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0f172a;
}

.fileFolderPage__documentHint,
.fileFolderPage__documentFooterNote {
  font-size: 13px;
  color: #64748b;
}

.fileFolderPage__documentBody {
  padding: 30px 32px 34px;
  background: #ffffff;
}

.fileFolderPage__documentState {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 180px;
  padding: 32px;
  font-size: 14px;
  color: #64748b;
  background: rgba(248, 250, 252, 0.8);
}

.fileFolderPage__documentState .lucide-icon {
  width: 18px;
  height: 18px;
}

.fileFolderPage__documentState .icon-loader-2 {
  animation: fileFolderSpin 0.9s linear infinite;
}

.fileFolderPage__documentState--error {
  color: #b91c1c;
  background: rgba(254, 242, 242, 0.92);
}

.fileFolderPage__documentFooterNote {
  padding: 0 32px 22px;
}

.fileFolderPage__documentBody .display_contentFile__markdownContent {
  font-size: 16px;
  line-height: 1.75;
  color: #1e293b;
}

.fileFolderPage__documentBody .display_contentFile__markdownContent h1:first-child,
.fileFolderPage__documentBody .display_contentFile__markdownContent h2:first-child,
.fileFolderPage__documentBody .display_contentFile__markdownContent h3:first-child {
  margin-top: 0;
}

.fileFolderPage__documentBody .display_contentFile__textContent {
  margin: 0;
  padding: 18px 20px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #f8fafc;
  color: #0f172a;
  font-size: 14px;
  line-height: 1.7;
  white-space: pre-wrap;
  word-break: break-word;
}

.fileFolderPage__documentBody .display_contentFile__tableWrapper {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  overflow: auto;
  background: #ffffff;
}

.fileFolderPage__documentBody .display_contentFile__table {
  margin: 0;
}


/* ============================================
   Signature Components
   ============================================ */

/* Signature Actions */
.fileFolderSignatureActions {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed rgba(15, 23, 42, 0.12);
}

.fileFolderSignatureActions__button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: var(--jmkr-color-1);
  color: #ffffff;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

.fileFolderSignatureActions__button:hover {
  box-shadow: 0 8px 20px rgba(30, 173, 211, 0.25);
}

/* Signatures List */
.fileFolderSignatures {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px dashed rgba(15, 23, 42, 0.12);
}

.fileFolderSignatures__title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 12px;
}

/* Individual Signature */
.fileFolderSignature {
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 6px;
  padding: 16px;
  margin-bottom: 12px;
}

.fileFolderSignature__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.fileFolderSignature__signer {
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
}

.fileFolderSignature__date {
  font-size: 12px;
  color: #64748b;
}

.fileFolderSignature__typed {
  font-family: 'Brush Script MT', 'Dancing Script', cursive;
  font-size: 28px;
  color: #1e40af;
  padding: 12px 0;
}

.fileFolderSignature__canvas {
  background: transparent;
  max-width: 100%;
  height: auto;
}

.fileFolderSignature__meta {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  font-size: 12px;
  color: #64748b;
}

.fileFolderSignature__hash {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #16a34a;
}

/* Signature Modal */
.fileFolderSignatureModal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fileFolderSignatureModal__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.5);
}

.fileFolderSignatureModal__content {
  position: relative;
  z-index: 1;
  background: #ffffff;
  border-radius: 12px;
  width: 100%;
  max-width: 450px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.fileFolderSignatureModal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.fileFolderSignatureModal__header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #0f172a;
}

.fileFolderSignatureModal__close {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.2s ease;
}

.fileFolderSignatureModal__close:hover {
  background: rgba(15, 23, 42, 0.08);
}

.fileFolderSignatureModal__body {
  padding: 24px;
}

.fileFolderSignatureModal__tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}

.fileFolderSignatureModal__tab {
  flex: 1;
  padding: 12px 16px;
  text-align: center;
  background: #f1f5f9;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #64748b;
  cursor: pointer;
  transition: all 0.2s ease;
}

.fileFolderSignatureModal__tab.active {
  background: var(--jmkr-color-1);
  color: #ffffff;
}

.fileFolderSignatureModal__tabContent {
  display: none;
}

.fileFolderSignatureModal__tabContent.active {
  display: block;
}

.fileFolderSignatureModal__canvas {
  width: 100%;
  height: 150px;
  border: 2px dashed rgba(15, 23, 42, 0.15);
  border-radius: 8px;
  background: #ffffff;
  cursor: crosshair;
}

.fileFolderSignatureModal__canvasActions {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}

.fileFolderSignatureModal__clearCanvas,
.fileFolderSignatureModal__undoCanvas {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  background: #f1f5f9;
  border-radius: 4px;
  font-size: 12px;
  color: #64748b;
  cursor: pointer;
  transition: background 0.2s ease;
}

.fileFolderSignatureModal__clearCanvas:hover,
.fileFolderSignatureModal__undoCanvas:hover {
  background: #e2e8f0;
}

.fileFolderSignatureModal__typedInput {
  width: 100%;
  padding: 16px;
  border: 2px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  font-size: 16px;
  outline: none;
  transition: border-color 0.2s ease;
}

.fileFolderSignatureModal__typedInput:focus {
  border-color: var(--jmkr-color-1);
}

.fileFolderSignatureModal__typedPreview {
  font-family: 'Brush Script MT', 'Dancing Script', cursive;
  font-size: 32px;
  color: #1e40af;
  padding: 20px;
  text-align: center;
  min-height: 80px;
  border: 1px dashed rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  margin-top: 12px;
  background: #f8fafc;
}

.fileFolderSignatureModal__signerInfo {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px dashed rgba(15, 23, 42, 0.12);
}

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

.fileFolderSignatureModal__signerInfo label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #64748b;
  margin-bottom: 6px;
}

.fileFolderSignatureModal__signerInfo label .required {
  color: #ef4444;
}

.fileFolderSignatureModal__signerInfo input {
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 6px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s ease;
}

.fileFolderSignatureModal__signerInfo input:focus {
  border-color: var(--jmkr-color-1);
}

.fileFolderSignatureModal__agreement {
  margin-top: 16px;
  padding: 16px;
  background: #fef3c7;
  border-radius: 8px;
}

.fileFolderSignatureModal__agreement label {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 13px;
  color: #92400e;
  line-height: 1.5;
  cursor: pointer;
}

.fileFolderSignatureModal__agreement input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
}

.fileFolderSignatureModal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 24px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  background: #f8fafc;
}

.fileFolderSignatureModal__cancel {
  padding: 12px 20px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #64748b;
  cursor: pointer;
  transition: all 0.2s ease;
}

.fileFolderSignatureModal__cancel:hover {
  background: #f1f5f9;
}

.fileFolderSignatureModal__submit {
  padding: 12px 24px;
  background: var(--jmkr-color-1);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
}

.fileFolderSignatureModal__submit:hover {
  box-shadow: 0 8px 20px rgba(30, 173, 211, 0.25);
}

@media screen and (max-width: 480px) {
  .fileFolderSignatureModal__content {
    max-width: calc(100% - 32px);
    margin: 16px;
  }

  .fileFolderSignatureModal__header {
    padding: 16px;
  }

  .fileFolderSignatureModal__body {
    padding: 16px;
  }

  .fileFolderSignatureModal__footer {
    padding: 16px;
  }
}


/* ============================================
   Annotation Styles (Public Document Notes)
   ============================================
   Mirrors the Signature styles for visual consistency.
   ============================================ */

/* --- Section Container --- */
.fileFolderAnnotations {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px dashed rgba(15, 23, 42, 0.12);
}

.fileFolderAnnotations__title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.fileFolderAnnotations__count {
  background: var(--jmkr-color-1);
  color: #ffffff;
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 10px;
  font-weight: 600;
}

/* --- Individual Annotation Card --- */
.fileFolderAnnotation {
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 6px;
  padding: 14px;
  margin-bottom: 10px;
}

.fileFolderAnnotation:last-child {
  margin-bottom: 0;
}

.fileFolderAnnotation--resolved {
  opacity: 0.7;
}

.fileFolderAnnotation__quote {
  font-size: 13px;
  color: #64748b;
  font-style: italic;
  padding: 8px 12px;
  background: rgba(15, 23, 42, 0.03);
  border-left: 3px solid var(--jmkr-color-1);
  border-radius: 0 4px 4px 0;
  margin-bottom: 10px;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  line-height: 1.5;
}

.fileFolderAnnotation__quote i {
  flex-shrink: 0;
  opacity: 0.5;
  margin-top: 2px;
}

.fileFolderAnnotation__note {
  font-size: 14px;
  color: #334155;
  line-height: 1.6;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.fileFolderAnnotation__footer {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 10px;
  font-size: 12px;
  color: #94a3b8;
  flex-wrap: wrap;
}

.fileFolderAnnotation__author {
  font-weight: 500;
  color: #64748b;
}

.fileFolderAnnotation__date {
  color: #94a3b8;
}

.fileFolderAnnotation__resolved {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #22c55e;
  font-weight: 500;
}

.fileFolderAnnotation__resolved i {
  font-size: 14px;
}

/* --- Action Bar --- */
.fileFolderAnnotationActions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed rgba(15, 23, 42, 0.08);
}

.fileFolderAnnotationActions__hint {
  font-size: 13px;
  color: #94a3b8;
  display: flex;
  align-items: center;
  gap: 6px;
}

.fileFolderAnnotationActions__hint i {
  font-size: 14px;
}

.fileFolderAnnotationActions__button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: var(--jmkr-color-1);
  color: #ffffff;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.fileFolderAnnotationActions__button:hover {
  box-shadow: 0 8px 20px rgba(30, 173, 211, 0.25);
  transform: translateY(-1px);
}

.fileFolderAnnotationActions__button i {
  font-size: 16px;
}

/* --- Selection Popover --- */
.fileFolderAnnotationPopover {
  position: absolute;
  z-index: 1000;
  background: #0f172a;
  border-radius: 6px;
  padding: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  animation: annotationFadeInUp 0.15s ease;
}

.fileFolderAnnotationPopover__button {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.15s;
  white-space: nowrap;
}

.fileFolderAnnotationPopover__button:hover {
  background: rgba(255, 255, 255, 0.1);
}

.fileFolderAnnotationPopover__button i {
  font-size: 14px;
}

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

/* --- Modal (mirrors fileFolderSignatureModal) --- */
.fileFolderAnnotationModal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}

.fileFolderAnnotationModal__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.5);
}

.fileFolderAnnotationModal__content {
  position: relative;
  z-index: 1;
  background: #ffffff;
  border-radius: 12px;
  width: 100%;
  max-width: 480px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
  animation: annotationModalIn 0.2s ease;
}

@keyframes annotationModalIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(10px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.fileFolderAnnotationModal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.fileFolderAnnotationModal__header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #0f172a;
}

.fileFolderAnnotationModal__close {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
  color: #64748b;
}

.fileFolderAnnotationModal__close:hover {
  background: rgba(15, 23, 42, 0.08);
}

.fileFolderAnnotationModal__body {
  padding: 24px;
}

.fileFolderAnnotationModal__quote {
  font-size: 13px;
  color: #64748b;
  font-style: italic;
  padding: 12px 14px;
  background: #f8fafc;
  border-left: 3px solid var(--jmkr-color-1);
  border-radius: 0 6px 6px 0;
  margin-bottom: 20px;
  display: flex;
  gap: 10px;
  line-height: 1.5;
}

.fileFolderAnnotationModal__quote i {
  flex-shrink: 0;
  opacity: 0.5;
  margin-top: 2px;
}

.fileFolderAnnotationModal__quote span {
  word-break: break-word;
}

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

.fileFolderAnnotationModal__body .field:last-child {
  margin-bottom: 0;
}

.fileFolderAnnotationModal__body label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #64748b;
  margin-bottom: 6px;
}

.fileFolderAnnotationModal__body label .required {
  color: #ef4444;
}

.fileFolderAnnotationModal__body textarea {
  width: 100%;
  min-height: 100px;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 6px;
  font-size: 14px;
  resize: vertical;
  font-family: inherit;
  line-height: 1.5;
  color: #334155;
  box-sizing: border-box;
}

.fileFolderAnnotationModal__body textarea:focus {
  outline: none;
  border-color: var(--jmkr-color-1);
  box-shadow: 0 0 0 3px rgba(30, 173, 211, 0.1);
}

.fileFolderAnnotationModal__body textarea::placeholder {
  color: #94a3b8;
}

.fileFolderAnnotationModal__charCount {
  text-align: right;
  font-size: 11px;
  color: #94a3b8;
  margin-top: 4px;
}

.fileFolderAnnotationModal__signerInfo {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px dashed rgba(15, 23, 42, 0.12);
}

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

.fileFolderAnnotationModal__signerInfo input {
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 6px;
  font-size: 14px;
  color: #334155;
  box-sizing: border-box;
}

.fileFolderAnnotationModal__signerInfo input:focus {
  outline: none;
  border-color: var(--jmkr-color-1);
  box-shadow: 0 0 0 3px rgba(30, 173, 211, 0.1);
}

.fileFolderAnnotationModal__signerInfo input::placeholder {
  color: #94a3b8;
}

.fileFolderAnnotationModal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 24px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.fileFolderAnnotationModal__cancel {
  padding: 12px 20px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #64748b;
  cursor: pointer;
  transition: all 0.15s;
}

.fileFolderAnnotationModal__cancel:hover {
  background: #f1f5f9;
  border-color: rgba(15, 23, 42, 0.2);
}

.fileFolderAnnotationModal__submit {
  padding: 12px 24px;
  background: var(--jmkr-color-1);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
}

.fileFolderAnnotationModal__submit:hover {
  box-shadow: 0 8px 20px rgba(30, 173, 211, 0.25);
  transform: translateY(-1px);
}

/* --- Annotatable Text Indicator --- */
.publicDocument__richText.annotatable {
  cursor: text;
}

.publicDocument__richText.annotatable::selection {
  background: rgba(30, 173, 211, 0.2);
}

.publicDocument__richText.annotatable::-moz-selection {
  background: rgba(30, 173, 211, 0.2);
}

/* --- Full-Screen HTML Document View (public page, bypasses publicPage wrapper) --- */
/* Pattern: cinemaPage.css:171 (watermark), studioOverlay (full-viewport) */
.fileFolderPage__fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #fff;
  z-index: 1;
}

.fileFolderPage__fullscreenIframe {
  width: 100%;
  height: 100%;
  border: none;
  background: #fff;
}

.fileFolderPage__watermark {
  position: absolute;
  bottom: 12px;
  left: 12px;
  opacity: 0.4;
  transition: opacity 0.2s;
  z-index: 2;
  pointer-events: auto;
}

.fileFolderPage__watermark:hover {
  opacity: 0.8;
}

.fileFolderPage__watermarkText {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 11px;
  color: #666;
  text-decoration: none;
  letter-spacing: 0.5px;
  background: rgba(255, 255, 255, 0.85);
  padding: 4px 10px;
  border-radius: 4px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.fileFolderPage__watermarkText:hover {
  color: #444;
}

/* --- Spec 1196 W1: Embed Mode --- */
/* Chrome hiding — all non-content elements hidden via CSS descendant selectors */
/* Pattern source: invoicePage.css:147 (.embeddedInvoice .hideIfEmbedded { display: none; }) */
.fileFolderPage--embed #printLabel { display: none; }
.fileFolderPage--embed #lineup { display: none; }
.fileFolderPage--embed #title { display: none; }
.fileFolderPage--embed .fileFolderSignatures { display: none; }
.fileFolderPage--embed .fileFolderSignatureActions { display: none; }
.fileFolderPage--embed .fileFolderAnnotations { display: none; }
.fileFolderPage--embed .fileFolderAnnotationActions { display: none; }
.fileFolderPage--embed .fileFolder__ttsAction { display: none; }
.fileFolderPage--embed .downloadThumbnail__link { display: none; }
.fileFolderPage--embed .fileFolderPage__watermark { display: none; }

/* Full-bleed layout — remove max-width constraint and padding for edge-to-edge content */
.fileFolderPage--embed #page.page1280width { max-width: none; padding: 0; }
.fileFolderPage--embed #printArea { padding: 0; margin: 0; }

/* --- Spec 1196 W3: Embed Thumbnail Mode --- */
/* Pattern source: .fileFolderPage__fullscreen (fileFolder.css:1230) for BEM naming */

/* Thumbnail container — centered flexbox layout, full clickable surface */
.fileFolderEmbed__thumbnail {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  padding: 12px;
  box-sizing: border-box;
  cursor: pointer;
  overflow: hidden;
  background: #fafafa;
}

/* File type icon — prominent centered display */
.fileFolderEmbed__thumbnailIcon {
  font-size: 36px;
  color: #555;
  margin-bottom: 8px;
  line-height: 1;
}

.fileFolderEmbed__thumbnailIcon .lucide-icon {
  width: 36px;
  height: 36px;
}

/* File name — truncated single line */
.fileFolderEmbed__thumbnailName {
  font-size: 12px;
  font-weight: 500;
  color: #333;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
  line-height: 1.3;
}

/* File size badge */
.fileFolderEmbed__thumbnailSize {
  font-size: 10px;
  color: #888;
  margin-top: 4px;
  line-height: 1;
}

/* --- Spec 1196 W3: Embed Media Queries (iframe viewport) --- */
/* Threshold: < 250px height = thumbnail, >= 250px = full */
/* These provide CSS-level fallback alongside the ResizeObserver JS logic */
@media (max-height: 249px) {
  .fileFolderPage--embed .display_contentFile { display: none; }
  .fileFolderPage--embed .publicDocument__richText { display: none; }
}
/* --- Spec 1196 W3: Smooth Mode Transitions --- */
/* Transition for thumbnail/full switching without flash or reflow */
.fileFolderPage--embed .display_contentFile,
.fileFolderPage--embed .publicDocument__richText,
.fileFolderPage--embed .fileFolderPage__fullscreen {
  transition: opacity 0.2s ease-in-out;
}

/* --- Mobile Responsive --- */
@media screen and (max-width: 767px) {
  .publicPage #printLabel {
    width: 100%;
    justify-content: center;
    margin-bottom: 12px;
  }

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

  .fileFolderPage__documentBody {
    padding: 22px 18px 24px;
  }

  .fileFolderPage__documentFooterNote {
    padding: 0 18px 18px;
  }

  .fileFolderAnnotationActions {
    flex-direction: column;
    align-items: stretch;
  }

  .fileFolderAnnotationActions__hint {
    text-align: center;
    justify-content: center;
    margin-bottom: 8px;
  }

  .fileFolderAnnotationActions__button {
    justify-content: center;
  }

  .fileFolderAnnotationPopover {
    left: 50% !important;
    transform: translateX(-50%);
  }

  .fileFolderAnnotationModal__content {
    max-width: calc(100% - 32px);
    margin: 16px;
    max-height: calc(100vh - 32px);
    overflow-y: auto;
  }

  .fileFolderAnnotationModal__header {
    padding: 16px;
  }

  .fileFolderAnnotationModal__body {
    padding: 16px;
  }

  .fileFolderAnnotationModal__footer {
    padding: 16px;
  }

  .fileFolderAnnotation__footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}

/* ============================================
   Dashboard-specific Annotation Styles
   ============================================ */

.fileFolderAnnotations--dashboard {
  margin-top: 17px;
  padding: 17px;
  background: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #e9ecef;
}

.fileFolderAnnotations--dashboard .fileFolderAnnotations__title {
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 600;
  color: #495057;
}

.fileFolderAnnotations--dashboard .fileFolderAnnotations__count {
  font-size: 11px;
  padding: 2px 6px;
}

.fileFolderAnnotation--dashboard {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 12px;
  margin-bottom: 10px;
}

.fileFolderAnnotation--dashboard:last-child {
  margin-bottom: 0;
}

.fileFolderAnnotation--dashboard.fileFolderAnnotation--resolved {
  opacity: 0.6;
  background: #f8f9fa;
}

.fileFolderAnnotation--dashboard .fileFolderAnnotation__quote {
  font-size: 12px;
  padding: 8px 10px;
  margin-bottom: 8px;
}

.fileFolderAnnotation--dashboard .fileFolderAnnotation__note {
  font-size: 13px;
  line-height: 1.5;
}

.fileFolderAnnotation--dashboard .fileFolderAnnotation__footer {
  font-size: 11px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #e9ecef;
}

.fileFolderAnnotation__email {
  color: #6c757d;
  font-size: 11px;
}

.fileFolderAnnotation__actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #e9ecef;
}

.fileFolderAnnotation__action {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 500;
  color: #495057;
  background: #e9ecef;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.fileFolderAnnotation__action:hover {
  background: #dee2e6;
  color: #212529;
}

.fileFolderAnnotation__action i {
  font-size: 12px;
}

.fileFolderAnnotation__action--danger {
  color: #dc3545;
  background: #fff5f5;
}

.fileFolderAnnotation__action--danger:hover {
  background: #f8d7da;
  color: #c82333;
}

/* ============================================
   Inline Annotation Highlights
   ============================================ */

/* CSS Custom Highlight API styles (no DOM modification - best for layout) */
::highlight(fileFolderAnnotations) {
  background-color: rgba(253, 224, 71, 0.4);
  color: inherit;
}

::highlight(fileFolderAnnotationsResolved) {
  background-color: rgba(134, 239, 172, 0.35);
  color: inherit;
}

/* Fallback: mark.js DOM-based highlights - minimal layout impact design */
.fileFolderHighlight {
  background-color: rgba(253, 224, 71, 0.35);
  text-decoration: underline;
  text-decoration-color: #eab308;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
  cursor: pointer;
  border-radius: 2px;
  transition: background-color 0.15s ease;
  /* Ensure inline display doesn't break layout */
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.fileFolderHighlight:hover {
  background-color: rgba(253, 224, 71, 0.55);
  text-decoration-color: #ca8a04;
}

.fileFolderHighlight--resolved {
  background-color: rgba(134, 239, 172, 0.3);
  text-decoration-color: #22c55e;
}

.fileFolderHighlight--resolved:hover {
  background-color: rgba(134, 239, 172, 0.5);
}

/* Badge - smaller size to minimize line impact */
.fileFolderHighlight__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  background: #eab308;
  border-radius: 50%;
  margin-left: 2px;
  vertical-align: text-top;
  font-size: 8px;
  color: #fff;
  line-height: 1;
}

.fileFolderHighlight__badge i {
  font-size: 8px;
  line-height: 1;
}

.fileFolderHighlight--resolved .fileFolderHighlight__badge {
  background: #22c55e;
}

/* ============================================
   Annotation Detail Modal
   ============================================ */

.fileFolderAnnotationDetailModal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: annotationModalIn 0.2s ease-out;
}

.fileFolderAnnotationDetailModal__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}

.fileFolderAnnotationDetailModal__content {
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
  width: 90%;
  max-width: 500px;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.fileFolderAnnotationDetailModal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #e9ecef;
}

.fileFolderAnnotationDetailModal__header h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
  display: flex;
  align-items: center;
  gap: 8px;
}

.fileFolderAnnotationDetailModal__header h3 i {
  color: #eab308;
}

.fileFolderAnnotationDetailModal__close {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  cursor: pointer;
  color: #6b7280;
  transition: all 0.15s ease;
}

.fileFolderAnnotationDetailModal__close:hover {
  background: #f3f4f6;
  color: #1f2937;
}

.fileFolderAnnotationDetailModal__body {
  padding: 20px;
  overflow-y: auto;
  flex: 1;
}

.fileFolderAnnotationDetailModal__quote {
  background: #fffbeb;
  border-left: 3px solid #eab308;
  padding: 12px 16px;
  margin-bottom: 16px;
  border-radius: 0 4px 4px 0;
  font-style: italic;
  color: #92400e;
  font-size: 14px;
  line-height: 1.5;
  display: flex;
  gap: 10px;
}

.fileFolderAnnotationDetailModal__quote i {
  color: #d97706;
  flex-shrink: 0;
  margin-top: 2px;
}

.fileFolderAnnotationDetailModal__note {
  font-size: 15px;
  line-height: 1.6;
  color: #374151;
  margin-bottom: 16px;
}

.fileFolderAnnotationDetailModal__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid #e9ecef;
  font-size: 13px;
  color: #6b7280;
}

.fileFolderAnnotationDetailModal__author,
.fileFolderAnnotationDetailModal__date {
  display: flex;
  align-items: center;
  gap: 6px;
}

.fileFolderAnnotationDetailModal__author i,
.fileFolderAnnotationDetailModal__date i {
  color: #9ca3af;
}

.fileFolderAnnotationDetailModal__email {
  color: #9ca3af;
  font-size: 12px;
}

.fileFolderAnnotationDetailModal__resolved {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #22c55e;
  font-weight: 500;
}

.fileFolderAnnotationDetailModal__footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  border-top: 1px solid #e9ecef;
  background: #f9fafb;
}

.fileFolderAnnotationDetailModal__nav {
  display: flex;
  gap: 8px;
  margin-right: auto;
}

.fileFolderAnnotationDetailModal__navBtn {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 12px;
  background: #3b82f6;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s ease;
}

.fileFolderAnnotationDetailModal__navBtn:hover {
  background: #2563eb;
}

.fileFolderAnnotationDetailModal__navBtn i {
  font-size: 14px;
}

.fileFolderAnnotationDetailModal__footer .fileFolderAnnotationDetailModal__close {
  width: auto;
  height: auto;
  padding: 8px 20px;
  background: #e5e7eb;
  color: #374151;
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px;
}

.fileFolderAnnotationDetailModal__footer .fileFolderAnnotationDetailModal__close:hover {
  background: #d1d5db;
}

/* Mobile responsiveness for detail modal */
@media (max-width: 767px) {
  .fileFolderAnnotationDetailModal__content {
    width: 95%;
    max-height: calc(100vh - 32px);
  }

  .fileFolderAnnotationDetailModal__body {
    padding: 16px;
  }

  .fileFolderAnnotationDetailModal__meta {
    flex-direction: column;
    gap: 8px;
  }
}

/* ==========================================================================
   FILE/FOLDER THUMBNAIL GRID VIEW - Aliases to shared data-thumbnail.css
   ========================================================================== */

/*
 * Core thumbnail styles are now in _stylesheets/data-thumbnail.css
 * These aliases maintain backward compatibility with existing fileFolder templates
 * while allowing the same styles to be reused in teleconference and other modules.
 */

/* Container aliases */
#jmkrClient .fileFolderGrid__container { /* inherits from dataThumbnailGrid__container */ }
#jmkrClient .fileFolderGrid { /* inherits from dataThumbnailGrid */ }
#jmkrClient .fileFolderCard__wrapper { /* inherits from dataThumbnailCard__wrapper */ }
#jmkrClient .fileFolderCard { /* inherits from dataThumbnailCard */ }
#jmkrClient .fileFolderCard__preview { /* inherits from dataThumbnailCard__preview */ }
#jmkrClient .fileFolderCard__image { /* inherits from dataThumbnailCard__image */ }
#jmkrClient .fileFolderCard__info { /* inherits from dataThumbnailCard__info */ }
#jmkrClient .fileFolderCard__name { /* inherits from dataThumbnailCard__name */ }
#jmkrClient .fileFolderCard__meta { /* inherits from dataThumbnailCard__meta */ }
#jmkrClient .fileFolderCard__actions { /* inherits from dataThumbnailCard__actions */ }
#jmkrClient .fileFolderCard__action { /* inherits from dataThumbnailCard__action */ }

/* Apply dataThumbnail styles to fileFolder aliases */
#jmkrClient .fileFolderGrid__container {
    padding: 16px;
    overflow-y: auto;
    overflow-x: hidden;
    background: #f8fafc;
}

#jmkrClient .fileFolderGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 16px;
    padding-bottom: 16px;
}

#jmkrClient .fileFolderCard__wrapper { display: contents; }

#jmkrClient .fileFolderCard {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    overflow: hidden;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

#jmkrClient .fileFolderCard:hover {
    border-color: rgba(15, 23, 42, 0.15);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08), 0 2px 4px rgba(15, 23, 42, 0.04);
    transform: translateY(-2px);
}

#jmkrClient .fileFolderCard:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
}

#jmkrClient .fileFolderCard__preview {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    overflow: hidden;
}

#jmkrClient .fileFolderCard__preview i {
    font-size: 48px;
    color: #94a3b8;
    transition: color 0.2s ease, transform 0.2s ease;
}

#jmkrClient .fileFolderCard:hover .fileFolderCard__preview i { transform: scale(1.05); }

#jmkrClient .fileFolderCard__preview--image { background: #f1f5f9; }

#jmkrClient .fileFolderCard__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

#jmkrClient .fileFolderCard:hover .fileFolderCard__image { transform: scale(1.03); }

/* Type-specific preview colors */
#jmkrClient .fileFolderCard__preview--folder { background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); }
#jmkrClient .fileFolderCard__preview--folder i { color: #d97706; font-size: 52px; }
#jmkrClient .fileFolderCard:hover .fileFolderCard__preview--folder i { color: #b45309; }

#jmkrClient .fileFolderCard__preview--pdf { background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%); }
#jmkrClient .fileFolderCard__preview--pdf i { color: #dc2626; }

#jmkrClient .fileFolderCard__preview--doc { background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%); }
#jmkrClient .fileFolderCard__preview--doc i { color: #2563eb; }

#jmkrClient .fileFolderCard__preview--spreadsheet { background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%); }
#jmkrClient .fileFolderCard__preview--spreadsheet i { color: #16a34a; }

#jmkrClient .fileFolderCard__preview--presentation { background: linear-gradient(135deg, #ffedd5 0%, #fed7aa 100%); }
#jmkrClient .fileFolderCard__preview--presentation i { color: #ea580c; }

#jmkrClient .fileFolderCard__preview--video { background: linear-gradient(135deg, #ede9fe 0%, #ddd6fe 100%); }
#jmkrClient .fileFolderCard__preview--video i { color: #7c3aed; }

#jmkrClient .fileFolderCard__preview--audio { background: linear-gradient(135deg, #fce7f3 0%, #fbcfe8 100%); }
#jmkrClient .fileFolderCard__preview--audio i { color: #db2777; }

#jmkrClient .fileFolderCard__preview--archive { background: linear-gradient(135deg, #f5f5f4 0%, #e7e5e4 100%); }
#jmkrClient .fileFolderCard__preview--archive i { color: #78716c; }

#jmkrClient .fileFolderCard__preview--code { background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%); }
#jmkrClient .fileFolderCard__preview--code i { color: #059669; }

#jmkrClient .fileFolderCard__preview--generic { background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%); }
#jmkrClient .fileFolderCard__preview--generic i { color: #64748b; }

#jmkrClient .fileFolderCard__info {
    padding: 12px;
    border-top: 1px solid rgba(15, 23, 42, 0.04);
    background: #ffffff;
}

#jmkrClient .fileFolderCard__name {
    font-size: 13px;
    font-weight: 500;
    color: #1e293b;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    min-height: 36px;
}

#jmkrClient .fileFolderCard__meta {
    font-size: 11px;
    color: #94a3b8;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}

#jmkrClient .fileFolderCard--selected {
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 0 2px rgba(30, 171, 211, 0.2);
}

#jmkrClient .fileFolderCard--selected .fileFolderCard__preview {
    background: rgba(30, 171, 211, 0.05);
}

#jmkrClient .fileFolderCard__actions {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    gap: 4px;
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: 10;
}

#jmkrClient .fileFolderCard:hover .fileFolderCard__actions { opacity: 1; }

#jmkrClient .fileFolderCard__action {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 6px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    color: #64748b;
    transition: all 0.15s ease;
    cursor: pointer;
}

#jmkrClient .fileFolderCard__action:hover {
    background: #ffffff;
    color: #1e293b;
    border-color: rgba(15, 23, 42, 0.2);
}

/* Responsive Grid */
@media (max-width: 1200px) {
    #jmkrClient .fileFolderGrid {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap: 12px;
    }
}

@media (max-width: 768px) {
    #jmkrClient .fileFolderGrid__container { padding: 12px; }
    #jmkrClient .fileFolderGrid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
    #jmkrClient .fileFolderCard__preview i { font-size: 40px; }
    #jmkrClient .fileFolderCard__info { padding: 10px; }
    #jmkrClient .fileFolderCard__name { font-size: 12px; min-height: 32px; }
    #jmkrClient .fileFolderCard__actions { opacity: 1; }
}

@media (max-width: 480px) {
    #jmkrClient .fileFolderGrid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    #jmkrClient .fileFolderCard { border-radius: 8px; }
    #jmkrClient .fileFolderCard__preview { aspect-ratio: 1 / 1; }
    #jmkrClient .fileFolderCard__preview i { font-size: 36px; }
    #jmkrClient .fileFolderCard__info { padding: 8px; }
    #jmkrClient .fileFolderCard__name { font-size: 11px; -webkit-line-clamp: 1; min-height: auto; }
    #jmkrClient .fileFolderCard__meta { font-size: 10px; }
}

/* ── Spec 993: File Folder TTS Play Button ─────────────────────────────── */
.fileFolder__ttsAction {
    margin: 8px 0;
    text-align: left;
}
.fileFolder__ttsAction--webText {
    float: left;
    margin-right: 10px;
}
.fileFolder__ttsButton {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    background: transparent;
    color: var(--text-color, #333);
    font-size: 13px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.fileFolder__ttsButton:hover {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.25);
}
.fileFolder__ttsButton.generating {
    opacity: 0.6;
    pointer-events: none;
}
.fileFolder__ttsButton.generating .lucide-icon {
    animation: spin 1s linear infinite;
}
.fileFolder__ttsButton.playing {
    background: rgba(var(--accent-rgb, 66, 133, 244), 0.08);
    border-color: rgba(var(--accent-rgb, 66, 133, 244), 0.3);
}
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}.x-spreadsheet-selector .hide-input input {
  width: 0 !important;
  height: 0 !important;
  border: none !important;

  min-width: 0px !important;
  min-height: 0px !important;
}
.x-spreadsheet-editor .x-spreadsheet-editor-area textarea {
  box-sizing: content-box !important;
  border: none !important;
  padding: 0 3px !important;
  outline: none !important;
  resize: none !important;
  text-align: start !important;
  overflow-y: hidden !important;
  font: 400 13px Arial, 'Lato', 'Source Sans Pro', Roboto, Helvetica, sans-serif !important;
  color: inherit !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  line-height: 22px !important;
  margin: 0 !important;

  min-width: 0px !important;
  min-height: 0px !important;
}#Fleet #map {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 3.5px;
    margin-top: 5px;
}

#wrapIframeForFleetAdmin {
    position: relative;
    overflow: hidden;
}

#iframeForFleetAdmin {
    position: absolute;
    top: -70px;
    width: 100% !important;
    height: calc(100% + 70px) !important;

    display: block;
    border: none;
}

#fleetFilterForm {
    float: left;
    width: calc(100% - var(--line-height));
}

#inputFleetOperatorSearch input,
#inputFleetUserSearch input,
#inputServiceTypeSearch input {
    border-radius: 0px !important;
    border-top: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#filterFleetOperatorDropdown,
#searchFleetOperatorToggle,
#searchFleetUserToggle,
#searchServiceTypeToggle,
#searchFleetPaymentRequestToggle {
    float: left;
    background: var(--jmkr-color-1);
    color: white;
    width: var(--line-height);
    text-align: center;
    height: var(--line-height);
    line-height: var(--line-height);
    cursor: pointer;
}


#operatorFleetForm #addFleetMember {
    background: var(--jmkr-color-1);
    color: white;
    margin-bottom: 11px;
    padding: 11px;
    padding-left: 0px;
    padding-right: 0px;
    text-align: center;
    letter-spacing: 0.7px;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
}

#fleetMemberListHeader {
    background: var(--jmkr-color-1);
    color: white;
    padding-left: 17px;
    border-radius: 4px;
    letter-spacing: 0.7px;
    font-size: 15px;
    line-height: 15px;
}

#fleetMemberListRow {
    padding-left: 11px;
    padding-right: 11px;
}

.fleetMember {
    padding: 11px;
    padding-top: 7px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    margin-bottom: 11px;
    background: rgba(0, 0, 0, 0.017);
}

.deleteFleetMember {
    float: right;
    cursor: pointer;

    margin-top: -15px;
    margin-right: -21px;

    font-size: 12px;
    color: white;
    background: var(--jmkr-color-1);
    width: 21px;
    height: 21px;
    line-height: 20px;
    border-radius: 50%;
    text-align: center;
    padding-top: 1px;
}

.ui.dropdown .left.menu {
    left: auto;
    right: 100%;
    margin: 0 -.5em 0 0 !important;
    border-radius: .28571429rem !important;
}

.page .tab .page {
    padding-top: 11px;
}

#serviceTypeForm .deleteListEntry {
    cursor: pointer;

    position: absolute;
    top: 1.7px;
    right: 11px;

    font-size: 12px;
    color: white;
    background: var(--jmkr-color-1);
    width: 21px;
    height: 21px;
    line-height: 20px;
    border-radius: 50%;
    text-align: center;
    padding-left: 1px;
}

#serviceTypeForm #addServiceTypeField {
    background: var(--jmkr-color-1);
    color: white;
    margin-bottom: 11px;
    padding: 11px;
    padding-left: 0px;
    padding-right: 0px;
    text-align: center;
    letter-spacing: 0.7px;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
}

#map > div.leaflet-pane.leaflet-map-pane > div.leaflet-pane.leaflet-marker-pane img {
	
}
#map > div.leaflet-pane.leaflet-map-pane > div.leaflet-pane.leaflet-marker-pane .customMarker {
	display: block !important;
	z-index: 9998 !important;

}
#Fleet .mapboxgl-ctrl-top-right {
    top: auto !important;
    bottom: 11px;
}


#mapIconGreen, #mapIconYellow, #mapIconRed, #mapIconPickup, #mapIconMiddle, #mapIconDropoff, #mapIconPersonal, #mapIconDriver, #mapIconCarriage {
	background-image: url('gtthr/mapicongreen.png');
	background-repeat: no-repeat; background-position: center; background-size: contain;
	width: 34px; height: 65px;
}

#mapIconPersonal { background-image: url('gtthr/personalmarkericon.png'); width: 40px; height: 40px; }
#mapIconDriver { background-image: url('gtthr/drivermarkericon.png'); width: 40px; height: 40px; }
#mapIconCarriage { background-image: url('gtthr/carriagemarkericon.png'); width: 40px; height: 40px; }
#mapIconPickup { background-image: url('gtthr/mapiconpickup.png'); }
#mapIconPickup .fullName { 
    width: 100px; margin-left: -35px;
    line-height: 13px; font-size: 15px;
    color: white; font-weight: bold;
    margin-top: 60px; text-align: center;
    text-shadow: 2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
} #mapIconDropoff .price { 
    width: 100px; margin-left: -35px;
    line-height: 13px; font-size: 21px;
    color: white; font-weight: bold;
    margin-top: 60px; text-align: center;
    text-shadow: 2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
} #mapIconDropoff .bonus { 
    width: 100px; margin-left: calc(-35px);
    line-height: 13px; font-size: 15px;
    color: white; font-weight: bold;
    margin-top: 7px; text-align: right;
    text-shadow: 2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
} #mapIconDropoff .bonus span { 
    font-size: 11px;
}
#mapIconMiddle { 
    opacity: 1; 
    color: white; font-weight: bold; font-size: 23px; line-height: 17px; 
    text-align: center; padding-top: 7px;
    text-shadow: 2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
    background-image: url('gtthr/mapiconcheckpoint.png'); 
}
#mapIconMiddle .nth { 
    font-size: 13px; letter-spacing: 0.7px;
    padding-left: 1px;
}
#mapIconMiddle .stp { 
    font-size: 13px; padding-left: 7px;
    margin-top: -7px;
}
#mapIconDropoff { background-image: url('gtthr/mapicondropoff.png'); }
#mapIconDestination { cursor:pointer; background-image: url('gtthr/mapicondestination.png'); }
#mapIconYellow { background-image: url('gtthr/mapiconyellow.png'); }
#mapIconRed { background-image: url('gtthr/mapiconred.png'); }
#mapIconGreen #icon, #mapIconYellow #icon, #mapIconRed #icon {
	text-align: center;
	font-size: 15px; color: white;
	padding-top: 16px;
}#formForm #addFormField {
  background: var(--jmkr-color-1);
  color: white;
  margin-bottom: 11px;
  padding: 11px;
  padding-left: 0px;
  padding-right: 0px;
  text-align: center;
  letter-spacing: 0.7px;
  font-size: 14px;
  border-radius: 5px;
  cursor: pointer;
}

#formForm .formField,
#WebsiteBuilderModuleForm .formField,
#serviceTypeForm .formField {
  position: relative;
  padding: 11px;
  padding-top: 7px;
  border: 1px solid rgba(0, 0, 0, 0.17);
  border-radius: 4px;
  margin-bottom: 15px;
  background: white;
}

#formForm .formField h4,
#serviceTypeForm .formField h4 {
  opacity: 0.5;
  margin-top: 20px;
  padding-bottom: 5px;
  border-bottom: 1px dotted grey;
}

#formForm .formField .toggleFormFieldIsRequired,
#formForm .formField .toggleFormFieldIsBranched,
#formForm .formField .toggleFormFieldCanCreate {
  margin-top: 5px;
}

.dragField {
  position: absolute;
  right: 10px;
  bottom: 10px;
  text-align: center;
  padding-top: 0px;
  margin-bottom: -5px;
  opacity: 0.35;
  cursor: grab;
}

#formForm .formField .insertFieldButton {
  position: absolute;
  z-index: 2;
  left: calc(50% - 150px/2);

  line-height: 20px;
  width: 150px;
  text-align: center;

  border-radius: 3.5px;
  border: 1px solid rgba(0, 0, 0, 0.17);
  background-color: white;
  font-size: 11px;

  display: none;
  cursor: pointer;
}

#formForm .formField:hover .insertFieldButton {
  display: block;
}

#formForm .formField:hover .insertFieldButton:hover {
  background: var(--jmkr-color-1);
  border-color: white;
  color: white;
}

#formForm .formField .insertFieldButton.above {
  top: calc(-20px / 2);
}

#formForm .formField .insertFieldButton.below {
  bottom: calc(-20px / 2);
}

#formForm .deleteFormField,
#WebsiteBuilderModuleForm .deleteFormField,
#serviceTypeForm .deleteServiceTypeField {
  float: right;
  cursor: pointer;

  margin-top: -15px;
  margin-right: -15px;

  font-size: 15px;
  color: white;
  background: var(--jmkr-color-1);
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 0.5em;
  text-align: center;
  padding-left: 1px;
}

#formFieldListHeader {
  background: var(--jmkr-color-1);
  color: white;
  padding-left: 17px;
  border-radius: 4px;
  letter-spacing: 0.7px;
  font-size: 15px;
  line-height: 15px;
}

#formFieldListRow {
  padding-left: 11px;
  padding-right: 11px;
}

#formFilterForm {
  float: left;
  width: calc(100% - var(--line-height));
}

#inputFormSearch input,
#inputFormTransactionSearch input {
  border-radius: 0px !important;
  border-top: 0px !important;
  border-color: rgba(30, 173, 211, 0.35) !important;
}

#searchFormToggle,
#searchFormTransactionToggle {
  float: left;
  background: var(--jmkr-color-1);
  color: white;
  width: var(--line-height);
  text-align: center;
  height: var(--line-height);
  line-height: var(--line-height);
  cursor: pointer;
}

.embeddedForm .hideIfEmbedded {
  display: none;
}

@media screen and (max-width: 767px) {
  #ToolPage #page.embeddedForm {
    padding-left: 11px;
    padding-right: 11px;
  }
}

.embeddedForm #printArea {
  padding: 0px !important;
}

#formScheduleWeekScroll {
  overflow-x: scroll;
  overflow-y: hidden;
  white-space: nowrap;
  padding-top: 7px;
  padding-bottom: 11px;
}

#formScheduleWeekScroll .formScheduleWeek {
  display: inline-block;
  width: calc(20% - 11px - 1px*3.35 + 11px/5);
  min-width: 107px;
  height: 70px;
  border: 1px solid #E5E5E5;
  border-radius: 7px;
  margin-right: 11px;
  text-align: center;
  line-height: 70px;
  font-size: 14px;
  cursor: pointer;
}

#formScheduleWeekScroll .formScheduleWeek.active {
  border: none;
  background: var(--jmkr-color-1);
  color: white;
}

#formForm .formPDFTemplate .field,
#formForm .formPDFTemplate #contentFormUploadButton {
  background-color: white;
}

#formForm .formPDFTemplate #contentFormUploadButton {
  border-bottom: 1px solid rgba(0, 0, 0, 0.177) !important;
  line-height: calc(var(--line-height) - 1px) !important;
}

#formForm .formPDFTemplate .field {
  margin-bottom: 0px !important;
}

#formForm .formPDFTemplate .column {
  padding: 0px !important;
  margin: 0px !important;
}#FormPage {
	padding-top: 0px;
	background: white;
}

#FormPage #page {
	letter-spacing: 0.5px;
}

#FormPage #printArea {
	padding: 15px;
	padding-top: 0px;
}

#FormPage #title {
	font-size: 30px;
	line-height: 35px;
	font-weight: 300;
	padding-top: 15px;
	padding-bottom: 15px;
}

@media screen and (max-width: 767px) {
	#FormPage #title {
		padding-right: 45px;
	}
}

#FormPage #description {
	padding-top: 10px;
	padding-bottom: 17px;
	border-bottom: 1px solid silver;
	color: #2f2f2f;
	font-size: 16px;
	line-height: 1.65;
	word-break: break-word;
}

#FormPage #description>*:first-child {
	margin-top: 0;
}

#FormPage #description>*:last-child {
	margin-bottom: 0;
}

#FormPage #description p {
	margin: 0 0 1em;
}

#FormPage #description h1,
#FormPage #description h2,
#FormPage #description h3,
#FormPage #description h4,
#FormPage #description h5,
#FormPage #description h6 {
	margin: 1.5em 0 0.65em;
	font-weight: 600;
	line-height: 1.35;
}

#FormPage #description ul,
#FormPage #description ol {
	margin: 0 0 1em 1.25em;
	padding-left: 1.25em;
}

#FormPage #description li {
	margin-bottom: 0.35em;
}

#FormPage #description a {
	color: var(--jmkr-color-1);
	text-decoration: underline;
}

#FormPage #description blockquote {
	margin: 1em 0;
	padding: 0.75em 1em;
	border-left: 4px solid rgba(0, 0, 0, 0.15);
	background: rgba(0, 0, 0, 0.03);
	font-style: italic;
}

#FormPage #description img,
#FormPage #description video,
#FormPage #description iframe {
	max-width: 100%;
	height: auto;
	margin: 0.75em 0;
	border-radius: 4px;
	display: block;
}

#FormPage #description table {
	width: 100%;
	margin: 1em 0;
	border-collapse: collapse;
	font-size: 15px;
}

#FormPage #description th,
#FormPage #description td {
	border: 1px solid #d9d9d9;
	padding: 0.55em 0.75em;
	text-align: left;
}

#FormPage #description thead {
	background: #f7f7f7;
}

#FormPage #description hr {
	border: none;
	border-top: 1px solid rgba(0, 0, 0, 0.12);
	margin: 1.5em 0;
}

@media screen and (max-width: 600px) {
	#FormPage #description {
		font-size: 15px;
		line-height: 1.55;
	}
}

#FormPage #FormPageFieldList .ui.attached.tabular.menu.formFieldTabMenu {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 100% !important;
	margin-left: 0px !important;
	margin-right: 0px !important;
	margin-top: 1em !important;
	margin-bottom: -0.5em !important;
	border-radius: 2px !important;
	overflow-y: hidden !important;
	overflow-x: auto !important;
}

#FormPageFieldList .formFieldPage {
	border: 1px solid rgba(192, 192, 192, 0.75);
	border-bottom: 3.5px solid rgba(192, 192, 192, 0.35);
	border-radius: 2.5px;
	box-shadow: 3.5px 3.5px 20px 0px rgba(0, 0, 0, 0.017);
	break-inside: avoid-page;
}

#FormPageFieldList .formFieldListRow {
	padding: 1em;
	padding-top: 7.5px;
	border-top: 2.5px solid rgba(192, 192, 192, 0.35);
	border-radius: 2.5px;
	break-inside: avoid-page;
}

#FormPageFieldList .formFieldListRow:first-of-type {
	border-top: none;
}

#FormPageFieldList .formFieldListRow .title {
	font-size: 15px;
	line-height: 25px;
	font-weight: 600;
	margin-bottom: 7px;
	letter-spacing: 0.75px;
}

#FormPageFieldList .formFieldListRow .detail {
	font-size: 15px;
	line-height: 20px;
	opacity: 0.7;
	padding-top: 5px;
	padding-bottom: 11px;
	margin-bottom: 0px;
}

.formFieldPage .formFieldListRow input {
	width: 100%;
}

#jmkrClient canvas.jmkrCanvas,
#jmkrClient canvas.jmkrCanvassignature {
	margin: auto;
	border: 1px solid silver;
	border-radius: 3.5px;
	margin-top: 11px;
	box-shadow: 3.5px 3.5px 17px 0px rgba(0, 0, 0, 0.035);

	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

#jmkrClient canvas.jmkrCanvassignature {
	max-width: 350px;
	width: 100%;
}

#jmkrClient .canvasButton {
	float: left;
	background: var(--jmkr-color-1);
	color: white;
	border-radius: 3.5px;
	margin-top: 11px;
	margin-right: 11px;
	padding: 10px;
	padding-left: 20px;
	padding-right: 20px;
	text-align: center;
	cursor: pointer;
	font-size: 15px;
}

#FormPage .thumb::before,
#FormPage .thumb::after {
	background: var(--jmkr-color-1) !important;
	color: white;
}

#FormPage #submit,
#FormPage #preview {
	float: right;
	background: var(--jmkr-color-1);
	color: white;
	border-radius: 3.5px;
	margin-top: 10px;
	padding: 17px;
	padding-left: 35px;
	padding-right: 35px;
	text-align: center;
	cursor: pointer;
	font-weight: 500;
	font-size: 17px;
}

#FormPage #preview {
	margin-right: 10px;
	color: var(--jmkr-color-1);
	background: white;
}

#FormPage #reset {
	float: left;
	border-radius: 3.5px;
	margin-top: 10px;
	padding-top: 17px;
	text-align: left;
	cursor: pointer;
	font-size: 17px;
	opacity: 0.5;
}

.formPreview #FormPage #submit,
.formPreview #FormPage #reset {
	display: none;
}

.formPreview,
.formPreview #FormPage {
	background: #F0F0F0;
}

.formPreview #FormPage .formFieldPage {
	background: white;
}

.ectComponent .popupMode .popupModeResults {
	padding: 5px !important;
	width: 100% !important;
	box-shadow: none;
}

.ectComponent .browser ul.toplevel,
.ectComponent .entitylist ul.toplevel {
	margin-left: 0px !important;
}

.ectComponent .wordlist ul {
	margin-left: 0px !important;
}

.ectComponent .ctwFlexItem25 {
	width: auto !important;
	min-width: auto !important;
}

.ectComponent #statusFlexContainer {
	display: none !important;
}

.ectComponent .popupMode .popupModeTop .closeicon {
	z-index: 1000;
	width: 30px;
	line-height: 27px;
	height: 30px;
	border-radius: 50%;
	text-align: center;
	background-color: var(--jmkr-color-1);
	color: white;
	font-weight: boldest;
	font-size: 17px;
	position: absolute;
	top: 8px;
	right: 13.5px;
}

.ectComponent .searchresults h4 {
	color: var(--jmkr-color-1) !important;
}

.ectComponent .browser em.found,
.ectComponent .browser em.found em.wbe,
.ectComponent .entitylist em.found,
.ectComponent .entitylist em.found em.wbe {
	color: var(--jmkr-color-1) !important;
}

.ectComponent .sortoption {
	float: none !important;
	color: white !important;
	font-size: 0%;
}

.ectComponent .sortoption select {
	font-size: 12px;
	color: black !important;
}

.ectComponent .postcoordForSelection button,
.ectComponent .postcoordForSelection button:hover {
	background: var(--jmkr-color-1);
	color: white;
	padding: 5px;
	padding-left: 10px;
	padding-right: 10px;
	border: none;
	cursor: pointer;
}

.form-image-gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
	gap: 16px;
}

.form-image-gallery-slot {
	background: #fafafa;
	border: 1px dashed rgba(0, 0, 0, 0.15);
	border-radius: 6px;
	padding: 12px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.form-image-gallery-slot .slot-header {
	font-weight: 600;
	font-size: 14px;
}

.form-image-gallery-slot .slot-actions {
	margin-top: auto;
	text-align: right;
}

.form-inventory-selection-grid .form-inventory-slot {
	min-height: 220px;
}

.form-inventory-selection-grid .inventory-thumbnail-wrapper {
	position: relative;
	width: 100%;
	padding-top: 65%;
	border-radius: 6px;
	overflow: hidden;
	background: rgba(0, 0, 0, 0.04);
	display: flex;
	align-items: center;
	justify-content: center;
}

.form-inventory-selection-grid .inventory-thumbnail-wrapper img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.form-inventory-selection-grid .inventory-thumbnail-placeholder {
	font-size: 28px;
	color: rgba(0, 0, 0, 0.35);
}

.form-inventory-selection-grid .inventory-summary {
	font-weight: 600;
	font-size: 13px;
}

.form-inventory-selection-grid .inventory-details {
	margin: 0;
	padding-left: 17px;
	font-size: 12px;
	color: rgba(0, 0, 0, 0.6);
}

.form-inventory-selection-grid .inventory-details li {
	margin-bottom: 4px;
}

.form-inventory-selection-grid .add-inventory-slot {
	align-items: center;
	justify-content: center;
	text-align: center;
}

.form-inventory-selection-grid .inventory-add-action {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 120px;
}

.inventory-empty-hint {
	margin-top: 12px;
	font-size: 12px;
	text-align: center;
	color: rgba(0, 0, 0, 0.45);
}

.SwalCreateForm .inventory-option-entry {
	display: flex;
	flex-direction: column;
	padding: 6px 4px;
}

.SwalCreateForm .inventory-option-name {
	font-weight: 600;
	font-size: 13px;
}

.SwalCreateForm .inventory-option-detail {
	font-size: 11px;
	color: rgba(0, 0, 0, 0.55);
}

.SwalCreateForm .inventory-option-selected {
	font-size: 12px;
	padding: 4px 6px;
}

.SwalCreateForm .selection-empty {
	padding: 6px 4px;
	font-size: 12px;
	color: rgba(0, 0, 0, 0.45);
	text-align: center;
}

.SwalCreateForm #inputInventory.selection-options.loading {
	opacity: 0.6;
	pointer-events: none;
}.FormPageField_streetAddress_map {
    position: relative;
    border-radius: 10px !important;
}

.FormPageField_streetAddress_map .mapboxgl-ctrl-bottom-right {
    bottom: 0px !important;
    top: auto !important;
}

#JMDK_mapMarker {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    line-height: 34px;
    padding-left: 27px;
    text-align: center;
    font-size: 34px;
}

#inputStreetAddress {
    position: relative;
    width: 100%;
    box-shadow: none !important;
}

#inputStreetAddress li {
    margin-left: 0px;
    margin-bottom: 0px;
}

#inputStreetAddress input,
.mapboxgl-ctrl-geocoder {
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none !important;
}

#inputStreetAddress input {
    padding-left: 37px;
    box-shadow: none !important;
}

.mapboxgl-ctrl-geocoder--icon-search {
    top: 15px !important;
    left: 7px !important;
}

.mapboxgl-ctrl-geocoder--icon-close {
    margin-top: 9px !important;
    margin-right: 3px !important;
}

#inputStreetAddress .suggestions {
    left: 17px;
    top: calc(100% + 81px);
    width: calc(100% - 34px);
}#ForumCategoryThumbnail {
    background: var(--jmkr-color-1);
    margin-top: 11px;
    cursor: pointer;
}

#ForumCategoryThumbnail #information {
    float: right;
    width: calc(100% - 7px);
    background: white;

    padding: 11px;
    padding-left: 17px;
    padding-right: 17px;

    border-bottom: 1px solid rgba(0,0,0,0.1);
} .nightMode #ForumCategoryThumbnail #information {
    background: black;
}

#ForumCategoryThumbnail #information #title {
    float: left;
    font-weight: bold;
    font-size: 17px;
    letter-spacing: 0.35px;
}

#ForumCategoryThumbnail #information #topicCount {
    float: right;
    opacity: 0.5;
}

#ForumCategoryThumbnail #information #description {
    opacity: 0.7;

    padding-top: 7px;
    font-size: 14px;
    letter-spacing: 0.35px;
}

#ForumTopicThumbnail {
    border-bottom: 1px solid rgba(0,0,0,0.1);
    margin-top: 11px;
    cursor: pointer;

    padding-bottom: 11px;
    padding-left: 11px;
    padding-right: 11px;
}

#ForumTopicThumbnail #picture {
    float: left; 
    width: 77px; height: 77px;
    background-color: var(--jmkr-color-1);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 7px;
    box-shadow: 1px 1px 3.5px rgba(0,0,0,0.17);
}

#ForumTopicThumbnail #information {
    float: left; 
    width: calc(100% - 77px);

    padding-left: 13.5px;
    padding-right: 11px;
    padding-top: 3.5px;
}

#ForumTopicThumbnail #information #title {
    font-weight: bold;
    font-size: 17px;
    letter-spacing: 0.35px;
}

#ForumTopicThumbnail #information #subTitle {
    opacity: 0.7;

    padding-top: 7px;
    font-size: 14px;
    letter-spacing: 0.35px;
}

#ForumTopicThumbnail #information .category {
    float: left;
    padding-top: 7px;
    margin-right: 11px;
} #ForumTopicThumbnail #information .category .line {
    float: left;
    width: 15px; height: 15px;
    border-radius: 3.5px;
    background: var(--jmkr-color-1);
} #ForumTopicThumbnail #information .category .label {
    float: left;
    padding-left: 5px;
    line-height: 17px; font-size: 11px; letter-spacing: 0.5px;
}

#ForumTopicThumbnail #stats {
    float: left; 
    width: 57px; 
    opacity: 0.5;
    text-align: center;
}

#forumPost h1, #forumPost h2, #forumPost h3, #forumPost h4, #forumPost h5 {
    margin-top: 17px;
    margin-bottom: 7px;
}

#forumPost li {
    margin-bottom: 11px;
}

#forumPost  {
    padding: 17px; padding-top: 27px; padding-bottom: 27px;
    font-size: 17px;
    letter-spacing: 0.35px;
    line-height: 27px;

    border-bottom: 3px solid var(--jmkr-color-1);
}

#forumCategoryMenu {
    position: relative;
    padding: 17px !important;
    padding-top: 13px !important;
    top: -13px; right: -7px; 
    background: linear-gradient(to bottom, #f1f1f1, #f1f1f1, #ffffff);
} .nightMode #forumCategoryMenu {
    background: black;
} @media screen and (max-width: 770px) { #forumCategoryMenu { 
    background: none;
    border-radius: 7px;
    padding-top: 17px !important;
    top: 0px; 
    right: 0px;  
} }.dropdown.icon.rotated {
    transform: rotate(180deg);
}


#FulfillmentDispatch .dataRow a {
    color: var(--jmkr-color-1) !important;
    text-decoration: none;
}

#FulfillmentDispatch .dataRow a:hover {
    color: #2980b9 !important;
}#DispatchPage {
    max-width: 885px;
    margin: 0 auto;
    padding: 0px;
    background: white;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.07);
}

#DispatchPage #dispatchHeader {
    padding: 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f0f0f0;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    position: relative;
}

#DispatchPage #dispatchTitle {
    font-size: 28px;
    font-weight: bold;
    color: #2c3e50;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-right: 60px;
}

#DispatchPage #dispatchTitle i {
    color: var(--jmkr-color-1);
}

#DispatchPage #dispatchSubtitle {
    font-size: 14px;
    color: #7f8c8d;
    margin-bottom: 15px;
    margin-right: 60px;
}

#DispatchPage #dispatchCloseButton {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #ecf0f1;
    border: 2px solid #bdc3c7;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

#DispatchPage #dispatchCloseButton:hover {
    background-color: #e74c3c;
    border-color: #c0392b;
    color: white;
    transform: scale(1.1);
}

#DispatchPage #dispatchCloseButton i {
    font-size: 16px;
    color: #7f8c8d;
    transition: color 0.3s ease;
}

#DispatchPage #dispatchCloseButton:hover i {
    color: white;
}

#DispatchPage #dispatchActions {
    display: flex;
    gap: 10px;
    align-items: center;
}

#DispatchPage .dispatchAction {
    padding: 8px 16px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.3px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 6px;
}

#DispatchPage .dispatchAction.primary {
    background-color: var(--jmkr-color-1);
    color: white;
}

#DispatchPage .dispatchAction.secondary {
    background-color: #ecf0f1;
    color: #2c3e50;
    border: 1px solid #bdc3c7;
}

#DispatchPage .dispatchAction:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}

#jmkrClient #DispatchPage .ui.attached.tabular.menu {
    padding: 0px !important;
    margin: 0px !important;
    border-bottom: 2px solid #ecf0f1;
    background: #f8f9fa;
    padding: 0 25px;
}

#DispatchPage .ui.tabular.menu .item {
    padding: 15px 20px;
    font-weight: 500;
    color: #7f8c8d;
    border-bottom: 3px solid transparent;
    transition: all 0.3s ease;
}

#DispatchPage .ui.tabular.menu .item.active {
    color: var(--jmkr-color-1);
    border-bottom-color: var(--jmkr-color-1);
    background: white;
}

#DispatchPage .ui.tabular.menu .item:hover {
    color: var(--jmkr-color-1);
    background: rgba(255, 255, 255, 0.7);
}

#DispatchPage .tab.segment {
    padding: 0px !important;
    margin: 0px !important;
    border: none;
    border-radius: 0;
    min-height: calc(100vh - 200px);
}

#DispatchPage .dispatchTable {
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

#DispatchPage .dispatchTable table {
    margin: 0;
    border: none;
}

#DispatchPage .dispatchTable thead th {
    background: #f8f9fa;
    color: #2c3e50;
    font-weight: 600;
    padding: 15px 12px;
    border-bottom: 2px solid #dee2e6;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

#DispatchPage .dispatchTable tbody td {
    padding: 12px;
    border-bottom: 1px solid #f1f3f4;
    vertical-align: middle;
}

#DispatchPage .dispatchTable tbody tr:hover {
    background: #f8f9fa;
}

#DispatchPage .dispatchTable tbody tr:last-child td {
    border-bottom: none;
}

#DispatchPage .dispatchTable .ui.label {
    font-size: 11px;
    padding: 6px 10px;
    border-radius: 12px;
    font-weight: 500;
}

#DispatchPage .dispatchTable .ui.button {
    padding: 6px 12px;
    font-size: 11px;
    border-radius: 4px;
    font-weight: 500;
}

#DispatchPage .dispatchTable .ui.mini.buttons {
    display: flex;
    gap: 8px;
}

#DispatchPage .dispatchTable .ui.mini.buttons .ui.button {
    margin: 0;
    border-radius: 4px;
}

#DispatchPage .dispatchTable .viewInvoice {
    background-color: #3498db;
    color: white;
    border: none;
}

#DispatchPage .dispatchTable .viewInvoice:hover {
    background-color: #2980b9;
    transform: translateY(-1px);
}

#DispatchPage .dispatchTable .fulfillInvoice {
    background-color: #27ae60;
    color: white;
    border: none;
}

#DispatchPage .dispatchTable .fulfillInvoice:hover {
    background-color: #229954;
    transform: translateY(-1px);
}

#DispatchPage .dispatchTable .fulfillCustomer {
    background-color: #27ae60;
    color: white;
    border: none;
}

#DispatchPage .dispatchTable .fulfillCustomer:hover {
    background-color: #229954;
    transform: translateY(-1px);
}

#DispatchPage .customerAccordion {
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

#DispatchPage .customerAccordionItem {
    border-bottom: 1px solid #e9ecef;
    margin: 10px;
    border-radius: 8px;
    background: white;
}

#DispatchPage .customerAccordionItem:last-child {
    border-bottom: none;
}

#DispatchPage .customerHeader:hover {
    background-color: #e9ecef !important;
}

#DispatchPage .customerToggle .dropdown.icon.rotated {
    transform: rotate(180deg);
}

#DispatchPage .customerInvoices {
    border-top: 1px solid #f1f3f4;
}

#DispatchPage .invoiceRow:hover {
    background-color: #f8f9fa;
}

#DispatchPage .customerHeader {
    padding: 16px 20px;
    background: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#DispatchPage .customerHeaderContent {
    flex: 1;
}

#DispatchPage .customerName {
    font-size: 16px !important;
}

#DispatchPage .customerContact {
    font-size: 14px !important;
    color: #6c757d;
    margin-top: 2px;
}

#DispatchPage .customerSummary {
    font-size: 14px !important;
    color: #495057;
    margin-top: 4px;
}

#DispatchPage .customerToggle {
    color: #6c757d;
}

#DispatchPage .customerToggle .dropdown.icon {
    transition: transform 0.3s ease;
}

#DispatchPage .customerInvoices {
    display: none;
    background: white;
}

#DispatchPage .customerInvoices .invoiceRow {
    padding: 8px 16px;
    border-bottom: 1px solid #f1f3f4;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#DispatchPage .invoiceContent {
    flex: 1;
}

#DispatchPage .invoiceDetails {
    font-size: 13px !important;
    color: #6c757d;
    margin-top: 2px;
}

#DispatchPage .deliveryMapContainer {
    background: white;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    margin-bottom: 0px;
}

#DispatchPage #dispatchDeliveryMap {
    border-radius: 0;
}

#DispatchPage .deliveryDetails {
    padding: 20px;
    background: #f8f9fa;
}

#DispatchPage .deliveryDetails h4 {
    margin: 0 0 15px 0;
    color: #2c3e50;
    font-weight: 600;
}

#DispatchPage .subText {
    font-size: 12px;
    color: #7f8c8d;
    margin-top: 2px;
}

#DispatchPage .statusLabel {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 500;
}

#DispatchPage .statusLabel.green {
    background: #d4edda;
    color: #155724;
}

#DispatchPage .statusLabel.orange {
    background: #fff3cd;
    color: #856404;
}

#DispatchPage .statusLabel.red {
    background: #f8d7da;
    color: #721c24;
}

#DispatchPage .statusLabel.blue {
    background: #d1ecf1;
    color: #0c5460;
}

#DispatchPage .itemVariations {
    font-size: 12px;
    color: #6c757d;
    font-style: italic;
}

#DispatchPage .scrollableContent {
    max-height: calc(100vh - 300px);
    overflow-y: auto;
    border-radius: 8px;
}

#DispatchPage .scrollableContent::-webkit-scrollbar {
    width: 6px;
}

#DispatchPage .scrollableContent::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

#DispatchPage .scrollableContent::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

#DispatchPage .scrollableContent::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

#DispatchPage .customerInvoices .invoiceRow:hover {
    background-color: #f8f9fa;
}


#DispatchPage .invoiceAccordion {
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

#DispatchPage .invoiceAccordionItem {
    border-bottom: 1px solid #e9ecef;
    margin: 10px;
    border-radius: 8px;
    background: white;
}

#DispatchPage .invoiceAccordionItem:last-child {
    border-bottom: none;
}

#DispatchPage .invoiceHeader {
    padding: 16px 20px;
    background: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.2s ease;
}

#DispatchPage .invoiceHeader:hover {
    background-color: #e9ecef;
}

#DispatchPage .invoiceHeaderContent {
    flex: 1;
}

#DispatchPage .invoiceNumber {
    font-size: 18px;
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 4px;
    display: block;
}

#DispatchPage .invoiceClient {
    font-size: 14px;
    color: #495057;
    margin-bottom: 4px;
    font-weight: 500;
}

#DispatchPage .invoiceDetails {
    font-size: 13px;
    color: #6c757d;
}

#DispatchPage .invoiceDueDate {
    color: #e74c3c;
    font-weight: 500;
}

#DispatchPage .invoiceToggle {
    color: #6c757d;
    font-size: 16px;
}

#DispatchPage .invoiceToggle .dropdown.icon {
    transition: transform 0.3s ease;
}

#DispatchPage .invoiceToggle .dropdown.icon.rotated {
    transform: rotate(180deg);
}

#DispatchPage .invoiceLineItems {
    display: none;
    background: white;
    border-top: 1px solid #f1f3f4;
}

#DispatchPage .lineItemRow {
    padding: 12px 20px;
    border-bottom: 1px solid #f8f9fa;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.2s ease;
}

#DispatchPage .lineItemRow:hover {
    background-color: #f8f9fa;
}

#DispatchPage .lineItemRow:last-child {
    border-bottom: none;
}

#DispatchPage .lineItemContent {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#DispatchPage .lineItemMain {
    flex: 1;
}

#DispatchPage .lineItemMain strong {
    font-size: 14px;
    color: #2c3e50;
    font-weight: 600;
}

#DispatchPage .lineItemOptions {
    font-size: 12px;
    color: #6c757d;
    margin-top: 4px;
    font-style: italic;
}

#DispatchPage .lineItemQuantity {
    text-align: center;
    min-width: 100px;
}

#DispatchPage .lineItemQuantity strong {
    font-size: 14px;
    color: #495057;
    font-weight: 600;
}

#DispatchPage .scanStatus {
    margin-top: 4px;
}

#DispatchPage .scanCount {
    display: flex;
    gap: 2px;
    justify-content: center;
    align-items: center;
}

#DispatchPage .scanCount i {
    font-size: 12px;
}

#DispatchPage .scanCount i.green {
    color: #27ae60;
}

#DispatchPage .scanCount i.red {
    color: #e74c3c;
}

#DispatchPage .scanOutLineItem {
    background-color: #e74c3c !important;
    color: white !important;
    border: none !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

#DispatchPage .scanOutLineItem:hover {
    background-color: #c0392b !important;
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(231, 76, 60, 0.3);
}

#DispatchPage .scanOutLineItem i {
    margin-right: 4px;
}


#DispatchPage .tab.segment[data-tab="Cumulative"]>div:first-child {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    padding: 15px 20px;
    margin-bottom: 0;
}

#DispatchPage .scanInItems {
    background-color: #27ae60 !important;
    color: white !important;
    border: none !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

#DispatchPage .scanInItems:hover {
    background-color: #229954 !important;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(39, 174, 96, 0.3);
}

#DispatchPage .scanInItems i {
    margin-right: 6px;
}


#DispatchPage .statusLabel.yellow {
    background: #fff3cd;
    color: #856404;
}

#DispatchPage .statusLabel.grey {
    background: #e9ecef;
    color: #495057;
}

/* History Tab Styles */
#DispatchPage .dispatchHistoryList {
    padding: 15px;
}

#DispatchPage .dispatchHistoryEmpty {
    text-align: center;
    padding: 60px 20px;
    color: #7f8c8d;
}

#DispatchPage .dispatchHistoryEmpty i {
    font-size: 48px;
    margin-bottom: 15px;
    display: block;
    color: #bdc3c7;
}

#DispatchPage .dispatchHistoryEmpty p {
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 5px 0;
    color: #2c3e50;
}

#DispatchPage .dispatchHistoryEmpty span {
    font-size: 14px;
}

#DispatchPage .dispatchHistoryEntry {
    display: flex;
    gap: 15px;
    padding: 15px;
    margin-bottom: 10px;
    background: white;
    border-radius: 8px;
    border-left: 4px solid #bdc3c7;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    transition: all 0.2s ease;
}

#DispatchPage .dispatchHistoryEntry:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

#DispatchPage .dispatchHistoryEntry.scan-in {
    border-left-color: #27ae60;
}

#DispatchPage .dispatchHistoryEntry.scan-out {
    border-left-color: #e74c3c;
}

#DispatchPage .dispatchHistoryEntry .historyIcon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #ecf0f1;
}

#DispatchPage .dispatchHistoryEntry.scan-in .historyIcon {
    background: #d4edda;
    color: #155724;
}

#DispatchPage .dispatchHistoryEntry.scan-out .historyIcon {
    background: #f8d7da;
    color: #721c24;
}

#DispatchPage .dispatchHistoryEntry .historyIcon i {
    font-size: 18px;
}

#DispatchPage .dispatchHistoryEntry .historyContent {
    flex: 1;
    min-width: 0;
}

#DispatchPage .dispatchHistoryEntry .historyAction {
    font-size: 15px;
    margin-bottom: 6px;
}

#DispatchPage .dispatchHistoryEntry .historyAction strong {
    color: #2c3e50;
    margin-right: 8px;
}

#DispatchPage .dispatchHistoryEntry .historyItemName {
    color: #495057;
}

#DispatchPage .dispatchHistoryEntry .historyMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
    color: #6c757d;
    margin-bottom: 8px;
}

#DispatchPage .dispatchHistoryEntry .historyMeta span {
    display: flex;
    align-items: center;
    gap: 4px;
}

#DispatchPage .dispatchHistoryEntry .historyMeta i {
    font-size: 12px;
}

#DispatchPage .dispatchHistoryEntry .historySticker {
    font-family: monospace;
    background: #f8f9fa;
    padding: 2px 6px;
    border-radius: 4px;
}

#DispatchPage .dispatchHistoryEntry .historyFooter {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    font-size: 12px;
    color: #7f8c8d;
}

#DispatchPage .dispatchHistoryEntry .historyFooter span {
    display: flex;
    align-items: center;
    gap: 4px;
}

#DispatchPage .dispatchHistoryEntry .historyFooter i {
    font-size: 11px;
}

/* SVANTTO HID Scanner - hidden on desktop */
#DispatchPage #dispatchHidScannerContainer {
    display: none;
}

@media screen and (max-width: 768px) {
    #DispatchPage #dispatchHeader {
        padding: 15px;
    }

    #DispatchPage #dispatchTitle {
        font-size: 22px;
    }

    #DispatchPage #dispatchCloseButton {
        top: 15px;
        right: 15px;
        width: 35px;
        height: 35px;
    }

    #DispatchPage #dispatchCloseButton i {
        font-size: 14px;
    }

    #DispatchPage .ui.tabular.menu {
        padding: 0 15px;
    }

    #DispatchPage .ui.tabular.menu .item {
        padding: 12px 15px;
        font-size: 13px;
    }

    #DispatchPage .dispatchTable {
        font-size: 12px;
    }

    #DispatchPage .dispatchTable thead th,
    #DispatchPage .dispatchTable tbody td {
        padding: 8px 6px;
    }

    
    #DispatchPage .invoiceHeader {
        padding: 12px 15px;
    }

    #DispatchPage .invoiceNumber {
        font-size: 16px;
    }

    #DispatchPage .invoiceClient {
        font-size: 13px;
    }

    #DispatchPage .lineItemRow {
        padding: 10px 15px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    #DispatchPage .lineItemContent {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    #DispatchPage .lineItemQuantity {
        text-align: left;
        min-width: auto;
    }

    #DispatchPage .lineItemActions {
        margin-left: 0;
        align-self: flex-end;
    }
}

@media screen and (max-width: 480px) {
    #DispatchPage .dispatchTable table {
        font-size: 11px;
    }

    #DispatchPage .ui.button {
        padding: 4px 8px !important;
        font-size: 10px !important;
    }

    
    #DispatchPage .invoiceHeader {
        padding: 10px 12px;
    }

    #DispatchPage .invoiceNumber {
        font-size: 15px;
    }

    #DispatchPage .lineItemRow {
        padding: 8px 12px;
    }

    #DispatchPage .scanOutLineItem {
        padding: 6px 10px !important;
        font-size: 11px !important;
    }

    #DispatchPage .scanInItems {
        padding: 8px 12px !important;
        font-size: 12px !important;
    }

    /* SVANTTO HID Scanner - visible on mobile */
    #DispatchPage #dispatchActions {
        flex-direction: column;
        align-items: stretch !important;
    }

    #DispatchPage #dispatchHidScannerContainer {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        order: -1;
        width: 100%;
        margin-bottom: 10px;
    }

    #DispatchPage #dispatchHidScannerInput {
        width: 100%;
        padding: 14px 12px;
        font-size: 16px;
        border: 2px solid #007bff;
        border-radius: 8px;
        background: #f8f9ff;
        box-shadow: 0 2px 8px rgba(0, 123, 255, 0.15);
    }

    #DispatchPage #dispatchHidScannerInput:focus {
        outline: none;
        border-color: #0056b3;
        background: white;
        box-shadow: 0 2px 12px rgba(0, 123, 255, 0.25);
    }

    #DispatchPage #dispatchHidScannerStatus {
        font-size: 11px;
        color: #666;
        margin-top: 4px;
        text-align: center;
    }

    /* History tab mobile adjustments */
    #DispatchPage .dispatchHistoryList {
        padding: 10px;
    }

    #DispatchPage .dispatchHistoryEntry {
        padding: 12px;
        gap: 10px;
    }

    #DispatchPage .dispatchHistoryEntry .historyIcon {
        width: 32px;
        height: 32px;
    }

    #DispatchPage .dispatchHistoryEntry .historyIcon i {
        font-size: 14px;
    }

    #DispatchPage .dispatchHistoryEntry .historyAction {
        font-size: 14px;
    }

    #DispatchPage .dispatchHistoryEntry .historyMeta {
        font-size: 12px;
        gap: 8px;
    }

    #DispatchPage .dispatchHistoryEntry .historyFooter {
        font-size: 11px;
        gap: 10px;
    }
}:root {
    --gtthr-light-color-1: #EFE247;
    --gtthr-dark-color-1: #343333;
}

:root #jmkrClient {}

#gtthr_client {
    z-index: 1;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: white;
    background: linear-gradient(to bottom, #f0f0f0, #ffffff, #ffffff);
}

@media screen and (max-width: 770px) {
    #gtthr_client {
        background: white;
    }
}

#gtthr_calculateContentSize {
    z-index: 0;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

#gtthr_registration,
#gtthr_backdrop,
#gtthr_settings,
#gtthr_home,
#gtthr_paymentMethod,
#gtthr_history,
#gtthr_notifications,
#gtthr_documents,
#gtthr_settings,
#gtthr_api,
#gtthr_termsOfService,
#gtthr_termsOfServiceForOperator,
#gtthr_privacyPolicy,
#gtthr_jobList {
    z-index: 1;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 100%;

    will-change: opacity;
    -webkit-transition: opacity 0.7s ease;
    -moz-transition: opacity 0.7s ease;
    -ms-transition: opacity 0.7s ease;
    -o-transition: opacity 0.7s ease;
    transition: opacity 0.7s ease;

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

#gtthrHeader,
#gtthrHistory,
#gtthrNotifications,
#gtthrDocuments,
#gtthrSettings,
#gtthrAPI,
#gtthrTermsOfService,
#gtthrTermsOfServiceForOperator,
#gtthrPrivacyPolicy,
#gtthrJobList {
    width: 100%;
    max-width: 770px;
    margin-left: auto;
    margin-right: auto;
}

#gtthrHistory,
#gtthrNotifications,
#gtthrDocuments,
#gtthrSettings,
#gtthrAPI,
#gtthrTermsOfService,
#gtthrTermsOfServiceForOperator,
#gtthrPrivacyPolicy,
#gtthrJobList {
    min-height: 100%;

    padding: 0px;
    padding-top: 21px;
    padding-bottom: 21px;
    background: white;
    /* border-bottom-left-radius: 17px;
    border-bottom-right-radius: 17px; */

    box-shadow: 0px 7px 7px rgba(0, 0, 0, 0.07);
}

#gtthrJobList {
    padding-bottom: 0px;
}

@media screen and (max-width: 770px) {

    #gtthrHistory,
    #gtthrNotifications,
    #gtthrDocuments,
    #gtthrSettings,
    #gtthrAPI,
    #gtthrTermsOfService,
    #gtthrTermsOfServiceForOperator,
    #gtthrPrivacyPolicy,
    #gtthrJobList {
        box-shadow: none;
    }
}

#gtthrAPI {
    padding: 0px;
    max-width: 100%;
    box-shadow: none;
}

#gtthrAPI #section\/Authentication,
#gtthrAPI #section\/Authentication .iWvlZG,
#gtthrAPI #section\/Authentication .hBHSsv,
#gtthrAPI #section\/Authentication .hEjWsw {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

#gtthrAPI #tag\/Jobs {
    padding-top: 27px !important;
    padding-bottom: 0px !important;
}

#gtthrAPI .flwRQF,
#gtthrAPI .gQMVon {
    margin-bottom: 11px;
}

#gtthr_registration {
    z-index: 10;
}

#gtthr_backdrop {
    z-index: 4;
    background-color: rgba(0, 0, 0, 0.17);
    backdrop-filter: blur(10px);
    cursor: pointer;
}

#gtthr_home {
    z-index: 2;
    padding-top: 70px;
}

#gtthr_paymentMethod {
    z-index: 2;
    padding-top: 70px;
}

#gtthr_history {
    z-index: 2;
    padding-top: 70px;
}

#gtthr_notifications {
    z-index: 2;
    padding-top: 70px;
}

#gtthr_documents {
    z-index: 2;
    padding-top: 70px;
}

#gtthr_settings {
    z-index: 2;
    padding-top: 70px;
}

#gtthr_api {
    z-index: 2;
    padding-top: 0px;
    height: calc(100% - 60px);
    background: white;
}

#gtthr_termsOfService {
    z-index: 2;
    padding-top: 70px;
}

#gtthr_termsOfServiceForOperator {
    z-index: 2;
    padding-top: 70px;
}

#gtthr_privacyPolicy {
    z-index: 2;
    padding-top: 70px;
}

#gtthr_jobList {
    z-index: 2;
    top: 70px;
    bottom: unset;
    height: unset;
}

#gtthrJobList {
    height: unset;
}

#gtthr_create_business,
#gtthr_create_staff {
    z-index: 10;
    position: absolute;
    top: 70px;
    left: 0px;
    width: 100%;
    height: calc(100% - 70px);
    max-width: 770px;

    will-change: opacity;
    -webkit-transition: opacity 0.7s ease;
    -moz-transition: opacity 0.7s ease;
    -ms-transition: opacity 0.7s ease;
    -o-transition: opacity 0.7s ease;
    transition: opacity 0.7s ease;

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;

    background: white;
    padding: 17px;
}

#gtthr_header {
    z-index: 9;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 70px;

    color: var(--gtthr-dark-color-1);
    font-size: 17px;
    letter-spacing: 0.75px;
    text-shadow: 1px 1px 7px rgba(0, 0, 0, 0.1);
    background: white;

    box-shadow: 0px 1.7px 17px rgba(0, 0, 0, 0.07);
}

#gtthr_header #leftMenuButton {
    float: left;
    width: 60px;
    line-height: 70px;
    cursor: pointer;
    font-size: 27px;
    text-align: center;
}

#gtthr_header #picture {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-left: 10px;
    margin-top: 15px;

    box-shadow: 3px 3px 17px rgba(0, 0, 0, 0.1);

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#gtthr_header #title {
    float: left;
    font-size: 21px;
    letter-spacing: 0.75px;
    width: calc(100% - 60px - 55px*3);
    line-height: 70px;
    cursor: pointer;
}

#gtthr_header .rightMenuButton {
    position: relative;
    float: right;
    width: 55px;
    padding-right: 20px;
    line-height: 70px;
    cursor: pointer;
    font-size: 22.5px;
    text-align: right;
}

#gtthr_header .rightMenuButton .counter {
    position: absolute;
    right: 5px;
    top: 7.5px;

    color: var(--gtthr-light-color-1);
    background: var(--gtthr-dark-color-1);

    border-radius: 50%;
    width: 21px;
    height: 21px;
    line-height: 19px;
    padding-left: 3.5px;
    padding-right: 3.5px;
    padding-top: 2px;
    text-align: center;
    font-size: 11px;
    letter-spacing: 0px;
}

#gtthr_addPaymentMethod,
#gtthr_addOperator {
    z-index: 8;
    position: absolute;
    top: 70px;
    left: calc(50% - 770px/2);
    width: 770px;
    max-height: calc(100% - 70px - 17px);

    background-color: white;
    color: black;
    box-shadow: 2px 0px 7px rgba(0, 0, 0, 0.1);

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 17px;
}

@media screen and (max-width: 770px) {

    #gtthr_addPaymentMethod,
    #gtthr_addOperator {
        max-height: calc(100% - 70px - 17px);
        left: 17px;
        width: calc(100% - 17px*2);
    }
}

#gtthr_addOperator {
    background-color: white;
    color: var(--gtthr-dark-color-1);
}

#gtthr_selectUploadSource {
    z-index: 8;
    position: absolute;
    bottom: 0px;
    left: calc(50% - 770px/2);
    width: 770px;
    max-height: calc(100% - 70px - 17px);

    box-shadow: 2px 0px 7px rgba(0, 0, 0, 0.1);

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: 70px;
}

@media screen and (max-width: 770px) {
    #gtthr_selectUploadSource {
        max-height: calc(100% - 70px - 17px);
        left: 17px;
        width: calc(100% - 17px*2);
    }
}

#gtthr_selectUploadSource .gtthrChooseSourceType {
    border-radius: 50%;
    width: 117px;
    height: 117px;
    padding-top: 35px;
    margin-left: auto;
    margin-right: auto;

    box-shadow: 2px 0px 7px rgba(0, 0, 0, 0.1);

    background-color: var(--gtthr-dark-color-1);
    color: white;
    text-align: center;
    letter-spacing: 0.75px;
    cursor: pointer;
}

#gtthr_selectUploadSource .gtthrChooseSourceType i {
    font-size: 35px;
}

#gtthr_rateReviewJob {
    z-index: 8;
    position: absolute;
    top: 77px;
    left: calc(50% - 350px/2);
    width: 350px;
    max-height: calc(100% - 70px - 17px);

    background-color: white;
    color: var(--gtthr-dark-color-1);
    box-shadow: 2px 0px 7px rgba(0, 0, 0, 0.1);

    padding: 17px;
    border-radius: 17px;
}

@media screen and (max-width: 350px) {
    #gtthr_rateReviewJob {
        max-height: calc(100% - 70px - 17px);
        left: 17px;
        width: calc(100% - 17px*2);
    }
}

#gtthr_rateReviewJob #picture {
    width: 100px;
    height: 100px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 50%;
    z-index: 2;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--gtthr-dark-color-1);
    box-shadow: 2px 0px 7px rgba(0, 0, 0, 0.1);

    pointer-events: none;
}

#gtthr_rateReviewJob #title {
    text-align: center;
    font-size: 20px;
    line-height: 27px;
    letter-spacing: 0.75px;
    padding: 17px;
}

#gtthr_rateReviewJob #contactUsInformation {
    text-align: center;
    font-size: 17px;
    line-height: 25px;
    font-weight: bold;
    letter-spacing: 0.75px;
    padding-top: 27px;
    text-decoration: underline;
}

#gtthr_rateReviewJob #thumbsDown,
#gtthr_rateReviewJob #thumbsUp {
    float: right;
    width: 50%;

    text-align: center;
    font-size: 35px;
    line-height: 42.35px;
    letter-spacing: 1px;

    padding-bottom: 35px;
    cursor: pointer;
}

#gtthr_rateReviewJob #thumbsDown {
    float: left;
    width: 50%;
    padding-left: 17px;
}

#gtthr_rateReviewJob #thumbsUp {
    float: right;
    width: 50%;
    padding-right: 17px;
}

#gtthr_starRating {
    margin-top: 15px;

    text-align: left;
    font-size: 11px;
    letter-spacing: 0.75px;
    cursor: pointer;
}

#gtthr_starRating i {
    font-size: 27px;
    letter-spacing: 3px;

    color: rgba(0, 0, 0, 0.5);
}

#gtthr_starRating .activeStar {
    color: var(--gtthr-light-color-1)
}

#gtthr_rateReviewJob #gtthr_starRating {
    padding-bottom: 35px;
}

#gtthr_jobThumbnail #gtthr_starRating {
    padding: 17px;
    padding-top: 0px;
    padding-left: 0px;
}

#gtthr_rateReviewJob #contactSupportButton {
    text-align: center;
    font-size: 11px;
    line-height: 20px;
    letter-spacing: 0.75px;
    padding: 11px;
    padding-bottom: 0px;
    cursor: pointer;

    border-top: 1px solid var(--gtthr-dark-color-1);
    opacity: 0.5;
}

#gtthr_rateReviewJob #rateReviewJobButton {
    text-align: center;
    font-size: 15px;
    line-height: 30px;
    letter-spacing: 0.75px;
    padding: 17px;
    cursor: pointer;
}

#gtthr_setJobCount {
    z-index: 8;
    position: absolute;
    bottom: 17px;
    left: calc(50% - 770px/2);
    width: 770px;
    max-height: calc(100% - 70px - 17px);

    background-color: var(--gtthr-dark-color-1);
    color: white;
    box-shadow: 2px 0px 7px rgba(0, 0, 0, 0.1);

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 17px;
    border-radius: 7px;
}

@media screen and (max-width: 770px) {
    #gtthr_setJobCount {
        max-height: calc(100% - 70px - 17px);
        left: 17px;
        width: calc(100% - 17px*2);
    }
}

#gtthr_setJobCount .image {
    float: left;
    text-align: center;
    width: 40px;
    line-height: 40px;
    font-size: 21px;
}

#gtthr_setJobCount .information {
    float: left;
    width: calc(100% - 40px * 4);
    letter-spacing: 0.75px;
    font-size: 11px;

    padding-left: 11px;
    padding-top: 7px;
    line-height: 13px;
}

#gtthr_setJobCount .information b {
    font-size: 15px;
}

#gtthr_setJobCount .subtractPassenger {
    float: left;
    text-align: center;
    width: 40px;
    line-height: 38px;
    font-size: 13px;
    border: 1px solid white;
    border-radius: 50%;
}

#gtthr_setJobCount .count {
    float: left;
    text-align: center;
    width: 40px;
    line-height: 40px;
    font-size: 17px;
}

#gtthr_setJobCount .addPassenger {
    float: left;
    text-align: center;
    width: 40px;
    line-height: 38px;
    font-size: 13px;
    border: 1px solid white;
    border-radius: 50%;
}

#gtthr_setJobCount .divide {
    border-bottom: 1px solid white;
    padding-top: 21px;
    margin-bottom: 21px;
}

#gtthr_setJobCount #submitJobCountButton {
    margin-top: 21px;
    text-align: center;
    letter-spacing: 0.75px;
    border: 1px solid white;

    border-radius: 55px;
    font-size: 17.7px;
    padding-top: 17px;
    padding-bottom: 17px;
    box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.07);

    cursor: pointer;
}

#gtthr_leftMenu {
    z-index: 8;
    position: absolute;
    top: 70px;
    width: 70%;
    max-width: 250px;
    height: auto;
    padding-bottom: 15px;
    max-height: calc(100% - 70px - 25px);

    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;

    background-color: var(--gtthr-dark-color-1);
    color: white;
    box-shadow: 2px 0px 7px rgba(0, 0, 0, 0.1);

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;

    will-change: transform;
    -webkit-transition: transform 0.35s ease, opacity 0.35s ease;
    -moz-transition: transform 0.35s ease, opacity 0.35s ease;
    -ms-transition: transform 0.35s ease, opacity 0.35s ease;
    -o-transition: transform 0.35s ease, opacity 0.35s ease;
    transition: transform 0.35s ease, opacity 0.35s ease;
    transform: translateX(-100%);
}

#gtthr_leftMenu.gtthr_show {
    transform: translateX(0%);
}

#gtthr_leftMenu.gtthr_hide {
    transform: translateY(-100%);
}

#gtthr_leftMenu .button {
    padding: 35px;
    padding-bottom: 25px;
    padding-right: 0px;
    letter-spacing: 0.75px;
    font-size: 17px;

    cursor: pointer;
}

#gtthr_leftMenu .button i {
    margin-right: 17.5px;
    font-size: 20px;
    transform: translateX(-7.5px) translateY(2.5px);
}

#gtthr_rightMenu {
    z-index: 8;
    position: absolute;
    top: 70px;
    width: 50%;
    max-width: 250px;

    background-color: var(--gtthr-dark-color-1);
    color: white;
    box-shadow: -2px 0px 7px rgba(0, 0, 0, 0.1);
}

#gtthr_leftMenu #information,
#gtthr_rightMenu #information {

    padding: 35px;
    background: rgba(0, 0, 0, 0.1);

}

#gtthr_leftMenu #information #picture,
#gtthr_rightMenu #information #picture {
    cursor: pointer;
    border: 3px solid white;
    margin: auto;
    width: 117px;
    height: 117px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.27);

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#gtthr_leftMenu #information #name,
#gtthr_rightMenu #information #name {
    cursor: pointer;
    padding-top: 27px;
    font-size: 21px;
    letter-spacing: 0.75px;
    text-align: center;
}

#gtthr_rightMenu .button {
    padding: 27px;
    letter-spacing: 0.75px;
    font-size: 17px;

    cursor: pointer;
}

.gtthr_show {
    opacity: 1;
    pointer-events: auto;
}

.gtthr_hide {
    opacity: 0;
    pointer-events: none;
}

#gtthrLeftMenu {}

#gtthrLeftMenu .button .icon {
    margin-right: 7px !important;
}

#gtthr_mapLockOn {
    color: var(--gtthr-dark-color-1);

    z-index: 4;
    position: absolute;
    left: calc(50% - 770px/2 + 11px);
    width: 45px;
    text-align: center;
    top: 67px;
    height: 45px;
    line-height: 43px;

    border-radius: 27px;
    font-size: 23px;

    cursor: pointer;
}

.gtthr_nightMode #gtthr_mapLockOn {
    color: var(--gtthr-light-color-1);
}

@media screen and (max-width: 770px) {
    #gtthr_mapLockOn {
        left: 7px;
    }
}

#gtthr_map {
    background-color: #cfcfcf;

    z-index: 3;
    position: absolute;
    left: 17px;
    width: calc(100% - 34px);
    top: 70px;
    height: calc(100% - 70px - 17px);

    border-bottom-left-radius: 17px;
    border-bottom-right-radius: 17px;

    box-shadow: 0px 0px 17px rgba(0, 0, 0, 0.17);
}

@media screen and (max-width: 770px) {
    #gtthr_map {
        left: 0px;
        width: 100%;
        height: calc(100% - 70px);
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
    }
}

.gtthr_fleetAdminMode #gtthr_map {
    left: 0px;
    width: 100%;
    height: calc(100% - 70px);
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

#gtthr_map_heading {
    font-size: calc(9px + 0.5vw);
    letter-spacing: 0.75px;
    pointer-events: none;
    padding: calc(9px + 0.5vw);

    color: var(--gtthr-light-color-1);
    background: var(--gtthr-dark-color-1);
    border-radius: 50px;
    margin-bottom: 17px;

    text-align: center;
}

#gtthr_map_serviceOptions {
    z-index: 4;
    position: absolute;
    left: calc(50% - 770px/2);
    width: 770px;
    bottom: 17px;
    border-radius: 5px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;

    padding-top: 15px;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(3px);
}

@media screen and (max-width: 770px) {
    #gtthr_map_serviceOptions {
        bottom: 0px;
        border-radius: 0px;
        left: 0px;
        width: 100%;
    }
}

#gtthr_map_serviceOptions #scroll {
    border-radius: 11px;
    vertical-align: bottom;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 15px;
    padding-right: 0px;

    text-align: center;
}

#gtthr_map_serviceOptions .serviceOption {
    position: relative;
    display: inline-block;
    border-radius: 7px;

    box-shadow: 0px 0px 17px rgba(0, 0, 0, 0.17);
    padding: 7.5px;
    padding-left: 15px;
    padding-right: 15px;
    background: white;

    background: linear-gradient(to bottom, #ffffff, #ffffff, #ffffff);

    margin-right: 15px;
    cursor: pointer;
}

#gtthr_map_serviceOptions .serviceOption .picture {
    position: absolute;
    z-index: 1;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    border-radius: 11px;

    background-size: 55px 55px;
    background-position: center 17%;
    background-repeat: no-repeat;
}

#gtthr_map_serviceOptions .serviceOption .title {

    position: relative;
    z-index: 3;
    padding-top: 55px;
    font-weight: bold;
    font-size: 15px;
    letter-spacing: 0.25px;
    text-shadow: 1px 1px 7px rgba(0, 0, 0, 0.07);

}

#gtthr_map_serviceOptions .serviceOption .subTitle {

    position: relative;
    z-index: 3;
    font-size: 10px;
    letter-spacing: 0.15px;
    text-shadow: 1px 1px 7px rgba(0, 0, 0, 0.17);

}

@media screen and (max-width: 770px) {
    #gtthr_map_serviceOptions .serviceOption {}

    #gtthr_map_serviceOptions .serviceOption .title {
        padding-top: 77px;
        font-size: 12px;
    }

    #gtthr_map_serviceOptions .serviceOption .subTitle {
        font-size: 9.5px;
    }
}

#gtthr_map_serviceOptions .serviceOption .titleFade {

    position: absolute;
    z-index: 2;
    width: 100%;
    height: 77px;
    left: 0px;
    bottom: 0px;
    border-radius: 11px;

    background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0));
}


#gtthr_map_searchResults {
    z-index: 4;
    position: absolute;
    left: calc(50% - 770px/2);
    width: 770px;
    top: 53px;
    height: calc(100% - 212px - 70px);

    background: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    text-shadow: 1px 1px 7px rgba(0, 0, 0, 0.35);

    transform: scaleY(-1);
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

@media screen and (max-width: 770px) {
    #gtthr_map_searchResults {
        top: 70px;
        left: 0px;
        width: 100%;
    }
}

#gtthr_map_searchResults .searchResult {
    color: white;
    padding: 17px;
    padding-top: 17px;
    padding-bottom: 17px;
    font-size: 15px;
    letter-spacing: 0.75px;
    line-height: 21px;
    cursor: pointer;

    border-bottom: 1px dotted rgba(255, 255, 255, 0.35);

    transform: scaleY(-1);
}

#gtthr_map_searchResults #searchResultNoResults {
    color: white;
    padding: 17px;
    cursor: pointer;
    font-size: 21px;
    letter-spacing: 0.75px;
    line-height: 27px;
}

#gtthr_map_searchResults #searchResultLoading {
    color: white;
    padding: 17px;
    font-size: 27px;
    text-align: center;
}

#gtthr_map_routeForm {
    z-index: 4;
    position: absolute;
    left: calc(50% - 770px/2);
    width: 770px;
    bottom: 17px;
    border-radius: 5px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;

    padding: 15px;
    background: rgba(255, 255, 255, 0.5);

}

@media screen and (max-width: 770px) {
    #gtthr_map_routeForm {
        bottom: 0px;
        border-radius: 0px;
        left: 0px;
        width: 100%;
    }
}

#gtthr_map_routeForm #cancelServiceButton,
#gtthr_map_routeForm #acceptRouteButton,
#gtthr_map_routeForm #pointOnMapButton,
#gtthr_map_routeForm #useMyLocationButton {
    cursor: pointer;

    color: var(--gtthr-light-color-1);
    background: var(--gtthr-dark-color-1);
    text-align: center;
    letter-spacing: 0.75px;
    font-size: 15px;

    margin-top: 17px;
    border-radius: 55px;
    line-height: 42.35px;
    box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.07);
}

#gtthr_map_routeForm #cancelServiceButton {
    position: fixed;
    left: calc(50% - 770px/2 + 15px);
    top: 65px;
    font-size: 20px;
    width: 40px;
    line-height: 40px;
    height: 40px;
    padding: 0px;
}

.gtthr_nightMode #gtthr_map_routeForm #cancelServiceButton {
    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);
}

@media screen and (max-width: 770px) {
    #gtthr_map_routeForm #cancelServiceButton {
        left: 7px;
    }
}

#gtthr_map_routeForm #pointOnMapButton {
    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);
    border: 2px solid var(--gtthr-dark-color-1);
}

#gtthr_map_routeForm #acceptRouteButton {
    float: right;
    width: calc(45% - 17px/2);
    line-height: calc(42.35px - 4px);
    padding: 0px;

    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);
    border: 2px solid var(--gtthr-dark-color-1);
}

#gtthr_map_routeForm #useMyLocationButton {
    float: left;
    width: calc(55% - 17px/2);
    line-height: 42.35px;
    padding: 0px;
}

#gtthr_map_routeForm #addDestination {
    position: absolute;
    right: 7px;
    top: -27px;

    text-align: center;
    font-size: 17px;
    letter-spacing: 0.75px;
    width: 41px;
    height: 41px;
    line-height: 41px;
    border-radius: 37px;
    cursor: pointer;

    color: var(--gtthr-light-color-1);
    background: var(--gtthr-dark-color-1);
    box-shadow: 0px 1px 17px rgba(0, 0, 0, 0.17);
}

#gtthr_map_routeForm .deleteAddressMiddle {
    position: absolute;
    left: -11px;
    top: -17px;

    text-align: center;
    font-size: 13px;
    letter-spacing: 0.75px;
    width: 27px;
    height: 27px;
    line-height: 27px;
    border-radius: 37px;
    cursor: pointer;

    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);
    box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.35);
    border: 1px solid #efe23352;
}


#gtthr_map_jobSummary {
    z-index: 4;
    position: absolute;
    left: calc(50% - 770px/2);
    width: 770px;
    bottom: 17px;
    border-radius: 5px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;

    padding: 15px;
    background: rgba(255, 255, 255, 0.5);

}

@media screen and (max-width: 770px) {
    #gtthr_map_jobSummary {
        bottom: 0px;
        border-radius: 0px;
        left: 0px;
        width: 100%;
    }
}

#gtthr_map_jobSummary #cancelRouteButton,
#gtthr_map_jobSummary #submitJobButton,
#gtthr_map_jobSummary #sendJobButton {
    cursor: pointer;

    color: var(--gtthr-light-color-1);
    background: var(--gtthr-dark-color-1);
    text-align: center;
    letter-spacing: 0.75px;
    font-size: 15.7px;

    margin-top: 17px;
    border-radius: 55px;
    line-height: 42.35px;
    box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.07);
}

#gtthr_map_jobSummary #cancelRouteButton {
    float: left;
    width: 42.35px;
    line-height: 42.35px;
    padding: 0px;
}

#gtthr_map_jobSummary #submitJobButton {
    float: left;
    width: calc(100% - 42.35px*1 - 10px*1);
    margin-left: 10px;
}

#gtthr_map_jobSummary #sendJobButton {
    display: none;
    float: right;
    width: 42.35px;
    line-height: 42.35px;
    padding: 0px;
}

#gtthr_loadingDiv {
    font-size: 35px;
    color: white;
    opacity: 0.77;
}

#gtthr_page_title {
    margin-top: -21px;
    text-align: center;
    font-size: 17px;
    letter-spacing: 1.175px;

    padding-top: 13.5px;
    padding-bottom: 13.5px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);

    color: var(--gtthr-light-color-1);
    background: var(--gtthr-dark-color-1);
}

#gtthr_page_title_2 {
    font-size: 21px;
    line-height: 25px;
    letter-spacing: 0.75px;

    padding-bottom: 11px;
    margin-top: 0px;
    margin-bottom: 11px;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.17);
}

#gtthrSettings #picture {
    position: relative;

    border: 3px solid grey;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.27);

    margin-left: auto;
    margin-right: auto;
    margin-bottom: 17px;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#gtthrSettings #picture .gtthrUploadImageButton {
    z-index: 10;
    position: absolute;
    text-align: center;
    font-size: 17px;
    background-color: var(--gtthr-light-color-1);
    border-radius: 50%;
    width: 45px;
    height: 45px;
    line-height: 45px;
    right: -7px;
    bottom: -7px;
    cursor: pointer;
    box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.35);
}

#gtthrSettings #idPicture {
    position: relative;

    width: calc(100%);
    border-radius: 7px;
    background-color: rgba(0, 0, 0, 0.07);

    margin-left: auto;
    margin-right: auto;
    margin-top: 35px;
    margin-bottom: 17px;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#gtthrSettings #idPicture .gtthrUploadImageButton {
    z-index: 10;
    position: absolute;
    text-align: center;
    font-size: 17px;
    background-color: var(--gtthr-light-color-1);
    border-radius: 50%;
    width: 45px;
    height: 45px;
    line-height: 45px;
    right: -17px;
    bottom: -17px;
    cursor: pointer;
    box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.35);
}

#gtthrSettings .field {
    position: relative;
}

#gtthrSettings .field .verificationButton,
#gtthrSettings .field .resendVerificationButton {
    display: inline-block;
    margin-top: 10px;
    z-index: 1;
    cursor: pointer;

    background: var(--gtthr-dark-color-1);
    color: var(--gtthr-light-color-1);
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.75px;

    border-radius: 5px;
    font-size: 11px;
    letter-spacing: 0.75px;
    padding: 3.5px;
    padding-left: 11px;
    padding-right: 11px;
}

#gtthrSettings .field .resendVerificationButton {
    right: 145px;

    background: var(--gtthr-dark-color-1);
    color: var(--gtthr-light-color-1);
}

#gtthrSettings #saveAccountSettingsButton,
#gtthrSettings #deleteAccountButton {
    cursor: pointer;

    color: var(--gtthr-light-color-1);
    background: var(--gtthr-dark-color-1);
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.75px;

    margin-top: 7px;
    border-radius: 5px;
    padding: 17px;
}

#gtthrSettings #viewTermsOfServiceButton,
#gtthrSettings #viewPrivacyPolicyButton {
    cursor: pointer;

    font-size: 117%;
    letter-spacing: 0.75px;
}

#gtthrLegalDocument {
    padding: 11px;
}

#gtthrPaymentMethod #gtthrCardDisplay {
    padding-top: 17px;
    padding-bottom: 7px;
}

#gtthrPaymentMethod #addPaymentMethodButton {
    cursor: pointer;

    color: var(--gtthr-light-color-1);
    background: var(--gtthr-dark-color-1);
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.75px;

    border-radius: 5px;
    padding: 17px;

    margin-left: auto;
    margin-right: auto;
    max-width: 350px;
}

#gtthrPaymentMethod #cardBackground {
    margin-top: -2em;
    margin-left: -2em;
    margin-right: -2em;
    background-color: rgba(0, 0, 0, 0.1);
    padding: 2em 2em;
}

#gtthrPaymentMethod h1,
#gtthrPaymentMethod h3,
#gtthrPaymentMethod h4 {
    position: relative;
    margin: 0px;
    padding: 0px;
    z-index: 2;
}

#gtthrPaymentMethod h3 {
    padding-top: 2em;
    padding-bottom: 0.35em;
}

#gtthrPaymentMethod h4 {
    font-weight: normal;
}

#gtthrPaymentMethod #cardBackground #card {
    position: relative;
    background: white;
    padding: 1em;
    padding-top: 3em;
    border-radius: 7px;
    letter-spacing: 0.75px;
}

#gtthrPaymentMethod #cardBackground #card #stripe {
    z-index: 1;
    background: var(--gtthr-light-color-1);
    width: 100%;
    height: 6em;
    position: absolute;
    right: 0px;
    top: 2em;
}

#gtthrPaymentMethod #cardBackground #card #refillAlert {
    z-index: 3;
    position: absolute;
    right: 1em;
    top: 3.7em;
    font-size: 11px;
    opacity: 0.5;
    cursor: pointer;
}

#gtthrPaymentMethod #cardBackground #card #logo {
    display: inline-block;
    width: 0.9em;
    height: 0.9em;
    border-radius: 3.5px;
    margin-right: 0.25em;
    background-size: cover;
    background-position: center;
}

#gtthrPaymentMethod #cardBackground #card #balance {
    letter-spacing: 0.75px;
}

#gtthrPaymentMethod #cardBackground #card .button {
    float: left;
    width: calc(33% - 1px);
    text-align: center;
    font-size: 11px;
    line-height: 25px;
    padding-top: 4em;
    cursor: pointer;
    opacity: 0.7;
}

#gtthrPaymentMethod #cardBackground #card .button i {
    font-size: 25px;
    line-height: 25px;
}

#gtthrPaymentMethod #cardBackground #card .line {
    float: left;
    margin-top: 3em;
    height: 4em;
    width: 1px;
    background-color: rgba(0, 0, 0, 0.1);
}

#gtthrPaymentMethod .paymentMethod {
    position: relative;
    padding: 0.7em;
    font-size: 1.1em;
    letter-spacing: 0.015em;
    cursor: pointer;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

#gtthrPaymentMethod .paymentMethod i {
    margin-right: 0.8em !important;
}

#gtthrPaymentMethod .paymentMethod .remove,
#gtthrPaymentMethod .paymentMethod .help,
#gtthrPaymentMethod .paymentMethod .checkmark {
    position: absolute;
    right: 0.15em;
    top: 0.6em;
    opacity: 0.35;
}

#gtthrPaymentMethod .space {
    background-color: rgba(0, 0, 0, 0.1);
    height: 1em;
    margin-left: -2em;
    margin-right: -2em;
    margin-top: 1.7em;
}

#gtthrPaymentMethod .paymentRecord {
    padding: 0.7em;
    font-size: 1.1em;
    line-height: 1.3em;
    letter-spacing: 0.015em;
    position: relative;
    cursor: pointer;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

#gtthrPaymentMethod .status {
    position: absolute;
    right: 0.7em;
    top: 0.55em;
    font-size: 0.7em;
}

#gtthrPaymentMethod #seeAll {
    padding-top: 1.1em;
    letter-spacing: 0.015em;
    font-size: 1em;
    cursor: pointer;
}

#gtthr_client .ui.tabular.menu .active.item {
    border-radius: 0px !important;
    border: none !important;
    text-shadow: none;
    background: var(--gtthr-dark-color-1) !important;
    color: var(--gtthr-light-color-1) !important;
    opacity: 0.77;
}

#gtthr_client .ui.attached.tabular.menu {
    border-radius: 0px;
    padding-top: 0px;
}

#gtthr_client .ui.tab.active {
    border: none;
}

#gtthr_operatorThumbnail {
    padding: 11px;
    border-radius: 7px;
    font-size: 15px;
    letter-spacing: 0.75px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 3.5px solid rgba(0, 0, 0, 0.07);
    margin-top: 17px;
}

#gtthr_operatorThumbnail #information {
    float: left;

    width: calc(100% - 50px*2);
    padding: 11px;
    padding-top: 0px;
    padding-bottom: 0px;
    line-height: 51px;
}

#gtthr_operatorThumbnail #editButton {
    float: left;
    border-radius: 7px;

    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);

    width: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 21px;
    cursor: pointer;
}

#gtthr_operatorThumbnail #goOnlineButton {
    float: right;
    border-radius: 7px;

    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);

    width: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 21px;
    cursor: pointer;
}

#gtthr_notificationThumbnail {
    position: relative;
    padding: 15px;
    padding-bottom: 10px;
    font-weight: bold;
    letter-spacing: 0.75px;
    font-size: 14px;
    letter-spacing: 0.75px;
    background: white;

    border-bottom: 1.7px solid rgba(0, 0, 0, 0.07);
}

#gtthr_notificationThumbnail #title {
    opacity: 0.7;
    font-size: 13px;
    font-weight: bold;

    padding-bottom: 3px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

#gtthr_notificationThumbnail #body {
    font-size: 15px;
    line-height: 21px;
    padding-top: 7px;
    font-weight: bold;
}

#gtthr_notificationThumbnail #body a {
    font-size: 15px;
    text-decoration: underline;
}

#gtthr_notificationThumbnail #date {
    opacity: 0.5;
    text-align: right;
    font-size: 11px;
    padding-top: 7px;
    letter-spacing: 0.75px;
}

#gtthr_paymentThumbnail {
    position: relative;
    padding: 17px;
    padding-bottom: 27px;
    font-weight: bold;
    letter-spacing: 0.75px;
    font-size: 14px;
    background: white;

    border-radius: 7px;
    border-bottom: 3.5px solid rgba(0, 0, 0, 0.07);
}

#gtthr_paymentThumbnail #date {
    position: absolute;
    right: 11px;
    top: 7px;

    font-size: 11px;
    letter-spacing: 0.75px;
}

#gtthr_paymentThumbnail #value {
    font-size: 27px;
    font-weight: bold;
    letter-spacing: 0.75px;
}

#gtthr_paymentThumbnail #status {
    position: absolute;
    right: 11px;
    bottom: 11px;

    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);

    font-size: 11px;
    letter-spacing: 0.75px;
    border-radius: 3.5px;
    padding: 1.7px;
    padding-top: 3.5px;
    padding-left: 11px;
    padding-right: 11px;
}

#gtthr_jobThumbnail {
    position: relative;
    padding: 10px;
    padding-bottom: 0px;
    letter-spacing: 1px;
    font-size: 13.5px;
    line-height: 25px;
    background: white;
    text-align: center;

    border-radius: 3.5px;

    outline: 1px solid rgba(0, 0, 0, 0.07);
}

#gtthr_jobThumbnail .address {
    padding-top: 5px;
    padding-bottom: 5px;
    text-align: left;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

#gtthr_jobThumbnail .address a {
    font-weight: 500;
    font-size: 15px;
}

#gtthr_jobThumbnail .value {
    padding-top: 0px;
    padding-bottom: 7px;
    font-size: 10px;
}

#gtthr_jobThumbnail .bonus,
#gtthr_jobThumbnail .collectCash {
    font-size: 12px;
    position: absolute;
    width: 120px;
    left: calc(50% - 120px/2);
    top: -35px;
    text-align: center;

    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);
    padding: 5px;
    border-radius: 3.5px;
}

#gtthr_jobThumbnail .bonus {
    top: auto;
    bottom: -20px;
}

#gtthr_jobThumbnail .value i {
    font-size: 21px;
}

#gtthr_jobThumbnail .summaryGrid {
    margin-top: -10px !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    padding-top: 10px !important;
    width: calc(100% + 10px*2);

    border-top-right-radius: 3.5px;
    border-top-left-radius: 3.5px;

    color: var(--gtthr-light-color-1);
    background: var(--gtthr-dark-color-1);
}

#gtthr_jobThumbnail .statusGrid {
    margin-top: 7px !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    width: calc(100% + 10px*2);
    padding-bottom: 5px !important;

    border-bottom-right-radius: 3.5px;
    border-bottom-left-radius: 3.5px;

    background-color: rgba(0, 0, 0, 0.1);

    color: silver;
    background: var(--gtthr-dark-color-1);
}

#gtthr_jobThumbnail .activeStatus {
    font-size: 9px;
    padding-top: 17px;
    cursor: pointer;
    color: var(--gtthr-light-color-1);
}

#gtthr_jobThumbnail .status {
    font-size: 7px;
    padding-top: 13.5px;
    cursor: pointer;
}

#gtthr_jobThumbnail .status i {
    font-size: 21px;
}

#gtthr_jobThumbnail .nextArrow {
    color: var(--gtthr-light-color-1);
    line-height: 25px;
    pointer-events: none;
    position: absolute;
    right: calc(0px - 25px/2 + 3.5px);
    top: calc(50% - 25px/2);
}

#gtthr_jobThumbnail #cancel,
#gtthr_jobThumbnail #minimize {
    position: absolute;
    right: -11px;
    top: -11px;

    text-align: center;
    font-size: 13px;
    letter-spacing: 0.75px;
    width: 27px;
    height: 27px;
    line-height: 27px;
    border-radius: 50%;
    cursor: pointer;

    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);
    box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.35);
    border: 1px solid #efe23352;
}

#gtthr_jobThumbnail #minimize {
    position: absolute;
    left: -11px;
    right: auto;
}

#gtthr_jobThumbnail #customerName {
    float: left;
    text-align: left;
    padding: 10px;
    padding-left: 5px;
    width: calc(100% - 170px);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

#gtthr_jobThumbnail #customerName .fieldListEntry {
    display: inline-block;
    background: rgba(170, 170, 170, 0.21);
    border-radius: 50px;
    padding-left: 10px;
    padding-right: 10px;
    font-weight: 500;
    font-size: 12px;
    margin-top: 5px;
    margin-right: 5px;
    white-space: nowrap;
}

#gtthr_jobThumbnail #tripSummary {
    float: right;
    text-align: right;
    padding: 10px;
    padding-right: 5px;
    width: 170px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

#gtthr_jobThumbnail #currentStatus {
    padding: 13px;
    letter-spacing: 0.75px;
    font-size: 15px;

    color: var(--gtthr-light-color-1);
    background: var(--gtthr-dark-color-1);

    margin-bottom: -15px !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    width: calc(100% + 10px*2);
}

.gtthr_historyThumbnail {
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.gtthr_historyThumbnail .image {
    float: left;

    width: 70px;
    height: 70px;
    background-color: rgba(0, 0, 0, 0.05);
    background-size: 70%;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 5px;
}

.gtthr_historyThumbnail .information {
    float: left;
    padding-left: 10px;
    max-width: calc(100% - 70px - 110px);
    letter-spacing: 0.17px;
}

.gtthr_historyThumbnail .information .title {
    font-weight: 600;
    font-size: 15px;
    padding-top: 2.5px;
}

.gtthr_historyThumbnail .information .dateTime {
    font-weight: 300;
    font-size: 15px;
    padding-top: 5px;
}

.gtthr_historyThumbnail .information .price {
    font-weight: 200;
    font-size: 15px;
    padding-top: 3.5px;
}

.gtthr_historyThumbnail .menu {
    float: right;
}

.gtthr_historyThumbnail .menu .button {
    float: right;
    padding: 7.5px;
    padding-left: 12.5px;
    padding-right: 12.5px;
    border-radius: 50px;
    background-color: rgba(0, 0, 0, 0.05);
    font-weight: 500;
    font-size: 13.5px;
    margin-left: 10px;
    cursor: pointer;
}

.gtthr_historyThumbnail .menu .button.rate {
    display: none;
}

.gtthr_historyThumbnail .menu .button.rebook {}

#routeForm input {
    border: none !important;
    border-radius: 35px !important;
    font-size: 15px;
    letter-spacing: 0.75px;
    padding-left: 17px;
    padding-right: 17px;
    background-color: white !important;
    box-shadow: 0px 0px 3px 3.5px rgba(0, 0, 0, 0.07);
    min-height: 42.35px !important;
    line-height: 42.35px !important;
}

#routeForm .selectedInput {
    box-shadow: 0px 0px 0px 3.5px rgba(0, 0, 0, 0.27);
}


#gtthr_jobThumbnail #copy {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    margin-top: 7px;
    padding-top: 15px;
    padding-bottom: 11px;
    padding-right: 1.7px;
}

#gtthr_jobThumbnail #copy .copyLink {
    float: left;

    padding-left: 17px;
    padding-right: 17px;
    line-height: calc(40px - 2px);

    border: 1px solid rgba(0, 0, 0, 0.17);
    border-radius: 4px;
    width: calc(100% - 50px);

    outline: none;
    cursor: pointer;

    letter-spacing: 0.75px;
    font-size: 11px;
}

#gtthr_jobThumbnail #copy .copyButton {
    float: right;

    width: 50px;
    line-height: 40px;
    font-size: 21px;
    color: rgba(0, 0, 0, 0.5);

    cursor: pointer;
    text-align: center;
}

#gtthr_client .mapboxgl-ctrl-bottom-left {
    bottom: unset;
    top: 21.5px;
    left: unset;
    right: 11px;
}

@media screen and (max-width: 640px) {
    #gtthr_client .mapboxgl-ctrl-bottom-left {
        top: 34.5px;
    }
}

#gtthr_client .mapboxgl-ctrl-bottom-right {
    bottom: unset;
    top: 0px;
}

#gtthr_client .ui.toggle.checkbox input:checked~.box:before,
#gtthr_client .ui.toggle.checkbox input:checked~label:before,
#gtthr_client .ui.toggle.checkbox input:focus:checked~.box:before,
#gtthr_client .ui.toggle.checkbox input:focus:checked~label:before {
    background-color: var(--gtthr-light-color-1) !important;
}


#gtthrDocumentsForm .title {
    position: relative;
    padding-top: 27px;
    padding-bottom: 27px;
}

#gtthrDocumentsForm .title.active {
    padding-bottom: 7px;
}

#gtthrDocumentsForm .titleStatus {
    position: absolute;
    right: 7px;
    top: 25px;
    font-size: 10px;
    letter-spacing: 0.75px;
    border-radius: 17px;
    background: rgba(0, 0, 0, 0.07);
    padding: 3px;
    padding-left: 11px;
    padding-right: 11px;
}

.uploadImageTitle {
    padding-bottom: 17px;
    font-weight: bold;
    letter-spacing: 0.75px;
    font-size: 17px;
    line-height: 21px;
}

.uploadSpace {
    border-radius: 11px;
    margin-bottom: 17px;
    background: rgba(0, 0, 0, 0.07);
    position: relative;
}

.uploadSpaceScroll {
    padding: 17px;
    padding-right: 0px;
    height: calc(135px + 17px*2);
    vertical-align: top;
    overflow-y: hidden;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

.uploadSpaceScroll .uploadedImage {
    display: inline-block;
    position: relative;
    border-radius: 17px;
    cursor: pointer;
    margin-right: 17px;
    height: 135px;
    min-width: 70px;
    text-align: center;
    background-size: cover;
    background-position: center;
}

.uploadSpaceScroll .uploadedImage .image {
    border-radius: 17px;
    cursor: pointer;
    height: 170px;
}

.uploadSpaceScroll .uploadedImage .deleteUploadedImage {
    position: absolute;
    position: absolute;
    text-align: center;
    font-size: 21px;
    background-color: var(--gtthr-light-color-1);
    color: white;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    line-height: 45px;
    right: -11px;
    top: -11px;
    cursor: pointer;
}

.uploadSpace .gtthrUploadImageButton,
.uploadSpace .uploadImageButton {
    z-index: 10;
    position: absolute;
    text-align: center;
    font-size: 21px;
    background-color: var(--gtthr-light-color-1);
    color: white;
    border-radius: 50%;
    width: 55px;
    height: 55px;
    /*line-height: 42.35px;*/
    line-height: 55px;
    right: -11px;
    bottom: -11px;
    cursor: pointer;
}

#gtthrDocumentsForm .ui.styled.accordion,
#gtthrDocumentsForm .ui.styled.accordion .accordion {
    padding: 5px;
    font-size: 117%;
}

#gtthrDocumentsForm .saveDocumentsButton {
    cursor: pointer;

    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.75px;


    margin-top: 17px;
    border-radius: 5px;
    padding: 17px;
}

#gtthrDocumentsForm .verifyDocumentsButton,
#gtthrDocumentsForm .revokeDocumentsButton {
    cursor: pointer;

    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.75px;

    margin-top: 17px;
    border-radius: 5px;
    padding: 17px;

    float: left;
    width: calc(50% - 7px);

    background: #91c956;
    color: white;
}

#gtthrDocumentsForm .revokeDocumentsButton {
    float: right;

    background: #ed4747;
    color: white;
}

#gtthr_slideshow {
    z-index: 100;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 100%;

    will-change: opacity;
    -webkit-transition: opacity 0.7s ease;
    -moz-transition: opacity 0.7s ease;
    -ms-transition: opacity 0.7s ease;
    -o-transition: opacity 0.7s ease;
    transition: opacity 0.7s ease;

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

#gtthrSlideshow .slideshow {
    background: white;
}

#gtthrSlideshow .slide {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
}

#gtthrSlideshow .slide .title {
    position: absolute;
    top: 15px;
    left: 0px;
    width: 100%;

    text-align: center;
    letter-spacing: 0.75px;
    font-size: 4.5vw;
    line-height: 5.5vw;
    font-weight: bold;
}

@media screen and (min-width: 770px) {
    #gtthrSlideshow .slide .title {
        font-size: 35px;
        line-height: 45px;
    }
}

#gtthrSlideshow .slide .image {
    position: absolute;
    top: calc(50% - 77%/2);
    left: 0px;
    width: 100%;
    height: 77%;

    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

#gtthrSlideshow .slide .subTitle {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;

    background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));

    text-align: left;
    letter-spacing: 0.75px;
    font-size: 3.5vw;
    line-height: 5vw;
    font-weight: bold;
    padding: 17px;
    padding-top: 25%;
}

@media screen and (min-width: 770px) {
    #gtthrSlideshow .slide .subTitle {
        font-size: 20px;
        line-height: 25px;
    }
}

#gtthrSlideshow .slide #proceedButton {
    cursor: pointer;

    background: var(--gtthr-dark-color-1);
    color: var(--gtthr-light-color-1);
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.75px;

    margin-top: 7px;
    border-radius: 5px;
    padding: 17px;
}

#gtthrDocumentsForm #userPicture {
    position: relative;
    border: 3px solid grey;
    width: 117px;
    height: 117px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.27);

    margin-left: auto;
    margin-right: auto;
    margin-bottom: 17px;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    cursor: pointer;
}

#gtthrDocumentsForm #userPicture .gtthrUploadImageButton {
    z-index: 10;
    position: absolute;
    text-align: center;
    font-size: 17px;
    background-color: var(--gtthr-light-color-1);
    border-radius: 50%;
    width: 45px;
    height: 45px;
    line-height: 45px;
    right: -7px;
    bottom: -7px;
    cursor: pointer;
}

#gtthrDocumentsForm #userName {
    text-align: center;
    letter-spacing: 0.75px;
    font-size: 21px;
}

#gtthrDocumentsForm #userSummary {
    text-align: center;
    letter-spacing: 0.75px;
    font-size: 11px;
    padding: 11px;
}

#gtthrDocumentsForm #userScroll {
    text-align: center;
    vertical-align: bottom;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

#gtthrDocumentsForm #userScroll .scrollStat {
    vertical-align: bottom;
    position: relative;
    display: inline-block;
    padding: 11px;
    padding-left: 17px;
    padding-right: 17px;
    border-radius: 35px;
    background: black;
    color: white;
    letter-spacing: 0.75px;
    margin-left: 3.5px;
    margin-right: 3.5px;
}

#gtthrDocumentsForm #userScroll .scrollStat .scrollStatValue,
#gtthrDocumentsForm #userScroll .scrollStat .scrollStatLabel {
    position: relative;
    display: inline-block;

    font-size: 21px;
}

#gtthrDocumentsForm #userScroll .scrollStat .scrollStatLabel {
    font-size: 13px;
    color: var(--gtthr-light-color-1);
}

#gtthrDocumentsForm #goOnlineButton,
#gtthrDocumentsForm #collectPaymentButton {
    cursor: pointer;

    background: var(--gtthr-light-color-1);
    color: var(--gtthr-dark-color-1);
    text-align: center;
    font-weight: bold;
    font-size: 17px;
    letter-spacing: 0.75px;

    margin-top: 17px;
    border-radius: 5px;
    padding: 17px;
}

#gtthr_loadingData {
    padding: 17px;
    opacity: 0.5;
    font-size: 21px;
    text-align: center;
}

.emptyListMessage {
    margin: 17px;
    padding: 13px;

    background: var(--gtthr-dark-color-1);
    color: var(--gtthr-light-color-1);

    text-align: center;
    letter-spacing: 0.75px;
    font-size: 15px;
    border-radius: 3.5px;
}

#gtthr_client .ui.tabular.menu .item {
    margin-top: 1px;
}


.gtthr_fleetAdminMode #gtthr_map_serviceOptions,
.gtthr_fleetAdminMode #gtthr_map_jobSummary,
.gtthr_fleetAdminMode #gtthr_map_routeForm {
    bottom: 0px;
    border-radius: 0px;
    left: 0px;
    width: 100%;
}

.gtthr_fleetAdminMode #gtthr_map_heading {
    display: none;
}

.gtthr_fleetAdminMode #gtthr_map_serviceOptions {
    padding-top: 0px;
}

.gtthr_fleetAdminMode #gtthr_map_serviceOptions .serviceOption .picture {
    display: none;
}

.gtthr_fleetAdminMode #gtthr_map_serviceOptions .serviceOption .title {
    padding-top: 0px;
    font-size: 17px;
}

.gtthr_fleetAdminMode #gtthr_map_serviceOptions .serviceOption .titleFade {
    height: 100%;
}

#gtthrSettings .ui.segment {
    padding: 2em;
}#inventoryForm #addPrice,
#inventoryForm #addConversion,
#inventoryForm #addChoice,
#inventoryForm #printMasterSKU,
#inventoryForm #addRule,
#inventoryForm #addOptionRule,
#inventoryForm #addBundleSlot {
    background: var(--jmkr-color-1);
    color: white;
    margin-top: 11px;
    padding: 11px;
    padding-left: 0px;
    padding-right: 0px;
    text-align: center;
    letter-spacing: 0.7px;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
}

#inventoryForm .title {
    background-color: rgba(255, 255, 255, 1);
}

#inventoryForm .content {
    background-color: rgba(250, 250, 250, 1);
    border-top: 1px solid silver;
    margin-top: 10px;
    position: relative;
}

#inventoryForm .price,
#inventoryForm .conversion,
#inventoryForm .rule,
#inventoryForm .optionRule,
#inventoryForm .choice,
#inventoryForm .bundleSlot {
    position: relative;
    padding-top: 7px;
}

#inventoryForm .deletePrice,
#inventoryForm .deleteConversion,
#inventoryForm .linkPrice,
#inventoryForm .linkChoice,
#inventoryForm .deleteRule,
#inventoryForm .deleteOptionRule,
#inventoryForm .deleteChoice,
#inventoryForm .deleteBundleSlot {
    position: absolute;
    z-index: 1;
    right: 5px;
    top: 7.5px;
    cursor: pointer;

    font-size: 15px;
    color: white;
    background: var(--jmkr-color-1);
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    text-align: center;
    padding-top: 1px;
}

#inventoryForm .linkPrice {
    z-index: 2;
    top: -40px;
    color: var(--jmkr-color-1);
    background: none;
}

#inventoryForm .linkChoice {
    z-index: 2;
    right: 40px;
    color: var(--jmkr-color-1);
    background: none;
}

#inventoryForm .copyOption {
    float: right;
    cursor: pointer;
    color: var(--jmkr-color-1);
    opacity: 0.6;
    margin-left: 10px;
    padding: 0 5px;
}

#inventoryForm .copyOption:hover {
    opacity: 1;
}

#inventoryFilterForm {
    float: left;
    width: calc(100% - var(--line-height));
}

#inventoryForm .image-item,
#inventoryForm .image-option {
    float: left;
    width: 70px;
    height: 70px;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    margin: 7.7px;
    border-radius: 7.7px;
}

#inputInventorySearch input,
#inputInventoryTransactionSearch input {
    border-radius: 0px !important;
    border-top: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#searchInventoryToggle,
#searchInventoryTransactionToggle {
    float: left;
    background: var(--jmkr-color-1);
    color: white;
    width: var(--line-height);
    text-align: center;
    height: var(--line-height);
    line-height: var(--line-height);
    cursor: pointer;
}

.InventorySetting .deleteListEntry {
    cursor: pointer;

    position: absolute;
    top: 1.7px;
    right: 11px;

    font-size: 12px;
    color: white;
    background: var(--jmkr-color-1);
    width: 21px;
    height: 21px;
    line-height: 20px;
    border-radius: 50%;
    text-align: center;
    padding-top: 1px;
    z-index: 10;
}

.InventorySetting .deleteAddress,
.InventorySetting .deletePrinter {
    position: absolute;
    z-index: 1;
    right: 20px;
    top: -35px;
    cursor: pointer;

    font-size: 15px;
    color: white;
    background: var(--jmkr-color-1);
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    text-align: center;
    padding-top: 1px;
}

#addScheduleSessionButton {
    z-index: 10;
    position: absolute;
    text-align: center;
    font-size: 21px;
    background: var(--jmkr-color-1);
    color: white;
    border-radius: 50%;
    width: 55px;
    height: 55px;
    line-height: 55px;
    right: calc(var(--line-height) / 4);
    bottom: calc(var(--line-height) / 4);
    cursor: pointer;
}

.inventoryAnalysisPanel .analysisActionsCell {
    text-align: right;
    white-space: nowrap;
}

.inventoryAnalysisPanel .analysisActions {
    display: inline-flex;
    gap: 6px;
}

.inventoryAnalysisPanel .analysisActionButton {
    align-items: center;
    background: rgba(44, 73, 74, 0.08);
    border-radius: 4px;
    color: #2c494a;
    cursor: pointer;
    display: inline-flex;
    font-size: 12px;
    height: 26px;
    justify-content: center;
    padding: 0 7px;
    transition: background 120ms ease, color 120ms ease;
}

.inventoryAnalysisPanel .analysisActionButton:hover {
    background: rgba(44, 73, 74, 0.18);
    color: #1a3031;
}

.inventoryAnalysisPanel .analysisActionButton i {
    margin: 0;
}

.analyticsPulse {
    animation: analyticsPulse 1.2s ease;
}

@keyframes analyticsPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(44, 73, 74, 0.35);
    }

    70% {
        box-shadow: 0 0 0 7px rgba(44, 73, 74, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(44, 73, 74, 0);
    }
}

.inventoryStockInsights {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    margin-bottom: 18px;
}

.inventoryStockInsights .insightCard {
    background: rgba(255, 255, 255, 0.92);
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    padding: 14px;
}

.inventoryStockInsights .insightHeader {
    align-items: center;
    color: #2c494a;
    display: flex;
    font-size: 14px;
    font-weight: 600;
    gap: 8px;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.inventoryStockInsights .insightHeader i {
    margin: 0;
}

.inventoryStockInsights .analysisEmpty {
    margin: 0;
    text-align: center;
    padding: 18px 0;
}

.inventoryStockInsights .insightChart {
    min-height: 180px;
}

.inventoryScheduleSessionList .scheduleSession {
    position: absolute;
    width: calc(100% - var(--line-height) / 2);
    left: calc(var(--line-height) / 4);
    color: black;
    font-size: 15px;
    border-top: 1.7px solid rgba(0, 0, 0, 0.17);
    overflow: hidden;
}

.inventoryScheduleSessionList .scheduleSession:last-child {
    border-bottom: 1.7px solid rgba(0, 0, 0, 0.17);
}

.inventoryScheduleSessionList .scheduleSession.selected {
    background: var(--jmkr-color-1);
    color: white;
}

.inventoryScheduleSessionList .scheduleSession .name {
    z-index: 2;
    position: absolute;
    cursor: pointer;
    font-size: 15px;
    font-weight: bold;
    top: 0px;
    left: 0px;
    text-align: center;
    width: 100%;
}

.inventoryScheduleSessionList .scheduleSession .wrapName {
    position: absolute;
    text-align: left;
    top: 50%;
    left: 0px;
    width: 100%;
    transform: translateY(-50%);
    font-size: 17px;
    line-height: 25px;
    font-weight: normal;

    padding: 7px;
    max-height: calc(100% - 30px * 2);
    overflow: auto;
}

.inventoryScheduleSessionList .scheduleSession .startTime,
.inventoryScheduleSessionList .scheduleSession .stopTime {
    z-index: 1;
    position: absolute;
    cursor: pointer;
    top: 0px;
    left: 0px;
    line-height: 11px;
    opacity: 0.5;
    width: 100%;
    padding: 7px;
}

.inventoryScheduleSessionList .scheduleSession .stopTime {
    text-align: right;
    top: auto;
    bottom: 0px;
}

.inventoryScheduleSessionList .scheduleSession .deleteSession {
    z-index: 3;
    cursor: pointer;

    position: absolute;
    top: 0px;
    right: 0px;

    font-size: 15px;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
}

.inventoryScheduleSessionList .scheduleSession.selected .deleteSession i {
    color: white;
}

.inventoryScheduleSessionList .scheduleSession .deleteSession i {
    margin-right: 0px;
}

.ui.form .inventoryForm_priceType .quantityChange {
    border-radius: 5px;
    background-color: rgba(0, 0, 0, 0.05);
    padding: 1em;
    border: 1px solid rgba(0, 0, 0, 0.1);
    margin-bottom: 15px;
}

.ui.form .inventoryForm_priceType input[type=number].inputQuantity.increased,
.ui.form .inventoryForm_priceType input[type=number].inputCostPrice.increased,
.ui.form .inventoryForm_priceType input[type=number].inputPrice.increased,
.ui.form .inventoryForm_priceType .increased textarea.inputQuantityChangeReason,
.ui.form .inventoryForm_priceType .increased input.inputCostPrice,
.ui.form .inventoryForm_priceType .increased input.inputQuantityChangeSupplier,
.ui.form .inventoryForm_priceType .increased input.inputQuantityChangeIdentifier,
.ui.form .inventoryForm_priceType .increased input.inputQuantityChangeExpiryDate,
.ui.form .inventoryForm_priceType .increased input.inputStockChangeAmount,
.ui.form .inventoryForm_priceType .increased textarea.inputCostPriceChangeReason,
.ui.form .inventoryForm_priceType .increased textarea.inputPriceChangeReason {
    background-color: white !important;
    border: 2px solid #21ba45 !important;
    border-radius: 5px !important;
}

.ui.form .inventoryForm_priceType input[type=number].inputQuantity.decreased,
.ui.form .inventoryForm_priceType input[type=number].inputCostPrice.decreased,
.ui.form .inventoryForm_priceType input[type=number].inputPrice.decreased,
.ui.form .inventoryForm_priceType .decreased textarea.inputQuantityChangeReason,
.ui.form .inventoryForm_priceType .decreased input.inputCostPrice,
.ui.form .inventoryForm_priceType .decreased input.inputQuantityChangeSupplier,
.ui.form .inventoryForm_priceType .decreased input.inputQuantityChangeIdentifier,
.ui.form .inventoryForm_priceType .decreased input.inputQuantityChangeExpiryDate,
.ui.form .inventoryForm_priceType .decreased input.inputStockChangeAmount,
.ui.form .inventoryForm_priceType .decreased textarea.inputCostPriceChangeReason,
.ui.form .inventoryForm_priceType .decreased textarea.inputPriceChangeReason {
    background-color: white !important;
    border: 2px solid #db2828 !important;
    border-radius: 5px !important;
}

/* Stock Change Buttons and Input Group */
.ui.form .inventoryForm_priceType .quantityDisplayGroup {
    display: flex;
    align-items: center;
    gap: 0;
}

.ui.form .inventoryForm_priceType .quantityDisplayGroup .inputQuantity {
    background-color: #f8f9fa !important;
    cursor: default;
    font-weight: 600;
    font-size: 15px;
}

.ui.form .inventoryForm_priceType .stockChangeActions {
    display: flex;
    gap: 0.7em;
    margin-top: 0.7em;
}

.ui.form .inventoryForm_priceType .stockChangeBtn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0.7em;
    border-radius: 3.5px;
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    transition: all 120ms ease;
    background: transparent;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.ui.form .inventoryForm_priceType .stockChangeBtn i {
    font-size: 11px;
}

.ui.form .inventoryForm_priceType .addStockBtn {
    border: 1px solid rgba(33, 186, 69, 0.4);
    color: #21ba45;
}

.ui.form .inventoryForm_priceType .addStockBtn:hover {
    background: rgba(33, 186, 69, 0.08);
    border-color: #21ba45;
}

.ui.form .inventoryForm_priceType .removeStockBtn {
    border: 1px solid rgba(219, 40, 40, 0.4);
    color: #db2828;
}

.ui.form .inventoryForm_priceType .removeStockBtn:hover {
    background: rgba(219, 40, 40, 0.08);
    border-color: #db2828;
}

.ui.form .inventoryForm_priceType .stockChangeInputGroup {
    margin-bottom: 15px;
    padding: 1em;
    background: white;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.ui.form .inventoryForm_priceType .increased .stockChangeInputGroup {
    border-color: #21ba45;
    background: rgba(33, 186, 69, 0.1);
}

.ui.form .inventoryForm_priceType .decreased .stockChangeInputGroup {
    border-color: #db2828;
    background: rgba(219, 40, 40, 0.1);
}

.ui.form .inventoryForm_priceType .stockChangeInputHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 0.28571429rem 0;
}

.ui.form .inventoryForm_priceType .stockChangeLabel {
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ui.form .inventoryForm_priceType .increased .stockChangeLabel {
    color: #21ba45;
}

.ui.form .inventoryForm_priceType .decreased .stockChangeLabel {
    color: #db2828;
}

.ui.form .inventoryForm_priceType .stockChangeCancelBtn {
    background: rgba(0, 0, 0, 0.06);
    border: none;
    padding: 6px 10px;
    border-radius: 5px;
    cursor: pointer;
    color: rgba(0, 0, 0, 0.5);
    transition: all 120ms ease;
}

.ui.form .inventoryForm_priceType .stockChangeCancelBtn:hover {
    background: rgba(0, 0, 0, 0.12);
    color: rgba(0, 0, 0, 0.8);
}

.ui.form .inventoryForm_priceType .stockChangeInputRow {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ui.form .inventoryForm_priceType .inputStockChangeAmount {
    flex: 1;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 10px 12px !important;
}

.ui.form .inventoryForm_priceType .stockChangePreview {
    font-size: 13px;
    color: rgba(0, 0, 0, 0.6);
    white-space: nowrap;
    min-width: 180px;
}

.ui.form .inventoryForm_priceType .increased .stockChangePreview {
    color: #16ab39;
}

.ui.form .inventoryForm_priceType .decreased .stockChangePreview {
    color: #c82121;
}

.ui.form .inventoryForm_priceType .stockChangeValuePreview {
    font-size: 12px;
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 4px;
    display: none;
}

.ui.form .inventoryForm_priceType .stockChangeValuePreview:not(:empty) {
    display: block;
}

.ui.form .inventoryForm_priceType .stockChangeValuePreview i {
    margin-right: 6px;
}

.ui.form .inventoryForm_priceType .increased .stockChangeValuePreview {
    background: rgba(33, 186, 69, 0.08);
    color: #16ab39;
    border: 1px solid rgba(33, 186, 69, 0.2);
}

.ui.form .inventoryForm_priceType .decreased .stockChangeValuePreview {
    background: rgba(219, 40, 40, 0.08);
    color: #c82121;
    border: 1px solid rgba(219, 40, 40, 0.2);
}

.ui.form .inventoryForm_priceType .inputQuantityChangeReasonSelect {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid rgba(34, 36, 38, 0.15);
    border-radius: 4px;
    font-size: 14px;
    background: white;
}

/* Stock Log Cost Price Display */
.stockLogCostPrice {
    background-color: rgba(155, 89, 182, 0.1) !important;
    color: #8e44ad !important;
    border-radius: 4px;
    padding: 2px 8px !important;
    margin-left: 7px !important;
}

.stockLogCostPrice i {
    margin-right: 4px;
}

.stockLogCostPrice b {
    color: #9b59b6;
}

.accordion .title .option {
    display: inline-block;
    margin-right: 5px;
    border-radius: 25px;
    padding: 3.5px;
    padding-left: 15px;
    padding-right: 15px;
    background-color: rgba(0, 0, 0, 0.1);
    margin-top: 7px;
    font-weight: 500;
}

#inventoryDestinationMap {
    margin-left: -15px;
    margin-top: -4px;
    width: calc(100% + 30px);
    background-color: rgba(0, 0, 0, 0.1);
}

.inventoryAnalysisToggle.active {
    background: white !important;
    color: inherit !important;
}

#Inventory .analysisLoading,
#Inventory .analysisHelp,
#Inventory .analysisEmpty {
    color: #607273;
    font-size: 0.95em;
    padding: 0.75em 0;
}

#Inventory .analysisSummary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75em;
}

#Inventory .analysisTrendChart {
    margin-top: 1.5em;
    min-height: 220px;
}

#Inventory .analysisCard {
    flex: 1 1 180px;
    background: #f7fafa;
    border: 1px solid #e0ebea;
    border-radius: 6px;
    padding: 0.75em;
}

#Inventory .analysisCardValue {
    font-size: 1.5em;
    font-weight: 600;
    color: #2c494a;
}

#Inventory .analysisCardLabel {
    font-size: 0.95em;
    color: #607273;
}

#Inventory .analysisCardMeta {
    font-size: 0.8em;
    color: #889899;
    margin-top: 0.35em;
}

#Inventory .analysisTables {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    margin-top: 1em;
}

#Inventory .analysisTable {
    flex: 1 1 320px;
}

#Inventory .analysisTableTitle {
    font-weight: 600;
    margin-bottom: 0.5em;
    color: #2c494a;
}

#Inventory .analysisItemName {
    font-weight: 600;
    color: #2c494a;
}

#Inventory .analysisItemMeta {
    font-size: 0.8em;
    color: #607273;
}

#Inventory .analysisItemMeta.warning {
    color: #b38600;
}

#Inventory .analysisError {
    color: #b91c1c;
}

/* Margin column styling */
.analysisDataTable .marginCell {
    font-weight: 600;
    text-align: right;
    color: #2563eb;
}

/* Aging badge styling */
.agingBadge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.agingBadge--\<90 {
    background: rgba(34, 197, 94, 0.15);
    color: #15803d;
}

.agingBadge--90-120 {
    background: rgba(251, 191, 36, 0.15);
    color: #b45309;
}

.agingBadge--120-180 {
    background: rgba(249, 115, 22, 0.15);
    color: #c2410c;
}

.agingBadge--180\+ {
    background: rgba(239, 68, 68, 0.15);
    color: #b91c1c;
}

.agingBadge--unknown {
    background: rgba(107, 114, 128, 0.15);
    color: #4b5563;
}

/* Auto-Par Button */
.autoParBtn {
    background: transparent;
    border: 1px solid rgba(99, 102, 241, 0.4);
    color: #6366f1;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    margin-left: 6px;
    transition: all 120ms ease;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    vertical-align: middle;
}

.autoParBtn:hover {
    background: rgba(99, 102, 241, 0.1);
    border-color: #6366f1;
}

.autoParBtn i {
    font-size: 10px;
}

@media screen and (max-width: 768px) {
    #Inventory .analysisActions {
        width: 100%;
        justify-content: flex-start;
    }

    #Inventory .analysisSummary {
        flex-direction: column;
    }

    #Inventory .analysisTables {
        flex-direction: column;
    }
}

/* Stock Log Filters */
.stockLogFilters {
    padding: 12px 0;
    margin-bottom: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.stockLogFilterRow {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px;
    width: 100%;
}

.stockLogFilterGroup {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.stockLogFilterGroup--date {
    flex: 1;
    min-width: 200px;
}

.stockLogFilterLabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
}

.stockLogSourceFilter,
.stockLogDirectionFilter {
    display: flex;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.12);
}

.stockLogFilterBtn {
    padding: 7px 14px;
    font-size: 12px;
    font-weight: 500;
    background: white;
    border: none;
    border-right: 1px solid rgba(0, 0, 0, 0.08);
    cursor: pointer;
    transition: all 120ms ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #374151;
}

.stockLogFilterBtn:last-child {
    border-right: none;
}

.stockLogFilterBtn:hover {
    background: rgba(0, 0, 0, 0.04);
}

.stockLogFilterBtn.active {
    background: var(--jmkr-color-1);
    color: white;
}

.stockLogFilterBtn i {
    font-size: 12px;
}

.stockLogDateFilters {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.stockLogDateInput {
    flex: 1;
    padding: 7px 10px;
    font-size: 12px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 6px;
    background: white;
    color: #374151;
    min-width: 0;
}

.stockLogDateInput:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 0 2px rgba(var(--jmkr-color-1-rgb, 99, 102, 241), 0.15);
}

.stockLogDateSeparator {
    font-size: 11px;
    color: #9ca3af;
    flex-shrink: 0;
}

.stockLogClearFilters {
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 500;
    background: transparent;
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: 6px;
    color: #ef4444;
    cursor: pointer;
    transition: all 120ms ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    align-self: flex-end;
}

.stockLogClearFilters:hover {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.5);
}

.stockLogClearFilters i {
    font-size: 12px;
}

/* Stock Log Repair Toggle */
.stockLogToggleRepairs {
}

.stockLogToggleRepairs.active {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: white !important;
}

.pageAdd.stockLogToggleRepairs.active {
    background: #2563eb !important;
    color: white !important;
}

/* Stock Log Repair Indicator */
.stockLogRepairIndicator {
    background: #dbeafe !important;
    color: #1e40af !important;
    text-transform: none;
    font-size: 11px;
    padding: 4px 8px;
    border-radius: 4px;
    margin-bottom: 4px;
    border-left: 3px solid #2563eb;
}

.stockLogRepairIndicator i.band.aid.icon {
    color: #2563eb !important;
    margin-right: 4px;
}

.stockLogRepairDate {
    opacity: 0.7;
    margin-left: 6px;
    font-size: 10px;
}

@media screen and (max-width: 600px) {
    .stockLogFilterRow {
        flex-direction: column;
        align-items: stretch;
    }

    .stockLogFilterGroup--date {
        min-width: 100%;
    }

    .stockLogClearFilters {
        align-self: flex-start;
    }
}

/* Bulk Auto-Par Modal */
.bulkAutoParModal__overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
}

.bulkAutoParModal__content {
    background: white;
    border-radius: 12px;
    width: 100%;
    max-width: 700px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.bulkAutoParModal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.bulkAutoParModal__title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
    display: flex;
    align-items: center;
    gap: 8px;
}

.bulkAutoParModal__title i {
    color: var(--jmkr-color-1);
}

.bulkAutoParModal__close {
    background: none;
    border: none;
    font-size: 24px;
    color: #9ca3af;
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

.bulkAutoParModal__close:hover {
    color: #374151;
}

.bulkAutoParModal__body {
    padding: 20px;
    overflow-y: auto;
    flex: 1;
}

.bulkAutoParModal__description {
    margin: 0 0 20px;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.5;
}

.bulkAutoParModal__options {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 20px;
}

.bulkAutoParModal__field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bulkAutoParModal__label {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
}

.bulkAutoParModal__input {
    padding: 10px 12px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 6px;
    font-size: 14px;
    width: 120px;
}

.bulkAutoParModal__input:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}

.bulkAutoParModal__hint {
    font-size: 11px;
    color: #9ca3af;
}

.bulkAutoParModal__checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #374151;
    cursor: pointer;
}

.bulkAutoParModal__checkbox input {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.bulkAutoParModal__actions {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}

.bulkAutoParModal__btn {
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms ease;
}

.bulkAutoParModal__btn--primary {
    background: var(--jmkr-color-1);
    color: white;
    border: none;
}

.bulkAutoParModal__btn--primary:hover:not(:disabled) {
    filter: brightness(1.1);
}

.bulkAutoParModal__btn--primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.bulkAutoParModal__btn--ghost {
    background: transparent;
    color: #6b7280;
    border: 1px solid rgba(0, 0, 0, 0.15);
}

.bulkAutoParModal__btn--ghost:hover {
    background: rgba(0, 0, 0, 0.04);
}

.bulkAutoParModal__error {
    padding: 12px;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.2);
    border-radius: 6px;
    color: #b91c1c;
    font-size: 13px;
    margin-bottom: 16px;
}

.bulkAutoParModal__result {
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
}

.bulkAutoParModal__resultHeader {
    background: rgba(0, 0, 0, 0.03);
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.bulkAutoParModal__resultHeader i {
    color: var(--jmkr-color-1);
}

.bulkAutoParModal__resultStats {
    display: flex;
    gap: 24px;
    padding: 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.bulkAutoParModal__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.bulkAutoParModal__statValue {
    font-size: 24px;
    font-weight: 700;
    color: #1f2937;
}

.bulkAutoParModal__statLabel {
    font-size: 11px;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bulkAutoParModal__previewTable {
    max-height: 300px;
    overflow-y: auto;
}

.bulkAutoParModal__previewTable table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.bulkAutoParModal__previewTable th {
    background: rgba(0, 0, 0, 0.03);
    padding: 8px 12px;
    text-align: left;
    font-weight: 600;
    color: #6b7280;
    position: sticky;
    top: 0;
}

.bulkAutoParModal__previewTable td {
    padding: 8px 12px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.bulkAutoParModal__row--change {
    background: rgba(34, 197, 94, 0.05);
}

.bulkAutoParModal__row--skipped {
    background: rgba(107, 114, 128, 0.05);
    color: #9ca3af;
}

.bulkAutoParModal__row--unchanged {
    color: #6b7280;
}

.bulkAutoParModal__status {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
}

.bulkAutoParModal__status--change {
    background: rgba(34, 197, 94, 0.15);
    color: #15803d;
}

.bulkAutoParModal__status--skipped {
    background: rgba(107, 114, 128, 0.15);
    color: #4b5563;
}

.bulkAutoParModal__status--unchanged {
    background: rgba(107, 114, 128, 0.1);
    color: #6b7280;
}

/* ============================================
   Conveyor Intake Modal (Spec 1060 Phase 2)
   Pattern source: bulkAutoParModal at lines 972-1255
   ============================================ */

/* Overlay — fixed full-screen backdrop */
.conveyorIntakeModal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: var(--right-menu-width, 331.45px);
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    padding: 20px;
    padding-left: 97px;
}

/* Content card */
.conveyorIntakeModal__content {
    background: white;
    border-radius: 12px;
    width: 100%;
    max-width: 960px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

/* Header */
.conveyorIntakeModal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.conveyorIntakeModal__title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
    display: flex;
    align-items: center;
    gap: 8px;
}

.conveyorIntakeModal__title i {
    color: var(--jmkr-color-1);
}

.conveyorIntakeModal__headerActions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.conveyorIntakeModal__sessionBadge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    background: rgba(34, 197, 94, 0.1);
    border: 1px solid rgba(34, 197, 94, 0.3);
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    color: #15803d;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.conveyorIntakeModal__sessionBadge i {
    color: #22c55e;
    animation: conveyorPulse 2s ease-in-out infinite;
}

/* Frame counter — proof of life next to LIVE badge (Spec 1160 visibility overhaul) */
.conveyorIntakeModal__frameCount {
    font-size: 11px;
    color: #9ca3af;
    font-variant-numeric: tabular-nums;
}

/* Gap 2 — PO badge indicator (Spec 1160) — pattern: sessionBadge above */
.conveyorIntakeModal__poBadge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    background: rgba(59, 130, 246, 0.1);
    border: 1px solid rgba(59, 130, 246, 0.3);
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    color: #1d4ed8;
    letter-spacing: 0.5px;
}

.conveyorIntakeModal__poBadge i {
    color: #3b82f6;
}

.conveyorIntakeModal__close {
    background: none;
    border: none;
    font-size: 24px;
    color: #9ca3af;
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

.conveyorIntakeModal__close:hover {
    color: #374151;
}

/* Body — scrollable */
.conveyorIntakeModal__body {
    padding: 20px;
    overflow-y: auto;
    flex: 1;
}

/* Layout — 60/40 split */
.conveyorIntakeModal__layout {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 12px;
}

.conveyorIntakeModal__cameraPanel {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Indicator row — full width below cameras */
.conveyorIntakeModal__indicatorRow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 12px;
    border: 1px solid #ecf0f1;
    border-top: none;
    background: #fafafa;
}

.conveyorIntakeModal__cameraFeed {
    background: #f9fafb;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px 8px 0 0;
    min-height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Video feed — fills camera container, crops to fit */
.conveyorIntakeModal__videoFeed {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px 8px 0 0;
    display: block;
}

/* IP camera feed wrapper — positions img + bbox canvas overlay */
.conveyorIntakeModal__ipFeedWrap {
    position: relative;
    width: 100%;
    display: none;
}

.conveyorIntakeModal__ipFeedWrap.is-active {
    display: block;
}

/* IP camera live feed — shows latest snapshot, same sizing as videoFeed */
.conveyorIntakeModal__ipFeed {
    width: 100%;
    display: block;
    border-radius: 8px 8px 0 0;
}

/* Bounding box canvas overlay — positioned over the camera feed */
.conveyorIntakeModal__bboxOverlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    border-radius: 8px 8px 0 0;
}

.conveyorIntakeModal__cameraPlaceholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: #9ca3af;
    font-size: 13px;
    padding: 40px 20px;
    text-align: center;
}

.conveyorIntakeModal__cameraPlaceholder i {
    font-size: 36px;
    opacity: 0.5;
}

.conveyorIntakeModal__cameraPlaceholder--active {
    color: #6b7280;
}

.conveyorIntakeModal__cameraPlaceholder--active i {
    color: var(--jmkr-color-1);
    opacity: 0.8;
}

.conveyorIntakeModal__cameraHint {
    font-size: 11px;
    color: #9ca3af;
    font-style: italic;
}

/* Status Bar — green/yellow/red indicator */
.conveyorIntakeModal__statusBar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 0 0 8px 8px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-top: none;
    background: #f3f4f6;
    font-size: 13px;
    color: #6b7280;
    min-height: 42px;
}

.conveyorIntakeModal__statusBar--green {
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(34, 197, 94, 0.2);
    color: #15803d;
}

.conveyorIntakeModal__statusBar--yellow {
    background: rgba(234, 179, 8, 0.1);
    border-color: rgba(234, 179, 8, 0.3);
    color: #a16207;
    animation: conveyorYellowPulse 2s ease-in-out infinite;
}

.conveyorIntakeModal__statusBar--red {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.2);
    color: #b91c1c;
}

.conveyorIntakeModal__statusIcon {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.conveyorIntakeModal__statusBar--green .conveyorIntakeModal__statusIcon i {
    color: #22c55e;
}

.conveyorIntakeModal__statusBar--yellow .conveyorIntakeModal__statusIcon i {
    color: #eab308;
}

.conveyorIntakeModal__statusBar--red .conveyorIntakeModal__statusIcon i {
    color: #ef4444;
}

.conveyorIntakeModal__statusText {
    flex: 1;
    font-size: 13px;
    line-height: 1.4;
}

.conveyorIntakeModal__overrideBtn {
    padding: 4px 12px;
    background: transparent;
    border: 1px solid currentColor;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    color: inherit;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 120ms ease;
}

.conveyorIntakeModal__overrideBtn:hover {
    background: rgba(0, 0, 0, 0.05);
}

/* Error Banner — surfaces pipeline errors to user (Spec 1160 visibility overhaul) */
.conveyorIntakeModal__errorBar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: #fef2f2;
    color: #dc2626;
    border-left: 3px solid #dc2626;
    border-radius: 0 0 8px 8px;
    font-size: 12px;
    line-height: 1.4;
    margin-top: -1px;
}

.conveyorIntakeModal__errorBar i {
    flex-shrink: 0;
    color: #dc2626;
}

/* Indicator Panel (40%) */
.conveyorIntakeModal__indicatorPanel {
    display: none;
}

.conveyorIntakeModal__panelTitle {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 600;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Box Info section */
.conveyorIntakeModal__boxInfo {
    background: #f9fafb;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    padding: 14px 16px;
}

.conveyorIntakeModal__productName {
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 6px;
}

.conveyorIntakeModal__productDetail {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #6b7280;
    margin-bottom: 3px;
}

.conveyorIntakeModal__productDetail i {
    font-size: 13px;
    color: #9ca3af;
}

.conveyorIntakeModal__boxPlaceholder {
    font-size: 13px;
    color: #9ca3af;
    font-style: italic;
}

/* Running Count section */
.conveyorIntakeModal__countSection {
    background: #f9fafb;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    padding: 14px 16px;
}

.conveyorIntakeModal__countTable {
    max-height: 160px;
    overflow-y: auto;
}

.conveyorIntakeModal__countTable table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.conveyorIntakeModal__countTable th {
    background: rgba(0, 0, 0, 0.03);
    padding: 6px 10px;
    text-align: left;
    font-weight: 600;
    color: #6b7280;
    position: sticky;
    top: 0;
}

.conveyorIntakeModal__countTable td {
    padding: 6px 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    color: #374151;
}

.conveyorIntakeModal__countRow--complete {
    background: rgba(34, 197, 94, 0.05);
}

.conveyorIntakeModal__countRow--complete td {
    color: #15803d;
}

.conveyorIntakeModal__countRow--over {
    background: rgba(239, 68, 68, 0.05);
}

.conveyorIntakeModal__countRow--over td {
    color: #b91c1c;
}

.conveyorIntakeModal__countEmpty {
    font-size: 12px;
    color: #9ca3af;
    font-style: italic;
    text-align: center;
    padding: 12px 0;
}

/* Session Stats — 3-column row */
.conveyorIntakeModal__sessionStats {
    display: flex;
    gap: 12px;
}

.conveyorIntakeModal__stat {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px 8px;
    background: #f9fafb;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
}

.conveyorIntakeModal__statValue {
    font-size: 22px;
    font-weight: 700;
    color: #1f2937;
}

.conveyorIntakeModal__statLabel {
    font-size: 10px;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Actions — bottom button row */
.conveyorIntakeModal__actions {
    display: flex;
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.conveyorIntakeModal__btn {
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.conveyorIntakeModal__btn--primary {
    background: var(--jmkr-color-1);
    color: white;
    border: none;
}

.conveyorIntakeModal__btn--primary:hover:not(:disabled) {
    filter: brightness(1.1);
}

.conveyorIntakeModal__btn--primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.conveyorIntakeModal__btn--danger {
    background: #ef4444;
    color: white;
    border: none;
}

.conveyorIntakeModal__btn--danger:hover:not(:disabled) {
    background: #dc2626;
}

.conveyorIntakeModal__btn--danger:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.conveyorIntakeModal__btn--ghost {
    background: transparent;
    color: #6b7280;
    border: 1px solid rgba(0, 0, 0, 0.15);
}

.conveyorIntakeModal__btn--ghost:hover {
    background: rgba(0, 0, 0, 0.04);
}

/* Error message */
.conveyorIntakeModal__error {
    padding: 12px;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.2);
    border-radius: 6px;
    color: #b91c1c;
    font-size: 13px;
    margin-top: 12px;
}

/* Animations */
@keyframes conveyorPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

@keyframes conveyorYellowPulse {
    0%, 100% { background: rgba(234, 179, 8, 0.1); }
    50% { background: rgba(234, 179, 8, 0.18); }
}

/* Responsive — stack layout on narrow screens */
@media screen and (max-width: 768px) {
    .conveyorIntakeModal__content {
        max-width: 100%;
        max-height: 95vh;
    }

    .conveyorIntakeModal__cameraFeeds {
        flex-direction: column;
        max-height: none;
    }

    .conveyorIntakeModal__sessionStats {
        gap: 8px;
    }

    .conveyorIntakeModal__statValue {
        font-size: 18px;
    }

    .conveyorIntakeModal__actions {
        flex-wrap: wrap;
    }

    .conveyorIntakeModal__btn {
        flex: 1;
        justify-content: center;
        min-width: 120px;
    }
}

/* ──────────────────────────────────────────────────────────────────
   Multi-Camera Feed Layout
   ────────────────────────────────────────────────────────────────── */

.conveyorIntakeModal__cameraFeeds {
    display: flex;
    flex-direction: row;
    gap: 2px;
    background: #1a1a1a;
    border: 1px solid #ecf0f1;
    border-radius: 3.5px 3.5px 0 0;
    min-height: 180px;
    max-height: 280px;
    overflow: hidden;
}

.conveyorIntakeModal__feedSlot {
    position: relative;
    flex: 1 1 0;
    min-height: 100px;
    min-width: 0;
    background: #1a1a1a;
    cursor: pointer;
    overflow: hidden;
}

.conveyorIntakeModal__feedSlot--single {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
}

.conveyorIntakeModal__feedSlot--primary {
    border-bottom: 3px solid var(--jmkr-color-1, #2185d0);
}

.conveyorIntakeModal__feedSlot--selected {
    outline: 2px solid #facc15;
    outline-offset: -2px;
    z-index: 1;
}

.conveyorIntakeModal__feedLabel {
    position: absolute;
    top: 6px;
    left: 8px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 6px;
    pointer-events: none;
}

.conveyorIntakeModal__feedName {
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    background: rgba(0, 0, 0, 0.6);
    padding: 2px 8px;
    border-radius: 3.5px;
    letter-spacing: 0.3px;
}

.conveyorIntakeModal__feedBadge {
    font-size: 9px;
    font-weight: 700;
    color: #fff;
    background: var(--jmkr-color-1, #2185d0);
    padding: 2px 6px;
    border-radius: 3.5px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* Feed slot IP feed inherits from parent but scoped to slot */
.conveyorIntakeModal__feedSlot .conveyorIntakeModal__ipFeedWrap {
    position: relative;
    width: 100%;
    display: none;
}

.conveyorIntakeModal__feedSlot .conveyorIntakeModal__ipFeedWrap.is-active {
    display: block;
}

.conveyorIntakeModal__feedSlot .conveyorIntakeModal__ipFeed {
    width: 100%;
    display: block;
    border-radius: 0;
}

.conveyorIntakeModal__feedSlot .conveyorIntakeModal__bboxOverlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.conveyorIntakeModal__feedSlot .conveyorIntakeModal__cameraPlaceholder {
    padding: 20px 12px;
    font-size: 12px;
}

.conveyorIntakeModal__feedSlot .conveyorIntakeModal__cameraPlaceholder i {
    font-size: 24px;
}

/* ──────────────────────────────────────────────────────────────────
   Camera Controls Drawer
   ────────────────────────────────────────────────────────────────── */

.conveyorIntakeModal__controls {
    border: 1px solid #ecf0f1;
    border-top: none;
    background: #fafafa;
}

.conveyorIntakeModal__controlsHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 10px;
    background: #f3f4f6;
    border-bottom: 1px solid #ecf0f1;
    font-size: 11px;
    font-weight: 600;
    color: #374151;
}

.conveyorIntakeModal__controlsHeader i {
    font-size: 11px;
    margin-right: 3px;
    opacity: 0.7;
}

.conveyorIntakeModal__controlsClose {
    background: none;
    border: none;
    font-size: 16px;
    color: #9ca3af;
    cursor: pointer;
    padding: 0 2px;
    line-height: 1;
}

.conveyorIntakeModal__controlsClose:hover {
    color: #374151;
}

.conveyorIntakeModal__controlsBody {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px 10px;
    padding: 6px 10px;
}

.conveyorIntakeModal__controlGroup {
    display: flex;
    align-items: center;
    gap: 4px;
}

.conveyorIntakeModal__controlGroup label {
    font-size: 10px;
    color: #6b7280;
    min-width: 38px;
    flex-shrink: 0;
}

.conveyorIntakeModal__controlGroup input[type="range"] {
    flex: 1;
    height: 3px;
    min-width: 0;
    -webkit-appearance: none;
    appearance: none;
    background: #d1d5db;
    border-radius: 2px;
    outline: none;
    cursor: pointer;
}

.conveyorIntakeModal__controlGroup input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--jmkr-color-1, #2185d0);
    cursor: pointer;
    border: 2px solid #fff;
}

.conveyorIntakeModal__controlVal {
    font-size: 10px;
    color: #374151;
    font-weight: 600;
    min-width: 20px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.conveyorIntakeModal__controlBtn {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px 8px;
    font-size: 10px;
    font-weight: 500;
    color: #374151;
    background: #fff;
    border: 1px solid #ecf0f1;
    border-radius: 3.5px;
    cursor: pointer;
}

.conveyorIntakeModal__controlBtn:hover {
    background: #f3f4f6;
}

.conveyorIntakeModal__controlBtn i {
    font-size: 10px;
    opacity: 0.7;
}

/* Responsive — stack cameras and controls on narrow */
@media screen and (max-width: 768px) {
    .conveyorIntakeModal__cameraFeeds {
        flex-direction: column;
        min-height: 140px;
        max-height: none;
    }

    .conveyorIntakeModal__controlsBody {
        grid-template-columns: repeat(2, 1fr);
    }
}#invoiceThumbnail #copy {
  padding-top: 2px;
  padding-right: 7px;
}

#invoiceThumbnail #copy .copyLink {
  float: left;

  padding-left: 17px;
  padding-right: 17px;
  line-height: calc(40px - 2px);

  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  width: calc(100% - 50px);

  outline: none;
  cursor: pointer;
}

#invoiceThumbnail #copy .copyButton {
  float: right;

  width: 50px;
  line-height: 40px;
  font-size: 21px;
  color: rgba(0, 0, 0, 0.5);

  cursor: pointer;
  text-align: center;
}

#invoiceThumbnail img {
  margin-top: 5px;
  width: 55px;
  height: 55px;
  border-radius: 5px;
  object-fit: cover;
  box-shadow: 0px 1px 7px 0px rgba(0, 0, 0, 0.17);
}

#InvoiceTransaction #invoiceThumbnail .accordion,
#InvoiceTransaction #invoiceThumbnail .clearSpace,
#InvoiceTransaction #invoiceThumbnail .extra,
#InvoiceTransaction #invoiceThumbnail .lineItemListRow {
  display: none;
}

#invoiceTransaction {
  font-size: 13px;
  line-height: 20px;
  padding: 7px;
  border-bottom: 1px solid var(--jmkr-color-1);
}

#invoiceTransactionDataRow.settlementSelected {
  background: rgba(30, 173, 211, 0.08);
}

#invoiceTransactionDataRow .button.toggleSettlementSelection.active {
  background: var(--jmkr-color-1) !important;
  color: white !important;
}

.insightSettlementSummary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: rgba(0, 0, 0, 0.025);
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 7px;
}

.insightSettlementSummary .insightSettlementStat .label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(0, 0, 0, 0.45);
}

.insightSettlementSummary .insightSettlementStat .value {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.8);
}

.insightSettlementSummary .insightSettlementStat .value.currency {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.insightSettlementSummary .insightSettlementStat .value.total {
  font-size: 17px;
}

.insightSettlementSummary .insightSettlementStat .value span {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.5);
  margin-left: 5px;
}

.insightSettlementSummary .insightSettlementStat .value.currency+.value.currency {
  margin-top: 2px;
}

.insightSettlementSummary .insightSettlementStat .value.count {
  font-size: 11px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.45);
  margin-top: 2px;
}

.insightSettlementSummary .insightSettlementActions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.insightSettlementSummary .insightSettlementActions .button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  margin-right: 7px;
  border: none;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  background: var(--jmkr-color-1);
  box-shadow: 0 6px 16px rgba(33, 108, 173, 0.35);
  transition: transform 150ms ease, box-shadow 150ms ease, filter 150ms ease;
}

.insightSettlementSummary .insightSettlementActions .button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(33, 108, 173, 0.35);
}

.insightSettlementSummary .insightSettlementActions .button:active {
  transform: translateY(0px) scale(0.98);
}

.insightSettlementSummary .insightSettlementActions .button.clearSettlementSelection {
  background: rgba(255, 255, 255, 0.9);
  color: var(--jmkr-color-1);
  border: 1px solid rgba(33, 108, 173, 0.25);
  box-shadow: 0 3px 8px rgba(33, 108, 173, 0.18);
}

.insightSettlementSummary .insightSettlementActions .button.clearSettlementSelection:hover {
  filter: brightness(1.03);
}

.insightSettlementSummary .insightSettlementActions .button.clearSettlementSelection:active {
  transform: translateY(0px) scale(0.98);
}

.insightSettlementSummary .insightSettlementActions .button.disabled {
  pointer-events: none;
  opacity: 0.5;
  box-shadow: none;
  background: linear-gradient(135deg, #cbd5f0 0%, #dfe7fb 100%);
  color: rgba(60, 76, 102, 0.8);
}

.insightSettlementSummary .insightSettlementActions .button.clearSettlementSelection.disabled {
  background: rgba(236, 240, 252, 0.9);
  color: rgba(79, 97, 125, 0.6);
  border: 1px solid rgba(33, 108, 173, 0.15);
}

#feeStructure {
  padding: 10px;
  padding-left: 15px;
  padding-right: 15px;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 7px;
  margin-bottom: 0px;
}

#jmkrClient .ui.form .addLineItem {
  background: var(--jmkr-color-1);
  color: white;
  margin-top: -15px;
  margin-bottom: 10px;
  padding: 11px;
  padding-left: 0px;
  padding-right: 0px;
  text-align: center;
  letter-spacing: 0.7px;
  font-size: 13px;
  border-radius: 5px;
  cursor: pointer;
}

#jmkrClient .ui.form .lineItem {
  position: relative;
  padding: 11px;
  padding-top: 7px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  margin-bottom: 11px;
  background: rgba(0, 0, 0, 0.017);
}

#jmkrClient .ui.form .lineItem textarea {
  height: 77px;
}

#jmkrClient .ui.form .editLineItem {
  position: absolute;
  right: 22.5px;
  top: -10px;
  cursor: pointer;

  font-size: 11.5px;
  color: white;
  background: var(--jmkr-color-1);
  width: 25px;
  height: 25px;
  line-height: 24px;
  border-radius: 5px;
  text-align: center;
  padding-left: 1px;
}

#jmkrClient .ui.form .deleteLineItem {
  position: absolute;
  right: -10px;
  top: -10px;
  cursor: pointer;

  font-size: 13.5px;
  color: white;
  background: var(--jmkr-color-1);
  width: 25px;
  height: 25px;
  line-height: 24px;
  border-radius: 5px;
  text-align: center;
  padding-left: 1px;
}

#lineItemListHeader {
  background: var(--jmkr-color-1);
  color: white;
  padding: 15px;
  border-radius: 4px;
  letter-spacing: 0.7px;
  font-size: 15px;
  line-height: 15px;
}

.lineItemListRow {
  padding: 3.5px;
  padding-top: 0px;
  padding-bottom: 0px;
}

.lineItemListRow.bundle-child-row {
  background: rgba(var(--jmkr-color-1-rgb, 99, 102, 241), 0.02);
  border-left: 3px solid rgba(var(--jmkr-color-1-rgb, 99, 102, 241), 0.25);
}

.lineItemListRow.bundle-child-row .bundle-child-name {
  padding-left: 20px;
  color: #6c757d;
  font-size: 95%;
}

.lineItemListRow.bundle-child-row .bundle-parent-ref {
  padding-left: 20px;
  font-size: 10px;
  color: #adb5bd;
  font-style: italic;
}

.lineItemListRow.bundle-child-row .bundle-child-value {
  color: #adb5bd;
  font-style: italic;
  font-size: 12px;
}

#inputInvoiceSearch input,
#inputInvoiceTransactionSearch input {
  border-radius: 0px !important;
  border-top: 0px !important;
  border-color: rgba(30, 173, 211, 0.35) !important;
}

.notificationThumbnail #invoiceThumbnail .extra {
  display: none;
}


/* ============================================
   BATCH RECEIVING MODAL
   Pattern source: posStats (pointOfSale.css:2316-2548)
   Sibling pattern: dispatch-overlay (invoice.css:906+)
   ============================================ */

/* Overlay — pattern: posStats-overlay (pointOfSale.css:2316-2325) */
.batchReceive-overlay {
  position: fixed;
  top: 0; left: var(--left-menu-width); right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(2px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Modal — pattern: posStats-modal (pointOfSale.css:2327-2336) */
.batchReceive-modal {
  background: #fff;
  border-radius: 8px;
  width: 95%;
  max-width: 1000px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}

/* Header — pattern: posStats-header (pointOfSale.css:2344-2356) */
.batchReceive-header {
  background: #335C5C;
  color: #fff;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  border-radius: 8px 8px 0 0;
}
.batchReceive-headerLeft { display: flex; flex-direction: column; gap: 2px; }
.batchReceive-title { font-size: 16px; font-weight: 600; display: flex; align-items: center; gap: 8px; }
.batchReceive-title i { font-size: 18px; }
.batchReceive-subtitle { font-size: 11px; opacity: 0.75; }
.batchReceive-close { cursor: pointer; opacity: 0.7; transition: opacity 0.15s; }
.batchReceive-close:hover { opacity: 1; }

/* Body — scrollable content area */
.batchReceive-body {
  flex: 1 1 auto;
  overflow-y: auto;
  min-height: 0;
}

/* Summary cards — pattern: posStats-cards (pointOfSale.css:2358-2393) */
.batchReceive-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
}
.batchReceive-card {
  flex: 1 1 120px;
  min-width: 100px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 10px 12px;
  text-align: center;
}
.batchReceive-cardLabel {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  color: #6b7280;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.batchReceive-cardValue {
  font-size: 18px;
  font-weight: 700;
  color: #1f2937;
}

/* Actions bar */
.batchReceive-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px 20px;
  border-bottom: 1px solid #e5e7eb;
}

/* HID Scanner */
.batchReceive-modal #hidScannerContainer {
  display: none;
}
.batchReceive-modal #hidScannerInput {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
}
.batchReceive-modal #hidScannerStatus {
  font-size: 11px;
  color: #6b7280;
  margin-top: 4px;
}

/* Button — pattern: posStats-shiftBtn (pointOfSale.css:2495-2508) */
.batchReceive-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid #d1d5db;
  background: #f9fafb;
  color: #374151;
  transition: background 0.15s, border-color 0.15s, transform 0.1s;
}
.batchReceive-btn:hover {
  background: #f3f4f6;
  border-color: #9ca3af;
}
.batchReceive-btn:active {
  transform: scale(0.98);
}
.batchReceive-btn i { font-size: 14px; }
.batchReceive-btn--primary {
  background: #335C5C;
  color: #fff;
  border-color: #335C5C;
}
.batchReceive-btn--primary:hover {
  background: #2a4d4d;
  border-color: #2a4d4d;
}

/* Content area — two-column layout */
.batchReceive-content {
  display: flex;
  min-height: 0;
}

/* Left: Stickers list */
.batchReceive-modal .stickersContainer {
  flex: 1;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #e5e7eb;
  min-height: 0;
}
.batchReceive-modal .stickersHeader {
  padding: 14px 20px;
  border-bottom: 1px solid #e5e7eb;
  background: #f9fafb;
  flex-shrink: 0;
}
.batchReceive-modal .stickersHeader h4 {
  margin: 0 0 4px 0;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 6px;
}
.batchReceive-modal .stickersHeader h4 i { font-size: 14px; color: #335C5C; }
.batchReceive-modal .stickersSubtitle {
  font-size: 11px;
  color: #6b7280;
  margin: 0;
}
.batchReceive-modal .stickersScrollable {
  flex: 1 1 auto;
  overflow-y: auto;
  min-height: 0;
  max-height: 400px;
}
.batchReceive-modal .stickersScrollable::-webkit-scrollbar { width: 5px; }
.batchReceive-modal .stickersScrollable::-webkit-scrollbar-track { background: #f9fafb; }
.batchReceive-modal .stickersScrollable::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; }
.batchReceive-modal .stickersScrollable::-webkit-scrollbar-thumb:hover { background: #9ca3af; }

/* Sticker items (dynamically generated by JS — class names must match invoice.js:4218-4232) */
.batchReceive-modal .sticker-item {
  padding: 12px 20px;
  border-bottom: 1px solid #f3f4f6;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: background 0.15s;
}
.batchReceive-modal .sticker-item:hover { background: #f9fafb; }
.batchReceive-modal .sticker-item.selected {
  background: #ecfdf5;
  border-left: 3px solid #335C5C;
}
.batchReceive-modal .sticker-item .selection-icon {
  color: #d1d5db;
  font-size: 16px;
  transition: color 0.15s;
}
.batchReceive-modal .sticker-item.selected .selection-icon { color: #335C5C; }
.batchReceive-modal .sticker-item.disabled-sticker {
  opacity: 0.5;
  cursor: not-allowed;
}
.batchReceive-modal .sticker-item.disabled-sticker:hover { background: transparent; }
.batchReceive-modal .sticker-item .item-content { flex: 1; }
.batchReceive-modal .sticker-item .item-name {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 2px;
}
.batchReceive-modal .sticker-item .item-description {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 2px;
}
.batchReceive-modal .sticker-item .item-choices {
  font-size: 11px;
  color: #6b7280;
  font-style: italic;
  margin-bottom: 2px;
}
.batchReceive-modal .sticker-item .item-meta {
  font-size: 11px;
  color: #9ca3af;
}
.batchReceive-modal .sticker-item .item-batch-info {
  margin-top: 6px;
  padding: 4px 8px;
  background: rgba(51, 92, 92, 0.08);
  border-radius: 4px;
  font-size: 11px;
  color: #335C5C;
  font-weight: 500;
}

/* Empty state */
.batchReceive-modal #stickersList .empty-state {
  text-align: center;
  padding: 48px 32px;
  color: #6b7280;
}
.batchReceive-modal #stickersList .empty-state i {
  font-size: 40px;
  color: #d1d5db;
  margin-bottom: 12px;
  display: block;
}
.batchReceive-modal #stickersList .empty-state h3 {
  margin: 0 0 6px 0;
  color: #374151;
  font-weight: 500;
  font-size: 15px;
}
.batchReceive-modal #stickersList .empty-state p {
  margin: 0;
  font-size: 13px;
}

/* Right: Processing panel */
.batchReceive-modal .batchProcessingPanel {
  width: 360px;
  display: flex;
  flex-direction: column;
  background: #f9fafb;
  flex-shrink: 0;
}
.batchReceive-modal .batchControlsContainer {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.batchReceive-modal .batchControlsContainer.hidden { display: none; }
.batchReceive-modal .batchInfoPanel {
  display: none;
  flex-direction: column;
}
.batchReceive-modal .batchInfoPanel.visible { display: flex; }

/* Panel headers */
.batchReceive-panelHeader {
  padding: 14px 20px;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}
.batchReceive-panelHeader h4 {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 6px;
}
.batchReceive-panelHeader h4 i { font-size: 14px; color: #335C5C; }

/* Batch controls */
.batchReceive-modal .batchControls {
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.batchReceive-field { display: flex; flex-direction: column; gap: 6px; }
.batchReceive-field label {
  font-weight: 600;
  color: #374151;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.batchReceive-field input[type="text"],
.batchReceive-field input[type="date"] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
  color: #1f2937;
  transition: border-color 0.15s, box-shadow 0.15s;
  box-sizing: border-box;
}
.batchReceive-field input:focus {
  border-color: #335C5C;
  box-shadow: 0 0 0 3px rgba(51, 92, 92, 0.1);
  outline: none;
}

/* Camera section */
.batchReceive-cameraSection {
  flex: 1;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.batchReceive-camera {
  background: #fff;
  border-radius: 6px;
  padding: 12px;
  border: 1px solid #e5e7eb;
}
.batchReceive-modal #batchCameraStream {
  width: 100%;
  height: 180px;
  background: #f3f4f6;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
  font-size: 13px;
}
.batchReceive-cameraControls {
  margin-top: 12px;
  display: flex;
  gap: 8px;
  justify-content: center;
}
.batchReceive-scanResults {
  padding: 10px;
  background: #fff;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
  color: #6b7280;
  font-size: 13px;
}

/* Responsive — Tablet */
@media (max-width: 1024px) {
  .batchReceive-cards { gap: 8px; }
  .batchReceive-card { flex: 1 1 calc(33.333% - 8px); min-width: 0; }
  .batchReceive-cardValue { font-size: 16px; }
}

/* Responsive — Mobile: sidebar hidden, overlay takes full width */
/* Pattern source: posStats responsive (pointOfSale.css:2462-2475) */
@media (max-width: 768px) {
  .batchReceive-overlay { left: 0; align-items: flex-end; }
  .batchReceive-modal { max-height: 95vh; border-radius: 12px 12px 0 0; width: 100%; }
  .batchReceive-header { border-radius: 12px 12px 0 0; }
  .batchReceive-cards { gap: 6px; display: grid; grid-template-columns: 1fr 1fr 1fr; }
  .batchReceive-card { min-width: 0; }
  .batchReceive-cardValue { font-size: 15px; }
  .batchReceive-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 10px 16px;
  }
  .batchReceive-modal #hidScannerContainer {
    display: flex;
    flex-direction: column;
    order: -1;
    width: 100%;
  }
  .batchReceive-modal #hidScannerInput {
    padding: 12px;
    font-size: 16px;
    border: 2px solid #335C5C;
    border-radius: 8px;
    background: #f0fdf4;
  }
  .batchReceive-modal #hidScannerInput:focus {
    outline: none;
    border-color: #2a4d4d;
    background: #fff;
    box-shadow: 0 2px 8px rgba(51, 92, 92, 0.15);
  }
  .batchReceive-modal #hidScannerStatus {
    font-size: 10px;
    padding: 4px;
    text-align: center;
  }
  .batchReceive-btn--primary#openBatchScanner {
    width: 100%;
    justify-content: center;
    padding: 12px;
  }
  .batchReceive-content { flex-direction: column; }
  .batchReceive-modal .stickersContainer {
    border-right: none;
    border-bottom: 1px solid #e5e7eb;
  }
  .batchReceive-modal .stickersScrollable { max-height: 35vh; }
  .batchReceive-modal .batchProcessingPanel { width: 100%; }
  .batchReceive-modal .sticker-item { padding: 10px 16px; }
  .batchReceive-modal .batchControls { padding: 12px 16px; gap: 12px; }
}

/* Responsive — Small phone */
@media (max-width: 480px) {
  .batchReceive-header { padding: 10px 14px; }
  .batchReceive-title { font-size: 14px; }
  .batchReceive-subtitle { font-size: 10px; }
  .batchReceive-cards { padding: 10px 14px; grid-template-columns: 1fr 1fr 1fr; }
  .batchReceive-cardLabel { font-size: 9px; }
  .batchReceive-cardValue { font-size: 14px; }
  .batchReceive-actions { padding: 8px 14px; }
  .batchReceive-modal .stickersHeader { padding: 10px 14px; }
  .batchReceive-modal .batchControls { padding: 10px 14px; gap: 10px; }
}


.lineItemListRow .options-wrapper {
  margin-top: 5px;
  margin-bottom: 5px;
}

.lineItemListRow .options-wrapper .option {
  display: flex;
  align-items: center;
  margin-bottom: 3px;
  font-size: 12px;
  line-height: 1.3;
}

.lineItemListRow .options-wrapper .option .choice {
  font-weight: 600;
  color: var(--jmkr-color-1);
  margin-left: 5px;
}


#jmkrClient .ui.form .lineItem .options-display {
  padding: 10px;
  background: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #e9ecef;
  margin-top: 5px;
}

#jmkrClient .ui.form .lineItem .option-item {
  margin-bottom: 5px;
  font-size: 13px;
  line-height: 1.4;
}

#jmkrClient .ui.form .lineItem .option-item:last-child {
  margin-bottom: 0;
}

/* ─── Dispatch Order Modal ─── */
/* Pattern source: posStats-overlay/modal (pointOfSale.css:2316-2475) */

.dispatch-overlay {
  position: fixed;
  top: 0; left: var(--left-menu-width); right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(2px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dispatch-modal {
  background: #fff;
  border-radius: 8px;
  width: 95%;
  max-width: 900px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}

.dispatch-header {
  background: #335C5C;
  color: #fff;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  border-radius: 8px 8px 0 0;
}

.dispatch-title {
  font-size: 16px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}

.dispatch-title i { font-size: 18px; }

.dispatch-close {
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.15s;
}

.dispatch-close:hover { opacity: 1; }

.dispatch-body {
  flex: 1 1 auto;
  overflow-y: auto;
  min-height: 0;
}

/* Summary cards — pattern source: posStats-cards (pointOfSale.css:2359-2393) */
.dispatch-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
}

.dispatch-card {
  flex: 1 1 120px;
  min-width: 110px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 10px 12px;
  text-align: center;
}

.dispatch-cardLabel {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  color: #6b7280;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}

.dispatch-cardValue {
  font-size: 18px;
  font-weight: 700;
  color: #1f2937;
}

.dispatch-cardValue--small { font-size: 13px; font-weight: 600; }

/* Fulfillment step indicator */
.dispatch-steps {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e7eb;
  gap: 0;
}

.dispatch-step {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  color: #9ca3af;
  background: #f3f4f6;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}

.dispatch-step i { font-size: 14px; }

.dispatch-step--active {
  background: #335C5C;
  color: #fff;
}

.dispatch-step--completed {
  background: #d1fae5;
  color: #065f46;
}

.dispatch-stepConnector {
  width: 24px;
  height: 2px;
  background: #d1d5db;
  flex-shrink: 0;
}

.dispatch-stepConnector--completed {
  background: #065f46;
}

/* Line items list */
.dispatch-section {
  padding: 16px 20px;
  border-bottom: 1px solid #f3f4f6;
}

.dispatch-sectionTitle {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.dispatch-sectionTitle i { font-size: 14px; color: #335C5C; }

.dispatch-lineItem {
  display: flex;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #f3f4f6;
  gap: 12px;
}

.dispatch-lineItem:last-child { border-bottom: none; }

.dispatch-lineItemCheck {
  width: 20px;
  height: 20px;
  border: 2px solid #d1d5db;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.15s;
}

.dispatch-lineItemCheck--checked {
  background: #335C5C;
  border-color: #335C5C;
  color: #fff;
}

.dispatch-lineItemCheck--checked i { font-size: 12px; }

.dispatch-lineItemInfo {
  flex: 1 1 auto;
  min-width: 0;
}

.dispatch-lineItemName {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
}

.dispatch-lineItemMeta {
  font-size: 12px;
  color: #6b7280;
  margin-top: 2px;
}

.dispatch-lineItemQty {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  flex-shrink: 0;
  text-align: right;
  min-width: 60px;
}

.dispatch-lineItemStatus {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 10px;
  flex-shrink: 0;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.dispatch-lineItemStatus--pending {
  background: #fef3c7;
  color: #92400e;
}

.dispatch-lineItemStatus--fulfilled {
  background: #d1fae5;
  color: #065f46;
}

.dispatch-lineItemStatus--partial {
  background: #dbeafe;
  color: #1e40af;
}

/* Actions bar — pattern source: posStats-actions (pointOfSale.css:2431-2450) */
.dispatch-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  border-top: 1px solid #e5e7eb;
  flex-shrink: 0;
  gap: 10px;
}

.dispatch-btn {
  padding: 8px 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
  border: 1px solid transparent;
  display: flex;
  align-items: center;
  gap: 6px;
}

.dispatch-btn i { font-size: 14px; }

.dispatch-btn--secondary {
  color: #374151;
  background: #f3f4f6;
  border-color: #d1d5db;
}

.dispatch-btn--secondary:hover { background: #e5e7eb; }

.dispatch-btn--primary {
  color: #fff;
  background: #335C5C;
  border-color: #335C5C;
}

.dispatch-btn--primary:hover { background: #2a4d4d; }

.dispatch-btn--primary:disabled,
.dispatch-btn--primary.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Responsive — Tablet */
@media (max-width: 768px) {
  .dispatch-overlay { left: 0; align-items: flex-end; }
  .dispatch-modal { max-height: 95vh; border-radius: 12px 12px 0 0; width: 100%; }
  .dispatch-cards { gap: 6px; display: grid; grid-template-columns: 1fr 1fr; }
  .dispatch-card { min-width: 0; }
  .dispatch-cardValue { font-size: 15px; }
  .dispatch-steps { flex-wrap: wrap; gap: 4px; }
  .dispatch-stepConnector { width: 12px; }
  .dispatch-actions { flex-direction: column; }
  .dispatch-btn { width: 100%; justify-content: center; }
}

/* Responsive — Small Mobile */
@media (max-width: 480px) {
  .dispatch-header { padding: 12px 14px; }
  .dispatch-title { font-size: 14px; }
  .dispatch-cards { padding: 12px 14px; grid-template-columns: 1fr; }
  .dispatch-section { padding: 12px 14px; }
  .dispatch-steps { padding: 12px 14px; }
  .dispatch-lineItem { flex-wrap: wrap; gap: 8px; }
  .dispatch-lineItemQty { min-width: auto; }
}

#InvoicePage #billTo {
  float: left;
  max-width: calc(100% - 40px);
  font-size: 13px;
  padding-left: 11px;
}


/* ============================================
   2. Print Controls
   ============================================ */

#InvoicePage #printInvoiceViaDefault,
#InvoicePage #printInvoiceViaUSB,
#InvoicePage #printInvoiceViaJSPrint,
#InvoicePage #printInvoiceTestTxt,
#InvoicePage #printerSelectionViaPhorosPrint,
#InvoicePage #closeInvoiceButton {
  font-size: 15px;
  float: right;
  cursor: pointer;
  padding: 7.5px;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 15px;
}

#InvoicePage #closeInvoiceButton {
  display: none;
  border-radius: 50%;
  background: white;
  color: black;
  text-align: center;
  font-size: 17px;
}

.dashboardPopUp #InvoicePage #closeInvoiceButton {
  display: block;
}

#InvoicePage #printerSelectionViaPhorosPrint {
  float: left;
}

#InvoicePage #printerSelectionViaPhorosPrint span {
  opacity: 0.5;
  font-size: 10px;
  left: 55px;
  top: 23px;
  position: absolute;
  display: inline-block;
}


/* ============================================
   3. Payment Buttons
   ============================================ */

#InvoicePage .pay,
#InvoicePage .resendEmail {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 4px;
  min-height: 48px;
  width: 100%;
  font-size: 13px;
  letter-spacing: 0.4px;
  color: #ffffff;
  margin-top: 12px;
  background-color: var(--jmkr-color-1);
  cursor: pointer;
}

#InvoicePage .pay b,
#InvoicePage .resendEmail {
  font-size: 15px;
  letter-spacing: 1px;
}

#InvoicePage .payLabel {
  display: block;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.4px;
  margin-top: 8px;
  text-align: center;
  color: #334155;
}


/* ============================================
   4. Disclaimer
   ============================================ */

#InvoicePage #disclaimer {
  font-size: 12px;
  line-height: 15px;
  margin-top: 35px;
  margin-left: auto;
  max-width: 350px;
  width: calc(100% - 25px*2);
  opacity: 0.7;
  border: 1px solid rgba(0, 0, 0, 0.35);
  padding: 10px;
}


/* ============================================
   5. Embedded Invoice Overrides
   ============================================ */

.showIfEmbeddedInvoice {
  display: none;
}

.embeddedInvoice .showIfEmbeddedInvoice {
  display: block;
}

.embeddedInvoice .hideIfEmbedded {
  display: none;
}

.embeddedInvoice #printArea {
  padding: 0px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.embeddedInvoice #popupPaymentBG {
  border-radius: 5px;
}

.embeddedInvoice .invoiceActionsCard {
  display: none;
}

@media screen and (max-width: 767px) {
  #ToolPage #page.embeddedInvoice {
    padding-left: 11px;
    padding-right: 11px;
  }
}


/* ============================================
   6. Summary Card
   ============================================ */

#InvoicePage .invoiceSummaryCard {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 4px;
  padding: 17px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

#InvoicePage .invoiceSummaryCard__brandRow {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

#InvoicePage .invoiceSummaryCard__brandLogo img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  border-radius: 4px;
  background: #f8fafc;
  padding: 6px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

#InvoicePage .invoiceSummaryCard__brandMeta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

#InvoicePage .invoiceSummaryCard__org {
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
}

#InvoicePage .invoiceSummaryCard__type {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #94a3b8;
}

#InvoicePage .invoiceSummaryCard__statusRow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}

#InvoicePage .invoiceSummaryCard__number {
  font-size: 25px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #94a3b8;
  font-weight: 600;
}

#InvoicePage .invoiceSummaryCard__status {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.08);
  color: #0f172a;
}

#InvoicePage .invoiceSummaryCard__status--paid {
  background: rgba(16, 185, 129, 0.15);
  color: #047857;
}

#InvoicePage .invoiceSummaryCard__status--outstanding {
  background: rgba(248, 113, 113, 0.15);
  color: #b91c1c;
}

#InvoicePage .invoiceSummaryCard__status--cancelled {
  background: rgba(148, 163, 184, 0.2);
  color: #475569;
}

#InvoicePage .invoiceSummaryCard__status--refunded {
  background: rgba(129, 140, 248, 0.2);
  color: #4338ca;
}

#InvoicePage .invoiceSummaryCard__amountBlock {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#InvoicePage .invoiceSummaryCard__amountLabel {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 11px;
  color: #94a3b8;
}

#InvoicePage .invoiceSummaryCard__amountValue {
  font-size: 34px;
  font-weight: 700;
  color: var(--jmkr-color-1);
  display: flex;
  align-items: center;
  gap: 8px;
}

#InvoicePage .invoiceSummaryCard__amountFlag {
  display: inline-flex;
  align-items: center;
}

#InvoicePage .invoiceSummaryCard__amountFlag .flag {
  margin: 0;
}

#InvoicePage .invoiceSummaryCard__grid {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

#InvoicePage .invoiceSummaryCard__col {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

#InvoicePage .invoiceSummaryCard__rows {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#InvoicePage .invoiceSummaryCard__row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
  color: #334155;
}

#InvoicePage .invoiceSummaryCard__row span:first-child {
  color: #64748b;
  font-size: 12px;
  font-weight: 500;
}

#InvoicePage .invoiceSummaryCard__row span:last-child {
  font-weight: 600;
  color: #0f172a;
  word-break: break-word;
}

#InvoicePage .invoiceSummaryCard__dateGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}

#InvoicePage .invoiceSummaryCard__dateItem {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 4px;
  padding: 12px;
  background: #f8fafc;
}

@media screen and (max-width: 480px) {
  #InvoicePage .invoiceSummaryCard__dateGrid {
    grid-template-columns: 1fr;
  }
}

#InvoicePage .invoiceSummaryCard__row--full span {
  color: #334155;
  font-size: 13px;
  font-weight: 500;
}

#InvoicePage .invoiceSummaryCard__rows a {
  color: var(--jmkr-color-1);
}

#InvoicePage .invoiceSummaryCard__section {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px dashed rgba(15, 23, 42, 0.12);
}

#InvoicePage .invoiceSummaryCard__sectionTitle {
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: #94a3b8;
  margin-bottom: 6px;
}

#InvoicePage .invoiceSummaryCard__rows--tips {
  gap: 10px;
}

#InvoicePage .invoiceSummaryCard__rows--tips .invoiceSummaryCard__row span:first-child {
  color: #0f172a;
  font-size: 13px;
  font-weight: 600;
}

#InvoicePage .invoiceSummaryCard__rows--tips .invoiceSummaryCard__row span:last-child {
  font-size: 13px;
}

#InvoicePage .invoiceSummaryCard__row--tipsTotal span:last-child {
  color: var(--jmkr-color-1);
}

#InvoicePage .invoiceSummaryCard__qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 12px;
  border: 1px dashed rgba(15, 23, 42, 0.12);
  border-radius: 4px;
  background: #f8fafc;
}

#InvoicePage .invoiceSummaryCard__qr img {
  width: 128px;
  height: 128px;
}

#InvoicePage .invoiceSummaryCard__qrLabel {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #94a3b8;
  text-align: center;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  #InvoicePage .invoiceSummaryCard__qr {
    align-items: stretch;
  }

  #InvoicePage .invoiceSummaryCard__qr img {
    margin: 0 auto;
  }
}

#InvoicePage .invoiceSummaryCard__col--details .invoiceSummaryCard__section {
  margin-top: 0;
}

#InvoicePage .invoiceSummaryCard__col--details .invoiceSummaryCard__section:first-child {
  border-top: none;
  padding-top: 0;
}


/* ============================================
   7. Actions Card
   ============================================ */

#InvoicePage .invoiceActionsCard {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 4px;
  padding: 17px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#InvoicePage .invoiceActionsCard__paymentForm {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#InvoicePage .invoiceActionsCard__paymentForm form {
  width: 100%;
}

#InvoicePage .invoiceActionsCard__amountLabel {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #94a3b8;
}

#InvoicePage .invoiceActionsCard__amountField {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 4px;
  padding: 12px 16px;
  background: #f8fafc;
}

#InvoicePage .invoiceActionsCard__amountField input {
  flex: 1 1 auto;
  border: none;
  background: transparent;
  font-size: 24px;
  font-weight: 600;
  color: #0f172a;
  outline: none;
}

#InvoicePage .invoiceActionsCard__amountField input::placeholder {
  color: #94a3b8;
}

#InvoicePage .invoiceActionsCard__amountField input::-webkit-outer-spin-button,
#InvoicePage .invoiceActionsCard__amountField input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

#InvoicePage .invoiceActionsCard__amountField input[type='number'] {
  -moz-appearance: textfield;
}

#InvoicePage .invoiceActionsCard__amountCurrency {
  display: inline-flex;
  align-items: center;
}

#InvoicePage .invoiceActionsCard__amountCurrency .flag {
  margin: 0;
}

#InvoicePage .invoiceActionsCard .pay,
#InvoicePage .invoiceActionsCard .resendEmail,
#InvoicePage .invoiceActionsCard #payWithBankTransfer {
  border-radius: 4px;
}

#InvoicePage .invoiceActionsCard__section {
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-top: 1px dashed rgba(15, 23, 42, 0.12);
  padding-top: 12px;
}

#InvoicePage .invoiceActionsCard__section:first-of-type {
  border-top: none;
  padding-top: 0;
}

#InvoicePage .invoiceActionsCard__sectionTitle {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #94a3b8;
}

#InvoicePage .invoiceActionsCard__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

#InvoicePage .invoiceActionsCard__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#InvoicePage .invoiceActionsCard__entry {
  border-radius: 4px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
  padding: 16px;
  background: #ffffff;
}

#InvoicePage .invoiceActionsCard__entry--error {
  background: rgba(248, 113, 113, 0.06);
}

#InvoicePage .invoiceActionsCard__entry i.flag {
  margin-right: 8px;
}


/* ============================================
   8. Layout
   ============================================ */

#InvoicePage .invoiceLayout {
  display: flex;
  flex-direction: column;
  gap: 28px;
  align-items: stretch;
}

#InvoicePage .invoiceLayout__primary,
#InvoicePage .invoiceLayout__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

#InvoicePage .invoiceLayout__content {
  min-width: 0;
}


/* ============================================
   9. Responsive Styles
   ============================================ */

@media screen and (max-width: 767px) {
  #InvoicePage .invoiceSummaryCard__grid {
    flex-direction: column;
    gap: 20px;
  }

  #InvoicePage .invoiceSummaryCard,
  #InvoicePage .invoiceActionsCard {
    padding: 17px;
  }
}


/* ============================================
   Note: Generic wrapper styles (#InvoicePage base,
   #page, #printArea, #loading, .line, #lineup,
   .pdfViewer, .invoiceFileDownload, #description)
   are now in _stylesheets/publicPage.css
   ============================================ */
.txnReport__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
    padding: 24px 16px;
}

.txnReport__modal {
    background: #fff;
    border-radius: 12px;
    width: 100%;
    max-width: 960px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

/* ═══ Header ═══ */
.txnReport__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 20px 24px 16px;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.txnReport__headerLeft {
    flex: 1;
    min-width: 0;
}

.txnReport__orgName {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 4px;
}

.txnReport__dateRange {
    font-size: 13px;
    color: #6b7280;
    margin: 0 0 6px;
}

.txnReport__reportType {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #4f46e5;
    background: #eef2ff;
    padding: 2px 8px;
    border-radius: 4px;
}

.txnReport__closeBtn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    border-radius: 6px;
    color: #6b7280;
    transition: background 0.15s ease, color 0.15s ease;
    flex-shrink: 0;
}

.txnReport__closeBtn:hover {
    background: #f3f4f6;
    color: #111827;
}

/* ═══ Summary Section — 3-column grid + Net hero ═══ */
.txnReport__summarySection {
    padding: 16px 24px;
    border-bottom: 1px solid #e5e7eb;
}

.txnReport__summaryGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.txnReport__summaryGrid + .txnReport__summaryGrid {
    margin-top: 12px;
}

.txnReport__card {
    position: relative;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 14px 16px;
    text-align: center;
    overflow: hidden;
}
.txnReport__cardAccent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: 10px 10px 0 0;
}

/* — Sales column (blue) — */
.txnReport__card--sales { background: #eff6ff; border-color: #bfdbfe; }
.txnReport__card--sales .txnReport__cardAccent { background: linear-gradient(90deg, #3b82f6, #60a5fa); }
.txnReport__card--sales .txnReport__cardLabel { color: #2563eb; }

/* — Tax column (violet) — */
.txnReport__card--tax { background: #f5f3ff; border-color: #ddd6fe; }
.txnReport__card--tax .txnReport__cardAccent { background: linear-gradient(90deg, #8b5cf6, #a78bfa); }
.txnReport__card--tax .txnReport__cardLabel { color: #7c3aed; }

/* — Tips column (amber) — */
.txnReport__card--tips { background: #fffbeb; border-color: #fde68a; }
.txnReport__card--tips .txnReport__cardAccent { background: linear-gradient(90deg, #f59e0b, #fbbf24); }
.txnReport__card--tips .txnReport__cardLabel { color: #d97706; }

/* — Refunded column (rose) — */
.txnReport__card--refunded { background: #fef2f2; border-color: #fecaca; }
.txnReport__card--refunded .txnReport__cardAccent { background: linear-gradient(90deg, #ef4444, #f87171); }
.txnReport__card--refunded .txnReport__cardLabel { color: #dc2626; }

/* — Discount column (orange) — */
.txnReport__card--discount { background: #fff7ed; border-color: #fed7aa; }
.txnReport__card--discount .txnReport__cardAccent { background: linear-gradient(90deg, #f97316, #fb923c); }
.txnReport__card--discount .txnReport__cardLabel { color: #ea580c; }

/* — Net After Tax column (slate) — */
.txnReport__card--netTax { background: #f8fafc; border-color: #e2e8f0; }
.txnReport__card--netTax .txnReport__cardAccent { background: linear-gradient(90deg, #475569, #64748b); }
.txnReport__card--netTax .txnReport__cardLabel { color: #475569; }

.txnReport__cardLabel {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    margin-bottom: 4px;
}

.txnReport__cardValue {
    font-size: 20px;
    font-weight: 700;
    color: #111827;
    line-height: 1.2;
}

.txnReport__cardSub {
    font-size: 11px;
    color: #6b7280;
    margin-top: 2px;
}
/* — Net hero card (green, prominent) — */
.txnReport__netHero {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 12px;
    background: linear-gradient(135deg, #ecfdf5, #d1fae5);
    border: 1px solid #a7f3d0;
    border-radius: 10px;
    padding: 14px 20px;
}
.txnReport__netIcon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #10b981;
    border-radius: 10px;
    color: #fff;
    flex-shrink: 0;
}
.txnReport__netIcon i { font-size: 20px; }
.txnReport__netContent { flex: 1; }
.txnReport__netLabel {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #059669;
    margin-bottom: 2px;
}
.txnReport__netValue {
    font-size: 26px;
    font-weight: 800;
    color: #065f46;
    line-height: 1.2;
}
.txnReport__netMeta {
    font-size: 11px;
    color: #6b7280;
    white-space: nowrap;
}

/* ═══ Sections ═══ */
.txnReport__section {
    padding: 16px 24px;
    border-bottom: 1px solid #f3f4f6;
}

.txnReport__sectionTitle {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin: 0 0 12px;
}

.txnReport__sectionCount {
    font-weight: 400;
    color: #9ca3af;
    font-size: 13px;
}

/* ═══ Horizontal Bar Charts (pure CSS width%) ═══ */
.txnReport__barRow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.txnReport__barLabel {
    width: 110px;
    font-size: 13px;
    color: #374151;
    flex-shrink: 0;
    text-align: right;
}

.txnReport__barTrack {
    flex: 1;
    height: 20px;
    background: #f3f4f6;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
}

.txnReport__barFill {
    height: 100%;
    background: #4f46e5;
    min-width: 2px;
    transition: width 0.3s ease;
}

.txnReport__barFill--card {
    background: #0891b2;
}

.txnReport__barFill--category {
    background: #059669;
}

.txnReport__barFill--refund {
    background: #ef4444;
    opacity: 0.6;
    min-width: 0;
}

.txnReport__barValue {
    width: 140px;
    font-size: 13px;
    font-weight: 600;
    color: #111827;
    flex-shrink: 0;
}

.txnReport__barCount {
    font-weight: 400;
    color: #9ca3af;
}

.txnReport__barRefund {
    font-size: 11px;
    font-weight: 400;
    color: #ef4444;
}

/* Fix C: Separator for non-contributing payment methods */
.txnReport__barSeparator {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 12px 0 8px;
    font-size: 11px;
    color: #9ca3af;
    font-style: italic;
}

.txnReport__barSeparator::before,
.txnReport__barSeparator::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e5e7eb;
}

/* ═══ Tables ═══ */
.txnReport__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.txnReport__table thead th {
    text-align: left;
    padding: 8px 10px;
    font-weight: 600;
    color: #6b7280;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #e5e7eb;
    background: #f9fafb;
}

.txnReport__table tbody td {
    padding: 8px 10px;
    border-bottom: 1px solid #f3f4f6;
    color: #374151;
}

.txnReport__table tbody tr:hover {
    background: #f9fafb;
}

/* ═══ Status Badges ═══ */
.txnReport__badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: 3px;
    letter-spacing: 0.3px;
}

.txnReport__badge--paid {
    background: #dcfce7;
    color: #166534;
}

.txnReport__badge--partial {
    background: #fef9c3;
    color: #854d0e;
}

.txnReport__badge--unpaid {
    background: #fee2e2;
    color: #991b1b;
}

/* ═══ Adjustments Section ═══ */
.txnReport__adjustments {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.txnReport__adjustRow {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    background: #f9fafb;
    border-radius: 6px;
}

.txnReport__adjustLabel {
    font-size: 13px;
    font-weight: 500;
    color: #374151;
    flex: 1;
}

.txnReport__adjustValue {
    font-size: 14px;
    font-weight: 600;
    color: #111827;
}

.txnReport__adjustCount {
    font-size: 12px;
    color: #9ca3af;
    min-width: 110px;
    text-align: right;
}

/* ═══ Download Footer ═══ */
.txnReport__footer {
    display: flex;
    gap: 10px;
    padding: 16px 24px;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
}

.txnReport__downloadBtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    background: #4f46e5;
    color: #fff;
    transition: background 0.15s ease;
}

.txnReport__downloadBtn:hover {
    background: #4338ca;
}

.txnReport__downloadBtn--secondary {
    background: #e5e7eb;
    color: #374151;
}

.txnReport__downloadBtn--secondary:hover {
    background: #d1d5db;
}

/* ═══ W2.6: Filter Pill Bar ═══ */
.txnReport__pillBar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 24px;
    border-bottom: 1px solid #e5e7eb;
    background: #fefce8;
    align-items: center;
}

.txnReport__pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px 3px 10px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    font-size: 12px;
    color: #374151;
}

.txnReport__pillClose {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0 2px;
    color: #9ca3af;
    font-size: 10px;
    line-height: 1;
}

.txnReport__pillClose:hover {
    color: #ef4444;
}

.txnReport__pillClear {
    background: none;
    border: 1px solid #d1d5db;
    border-radius: 16px;
    padding: 3px 10px;
    font-size: 12px;
    color: #6b7280;
    cursor: pointer;
}

.txnReport__pillClear:hover {
    background: #f3f4f6;
    color: #374151;
}

/* ═══ W2.2: Clickable Filter Items ═══ */
.js-txnReportFilterItem {
    cursor: pointer;
    transition: background 0.15s ease, opacity 0.15s ease;
}

.txnReport__barRow.js-txnReportFilterItem:hover {
    background: #f3f4f6;
    border-radius: 4px;
    margin-left: -4px;
    margin-right: -4px;
    padding-left: 4px;
    padding-right: 4px;
}

.txnReport__table tbody tr.js-txnReportFilterItem:hover {
    background: #eef2ff;
}

/* ═══ W2.2: Selected Items ═══ */
.txnReport__barRow--selected {
    background: #eef2ff;
    border-radius: 4px;
    margin-left: -4px;
    margin-right: -4px;
    padding-left: 4px;
    padding-right: 4px;
}

.txnReport__barRow--selected .txnReport__barLabel {
    font-weight: 600;
    color: #4f46e5;
}

.txnReport__barRow--selected.js-txnReportFilterItem:hover {
    background: #e0e7ff;
}

.txnReport__tableRow--selected {
    background: #eef2ff;
}

.txnReport__tableRow--selected td:first-child {
    font-weight: 600;
    color: #4f46e5;
}

/* ═══ W2.7 + W4.4: Dimmed Items (zero matches in filtered set) ═══ */
.txnReport__barRow--dimmed {
    opacity: 0.4;
    transition: opacity 0.2s ease;
}

.txnReport__tableRow--dimmed {
    opacity: 0.4;
    transition: opacity 0.2s ease;
}

/* W4.4: Smooth transitions on filter selection */
.txnReport__barRow--selected {
    transition: background 0.15s ease;
}

.txnReport__tableRow--selected {
    transition: background 0.15s ease;
}

/* ═══ W3: Table Header (title + search) ═══ */
.txnReport__tableHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.txnReport__tableHeader .txnReport__sectionTitle {
    margin: 0;
    white-space: nowrap;
}

.txnReport__searchInput {
    width: 200px;
    padding: 6px 10px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 13px;
    color: #374151;
    outline: none;
    transition: border-color 0.15s ease;
}

.txnReport__searchInput:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.1);
}

.txnReport__searchInput::placeholder {
    color: #9ca3af;
}

/* ═══ W3.3: Sortable Column Headers ═══ */
.txnReport__sortHeader {
    cursor: pointer;
    user-select: none;
    transition: color 0.15s ease;
}

.txnReport__sortHeader:hover {
    color: #4f46e5;
}

.txnReport__sortActive {
    color: #4f46e5;
}

/* ═══ W3.2: Pagination Controls ═══ */
.txnReport__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 0 4px;
}

.txnReport__pageBtn {
    padding: 5px 12px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    background: #fff;
    font-size: 12px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    transition: background 0.15s ease;
}

.txnReport__pageBtn:hover:not([disabled]) {
    background: #f3f4f6;
}

.txnReport__pageBtn[disabled] {
    opacity: 0.4;
    cursor: not-allowed;
}

.txnReport__pageInfo {
    font-size: 12px;
    color: #6b7280;
}

/* ═══ W3.6: Adjustment "of" indicator ═══ */
.txnReport__adjustOriginal {
    color: #9ca3af;
    font-style: italic;
}

/* ═══ W4.5: Empty State ═══ */
.txnReport__emptyState {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    text-align: center;
}

.txnReport__emptyIcon {
    font-size: 36px;
    color: #d1d5db;
    margin-bottom: 12px;
}

.txnReport__emptyTitle {
    font-size: 16px;
    font-weight: 600;
    color: #374151;
    margin: 0 0 4px;
}

.txnReport__emptyDesc {
    font-size: 13px;
    color: #9ca3af;
    margin: 0;
}

/* ═══ W4.7: Disabled download buttons ═══ */
.txnReport__downloadBtn[disabled] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* ═══ Responsive ═══ */
@media (max-width: 768px) {
    .txnReport__summaryGrid {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .txnReport__netHero {
        flex-wrap: wrap;
    }
    .txnReport__netValue {
        font-size: 22px;
    }
    .txnReport__barLabel {
        width: 80px;
        font-size: 12px;
    }
    .txnReport__barValue {
        width: 90px;
        font-size: 12px;
    }
    .txnReport__pillBar {
        padding: 8px 16px;
    }
    .txnReport__tableHeader {
        flex-direction: column;
        align-items: flex-start;
    }
    .txnReport__searchInput {
        width: 100%;
    }
    .txnReport__table {
        font-size: 11px;
    }
}
#LegalBillableHours .legal-billableRatioBar {
  height: 6px;
  background: rgba(0, 0, 0, 0.06);
  border-radius: 3px;
  margin: 0 15px 6px;
  overflow: hidden;
}

#LegalBillableHours .legal-billableRatioFill {
  height: 100%;
  background: linear-gradient(90deg, #21ba45, #2185d0);
  border-radius: 3px;
}
#LegalDeadlines .notificationGroupDate.urgency-overdue { background: rgba(219, 40, 40, 0.08); color: #db2828; }
#LegalDeadlines .notificationGroupDate.urgency-today { background: rgba(251, 189, 8, 0.1); color: #b58105; }
#LegalDeadlines .notificationGroupDate.urgency-week { background: rgba(33, 133, 208, 0.08); color: #2185d0; }
#LegalDeadlines .notificationGroupDate.urgency-upcoming { background: rgba(33, 186, 69, 0.08); color: #21ba45; }
.legal-inlineValue {
  padding: 8px 12px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 4px;
  cursor: pointer;
  min-height: 36px;
  line-height: 1.4;
  font-size: 13px;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.legal-inlineValue:hover {
  background: rgba(0, 0, 0, 0.02);
  border-color: rgba(0, 0, 0, 0.15);
}

/* N11.1: Activity timeline item spacing */
.legal-activityItem:last-child {
  border-bottom: none !important;
}/* ============================================
   LEGAL MATTER LIST
   Pattern source: inventory.html, invoice.html — uses platform standard classes
   (dataRow, leftSection, rightSection, text, meta, subText, faded, noTextTransform)
   No custom legal-* CSS classes — all styling via Semantic UI + platform vocabulary
   ============================================ *//* ============================================
   LEGAL TEMPLATE EDITOR
   Pattern source: legalMatterList.css — uses platform standard classes
   Semantic UI tabs, dropdowns, labels, segments — no custom CSS
   ============================================ *//* ============================================
   LEGAL TEMPLATE LIBRARY
   Pattern source: legalMatterList.css — uses platform standard classes
   (dataRow, leftSection, rightSection, text, meta, subText, faded, noTextTransform)
   No custom CSS classes — all styling via Semantic UI + platform vocabulary
   ============================================ */#ManagementWarnings #warningsFilterForm {
    margin-bottom: 10px;
}

#ManagementWarnings #warningsFilterForm input[type="date"],
#ManagementWarnings #warningsFilterForm select {
    width: 100%;
}

#ManagementWarnings #notificationList {
    overflow-y: auto;
}

/* Customer search */
#ManagementWarnings #warningsSearchForm {
    margin-bottom: 5px;
}

#ManagementWarnings #warningsSearchForm .ui.icon.input i {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.4;
    pointer-events: none;
}

/* Summary statistics bar */
#ManagementWarnings .warningsSummaryStats {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 8px 10px;
    margin-bottom: 5px;
    background: var(--background-subtle, #f8f9fa);
    border-radius: 4px;
    font-size: 12px;
    align-items: center;
}

#ManagementWarnings .warningsSummaryStats .stat {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

#ManagementWarnings .warningsSummaryStats .stat i {
    font-size: 12px;
}

#ManagementWarnings .warningsSummaryStats .stat-refund { color: #dc2626; }
#ManagementWarnings .warningsSummaryStats .stat-discount { color: #d97706; }
#ManagementWarnings .warningsSummaryStats .stat-inventory { color: #2563eb; }
#ManagementWarnings .warningsSummaryStats .stat-storeCredit { color: #9333ea; }
#ManagementWarnings .warningsSummaryStats .stat-total {
    margin-left: auto;
    font-weight: 600;
    color: var(--text-primary, #333);
}

/* Severity badge in rightSection */
#ManagementWarnings .severityBadge {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 2px 6px;
    border-radius: 3px;
}

#ManagementWarnings .severityBadge.severity-high {
    color: #dc2626;
    background: rgba(220, 38, 38, 0.1);
}

#ManagementWarnings .severityBadge.severity-medium {
    color: #d97706;
    background: rgba(217, 119, 6, 0.1);
}

/* Evidence display for fulfilled-item refunds (Spec 1209 W4.4) */
#ManagementWarnings .warningEvidence {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}

#ManagementWarnings .evidenceThumbnail {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    text-decoration: none;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 3.5px;
    padding: 4px;
    transition: border-color 0.15s;
}

#ManagementWarnings .evidenceThumbnail:hover {
    border-color: var(--primary-color, #2563eb);
}

#ManagementWarnings .evidenceThumbnail img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 3.5px;
}

#ManagementWarnings .evidenceCaption {
    font-size: 10px;
    color: var(--text-muted, #666);
    text-align: center;
}

#ManagementWarnings .evidenceLink {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--primary-color, #2563eb);
    text-decoration: none;
    padding: 4px 8px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 3.5px;
    transition: border-color 0.15s;
}

#ManagementWarnings .evidenceLink:hover {
    border-color: var(--primary-color, #2563eb);
}

#ManagementWarnings .evidenceLink i {
    font-size: 12px;
}

/* Load more indicator */
#ManagementWarnings #loadingMore {
    text-align: center;
    padding: 15px 0;
}

/* Settings popup */
#ManagementWarnings .dashboardPopUp small {
    display: block;
    color: var(--text-muted, #666);
    font-size: 11px;
    margin-top: 4px;
}

/* Loading animation */
@keyframes rotating {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.rotating {
    animation: rotating 1s linear infinite;
}#musicTrackForm #addContributor {
    background: var(--jmkr-color-1);
    color: white;
    padding: 11px;
    padding-left: 0px;
    padding-right: 0px;
    text-align: center;
    letter-spacing: 0.7px;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
}

#musicTrackForm .contributor {
    position: relative;
    padding: 11px;
    padding-top: 11px;
    border: 1px solid rgba(0, 0, 0, 0.17);
    border-radius: 4px;
    margin-bottom: 15px;
    background: white;
}

.dragField {
    position: absolute;
    right: 10px;
    bottom: 10px;
    text-align: center;
    padding-top: 0px;
    margin-bottom: -5px;
    opacity: 0.35;
    cursor: grab;
}

#musicTrackForm .contributor .insertContributorButton {
    position: absolute;
    z-index: 2;
    left: calc(50% - 150px/2);
    line-height: 20px;
    width: 150px;
    text-align: center;
    border-radius: 3.5px;
    border: 1px solid rgba(0, 0, 0, 0.17);
    background-color: white;
    font-size: 11px;
    display: none;
    cursor: pointer;
}

#musicTrackForm .contributor:hover .insertContributorButton {
    display: block;
}

#musicTrackForm .contributor:hover .insertContributorButton:hover {
    background: var(--jmkr-color-1);
    border-color: white;
    color: white;
}

#musicTrackForm .contributor .insertContributorButton.above {
    top: calc(-20px / 2);
}

#musicTrackForm .contributor .insertContributorButton.below {
    bottom: calc(-20px / 2);
}

#musicTrackForm .deleteContributor {
    float: right;
    cursor: pointer;
    margin-top: -15px;
    margin-right: -15px;
    font-size: 15px;
    color: white;
    background: var(--jmkr-color-1);
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 0.5em;
    text-align: center;
    padding-left: 1px;
}

.musicTrackListContainer {
    padding: 0px;
    height: calc(100vh - var(--line-height) * 2);
    overflow-y: auto;
}

#inputMusicTrackSearch input {
    border-radius: 0px !important;
    border-top: 0px !important;
    border-color: rgba(30, 173, 211, 0.35) !important;
}

#searchMusicTrackToggle {
    float: left;
    background: var(--jmkr-color-1);
    color: white;
    width: var(--line-height);
    text-align: center;
    height: var(--line-height);
    line-height: var(--line-height);
    cursor: pointer;
}

.musicTrackDataRow:hover {
    background: rgba(0, 0, 0, 0.02);
}

.musicTrackDataRow .title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
}

.musicTrackDataRow .subText {
    font-size: 14px;
    color: rgba(0, 0, 0, 0.6);
    margin-bottom: 3px;
}

.musicTrackDataRow .button {
    padding: 8px 15px;
    margin-left: 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.musicTrackDataRow .button:hover {
    background: var(--jmkr-color-1);
    color: white;
}

@media screen and (max-width: 767px) {
    .musicTrackDataRow {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .musicTrackDataRow .rightSection {
        margin-top: 15px;
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    
    .musicTrackDataRow .button {
        margin: 0;
        padding: 6px 10px;
        font-size: 13px;
    }
}

#musicTrackForm #addRoyaltyStatement {
    background: var(--jmkr-color-1);
    color: white;
    padding: 11px;
    padding-left: 0px;
    padding-right: 0px;
    text-align: center;
    letter-spacing: 0.7px;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
}

#musicTrackForm .royalty {
    position: relative;
    padding: 11px;
    padding-top: 11px;
    border: 1px solid rgba(0, 0, 0, 0.17);
    border-radius: 4px;
    margin-bottom: 15px;
    background: white;
}

#musicTrackForm .royalty .insertRoyaltyButton {
    position: absolute;
    z-index: 2;
    left: calc(50% - 150px/2);
    line-height: 20px;
    width: 150px;
    text-align: center;
    border-radius: 3.5px;
    border: 1px solid rgba(0, 0, 0, 0.17);
    background-color: white;
    font-size: 11px;
    display: none;
    cursor: pointer;
}

.linkedTracksSection {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    padding: 1em;
    border-radius: 6px;
}

.linkedTrackList .item,
.linkedTrackPicker .item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75em 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.linkedTrackList .item:last-child,
.linkedTrackPicker .item:last-child {
    border-bottom: none;
}

.linkedTrackPicker .empty-state {
    color: rgba(0, 0, 0, 0.6);
    font-style: italic;
    padding: 0.5em 0;
}

.linkedin-subheader {
    font-weight: 600;
    margin-top: 0.75em;
    margin-bottom: 0.35em;
}

.linkedTrackSearchField input {
    width: 100%;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    padding: 0.6em;
}

.linkedBadge {
    color: var(--jmkr-color-1);
    font-weight: 600;
}

.linkedParentMessage {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.musicTrackDataRow.isChildTrack {
    display: none;
}

#musicTrackForm .royalty:hover .insertRoyaltyButton {
    display: block;
}

#musicTrackForm .royalty:hover .insertRoyaltyButton:hover {
    background: var(--jmkr-color-1);
    border-color: white;
    color: white;
}

#musicTrackForm .royalty .insertRoyaltyButton.above {
    top: calc(-20px / 2);
}

#musicTrackForm .royalty .insertRoyaltyButton.below {
    bottom: calc(-20px / 2);
}

#musicTrackForm .deleteRoyalty {
    float: right;
    cursor: pointer;
    margin-top: -15px;
    margin-right: -15px;
    font-size: 15px;
    color: white;
    background: var(--jmkr-color-1);
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 0.5em;
    text-align: center;
    padding-left: 1px;
}

#musicTrackForm .royalty select,
#musicTrackForm .royalty input,
#musicTrackForm .royalty textarea {
    width: 100%;
    padding: 8px;
    border: 1px solid rgba(0, 0, 0, 0.17);
    border-radius: 4px;
    font-size: 14px;
}

#musicTrackForm .royalty textarea {
    resize: vertical;
    min-height: 60px;
}

#musicTrackForm .royalty .ui.right.labeled.input input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: none;
}

#musicTrackForm .royalty .ui.basic.label {
    border: 1px solid rgba(0, 0, 0, 0.17);
    border-left: none;
    border-radius: 0 4px 4px 0;
    background: #f8f9fa;
    font-weight: normal;
}#nation {
	padding-top: 0px;
	background: white;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.07);
}

#nation ::-webkit-scrollbar {
	width: 15px !important;
	background-color: rgba(255, 255, 255, 0.17) !important;
}

#nation ::-webkit-scrollbar-thumb {
	background: linear-gradient(to top, #FFDE55, #3A812C) !important;
}

#nation #page {
	letter-spacing: 0.5px;
}

#nation #page #loading {
	text-align: center;
	padding: 17px;
	letter-spacing: 1.17px;
	font-size: 35px;
	font-weight: bold;
	opacity: 0.17;
}

#Nation .nationDashboard__mapWrapper {
	position: relative;
	min-height: 420px;
}

#Nation .nationDashboard__emptyState {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 7px;
	color: var(--jmkr-color-4);
	letter-spacing: 0.6px;
}

#Nation .nationDashboard__emptyState i {
	font-size: 48px;
	opacity: 0.35;
}

#nation #map {
	z-index: 17;
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background: #1A1A1B;
}

.nationDashboard #nation {
	position: relative;
	width: 100%;
	height: 100%;
}

.nationDashboard #nation #map,
.nationDashboard #nation #pageTitle,
.nationDashboard #nation #mapMenu {
	position: absolute;
}

.nationDashboard #nation #map {
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.nationDashboard #nation #map_candidateList {
	left: 11px;
	top: 72px;
}

.nationDashboard #nation #pageTitle {
	left: 10px;
	top: 10px;
}

#nation #pageTitle {
	z-index: 71;
	position: absolute;

	left: 10px;
	top: 10px;

	color: white;

	overflow-x: hidden;
	white-space: nowrap;
	max-width: calc(100% - 11px*2);

	cursor: pointer;
	box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.17);

	-webkit-transition: transform 0.35s ease;
	-moz-transition: transform 0.35s ease;
	-ms-transition: transform 0.35s ease;
	-o-transition: transform 0.35s ease;
	transition: transform 0.35s ease;
}

@keyframes ticker {
	0% {
		transform: translateX(0%);
	}

	100% {
		transform: translateX(calc(-100% - 5px));
	}
}

#nation #pageTitle #subTitle .second,
#nation #pageTitle #subTitle .third {
	display: none;
}

@media screen and (max-width: 900px) {
	#nation #pageTitle {
		top: auto;
		bottom: 131px;
	}

	#nation #pageTitle #title {
		font-size: 5vw !important;
		line-height: 5vw !important;
	}

	#nation #pageTitle #subTitle {
		font-size: 3vw !important;
		line-height: 3vw !important;

		display: inline-block !important;
		white-space: nowrap;
	}

	#nation #pageTitle #subTitle .ticker {
		display: inline-block !important;
		display: inline-block !important;
		white-space: nowrap;
		animation: ticker 5s linear infinite;
	}
}

#nation #toggleMapMenu {
	z-index: 71;
	position: absolute;

	right: 10px;
	top: 10px;

	color: white;
	background: black;

	cursor: pointer;

	font-size: 27px;
	text-align: center;
	width: 61px;
	line-height: 57px;
}

#nation .nationMapControls {
	position: absolute;
	right: 10px;
	top: 10px;
	z-index: 90;
	display: flex;
	align-items: center;
	gap: 12px;
}

#nation .nationMapControls__button {
	width: 48px;
	height: 48px;
	padding: 0;
	border: none;
	border-radius: 11px;
	background: rgba(0, 0, 0, 0.82);
	color: #f8fafc;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.35);
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

#nation .nationMapControls__button:hover,
#nation .nationMapControls__button:focus-visible {
	background: rgba(0, 0, 0, 0.95);
	transform: scale(1.03);
}

#nation .nationMapControls__button:focus-visible {
	outline: 2px solid #3A812C;
	outline-offset: 2px;
}

#nation .nationMapControls__button i {
	font-size: 18px;
}

#nation .nationHud__minimizeButton--floating {
	color: #f8fafc;
}

.nationEmojiMarker {
	display: flex;
	align-items: center;
	gap: 4px;
	background: rgba(0, 0, 0, 0.65);
	border-radius: 999px;
	padding: 3px 6px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(3px);
	cursor: pointer;
	pointer-events: auto;
}

.nationEmojiMarker__dot {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	border: 1px solid rgba(0, 0, 0, 0.6);
	background: #ffffff;
}

.nationEmojiMarker__emoji {
	font-size: 18px;
	line-height: 1;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5));
}

.nationMarkerPopup {
	font-family: inherit;
}

.nationMarkerPopup__title {
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 2px;
}

.nationMarkerPopup__subtitle {
	font-size: 12px;
	color: rgba(15, 23, 42, 0.8);
	margin-bottom: 4px;
	text-transform: uppercase;
	letter-spacing: 0.4px;
}

.nationMarkerPopup__details {
	font-size: 12px;
	color: rgba(15, 23, 42, 0.8);
}

.nationHazardFilters {
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
	margin: 10px 0 0;
	padding-bottom: 15px;
	overflow-x: auto;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.nationHud__search {
	margin: 10px 0 6px;
}

.nationHud__search .ui.input {
	width: 100%;
}

#nation .nationHud__search {
	margin: 10px 0 6px;
}

#nation .nationHud__search .ui.input {
	width: 100%;
}

#nation .nationHud__search .ui.input > input {
	width: 100%;
	background: rgba(2, 6, 23, 0.9);
	border: 1px solid rgba(148, 163, 184, 0.35);
	color: #f8fafc;
	padding: 8px 32px 8px 12px;
	font-size: 12px;
	border-radius: 6px;
}

#nation .nationHud__search .ui.input > input::placeholder {
	color: rgba(248, 250, 252, 0.55);
}

#nation .nationHud__search .icon {
	color: rgba(248, 250, 252, 0.65);
}

.nationHazardFilter {
	border: 1px solid rgba(255, 255, 255, 0.25);
	background: rgba(0, 0, 0, 0.35);
	color: #f1f5f9;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 12px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	min-height: 32px;
}

.nationHazardFilter.isActive {
	background: rgba(236, 72, 153, 0.25);
	border-color: rgba(236, 72, 153, 0.65);
	color: #fdf2f8;
}

.nationHazardFilter:hover {
	background: rgba(255, 255, 255, 0.15);
}

#nation #closeShowMore {
	z-index: 71;
	position: fixed;

	right: 11px;
	top: 81px;

	color: white;
	background: black;

	cursor: pointer;

	font-size: 27px;
	text-align: center;
	width: 61px;
	line-height: 57px;
}

#nation #pageTitle #title {
	position: relative;
	float: left;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 25px;
	line-height: 25px;
	letter-spacing: 1.7px;

	background: black;
	padding-top: 7px;
}

#nation #pageTitle #title #line {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	background: linear-gradient(to right, #FFDE55, #3A812C);
	height: 7px;
}

#nation #pageTitle #subTitle {
	text-transform: uppercase;
	font-size: 20px;
	line-height: 20px;
	letter-spacing: 2.7px;
	font-weight: 400;

	background: #1A1A1B;
	padding: 11px;
}

#nation #updateTimes {
	padding-top: 0px;
	padding-right: 11px;

	margin-bottom: 7px;

	background: #000000;
	color: white;

	max-height: calc(100% - 130px);

	overflow: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

#nation #listBreakdown {
	padding: 0;
	margin-bottom: 0;
	background: transparent;
	max-height: none;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 10px;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

#nation #listBreakdown .listBreakdown {
	cursor: pointer;
	padding: 15px;

	font-size: 15.5px;
	line-height: 21px;
	letter-spacing: 0.75px;

	background: rgba(255, 255, 255, 0.05);
	color: white;

	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 10px;
	transition: background 0.2s ease, border-color 0.2s ease;
}

#nation #listBreakdown .listBreakdown:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.15);
}

#nation #listBreakdown .listBreakdown .listBreakdown {
	font-size: 14px;

	border-radius: 4px;
	margin-bottom: 3.5px;
	padding: 7px;
	padding-left: 11px;
	padding-right: 11px;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

#nation #listBreakdown .listBreakdown #name {
	font-size: 12px;
}

#nation #listBreakdown .listBreakdown #label {
	float: left;
	max-width: calc(100% - 20px);
	cursor: pointer;
	font-size: 12px;
}

#nation #listBreakdown .listBreakdown #showMore {
	float: right;
	font-size: 11px;
	width: 20px;
	cursor: pointer;
	text-align: right;
}

#nation #listBreakdown .nationMenu__empty {
	padding: 17px;
	text-align: center;
	font-size: 12px;
	letter-spacing: 0.6px;
	color: rgba(255, 255, 255, 0.7);
	background: rgba(0, 0, 0, 0.18);
	border-radius: 9px;
}

#nation #resourceHud,
#nation #reportHud {
	position: absolute;
	bottom: 10px;
	width: 500px;
	max-width: calc(100% - 44px);
	z-index: 172;
	background: rgba(0, 0, 0, 0.85);
	box-shadow: 1px 2px 12px rgba(0, 0, 0, 0.45);
	border-radius: 12px;
	color: white;
	font-size: 12px;
	letter-spacing: 0.6px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

#nation #resourceHud {
	right: 10px;
	width: 375px;
}

#nation #reportHud {
	left: 10px;
}

#nation #resourceHud.isMinimized,
#nation #reportHud.isMinimized {
	display: block;
}

#nation .nationResourceHud__body,
.nationResourceHud__body {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 17px;
}

#nation .nationHud__minimizeButton:not(.nationHud__minimizeButton--floating) {
	align-self: flex-end;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	background: rgba(15, 23, 42, 0.55);
	color: #f8fafc;
	padding: 8px 14px;
	border-radius: 12px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	font-size: 11px;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

#nation .nationHud__minimizeButton:not(.nationHud__minimizeButton--floating):hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.45);
}

.nationResourceHud.isMinimized .nationResourceHud__body {
	display: none;
}

.nationHud__inlineControls {
	position: absolute;
	top: -35px;
	left: 0;
	display: flex;
	justify-content: flex-end;
	margin-bottom: 8px;
}

#resourceHud .nationHud__inlineControls {
	left: auto;
	right: 0;
}

#nation .nationReportHud__sectionHeader {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 0.8px;
	opacity: 0.85;
}

#nation .nationReportHud__sectionHeader .sectionMeta {
	font-size: 11px;
	opacity: 0.65;
}

#nation .nationReportHud__chart {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	min-height: 150px;
	padding: 6px 4px 0;
}

#nation .nationReportHud__bar {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
	cursor: pointer;
}

#nation .nationReportHud__barTrack {
	width: 100%;
	height: 140px;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 10px;
	display: flex;
	align-items: flex-end;
	padding: 4px;
}

#nation .nationReportHud__barFill {
	width: 100%;
	border-radius: 6px 6px 0 0;
	min-height: 6px;
	background: #38bdf8;
	transition: height 0.2s ease;
}

#nation .nationReportHud__barLabel {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	opacity: 0.75;
}

#nation .nationReportHud__barCount {
	font-size: 11px;
	font-weight: bold;
}

#nation .nationReportHud__bar.isActive .nationReportHud__barFill {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85);
}

#nation .nationReportHud__bar.isActive .nationReportHud__barLabel,
#nation .nationReportHud__bar.isActive .nationReportHud__barCount {
	color: #ffffff;
}

#nation .nationResourceHud__header .title {
	font-size: 13px;
	text-transform: uppercase;
	opacity: 0.7;
	letter-spacing: 1.7px;
}

#nation .nationResourceHud__header .scopeLabel {
	font-size: 18px;
	font-weight: bold;
	margin-top: 3px;
}

#nation .nationResourceHud__header .scopeDescription {
	font-size: 11px;
	opacity: 0.7;
}

#nation .nationResourceHud__attributes {
	margin-top: 12px;
	display: block;
	max-height: 35vh;
	overflow-y: auto;
	width: calc(100% + 7px);
}

#nation .nationResourceHud__attribute {
	background: rgba(255, 255, 255, 0.08);
	border-radius: 9px;
	padding: 9px 12px;
	cursor: pointer;
	transition: background 0.2s ease;
	float: left;
	width: calc(33% - 7px);
	margin-right: 7px;
	margin-bottom: 7px;
}

#nation .nationResourceHud__attribute.isActive {
	background: rgba(255, 255, 255, 0.22);
}

#nation .nationResourceHud__attribute .attributeLabel {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	opacity: 0.8;
	display: flex;
	align-items: center;
	gap: 6px;
}

#nation .nationResourceHud__attribute .attributeLabel .attributeEmoji {
	font-size: 18px;
	line-height: 18px;
}

#nation .nationResourceHud__attribute .attributePercent {
	font-size: 24px;
	font-weight: bold;
	line-height: 30px;
}

#nation .nationResourceHud__attribute .attributeTotals {
	font-size: 11px;
	opacity: 0.8;
}

#nation .nationResourceHud__attribute .attributeTotals .divider {
	padding: 0 4px;
	opacity: 0.6;
}

#nation .nationResourceHud__legend {
	margin-top: 12px;
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 10px;
	opacity: 0.75;
	text-transform: uppercase;
}

#nation .nationResourceHud__legend .legendGradient {
	flex: 1;
	height: 4px;
	border-radius: 3px;
	background: linear-gradient(to right, #842727, #4db5ff);
}

.nationRiskLegend {
	margin-top: 12px;
	padding: 10px 12px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.25);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.nationRiskLegend__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.8);
}

.nationRiskLegend__items {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.nationRiskLegend__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.92);
}

.nationRiskLegend__item .legendColor {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	margin-right: 8px;
	display: inline-block;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
}

.nationRiskLegend__item .legendLabel {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 8px;
}

.nationRiskLegend__item .legendValue {
	font-weight: 600;
	min-width: 24px;
	text-align: right;
}

.nationRiskLegend__empty {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.65);
}

.nationRiskLegend__help {
	font-size: 11px;
	color: rgba(255, 255, 255, 0.6);
	line-height: 1.4;
}

#nation .nationHud__tabs {
	display: flex;
	gap: 6px;
	margin-bottom: 10px;
}

#nation .nationHud__tab {
	flex: 1;
	text-align: center;
	padding: 6px 8px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	cursor: pointer;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
}

#nation .nationHud__tab.isActive {
	background: rgba(255, 255, 255, 0.22);
}

#nation .nationHud__tab .tabBadge {
	display: inline-block;
	min-width: 20px;
	margin-left: 6px;
	padding: 2px 6px;
	border-radius: 10px;
	background: rgba(0, 0, 0, 0.45);
	font-weight: bold;
}

#nation .nationHud__diagnostics {
	margin-bottom: 10px;
	padding: 8px 10px;
	border-radius: 6px;
	border: 1px solid rgba(255, 99, 71, 0.5);
	background: rgba(255, 99, 71, 0.12);
	color: #ffd6c9;
	font-size: 11px;
	letter-spacing: 0.4px;
}

#nation .nationHud__diagnosticItem {
	display: flex;
	align-items: center;
	gap: 6px;
}

#nation .nationHud__diagnosticItem + .nationHud__diagnosticItem {
	margin-top: 6px;
}

#nation .nationHud__sectionHeader {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 4px;
}

#nation .nationHud__actions {
	display: flex;
	gap: 6px;
}

#nation .nationHud__sectionHeader .sectionTitle {
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 1px;
	text-transform: uppercase;
}

#nation .nationHud__action {
	background: rgba(255, 255, 255, 0.12);
	color: white;
	border: none;
	border-radius: 6px;
	padding: 6px 10px;
	cursor: pointer;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
}

#nation .nationHud__action.isActive {
	background: rgba(255, 255, 255, 0.22);
}

#nation .nationHud__totals {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}

#nation .nationHud__total {
	background: rgba(255, 255, 255, 0.08);
	border-radius: 6px;
	padding: 6px 8px;
	font-size: 11px;
	letter-spacing: 0.5px;
}

#nation .nationHud__total .emoji {
	margin-right: 4px;
}

#nation .nationHud__total .limited {
	color: #ffb347;
	margin-left: 4px;
}

#nation .nationHud__list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  height: 35vh;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px;
}

#nation .nationHudUpload {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#nation .nationHudUpload__intro {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.4;
  color: rgba(226, 232, 240, 0.85);
}

#nation .nationHudUpload__history {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: 320px;
  overflow-y: auto;
  padding-right: 4px;
}

#nation .nationHudUpload__historyItem {
  padding: 0.85rem 1rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(94, 234, 212, 0.18);
  background: rgba(15, 23, 42, 0.72);
}

#nation .nationHudUpload__historyItem .historyHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
}

#nation .nationHudUpload__historyItem .historyFile {
  font-weight: 600;
  color: #f8fafc;
  font-size: 0.95rem;
  word-break: break-word;
}

#nation .nationHudUpload__historyItem .historyStatus {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

#nation .nationHudUpload__historyItem .historyStatus.statusSuccess {
  color: #4ade80;
}

#nation .nationHudUpload__historyItem .historyStatus.statusError {
  color: #f87171;
}

#nation .nationHudUpload__historyItem .historyStatus.statusQueued {
  color: #facc15;
}

#nation .nationHudUpload__historyItem .historyMeta {
  margin-top: 0.45rem;
  font-size: 0.85rem;
  color: rgba(203, 213, 225, 0.85);
}

#nation .nationHudUpload__historyItem .historyNotes {
  margin-top: 0.35rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.6rem;
  background: rgba(148, 163, 184, 0.14);
  font-size: 0.82rem;
  color: #e2e8f0;
}

#nation .nationHud__list::-webkit-scrollbar {
  width: 6px;
}

#nation .nationHud__list::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
}

#nation .nationHud__listItem {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 6px;
	padding: 5px 8px;
	cursor: pointer;
	transition: background 0.2s ease;
}

#nation .nationHud__listItem:hover {
	background: rgba(255, 255, 255, 0.18);
}

#nation .nationHud__listItem .listEmoji {
	font-size: 20px;
	line-height: 24px;
}

#nation .nationHud__listItem .listBody {
	flex: 1;
}

#nation .nationHud__editButton {
	background: rgba(255, 255, 255, 0.12);
	border: none;
	color: white;
	border-radius: 4px;
	padding: 4px 6px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease;
}

#nation .nationHud__editButton:hover {
	background: rgba(255, 255, 255, 0.25);
}

#nation .nationHud__listItem .listTitle {
	font-size: 12px;
	line-height: 15px;
	font-weight: bold;
}

#nation .nationHud__listItem .listSubtitle {
	font-size: 11px;
	opacity: 0.8;
}

#nation .listSubtitle .nationHazardSeverityDot {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	margin-right: 6px;
	background: #94a3b8;
	vertical-align: middle;
}

#nation .nationHud__listItem .listMeta {
	font-size: 10px;
	opacity: 0.7;
}

#nation .nationStormColorSwatch {
	display: inline-block;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.35);
}

#nation .nationStormListItem {
	border-left: 3px solid transparent;
}

#nation .nationStormListItem.isActive {
	background: rgba(120, 179, 255, 0.08);
}

#nation .nationStormToggleButton {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: #fff;
	border-radius: 999px;
	padding: 4px 12px;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
}

#nation .nationStormToggleButton:hover {
	border-color: rgba(255, 255, 255, 0.6);
}

#nation .nationStormToggleButton.isActive {
	background: rgba(255, 255, 255, 0.15);
}

#nation .nationStormSlider {
	margin-top: 8px;
}

#nation .nationStormSlider__input {
	width: 100%;
	-webkit-appearance: none;
	background: transparent;
	margin: 0;
	cursor: pointer;
	pointer-events: auto;
	-webkit-user-select: auto;
	-moz-user-select: auto;
	user-select: auto;
}

#nation .nationStormSlider__input:focus {
	outline: none;
}

#nation .nationStormSlider__input::-webkit-slider-runnable-track {
	height: 4px;
	background: rgba(255, 255, 255, 0.25);
	border-radius: 999px;
}

#nation .nationStormSlider__input::-webkit-slider-thumb {
	-webkit-appearance: none;
	height: 14px;
	width: 14px;
	border-radius: 50%;
	background: #fff;
	margin-top: -5px;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2);
}

#nation .nationStormSlider__input::-moz-range-track {
	height: 4px;
	background: rgba(255, 255, 255, 0.25);
	border-radius: 999px;
}

#nation .nationStormSlider__input::-moz-range-thumb {
	height: 14px;
	width: 14px;
	border-radius: 50%;
	background: #fff;
	border: none;
}

#nation .nationStormSlider__labels {
	display: flex;
	justify-content: space-between;
	font-size: 10px;
	margin-top: 4px;
	color: rgba(255, 255, 255, 0.65);
	letter-spacing: 0.02em;
	text-transform: none;
	gap: 4px;
	white-space: normal;
}

#nation .nationStormSlider__labels span {
	flex: 1;
	min-width: 0;
	text-align: left;
}

#nation .nationStormSlider__labels span:nth-child(2) {
	text-align: center;
}

#nation .nationStormSlider__labels span:last-child {
	text-align: right;
}
#nation .nationHud__empty {
	font-size: 11px;
	opacity: 0.7;
	padding-top: 6px;
}

#nation .nationUpload__statusPanel {
	margin-top: 10px;
	padding: 10px 12px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

#nation .nationUpload__statusPanel .statusRow {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

#nation .nationUpload__statusPanel .statusTitle {
	font-size: 13px;
	font-weight: 600;
}

#nation .nationUpload__statusPanel .statusMeta {
	font-size: 11px;
	opacity: 0.75;
}

#nation .nationUpload__progress {
	width: 100%;
	height: 6px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
	overflow: hidden;
}

#nation .nationUpload__progressBar {
	height: 100%;
	background: linear-gradient(90deg, #22d3ee, #a855f7);
	transition: width 0.2s ease;
}

#nation .nationUpload__history {
	margin-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#nation .nationUpload__history .historyTitle {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.7px;
	opacity: 0.85;
}

#nation .nationUpload__history .historyList {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

#nation .nationUpload__historyItem {
	padding: 8px 10px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
}

#nation .nationUpload__historyItem .historyItem__title {
	font-size: 13px;
	font-weight: 600;
}

#nation .nationUpload__historyItem .historyItem__meta {
	font-size: 11px;
	opacity: 0.75;
}

#nation .nationUpload__historyItem .historyItem__path {
	font-size: 10px;
	opacity: 0.6;
	word-break: break-all;
}

.nationPlacementIndicator {
	position: fixed;
	font-size: 28px;
	pointer-events: none;
	z-index: 9999;
	transform: translate(-999px, -999px);
}

@media screen and (max-width: 900px) {
	#nation #resourceHud,
	#nation #reportHud {
		position: relative;
		right: 11px;
		left: 11px;
		bottom: 11px;
		width: auto;
		margin-top: 11px;
	}
}

#nation #mapMenu {
	z-index: 171;
	position: fixed;

	top: 11px;
	left: 11px;

	width: 317px;
	max-width: calc(100% - 22px);
	max-height: calc(100% - 350px);

	padding: 20px;
	padding-top: 14px;
	padding-bottom: 14px;

	background: rgba(0, 0, 0, 0.85);
	box-shadow: 1px 2px 12px rgba(0, 0, 0, 0.45);
	border-radius: 12px;

	display: flex;
	flex-direction: column;
	gap: 12px;
	overflow-x: hidden;
	overflow-y: auto;

	-webkit-transition: transform 0.35s ease;
	-moz-transition: transform 0.35s ease;
	-ms-transition: transform 0.35s ease;
	-o-transition: transform 0.35s ease;
	transition: transform 0.35s ease;
}

.direction_rtl {
	direction: rtl;
}

.direction_ltr {
	direction: ltr !important;
}

#nation #mapMenu .direction_ltr {
	display: flex;
	flex-direction: column;
	height: 100%;
}

@media screen and (max-width: 900px) {
	#mapMenu {
		z-index: 171;
	}
}

#nation #mapMenu #title {
	font-weight: 600;
	text-transform: uppercase;
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 0.8px;

	color: white;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

#nation #mapMenu #title i {
	margin-left: 0;
	margin-right: 8px;
}

#nation .mapboxgl-ctrl-bottom-left {
	bottom: 3.5px !important;
	top: auto !important;
	opacity: 0.0001;
}

#nation .mapboxgl-ctrl-bottom-right {
	bottom: 0px !important;
	top: auto !important;
	opacity: 0.0001;
}
#nation .nationHud__tabs {
	display: flex;
	overflow-x: auto;
	gap: 6px;
	padding-bottom: 6px;
	white-space: nowrap;
	scrollbar-width: thin;
}

#nation .nationHud__tab {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}.patientCareAssistant {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0px;
    background: linear-gradient(180deg, #f4f6fb 0%, #f9fafc 100%);
    border-radius: 18px;
}

.patientCareAssistantWorkspace {
    margin: 0;
}

.patientCareAssistantLayout {
    background: #ffffff;
    box-shadow: none;
    padding: 1em;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 1em;
}

@media screen and (max-width: 1100px) {
    .patientCareAssistantLayout {
        grid-template-columns: 1fr;
    }
}

.patientCareAssistantList {
    border-right: 1px solid rgba(15, 23, 42, 0.06);
    padding-right: 16px;
    min-height: 360px;
    padding-top: 4px;
}

.patientCareAssistantListHeader {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.patientCareAssistantListHeaderRow {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 12px;
}

.patientCareAssistantListHeaderTop {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.patientCareAssistantListHeaderActions {
    display: flex;
    justify-content: flex-end;
}

.patientCareAssistantListHeaderTitles {
    display: block;
    margin-bottom: 8px;
}

.patientCareAssistantListEyebrow {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.76rem;
    color: #94a3b8;
}

.patientCareAssistantListTitle {
    font-size: 1.29rem;
    font-weight: 600;
    color: #0f172a;
}

.patientCareAssistantListToolbar {
    width: 100%;
}

.patientCareAssistantListToolbar .ui.input input {
    border-radius: 6px !important;
    border: 1px solid rgba(15, 23, 42, 0.16) !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
    padding: 10px 12px !important;
    outline: none;
    background: #ffffff !important;
    font-weight: 600;
}

.patientCareAssistantListToolbar .ui.input {
    min-width: 0;
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
}

.patientCareAssistantListToolbar .ui.input input {
    width: 100%;
    padding-right: 40px !important;
}

.patientCareAssistantListToolbar .ui.input i.lucide-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    opacity: 0.8;
    pointer-events: none;
}

.patientCareAssistantListToolbar .patientCareAssistantSearch {
    min-width: 220px;
    width: 100%;
}

.patientCareAssistantNew {
    padding: 10px 12px !important;
    border-radius: 10px !important;
    background: var(--jmkr-color-1) !important;
}

.patientCareAssistantListToolbar .ui.input input::placeholder {
    color: #9ca3af !important;
}

@media screen and (max-width: 640px) {
    .patientCareAssistantListToolbar {
        display: block;
    }
}

.patientCareAssistantListHint {
    font-size: 0.99rem;
    color: #94a3b8;
    margin-bottom: 10px;
}

.patientCareAssistantSession {
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: border-color 120ms ease, box-shadow 120ms ease;
    background: rgba(0, 0, 0, 0.03);
}

.patientCareAssistantSession__name {
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 4px;
}

.patientCareAssistantSession__top {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: space-between;
}

.patientCareAssistantSession__folder {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.94rem;
    color: #0f172a;
    background: rgba(15, 23, 42, 0.04);
    border-radius: 999px;
    padding: 4px 10px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--folder-color, #e0e7ff) 40%, transparent);
}

.patientCareAssistantSession__folder i.icon {
    color: var(--folder-color, #1f6feb);
}

.patientCareAssistantSession__meta {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    font-size: 0.96rem;
    color: #475569;
}

.patientCareAssistantSession__time {
    font-size: 0.91rem;
    color: #475569;
}

.patientCareAssistantSessionList {
    height: calc(100vh - 275px);
    overflow-y: auto;
    padding-right: 6px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.patientCareAssistantSessionGroup {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    padding: 12px;
}

.patientCareAssistantSessionGroupHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    gap: 8px;
}

.patientCareAssistantSessionGroupTitle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    color: #0f172a;
}

.patientCareAssistantSessionGroupTitle i.icon {
    color: #1f6feb;
}

.patientCareAssistantSession__pinned {
    margin-top: 4px;
    font-size: 0.8rem;
    color: #475569;
}

.patientCareAssistantSession.active,
.patientCareAssistantSession:hover {
    border-color: rgba(0, 0, 0, 0.12);
    box-shadow: none;
}

.patientCareAssistantSession__preview {
    font-size: 0.96rem;
    color: #4b5563;
    margin-top: 6px;
}

.patientCareAssistantSession__actions {
    display: flex;
    gap: 6px;
    margin-top: 8px;
}

.patientCareAssistantSession__actions .button {
    padding: 6px 8px !important;
}

.patientCareAssistantEmptyList,
.patientCareAssistantEmptyState {
    text-align: center;
    padding: 24px 12px;
    color: #94a3b8;
    border: 1px dashed rgba(15, 23, 42, 0.12);
    border-radius: 12px;
}

.patientCareAssistantConversation {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.patientCareAssistantConversation__header {
    display: flex;
    justify-content: flex-start;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    padding: 12px 16px;
    background: rgba(0, 0, 0, 0.03);
    border-radius: 12px;
}

.patientCareAssistantConversation__title {
    font-size: 1.46rem;
    font-weight: 600;
    color: #0f172a;
}

.patientCareAssistantConversation__subtitle {
    font-size: 0.99rem;
    color: #94a3b8;
}

.patientCareAssistantConversation__actions {
    margin-left: auto;
    display: inline-flex;
    gap: 8px;
}

.patientCareAssistantConversation__actions .button {
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: none !important;
}

.patientCareAssistantChat {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
}

.assistantChatForm {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 12px;
    padding: 8px 12px;
    background: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.assistantChatForm input {
    border: none;
    flex: 1;
    min-width: 0;
    outline: none;
}

.assistantChatForm input:focus {
    outline: none;
    box-shadow: none;
    border: none;
}

.assistantChatForm {
    border-radius: 12px;
    padding: 10px 14px;
}

.assistantChatForm input:focus {
    outline: none;
    box-shadow: none;
}

.assistantChatSend {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--jmkr-color-1);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.assistantDictationButton {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #0f172a;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
}

.patientCareAssistantChat .chatScroll {
    height: calc(100vh - 340px);
    overflow-y: auto;
    padding-right: 4px;
}

.chatBubble {
    background: rgba(0, 0, 0, 0.03);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 12px;
    padding: 10px 14px;
    margin-bottom: 8px;
    box-shadow: none;
}

.chatMessage.assistant .chatBubble {
    background: #ffffff;
}

.patientCareAssistantConversation__footer {
    font-size: 0.85rem;
    color: #64748b;
}

.patientCareAssistantChat .chatMessageHeader {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 4px;
}

.patientCareAssistantChat .chatMessageName {
    font-size: 12px;
    font-weight: 600;
    color: #7f8c8d;
}

.patientCareAssistantChat .chatMessageDate {
    font-size: 10px;
    color: #94a3b8;
    white-space: nowrap;
}

.patientCareAssistantChat .chatMessageText {
    word-wrap: break-word;
    line-height: 1.5;
    font-size: 14px;
    color: #2c3e50;
}

.chatScrollAnchor {
    height: 1px;
}

.patientCareAssistantChat .chatMessage.newMessage .chatMessageText > * {
    opacity: 0;
    transform: translateY(6px);
    animation: chatLineReveal 0.4s ease forwards;
}

.patientCareAssistantChat .chatMessage.newMessage .chatMessageText > *:nth-child(1) { animation-delay: 0s; }
.patientCareAssistantChat .chatMessage.newMessage .chatMessageText > *:nth-child(2) { animation-delay: 0.04s; }
.patientCareAssistantChat .chatMessage.newMessage .chatMessageText > *:nth-child(3) { animation-delay: 0.08s; }
.patientCareAssistantChat .chatMessage.newMessage .chatMessageText > *:nth-child(4) { animation-delay: 0.12s; }
.patientCareAssistantChat .chatMessage.newMessage .chatMessageText > *:nth-child(5) { animation-delay: 0.16s; }
.patientCareAssistantChat .chatMessage.newMessage .chatMessageText > *:nth-child(6) { animation-delay: 0.2s; }
.patientCareAssistantChat .chatMessage.newMessage .chatMessageText > *:nth-child(7) { animation-delay: 0.24s; }
.patientCareAssistantChat .chatMessage.newMessage .chatMessageText > *:nth-child(8) { animation-delay: 0.28s; }
.patientCareAssistantChat .chatMessage.newMessage .chatMessageText > *:nth-child(9) { animation-delay: 0.32s; }
.patientCareAssistantChat .chatMessage.newMessage .chatMessageText > *:nth-child(10) { animation-delay: 0.36s; }

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

.patientCareAssistantChat .chatMessageText p {
    margin: 0 0 8px 0;
}

.patientCareAssistantChat .chatMessageText h1,
.patientCareAssistantChat .chatMessageText h2,
.patientCareAssistantChat .chatMessageText h3,
.patientCareAssistantChat .chatMessageText h4,
.patientCareAssistantChat .chatMessageText h5,
.patientCareAssistantChat .chatMessageText h6 {
    margin: 12px 0 6px 0;
    line-height: 1.2;
    color: #0f172a;
    font-weight: 700;
}

.patientCareAssistantChat .chatMessageText h1 { font-size: 1.4rem; }
.patientCareAssistantChat .chatMessageText h2 { font-size: 1.25rem; }
.patientCareAssistantChat .chatMessageText h3 { font-size: 1.15rem; }
.patientCareAssistantChat .chatMessageText h4 { font-size: 1.05rem; }
.patientCareAssistantChat .chatMessageText h5,
.patientCareAssistantChat .chatMessageText h6 { font-size: 1rem; }

.patientCareAssistantChat .chatMessageText ul,
.patientCareAssistantChat .chatMessageText ol {
    margin: 0 0 10px 16px;
    padding-left: 16px;
}

.patientCareAssistantChat .chatMessageText li {
    margin-bottom: 4px;
    line-height: 1.45;
}

.patientCareAssistantChat .chatMessageText strong {
    color: #0f172a;
    font-weight: 700;
}

.patientCareAssistantChat .chatMessageText em {
    font-style: italic;
}

.patientCareAssistantChat .chatMessageText code {
    background: rgba(15, 23, 42, 0.05);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 4px;
    padding: 2px 4px;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size: 12px;
}

.patientCareAssistantChat .chatMessageText pre {
    background: #0f172a;
    color: #e2e8f0;
    border-radius: 8px;
    padding: 10px;
    overflow-x: auto;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size: 12px;
    margin: 10px 0;
}

.patientCareAssistantChat .chatMessageText blockquote {
    margin: 10px 0;
    padding: 10px 12px;
    border-left: 3px solid #3b82f6;
    background: rgba(59, 130, 246, 0.06);
    border-radius: 6px;
    color: #1e293b;
}

.patientCareAssistantChat .chatMessageText hr {
    border: none;
    border-top: 1px dashed rgba(15, 23, 42, 0.12);
    margin: 12px 0;
}

.patientCareAssistantChat .chatMessageText table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 13px;
}

.patientCareAssistantChat .chatMessageText th,
.patientCareAssistantChat .chatMessageText td {
    border: 1px solid rgba(15, 23, 42, 0.12);
    padding: 6px 8px;
    text-align: left;
}

.patientCareAssistantChat .chatMessageText th {
    background: rgba(15, 23, 42, 0.04);
    font-weight: 700;
    color: #0f172a;
}
.patientCareAssistantChat .chatMessageText h3 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 600;
}

/* ===== Patient Care Settings - Component-Specific Overrides ===== */
/* These styles extend the generic settings styles from template.css */

/* Age Band Table - specific column widths */
.pcAgeBandTable .settingsTable__header,
.pcAgeBandTable .settingsTable__row {
    grid-template-columns: 1fr 120px 120px 50px;
}

@media screen and (max-width: 640px) {
    .pcAgeBandTable .settingsTable__header,
    .pcAgeBandTable .settingsTable__row {
        grid-template-columns: 1fr 80px 80px 40px;
    }
}

/* Location Tree - focus state for keyboard navigation */
.pcLocationsTree:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}#PatientCareNote {}

#PatientCareNote .column {}


#PatientCareNote .sectionForCard {
    position: relative;
    padding: 15px;
    padding-top: 7px;
    padding-bottom: 0px;
    overflow-x: hidden;
    overflow-y: auto;
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

#PatientCareNote .sectionForCard .edit {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #ecf0f1;
    border: 2px solid #bdc3c7;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 1;
}

#PatientCareNote .sectionForCard .edit:hover {
    background-color: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
    color: white;
    transform: scale(1.05);
}

#PatientCareNote .sectionForCard .edit i {
    color: #7f8c8d;
    transition: color 0.3s ease;
}

#PatientCareNote .sectionForCard .edit:hover i {
    color: white;
}

#PatientCareNote .sectionForCard .picture {
    float: left;
    border: 4px solid #f8f9fa;
    width: 90px;
    height: 90px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: var(--jmkr-logo);
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1);
}

#PatientCareNote .sectionForCard .name {
    float: left;
    width: calc(100% - 120px);
    font-size: 25px;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 15px;
    line-height: 1.2;
    padding-top: 10px;
}

#PatientCareNote .sectionForCard .name,
#PatientCareNote .sectionForCard .dateOfBirth,
#PatientCareNote .sectionForCard .address {
    font-size: 16px;
    text-align: left;
    margin-top: 10px;
    margin-bottom: 10px;
    padding-left: 15px;
}

#PatientCareNote .sectionForCard .name span {
    display: block;
    font-size: 14px !important;
    font-weight: 400;
    color: #5c5c5c;
    margin-top: 5px;
}

#PatientCareNote .sectionForCard .dateOfBirth,
#PatientCareNote .sectionForCard .address {
    font-size: 11px;
    opacity: 0.7;
}


#PatientCareNote .sectionForCard .vitalsGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

#PatientCareNote .sectionForCard .primaryStatistic {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #e8eced;
    padding: 10px 10px;
    border-radius: 3.5px;
    transition: all 0.3s ease;
    cursor: pointer;
    font-size: 13px;
    color: #2c3e50;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
    box-shadow: 0 3.5px 7px rgba(0, 0, 0, 0.05);
}

#PatientCareNote .sectionForCard .primaryStatistic:hover {
    background: var(--jmkr-color-1);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

#PatientCareNote .sectionForCard .primaryStatistic i {
    color: var(--jmkr-color-1);
    font-size: 16px;
    margin-right: 10px;
    transition: color 0.3s ease;
}

#PatientCareNote .sectionForCard .primaryStatistic:hover i {
    color: white;
}

#PatientCareNote .sectionForCard .primaryStatistic b {
    font-weight: 600;
}

#PatientCareNote .formCategoryList,
#PatientCareNote .formList {
    width: 100%;
    border-radius: 0px;
    box-shadow: none;
    border: none;
    max-height: calc(100vh - var(--line-height) - var(--line-height) * 1.17 - 65px);
    overflow-y: auto;
}

#PatientCareNote .formList {
    padding: 1em;
    max-height: calc(100vh - var(--line-height) - var(--line-height) * 1.17);
}

#PatientCareNote .formCategoryList .selectFormType:hover {
    background-color: #e9ecef !important;
}

#PatientCareNote .formCategoryList .selectFormType.selected {
    background-color: var(--jmkr-color-1) !important;
    color: white !important;
    font-weight: bold !important;
}

#PatientCareNote .formCategoryList .selectFormType.selected:hover {
    background-color: var(--jmkr-color-1) !important;
    opacity: 0.9;
}

#PatientCareNote #submit {
    float: right;
    background: var(--jmkr-color-1);
    color: white;
    border-radius: 3.5px;
    margin-top: 10px;
    padding: 17px;
    padding-left: 35px;
    padding-right: 35px;
    text-align: center;
    cursor: pointer;
    font-weight: 500;
    font-size: 17px;
    margin-right: 1em;
}

#PatientCareNote #reset {
    float: left;
    border-radius: 3.5px;
    margin-top: 10px;
    padding-top: 17px;
    text-align: left;
    cursor: pointer;
    font-size: 17px;
    opacity: 0.5;
    margin-left: 1em;
}

#PatientCareNote .mobileFormSelectionBG {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

#PatientCareNote .mobileFormSelectionBG.open {
    opacity: 1;
    visibility: visible;
}

#PatientCareNote .mobileFormSelection {
    position: fixed;
    top: 0;
    left: 0;
    width: 300px;
    height: 100%;
    background-color: white;
    z-index: 1000;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}

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

#PatientCareNote .closeMobileFormSelection {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1001;
}

#PatientCareNote .closeMobileFormSelection:hover {
    background-color: rgba(0, 0, 0, 0.2);
}


#PatientCareNote .notesContainer {
    display: flex;
    margin: 0;
    height: 100%;
}

#PatientCareNote .formCategoryPanel {
    padding: 0;
    background-color: #f8f9fa;
    border-right: 1px solid #dee2e6;
    overflow: hidden;
}

#PatientCareNote .formContentPanel {
    overflow: hidden;
    flex: 1;
}

#PatientCareNote .formContentPanel .formFieldListRow {}

#PatientCareNote .formContentPanel .formFieldListRow .title {
    font-size: 17px;
    margin-bottom: 0.5em !important;
}

#PatientCareNote .formContentPanel .formFieldListRow .detail {
    margin-bottom: 0.5em !important;
    opacity: 0.7;
}

#PatientCareNote .formContentPanel .formFieldListRow input,
#PatientCareNote .formContentPanel .formFieldListRow div.selectize-input,
#PatientCareNote .formContentPanel .formFieldListRow div:not(.selectize-input)>input {
    line-height: calc(var(--line-height) * 1) !important;
    /* height: calc(var(--line-height) * 1.17) !important; */
}

#PatientCareNote .formContentPanel .formFieldListRow div.selectize-input,
#PatientCareNote .formContentPanel .formFieldListRow div:not(.selectize-input)>input,
#PatientCareNote .formContentPanel .formFieldListRow textarea {
    border: 1px solid #dee2e6 !important;
    border-bottom-width: 2px !important;
    border-radius: 3.5px !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    color: #2c3e50 !important;
    background-color: white !important;
    box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.017) !important;
}

#PatientCareNote .acceptAutofillSuggestion {
    transition: opacity 0.2s ease;
    border-radius: 3px;
    padding: 2px 6px;
    background-color: rgba(91, 179, 255, 0.1);
    margin-left: 8px;
    font-size: 11px;
    color: var(--jmkr-color-1);
    cursor: pointer;
    border: 1px solid rgba(91, 179, 255, 0.3);
    display: inline-block;
}

#PatientCareNote .acceptAutofillSuggestion:hover {
    background-color: rgba(91, 179, 255, 0.2);
    border-color: rgba(91, 179, 255, 0.5);
}

#PatientCareNote .acceptAutofillSuggestion i {
    margin-right: 3px;
}


@media screen and (min-width: 768px) {
    #PatientCareNote .formCategoryPanel {
        width: 25%;
        flex: 0 0 25%;
    }

    #PatientCareNote .formContentPanel {
        width: 75%;
        flex: 0 0 75%;
    }
}


@media screen and (max-width: 767px) {
    #PatientCareNote .visible768 {
        display: none !important;
    }

    #PatientCareNote .invisible768 {
        display: flex !important;
    }

    #PatientCareNote .notesContainer {
        flex-direction: column;
    }

    #PatientCareNote .formCategoryPanel {
        display: none;

    }

    #PatientCareNote .formContentPanel {
        width: 100%;
        flex: 1;
    }

    #PatientCareNote .formCategoryList {
        max-height: calc(100vh);
    }

    #PatientCareNote #submit {
        margin-right: calc(54px + 0.7em) !important;
    }
}

@media screen and (min-width: 768px) {
    #PatientCareNote .visible768 {
        display: flex !important;
    }

    #PatientCareNote .invisible768 {
        display: none !important;
    }
}

#PatientCareNote .sectionForTabs {
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
}

#PatientCareNote .dragVertical {
    z-index: 1;
    position: absolute;
    text-align: center;
    height: 3px;
    width: 100%;
    bottom: 0px;
    left: 0px;
    cursor: ns-resize;
    background-color: #E5E5E5;
}

#PatientCareNote .dragHorizontal {
    z-index: 11;
    position: absolute;
    width: 3px;
    height: 100%;
    top: 0px;
    left: 0px;
    cursor: ew-resize;
    background-color: #E5E5E5;
}

#PatientCareNote .dragVertical .ellipsis,
#PatientCareNote .dragHorizontal .ellipsis {
    position: absolute;
    top: calc(50% - 1px / 2);
    left: calc(50% - 10px / 2 + 0.5px);
    text-align: center;
    line-height: 1px;
    width: 10px;
    font-size: 17.5px;
    color: silver;
}

#PatientCareNote .sectionForTabs>.ui.attached.segment {
    padding: 0px !important;
}


#PatientCareNote .sectionForChat {
    position: relative;
    display: flex;
    flex-direction: column;
    background: white;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

#PatientCareNote .sectionForChat .chatScroll {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    padding-top: 45px;
    background: #f8f9fa;
    display: flex;
    flex-direction: column;
    gap: 25px;
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: calc(100% - 70px);
    box-sizing: border-box;
    transform: scaleY(-1);
}

#PatientCareNote .sectionForChat .chatScroll .chatMessage {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 85%;
    position: relative;
    padding: 0;
    box-sizing: border-box;
    transform: scaleY(-1);
}

#PatientCareNote .sectionForChat .chatScroll .chatMessage.assistant {
    align-self: flex-start;
}

#PatientCareNote .sectionForChat .chatScroll .chatMessage:not(.assistant) {
    align-self: flex-end;
    flex-direction: row-reverse;
}

#PatientCareNote .sectionForChat .chatScroll .chatMessageName {
    font-size: 12px;
    font-weight: 600;
    color: #7f8c8d;
    margin-bottom: 5px;
    position: absolute;
    top: -5px;
    left: 5px;
}

#PatientCareNote .sectionForChat .chatScroll .chatMessage:not(.assistant) .chatMessageName {
    right: 0;
    left: auto;
}

#PatientCareNote .sectionForChat .chatScroll .chatMessageDate {
    font-size: 10px;
    color: #7f8c8d;
    position: absolute;
    top: -5px;
    right: 5px;
}

#PatientCareNote .sectionForChat .chatScroll .chatMessage:not(.assistant) .chatMessageDate {
    left: 0;
    right: auto;
}

#PatientCareNote .sectionForChat .chatScroll .chatMessageText {
    background: #ffffff;
    padding: 12px 16px;
    border-radius: 18px;
    max-width: 100%;
    word-wrap: break-word;
    line-height: 1.4;
    font-size: 14px;
    color: #2c3e50;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    margin-top: 20px;
}

#PatientCareNote .sectionForChat .chatScroll .chatMessage:not(.assistant) .chatMessageText {
    background: var(--jmkr-color-1);
    color: white;
}

#PatientCareNote .sectionForChat .chatScroll .chatMessageText h3 {
    font-size: 16px;
    margin: 0 0 8px 0;
    font-weight: 600;
}


#PatientCareNote .sectionForChat .chatForm {
    border-top: 1px solid #e9ecef;
    padding: 15px 15px;
    padding-right: 10px;
    background: white;
    display: flex;
    align-items: flex-end;
    gap: 10px;
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 70px;
    box-sizing: border-box;
    z-index: 10;
}

#PatientCareNote .sectionForChat .chatForm #chatInput {
    flex: 1;
    min-height: 40px;
    padding: 10px 15px;
    border: 1px solid #e9ecef;
    border-radius: 20px;
    resize: none;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.4;
    outline: none;
    box-shadow: none;
    transition: border-color 0.3s ease;
    background: white;
    width: calc(100% - var(--line-height));
    float: left;
}

#PatientCareNote .sectionForChat .chatForm #chatInput:focus {
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

#PatientCareNote .sectionForChat .chatForm #chatSendButton {
    border-radius: 50%;
    width: 45px;
    height: 45px;
    background: var(--jmkr-color-1);
    color: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    font-size: 18px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    float: right;
    line-height: var(--line-height);
    text-align: center;
}

#PatientCareNote .sectionForChat .chatForm #chatSendButton:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}


#PatientCareNote .sectionForChat .chatForm #chatSendButton .spinning-star {
    transition: transform 0.3s ease;
}

#PatientCareNote .sectionForChat .chatForm #chatSendButton:hover .spinning-star {
    transform: rotate(360deg);
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


#PatientCareNote .sectionForChat .chatForm .chatSendButtonContainer {
    position: relative;
}

#PatientCareNote .sectionForChat .chatForm .actionButtonsPopup {
    position: absolute;
    bottom: 60px;
    right: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 10;
}

#PatientCareNote .sectionForChat .chatForm .chatSendButtonContainer:hover .actionButtonsPopup {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

#PatientCareNote .sectionForChat .chatForm .actionButton {
    background: var(--jmkr-color-1);
    color: white;
    padding: 10px 15px;
    padding-top: 0px;
    padding-bottom: 0px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    min-width: 120px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: all 0.2s ease;
    white-space: nowrap;
}

#PatientCareNote .sectionForChat .chatForm .actionButton:hover {
    background: #2c3e50;
    transform: translateX(-5px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

#PatientCareNote .sectionForChat .chatForm .actionButton i {
    font-size: 14px;
}

#PatientCareNote .sectionForChat .chatForm .actionButton span {
    font-weight: 500;
}


#PatientCareNote .pullOutColumnBG {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 98;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

#PatientCareNote .pullOutColumnBG.open {
    opacity: 1;
    visibility: visible;
}

#PatientCareNote .closeMobilePatientSection {
    display: none;
    position: absolute;
    top: -40px;
    right: 7px;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: #1B1B1B;
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: white;
    cursor: pointer;
    z-index: 99;
    transition: all 0.3s ease;
    justify-content: center;
    align-items: center;
}

#PatientCareNote .closeMobilePatientSection:hover {
    background-color: #e74c3c;
    border-color: #c0392b;
    transform: scale(1.1);
}


.invisible768 {
    display: none !important;
}

@media screen and (max-width: 767px) {
    .invisible768 {
        display: flex !important;
    }
}


@media screen and (max-width: 767px) {
    #PatientCareNote .pullOutColumn {
        position: fixed !important;
        top: calc(var(--line-height) * 1.17);
        right: -100%;
        width: 100% !important;
        height: calc(100% - var(--line-height) * 1.17);
        z-index: 99;
        transition: right 0.3s ease;
        background: white;
        overflow-y: visible;
    }

    #PatientCareNote .pullOutColumn.open {
        right: 0px;
    }

    #PatientCareNote .closeMobilePatientSection {
        display: flex;
    }

    #PatientCareNote .sectionForChat .chatForm .actionButton.toggleMobilePatientSection {
        display: flex;
    }

    #PatientCareNote .dragHorizontal,
    #PatientCareNote .dragVertical {
        display: none;
    }
}


#PatientCareNote .mobileFAB {
    position: fixed;
    bottom: 1em;
    right: 1em;
    z-index: 9;
}

#PatientCareNote .mobileFABButton {
    width: 54px;
    height: 54px;
    background: var(--jmkr-color-1);
    border-radius: 50%;
    color: white;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

#PatientCareNote .mobileFABButton:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

#PatientCareNote .mobileFAB .spinning-star {
    transition: transform 0.3s ease;
}

#PatientCareNote .mobileFAB .mobileFABButton:hover .spinning-star {
    transform: rotate(360deg);
    animation: spin 1s linear infinite;
}

#PatientCareNote .mobileFAB .actionButtonsPopup {
    position: absolute;
    bottom: 75px;
    right: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 99;
}

#PatientCareNote .mobileFAB .chatSendButtonContainer:hover .actionButtonsPopup {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

#PatientCareNote .mobileFAB .actionButtonsPopup .actionButton {
    background: var(--jmkr-color-1);
    color: white;
    min-width: 120px;
    padding: 10px 10px;
    line-height: var(--line-height);
    padding-top: 0px;
    padding-bottom: 0px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: all 0.2s ease;
    white-space: nowrap;
}

#PatientCareNote .PatientCareNote_hide {
    display: none !important;
}

#patientCareForm h2,
#patientCareNoteForm h2 {
    font-size: 20px;
    margin-top: 10px;
    margin-bottom: 10px;
    font-weight: 600;
    opacity: 0.5;
}

#patientCareForm .formFieldListRow,
#patientCareNoteForm .formFieldListRow,
#prescriptionForm .medicationField {
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
    border-radius: 3.5px;
    padding: 10px;
    padding-top: 7.5px;
    margin-top: 0px;
    margin-bottom: 10px;
}

#patientCareForm .formFieldListRow .two.fields,
#patientCareNoteForm .formFieldListRow .two.fields {
    margin-bottom: 0px;
}

#patientCareForm .formFieldListRow .title,
#patientCareNoteForm .formFieldListRow .title {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding-left: 12.5px;
    padding-bottom: 10px;
    margin-left: -10px;
    margin-bottom: 10px;
    width: calc(100% + 20px);
    font-weight: 500;
    font-size: 15px;
    opacity: 0.7;
}

#patientCareForm .formFieldListRow .detail,
#patientCareNoteForm .formFieldListRow .detail {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding-left: 12.5px;
    padding-bottom: 10px;
    margin-left: -10px;
    margin-bottom: 10px;
    width: calc(100% + 20px);
    font-weight: 600;
    font-size: 12.5px;
    opacity: 0.7;
    font-style: italic;
}



#formSearchInput,
#mobileFormSearchInput {
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

#formSearchInput:focus,
#mobileFormSearchInput:focus {
    border-color: var(--jmkr-color-1) !important;
    box-shadow: none !important;
}

#searchResultsCount,
#mobileSearchResultsCount {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.selectFormType {
    transition: opacity 0.2s ease, max-height 0.2s ease;
    overflow: hidden;
}

.selectFormType:not([style*="display: none"]) {
    opacity: 1;
    max-height: 100px;
}


.formCategoryList .item:not(.selectFormType) {
    transition: opacity 0.2s ease, max-height 0.2s ease;
    overflow: hidden;
}


#formSearchInput::placeholder,
#mobileFormSearchInput::placeholder {
    color: #adb5bd;
    font-style: italic;
}


.ui.icon.input>i.icon {
    color: #6c757d;
}

.patientCareGalleryPopUp {
    width: calc(100vw - 80px);
    max-width: 960px;
    margin: 0 auto;
}

.patientCareGalleryToolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

.patientCareGalleryModeBar {
    display: flex;
    gap: 10px;
}

.patientCareGalleryModeBar .button {
    padding: 8px 14px;
    border-radius: 6px;
    background: #f1f3f5;
    color: #2c3e50;
    font-size: 12px;
    line-height: 1.2;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.patientCareGalleryModeBar .button.active {
    background: var(--jmkr-color-1);
    color: white;
}

.patientCareGalleryModeBar .button.inverted {
    opacity: 0.7;
}

.patientCareGalleryExport {
    padding: 8px 16px;
    border-radius: 6px;
    background: var(--jmkr-color-1);
    color: white;
    font-size: 12px;
    line-height: 1.2;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.patientCareGalleryExport:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
}

.patientCareGalleryPreview {
    background: #f8f9fa;
    border: 1px solid #e1e5ea;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 18px;
    min-height: calc(100vh - 385px);
    position: relative;
    overflow: hidden;
}

.patientCareGallerySideBySide {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    align-items: flex-start;
}

.patientCareGallerySelectedFrame {
    flex: 1 1 240px;
    max-width: 320px;
    background: white;
    border-radius: 10px;
    border: 1px solid #e1e5ea;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.patientCareGallerySelectedFrame img {
    width: 100%;
    display: block;
    object-fit: contain;
    background: #000;
    max-height: 360px;
}

.patientCareGallerySelectedMeta {
    padding: 8px 12px;
    font-size: 12px;
    display: flex;
    justify-content: space-between;
    background: #f4f6f8;
    color: #2c3e50;
}

.patientCareGallerySelectedMeta .phase {
    font-weight: 600;
    color: var(--jmkr-color-1);
}

.patientCareGalleryEmpty {
    text-align: center;
    padding: 40px 10px;
    color: #6c757d;
    font-size: 13px;
}

.patientCareGalleryGroups {
    max-height: 260px;
    overflow-y: auto;
    padding-right: 4px;
}

.patientCareGalleryGroup {
    margin-bottom: 14px;
}

.patientCareGalleryGroupHeader {
    font-weight: 600;
    margin-bottom: 6px;
    color: #2c3e50;
}

.patientCareGalleryThumbnails {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.patientCareGalleryThumbnail {
    width: 94px;
    height: 94px;
    border-radius: 8px;
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    background: #f4f6f8;
    transition: border-color 0.15s ease, transform 0.15s ease;
}

.patientCareGalleryThumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.patientCareGalleryThumbnail.active {
    border-color: var(--jmkr-color-1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.patientCareGalleryThumbnailBadge {
    position: absolute;
    top: 6px;
    left: 6px;
    background: rgba(0, 0, 0, 0.65);
    color: white;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 999px;
    letter-spacing: 0.4px;
}

.patientCareGalleryOverlayFrame {
    position: relative;
    min-height: calc(100vh - 415px);
    background: #000;
    border-radius: 10px;
    overflow: hidden;
}

.patientCareGalleryOverlayBase,
.patientCareGalleryOverlayTop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.patientCareGalleryOverlayTop {
    transition: opacity 0.15s ease;
    pointer-events: none;
}

.patientCareGalleryOverlaySlider {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    background: rgba(0, 0, 0, 0.45);
    padding: 8px 12px;
    border-radius: 999px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: white;
    font-size: 12px;
}

.patientCareGalleryOverlayControl {
    width: 100%;
}

.patientCareGalleryOverlayLabel {
    font-size: 11px;
    opacity: 0.85;
}

.patientCareGalleryOverlaySlider.exporting .patientCareGalleryOverlayControl {
    opacity: 0;
}

.patientCareGalleryOverlayGhost {
    position: relative;
    width: 100%;
    height: 12px;
}

.patientCareGalleryOverlayGhost .track {
    position: absolute;
    top: 5px;
    left: 0;
    right: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jmkr-color-1) 0%, var(--jmkr-color-1) 60%, rgba(255, 255, 255, 0.45) 60%);
}

.patientCareGalleryOverlayGhost .thumb {
    position: absolute;
    top: 50%;
    width: 12px;
    height: 12px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid var(--jmkr-color-1);
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.25);
}

.patientCareGalleryPopUp .dashboardPopUpCancelButton {
    margin-top: 18px;
}#PatientCareExport {
    padding-bottom: 55px;
}

#PatientCareExport #printToPDF,
#PatientCarePrescription #printToPDF {
    position: fixed;
    padding: 15px;
    text-align: center;
    bottom: 10px;
    width: 200px;
    left: calc(50% - 200px/2);
    border-radius: 3.5px;
    background: var(--jmkr-color-1);
    color: white;
    z-index: 1000;
    cursor: pointer;
}

#PatientCareExport,
#PatientCarePrescription {
    padding: 10px;
    padding-bottom: 70px;
}

#PatientCareExport .page700width,
#PatientCarePrescription .page700width {
    border-top: 3.5px solid var(--jmkr-color-1);
    position: relative;
    padding: 15px;
    border-radius: 3.5px;
    box-shadow: 0px 2px 3px #00000033;
}

#PatientCareExport .page700width .page700width,
#PatientCarePrescription .page700width .page700width {
    border-top: none;
    padding: 0px;
    border-radius: 3.5px;
    box-shadow: none;
}

#PatientCareExport .page700width .page700width #printArea,
#PatientCarePrescription .page700width .page700width #printArea {
    padding: 0px;
}

#PatientCareExport .page700width .page700width #title,
#PatientCarePrescription .page700width .page700width #title {
    border-top: 2px dotted black;
    margin-top: 15px;
    padding-top: 10px;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0px;
}

#PatientCareExport .page700width .page700width #FormPageFieldList .formFieldListRow,
#PatientCarePrescription .page700width .page700width #FormPageFieldList .formFieldListRow {
    margin-top: 10px;
    border: none;
    padding: 0px;
}

#PatientCareExport .logo,
#PatientCarePrescription .logo {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 35px;
    height: 35px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: var(--jmkr-logo);
    border-radius: 50%;
}

#PatientCareExport h1,
#PatientCareExport h2,
#PatientCareExport h3,
#PatientCareExport p,
#PatientCarePrescription h1,
#PatientCarePrescription h2,
#PatientCarePrescription h3,
#PatientCarePrescription p {
    margin: 0px !important;
}

#PatientCareExport b,
#PatientCarePrescription b {
    font-weight: 600 !important;
}

#PatientCarePrescription .patientStat {
    padding: 10px;
    padding-top: 7.5px;
    position: relative;
    padding-bottom: 25px;
    border-right: 1px solid silver;
}

#PatientCarePrescription .patientStat i {
    position: absolute;
    bottom: 5px;
    right: 10px;
}

#PatientCarePrescription .medications .medication {
    break-inside: avoid-page;
}

#PatientCarePrescription canvas {
    width: 225px;
    height: 100px;
    pointer-events: none;
}


.dictation-overlay {
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    border-radius: 12px 12px 0 0;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease-in-out;
    will-change: transform; 
}


.dictation-overlay:not(.slide-out) {
    transform: translateX(0) !important;
}


.dictation-overlay.slide-out {
    transform: translateX(170%) !important;
}




.dictation-header {
    background: linear-gradient(135deg, #2185d0 0%, #1678c2 100%);
    color: white;
    padding: 20px;
    border-radius: 12px 12px 0 0;
}

.dictation-title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 12px;
}

.dictation-title i.icon {
    font-size: 24px;
    opacity: 0.9;
}

.dictation-subtitle {
    margin: 8px 0 0 36px;
    font-size: 14px;
    opacity: 0.9;
}

.dictation-controls {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.dictation-controls .ui.button {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: all 0.2s ease;
}

.dictation-controls .ui.button:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: translateY(-1px);
}


.dictation-stats {
    display: flex;
    justify-content: space-around;
    padding: 15px 20px;
    background: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
}

.dictation-stat {
    text-align: center;
}

.dictation-stat-value {
    font-size: 24px;
    font-weight: 600;
    color: #2185d0;
}

.dictation-stat-label {
    font-size: 12px;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
}


.dictation-content {
    padding: 20px;
    min-height: 200px;
    max-height: 400px;
    overflow-y: auto;
}


.transcript-segment {
    margin-bottom: 16px;
    animation: fadeIn 0.5s ease;
}

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

.segment-speaker {
    font-weight: 600;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.segment-speaker.doctor {
    color: #2185d0;
}

.segment-speaker.patient {
    color: #00b5ad;
}

.segment-speaker i.icon {
    font-size: 16px;
}

.segment-text {
    background: #f8f9fa;
    padding: 12px 16px;
    border-radius: 8px;
    margin-left: 24px;
    position: relative;
    line-height: 1.5;
}

.segment-text.doctor {
    background: #e3f2fd;
    border-left: 3px solid #2185d0;
}

.segment-text.patient {
    background: #e0f2f1;
    border-left: 3px solid #00b5ad;
}

.segment-timestamp {
    font-size: 11px;
    color: #999;
    margin-left: 24px;
    margin-top: 4px;
}


.current-transcript {
    margin-top: 20px;
    padding: 20px;
    background: #fffbf0;
    border: 2px dashed #ffa726;
    border-radius: 8px;
}

.current-transcript-label {
    font-size: 12px;
    font-weight: 600;
    color: #f57c00;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.current-transcript-text {
    font-size: 16px;
    line-height: 1.5;
    color: #424242;
    min-height: 24px;
}


.listening-indicator {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.listening-dot {
    width: 6px;
    height: 6px;
    background: #f57c00;
    border-radius: 50%;
    animation: pulse 1.5s infinite;
}

.listening-dot:nth-child(2) {
    animation-delay: 0.2s;
}

.listening-dot:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes pulse {
    0%, 60%, 100% {
        transform: scale(1);
        opacity: 1;
    }
    30% {
        transform: scale(1.5);
        opacity: 0.5;
    }
}


.microphone-pulse {
    position: relative;
    display: inline-block;
}

.microphone-pulse::before,
.microphone-pulse::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 2px solid #f57c00;
    animation: micPulse 2s infinite;
}

.microphone-pulse::after {
    animation-delay: 1s;
}

@keyframes micPulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(2);
        opacity: 0;
    }
}


.dictation-empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #6c757d;
}

.dictation-empty-state i.icon {
    font-size: 48px;
    color: #dee2e6;
    margin-bottom: 16px;
}

.dictation-empty-state h4 {
    margin: 0 0 8px 0;
    color: #495057;
}


.dictation-content::-webkit-scrollbar {
    width: 8px;
}

.dictation-content::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.dictation-content::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 10px;
}

.dictation-content::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}


@media (max-width: 768px) {
    .dictation-overlay {
        border-radius: 0;
    }
    
    .dictation-header {
        border-radius: 0;
        padding: 15px;
    }
    
    .dictation-controls {
        flex-wrap: wrap;
    }
    
    .dictation-controls .ui.button {
        flex: 1;
        min-width: 100px;
    }
    
    .dictation-stats {
        padding: 10px 15px;
    }
    
    .dictation-stat-value {
        font-size: 20px;
    }
}


@media (prefers-color-scheme: dark) {
    .dictation-overlay {
        background: rgba(30, 30, 30, 0.98);
        color: #e0e0e0;
    }
    
    .dictation-header {
        background: linear-gradient(135deg, #1a5490 0%, #144d82 100%);
    }
    
    .dictation-stats {
        background: #1a1a1a;
        border-bottom-color: #333;
    }
    
    .segment-text {
        background: #2a2a2a;
    }
    
    .segment-text.doctor {
        background: #1a2838;
    }
    
    .segment-text.patient {
        background: #1a3330;
    }
    
    .current-transcript {
        background: #2a2517;
        border-color: #cc7a00;
    }
}:root {
    --gray: #999;
    --blue: #0074d9;
    --color: #333;
    --border-radius: 3px;
}

.picker {
    color: var(--color);
    direction: ltr;
    display: none;
    font-size: 1rem;
    line-height: 1.5;
    overflow: hidden;
    touch-action: none;
    transition: opacity 0.15s;
    user-select: none;
    border-radius: 3px;

    border: 1px solid rgba(0,0,0,0.217) !important;
} .nightMode .picker {
    --background-color: black;
    --border: 1px solid rgba(255,255,255,0.217) !important;
}

.picker-fixed {
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1986;

    & > .picker-dialog {
        bottom: -100%;
        left: 0;
        max-height: 100%;
        position: absolute;
        right: 0;
        transition: bottom 0.3s;
    }

    & .picker-header {
        display: block;
    }

    & .picker-footer {
        display: table;
    }
}

.picker-open {
    display: block;
    opacity: 0;
}

.picker-opened {
    opacity: 1;

    & > .picker-dialog {
        bottom: 0;
    }
}

.picker-dialog {
    background-color: var(--background-color);
    border: var(--border);
    position: static;
    bottom: 0;
}

.picker-header {
    border-bottom: var(--border);
    display: none;
    padding: 0.875rem 1.25rem;
    position: relative;
}

.picker-title {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.25rem;
    margin: 0;
}

.picker-close {
    background-color: transparent;
    border-width: 0;
    color: var(--gray);
    cursor: pointer;
    font-size: 1.75rem;
    height: 3rem;
    opacity: 0.75;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 3rem;

    &:focus,
    &:hover {
    opacity: 1;
    outline: none;
    }
}

.picker-body {
    overflow: hidden;
}

.picker-grid {
    display: table;
    table-layout: fixed;
    width: 100%;
}

.picker-cell {
    display: table-cell;
    position: relative;

    &::before,
    &::after {
    content: '';
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 3;
    }

    &::before {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05));
    bottom: 50%;
    margin-bottom: 1rem;
    top: 0;
    }

    &::after {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05));
    bottom: 0;
    margin-top: 1rem;
    top: 50%;
    }

    & + .picker-cell {
    border-left: var(--border);
    }

    @nest .picker-headers & {
    &::before {
        margin-bottom: 0;
    }

    &::after {
        margin-top: 2rem;
    }
    }

    @nest .picker-single:not(.picker-controls):not(.picker-headers) & {
    &::before,
    &::after {
        display: none;
    }
    }
}

.picker-cell__header {
    color: var(--gray);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5rem;
    margin: 0;
    overflow: hidden;
    padding: 0.25rem 0.5rem;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.picker-cell__control {
    cursor: pointer;
    height: 2rem;
    padding: 0.25rem 0.5rem;
    position: relative;
    z-index: 4;

    &::before {
    border: 0 solid #ccc;
    content: '';
    display: block;
    height: 0.5rem;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    width: 0.5rem;
    }

    &:hover::before {
    border-color: var(--primary);
    }
}

.picker-cell__control--prev {
    &::before {
    border-right-width: 1px;
    border-top-width: 1px;
    margin-top: 2px;
    }
}

.picker-cell__control--next {
    &::before {
    border-bottom-width: 1px;
    border-left-width: 1px;
    margin-bottom: 2px;
    }
}

.picker-cell__body {
    overflow: hidden;
    position: relative;

    &::before,
    &::after {
    content: '';
    height: 2rem;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 1;
    }

    &::before {
    background-image: linear-gradient(to top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    top: 0;
    }

    &::after {
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    bottom: 0;
    }

    @nest .picker-single & {
    &::before,
    &::after {
        display: none;
    }
    }
}

.picker-list {
    list-style: none;
    margin: -2rem 0;
    padding: 0;
    position: relative;
}

.picker-item {
    color: var(--gray);
    padding: 0.25rem 0.5rem;
    text-align: center;
    white-space: nowrap;
    font-size: 13px;
    line-height: 27px;
}

.picker-picked {
    color: var(--jmkr-color-1);
    font-size: 21px; 
    font-weight: bold;
    letter-spacing: 0.7px;
    line-height: 37px;
    text-shadow: 1px 1px 3.5px rgba(0,0,0,0.07);
}

.picker-footer {
    border-top: var(--border);
    display: none;
    width: 100%;
}

.picker-cancel,
.picker-confirm {
    background-color: transparent;
    border-width: 0;
    cursor: pointer;
    display: table-cell;
    font-size: 1rem;
    padding: 0.75rem 1rem;
    width: 50%;

    &:focus,
    &:hover {
    background-color: #fcfcfc;
    outline: none;
    }
}

.picker-confirm {
    color: var(--blue);
}#hoverClear {
    height: 0px;

    -webkit-transition: all 0.35s ease;
    -moz-transition: all 0.35s ease;
    -ms-transition: all 0.35s ease;
    -o-transition: all 0.35s ease;
    transition: all 0.35s ease;

    transition-delay: 0.5s;

    width: 100%;
}

#planActions {
    float: left;
    height: 0px;
    opacity: 0;
    pointer-events: none;

    -webkit-transition: all 0.35s ease;
    -moz-transition: all 0.35s ease;
    -ms-transition: all 0.35s ease;
    -o-transition: all 0.35s ease;
    transition: all 0.35s ease;

    transition-delay: 0.5s;

    width: calc(100% - 100px);
    max-width: 400px;

    text-shadow: 1px 1px 3.5px rgba(0, 0, 0, 0.017);
    color: white;
    background: var(--jmkr-color-1);
    border-radius: 5px;

    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.1);
}

.nightMode #planActions {
    color: var(--jmkr-color-1);
    border: 1px solid var(--jmkr-color-1);
    background: none
}

@media screen and (max-width: 500px) {
    #planActions {
        width: 100%;
        max-width: 100%;
    }
}

#planActions .action {
    text-align: center;
    cursor: pointer;

    font-size: 21px;
    letter-spacing: 0.75px;
    line-height: 35px;
    font-weight: 600;
    padding-top: 0px;
}

.nightMode #planActions .action {
    font-size: 17px;
    line-height: 33px;
}

.wrapPlanThumbnail {
    width: 100%;
    padding-top: 0px;
}

.accordion .wrapPlanThumbnail {
    padding-bottom: 7px;
}

.wrapPlanThumbnail:nth-child(odd) {
    background: rgba(0, 0, 0, 0.03);
}

.wrapPlanThumbnail:nth-child(even) {}

.wrapPlanThumbnail.sortable-ghost {
    background-color: #ffffff83 !important;
    color: black !important;
    opacity: 0.7 !important;
    outline: 1px dotted rgba(0, 0, 0, 1) !important;
}

.subPlanList {
    border-left: 1px solid var(--jmkr-color-1);
    padding-left: 5px;
    margin-left: 10px;
}

.dashboardPopUp .subPlanList {
    display: none;
}

.conversationRecord .subPlanList {
    display: none;
}

#PlannerCalendar {
    position: relative;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
}

#wrapCalendar {
    position: relative;
    border-bottom: 0px solid var(--jmkr-color-1);
    border-right: 1px solid #E5E5E5;

    min-height: 177px;
    width: 100%;

    display: inline-block;
    vertical-align: top;

    overflow-y: auto;
    overflow-x: auto;
    white-space: normal;
}

.nightMode #wrapCalendar {
    border-right: 1px solid #6B6B6B;
}

.wrapCalendarDate {
    position: relative;
    border-bottom: 0px solid var(--jmkr-color-1);
    border-left: 1px solid rgba(0, 0, 0, 0.1);
    margin-right: -4px;

    min-height: 177px;
    width: 30%;
    min-width: 357.7117px;
    max-width: 357.7117px;

    display: inline-block;
    vertical-align: top;

    overflow-y: auto;
    overflow-x: hidden;
    white-space: normal;
}

.nightMode .wrapCalendarDate {
    border-color: var(--jmkr-color-1) !important;
}

.isLastColumn {
    border-right: none !important;
}

.calendarDayColumn {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0px;
    z-index: 1;
}

.calendarTimelineScroll {
    position: absolute;
    top: calc(var(--line-height) * 1);
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: auto;
}

.calendarTimeline {
    display: flex;
    margin-top: -1px;
    margin-right: calc(var(--line-height) / 8);
    border: 1px solid rgba(0, 0, 0, 0.08);
    overflow: hidden;
    margin-bottom: calc(var(--line-height) / 2);
}

.calendarTimeline-hours {
    width: 72px;
    background: rgba(0, 0, 0, 0.02);
    border-right: 1px solid rgba(0, 0, 0, 0.06);
}

.calendarTimeline-hour {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 6px 8px 0 0;
    box-sizing: border-box;
}

.calendarTimeline-events {
    position: relative;
    flex: 1;
    background: white;
}

.calendarTimeline-grid {
    position: relative;
}

.calendarTimeline-slot {
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.calendarTimeline-slot:nth-child(odd) {
    background: rgba(0, 0, 0, 0.015);
}

.calendarTimeline-dropIndicator {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    margin-top: -1px;
    background: #1c8adb;
    box-shadow: 0 0 8px rgba(28, 138, 219, 0.6);
    pointer-events: none;
    z-index: 40;
}

.calendarTimeline-dropTimeLabel {
    position: absolute;
    right: 4px;
    top: -27px;
    font-size: 14px;
    font-weight: 600;
    color: #1c8adb;
    background: rgba(255, 255, 255, 0.9);
    padding: 2px 6px;
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    pointer-events: none;
}

.calendarTimeline-event {
    position: absolute;
    padding: 7px;
    border-radius: 6px;
    box-sizing: border-box;
    overflow: hidden;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    z-index: 1;
    display: flex;
    flex-direction: column;
}

.calendarTimeline-event.autoSlot {
    border: 1px dashed rgba(0, 0, 0, 0.2);
    box-shadow: none;
}

.calendarTimeline-event:hover {
    overflow: visible;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
    transform: translateY(-2px);
    z-index: 5;
    height: auto !important;
}

.calendarTimeline-eventActions {
    display: none;
    gap: 6px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.calendarTimeline-event:hover .calendarTimeline-eventActions {
    display: flex;
}

.calendarTimeline-eventActions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 12px;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    color: #fff;
    cursor: pointer;
}

.calendarTimeline-eventActions .button i {
    margin: 0;
}

.calendarTimeline-eventActions .button+a .button {
    margin-left: 0;
}

.calendarTimeline-eventTitle {
    font-size: 12.5px;
    line-height: 16px;
    font-weight: 500;
    text-transform: none;
    word-break: break-word;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    max-height: 32px;
    transition: max-height 0.25s ease;
    flex: 1 1 auto;
}

.calendarTimeline-event.plannerTimelineMeeting {
    border: 1px solid #ffffff;
    outline: 1px solid var(--plannerTimelineColor, #c89a48);
    outline-offset: 0;
    box-shadow: 0 0 8px rgba(28, 138, 219, 0.6);
}

.calendarTimeline-event.autoSlot.plannerTimelineMeeting {
    border-style: solid;
}

.calendarTimeline-eventLink {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    margin-top: 6px;
    font-weight: 600;
    max-width: 100%;
}

.calendarTimeline-eventLink i {
    margin: 0;
    font-size: 11px;
}

.calendarTimeline-eventLink a {
    color: inherit;
    text-decoration: underline;
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.calendarTimeline-eventLink a:hover {
    text-decoration: none;
}

.nightMode .calendarTimeline-event.plannerTimelineMeeting {
    border-color: #ffffff;
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.35);
}

.calendarTimeline-event:hover .calendarTimeline-eventTitle {
    -webkit-line-clamp: unset;
    max-height: 320px;
}

.plannerDragPreview {
    position: absolute;
    pointer-events: none;
    opacity: 0.8;
    z-index: 60;
}

.plannerDragPreview .calendarTimeline-eventTitle {
    -webkit-line-clamp: unset;
    max-height: none;
}

.plannerDragPreview .calendarTimeline-eventActions {
    display: none;
}

.plannerDragPreview {
    position: absolute;
    pointer-events: none;
    opacity: 0.8;
    z-index: 60;
}

.plannerDragPreview .calendarTimeline-eventTitle {
    -webkit-line-clamp: unset;
    max-height: none;
}

.plannerDragPreview .calendarTimeline-eventActions {
    display: none;
}

.calendarTimeline-nowLine {
    position: absolute;
    left: 0;
    right: 0;
    height: 0;
    border-top: 2px solid #ff6b6b;
    pointer-events: none;
    z-index: 6;
}

.calendarTimeline-nowDot {
    position: absolute;
    right: 0px;
    top: -5px;
    width: 8px;
    height: 8px;
    background: #ff6b6b;
    border-radius: 50%;
    box-shadow: 0 0 6px rgba(255, 107, 107, 0.6);
}

.calendarTimeline-empty {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 12px;
    color: rgba(0, 0, 0, 0.4);
}

.calendarDayColumn #date {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 10;

    width: 100%;
    text-wrap: nowrap;

    font-size: 13.5px;
    letter-spacing: 0.75px;
    line-height: var(--line-height);

    padding-left: 10px;
    padding-right: 10px;

    background: #ececec;
    color: black;

    cursor: pointer;
}

.calendarDayColumn #dateBackground {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 9;

    background: linear-gradient(to bottom, #FAFAFA, #FAFAFA, transparent);
    height: calc(var(--line-height) * 1);
    width: 100%;
    pointer-events: none;
}

.calendarDayColumn #title {
    letter-spacing: 0.75px;
    font-size: 11.7px;
    text-align: center;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    line-height: var(--line-height);
    font-weight: 300;
    text-transform: uppercase;
}

.calendarDayColumn #title:nth-of-type(3) {
    margin-top: 7.5px;
    border-top: none;
}

.notificationThumbnail #planActions,
.notificationThumbnail #edit,
.notificationThumbnail #dueDate,
.notificationThumbnail #category,
.notificationThumbnail #hoverClear,
.notificationThumbnail #assignedTo {
    display: none;
}

.notificationTypeIs_newPlanner .subPlanList,
.notificationTypeIs_completePlanner .subPlanList,
.notificationTypeIs_cancelPlanner .subPlanList {
    display: none;
}

.notificationTypeIs_newPlanner s {
    text-decoration: none;
}

#plannerFilterForm {
    float: left;
    width: calc(100% - var(--line-height)*2);
}

#typeFilter,
#sortFilter {
    border-radius: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#monthFilter {
    border-radius: 0px !important;
    border-right: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#yearFilter {
    border-radius: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#organizationFilter,
#colleagueFilter {
    border-radius: 0px !important;
    border-right: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#inputPlannerSearch input {
    border-radius: 0px !important;
    border-top: 0px !important;
    border-color: var(--jmkr-color-1) !important;
}

#searchPlannerToggle {
    float: left;
    background: var(--jmkr-color-1);
    color: white;
    width: var(--line-height);
    text-align: center;
    height: var(--line-height);
    line-height: var(--line-height);
    cursor: pointer;
}

#plannerGroupDate {
    text-align: right;
    padding: 0px;
    padding-top: 7px;
    padding-right: 7px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.75px;
    margin-top: 11px;
    background: linear-gradient(to right, rgba(235, 235, 235, 0), rgba(235, 235, 235, 0.7));
}

.nightMode #plannerGroupDate {
    background: linear-gradient(to left, rgb(34, 176, 205), rgba(34, 176, 205, 0.77));
}

#calendarTypeToggle {
    float: left;
    background: var(--jmkr-color-1);
    color: white;
    width: var(--line-height);
    text-align: center;
    height: var(--line-height);
    line-height: var(--line-height);
    cursor: pointer;
    font-size: 15px;
}

#PlannerCalendar .dateTitle {
    padding-left: 7px;
    padding-top: 7px;
    padding-bottom: 11px;
    margin-top: 0px;
    margin-bottom: 0px;
}

#PlannerCalendar .dateHeading {
    font-size: 13px;
    font-weight: 600;
    line-height: var(--line-height);
    letter-spacing: 0.9039369225502014px;
    text-align: left;
    color: #252525;
    text-transform: uppercase;
    padding-left: 7px;
    font-weight: 600;

    border-bottom: 1px solid #E5E5E5;
    margin-bottom: -1px;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.07);
}

.nightMode #PlannerCalendar .dateHeading {
    color: white;
    border-color: var(--jmkr-color-1);
}

#PlannerCalendar .dateColumn {
    position: relative;
    min-height: 117px;

    border-bottom: 1px solid #E5E5E5;
    border-right: 1px solid #E5E5E5;

    cursor: pointer;
}

.nightMode #PlannerCalendar .dateColumn {
    color: white;
    border-color: var(--jmkr-color-1);
}

#PlannerCalendar .dateColumn.isLastColumn {
    border-right: none;
}

#PlannerCalendar .dateColumn .dateSummary {
    display: none;
    position: absolute;

    bottom: 0px;
    left: 0px;
    width: 100%;

    padding-left: 5px;
    padding-left: 5px;

    line-height: 17px;
    color: #92929D;
    font-size: 10px;
    opacity: 0.5;
}

#PlannerCalendar .dateColumn:hover .dateSummary,
#PlannerCalendar .dateColumn.isSelectedDay .dateSummary {
    opacity: 1;
}

#PlannerCalendar .dateColumn .date {
    position: relative;
    min-height: 117px;
    font-size: 13px;
    font-weight: 400;
    line-height: 22px;
    letter-spacing: 0.09039369225502014px;
    text-align: left;
    color: #92929D;
    padding-top: 21px;
}

#PlannerCalendar .dateColumn.isPreviousMonth {
    -moz-box-shadow: inset 0 0 70px rgba(0, 0, 0, 0.07);
    -webkit-box-shadow: inset 0 0 70px rgba(0, 0, 0, 0.07);
    box-shadow: inset 0 0 70px rgba(0, 0, 0, 0.11);
    background-color: rgba(235, 235, 235, 0.07);
    color: white !important;
}

#PlannerCalendar .dateColumn.isThisDay {
    -moz-box-shadow: inset 0 0 11px rgba(0, 0, 0, 0.17);
    -webkit-box-shadow: inset 0 0 11px rgba(0, 0, 0, 0.17);
    box-shadow: inset 0 0 11px rgba(0, 0, 0, 0.17);
}

.nightMode #PlannerCalendar .dateColumn.isThisDay {
    -moz-box-shadow: inset 0 0 5px var(--jmkr-color-1);
    -webkit-box-shadow: inset 0 0 5px var(--jmkr-color-1);
    box-shadow: inset 0 0 5px var(--jmkr-color-1);
}

#PlannerCalendar .dateColumn.isSelectedDay {
    -moz-box-shadow: inset 0 0 11px var(--jmkr-color-1);
    -webkit-box-shadow: inset 0 0 11px var(--jmkr-color-1);
    box-shadow: inset 0 0 11px var(--jmkr-color-1);
    background-color: var(--jmkr-color-1) !important;
}

#PlannerCalendar .dateColumn.isSelectedDay * {
    color: white !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
}

#PlannerCalendar .dateColumn.isDragOverDay {
    -moz-box-shadow: inset 0 0 11px var(--jmkr-color-1);
    -webkit-box-shadow: inset 0 0 11px var(--jmkr-color-1);
    box-shadow: inset 0 0 11px var(--jmkr-color-1);
}

#PlannerCalendar .dateColumn .date .label {
    position: absolute;
    top: 3.5px;
    left: 5px;
    opacity: 0.5;
    font-size: 13px;
    text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.17);
    color: #252525;
}

.nightMode #PlannerCalendar .dateColumn .date .label {
    color: white;
}

#PlannerCalendar .dateColumn.isThisDay .label {
    font-weight: 600;
    color: var(--jmkr-color-1) !important;
    opacity: 1;
    font-size: 15px;
}

.nightMode #PlannerCalendar .dateColumn.isThisDay .label {
    color: white !important;
}

#PlannerCalendar .dateColumn.isOverdueDay .label {
    font-weight: 600;
    color: #ff5b5b !important;
    opacity: 1;
    font-size: 15px;
}

#PlannerCalendar .dateColumn.isSelectedDay .label {
    color: white !important;
    opacity: 1;
    font-size: 15px;
}

#PlannerCalendar .dateColumn .date .alert {
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;

    width: calc(100% - 1px);
    font-size: 13.5px;
    line-height: 25px;
    letter-spacing: 0px;

    padding-right: 2px;
    padding-left: 5px;
    padding-top: 5px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.17);

    color: black;
}

.nightMode #PlannerCalendar .dateColumn .date .alert {
    color: white;
    border-color: rgba(255, 255, 255, 0.35) !important;
}

#PlannerCalendar .dateColumn .date .alert.alternateRow {
    background-color: rgba(0, 0, 0, 0.037);
}

.nightMode #PlannerCalendar .dateColumn .date .alert.alternateRow {
    background-color: rgba(255, 255, 255, 0.037);
}

#PlannerCalendar .dateColumn .date .alert.lastRow {
    border-bottom: none;
}

#PlannerCalendar .dateColumn .date .alert i {
    margin-right: 2.5px !important;
    font-size: 11px;
    color: black;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.07);
}

.nightMode #PlannerCalendar .dateColumn .date .alert i {
    color: white;
}

#PlannerCalendar .dateColumn .date .alert .organizationName {
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;

    width: 100%;

    font-size: 12px;
    opacity: 1;

    padding-bottom: 3.5px;
    padding-left: 1px;
    padding-right: 5px;
}

#PlannerCalendar .dateColumn .date .alert .allComplete {
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;

    opacity: 0.5;
    -webkit-transition: opacity 0.35s ease;
    -moz-transition: opacity 0.35s ease;
    -ms-transition: opacity 0.35s ease;
    -o-transition: opacity 0.35s ease;
    transition: opacity 0.35s ease;
}

.monthColumns:hover .date .alert .allComplete {
    opacity: 0.8 !important;
}

.monthColumns {
    position: relative;
    border-top: 1px solid #E5E5E5;
}

.nightMode .monthColumns {
    border-color: var(--jmkr-color-1);
}

.dateHeadingColumn {
    z-index: 1;
    width: 100%;
    min-width: 700px;
    background-color: white;
}

.nightMode .dateHeadingColumn {
    background-color: #1B1B1B;
}

#PlannerCalendar .dateColumn .date .alert .allComplete s {
    
    text-decoration-color: var(--jmkr-color-1);
}

#PlannerCalendar .dateColumn.isSelectedDay .date .alert s {
    text-decoration: line-through;
}

#PlannerCalendar .dateColumn .date .alert .allComplete i,
#PlannerCalendar .dateColumn.isSelectedDay .date .alert i {
    color: var(--jmkr-color-1);
    opacity: 1;
}

#PlannerCalendar .dateColumn:hover .date .alert .organizationName,
#PlannerCalendar .dateColumn.isOverdueDay .date .alert .organizationName,
#PlannerCalendar .dateColumn.isSelectedDay .date .alert .organizationName,
#PlannerCalendar .dateColumn.isThisDay .date .alert .organizationName {
    opacity: 1;
}

#PlannerCalendar .dateColumn:hover .date .alert .allComplete,
#PlannerCalendar .dateColumn.isOverdueDay .date .alert .allComplete,
#PlannerCalendar .dateColumn.isSelectedDay .date .alert .allComplete,
#PlannerCalendar .dateColumn.isThisDay .date .alert .allComplete {
    opacity: 1;
}

#PlannerCalendar .dateColumn .date .alert .separator {
    font-size: 9px;
}

#PlannerCalendar #wrapCalendar .postponeMyPlanner {
    float: right;
    line-height: 25px;
    font-size: 11.7px;
    letter-spacing: 0.35px;
    padding-left: 11px;
    padding-right: 11px;
    border-radius: 3.5px;
    border: 1px solid black;
    margin-right: 9px;
    margin-top: 10px;
    cursor: pointer;
}

.nightMode #PlannerCalendar #wrapCalendar .postponeMyPlanner {
    border-color: white;
    color: white;
}

#plannerForm_date {
    position: relative;
}

#prettyDueDate {
    position: absolute;
    width: 100%;
    top: 0px;
    left: 0px;
    pointer-events: none;
    line-height: var(--line-height);
    font-size: 15px;
    letter-spacing: 0.75px !important;
    padding-left: 14px;
    background-color: white;
}

.nightMode #prettyDueDate {
    background-color: black;
    color: white;
}

#jmkrClient .page .workspaceView {
    padding: 15px;
    padding-top: 5px;
    overflow: auto;
}

#jmkrClient .page .workspaceView i {
    margin-right: 5px !important;
}

#jmkrClient .page .workspaceButton {
    padding-left: 15px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 16px;
    font-weight: 300;
    cursor: pointer;
    border-radius: 7px;
}

#jmkrClient .page .workspaceView hr {
    margin-top: 10px;
    margin-bottom: 0px;
}

#jmkrClient .page .workspaceView .workspaceSubTitle {
    position: relative;
    padding-top: 10px;
}

#jmkrClient .page .workspaceView .accordion .dropdown.icon {
    position: absolute;
    right: 0px;
}

#jmkrClient .page .workspaceView .accordion .content {
    padding: 0px;
}

#jmkrClient .page .workspaceButton.selected {
    background: var(--jmkr-color-1);
    color: white;
}

#jmkrClient .page .workspaceMinorButton {
    position: relative;
    padding: 12.5px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 5px;
    margin-bottom: 7.5px;
    font-size: 14px;
    font-weight: 300;
    cursor: pointer;
    border-radius: 7px;
}

#jmkrClient .page .workspaceMinorButton.selected {
    background: var(--jmkr-color-1);
    color: white;
}

#jmkrClient .page .workspaceMinorButton .circle {
    transform: scale(1.35);
}

#jmkrClient .page .workspaceMinorButton .number {
    display: inline-block;
    position: absolute;
    text-align: center;
    width: 41px;
    line-height: 38px;
    left: 0px;
    top: 0px;
    z-index: 1;
    color: black;
    font-weight: 600;
    font-size: 11px;
}

#jmkrClient .page .workspaceMinorButton.selected .number {
    color: var(--jmkr-color-1);
    font-size: 12px;
}

#jmkrClient .page .workspaceMinorButton .name {
    display: inline-block;
    max-width: calc(100% - 30px);
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 12px;
}

#jmkrClient .page .workspaceTitle {}

#jmkrClient .page .seeMoreButton {
    display: none;
    padding-top: 5px;
    font-weight: 100;
    cursor: pointer;
}

#jmkrClient .projectView {
    padding: 15px;
    overflow: auto;
}

#jmkrClient .projectView .projectName {}

#jmkrClient .projectView .projectSubTitle {
    margin-top: 10px;
    font-weight: 600;
}

#jmkrClient .projectView .projectOverview {
    font-size: 17px;
    line-height: 30px;
    font-weight: 200;
}

#jmkrClient .projectView .projectOverview a {
    color: var(--jmkr-color-1) !important;
    font-weight: 400;
}

#jmkrClient .projectView .projectButton {}

#jmkrClient .projectView .projectButton {
    padding: 12.5px;
    padding-left: 17.5px;
    padding-right: 17.5px;
    border-radius: 10px;
    box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15);
    cursor: pointer;
}

#jmkrClient .projectView .projectButton.left {
    float: left;
    margin-right: 15px;
}

#jmkrClient .projectView .projectButton.right {
    float: right;
    margin-left: 15px;
}

#jmkrClient .projectView .projectRevealButton {
    float: left;
    margin-top: 25px;
    width: 35px;
    line-height: 35px;
    text-align: center;
    background: #393939;
    color: white;
    border-radius: 50%;
    font-size: 17px;
    cursor: pointer;
}

#jmkrClient .projectView .active .projectRevealButton {
    background: var(--jmkr-color-1);
}

#jmkrClient .projectView .projectRevealButton .icon {
    -webkit-transition: transform 1.17s ease;
    -moz-transition: transform 1.17s ease;
    -ms-transition: transform 1.17s ease;
    -o-transition: transform 1.17s ease;
    transition: transform 1.17s ease;
    transform: rotate(-90deg);
}

#jmkrClient .projectView .active .projectRevealButton .icon {
    transform: rotate(0deg);
}

#jmkrClient .projectView .projectRevealContent {
    float: right;
    margin-top: 20px;
    width: calc(100% - 35px - 15px);
    box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15);
    border-left: 3.5px solid #E5E5E5;
}

#jmkrClient .projectView .active .projectRevealContent {
    float: right;
    margin-top: 20px;
    width: calc(100% - 35px - 15px);
    box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15);
    border-left: 3.5px solid #E5E5E5;
}

#dragToMarker,
.leader-line {
    position: absolute;
    z-index: 9999999;
    pointer-events: none;
}

#dragToMarker {
    position: fixed;
    background-color: var(--jmkr-color-1);
    width: 17px;
    height: 17px;
    border-radius: 50%;
}

.plannerDataRow {
    cursor: move;
}

.plannerDataRow .leftSection {}

.plannerDataRow .leftSection .sortable-drag {
    display: none;
}

.plannerDataRowMeeting {
    border: 1px solid #ffffff;
    outline: 1px solid var(--plannerMeetingColor, rgba(0, 0, 0, 0.015));
    outline-offset: -1px;
    background-color: var(--plannerMeetingColor, rgba(0, 0, 0, 0.015));
    box-shadow: inset 0 0 11px rgba(0, 0, 0, 0.12);
}

.nightMode .plannerDataRowMeeting {
    background-color: var(--plannerMeetingColor, rgba(0, 0, 0, 0.3));
    box-shadow: inset 0 0 11px var(--jmkr-color-1);
}

.plannerTeleconferenceLink {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    max-width: 100%;
}

.plannerTeleconferenceLink i {
    margin-right: 4px;
    font-size: 12px;
}

.plannerTeleconferenceLink a {
    color: var(--plannerMeetingColor, var(--jmkr-color-1));
    text-decoration: underline;
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.plannerTeleconferenceLink a:hover {
    text-decoration: none;
}

.nightMode .plannerTeleconferenceLink a {
    color: #FFFFFF;
    text-decoration-color: rgba(255, 255, 255, 0.6);
}

.plannerDataRow .leftSection .dragToDependency {
    position: absolute;
    cursor: grab;
    margin-right: 7px;
}

.plannerDataRow .leftSection .dragToDependency:active {
    cursor: grabbing;
}

.plannerDataRow .leftSection .icon {
    display: none;
}

.plannerDataRow:hover .leftSection .icon {

}

/* ============================================
   Planner Markdown Classes (planner__)
   ============================================
   Styling for markdown content rendered via
   Planner_parseMarkdown in task descriptions.
   ============================================ */

/* ---------- Paragraphs ---------- */

.planner__paragraph {
    margin: 0;
    line-height: 1.5;
}

.planner__paragraph + .planner__paragraph {
    margin-top: 0.5rem;
}

/* ---------- Headers ---------- */

.planner__header {
    margin: 0.75rem 0 0.35rem 0;
    line-height: 1.3;
    font-weight: 600;
    color: #1e293b;
}

.planner__header:first-child {
    margin-top: 0;
}

.planner__header--h1,
.planner__header--h2 {
    font-size: 1.1rem;
    font-weight: 700;
}

.planner__header--h3 {
    font-size: 1rem;
    font-weight: 600;
}

.planner__header--h4 {
    font-size: 0.925rem;
    font-weight: 600;
    color: #334155;
}

.planner__header--h5,
.planner__header--h6 {
    font-size: 0.875rem;
    font-weight: 600;
    color: #475569;
}

.nightMode .planner__header {
    color: #f1f5f9;
}

.nightMode .planner__header--h4 {
    color: #e2e8f0;
}

.nightMode .planner__header--h5,
.nightMode .planner__header--h6 {
    color: #cbd5e1;
}

/* ---------- Lists ---------- */

.planner__list {
    margin: 0.5rem 0;
    padding-left: 1.5rem;
}

.planner__list .planner__list {
    margin: 0.25rem 0;
}

.planner__listItem {
    margin-bottom: 0.25rem;
    line-height: 1.45;
}

.planner__listItem:last-child {
    margin-bottom: 0;
}

/* ---------- Tables ---------- */

.planner__tableWrapper {
    overflow-x: auto;
    margin: 0.5rem 0;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

.planner__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    background: #ffffff;
}

.planner__tableHeaderCell {
    font-weight: 600;
    color: #1e293b;
    padding: 0.4rem 0.6rem;
    text-align: left;
    border-bottom: 2px solid #e2e8f0;
    background: linear-gradient(to bottom, #f8fafc, #f1f5f9);
    white-space: nowrap;
}

.planner__tableCell {
    padding: 0.35rem 0.6rem;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: top;
    color: #334155;
    line-height: 1.4;
}

.planner__tableRow:nth-child(even) {
    background-color: #f8fafc;
}

.planner__tableRow:last-child .planner__tableCell {
    border-bottom: none;
}

.nightMode .planner__tableWrapper {
    border-color: #475569;
}

.nightMode .planner__table {
    background: #0f172a;
}

.nightMode .planner__tableHeaderCell {
    color: #f1f5f9;
    border-bottom-color: #475569;
    background: linear-gradient(to bottom, #1e293b, #0f172a);
}

.nightMode .planner__tableCell {
    border-bottom-color: #334155;
    color: #cbd5e1;
}

.nightMode .planner__tableRow:nth-child(even) {
    background-color: #1e293b;
}

/* ---------- Code ---------- */

.planner__inlineCode {
    background: #f1f5f9;
    color: #0f172a;
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
    font-size: 0.85em;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
    border: 1px solid #e2e8f0;
}

.nightMode .planner__inlineCode {
    background: #1e293b;
    color: #e2e8f0;
    border-color: #334155;
}

.planner__pre {
    margin: 0.5rem 0;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.planner__codeBlock {
    display: block;
    background: #0f172a;
    color: #e2e8f0;
    padding: 0.6rem 0.8rem;
    font-size: 12px;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
    line-height: 1.5;
    overflow-x: auto;
    white-space: pre;
}

.nightMode .planner__pre {
    border-color: #475569;
}

/* ---------- Text Formatting ---------- */

.planner__strong {
    font-weight: 600;
    color: #1e293b;
}

.nightMode .planner__strong {
    color: #f1f5f9;
}

.planner__em {
    font-style: italic;
}

/* ---------- Links ---------- */

.planner__link {
    color: var(--jmkr-color-1, #2563eb);
    text-decoration: underline;
    text-decoration-color: rgba(37, 99, 235, 0.4);
}

.planner__link:hover {
    text-decoration-color: currentColor;
}

.nightMode .planner__link {
    color: #60a5fa;
    text-decoration-color: rgba(96, 165, 250, 0.4);
}

/* ---------- Blockquotes ---------- */

.planner__blockquote {
    margin: 0.5rem 0;
    padding: 0.35rem 0.75rem;
    border-left: 3px solid var(--jmkr-color-1, #2563eb);
    background: rgba(37, 99, 235, 0.05);
    color: #475569;
    font-style: italic;
}

.nightMode .planner__blockquote {
    background: rgba(96, 165, 250, 0.1);
    border-left-color: #60a5fa;
    color: #cbd5e1;
}

/* ---------- Horizontal Rule ---------- */

.planner__hr {
    margin: 0.75rem 0;
    border: none;
    border-top: 1px solid #e2e8f0;
}

.nightMode .planner__hr {
    border-top-color: #334155;
}

/* ============================================
   Spec 995: Enhanced Code Blocks, Callouts, Mermaid, Task Lists
   Visual output discipline — rendering pipeline CSS (planner context)
   ============================================ */

/* ---------- Code Block Wrapper + Header ---------- */

.planner__codeWrapper {
    margin: 0.5rem 0;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    overflow: hidden;
}

.planner__codeWrapper .planner__pre {
    margin: 0;
    border: none;
    border-radius: 0;
}

.planner__codeHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 8px;
    background: #f1f5f9;
    border-bottom: 1px solid #e2e8f0;
    min-height: 24px;
}

.nightMode .planner__codeWrapper {
    border-color: #475569;
}

.nightMode .planner__codeHeader {
    background: #1e293b;
    border-bottom-color: #475569;
}

.planner__codeLang {
    font-size: 0.68rem;
    font-weight: 500;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.nightMode .planner__codeLang {
    color: #94a3b8;
}

/* Copy button in planner context */
.planner__codeWrapper .phoros__copyBtn {
    font-size: 0.68rem;
    padding: 1px 6px;
    border-radius: 3px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #64748b;
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: inherit;
    line-height: 1.4;
}

.planner__codeWrapper .phoros__copyBtn:hover {
    background: #e2e8f0;
    color: #334155;
}

.nightMode .planner__codeWrapper .phoros__copyBtn {
    border-color: #475569;
    background: #334155;
    color: #94a3b8;
}

/* Planner inherits same token colors as convMsg (light theme) */
/* Prism token colors are on .planner__codeBlock .token.* but the same
   light-theme colors from conversation.css apply — planner uses the same
   dark-on-light code block style. The tokens inherit from convMsg__. */

/* ---------- Mermaid Diagrams ---------- */

.planner__mermaidContainer {
    margin: 0.5rem 0;
    padding: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    text-align: center;
    overflow-x: auto;
}

.planner__mermaidContainer svg { max-width: 100%; height: auto; }

.planner__mermaidLoading {
    padding: 16px;
    color: #94a3b8;
    font-size: 0.82rem;
}

.nightMode .planner__mermaidContainer {
    background: #1e293b;
    border-color: #475569;
}

/* ---------- Callout/Admonition Blocks ---------- */

.planner__callout {
    margin: 0.5rem 0;
    border-radius: 6px;
    border: 1px solid;
    overflow: hidden;
}

.planner__calloutHeader {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px 10px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.planner__calloutIcon { font-size: 0.9rem; line-height: 1; }

.planner__calloutBody {
    padding: 6px 10px 8px;
    font-size: 0.85rem;
    line-height: 1.45;
}

.planner__calloutBody p:first-child { margin-top: 0; }
.planner__calloutBody p:last-child { margin-bottom: 0; }

/* Planner callout colors — same as convMsg */
.planner__callout--note { border-color: #bfdbfe; background: #eff6ff; }
.planner__callout--note .planner__calloutHeader { color: #1d4ed8; background: #dbeafe; }
.planner__callout--warning { border-color: #fde68a; background: #fffbeb; }
.planner__callout--warning .planner__calloutHeader { color: #92400e; background: #fef3c7; }
.planner__callout--tip { border-color: #bbf7d0; background: #f0fdf4; }
.planner__callout--tip .planner__calloutHeader { color: #166534; background: #dcfce7; }
.planner__callout--important { border-color: #ddd6fe; background: #faf5ff; }
.planner__callout--important .planner__calloutHeader { color: #5b21b6; background: #ede9fe; }
.planner__callout--caution { border-color: #fecaca; background: #fef2f2; }
.planner__callout--caution .planner__calloutHeader { color: #991b1b; background: #fee2e2; }

/* Night mode callout overrides */
.nightMode .planner__callout--note { border-color: rgba(100, 180, 255, 0.3); background: rgba(100, 180, 255, 0.08); }
.nightMode .planner__callout--note .planner__calloutHeader { color: rgba(140, 200, 255, 0.9); background: rgba(100, 180, 255, 0.1); }
.nightMode .planner__callout--warning { border-color: rgba(255, 190, 80, 0.3); background: rgba(255, 190, 80, 0.08); }
.nightMode .planner__callout--warning .planner__calloutHeader { color: rgba(255, 200, 100, 0.9); background: rgba(255, 190, 80, 0.1); }
.nightMode .planner__callout--tip { border-color: rgba(100, 200, 150, 0.3); background: rgba(100, 200, 150, 0.08); }
.nightMode .planner__callout--tip .planner__calloutHeader { color: rgba(120, 220, 160, 0.9); background: rgba(100, 200, 150, 0.1); }
.nightMode .planner__callout--important { border-color: rgba(160, 130, 255, 0.3); background: rgba(160, 130, 255, 0.08); }
.nightMode .planner__callout--important .planner__calloutHeader { color: rgba(180, 155, 255, 0.9); background: rgba(160, 130, 255, 0.1); }
.nightMode .planner__callout--caution { border-color: rgba(255, 100, 100, 0.3); background: rgba(255, 100, 100, 0.08); }
.nightMode .planner__callout--caution .planner__calloutHeader { color: rgba(255, 130, 130, 0.9); background: rgba(255, 100, 100, 0.1); }

/* ---------- GFM Task List Checkboxes ---------- */

.planner__taskList {
    list-style: none;
    padding-left: 4px;
}

.planner__taskItem {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    padding: 1px 0;
}

.planner__taskCheckbox {
    margin-top: 3px;
    width: 13px;
    height: 13px;
    accent-color: #3b82f6;
    flex-shrink: 0;
}

/* ---------- Spec 995 Phase 2: Strikethrough ---------- */

.planner__del {
    text-decoration: line-through;
    color: #94a3b8;
    text-decoration-color: #94a3b8;
}

.nightMode .planner__del {
    color: rgba(235, 239, 255, 0.45);
    text-decoration-color: rgba(235, 239, 255, 0.35);
}

/* ---------- Spec 995 Phase 2: Heading Anchors ---------- */

h1[id^="planner__"],
h2[id^="planner__"],
h3[id^="planner__"],
h4[id^="planner__"],
h5[id^="planner__"],
h6[id^="planner__"] {
    scroll-margin-top: 60px;
}

/* ---------- Spec 995 Phase 2: Collapsible Sections ---------- */

.planner__paragraph details,
.planner__blockquote details {
    margin: 6px 0;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    background: #f8fafc;
    overflow: hidden;
}

.nightMode .planner__paragraph details,
.nightMode .planner__blockquote details {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.02);
}

.planner__paragraph details summary,
.planner__blockquote details summary {
    padding: 6px 10px;
    cursor: pointer;
    font-weight: 500;
    font-size: 12px;
    color: #334155;
    user-select: none;
    list-style: none;
}

.nightMode .planner__paragraph details summary,
.nightMode .planner__blockquote details summary {
    color: rgba(235, 239, 255, 0.85);
}

.planner__paragraph details summary::-webkit-details-marker,
.planner__blockquote details summary::-webkit-details-marker {
    display: none;
}

.planner__paragraph details summary::before,
.planner__blockquote details summary::before {
    content: '\25B6';
    display: inline-block;
    margin-right: 6px;
    font-size: 9px;
    transition: transform 0.2s ease;
    color: #3b82f6;
}

.planner__paragraph details[open] summary::before,
.planner__blockquote details[open] summary::before {
    transform: rotate(90deg);
}

.planner__paragraph details > :not(summary),
.planner__blockquote details > :not(summary) {
    padding: 0 10px 6px;
}

/* ---------- Spec 995 Phase 2: Math (KaTeX) ---------- */

.planner__paragraph .phoros__mathBlock,
.planner__blockquote .phoros__mathBlock {
    background: #f8fafc;
    border-color: #e2e8f0;
    padding: 12px;
}

.nightMode .planner__paragraph .phoros__mathBlock,
.nightMode .planner__blockquote .phoros__mathBlock {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.06);
}

.planner__paragraph .phoros__mathBlock code,
.planner__blockquote .phoros__mathBlock code,
.planner__paragraph .phoros__mathInline code,
.planner__blockquote .phoros__mathInline code {
    color: #1e293b;
    font-size: 13px;
}

.nightMode .planner__paragraph .phoros__mathBlock code,
.nightMode .planner__blockquote .phoros__mathBlock code,
.nightMode .planner__paragraph .phoros__mathInline code,
.nightMode .planner__blockquote .phoros__mathInline code {
    color: rgba(235, 239, 255, 0.85);
}

/* ---------- Images ---------- */

.planner__imageBlock {
    margin: 0.5rem 0;
}

.planner__image {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

.planner__imageCaption {
    font-size: 0.8rem;
    color: #64748b;
    margin-top: 0.25rem;
}

.planner__imageCaptionLink {
    color: inherit;
    text-decoration: underline;
}

.nightMode .planner__imageCaption {
    color: #94a3b8;
}

/* ---------- Spec 995 Phase 3: Enhanced Image Notation ---------- */

.planner__imageBlock--center {
    text-align: center;
}

.planner__imageBlock--center .planner__image {
    margin-left: auto;
    margin-right: auto;
}

.planner__imageBlock--right {
    text-align: right;
}

.planner__imageBlock--left {
    text-align: left;
}

.planner__imageBlock--float-right {
    float: right;
    margin: 0 0 8px 12px;
    max-width: 40%;
}

.planner__imageBlock--float-left {
    float: left;
    margin: 0 12px 8px 0;
    max-width: 40%;
}

.planner__imageBlock--autoDetected {
    margin: 0.5rem 0;
}

.planner__imageBlock--autoDetected .planner__imageCaption {
    font-size: 10px;
    opacity: 0.6;
}#PointOfSale {
    position: relative;
    /* Viewport-based height — NOT height:100% because ancestor chain (#content, #yield)
       has no explicit heights, so percentage resolves to nothing.
       var(--line-height) = dashboard header bar (40px). */
    height: calc(100vh - var(--line-height));
    display: flex;
    flex-direction: column;
}

/* Dashboard fills remaining space below tabs (if present) — flex:1 auto-adjusts
   for tab bar presence instead of hardcoded pixel calc */
#PointOfSale>#Dashboard {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* Grid fills the Dashboard container so columns can stretch to full height */
#PointOfSale>#Dashboard>.ui.grid.noPaddingColumn {
    height: 100%;
}

.PointOfSale .leftArea.column {
    padding: 0px !important;
}

.PointOfSale .ui.tabular.menu {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.PointOfSale .ui.tabular.menu .item {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 0.35em;
    white-space: nowrap;
    flex-shrink: 0;
}

.PointOfSale .ui.tabular.menu .item .tabLabel {
    font-weight: 600;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 120px;
}

.PointOfSale .ui.tabular.menu .item.pointOfSale_startTab .tabLabel,
.PointOfSale .ui.tabular.menu .item.pointOfSale_toggleOverview .tabLabel {
    font-weight: 500;
}

.PointOfSale .ui.tabular.menu .item .tabMeta {
    font-size: 75%;
    color: #556869;
    display: flex;
    align-items: center;
    gap: 0.3em;
}

.PointOfSale .ui.tabular.menu .item .tabMeta i {
    margin: 0 !important;
    opacity: 0.8;
}

.PointOfSale .ui.tabular.menu .item .duration-caution {
    color: #c7921c;
}

.PointOfSale .ui.tabular.menu .item .duration-warning {
    color: #d97706;
}

.PointOfSale .ui.tabular.menu .item .duration-critical {
    color: #b91c1c;
}

.PointOfSale .ui.tabular.menu .item.active .tabMeta {
    color: #ffffff;
}

.PointOfSale .ui.tabular.menu .item.active .tabMeta i {
    color: #ffffff;
    opacity: 1;
}

.PointOfSale .ui.tabular.menu .item.active .duration-caution,
.PointOfSale .ui.tabular.menu .item.active .duration-warning,
.PointOfSale .ui.tabular.menu .item.active .duration-critical {
    color: #ffffff;
}

.PointOfSale .pointOfSale_tabOverview {
    position: absolute;
    top: var(--line-height);
    left: 0;
    right: 0;
    z-index: 200;
    height: calc(100vh - var(--line-height) * 1 - calc(var(--line-height) * 1.17));
    max-height: calc(100vh - var(--line-height) * 1 - calc(var(--line-height) * 1.17));
    background: #ffffff;
    border: 1px solid #cfdddb;
    border-top: none;
    padding: 0.75em 1em;
    overflow-y: auto;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.PointOfSale .posOverviewSummary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 0.75em;
}

.PointOfSale .posOverviewSummary__card {
    background: #f8fafa;
    border: 1px solid #e2eceb;
    border-radius: 8px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.PointOfSale .posOverviewSummary__label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #6b7280;
    font-weight: 600;
}

.PointOfSale .posOverviewSummary__value {
    font-size: 22px;
    font-weight: 700;
    color: #1a3c3c;
    line-height: 1.2;
}

.PointOfSale .posOverviewToolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.PointOfSale .posOverviewToolbar__search {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    min-width: 160px;
    max-width: 280px;
    height: var(--line-height);
    background: #f8fafa;
    border: 1px solid #e2eceb;
    border-radius: 6px;
    padding: 0 10px;
}

.PointOfSale .posOverviewToolbar__search i {
    color: #94a3b8;
    font-size: 14px;
    flex-shrink: 0;
}

.PointOfSale .posOverviewToolbar__search input {
    border: none;
    background: transparent;
    outline: none;
    font-size: 13px;
    color: #1a3c3c;
    width: 100%;
    padding: 0;
}

.PointOfSale .posOverviewToolbar__sort {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
}

.PointOfSale .posOverviewToolbar__sort label {
    font-size: 12px;
    color: #6b7280;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.PointOfSale .posOverviewToolbar__sort select {
    font-size: 13px;
    color: #1a3c3c;
    background: #f8fafa;
    border: 1px solid #e2eceb;
    border-radius: 6px;
    padding: 5px 8px;
    cursor: pointer;
    outline: none;
}

.PointOfSale .posOverviewToolbar__zoom {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: 12px;
    padding-left: 12px;
    border-left: 1px solid #e2eceb;
}

.PointOfSale .posOverviewToolbar__zoom label {
    font-size: 12px;
    color: #6b7280;
    font-weight: 600;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 3px;
}

.PointOfSale .posOverviewToolbar__zoom label i {
    font-size: 13px;
}

.PointOfSale .posOverviewToolbar__zoom input[type="range"] {
    width: 80px;
    cursor: pointer;
    accent-color: #335C5C;
}

/* ============================================
   POS Tab Card Grid (Checklist 1317)
   Pattern: data-thumbnail.css grid + card structure
   ============================================ */

/* Cashier group — groups tab cards by server/cashier name */
.PointOfSale .posTabGrid__group {
    margin-bottom: 16px;
}

.PointOfSale .posTabGrid__group:last-child {
    margin-bottom: 0;
}

/* Group heading — follows posStats-sectionTitle pattern (pointOfSale.css:2735) */
.PointOfSale .posTabGrid__groupHeading {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
    padding: 0 2px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.PointOfSale .posTabGrid__groupHeading i {
    font-size: 14px;
    color: #335C5C;
}

/* Grid container — follows dataThumbnailGrid pattern (data-thumbnail.css:61) */
.PointOfSale .posTabGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
    padding: 4px 0;
}

/* Card base — follows dataThumbnailCard pattern (data-thumbnail.css:79) */
.PointOfSale .posTabCard {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid rgba(51, 92, 92, 0.12);
    overflow: hidden;
    cursor: default;
    transition: all 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

/* Hover — follows dataThumbnailCard:hover pattern (data-thumbnail.css:94) */
.PointOfSale .posTabCard:hover {
    border-color: rgba(51, 92, 92, 0.25);
    box-shadow: 0 4px 12px rgba(51, 92, 92, 0.1), 0 2px 4px rgba(51, 92, 92, 0.04);
    transform: translateY(-2px);
}

/* Left highlight bar — follows inventoryThumbnail highlight pattern (pointOfSale.css:905) */
.PointOfSale .posTabCard__highlight {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #335C5C;
    border-radius: 10px 0 0 10px;
}

.PointOfSale .posTabCard.finished .posTabCard__highlight {
    background: #059669;
}

.PointOfSale .posTabCard.deferred .posTabCard__highlight {
    background: #7c3aed;
}

.PointOfSale .posTabCard.active .posTabCard__highlight {
    background: #1eabd3;
}

/* Header: name + badges — follows dataThumbnailCard__info pattern (data-thumbnail.css:252) */
.PointOfSale .posTabCard__header {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 14px 2px 18px;
}

.PointOfSale .posTabCard__name {
    font-size: 15px;
    font-weight: 700;
    color: #1a3c3c;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
}

/* Badges — follows dataThumbnailCard__status pattern (data-thumbnail.css:290) */
.PointOfSale .posTabCard__badge {
    display: inline-flex;
    align-items: center;
    font-size: 15px;
    flex-shrink: 0;
}

.PointOfSale .posTabCard__badge--finished {
    color: #059669;
}

.PointOfSale .posTabCard__badge--deferred {
    color: #7c3aed;
}

/* Total — prominent price display, follows inventoryThumbnail .price pattern */
.PointOfSale .posTabCard__total {
    padding: 2px 14px 8px 18px;
    font-size: 18px;
    font-weight: 700;
    color: #059669;
    display: flex;
    align-items: center;
    gap: 4px;
}

.PointOfSale .posTabCard__totalEmpty {
    color: #94a3b8;
    font-size: 13px;
    font-weight: 500;
    font-style: italic;
}

/* Meta rows — follows dataThumbnailCard__meta pattern (data-thumbnail.css:276) */
.PointOfSale .posTabCard__meta {
    padding: 0 14px 8px 18px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.PointOfSale .posTabCard__metaRow {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #6b7f7f;
    line-height: 1.4;
}

.PointOfSale .posTabCard__metaRow i {
    font-size: 12px;
    opacity: 0.65;
    flex-shrink: 0;
    width: 14px;
    text-align: center;
}

.PointOfSale .posTabCard__metaSub {
    opacity: 0.7;
    font-size: 11px;
    margin-left: 2px;
}

/* Duration color coding in cards */
.PointOfSale .posTabCard__metaRow.duration-caution {
    color: #c7921c;
}

.PointOfSale .posTabCard__metaRow.duration-warning {
    color: #d97706;
}

.PointOfSale .posTabCard__metaRow.duration-critical {
    color: #b91c1c;
}

/* Actions — follows dataThumbnailCard__inlineActions pattern (data-thumbnail.css:365) */
.PointOfSale .posTabCard__actions {
    display: flex;
    gap: 4px;
    padding: 8px 14px 10px 18px;
    border-top: 1px solid rgba(51, 92, 92, 0.08);
    flex-wrap: wrap;
    margin-top: auto;
}

.PointOfSale .posTabCard__action {
    cursor: pointer;
    padding: 4px 8px;
    font-size: 11px;
    border-radius: 5px;
    background: #f0f5f5;
    color: #335C5C;
    font-weight: 600;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
}

.PointOfSale .posTabCard__action:hover {
    background: #335C5C;
    color: #fff;
}

.PointOfSale .posTabCard__action i {
    font-size: 11px;
    margin: 0 !important;
}

/* Primary action (Open) */
.PointOfSale .posTabCard__action--primary {
    background: #335C5C;
    color: #fff;
}

.PointOfSale .posTabCard__action--primary:hover {
    background: #2a4b4b;
}

/* Teal action (Mark Finished) */
.PointOfSale .posTabCard__action--teal {
    background: #e6f4f4;
    color: #2d7272;
}

.PointOfSale .posTabCard__action--teal:hover {
    background: #5f9ea0;
    color: #fff;
}

/* Warning action (Finish Sale) */
.PointOfSale .posTabCard__action--warning {
    background: #fef3c7;
    color: #92400e;
}

.PointOfSale .posTabCard__action--warning:hover {
    background: #d97706;
    color: #fff;
}

/* Purple action (Defer) */
.PointOfSale .posTabCard__action--purple {
    background: #f5f3ff;
    color: #6d28d9;
}

.PointOfSale .posTabCard__action--purple:hover {
    background: #7c3aed;
    color: #fff;
}

/* Success action (Restore / Reactivate) */
.PointOfSale .posTabCard__action--success {
    background: #ecfdf5;
    color: #047857;
}

.PointOfSale .posTabCard__action--success:hover {
    background: #059669;
    color: #fff;
}

/* State-specific card backgrounds */
.PointOfSale .posTabCard.finished {
    background: #fafff9;
}

.PointOfSale .posTabCard.deferred {
    background: #fcfaff;
}

/* Active tab card — follows dataThumbnailCard--selected pattern (data-thumbnail.css:105) */
.PointOfSale .posTabCard.active {
    border-color: rgba(30, 171, 211, 0.3);
    box-shadow: 0 0 0 2px rgba(30, 171, 211, 0.12);
}

/* Spec 1021: Finished tab in tab bar — muted opacity */
.PointOfSale .ui.tabular.menu .item.finished:not(.active) {
    opacity: 0.7;
}

/* Empty state */
.PointOfSale .pointOfSale_tabOverview .emptyOverview {
    text-align: center;
    padding: 2em 1em;
    color: #6b7f7f;
    font-size: 14px;
}

/* Responsive: single column on mobile */
@media only screen and (max-width: 767px) {
    .PointOfSale .posTabGrid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .PointOfSale .posTabCard__name {
        font-size: 14px;
    }

    .PointOfSale .posTabCard__total {
        font-size: 16px;
    }

    .PointOfSale .posTabCard__actions {
        gap: 3px;
    }

    .PointOfSale .posTabCard__action {
        padding: 5px 10px;
        font-size: 12px;
    }
}

.PointOfSale .rightArea.column {
    padding-left: 15px !important;

    width: 400px !important;

    /* Flex column layout — cartArea fills remaining space, siblings keep natural height.
       Replaces cartMaxHeight JS pixel math with CSS flexbox.
       height:100% is REQUIRED — without it the column is only as tall as its content
       and flex:1 on cartArea has nothing to expand into. Chain:
       #PointOfSale (height:100%, flex column) → #Dashboard (flex:1) → grid (height:100%) → HERE → cartArea (flex:1) */
    height: calc(100% - 1em);
    display: flex !important;
    flex-direction: column;
}

.PointOfSale .closePOS,
.PointOfSale .toggleOpenCart {
    float: left;
    width: var(--line-height);
    height: calc(var(--line-height) - 1px);
    line-height: calc(var(--line-height) - 1px);
    text-align: center;
    cursor: pointer;
    font-size: 17px;
    border-right: 1px solid rgba(0, 0, 0, 0.177);
    border-bottom: 1px solid rgba(0, 0, 0, 0.177);
    color: #335C5C;
}

.PointOfSale #searchPOSForm {
    float: left;
    width: calc(100% - var(--line-height) * 1);

}

.PointOfSale .toggleOpenCart,
.PointOfSale .closePOS_mobile {
    display: none;
}

@media screen and (max-width: 1024px) {
    .PointOfSale #searchPOSForm {
        width: calc(100% - var(--line-height) * 1);
    }

    .PointOfSale .toggleOpenCart {
        display: flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        bottom: 20px;
        right: 20px;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background-color: #335C5C;
        color: white;
        font-size: 24px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
        z-index: 100;
        border: none;
        cursor: pointer;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .PointOfSale .toggleOpenCart:hover {
        transform: scale(1.05);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
    }

    .PointOfSale .toggleOpenCart:active {
        transform: scale(0.95);
    }

    .PointOfSale .toggleOpenCart .icon {
        margin: 0 !important;
    }

    /* Mobile floating close tab button — mirrors toggleOpenCart at bottom-left */
    .PointOfSale .closePOS_mobile {
        display: flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        bottom: 20px;
        left: 20px;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background-color: #5C3333;
        color: white;
        font-size: 24px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
        z-index: 100;
        border: none;
        cursor: pointer;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
        float: none;
        line-height: normal;
    }

    .PointOfSale .closePOS_mobile:hover {
        transform: scale(1.05);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
    }

    .PointOfSale .closePOS_mobile:active {
        transform: scale(0.95);
    }

    .PointOfSale .closePOS_mobile .icon {
        margin: 0 !important;
    }
}

.PointOfSale .closeMobileCart {
    display: none;
}

.PointOfSale .pullOutColumnBG {
    display: none;
}

.PointOfSale .PointOfSalePIN {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    backdrop-filter: blur(10px);
    padding: 1em;
}

.PointOfSalePIN .pinInput {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    max-width: 300px;
    margin: auto;
}

.PointOfSalePIN .pinInput .input {
    text-align: center;
    padding: 0.25em !important;
    font-size: 2.5em !important;
    width: 100%;
    margin-bottom: 0.5em;
    border: 2px solid #ccc;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: border-color 0.3s, box-shadow 0.3s;
    pointer-events: none;
}

.PointOfSalePIN .pinInput .input:focus {
    border-color: none;
    box-shadow: 0 0 8px rgba(0, 123, 255, 0.25);
    outline: none;
}

@media screen and (max-width: 1024px) {
    .PointOfSale .closeMobileCart {
        display: block;
        float: right;
        width: 40px;
        line-height: calc(40px - 3px*2);
        height: 40px;
        text-align: center;
        border-radius: 50%;
        border: 3px solid rgba(0, 0, 0, 0.17);
        font-size: 20px;
        color: grey;
        cursor: pointer;
        margin-top: 0px;
        opacity: 0.5;
    }

    .PointOfSale .noPaddingColumn.ui.stackable.grid .column.pullOutColumn {
        z-index: 101;
        display: none;
        position: absolute !important;
        top: calc(var(--line-height) * 1) !important;
        height: calc(100% - var(--line-height) * 1);
        right: 0px !important;
        width: calc(100% - 0px) !important;
        padding: 10px !important;
        padding-bottom: 0px !important;
        background-color: white;
        box-shadow: 0px 0px 17px rgba(0, 0, 0, 0.1);
        transform: scale(0) translateX(100%);
        will-change: transform;
        -webkit-transition: transform 0.7s ease;
        -moz-transition: transform 0.7s ease;
        -ms-transition: transform 0.7s ease;
        -o-transition: transform 0.7s ease;
        transition: transform 0.7s ease;
    }

    .PointOfSale .noPaddingColumn.ui.stackable.grid .column.pullOutColumn.open {
        transform: scale(1) translateX(0%);
        display: flex;
        flex-direction: column;
    }

    .PointOfSale .pullOutColumnBG {
        z-index: 1;
        position: absolute !important;
        top: 77px !important;
        height: calc(100% - 77px);
        right: 0px !important;
        width: 100%;
        background-color: rgba(0, 0, 0, 0.1);
    }

    .PointOfSale .pullOutColumnBG.open {
        display: block;
    }
}

.PointOfSale .searchArea {
    position: relative;
    margin-top: -13px;
    margin-left: -11px;
    width: calc(100% + 22px);
}

.PointOfSale .searchArea .search.icon {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    color: #335C5C;
    font-size: 15px;
}

.PointOfSale .searchArea input {
    padding-left: 40px !important;
}

.PointOfSale .locationArea {
    overflow: hidden;
    padding-bottom: 1em;
    border-bottom: 1px solid #CFDDDB;
}

.PointOfSale .locationArea .grid {
    overflow-y: hidden;
    overflow-x: auto;
    white-space: nowrap;
    display: block;
    border-radius: 5px;
}

.PointOfSale .locationArea .grid .column {
    display: inline-block;
    min-width: 210px !important;
}

@media screen and (max-width: 992px) {
    .PointOfSale .locationArea {
        width: 100%;
    }
}

.PointOfSale .locationArea .locationThumbnail {
    position: relative;
    border-radius: 8px;
    background-color: #EDF2F2;
    padding: 15px;
    cursor: pointer;
    text-align: center;
    border: 1px solid #dee6e6;
    transition: all 0.3s ease;
    overflow: hidden;
}

@media (hover: hover) {
    .PointOfSale .locationArea .locationThumbnail:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    }
}

.PointOfSale .pos-highlight-fill {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0%;
    transition: width 0.3s ease;
}

.PointOfSale .locationArea .locationThumbnail .highlight {
    background: #335C5B;
    border-radius: 8px;
    transition: width 0.3s ease, opacity 0.3s ease;
    opacity: 0;
}

.PointOfSale .locationArea .locationThumbnail.selected .highlight {
    width: 100%;
    opacity: 1;
}

@media (hover: hover) {
    .PointOfSale .locationArea .locationThumbnail:hover .highlight {
        width: 100%;
        opacity: 1;
    }

    .PointOfSale .locationArea .locationThumbnail:hover {
        color: white;
        font-weight: bold;
    }
}

.PointOfSale .locationArea .locationThumbnail .name {
    position: relative;
    z-index: 1;
    display: block;
}

.PointOfSale .locationArea .locationThumbnail.selected {
    color: white;
    font-weight: bold;
}

.PointOfSale .categoryArea {
    overflow: hidden;
    padding-bottom: 1em;
    border-bottom: 1px solid #CFDDDB;
}

.PointOfSale .categoryArea.grid {
    overflow-y: auto;
}

.PointOfSale .categoryArea.carousel .grid {
    overflow-y: hidden;
    overflow-x: auto;
    white-space: nowrap;
    display: block;
    border-radius: 5px;
}

.PointOfSale .categoryArea.carousel .grid .column {
    display: inline-block;
    min-width: 210px !important;
}

.PointOfSale .categoryArea .categoryThumbnail {
    position: relative;
    border-radius: 8px;
    background-color: #EDF2F2;
    padding: 15px;
    cursor: pointer;
    border: 1px solid #dee6e6;
    transition: all 0.3s ease;
    overflow: hidden;
}

@media (hover: hover) {
    .PointOfSale .categoryArea .categoryThumbnail:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    }
}

.PointOfSale .categoryArea .categoryThumbnail .highlight {
    background: #335C5B;
    border-radius: 8px;
}

.PointOfSale .categoryArea .categoryThumbnail.selected {
    color: white;
}

.PointOfSale .categoryArea .categoryThumbnail.selected .highlight {
    width: 100%;
}

@media (hover: hover) {
    .PointOfSale .categoryArea .categoryThumbnail:hover {
        color: white;
    }

    .PointOfSale .categoryArea .categoryThumbnail:hover .highlight {
        width: 100%;
    }
}

.PointOfSale .categoryArea .categoryThumbnail .symbol {
    position: relative;
    z-index: 1;
    font-size: 25px;
    line-height: 25px;
}

.PointOfSale .categoryArea .categoryThumbnail .pictureList {
    position: relative;
    z-index: 1;
    padding-bottom: 0px;
}

.PointOfSale .categoryArea .categoryThumbnail .pictureList .picture {
    display: inline-block;
    vertical-align: middle;
    background-color: #E5E5E5;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 5px;
    width: 30px;
    height: 30px;
    margin-right: -7.5px;
    border: 2px solid white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.PointOfSale .categoryArea.grid .categoryThumbnail .symbol {
    line-height: 70px;
    opacity: 0.5;
}

.PointOfSale .categoryArea.grid .categoryThumbnail .pictureList {
    padding-top: 15px;
}

.PointOfSale .categoryArea.grid .categoryThumbnail .pictureList .picture {
    width: 70px;
    height: 70px;
    margin-top: -15px;
}

.PointOfSale .categoryArea .categoryThumbnail .label {
    position: relative;
    z-index: 1;
    font-weight: 700;
    padding-top: 10px;
    font-size: 17px;
}

.PointOfSale .categoryArea.grid .categoryThumbnail .label {
    font-size: 20px;
}

.PointOfSale .categoryArea .categoryThumbnail .quantity {
    position: relative;
    z-index: 1;
    font-weight: 400;
    font-size: 13px;
}

.PointOfSale .inventoryArea {
    padding-bottom: 1em;
    border-bottom: 1px solid #CFDDDB;
    overflow-x: hidden;
    overflow-y: auto;
}

.PointOfSale .inventoryArea.hidden {
    display: none;
}

.PointOfSale .inventoryArea .inventoryThumbnail {
    position: relative;
    border-radius: 8px;
    padding: 15px;
    padding-bottom: 70px;
    border: 1px solid #dee6e6;
    cursor: pointer;
    background-color: #fff;
    transition: all 0.3s ease;
    overflow: hidden;
}

.PointOfSale .inventoryArea .inventoryThumbnail.isInCart {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    border-color: #6C9999;
}

@media (hover: hover) {
    .PointOfSale .inventoryArea .inventoryThumbnail:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
        border-color: #6C9999;
    }
}

.PointOfSale .inventoryArea .inventoryThumbnail .highlight {
    z-index: -1;
    background: rgba(108, 153, 153, 0.1);
}

.PointOfSale .inventoryArea .inventoryThumbnail.isInCart .highlight {
    width: 100%;
}

@media (hover: hover) {
    .PointOfSale .inventoryArea .inventoryThumbnail:hover .highlight {
        width: 100%;
    }
}

.PointOfSale .inventoryArea .inventoryThumbnail .info-wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding-bottom: 5px;
}

.PointOfSale .inventoryArea .inventoryThumbnail .category,
.PointOfSale .inventoryArea .inventoryThumbnail .location {
    max-width: 50%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.PointOfSale .inventoryArea .inventoryThumbnail .category {
    font-weight: 300;
    font-size: 11px;
    color: #6c757d;
}

.PointOfSale .inventoryArea .inventoryThumbnail .skuList {
    position: absolute;
    bottom: 15px;
    left: 15px;

    font-weight: 300;
    font-size: 12px;
    padding-top: 10px;
    margin-bottom: -5px;

    max-width: calc(100% - 160px);
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #6c757d;
}

/* Search mode with options: flow layout so thumbnail expands (Spec 1211, Strategy B) */
/* :has() targets only thumbnails with optionAttributeList present (search mode + has options) */
.PointOfSale .inventoryArea .inventoryThumbnail:has(.optionAttributeList) {
    padding-bottom: 15px;
}

.PointOfSale .inventoryArea .inventoryThumbnail:has(.optionAttributeList) .skuList {
    position: static;
    margin-bottom: 0;
}

/* Option attribute summary — search mode only (Spec 1211, Christopher feedback) */
/* Flow-positioned with word wrap — thumbnail expands naturally */
.PointOfSale .inventoryArea .inventoryThumbnail .optionAttributeList {
    font-weight: 300;
    font-size: 11px;
    margin-top: 8px;
    line-height: 1.4;
    color: #6c757d;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.PointOfSale .inventoryArea .inventoryThumbnail .location {
    font-weight: 300;
    font-size: 12px;
    padding-top: 3.5px;
    padding-bottom: 5px;
    color: #6c757d;
}

.PointOfSale .inventoryArea .inventoryThumbnail .label {
    font-weight: 600;
    line-height: 25px;
    font-size: 20px;
    padding-top: 3.5px;
    color: #343a40;
}

.PointOfSale .inventoryArea .inventoryThumbnail.isInCart .label {
    color: #335C5C;
    font-weight: 700;
}

@media (hover: hover) {
    .PointOfSale .inventoryArea .inventoryThumbnail:hover .label {
        color: #335C5C;
        font-weight: 700;
    }
}

.PointOfSale .inventoryArea .inventoryThumbnail .price {
    font-weight: 500;
    font-size: 17px;
    padding-top: 3.5px;
    color: #2E8B57;
}

.PointOfSale .inventoryArea .inventoryThumbnail .pictureList {
    position: absolute;
    bottom: 15px;
    right: 30px;
}

.PointOfSale .inventoryArea .inventoryThumbnail .pictureList .picture {
    display: inline-block;
    vertical-align: middle;
    background-color: #ececec;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 5px;
    width: 50px;
    height: 50px;
    margin-right: -15px;
    border: 2px solid white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

@media (hover: hover) {
    .PointOfSale .inventoryArea .inventoryThumbnail:hover .pictureList .picture {
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    }
}

.PointOfSale .customerArea .information {
    float: left;
    width: calc(100% - 50px);
    padding: 5px;
    padding-top: 7px;
    cursor: pointer;
}

.PointOfSale .customerArea .information .name {
    font-weight: 700;
    font-size: 20px;
    margin-top: -7px;
}

@media screen and (min-width: 1024px) {
    .PointOfSale .customerArea .information .name {
        margin-top: -13px;
    }
}

.PointOfSale .customerArea .information .contact {
    font-weight: 300;
    font-size: 12px;
    padding-top: 5px;
}

.PointOfSale .cartArea {
    overflow-y: auto;
    margin-top: 5px;
    margin-right: -7.5px;
    padding-right: 7.5px;
    width: calc(100% + 7.5px);

    /* Fills remaining vertical space in rightArea flex column.
       min-height:0 allows shrinking below content height for scroll. */
    flex: 1;
    min-height: 0;
}

/* Siblings keep natural height — flexbox auto-adjusts cartArea when
   costDetails expand/collapse changes costArea's natural height */
.PointOfSale .customerArea,
.PointOfSale .cartActions,
.PointOfSale .costArea,
.PointOfSale .paymentArea {
    flex: none;
}

.PointOfSale .cartActions .addToCart,
.PointOfSale .cartActions .splitCart,
.PointOfSale .cartActions .printPOS,
.PointOfSale .cartActions .changeCurrency {
    float: left;

    margin-bottom: 0px;
    border-radius: 8px;
    padding: 10px;
    position: relative;
    overflow: hidden;
    text-align: center;

    cursor: pointer;
    background-color: #EDF2F2;
    font-weight: 500;
    color: #335C5C;
    border: 1px solid #E6EDED;
    transition: all 0.2s ease;

}

.PointOfSale .cartActions .addToCart:hover,
.PointOfSale .cartActions .splitCart:hover,
.PointOfSale .cartActions .printPOS:hover,
.PointOfSale .cartActions .changeCurrency:hover {
    background-color: #e1e8e8;
    border-color: #dbe4e4;
}

.PointOfSale .cartActions .addToCart {
    width: calc(100% - 55px * 3 - 10px * 3);
}

.PointOfSale .cartActions .splitCart,
.PointOfSale .cartActions .printPOS,
.PointOfSale .cartActions .changeCurrency {
    float: right;
    width: 55px;
    margin-left: 10px;
}

.PointOfSale .cartActions .changeCurrency i.flag {
    margin: 0 !important;
}

.PointOfSale .cartArea .cartThumbnail {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
    border-radius: 8px;
    padding: 10px;
    border: 1px solid #E6EDED;
    background-color: #fff;
    transition: all 0.3s ease;
}

/* Print selection highlight — tapping a cart tile toggles selection for kitchen print */
.PointOfSale .cartArea .cartThumbnail.print-selected {
    border-color: #2185d0;
    background-color: #f0f7ff;
    box-shadow: 0 0 0 1px #2185d0;
}

.PointOfSale .cartArea .cartThumbnail .item-details {
    flex-grow: 1;
    padding-right: 15px;
}

.PointOfSale .cartArea .cartThumbnail .label {
    font-weight: 600;
    color: #343a40;
    margin-bottom: 5px;
}

.PointOfSale .cartArea .cartThumbnail .options-wrapper {
    padding-left: 5px;
    margin-bottom: 5px;
}

.PointOfSale .cartArea .cartThumbnail .option {
    font-size: 13px;
    color: #6c757d;
}

.PointOfSale .cartArea .cartThumbnail .option .choice {
    font-weight: 600;
    color: #495057;
}

.PointOfSale .cartArea .cartThumbnail #location {
    font-size: 11px;
    font-weight: 400;
    padding-top: 5px;
    color: #6c757d;
}

.PointOfSale .cartArea .cartThumbnail .item-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
}

.PointOfSale .cartArea .cartThumbnail .cost {
    font-weight: 700;
    text-align: right;
    color: #2E8B57;
    font-size: 16px;
    margin-bottom: 10px;
}

.PointOfSale .cartArea .cartThumbnail .quantity-editor {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.PointOfSale .cartArea .cartThumbnail .quantity-display {
    min-width: 30px;
    text-align: center;
    font-weight: 600;
    font-size: 16px;
    color: #343a40;
}

.PointOfSale .cartArea .cartThumbnail .action-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 5px;
    border: 1px solid #ced4da;
    cursor: pointer;
    background-color: #fff;
    transition: all 0.2s ease;
    color: #6c757d;
}

.PointOfSale .cartArea .cartThumbnail .action-button:hover {
    background-color: #f1f3f5;
    border-color: #adb5bd;
}

.PointOfSale .cartArea .cartThumbnail .button-row {
    display: flex;
    flex-direction: row;
    gap: 5px;
}

.PointOfSale .cartArea .cartThumbnail .edit-item {
    font-size: 14px;
    background-color: transparent;
    border: none;
}

.PointOfSale .cartArea .cartThumbnail .edit-item:hover {
    color: #007bff;
    background-color: transparent;
}

.PointOfSale .cartArea .cartThumbnail .remove-item {
    font-size: 14px;
    background-color: transparent;
    border: none;
}

.PointOfSale .cartArea .cartThumbnail .remove-item:hover {
    color: #dc3545;
    background-color: transparent;
}

/* Order Status Labels */
.PointOfSale .cartArea .cartThumbnail .orderStatus-label {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 3px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
    transition: opacity 0.15s;
    line-height: 1.4;
}

.PointOfSale .cartArea .cartThumbnail .orderStatus-label:hover {
    opacity: 0.8;
}

.PointOfSale .cartArea .cartThumbnail .orderStatus-label i {
    font-size: 11px;
}

.PointOfSale .cartArea .cartThumbnail .status-new {
    background: #f3f4f6;
    color: #6b7280;
}

.PointOfSale .cartArea .cartThumbnail .status-sent {
    background: #dbeafe;
    color: #1d4ed8;
}

.PointOfSale .cartArea .cartThumbnail .status-preparing {
    background: #fef3c7;
    color: #d97706;
}

.PointOfSale .cartArea .cartThumbnail .status-ready {
    background: #d1fae5;
    color: #059669;
}

.PointOfSale .cartArea .cartThumbnail .status-served {
    background: #e0f2f1;
    color: #335C5C;
}

.PointOfSale .cartArea .cartThumbnail .has-unprinted {
    border: 1.5px dashed #f59e0b;
    animation: unprintedPulse 2s infinite;
}

@keyframes unprintedPulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.7;
    }
}

/* --- Bundle Display Styles --- */

.PointOfSale .cartArea .cartThumbnail.bundle-child {
    margin-bottom: 10px;
    margin-left: 20px;
    border-left: 3px solid var(--jmkr-color-1);
    border-color: rgba(var(--jmkr-color-1-rgb, 99, 102, 241), 0.25);
    background-color: rgba(var(--jmkr-color-1-rgb, 99, 102, 241), 0.03);
    padding: 6px 10px;
}

.PointOfSale .cartArea .cartThumbnail.bundle-child .connector-symbol {
    font-family: monospace;
    font-size: 12px;
    color: var(--jmkr-color-1);
    margin-right: 4px;
}

.PointOfSale .cartArea .cartThumbnail.bundle-child .bundle-connector {
    font-weight: 500;
    color: #495057;
    font-size: 13px;
}

.PointOfSale .cartArea .cartThumbnail.bundle-child .cost {
    font-size: 13px;
    color: #6c757d;
    font-weight: 500;
}

.PointOfSale .cartArea .cartThumbnail.bundle-child .bundle-included-label {
    font-size: 10px;
    color: var(--jmkr-color-1);
    font-style: italic;
    margin-top: 2px;
}

.PointOfSale .cartArea .cartThumbnail.bundle-empty-slot {
    border-left-style: dashed;
    border-color: #ced4da;
    background-color: #fafafa;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.PointOfSale .cartArea .cartThumbnail.bundle-empty-slot:active {
    background-color: #f0f0f0;
}

.PointOfSale .cartArea .cartThumbnail.bundle-empty-slot .eligible-items {
    font-size: 11px;
    color: #adb5bd;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 280px;
}

.PointOfSale .cartArea .cartThumbnail.bundle-empty-slot .bundle-dash {
    color: #ced4da;
    font-size: 14px;
    letter-spacing: 2px;
}

.PointOfSale .cartArea .cartThumbnail .bundle-parent-label {
    font-weight: 700;
    color: var(--jmkr-color-1);
}

.PointOfSale .cartArea .cartThumbnail .bundle-parent-label .lucide-icon {
    font-size: 12px;
    margin-right: 4px;
}

/* --- End Bundle Display Styles --- */

.PointOfSale .costArea {
    margin-top: 15px;
    border-radius: 8px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    background-color: #EDF2F2;
    padding: 10px;
    padding-bottom: 0px;
    padding-top: 0px;
    cursor: pointer;
}

.PointOfSale .costArea .detail {
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 13.5px;
    border-bottom: 1px solid #DDE5E5;
}


.PointOfSale .costArea .detail .left {
    float: left;
}

.PointOfSale .costArea .detail .left i.icon {
    opacity: 0.5;
}

.PointOfSale .costArea .detail .right {
    float: right;
}

.PointOfSale .paymentArea {
    border-radius: 8px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    background-color: #e1e8e8;
    padding: 10px;
}

.PointOfSale .paymentArea .heading {
    float: left;
    font-weight: 500;
    padding-bottom: 10px;
}

.PointOfSale .paymentArea .connectCashRegister {
    float: right;
    font-weight: 500;
    padding-bottom: 10px;
    cursor: pointer;
}

.PointOfSale .paymentArea .option {
    width: calc(100% - 15px);
    text-align: center;
    margin-left: 7.5px;
    margin-right: 7.5px;
    cursor: pointer;
}

.PointOfSale .paymentArea .option .symbol {
    font-size: 15px;
    margin-top: 3.5px;
    padding-top: 13.5px;
    padding-bottom: 13.5px;
    border: 1px solid rgba(0, 0, 0, 0.17);
    border-radius: 8px;
}

.PointOfSale .paymentArea .option:hover .symbol {
    background-color: #6c757d;
    color: white;
}

.PointOfSale .paymentArea .option.selected .symbol {
    background-color: #335C5C;
    color: white;
}

.PointOfSale .paymentArea .option .label {
    font-size: 11px;
    padding-top: 10px;
}

.PointOfSale .paymentArea .checkoutButton {
    text-align: center;
    padding-top: 15px;
    padding-bottom: 15px;
    font-weight: 600;
    font-size: 17px;
    border-radius: 8px;
    margin-top: 10px;
    background: #335C5C;
    color: white;
    cursor: pointer;
    transition: all 0.2s ease;
}

.PointOfSale .paymentArea .checkoutButton:hover {
    background: #2a4b4b;
}

.PointOfSale .paymentArea .checkoutButton .checkoutTotal {
    margin-left: 8px;
    font-weight: 700;
}

.PointOfSale .paymentArea .checkoutButton .checkoutTotal i.flag {
    margin-right: 2px;
}

/* Collapsible cost details — collapsed by default, tap chevron to expand */
.PointOfSale .costArea .costDetails {
    display: none;
}

.PointOfSale .costArea .costDetails.expanded {
    display: block;
}

.PointOfSale .costArea .costDetails-toggle {
    width: 100%;
    text-align: center;
    cursor: pointer;
    padding: 6px 0;
    font-size: 12px;
    font-weight: 500;
    color: #335C5C;
    opacity: 0.6;
}

.PointOfSale .costArea .costDetails-toggle:hover {
    opacity: 1;
}

.PointOfSale .costArea .costDetails-toggle i {
    margin: 0 0 0 4px !important;
    font-size: 10px;
    transition: transform 0.2s ease;
}

.PointOfSale .costArea .costDetails-toggle.expanded i {
    transform: rotate(180deg);
}

.PointOfSale .costArea .costDetails-toggle .cashier-name-label {
    font-weight: 600;
    letter-spacing: 0.2px;
}

#PointOfSaleSetting .accordion .details {
    font-size: 12px;
    color: grey;
    font-weight: 300;
    padding-top: 5px;
    padding-left: 25px;
}

.SwalCreateForm .availableQuantity {
    position: relative;
}

/* optionRules: conditional group visibility (Spec 1047) */
.SwalCreateForm .field.optionRule-hidden {
    display: none !important;
}

.SwalCreateForm .availableQuantity #previewImage {
    height: 210px;
    border-radius: 5px;
    object-fit: contain;
    margin: auto;
    margin-bottom: 1.7em;

    transition: background-image 0.3s ease;
    border-radius: 5px;
    border: 10px solid white;
    box-shadow: 0 2px 4px 2.5px rgba(0, 0, 0, 0.05), 0 2px 4px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.05);

    cursor: pointer;
}


.PointOfSale #stockCheck .conversion-available {
    color: #2e7d32 !important;
    font-weight: 600;
    background: rgba(46, 125, 50, 0.1);
    padding: 2px 6px;
    border-radius: 3px;
    margin: 2px 0;
}

.PointOfSale #stockCheck .conversion-available i.exchange.icon {
    color: #388e3c;
    animation: pulse-conversion 2s infinite;
}

@keyframes pulse-conversion {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.6;
    }

    100% {
        opacity: 1;
    }
}

/* Receipt Logo Settings */
.pos-receipt-logo-area {
    display: inline-block;
    position: relative;
}

.pos-receipt-logo-preview {
    position: relative;
    display: inline-block;
}

.pos-receipt-logo-preview img {
    max-width: 200px;
    max-height: 100px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    padding: 10px;
    background: #fafafa;
}

.pos-receipt-logo-preview .removeReceiptLogo {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: 50%;
    background: white;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
}

.pos-receipt-logo-preview .removeReceiptLogo i {
    font-size: 14px;
}

.pos-receipt-logo-preview .removeReceiptLogo:hover {
    background: #fef2f2;
    border-color: #ef4444;
    color: #ef4444;
}

.pos-receipt-logo-upload {
    width: 200px;
    height: 100px;
    border: 2px dashed #ddd;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #999;
    transition: all 0.2s;
}

.pos-receipt-logo-upload:hover {
    border-color: #1a73e8;
    color: #1a73e8;
}

.pos-receipt-logo-upload i {
    font-size: 2em;
    margin-bottom: 8px;
}

/* ============================================
   SPLIT KANBAN MODAL
   ============================================ */

.splitKanban-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(4px);
}

.splitKanban-modal {
    background: #fff;
    border-radius: 8px;
    width: 100%;
    max-width: 1100px;
    max-height: 90%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

.splitKanban-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #CFDDDB;
    background: #335C5C;
    color: #fff;
}

.splitKanban-title {
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.splitKanban-title i {
    margin: 0 !important;
}

.splitKanban-close {
    cursor: pointer;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    transition: background 0.2s;
}

.splitKanban-close:hover {
    background: rgba(255, 255, 255, 0.2);
}

.splitKanban-close i {
    margin: 0 !important;
    color: #fff;
}

.splitKanban-hint {
    padding: 10px 20px;
    font-size: 13px;
    color: #556869;
    background: #f7f7f7;
    border-bottom: 1px solid #E6EDED;
}

.splitKanban-board {
    display: flex;
    gap: 12px;
    padding: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    flex: 1;
    min-height: 300px;
    -webkit-overflow-scrolling: touch;
}

.splitKanban-column {
    min-width: 220px;
    max-width: 280px;
    flex: 1;
    background: #EDF2F2;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    border: 2px solid transparent;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.splitKanban-column.is-target {
    border-color: #335C5C;
    box-shadow: 0 0 0 3px rgba(51, 92, 92, 0.15);
}

.splitKanban-colHeader {
    padding: 12px 14px;
    font-weight: 600;
    font-size: 14px;
    color: #343a40;
    border-bottom: 1px solid #E6EDED;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 8px 8px 0 0;
    transition: background 0.15s;
    user-select: none;
    -webkit-user-select: none;
}

.splitKanban-colHeader:hover {
    background: #e1e8e8;
}

.splitKanban-colHeader:active {
    background: #CFDDDB;
}

.splitKanban-colTitle {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.splitKanban-colRemove {
    cursor: pointer;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    color: #6b7f7f;
    transition: color 0.15s, background 0.15s;
    flex-shrink: 0;
}

.splitKanban-colRemove:hover {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

.splitKanban-colRemove i {
    margin: 0 !important;
    font-size: 12px;
}

.splitKanban-colBody {
    flex: 1;
    padding: 8px;
    overflow-y: auto;
    min-height: 120px;
    max-height: 45vh;
}

.splitKanban-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
    margin-bottom: 6px;
    background: #fff;
    border-radius: 8px;
    cursor: pointer;
    border: 1px solid #E6EDED;
    transition: border-color 0.15s, background 0.15s, transform 0.1s;
    user-select: none;
    -webkit-user-select: none;
}

.splitKanban-item:hover {
    background: #f1f8f7;
}

.splitKanban-item:active {
    transform: scale(0.98);
}

.splitKanban-item.is-selected {
    border-color: #335C5C;
    border-width: 2px;
    background: #f1f8f7;
}

.splitKanban-itemQty {
    font-weight: 700;
    font-size: 14px;
    color: #335C5C;
    min-width: 28px;
    padding-top: 1px;
}

.splitKanban-itemInfo {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.splitKanban-itemName {
    font-size: 13px;
    color: #343a40;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.splitKanban-itemDetail {
    font-size: 11px;
    color: #6b7f7f;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.3;
}

.splitKanban-itemPrice {
    font-size: 12px;
    color: #556869;
    white-space: nowrap;
    padding-top: 1px;
}

.splitKanban-empty {
    text-align: center;
    padding: 30px 10px;
    color: #6b7f7f;
    font-size: 13px;
    font-style: italic;
}

.splitKanban-colFooter {
    padding: 10px 14px;
    border-top: 1px solid #E6EDED;
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #556869;
    font-weight: 500;
}

.splitKanban-addNewCol,
.splitKanban-addExistingCol {
    min-width: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 2px dashed #dee6e6;
    border-radius: 8px;
    cursor: pointer;
    color: #6b7f7f;
    font-size: 13px;
    font-weight: 500;
    gap: 6px;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
    user-select: none;
    -webkit-user-select: none;
    flex-shrink: 0;
}

.splitKanban-addNewCol:hover,
.splitKanban-addExistingCol:hover {
    border-color: #335C5C;
    color: #335C5C;
    background: rgba(51, 92, 92, 0.04);
}

.splitKanban-addNewCol i,
.splitKanban-addExistingCol i {
    margin: 0 !important;
}

.splitKanban-column.is-existing {
    background: #f0f4ff;
    border-color: #c7d2fe;
}

.splitKanban-column.is-existing .splitKanban-colHeader {
    background: #eef2ff;
    border-bottom-color: #c7d2fe;
}

.splitKanban-column.is-existing.is-target {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

.splitKanban-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid #CFDDDB;
    background: #f7f7f7;
}

.splitKanban-cancel {
    padding: 10px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    color: #556869;
    background: #fff;
    border: 1px solid #dee6e6;
    transition: background 0.15s;
    user-select: none;
    -webkit-user-select: none;
}

.splitKanban-cancel:hover {
    background: #EDF2F2;
}

.splitKanban-submit {
    padding: 10px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    color: #fff;
    background: #335C5C;
    transition: background 0.15s, opacity 0.15s;
    user-select: none;
    -webkit-user-select: none;
}

.splitKanban-submit:hover {
    background: #2a4d4d;
}

.splitKanban-submit.is-disabled {
    opacity: 0.4;
    pointer-events: none;
}

/* Responsive — stack columns vertically on narrow screens */
@media (max-width: 600px) {
    .splitKanban-overlay {
        padding: 10px;
    }

    .splitKanban-modal {
        max-height: 95%;
    }

    .splitKanban-board {
        flex-direction: column;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .splitKanban-column {
        min-width: unset;
        max-width: unset;
    }

    .splitKanban-addNewCol,
    .splitKanban-addExistingCol {
        min-width: unset;
        min-height: 60px;
    }

    .splitKanban-colBody {
        max-height: 200px;
    }
}

/* ============================================
   BUMP BAR — Order Status Kanban
   ============================================ */
.bumpBar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bumpBar-modal {
    background: #fff;
    border-radius: 8px;
    width: 95%;
    max-width: 1100px;
    max-height: 90%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

.bumpBar-header {
    background: #335C5C;
    color: #fff;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.bumpBar-title {
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
}

.bumpBar-title i {
    font-size: 18px;
}

.bumpBar-close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s;
}

.bumpBar-close:hover {
    background: rgba(255, 255, 255, 0.15);
}

.bumpBar-close i {
    font-size: 14px;
}

.bumpBar-hint {
    padding: 10px 20px;
    font-size: 13px;
    color: #6b7280;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.bumpBar-board {
    display: flex;
    gap: 12px;
    padding: 16px;
    overflow-x: auto;
    flex: 1;
    min-height: 0;
}

.bumpBar-column {
    flex: 1;
    min-width: 180px;
    background: #f9fafb;
    border-radius: 8px;
    border: 2px solid transparent;
    display: flex;
    flex-direction: column;
    transition: border-color 0.15s, background 0.15s;
}

.bumpBar-column.is-target {
    border-color: #335C5C;
    background: rgba(51, 92, 92, 0.04);
}

.bumpBar-colHeader {
    padding: 10px 12px;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #e5e7eb;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background 0.1s;
    border-radius: 6px 6px 0 0;
}

.bumpBar-colHeader:hover {
    background: rgba(0, 0, 0, 0.04);
}

/* Stage-specific header colors */
.bumpBar-column.stage-new .bumpBar-colHeader {
    color: #6b7280;
    border-bottom-color: #d1d5db;
}

.bumpBar-column.stage-sent .bumpBar-colHeader {
    color: #1d4ed8;
    border-bottom-color: #93c5fd;
}

.bumpBar-column.stage-preparing .bumpBar-colHeader {
    color: #d97706;
    border-bottom-color: #fcd34d;
}

.bumpBar-column.stage-ready .bumpBar-colHeader {
    color: #059669;
    border-bottom-color: #6ee7b7;
}

.bumpBar-column.stage-served .bumpBar-colHeader {
    color: #335C5C;
    border-bottom-color: #99b3b3;
}

.bumpBar-colTitle {
    flex: 1;
}

.bumpBar-colCount {
    background: rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    padding: 1px 8px;
    font-size: 11px;
    font-weight: 700;
    min-width: 22px;
    text-align: center;
}

.bumpBar-colBody {
    flex: 1;
    padding: 8px;
    overflow-y: auto;
    min-height: 80px;
    max-height: 300px;
}

.bumpBar-item {
    background: #fff;
    border-radius: 6px;
    padding: 8px 10px;
    margin-bottom: 6px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.1s, box-shadow 0.1s;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.bumpBar-item:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.bumpBar-item:active {
    transform: scale(0.98);
}

.bumpBar-item.is-selected {
    border-color: #335C5C;
    background: rgba(51, 92, 92, 0.06);
    box-shadow: 0 0 0 1px rgba(51, 92, 92, 0.2);
}

.bumpBar-itemMain {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.bumpBar-itemQty {
    font-weight: 700;
    font-size: 13px;
    color: #374151;
    flex-shrink: 0;
}

.bumpBar-itemName {
    font-size: 13px;
    color: #1f2937;
    word-break: break-word;
}

.bumpBar-itemPrint {
    font-size: 11px;
    color: #9ca3af;
    margin-top: 3px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.bumpBar-itemPrint i {
    font-size: 10px;
}

.bumpBar-itemPrint.is-error {
    color: #dc2626;
    font-weight: 600;
}

.bumpBar-empty {
    text-align: center;
    color: #d1d5db;
    font-size: 12px;
    padding: 20px 0;
    font-style: italic;
}

/* Print Log */
.bumpBar-printLog {
    border-top: 1px solid #e5e7eb;
    padding: 12px 20px;
    max-height: 120px;
    overflow-y: auto;
    background: #fafbfc;
    flex-shrink: 0;
}

.bumpBar-printLogTitle {
    font-size: 12px;
    font-weight: 700;
    color: #374151;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.bumpBar-printLogTitle i {
    font-size: 12px;
}

.bumpBar-printLogEntry {
    font-size: 11px;
    color: #6b7280;
    padding: 3px 0;
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.bumpBar-printLogStatus {
    display: flex;
    align-items: center;
}

.bumpBar-printLogStatus i {
    font-size: 12px;
}

.bumpBar-printLogTime {
    font-weight: 600;
    color: #374151;
}

.bumpBar-printLogLabel {
    font-weight: 500;
}

.bumpBar-printLogPrinter {
    color: #1d4ed8;
}

.bumpBar-printLogCashier {
    color: #6b7280;
}

.bumpBar-printLogItems {
    color: #9ca3af;
    font-size: 10px;
    width: 100%;
}

.bumpBar-printLogError {
    color: #dc2626;
    font-size: 10px;
    width: 100%;
    font-style: italic;
}

.bumpBar-printLogEntry.is-error {
    background: #fef2f2;
    border-left: 3px solid #dc2626;
    padding-left: 6px;
    border-radius: 2px;
}

.bumpBar-printLogEntry.is-error .bumpBar-printLogStatus i {
    color: #dc2626;
}

.bumpBar-printLogEntry.is-error .bumpBar-printLogLabel {
    color: #dc2626;
}

.bumpBar-printLogEntry.is-status-change {
    border-left: 3px solid #8b5cf6;
    padding-left: 6px;
    border-radius: 2px;
}

.bumpBar-printLogEntry.is-status-change .bumpBar-printLogStatus i {
    color: #8b5cf6;
}

.bumpBar-printLogEntry.is-status-change .bumpBar-printLogLabel {
    color: #8b5cf6;
}

.bumpBar-printLogEmpty {
    font-size: 11px;
    color: #d1d5db;
    font-style: italic;
}

/* Actions bar */
.bumpBar-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 20px;
    border-top: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.bumpBar-cancel {
    padding: 8px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    color: #374151;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    transition: background 0.15s;
}

.bumpBar-cancel:hover {
    background: #e5e7eb;
}

.bumpBar-save {
    padding: 8px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    color: #fff;
    background: #335C5C;
    transition: background 0.15s;
}

.bumpBar-save:hover {
    background: #2a4b4b;
}

/* Responsive */
@media (max-width: 768px) {
    .bumpBar-overlay {
        align-items: flex-end;
    }

    .bumpBar-modal {
        max-height: 95%;
        border-radius: 12px 12px 0 0;
        width: 100%;
    }

    .bumpBar-board {
        flex-direction: column;
    }

    .bumpBar-column {
        min-width: unset;
    }

    .bumpBar-colBody {
        max-height: 200px;
    }
}

/* ─── POS Stats Modal ─── */
/* Pattern source: dashboardPopUp (dashboard.css:607) — accounts for sidebar width + right menu */
.posStats-overlay {
    position: fixed;
    top: 0;
    left: var(--left-menu-width);
    right: var(--right-menu-width);
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.posStats-modal {
    background: #fff;
    border-radius: 8px;
    width: 95%;
    max-width: 1100px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.posStats-body {
    flex: 1 1 auto;
    overflow-y: auto;
    min-height: 0;
}

.posStats-header {
    background: #335C5C;
    color: #fff;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.posStats-title {
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.posStats-title i {
    font-size: 18px;
}

.posStats-close {
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.15s;
}

.posStats-close:hover {
    opacity: 1;
}

/* Summary cards */
.posStats-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.posStats-card {
    flex: 1 1 120px;
    min-width: 110px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 10px 12px;
    text-align: center;
}

.posStats-cardLabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    color: #6b7280;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.posStats-cardValue {
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
}

.posStats-cardValue--small {
    font-size: 13px;
    font-weight: 600;
}

.posStats-cardSub {
    font-size: 10px;
    color: #94a3b8;
    margin-top: 2px;
}

/* Chart sections */
.posStats-section {
    padding: 16px 20px;
    border-bottom: 1px solid #f3f4f6;
}

.posStats-sectionTitle {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.posStats-sectionTitle i {
    font-size: 14px;
    color: #335C5C;
}

.posStats-chartContainer {
    width: 100%;
    height: 260px;
}

.posStats-chartContainer--short {
    height: 220px;
}

.posStats-charts-row {
    display: flex;
    gap: 0;
    overflow-y: auto;
}

.posStats-section--half {
    flex: 1 1 50%;
    min-width: 0;
    border-right: 1px solid #f3f4f6;
}

.posStats-section--half:last-child {
    border-right: none;
}

/* Actions bar */
.posStats-actions {
    display: flex;
    justify-content: flex-end;
    padding: 12px 20px;
    border-top: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.posStats-closeBtn {
    padding: 8px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    color: #374151;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    transition: background 0.15s;
}

.posStats-closeBtn:hover {
    background: #e5e7eb;
}

/* Responsive — Tablet */
@media (max-width: 1024px) {
    .posStats-cards {
        gap: 8px;
    }

    .posStats-card {
        flex: 1 1 calc(33.333% - 8px);
        min-width: 0;
    }

    .posStats-cardValue {
        font-size: 16px;
    }

    .posStats-cardValue--small {
        font-size: 12px;
    }
}

/* Responsive — Mobile: sidebar hidden, overlay takes full width */
/* Pattern source: dashboardPopUp (dashboard.css:695) — left:0 at 768px when sidebar collapses */
@media (max-width: 768px) {
    .posStats-overlay {
        left: 0;
        right: 0;
        align-items: flex-end;
    }

    .posStats-modal {
        max-height: 95vh;
        border-radius: 12px 12px 0 0;
        width: 100%;
    }

    .posStats-charts-row {
        flex-direction: column;
    }

    .posStats-section--half {
        border-right: none;
        border-bottom: 1px solid #f3f4f6;
    }

    .posStats-cards {
        gap: 6px;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .posStats-card {
        min-width: 0;
    }

    .posStats-cardValue {
        font-size: 15px;
    }

    .posStats-cardValue--small {
        font-size: 12px;
    }

    .posStats-shiftActions {
        flex-direction: column;
    }

    .posStats-shiftBtn {
        width: 100%;
        justify-content: center;
    }

    .posStats-shiftReport-header {
        flex-direction: column;
        gap: 6px;
    }

    .posStats-shiftTable {
        overflow-x: auto;
    }

    .posStats-shiftTable table {
        min-width: 400px;
    }

    .posStats-historyItem-details {
        flex-direction: column;
        gap: 4px;
    }
}

/* ============================================
   SHIFT REPORT SECTION
   ============================================ */

/* Shift section container */
.posStats-shiftSection {
    border-top: 2px solid #e5e7eb;
}

/* Action buttons row */
.posStats-shiftActions {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}

.posStats-shiftBtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid #d1d5db;
    background: #f9fafb;
    color: #374151;
    transition: background 0.15s, border-color 0.15s, transform 0.1s;
}

.posStats-shiftBtn:hover {
    background: #f3f4f6;
    border-color: #9ca3af;
}

.posStats-shiftBtn:active {
    transform: scale(0.98);
}

.posStats-shiftBtn i {
    font-size: 14px;
}

.posStats-shiftBtn--danger {
    background: #fef2f2;
    color: #dc2626;
    border-color: #fca5a5;
}

.posStats-shiftBtn--danger:hover {
    background: #fee2e2;
    border-color: #f87171;
}

.posStats-shiftBtn--outline {
    background: transparent;
    color: #6b7280;
    border-color: #e5e7eb;
}

.posStats-shiftBtn--outline:hover {
    background: #f9fafb;
    border-color: #d1d5db;
}

/* Spec 1018: Open Shift primary button */
/* Pattern source: posStats-shiftBtn--danger (pointOfSale.css:2520) for variant styling */
.posStats-shiftBtn--primary {
    background: #335C5C;
    color: #ffffff;
    border-color: #335C5C;
}

.posStats-shiftBtn--primary:hover {
    background: #2a4d4d;
    border-color: #2a4d4d;
}

/* Spec 1018: Shift status indicator */
.posStats-shiftStatus {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 12px;
}

.posStats-shiftStatus--open {
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
}

.posStats-shiftStatus--closed {
    background: #f9fafb;
    color: #6b7280;
    border: 1px solid #e5e7eb;
}

.posStats-shiftStatus i {
    font-size: 14px;
}

.posStats-shiftStatus__time {
    font-weight: 400;
    opacity: 0.75;
    margin-left: 4px;
}

/* Spec 1018: Ideal denomination editor rows */
.idealDenominations-editor {
    max-width: 500px;
}

.idealDenomination-row input {
    padding: 8px 10px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 13px;
}

.idealDenomination-row .removeIdealDenom {
    padding: 6px 8px !important;
    background: #fef2f2 !important;
    color: #dc2626 !important;
    border: 1px solid #fca5a5 !important;
}

.idealDenomination-row .removeIdealDenom:hover {
    background: #fee2e2 !important;
}

/* X-Report display */
.posStats-shiftReport {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 16px;
    margin-top: 8px;
}

.posStats-shiftReport-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e7eb;
}

.posStats-shiftReport-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    background: #335C5C;
    color: #fff;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.posStats-shiftReport-time {
    font-size: 12px;
    color: #6b7280;
}

/* Shift report cards reuse posStats-cards but with tighter spacing */
.posStats-shiftCards {
    border-bottom: none;
    padding: 0 0 12px 0;
}

/* Shift report tables */
.posStats-shiftTable {
    margin-top: 12px;
}

.posStats-shiftTable-title {
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.posStats-shiftTable table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.posStats-shiftTable thead th {
    text-align: left;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 600;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-bottom: 1px solid #e5e7eb;
}

.posStats-shiftTable tbody td {
    padding: 8px 10px;
    color: #374151;
    border-bottom: 1px solid #f3f4f6;
}

.posStats-shiftTable tbody tr:last-child td {
    border-bottom: none;
}

.posStats-shiftTable tbody tr:hover {
    background: #f3f4f6;
}

/* Shift history */
.posStats-shiftHistory {
    margin-top: 8px;
}

.posStats-shiftHistory-empty {
    text-align: center;
    padding: 20px;
    color: #9ca3af;
    font-size: 13px;
    font-style: italic;
}

.posStats-historyItem {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 12px 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    margin-bottom: 8px;
}

.posStats-historyItem:last-child {
    margin-bottom: 0;
}

.posStats-historyItem-date {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
    min-width: 100px;
}

.posStats-historyItem-date span {
    display: block;
    font-size: 11px;
    font-weight: 400;
    color: #9ca3af;
}

.posStats-historyItem-details {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: #6b7280;
}

.posStats-historyItem-details b {
    color: #374151;
    font-weight: 600;
}

.posStats-historyItem-variance {
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.posStats-variance--over {
    background: #dcfce7;
    color: #16a34a;
}

.posStats-variance--short {
    background: #fef2f2;
    color: #dc2626;
}

.posStats-variance--exact {
    background: #f3f4f6;
    color: #374151;
}

/* ============================================
   Spec 1003: Cashier Color Swatch Picker
   ============================================ */
.posColorSwatch__dot:hover {
    transform: scale(1.2);
}

.posColorSwatch__dot--selected {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0f172a;
}

/* ============================================
   Spec 1003: Runtime Floor Plan — Welcome Screen
   ============================================ */

/* Viewport: fills available screen height, contains canvas + overlays */
.floorPlan__viewport {
    position: relative;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* Header Overlay: room tabs + walk-in + display modes — floats over canvas top */
.floorPlan__headerOverlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    pointer-events: none;
    /* pass clicks through to canvas */
    background: linear-gradient(to bottom, rgba(248, 250, 252, 0.92) 60%, rgba(248, 250, 252, 0));
}

.floorPlan__headerOverlay>* {
    pointer-events: auto;
    /* re-enable clicks on interactive children */
}

.floorPlan__roomTabs {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    align-items: center;
    flex: 1;
    min-width: 0;
}

.floorPlan__roomTab {
    height: var(--line-height);
    line-height: var(--line-height);
    padding: 0 12px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 500;
    font-size: 13px;
    color: #64748b;
    background: rgba(241, 245, 249, 0.95);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: all 0.2s;
    display: flex;
    gap: 6px;
    align-items: center;
}

.floorPlan__roomTab:hover {
    background: #e2e8f0;
    color: #334155;
}

.floorPlan__roomTab--selected {
    background: #7C3AED;
    color: #fff;
}

.floorPlan__roomTab--selected:hover {
    background: #6D28D9;
    color: #fff;
}

.floorPlan__roomCount {
    font-size: 11px;
    opacity: 0.75;
}

.floorPlan__walkInTab {
    height: var(--line-height);
    line-height: var(--line-height);
    padding: 0 12px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 500;
    font-size: 13px;
    color: #64748b;
    background: rgba(241, 245, 249, 0.95);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px dashed #cbd5e1;
    margin-left: 6px;
    transition: all 0.2s;
}

.floorPlan__walkInTab:hover {
    background: #e2e8f0;
    color: #334155;
}

/* Display Mode Toggles */
.floorPlan__displayModes {
    display: flex;
    gap: 2px;
    background: rgba(241, 245, 249, 0.95);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 2px;
    flex-shrink: 0;
    margin-left: 12px;
}

.floorPlan__modeBtn {
    width: var(--line-height);
    line-height: var(--line-height);
    padding: 0;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    background: transparent;
    color: #94a3b8;
    font-size: 13px;
    transition: all 0.2s;
}

.floorPlan__modeBtn:hover {
    color: #334155;
    background: #e2e8f0;
}

.floorPlan__modeBtn--active {
    background: #fff;
    color: #7C3AED;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Floor Plan Canvas — fills the entire viewport area */
.floorPlan__canvas {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0;
    background: #f8fafc;
}

/* Table Elements */
.floorPlan__table {
    width: 72px;
    height: 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s;
    color: #fff;
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    z-index: 1;
}

.floorPlan__table:hover {
    transform: scale(1.08);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
    z-index: 10;
}

/* Table Shapes */
.floorPlan__table--round {
    border-radius: 50%;
}

.floorPlan__table--rect {
    border-radius: 8px;
}

.floorPlan__table--bar {
    border-radius: 4px;
    width: 100px;
    height: 40px;
}

/* Table Status Colors */
.floorPlan__table--available {
    background: #22C55E !important;
    color: #fff;
}

.floorPlan__table--dirty {
    background: #94A3B8 !important;
    color: #fff;
    opacity: 0.7;
}

/* Duration Heat (progressive text color) */
.floorPlan__table--warning .floorPlan__tableInfo {
    color: #F59E0B;
}

.floorPlan__table--alert .floorPlan__tableInfo {
    color: #F97316;
}

.floorPlan__table--critical .floorPlan__tableInfo {
    color: #EF4444;
    animation: floorPlanPulse 2s ease-in-out infinite;
}

@keyframes floorPlanPulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.6;
    }
}

/* Table Labels */
.floorPlan__tableLabel {
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

.floorPlan__tableInfo {
    font-size: 10px;
    font-weight: 500;
    margin-top: 2px;
    opacity: 0.9;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 64px;
    text-align: center;
}

/* Legend Overlay — floats over canvas bottom */
.floorPlan__legendOverlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 20;
    display: flex;
    gap: 10px;
    padding: 8px 12px;
    flex-wrap: wrap;
    font-size: 11px;
    color: #475569;
    pointer-events: none;
    background: linear-gradient(to top, rgba(248, 250, 252, 0.92) 60%, rgba(248, 250, 252, 0));
}

.floorPlan__legendItem {
    display: flex;
    align-items: center;
    gap: 4px;
}

.floorPlan__legendDot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

/* ============================================
   Spec 1003: Floor Plan Editor — Settings Tab
   Viewport-fill layout matching runtime welcome screen
   ============================================ */

/* Viewport: fills available height within settings form, contains canvas + HUD */
.floorPlanEditor__viewport {
    position: relative;
    height: calc(100vh - var(--line-height) * 2 - calc(var(--line-height) * 1.17) - 200px);
    min-height: 300px;
    overflow: hidden;
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    margin: 0.5em 0;
}

/* HUD: Room label overlay (top-left) — mirrors floorPlan__headerOverlay pattern */
.floorPlanEditor__hudTop {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    padding: 10px 12px;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(248, 250, 252, 0.92) 60%, rgba(248, 250, 252, 0));
}

.floorPlanEditor__hudTop>* {
    pointer-events: auto;
}

.floorPlanEditor__hudLabel {
    font-weight: 600;
    font-size: 14px;
    color: #0f172a;
}

/* Canvas: fills the entire viewport area */
.floorPlanEditor__canvas {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #f8fafc;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
}

.floorPlanEditor__table {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    transition: box-shadow 0.15s, transform 0.15s;
    z-index: 1;
}

.floorPlanEditor__table:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    z-index: 10;
}

/* Editor Table Shapes */
.floorPlanEditor__table--round {
    border-radius: 50%;
}

.floorPlanEditor__table--rect {
    border-radius: 6px;
}

.floorPlanEditor__table--bar {
    border-radius: 4px;
}

/* Drag State */
.floorPlanEditor__table--dragging {
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.35);
    transform: scale(1.08);
    z-index: 100;
    opacity: 0.9;
}

/* Canvas Add Button — absolutely positioned bottom-right */
.floorPlanEditor__addBtn {
    position: absolute;
    bottom: 12px;
    right: 12px;
    z-index: 50;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px dashed #7C3AED;
    background: rgba(255, 255, 255, 0.92);
    color: #7C3AED;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(124, 58, 237, 0.15);
    transition: background 0.15s, transform 0.15s, box-shadow 0.15s;
}

.floorPlanEditor__addBtn:hover {
    background: #7C3AED;
    color: #fff;
    border-color: #7C3AED;
    transform: scale(1.1);
    box-shadow: 0 4px 16px rgba(124, 58, 237, 0.35);
}

/* Canvas Remove Button — top-right corner of each table, visible on hover */
.floorPlanEditor__removeBtn {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: none;
    background: #DC2626;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.15s, transform 0.15s;
    z-index: 20;
    padding: 0;
}

.floorPlanEditor__table:hover .floorPlanEditor__removeBtn {
    opacity: 1;
}

.floorPlanEditor__removeBtn:hover {
    transform: scale(1.2);
    background: #B91C1C;
}

/* Canvas Empty State — centered inside canvas */
.floorPlanEditor__empty {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

/* ============================================
   CATEGORY DISCOUNT — Day-of-Week Scheduling
   Pattern source: planner.html:504-512 plannerRecurrence-weekdays grid
   ============================================ */

.categoryDiscount-weekdayGrid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}

.categoryDiscount-weekday {
    cursor: pointer;
    user-select: none;
    transition: all 150ms ease;
    margin: 0 !important;
}

.categoryDiscount-weekday input[type="checkbox"] {
    display: none;
}

.categoryDiscount-weekday.active {
    background: #f59e0b !important;
    color: #fff !important;
    border-color: #d97706 !important;
}

.categoryDiscount-daysHint {
    margin-top: 4px;
    font-size: 0.8rem;
    color: #94a3b8;
    font-style: italic;
}

/* Contact Required First Overlay */
.contactRequired__overlay {
    position: absolute;
    inset: 0;
    background: rgba(247, 247, 247, 0.95);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
}

.contactRequired__content {
    text-align: center;
    padding: 40px;
    max-width: 400px;
}

.contactRequired__icon {
    font-size: 48px;
    color: #335C5C;
    margin-bottom: 16px;
}

.contactRequired__title {
    font-size: 22px;
    font-weight: 600;
    color: #1f2937;
    margin: 0 0 8px 0;
}

.contactRequired__description {
    font-size: 14px;
    color: #6b7280;
    margin: 0 0 24px 0;
    line-height: 1.5;
}

.contactRequired__selectBtn {
    font-size: 16px !important;
    padding: 14px 28px !important;
}

.contactRequired__selectBtn:hover {
    opacity: 0.9;
}

#Dashboard .settingsCard {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px;
}

#Dashboard #presetPreview {
    transition: all 0.2s ease;
}

#Dashboard #customPresetSection,
#Dashboard #customMarginsSection {
    animation: fadeIn 0.2s ease;
}

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


.rental-status-header {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}

.rental-status-labels {
    margin-left: 10px;
}

.rental-duration-label {
    margin-left: 5px;
}


.rental-scheduled-info {
    color: blue;
}

.rental-active-info {
    color: green;
}

.rental-completed-info {
    color: orange;
}


.rental-items-table {
    margin: 0px;
    width: 100%;
    border: none;
    table-layout: auto;
}

.rental-items-table th,
.rental-items-table td {
    text-align: left;
}

.rental-items-table tfoot th {
    text-align: right;
}


.rental-ready-bill {
    font-weight: bold;
}

.customer-portal {
    min-height: 100vh;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
}

.portal-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 2rem 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.portal-header h1.ui.header {
    color: white !important;
    margin: 0;
}

.portal-header h1.ui.header .sub.header {
    color: rgba(255,255,255,0.8) !important;
    font-weight: normal;
}

.status-section {
    margin-top: 1rem;
}

.portal-content {
    padding: 2rem 0;
    max-width: 1200px;
}

.summary-card {
    margin-bottom: 2rem !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    border-radius: 15px !important;
}

.timeline-segment, 
.items-segment, 
.actions-segment, 
.company-segment, 
.help-segment {
    border-radius: 15px !important;
    box-shadow: 0 2px 15px rgba(0,0,0,0.08) !important;
    border: none !important;
    margin-bottom: 1.5rem !important;
}

.ui.timeline .event .content {
    padding-left: 1rem;
}

.ui.timeline .event .label .ui.circular.label {
    border: 3px solid white;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.actions-segment .ui.vertical.menu .item {
    border-radius: 10px !important;
    margin-bottom: 0.5rem;
    transition: all 0.3s ease;
}

.actions-segment .ui.vertical.menu .item:hover {
    background: rgba(0,0,0,0.05);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.company-details h4 {
    color: #667eea;
    margin-bottom: 1rem;
}

.company-details p {
    margin: 0.5rem 0;
}

.portal-footer {
    background: #34495e;
    color: white;
    padding: 1.5rem 0;
    margin-top: 3rem;
}

.footer-content {
    text-align: center;
}

.footer-content p {
    margin: 0.3rem 0;
}


@media (max-width: 768px) {
    .portal-header {
        padding: 1.5rem 0;
    }
    
    .header-content {
        flex-direction: column;
        text-align: center;
    }
    
    .status-section {
        margin-top: 1rem;
        width: 100%;
    }
    
    .portal-content {
        padding: 1rem;
    }
    
    .ui.stackable.grid > .column {
        padding: 1rem 0 !important;
    }
    
    .ui.small.statistics {
        justify-content: center;
    }
    
    .ui.small.statistics .statistic {
        margin: 0 1rem 1rem 0;
    }
}


.loading-container, 
.error-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 2rem;
}

.error-content, 
.loading-content {
    text-align: center;
    max-width: 500px;
}


.ui.timeline .event.completed .label .ui.circular.label {
    background: #28a745 !important;
    color: white !important;
}

.ui.timeline .event.pending .label .ui.circular.label {
    background: #6c757d !important;
    color: white !important;
}


.price-info {
    margin-top: 0.5rem;
    font-weight: bold;
    color: #667eea;
}
#ServiceAgent .serviceAgent__tabs,
#ServiceAgentPlaybook .serviceAgent__tabs,
#ServiceAgentKnowledge .serviceAgent__tabs,
#ServiceAgentSetting .serviceAgent__tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid rgba(15, 23, 42, 0.08);
    margin-bottom: 1.5em;
    padding: 0 0.5em;
}

#ServiceAgent .serviceAgent__tab,
#ServiceAgentPlaybook .serviceAgent__tab,
#ServiceAgentKnowledge .serviceAgent__tab,
#ServiceAgentSetting .serviceAgent__tab {
    padding: 0.75em 1.25em;
    font-size: 0.9rem;
    font-weight: 500;
    color: #64748b;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s ease, border-color 0.2s ease;
}

#ServiceAgent .serviceAgent__tab:hover,
#ServiceAgentPlaybook .serviceAgent__tab:hover,
#ServiceAgentKnowledge .serviceAgent__tab:hover,
#ServiceAgentSetting .serviceAgent__tab:hover {
    color: #0f172a;
}

#ServiceAgent .serviceAgent__tab.activeButton,
#ServiceAgentPlaybook .serviceAgent__tab.activeButton,
#ServiceAgentKnowledge .serviceAgent__tab.activeButton,
#ServiceAgentSetting .serviceAgent__tab.activeButton {
    color: var(--jmkr-color-1);
    border-bottom-color: var(--jmkr-color-1);
    font-weight: 600;
}

/* State Step Indicator */
#ServiceAgent .serviceAgent__stateIndicator {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 1em 0;
    position: relative;
    margin-bottom: 1.5em;
}

#ServiceAgent .serviceAgent__stateIndicator::before {
    content: '';
    position: absolute;
    top: 1.55em;
    left: 0;
    right: 0;
    height: 2px;
    background: #e2e8f0;
    z-index: 0;
}

#ServiceAgent .serviceAgent__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    flex: 1;
    min-width: 0;
}

#ServiceAgent .serviceAgent__stepDot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #e2e8f0;
    border: 2px solid #e2e8f0;
    margin-bottom: 0.5em;
    transition: all 0.3s ease;
}

#ServiceAgent .serviceAgent__step--past .serviceAgent__stepDot {
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
}

#ServiceAgent .serviceAgent__step--current .serviceAgent__stepDot {
    background: #ffffff;
    border: 3px solid var(--jmkr-color-1);
    width: 16px;
    height: 16px;
    box-shadow: 0 0 0 4px rgba(92, 179, 255, 0.2);
}

#ServiceAgent .serviceAgent__step--future .serviceAgent__stepDot {
    background: #f1f5f9;
    border-color: #e2e8f0;
}

#ServiceAgent .serviceAgent__stepLabel {
    font-size: 0.7rem;
    color: #94a3b8;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90px;
}

#ServiceAgent .serviceAgent__step--current .serviceAgent__stepLabel {
    color: var(--jmkr-color-1);
    font-weight: 600;
}

#ServiceAgent .serviceAgent__step--past .serviceAgent__stepLabel {
    color: #64748b;
}

/* Current State Info */
#ServiceAgent .serviceAgent__currentState {
    text-align: center;
    margin-bottom: 1.5em;
}

#ServiceAgent .serviceAgent__stateLabel {
    font-size: 1.25rem;
    font-weight: 600;
    color: #0f172a;
}

#ServiceAgent .serviceAgent__stateTime {
    font-size: 0.85rem;
    color: #94a3b8;
    margin-top: 0.25em;
}

/* Action Buttons */
#ServiceAgent .serviceAgent__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75em;
    flex-wrap: wrap;
    padding: 0.5em 0;
}

#ServiceAgent .serviceAgent__actions .ui.button {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
}

#ServiceAgent .serviceAgent__actions .lucide-icon {
    width: 14px;
    height: 14px;
}

/* Spinner State */
#ServiceAgent .serviceAgent__spinner {
    display: flex;
    align-items: center;
    gap: 0.75em;
    padding: 0.5em 1em;
    background: #f8fafc;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #64748b;
}

/* Quick Metrics Panel */
#ServiceAgent .serviceAgent__metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1em;
}

#ServiceAgent .serviceAgent__metric {
    text-align: center;
    padding: 1em;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

#ServiceAgent .serviceAgent__metricValue {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--jmkr-color-1);
}

#ServiceAgent .serviceAgent__metricLabel {
    font-size: 0.75rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 0.25em;
}

/* Activation History Timeline */
#ServiceAgent .serviceAgent__history {
    position: relative;
    padding-left: 1.5em;
}

#ServiceAgent .serviceAgent__history::before {
    content: '';
    position: absolute;
    left: 0.35em;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #e2e8f0;
}

#ServiceAgent .serviceAgent__historyEntry {
    display: flex;
    align-items: flex-start;
    gap: 0.75em;
    padding: 0.5em 0;
    position: relative;
}

#ServiceAgent .serviceAgent__historyDot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--jmkr-color-1);
    margin-top: 0.3em;
    position: absolute;
    left: -1.15em;
    z-index: 1;
}

#ServiceAgent .serviceAgent__historyContent {
    flex: 1;
}

#ServiceAgent .serviceAgent__historyState {
    font-size: 0.85rem;
    font-weight: 500;
    color: #0f172a;
}

#ServiceAgent .serviceAgent__historyTime {
    font-size: 0.75rem;
    color: #94a3b8;
}

/* Placeholder Styling (for Playbook, Knowledge, Settings) */
.serviceAgent__placeholder {
    text-align: center;
    padding: 4em 2em;
    color: #94a3b8;
}

.serviceAgent__placeholder-icon {
    font-size: 3rem;
    margin-bottom: 0.5em;
    opacity: 0.4;
}

.serviceAgent__placeholder h3 {
    color: #64748b;
    margin-bottom: 0.5em;
}

.serviceAgent__placeholder p {
    font-size: 0.9rem;
}

/* Responsive */
@media (max-width: 768px) {
    #ServiceAgent .serviceAgent__metrics {
        grid-template-columns: repeat(2, 1fr);
    }

    #ServiceAgent .serviceAgent__stateIndicator {
        overflow-x: auto;
        padding-bottom: 0.5em;
    }

    #ServiceAgent .serviceAgent__stepLabel {
        font-size: 0.6rem;
        max-width: 60px;
    }

    #ServiceAgent .serviceAgent__tabs,
    #ServiceAgentPlaybook .serviceAgent__tabs,
    #ServiceAgentKnowledge .serviceAgent__tabs,
    #ServiceAgentSetting .serviceAgent__tabs {
        overflow-x: auto;
    }
}

@media (max-width: 480px) {
    #ServiceAgent .serviceAgent__metrics {
        grid-template-columns: 1fr;
    }

    #ServiceAgent .serviceAgent__actions {
        flex-direction: column;
    }

    #ServiceAgent .serviceAgent__actions .ui.button {
        width: 100%;
        justify-content: center;
    }
}

/* ============================================
   PLAYBOOK VIEWER/EDITOR (ServiceAgentPlaybook)
   Pattern source: serviceAgent.css (settingsSection, metrics)
   ============================================ */

/* Playbook Header — Version & Status */
#ServiceAgentPlaybook .saPlaybook__version {
    font-size: 0.75rem;
    font-weight: 500;
    color: #94a3b8;
    margin-left: 0.5em;
    vertical-align: middle;
}

#ServiceAgentPlaybook .saPlaybook__statusBadge {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.2em 0.6em;
    border-radius: 12px;
    margin-left: 0.5em;
    vertical-align: middle;
}

#ServiceAgentPlaybook .saPlaybook__statusBadge--draft {
    background: #fef3c7;
    color: #92400e;
}

#ServiceAgentPlaybook .saPlaybook__statusBadge--pending {
    background: #dbeafe;
    color: #1e40af;
}

#ServiceAgentPlaybook .saPlaybook__statusBadge--approved {
    background: #d1fae5;
    color: #065f46;
}

#ServiceAgentPlaybook .saPlaybook__statusBadge--active {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #86efac;
}

/* Score Bars */
#ServiceAgentPlaybook .saPlaybook__scores {
    display: flex;
    flex-direction: column;
    gap: 0.75em;
    padding: 1em 0;
}

#ServiceAgentPlaybook .saPlaybook__scoreRow {
    display: flex;
    align-items: center;
    gap: 0.75em;
}

#ServiceAgentPlaybook .saPlaybook__scoreLabel {
    width: 100px;
    font-size: 0.8rem;
    font-weight: 500;
    color: #64748b;
    text-align: right;
    flex-shrink: 0;
}

#ServiceAgentPlaybook .saPlaybook__scoreBar {
    flex: 1;
    height: 8px;
    background: #f1f5f9;
    border-radius: 4px;
    overflow: hidden;
}

#ServiceAgentPlaybook .saPlaybook__scoreBarFill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

#ServiceAgentPlaybook .saPlaybook__scoreBarFill--accuracy {
    background: linear-gradient(90deg, #3b82f6, #2563eb);
}

#ServiceAgentPlaybook .saPlaybook__scoreBarFill--completeness {
    background: linear-gradient(90deg, #8b5cf6, #7c3aed);
}

#ServiceAgentPlaybook .saPlaybook__scoreBarFill--readiness {
    background: linear-gradient(90deg, #22c55e, #16a34a);
}

#ServiceAgentPlaybook .saPlaybook__scoreValue {
    width: 40px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #0f172a;
    text-align: right;
    flex-shrink: 0;
}

/* Workflow Buttons */
#ServiceAgentPlaybook .saPlaybook__workflow {
    display: flex;
    align-items: center;
    gap: 0.5em;
    flex-wrap: wrap;
    padding: 0.75em 0 0.25em;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    margin-top: 0.5em;
}

#ServiceAgentPlaybook .saPlaybook__workflow .ui.button {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
}

#ServiceAgentPlaybook .saPlaybook__workflow .lucide-icon {
    width: 14px;
    height: 14px;
}

/* Accordion Sections */
#ServiceAgentPlaybook .saPlaybook__accordion {
    display: flex;
    flex-direction: column;
    gap: 0;
}

#ServiceAgentPlaybook .saPlaybook__section {
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

#ServiceAgentPlaybook .saPlaybook__section:last-child {
    border-bottom: none;
}

#ServiceAgentPlaybook .saPlaybook__sectionHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85em 0.5em;
    cursor: pointer;
    transition: background 0.2s ease;
    border-radius: 6px;
}

#ServiceAgentPlaybook .saPlaybook__sectionHeader:hover {
    background: #f8fafc;
}

#ServiceAgentPlaybook .saPlaybook__sectionLeft {
    display: flex;
    align-items: center;
    gap: 0.6em;
}

#ServiceAgentPlaybook .saPlaybook__sectionLeft .lucide-icon {
    width: 16px;
    height: 16px;
    color: #64748b;
}

#ServiceAgentPlaybook .saPlaybook__sectionName {
    font-size: 0.9rem;
    font-weight: 500;
    color: #0f172a;
}

#ServiceAgentPlaybook .saPlaybook__sectionAccuracy {
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.15em 0.5em;
    border-radius: 10px;
}

#ServiceAgentPlaybook .saPlaybook__sectionAccuracy--high {
    background: #dcfce7;
    color: #166534;
}

#ServiceAgentPlaybook .saPlaybook__sectionAccuracy--medium {
    background: #fef3c7;
    color: #92400e;
}

#ServiceAgentPlaybook .saPlaybook__sectionAccuracy--low {
    background: #fee2e2;
    color: #991b1b;
}

#ServiceAgentPlaybook .saPlaybook__sectionRight {
    display: flex;
    align-items: center;
    gap: 0.5em;
}

#ServiceAgentPlaybook .saPlaybook__verifiedBadge {
    display: inline-flex;
    align-items: center;
    gap: 0.25em;
    font-size: 0.7rem;
    font-weight: 500;
    color: #16a34a;
    background: #f0fdf4;
    padding: 0.15em 0.5em;
    border-radius: 10px;
}

#ServiceAgentPlaybook .saPlaybook__verifiedBadge .lucide-icon {
    width: 10px;
    height: 10px;
}

#ServiceAgentPlaybook .saPlaybook__chevron {
    width: 16px;
    height: 16px;
    color: #94a3b8;
    transition: transform 0.2s ease;
}

/* Section Preview (collapsed) */
#ServiceAgentPlaybook .saPlaybook__sectionPreview {
    padding: 0 0.5em 0.75em 2.6em;
    font-size: 0.8rem;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Section Body (expanded) */
#ServiceAgentPlaybook .saPlaybook__sectionBody {
    display: none;
    padding: 0 0.5em 1em 2.6em;
}

#ServiceAgentPlaybook .saPlaybook__sectionEditor {
    width: 100%;
    min-height: 150px;
    padding: 0.75em;
    font-size: 0.85rem;
    font-family: inherit;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    resize: vertical;
    transition: border-color 0.2s ease;
    line-height: 1.5;
}

#ServiceAgentPlaybook .saPlaybook__sectionEditor:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 0 3px rgba(92, 179, 255, 0.1);
}

#ServiceAgentPlaybook .saPlaybook__sectionActions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.75em;
}

#ServiceAgentPlaybook .saPlaybook__verifyLabel {
    display: flex;
    align-items: center;
    gap: 0.4em;
    font-size: 0.8rem;
    color: #64748b;
    cursor: pointer;
}

/* Diff View — summary entries (diffEntry, diffSectionName, diffBadge, diffAccuracy) */
#ServiceAgentPlaybook .saPlaybook__diffEntry {
    display: flex;
    align-items: center;
    gap: 0.75em;
    padding: 0.75em 0.5em;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

#ServiceAgentPlaybook .saPlaybook__diffEntry:last-child {
    border-bottom: none;
}

#ServiceAgentPlaybook .saPlaybook__diffSectionName {
    font-size: 0.85rem;
    font-weight: 500;
    color: #0f172a;
    min-width: 120px;
}

#ServiceAgentPlaybook .saPlaybook__diffBadge {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.15em 0.5em;
    border-radius: 10px;
}

#ServiceAgentPlaybook .saPlaybook__diffBadge--changed {
    background: #fef3c7;
    color: #92400e;
}

#ServiceAgentPlaybook .saPlaybook__diffBadge--unchanged {
    background: #f1f5f9;
    color: #94a3b8;
}

#ServiceAgentPlaybook .saPlaybook__diffAccuracy {
    font-size: 0.8rem;
    color: #64748b;
    margin-left: auto;
}

#ServiceAgentPlaybook .saPlaybook__noDiff,
#ServiceAgentPlaybook .saPlaybook__noHistory {
    text-align: center;
    padding: 1.5em;
    color: #94a3b8;
    font-size: 0.85rem;
}

/* Approval History Timeline */
#ServiceAgentPlaybook .saPlaybook__approvalTimeline {
    position: relative;
    padding-left: 1.5em;
}

#ServiceAgentPlaybook .saPlaybook__approvalTimeline::before {
    content: '';
    position: absolute;
    left: 0.35em;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #e2e8f0;
}

#ServiceAgentPlaybook .saPlaybook__approvalEntry {
    display: flex;
    align-items: flex-start;
    gap: 0.75em;
    padding: 0.5em 0;
    position: relative;
}

#ServiceAgentPlaybook .saPlaybook__approvalDot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #94a3b8;
    margin-top: 0.3em;
    position: absolute;
    left: -1.15em;
    z-index: 1;
}

#ServiceAgentPlaybook .saPlaybook__approvalDot--submitted {
    background: #3b82f6;
}

#ServiceAgentPlaybook .saPlaybook__approvalDot--approved {
    background: #22c55e;
}

#ServiceAgentPlaybook .saPlaybook__approvalDot--rejected {
    background: #ef4444;
}

#ServiceAgentPlaybook .saPlaybook__approvalDot--info {
    background: #94a3b8;
}

#ServiceAgentPlaybook .saPlaybook__approvalContent {
    flex: 1;
}

#ServiceAgentPlaybook .saPlaybook__approvalAction {
    font-size: 0.85rem;
    font-weight: 500;
    color: #0f172a;
}

#ServiceAgentPlaybook .saPlaybook__approvalNotes {
    font-size: 0.8rem;
    color: #64748b;
    margin-top: 0.15em;
    font-style: italic;
}

#ServiceAgentPlaybook .saPlaybook__approvalTime {
    font-size: 0.75rem;
    color: #94a3b8;
}

/* Interview History Timeline */
#ServiceAgentPlaybook .saPlaybook__interviewTimeline {
    display: flex;
    flex-direction: column;
    gap: 0;
}

#ServiceAgentPlaybook .saPlaybook__interviewEntry {
    display: flex;
    align-items: center;
    gap: 1em;
    padding: 0.65em 0.5em;
    border-bottom: 1px solid rgba(15, 23, 42, 0.04);
}

#ServiceAgentPlaybook .saPlaybook__interviewEntry:last-child {
    border-bottom: none;
}

#ServiceAgentPlaybook .saPlaybook__interviewRound {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--jmkr-color-1);
    background: rgba(92, 179, 255, 0.08);
    padding: 0.2em 0.6em;
    border-radius: 10px;
    white-space: nowrap;
    flex-shrink: 0;
}

#ServiceAgentPlaybook .saPlaybook__interviewContent {
    display: flex;
    align-items: center;
    gap: 1em;
    font-size: 0.8rem;
    color: #64748b;
}

/* Responsive — Playbook */
@media (max-width: 768px) {
    #ServiceAgentPlaybook .saPlaybook__scoreLabel {
        width: 80px;
        font-size: 0.75rem;
    }

    #ServiceAgentPlaybook .saPlaybook__workflow {
        flex-direction: column;
        align-items: stretch;
    }

    #ServiceAgentPlaybook .saPlaybook__workflow .ui.button {
        width: 100%;
        justify-content: center;
    }


    #ServiceAgentPlaybook .saPlaybook__sectionBody {
        padding-left: 0.5em;
    }

    #ServiceAgentPlaybook .saPlaybook__sectionPreview {
        padding-left: 0.5em;
    }
}

@media (max-width: 480px) {
    #ServiceAgentPlaybook .saPlaybook__interviewContent {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.2em;
    }

    #ServiceAgentPlaybook .saPlaybook__scoreValue {
        display: none;
    }
}

/* ============================================
   KNOWLEDGE BASE (ServiceAgentKnowledge)
   Pattern source: serviceAgent.css (settingsSection, history timeline)
   ============================================ */

/* Gate Notice */
#ServiceAgentKnowledge .saKnowledge__notice {
    display: flex;
    align-items: flex-start;
    gap: 0.75em;
    padding: 1em 1.25em;
    border-radius: 8px;
    margin-bottom: 1.5em;
    font-size: 0.9rem;
}

#ServiceAgentKnowledge .saKnowledge__notice .lucide-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 0.1em;
}

#ServiceAgentKnowledge .saKnowledge__notice--warning {
    background: #fef3c7;
    border: 1px solid #fde68a;
    color: #92400e;
}

#ServiceAgentKnowledge .saKnowledge__noticeContent strong {
    display: block;
    margin-bottom: 0.25em;
}

#ServiceAgentKnowledge .saKnowledge__noticeContent p {
    margin: 0;
    font-size: 0.85rem;
    opacity: 0.85;
}

/* Upload Area */
#ServiceAgentKnowledge .saKnowledge__fileInput {
    display: none;
}

#ServiceAgentKnowledge .saKnowledge__uploadRow {
    display: flex;
    align-items: center;
    gap: 0.75em;
    padding: 0.5em 0;
}

#ServiceAgentKnowledge .saKnowledge__fileName {
    font-size: 0.85rem;
    color: #64748b;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* URL Input Row */
#ServiceAgentKnowledge .saKnowledge__urlRow {
    display: flex;
    align-items: center;
    gap: 0.75em;
    padding: 0.5em 0;
}

#ServiceAgentKnowledge .saKnowledge__urlInput {
    flex: 1;
}

#ServiceAgentKnowledge .saKnowledge__urlInput input {
    width: 100%;
    font-size: 0.9rem;
}

/* Sync Row */
#ServiceAgentKnowledge .saKnowledge__syncRow {
    display: flex;
    align-items: center;
    gap: 0.75em;
    padding: 0.5em 0;
}

#ServiceAgentKnowledge .saKnowledge__syncNote {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    font-size: 0.8rem;
    color: #94a3b8;
}

#ServiceAgentKnowledge .saKnowledge__syncNote .lucide-icon {
    width: 14px;
    height: 14px;
}

/* Knowledge Sources List */
#ServiceAgentKnowledge .saKnowledge__sourceList {
    display: flex;
    flex-direction: column;
    gap: 0;
}

#ServiceAgentKnowledge .saKnowledge__sourceCard {
    display: flex;
    align-items: flex-start;
    gap: 0.75em;
    padding: 0.85em 0.5em;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

#ServiceAgentKnowledge .saKnowledge__sourceCard:last-child {
    border-bottom: none;
}

#ServiceAgentKnowledge .saKnowledge__sourceIcon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    border-radius: 8px;
    flex-shrink: 0;
}

#ServiceAgentKnowledge .saKnowledge__sourceIcon .lucide-icon {
    width: 16px;
    height: 16px;
    color: #64748b;
}

#ServiceAgentKnowledge .saKnowledge__sourceInfo {
    flex: 1;
    min-width: 0;
}

#ServiceAgentKnowledge .saKnowledge__sourceName {
    font-size: 0.9rem;
    font-weight: 500;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#ServiceAgentKnowledge .saKnowledge__sourceMeta {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin-top: 0.25em;
}

#ServiceAgentKnowledge .saKnowledge__sourceTime {
    font-size: 0.75rem;
    color: #94a3b8;
}

/* Status Badges */
#ServiceAgentKnowledge .saKnowledge__statusBadge {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.15em 0.5em;
    border-radius: 10px;
}

#ServiceAgentKnowledge .saKnowledge__statusBadge--processing {
    background: #dbeafe;
    color: #1e40af;
}

#ServiceAgentKnowledge .saKnowledge__statusBadge--complete {
    background: #dcfce7;
    color: #166534;
}

#ServiceAgentKnowledge .saKnowledge__statusBadge--failed {
    background: #fee2e2;
    color: #991b1b;
}

/* Source Section Tags */
#ServiceAgentKnowledge .saKnowledge__sourceSections {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3em;
    margin-top: 0.35em;
}

#ServiceAgentKnowledge .saKnowledge__sectionTag {
    font-size: 0.65rem;
    font-weight: 500;
    padding: 0.1em 0.4em;
    background: rgba(92, 179, 255, 0.08);
    color: var(--jmkr-color-1);
    border-radius: 6px;
}

/* Source Error */
#ServiceAgentKnowledge .saKnowledge__sourceError {
    font-size: 0.75rem;
    color: #991b1b;
    margin-top: 0.25em;
    font-style: italic;
}

/* Source Actions */
#ServiceAgentKnowledge .saKnowledge__sourceActions {
    flex-shrink: 0;
    align-self: center;
}

#ServiceAgentKnowledge .saKnowledge__sourceActions .lucide-icon {
    width: 12px;
    height: 12px;
}

/* Ingestion History Timeline */
/* Pattern source: serviceAgent.css:206-254 (activation history timeline) */
#ServiceAgentKnowledge .saKnowledge__timeline {
    position: relative;
    padding-left: 1.5em;
}

#ServiceAgentKnowledge .saKnowledge__timeline::before {
    content: '';
    position: absolute;
    left: 0.35em;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #e2e8f0;
}

#ServiceAgentKnowledge .saKnowledge__timelineEntry {
    display: flex;
    align-items: flex-start;
    gap: 0.75em;
    padding: 0.5em 0;
    position: relative;
}

#ServiceAgentKnowledge .saKnowledge__timelineDot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #94a3b8;
    margin-top: 0.3em;
    position: absolute;
    left: -1.15em;
    z-index: 1;
}

#ServiceAgentKnowledge .saKnowledge__timelineDot--complete {
    background: #22c55e;
}

#ServiceAgentKnowledge .saKnowledge__timelineDot--failed {
    background: #ef4444;
}

#ServiceAgentKnowledge .saKnowledge__timelineDot--processing {
    background: #3b82f6;
}

#ServiceAgentKnowledge .saKnowledge__timelineContent {
    flex: 1;
}

#ServiceAgentKnowledge .saKnowledge__timelineAction {
    display: flex;
    align-items: center;
    gap: 0.4em;
    font-size: 0.85rem;
    font-weight: 500;
    color: #0f172a;
}

#ServiceAgentKnowledge .saKnowledge__timelineAction .lucide-icon {
    width: 14px;
    height: 14px;
    color: #64748b;
}

#ServiceAgentKnowledge .saKnowledge__timelineStatus {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin-top: 0.15em;
}

#ServiceAgentKnowledge .saKnowledge__timelineSections {
    font-size: 0.75rem;
    color: #64748b;
}

#ServiceAgentKnowledge .saKnowledge__timelineTime {
    font-size: 0.75rem;
    color: #94a3b8;
}

/* Responsive — Knowledge */
@media (max-width: 768px) {
    #ServiceAgentKnowledge .saKnowledge__uploadRow {
        flex-direction: column;
        align-items: stretch;
    }

    #ServiceAgentKnowledge .saKnowledge__uploadRow .ui.button {
        width: 100%;
        justify-content: center;
    }

    #ServiceAgentKnowledge .saKnowledge__urlRow {
        flex-direction: column;
        align-items: stretch;
    }

    #ServiceAgentKnowledge .saKnowledge__urlRow .ui.button {
        width: 100%;
        justify-content: center;
    }

    #ServiceAgentKnowledge .saKnowledge__sourceCard {
        flex-wrap: wrap;
    }
}

@media (max-width: 480px) {
    #ServiceAgentKnowledge .saKnowledge__sourceMeta {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.2em;
    }

    #ServiceAgentKnowledge .saKnowledge__syncRow {
        flex-direction: column;
        align-items: stretch;
    }

    #ServiceAgentKnowledge .saKnowledge__syncRow .ui.button {
        width: 100%;
        justify-content: center;
    }
}

/* ============================================
   SETTINGS (ServiceAgentSetting)
   Pattern source: settings.css (settingsField, settingsFooter)
   ============================================ */

/* Select Dropdowns */
#ServiceAgentSetting .saSetting__select {
    width: 100%;
    padding: 0.6em 0.75em;
    font-size: 0.9rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 5px;
    background: #ffffff;
    color: #0f172a;
    appearance: auto;
}

#ServiceAgentSetting .saSetting__select:focus {
    border-color: var(--jmkr-color-1);
    outline: none;
    box-shadow: 0 0 0 3px rgba(92, 179, 255, 0.1);
}

/* Color Picker Row */
#ServiceAgentSetting .saSetting__colorRow {
    display: flex;
    align-items: center;
    gap: 0.75em;
}

#ServiceAgentSetting .saSetting__colorPicker {
    width: 48px;
    height: 40px;
    padding: 2px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 5px;
    cursor: pointer;
    background: none;
    flex-shrink: 0;
}

#ServiceAgentSetting .saSetting__colorPicker:focus {
    border-color: var(--jmkr-color-1);
    outline: none;
}

#ServiceAgentSetting .saSetting__colorHex {
    flex: 1;
    max-width: 120px;
    padding: 0.6em 0.75em;
    font-size: 0.9rem;
    font-family: monospace;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 5px;
    background: #ffffff;
    color: #0f172a;
}

#ServiceAgentSetting .saSetting__colorHex:focus {
    border-color: var(--jmkr-color-1);
    outline: none;
    box-shadow: 0 0 0 3px rgba(92, 179, 255, 0.1);
}

/* Toggle Checkbox */
#ServiceAgentSetting .saSetting__toggle {
    display: inline-flex;
    align-items: center;
}

/* Embed Code Textarea */
#ServiceAgentSetting .saSetting__embedCode {
    width: 100%;
    padding: 0.75em;
    font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
    font-size: 0.8rem;
    line-height: 1.5;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 5px;
    background: #f8fafc;
    color: #334155;
    resize: vertical;
}

#ServiceAgentSetting .saSetting__embedCode:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

/* Widget Preview */
#ServiceAgentSetting .saSetting__preview {
    display: flex;
    align-items: flex-end;
    gap: 1em;
    padding: 1.5em;
    background: #f1f5f9;
    border-radius: 8px;
    min-height: 180px;
    position: relative;
}

#ServiceAgentSetting .saSetting__previewBubble {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 24px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    flex-shrink: 0;
}

#ServiceAgentSetting .saSetting__previewWindow {
    flex: 1;
    max-width: 320px;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}

#ServiceAgentSetting .saSetting__previewHeader {
    padding: 0.75em 1em;
    color: #ffffff;
}

#ServiceAgentSetting .saSetting__previewHeaderTitle {
    font-size: 0.85rem;
    font-weight: 600;
}

#ServiceAgentSetting .saSetting__previewBody {
    padding: 1em;
    min-height: 60px;
}

#ServiceAgentSetting .saSetting__previewMessage {
    display: inline-block;
    padding: 0.5em 0.75em;
    background: #f1f5f9;
    border-radius: 12px 12px 12px 4px;
    font-size: 0.85rem;
    color: #334155;
    max-width: 85%;
}

/* Responsive — Settings */
@media (max-width: 768px) {
    #ServiceAgentSetting .saSetting__preview {
        flex-direction: column;
        align-items: stretch;
    }

    #ServiceAgentSetting .saSetting__previewBubble {
        align-self: flex-end;
    }

    #ServiceAgentSetting .saSetting__previewWindow {
        max-width: 100%;
    }

    #ServiceAgentSetting .saSetting__colorRow {
        flex-wrap: wrap;
    }
}

@media (max-width: 480px) {
    #ServiceAgentSetting .saSetting__preview {
        padding: 1em;
        min-height: 140px;
    }
}

#Studio, #StudioBrand, #StudioCreations, #StudioSetting, #StudioSchedule {
    padding: 20px;
}

/* Schedule page needs extra bottom padding to clear the fixed summary bar */
#StudioSchedule {
    --schedule-chrome-height: 160px; /* top nav ~50px + breadcrumb ~30px + header ~40px + summary bar ~40px */
    padding-bottom: 60px;
}

/* Campaign Grid */
.studio-campaigns-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    padding: 20px;
}

.studio-campaign-card {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.2s, box-shadow 0.2s;
}

.studio-campaign-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

.studio-campaign-preview {
    height: 180px;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.studio-campaign-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.studio-campaign-placeholder {
    color: #ccc;
    font-size: 3em;
}

.studio-campaign-info {
    padding: 15px;
}

.studio-campaign-name {
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

.studio-campaign-meta {
    font-size: 0.85em;
    color: #888;
}

.studio-campaign-type {
    text-transform: capitalize;
}

.studio-campaign-actions {
    padding: 10px 15px;
    border-top: 1px solid #eee;
    display: flex;
    gap: 8px;
}

/* Create Wizard */
.studio-wizard {
    background: white;
    border-radius: 12px;
    margin-top: 20px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
}

.studio-wizard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #eee;
}

.studio-wizard-header h2 {
    margin: 0;
}

.studio-wizard-steps {
    display: flex;
    padding: 20px;
    background: #f9f9f9;
    border-bottom: 1px solid #eee;
}

.studio-step {
    flex: 1;
    text-align: center;
    padding: 10px;
    color: #999;
    font-size: 0.9em;
}

.studio-step.active {
    color: #1a73e8;
    font-weight: 600;
}

.studio-step .step-number {
    display: inline-block;
    width: 24px;
    height: 24px;
    line-height: 24px;
    border-radius: 50%;
    background: #ddd;
    color: white;
    font-size: 0.8em;
    margin-right: 8px;
}

.studio-step.active .step-number {
    background: #1a73e8;
}

.studio-wizard-content {
    padding: 30px;
}

.studio-step-content h3 {
    margin: 0 0 20px 0;
    text-align: center;
}

/* Content Type Selection */
.studio-content-types {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 15px;
    max-width: 800px;
    margin: 0 auto;
}

.studio-content-type {
    background: #f9f9f9;
    border: 2px solid transparent;
    border-radius: 12px;
    padding: 25px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
}

.studio-content-type:hover {
    border-color: #1a73e8;
    background: #f0f7ff;
}

.studio-type-icon {
    font-size: 2.5em;
    color: #1a73e8;
    margin-bottom: 10px;
}

.studio-type-name {
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

.studio-type-desc {
    font-size: 0.85em;
    color: #888;
}

/* Brief Form */
.studio-brief-form {
    max-width: 600px;
    margin: 0 auto;
}

.studio-wizard-actions {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

/* Generate / Preview */
.studio-generating {
    text-align: center;
    padding: 60px 20px;
}

.studio-generating h3 {
    margin-top: 20px;
}

.studio-preview-tabs {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.studio-preview-tab {
    padding: 8px 16px;
    background: #f0f0f0;
    border-radius: 20px;
    cursor: pointer;
    font-size: 0.9em;
    transition: all 0.2s;
}

.studio-preview-tab:hover {
    background: #e0e0e0;
}

.studio-preview-tab.active {
    background: #1a73e8;
    color: white;
}

.studio-preview-container {
    display: flex;
    justify-content: center;
    padding: 20px;
    background: #f5f5f5;
    border-radius: 8px;
    margin-bottom: 20px;
}

.studio-preview-frame {
    background: white;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

.studio-content-editor {
    max-width: 600px;
    margin: 0 auto;
}

/* Export Options */
.studio-export-section h4 {
    margin-bottom: 15px;
    color: #333;
}

.studio-format-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
}

.studio-format-option {
    display: flex;
    align-items: center;
    padding: 12px;
    background: #f9f9f9;
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.studio-format-option:hover {
    background: #f0f0f0;
}

.studio-format-option.selected {
    border-color: #1a73e8;
    background: #f0f7ff;
}

.studio-format-checkbox {
    width: 24px;
    height: 24px;
    border: 2px solid #ddd;
    border-radius: 4px;
    margin-right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.studio-format-option.selected .studio-format-checkbox {
    background: #1a73e8;
    border-color: #1a73e8;
    color: white;
}

.studio-format-name {
    font-weight: 500;
    color: #333;
}

.studio-format-size {
    font-size: 0.85em;
    color: #888;
}

/* Brand Kit Page */
.studio-brand-logo {
    position: relative;
    display: inline-block;
}

.studio-brand-logo img {
    max-width: 200px;
    max-height: 100px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    padding: 10px;
    background: #fafafa;
}

.studio-brand-logo .removeLogo {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: 50%;
    background: white;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
}

.studio-brand-logo .removeLogo i {
    font-size: 14px;
}

.studio-brand-logo .removeLogo:hover {
    background: #fef2f2;
    border-color: #ef4444;
    color: #ef4444;
}

.studio-logo-upload {
    width: 200px;
    height: 100px;
    border: 2px dashed #ddd;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #999;
    transition: all 0.2s;
}

.studio-logo-upload:hover {
    border-color: #1a73e8;
    color: #1a73e8;
}

.studio-logo-upload i {
    font-size: 2em;
    margin-bottom: 8px;
}

.studio-brand-colors {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.studio-color-picker {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.studio-color-picker label {
    font-weight: 500;
    color: #555;
}

.studio-color-picker input[type="color"] {
    width: 60px;
    height: 40px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.studio-color-picker .color-hex {
    font-family: monospace;
    font-size: 0.9em;
    color: #888;
}

.studio-font-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.studio-font-option {
    padding: 12px 20px;
    background: #f5f5f5;
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.studio-font-option:hover {
    background: #eee;
}

.studio-font-option.selected {
    border-color: #1a73e8;
    background: #f0f7ff;
}

/* Creations Page */
.studio-creations-container {
    margin-top: 20px;
}

.studio-creations-filter {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

.studio-creations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
    padding: 1em;
    align-items: start;
}

.studio-creation-card {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.studio-creation-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

.studio-creation-preview {
    position: relative;
    background: #f0f0f0;
    overflow: hidden;
    height: 270px;
}

.studio-creation-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.studio-creation-info {
    padding: 15px;
}

.studio-creation-name {
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

.studio-creation-meta {
    font-size: 0.85em;
    color: #888;
}

/* Generating state */
.studio-creation-card.is-generating {
    cursor: default;
    opacity: 0.9;
}

.studio-creation-card.is-generating:hover {
    transform: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.studio-creation-generating {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 270px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    gap: 12px;
    color: #666;
    font-size: 0.9em;
}

.studio-generation-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid #e0e0e0;
    border-top-color: var(--jmkr-color-1, #6366f1);
    border-radius: 50%;
    animation: studio-spin 0.8s linear infinite;
}

@keyframes studio-spin {
    to { transform: rotate(360deg); }
}

/* Failed state */
.studio-creation-card.is-failed .studio-creation-preview {
    background: #fef2f2;
}

.studio-creation-placeholder.failed {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 270px;
    color: #dc2626;
    gap: 8px;
    font-size: 0.85em;
}

.studio-creation-placeholder.failed i {
    font-size: 2em;
    opacity: 0.7;
}

/* Preview placeholder */
.preview-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #999;
    font-size: 0.9em;
}

/* ============================================
   Studio Canvas Popup
   ============================================ */

.studioCanvasPopUp {
    display: flex;
    flex-direction: column;
    background: var(--menu-color-2);
    height: 100%;
}

/* Canvas Header */
.studio-canvas-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: var(--menu-color-3);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.studio-canvas-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 1.1em;
}

.studio-canvas-title i.paint.brush.icon {
    color: var(--jmkr-color-1);
}

.studio-canvas-title .editCampaignName {
    cursor: pointer;
    opacity: 0.5;
    font-size: 0.85em;
    transition: opacity 0.2s;
}

.studio-canvas-title .editCampaignName:hover {
    opacity: 1;
}

.studio-canvas-title .campaignNameInput {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    padding: 5px 10px;
    color: #fff;
    font-size: 1em;
    width: 250px;
}

.studio-canvas-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.studio-canvas-action {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--menu-color-2);
    border-radius: 6px;
    color: #fff;
    font-size: 0.85em;
    cursor: pointer;
    transition: all 0.2s;
}

.studio-canvas-action:hover {
    background: var(--menu-color-1);
}

.studio-canvas-action.generateWithAI {
    background: var(--jmkr-color-1);
}

.studio-canvas-action.generateWithAI:hover {
    background: var(--jmkr-color-1);
    opacity: 0.85;
}

.studio-canvas-action.exportCanvas {
    background: #059669;
}

.studio-canvas-action.exportCanvas:hover {
    background: #10b981;
}

.studio-canvas-action.closeCanvas {
    background: transparent;
    padding: 8px 10px;
}

.studio-canvas-action.closeCanvas:hover {
    background: rgba(239, 68, 68, 0.3);
}

/* Canvas Container */
.studio-canvas-container {
    display: flex;
    flex: 1;
    overflow: hidden;
}

/* Canvas Sidebar */
.studio-canvas-sidebar {
    width: 280px;
    background: var(--menu-color-3);
    display: flex;
    flex-direction: column;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    transition: width 0.3s ease;
    flex-shrink: 0;
}

.studio-canvas-sidebar:not(.open) {
    width: 50px;
}

.studio-canvas-sidebar:not(.open) .studio-sidebar-content {
    display: none;
}

.studio-sidebar-tabs {
    display: flex;
    flex-direction: column;
    padding: 10px;
    gap: 5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.studio-canvas-sidebar.open .studio-sidebar-tabs {
    flex-direction: row;
    justify-content: space-around;
}

.studio-sidebar-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s;
}

.studio-sidebar-tab:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

.studio-sidebar-tab.active {
    color: var(--jmkr-color-1);
    background: rgba(92, 179, 255, 0.2);
}

.studio-sidebar-content {
    flex: 1;
    overflow-y: auto;
}

.studio-sidebar-panel {
    padding: 15px;
}

.studio-sidebar-panel h4 {
    color: #fff;
    margin: 0 0 15px 0;
    font-size: 0.95em;
    font-weight: 600;
}

.studio-sidebar-panel .ui.form .field label {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85em;
}

.studio-sidebar-panel .ui.form input,
.studio-sidebar-panel .ui.form textarea,
.studio-sidebar-panel .ui.form select {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
}

.studio-sidebar-panel .ui.form input:focus,
.studio-sidebar-panel .ui.form textarea:focus {
    background: rgba(255, 255, 255, 0.12);
    border-color: var(--jmkr-color-1);
}

.studio-sidebar-panel .ui.form input::placeholder,
.studio-sidebar-panel .ui.form textarea::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

/* File List in Sidebar */
.studio-file-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.studio-file-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
}

.studio-file-item:hover {
    background: rgba(92, 179, 255, 0.2);
}

.studio-file-item img {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 4px;
}

.studio-file-item i.icon {
    font-size: 1.5em;
    color: rgba(255, 255, 255, 0.5);
}

.studio-file-item span {
    flex: 1;
    color: #fff;
    font-size: 0.85em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.studio-file-empty {
    text-align: center;
    padding: 30px 15px;
    color: rgba(255, 255, 255, 0.5);
}

.studio-file-empty a {
    color: var(--jmkr-color-1);
}

/* Pins List in Sidebar */
.studio-pins-search {
    position: relative;
    margin-bottom: 15px;
}

.studio-pins-search input {
    width: 100%;
    padding: 10px 35px 10px 12px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 6px;
    color: #fff;
    font-size: 0.9em;
}

.studio-pins-search input:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
    background: rgba(255, 255, 255, 0.12);
}

.studio-pins-search input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.studio-pins-search i.icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.4);
    pointer-events: none;
}

.studio-pins-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.studio-pin-list-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
}

.studio-pin-list-item:hover {
    background: rgba(92, 179, 255, 0.15);
}

.pin-list-icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    color: rgba(255, 255, 255, 0.7);
    flex-shrink: 0;
}

.pin-list-details {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pin-list-label {
    color: #fff;
    font-size: 0.85em;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pin-list-preview {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.75em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pin-list-actions {
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.2s;
}

.studio-pin-list-item:hover .pin-list-actions {
    opacity: 1;
}

.pin-list-actions i.icon {
    color: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    transition: color 0.2s;
}

.pin-list-actions i.icon:hover {
    color: #ef4444;
}

.studio-pins-empty {
    text-align: center;
    padding: 30px 15px;
    color: rgba(255, 255, 255, 0.5);
}

.studio-pins-empty p {
    margin: 0 0 5px 0;
    font-size: 0.95em;
}

.studio-pins-empty span {
    font-size: 0.8em;
    opacity: 0.7;
}

/* ============================================
   Studio Custom Buttons
   ============================================ */

/* Base button style for main pages */
.studio-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    background: rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    color: #333;
    font-size: 0.95em;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.studio-button:hover {
    background: rgba(0, 0, 0, 0.1);
}

.studio-button.primary {
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
    color: #fff;
}

.studio-button.primary:hover {
    opacity: 0.85;
}

.studio-button.accent {
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
    color: #fff;
}

.studio-button.accent:hover {
    opacity: 0.85;
}

.studio-button.danger {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.3);
    color: #ef4444;
}

.studio-button.danger:hover {
    background: rgba(239, 68, 68, 0.2);
}

.studio-button.generating {
    background: rgba(241, 196, 15, 0.2);
    border-color: rgba(241, 196, 15, 0.5);
    color: #f1c40f;
    cursor: pointer;
}

.studio-button.generating:hover {
    background: rgba(231, 76, 60, 0.2);
    border-color: rgba(231, 76, 60, 0.5);
    color: #e74c3c;
}

.studio-button.generating .cancelHint {
    font-size: 0.8em;
    opacity: 0.7;
}

.studio-button.generating:hover .cancelHint {
    opacity: 1;
}

.studio-button.small {
    padding: 6px 12px;
    font-size: 0.85em;
}

/* Sidebar button style for canvas */
.studio-sidebar-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    color: #fff;
    font-size: 0.9em;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    margin-top: 10px;
}

.studio-sidebar-button:first-child {
    margin-top: 0;
}

.studio-sidebar-button:hover {
    background: rgba(255, 255, 255, 0.2);
}

.studio-sidebar-button.primary {
    background: var(--jmkr-color-1);
}

.studio-sidebar-button.primary:hover {
    opacity: 0.85;
}

.studio-sidebar-button.accent {
    background: var(--jmkr-color-1);
}

.studio-sidebar-button.accent:hover {
    opacity: 0.85;
}

.studio-sidebar-button.export {
    background: #059669;
    margin-top: 15px;
}

.studio-sidebar-button.export:hover {
    background: #10b981;
}

/* File browse uses sidebar button style */
.studio-file-browse {
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 10px;
}

.studio-file-browse .studio-sidebar-button {
    margin-top: 0;
}

/* Format List in Sidebar */
.studio-format-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.studio-format-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
}

.studio-format-item:hover {
    background: rgba(255, 255, 255, 0.1);
}

.studio-format-item.selected {
    border-color: var(--jmkr-color-1);
    background: rgba(92, 179, 255, 0.15);
}

.studio-format-check {
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.studio-format-item.selected .studio-format-check {
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
    color: #fff;
}

.studio-format-details {
    flex: 1;
}

.studio-format-details .format-name {
    display: block;
    color: #fff;
    font-size: 0.9em;
    font-weight: 500;
}

.studio-format-details .format-dims {
    display: block;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.75em;
}

/* Generating Status in Sidebar */
.studio-generating-sidebar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px;
    color: rgba(255, 255, 255, 0.7);
}

/* Canvas Workspace Area */
.studio-canvas-area {
    flex: 1;
    background: #0f0f1a;
    overflow: auto;
    position: relative;
    cursor: grab;
}

.studio-canvas-area.panning {
    cursor: grabbing;
    user-select: none;
}

.studio-canvas-workspace {
    position: relative;
    min-width: 2000px;
    min-height: 1500px;
    background-image:
        radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}

/* Canvas Empty Hint */
.studio-canvas-empty-hint {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
    pointer-events: none;
}

.studio-canvas-empty-hint i.icon {
    font-size: 4em;
    margin-bottom: 15px;
    opacity: 0.5;
}

.studio-canvas-empty-hint p {
    margin: 5px 0;
    font-size: 1.1em;
}

.studio-canvas-empty-hint .hint-sub {
    font-size: 0.9em;
    opacity: 0.7;
}

/* Canvas Pins */
.studio-canvas-pin {
    position: absolute;
    background: #1e1e36;
    border-radius: 8px;
    z-index: 1;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    min-width: 180px;
    max-width: 400px;
    transition: box-shadow 0.2s, transform 0.1s;
    cursor: default;
}

.studio-canvas-pin:hover {
    box-shadow: 0 6px 30px rgba(92, 179, 255, 0.3);
}

.studio-canvas-pin.selected {
    box-shadow: 0 0 0 2px var(--jmkr-color-1), 0 6px 30px rgba(92, 179, 255, 0.4);
}

.studio-canvas-pin.dragging {
    opacity: 0.9;
    z-index: 1000;
    cursor: grabbing;
}

/* Pin Header */
.studio-pin-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px 8px 0 0;
    cursor: grab;
    user-select: none;
}

.studio-pin-header:active {
    cursor: grabbing;
}

.studio-pin-type-icon {
    color: rgba(255, 255, 255, 0.6);
}

.studio-pin-label {
    flex: 1;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.8em;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.studio-pin-actions {
    display: flex;
    gap: 5px;
}

.studio-pin-actions i.icon {
    color: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    transition: color 0.2s;
}

.studio-pin-actions i.icon:hover {
    color: #ef4444;
}

/* Pin Content */
.studio-pin-content {
    padding: 12px;
}

.studio-pin-text,
.studio-pin-headline,
.studio-pin-body,
.studio-pin-hashtags {
    color: #fff;
    outline: none;
    border-radius: 4px;
    padding: 5px;
    transition: background 0.2s;
}

.studio-pin-text:focus,
.studio-pin-headline:focus,
.studio-pin-body:focus,
.studio-pin-hashtags:focus {
    background: rgba(255, 255, 255, 0.1);
}

.studio-pin-headline {
    font-size: 1.2em;
    font-weight: 600;
    line-height: 1.3;
}

.studio-pin-body {
    font-size: 0.95em;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
}

.studio-pin-hashtags {
    font-size: 0.85em;
    color: var(--jmkr-color-1);
}

.studio-pin-content img {
    width: 100%;
    border-radius: 4px;
    display: block;
}

/* File Preview (for non-image files like PDFs) */
.studio-pin-file-preview {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 25px 15px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 6px;
    text-align: center;
    min-height: 120px;
}

.studio-pin-file-preview i.icon {
    font-size: 3em;
    margin-bottom: 12px;
    opacity: 0.8;
}

.studio-pin-file-preview .file-name {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.85em;
    word-break: break-word;
    margin-bottom: 10px;
    max-width: 100%;
}

.studio-pin-file-preview .file-open-link {
    color: var(--jmkr-color-1);
    font-size: 0.8em;
    text-decoration: none;
    padding: 5px 12px;
    background: rgba(92, 179, 255, 0.2);
    border-radius: 4px;
    transition: background 0.2s;
}

.studio-pin-file-preview .file-open-link:hover {
    background: rgba(92, 179, 255, 0.4);
}

/* File type specific colors */
.studio-pin-file-preview.file-pdf i.icon {
    color: #ef4444;
}

.studio-pin-file-preview.file-word i.icon {
    color: #3b82f6;
}

.studio-pin-file-preview.file-excel i.icon {
    color: #22c55e;
}

.studio-pin-file-preview.file-powerpoint i.icon {
    color: #f97316;
}

.studio-pin-file-preview.file-video i.icon {
    color: #a855f7;
}

.studio-pin-file-preview.file-audio i.icon {
    color: #14b8a6;
}

.studio-pin-file-preview.file-archive i.icon {
    color: #eab308;
}

.studio-pin-file-preview.file-text i.icon {
    color: #64748b;
}

/* Pin Types - Colored Accents */
.studio-canvas-pin.headline .studio-pin-header {
    background: rgba(92, 179, 255, 0.25);
}

.studio-canvas-pin.body .studio-pin-header {
    background: rgba(59, 130, 246, 0.25);
}

.studio-canvas-pin.hashtag .studio-pin-header {
    background: rgba(236, 72, 153, 0.25);
}

.studio-canvas-pin.image .studio-pin-header {
    background: rgba(16, 185, 129, 0.25);
}

.studio-canvas-pin.text .studio-pin-header {
    background: rgba(245, 158, 11, 0.25);
}

/* Pin Resize Handle */
.studio-pin-resize-handle {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 15px;
    height: 15px;
    cursor: se-resize;
    opacity: 0;
    transition: opacity 0.2s;
}

.studio-canvas-pin:hover .studio-pin-resize-handle {
    opacity: 0.5;
}

.studio-pin-resize-handle::after {
    content: '';
    position: absolute;
    bottom: 3px;
    right: 3px;
    width: 8px;
    height: 8px;
    border-right: 2px solid rgba(255, 255, 255, 0.5);
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
}

/* ============================================
   Generator Pin Styles
   ============================================ */

.studio-canvas-pin.generator {
    min-width: 280px;
    background: #1e1e36;
}

.studio-canvas-pin.generator .studio-pin-header {
    background: rgba(139, 92, 246, 0.25);
}

.studio-canvas-pin.generator.instagram-feed .studio-pin-header,
.studio-canvas-pin.generator.instagram-story .studio-pin-header {
    background: linear-gradient(135deg, rgba(225, 48, 108, 0.3), rgba(131, 58, 180, 0.3));
}

.studio-canvas-pin.generator.facebook-post .studio-pin-header {
    background: rgba(59, 89, 152, 0.35);
}

.studio-canvas-pin.generator.youtube-thumbnail .studio-pin-header {
    background: rgba(255, 0, 0, 0.25);
}

.studio-canvas-pin.generator.linkedin-post .studio-pin-header {
    background: rgba(0, 119, 181, 0.35);
}

.studio-canvas-pin.generator.email-header .studio-pin-header {
    background: rgba(234, 179, 8, 0.25);
}

.studio-canvas-pin.generator .studio-pin-actions {
    gap: 8px;
}

.studio-canvas-pin.generator .studio-pin-actions i.icon {
    color: rgba(255, 255, 255, 0.5);
    transition: color 0.2s, transform 0.2s;
}

.studio-canvas-pin.generator .studio-pin-actions i.refreshGenerator:hover {
    color: var(--jmkr-color-1);
    transform: rotate(180deg);
}

.studio-canvas-pin.generator .studio-pin-actions i.bookmarkGenerator:hover {
    color: #fbbf24;
}

.studio-canvas-pin.generator .studio-pin-actions i.exportGenerator:hover {
    color: #10b981;
}

.studio-canvas-pin.generator .studio-pin-actions i.deletePin:hover {
    color: #ef4444;
}

.studio-canvas-pin.generator.bookmarked .studio-pin-header {
    background: rgba(251, 191, 36, 0.25);
}

.studio-canvas-pin.generator.bookmarked .studio-pin-actions i.refreshGenerator {
    display: none;
}

/* Generator Content */
.studio-generator-content {
    padding: 0;
}

.studio-generator-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: rgba(255, 255, 255, 0.7);
    gap: 15px;
}

.studio-generator-loading span {
    font-size: 0.9em;
}

.studio-generator-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 20px;
    text-align: center;
    color: #ef4444;
}

.studio-generator-error i.icon {
    font-size: 2em;
    margin-bottom: 10px;
}

.studio-generator-error span {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9em;
    margin-bottom: 15px;
}

.studio-generator-preview {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 0;
    overflow: hidden;
}

.studio-canvas-pin.generator.instagram-story .studio-generator-preview,
.studio-canvas-pin.generator.whatsapp-status .studio-generator-preview {
    aspect-ratio: 9 / 16;
    max-height: 400px;
}

.studio-canvas-pin.generator.youtube-thumbnail .studio-generator-preview {
    aspect-ratio: 16 / 9;
}

.studio-canvas-pin.generator.email-header .studio-generator-preview {
    aspect-ratio: 3 / 1;
}

.studio-generator-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.studio-generator-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.3);
    gap: 8px;
}

.studio-generator-placeholder i.icon {
    font-size: 3em;
}

.studio-generator-placeholder .placeholder-dims {
    font-size: 0.8em;
    opacity: 0.7;
}

.studio-generator-text {
    padding: 12px;
}

.studio-generator-text .generator-headline {
    color: #fff;
    font-size: 1em;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 8px;
}

.studio-generator-text .generator-body {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.85em;
    line-height: 1.5;
    margin-bottom: 8px;
}

.studio-generator-text .generator-hashtags {
    color: var(--jmkr-color-1);
    font-size: 0.8em;
    line-height: 1.4;
}

.studio-generator-cta {
    padding: 0 12px 12px;
}

.studio-generator-cta .generator-cta-button {
    display: inline-block;
    padding: 8px 16px;
    background: var(--jmkr-color-1);
    color: #fff;
    font-size: 0.85em;
    font-weight: 500;
    border-radius: 4px;
}

.studio-generator-links {
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.05);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.studio-generator-links .link-count {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.75em;
}

/* Generator in pins list */
.studio-pin-list-item.generator-item {
    background: rgba(139, 92, 246, 0.15);
}

.pin-list-icon.generator {
    background: rgba(139, 92, 246, 0.3);
    color: #a78bfa;
}

/* ============================================
   Asset Type Selection Modal
   ============================================ */

.studio-asset-modal {
    max-width: 500px !important;
}

.studio-asset-type-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 10px 0;
}

.studio-asset-type-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 15px;
    background: #f5f5f5;
    border: 2px solid transparent;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
    gap: 8px;
}

.studio-asset-type-option:hover {
    background: #e8f4ff;
    border-color: var(--jmkr-color-1);
    transform: translateY(-2px);
}

.studio-asset-type-option i.icon {
    font-size: 1.8em;
    color: #666;
    margin: 0;
}

.studio-asset-type-option:hover i.icon {
    color: var(--jmkr-color-1);
}

.studio-asset-type-option i.instagram.icon {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.studio-asset-type-option i.facebook.icon {
    color: #1877f2;
}

.studio-asset-type-option i.youtube.icon {
    color: #ff0000;
}

.studio-asset-type-option i.linkedin.icon {
    color: #0077b5;
}

.studio-asset-type-option i.envelope.icon {
    color: #eab308;
}

/* App Store preset icons (Spec 956) */
.studio-asset-type-option i.android.icon {
    color: #3ddc84;
}

.studio-asset-type-option i.apple.icon {
    color: #555;
}

.studio-asset-type-option span {
    font-size: 0.9em;
    font-weight: 500;
    color: #333;
}

/* Small sidebar button variant */
.studio-sidebar-button.small {
    padding: 8px 12px;
    font-size: 0.85em;
    margin-top: 0;
}

/* ============================================
   Pin Links SVG
   ============================================ */

.studio-pin-links {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: visible;
}

.pin-link-line {
    stroke: rgba(139, 92, 246, 0.6);
    stroke-width: 4;
    stroke-dasharray: 10, 5;
    fill: none;
    animation: linkPulse 2s ease-in-out infinite;
    cursor: pointer;
    pointer-events: stroke;
}

@keyframes linkPulse {
    0%, 100% {
        stroke-opacity: 0.4;
    }
    50% {
        stroke-opacity: 0.8;
    }
}

.pin-link-line:hover {
    stroke: var(--jmkr-color-1);
    stroke-width: 6;
}

.pin-link-dragging {
    stroke: var(--jmkr-color-1);
    stroke-width: 4;
    stroke-dasharray: 8, 4;
    fill: none;
    pointer-events: none;
}

/* ============================================
   Pin Anchor Points
   ============================================ */

.studio-pin-anchors {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.studio-pin-anchor {
    position: absolute;
    width: 14px;
    height: 14px;
    background: #1e1e36;
    border: 2px solid rgba(139, 92, 246, 0.6);
    border-radius: 50%;
    cursor: crosshair;
    opacity: 0;
    transition: opacity 0.2s, transform 0.2s, background 0.2s, border-color 0.2s;
    pointer-events: auto;
    z-index: 10;
}

.studio-canvas-pin:hover .studio-pin-anchor {
    opacity: 1;
}

.studio-pin-anchor:hover {
    transform: scale(1.3);
    background: rgba(139, 92, 246, 0.3);
    border-color: var(--jmkr-color-1);
}

.studio-pin-anchor.dragging {
    opacity: 1;
    transform: scale(1.4);
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
}

.studio-pin-anchor.highlight {
    opacity: 1;
    transform: scale(1.5);
    background: #10b981;
    border-color: #10b981;
    box-shadow: 0 0 10px rgba(16, 185, 129, 0.5);
}

/* Anchor positions */
.studio-pin-anchor.top {
    top: -7px;
    left: 50%;
    transform: translateX(-50%);
}

.studio-pin-anchor.right {
    right: -7px;
    top: 50%;
    transform: translateY(-50%);
}

.studio-pin-anchor.bottom {
    bottom: -7px;
    left: 50%;
    transform: translateX(-50%);
}

.studio-pin-anchor.left {
    left: -7px;
    top: 50%;
    transform: translateY(-50%);
}

/* Adjust transform when hovered/active */
.studio-pin-anchor.top:hover,
.studio-pin-anchor.top.dragging,
.studio-pin-anchor.top.highlight {
    transform: translateX(-50%) scale(1.3);
}

.studio-pin-anchor.right:hover,
.studio-pin-anchor.right.dragging,
.studio-pin-anchor.right.highlight {
    transform: translateY(-50%) scale(1.3);
}

.studio-pin-anchor.bottom:hover,
.studio-pin-anchor.bottom.dragging,
.studio-pin-anchor.bottom.highlight {
    transform: translateX(-50%) scale(1.3);
}

.studio-pin-anchor.left:hover,
.studio-pin-anchor.left.dragging,
.studio-pin-anchor.left.highlight {
    transform: translateY(-50%) scale(1.3);
}

/* Canvas workspace in linking mode */
.studio-canvas-workspace.linking {
    cursor: crosshair;
}

.studio-canvas-workspace.linking .studio-pin-anchor {
    opacity: 0.7;
}

.studio-canvas-workspace.linking .studio-canvas-pin {
    pointer-events: none;
}

.studio-canvas-workspace.linking .studio-pin-anchor {
    pointer-events: auto;
}

/* Responsive */
@media (max-width: 768px) {
    .studio-wizard-steps {
        flex-wrap: wrap;
    }

    .studio-step {
        flex: none;
        width: 50%;
    }

    .studio-content-types {
        grid-template-columns: 1fr 1fr;
    }

    .studio-brand-colors {
        flex-direction: column;
    }

    .studio-preview-tabs {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 10px;
    }

    /* Canvas responsive */
    .studio-canvas-header {
        flex-wrap: wrap;
        gap: 10px;
    }

    .studio-canvas-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .studio-canvas-action {
        padding: 6px 10px;
        font-size: 0.8em;
    }

    .studio-canvas-action span {
        display: none;
    }

    .studio-canvas-sidebar {
        width: 240px;
    }

    .studio-canvas-sidebar:not(.open) {
        width: 40px;
    }
}

/* ============================================
   Studio Creations Page
   ============================================ */

.studio-creations-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1em;
    gap: 15px;
    flex-wrap: wrap;
}

.studio-creations-categories {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.studio-category-pill {
    padding: 8px 16px;
    background: #f0f0f0;
    border-radius: 20px;
    cursor: pointer;
    font-size: 0.9em;
    transition: all 0.2s;
    white-space: nowrap;
}

.studio-category-pill:hover {
    background: #e0e0e0;
}

.studio-category-pill.active {
    background: var(--jmkr-color-1);
    color: white;
}

.studio-creations-sort select {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 0.9em;
}

.studio-creation-card {
    position: relative;
}

.studio-creation-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #ccc;
    gap: 10px;
}

.studio-creation-placeholder i {
    font-size: 2.5em;
}

.studio-creation-placeholder.large {
    height: 300px;
}

.studio-creation-preview.generating {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, rgba(92, 179, 255, 0.1) 100%);
}

.studio-creation-actions {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    gap: 6px;
    opacity: 0;
    transition: opacity 0.2s;
    z-index: 10;
}

.studio-creation-card:hover .studio-creation-actions {
    opacity: 1;
}

.studio-creation-action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.studio-creation-action:hover {
    background: var(--jmkr-color-1);
    color: white;
}

/* Cinema-type creation card styling */
.studio-creation-card.cinema-type {
    border: 2px solid transparent;
    background: linear-gradient(white, white) padding-box,
                linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%) border-box;
}

.studio-creation-card.cinema-type:hover {
    box-shadow: 0 4px 20px rgba(139, 92, 246, 0.25);
}

.studio-creation-cinema-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
    border-radius: 6px;
    color: white;
    box-shadow: 0 2px 8px rgba(139, 92, 246, 0.4);
    z-index: 5;
}

.studio-creation-cinema-badge i {
    font-size: 1em;
}

.studio-creation-category {
    background: rgba(255, 255, 255, 0.15);
    color: #888;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.8em;
    text-transform: capitalize;
}

.studio-creation-category.cinema {
    background: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
    color: white;
}

.studio-creations-load-more {
    display: flex;
    justify-content: center;
    padding: 30px;
}

/* Quick Actions Popup */
.studioQuickActions {
    display: flex;
    flex-direction: row;
    max-width: 700px;
    gap: 20px;
}

.studio-quick-actions-preview {
    width: 280px;
    flex-shrink: 0;
}

.studio-quick-actions-preview img {
    width: 100%;
    border-radius: 8px;
}

.studio-quick-actions-content {
    flex: 1;
}

.studio-quick-actions-content h3 {
    margin: 0 0 10px 0;
}

.studio-quick-actions-content p {
    color: #666;
    margin-bottom: 20px;
}

.studio-quick-actions-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.studio-quick-actions-buttons .studio-button {
    justify-content: flex-start;
}

/* ============================================
   Studio Schedule Page
   ============================================ */

.studio-schedule-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 15px;
}

.studio-schedule-nav {
    display: flex;
    align-items: center;
    gap: 10px;
}

.studio-schedule-nav-btn {
    padding: 8px 12px;
    background: #f0f0f0;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
}

.studio-schedule-nav-btn:hover {
    background: #e0e0e0;
}

.studio-schedule-current {
    font-size: 1.1em;
    font-weight: 600;
    min-width: 180px;
    text-align: center;
}

.studio-schedule-view-toggle {
    display: flex;
    gap: 5px;
    background: #f0f0f0;
    padding: 4px;
    border-radius: 8px;
}

.studio-view-btn {
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9em;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 6px;
}

.studio-view-btn:hover {
    background: rgba(0, 0, 0, 0.05);
}

.studio-view-btn.active {
    background: white;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Week View */
.studio-schedule-week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
    background: #e0e0e0;
    border-radius: 12px;
    overflow: hidden;
}

.studio-schedule-day {
    background: white;
    min-height: calc(100vh - var(--schedule-chrome-height, 160px));
    display: flex;
    flex-direction: column;
}

.studio-schedule-day.today .studio-schedule-day-header {
    background: var(--jmkr-color-1);
    color: white;
}

.studio-schedule-day.past {
    opacity: 0.6;
}

.studio-schedule-day-header {
    padding: 12px;
    text-align: center;
    background: #f9f9f9;
    border-bottom: 1px solid #e0e0e0;
}

.studio-schedule-day-header .day-name {
    display: block;
    font-size: 0.8em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.7;
}

.studio-schedule-day-header .day-date {
    display: block;
    font-size: 1.3em;
    font-weight: 600;
    margin-top: 2px;
}

.studio-schedule-day-slots {
    flex: 1;
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.studio-schedule-slot {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 10px;
    cursor: pointer;
    transition: all 0.2s;
    border-left: 3px solid var(--jmkr-color-1);
}

.studio-schedule-slot:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.studio-schedule-slot.published {
    border-left-color: #10b981;
    background: #f0fdf4;
}

.studio-schedule-slot.draft {
    border-left-color: #f59e0b;
    background: #fffbeb;
}

.studio-schedule-slot.failed {
    border-left-color: #ef4444;
    background: #fef2f2;
}

.slot-time {
    font-size: 0.75em;
    color: #888;
    margin-bottom: 5px;
}

.slot-preview {
    width: 100%;
    height: 60px;
    background: #f5f5f5;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 8px;
}

.slot-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slot-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
}

.slot-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.slot-platform {
    font-size: 0.7em;
    text-transform: uppercase;
    color: #888;
    letter-spacing: 0.5px;
}

.slot-title {
    font-size: 0.85em;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.slot-actions {
    display: none;
    gap: 8px;
    margin-top: 8px;
}

.studio-schedule-slot:hover .slot-actions {
    display: flex;
}

.slot-actions i {
    cursor: pointer;
    color: #888;
    transition: color 0.2s;
}

.slot-actions i:hover {
    color: var(--jmkr-color-1);
}

.slot-actions i.deleteSlot:hover {
    color: #ef4444;
}

.studio-schedule-empty-slot {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border: 2px dashed #ddd;
    border-radius: 8px;
    color: #aaa;
    cursor: pointer;
    transition: all 0.2s;
    gap: 5px;
}

.studio-schedule-empty-slot:hover {
    border-color: var(--jmkr-color-1);
    color: var(--jmkr-color-1);
    background: rgba(92, 179, 255, 0.05);
}

.studio-schedule-empty-slot span {
    font-size: 0.85em;
}

/* Month View */
.studio-schedule-month-header {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: #f9f9f9;
    border-radius: 8px 8px 0 0;
}

.month-day-label {
    padding: 12px;
    text-align: center;
    font-size: 0.8em;
    text-transform: uppercase;
    color: #666;
    font-weight: 500;
}

.studio-schedule-month-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
    background: #e0e0e0;
    border-radius: 0 0 8px 8px;
    overflow: hidden;
}

.studio-schedule-month-day {
    background: white;
    min-height: 100px;
    padding: 8px;
}

.studio-schedule-month-day.other-month {
    background: #f9f9f9;
    opacity: 0.6;
}

.studio-schedule-month-day.today {
    background: #f0f7ff;
}

.month-day-number {
    font-weight: 600;
    margin-bottom: 8px;
}

.studio-schedule-month-day.today .month-day-number {
    display: inline-block;
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    background: var(--jmkr-color-1);
    color: white;
    border-radius: 50%;
}

.month-day-slots {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.month-slot-mini {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 6px;
    background: #f0f7ff;
    border-radius: 4px;
    font-size: 0.75em;
    cursor: pointer;
}

.month-slot-mini.published {
    background: #f0fdf4;
}

.month-slot-mini.draft {
    background: #fffbeb;
}

.month-slot-more {
    font-size: 0.75em;
    color: #888;
    text-align: center;
    padding: 2px;
}

/* Schedule Summary — fixed bottom bar */
.studio-schedule-summary {
    display: flex;
    justify-content: center;
    gap: 40px;
    padding: 10px 25px;
    margin-top: 0;
    background: rgba(249, 249, 249, 0.95);
    border-radius: 0;
    position: fixed;
    bottom: 0;
    left: var(--left-menu-width);
    right: 0;
    z-index: 10;
    border-top: 1px solid #ecf0f1;
    backdrop-filter: blur(8px);
    transition: left 0.3s ease;
}

/* Summary bar — slim sidebar */
#leftUI.slim ~ #middleUI .studio-schedule-summary {
    left: var(--left-menu-width-slim);
}

/* Summary bar — mobile (sidebar hidden) */
@media (max-width: 768px) {
    .studio-schedule-summary {
        left: 0;
    }
}

.summary-stat {
    text-align: center;
}

.summary-stat .stat-number {
    display: block;
    font-size: 2em;
    font-weight: 700;
    color: #333;
}

.summary-stat .stat-label {
    font-size: 0.85em;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Schedule Slot Popup */
.slot-content-preview {
    display: flex;
    gap: 15px;
    padding: 15px;
    background: #f5f5f5;
    border-radius: 8px;
    margin-bottom: 10px;
}

.slot-content-preview img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 6px;
}

.slot-content-text {
    flex: 1;
}

.slot-content-text strong {
    display: block;
    margin-bottom: 5px;
}

.slot-content-text p {
    font-size: 0.9em;
    color: #666;
    margin: 0;
}

.slot-content-empty {
    text-align: center;
    padding: 30px;
    background: #f9f9f9;
    border-radius: 8px;
    color: #888;
}

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

/* Responsive Schedule */
@media (max-width: 1024px) {
    .studio-schedule-week {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    .studio-schedule-week {
        grid-template-columns: 1fr;
    }

    .studio-schedule-day {
        min-height: 200px;
    }

    .studio-schedule-month-grid {
        grid-template-columns: repeat(7, 1fr);
    }

    .studio-schedule-month-day {
        min-height: 60px;
        padding: 4px;
    }

    .month-day-number {
        font-size: 0.85em;
    }

    .month-day-slots {
        display: none;
    }

    .studioQuickActions {
        flex-direction: column;
    }

    .studio-quick-actions-preview {
        width: 100%;
    }
}

/* Creations Loading and Generating States */
.studio-creations-loading,
.studio-creations-generating {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.studio-creations-loading p,
.studio-creations-generating p {
    margin-top: 15px;
    color: #888;
}

.studio-creations-generating h3 {
    margin: 20px 0 10px;
    color: #333;
}

.studio-creations-generating p {
    color: #666;
    font-size: 0.95em;
}

.creations-count {
    margin-right: 15px;
    color: #888;
    font-size: 0.9em;
}

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

/* Quick Actions Popup Enhancements */
.studio-quick-actions-desc {
    color: #666;
    margin-bottom: 10px;
}

.studio-quick-actions-text {
    background: #f5f5f5;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 15px;
}

.studio-quick-actions-text .preview-body {
    font-size: 0.95em;
    color: #555;
    margin-bottom: 10px;
}

.studio-quick-actions-text .preview-hashtags {
    font-size: 0.85em;
    color: var(--jmkr-color-1);
}

/* Posting Frequency Settings */
.studio-preferred-times {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.preferred-time-slot {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.preferred-time-slot input[type="time"] {
    padding: 8px 12px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 6px;
    font-size: 0.95em;
}

.preferred-time-slot .time-label {
    font-size: 0.8em;
    color: #888;
}

/* Creation Card Image Hover */
.studio-creation-card:hover .studio-creation-preview img {
    transform: scale(1.02);
    transition: transform 0.3s ease;
}

/* ============================================
   Studio Overlay Base (shared by Cinema & Render Room)
   ============================================ */
.studioOverlay {
    position: fixed;
    top: 0;
    left: var(--left-menu-width);
    width: calc(100% - var(--left-menu-width));
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    transition: left 0.3s ease, width 0.3s ease;
}

/* When left menu is slim */
#leftUI.slim ~ #middleUI .studioOverlay,
.studioOverlay.slimMenu {
    left: var(--left-menu-width-slim);
    width: calc(100% - var(--left-menu-width-slim));
}

/* When right UI is open */
.studioOverlay.rightUIOpen {
    width: calc(100% - var(--left-menu-width) - var(--right-menu-width));
}

/* Both slim menu and right UI open */
#leftUI.slim ~ #middleUI .studioOverlay.rightUIOpen,
.studioOverlay.slimMenu.rightUIOpen {
    width: calc(100% - var(--left-menu-width-slim) - var(--right-menu-width));
}

/* When leftUI is hidden at mobile breakpoint (matches jmkrClient_screenThreshold.mobile: 768) */
@media (max-width: 768px) {
    .studioOverlay {
        left: 0;
        width: 100%;
        padding: 10px;
    }

    .studioOverlay.slimMenu,
    .studioOverlay.rightUIOpen,
    .studioOverlay.slimMenu.rightUIOpen {
        left: 0;
        width: 100%;
    }
}

/* Shared inner container for overlays */
.studioOverlay__container {
    width: 100%;
    height: 100%;
    max-height: 100%;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.5);
}

/* Render Room (Image Editor) CSS moved to renderRoom/renderRoom.css */

/* ============================================
   Brand Kit Autofill Button
   ============================================ */
.studio-autofill-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: linear-gradient(135deg, #8b5cf6 0%, #5cb3ff 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 0.95em;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    margin-left: auto;
}

.studio-autofill-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(139, 92, 246, 0.4);
}

.studio-autofill-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}

.studio-autofill-btn i {
    font-size: 1.1em;
}

/* Spinning animation for loading states */
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.spinning {
    animation: spin 1s linear infinite;
}

/* Creation placeholder styling when no image */
.studio-creation-placeholder {
    min-height: 160px;
}

/* Phoros Cinema CSS moved to cinema/cinema.css */

/* ============================================
   Section Tabs (Images, Cinema, Posts)
   ============================================ */
.studio-section-tabs {
    display: flex;
    gap: 4px;
    padding: 0 1em;
    margin-bottom: 1em;
    border-bottom: 1px solid #e0e0e0;
}

.studio-section-tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    cursor: pointer;
    font-size: 0.95em;
    font-weight: 500;
    color: #666;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
    margin-bottom: -1px;
}

.studio-section-tab:hover {
    color: #333;
    background: #f5f5f5;
}

.studio-section-tab.active {
    color: var(--jmkr-color-1);
    border-bottom-color: var(--jmkr-color-1);
}

.studio-section-tab i {
    font-size: 1.1em;
}

/* Hidden helper */
.studio-creations-header.hidden {
    display: none;
}

/* ============================================
   Post Cards
   ============================================ */
.studio-creation-card.post-type .studio-creation-preview {
    height: 270px;
}

.studio-post-preview {
    height: 100%;
    padding: 15px;
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.studio-post-type-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.75em;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
    width: fit-content;
}

.studio-post-type-badge.tweet {
    background: #e8f5fd;
    color: #1da1f2;
}

.studio-post-type-badge.linkedin {
    background: #e8f4f8;
    color: #0077b5;
}

.studio-post-type-badge.blog {
    background: #fef3e2;
    color: #f59e0b;
}

.studio-post-type-badge.newsletter {
    background: #f3e8ff;
    color: #8b5cf6;
}

.studio-post-content {
    flex: 1;
    overflow: hidden;
}

.studio-post-headline {
    font-weight: 600;
    font-size: 0.95em;
    margin-bottom: 8px;
    color: #333;
    line-height: 1.3;
}

.studio-post-body {
    font-size: 0.85em;
    color: #555;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.studio-post-status {
    margin-top: 10px;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.7em;
    font-weight: 600;
    text-transform: uppercase;
    width: fit-content;
}

.studio-post-status.draft {
    background: #fef3c7;
    color: #92400e;
}

.studio-post-status.ready {
    background: #d1fae5;
    color: #065f46;
}

.studio-post-status.scheduled {
    background: #dbeafe;
    color: #1e40af;
}

.studio-post-status.posted {
    background: #e0e7ff;
    color: #3730a3;
}

/* Pillar tag in card meta */
.studio-creation-pillar {
    background: #f0f0f0;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75em;
    color: #666;
}

/* ============================================
   Post Type Selection Modal
   ============================================ */
.studio-post-type-modal {
    max-width: 500px !important;
}

.post-type-selector {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 10px 0;
}

.post-type-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 15px;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}

.post-type-option:hover {
    border-color: var(--jmkr-color-1);
    background: #f8f9fa;
}

.post-type-option i {
    font-size: 2em;
    color: var(--jmkr-color-1);
    margin-bottom: 10px;
}

.post-type-option span {
    font-weight: 600;
    font-size: 1em;
    margin-bottom: 4px;
}

.post-type-option small {
    font-size: 0.8em;
    color: #666;
}

/* Post type filter pills with icons */
.studio-category-pill i {
    font-size: 0.9em;
    margin-right: 2px;
}

/* ============================================
   Studio Settings Page
   ============================================ */

#StudioSettings {
    padding: 20px;
}

/* Settings Tabs */
.studioSettingsTabs.ui.tabular.menu {
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 0;
    padding: 0 10px;
    background: #f9f9f9;
    border-radius: 12px 12px 0 0;
}

.studioSettingsTabs .item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -1px;
    color: #666;
    font-weight: 500;
    transition: all 0.2s;
    background: transparent;
}

.studioSettingsTabs .item:hover {
    color: #333;
    background: rgba(0, 0, 0, 0.03);
}

.studioSettingsTabs .item.active {
    color: var(--jmkr-color-1);
    border-bottom-color: var(--jmkr-color-1);
    background: white;
}

.studioSettingsTabs .item i {
    font-size: 1.1em;
}

/* Settings Tab Content */
.studio-settings-tab {
    background: white;
    border: 1px solid #e0e0e0;
    border-top: none;
    border-radius: 0 0 12px 12px;
    padding: 25px;
    min-height: 400px;
}

/* Settings List (Products/Presets) */
.studio-settings-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

.studio-settings-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    background: #f9f9f9;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    transition: all 0.2s;
}

.studio-settings-item:hover {
    background: #f0f7ff;
    border-color: var(--jmkr-color-1);
    box-shadow: 0 2px 8px rgba(92, 179, 255, 0.15);
}

.studio-settings-item__info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.studio-settings-item__name {
    font-weight: 600;
    font-size: 1em;
    color: #333;
}

.studio-settings-item__desc {
    font-size: 0.85em;
    color: #666;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 500px;
}

.studio-settings-item__meta {
    display: flex;
    gap: 10px;
    font-size: 0.8em;
    color: #888;
}

.studio-settings-item__actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.studio-settings-item__actions .studio-button {
    padding: 8px 14px;
}

/* Empty state for settings lists */
.studio-settings-empty {
    text-align: center;
    padding: 50px 20px;
    color: #888;
    background: #f9f9f9;
    border-radius: 10px;
    border: 2px dashed #ddd;
}

.studio-settings-empty i {
    font-size: 2.5em;
    color: #ccc;
    margin-bottom: 15px;
    display: block;
}

.studio-settings-empty p {
    margin: 0;
    font-size: 0.95em;
}

/* Settings Section Headers */
.studio-settings-section {
    margin-bottom: 30px;
}

.studio-settings-section__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.studio-settings-section__header h4 {
    margin: 0;
    font-size: 1.1em;
    color: #333;
    display: flex;
    align-items: center;
    gap: 10px;
}

.studio-settings-section__header h4 i {
    color: var(--jmkr-color-1);
}

/* Preset Chips Preview in List */
.studio-preset-chips {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.studio-preset-chip {
    padding: 3px 10px;
    background: #e8e8e8;
    border-radius: 12px;
    font-size: 0.75em;
    color: #555;
}

.studio-preset-chip.tone {
    background: #f0e6ff;
    color: #7c3aed;
}

.studio-preset-chip.goal {
    background: #e0f2fe;
    color: #0284c7;
}

/* Settings List Empty State */
.settingsList__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px 20px;
    color: #64748b;
    background: #f8fafc;
    border: 2px dashed #e2e8f0;
    border-radius: 10px;
}

.settingsList__empty i {
    font-size: 2.5em;
    color: #cbd5e1;
    margin-bottom: 12px;
}

.settingsList__empty p {
    margin: 0 0 4px 0;
    font-size: 0.95rem;
}

.settingsList__emptyHint {
    font-size: 0.85rem !important;
    color: #94a3b8 !important;
}

/* Modal Overlay */
.studioModal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
    padding: 20px;
}

.studioModal {
    background: white;
    border-radius: 12px;
    width: 100%;
    max-width: 550px;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.studioModal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 24px;
    border-bottom: 1px solid #e0e0e0;
    background: #f9f9f9;
}

.studioModal__header h3 {
    margin: 0;
    font-size: 1.15em;
    color: #333;
    display: flex;
    align-items: center;
    gap: 10px;
}

.studioModal__header h3 i {
    color: var(--jmkr-color-1);
}

.studioModal__close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: pointer;
    color: #666;
    transition: all 0.2s;
}

.studioModal__close:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}

.studioModal__body {
    padding: 24px;
    overflow-y: auto;
    flex: 1;
}

.studioModal__footer {
    padding: 18px 24px;
    border-top: 1px solid #e0e0e0;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    background: #f9f9f9;
}

/* Modal Form Fields */
.studioModal .field,
.studioModal__body .field {
    margin-bottom: 16px;
}

.studioModal .field label,
.studioModal__body .field label {
    display: block;
    font-weight: 600;
    font-size: 0.9em;
    color: #555;
    margin-bottom: 6px;
}

.studioModal input[type="text"],
.studioModal textarea,
.studioModal select,
.studioModal__body input[type="text"],
.studioModal__body textarea,
.studioModal__body select {
    width: 100%;
    border-radius: 8px;
    border: 1px solid #ddd;
    padding: 10px 14px;
    font-size: 0.95em;
    box-sizing: border-box;
}

.studioModal input[type="text"]:focus,
.studioModal textarea:focus,
.studioModal select:focus,
.studioModal__body input[type="text"]:focus,
.studioModal__body textarea:focus,
.studioModal__body select:focus {
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 0 3px rgba(92, 179, 255, 0.15);
    outline: none;
}

.studioModal .two.fields {
    display: flex;
    gap: 16px;
}

.studioModal .two.fields .field {
    flex: 1;
}

/* Tone Chips in Modal */
.studioModal .tone-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.studioModal .tone-chip {
    padding: 8px 16px;
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    cursor: pointer;
    font-size: 0.9em;
    transition: all 0.2s;
    background: white;
}

.studioModal .tone-chip:hover {
    border-color: var(--jmkr-color-1);
    background: #f8f9ff;
}

.studioModal .tone-chip.selected {
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
    color: white;
}

/* Toggle Rows in Modal */
.studioModal .toggle-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}

.studioModal .toggle-row:last-child {
    border-bottom: none;
}

.studioModal .toggle-row label {
    font-weight: 500;
    color: #444;
}

/* Schedule Settings */
.studio-schedule-settings {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.studio-schedule-card {
    background: #f9f9f9;
    border-radius: 10px;
    padding: 20px;
    border: 1px solid #e8e8e8;
}

.studio-schedule-card h5 {
    margin: 0 0 15px 0;
    font-size: 0.95em;
    color: #333;
    display: flex;
    align-items: center;
    gap: 8px;
}

.studio-schedule-card h5 i {
    color: var(--jmkr-color-1);
}

/* Default Settings Grid */
.studio-defaults-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.studio-defaults-card {
    background: #f9f9f9;
    border-radius: 10px;
    padding: 20px;
    border: 1px solid #e8e8e8;
}

.studio-defaults-card h5 {
    margin: 0 0 15px 0;
    font-size: 0.95em;
    color: #333;
}

/* Product Features List in Modal */
.studioModal .features-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.studioModal .feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.studioModal .feature-item input {
    flex: 1;
}

.studioModal .feature-item .remove-feature {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: pointer;
    color: #999;
    transition: all 0.2s;
}

.studioModal .feature-item .remove-feature:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}

.studioModal .add-feature {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    color: var(--jmkr-color-1);
    cursor: pointer;
    font-size: 0.9em;
    font-weight: 500;
    margin-top: 8px;
}

.studioModal .add-feature:hover {
    text-decoration: underline;
}

/* Settings Tabs Responsive */
@media (max-width: 768px) {
    .studioSettingsTabs.ui.tabular.menu {
        flex-wrap: wrap;
    }

    .studioSettingsTabs .item {
        padding: 10px 12px;
        font-size: 0.85em;
    }

    .studioSettingsTabs .item span {
        display: none;
    }

    .studio-settings-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .studio-settings-item__actions {
        width: 100%;
        justify-content: flex-end;
    }

    .studioModal__content {
        max-height: 95vh;
        margin: 10px;
    }
}

/* ============================================
   Missing CSS Classes - Settings Tab Content
   ============================================ */

/* Settings Tab Content Container */
.studioSettingsTab {
    padding: 0;
}

/* Schedule Container */
.studio-schedule-container {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    margin-top: 0;
}

/* Campaign Date in Meta */
.studio-campaign-date {
    color: #888;
    font-size: 0.85em;
}

/* Format Info in Export Grid */
.studio-format-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* Wide Modal Variant */
.studioModal--wide {
    max-width: 900px;
}

/* Schedule Month View Container */
.studio-schedule-month {
    background: white;
    border-radius: 8px;
}

/* ============================================
   TTS Editor / Voice Studio Styles (Spec 798)
   ============================================ */

.studioTTSEditorOverlay {
    z-index: 10000;
}

.studioTTSEditor {
    background: var(--menu-color-1);
}

/* Header */
.studioTTSEditor__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: var(--menu-color-2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.studioTTSEditor__title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 1.1em;
    font-weight: 600;
}

.studioTTSEditor__title i {
    color: var(--jmkr-color-1);
    font-size: 1.2em;
}

.studioTTSEditor__headerActions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.studioTTSEditor__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e74c3c;
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s;
}

.studioTTSEditor__close:hover {
    background: #c0392b;
    transform: scale(1.05);
}

/* Body */
.studioTTSEditor__body {
    display: flex;
    flex: 1;
    overflow: hidden;
}

/* Sidebar */
.studioTTSEditor__sidebar {
    width: 280px;
    background: var(--menu-color-2);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    padding: 20px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.ttsPanel__section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ttsPanel__label {
    font-size: 0.75em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 0.5px;
    font-weight: 600;
}

.ttsPanel__label .tts-speed-value {
    color: var(--jmkr-color-1);
    font-weight: bold;
}

/* Voice Grid */
.ttsPanel__voiceGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.ttsPanel__voice {
    padding: 12px 10px;
    background: var(--menu-color-3);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border: 2px solid transparent;
}

.ttsPanel__voice:hover {
    background: var(--menu-color-1);
}

.ttsPanel__voice.active {
    background: rgba(var(--jmkr-color-1-rgb), 0.2);
    border-color: var(--jmkr-color-1);
}

.ttsPanel__voice i {
    font-size: 1.3em;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 6px;
}

.ttsPanel__voice.active i {
    color: var(--jmkr-color-1);
}

.voice__name {
    color: #fff;
    font-weight: 600;
    font-size: 0.85em;
    margin-bottom: 2px;
}

.voice__desc {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.7em;
}

/* Model Options */
.ttsPanel__modelRow {
    display: flex;
    gap: 8px;
}

.ttsPanel__model {
    flex: 1;
    padding: 12px;
    background: var(--menu-color-3);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
    border: 2px solid transparent;
}

.ttsPanel__model:hover {
    background: var(--menu-color-1);
}

.ttsPanel__model.active {
    background: rgba(var(--jmkr-color-1-rgb), 0.2);
    border-color: var(--jmkr-color-1);
}

.model__label {
    display: block;
    color: #fff;
    font-weight: 600;
    font-size: 0.9em;
    margin-bottom: 3px;
}

.model__desc {
    display: block;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.75em;
}

/* Speed Slider */
.ttsPanel__slider {
    width: 100%;
    height: 6px;
    -webkit-appearance: none;
    background: var(--menu-color-3);
    border-radius: 3px;
    outline: none;
}

.ttsPanel__slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--jmkr-color-1);
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

.ttsPanel__slider::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--jmkr-color-1);
    cursor: pointer;
    border: none;
}

.ttsPanel__sliderLabels {
    display: flex;
    justify-content: space-between;
    font-size: 0.7em;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 6px;
}

/* Main Content Area */
.studioTTSEditor__main {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 20px;
    gap: 15px;
}

.ttsMain__nameRow {
    display: flex;
}

.ttsMain__nameInput {
    flex: 1;
    padding: 12px 15px;
    background: var(--menu-color-2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: #fff;
    font-size: 0.95em;
    outline: none;
    transition: border-color 0.2s;
}

.ttsMain__nameInput::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.ttsMain__nameInput:focus {
    border-color: var(--jmkr-color-1);
}

.ttsMain__textArea {
    flex: 1;
    display: flex;
    flex-direction: column;
    position: relative;
}

.ttsMain__input {
    flex: 1;
    width: 100%;
    min-height: 200px;
    padding: 15px;
    background: var(--menu-color-2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: #fff;
    font-size: 1em;
    line-height: 1.6;
    resize: none;
    outline: none;
    font-family: inherit;
    transition: border-color 0.2s;
}

.ttsMain__input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.ttsMain__input:focus {
    border-color: var(--jmkr-color-1);
}

.ttsMain__charCount {
    position: absolute;
    bottom: 12px;
    right: 12px;
    font-size: 0.8em;
    color: rgba(255, 255, 255, 0.4);
    background: var(--menu-color-3);
    padding: 4px 8px;
    border-radius: 4px;
}

/* Actions */
.ttsMain__actions {
    display: flex;
    justify-content: flex-end;
}

.ttsMain__btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 8px;
    font-size: 1em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.ttsMain__btn--primary {
    background: var(--jmkr-color-1);
    color: #fff;
}

.ttsMain__btn--primary:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 15px rgba(var(--jmkr-color-1-rgb), 0.4);
}

.ttsMain__btn--primary.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.ttsMain__btn--generating {
    background: var(--menu-color-2);
    color: rgba(255, 255, 255, 0.7);
    cursor: wait;
}

.ttsMain__btn--generating .ui.loader {
    margin-right: 5px;
}

/* ============================================
   Audio Card Preview Styles (Spec 798)
   ============================================ */

.studio-creation-card.audio-type .studio-creation-preview {
    height: 200px;
}

.studio-audio-preview {
    height: 100%;
    padding: 15px;
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.studio-audio-icon {
    font-size: 2.5em;
    margin-bottom: 10px;
    opacity: 0.9;
}

.studio-audio-info {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 0.85em;
}

.studio-audio-voice {
    background: rgba(255,255,255,0.2);
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: capitalize;
}

.studio-audio-duration {
    background: rgba(255,255,255,0.2);
    padding: 3px 8px;
    border-radius: 4px;
}

.studio-audio-text {
    flex: 1;
    font-size: 0.85em;
    opacity: 0.9;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.studio-audio-status {
    font-size: 0.75em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
    background: rgba(255,255,255,0.2);
    align-self: flex-start;
}

.studio-audio-status.complete {
    background: rgba(76, 175, 80, 0.3);
}

.studio-audio-status.generating {
    background: rgba(255, 193, 7, 0.3);
}

.studio-audio-status.failed {
    background: rgba(244, 67, 54, 0.3);
}

/* Audio section tab highlight */
.studio-section-tab[data-section="audio"].active {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

/* App Store section tab (Spec 956) */
.studio-section-tab[data-section="store-listing"].active {
    background: linear-gradient(135deg, #3ddc84 0%, #00796b 100%);
    color: white;
}

/* Store listing category badge */
.studio-creation-card.store-listing-type .studio-creation-category {
    background: linear-gradient(135deg, #3ddc84 0%, #00796b 100%);
    color: white;
}

/* Audio creation badge styling */
.studio-creation-card.audio-type .studio-creation-category {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

/* ============================================
   Knowledge Forge Card Preview Styles (Spec 172)
   ============================================ */

.studio-creation-card.forge-type .studio-creation-preview {
    height: 200px;
}

.studio-forge-preview {
    height: 100%;
    padding: 15px;
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    color: white;
}

.studio-forge-icon {
    font-size: 2.5em;
    margin-bottom: 10px;
    opacity: 0.9;
}

.studio-forge-stats {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 0.85em;
}

.studio-forge-stat {
    display: flex;
    align-items: center;
    gap: 5px;
    background: rgba(255,255,255,0.2);
    padding: 3px 8px;
    border-radius: 4px;
}

.studio-forge-stat i {
    font-size: 0.9em;
}

.studio-forge-description {
    flex: 1;
    font-size: 0.85em;
    opacity: 0.9;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* ============================================
   Presentation Card Thumbnail Preview
   ============================================ */

/* Thumbnail container: overflow hidden clips the oversized iframe */
.studio-presentation-thumb {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #fff;
}

/* Iframe renders at full 1920px width, then CSS-scaled to fit thumbnail.
   Scale = container-width / 1920. For a ~300px card, scale ≈ 0.156.
   We use a conservative 0.15 that works across breakpoints.
   transform-origin: top left so the top-left corner stays pinned. */
.studio-presentation-thumb__iframe {
    width: 1920px;
    height: 1080px;
    border: none;
    transform: scale(0.16);
    transform-origin: top left;
    pointer-events: none;
    display: block;
}

/* Forge section tab highlight */
.studio-section-tab[data-section="forge"].active {
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    color: white;
}

/* Forge creation badge styling */
.studio-creation-card.forge-type .studio-creation-category {
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    color: white;
}

/* ============================================
   Knowledge Forge Editor
   Pattern: studioOverlay (matches Cinema/RenderRoom)
   ============================================ */

/* Forge Overlay — uses .studioOverlay base */
.studioForgeOverlay {
    z-index: 10000;
}

.studioForge {
    background: var(--menu-color-1);
}

/* Header — follows .studioImageEditor__header */
.studioForge__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: var(--menu-color-3);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.studioForge__title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 1.1em;
    font-weight: 600;
}

.studioForge__title i {
    color: var(--jmkr-color-1);
}

.studioForge__headerActions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.studioForge__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 77, 77, 0.2);
    border-radius: 8px;
    color: #ff6b6b;
    cursor: pointer;
    transition: all 0.2s;
}

.studioForge__close:hover {
    background: rgba(255, 77, 77, 0.4);
}

/* Body — follows .studioImageEditor__body */
.studioForge__body {
    display: flex;
    flex: 1;
    overflow: hidden;
}

/* Panels — follows .studioImageEditor__aiPanel pattern */
.studioForge__sources,
.studioForge__chat,
.studioForge__creations {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--menu-color-2);
}

.studioForge__sources {
    flex: 0.8;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.studioForge__chat {
    flex: 1.2;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.studioForge__creations {
    flex: 1;
}

/* Chat Messages — follows CHPH message pattern */
.studioForge__chatMessages {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
    background: var(--menu-color-1);
}

.studioForge__message {
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: var(--menu-color-3);
}

.studioForge__message--assistant {
    border-left: 3px solid var(--jmkr-color-1);
}

.studioForge__message--system {
    border-left: 3px solid #888;
    opacity: 0.85;
}

.studioForge__message--user {
    border-left: 3px solid #4ade80;
}

.studioForge__messageHeader {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.studioForge__messageBadge {
    font-size: 0.75em;
    font-weight: 600;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
}

.studioForge__message--assistant .studioForge__messageBadge {
    background: rgba(var(--jmkr-color-1-rgb), 0.2);
    color: var(--jmkr-color-1);
}

.studioForge__messageTime {
    font-size: 0.75em;
    color: rgba(255, 255, 255, 0.5);
}

.studioForge__messageBody {
    font-size: 0.9em;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
}

.studioForge__messageBody p {
    margin: 0 0 8px 0;
}

.studioForge__messageBody p:last-child {
    margin-bottom: 0;
}

.studioForge__emptyChat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 40px 20px;
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
}

.studioForge__emptyChat i {
    font-size: 48px;
    margin-bottom: 16px;
    opacity: 0.3;
}

/* Panel Headers — follows .aiPanel__header */
.studioForge__panelHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: var(--menu-color-3);
}

.studioForge__panelHeader h4 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95em;
    font-weight: 600;
    color: #fff;
}

.studioForge__panelHeader h4 i {
    color: var(--jmkr-color-1);
}

/* Add Source Button — follows .references__addBtn */
.studioForge__addSource {
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--jmkr-color-1);
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s;
}

.studioForge__addSource:hover {
    background: var(--jmkr-color-2);
    transform: scale(1.05);
}

/* Lists — follows .references__list */
.studioForge__sourceList,
.studioForge__creationList {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
    background: var(--menu-color-1);
}

/* Source Item — follows .references__item */
.studioForge__source {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: var(--menu-color-2);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    margin-bottom: 8px;
    transition: all 0.2s;
}

.studioForge__source:hover {
    background: var(--menu-color-3);
    border-color: rgba(255, 255, 255, 0.15);
}

.studioForge__sourceIcon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--menu-color-1);
    border-radius: 8px;
    color: var(--jmkr-color-1);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.studioForge__sourceInfo {
    flex: 1;
    min-width: 0;
}

.studioForge__sourceName {
    font-weight: 500;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.9em;
}

.studioForge__sourceType {
    font-size: 0.75em;
    color: rgba(255, 255, 255, 0.5);
    text-transform: capitalize;
    margin-top: 2px;
}

/* Remove Button — follows .references__remove */
.studioForge__sourceRemove {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 77, 77, 0.15);
    border-radius: 4px;
    color: rgba(255, 100, 100, 0.8);
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.2s;
}

.studioForge__sourceRemove:hover {
    background: rgba(255, 77, 77, 0.3);
    color: #ff6b6b;
}

/* Empty States */
.studioForge__emptySources,
.studioForge__emptyCreations {
    text-align: center;
    padding: 40px 20px;
    color: rgba(255, 255, 255, 0.4);
}

.studioForge__emptySources i,
.studioForge__emptyCreations i {
    font-size: 2.5em;
    margin-bottom: 12px;
    opacity: 0.5;
    color: rgba(255, 255, 255, 0.3);
}

.studioForge__emptySources p,
.studioForge__emptyCreations p {
    margin: 0;
    color: rgba(255, 255, 255, 0.5);
}

.studioForge__emptyHint {
    font-size: 0.85em;
    margin-top: 4px !important;
    color: rgba(255, 255, 255, 0.35);
}

/* Add Source Form — follows .aiPanel__body pattern */
.studioForge__addSourceForm {
    padding: 15px;
    background: var(--menu-color-3);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.studioForge__sourceTabs {
    display: flex;
    gap: 6px;
    margin-bottom: 12px;
}

.studioForge__sourceTab {
    flex: 1;
    padding: 8px 10px;
    text-align: center;
    border-radius: 6px;
    background: var(--menu-color-2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    cursor: pointer;
    font-size: 0.8em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.2s;
    color: rgba(255, 255, 255, 0.7);
}

.studioForge__sourceTab:hover {
    border-color: var(--jmkr-color-1);
    color: #fff;
}

.studioForge__sourceTab.active {
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
    color: #fff;
}

.studioForge__sourceContent .field {
    margin-bottom: 10px;
}

.studioForge__sourceContent label {
    display: block;
    margin-bottom: 4px;
    font-size: 0.8em;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
}

/* Inputs — follows .aiPanel__body textarea pattern */
.studioForge__sourceContent input,
.studioForge__sourceContent textarea,
.studioForge__sourceContent select,
.studioForge__filePanel input,
.studioForge__filePanel select,
.studioForge__urlPanel input,
.studioForge__textPanel input,
.studioForge__textPanel textarea {
    width: 100%;
    padding: 10px 12px;
    background: var(--menu-color-2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    color: #fff;
    font-size: 0.9em;
    font-family: inherit;
}

.studioForge__sourceContent input:focus,
.studioForge__sourceContent textarea:focus,
.studioForge__sourceContent select:focus,
.studioForge__filePanel input:focus,
.studioForge__filePanel select:focus,
.studioForge__urlPanel input:focus,
.studioForge__textPanel input:focus,
.studioForge__textPanel textarea:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
    background: var(--menu-color-1);
}

.studioForge__sourceContent input::placeholder,
.studioForge__sourceContent textarea::placeholder,
.studioForge__urlPanel input::placeholder,
.studioForge__textPanel input::placeholder,
.studioForge__textPanel textarea::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

.studioForge__sourceContent textarea,
.studioForge__textPanel textarea {
    resize: vertical;
    min-height: 80px;
}

.studioForge__sourceContent select,
.studioForge__filePanel select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 28px;
}

.studioForge__sourceContent select option,
.studioForge__filePanel select option {
    background: var(--menu-color-1);
    color: #fff;
    padding: 8px;
}

/* Form Actions — follows .aiPanel__actions */
.studioForge__sourceActions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 12px;
}

.studioForge__sourceActions .ui.button {
    background: var(--menu-color-2);
    color: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.studioForge__sourceActions .ui.button:hover {
    background: var(--menu-color-1);
    color: #fff;
}

.studioForge__sourceActions .ui.button.primary {
    background: var(--jmkr-color-1);
    color: #fff;
    border-color: var(--jmkr-color-1);
}

.studioForge__sourceActions .ui.button.primary:hover {
    background: var(--jmkr-color-2);
}

/* Creation Buttons — follows .aiPanel__presets pattern */
.studioForge__createButtons {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    padding: 12px 15px;
    background: var(--menu-color-3);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.studioForge__createBtn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 12px 8px;
    background: var(--menu-color-2);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}

.studioForge__createBtn:hover {
    border-color: var(--jmkr-color-1);
    background: var(--menu-color-1);
}

.studioForge__createBtn i {
    font-size: 1.4em;
    color: var(--jmkr-color-1);
}

.studioForge__createBtn span {
    font-size: 0.7em;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 500;
}

.studioForge__createBtn:hover span {
    color: #fff;
}

/* Creation Item — follows source item pattern */
.studioForge__creation {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: var(--menu-color-2);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    margin-bottom: 8px;
    transition: all 0.2s;
}

.studioForge__creation:hover {
    background: var(--menu-color-3);
    border-color: rgba(255, 255, 255, 0.15);
}

.studioForge__creationIcon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--jmkr-color-1);
    border-radius: 8px;
    color: #fff;
}

.studioForge__creationInfo {
    flex: 1;
    min-width: 0;
}

.studioForge__creationName {
    font-weight: 500;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.9em;
}

/* Status badges — dark theme versions */
.studioForge__creationStatus {
    font-size: 0.7em;
    text-transform: capitalize;
    padding: 3px 8px;
    border-radius: 4px;
    display: inline-block;
    margin-top: 4px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.1);
}

.studioForge__creationStatus.ready {
    background: rgba(76, 175, 80, 0.2);
    color: #81c784;
}

.studioForge__creationStatus.generating {
    background: rgba(255, 193, 7, 0.2);
    color: #ffd54f;
}

.studioForge__creationStatus.failed {
    background: rgba(244, 67, 54, 0.2);
    color: #ef5350;
}

.studioForge__creationStatus.authored {
    background: rgba(33, 150, 243, 0.2);
    color: #64b5f6;
}

.studioForge__creationStatus.draft {
    background: rgba(158, 158, 158, 0.2);
    color: #bdbdbd;
}

.studioForge__creationView {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: all 0.2s;
}

.studioForge__creationView:hover {
    background: var(--menu-color-1);
    color: #fff;
}

.studioForge__creationSpinner {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Podcast Editor Panel */
.studioForge__chat--expanded {
    flex: 2 !important;
}

.studioForge__backBtn {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: all 0.2s;
    margin-right: 8px;
}

.studioForge__backBtn:hover {
    background: var(--menu-color-1);
    color: #fff;
}

.studioForge__podcastEditor {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
    background: var(--menu-color-1);
}

.studioForge__podcastSection {
    margin-bottom: 16px;
    padding: 12px;
    background: var(--menu-color-2);
    border-radius: 8px;
}

.studioForge__podcastSection--output {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.15), rgba(139, 92, 246, 0.1));
    border: 1px solid rgba(99, 102, 241, 0.3);
}

.studioForge__podcastSection h5 {
    margin: 0 0 10px 0;
    font-size: 0.85em;
    color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    gap: 6px;
}

.studioForge__podcastSection h5 i {
    font-size: 0.9em;
}

.studioForge__voiceList {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.studioForge__voiceItem {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    background: var(--menu-color-1);
    border-radius: 6px;
}

.studioForge__voiceName {
    font-weight: 500;
    color: #fff;
}

.studioForge__voiceConfig {
    font-size: 0.8em;
    color: rgba(255, 255, 255, 0.5);
}

.studioForge__emptyVoices,
.studioForge__emptySections {
    padding: 12px;
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.85em;
}

.studioForge__addVoiceBtn,
.studioForge__addSectionBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    margin-top: 8px;
    border: 1px dashed rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.85em;
}

.studioForge__addVoiceBtn:hover,
.studioForge__addSectionBtn:hover {
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
}

.studioForge__sectionList {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.studioForge__scriptSection {
    padding: 10px;
    background: var(--menu-color-1);
    border-radius: 6px;
    border-left: 3px solid rgba(255, 255, 255, 0.2);
}

.studioForge__sectionHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.studioForge__sectionVoice {
    font-size: 0.75em;
    font-weight: 600;
    color: #64b5f6;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.studioForge__sectionActions {
    display: flex;
    gap: 6px;
    align-items: center;
}

.studioForge__sectionPlayBtn,
.studioForge__sectionEditBtn,
.studioForge__sectionDeleteBtn {
    width: 24px;
    height: 24px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
    color: rgba(255, 255, 255, 0.5);
}

.studioForge__sectionPlayBtn:hover {
    background: rgba(129, 199, 132, 0.2);
    color: #81c784;
}

.studioForge__sectionEditBtn:hover {
    background: rgba(100, 181, 246, 0.2);
    color: #64b5f6;
}

.studioForge__sectionDeleteBtn:hover {
    background: rgba(244, 67, 54, 0.2);
    color: #f44336;
}

.studioForge__sectionPlayBtn .lucide-icon,
.studioForge__sectionEditBtn .lucide-icon,
.studioForge__sectionDeleteBtn .lucide-icon {
    width: 14px;
    height: 14px;
}

.studioForge__sectionGenerated {
    color: #81c784;
    font-size: 0.85em;
}

.studioForge__sectionText {
    font-size: 0.85em;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.4;
}

.studioForge__sectionOverlap {
    font-size: 0.7em;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 4px;
}

.studioForge__audioPlayer {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.studioForge__podcastAudio {
    width: 100%;
    height: 40px;
    border-radius: 4px;
    /* Invert colors for white-themed controls on dark background */
    filter: invert(1) hue-rotate(180deg);
}

.studioForge__podcastAudio::-webkit-media-controls-panel {
    background: transparent;
}

.studioForge__podcastAudio::-webkit-media-controls-play-button,
.studioForge__podcastAudio::-webkit-media-controls-mute-button,
.studioForge__podcastAudio::-webkit-media-controls-volume-slider,
.studioForge__podcastAudio::-webkit-media-controls-current-time-display,
.studioForge__podcastAudio::-webkit-media-controls-time-remaining-display {
    filter: brightness(1.2);
}

.studioForge__audioMeta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.studioForge__audioDuration {
    font-size: 0.75em;
    color: rgba(255, 255, 255, 0.6);
    display: flex;
    align-items: center;
    gap: 4px;
}

.studioForge__audioDuration .lucide-icon {
    width: 12px;
    height: 12px;
}

.studioForge__audioStatus {
    font-size: 0.7em;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 10px;
}

.studioForge__audioStatus .lucide-icon {
    width: 12px;
    height: 12px;
}

.studioForge__audioStatus--ready {
    background: rgba(129, 199, 132, 0.2);
    color: #81c784;
}

.studioForge__audioActions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.studioForge__audioBtn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.8em;
    cursor: pointer;
    transition: all 0.15s;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-decoration: none;
}

.studioForge__audioBtn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2);
}

.studioForge__audioBtn .lucide-icon {
    width: 14px;
    height: 14px;
}

.studioForge__audioEmpty {
    text-align: center;
    padding: 20px;
    color: rgba(255, 255, 255, 0.5);
}

.studioForge__audioEmpty p {
    margin: 0;
}

.studioForge__audioGenerating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--jmkr-color-1);
}

.studioForge__audioGenerating .lucide-icon.spinning {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.studioForge__podcastActions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.studioForge__btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 16px;
    border-radius: 6px;
    font-size: 0.85em;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.studioForge__btn--primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
}

.studioForge__btn--primary:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.studioForge__btn--secondary {
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.studioForge__btn--secondary:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}

/* ============================================
   VIDEO EDITOR STYLES
   ============================================ */

.studioForge__videoEditor {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
    background: var(--menu-color-1);
}

.studioForge__videoSection {
    margin-bottom: 16px;
    padding: 12px;
    background: var(--menu-color-2);
    border-radius: 8px;
}

.studioForge__videoSection h5 {
    margin: 0 0 10px 0;
    font-size: 0.85em;
    color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    gap: 6px;
}

.studioForge__videoSection h5 i {
    font-size: 0.9em;
}

/* Audio Source Section */
.studioForge__videoAudioPreview {
    background: var(--menu-color-1);
    border-radius: 6px;
    padding: 10px;
}

.studioForge__videoAudio {
    width: 100%;
    height: 36px;
    border-radius: 4px;
    filter: invert(1) hue-rotate(180deg);
}

.studioForge__videoAudioDuration {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75em;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 6px;
}

.studioForge__videoAudioDuration .lucide-icon {
    width: 12px;
    height: 12px;
}

.studioForge__emptyAudio {
    padding: 12px;
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.85em;
}

.studioForge__emptyAudio p {
    margin: 0;
}

.studioForge__setAudioBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    margin-top: 8px;
    border: 1px dashed rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.85em;
}

.studioForge__setAudioBtn:hover {
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
}

/* Slides Section */
.studioForge__slideList {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.studioForge__slide {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    background: var(--menu-color-1);
    border-radius: 6px;
    border-left: 3px solid rgba(255, 255, 255, 0.2);
}

.studioForge__slideThumb {
    width: 60px;
    height: 34px;
    border-radius: 4px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.05);
    flex-shrink: 0;
}

.studioForge__slideThumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.studioForge__slideEmpty {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.3);
}

.studioForge__slideEmpty .lucide-icon {
    width: 20px;
    height: 20px;
}

.studioForge__slideInfo {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
}

.studioForge__slideNumber {
    font-size: 0.8em;
    font-weight: 500;
    color: #fff;
}

.studioForge__slideDuration {
    font-size: 0.7em;
    color: rgba(255, 255, 255, 0.5);
    padding: 2px 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.studioForge__slideTransition {
    color: #64b5f6;
}

.studioForge__slideTransition .lucide-icon {
    width: 14px;
    height: 14px;
}

.studioForge__slideActions {
    display: flex;
    gap: 4px;
}

.studioForge__slideEditBtn,
.studioForge__slideDeleteBtn {
    width: 24px;
    height: 24px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
    color: rgba(255, 255, 255, 0.5);
}

.studioForge__slideEditBtn:hover {
    background: rgba(100, 181, 246, 0.2);
    color: #64b5f6;
}

.studioForge__slideDeleteBtn:hover {
    background: rgba(244, 67, 54, 0.2);
    color: #f44336;
}

.studioForge__slideEditBtn .lucide-icon,
.studioForge__slideDeleteBtn .lucide-icon {
    width: 14px;
    height: 14px;
}

.studioForge__emptySlides {
    padding: 12px;
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.85em;
}

.studioForge__emptySlides p {
    margin: 0;
}

.studioForge__addSlideBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    margin-top: 8px;
    border: 1px dashed rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.85em;
}

.studioForge__addSlideBtn:hover {
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
}

/* Video Output Section */
.studioForge__videoPlayer {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.studioForge__videoOutput {
    width: 100%;
    border-radius: 6px;
    background: #000;
}

.studioForge__videoMeta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.studioForge__videoDuration {
    font-size: 0.75em;
    color: rgba(255, 255, 255, 0.6);
    display: flex;
    align-items: center;
    gap: 4px;
}

.studioForge__videoDuration .lucide-icon {
    width: 12px;
    height: 12px;
}

.studioForge__videoResolution {
    font-size: 0.7em;
    color: rgba(255, 255, 255, 0.4);
    padding: 2px 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.studioForge__videoStatus {
    font-size: 0.7em;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: auto;
}

.studioForge__videoStatus .lucide-icon {
    width: 12px;
    height: 12px;
}

.studioForge__videoStatus--ready {
    background: rgba(129, 199, 132, 0.2);
    color: #81c784;
}

.studioForge__videoActions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.studioForge__videoBtn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.8em;
    cursor: pointer;
    transition: all 0.15s;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-decoration: none;
}

.studioForge__videoBtn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2);
}

.studioForge__videoBtn .lucide-icon {
    width: 14px;
    height: 14px;
}

.studioForge__videoEmpty {
    text-align: center;
    padding: 20px;
    color: rgba(255, 255, 255, 0.5);
}

.studioForge__videoEmpty p {
    margin: 0;
}

.studioForge__videoGenerating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--jmkr-color-1);
}

.studioForge__videoGenerating .lucide-icon.spinning {
    animation: spin 1s linear infinite;
}

.studioForge__videoEditorActions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

/* Custom scrollbar for dark theme */
.studioForge__sourceList::-webkit-scrollbar,
.studioForge__creationList::-webkit-scrollbar {
    width: 6px;
}

.studioForge__sourceList::-webkit-scrollbar-track,
.studioForge__creationList::-webkit-scrollbar-track {
    background: var(--menu-color-2);
    border-radius: 3px;
}

.studioForge__sourceList::-webkit-scrollbar-thumb,
.studioForge__creationList::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
}

.studioForge__sourceList::-webkit-scrollbar-thumb:hover,
.studioForge__creationList::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* Forge Editor Responsive Styles */
@media (max-width: 1100px) {
    /* At tablet widths, stack chat under sources/creations */
    .studioForge__body {
        flex-wrap: wrap;
    }
    .studioForge__sources {
        flex: 1 1 50%;
        border-right: 1px solid rgba(255, 255, 255, 0.1);
        border-bottom: none;
        max-height: 50%;
    }
    .studioForge__creations {
        flex: 1 1 50%;
        max-height: 50%;
    }
    .studioForge__chat {
        flex: 1 1 100%;
        border-right: none;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        max-height: 50%;
    }
}

@media (max-width: 900px) {
    .studioForge__body {
        flex-direction: column;
        flex-wrap: nowrap;
    }
    .studioForge__sources {
        flex: none;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        max-height: 30%;
    }
    .studioForge__chat {
        flex: 1;
        border-top: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        max-height: none;
    }
    .studioForge__creations {
        flex: none;
        max-height: 35%;
    }
    .studioForge__createButtons {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .studioForgeOverlay {
        left: 0;
        width: 100%;
        padding: 0;
    }
    .studioForgeOverlay.slimMenu,
    .studioForgeOverlay.rightUIOpen,
    .studioForgeOverlay.slimMenu.rightUIOpen {
        left: 0;
        width: 100%;
    }
    .studioForge {
        max-height: 100vh;
        height: 100vh;
        border-radius: 0;
        max-width: 100%;
    }
    .studioForge__body {
        flex-direction: column;
    }
    .studioForge__createButtons {
        grid-template-columns: repeat(2, 1fr);
    }
    .studioForge__sourceTabs {
        flex-wrap: wrap;
    }
    .studioForge__sourceTab {
        flex: 1 1 calc(50% - 3px);
    }
}

/* ============================================
   INFOGRAPHIC EDITOR STYLES
   ============================================ */

.studioForge__infographicEditor {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
    background: var(--menu-color-1);
}

.studioForge__infographicSection {
    margin-bottom: 16px;
    padding: 12px;
    background: var(--menu-color-2);
    border-radius: 8px;
}

.studioForge__infographicSection h5 {
    margin: 0 0 10px 0;
    font-size: 0.85em;
    color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    gap: 6px;
}

.studioForge__infographicSection h5 i {
    font-size: 0.9em;
}

.studioForge__infographicBrief {
    font-size: 0.85em;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
    padding: 10px;
    background: var(--menu-color-1);
    border-radius: 6px;
    border-left: 3px solid var(--jmkr-color-1);
}

.studioForge__dataPointList {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.studioForge__dataPoint {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px;
    background: var(--menu-color-1);
    border-radius: 6px;
    color: #fff;
}

.studioForge__dataPointLabel {
    font-size: 0.8em;
    font-weight: 600;
    color: #64b5f6;
    min-width: 80px;
    flex-shrink: 0;
}

.studioForge__dataPointValue {
    font-size: 0.85em;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.4;
}

.studioForge__emptyDataPoints {
    padding: 12px;
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.85em;
}

.studioForge__infographicPreview {
    text-align: center;
}

.studioForge__infographicImage {
    max-width: 100%;
    border-radius: 8px;
    margin-bottom: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.studioForge__infographicActions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

/* Aspect Ratio Selection */
.studioForge__aspectRatioOptions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.studioForge__aspectRatioOption {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.studioForge__aspectRatioOption input[type="radio"] {
    display: none;
}

.studioForge__aspectRatioLabel {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: var(--menu-color-1);
    border-radius: 6px;
    border: 1px solid transparent;
    font-size: 0.8em;
    color: rgba(255, 255, 255, 0.7);
    transition: all 0.15s;
    width: 100%;
}

.studioForge__aspectRatioOption input[type="radio"]:checked + .studioForge__aspectRatioLabel {
    border-color: var(--jmkr-color-1);
    color: #fff;
    background: rgba(var(--jmkr-color-1-rgb), 0.1);
}

.studioForge__aspectRatioOption:hover .studioForge__aspectRatioLabel {
    background: rgba(255, 255, 255, 0.08);
}

.studioForge__aspectRatioPreview {
    display: block;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
    flex-shrink: 0;
}

.studioForge__aspectRatioPreview--9-16 {
    width: 12px;
    height: 21px;
}

.studioForge__aspectRatioPreview--1-1 {
    width: 16px;
    height: 16px;
}

.studioForge__aspectRatioPreview--16-9 {
    width: 21px;
    height: 12px;
}

.studioForge__aspectRatioPreview--4-5 {
    width: 14px;
    height: 18px;
}

/* Generations Gallery */
.studioForge__generationsGallery {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.studioForge__generationItem {
    width: 72px;
    cursor: pointer;
    border-radius: 6px;
    overflow: hidden;
    border: 2px solid transparent;
    transition: all 0.15s;
    background: var(--menu-color-1);
}

.studioForge__generationItem:hover {
    border-color: rgba(255, 255, 255, 0.3);
}

.studioForge__generationItem--selected {
    border-color: var(--jmkr-color-1);
}

.studioForge__generationItem--pending {
    opacity: 0.6;
}

.studioForge__generationThumb {
    width: 100%;
    height: 80px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.05);
}

.studioForge__generationThumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.studioForge__generationPending {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--jmkr-color-1);
}

.studioForge__generationInfo {
    padding: 4px 6px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.studioForge__generationLabel {
    font-size: 0.7em;
    font-weight: 600;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 3px;
}

.studioForge__generationLabel .lucide-icon {
    width: 10px;
    height: 10px;
    color: #64b5f6;
}

.studioForge__generationRatio {
    font-size: 0.65em;
    color: rgba(255, 255, 255, 0.5);
}

.studioForge__selectedGeneration {
    margin-top: 12px;
    text-align: center;
}

.studioForge__generationDate {
    font-size: 0.7em;
    color: rgba(255, 255, 255, 0.5);
}

.studioForge__infographicEmpty {
    padding: 20px;
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
}

.studioForge__infographicEmpty p {
    margin: 0;
}

.studioForge__infographicGenerating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 20px;
    color: var(--jmkr-color-1);
}

.studioForge__infographicGenerating .lucide-icon.spinning {
    animation: spin 1s linear infinite;
}

.studioForge__infographicMeta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.studioForge__infographicStatus {
    font-size: 0.7em;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 10px;
}

.studioForge__infographicStatus .lucide-icon {
    width: 12px;
    height: 12px;
}

.studioForge__infographicStatus--ready {
    background: rgba(129, 199, 132, 0.2);
    color: #81c784;
}

.studioForge__infographicImageActions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.studioForge__infographicBtn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.8em;
    cursor: pointer;
    transition: all 0.15s;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-decoration: none;
}

.studioForge__infographicBtn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2);
}

.studioForge__infographicBtn .lucide-icon {
    width: 14px;
    height: 14px;
}

/* ============================================
   SLIDESHOW EDITOR STYLES
   ============================================ */

.studioForge__slideshowEditor {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
    background: var(--menu-color-1);
}

.studioForge__slideshowSection {
    margin-bottom: 16px;
    padding: 12px;
    background: var(--menu-color-2);
    border-radius: 8px;
}

.studioForge__slideshowSection h5 {
    margin: 0 0 10px 0;
    font-size: 0.85em;
    color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    gap: 6px;
}

.studioForge__slideshowSection h5 i {
    font-size: 0.9em;
}

.studioForge__slideshowBrief {
    font-size: 0.85em;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
    padding: 10px;
    background: var(--menu-color-1);
    border-radius: 6px;
    border-left: 3px solid #ff9800;
}

.studioForge__slideshowSlideList {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.studioForge__slideshowSlide {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    background: var(--menu-color-1);
    border-radius: 6px;
    border-left: 3px solid rgba(255, 255, 255, 0.2);
}

.studioForge__slideshowSlide--rendered {
    border-left-color: #81c784;
}

.studioForge__slideshowSlide--pending {
    border-left-color: #ffb74d;
}

.studioForge__slideshowSlideThumb {
    width: 80px;
    height: 45px;
    border-radius: 4px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.05);
    flex-shrink: 0;
}

.studioForge__slideshowSlideThumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.studioForge__slideshowSlideEmpty {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.3);
}

.studioForge__slideshowSlideEmpty .lucide-icon {
    width: 24px;
    height: 24px;
}

.studioForge__slideshowSlideInfo {
    flex: 1;
    min-width: 0;
}

.studioForge__slideshowSlideNumber {
    font-size: 0.75em;
    font-weight: 600;
    color: #64b5f6;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.studioForge__slideshowSlideTitle {
    font-size: 0.85em;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.studioForge__slideshowSlideStatus {
    font-size: 0.7em;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 10px;
    flex-shrink: 0;
}

.studioForge__slideshowSlideStatus .lucide-icon {
    width: 12px;
    height: 12px;
}

.studioForge__slideshowSlideStatus--rendered {
    background: rgba(129, 199, 132, 0.2);
    color: #81c784;
}

.studioForge__slideshowSlideStatus--pending {
    background: rgba(255, 183, 77, 0.2);
    color: #ffb74d;
}

.studioForge__emptySlides {
    padding: 12px;
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.85em;
}

.studioForge__slideshowActions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.studioForge__slideshowGenerating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 20px;
    color: var(--jmkr-color-1);
}

.studioForge__slideshowGenerating .lucide-icon.spinning {
    animation: spin 1s linear infinite;
}

/* ================================================================
   Pipeline Progress Tracker (Spec 959)
   Pattern: GitHub-style muted palette consistent with existing
   store-listing styles above (greens from #3ddc84/#00796b palette)
   ================================================================ */

.pipeline-tracker {
    margin: 12px 0 16px 0;
    background: #fafbfc;
    border: 1px solid #e1e4e8;
    border-radius: 8px;
    overflow: hidden;
}

.pipeline-tracker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: #f6f8fa;
    border-bottom: 1px solid #e1e4e8;
}

.pipeline-tracker-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #24292e;
}

.pipeline-tracker-title .lucide-icon {
    font-size: 15px;
    color: #586069;
}

.pipeline-tracker-progress {
    font-weight: 400;
    color: #586069;
    font-size: 12px;
}

.pipeline-tracker-dismiss {
    cursor: pointer;
    padding: 4px;
    color: #959da5;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.pipeline-tracker-dismiss:hover {
    background: #e1e4e8;
    color: #24292e;
}

/* Pipeline status badges */
.pipeline-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 500;
}

.pipeline-status-badge--active {
    background: #ddf4ff;
    color: #0969da;
}

.pipeline-status-badge--complete {
    background: #dafbe1;
    color: #1a7f37;
}

.pipeline-status-badge--failed {
    background: #ffebe9;
    color: #cf222e;
}

/* Pulse animation — communicates "generating in progress" */
.pipeline-pulse {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    animation: pipelinePulse 1.5s ease-in-out infinite;
}

@keyframes pipelinePulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(0.8); }
}

/* Pipeline steps list */
.pipeline-tracker-steps {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pipeline-step {
    display: flex;
    gap: 10px;
    padding: 6px 0;
}

.pipeline-step-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 28px;
}

.pipeline-step-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    background: #f0f0f0;
    color: #959da5;
    flex-shrink: 0;
}

.pipeline-step--active .pipeline-step-icon {
    background: #ddf4ff;
    color: #0969da;
    animation: pipelinePulse 1.5s ease-in-out infinite;
}

.pipeline-step--complete .pipeline-step-icon {
    background: #dafbe1;
    color: #1a7f37;
}

.pipeline-step--failed .pipeline-step-icon {
    background: #ffebe9;
    color: #cf222e;
}

.pipeline-step-connector {
    width: 2px;
    flex: 1;
    min-height: 8px;
    background: #e1e4e8;
    margin-top: 2px;
}

.pipeline-step--complete .pipeline-step-connector {
    background: #1a7f37;
}

.pipeline-step-content {
    flex: 1;
    min-width: 0;
}

.pipeline-step-header {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 4px 0;
}

.pipeline-step-label {
    font-size: 13px;
    font-weight: 500;
    color: #24292e;
    text-transform: capitalize;
}

.pipeline-step--queued .pipeline-step-label {
    color: #959da5;
}

.pipeline-step-status {
    font-size: 11px;
    color: #586069;
}

.pipeline-step--active .pipeline-step-status {
    color: #0969da;
    font-weight: 500;
}

.pipeline-step-expand {
    font-size: 12px;
    color: #959da5;
    margin-left: auto;
    transition: transform 0.2s ease;
}

/* Pipeline step thumbnail */
.pipeline-step-thumbnail {
    margin-top: 6px;
    max-width: 120px;
}

.pipeline-step-thumbnail img {
    width: 100%;
    border-radius: 4px;
    border: 1px solid #e1e4e8;
}

/* Pipeline step error */
.pipeline-step-error {
    margin-top: 4px;
    font-size: 12px;
    color: #cf222e;
    background: #ffebe9;
    padding: 4px 8px;
    border-radius: 4px;
}

/* Pipeline analysis accordion */
.pipeline-step-analysis {
    margin-top: 6px;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid #e1e4e8;
    border-radius: 6px;
    font-size: 12px;
    line-height: 1.5;
    color: #24292e;
}

.pipeline-analysis-section {
    margin-bottom: 8px;
}

.pipeline-analysis-section:last-child {
    margin-bottom: 0;
}

.pipeline-analysis-section strong {
    display: block;
    color: #586069;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 2px;
}

.pipeline-analysis-section p {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
}

/* App Store tab active pipeline indicator */
.pipeline-tab-indicator {
    display: inline-flex;
    align-items: center;
    margin-left: 4px;
    color: #0969da;
}

/* ============================================
   PRESENTATION EDITOR STYLES (Spec 1050)
   ============================================ */

.studioForge__presentationEditor {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
    background: var(--menu-color-1);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.studioForge__presentationSection {
    padding: 12px;
    background: var(--menu-color-2);
    border-radius: 8px;
}

.studioForge__presentationSection h5 {
    margin: 0 0 10px 0;
    font-size: 0.85em;
    color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    gap: 6px;
}

.studioForge__presentationSection h5 i {
    font-size: 0.9em;
}

/* Live Preview iframe container */
.studioForge__presentationPreview {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
}

.studioForge__presentationIframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    background: #fff;
}

/* Tabbed Code Editors */
.studioForge__presentationTabs {
    display: flex;
    gap: 4px;
    margin-bottom: 8px;
}

.studioForge__presentationTabBtn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px 10px;
    font-size: 0.8em;
    color: rgba(255, 255, 255, 0.5);
    background: var(--menu-color-1);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
}

.studioForge__presentationTabBtn:hover {
    color: rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.08);
}

.studioForge__presentationTabBtn.active {
    color: #fff;
    background: rgba(58, 173, 229, 0.2);
    border: 1px solid rgba(58, 173, 229, 0.4);
}

.studioForge__presentationTabBtn i {
    font-size: 0.9em;
}

/* Code textarea */
.studioForge__presentationCode {
    width: 100%;
    min-height: 200px;
    max-height: 400px;
    padding: 10px;
    font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
    font-size: 12px;
    line-height: 1.5;
    color: #e0e0e0;
    background: var(--menu-color-1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    resize: vertical;
    tab-size: 2;
    white-space: pre;
    overflow-x: auto;
}

.studioForge__presentationCode:focus {
    outline: none;
    border-color: rgba(58, 173, 229, 0.5);
    box-shadow: 0 0 0 2px rgba(58, 173, 229, 0.1);
}

.studioForge__presentationCode::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

/* Action buttons */
.studioForge__presentationActions {
    display: flex;
    gap: 8px;
    padding: 12px;
}

.studioForge__presentationActions .studioForge__btn {
    flex: 1;
    text-align: center;
    justify-content: center;
}

/* ============================================
   Standalone Presentation Editor Overlay (Spec 1050 Phase 2)
   Pattern: studioOverlay (matches Cinema/Forge/RenderRoom)
   ============================================ */

/* Overlay — uses .studioOverlay base for positioning + menu awareness */
.studioPresentationOverlay {
    z-index: 10000;
}

.studioPresentation {
    background: var(--menu-color-1);
}

/* Header */
.studioPresentation__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: var(--menu-color-3);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.studioPresentation__title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 1.1em;
    font-weight: 600;
}

.studioPresentation__title i {
    color: var(--jmkr-color-1);
}

.studioPresentation__headerActions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.studioPresentation__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 0.85em;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    cursor: pointer;
    transition: all 0.2s;
}

.studioPresentation__btn:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}

.studioPresentation__btn--save {
    background: rgba(58, 173, 229, 0.2);
    border-color: rgba(58, 173, 229, 0.3);
    color: var(--jmkr-color-1);
}

.studioPresentation__btn--save:hover {
    background: rgba(58, 173, 229, 0.35);
}

.studioPresentation__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 77, 77, 0.2);
    border-radius: 8px;
    color: #ff6b6b;
    cursor: pointer;
    transition: all 0.2s;
    margin-left: 4px;
}

.studioPresentation__close:hover {
    background: rgba(255, 77, 77, 0.4);
}

/* Body — single-panel with 4 tabs (Preview | HTML | CSS | JS) */
.studioPresentation__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}

/* Tabs */
.studioPresentation__tabs {
    display: flex;
    background: var(--menu-color-2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.studioPresentation__tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85em;
    font-weight: 500;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
}

.studioPresentation__tab:hover {
    color: rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.03);
}

.studioPresentation__tab.active {
    color: var(--jmkr-color-1);
    border-bottom-color: var(--jmkr-color-1);
    background: rgba(58, 173, 229, 0.05);
}

.studioPresentation__tab i {
    font-size: 14px;
}

/* Content Panel — full width, shows one tab at a time */
.studioPresentation__contentPanel {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Code Textarea */
.studioPresentation__code {
    flex: 1;
    width: 100%;
    padding: 16px;
    font-family: 'Monaco', 'Menlo', 'Consolas', 'Courier New', monospace;
    font-size: 13px;
    line-height: 1.6;
    color: #e0e0e0;
    background: var(--menu-color-1);
    border: none;
    resize: none;
    tab-size: 2;
    white-space: pre;
    overflow: auto;
    outline: none;
}

.studioPresentation__code::placeholder {
    color: rgba(255, 255, 255, 0.25);
}

.studioPresentation__code:focus {
    box-shadow: inset 0 0 0 1px rgba(58, 173, 229, 0.3);
}

/* Preview Wrapper — full width when preview tab is active */
.studioPresentation__previewWrapper {
    flex: 1;
    padding: 12px;
    overflow: hidden;
}

.studioPresentation__iframe {
    width: 100%;
    height: 100%;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    background: #fff;
}

/* Mobile */
@media (max-width: 768px) {
    .studioPresentation__header {
        flex-wrap: wrap;
        gap: 8px;
        padding: 10px 12px;
    }

    .studioPresentation__headerActions {
        flex-wrap: wrap;
        gap: 6px;
    }

    .studioPresentation__btn {
        padding: 6px 10px;
        font-size: 0.8em;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .studioPresentation__tab,
    .studioPresentation__btn,
    .studioPresentation__close {
        transition: none;
    }
}

/* ============================================
   Resize Dialog (Spec 1203 Wave 4)
   Pattern: studioPage.css:2066 (.studio-creation-action)
   ============================================ */

.resizeDialog__customSize {
    margin-top: 10px;
}

.resizeDialog__customInputs {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
}

.resizeDialog__label {
    font-size: 0.9em;
    color: #666;
}

.resizeDialog__input {
    width: 80px;
    padding: 6px 8px;
    border: 1px solid #ddd;
    border-radius: 3.5px;
    font-size: 0.9em;
    text-align: center;
}

.resizeDialog__x {
    font-size: 1.2em;
    color: #999;
}

.resizeDialog__info {
    margin-top: 12px;
    padding: 10px 14px;
    background: #f8f9fa;
    border-radius: 3.5px;
    font-size: 0.85em;
    color: #555;
    text-align: left;
}

.resizeDialog__info p {
    margin: 4px 0;
}

.resizeDialog__quickCropBtn {
    background: #6c757d;
}

/* ============================================
   Campaign Form (Spec 1206 Wave 2)
   Pattern: studio-format-grid at studioPage.css (existing format checkboxes)
   ============================================ */

.campaignForm__productGrid,
.campaignForm__colleagueGrid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.campaignForm__productItem,
.campaignForm__colleagueItem {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid #e0e0e0;
    border-radius: 3.5px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}

.campaignForm__productItem:hover,
.campaignForm__colleagueItem:hover {
    border-color: var(--jmkr-color-1);
}

.campaignForm__productItem.selected,
.campaignForm__colleagueItem.selected {
    border-color: var(--jmkr-color-1);
    background: rgba(0, 119, 255, 0.05);
}

.campaignForm__productCheck,
.campaignForm__colleagueCheck,
.campaignForm__platformCheck {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ccc;
    border-radius: 3.5px;
    font-size: 12px;
    color: var(--jmkr-color-1);
}

.campaignForm__productItem.selected .campaignForm__productCheck,
.campaignForm__colleagueItem.selected .campaignForm__colleagueCheck,
.campaignForm__platformItem.selected .campaignForm__platformCheck {
    border-color: var(--jmkr-color-1);
    background: var(--jmkr-color-1);
    color: #fff;
}

.campaignForm__productName,
.campaignForm__colleagueName {
    font-size: 0.9em;
}

.campaignForm__productEmpty,
.campaignForm__colleagueEmpty {
    color: #999;
    font-size: 0.85em;
    padding: 10px 0;
}

.campaignForm__charCount {
    text-align: right;
    font-size: 0.8em;
    color: #999;
    margin-top: 2px;
}

.campaignForm__features {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.campaignForm__featureTag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: #f0f0f0;
    border-radius: 3.5px;
    font-size: 0.85em;
}

.campaignForm__featureTag i {
    cursor: pointer;
    font-size: 11px;
    color: #999;
}

.campaignForm__featureTag i:hover {
    color: #d33;
}

.campaignForm__featureInput {
    border: none;
    outline: none;
    padding: 4px 8px;
    font-size: 0.85em;
    min-width: 150px;
    flex: 1;
}

.campaignForm__platformActions,
.campaignForm__assignActions {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.campaignForm__platformGrid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.campaignForm__platformGroup {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.campaignForm__platformCategory {
    font-weight: 600;
    font-size: 0.85em;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.campaignForm__platformItem {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: 1px solid #e0e0e0;
    border-radius: 3.5px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}

.campaignForm__platformItem:hover {
    border-color: var(--jmkr-color-1);
}

.campaignForm__platformItem.selected {
    border-color: var(--jmkr-color-1);
    background: rgba(0, 119, 255, 0.05);
}

.campaignForm__platformInfo {
    display: flex;
    justify-content: space-between;
    flex: 1;
}

.campaignForm__platformLabel {
    font-size: 0.9em;
}

.campaignForm__platformDims {
    font-size: 0.8em;
    color: #999;
}

/* ============================================
   Product Images (Spec 1207 Wave 1)
   Pattern: campaignForm__productItem above
   ============================================ */

.studioModal--wide {
    max-width: 700px;
}

.productImages__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
    margin-bottom: 10px;
}

.productImages__card {
    border: 1px solid #e0e0e0;
    border-radius: 3.5px;
    overflow: hidden;
    transition: border-color 0.15s;
}

.productImages__card--primary {
    border-color: var(--jmkr-color-1);
}

.productImages__preview {
    position: relative;
    aspect-ratio: 4/3;
    background: #f5f5f5;
    overflow: hidden;
}

.productImages__preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.productImages__primaryBadge {
    position: absolute;
    top: 4px;
    left: 4px;
    background: var(--jmkr-color-1);
    color: #fff;
    font-size: 0.7em;
    padding: 2px 6px;
    border-radius: 3.5px;
}

.productImages__meta {
    display: flex;
    gap: 4px;
    padding: 6px;
}

.productImages__angleSelect,
.productImages__bgSelect {
    flex: 1;
    padding: 4px;
    border: 1px solid #ddd;
    border-radius: 3.5px;
    font-size: 0.8em;
}

.productImages__desc {
    padding: 0 6px 6px;
}

.productImages__descInput {
    width: 100%;
    padding: 4px 6px;
    border: 1px solid #ddd;
    border-radius: 3.5px;
    font-size: 0.8em;
    resize: vertical;
}

.productImages__actions {
    display: flex;
    gap: 4px;
    padding: 4px 6px 6px;
}

.productImages__actionBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid #e0e0e0;
    border-radius: 3.5px;
    cursor: pointer;
    color: #666;
    font-size: 13px;
    transition: color 0.15s, border-color 0.15s;
}

.productImages__actionBtn:hover {
    color: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
}

.productImages__empty {
    grid-column: 1 / -1;
    color: #999;
    font-size: 0.85em;
    padding: 20px;
    text-align: center;
}

.productImages__addRow {
    margin-top: 8px;
}

/* ============================================
   Campaign Gallery View (Spec 1206 Wave 3)
   Pattern: studioCanvasPopUp (full-page overlay)
   ============================================ */

.campaignView {
    background: #fff;
    display: flex;
    flex-direction: column;
    height: 100vh;
}

.campaignView__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    border-bottom: 1px solid #ecf0f1;
}

.campaignView__breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9em;
    color: #666;
}

.campaignView__backBtn {
    cursor: pointer;
    color: #999;
    transition: color 0.15s;
}

.campaignView__backBtn:hover {
    color: var(--jmkr-color-1);
}

.campaignView__crumbSep {
    color: #ccc;
}

.campaignView__crumbActive {
    color: #333;
    font-weight: 600;
}

.campaignView__headerActions {
    display: flex;
    gap: 8px;
}

.campaignView__actionBtn {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    border: 1px solid #e0e0e0;
    border-radius: 3.5px;
    cursor: pointer;
    font-size: 0.85em;
    color: #555;
    transition: border-color 0.15s, color 0.15s;
}

.campaignView__actionBtn:hover {
    border-color: var(--jmkr-color-1);
    color: var(--jmkr-color-1);
}

.campaignView__body {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

/* Brief card */
.campaignView__briefCard {
    display: flex;
    gap: 20px;
    padding: 16px;
    border: 1px solid #ecf0f1;
    border-radius: 3.5px;
    margin-bottom: 24px;
}

.campaignView__briefMain {
    flex: 1;
}

.campaignView__briefRow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.campaignView__campaignName {
    font-size: 1.3em;
    font-weight: 600;
    margin: 0;
}

.campaignView__statusBadge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 3.5px;
    font-size: 0.75em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.campaignView__statusBadge--draft { background: #e5e7eb; color: #6b7280; }
.campaignView__statusBadge--approved { background: #dbeafe; color: #2563eb; }
.campaignView__statusBadge--active { background: #dcfce7; color: #16a34a; }
.campaignView__statusBadge--completed { background: #f3f4f6; color: #9ca3af; }

.campaignView__briefHeadline {
    font-size: 1.05em;
    font-weight: 500;
    margin-bottom: 4px;
}

.campaignView__briefCopy {
    color: #555;
    font-size: 0.9em;
    margin-bottom: 4px;
}

.campaignView__briefCTA {
    font-size: 0.85em;
    color: #666;
}

.campaignView__briefMeta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 160px;
}

.campaignView__metaItem {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85em;
    color: #666;
}

/* Deliverables grid */
.campaignView__deliverablesHeader {
    margin-bottom: 16px;
}

.campaignView__deliverablesHeader h3 {
    font-size: 1.1em;
    font-weight: 600;
    margin: 0;
}

.campaignView__platformSection {
    margin-bottom: 20px;
}

.campaignView__platformLabel {
    font-weight: 600;
    font-size: 0.85em;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    padding-bottom: 4px;
    border-bottom: 1px solid #ecf0f1;
}

.campaignView__platformGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}

.campaignView__deliverableCard {
    border: 1px solid #e0e0e0;
    border-radius: 3.5px;
    overflow: hidden;
    transition: border-color 0.15s;
}

.campaignView__deliverableCard:hover {
    border-color: var(--jmkr-color-1);
}

.campaignView__deliverablePreview {
    aspect-ratio: 4/3;
    background: #f5f5f5;
    overflow: hidden;
}

.campaignView__deliverablePreview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.campaignView__deliverableEmpty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #ccc;
    gap: 4px;
    font-size: 0.85em;
}

.campaignView__deliverableEmpty i {
    font-size: 1.5em;
}

.campaignView__deliverableInfo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 8px;
}

.campaignView__deliverableLabel {
    font-size: 0.8em;
    font-weight: 500;
}

.campaignView__deliverableStatus {
    font-size: 0.7em;
    padding: 1px 6px;
    border-radius: 3.5px;
    text-transform: uppercase;
    font-weight: 600;
}

.campaignView__deliverableStatus--pending { background: #f3f4f6; color: #9ca3af; }
.campaignView__deliverableStatus--draft { background: #e5e7eb; color: #6b7280; }
.campaignView__deliverableStatus--review { background: #fef3c7; color: #d97706; }
.campaignView__deliverableStatus--approved { background: #dbeafe; color: #2563eb; }
.campaignView__deliverableStatus--published { background: #dcfce7; color: #16a34a; }

.campaignView__deliverableActions {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px 6px;
}

.campaignView__delivAction {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid #e0e0e0;
    border-radius: 3.5px;
    cursor: pointer;
    color: #666;
    font-size: 13px;
    transition: color 0.15s, border-color 0.15s;
}

.campaignView__delivAction:hover {
    color: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
}

.campaignView__statusSelect {
    flex: 1;
    padding: 4px;
    border: 1px solid #ddd;
    border-radius: 3.5px;
    font-size: 0.8em;
}

.campaignView__noDeliverables {
    color: #999;
    font-size: 0.9em;
    padding: 30px;
    text-align: center;
}

/* Status transition button variants */
.campaignView__actionBtn--approve { color: #2563eb; border-color: #2563eb; }
.campaignView__actionBtn--approve:hover { background: #2563eb; color: #fff; }
.campaignView__actionBtn--activate { color: #16a34a; border-color: #16a34a; }
.campaignView__actionBtn--activate:hover { background: #16a34a; color: #fff; }
.campaignView__actionBtn--complete { color: #9ca3af; border-color: #9ca3af; }
.campaignView__actionBtn--complete:hover { background: #9ca3af; color: #fff; }

/* ============================================
   Campaign List Filter Tabs (Spec 1206 Wave 4)
   ============================================ */

.campaignList__filterBar {
    margin-bottom: 16px;
}

.campaignList__tabs {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #ecf0f1;
}

.campaignList__tab {
    padding: 8px 16px;
    font-size: 0.85em;
    color: #666;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: color 0.15s, border-color 0.15s;
}

.campaignList__tab:hover {
    color: var(--jmkr-color-1);
}

.campaignList__tab.active {
    color: var(--jmkr-color-1);
    border-bottom-color: var(--jmkr-color-1);
    font-weight: 600;
}

/* Enhanced Campaign Card (Spec 1206 Wave 4) */

.studio-campaign-nameRow {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.studio-campaign-delivCount {
    display: block;
    font-size: 0.75em;
    margin-top: 4px;
    color: #999;
}

.studio-campaign-brand {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.studio-campaign-progress {
    color: #666;
}

.studio-campaign-cardActions {
    position: absolute;
    top: 8px;
    right: 8px;
    opacity: 0;
    transition: opacity 0.15s;
    z-index: 10;
}

.studio-campaign-card:hover .studio-campaign-cardActions {
    opacity: 1;
}

.studio-campaign-cardAction {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #e0e0e0;
    border-radius: 3.5px;
    cursor: pointer;
    color: #999;
    font-size: 13px;
    transition: color 0.15s, border-color 0.15s;
}

.studio-campaign-cardAction:hover {
    color: #dc2626;
    border-color: #dc2626;
}#teleconferenceUI {
    z-index: 50;
    position: fixed;

    bottom: 0px;
    left: 0px;

    background: linear-gradient(to bottom, rgb(22, 22, 22), black);

    width: 100%;
    height: calc(100% - var(--line-height) * 1);
}

.nightMode #teleconferenceUI {
    background: linear-gradient(to bottom, rgb(22, 22, 22), black);
}

#returnToCall {
    z-index: 71;
    position: fixed;

    bottom: 5px;
    left: 5px;

    width: 66px;
    line-height: 66px;

    border-radius: 50%;

    background: linear-gradient(to top, rgba(30, 30, 30, 1), rgba(30, 30, 30, 0.7), rgba(30, 30, 0, 0));

    color: white;
    background: var(--jmkr-color-1);
    font-size: 27px;
    letter-spacing: 0.75px;
    text-align: center;

    cursor: pointer;

    -webkit-transition: transform 0.35s ease;
    -moz-transition: transform 0.35s ease;
    -ms-transition: transform 0.35s ease;
    -o-transition: transform 0.35s ease;
    transition: transform 0.35s ease;

    box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.17);
}

#teleconferenceUI #teleconferenceUIControls {
    z-index: 50;
    position: absolute;

    bottom: 0px;
    left: 0px;

    width: 100%;
    max-height: 100%;
}

#teleconferenceUI #teleconferenceUIControls .leftControl,
#teleconferenceUI #teleconferenceUIControls .rightControl {
    float: left;
    position: relative;

    width: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 17px;

    color: white;
    text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.27);

    border-radius: 70px;

    margin-left: 11px;
    margin-bottom: 11px;

    cursor: pointer;
}

#teleconferenceUI #teleconferenceUIControls .rightControl {
    float: right;

    margin-left: 0px;
    margin-right: 11px;
}

#teleconferenceUI #teleconferenceUIControls .rightControl #messageCount {
    position: absolute;
    top: 1.7px;
    right: 1.7px;

    width: 23.5px;
    height: 23.5px;

    border-radius: 50%;

    background: var(--jmkr-color-1);
    color: white;
    font-size: 12px;
    text-align: center;
    line-height: 23.5px;
}

#teleconferenceUI #teleconferenceUIControls #endCall {
    background: #FF3458;
}

#teleconferenceUI #teleconferenceUIVideo {
    z-index: 50;
    position: absolute;

    bottom: 0px;
    left: 0px;

    width: 100%;
    height: calc(100% - 0px);
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant {
    overflow-x: auto;
    white-space: nowrap;

    text-align: center;
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant .participant {
    position: relative;
    display: inline-block;
    border-radius: 3.5px;
    width: 100%;
    max-width: 100%;
    padding-bottom: 56.25%;

    margin-left: 0px;
    margin-right: 0px;

    background: rgba(0, 0, 0, 0.35);

    cursor: pointer;
    transition: box-shadow 0.2s ease, border 0.2s ease;
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant .info {
    position: absolute;
    bottom: -30px;
    width: 100%;
    text-align: center;
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant .info .nameTag {
    position: absolute;
    bottom: 30px;
    line-height: 30px;
    color: white;
    text-shadow: 1px 1px 7px rgba(0, 0, 0, 0.17);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));

    font-size: 11px;

    width: 100%;
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant video {
    background: rgba(0, 0, 0, 0.35);

    margin: 0px !important;
    padding: 0px !important;

    opacity: 0.5;

    object-fit: cover;
    object-position: center;
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant video.isNotMainStream {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant #isMainStream {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 1px;

    line-height: 77px;
    height: 77px;
    font-size: 20px;
    text-align: center;
    color: white;
    background: rgba(0, 0, 0, 0.35);

    margin-bottom: 6px;

    opacity: 0.37;
    object-fit: contain;
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant .isMainStream,
#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant .isScreenShare {
    z-index: -10;
    position: fixed;

    top: calc(var(--line-height) + 125px);
    left: var(--left-menu-width);
    width: calc(100% - var(--right-menu-width) - var(--left-menu-width));

    border-top-left-radius: 7px;
    border-top-right-radius: 7px;

    height: calc(100% - var(--line-height) - 125px);

    background: none;
    opacity: 1;
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant .isScreenShare {
    z-index: 10;
}

#TeleconferenceVisitor #joinCall {
    z-index: 70;
    position: absolute;

    top: calc(50% - 200px);
    left: calc(50% - 360px/2);

    width: 360px;
}

#TeleconferenceVisitor #joinConference {
    margin-left: auto;
    margin-right: auto;

    line-height: 70px;
    width: 360px;
    text-align: center;

    font-size: 19px;
    background: var(--jmkr-color-1);
    color: white;

    cursor: pointer;
    border-radius: 4px;

    box-shadow: 0px -2px 17px rgba(0, 0, 0, 0.1);
}

#participantColumns {
    width: 100%;
    -webkit-transition: top 0.17s ease;
    -moz-transition: top 0.17s ease;
    -ms-transition: top 0.17s ease;
    -o-transition: top 0.17s ease;
    transition: top 0.17s ease;
}

#participantColumns.eight {
    height: 135px;
    overflow-x: auto;
    white-space: nowrap;
    display: block;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
}

#participantColumns.eight .column {
    width: 152px;
    display: inline-block;
}

#participantColumns.eight .column video {
    height: 77px;
}

#participantColumns.eight .info .nameTag {
    bottom: 0px !important;
    background: none !important;
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant .participant.isSpeaking {
    box-shadow: 0 0 18px rgba(0, 191, 255, 0.65);
    border: 2px solid rgba(0, 191, 255, 0.65);
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant .participant.isPinned {
    box-shadow: 0 0 18px rgba(255, 215, 0, 0.55);
    border: 2px solid rgba(255, 215, 0, 0.65);
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant .info .nameTag .pinBadge,
#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant .info .nameTag .shareBadge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
    font-size: 10px;
    padding: 3px 6px;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.45);
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant .info .nameTag .shareBadge {
    color: #8fd3ff;
}

#teleconferenceUI #teleconferenceUIVideo #teleconferenceUIParticipant .info .nameTag .pinBadge {
    color: #ffd45f;
}

#TeleconferenceVisitor .previewWrapper {
    margin: 0 auto 20px auto;
    max-width: 420px;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    padding: 12px;
}

#TeleconferenceVisitor .previewVideoCard {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.08);
}

#TeleconferenceVisitor #teleconferencePreviewVideo {
    width: 100%;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 12px;
    min-height: 160px;
}

#TeleconferenceVisitor .previewOverlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 12px;
    background: rgba(0, 0, 0, 0.55);
    color: white;
    font-size: 13px;
}

#TeleconferenceVisitor .previewOverlay.error {
    background: rgba(138, 5, 5, 0.7);
}

#TeleconferenceVisitor .previewOverlay .previewErrorContent {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    text-align: center;
    max-width: 320px;
}

#TeleconferenceVisitor .previewOverlay .previewErrorContent .message {
    font-weight: 600;
    font-size: 14px;
}

#TeleconferenceVisitor .previewOverlay .previewErrorContent .hint {
    font-size: 12px;
    opacity: 0.85;
}

#TeleconferenceVisitor .previewOverlay .previewErrorActions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

#TeleconferenceVisitor .previewOverlay .previewErrorActions .button {
    padding: 6px 12px !important;
    font-size: 12px;
}

#TeleconferenceVisitor .previewOverlay.loading i.notched.circle.loading.icon {
    margin-right: 8px;
}

#TeleconferenceVisitor .previewMeta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    gap: 12px;
}

#TeleconferenceVisitor .audioMeter {
    flex: 1;
    height: 6px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.12);
    overflow: hidden;
}

#TeleconferenceVisitor .previewActions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

#TeleconferenceVisitor .audioMeter .audioMeter-bar {
    height: 100%;
    background: linear-gradient(90deg, #06df20, #ffd45f, #ff3458);
    transition: width 0.2s ease;
}

#TeleconferenceVisitor .previewActions .button {
    font-size: 12px;
    padding: 6px 12px !important;
}

#TeleconferenceVisitor .previewActions .autoJoinToggle {
    color: inherit;
}

#TeleconferenceVisitor .previewActions .autoJoinToggle label {
    color: inherit;
    font-size: 12px;
    padding-left: 28px;
}

#TeleconferenceVisitor .previewActions .autoJoinToggle label:before,
#TeleconferenceVisitor .previewActions .autoJoinToggle label:after {
    top: 50%;
    transform: translateY(-50%);
}

#TeleconferenceVisitor #joinConference.disabled {
    opacity: 0.6;
    pointer-events: none;
}

.dataRow .scheduleTag {
    margin-top: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.dataRow .scheduleTag.scheduleUpcoming {
    color: var(--jmkr-color-1);
}

.dataRow .scheduleTag.scheduleLive {
    color: #ffd45f;
    font-weight: 600;
}

.dataRow .scheduleTag.scheduleEnded {
    color: rgba(0, 0, 0, 0.55);
}

.dataRow .scheduleTag.scheduleUnknown {
    color: rgba(0, 0, 0, 0.45);
}

.nightMode .dataRow .scheduleTag.scheduleEnded {
    color: rgba(255, 255, 255, 0.55);
}

.nightMode .dataRow .scheduleTag.scheduleUpcoming {
    color: var(--jmkr-color-1);
}

.nightMode .dataRow .scheduleTag.scheduleLive {
    color: #ffd45f;
}

.nightMode .dataRow .scheduleTag.scheduleUnknown {
    color: rgba(255, 255, 255, 0.55);
}

#tradingContent,
#workspaceContent {
    padding: 1em;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Summary Panel
   ───────────────────────────────────────────────────────────────────────────── */

.tradingSummaryPanel {
    padding: 15px;
    background: var(--background-secondary, #f9fafb);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.tradingSummaryGrid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 15px;
}

.tradingSummaryCard {
    background: var(--background-primary, white);
    border-radius: 8px;
    padding: 15px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.tradingSummaryValue {
    font-size: 24px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.tradingSummaryLabel {
    font-size: 12px;
    color: var(--text-secondary, #6b7280);
    margin-top: 4px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Tab Menu
   ───────────────────────────────────────────────────────────────────────────── */

.tradingTabMenu {
    padding: 0 15px;
    background: var(--background-primary, white);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.tradingTabMenu .ui.secondary.pointing.menu {
    margin-bottom: 0;
    border-bottom: none;
}

.tradingTabMenu .ui.secondary.pointing.menu .item {
    padding: 12px 16px;
    font-size: 14px;
    color: var(--text-primary, #111827);
}

.tradingTabMenu .ui.secondary.pointing.menu .item.active {
    color: var(--primary-color, #3b82f6);
    border-color: var(--primary-color, #3b82f6);
}

.tradingTabMenu .ui.secondary.pointing.menu .item:hover {
    color: var(--primary-color, #3b82f6);
}

/* ─────────────────────────────────────────────────────────────────────────────
   Trading Workspace Card
   A financial dashboard card optimized for trading context
   ───────────────────────────────────────────────────────────────────────────── */

.tradingWorkspaceCard {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 12px;
    cursor: pointer;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.tradingWorkspaceCard:hover {
    border-color: #d1d5db;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Card Header */
.tradingWorkspaceCard .cardHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #f3f4f6;
}

.tradingWorkspaceCard .headerLeft {
    flex: 1;
    min-width: 0;
}

.tradingWorkspaceCard .workspaceName {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #111827;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tradingWorkspaceCard .headerRight {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.tradingWorkspaceCard .statusBadge {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 4px;
}

.tradingWorkspaceCard .statusBadge.active {
    background: #dcfce7;
    color: #166534;
}

.tradingWorkspaceCard .statusBadge.paused {
    background: #fef3c7;
    color: #92400e;
}

.tradingWorkspaceCard .statusBadge.archived {
    background: #f3f4f6;
    color: #6b7280;
}

.tradingWorkspaceCard .cardActions {
    display: flex;
    gap: 4px;
}

.tradingWorkspaceCard .actionBtn {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    color: #6b7280;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tradingWorkspaceCard .actionBtn:hover {
    background: #f3f4f6;
    border-color: #d1d5db;
    color: #374151;
}

.tradingWorkspaceCard .actionBtn i {
    font-size: 13px;
}

/* Card Body - Two Column Layout */
.tradingWorkspaceCard .cardBody {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    padding: 16px;
}

.tradingWorkspaceCard .assetColumn {
    min-width: 0;
}

.tradingWorkspaceCard .assetSymbol {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 2px;
}

.tradingWorkspaceCard .assetSymbol i {
    font-size: 14px;
    color: #6b7280;
}

.tradingWorkspaceCard .assetSymbol .symbol {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    letter-spacing: -0.5px;
}

.tradingWorkspaceCard .assetName {
    font-size: 12px;
    color: #6b7280;
    margin-bottom: 8px;
}

.tradingWorkspaceCard .priceDisplay {
    display: flex;
    align-items: baseline;
    gap: 8px;
    justify-content: flex-start;
}

.tradingWorkspaceCard .priceDisplay .price {
    font-size: 20px;
    font-weight: 600;
    color: #111827;
    font-variant-numeric: tabular-nums;
}

.tradingWorkspaceCard .priceDisplay .change {
    font-size: 12px;
    font-weight: 500;
    padding: 2px 6px;
    border-radius: 4px;
}

.tradingWorkspaceCard .priceDisplay .change.positive {
    background: #dcfce7;
    color: #166534;
}

.tradingWorkspaceCard .priceDisplay .change.negative {
    background: #fee2e2;
    color: #991b1b;
}

.tradingWorkspaceCard .priceDisplay .badge {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 2px 5px;
    border-radius: 3px;
}

.tradingWorkspaceCard .priceDisplay .badge.mock {
    background: #fef3c7;
    color: #92400e;
}

.tradingWorkspaceCard .capitalDisplay {
    display: flex;
    align-items: baseline;
    gap: 6px;
    justify-content: flex-start;
}

.tradingWorkspaceCard .capitalDisplay .capitalAmount {
    font-size: 18px;
    font-weight: 600;
    color: #374151;
    font-variant-numeric: tabular-nums;
}

.tradingWorkspaceCard .capitalDisplay .capitalLabel {
    font-size: 11px;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Performance Column */
.tradingWorkspaceCard .performanceColumn {
    text-align: right;
}

.tradingWorkspaceCard .pnlDisplay {
    margin-bottom: 8px;
}

.tradingWorkspaceCard .pnlLabel {
    display: block;
    font-size: 11px;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.tradingWorkspaceCard .pnlValue {
    font-size: 20px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.tradingWorkspaceCard .pnlValue.positive {
    color: #16a34a;
}

.tradingWorkspaceCard .pnlValue.negative {
    color: #dc2626;
}

.tradingWorkspaceCard .strategyDisplay {
    font-size: 12px;
    color: #6b7280;
}

.tradingWorkspaceCard .runningBadge {
    display: inline-block;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 10px;
    font-weight: 500;
    padding: 2px 6px;
    border-radius: 4px;
    margin-left: 6px;
}

/* Card Footer */
.tradingWorkspaceCard .cardFooter {
    display: flex;
    gap: 16px;
    padding: 10px 16px;
    background: #fafafa;
    border-top: 1px solid #f3f4f6;
    border-radius: 0 0 8px 8px;
    font-size: 11px;
    color: #9ca3af;
}

/* Responsive */
@media (max-width: 600px) {
    .tradingWorkspaceCard .cardBody {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .tradingWorkspaceCard .performanceColumn {
        text-align: left;
        padding-top: 12px;
        border-top: 1px solid #f3f4f6;
    }

    .tradingWorkspaceCard .cardHeader {
        flex-wrap: wrap;
        gap: 8px;
    }

    .tradingWorkspaceCard .headerRight {
        width: 100%;
        justify-content: space-between;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   Position Card
   Compact horizontal layout for position data
   ───────────────────────────────────────────────────────────────────────────── */

.tradingPositionCard {
    display: grid;
    grid-template-columns: 1fr auto auto auto;
    gap: 20px;
    align-items: center;
    padding: 12px 16px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    margin-bottom: 8px;
}

.tradingPositionCard:hover {
    border-color: #d1d5db;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* Position left accent for long/short */
.tradingPositionCard.long {
    border-left: 3px solid #16a34a;
}

.tradingPositionCard.short {
    border-left: 3px solid #dc2626;
}

.tradingPositionCard .positionMain {
    min-width: 0;
}

.tradingPositionCard .positionIdentity {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 2px;
}

.tradingPositionCard .symbol {
    font-size: 15px;
    font-weight: 700;
    color: #111827;
}

.tradingPositionCard .sideBadge {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: 3px;
}

.tradingPositionCard .sideBadge.long {
    background: #dcfce7;
    color: #166534;
}

.tradingPositionCard .sideBadge.short {
    background: #fee2e2;
    color: #991b1b;
}

.tradingPositionCard .positionSize {
    font-size: 12px;
    color: #6b7280;
}

.tradingPositionCard .positionPrices {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 100px;
}

.tradingPositionCard .priceRow {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 12px;
}

.tradingPositionCard .priceRow .label {
    color: #9ca3af;
}

.tradingPositionCard .priceRow .value {
    font-weight: 500;
    color: #374151;
    font-variant-numeric: tabular-nums;
}

.tradingPositionCard .positionPnl {
    text-align: right;
    min-width: 80px;
}

.tradingPositionCard .positionPnl .pnlAmount {
    display: block;
    font-size: 16px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.tradingPositionCard .positionPnl .pnlPercent {
    font-size: 11px;
}

.tradingPositionCard .positionPnl.positive {
    color: #16a34a;
}

.tradingPositionCard .positionPnl.negative {
    color: #dc2626;
}

.tradingPositionCard .positionMeta {
    display: flex;
    align-items: center;
    gap: 12px;
}

.tradingPositionCard .workspace {
    font-size: 11px;
    color: #9ca3af;
}

.tradingPositionCard .actionBtn {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    color: #9ca3af;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tradingPositionCard .actionBtn:hover {
    background: #f3f4f6;
    color: #374151;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Order Card
   Compact horizontal layout for order data
   ───────────────────────────────────────────────────────────────────────────── */

.tradingOrderCard {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 20px;
    align-items: center;
    padding: 12px 16px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    margin-bottom: 8px;
}

.tradingOrderCard:hover {
    border-color: #d1d5db;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.tradingOrderCard .orderMain {
    min-width: 0;
}

.tradingOrderCard .orderIdentity {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 2px;
}

.tradingOrderCard .symbol {
    font-size: 15px;
    font-weight: 700;
    color: #111827;
}

.tradingOrderCard .sideBadge {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: 3px;
}

.tradingOrderCard .sideBadge.buy {
    background: #dcfce7;
    color: #166534;
}

.tradingOrderCard .sideBadge.sell {
    background: #fee2e2;
    color: #991b1b;
}

.tradingOrderCard .typeBadge {
    font-size: 9px;
    font-weight: 500;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: 3px;
    background: #f3f4f6;
    color: #6b7280;
}

.tradingOrderCard .orderSize {
    font-size: 12px;
    color: #6b7280;
}

.tradingOrderCard .orderStatus {
    text-align: center;
}

.tradingOrderCard .statusBadge {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 4px;
}

.tradingOrderCard .statusBadge.pending {
    background: #fef3c7;
    color: #92400e;
}

.tradingOrderCard .statusBadge.filled {
    background: #dcfce7;
    color: #166534;
}

.tradingOrderCard .statusBadge.cancelled {
    background: #f3f4f6;
    color: #6b7280;
}

.tradingOrderCard .orderDate,
.tradingOrderCard .fillDate {
    font-size: 10px;
    color: #9ca3af;
}

.tradingOrderCard .orderMeta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.tradingOrderCard .metaText {
    text-align: right;
}

.tradingOrderCard .workspace,
.tradingOrderCard .strategy {
    display: block;
    font-size: 11px;
    color: #9ca3af;
}

.tradingOrderCard .orderActions {
    display: flex;
    gap: 4px;
}

.tradingOrderCard .actionBtn {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    color: #9ca3af;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tradingOrderCard .actionBtn:hover {
    background: #f3f4f6;
    color: #374151;
}

/* Responsive - Stack position/order cards on mobile */
@media (max-width: 768px) {
    .tradingPositionCard,
    .tradingOrderCard {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .tradingPositionCard .positionPnl,
    .tradingOrderCard .orderStatus {
        text-align: left;
    }

    .tradingOrderCard .orderMeta {
        justify-content: flex-start;
    }

    .tradingOrderCard .metaText {
        text-align: left;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   Prompt Panel (for investor profile setup)
   ───────────────────────────────────────────────────────────────────────────── */

.tradingPromptPanel {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    padding: 40px;
}

.tradingPromptContent {
    text-align: center;
    max-width: 400px;
}

.tradingPromptContent i.icon {
    color: var(--primary-color, #3b82f6);
    margin-bottom: 16px;
}

.tradingPromptContent h3 {
    margin-bottom: 8px;
}

.tradingPromptContent p {
    color: var(--text-secondary, #6b7280);
    margin-bottom: 20px;
}

.tradingPromptContent .dashboardCreateRecordButton {
    float: none;
    display: inline-block;
    margin-top: 10px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Empty State
   ───────────────────────────────────────────────────────────────────────────── */

#tradingContent .comingSoon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    text-align: center;
    padding: 40px;
}

#tradingContent .comingSoon i.icon {
    color: var(--text-tertiary, #9ca3af);
    margin-bottom: 16px;
}

#tradingContent .comingSoon h3 {
    margin-bottom: 8px;
    color: var(--text-primary, #111827);
}

#tradingContent .comingSoon p {
    color: var(--text-secondary, #6b7280);
    margin-bottom: 20px;
}

#tradingContent .comingSoon .dashboardCreateRecordButton,
#workspaceContent .comingSoon .dashboardCreateRecordButton {
    float: none;
    display: inline-block;
    margin-top: 10px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Research Page
   ───────────────────────────────────────────────────────────────────────────── */

#tradingResearchContent {
    overflow-y: auto;
}

#tradingResearchContent .comingSoon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    text-align: center;
    padding: 40px;
}

#tradingResearchContent .comingSoon i.icon {
    color: var(--text-tertiary, #9ca3af);
    margin-bottom: 16px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Modal Adjustments
   ───────────────────────────────────────────────────────────────────────────── */

#tradingWorkspacePopUp,
#investorProfilePopUp {
    max-width: 500px;
}

#tradingWorkspacePopUp .field small,
#investorProfilePopUp .field small {
    display: block;
    margin-top: 4px;
    color: var(--text-secondary, #6b7280);
    font-size: 12px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Responsive Adjustments
   ───────────────────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .tradingSummaryGrid {
        grid-template-columns: repeat(2, 1fr);
    }

    .tradingSummaryValue {
        font-size: 20px;
    }
}

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

    .tradingSummaryCard {
        padding: 10px;
    }

    .tradingSummaryValue {
        font-size: 18px;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   Workspace Detail View
   ───────────────────────────────────────────────────────────────────────────── */

.workspaceHeader {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 15px;
    background: var(--background-secondary, #f9fafb);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.workspaceAssetInfo {
    display: flex;
    align-items: center;
    gap: 12px;
}

.assetSymbolLarge {
    font-size: 28px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
}

.assetSymbolLarge i.icon {
    font-size: 24px;
    color: var(--primary-color, #3b82f6);
}

.assetDetails .assetName {
    font-size: 14px;
    font-weight: 500;
}

.assetDetails .assetMeta {
    font-size: 12px;
    color: var(--text-secondary, #6b7280);
}

.workspacePriceInfo {
    text-align: right;
}

.priceDisplay {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
}

.priceCurrent {
    font-size: 24px;
    font-weight: 600;
}

.priceChangeDisplay {
    font-size: 14px;
    padding: 2px 8px;
    border-radius: 4px;
}

.priceChangeDisplay.positive {
    background: #dcfce7;
    color: #166534;
}

.priceChangeDisplay.negative {
    background: #fee2e2;
    color: #991b1b;
}

.pricePending {
    font-size: 14px;
    color: var(--text-secondary, #6b7280);
    font-style: italic;
}

.priceUpdated {
    font-size: 11px;
    color: var(--text-tertiary, #9ca3af);
    margin-top: 4px;
}

.workspaceStatus {
    text-align: center;
}

.statusBadge {
    display: inline-block;
    font-size: 11px;
    padding: 4px 12px;
    border-radius: 12px;
    text-transform: uppercase;
    font-weight: 600;
}

.statusBadge.active {
    background: #dcfce7;
    color: #166534;
}

.statusBadge.paused {
    background: #fef3c7;
    color: #92400e;
}

.statusBadge.archived {
    background: #f3f4f6;
    color: #6b7280;
}

.workspaceStatus .pnlDisplay {
    margin-top: 8px;
    font-size: 14px;
}

.workspaceStatus .pnlValue.positive {
    color: #166534;
    font-weight: 600;
}

.workspaceStatus .pnlValue.negative {
    color: #991b1b;
    font-weight: 600;
}

/* Workspace Stats */
.workspaceStats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 15px;
    padding: 15px;
    background: var(--background-primary, white);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.statCard {
    text-align: center;
    padding: 10px;
}

.statCard .statValue {
    font-size: 20px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.statCard .statLabel {
    font-size: 11px;
    color: var(--text-secondary, #6b7280);
    margin-top: 2px;
}

/* Workspace Tab Menu */
.workspaceTabMenu {
    padding: 0 15px;
    background: var(--background-primary, white);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.workspaceTabMenu .ui.secondary.pointing.menu {
    margin-bottom: 0;
    border-bottom: none;
}

.workspaceTabMenu .ui.secondary.pointing.menu .item {
    padding: 12px 16px;
    font-size: 14px;
    color: var(--text-primary, #111827);
}

.workspaceTabMenu .ui.secondary.pointing.menu .item.active {
    color: var(--primary-color, #3b82f6);
    border-color: var(--primary-color, #3b82f6);
}

.workspaceTabMenu .ui.secondary.pointing.menu .item:hover {
    color: var(--primary-color, #3b82f6);
}

/* Empty state for workspace content */
#workspaceContent .comingSoon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 250px;
    text-align: center;
    padding: 40px;
}

#workspaceContent .comingSoon i.icon {
    color: var(--text-tertiary, #9ca3af);
    margin-bottom: 16px;
}

#workspaceContent .comingSoon h3 {
    margin-bottom: 8px;
    color: var(--text-primary, #111827);
}

#workspaceContent .comingSoon p {
    color: var(--text-secondary, #6b7280);
    margin-bottom: 20px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Strategy Card
   ───────────────────────────────────────────────────────────────────────────── */

.tradingStrategyCard {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.tradingStrategyCard:hover {
    border-color: #d1d5db;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Active strategy gets a green left accent */
.tradingStrategyCard.active {
    border-left: 3px solid #16a34a;
}

.tradingStrategyCard .strategyCardHeader {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 12px 16px;
    gap: 12px;
}

.tradingStrategyCard .strategyIdentity {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.tradingStrategyCard .strategyName {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #111827;
}

.tradingStrategyCard .statusBadge {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
}

.tradingStrategyCard .statusBadge.active {
    background: #dcfce7;
    color: #166534;
}

.tradingStrategyCard .statusBadge.paused {
    background: #fef3c7;
    color: #92400e;
}

.tradingStrategyCard .statusBadge.draft {
    background: #f3f4f6;
    color: #6b7280;
}

.tradingStrategyCard .typeBadge {
    font-size: 11px;
    color: #6b7280;
}

.tradingStrategyCard .typeBadge i {
    margin-right: 4px;
}

.tradingStrategyCard .strategyActions {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

.tradingStrategyCard .actionBtn {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    color: #6b7280;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tradingStrategyCard .actionBtn:hover {
    background: #f3f4f6;
    border-color: #d1d5db;
    color: #374151;
}

.tradingStrategyCard .strategyDescription {
    padding: 0 16px 12px;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.5;
}

.tradingStrategyCard .strategyCardFooter {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 16px;
    background: #fafafa;
    border-top: 1px solid #f3f4f6;
    border-radius: 0 0 8px 8px;
}

.tradingStrategyCard .strategyMeta {
    display: flex;
    gap: 16px;
    font-size: 11px;
    color: #9ca3af;
}

.tradingStrategyCard .strategyPerformance {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: #6b7280;
}

.tradingStrategyCard .strategyPerformance .stat {
    white-space: nowrap;
}

.tradingStrategyCard .strategyPerformance .pnl.positive {
    color: #16a34a;
    font-weight: 600;
}

.tradingStrategyCard .strategyPerformance .pnl.negative {
    color: #dc2626;
    font-weight: 600;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Research Card
   ───────────────────────────────────────────────────────────────────────────── */

.tradingResearchCard {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.tradingResearchCard:hover {
    border-color: #d1d5db;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.tradingResearchCard .researchCardHeader {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 12px 16px;
    gap: 12px;
}

.tradingResearchCard .researchIdentity {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.tradingResearchCard .researchTitle {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #111827;
}

.tradingResearchCard .typeBadge {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
    background: #e0e7ff;
    color: #3730a3;
}

.tradingResearchCard .typeBadge.news {
    background: #fef3c7;
    color: #92400e;
}

.tradingResearchCard .typeBadge.analysis {
    background: #dcfce7;
    color: #166534;
}

.tradingResearchCard .typeBadge.sentiment {
    background: #e0e7ff;
    color: #3730a3;
}

.tradingResearchCard .researchActions {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

.tradingResearchCard .actionBtn {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    color: #6b7280;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tradingResearchCard .actionBtn:hover {
    background: #f3f4f6;
    border-color: #d1d5db;
    color: #374151;
}

.tradingResearchCard .researchSummary {
    padding: 0 16px 12px;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.5;
}

.tradingResearchCard .researchMeta {
    display: flex;
    gap: 16px;
    padding: 10px 16px;
    background: #fafafa;
    border-top: 1px solid #f3f4f6;
    border-radius: 0 0 8px 8px;
    font-size: 11px;
    color: #9ca3af;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Dictionary Content
   ───────────────────────────────────────────────────────────────────────────── */

.dictionaryContent {
}

.dictionarySection {
    background: var(--background-primary, white);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
}

.dictionarySection h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.dictionarySection h4 i.icon {
    color: var(--primary-color, #3b82f6);
}

.dictionarySection .patternList,
.dictionarySection .eventList,
.dictionarySection .insightList {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dictionarySection li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid var(--border-color-light, #f3f4f6);
}

.dictionarySection li:last-child {
    border-bottom: none;
}

.dictionarySection .patternName,
.dictionarySection .eventType {
    font-weight: 500;
    min-width: 100px;
}

.dictionarySection .patternConfidence {
    font-size: 12px;
    color: var(--text-secondary, #6b7280);
}

.dictionarySection .patternDate,
.dictionarySection .eventDate,
.dictionarySection .insightDate {
    font-size: 11px;
    color: var(--text-tertiary, #9ca3af);
    margin-left: auto;
}

.dictionarySection .emptyNote {
    color: var(--text-secondary, #6b7280);
    font-style: italic;
    font-size: 13px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Memory Bank Content (Autonomous Portfolio Manager)
   ───────────────────────────────────────────────────────────────────────────── */

.memoryBankContent {
    /* No padding - wrapper #tradingContent/#workspaceContent provides it */
}

.memorySection {
    background: var(--background-primary, white);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
}

.memorySection h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.memorySection h4 i {
    color: var(--primary-color, #3b82f6);
    font-size: 16px;
}

.memorySection .emptyNote {
    color: var(--text-secondary, #6b7280);
    font-style: italic;
    font-size: 13px;
}

/* Thesis Cards */
.thesisList {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.thesisCard {
    background: var(--background-secondary, #f9fafb);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 6px;
    padding: 12px;
}

.thesisCard.active {
    border-left: 3px solid #16a34a;
}

.thesisCard.invalidated {
    opacity: 0.6;
    border-left: 3px solid #9ca3af;
}

.thesisCard.confirmed {
    border-left: 3px solid #3b82f6;
}

.thesisCard .thesisText {
    margin: 0 0 10px 0;
    font-size: 14px;
    color: var(--text-primary, #111827);
    line-height: 1.5;
}

.thesisCard .thesisMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.thesisCard .confidenceBadge {
    font-size: 11px;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 4px;
    background: #dbeafe;
    color: #1d4ed8;
}

.thesisCard .statusBadge {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 4px;
}

.thesisCard .statusBadge.active {
    background: #dcfce7;
    color: #166534;
}

.thesisCard .statusBadge.invalidated {
    background: #f3f4f6;
    color: #6b7280;
}

.thesisCard .statusBadge.confirmed {
    background: #dbeafe;
    color: #1d4ed8;
}

.thesisCard .dateFormatted {
    font-size: 11px;
    color: var(--text-tertiary, #9ca3af);
}

/* Thesis Evidence */
.thesisEvidence {
    margin-top: 10px;
    padding: 10px;
    border-radius: 4px;
    font-size: 13px;
}

.thesisEvidence.supporting {
    background: rgba(22, 163, 74, 0.08);
    border-left: 2px solid #16a34a;
}

.thesisEvidence.supporting strong {
    color: #166534;
}

.thesisEvidence.supporting i {
    color: #16a34a;
}

.thesisEvidence.contradicting {
    background: rgba(234, 179, 8, 0.08);
    border-left: 2px solid #eab308;
}

.thesisEvidence.contradicting strong {
    color: #a16207;
}

.thesisEvidence.contradicting i {
    color: #eab308;
}

.thesisEvidence strong {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
    font-size: 12px;
}

.thesisEvidence ul {
    margin: 0;
    padding-left: 18px;
}

.thesisEvidence li {
    padding: 2px 0;
    color: var(--text-secondary, #6b7280);
}

/* Thesis Actions */
.thesisActions {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--border-color, #e5e7eb);
}

.thesisActions .ui.button {
    font-size: 12px;
}

/* Lesson Cards */
.lessonList {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lessonCard {
    background: var(--background-secondary, #f9fafb);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 6px;
    padding: 12px;
}

.lessonCard .lessonText {
    margin: 0 0 6px 0;
    font-size: 14px;
    color: var(--text-primary, #111827);
    line-height: 1.5;
}

.lessonCard .lessonContext {
    display: block;
    font-size: 12px;
    color: var(--text-secondary, #6b7280);
    font-style: italic;
}

/* Session Notes */
.noteList {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.noteCard {
    background: var(--background-secondary, #f9fafb);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 6px;
    padding: 12px;
}

.noteCard p {
    margin: 0 0 6px 0;
    font-size: 14px;
    color: var(--text-primary, #111827);
    line-height: 1.5;
}

.noteCard .noteDate {
    font-size: 11px;
    color: var(--text-tertiary, #9ca3af);
}

/* Add Note Button */
.memorySection .addSessionNote {
    margin-top: 12px;
}

/* Market Context Section */
.memorySection.marketContext {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    border-color: #bae6fd;
}

.memorySection.marketContext h4 i {
    color: #0284c7;
}

.contextDetails {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.regimeBadge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--background-primary, white);
    border-radius: 6px;
    font-size: 14px;
}

.regimeBadge strong {
    color: var(--text-secondary, #6b7280);
    font-weight: 500;
}

.regimeBadge.trending {
    border-left: 3px solid #16a34a;
}

.regimeBadge.ranging {
    border-left: 3px solid #eab308;
}

.regimeBadge.volatile {
    border-left: 3px solid #dc2626;
}

.keyLevels {
    padding: 10px 12px;
    background: var(--background-primary, white);
    border-radius: 6px;
}

.keyLevels strong {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    color: var(--text-secondary, #6b7280);
}

.keyLevels ul {
    margin: 0;
    padding-left: 18px;
}

.keyLevels li {
    padding: 3px 0;
    font-size: 13px;
    color: var(--text-primary, #111827);
}

.contextDetails .lastUpdated {
    font-size: 11px;
    color: var(--text-tertiary, #9ca3af);
}

/* ─────────────────────────────────────────────────────────────────────────────
   Mandate Cards (Autonomous Portfolio Manager)
   ───────────────────────────────────────────────────────────────────────────── */

.tradingMandateCard {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 12px;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.tradingMandateCard:hover {
    border-color: #d1d5db;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.tradingMandateCard.active {
    border-left: 3px solid #16a34a;
}

.tradingMandateCard.paused {
    border-left: 3px solid #eab308;
}

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

.mandateIdentity {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.mandateName {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #111827;
}

.tradingMandateCard .statusBadge {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
}

.tradingMandateCard .statusBadge.active {
    background: #dcfce7;
    color: #166534;
}

.tradingMandateCard .statusBadge.paused {
    background: #fef3c7;
    color: #92400e;
}

.tradingMandateCard .statusBadge.disabled {
    background: #f3f4f6;
    color: #6b7280;
}

.trustBadge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #6b7280;
    padding: 3px 8px;
    background: #f3f4f6;
    border-radius: 4px;
}

.trustBadge i {
    font-size: 12px;
}

.mandateActions {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

.tradingMandateCard .actionBtn {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    color: #6b7280;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tradingMandateCard .actionBtn:hover {
    background: #f3f4f6;
    border-color: #d1d5db;
    color: #374151;
}

.mandateDescription {
    padding: 0 16px 12px;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.5;
}

.mandateCardFooter {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 16px;
    background: #fafafa;
    border-top: 1px solid #f3f4f6;
    border-radius: 0 0 8px 8px;
}

.mandateConstraints {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: #6b7280;
}

.mandateConstraints .constraint {
    white-space: nowrap;
}

.mandateConstraints .constraint strong {
    color: #374151;
}

/* Direction Badge */
.directionBadge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
}

.directionBadge.long {
    background: #dcfce7;
    color: #166534;
}

.directionBadge.short {
    background: #fee2e2;
    color: #991b1b;
}

.directionBadge.both {
    background: #dbeafe;
    color: #1d4ed8;
}

.directionBadge i {
    font-size: 12px;
}

.mandateMeta {
    font-size: 11px;
    color: #9ca3af;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Signal Cards (Autonomous Portfolio Manager)
   ───────────────────────────────────────────────────────────────────────────── */

.signalFilters {
    border-bottom: 1px solid var(--border-color, #e5e7eb);
    margin-bottom: 15px;
}

.signalFilters select {
    min-width: 180px;
}

.tradingSignalCard {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin: 15px;
    padding: 16px;
    transition: box-shadow 0.15s ease;
}

.tradingSignalCard:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.tradingSignalCard.pending_approval {
    border-left: 3px solid #eab308;
}

.tradingSignalCard.approved,
.tradingSignalCard.executed {
    border-left: 3px solid #16a34a;
}

.tradingSignalCard.rejected {
    border-left: 3px solid #dc2626;
}

.tradingSignalCard.expired {
    border-left: 3px solid #9ca3af;
    opacity: 0.7;
}

.signalHeader {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.signalAction {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 4px;
}

.signalAction.green {
    background: #dcfce7;
    color: #166534;
}

.signalAction.red {
    background: #fee2e2;
    color: #991b1b;
}

.signalConfidence {
    font-size: 12px;
    font-weight: 500;
    padding: 4px 10px;
    background: #dbeafe;
    color: #1d4ed8;
    border-radius: 4px;
}

.signalExpiry {
    font-size: 12px;
    color: #9ca3af;
}

.signalMandate {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #6b7280;
    padding: 3px 8px;
    background: #f3f4f6;
    border-radius: 4px;
}

.signalMandate i {
    font-size: 12px;
}

.signalThesis {
    margin-bottom: 12px;
}

.signalThesis h5 {
    margin: 0 0 6px 0;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
}

.signalThesis p {
    margin: 0;
    font-size: 14px;
    color: #111827;
    line-height: 1.5;
}

/* Signal Yield Metrics */
.signalYield {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.yieldMetric {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 16px;
    background: var(--background-secondary, #f9fafb);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    min-width: 80px;
}

.yieldMetric .yieldValue {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

.yieldMetric .yieldLabel {
    font-size: 11px;
    font-weight: 500;
    color: var(--text-tertiary, #9ca3af);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 2px;
}

.yieldMetric.ratio {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    border-color: #93c5fd;
}

.yieldMetric.ratio .yieldValue {
    color: #1d4ed8;
}

.yieldMetric.reward {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border-color: #86efac;
}

.yieldMetric.reward .yieldValue {
    color: #16a34a;
}

.yieldMetric.risk {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border-color: #fca5a5;
}

.yieldMetric.risk .yieldValue {
    color: #dc2626;
}

.yieldMetric.gain {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border-color: #86efac;
}

.yieldMetric.gain .yieldValue {
    color: #16a34a;
    font-size: 14px;
}

.yieldMetric.loss {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border-color: #fca5a5;
}

.yieldMetric.loss .yieldValue {
    color: #dc2626;
    font-size: 14px;
}

.signalDetails {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 12px;
    padding: 10px 12px;
    background: #f9fafb;
    border-radius: 6px;
}

.signalDetails .detailRow {
    font-size: 13px;
}

.signalDetails .label {
    color: #6b7280;
    margin-right: 4px;
}

.signalCatalysts,
.signalRisks {
    margin-bottom: 12px;
}

.signalCatalysts h5,
.signalRisks h5 {
    margin: 0 0 6px 0;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
}

.signalCatalysts ul,
.signalRisks ul {
    margin: 0;
    padding-left: 18px;
}

.signalCatalysts li,
.signalRisks li {
    font-size: 13px;
    color: #374151;
    padding: 2px 0;
}

.signalTrustChecks {
    margin-bottom: 12px;
    padding: 10px 12px;
    background: #f9fafb;
    border-radius: 6px;
}

.signalTrustChecks h5 {
    margin: 0 0 8px 0;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
}

.trustCheck {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    padding: 4px 0;
}

.trustCheck.passed {
    color: #166534;
}

.trustCheck.passed i {
    color: #16a34a;
}

.trustCheck.failed {
    color: #991b1b;
}

.trustCheck.failed i {
    color: #dc2626;
}

/* Signal Resolution (approval/rejection info) */
.signalResolution {
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: 6px;
}

.approvalInfo {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #166534;
    font-size: 13px;
}

.approvalInfo i {
    color: #16a34a;
}

.approvalInfo .approvalStatus {
    font-weight: 600;
}

.approvalInfo .approvalDate {
    color: #9ca3af;
    margin-left: auto;
}

.rejectionInfo {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: #991b1b;
    font-size: 13px;
}

.rejectionInfo > div:first-child {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rejectionInfo i {
    color: #dc2626;
}

.rejectionInfo .rejectionStatus {
    font-weight: 600;
}

.rejectionInfo .rejectionReason {
    margin: 0;
    padding: 8px;
    background: #fee2e2;
    border-radius: 4px;
    font-size: 12px;
}

.expiryInfo {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #6b7280;
    font-size: 13px;
}

.expiryInfo i {
    color: #9ca3af;
}

.expiryInfo .expiryStatus {
    font-weight: 600;
}

/* Executed Order Link */
.signalExecutedOrder {
    margin-bottom: 12px;
}

.signalExecutedOrder a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #3b82f6;
    text-decoration: none;
}

.signalExecutedOrder a:hover {
    text-decoration: underline;
}

/* Signal Actions */
.signalActions {
    display: flex;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid #e5e7eb;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Strategy Modal
   ───────────────────────────────────────────────────────────────────────────── */

#tradingStrategyPopUp {
    max-width: 500px;
}

#tradingStrategyPopUp .field small {
    display: block;
    margin-top: 4px;
    color: var(--text-secondary, #6b7280);
    font-size: 12px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Research Popup
   ───────────────────────────────────────────────────────────────────────────── */

.researchPopUpContent {
    max-height: 60vh;
    overflow-y: auto;
    margin-bottom: 15px;
}

.researchPopUpMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.researchPopUpMeta .typeBadge {
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    text-transform: capitalize;
    background: var(--background-secondary, #f3f4f6);
    color: var(--text-secondary, #6b7280);
}

.researchPopUpMeta .typeBadge.technical { background: #dbeafe; color: #1e40af; }
.researchPopUpMeta .typeBadge.fundamental { background: #dcfce7; color: #166534; }
.researchPopUpMeta .typeBadge.news { background: #fef3c7; color: #92400e; }
.researchPopUpMeta .typeBadge.sentiment { background: #f3e8ff; color: #7c3aed; }

.researchPopUpMeta .sourceBadge,
.researchPopUpMeta .dateBadge {
    font-size: 12px;
    color: var(--text-secondary, #6b7280);
}

.researchPopUpSection {
    margin-bottom: 20px;
}

.researchPopUpSection h4 {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary, #111827);
    margin-bottom: 10px;
}

.researchPopUpSection p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-secondary, #374151);
}

.researchPopUpSection ul {
    margin: 0;
    padding-left: 20px;
}

.researchPopUpSection ul li {
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-secondary, #374151);
    margin-bottom: 6px;
}

.researchPopUpSection .researchContent {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-secondary, #374151);
    white-space: pre-wrap;
}

.researchPopUpSection .ui.button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Trading Manual (Documentation Tab)
   ───────────────────────────────────────────────────────────────────────────── */

.tradingManual {
    width: 100%;
}

/* Manual Disclaimer (Top Banner) */
.manualDisclaimer {
    display: flex;
    gap: 16px;
    padding: 20px;
    margin-bottom: 24px;
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border: 1px solid #fca5a5;
    border-left: 4px solid #dc2626;
    border-radius: 8px;
}

.manualDisclaimer .disclaimerIcon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #dc2626;
    border-radius: 50%;
    color: white;
}

.manualDisclaimer .disclaimerIcon i {
    font-size: 20px;
}

.manualDisclaimer .disclaimerContent h4 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 600;
    color: #991b1b;
}

.manualDisclaimer .disclaimerContent p {
    margin: 0 0 8px 0;
    font-size: 14px;
    line-height: 1.6;
    color: #7f1d1d;
}

.manualDisclaimer .disclaimerContent p:last-child {
    margin-bottom: 0;
}

/* Manual Warning Box (Inline) */
.manualWarning {
    margin: 20px 0;
    padding: 16px 20px;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    border-left: 4px solid #f59e0b;
    border-radius: 0 8px 8px 0;
}

.manualWarning h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px 0;
    font-size: 14px;
    font-weight: 600;
    color: #92400e;
}

.manualWarning h4 i {
    font-size: 16px;
    color: #f59e0b;
}

.manualWarning p {
    margin: 0 0 12px 0;
    font-size: 14px;
    line-height: 1.6;
    color: #78350f;
}

.manualWarning p:last-child {
    margin-bottom: 0;
}

.manualWarning ul {
    margin: 0 0 12px 0;
    padding-left: 20px;
}

.manualWarning li {
    margin-bottom: 6px;
    font-size: 13px;
    line-height: 1.5;
    color: #78350f;
}

/* Table of Contents */
.manualToc {
    background: var(--background-secondary, #f9fafb);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px;
}

.manualToc h4 {
    margin: 0 0 12px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary, #111827);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.manualToc ol {
    margin: 0;
    padding-left: 20px;
    columns: 2;
    column-gap: 20px;
}

.manualToc li {
    margin-bottom: 8px;
    break-inside: avoid;
}

.manualToc a {
    color: var(--primary-color, #3b82f6);
    text-decoration: none;
    font-size: 14px;
}

.manualToc a:hover {
    text-decoration: underline;
}

/* Manual Sections */
.manualSection {
    background: var(--background-primary, white);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 24px;
}

.manualSection h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 20px 0;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--border-color, #e5e7eb);
    font-size: 20px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.manualSection h2 i {
    color: var(--primary-color, #3b82f6);
    font-size: 22px;
}

.manualContent h3 {
    margin: 24px 0 12px 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.manualContent h3:first-child {
    margin-top: 0;
}

.manualContent p {
    margin: 0 0 12px 0;
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-secondary, #374151);
}

.manualContent ul,
.manualContent ol {
    margin: 0 0 16px 0;
    padding-left: 24px;
}

.manualContent li {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-secondary, #374151);
}

.manualContent strong {
    color: var(--text-primary, #111827);
}

/* Manual Highlight Box */
.manualHighlight {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    border-left: 4px solid var(--primary-color, #3b82f6);
    border-radius: 0 8px 8px 0;
    padding: 16px 20px;
    margin: 20px 0;
    font-size: 14px;
    line-height: 1.6;
}

.manualHighlight strong {
    color: #1e40af;
}

/* Manual Diagram */
.manualDiagram {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin: 24px 0;
    padding: 24px;
    background: var(--background-secondary, #f9fafb);
    border-radius: 8px;
}

.diagramBox {
    flex: 1;
    min-width: 200px;
    max-width: 300px;
    background: var(--background-primary, white);
    border: 2px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    padding: 16px;
}

.diagramBox h4 {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.diagramBox p {
    margin: 0 0 10px 0;
    font-size: 13px;
}

.diagramBox ul {
    margin: 0;
    padding-left: 18px;
}

.diagramBox li {
    font-size: 12px;
    margin-bottom: 4px;
    color: var(--text-secondary, #6b7280);
}

.diagramBox.strategy {
    border-color: #10b981;
    border-left: 4px solid #10b981;
}

.diagramBox.strategy h4 {
    color: #059669;
}

.diagramBox.mandate {
    border-color: #8b5cf6;
    border-left: 4px solid #8b5cf6;
}

.diagramBox.mandate h4 {
    color: #7c3aed;
}

.diagramArrow {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary, #6b7280);
    padding: 8px 16px;
    background: var(--background-primary, white);
    border-radius: 20px;
    white-space: nowrap;
}

/* Manual Table */
.manualTable {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 14px;
}

.manualTable th,
.manualTable td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.manualTable th {
    background: var(--background-secondary, #f9fafb);
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.manualTable td {
    color: var(--text-secondary, #374151);
    line-height: 1.5;
}

.manualTable tbody tr:hover {
    background: var(--background-secondary, #f9fafb);
}

/* Concept Cards */
.conceptCard {
    background: var(--background-secondary, #f9fafb);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 16px;
}

.conceptCard h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.conceptCard h4 i {
    color: var(--primary-color, #3b82f6);
    font-size: 18px;
}

.conceptCard p {
    margin: 0 0 12px 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-secondary, #374151);
}

.conceptCard ul {
    margin: 0 0 12px 0;
    padding-left: 20px;
}

.conceptCard li {
    margin-bottom: 6px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-secondary, #6b7280);
}

.conceptNote {
    margin: 16px 0 0 0 !important;
    padding: 10px 12px;
    background: #fffbeb;
    border-left: 3px solid #f59e0b;
    border-radius: 0 4px 4px 0;
    font-size: 13px !important;
    font-style: italic;
    color: #92400e !important;
}

/* Memory Type Cards */
.memoryTypeCard {
    background: var(--background-primary, white);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 12px;
}

.memoryTypeCard h5 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.memoryTypeCard h5 i {
    font-size: 16px;
}

.memoryTypeCard.theses h5 i {
    color: #10b981;
}

.memoryTypeCard.lessons h5 i {
    color: #f59e0b;
}

.memoryTypeCard.context h5 i {
    color: #3b82f6;
}

.memoryTypeCard.notes h5 i {
    color: #8b5cf6;
}

.memoryTypeCard p {
    margin: 0 0 10px 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-secondary, #6b7280);
}

.memoryTypeCard ul {
    margin: 0;
    padding-left: 18px;
}

.memoryTypeCard li {
    font-size: 13px;
    margin-bottom: 4px;
    color: var(--text-secondary, #6b7280);
}

/* Workflow Examples */
.workflowExample {
    background: var(--background-secondary, #f9fafb);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.workflowExample h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.workflowExample h4 .stepNumber {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: var(--primary-color, #3b82f6);
    color: white;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 600;
}

.workflowSteps {
    counter-reset: workflow-step;
}

.workflowStep {
    position: relative;
    padding-left: 36px;
    margin-bottom: 16px;
}

.workflowStep::before {
    counter-increment: workflow-step;
    content: counter(workflow-step);
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 24px;
    background: var(--primary-color, #3b82f6);
    color: white;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}

.workflowStep h5 {
    margin: 0 0 6px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.workflowStep p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-secondary, #6b7280);
}

/* Glossary */
.glossary dl {
    columns: 2;
    column-gap: 32px;
    margin: 0;
}

.glossary dt {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary, #111827);
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--border-color, #e5e7eb);
}

.glossary dt:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.glossary dd {
    margin: 6px 0 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--text-secondary, #6b7280);
    break-inside: avoid;
}

/* Check List */
.checkList {
    margin: 16px 0;
    padding-left: 24px;
}

.checkList li {
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-secondary, #374151);
}

.checkList li strong {
    color: var(--text-primary, #111827);
}

/* Trust Table Row Colors */
.trustTable tr.trustLevel.approval_required td:first-child {
    border-left: 3px solid #ef4444;
}

.trustTable tr.trustLevel.low td:first-child {
    border-left: 3px solid #f97316;
}

.trustTable tr.trustLevel.medium td:first-child {
    border-left: 3px solid #eab308;
}

.trustTable tr.trustLevel.high td:first-child {
    border-left: 3px solid #22c55e;
}

.trustTable tr.trustLevel.full_auto td:first-child {
    border-left: 3px solid #3b82f6;
}

/* Status Badges in Manual Tables */
.manualTable .statusBadge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: lowercase;
    font-family: monospace;
}

.manualTable .statusBadge.pending_approval {
    background: #fef3c7;
    color: #92400e;
}

.manualTable .statusBadge.approved {
    background: #dcfce7;
    color: #166534;
}

.manualTable .statusBadge.executed {
    background: #d1fae5;
    color: #065f46;
}

.manualTable .statusBadge.rejected {
    background: #fee2e2;
    color: #991b1b;
}

.manualTable .statusBadge.expired {
    background: #f3f4f6;
    color: #6b7280;
}

/* Lifecycle Diagram - Full Structure */
.lifecycleDiagram {
    margin: 24px 0;
    padding: 24px;
    background: var(--background-secondary, #f9fafb);
    border-radius: 8px;
}

.lifecycleDiagram > .lifecycleStep,
.lifecycleDiagram > .lifecycleArrow,
.lifecycleDiagram > .lifecycleBranch {
    margin-bottom: 16px;
}

.lifecycleDiagram > *:last-child {
    margin-bottom: 0;
}

.lifecycleStep {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: var(--background-primary, white);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
}

.lifecycleStep .stepNumber {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary-color, #3b82f6);
    color: white;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 600;
}

.lifecycleStep .stepContent {
    flex: 1;
}

.lifecycleStep .stepContent h4 {
    margin: 0 0 6px 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.lifecycleStep .stepContent h5 {
    margin: 0 0 4px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.lifecycleStep .stepContent p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-secondary, #6b7280);
}

.lifecycleStep.small {
    padding: 12px;
}

.lifecycleStep.small .stepNumber {
    width: 26px;
    height: 26px;
    font-size: 12px;
}

.lifecycleStep.small .stepContent h4 {
    font-size: 14px;
}

.lifecycleStep.small .stepContent p {
    font-size: 12px;
}

.lifecycleStep.tiny {
    padding: 10px;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
}

.lifecycleStep.tiny h5 {
    margin: 0;
    font-size: 13px;
}

.lifecycleStep.tiny p {
    margin: 0;
    font-size: 11px;
}

.lifecycleArrow {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    color: var(--text-tertiary, #9ca3af);
}

.lifecycleArrow::before {
    content: '↓';
    font-size: 20px;
}

.lifecycleArrow.small {
    height: 24px;
}

.lifecycleArrow.small::before {
    font-size: 16px;
}

.lifecycleBranch {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    background: var(--background-primary, white);
    border: 2px dashed var(--border-color, #d1d5db);
    border-radius: 8px;
}

.lifecycleBranch.small {
    padding: 12px;
    gap: 8px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.branchPath {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.branchPath.auto .lifecycleStep {
    border-left: 3px solid #22c55e;
}

.branchPath.pending .lifecycleStep {
    border-left: 3px solid #eab308;
}

.branchPath.approve .lifecycleStep {
    border-left: 3px solid #22c55e;
    background: #f0fdf4;
}

.branchPath.reject .lifecycleStep {
    border-left: 3px solid #ef4444;
    background: #fef2f2;
}

.branchOr {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-tertiary, #9ca3af);
    text-transform: uppercase;
}

/* Memory Example (Code Blocks) */
.memoryExample {
    margin: 12px 0;
    padding: 12px;
    background: #1e293b;
    border-radius: 6px;
}

.memoryExample strong {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    color: #94a3b8;
}

.memoryExample pre {
    margin: 0;
    padding: 0;
    background: transparent;
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: 12px;
    line-height: 1.5;
    color: #e2e8f0;
    white-space: pre-wrap;
    word-break: break-word;
}

/* Inline Code */
.manualContent code {
    padding: 2px 6px;
    background: var(--background-secondary, #f1f5f9);
    border-radius: 4px;
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: 12px;
    color: #0f172a;
}

.memoryTypeCard code {
    padding: 2px 6px;
    background: #e2e8f0;
    border-radius: 4px;
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: 11px;
    color: #334155;
}

/* Manual Footer */
.manualFooter {
    margin-top: 40px;
    padding: 20px;
    border-top: 1px solid var(--border-color, #e5e7eb);
    text-align: center;
}

.manualFooter p {
    margin: 0;
    font-size: 13px;
    color: var(--text-tertiary, #9ca3af);
}

/* Trust Level Cards */
.trustLevelCards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    margin: 20px 0;
}

.trustLevelCard {
    background: var(--background-primary, white);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    padding: 16px;
    border-top: 3px solid;
}

.trustLevelCard.approval-required {
    border-top-color: #ef4444;
}

.trustLevelCard.low {
    border-top-color: #f97316;
}

.trustLevelCard.medium {
    border-top-color: #eab308;
}

.trustLevelCard.high {
    border-top-color: #22c55e;
}

.trustLevelCard.full-auto {
    border-top-color: #3b82f6;
}

.trustLevelCard h5 {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary, #111827);
}

.trustLevelCard p {
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
    color: var(--text-secondary, #6b7280);
}

/* Responsive - Manual */
@media (max-width: 768px) {
    .manualToc ol {
        columns: 1;
    }

    .manualDiagram {
        flex-direction: column;
    }

    .diagramBox {
        max-width: 100%;
    }

    .diagramArrow {
        transform: rotate(90deg);
    }

    .glossary dl {
        columns: 1;
    }

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

    .lifecycleSteps {
        flex-direction: column;
        align-items: stretch;
    }

    .lifecycleArrow {
        transform: rotate(90deg);
        align-self: center;
    }

    .lifecycleBranch {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   Responsive - Workspace View
   ───────────────────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .workspaceHeader {
        flex-direction: column;
        align-items: flex-start;
    }

    .workspacePriceInfo {
        text-align: left;
    }

    .priceDisplay {
        justify-content: flex-start;
    }

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

    .assetSymbolLarge {
        font-size: 22px;
    }

    .priceCurrent {
        font-size: 20px;
    }
}

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

    .statCard .statValue {
        font-size: 16px;
    }
}

#VSMSetting #inputSelfPrompt {
    min-height: 150px;
}

#VSMSetting .settingsSection--callout {
    padding-top: 0;
}

#VSMSetting .settingsCallout {
    padding: 13px 15px;
    border: 1px solid rgba(92, 179, 255, 0.18);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(248, 252, 255, 0.98), rgba(241, 248, 255, 0.98));
    color: #24435f;
    font-size: 13px;
    line-height: 1.55;
}

/* First name inline edit - clickable span */
#VSMSetting .vsm-firstName-display {
    cursor: pointer;
    border-bottom: 1px dashed transparent;
    transition: border-color 0.2s;
}

#VSMSetting .vsm-firstName-display:hover {
    border-bottom-color: #2185d0;
}

/* NOTE: Manuals itemList/itemCard/addItemButton styles deleted (Spec 1217 — dead field elimination) */
/* NOTE: Routine toggle, trigger/time, urgency badges, and key metric styles deleted (Spec 1007 — inert features eliminated) */

#jmkrClient .dataRowInTab {
    margin-left: -13.5px;
    margin-right: -13.5px;
    margin-top: -7.5px;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) {
    --rowBorderColor: #e6e9ec;
    --rowFontColor: #2c3e50;
    --rowButtonColor: #ffffff;
    --rowButtonBorderColor: #d1d5db;
    --rowHeight: 45px;

    cursor: pointer;
    color: var(--rowFontColor);
    font-size: calc(var(--rowHeight) * 0.375);
    font-weight: 500;
    border-radius: 0px;
    margin-bottom: 1px;
    transition: all 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}


/* ============================================
   2. Layout Structure
   ============================================ */

/* ---------- 2.1 Flexbox Layout ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: 0px;
    align-items: center;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}

/* ---------- 2.2 Header Section ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .headerSection {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: calc(var(--rowHeight) * 0.2);
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .headerSection .subText {
    border-color: inset 0 0 0 0.5px rgba(255, 255, 255, 0.5);
}

/* ---------- 2.3 Left Section ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .leftSection {
    position: relative;
    flex: 1 1 auto;
    overflow: hidden;
    display: flex;
    align-items: center;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .leftSection {
    position: relative;
    flex-grow: 1;
    flex-basis: 0;
    align-items: stretch;
    min-width: 331.45px;
}

/* ---------- 2.4 Right Section ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .rightSection {
    position: relative;
    overflow: hidden;
    flex-grow: 0;
    flex-basis: auto;
    display: flex;
    justify-content: flex-end;
    padding-left: 1px;
}

#jmkrClient .dataRowSummary .dataRow:not(#JMDK_app .dataRow) .rightSection {
    display: none !important;
}

#jmkrClient .notificationThumbnail .dataRow:not(#JMDK_app .dataRow) {
    border-bottom: none;
}


/* ============================================
   3. Row States & Backgrounds
   ============================================ */

/* ---------- 3.1 Alternating Colors ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow):nth-child(odd) {
    background-color: #ffffff;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow):nth-child(even) {
    background-color: #f8fafc;
}

/* ---------- 3.2 Hover States ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow):hover {
    background-color: #f1f5f9;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transform: translateY(-1px);
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow):hover .hover {
    top: 0px;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow):hover .showOnHover {
    transition-delay: 1.7s;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow):hover .showOnHover,
#jmkrClient .dataRow:not(#JMDK_app .dataRow) .revealed .onRevealed {
    max-height: 1000px;
    opacity: 1;
    pointer-events: auto;
    overflow-x: auto;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow):hover .faded,
#jmkrClient .dataRow:not(#JMDK_app .dataRow):hover s {
    opacity: 1;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) a:hover {
    color: var(--jmkr-color-1) !important;
}

/* ---------- 3.3 Hidden/Revealed Animations ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow).hidden {
    transform: scale(0);
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).revealed {
    transform: scale(1) !important;
    transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .revealed img {
    border: 1.7px solid var(--jmkr-color-1);
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .showOnHover,
#jmkrClient .dataRow:not(#JMDK_app .dataRow) .onRevealed {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition:
        max-height 3.5s ease,
        opacity 0.5s ease;
    pointer-events: none;
}


/* ============================================
   4. Size Modifiers
   ============================================ */

/* Direct class on .dataRow */
#jmkrClient .dataRow:not(#JMDK_app .dataRow).tiny {
    --rowHeight: 38.5px !important;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).small {
    --rowHeight: 41.25px !important;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).medium {
    --rowHeight: 46.75px !important;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).large {
    --rowHeight: 55px !important;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).xlarge {
    --rowHeight: 66px !important;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).xxlarge {
    --rowHeight: 77px !important;
}

/* Parent container class */
#jmkrClient .tiny.dataRow:not(#JMDK_app .dataRow),
#jmkrClient .tiny div.dataRow:not(#JMDK_app .dataRow) {
    --rowHeight: 38.5px !important;
}

#jmkrClient .small.dataRow:not(#JMDK_app .dataRow),
#jmkrClient .small div.dataRow:not(#JMDK_app .dataRow) {
    --rowHeight: 41.25px !important;
}

#jmkrClient .medium.dataRow:not(#JMDK_app .dataRow),
#jmkrClient .medium div.dataRow:not(#JMDK_app .dataRow) {
    --rowHeight: 46.75px !important;
}

#jmkrClient .large.dataRow:not(#JMDK_app .dataRow),
#jmkrClient .large div.dataRow:not(#JMDK_app .dataRow) {
    --rowHeight: 55px !important;
}

#jmkrClient .xlarge.dataRow:not(#JMDK_app .dataRow),
#jmkrClient .xlarge div.dataRow:not(#JMDK_app .dataRow) {
    --rowHeight: 66px !important;
}

#jmkrClient .xxlarge.dataRow:not(#JMDK_app .dataRow),
#jmkrClient .xxlarge div.dataRow:not(#JMDK_app .dataRow) {
    --rowHeight: 77px !important;
}


/* ============================================
   5. Bordered Variants
   ============================================ */

/* ---------- 5.1 Basic Bordered ---------- */

#jmkrClient .bordered .dataRow:not(#JMDK_app .dataRow) {}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).bordered {
    opacity: 1;
    display: block;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).bordered .dataRow:not(#JMDK_app .dataRow) {
    border-left: 3px solid var(--rowBorderColor);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
    border-radius: 6px;
    padding-left: 2.5px;
    margin-bottom: 2px;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).bordered .childTaskList {
    border: none !important;
    box-shadow: none !important;
}

/* ---------- 5.2 Doubled Layout ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow).bordered.doubled .dataRow:not(#JMDK_app .dataRow) {
    border-radius: 0px;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).bordered.doubled .dataRow:not(#JMDK_app .dataRow):nth-child(1) {
    border-left: 3px solid var(--rowBorderColor);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    background-color: #ffffff;
    padding-left: 8px;
    padding-right: 8px;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).bordered.doubled .dataRow:not(#JMDK_app .dataRow):nth-child(2) {
    border-left: 3px solid var(--rowBorderColor);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    background-color: #ffffff;
    padding-left: 8px;
    padding-right: 8px;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).bordered.doubled .dataRow:not(#JMDK_app .dataRow):nth-child(1) .leftSection {
    transform: translateY(0px);
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).bordered.doubled .dataRow:not(#JMDK_app .dataRow):nth-child(2) .leftSection {
    transform: translateY(-12.5px);
    margin-bottom: -12.5px;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).bordered.doubled .dataRow:not(#JMDK_app .dataRow):nth-child(2) .leftSection span {
    display: none;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).bordered.doubled .dataRow:not(#JMDK_app .dataRow):nth-child(1) .rightSection {
    transform: translateY(2.5px);
    display: none;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).bordered.doubled .dataRow:not(#JMDK_app .dataRow):nth-child(2) .rightSection {
    transform: translateY(-2.5px);
}

/* ---------- 5.3 Child Task List ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow).childTaskList {
    border: none !important;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow).childTaskList .dataRow:not(#JMDK_app .dataRow) {
    border-left: 2px dashed var(--rowBorderColor);
    border-bottom: 2px dashed var(--rowBorderColor);
    margin-left: 7.5px;
}

/* Nested data rows */
#jmkrClient .dataRow:not(#JMDK_app .dataRow) .dataRow:not(#JMDK_app .dataRow) {
    border-left: 4px solid var(--rowBorderColor);
    margin-left: 8px;
    border-radius: 0 6px 6px 0;
}

/* Disable nested indent in conversation record preview (planner, trading, etc.) */
#jmkrClient .conversationRecord .dataRow:not(#JMDK_app .dataRow) .dataRow:not(#JMDK_app .dataRow) {
    border-left: none;
    margin-left: 0;
}


/* ============================================
   6. Status Badges
   ============================================ */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .status {
    display: inline-block;
    vertical-align: middle;
    background: linear-gradient(135deg, var(--rowButtonColor) 0%, #f8fafc 100%);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    font-size: calc(var(--rowHeight) * 0.275);
    line-height: calc(var(--rowHeight) * 0.575);
    padding: calc(var(--rowHeight) * 0);
    padding-left: calc(var(--rowHeight) * 0.2);
    padding-right: calc(var(--rowHeight) * 0.2);
    border: 1px solid var(--rowButtonBorderColor);
    border-radius: 6px;
    text-transform: uppercase;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    font-weight: 600;
    transition: all 0.2s ease;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .status:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .status.complete {
    color: #059669;
    border-color: #10b981;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    font-weight: 600;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .status.cancelled {
    color: #dc2626;
    border-color: #ef4444;
    background: linear-gradient(135deg, #fef2f2 0%, #fecaca 100%);
    font-weight: 600;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .status.removed {
    color: #d97706;
    border-color: #f59e0b;
    background: linear-gradient(135deg, #fffbeb 0%, #fed7aa 100%);
    font-weight: 600;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .error {
    outline: 2px solid #ef4444;
    outline-offset: 2px;
    animation: pulse-error 2s infinite;
}


/* ============================================
   7. Buttons
   ============================================ */

/* ---------- 7.1 Base Button ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .button {
    display: inline-block;
    vertical-align: middle;
    background: linear-gradient(135deg, var(--rowButtonColor) 0%, #f8fafc 100%);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    font-size: calc(var(--rowHeight) * 0.275);
    line-height: calc(var(--rowHeight) * 0.45);
    padding: calc(var(--rowHeight) * 0.1);
    padding-left: calc(var(--rowHeight) * 0.2);
    padding-right: calc(var(--rowHeight) * 0.2);
    border: 1px solid var(--rowButtonBorderColor);
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-right: calc(var(--rowHeight) * 0.2);
    margin-top: calc(var(--rowHeight) * 0.18);
    margin-bottom: calc(var(--rowHeight) * 0.18);
    font-weight: 500;
    transition: all 0.2s ease;
    cursor: pointer;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .button:hover {
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    border-color: #94a3b8;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .button .checkbox {
    margin-left: -5px;
    margin-right: -3.5px;
    transform: translateY(-1px);
}

/* ---------- 7.2 Hover Button Overlay ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .hover {
    position: absolute;
    right: 0px;
    top: -100%;
    height: 100%;
    width: 100%;
    z-index: 1;
    background: linear-gradient(to right, rgba(255, 255, 255, 0.1) 0%, rgba(248, 250, 252, 0.9) 100%);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding-right: 8px;
    padding-left: 8px;
    border-radius: 6px;
    text-align: right;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .hover .button {
    margin-right: calc(var(--rowHeight) * 0);
    margin-top: calc(var(--rowHeight) * 0.1);
    padding-left: calc(var(--rowHeight) * 0.25);
    padding-right: calc(var(--rowHeight) * 0.25);
}

/* ---------- 7.3 Input Buttons ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .button.input {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .button input[type="number"],
#jmkrClient .dataRow:not(#JMDK_app .dataRow) .button input[type="text"],
#jmkrClient .dataRow:not(#JMDK_app .dataRow) .button .selectize-control.single,
#jmkrClient .dataRow:not(#JMDK_app .dataRow) .button .selectize-input,
#jmkrClient .dataRow:not(#JMDK_app .dataRow) .button .field {
    line-height: calc(var(--rowHeight) * 0.55) !important;
    min-height: calc(var(--rowHeight) * 0.55) !important;
    height: calc(var(--rowHeight) * 0.55) !important;
    border: none !important;
    outline: none !important;
    padding: 0px !important;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .button .selectize-control.multi .selectize-input [data-value] {
    padding: 0px !important;
    padding-left: 10px !important;
    padding-right: 20px !important;
    line-height: 17px !important;
    margin-top: 2.5px !important;
    font-size: 10px !important;
    font-weight: bold !important;
}


/* ============================================
   8. Text Styles
   ============================================ */

/* ---------- 8.1 Base Text ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .text {
    display: inline-block;
    vertical-align: top;
    min-height: var(--rowHeight);
    line-height: calc(var(--rowHeight) * 0.70);
    padding: calc(var(--rowHeight) * 0.115);
    padding-left: calc(var(--rowHeight) * 0.2);
    padding-right: calc(var(--rowHeight) * 0.2);
    font-weight: 500;
    color: var(--rowFontColor);
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .text.full {
    display: inline-block;
    width: 100%;
    line-height: calc(var(--rowHeight) * 0.65);
    padding: calc(var(--rowHeight) * 0.15);
    padding-left: calc(var(--rowHeight) * 0.2);
    padding-right: calc(var(--rowHeight) * 0.2);
    word-break: break-word;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .right .text {
    border-left: 1px solid var(--rowBorderColor);
}

/* ---------- 8.2 SubText Tags ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .text .subText {
    display: inline;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: calc(var(--rowHeight) * 0.1);
    padding-left: calc(var(--rowHeight) * 0.2);
    padding-right: calc(var(--rowHeight) * 0.2);
    margin-left: 3.5px;
    margin-right: 3.5px;
    font-weight: 600;
    font-size: calc(var(--rowHeight) * 0.275);
    text-transform: uppercase;
    color: #475569;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: all 0.2s ease;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .text .subText:hover {
    background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .text .subText.noTextTransform {
    text-transform: none;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .text .subText .subText {
    margin-right: 0px;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .text .subText:first-child {
    margin-left: 0px;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .text .subText .subText:last-child {
    margin-right: -10px;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .text .subText .flag {
    margin-left: -5px;
}

/* ---------- 8.3 Text Variants ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .text.heavy {
    font-weight: 700;
    color: #1a202c;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .text.light {
    display: inline-block;
    vertical-align: middle;
    padding: calc(var(--rowHeight) * 0.15);
    padding-left: calc(var(--rowHeight) * 0.375);
    padding-right: calc(var(--rowHeight) * 0.375);
    font-size: calc(var(--rowHeight) * 0.275);
    font-weight: 400;
    border: none !important;
    color: #64748b;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .normalText {
    text-transform: none !important;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) b {
    font-size: calc(var(--rowHeight) * 0.375);
    font-weight: 600;
    color: #1a202c;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) label {
    display: inline;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .ui.toggle.checkbox label {
    padding-left: 4rem !important;
}


/* ============================================
   9. Interactive Elements
   ============================================ */

/* ---------- 9.1 Links ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) a {
    color: var(--jmkr-color-1) !important;
    font-size: 100%;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
}

/* ---------- 9.2 Faded Elements ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .faded {
    opacity: 0.5;
    transition: opacity 0.2s;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) s {
    opacity: 0.77;
    transition: opacity 0.35s;
}

/* ---------- 9.3 Copy Link ---------- */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .copyLink {
    position: absolute;
    left: 0px;
    bottom: 0px;
    opacity: 0;
}


/* ============================================
   10. Avatars
   ============================================ */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .avatar {
    display: inline-block;
    vertical-align: middle;
    background-color: var(--rowButtonColor);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 8px;
    width: calc(var(--rowHeight) * 0.65);
    height: calc(var(--rowHeight) * 0.65);
    margin-left: 0px;
    margin-right: -10px;
    border: 2px solid #ffffff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
    transition: all 0.2s ease;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .avatar:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.1);
}


/* ============================================
   11. Horizontal Scroll Tables
   ============================================ */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .horizontalScroll {
    padding: 5px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #e2e8f0;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    position: relative;
    margin-top: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    font-size: 80%;
    line-height: 140%;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .horizontalScroll th {
    font-size: 12px;
    padding: 0px;
    padding-left: 10px;
    padding-right: 10px;
    text-transform: uppercase;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .horizontalScroll td {
    font-size: 12px;
    padding: 0px;
    padding-left: 10px;
    padding-right: 10px;
}


/* ============================================
   12. Grid Integration
   ============================================ */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .ui.grid {
    margin: 0px !important;
    padding: 0px !important;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .ui.grid .column {
    line-height: var(--rowHeight);
    padding: 0px !important;
}

#jmkrClient .dataRow:not(#JMDK_app .dataRow) .ui.grid .column .column {
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
}


/* ============================================
   13. Images & Media
   ============================================ */

#jmkrClient .dataRow:not(#JMDK_app .dataRow) img {
    display: inline-block;
    vertical-align: top;
    width: var(--rowHeight);
    height: var(--rowHeight);
    line-height: var(--rowHeight);
    object-fit: cover;
    margin: 0px !important;
    position: relative;
}


/* ============================================
   14. Inverted Theme
   ============================================ */

#jmkrClient .inverted .dataRow:not(#JMDK_app .dataRow) {
    --rowBorderColor: rgba(255, 255, 255, 0.15);
    --rowFontColor: #ffffff;
    --rowButtonColor: #4a5568;
    --rowButtonBorderColor: #718096;
}


/* ============================================
   15. Popup Display Modes
   ============================================ */

#jmkrClient .dataRow:not(#JMDK_app .dataRow).showInPopup {
    display: none !important;
}

#jmkrClient .dashboardPopUp .dataRow:not(#JMDK_app .dataRow).hideInPopup {
    display: none !important;
}

#jmkrClient .dashboardPopUp .dataRow:not(#JMDK_app .dataRow).showInPopup {
    display: flex !important;
}


/* ============================================
   16. Responsive Styles
   ============================================ */

/* ---------- 16.1 Tablet (max-width: 992px) ---------- */

@media (max-width: 992px) {
    #jmkrClient .dataRow:not(#JMDK_app .dataRow) {
        flex-direction: column;
    }

    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .leftSection,
    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .rightSection {
        width: 100%;
        flex-basis: auto;
    }

    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .rightSection {
        justify-content: right;
    }
}

@media screen and (max-width: 992px) {
    #jmkrClient .dataRow:not(#JMDK_app .dataRow).bordered.doubled .dataRow:not(#JMDK_app .dataRow):nth-child(2) .rightSection {
        margin-top: -5px;
    }
}

/* ---------- 16.2 Mobile (max-width: 600px) ---------- */

@media (max-width: 600px) {
    #jmkrClient .dataRow:not(#JMDK_app .dataRow) {
        --rowHeight: 38px;
        flex-direction: column;
        align-items: stretch;
        padding: 8px !important;
    }

    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .leftSection,
    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .rightSection {
        width: 100% !important;
        flex-basis: auto !important;
    }

    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .rightSection {
        justify-content: flex-start !important;
        padding-left: 0 !important;
        margin-top: -5px !important;
    }

    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .text,
    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .text.full {
        line-height: calc(var(--rowHeight) * 0.6) !important;
    }

    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .text .subText {
        font-size: calc(var(--rowHeight) * 0.25) !important;
        padding: 2px 6px !important;
    }

    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .button {
        font-size: calc(var(--rowHeight) * 0.25) !important;
        line-height: calc(var(--rowHeight) * 0.5) !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-right: 6px !important;
    }

    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .avatar {
        width: calc(var(--rowHeight) * 0.55) !important;
        height: calc(var(--rowHeight) * 0.55) !important;
        margin-right: -6px !important;
    }

    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .hover {
        display: none !important;
    }
}

/* ---------- 16.3 Small Mobile (max-width: 767px) ---------- */

@media screen and (max-width: 767px) {
    #jmkrClient .dataRow:not(#JMDK_app .dataRow) .right {}
}


/* ============================================
   17. Animation Disable
   ============================================ */

#jmkrClient .ui.bottom.attached.tab.segment .dataRow:not(#JMDK_app .dataRow),
#jmkrClient .noAnimation .dataRow:not(#JMDK_app .dataRow) {
    animation: none;
}

#jmkrClient .dataThumbnailGrid__container {
    --thumbnail-gap: 16px;
    --thumbnail-min-width: 180px;
    --thumbnail-border-radius: 12px;
    --thumbnail-bg: #ffffff;
    --thumbnail-border: rgba(15, 23, 42, 0.08);
    --thumbnail-border-hover: rgba(15, 23, 42, 0.15);
    --thumbnail-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    --thumbnail-shadow-hover: 0 4px 12px rgba(15, 23, 42, 0.08), 0 2px 4px rgba(15, 23, 42, 0.04);
    --thumbnail-name-color: #1e293b;
    --thumbnail-meta-color: #94a3b8;
    --thumbnail-icon-color: #94a3b8;
    --thumbnail-action-bg: rgba(255, 255, 255, 0.9);
    --thumbnail-action-bg-hover: #ffffff;

    padding: 16px;
    overflow-y: auto;
    overflow-x: hidden;
    background: #f8fafc;
}


/* ============================================
   2. Grid Container Layout
   ============================================ */

#jmkrClient .dataThumbnailGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--thumbnail-min-width), 1fr));
    gap: var(--thumbnail-gap);
    padding-bottom: 16px;
}

#jmkrClient .dataThumbnailCard__wrapper {
    display: contents;
}


/* ============================================
   3. Card Structure
   ============================================ */

/* ---------- 3.1 Base Card ---------- */

#jmkrClient .dataThumbnailCard {
    display: flex;
    flex-direction: column;
    background: var(--thumbnail-bg);
    border-radius: var(--thumbnail-border-radius);
    border: 1px solid var(--thumbnail-border);
    overflow: hidden;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    box-shadow: var(--thumbnail-shadow);
}

/* ---------- 3.2 Card States ---------- */

#jmkrClient .dataThumbnailCard:hover {
    border-color: var(--thumbnail-border-hover);
    box-shadow: var(--thumbnail-shadow-hover);
    transform: translateY(-2px);
}

#jmkrClient .dataThumbnailCard:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
}

#jmkrClient .dataThumbnailCard--selected {
    border-color: var(--jmkr-color-1);
    box-shadow: 0 0 0 2px rgba(30, 171, 211, 0.2);
}

#jmkrClient .dataThumbnailCard--selected .dataThumbnailCard__preview {
    background: rgba(30, 171, 211, 0.05);
}


/* ============================================
   4. Preview Area
   ============================================ */

/* ---------- 4.1 Base Preview ---------- */

#jmkrClient .dataThumbnailCard__preview {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    overflow: hidden;
}

#jmkrClient .dataThumbnailCard__preview i {
    font-size: 48px;
    color: var(--thumbnail-icon-color);
    transition: color 0.2s ease, transform 0.2s ease;
}

#jmkrClient .dataThumbnailCard:hover .dataThumbnailCard__preview i {
    transform: scale(1.05);
}

/* ---------- 4.2 Image Preview ---------- */

#jmkrClient .dataThumbnailCard__preview--image {
    background: #f1f5f9;
}

#jmkrClient .dataThumbnailCard__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

#jmkrClient .dataThumbnailCard:hover .dataThumbnailCard__image {
    transform: scale(1.03);
}

/* ---------- 4.3 Icon Preview ---------- */

#jmkrClient .dataThumbnailCard__preview--icon {
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
}

/* ---------- 4.4 Type-Specific Colors ---------- */

/* Folder */
#jmkrClient .dataThumbnailCard__preview--folder {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
}
#jmkrClient .dataThumbnailCard__preview--folder i { color: #d97706; font-size: 52px; }
#jmkrClient .dataThumbnailCard:hover .dataThumbnailCard__preview--folder i { color: #b45309; }

/* PDF */
#jmkrClient .dataThumbnailCard__preview--pdf {
    background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
}
#jmkrClient .dataThumbnailCard__preview--pdf i { color: #dc2626; }

/* Document (Word, etc.) */
#jmkrClient .dataThumbnailCard__preview--doc {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
}
#jmkrClient .dataThumbnailCard__preview--doc i { color: #2563eb; }

/* Spreadsheet */
#jmkrClient .dataThumbnailCard__preview--spreadsheet {
    background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
}
#jmkrClient .dataThumbnailCard__preview--spreadsheet i { color: #16a34a; }

/* Presentation */
#jmkrClient .dataThumbnailCard__preview--presentation {
    background: linear-gradient(135deg, #ffedd5 0%, #fed7aa 100%);
}
#jmkrClient .dataThumbnailCard__preview--presentation i { color: #ea580c; }

/* Video */
#jmkrClient .dataThumbnailCard__preview--video {
    background: linear-gradient(135deg, #ede9fe 0%, #ddd6fe 100%);
}
#jmkrClient .dataThumbnailCard__preview--video i { color: #7c3aed; }

/* Audio */
#jmkrClient .dataThumbnailCard__preview--audio {
    background: linear-gradient(135deg, #fce7f3 0%, #fbcfe8 100%);
}
#jmkrClient .dataThumbnailCard__preview--audio i { color: #db2777; }

/* Archive */
#jmkrClient .dataThumbnailCard__preview--archive {
    background: linear-gradient(135deg, #f5f5f4 0%, #e7e5e4 100%);
}
#jmkrClient .dataThumbnailCard__preview--archive i { color: #78716c; }

/* Code */
#jmkrClient .dataThumbnailCard__preview--code {
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
}
#jmkrClient .dataThumbnailCard__preview--code i { color: #059669; }

/* Generic/Default */
#jmkrClient .dataThumbnailCard__preview--generic {
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
}
#jmkrClient .dataThumbnailCard__preview--generic i { color: #64748b; }

/* Meeting/Conference */
#jmkrClient .dataThumbnailCard__preview--meeting {
    background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
}
#jmkrClient .dataThumbnailCard__preview--meeting i { color: #0284c7; font-size: 52px; }
#jmkrClient .dataThumbnailCard:hover .dataThumbnailCard__preview--meeting i { color: #0369a1; }

/* Live/Active state */
#jmkrClient .dataThumbnailCard__preview--live {
    background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
}
#jmkrClient .dataThumbnailCard__preview--live i { color: #16a34a; }

/* Ended/Past state */
#jmkrClient .dataThumbnailCard__preview--ended {
    background: linear-gradient(135deg, #f5f5f4 0%, #e7e5e4 100%);
}
#jmkrClient .dataThumbnailCard__preview--ended i { color: #78716c; }


/* ============================================
   5. Info Section
   ============================================ */

#jmkrClient .dataThumbnailCard__info {
    padding: 12px;
    border-top: 1px solid rgba(15, 23, 42, 0.04);
    background: var(--thumbnail-bg);
}

/* ---------- 5.1 Card Name ---------- */

#jmkrClient .dataThumbnailCard__name {
    font-size: 13px;
    font-weight: 500;
    color: var(--thumbnail-name-color);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    min-height: 36px;
}

/* ---------- 5.2 Card Meta ---------- */

#jmkrClient .dataThumbnailCard__meta {
    font-size: 11px;
    color: var(--thumbnail-meta-color);
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}

#jmkrClient .dataThumbnailCard__meta i {
    font-size: 12px;
}

/* Status badges in meta */
#jmkrClient .dataThumbnailCard__status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

#jmkrClient .dataThumbnailCard__status--live {
    background: #dcfce7;
    color: #15803d;
}

#jmkrClient .dataThumbnailCard__status--upcoming {
    background: #dbeafe;
    color: #1d4ed8;
}

#jmkrClient .dataThumbnailCard__status--ended {
    background: #f5f5f4;
    color: #78716c;
}


/* ============================================
   6. Action Buttons
   ============================================ */

/* ---------- 6.1 Positioned Actions (4 corners) ---------- */

#jmkrClient .dataThumbnailCard__actions {
    position: absolute;
    display: flex;
    gap: 4px;
    opacity: 0 !important;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 10;
}

#jmkrClient .dataThumbnailCard:hover .dataThumbnailCard__actions {
    opacity: 1 !important;
    visibility: visible;
}

/* Top-left position */
#jmkrClient .dataThumbnailCard__actions--top-left {
    top: 8px;
    left: 8px;
}

/* Top-right position */
#jmkrClient .dataThumbnailCard__actions--top-right {
    top: 8px;
    right: 8px;
}

/* Bottom-left position */
#jmkrClient .dataThumbnailCard__actions--bottom-left {
    bottom: 8px;
    left: 8px;
}

/* Bottom-right position */
#jmkrClient .dataThumbnailCard__actions--bottom-right {
    bottom: 8px;
    right: 8px;
}

/* ---------- 6.2 Inline Actions (above meta) ---------- */

#jmkrClient .dataThumbnailCard__inlineActions {
    display: flex;
    gap: 4px;
    margin-top: 8px;
}

/* Inline action button style - always visible with white text */
#jmkrClient .dataThumbnailCard__inlineAction {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px 8px;
    background: var(--jmkr-color-1, #1eabd3) !important;
    border: 1px solid var(--jmkr-color-1, #1eabd3) !important;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 500;
    color: #ffffff !important;
    transition: all 0.15s ease;
    white-space: nowrap;
    text-decoration: none;
}

#jmkrClient .dataThumbnailCard__inlineAction:hover {
    background: var(--jmkr-color-1-dark, #1890b3) !important;
    border-color: var(--jmkr-color-1-dark, #1890b3) !important;
    color: #ffffff !important;
}

#jmkrClient .dataThumbnailCard__inlineAction i {
    font-size: 12px !important;
    color: #ffffff !important;
}

/* Secondary inline action (lighter style) */
#jmkrClient .dataThumbnailCard__inlineAction--secondary {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.1);
    color: #64748b;
}

#jmkrClient .dataThumbnailCard__inlineAction--secondary:hover {
    background: #f1f5f9;
    color: #1e293b;
    border-color: rgba(15, 23, 42, 0.15);
}

/* ---------- 6.3 Button States ---------- */

#jmkrClient .dataThumbnailCard__action {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px;
    min-height: 28px;
    max-width: 28px;
    max-height: 28px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.95) !important;
    border-radius: 6px !important;
    border: 1px solid rgba(15, 23, 42, 0.15) !important;
    color: #64748b !important;
    transition: all 0.15s ease;
    cursor: pointer;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

#jmkrClient .dataThumbnailCard__action:hover {
    background: #ffffff !important;
    color: #1e293b !important;
    border-color: rgba(15, 23, 42, 0.25) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12) !important;
}

#jmkrClient .dataThumbnailCard__action i,
#jmkrClient .dataThumbnailCard__action .lucide-icon {
    font-size: 14px !important;
    width: 14px !important;
    height: 14px !important;
    color: inherit !important;
}

/* Larger action button variant */
#jmkrClient .dataThumbnailCard__action--large {
    width: 32px;
    height: 32px;
}

#jmkrClient .dataThumbnailCard__action--large i {
    font-size: 16px;
}

/* Primary action button */
#jmkrClient .dataThumbnailCard__action--primary {
    background: var(--jmkr-color-1, #1eabd3);
    border-color: var(--jmkr-color-1, #1eabd3);
    color: #ffffff;
}

#jmkrClient .dataThumbnailCard__action--primary:hover {
    background: var(--jmkr-color-1-dark, #1890b3);
    border-color: var(--jmkr-color-1-dark, #1890b3);
    color: #ffffff;
}

/* Success action button (e.g., Join) */
#jmkrClient .dataThumbnailCard__action--success {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
}

#jmkrClient .dataThumbnailCard__action--success:hover {
    background: #15803d;
    border-color: #15803d;
    color: #ffffff;
}

/* Danger action button */
#jmkrClient .dataThumbnailCard__action--danger {
    background: #dc2626;
    border-color: #dc2626;
    color: #ffffff;
}

#jmkrClient .dataThumbnailCard__action--danger:hover {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #ffffff;
}


/* ============================================
   7. Responsive Styles
   ============================================ */

@media (max-width: 1200px) {
    #jmkrClient .dataThumbnailGrid__container {
        --thumbnail-gap: 12px;
        --thumbnail-min-width: 160px;
    }
}

@media (max-width: 768px) {
    #jmkrClient .dataThumbnailGrid__container {
        padding: 12px;
        --thumbnail-gap: 10px;
        --thumbnail-min-width: 140px;
    }

    #jmkrClient .dataThumbnailCard__preview i {
        font-size: 40px;
    }

    #jmkrClient .dataThumbnailCard__info {
        padding: 10px;
    }

    #jmkrClient .dataThumbnailCard__name {
        font-size: 12px;
        min-height: 32px;
    }
}

@media (max-width: 480px) {
    #jmkrClient .dataThumbnailGrid__container {
        --thumbnail-min-width: 120px;
    }

    #jmkrClient .dataThumbnailCard__action {
        width: 24px;
        height: 24px;
    }

    #jmkrClient .dataThumbnailCard__action i {
        font-size: 12px;
    }
}


/* ============================================
   8. View Toggle Button (for header/breadcrumb)
   ============================================ */

#jmkrClient .dataViewToggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    background: transparent;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 6px;
    font-size: 12px;
    color: #64748b;
    cursor: pointer;
    transition: all 0.15s ease;
}

#jmkrClient .dataViewToggle:hover {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.15);
    color: #1e293b;
}

#jmkrClient .dataViewToggle i {
    font-size: 14px;
}

#jmkrClient .dataViewToggle--active {
    background: var(--jmkr-color-1, #1eabd3);
    border-color: var(--jmkr-color-1, #1eabd3);
    color: #ffffff;
}

#jmkrClient .dataViewToggle--active:hover {
    background: var(--jmkr-color-1-dark, #1890b3);
    border-color: var(--jmkr-color-1-dark, #1890b3);
}
#jmkrClient .empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 48px 24px;
    background: #f9f9f9;
    border-radius: 12px;
}

/* Grid context: span full width when inside a grid */
#jmkrClient .empty-state:only-child,
#jmkrClient [class*="grid"] > .empty-state {
    grid-column: 1 / -1;
}

/* Icon Container */
#jmkrClient .empty-state__icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    margin-bottom: 16px;
    background: rgba(92, 179, 255, 0.12);
    color: var(--jmkr-color-1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
}

/* Title */
#jmkrClient .empty-state__title {
    margin: 0 0 8px 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
}

/* Description */
#jmkrClient .empty-state__description {
    margin: 0 0 20px 0;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #666;
    max-width: 400px;
}

/* No bottom margin when no actions follow */
#jmkrClient .empty-state__description:last-child {
    margin-bottom: 0;
}

/* Actions Container */
#jmkrClient .empty-state__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

/* Action Buttons */
#jmkrClient .empty-state__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    min-width: 120px;
    font-size: 0.9rem;
    font-weight: 500;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    background: white;
    border: 1px solid rgba(0, 0, 0, 0.12);
    color: #333;
}

#jmkrClient .empty-state__button:hover {
    background: #f5f5f5;
    border-color: rgba(0, 0, 0, 0.2);
}

#jmkrClient .empty-state__button--primary {
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
    color: white;
}

#jmkrClient .empty-state__button--primary:hover {
    background: #4aa3ef;
    border-color: #4aa3ef;
}

#jmkrClient .empty-state__button i.lucide-icon {
    font-size: 1.1em;
}

/* ============================================
   Variant: Page (Full page welcome states)
   ============================================ */
#jmkrClient .empty-state--page {
    padding: 80px 40px;
}

#jmkrClient .empty-state--page .empty-state__icon {
    width: 88px;
    height: 88px;
    font-size: 2.5rem;
    margin-bottom: 24px;
}

#jmkrClient .empty-state--page .empty-state__title {
    font-size: 1.35rem;
    margin-bottom: 12px;
}

#jmkrClient .empty-state--page .empty-state__description {
    font-size: 1rem;
    margin-bottom: 28px;
}

#jmkrClient .empty-state--page .empty-state__button {
    padding: 12px 24px;
    min-width: 140px;
    font-size: 0.95rem;
}

/* ============================================
   Variant: Compact (Card/panel embedded)
   ============================================ */
#jmkrClient .empty-state--compact {
    padding: 32px 20px;
}

#jmkrClient .empty-state--compact .empty-state__icon {
    width: 48px;
    height: 48px;
    font-size: 1.3rem;
    margin-bottom: 12px;
}

#jmkrClient .empty-state--compact .empty-state__title {
    font-size: 1rem;
    margin-bottom: 6px;
}

#jmkrClient .empty-state--compact .empty-state__description {
    font-size: 0.85rem;
    margin-bottom: 16px;
}

#jmkrClient .empty-state--compact .empty-state__button {
    padding: 8px 16px;
    min-width: 100px;
    font-size: 0.85rem;
}

/* ============================================
   Variant: Inline (Minimal dashed border style)
   ============================================ */
#jmkrClient .empty-state--inline {
    padding: 20px 16px;
    background: rgba(18, 24, 32, 0.02);
    border: 1px dashed rgba(18, 24, 32, 0.12);
    border-radius: 10px;
}

#jmkrClient .empty-state--inline .empty-state__icon {
    width: 44px;
    height: 44px;
    font-size: 1.2rem;
    margin-bottom: 10px;
    background: rgba(92, 179, 255, 0.15);
}

#jmkrClient .empty-state--inline .empty-state__title {
    font-size: 0.95rem;
    margin-bottom: 4px;
}

#jmkrClient .empty-state--inline .empty-state__description {
    font-size: 0.8rem;
    line-height: 1.45;
    color: rgba(18, 24, 32, 0.55);
    margin-bottom: 12px;
}

#jmkrClient .empty-state--inline .empty-state__actions {
    gap: 8px;
}

#jmkrClient .empty-state--inline .empty-state__button {
    padding: 6px 12px;
    min-width: auto;
    font-size: 0.8rem;
}

/* ============================================
   Variant Modifier: No Background
   ============================================ */
#jmkrClient .empty-state--no-bg {
    background: transparent;
}

/* ============================================
   Variant Modifier: With Margin
   ============================================ */
#jmkrClient .empty-state--margin {
    margin: 10px;
}

/* ============================================
   Responsive Adjustments
   ============================================ */
@media screen and (max-width: 767px) {
    #jmkrClient .empty-state {
        padding: 36px 16px;
    }

    #jmkrClient .empty-state__icon {
        width: 56px;
        height: 56px;
        font-size: 1.5rem;
    }

    #jmkrClient .empty-state__title {
        font-size: 1rem;
    }

    #jmkrClient .empty-state__description {
        font-size: 0.9rem;
        max-width: 300px;
    }

    #jmkrClient .empty-state__actions {
        flex-direction: column;
        width: 100%;
        max-width: 280px;
    }

    #jmkrClient .empty-state__button {
        width: 100%;
    }

    /* Page variant mobile */
    #jmkrClient .empty-state--page {
        padding: 48px 20px;
    }

    #jmkrClient .empty-state--page .empty-state__icon {
        width: 72px;
        height: 72px;
        font-size: 2rem;
    }
}

/* ============================================
   Dark Mode Support
   ============================================ */
#jmkrClient .nightMode .empty-state {
    background: rgba(255, 255, 255, 0.05);
}

#jmkrClient .nightMode .empty-state__icon {
    background: rgba(92, 179, 255, 0.2);
}

#jmkrClient .nightMode .empty-state__title {
    color: rgba(255, 255, 255, 0.9);
}

#jmkrClient .nightMode .empty-state__description {
    color: rgba(255, 255, 255, 0.6);
}

#jmkrClient .nightMode .empty-state__button {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.15);
    color: rgba(255, 255, 255, 0.9);
}

#jmkrClient .nightMode .empty-state__button:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.25);
}

#jmkrClient .nightMode .empty-state__button--primary {
    background: var(--jmkr-color-1);
    border-color: var(--jmkr-color-1);
    color: white;
}

#jmkrClient .nightMode .empty-state--inline {
    background: rgba(255, 255, 255, 0.02);
    border-color: rgba(255, 255, 255, 0.1);
}

#jmkrClient .nightMode .empty-state--inline .empty-state__description {
    color: rgba(255, 255, 255, 0.45);
}

.publicDocument {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 4px;
  padding: 17px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

/* ---------- 1.2 Variants ---------- */

.publicDocument--items {
  overflow: hidden;
}

.publicDocument--disclaimer {
  background: #f8fafc;
  border-style: dashed;
}

/* ---------- 1.3 Section Title ---------- */

.publicDocument__sectionTitle {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 16px;
}


/* ============================================
   2. Rich Text Formatting
   ============================================ */

/* ---------- 2.1 Base Typography ---------- */

.publicDocument__richText {
  line-height: 1.7;
  color: #334155;
  font-size: 15px;
}

/* ---------- 2.2 Headings ---------- */

.publicDocument__richText h1 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #0f172a;
  margin-top: 2rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--jmkr-color-1);
  line-height: 1.3;
}

.publicDocument__richText h1:first-child {
  margin-top: 0;
}

.publicDocument__richText h2 {
  font-size: 1.35rem;
  font-weight: 700;
  color: #1e293b;
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.publicDocument__richText h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #334155;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

/* ---------- 2.3 Paragraphs ---------- */

.publicDocument__richText p {
  margin-bottom: 1rem;
  line-height: 1.7;
}

/* ---------- 2.4 Word Processor Classes ---------- */
/* Handle word processor classes (p1, p2, p3, s1, s2, s3, etc.) */

.publicDocument__richText .p1,
.publicDocument__richText .p2,
.publicDocument__richText .p3,
.publicDocument__richText .p4 {
  margin-bottom: 0.25rem;
  line-height: 1.6;
}

.publicDocument__richText .s1,
.publicDocument__richText .s2,
.publicDocument__richText .s3,
.publicDocument__richText .s4 {
  font-weight: 600;
  color: var(--jmkr-color-1);
}

/* ---------- 2.5 Lists ---------- */

.publicDocument__richText ul,
.publicDocument__richText ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}

.publicDocument__richText li {
  margin-bottom: 0.35rem;
  line-height: 1.6;
}

.publicDocument__richText li p {
  margin-bottom: 0.15rem;
}

/* ---------- 2.6 Tables ---------- */

.publicDocument__richText table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
  font-size: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  overflow: hidden;
}

.publicDocument__richText th {
  background-color: #f8fafc;
  font-weight: 600;
  color: #1e293b;
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 2px solid #e2e8f0;
}

.publicDocument__richText td {
  padding: 0.65rem 1rem;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: top;
}

.publicDocument__richText tr:last-child td {
  border-bottom: none;
}

.publicDocument__richText tr:nth-child(even) {
  background-color: #f8fafc;
}

/* ---------- 2.7 Links ---------- */

.publicDocument__richText a {
  color: var(--jmkr-color-1);
  text-decoration: none;
  font-weight: 500;
}

.publicDocument__richText a:hover {
  text-decoration: underline;
}

/* ---------- 2.8 Text Emphasis ---------- */

.publicDocument__richText strong,
.publicDocument__richText b {
  font-weight: 600;
  color: #1e293b;
}

.publicDocument__richText em,
.publicDocument__richText i {
  font-style: italic;
  color: #64748b;
}

/* ---------- 2.9 Blockquotes ---------- */

.publicDocument__richText blockquote {
  border-left: 4px solid var(--jmkr-color-1);
  padding-left: 1rem;
  margin: 1rem 0;
  color: #475569;
  font-style: italic;
  background: #f8fafc;
  padding: 1rem;
  border-radius: 0 4px 4px 0;
}


/* ============================================
   3. Disclaimer
   ============================================ */

.publicDocument__disclaimer {
  font-size: 12px;
  line-height: 1.6;
  color: #475569;
}


/* ============================================
   4. Responsive Styles
   ============================================ */

@media screen and (max-width: 767px) {
  .publicDocument {
    padding: 17px;
  }
}


/* ============================================
   5. Legacy Aliases (Invoice Page)
   ============================================
   Backward compatibility for existing invoiceContentCard usage.
   These map the old class names to the new public document classes.
   ============================================ */

/* ---------- 5.1 Invoice Card Base ---------- */

#InvoicePage .invoiceContentCard {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 4px;
  padding: 17px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

#InvoicePage .invoiceContentCard--items {
  overflow: hidden;
}

#InvoicePage .invoiceContentCard--disclaimer {
  background: #f8fafc;
  border-style: dashed;
}

#InvoicePage .invoiceContentCard__sectionTitle {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 16px;
}

/* ---------- 5.2 Invoice Rich Text ---------- */

#InvoicePage .invoiceContentCard__richText {
  line-height: 1.7;
  color: #334155;
  font-size: 15px;
}

/* Headings */
#InvoicePage .invoiceContentCard__richText h1 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #0f172a;
  margin-top: 2rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--jmkr-color-1);
  line-height: 1.3;
}

#InvoicePage .invoiceContentCard__richText h1:first-child {
  margin-top: 0;
}

#InvoicePage .invoiceContentCard__richText h2 {
  font-size: 1.35rem;
  font-weight: 700;
  color: #1e293b;
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

#InvoicePage .invoiceContentCard__richText h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #334155;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

/* Paragraphs */
#InvoicePage .invoiceContentCard__richText p {
  margin-bottom: 1rem;
  line-height: 1.7;
}

/* Word Processor Classes */
#InvoicePage .invoiceContentCard__richText .p1,
#InvoicePage .invoiceContentCard__richText .p2,
#InvoicePage .invoiceContentCard__richText .p3,
#InvoicePage .invoiceContentCard__richText .p4 {
  margin-bottom: 0.25rem;
  line-height: 1.6;
}

#InvoicePage .invoiceContentCard__richText .s1,
#InvoicePage .invoiceContentCard__richText .s2,
#InvoicePage .invoiceContentCard__richText .s3,
#InvoicePage .invoiceContentCard__richText .s4 {
  font-weight: 600;
  color: var(--jmkr-color-1);
}

/* Lists */
#InvoicePage .invoiceContentCard__richText ul,
#InvoicePage .invoiceContentCard__richText ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}

#InvoicePage .invoiceContentCard__richText li {
  margin-bottom: 0.35rem;
  line-height: 1.6;
}

#InvoicePage .invoiceContentCard__richText li p {
  margin-bottom: 0.15rem;
}

/* Tables */
#InvoicePage .invoiceContentCard__richText table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
  font-size: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  overflow: hidden;
}

#InvoicePage .invoiceContentCard__richText th {
  background-color: #f8fafc;
  font-weight: 600;
  color: #1e293b;
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 2px solid #e2e8f0;
}

#InvoicePage .invoiceContentCard__richText td {
  padding: 0.65rem 1rem;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: top;
}

#InvoicePage .invoiceContentCard__richText tr:last-child td {
  border-bottom: none;
}

#InvoicePage .invoiceContentCard__richText tr:nth-child(even) {
  background-color: #f8fafc;
}

/* Links */
#InvoicePage .invoiceContentCard__richText a {
  color: var(--jmkr-color-1);
  text-decoration: none;
  font-weight: 500;
}

#InvoicePage .invoiceContentCard__richText a:hover {
  text-decoration: underline;
}

/* Text Emphasis */
#InvoicePage .invoiceContentCard__richText strong,
#InvoicePage .invoiceContentCard__richText b {
  font-weight: 600;
  color: #1e293b;
}

#InvoicePage .invoiceContentCard__richText em,
#InvoicePage .invoiceContentCard__richText i {
  font-style: italic;
  color: #64748b;
}

/* Blockquotes */
#InvoicePage .invoiceContentCard__richText blockquote {
  border-left: 4px solid var(--jmkr-color-1);
  padding-left: 1rem;
  margin: 1rem 0;
  color: #475569;
  font-style: italic;
  background: #f8fafc;
  padding: 1rem;
  border-radius: 0 4px 4px 0;
}

/* Disclaimer */
#InvoicePage .invoiceContentCard__disclaimer {
  font-size: 12px;
  line-height: 1.6;
  color: #475569;
}

/* Responsive */
@media screen and (max-width: 767px) {
  #InvoicePage .invoiceContentCard {
    padding: 17px;
  }
}

.publicPage {
  padding-top: 0px;
  background: white;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.07);
}


/* ============================================
   2. Page Layout
   ============================================ */

.publicPage #page {
  letter-spacing: 0.5px;
}

.publicPage .page900width {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}


/* ============================================
   3. Print Area
   ============================================ */

.publicPage #printArea {
  padding: 25px;
  padding-top: 15px;
}


/* ============================================
   4. Loading State
   ============================================ */

.publicPage #page #loading {
  text-align: center;
  padding: 17px;
  letter-spacing: 1.17px;
  font-size: 35px;
  font-weight: bold;
  opacity: 0.17;
}


/* ============================================
   5. Dividers
   ============================================ */

.publicPage .line {
  border-top: 1px dotted var(--jmkr-color-1);
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.07);
  margin: 5px;
  margin-top: 15px;
  margin-bottom: 0px;
}

.publicPage #lineup {
  border-top: 2px solid var(--jmkr-color-1);
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.17);
}


/* ============================================
   6. Inline Links
   ============================================ */

.publicPage .inlineLink {
  font-size: 100%;
}


/* ============================================
   7. Brand Signature
   ============================================ */

.publicPage #signature {
  letter-spacing: 1.35px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: right;
  padding: 11px;
  color: white;
  font-size: 13px;
  padding-top: 7px;
  padding-bottom: 17px;
}

.publicPage #signature b {
  font-size: 25px;
}


/* ============================================
   8. PDF Viewer
   ============================================ */

.publicPage .pdfViewer {
  padding: 5px;
  border: 2px solid #ccc;
  width: 100%;
  padding-bottom: 56.25%;
  cursor: pointer;
  position: relative;
}

.publicPage .pdfViewer object {
  position: absolute;
  top: 5px;
  left: 5px;
  width: calc(100% - 5px*2);
  height: calc(100% - 5px*2);
  pointer-events: none;
}


/* ============================================
   9. File Download
   ============================================ */

.publicPage .fileDownload {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  padding: 12.5px;
  font-size: 16px;
  font-weight: 500;
}

.publicPage .fileDownload .icon {
  color: var(--jmkr-color-1);
  font-size: 24px;
  margin-right: 10px;
}


/* ============================================
   10. Rich Text Content (#description)
   ============================================
   Generic rich text styling for content areas.
   Consider using .publicDocument__richText instead
   for new implementations.
   ============================================ */

.publicPage #description {
  line-height: 1.7;
  font-size: 1.17rem;
  color: #333;
  overflow: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  border-radius: 5px;
  padding-top: 15px;
  padding-bottom: 15px;
}

.publicPage #description .page,
.publicPage #description .column {
  padding: 0px !important;
}

.publicPage #description h1,
.publicPage #description h2,
.publicPage #description h3,
.publicPage #description h4,
.publicPage #description h5,
.publicPage #description h6 {
  margin-bottom: 1.5rem;
  font-weight: bold;
  line-height: 1.2;
}

.publicPage #description p {
  margin-bottom: 1.5rem;
  line-height: 1.8;
}

.publicPage #description ul,
.publicPage #description ol {
  margin-bottom: 1.5rem;
  padding-left: 1.7rem;
}

.publicPage #description li {
  margin-bottom: 0.75rem;
  line-height: 1.6;
}

.publicPage #description blockquote {
  margin: 0 0 1.5rem;
  padding: 0 1.5rem;
  border-left: 4px solid #ccc;
  color: #555;
  font-style: italic;
}

.publicPage #description figure {
  margin: 0 0 1.5rem;
  text-align: center;
}

.publicPage #description figcaption {
  font-size: 0.9rem;
  color: #666;
  margin-top: 0.5rem;
}

.publicPage #description pre {
  margin-bottom: 1.5rem;
  padding: 1rem;
  background-color: #f7f7f7;
  border-radius: 5px;
  overflow-x: auto;
  white-space: pre-wrap;
}

.publicPage #description code {
  font-family: 'Courier New', Courier, monospace;
  background-color: #f0f0f0;
  padding: 0.2rem 0.4rem;
  border-radius: 3px;
}

.publicPage #description dl {
  margin-bottom: 1.5rem;
}

.publicPage #description dt {
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.publicPage #description dd {
  margin-bottom: 1rem;
  margin-left: 1.5rem;
}

.publicPage #description img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 1.5rem;
}

.publicPage #description table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
}

.publicPage #description th,
.publicPage #description td {
  padding: 0.75rem;
  border: 1px solid #ddd;
  text-align: left;
}

.publicPage #description th {
  background-color: #f9f9f9;
  font-weight: bold;
}

.publicPage #description a {
  color: var(--jmkr-color-1);
  text-decoration: none;
  font-weight: 500;
}

.publicPage #description a:hover {
  text-decoration: underline;
}

.publicPage #description hr {
  border: 0;
  border-top: 1px solid #ccc;
  margin: 2rem 0;
}

.publicPage #description em {
  font-style: italic;
}

.publicPage #description strong {
  font-weight: bold;
}

.publicPage #description sup,
.publicPage #description sub {
  font-size: 0.8rem;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

.publicPage #description sup {
  top: -0.5em;
}

.publicPage #description sub {
  bottom: -0.25em;
}

.publicPage #description form {
  margin-bottom: 1rem;
}

.publicPage #description input,
.publicPage #description textarea,
.publicPage #description select {
  width: 100%;
  padding: 0.5rem;
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.publicPage #description button {
  padding: 0.5rem 1rem;
  background-color: var(--jmkr-color-1);
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.publicPage #description button:hover {
  opacity: 0.9;
}


/* ============================================
   11. Title
   ============================================ */

.publicPage #title {
  font-size: 24px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
}


/* ============================================
   12. Print Label
   ============================================ */

.publicPage #printLabel {
  float: right;
  cursor: pointer;
  padding: 7.5px;
  font-size: 17px;
  opacity: 0.7;
}

.publicPage #printLabel:hover {
  opacity: 1;
}


/* ============================================
   13. Responsive Styles
   ============================================ */

@media screen and (max-width: 767px) {
  .publicPage #printArea {
    padding: 15px;
    padding-top: 10px;
  }
}

@media print {
  .publicPage #printLabel {
    display: none;
  }
}


/* ============================================
   14. Legacy Alias (#InvoicePage)
   ============================================
   For backward compatibility, #InvoicePage inherits
   all .publicPage styles. New code should use
   class="publicPage" instead.
   ============================================ */

#InvoicePage {
  padding-top: 0px;
  background: white;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.07);
}

#InvoicePage #page {
  letter-spacing: 0.5px;
}

#InvoicePage #printArea {
  padding: 25px;
  padding-top: 15px;
}

#InvoicePage .inlineLink {
  font-size: 100%;
}

#InvoicePage #page #loading {
  text-align: center;
  padding: 17px;
  letter-spacing: 1.17px;
  font-size: 35px;
  font-weight: bold;
  opacity: 0.17;
}

#InvoicePage #signature {
  letter-spacing: 1.35px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: right;
  padding: 11px;
  color: white;
  font-size: 13px;
  padding-top: 7px;
  padding-bottom: 17px;
}

#InvoicePage #signature b {
  font-size: 25px;
}

#InvoicePage .line {
  border-top: 1px dotted var(--jmkr-color-1);
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.07);
  margin: 5px;
  margin-top: 15px;
  margin-bottom: 0px;
}

#InvoicePage #lineup {
  border-top: 2px solid var(--jmkr-color-1);
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.17);
}

#InvoicePage .pdfViewer {
  padding: 5px;
  border: 2px solid #ccc;
  width: 100%;
  padding-bottom: 56.25%;
  cursor: pointer;
  position: relative;
}

#InvoicePage .pdfViewer object {
  position: absolute;
  top: 5px;
  left: 5px;
  width: calc(100% - 5px*2);
  height: calc(100% - 5px*2);
  pointer-events: none;
}

/* Legacy: .invoiceFileDownload -> .fileDownload */
#InvoicePage .invoiceFileDownload {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  padding: 12.5px;
  font-size: 16px;
  font-weight: 500;
}

#InvoicePage .invoiceFileDownload .icon {
  color: var(--jmkr-color-1);
  font-size: 24px;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  #InvoicePage #printArea {
    padding: 15px;
    padding-top: 10px;
  }
}

#jmkrClient .settingsPage {
    max-width: 100%;
}


/* ============================================
   2. Section Component
   ============================================ */

/* ---------- 2.1 Base Section ---------- */

#jmkrClient .settingsSection {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 5px;
    padding: 1em;
    margin-bottom: 1em;
}

/* ---------- 2.2 Section Header ---------- */

#jmkrClient .settingsSection__header {
    display: flex;
    align-items: flex-start;
    gap: 1em;
    margin-bottom: 1em;
}

#jmkrClient .settingsSection__header:last-child {
    margin-bottom: 0;
}

#jmkrClient .settingsSection__title h3 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 600;
    color: #0f172a;
}

#jmkrClient .settingsSection__subtitle {
    margin: 0;
    font-size: 0.9rem;
    color: #64748b;
}

/* ---------- 2.3 Section Icon ---------- */

#jmkrClient .settingsSection__icon {
    width: 40px;
    height: 40px;
    border-radius: 5px;
    background: linear-gradient(135deg, var(--jmkr-color-1) 0%, color-mix(in srgb, var(--jmkr-color-1) 80%, #000) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 20px;
    flex-shrink: 0;
}


/* ============================================
   3. Settings Cards Grid
   ============================================ */

#jmkrClient .settingsCards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1em;
}

#jmkrClient .settingsCard {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 5px;
    padding: 1em;
}

#jmkrClient .settingsCard label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    margin-bottom: 10px;
}

#jmkrClient .settingsCard__inputGroup {
    display: flex;
    align-items: center;
    gap: 8px;
}

#jmkrClient .settingsCard__inputGroup input {
    flex: 1;
    padding: 10px 12px !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    text-align: center;
}

#jmkrClient .settingsCard__inputGroup input:focus {
    border-color: var(--jmkr-color-1) !important;
    outline: none;
}

#jmkrClient .settingsCard__unit {
    font-size: 0.85rem;
    font-weight: 500;
    color: #94a3b8;
    min-width: 30px;
}

#jmkrClient .settingsCard__hint {
    margin: 10px 0 0 0;
    font-size: 0.8rem;
    color: #94a3b8;
}


/* ============================================
   4. Settings Table
   ============================================ */

/* ---------- 4.1 Table Structure ---------- */

#jmkrClient .settingsTable {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 1em;
}

#jmkrClient .settingsTable__header {
    display: grid;
    gap: 12px;
    padding: 12px 16px;
    background: #f1f5f9;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

#jmkrClient .settingsTable__header .settingsTable__cell {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
}

#jmkrClient .settingsTable__row {
    display: grid;
    gap: 12px;
    padding: 12px 16px;
    align-items: center;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: #ffffff;
    transition: background 150ms ease;
}

#jmkrClient .settingsTable__row:last-child {
    border-bottom: none;
}

#jmkrClient .settingsTable__row:hover {
    background: #f8fafc;
}

/* ---------- 4.2 Table Cells ---------- */

#jmkrClient .settingsTable__cell input {
    width: 100%;
    padding: 8px 10px !important;
    font-size: 0.9rem !important;
    border: 1px solid rgba(15, 23, 42, 0.1) !important;
    border-radius: 5px !important;
    background: #ffffff !important;
}

#jmkrClient .settingsTable__cell input:focus {
    border-color: var(--jmkr-color-1) !important;
    outline: none;
    background: #ffffff !important;
}

/* ---------- 4.3 Remove Button ---------- */

#jmkrClient .settingsTable__removeBtn {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 5px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 150ms ease;
}

#jmkrClient .settingsTable__removeBtn:hover {
    background: #fef2f2;
    color: #ef4444;
}


/* ============================================
   5. Settings Add Button
   ============================================ */

#jmkrClient .settingsAddBtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #64748b;
    background: #f1f5f9;
    border: 1px dashed rgba(15, 23, 42, 0.2);
    border-radius: 5px;
    cursor: pointer;
    transition: all 150ms ease;
}

#jmkrClient .settingsAddBtn:hover {
    background: #e2e8f0;
    border-color: rgba(15, 23, 42, 0.3);
    color: #475569;
}

#jmkrClient .settingsAddBtn i {
    font-size: 14px;
}


/* ============================================
   6. Settings Footer
   ============================================ */

#jmkrClient .settingsFooter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
    padding-top: 1em;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    margin-top: 0.5em;
}

#jmkrClient .settingsFooter__hint {
    margin: 0;
    font-size: 0.85rem;
    color: #94a3b8;
}


/* ============================================
   7. Settings Field
   ============================================ */

#jmkrClient .settingsField {
    margin-bottom: 1.5em;
}

#jmkrClient .settingsField:last-child {
    margin-bottom: 0;
}

#jmkrClient .settingsField__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
    margin-bottom: 0.75em;
}

#jmkrClient .settingsField__label {
    display: flex;
    align-items: center;
    gap: 0.5em;
    font-size: 0.9rem;
    font-weight: 600;
    color: #1e293b;
}

#jmkrClient .settingsField__label i {
    font-size: 14px;
    color: var(--jmkr-color-1);
}

#jmkrClient .settingsField__hint {
    font-size: 0.8rem;
    color: #94a3b8;
}


/* ============================================
   8. Settings Tree
   ============================================ */

/* ---------- 8.1 Base Tree ---------- */

#jmkrClient .settingsTree {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 5px;
    background: #fafbfc;
    margin-bottom: 1em;
    overflow: hidden;
}

#jmkrClient .settingsTree:focus {
    outline: none;
    border-color: var(--jmkr-color-1);
}

/* ---------- 8.2 Tree Hint ---------- */

#jmkrClient .settingsTree__hint {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: #f1f5f9;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    font-size: 0.8rem;
    color: #64748b;
}

#jmkrClient .settingsTree__hint i {
    font-size: 14px;
    color: #94a3b8;
}

#jmkrClient .settingsTree__hint kbd {
    display: inline-block;
    padding: 2px 6px;
    font-size: 0.75rem;
    font-family: inherit;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.15);
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* ---------- 8.3 Tree List ---------- */

#jmkrClient .settingsTree__list {
    padding: 8px;
}

/* ---------- 8.4 Tree Empty State ---------- */

#jmkrClient .settingsTree__empty {
    padding: 40px 20px;
    text-align: center;
}

#jmkrClient .settingsTree__emptyIcon {
    font-size: 32px;
    color: #cbd5e1;
    margin-bottom: 12px;
}

#jmkrClient .settingsTree__emptyText {
    font-size: 1rem;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 4px;
}

#jmkrClient .settingsTree__emptyHint {
    font-size: 0.85rem;
    color: #94a3b8;
}


/* ============================================
   9. Settings Tree Node
   ============================================ */

/* ---------- 9.1 Node Base ---------- */

#jmkrClient .settingsTreeNode {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-left: calc(1em + var(--depth, 0) * 24px);
    margin: 2px 0;
    border-radius: 5px;
    background: #ffffff;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 150ms ease;
}

#jmkrClient .settingsTreeNode:hover {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.08);
}

#jmkrClient .settingsTreeNode.selected {
    background: color-mix(in srgb, var(--jmkr-color-1) 8%, transparent);
    border-color: color-mix(in srgb, var(--jmkr-color-1) 25%, transparent);
}

/* ---------- 9.2 Node Content ---------- */

#jmkrClient .settingsTreeNode__content {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}

#jmkrClient .settingsTreeNode__icon {
    font-size: 16px;
    color: #94a3b8;
    flex-shrink: 0;
}

#jmkrClient .settingsTreeNode.selected .settingsTreeNode__icon {
    color: var(--jmkr-color-1);
}

#jmkrClient .settingsTreeNode__name {
    font-size: 0.9rem;
    font-weight: 500;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---------- 9.3 Node Actions ---------- */

#jmkrClient .settingsTreeNode__actions {
    display: flex;
    align-items: center;
    gap: 4px;
    opacity: 0;
    transition: opacity 150ms ease;
}

#jmkrClient .settingsTreeNode:hover .settingsTreeNode__actions,
#jmkrClient .settingsTreeNode.selected .settingsTreeNode__actions {
    opacity: 1;
}

#jmkrClient .settingsTreeNode__btn {
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 150ms ease;
}

#jmkrClient .settingsTreeNode__btn:hover {
    background: #e2e8f0;
    color: #475569;
}

#jmkrClient .settingsTreeNode__btn--danger:hover {
    background: #fef2f2;
    color: #ef4444;
}

#jmkrClient .settingsTreeNode__btn i {
    font-size: 14px;
}

/* ---------- 9.4 Node Children ---------- */

#jmkrClient .settingsTreeNode__children {
    position: relative;
}

#jmkrClient .settingsTreeNode__children::before {
    content: '';
    position: absolute;
    left: 23px;
    top: 0;
    bottom: 8px;
    width: 1px;
    background: rgba(15, 23, 42, 0.1);
}


/* ============================================
   10. Selectize Overrides
   ============================================ */

#jmkrClient .settingsPage .selectize-control {
    margin-bottom: 0;
}

#jmkrClient .settingsPage .selectize-input {
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: 8px !important;
    padding: 8px 10px !important;
    min-height: 44px;
    height: auto;
    background: #fafbfc !important;
}

#jmkrClient .settingsPage .selectize-input.focus {
    border-color: var(--jmkr-color-1) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--jmkr-color-1) 15%, transparent) !important;
}

#jmkrClient .settingsPage .selectize-input .item {
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.15) !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    padding-right: 20px !important;
    margin: 3px !important;
    font-size: 0.85rem;
    font-weight: 500;
    color: #334155 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

#jmkrClient .settingsPage .selectize-input .item .remove {
    border-left: none !important;
    font-size: 16px;
    color: #94a3b8;
    margin-left: 6px;
}

#jmkrClient .settingsPage .selectize-input .item .remove:hover {
    color: #ef4444;
}

#jmkrClient .settingsPage .selectize-dropdown {
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 40px -10px rgba(15, 23, 42, 0.2) !important;
    margin-top: 4px;
}

#jmkrClient .settingsPage .selectize-dropdown .option {
    padding: 10px 12px !important;
    font-size: 0.9rem;
}

#jmkrClient .settingsPage .selectize-dropdown .option.active {
    background: color-mix(in srgb, var(--jmkr-color-1) 10%, transparent) !important;
    color: #1e293b;
}


/* ============================================
   11. Form Fields
   ============================================ */

#jmkrClient .settingsPage .field > label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 8px;
}

#jmkrClient .settingsPage .field > input,
#jmkrClient .settingsPage .field > textarea {
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    font-size: 0.95rem !important;
    background: #fafbfc !important;
    transition: all 150ms ease;
}

#jmkrClient .settingsPage .field > input:focus,
#jmkrClient .settingsPage .field > textarea:focus {
    border-color: var(--jmkr-color-1) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--jmkr-color-1) 15%, transparent) !important;
    outline: none;
}

#jmkrClient .settingsPage .field > input::placeholder,
#jmkrClient .settingsPage .field > textarea::placeholder {
    color: #94a3b8;
}


/* ============================================
   12. Link Items
   ============================================ */

#jmkrClient .settingsLinkItem {
    display: flex;
    align-items: flex-start;
    gap: 1em;
    padding: 1em;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    margin-bottom: 0.75em;
}

#jmkrClient .settingsLinkItem__fields {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
}

#jmkrClient .settingsLinkItem__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#jmkrClient .settingsLinkItem__field.full {
    grid-column: 1 / -1;
}

#jmkrClient .settingsLinkItem__field label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #64748b;
}

#jmkrClient .settingsLinkItem__field input,
#jmkrClient .settingsLinkItem__field textarea {
    padding: 10px 12px !important;
    border: 1px solid rgba(15, 23, 42, 0.1) !important;
    border-radius: 6px !important;
    font-size: 0.9rem !important;
    background: #ffffff !important;
}

#jmkrClient .settingsLinkItem__field input:focus,
#jmkrClient .settingsLinkItem__field textarea:focus {
    border-color: var(--jmkr-color-1) !important;
    outline: none;
}

#jmkrClient .settingsLinkItem__remove {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 150ms ease;
    flex-shrink: 0;
}

#jmkrClient .settingsLinkItem__remove:hover {
    background: #fef2f2;
    color: #ef4444;
}


/* ============================================
   13. Accordion Component
   ============================================ */

/* ---------- 13.1 Accordion Base ---------- */

#jmkrClient .settingsAccordion.ui.accordion {
    display: flex;
    flex-direction: column;
    gap: 0.75em;
    box-shadow: none;
    border: none;
    background: transparent;
}

#jmkrClient .settingsAccordion.ui.accordion .settingsAccordion__item {
    margin: 0;
}

#jmkrClient .settingsAccordion.ui.accordion .title {
    border: none;
    color: inherit;
}

#jmkrClient .settingsAccordion.ui.accordion .title:not(.ui) {
    font-family: inherit;
}

#jmkrClient .settingsAccordion.ui.accordion .content {
    padding: 0;
}

/* ---------- 13.2 Accordion Item ---------- */

#jmkrClient .settingsAccordion__item {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    overflow: hidden;
    transition: all 150ms ease;
}

#jmkrClient .settingsAccordion__item:hover {
    border-color: rgba(15, 23, 42, 0.15);
}

#jmkrClient .settingsAccordion__item.active {
    border-color: var(--jmkr-color-1);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

/* Active state for the item when title is active */
#jmkrClient .settingsAccordion__item:has(.title.active) {
    border-color: var(--jmkr-color-1);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

/* Allow selectize tags and dropdowns to overflow the accordion when expanded */
#jmkrClient .settingsAccordion__item:has(.settingsAccordion__content.active) {
    overflow: visible;
}

/* ---------- 13.3 Accordion Header ---------- */

#jmkrClient .settingsAccordion__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    cursor: pointer;
    transition: background 150ms ease;
}

#jmkrClient .settingsAccordion__header:hover {
    background: #f1f5f9;
}

#jmkrClient .settingsAccordion__icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--jmkr-color-1) 0%, color-mix(in srgb, var(--jmkr-color-1) 80%, #000) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 16px;
    flex-shrink: 0;
}

#jmkrClient .settingsAccordion__info {
    flex: 1;
    min-width: 0;
}

#jmkrClient .settingsAccordion__title {
    font-size: 0.95rem;
    font-weight: 600;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

#jmkrClient .settingsAccordion__badge {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 2px 8px;
    background: #e2e8f0;
    color: #475569;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

#jmkrClient .settingsAccordion__subtitle {
    font-size: 0.8rem;
    color: #64748b;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#jmkrClient .settingsAccordion__chevron {
    font-size: 18px;
    color: #94a3b8;
    transition: transform 200ms ease;
    flex-shrink: 0;
}

#jmkrClient .settingsAccordion__item.active .settingsAccordion__chevron,
#jmkrClient .settingsAccordion__header.active .settingsAccordion__chevron {
    transform: rotate(180deg);
    color: var(--jmkr-color-1);
}

/* ---------- 13.4 Accordion Content ---------- */

#jmkrClient .settingsAccordion__content {
    padding: 1em !important;
    background: #ffffff;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

/* Semantic UI controls visibility via .active class */
#jmkrClient .settingsAccordion.ui.accordion .settingsAccordion__content {
    display: none;
}

#jmkrClient .settingsAccordion.ui.accordion .settingsAccordion__content.active {
    display: block;
}

/* ---------- 13.5 Accordion Toggles ---------- */

#jmkrClient .settingsAccordion__toggles {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
}

#jmkrClient .settingsAccordion__toggles .ui.toggle.checkbox {
    min-height: auto;
}

#jmkrClient .settingsAccordion__toggles .ui.toggle.checkbox label {
    padding-left: 3.5em;
    font-size: 0.85rem;
}


/* ============================================
   14. List Component
   ============================================ */

/* ---------- 14.1 List Base ---------- */

#jmkrClient .settingsList {
    display: flex;
    flex-direction: column;
    gap: 0.75em;
}

/* ---------- 14.2 List Item ---------- */

#jmkrClient .settingsList__item {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    overflow: hidden;
    transition: all 150ms ease;
}

#jmkrClient .settingsList__item:hover {
    border-color: rgba(15, 23, 42, 0.15);
}

#jmkrClient .settingsList__row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
}

#jmkrClient .settingsList__icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--jmkr-color-1) 0%, color-mix(in srgb, var(--jmkr-color-1) 80%, #000) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 16px;
    flex-shrink: 0;
}

#jmkrClient .settingsList__info {
    flex: 1;
    min-width: 0;
}

#jmkrClient .settingsList__title {
    font-size: 0.95rem;
    font-weight: 600;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

#jmkrClient .settingsList__subtitle {
    font-size: 0.8rem;
    color: #64748b;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---------- 14.3 List Actions ---------- */

#jmkrClient .settingsList__actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

#jmkrClient .settingsList__actionBtn {
    background: #f1f5f9;
    border: none;
    border-radius: 6px;
    padding: 8px;
    cursor: pointer;
    color: #64748b;
    transition: all 150ms ease;
}

#jmkrClient .settingsList__actionBtn:hover {
    background: #e2e8f0;
    color: #475569;
}

#jmkrClient .settingsList__actionBtn--danger {
    background: #fef2f2;
    color: #dc2626;
}

#jmkrClient .settingsList__actionBtn--danger:hover {
    background: #fee2e2;
    color: #b91c1c;
}

#jmkrClient .settingsList__detail {
    padding: 0 16px 16px 16px;
    font-size: 0.85rem;
    color: #64748b;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    background: #fff;
}

#jmkrClient .settingsList__detail > div {
    padding-top: 12px;
}


/* ============================================
   15. Profile Header
   ============================================ */

#jmkrClient .settingsProfileHeader {
    display: flex;
    align-items: center;
    gap: 1.5em;
    background: linear-gradient(135deg, var(--jmkr-color-1) 0%, color-mix(in srgb, var(--jmkr-color-1) 70%, #000) 100%);
    border-radius: 12px;
    padding: 1.5em;
    color: #ffffff;
}

#jmkrClient .settingsProfileHeader__portrait {
    flex-shrink: 0;
}

#jmkrClient .settingsProfileHeader__portrait img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, 0.3);
}

#jmkrClient .settingsProfileHeader__placeholder {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid rgba(255, 255, 255, 0.3);
}

#jmkrClient .settingsProfileHeader__placeholder i {
    font-size: 40px;
    opacity: 0.8;
}

#jmkrClient .settingsProfileHeader__info {
    flex: 1;
    min-width: 0;
}

#jmkrClient .settingsProfileHeader__name {
    margin: 0 0 8px 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: #ffffff;
}

#jmkrClient .settingsProfileHeader__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    font-size: 0.9rem;
    opacity: 0.9;
}

#jmkrClient .settingsProfileHeader__meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}

#jmkrClient .settingsProfileHeader__meta i {
    font-size: 14px;
}

#jmkrClient .settingsProfileHeader__actions {
    margin-top: 1em;
}

#jmkrClient .settingsProfileHeader__actions .settingsAddBtn {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
    color: #ffffff;
}

#jmkrClient .settingsProfileHeader__actions .settingsAddBtn:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.4);
    color: #ffffff;
}


/* ============================================
   16. Specialist Cards
   ============================================ */

#jmkrClient .settingsSpecialist {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 1em;
    border-radius: 10px;
    font-size: 0.85rem;
    font-weight: 500;
    text-align: center;
    transition: all 150ms ease;
}

#jmkrClient .settingsSpecialist i {
    font-size: 20px;
}

#jmkrClient .settingsSpecialist--enabled {
    background: rgba(var(--jmkr-color-1-rgb, 102, 126, 234), 0.1);
    color: var(--jmkr-color-1);
    border: 1px solid rgba(var(--jmkr-color-1-rgb, 102, 126, 234), 0.25);
}

#jmkrClient .settingsSpecialist--disabled {
    background: #f8fafc;
    color: #94a3b8;
    border: 1px solid rgba(15, 23, 42, 0.08);
}


/* ============================================
   17. Section Danger Variant
   ============================================ */

#jmkrClient .settingsSection--danger {
    border-color: rgba(220, 38, 38, 0.15);
}

#jmkrClient .settingsSection--danger .settingsSection__header {
    padding-bottom: 1em;
    border-bottom: 1px solid rgba(220, 38, 38, 0.1);
    margin-bottom: 1em;
}

#jmkrClient .settingsSection__icon--danger {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
}


/* ============================================
   18. Job Card Component
   ============================================
   Reusable card component for job/task items with progress tracking.
   ============================================ */

/* ---------- 18.1 Job Card Base ---------- */

#jmkrClient .settingsJobCardList {
    display: grid;
    gap: 1em;
}

#jmkrClient .settingsJobCard {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1em;
    padding: 1.25em;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 5px;
    overflow: hidden;
}

#jmkrClient .settingsJobCard::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--jmkr-color-1) 0%, color-mix(in srgb, var(--jmkr-color-1) 70%, #000) 100%);
}

/* ---------- 18.2 Job Card Header ---------- */

#jmkrClient .settingsJobCard__header {
    display: flex;
    align-items: flex-start;
    gap: 1em;
}

#jmkrClient .settingsJobCard__icon {
    width: 44px;
    height: 44px;
    border-radius: 5px;
    background: color-mix(in srgb, var(--jmkr-color-1) 12%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--jmkr-color-1);
    font-size: 20px;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--jmkr-color-1) 15%, transparent);
}

#jmkrClient .settingsJobCard__heading {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

#jmkrClient .settingsJobCard__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
}

#jmkrClient .settingsJobCard__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-size: 0.8rem;
    color: #64748b;
}

#jmkrClient .settingsJobCard__metaItem {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

#jmkrClient .settingsJobCard__metaValue {
    font-weight: 600;
    color: #0f172a;
}

#jmkrClient .settingsJobCard__metaItem--active {
    padding: 2px 8px;
    background: color-mix(in srgb, var(--jmkr-color-1) 12%, transparent);
    color: var(--jmkr-color-1);
    border-radius: 4px;
    font-weight: 600;
}

#jmkrClient .settingsJobCard__badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-radius: 4px;
    background: color-mix(in srgb, var(--jmkr-color-1) 12%, transparent);
    color: var(--jmkr-color-1);
}

/* ---------- 18.3 Job Card Progress ---------- */

#jmkrClient .settingsJobCard__progress {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#jmkrClient .settingsJobCard__progressTrack {
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
    overflow: hidden;
}

#jmkrClient .settingsJobCard__progressFill {
    height: 100%;
    background: linear-gradient(90deg, var(--jmkr-color-1) 0%, color-mix(in srgb, var(--jmkr-color-1) 70%, #000) 100%);
    border-radius: 3px;
    transition: width 300ms ease;
}

#jmkrClient .settingsJobCard__progressLabel {
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    color: #64748b;
}

/* ---------- 18.4 Job Card Sections ---------- */

#jmkrClient .settingsJobCard__section {
    padding-top: 1em;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

#jmkrClient .settingsJobCard__sectionTitle {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    margin-bottom: 0.75em;
}

#jmkrClient .settingsJobCard__notes {
    font-size: 0.85rem;
    color: #64748b;
    line-height: 1.5;
    white-space: pre-wrap;
}

#jmkrClient .settingsJobCard__footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 1em;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

/* ---------- 18.5 Job Card Artifacts ---------- */

#jmkrClient .settingsJobCard__artifactList {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

#jmkrClient .settingsJobCard__artifact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75em;
    background: #f8fafc;
    border-radius: 6px;
    font-size: 0.85rem;
}

#jmkrClient .settingsJobCard__artifactHeader {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334155;
    font-weight: 500;
}

#jmkrClient .settingsJobCard__artifactMeta {
    font-size: 0.75rem;
    color: #94a3b8;
    margin-left: auto;
}

#jmkrClient .settingsJobCard__artifactActions {
    display: flex;
    gap: 8px;
    margin-left: 12px;
}

#jmkrClient .settingsJobCard__artifactActions a {
    color: var(--jmkr-color-1);
    font-weight: 500;
}

#jmkrClient .settingsJobCard__artifactActions a:hover {
    text-decoration: underline;
}

#jmkrClient .settingsJobCard__artifactPending {
    color: #94a3b8;
    font-style: italic;
}

/* ---------- 18.6 Job Card Status Variants ---------- */

/* Completed */
#jmkrClient .settingsJobCard--completed::before {
    background: linear-gradient(90deg, #10b981 0%, #059669 100%);
}

#jmkrClient .settingsJobCard--completed .settingsJobCard__badge {
    background: #ecfdf5;
    color: #059669;
}

#jmkrClient .settingsJobCard--completed .settingsJobCard__progressFill {
    background: linear-gradient(90deg, #10b981 0%, #059669 100%);
}

/* Failed */
#jmkrClient .settingsJobCard--failed::before {
    background: linear-gradient(90deg, #ef4444 0%, #dc2626 100%);
}

#jmkrClient .settingsJobCard--failed .settingsJobCard__badge {
    background: #fef2f2;
    color: #dc2626;
}

#jmkrClient .settingsJobCard--failed .settingsJobCard__progressFill {
    background: linear-gradient(90deg, #ef4444 0%, #dc2626 100%);
}

/* Cancelled */
#jmkrClient .settingsJobCard--cancelled::before {
    background: linear-gradient(90deg, #94a3b8 0%, #64748b 100%);
}

#jmkrClient .settingsJobCard--cancelled .settingsJobCard__badge {
    background: #f1f5f9;
    color: #64748b;
}


/* ============================================
   19. Button Variants
   ============================================
   Secondary/ghost button for use within settings sections.
   ============================================ */

#jmkrClient .settingsBtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 5px;
    cursor: pointer;
    transition: all 150ms ease;
    width: auto;
    height: auto;
    white-space: nowrap;
}

#jmkrClient .settingsBtn:hover {
    background: #e2e8f0;
    border-color: rgba(15, 23, 42, 0.15);
    color: #334155;
}

#jmkrClient .settingsBtn i {
    font-size: 14px;
}

#jmkrClient .settingsBtn--danger {
    color: #dc2626;
    background: #fef2f2;
    border-color: rgba(220, 38, 38, 0.15);
}

#jmkrClient .settingsBtn--danger:hover {
    background: #fee2e2;
    border-color: rgba(220, 38, 38, 0.25);
    color: #b91c1c;
}

#jmkrClient .settingsBtn.disabled,
#jmkrClient .settingsBtn:disabled {
    opacity: 0.45;
    pointer-events: none;
    cursor: not-allowed;
}

#jmkrClient .settingsBtn--primary {
    color: #ffffff;
    background: linear-gradient(135deg, var(--jmkr-color-1) 0%, color-mix(in srgb, var(--jmkr-color-1) 80%, #000) 100%);
    border-color: transparent;
}

#jmkrClient .settingsBtn--primary:hover {
    background: linear-gradient(135deg, color-mix(in srgb, var(--jmkr-color-1) 90%, #000) 0%, color-mix(in srgb, var(--jmkr-color-1) 70%, #000) 100%);
    border-color: transparent;
    color: #ffffff;
}


/* ============================================
   20. Info Box
   ============================================
   Informational callout for guides, tips, and instructions.
   ============================================ */

#jmkrClient .settingsInfo {
    background: #f0f9ff;
    border: 1px solid rgba(14, 165, 233, 0.2);
    border-radius: 5px;
    padding: 1em;
    margin-bottom: 1em;
}

#jmkrClient .settingsInfo__header {
    display: flex;
    align-items: flex-start;
    gap: 0.75em;
    margin-bottom: 0.75em;
}

#jmkrClient .settingsInfo__icon {
    width: 28px;
    height: 28px;
    border-radius: 5px;
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 14px;
    flex-shrink: 0;
}

#jmkrClient .settingsInfo__title {
    font-size: 0.95rem;
    font-weight: 600;
    color: #0c4a6e;
    margin: 0;
    line-height: 28px;
}

#jmkrClient .settingsInfo__content {
    color: #0369a1;
    font-size: 0.85rem;
    line-height: 1.5;
}

#jmkrClient .settingsInfo__content p {
    margin: 0 0 0.5em 0;
}

#jmkrClient .settingsInfo__content p:last-child {
    margin-bottom: 0;
}

#jmkrClient .settingsInfo__list {
    margin: 0.5em 0 0 0;
    padding-left: 1.25em;
}

#jmkrClient .settingsInfo__list li {
    margin-bottom: 0.35em;
}

#jmkrClient .settingsInfo__list li:last-child {
    margin-bottom: 0;
}

#jmkrClient .settingsInfo__content code {
    background: rgba(14, 165, 233, 0.1);
    padding: 1px 5px;
    border-radius: 3px;
    font-size: 0.8rem;
}


/* ============================================
   21. Responsive Styles
   ============================================ */

@media screen and (max-width: 640px) {
    #jmkrClient .settingsCards {
        grid-template-columns: 1fr;
    }

    #jmkrClient .settingsFooter {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    #jmkrClient .settingsLinkItem__fields {
        grid-template-columns: 1fr;
    }

    #jmkrClient .settingsLinkItem__field.full {
        grid-column: auto;
    }
}

@media (max-width: 600px) {
    #jmkrClient .settingsProfileHeader {
        flex-direction: column;
        text-align: center;
    }

    #jmkrClient .settingsProfileHeader__meta {
        justify-content: center;
    }

    #jmkrClient .settingsProfileHeader__actions {
        text-align: center;
    }
}


/* ============================================
   22. Browser Profile (Spec 968)
   Pattern source: settingsList (section 14), settingsCard (section 3)
   ============================================ */

#jmkrClient .settingsBadge {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: 2px 8px;
    border-radius: 4px;
}

#jmkrClient .settingsBadge--success {
    background: #f0fdf4;
    color: #16a34a;
}

#jmkrClient .settingsBadge--warning {
    background: #fffbeb;
    color: #d97706;
}

#jmkrClient .settingsBrowserDomain {
    display: inline-block;
    font-size: 0.78rem;
    padding: 3px 8px;
    border-radius: 4px;
    background: #f1f5f9;
    color: #475569;
    font-family: monospace;
    margin: 2px 4px 2px 0;
}

#jmkrClient .settingsBrowserDomain--credential {
    background: #fef3c7;
    color: #92400e;
    position: relative;
    padding-right: 36px;
}

#jmkrClient .settingsBrowserDomain__signin {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #1a73e8;
    opacity: 0;
    transition: opacity 150ms ease;
}

#jmkrClient .settingsBrowserDomain--credential:hover .settingsBrowserDomain__signin {
    opacity: 1;
}

#jmkrClient .settingsBrowserDomain__signin:hover {
    color: #0d47a1;
}

#jmkrClient .settingsBrowserDomain__remove {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 14px;
    color: #b45309;
    opacity: 0;
    transition: opacity 150ms ease;
}

#jmkrClient .settingsBrowserDomain--credential:hover .settingsBrowserDomain__remove {
    opacity: 1;
}

#jmkrClient .settingsBrowserDomain__remove:hover {
    color: #dc2626;
}

#jmkrClient .settingsBrowserStatus {
    padding: 16px 0;
    font-size: 0.9rem;
    color: #94a3b8;
}

#jmkrClient .settingsBrowserStatus i {
    animation: settingsSpin 1s linear infinite;
}

@keyframes settingsSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

#jmkrClient .settingsBrowserEmpty {
    text-align: center;
    padding: 32px 16px;
    color: #64748b;
}

#jmkrClient .settingsBrowserEmpty__icon {
    font-size: 36px;
    color: #cbd5e1;
    margin-bottom: 12px;
}

#jmkrClient .settingsBrowserEmpty p {
    margin: 0 0 8px;
    font-size: 0.95rem;
    font-weight: 500;
    color: #475569;
}

#jmkrClient .settingsBrowserEmpty__hint {
    font-size: 0.85rem;
    color: #94a3b8;
    margin-bottom: 16px;
}

#jmkrClient .settingsBrowserEmpty__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(135deg, var(--jmkr-color-1) 0%, color-mix(in srgb, var(--jmkr-color-1) 80%, #000) 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 150ms ease;
}

#jmkrClient .settingsBrowserEmpty__btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--jmkr-color-1) 30%, transparent);
}

#jmkrClient .settingsBrowserEmpty__btn i {
    font-size: 16px;
}


/* ============================================
   23. Interactive Browser Overlay (Spec 968)
   Pattern source: studioOverlay (studioPage.css:2730)
   + studioCinema (cinema.css:10, cinema.html:2)
   ============================================ */

/* -- 23.0 Overlay z-index (studioCinemaOverlay pattern, cinema.css:6) -- */
.interactiveBrowseOverlay {
    z-index: 10000;
}

/* -- 23.1 Container — dark bg (studioCinema pattern, cinema.css:10) -- */
.interactiveBrowse {
    background: var(--menu-color-1);
}

/* -- 23.2 Header — flex row, space-between (studioCinema__header, cinema.css:32) -- */
.interactiveBrowse__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: var(--menu-color-2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.interactiveBrowse__title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 1.1em;
    font-weight: 600;
}

.interactiveBrowse__title i {
    color: var(--jmkr-color-1);
    font-size: 1.2em;
}

.interactiveBrowse__headerActions {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1;
    margin-left: 20px;
}

/* -- 23.3 URL Bar — inside headerActions -- */
.interactiveBrowse__urlBar {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    padding: 6px 12px;
    background: var(--menu-color-3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    min-width: 0;
    transition: border-color 0.2s;
}

.interactiveBrowse__urlBar:focus-within {
    border-color: var(--jmkr-color-1);
}

.interactiveBrowse__urlInput {
    flex: 1;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    font-size: 0.9em !important;
    color: #fff !important;
    padding: 4px 0 !important;
    min-width: 0;
    box-shadow: none !important;
    font-family: 'SF Mono', Monaco, monospace;
}

.interactiveBrowse__urlInput::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.interactiveBrowse__urlGo {
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 6px;
    background: var(--jmkr-color-1);
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s;
}

.interactiveBrowse__urlGo:hover {
    transform: scale(1.05);
}

.interactiveBrowse__urlGo i {
    font-size: 13px;
    color: #ffffff;
}

/* -- 23.4 Header buttons (studioCinema__btn pattern, cinema.css:134) -- */
.interactiveBrowse__btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 0.85em;
    cursor: pointer;
    transition: all 0.2s;
}

.interactiveBrowse__btn:hover {
    background: rgba(255, 255, 255, 0.2);
}

.interactiveBrowse__btn.primary {
    background: var(--jmkr-color-1);
}

.interactiveBrowse__btn.primary:hover {
    transform: scale(1.02);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* -- 23.5 Close button (studioCinema__close, cinema.css:117) -- */
.interactiveBrowse__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e74c3c;
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s;
}

.interactiveBrowse__close:hover {
    background: #c0392b;
    transform: scale(1.05);
}

/* -- 23.5b Tab bar — multi-tab/popup support for OAuth flows.
   Sits between header and body. Only renders when >1 tab exists.
   Pattern source: Chrome browser tab bar (horizontal tabs, active highlight). -- */
.interactiveBrowse__tabBar {
    display: flex;
    align-items: stretch;
    background: #1a1a2e;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0 8px;
    gap: 2px;
    min-height: 32px;
    overflow-x: auto;
    flex-shrink: 0;
}

.interactiveBrowse__tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    border-radius: 6px 6px 0 0;
    background: transparent;
    transition: background 0.15s, color 0.15s;
    max-width: 200px;
    min-width: 60px;
    white-space: nowrap;
    position: relative;
}

.interactiveBrowse__tab:hover {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.85);
}

.interactiveBrowse__tab--active {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-bottom: 2px solid #3498db;
}

.interactiveBrowse__tabTitle {
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.interactiveBrowse__tabClose {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 3px;
    opacity: 0.5;
    transition: opacity 0.15s, background 0.15s;
    flex-shrink: 0;
}

.interactiveBrowse__tabClose:hover {
    opacity: 1;
    background: rgba(255, 255, 255, 0.15);
}

.interactiveBrowse__tabClose i {
    font-size: 10px;
}

/* -- 23.6 Body — fills remaining height, dark bg for screenshot (studioCinema__preview, cinema.css:161) -- */
.interactiveBrowse__body {
    flex: 1;
    position: relative;
    overflow: hidden;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* -- 23.7 Screenshot — fills body, height scales proportionally.
   Must NOT use object-fit: contain because click coordinate mapping
   relies on getBoundingClientRect matching the rendered image exactly. -- */
.interactiveBrowse__screenshot {
    width: 100%;
    height: 100%;
    display: block;
    cursor: crosshair;
    user-select: none;
    -webkit-user-select: none;
}

.interactiveBrowse__screenshot:focus {
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

/* -- 23.8 Loading overlay (renders OVER the screenshot, not replacing it) -- */
.interactiveBrowse__loadingOverlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.6);
    z-index: 2;
    pointer-events: none;
}

.interactiveBrowse__loadingSpinner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 14px 22px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    color: #475569;
    font-size: 0.85rem;
    font-weight: 500;
}

.interactiveBrowse__loadingSpinner i {
    font-size: 20px;
    color: var(--jmkr-color-1);
    animation: settingsSpin 1s linear infinite;
}

.interactiveBrowse__screenshot--dimmed {
    opacity: 0.6;
    pointer-events: none;
}

/* -- 23.9 Placeholder -- */
.interactiveBrowse__placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    color: rgba(255, 255, 255, 0.3);
    font-size: 0.95em;
    text-align: center;
    padding: 20px;
}

.interactiveBrowse__placeholder i {
    font-size: 4em;
}

/* -- 23.10 Footer — status bar (studioCinema__footer, cinema.css:1138) -- */
.interactiveBrowse__footer {
    padding: 10px 20px;
    background: var(--menu-color-2);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.interactiveBrowse__status {
    min-width: 0;
}

.interactiveBrowse__currentUrl {
    font-size: 0.8em;
    color: rgba(255, 255, 255, 0.5);
    font-family: 'SF Mono', Monaco, monospace;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

/* -- 23.12 Cookie Upload Zone -------------------------------------------- */
/* Pattern source: settingsInfo (§9) for nested info content */

#jmkrClient .cookieUploadZone {
    border: 2px dashed rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    padding: 28px 20px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
    margin: 0.75em 0;
    background: rgba(255, 255, 255, 0.4);
}

#jmkrClient .cookieUploadZone:hover,
#jmkrClient .cookieUploadZone.is-dragover {
    border-color: #3AADE5;
    background: rgba(58, 173, 229, 0.04);
}

#jmkrClient .cookieUploadZone__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

#jmkrClient .cookieUploadZone__text {
    font-size: 14px;
    color: #555;
    margin: 0;
}

#jmkrClient .cookieUploadZone__link {
    color: #3AADE5;
    cursor: pointer;
    font-weight: 600;
    text-decoration: underline;
}

#jmkrClient .cookieUploadZone__link:hover {
    color: #2890c4;
}

#jmkrClient .cookieUploadZone__hint {
    font-size: 12px;
    color: #999;
    margin: 0;
}

#jmkrClient .cookieUploadResult {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 13px;
}

#jmkrClient .cookieUploadResult--success {
    background: rgba(34, 197, 94, 0.1);
    color: #15803d;
    border: 1px solid rgba(34, 197, 94, 0.25);
}

#jmkrClient .cookieUploadResult--warning {
    background: rgba(234, 179, 8, 0.1);
    color: #a16207;
    border: 1px solid rgba(234, 179, 8, 0.25);
}

#jmkrClient .cookieUploadResult--error {
    background: rgba(239, 68, 68, 0.1);
    color: #b91c1c;
    border: 1px solid rgba(239, 68, 68, 0.25);
}

/* -- 23.11 Responsive — mobile (studioCinemaOverlay pattern, cinema.css:2150) -- */
@media (max-width: 768px) {
    .interactiveBrowseOverlay {
        left: 0;
        width: 100%;
        padding: 0;
    }

    .interactiveBrowseOverlay.slimMenu,
    .interactiveBrowseOverlay.rightUIOpen,
    .interactiveBrowseOverlay.slimMenu.rightUIOpen {
        left: 0;
        width: 100%;
    }

    .interactiveBrowse {
        border-radius: 0;
    }

    .interactiveBrowse__header {
        flex-wrap: wrap;
    }

    .interactiveBrowse__headerActions {
        margin-left: 0;
    }
}

#DashboardLock {
    background-color: black;
    color: white !important;
    position: absolute;
    left: 0px;
    width: 100%;
    height: calc(100% - var(--line-height));
    top: var(--line-height);
    padding-top: var(--line-height);
    text-align: center;
}

#KioskBoard-VirtualKeyboard {
    z-index: 1059 !important;
    max-width: 500px !important;
    left: -110px !important;
}

#DashboardLock input {
    border: none !important;
    color: white;
    text-align: center;
    font-size: 100px !important;
    line-height: 170px !important;
    letter-spacing: 25px !important;
    padding: 0px !important;
    padding-left: 25px !important;
}

#DashboardLock p {
    margin: auto;
    max-width: 500px;
    padding-left: 25px;
    padding-right: 25px;
}

@media screen and (max-width: 767px) {
    #KioskBoard-VirtualKeyboard {
        left: 0px !important;
    }

    #DashboardLock input {
        font-size: 70px !important;
        line-height: 170px !important;
        letter-spacing: 15px !important;
        padding-left: 10px !important;
    }
}



#dashboardHeader {
    z-index: 7;
    position: fixed;

    top: 0px;
    left: 0px;

    width: 100%;
    padding-top: 9px;
    padding-bottom: 9px;

    background-color: white;
    box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.1);
}

#dashboardHeader #logo {
    float: left;

    text-align: left;
    font-size: 31px;
    font-weight: bold;
    letter-spacing: 0.75px;
    color: black;

    line-height: 51px;
    height: 51px;
    width: 177px;

    cursor: pointer;
}

#dashboardHeader #menu {
    float: left;

    line-height: 60px;
    height: 60px;

    width: calc(100% - var(--left-menu-width) - 110px - 100px);

    overflow: hidden;
}

#dashboardHeader #menu .button {
    float: left;

    font-size: 13px;
    letter-spacing: 0.75px;
    color: #00000093;

    padding-left: 11px;
    padding-right: 11px;
}

#dashboardHeader #menu .buttonSmall {
    float: left;

    font-size: 12px;
    letter-spacing: 0.75px;
    color: #00000093;

    margin-top: -7px;
    margin-right: 17px;

    padding-left: 3px;
    padding-right: 3px;

    height: 42px;
    line-height: 42px;
}

#dashboardHeader #menu .activeButton {
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
}

#dashboardHeader #account {
    float: right;

    width: 200px;
    margin-left: 10px;
    margin-top: 0px;

    padding-left: 7px;
    padding-bottom: 2px;

    cursor: pointer;

    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 7px;

    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.1);
}

#dashboardHeader #account #picture {
    float: right;
    width: 20%;

    background-color: rgba(0, 0, 0, 0.1);
    padding-bottom: 20%;

    margin-top: 5px;

    border-radius: 5px;
}

#dashboardHeader #account #details {
    float: right;
    width: 80%;

    padding: 5px;
    padding-left: 11px;
}

#dashboardHeader #account #details #name {
    font-size: 17px;
    letter-spacing: 0.7px;

    padding-top: 3px;
}

#dashboardHeader #account #details #title {
    font-size: 9px;
    letter-spacing: 0.3px;

    margin-top: -4px;
}

@media screen and (max-width: 885px) {
    #dashboardHeader #logo {
        display: none;
    }

    #dashboardHeader #menu {
        margin-left: 17px;

        width: calc(100% - 17px - 100px);
    }

    #dashboardHeader #menu .button {
        display: none;
    }
}



.dashboardContent {
    padding-bottom: 17px;
    padding-top: 7px;
    padding-left: 17px;
    padding-right: 17px;
}

.dashboardSubContent {
    padding: 17px;
    background: white;

    box-shadow: 0px 2px 3px #00000033;

    margin-bottom: 21px;
}

.dashboardContent .dashboardSubTitle1 {
    letter-spacing: 0.7px;
    font-weight: normal;
    font-size: 15px;
    font-weight: bold;

    padding-bottom: 7px;

    margin-bottom: 17px;

    opacity: 0.7;

    border-bottom: 2px dotted rgba(0, 0, 0, 0.17);
}

.dashboardContent .dashboardSubTitle2 {
    letter-spacing: 0.7px;
    text-align: center;
    font-weight: normal;
    font-size: 11px;

    padding-bottom: 7px;
}

.dashboardCounter {
    font-size: 70px;
    letter-spacing: 0.7px;
    text-align: center;
    font-weight: bold;
    line-height: 77px;
}

.dashboardEmptyAreaPlaceholder {
    font-size: 17px;
    letter-spacing: 1px;
    line-height: 25px;

    padding: 17px;

    margin-top: 7px;

    border-radius: 7px;
    border: 2px dotted rgba(0, 0, 0, 0.17);

    opacity: 0.7;
}

.dashboardContent .dashboardTitle1 {
    float: left;

    letter-spacing: 0.7px;
    text-align: center;
    font-weight: normal;
    font-size: 17px;

    padding-bottom: 7px;
}

.dashboardContent .dashboardTitle2 {
    letter-spacing: 0.7px;
    font-weight: normal;
    font-size: 15px;

    padding-top: 9px;
}

.dashboardContent .dashboardButton1 {
    float: right;

    letter-spacing: 0.7px;
    text-align: center;
    font-weight: normal;

    background-color: #DC2029;
    color: white;

    padding: 11px;

    border-radius: 2px;

    cursor: pointer;
}

.dashboardDataRowTitle {
    line-height: 20px;
    letter-spacing: 0.7px;
    font-size: 15px;

    margin-bottom: 17px;
    margin-top: 11px;

    background-color: rgba(0, 0, 0, 0.037);

    padding-left: 17px;
}

.dashboardDataRow {
    box-shadow: 0px 3px 10px #7777771A;

    margin-bottom: 17px;

    cursor: pointer;
}

.dashboardDataRow .selectRow {
    float: left;

    padding-left: 17px;

    line-height: 70px;
}

.subRow {
    padding-left: 17px;
}

.dashboardDataRow .image {
    padding-bottom: calc(100% - 17px);

    background-color: rgba(0, 0, 0, 0.1);
    background-position: center;
    background-size: cover;

    border-radius: 7px;

    margin-left: 17px;
}

.dashboardDataRow .name {
    line-height: 20px;
    letter-spacing: 0.7px;
    font-size: 15px;

    padding-top: 17px;
    padding-left: 17px;
}

.dashboardDataRow .price {
    line-height: 20px;
    letter-spacing: 0.7px;
    font-size: 17px;

    padding-top: 17px;
}

.dashboardDataRow .date {
    line-height: 20px;
    letter-spacing: 0.7px;
    font-size: 12px;

    padding-top: 17px;
}

.dashboardDataRow .inputQuantity {
    float: left;

    width: 100% !important;

    text-align: center !important;
    line-height: 68px !important;

    padding-top: 0px !important;
    padding-bottom: 0px !important;

    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;

    pointer-events: none;
}

.dashboardDataRow .saveQuantity {
    float: left;

    text-align: center;

    line-height: 70px;
    width: 50%;

    background: rgba(0, 0, 0, 0.1);

    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
}

.dashboardDataRow .toggleListUnlist {
    margin-top: 25px;
}

.saveEditFormButton {
    font-size: 15px;
    letter-spacing: 0.7px;
    text-align: center;
    font-weight: normal;

    background-color: var(--jmkr-color-1);
    color: white;

    margin-top: 11px;

    padding: 17px;

    border-radius: 4px;

    cursor: pointer;
}

.dashboardTitle {
    float: left;
    width: 51%;

    font-size: 30px;
    letter-spacing: 0.3px;
    font-weight: bold;

    padding-top: 7px;
    padding-bottom: 17px;
}

.dashboardSubTitle {
    float: left;
    width: 51%;

    font-size: 11px;
    letter-spacing: 0.7px;

    margin-top: -17px;
    padding-top: 5px;
    padding-left: 1.7px;
    padding-bottom: 17px;
}

#largeMenuTitle {
    font-size: 35px;
    letter-spacing: 0.3px;
    font-weight: bold;

    padding-top: 17px;
}

#largeMenuSubTitle {
    font-size: 13px;

    padding-top: 7px;
    padding-bottom: 27px;
}

.largeMenu .button {
    padding: 35px;

    border-radius: 7px;
    box-shadow: 0px 2px 7px #00000033;
}

.largeMenu .button .image {
    float: left;
    padding-top: 7px;
    margin-bottom: 0px;

    font-size: 57px;
}

.largeMenu .button .save {
    float: right;
    padding-top: 0px;
    margin-bottom: 0px;

    font-size: 27px;

    cursor: pointer;
}

.largeMenu .button .name {
    padding-top: 17px;

    font-size: 17px;
    letter-spacing: 0.7px;
}

.largeMenu .button .details {
    padding-top: 7px;

    font-size: 13px;

    opacity: 0.5;
}

.dashboardTableHeading {
    background: black;

    text-align: left;
    color: white;
    font-weight: bold;
    letter-spacing: 0.5px;
    font-size: 13px;

    margin-top: 9px;

    padding-left: 17px;

    border-radius: 5px;
}

.dashboardTableRow {
    text-align: left;
    letter-spacing: 0.17px;
    font-size: 17px;

    padding-left: 25px;
    padding-bottom: 7px;

    cursor: pointer;
}



.dashboardCreateRecordButton,
.dashboardPopUpSaveButton,
.dashboardPopUpCancelButton,
.dashboardPopUpRemoveButton {
    float: right;
    background: rgba(0, 0, 0, 0.5);

    text-align: center;
    color: white;
    letter-spacing: 0.37px;
    font-size: 17px;

    padding: 25px;
    padding-top: 14px;
    padding-bottom: 14px;

    border-radius: 4px;
    margin-top: -40px;
    margin-bottom: 17px;

    cursor: pointer;
}

.dashboardPopUpSaveButton {
    float: left;

    margin-top: 17px;
    margin-bottom: 0px;
}

.nightMode .dashboardPopUpSaveButton {
    background: var(--jmkr-color-1);
}

.dashboardPopUpCancelButton,
.dashboardPopUpRemoveButton {
    float: right;

    background: white;
    color: black;

    margin-top: 17px;
    margin-bottom: 0px;
}

.nightMode .dashboardPopUpCancelButton,
.nightMode .dashboardPopUpRemoveButton {
    background: black;
    color: white;
}

.inverted .dashboardPopUpCancelButton,
.inverted .dashboardPopUpRemoveButton {
    background-color: #272822;
    color: white;
}



@keyframes animate_dashboardPopUp {
    from {
        transform: translateX(70%);
        opacity: 0;
    }

    to {
        transform: translateY(0%);
        opacity: 1;
    }
}

.ui.modal {
    animation: animate_dashboardPopUp 0.35s forwards;
    max-height: calc(100% - 17px*2);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.dashboardFullPopUp,
.ectComponent .browser.browserModal {
    z-index: 110;
}

.dashboardPopUp {
    z-index: 115;
}

.dashboardPopUp,
.dashboardFullPopUp,
.ectComponent .browser.browserModal {
    position: fixed;

    top: calc(17px);
    left: calc(var(--left-menu-width) + (100% - var(--left-menu-width) - var(--right-menu-width) - 885px)/2);

    width: calc(100% - var(--left-menu-width) - var(--right-menu-width) - 11px*2);
    max-width: 885px;
    max-height: calc(100% - 17px*2);

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;

    border-radius: 4px;

    background: white;

    padding: 13.5px;
    padding-top: 7px;

    animation: animate_dashboardPopUp 0.35s forwards;
}

.dashboardFullPopUp,
.ectComponent .browser.browserModal {
    border-radius: 0px;
    top: calc(0px + 0px);
    height: calc(100% - 0px*2 - 0px);
    max-height: calc(100% - 0px*2 - 0px);
    left: calc(var(--left-menu-width));
    width: calc(100% - var(--left-menu-width) - var(--right-menu-width) - 0px*2);
    max-width: 100%;
    padding-top: 13.5px;
}

.ectComponent .browser.browserModal {
    padding: 13.5px;
    top: 0px;
    height: calc(100% - 0px*2);
    max-height: calc(100% - 0px*2);
    left: 0px !important;
    width: 100% !important;
}

.ectComponent .browser.browserModal .browserContent {
    margin: 0px;
    border-radius: 1px;
}

.ectComponent .closeicon {
    width: 30px;
    height: 30px;
    line-height: 27px;
    background-color: var(--jmkr-color-1);
    color: white;
    border-radius: 50%;
    text-align: center;
    font-size: 17px;
    display: block;
    font-weight: bold;
}

@media screen and (max-width: 1450px) {
    .dashboardPopUp {
        left: calc(var(--left-menu-width) + 11px);
    }

    .dashboardFullPopUp {
        left: calc(var(--left-menu-width));
    }
}

@media screen and (max-width: 1035px) {
    .dashboardPopUp {
        left: calc(var(--left-menu-width) + 11px);
        width: calc(100% - var(--left-menu-width) - var(--right-menu-width) - 11px*2);
    }

    .dashboardFullPopUp {
        left: calc(var(--left-menu-width));
        width: calc(100% - var(--left-menu-width) - var(--right-menu-width));
    }
}

@media screen and (max-width: 768px) {
    .dashboardPopUp {
        left: 11px;
        width: calc(100% - 22px);
    }

    .dashboardFullPopUp {
        left: 0;
        width: 100%;
    }
}

@media screen and (max-width: 500px) {
    .dashboardPopUp {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        max-height: 100%;
        border-radius: 0;
    }

    .dashboardFullPopUp,
    .ectComponent .browser.browserModal {
        left: 0;
        width: 100%;
    }
}

.isNotDashboard .dashboardPopUp {
    top: 15px;
}

.dashboardPopUp .dashboardPopUp {
    top: 0px;
    max-height: calc(100% - 0px);
    left: 0px;
    width: 100%;
}

.dashboardPopUp h2:first-child,
.dashboardPopUp h2:nth-child(2) {
    margin-top: 0px !important;
}

.dashboardPopUp h3,
.dashboardFullPopUp h3 {
    margin-top: 11px;
}

.dashboardPopUp h3:first-child,
.dashboardFullPopUp h3:first-child {
    margin-top: 0px;
}

.nightMode .dashboardPopUp,
.nightMode .dashboardFullPopUp {
    background: black;
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.217) !important;
    box-shadow: 0px 0px 17px rgba(0, 0, 0, 0.7);
}

.dashboardPopUpTitle {
    float: left;

    line-height: 21px;
    font-size: 21px;
    letter-spacing: 0.5px;
    font-weight: bold;

    color: black;

    padding-bottom: 7px;
    padding-right: 11px;
    margin-bottom: 7px;

    border-bottom: 2px solid var(--jmkr-color-1);
}

.nightMode .dashboardPopUpTitle {
    color: white;
}

@keyframes animate_dashboardPopUpBackground {
    from {
        background: rgba(0, 0, 0, 0);
        backdrop-filter: blur(0px);
        opacity: 0;
    }

    to {
        background: rgba(70, 70, 70, 0.17);
        backdrop-filter: blur(5px);
        opacity: 1;
    }
}

.dashboardPopUpBackground {
    z-index: 100;
    position: fixed;

    top: 0px;
    left: 0px;

    width: 100%;
    height: 100%;

    animation: animate_dashboardPopUpBackground 1s forwards;
}

.ui.dimmer.modals.visible.page {
    background: rgba(70, 70, 70, 0.17);
    backdrop-filter: blur(5px);
}

.nightMode .dashboardPopUpBackground {
    background: rgba(14, 84, 104, 0.47);
}

.comingSoon {
    margin-top: 17px;
    padding: 17px;

    text-align: center;

    font-size: 21px;
    letter-spacing: 1.17px;
    line-height: 25px;

    color: silver;
    opacity: 0.77;
}

.dashboardFullPopUp.inverted {
    background: #2d2e26;
    color: white;
    border: none !important;
    box-shadow: none !important;

    padding-bottom: 0px;
}

.inverted input,
.dashboardFullPopUp.inverted label {
    color: white !important;
}



.ui.styled.accordion,
.ui.styled.accordion .accordion {
    background: none !important;
}

.nightMode .ui.styled.accordion,
.nightMode .ui.styled.accordion .accordion {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.07)) !important;
    border-radius: 7px;
}

.ui.styled.accordion .title {
    color: black;
}

.nightMode .ui.styled.accordion .title {
    color: white;
}

.ui.styled.accordion .active.title {
    padding-bottom: 1.7px;
}

.ui.tab {
    background: none !important;
}

.nightMode .ui.tab {
    border-color: var(--jmkr-color-1);
}

#jmkrClient .ui.tabular.menu {
    background: none !important;
    border: none !important;
}

.nightMode .ui.tabular.menu {
    color: white;
    border-color: var(--jmkr-color-1);
}

#jmkrClient .ui.tabular.menu .item {
    cursor: pointer;
    border: none !important;
    background: none !important;
}

#jmkrClient.nightMode .ui.tabular.menu .item {
    color: white;
}

#jmkrClient.nightMode .ui.tabular.menu .item.active {
    border-color: var(--jmkr-color-1);
}

.customLink {
    padding: 11px;
    padding-top: 7px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    margin-bottom: 11px;
    background: rgba(0, 0, 0, 0.017);
}

.deleteCustomLink {
    float: right;
    cursor: pointer;

    margin-top: -15px;
    margin-right: -21px;

    font-size: 12px;
    color: white;
    background: var(--jmkr-color-1);
    width: 21px;
    height: 21px;
    line-height: 20px;
    border-radius: 50%;
    text-align: center;
    padding-left: 1px;
}

#showPricingDetails {
    background-color: rgba(0, 0, 0, 0.07);
    font-weight: 500;
    text-align: center;
    padding: 11px;
    padding-left: 17px;
    padding-right: 17px;
    border-radius: 3.5px;
    cursor: pointer;
    font-size: 15px;
    letter-spacing: 0.17px;
}

#pricingSection {}

#pricingSection .priceColumn {
    position: relative;
    overflow: hidden;
    padding: 17px;
    color: white;
    border-radius: 3.5px;
}

#pricingSection .priceColumn .frontIcon {
    font-size: 70px;
    line-height: 70px;
}

#pricingSection .priceColumn .backIcon {
    position: absolute;
    top: -70px;
    right: -70px;
    font-size: 235px;
    line-height: 235px;
    opacity: 0.17;
}

#pricingSection .priceColumn .name {
    font-weight: 700;
    font-size: 25px;
    line-height: 25px;
    padding-top: 11px;
    padding-bottom: 11px;
}

#pricingSection .priceColumn .price {
    opacity: 0.77;
}

#pricingSection .priceColumn .cancelSubscription {
    position: absolute;
    bottom: 11px;
    right: 11px;
    float: left;
    background-color: rgba(255, 255, 255, 0.17);
    padding: 0.5em;
    padding-left: 0.75em;
    padding-right: 0.75em;
    border-radius: 0.5em;
    font-size: 0.85em;
    cursor: pointer;
    opacity: 0.5;
}

#pricingSection .priceColumn .cancelSubscription:hover {
    opacity: 1;
}

#pricingSection .priceColumn .callToAction {
    margin-top: 11px;
    float: left;
    background-color: rgba(255, 255, 255, 0.17);
    border: 2px solid white;
    font-weight: 600;
    padding: 7px;
    padding-left: 17px;
    padding-right: 17px;
    border-radius: 7px;
    cursor: pointer;
}

.selectize-input.dropdown-active::before {
    opacity: 0 !important;
    height: 0px !important;
}

.selectize-dropdown [data-selectable],
.selectize-dropdown .optgroup-header {
    padding: 10px 10px !important;
    font-size: 13.5px !important;
}

.inverted .selectize-dropdown,
.inverted .selectize-input,
.inverted .selectize-input input {
    color: white !important;
    background-color: #272822 !important;
    border-color: none !important;
}

.inverted .selectize-dropdown {
    z-index: 100001 !important;
    border-color: var(--jmkr-color-1) !important;
}

.ui.slider.checkbox label::before {
    background: grey !important;
}

.ui.slider.checkbox input:checked~label::after {
    background-color: var(--jmkr-color-1) !important;
}

:root {
    --menu-color-1: #373737;
    --menu-color-2: #414141;
    --menu-color-3: #494949;
    --left-menu-width: 197px;
    --left-menu-width-slim: 60px;
    --right-menu-width: 331.45px;
    --line-height: 40px;
    --jmkr-color-1: #5cb3ff;
    --jmkr-logo: url('jmkr/logo.png');
    --jmkr-logo-plain: '/jmkr/logo.png';
}

:root #jmkrClient {}


/* ==========================================================================
   2. BASE STYLES
   ========================================================================== */

#jmkrClient .icon.faded {
    opacity: 0.5;
}


/* ==========================================================================
   3. LAYOUT STRUCTURE
   ========================================================================== */

/* --------------------------------------------------------------------------
   3.1 Content Area
   -------------------------------------------------------------------------- */

#content {
    width: 100%;
}

#content #navigation {
    float: left;
    width: 30%;
    max-width: 210px;
}

#content #yield {
    float: right;
    width: 100%;
    max-width: calc(100% - 210px);
}


/* --------------------------------------------------------------------------
   3.2 Left UI Panel (Navigation Sidebar)
   -------------------------------------------------------------------------- */

#leftUIBackground {
    display: none;
    z-index: 40;
    position: fixed;
    top: 0px;
    right: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

@media screen and (max-width: 768px) {
    #leftUIBackground {
        display: block;
    }
}

#leftUI {
    z-index: 51;
    position: fixed;
    top: 0px;
    left: 0px;
    padding-bottom: 17px;
    width: var(--left-menu-width);
    height: 100%;
    background: var(--menu-color-3);
    box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.25);
    transition: all 0.3s ease;
}

/* Left UI - Profile Section */
#leftUI #profile {
    position: relative;
    height: 160px;
    overflow: hidden;
}

#leftUI #profile #wrapLogo {
    cursor: pointer;
    position: absolute;
}

#leftUI #profile #wrapLogo #logo {
    text-align: center;
    color: white;
}

#leftUI #profile #wrapLogo #logo svg {
    width: 50% !important;
    height: 50% !important;
    fill: white !important;
    margin: auto !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

#leftUI #profile #wrapLogo.activeButton #logo {
    background-color: var(--jmkr-color-1);
    border-radius: 50%;
}

#leftUI #profile #help {
    cursor: pointer;
    color: white;
    text-align: center;
    position: absolute;
}

#leftUI #profile #help:hover {
    color: white;
}

#leftUI #profile #networkHealthIndicator {
    position: absolute;
    top: 7px;
    left: 7px;
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    font-size: 14px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.9);
    cursor: default;
    transition: background 0.3s ease, color 0.3s ease;
}

#leftUI #profile #networkHealthIndicator i {
    margin: 0 !important;
}

#leftUI #profile #networkHealthIndicator.networkIndicator.warning {
    background: rgba(251, 189, 8, 0.18);
    color: #fbbd08;
}

#leftUI #profile #networkHealthIndicator.networkIndicator.stalled {
    background: rgba(219, 40, 40, 0.18);
    color: #ff6b6b;
}

#leftUI #profile #networkHealthIndicator.networkIndicator.recovered {
    background: rgba(92, 179, 255, 0.18);
    color: #5cb3ff;
}

#leftUI #profile #networkHealthIndicator.networkIndicator.initializing,
#leftUI #profile #networkHealthIndicator.networkIndicator.connecting {
    background: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.7);
}

#leftUI #profile #networkHealthIndicator.networkIndicator.healthy {
    background: rgba(46, 204, 113, 0.18);
    color: #2ecc71;
}

#leftUI #profile #networkHealthIndicator:hover {
    background: rgba(255, 255, 255, 0.22);
}

#leftUI #profile #organizationPicture,
#leftUI #profile a#picture {
    border: 2px solid white;
    background-color: white;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: inset 0 0 3.5px rgba(0, 0, 0, 0.35);
    position: absolute;
}

/* Left UI - Menu Section */
#leftUI #menu #scroll {
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 0;
    box-shadow: inset 0px 5px 10px rgba(0, 0, 0, 0.07);
}

#leftUI #menu .button {
    position: relative;
    font-size: 13px;
    font-weight: 300;
    letter-spacing: 0.5px;
    border: 1px solid rgba(255, 255, 255, 0);
    border-top: 1px solid rgba(0, 0, 0, 0.35);
    border-bottom: 1px solid rgba(255, 255, 255, 0.17);
    cursor: pointer;
    color: white;
}

#leftUI #menu a:nth-child(odd) .button {
    background: var(--menu-color-2);
}

#leftUI #menu .button i {
    text-align: center;
    border-radius: 3.5px;
    opacity: 0.9;
    text-shadow: 1px 1px 3.5px rgba(0, 0, 0, 0.25);
}

#leftUI #menu .button span {
    margin-top: 0;
}

#leftUI #menu .button:hover {
    font-weight: 500;
    background-color: rgba(255, 255, 255, 0.1);
}

#leftUI #menu .button.activeButton {
    font-weight: 500;
}

#leftUI #menu .button #alertCount {
    background-color: var(--jmkr-color-1);
    color: white !important;
    border-radius: 55px;
    font-weight: 500;
    letter-spacing: 0.35px;
    cursor: pointer;
    position: absolute;
    top: 3.5px;
    right: 3.5px;
    height: 18px;
    line-height: 18px;
    padding: 0 6px;
    font-size: 11px !important;
    min-width: 18px;
    border-radius: 9px;
}

/* Left UI - Submenu */
#leftUI #menu .subMenu {
    overflow: hidden;
    max-height: 0px;
}

#leftUI #menu .subMenu.activeButton,
#leftUI #menu .subMenu.was-hovered {
    max-height: 350px;
}

#leftUI #menu .subMenuLine {
    position: absolute;
    top: 50.5px;
    left: 24.5px;
    width: 3px;
    height: calc(100% - 50.5px - 0.5px);
    background: rgba(255, 255, 255, 0.17);
}

#leftUI #menu .subButton {
    position: relative;
    line-height: var(--line-height);
    padding-left: 35px;
    font-size: 13px;
    font-weight: 400;
}

#leftUI #menu .subButton:hover {
    font-weight: 500;
}

#leftUI #menu .subButton.activeButton {
    font-weight: 600;
    border-left: 3px solid var(--jmkr-color-1);
    margin-left: 5px;
    padding-left: 26.5px;
}

#leftUI #menu .subButton.devicePinned::after {
    content: '📌';
    font-size: 9px;
    margin-left: 5px;
}

/* Left UI - Menu Tooltip */
#leftUI .menu-tooltip {
    position: absolute;
    left: 70px;
    top: 50%;
    transform: translateY(-50%) translateX(-10px);
    background: rgba(0, 0, 0, 0.9);
    color: white;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

#leftUI .menu-tooltip::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -4px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 4px 4px 0;
    border-color: transparent rgba(0, 0, 0, 0.9) transparent transparent;
}

/* Left UI - Expand Toggle */
#leftUI .expand-toggle {
    line-height: 33px;
    height: 33px;
    padding: 0;
    margin: auto;
    width: 100%;
    border-color: rgba(255, 255, 255, 0.35);
    border-bottom: none;
    border-left: none;
    border-right: none;
    font-size: 11px;
    text-align: center;
    opacity: 0.5;
    box-shadow: inset 0 0 17px rgba(0, 0, 0, 0.35);
    background: var(--menu-color-3);
    color: white;
    cursor: pointer;
    border-top: 1px solid rgba(255, 255, 255, 0.35);
}

#leftUI .expand-toggle:hover {
    opacity: 0.8;
    background-color: rgba(255, 255, 255, 0.1);
}

/* Left UI - Slim State */
#leftUI.slim {
    width: 60px !important;
    font-size: 0 !important;
}

#leftUI.slim #profile {
    height: 160px !important;
    position: relative !important;
}

#leftUI.slim #profile #wrapLogo {
    position: absolute !important;
    top: 7.5px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 37px !important;
    height: 37px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

#leftUI.slim #profile #wrapLogo #logo {
    width: 37px !important;
    height: 37px !important;
    line-height: 37px !important;
    font-size: 15px !important;
    border-radius: 50% !important;
}

#leftUI.slim #profile #help {
    position: absolute !important;
    top: 143px !important;
    left: 50% !important;
    width: 1px !important;
    height: 1px !important;
    line-height: 1px !important;
    display: none !important;
    opacity: 0;
}

#leftUI.slim #profile #networkHealthIndicator {
    display: none !important;
}

#leftUI.slim #profile #help:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

#leftUI.slim #profile #organizationPicture {
    position: absolute !important;
    top: 58.5px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 37px !important;
    height: 37px !important;
    margin: 0 !important;
    border-width: 2px !important;
    border-radius: 50% !important;
    box-shadow: 0 0 7px rgba(0, 0, 0, 0.35) !important;
    transition: all 0.3s ease !important;
}

#leftUI.slim #profile a#picture {
    position: absolute !important;
    top: 109.5px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 33px !important;
    height: 33px !important;
    margin: 0 !important;
    border-width: 2px !important;
    border-radius: 50% !important;
    box-shadow: 0 0 7px rgba(0, 0, 0, 0.35) !important;
}

#leftUI.slim #menu .button {
    padding: 0 0 0 19.5px !important;
    height: calc(var(--line-height) + 5px) !important;
    line-height: calc(var(--line-height) + 5px) !important;
    display: flex !important;
    align-items: center;
    justify-content: left;
    overflow: hidden !important;
    max-width: 100%;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

#leftUI.slim #menu .button.activeButton i,
#leftUI.expanded #menu .button.activeButton i,
#leftUI.persistent #menu .button.activeButton i {
    background-color: var(--jmkr-color-1);
    color: white;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    padding-left: 1px !important;
    transform: translateX(-7px);
    margin-right: -1px !important;
}

#leftUI.slim #menu .button i {
    font-size: 15px !important;
}

#leftUI.slim #menu .button span {
    display: none !important;
}

#leftUI.slim #menu .subMenu {
    display: none;
}

#leftUI.slim #menu .button #alertCount {
    top: 3.5px;
    right: 3.5px;
}

#leftUI.slim .button:hover .menu-tooltip {
    opacity: 1;
    transform: translateY(-50%) translateX(10px);
}

#leftUI.slim .expand-toggle .chevron.right.icon {
    display: inline-block;
    font-size: 14px;
}

#leftUI.slim .expand-toggle .chevron.left.icon {
    display: none;
}

#leftUI.slim .expand-toggle {
    font-size: 0 !important;
    text-align: center !important;
    height: 44px !important;
    line-height: 44px !important;
}

/* Left UI - Expanded State */
#leftUI.expanded,
#leftUI.persistent {
    width: 197px !important;
}

#leftUI.expanded #profile,
#leftUI.persistent #profile {
    height: 160px !important;
    position: relative !important;
}

#leftUI.expanded #profile #wrapLogo,
#leftUI.persistent #profile #wrapLogo {
    position: absolute !important;
    left: 7px !important;
    top: 7px !important;
    width: 35px !important;
    height: 35px !important;
}

#leftUI.expanded #profile #wrapLogo #logo,
#leftUI.persistent #profile #wrapLogo #logo {
    width: 35px !important;
    height: 35px !important;
    line-height: 35px !important;
    font-size: 20px !important;
    border-radius: 50% !important;
}

#leftUI.expanded #profile #help,
#leftUI.persistent #profile #help {
    position: absolute !important;
    right: 7px !important;
    top: 7px !important;
    width: 35px !important;
    height: 35px !important;
    line-height: 35px !important;
    font-size: 17px !important;
}

#leftUI.expanded #profile #networkHealthIndicator,
#leftUI.persistent #profile #networkHealthIndicator {
    left: 12px !important;
    top: 12px !important;
}

#leftUI.expanded #profile #organizationPicture,
#leftUI.persistent #profile #organizationPicture {
    position: absolute !important;
    top: 30px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 110px !important;
    height: 110px !important;
    margin: 0 !important;
    border-width: 1px !important;
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

#leftUI.expanded #profile a#picture,
#leftUI.persistent #profile a#picture {
    position: absolute !important;
    top: 105px !important;
    right: 36px !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    border-width: 1px !important;
    border-radius: 50% !important;
}

#leftUI.expanded #profile:not(:has(#organizationPicture)) a#picture,
#leftUI.persistent #profile:not(:has(#organizationPicture)) a#picture {
    top: 50px !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    width: 125px !important;
    height: 125px !important;
}

#leftUI.expanded #menu .button,
#leftUI.persistent #menu .button {
    padding: 0 0 0 19.5px !important;
    line-height: calc(var(--line-height) + 3px) !important;
    max-width: 100%;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

#leftUI.expanded #menu .button i,
#leftUI.persistent #menu .button i {
    font-size: 15px !important;
    margin-right: 10px !important;
}

#leftUI.expanded .menu-tooltip,
#leftUI.persistent .menu-tooltip {
    display: none;
}

#leftUI.expanded .expand-toggle .chevron.right.icon,
#leftUI.persistent .expand-toggle .chevron.right.icon {
    display: none;
}

#leftUI.expanded .expand-toggle .chevron.left.icon,
#leftUI.persistent .expand-toggle .chevron.left.icon {
    display: inline-block;
    font-size: 14px;
}

/* Left UI - Persistent State */
#leftUI.persistent .expand-toggle {
    background-color: var(--jmkr-color-1);
    opacity: 1;
}


/* --------------------------------------------------------------------------
   3.3 Middle UI Panel (Main Content)
   -------------------------------------------------------------------------- */

#middleUI {
    z-index: 7;
    position: fixed;
    top: 0px;
    left: 77px;
    width: calc(100% - 77px - var(--right-menu-width));
    height: 100%;
    max-height: 100%;
    background: white;
    color: #171717;
    transition: all 0.3s ease;
}

#middleUI #middleUIScroll {
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

.nightMode #middleUI #middleUIScroll {
    background: rgba(27, 27, 27, 1);
    color: white;
}

.isNotDashboard #middleUI #middleUIScroll {
    border: none !important;
}

#middleUI #openLeftUI {
    display: none;
    float: left;
    height: calc(var(--line-height) * 1.17);
    width: calc(var(--line-height) * 1.17);
    line-height: calc(var(--line-height) * 1.17);
    text-align: center;
    font-size: 20px;
    margin-left: -9px;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    #middleUI #openLeftUI {
        display: inline-block;
    }
}

#middleUI #pageMenu {
    float: left;
}

#middleUI #openRightUI {
    float: right;
    text-align: center;
    font-size: 20px;
    height: calc(var(--line-height) * 1.17);
    width: calc(var(--line-height) * 1.17);
    line-height: calc(var(--line-height) * 1.17);
    color: white;
    background: var(--menu-color-1);
    cursor: pointer;
}

#middleUI #openRightChatUI {
    float: left;
    text-align: center;
    font-size: 31px;
    height: 77px;
    line-height: 77px;
    width: 77px;
    color: white;
    background: #171717;
    cursor: pointer;
}

/* Middle UI - Page Menu */
#middleUI #pageMenu #title {
    float: left;
    padding-left: 11px;
    width: calc(100% - calc(var(--line-height)));
    height: calc(var(--line-height) * 1.17);
    font-family: Montserrat;
    font-size: 18px;
    line-height: calc(var(--line-height) * 1.17);
    font-weight: 400;
    letter-spacing: 0.17px;
    background: var(--menu-color-1);
    color: white;
}

@media screen and (max-width: 900px) {
    #middleUI #pageMenu #title {
        width: 100%;
    }
}

#middleUI #pageMenu #toggleRightUI {
    float: right;
    width: calc(var(--line-height));
    height: calc(var(--line-height) * 1.17);
    line-height: calc(var(--line-height) * 1.17);
    text-align: center;
    font-size: 15px;
    letter-spacing: 0.75px;
    font-weight: bold;
    background: var(--menu-color-1);
    color: white;
    cursor: pointer;
}

@media screen and (max-width: 900px) {
    #middleUI #pageMenu #toggleRightUI {
        display: none;
    }
}

#middleUI #pageMenu #menu {
    display: none;
    overflow-y: hidden;
    overflow-x: auto;
    white-space: nowrap;
    width: calc(100% - 3.5px * 0);
    height: var(--line-height);
    border-top-left-radius: calc(var(--line-height) * 0.077);
    border-top-right-radius: calc(var(--line-height) * 0.077);
    border-radius: calc(var(--line-height) * 0.077);
    border-radius: 0px;
    background: var(--menu-color-2);
    background: #e2e2e2;
    color: white;
    font-size: 0px;
}

#middleUI #pageMenu #menu.activeButton {
    display: block;
}

#middleUI #pageMenu #menu .button {
    position: relative;
    display: inline-block;
    letter-spacing: 0.17px;
    font-size: calc(var(--line-height) * 0.335);
    font-weight: 500;
    margin-top: 0px;
    margin: 0;
    padding: 17px;
    padding-top: 0px;
    padding-bottom: 0px;
    height: var(--line-height);
    line-height: calc(var(--line-height) - 2px);
    cursor: pointer;
    color: white;
    color: black;
    will-change: all;
}

#middleUI #pageMenu #menu .button i {
    margin-right: 1.7px !important;
    font-size: 90% !important;
    transform: translateY(-0.7px);
}

#middleUI #pageMenu #menu .button:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

#middleUI #pageMenu #menu .activeButton {
    border-top-left-radius: calc(var(--line-height) * 0.077);
    border-top-right-radius: calc(var(--line-height) * 0.077);
    border-radius: calc(var(--line-height) * 0.077);
    border-radius: 0px;
    background: var(--jmkr-color-1) !important;
    box-shadow: inset 0 0 7px rgba(0, 0, 0, 0.17);
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.17);
    color: white;
}


/* --------------------------------------------------------------------------
   3.4 Right UI Panel (Right Sidebar)
   -------------------------------------------------------------------------- */

#rightUI {
    z-index: 72;
    position: fixed;
    top: 0px;
    right: 0px;
    width: var(--right-menu-width);
    max-width: calc(100% - 77px);
    height: 100%;
    max-height: 100%;
    background: var(--menu-color-3);
    box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.25);
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 900px) {
    #rightUI {
        z-index: 70;
    }
}

@media screen and (max-width: 768px) {
    #rightUI {
        width: 100%;
        max-width: 100%;
    }
}

#rightUIBackground {
    display: none;
    z-index: 60;
    position: fixed;
    top: 0px;
    right: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

@media screen and (max-width: 900px) {
    #rightUIBackground {
        display: block;
    }
}

/* Right UI - Account Section */
#rightUI #account {
    background: var(--menu-color-1);
}

#rightUI #account #goToAccount {
    float: left;
    margin: calc((var(--line-height) - 30px)/2);
    margin-right: 7px;
    margin-bottom: 0px;
    width: 30px !important;
    line-height: 30px !important;
    height: 30px !important;
    color: white;
    background-color: var(--jmkr-color-1);
    padding-left: 1px;
    text-align: center;
    font-size: 17px !important;
    border-radius: 7px;
    cursor: pointer;
}

#rightUI #account #name {
    float: left;
    width: calc(100% - 57px - 57px);
    line-height: var(--line-height);
    text-align: left;
    letter-spacing: 0.7px;
    color: white;
    font-size: 14px;
    font-family: Montserrat;
    font-weight: 300;
    cursor: pointer;
}

#rightUI #account #settings {
    float: right;
    width: 40px;
    line-height: var(--line-height);
    text-align: center;
    letter-spacing: 0.7px;
    color: white;
    font-size: 15px;
    cursor: pointer;
}

#rightUI #account #name i {
    margin-right: 7px;
}

/* Right UI - Tab Navigation */
#rightUI .seeTab {
    line-height: calc(var(--line-height) * 1.17);
    float: left;
    color: var(--jmkr-color-1);
    font-size: calc(var(--line-height) * 0.325);
    text-align: center;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.17);
    color: white;
}

#rightUI .seeTab:hover {
    background-color: rgba(255, 255, 255, 0.1);
    font-weight: 500;
}

#rightUI .seeTabSelect {
    background: rgba(255, 255, 255, 0.17);
    font-weight: 600;
    border-top-left-radius: calc(var(--line-height) * 0.077);
    border-top-right-radius: calc(var(--line-height) * 0.077);
}

#rightUI #account .seeTab.openRightUI {
    width: calc(var(--line-height) * 1.17);
    background-color: rgba(0, 0, 0, 0.35);
}

#rightUI #account .seeTab.seeTabColleagues {
    width: calc(30% - calc(var(--line-height) * 1.17) / 3);
}

#rightUI #account .seeTab.seeTabOrganizations {
    width: calc(50% - calc(var(--line-height) * 1.17) / 3);
}

#rightUI #account .seeTab.seeTabAll {
    width: calc(20% - calc(var(--line-height) * 1.17) / 3);
}

@media screen and (min-width: 768px) {
    #middleUI #openRightUI {
        display: none;
    }

    #rightUI #account .seeTab.openRightUI {
        display: none;
    }

    #rightUI #account .seeTab.seeTabColleagues {
        width: calc(30%);
    }

    #rightUI #account .seeTab.seeTabOrganizations {
        width: calc(50%);
    }

    #rightUI #account .seeTab.seeTabAll {
        width: calc(20%);
    }
}

/* Right UI - See More */
#rightUI #seeMore {
    color: var(--jmkr-color-1);
    padding: 7px;
    padding-left: 11px;
    padding-right: 11px;
    letter-spacing: 0.7px;
    font-size: 13px;
    border-radius: 27px;
    cursor: pointer;
}

/* Right UI - Friend/Organization Menu */
#rightUI #friendOrOrganizationMenu {
    background: var(--menu-color-3);
}

#rightUI #friendOrOrganizationMenu #title {
    color: white;
    letter-spacing: 0.5px;
    font-size: 11px;
    padding-left: 11px;
}

#rightUI #friendOrOrganizationMenu .showUntil {
    overflow: hidden;
}

#rightUI #friendOrOrganizationMenu .showUntil.hideUntil {
    max-height: 0px;
}

#rightUI #friendOrOrganizationMenu .organizationButton,
#rightUI #friendOrOrganizationMenu .friendButton {
    display: flex;
    align-items: center;
    background: var(--menu-color-3);
    color: white;
    letter-spacing: 0.5px;
    font-size: 15px;
    padding: 11px;
    cursor: pointer;
    will-change: opacity;
    opacity: 0.871;
}

#rightUI #friendOrOrganizationMenu .showUntil:nth-child(even) .organizationButton,
#rightUI #friendOrOrganizationMenu .showUntil:nth-child(even) .friendButton {
    background: var(--menu-color-2);
}

#rightUI #friendOrOrganizationMenu .organizationButton #picture,
#rightUI #friendOrOrganizationMenu .friendButton #picture {
    flex-shrink: 0;
    background-color: white;
    background-size: cover;
    background-position: center;
    width: 37px;
    height: 37px;
    border-radius: 17%;
    border: 0px solid rgba(255, 255, 255, 0.27);
    order: 0;
}

#rightUI #friendOrOrganizationMenu .organizationButton #summary,
#rightUI #friendOrOrganizationMenu .friendButton #summary {
    color: white;
    flex: 1;
    min-width: 0;
    padding-top: 1px;
    padding-left: 10px;
    padding-right: 0px;
    line-height: 17px;
    font-size: 15px;
    order: 1;
}

#rightUI:hover #friendOrOrganizationMenu .organizationButton,
#rightUI:hover #friendOrOrganizationMenu .friendButton,
#rightUI #friendOrOrganizationMenu .organizationButton:hover,
#rightUI #friendOrOrganizationMenu .friendButton:hover,
#rightUI #friendOrOrganizationMenu .organizationButton.newMessageCount,
#rightUI #friendOrOrganizationMenu .friendButton.newMessageCount {
    opacity: 1;
}

#rightUI #friendOrOrganizationMenu .organizationButton > .clear,
#rightUI #friendOrOrganizationMenu .friendButton > .clear {
    display: none;
}

#rightUI #friendOrOrganizationMenu .organizationButton #buttons,
#rightUI #friendOrOrganizationMenu .friendButton #buttons {
    flex-shrink: 0;
    width: 0px;
    overflow: hidden;
    transition: width 0.15s ease;
    order: 3;
}

#rightUI #friendOrOrganizationMenu .organizationButton:hover #buttons,
#rightUI #friendOrOrganizationMenu .friendButton:hover #buttons,
#rightUI #friendOrOrganizationMenu .organizationButton.newMessageCount #buttons,
#rightUI #friendOrOrganizationMenu .friendButton.newMessageCount #buttons {
    width: 37px;
}

@media screen and (max-width: 992px) {

    #rightUI #friendOrOrganizationMenu .organizationButton #buttons,
    #rightUI #friendOrOrganizationMenu .friendButton #buttons {
        width: 37px;
    }
}

#rightUI #friendOrOrganizationMenu .organizationButton #chat,
#rightUI #friendOrOrganizationMenu .friendButton #chat {
    text-align: center;
    line-height: 37px;
    background: var(--jmkr-color-1);
    text-shadow: 1px 1px 3.5px rgba(0, 0, 0, 0.17);
    color: white;
    border-radius: 17%;
}

#rightUI #friendOrOrganizationMenu .organizationButton #favorite,
#rightUI #friendOrOrganizationMenu .friendButton #favorite {
    text-align: center;
    line-height: 37px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.17);
}

#rightUI #friendOrOrganizationMenu .currentOrganizationButton {
    color: white;
}

#rightUI #friendOrOrganizationMenu .organizationButton #cancel,
#rightUI #friendOrOrganizationMenu .friendButton #cancel {
    flex-shrink: 0;
    text-align: center;
    width: 37px;
    line-height: 37px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.17);
    order: 0;
}

#rightUI #friendOrOrganizationMenu .organizationButton #accept,
#rightUI #friendOrOrganizationMenu .friendButton #accept {
    flex-shrink: 0;
    text-align: center;
    width: 37px;
    line-height: 37px;
    border-radius: 50%;
    background: var(--jmkr-color-1);
    order: 3;
}

#rightUI #friendOrOrganizationMenu .organizationButton #summary .secondLine,
#rightUI #friendOrOrganizationMenu .friendButton #summary .secondLine {
    opacity: 0.5;
    font-size: 11px;
    letter-spacing: 0.17px;
}

#rightUI #friendOrOrganizationMenu .organizationButton #summary .secondLine.red,
#rightUI #friendOrOrganizationMenu .friendButton #summary .secondLine.red {
    opacity: 1;
    color: #db2828;
    font-weight: 600;
}

/* Organization Accordion */
#rightUI #friendOrOrganizationMenu .organizationButton .toggleOrgAccordion {
    cursor: pointer;
}

#rightUI #friendOrOrganizationMenu .organizationButton #accordionChevron {
    flex-shrink: 0;
    width: 28px;
    height: 37px;
    line-height: 37px;
    text-align: center;
    opacity: 0.4;
    cursor: pointer;
    transition: opacity 0.15s ease, transform 0.15s ease;
    order: 2;
}

#rightUI #friendOrOrganizationMenu .organizationButton #accordionChevron:hover {
    opacity: 1;
}

#rightUI #friendOrOrganizationMenu .organizationButton.accordion-expanded #accordionChevron {
    opacity: 1;
}

/* flex: 1 + min-width: 0 on #summary handles width distribution automatically
   with chevron and buttons as flex-shrink: 0 siblings */

#rightUI #friendOrOrganizationMenu .orgAccordionPanel {
    background: var(--menu-color-2);
    border-top: 1px solid var(--menu-color-3);
    overflow: hidden;
    animation: accordionSlideDown 0.2s ease-out;
    color: white;
}

@keyframes accordionSlideDown {
    from {
        opacity: 0;
        max-height: 0;
    }
    to {
        opacity: 1;
        max-height: 500px;
    }
}

#rightUI #friendOrOrganizationMenu .orgAccordionItem {
    padding: 8px 11px;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border-bottom: 1px solid var(--menu-color-3);
    transition: background 0.15s ease;
}

#rightUI #friendOrOrganizationMenu .orgAccordionItem:last-child {
    border-bottom: none;
}

#rightUI #friendOrOrganizationMenu .orgAccordionItem:hover {
    background: var(--menu-color-3);
}

#rightUI #friendOrOrganizationMenu .orgAccordionItem > i {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    opacity: 0.7;
}

#rightUI #friendOrOrganizationMenu .orgAccordionItem.loading {
    opacity: 0.6;
    cursor: default;
}

#rightUI #friendOrOrganizationMenu .orgAccordionItem.loading > i.spin {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

#rightUI #friendOrOrganizationMenu .orgChannelRow .channelInfo {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

#rightUI #friendOrOrganizationMenu .orgChannelRow .channelHeader {
    display: flex;
    align-items: center;
    gap: 6px;
}

#rightUI #friendOrOrganizationMenu .orgChannelRow .channelName {
    flex: 1;
    font-size: 13px;
    min-width: 0;
}

#rightUI #friendOrOrganizationMenu .orgChannelRow.has-unread .channelName {
    font-weight: 600;
}

#rightUI #friendOrOrganizationMenu .orgChannelRow .channelBadge {
    background: var(--jmkr-color-1);
    color: white;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 10px;
    flex-shrink: 0;
}

#rightUI #friendOrOrganizationMenu .orgChannelRow .channelTime {
    font-size: 10px;
    opacity: 0.5;
    flex-shrink: 0;
}

#rightUI #friendOrOrganizationMenu .orgChannelRow .channelMeta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    opacity: 0.6;
    margin-top: 2px;
}

#rightUI #friendOrOrganizationMenu .orgChannelRow .channelMeta i {
    width: 10px;
    height: 10px;
    margin-right: 2px;
}

#rightUI #friendOrOrganizationMenu .orgChannelRow .channelAssignees,
#rightUI #friendOrOrganizationMenu .orgChannelRow .channelDue {
    display: flex;
    align-items: center;
}

#rightUI #friendOrOrganizationMenu .orgChannelRow .channelPreview {
    font-size: 11px;
    opacity: 0.5;
    margin-top: 2px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Right UI - Add Friend/Organization */
#rightUI #addFriend,
#rightUI #addOrganization {
    float: left;
    width: 50%;
    background: var(--jmkr-color-1)77;
    color: white;
    line-height: var(--line-height);
    text-align: center;
    letter-spacing: 0.7px;
    font-size: 12px;
    cursor: pointer;
}

#rightUI #addFriend:hover,
#rightUI #addOrganization:hover {
    background-color: rgba(255, 255, 255, 0.1);
    font-weight: 500;
}

#rightList {
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}


/* --------------------------------------------------------------------------
   3.5 Pinned Menu
   -------------------------------------------------------------------------- */

#pinnedMenu {
    z-index: 17;
    position: fixed;
    top: 0px;
    left: 77px;
    width: 100%;
    text-align: right;
    padding-right: var(--line-height);
    pointer-events: none;
}

#pinnedMenu .item {
    display: inline-block;
    background: var(--jmkr-color-1);
    text-shadow: 1px 1px 3.5px rgba(0, 0, 0, 0.47);
    color: white;
    letter-spacing: 0.77px;
    font-size: 11px;
    line-height: 25px;
    margin-top: calc((var(--line-height) - 25px)/2);
    padding-left: 12.5px;
    padding-right: 12.5px;
    border-radius: 35px;
    cursor: pointer;
}


/* --------------------------------------------------------------------------
   Responsive - Mobile Layout Adjustments
   -------------------------------------------------------------------------- */

@media screen and (max-width: 768px) {

    #leftUI,
    #rightUI {
        overflow: hidden;
        will-change: transform;
    }
}


/* ==========================================================================
   4. PAGE COMPONENTS
   ========================================================================== */

/* --------------------------------------------------------------------------
   4.1 Page Layout
   -------------------------------------------------------------------------- */

.page {
    padding: 13px;
    padding-left: 11px;
    padding-right: 11px;
    padding-bottom: 0px;
}

.page.dataPage {
    padding: 0px !important;
}

.page.dataPage .form {
    padding: 1em !important;
}

.page.dataPage .dashboardPopUp .form,
.page.dataPage .dashboardFullPopUp .form {
    padding: 0em !important;
}

.page.dataPage .form.noPadding {
    padding: 0px !important;
}

.page.dataPage .form .field {
    position: relative;
}

.page.dataPage .form img,
.page.dataPage .form #picture {
    max-width: 300px;
    border-radius: 5px;
}

.page.dataPage .ui.grid {
    margin: 0px !important;
}

.page .pageScroll {
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding-right: 17px;
}

.tab .page {
    padding-top: 0px;
}


/* --------------------------------------------------------------------------
   4.2 Page Title & Actions
   -------------------------------------------------------------------------- */

.page .pageTitle {
    float: left;
    font-size: 19px;
    letter-spacing: 0.17px;
    padding-top: 1px;
    padding-bottom: 11px;
    padding-left: 4px;
    padding-right: 11px;
    border-bottom: 3px solid var(--jmkr-color-1);
}

.page .pageSubTitle {
    font-size: 11px;
    letter-spacing: 0.17px;
    margin-top: 17px;
    padding-top: 11px;
    padding-bottom: 9px;
    padding-left: 4px;
    padding-right: 11px;
    border-top: 1px solid var(--jmkr-color-1);
}

.page .pageAdd {
    float: right;
    background: var(--jmkr-color-1);
    color: white;
    margin-top: 0px;
    margin-left: 11px;
    padding: 7px;
    padding-left: 15px;
    padding-right: 15px;
    text-align: center;
    letter-spacing: 0.17px;
    font-size: calc(var(--line-height) * 0.335);
    font-weight: 500;
    border-radius: 3.5px;
    cursor: pointer;
    opacity: 0.95;
}

.page .pageAdd:hover {
    opacity: 1;
}

.page .pageAdd.inverted {
    position: relative;
    background: white;
    color: var(--jmkr-color-1);
    color: black;
    font-size: calc(var(--line-height) * 0.335);
    font-weight: 500;
}

.page .pageAdd.inverted i {
    font-size: 12px;
}

.page .pageAdd.inverted::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1px;
    width: 1px;
    border-left: 0px solid var(--jmkr-color-1);
    opacity: 0.17;
}

.page .pageAdd.inverted::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1px;
    width: 1px;
    border-left: 0px dotted rgba(0, 0, 0, 0.035);
}

.page .pageAdd.left {
    float: left;
}

.page.dataPage .pageAdd {
    border-radius: 0px !important;
    min-width: var(--line-height);
    line-height: var(--line-height);
    margin: 0px;
    padding: 0px;
    padding-left: calc(var(--line-height) * 0.317);
    padding-right: calc(var(--line-height) * 0.317);
}

.page .printPage {
    float: right;
    color: var(--jmkr-color-1);
    margin-top: 0px;
    margin-left: 11px;
    padding: 5px;
    padding-left: 11px;
    padding-right: 11px;
    text-align: center;
    letter-spacing: 0.7px;
    font-size: 17px;
    border-radius: 4px;
    cursor: pointer;
}


/* ==========================================================================
   5. ACCOUNT POPUP
   ========================================================================== */

#popup_account {
    background: white;
    border-radius: 2px;
}

#popup_account #accountMenu {
    margin-top: -17px;
    margin-left: -31px;
    margin-bottom: -17px;
    min-height: 585px;
    background-color: var(--jmkr-color-1);
}

#popup_account #accountMenu #greeting {
    padding: 17px;
    padding-top: calc(585px/2 - 27px);
    text-align: center;
    font-size: 17px;
    letter-spacing: 0.7px;
    line-height: 27px;
    color: white;
}

#popup_account #accountMenu .button,
#popup_account #accountMenu .activeButton {
    color: white;
    letter-spacing: 0.7px;
    font-size: 15px;
    padding: 35px;
    cursor: pointer;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

#popup_account #accountMenu .activeButton {
    color: var(--jmkr-color-1);
    background-color: white;
}

#popup_account #accountMenu .button i {
    font-size: 17px;
}

#popup_account #accountContent {
    background: white;
}

#popup_account #close {
    float: right;
    width: 40px;
    height: 40px;
    line-height: 38px;
    margin-right: -30px;
    margin-top: -30px;
    text-align: center;
    font-size: 21px;
    border-radius: 50%;
    background: #171717;
    color: white;
    cursor: pointer;
}

#popup {
    z-index: 9;
    position: fixed;
    top: 67px;
    left: 0px;
    width: 100%;
    max-height: calc(100% - 147px);
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

#popup #pageTitle {
    float: left;
    line-height: 29px;
    font-size: 21px;
    letter-spacing: 0.5px;
    font-weight: bold;
    padding: 11px;
    padding-top: 0px;
    padding-left: 0px;
    border-bottom: 6px solid #BDD73E;
    margin-bottom: -6px;
}

#popup #underline {
    clear: both;
    border-top: 6px solid #191919;
    margin-bottom: 21px;
}

#popup_account_bg,
#popup_department_bg,
#popup_search_bg,
#popup_cart_bg {
    z-index: 8;
    position: fixed;
    top: 67px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.27);
}


/* ==========================================================================
   6. DASHBOARD FEATURES
   ========================================================================== */

#Dashboard #featuresSectionList {
    padding-top: 0px;
    padding-bottom: calc(50px + 17px);
}

#Dashboard #featuresSectionList .feature {
    float: left;
    width: 117px;
    height: 117px;
    margin-top: 17px;
    margin-right: 17px;
    padding-top: 25px;
    text-align: center;
    color: #171717;
    border: 1px solid rgba(77, 77, 77, 0.17);
    border-radius: 7px;
    box-shadow: 0px -2px 3px rgba(0, 0, 0, 0.1);
    cursor: pointer;
}

.nightMode #Dashboard #featuresSectionList .feature {
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.1);
}

#Dashboard #featuresSectionList .true {
    color: white;
    background: var(--jmkr-color-1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 3px solid rgba(255, 255, 255, 0.3);
}

#Dashboard #featuresSectionList .feature .image {
    padding: 7px;
    font-size: 30px;
}

#Dashboard #featuresSectionList .feature .name {
    text-align: center;
    letter-spacing: 0.75px;
    font-size: 12px;
}

#Dashboard #featuresSectionList .feature .pitch {
    text-align: center;
    letter-spacing: 0.75px;
    font-size: 11px;
}


/* ==========================================================================
   7. BUSINESS CARD
   ========================================================================== */

#BusinessCard {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background: white;
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

#BusinessCard #banner {
    background: var(--jmkr-color-1) !important;
    min-height: 200px;
    border-bottom-left-radius: 35px;
    border-bottom-right-radius: 35px;
    box-shadow: 0px 17px 17px #00000007;
}

#BusinessCard #banner #email {
    position: absolute;
    right: 7px;
    top: 1.7px;
    cursor: pointer;
    color: white;
    line-height: 35px;
    width: 35px;
    text-align: center;
    font-size: 21px;
}

#BusinessCard #card {
    position: absolute;
    top: -117px;
    background: white;
    width: 100%;
    min-height: 200px;
    border-top-left-radius: 35px;
    border-top-right-radius: 35px;
    padding: 17px;
    box-shadow: 0px -17px 17px #00000017;
}

#BusinessCard #card #picture {
    border: 3px solid white;
    width: 125px;
    height: 125px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 50%;
    margin-top: -77px;
    background-color: white;
    background-image: url('jmkr/logo.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 1px 3px 17px #00000035;
}

#BusinessCard #card #name {
    text-align: center;
    font-weight: bold;
    font-size: 25px;
    letter-spacing: 0.75px;
    padding-top: 21px;
    padding-bottom: 7px;
}

#BusinessCard #card #bio {
    font-weight: normal;
    font-size: 15px;
    letter-spacing: 0.35px;
    line-height: 25px;
    padding-top: 17px;
    padding-bottom: 17px;
    border-bottom: 3px dotted rgba(0, 0, 0, 0.1);
}

#BusinessCard #card #customLink {
    margin-top: 17px;
    border: 1px solid #28B2CE;
    border-radius: 5px;
    padding: 17px;
    box-shadow: 1px 1px 7px #00000007;
}

#BusinessCard #card #customLink #label {
    text-align: center;
    letter-spacing: 0.75px;
    font-size: 17px;
    font-weight: bold;
}

#BusinessCard #card #customLink #description {
    text-align: center;
    letter-spacing: 0.75px;
    font-size: 12px;
    line-height: 15px;
    padding-top: 7px;
    opacity: 0.7;
}

#BusinessCard #social {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: calc(100% - 17px*2);
    margin-left: 17px;
    margin-right: 17px;
}

#BusinessCard #social .socialButton {
    text-align: center;
    line-height: 70px;
    font-size: 21px;
    color: #28B2CE;
}


/* ==========================================================================
   8. UI COMPONENTS
   ========================================================================== */

/* --------------------------------------------------------------------------
   8.1 Tabular Menu
   -------------------------------------------------------------------------- */

#jmkrClient .page.dataPage .ui.attached.segment {
    padding: 0px;
    box-shadow: none !important;
    border: none !important;
}

#jmkrClient .dashboardPopUp .top.attached.tabular.menu,
#jmkrClient .dashboardFullPopUp .top.attached.tabular.menu {
    width: calc(100% + 13.5px*2) !important;
    min-width: calc(100% + 13.5px*2) !important;
    max-width: calc(100% + 13.5px*2) !important;
    margin-left: -13.5px !important;
    margin-right: -13.5px !important;
    margin-top: -7.5px !important;
    margin-bottom: -2px !important;
    display: block;
    background-color: rgba(0, 0, 0, 0.017) !important;
}

#jmkrClient .dashboardPopUp .fluid.accordion {
    width: calc(100% + 13.5px*2) !important;
    min-width: calc(100% + 13.5px*2) !important;
    max-width: calc(100% + 13.5px*2) !important;
    margin-left: -13.5px !important;
    margin-right: -13.5px !important;
    margin-top: -7.5px !important;
    margin-bottom: 2.5px !important;
    display: block;
    background-color: rgba(0, 0, 0, 0.017) !important;
}

#jmkrClient .ui.attached.tabular.menu {
    height: var(--line-height);
    line-height: var(--line-height);
    overflow-y: hidden;
    overflow-x: auto;
    white-space: nowrap;
    padding-top: 0px;
    border-radius: 0px !important;
    margin-top: -1px !important;
    background: linear-gradient(to right, rgb(235, 235, 235), rgba(235, 235, 235, 0.35)) !important;
}

#jmkrClient .dashboardPopUp .ui.attached.segment {
    padding-bottom: 0px !important;
}

#jmkrClient .ui.attached.segment {
    padding-top: 10px;
    border: none !important;
    box-shadow: none !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin-bottom: 0px !important;
}

#jmkrClient .ui.attached.segment.formFieldSegment {
    padding-top: 1.1em;
}

#jmkrClient .ui.menu {
    min-height: var(--line-height);
    font-size: 0px;
}

#jmkrClient .ui.tabular.menu .item {
    display: inline-block;
    font-size: calc(var(--line-height) * 0.325);
    letter-spacing: 0.17px;
    height: var(--line-height);
    padding-top: calc(var(--line-height) * 0.335);
    padding-left: calc(var(--line-height) * 0.377);
    padding-right: calc(var(--line-height) * 0.377);
    border: none;
    margin-right: 0px !important;
    background: rgba(0, 0, 0, 0.017) !important;
    border-top-left-radius: 7px !important;
    border-top-right-radius: 7px !important;
}

#jmkrClient .ui.tabular.menu .item:hover {
    background: rgba(0, 0, 0, 0.1) !important;
}

#jmkrClient.nightMode .ui.tabular.menu .item:hover {
    background: rgba(255, 255, 255, 0.17) !important;
}

#jmkrClient .ui.tabular.menu .item {
    border-radius: 0px !important;
}

#jmkrClient .ui.tabular.menu .active.item {
    background: var(--jmkr-color-1) !important;
    color: white !important;
    font-weight: 500 !important;
}


/* --------------------------------------------------------------------------
   8.2 Feed & Cards
   -------------------------------------------------------------------------- */

label .info.circle {
    opacity: 0.35;
}

.ui.feed>.event>.label img {
    width: 100%;
    border-radius: 50%;
    height: 35px;
    object-fit: cover;
}

.ui.feed>.event>.content .meta>* {
    margin-left: auto;
}

.event .content {
    margin-left: 0px !important;
}

.blue.card .blue.card {
    width: calc(100% + 20px) !important;
    max-width: calc(100% + 20px) !important;
    margin-top: -10px;
    margin-left: -10px;
    margin-bottom: -10px;
    box-shadow: none;
}

.blue.card .accordion {
    width: calc(100% + 20px) !important;
    max-width: calc(100% + 20px) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    margin-left: -10px;
    margin-bottom: -10px;
    box-shadow: none;
    border-radius: 0px;
}


/* --------------------------------------------------------------------------
   8.3 Organization Menu
   -------------------------------------------------------------------------- */

#organizationHorizontalMenu {
    overflow-x: auto;
    white-space: nowrap;
    margin-top: 1.7px;
    width: 100%;
    border-radius: 4px;
}

#organizationHorizontalMenu .organizationButton {
    display: inline-block;
    line-height: 40px;
    font-size: 12px;
    letter-spacing: 1.17px;
    color: white;
    background: rgba(37, 37, 37, 1);
    margin-right: 5px;
    padding-left: 17px;
    padding-right: 17px;
    border-radius: 5px;
}

#organizationHorizontalMenu .currentOrganizationButton {
    background: var(--jmkr-color-1);
    color: white;
}


/* ==========================================================================
   9. SCROLLBAR STYLES
   ========================================================================== */

#jmkrClient ::-webkit-scrollbar {
    width: 5px;
    height: 3.5px;
    background-color: rgba(0, 0, 0, 0.17);
}

#jmkrClient ::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1);
}

#jmkrClient.nightMode ::-webkit-scrollbar-track {
    background: #393939;
}

#jmkrClient ::-webkit-scrollbar-thumb {
    background: var(--jmkr-color-1);
    opacity: 0.35;
    border-radius: 0px;
}

#jmkrClient *:hover ::-webkit-scrollbar-thumb {
    opacity: 1;
    background: var(--jmkr-color-1);
}


/* ==========================================================================
   10. THIRD-PARTY OVERRIDES
   ========================================================================== */

/* --------------------------------------------------------------------------
   10.1 Intro.js Tour
   -------------------------------------------------------------------------- */

.introjs-skipbutton {
    display: none !important;
}

.introjs-tooltip-title {
    float: none !important;
    line-height: 1.17em !important;
    padding-top: 5px !important;
}

.introjs-tooltip-header {
    text-align: center !important;
}

.introjs-tooltiptext {
    padding-top: 10px !important;
    padding-bottom: 7px !important;
}

.introjs-button {
    border: none !important;
    letter-spacing: 0.7px;
    font-size: 13.5px;
    text-shadow: none !important;
}

.introjs-button:focus {
    box-shadow: none !important;
    border: none !important;
}

.introjs-nextbutton {
    background: var(--jmkr-color-1) !important;
    text-shadow: none;
    color: white !important;
}

a.introjs-nextbutton:hover {
    color: white !important;
}

.introjs-bullets ul li a.active {
    background: var(--jmkr-color-1) !important;
}


/* --------------------------------------------------------------------------
   10.2 WYSIWYG Editor
   -------------------------------------------------------------------------- */

.WYSIWYG-floating-ai-button {
    position: fixed;
    z-index: 1059;
    cursor: pointer;
    background: black;
    color: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 4px 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    display: none;
    font-size: 13px;
    font-weight: bold;
    line-height: 1.4;
    white-space: nowrap;
    pointer-events: auto;
    user-select: none;
    will-change: transform;
}

.WYSIWYG-floating-ai-button:hover {
    transform: scale(1.05);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.tox.tox-tinymce.tox-fullscreen {
    width: 100% !important;
}


/* ==========================================================================
   11. FORM COMPONENTS
   ========================================================================== */

/* --------------------------------------------------------------------------
   11.1 Contact Search
   -------------------------------------------------------------------------- */

#contactSearchForm {
    position: relative;
    line-height: var(--line-height);
    height: var(--line-height);
    overflow: hidden;
    background-color: rgba(255, 255, 255, 0.035);
}

#contactSearchForm .searchIcon {
    position: absolute;
    color: white;
    left: 11px;
    top: 0px;
    opacity: 0.5;
}

#contactSearchForm .closeIcon {
    position: absolute;
    color: white;
    right: 0px;
    top: 0px;
    padding-left: 11px;
    padding-right: 11px;
    cursor: pointer;
}

#contactSearchForm #inputContactSearch {
    color: white;
    line-height: var(--line-height) !important;
    min-height: var(--line-height) !important;
    height: var(--line-height) !important;
    padding: 0px !important;
    padding-left: 35px !important;
    margin: 0px !important;
    font-size: 11px !important;
    letter-spacing: 0.75px !important;
}


/* --------------------------------------------------------------------------
   11.2 Native Select Elements
   -------------------------------------------------------------------------- */

#jmkrClient select:not(.chph__trustSelect) {
    display: block;
    width: 100%;
    height: calc(2.25em + 2px);
    padding: .375rem .75rem;
    padding-right: 2rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: none;
    border-bottom: 1px solid #E9E8E8;
    border-radius: 0rem;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23495057' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 12px;
}

#jmkrClient select:not(.chph__trustSelect):focus {
    color: #495057;
    background-color: #fff;
    outline: 0;
    box-shadow: none;
}

#jmkrClient select:not(.chph__trustSelect):disabled {
    background-color: #e9ecef;
    opacity: 1;
}

#jmkrClient .nightMode select:not(.chph__trustSelect) {
    background-color: #1b1b1b;
    border-color: #393939;
    color: #fff;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
}

#jmkrClient .nightMode select:not(.chph__trustSelect):focus {
    background-color: #1b1b1b;
    border-color: var(--jmkr-color-1);
    color: #fff;
}

#jmkrClient .nightMode select:not(.chph__trustSelect):disabled {
    background-color: #2d2d2d;
    color: #888;
}


/* ==========================================================================
   12. SUBSCRIPTION MODAL
   ========================================================================== */

#jmkrClient #requireSubscription {
    position: absolute;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(10, 12, 16, 0.5);
    -webkit-backdrop-filter: blur(3.5px) saturate(1.0);
    backdrop-filter: blur(3.5px) saturate(1.0);
    pointer-events: auto;
}

#jmkrClient #requireSubscription::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(1000px 340px at 60% 55%, rgba(0, 0, 0, 0.40), rgba(0, 0, 0, 0.10));
    -webkit-backdrop-filter: blur(25px) saturate(1.05);
    backdrop-filter: blur(25px) saturate(1.05);
    -webkit-mask-image: radial-gradient(closest-side, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 70%);
    mask-image: radial-gradient(closest-side, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 70%);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

#jmkrClient #requireSubscription .glass-card {
    width: 100%;
    max-width: 560px;
    text-align: center;
    color: var(--text-on-dark, #ffffff);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.06));
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 3.5px;
    padding: 35px 15px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.40), 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
    -webkit-backdrop-filter: blur(14px) saturate(1.1);
    backdrop-filter: blur(14px) saturate(1.1);
    position: relative;
}

#jmkrClient #requireSubscription.is-hidden {
    display: none !important;
}

#jmkrClient #requireSubscription .glass-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 3.5px;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0) 40%);
    opacity: 0.25;
}

#jmkrClient #requireSubscription .title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.2px;
    margin-bottom: 8px;
    animation-delay: 40ms;
}

#jmkrClient #requireSubscription .title .icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 13px;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #ffffff !important;
}

#jmkrClient #requireSubscription .content {
    font-size: 14px;
    line-height: 1.4;
    opacity: 0.92;
    animation-delay: 90ms;
    padding-top: 1em;
    padding-bottom: 1em;
}

#jmkrClient #requireSubscription .actions {
    margin-top: 14px;
    display: flex;
    gap: 8px;
    justify-content: center;
    flex-wrap: wrap;
    animation-delay: 140ms;
}

#jmkrClient #requireSubscription .actions .ui.button {
    border-radius: 3.5px !important;
    padding: 9px 17px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
    transition: transform 120ms ease, background 120ms ease, box-shadow 120ms ease !important;
}

#jmkrClient #requireSubscription .actions .ui.button:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.16) !important;
}

#jmkrClient #requireSubscription .actions .ui.primary.button {
    background: var(--jmkr-color-1) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
}

@media (prefers-reduced-motion: reduce) {

    #jmkrClient #requireSubscription,
    #jmkrClient #requireSubscription::before,
    #jmkrClient #requireSubscription .glass-card,
    #jmkrClient #requireSubscription .title,
    #jmkrClient #requireSubscription .content,
    #jmkrClient #requireSubscription .actions {
        animation: none !important;
        transition: none !important;
    }
}

.analysisActions .analysisAction:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 22px -14px rgba(0, 0, 0, 0.35);
}

.analysisFilters .filterChip:hover {
    transform: translateY(-1px);
}

.analysisBulkActions .miniAction:hover {
    background: rgba(0, 0, 0, 0.15);
}

.patientCareDataHeader {
    width: 100%;
    line-height: var(--line-height);
    padding-left: 10px;
    padding-right: 10px;
    border-bottom: 1px solid var(--rowBorderColor);
    box-sizing: border-box;
    background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
}

.patientCareHeaderRow,
.patientCareDataRowColumns {
    display: grid;
    grid-template-columns:
        minmax(92px, 0.7fr) minmax(96px, 0.7fr) minmax(180px, 1.1fr) minmax(70px, 0.5fr) minmax(120px, 0.9fr) minmax(160px, 1.2fr) minmax(160px, 1.2fr) minmax(190px, 1.6fr);
    column-gap: 12px;
    row-gap: 6px;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

.patientCareHeaderRow.noTimers,
.patientCareDataRowColumns.noTimers {
    grid-template-columns:
        minmax(92px, 0.7fr) minmax(210px, 1.3fr) minmax(70px, 0.5fr) minmax(120px, 0.9fr) minmax(160px, 1.2fr) minmax(160px, 1.2fr) minmax(190px, 1.6fr);
}

.patientCareHeaderRow.noChiefComplaint,
.patientCareDataRowColumns.noChiefComplaint {
    grid-template-columns:
        minmax(92px, 0.7fr) minmax(96px, 0.7fr) minmax(210px, 1.3fr) minmax(80px, 0.5fr) minmax(140px, 1fr) minmax(180px, 1.3fr) minmax(170px, 1.2fr);
}

.patientCareHeaderRow.noTimers.noChiefComplaint,
.patientCareDataRowColumns.noTimers.noChiefComplaint {
    grid-template-columns:
        minmax(92px, 0.7fr) minmax(210px, 1.3fr) minmax(80px, 0.5fr) minmax(140px, 1fr) minmax(180px, 1.3fr) minmax(170px, 1.2fr);
}

.patientCareHeaderCell {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #5f6d82;
    white-space: nowrap;
}

.patientCareDataRowColumns {
    padding: 8px 4px;
}

.patientCareDataCell {
    font-size: calc(var(--rowHeight) * 0.317);
    line-height: calc(var(--rowHeight) * 0.55);
    color: var(--rowFontColor);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: normal;
}

.patientCareDataCell.arrival {
    padding-left: 0.5em;
}

.patientCareDataCell a {
    color: var(--rowFontColor) !important;
    font-weight: 600;
}

.patientCareDataCell.chiefComplaint {
    white-space: normal;
}

.patientCareDataCell.totalTime {
    font-variant-numeric: tabular-nums;
}

.patientCareTriageDot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}

.patientCareRegistryLayout {
    display: grid;
    grid-template-columns: 1fr minmax(335px, 335px);
    gap: 0;
    align-items: flex-start;
}

.patientCareListColumn {
    width: 100%;
    min-width: 0;
}

.patientCareFilterPanel {
    background: #ffffff;
    border-left: 1px solid #e2e8f0;
    padding: 15px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
    position: relative;
    max-height: calc(100vh - var(--line-height) * 3);
    overflow-y: auto;
}

.patientCareFilterPanel.collapsed {
    display: none;
    overflow-y: hidden;
}

.patientCareFilterPanel.collapsed .patientCareFilterHeader {
    margin-bottom: 0;
}

.patientCareFilterPanel.collapsed .patientCareFilterSection {
    display: none;
}

.patientCareFilterSearchField {
    position: relative;
    margin-top: 6px;
}

.patientCareFilterSearchField::before {
    content: "\f002";
    font-family: 'Icons';
    font-size: 14px;
    position: absolute;
    top: 50%;
    left: 14px;
    transform: translateY(-50%);
    color: #64748b;
    pointer-events: none;
}

.patientCareFilterSearchField #inputPatientCareSearch {
    margin: 0;
}

.patientCareFilterSearchField #inputPatientCareSearch input {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 11px 12px 11px 38px;
    font-size: 14px;
    background: #f8fafc;
    color: #27364b;
    transition: border-color 120ms ease, box-shadow 120ms ease, background 120ms ease;
}

.patientCareFilterSearchField #inputPatientCareSearch input:focus {
    border-color: var(--jmkr-color-1);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(30, 173, 211, 0.14);
    outline: none;
}

.patientCareFilterSearchField #inputPatientCareSearch input::placeholder {
    color: #94a3b8;
}

.patientCareRegistryLayout.filtersHidden {
    grid-template-columns: 1fr;
}

.patientCareRegistryLayout.filtersHidden .patientCareFilterPanel {
    display: none;
}

.patientCareFilterHeader {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "title action"
        "summary summary";
    gap: 8px 12px;
    align-items: center;
    margin-bottom: 10px;
}

.patientCareFilterTitle {
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 6px;
    grid-area: title;
}

.patientCareFilterHeaderMeta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    grid-area: action;
}

.patientCareFilterSummary {
    font-size: 13px;
    color: #475569;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    line-height: 1.4;
    grid-area: summary;
}

.patientCareFilterActiveCount {
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 600;
}

.patientCareFilterSection {
    margin-bottom: 18px;
}

.patientCareFilterSectionTitle {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #64748b;
    margin-bottom: 8px;
}

.patientCareFilterGroup .filterChip {
    background: rgba(15, 23, 42, 0.06);
    color: #27364b;
}

.patientCareFilterGroup .filterChip .filterBadge {
    background: rgba(15, 23, 42, 0.12);
    color: rgba(15, 23, 42, 0.75);
}

.patientCareFilterGroup .filterChip.active {
    background: var(--jmkr-color-1);
    color: #ffffff;
}

.patientCareFilterGroup .filterChip.active .filterBadge {
    background: rgba(255, 255, 255, 0.22);
    color: #ffffff;
}

.patientCareFilterGroup .filterChip.disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.patientCareFilterGroup .filterChip.disabled.active {
    opacity: 0.7;
    cursor: pointer;
}

.patientCareChipDot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}

.patientCareChipLabel {
    white-space: nowrap;
}

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

    .patientCareFilterPanel {
        max-height: none;
        width: 100%;
    }
}

.patientCareEmptyNotice {
    margin: 15px;
    padding: 18px;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    background: rgba(148, 163, 184, 0.12);
    color: #475569;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}

.patientCareEmptyNotice .ban.icon {
    font-size: 20px;
    color: #94a3b8;
}

.patientCareEmptyNotice .ui.button.basic {
    box-shadow: none;
}

@media (max-width: 1200px) {

    .patientCareHeaderRow,
    .patientCareDataRowColumns {
        grid-template-columns:
            minmax(90px, 1fr) minmax(100px, 1fr) minmax(200px, 1.5fr) minmax(100px, 1fr) minmax(200px, 1.4fr);
        grid-template-areas:
            "arrival totalTime name name name"
            "age triage location chiefComplaint chiefComplaint";
    }

    .patientCareHeaderRow .arrival,
    .patientCareDataRowColumns .arrival {
        grid-area: arrival;
    }

    .patientCareHeaderRow .totalTime,
    .patientCareDataRowColumns .totalTime {
        grid-area: totalTime;
    }

    .patientCareHeaderRow .name,
    .patientCareDataRowColumns .name {
        grid-area: name;
    }

    .patientCareHeaderRow .age,
    .patientCareDataRowColumns .age {
        grid-area: age;
    }

    .patientCareHeaderRow .triage,
    .patientCareDataRowColumns .triage {
        grid-area: triage;
    }

    .patientCareHeaderRow .location,
    .patientCareDataRowColumns .location {
        grid-area: location;
    }

    .patientCareHeaderRow .chiefComplaint,
    .patientCareDataRowColumns .chiefComplaint {
        grid-area: chiefComplaint;
    }

    .patientCareDataCell,
    .patientCareHeaderCell {
        white-space: normal;
    }
}

@media (max-width: 768px) {

    .patientCareHeaderRow,
    .patientCareDataRowColumns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "arrival totalTime"
            "name name"
            "age triage"
            "location location"
            "chiefComplaint chiefComplaint";
    }

    .patientCareHeaderCell {
        font-size: 0.75rem;
    }

    .patientCareDataCell {
        font-size: 0.8rem;
    }
}



@keyframes animate_dataRow {
    from {
        transform: translateX(7%);
        opacity: 0;
        max-height: calc(0/100 * 1117px);
        overflow: hidden;
    }

    50% {
        transform: translateX(0%);
        opacity: 1;
        max-height: calc(50/100 * 1117px);
        overflow: hidden;
    }

    99% {
        max-height: calc(99/100 * 1117px);
        overflow: hidden;
    }

    to {
        max-height: none;
        overflow: hidden;
    }
}

@keyframes animate_borderedDataRow {
    from {
        transform: translateX(17%);
        opacity: 0;
        max-height: calc(35px + 0/100 * 700px);
        overflow: hidden;
    }

    50% {
        transform: translateX(0%);
        opacity: 1;
        max-height: calc(35px + 50/100 * 700px);
        overflow: hidden;
    }

    99% {
        max-height: calc(35px + 99/100 * 700px);
        overflow: hidden;
    }

    to {
        max-height: none;
        overflow: auto;
    }
}

.animationTypeMessage .wait {
    animation: animationTypeMessage-wait 500ms infinite;
}

@keyframes animationTypeMessage-wait {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes pulse-error {

    0%,
    100% {
        outline-color: #ef4444;
    }

    50% {
        outline-color: #f87171;
    }
}



.ui.selection.clearable.dropdown>.remove.icon {
    transform: translateY(6px);
}

.tox .tox-promotion {
    display: none !important;
}

.tox:not([dir=rtl]) .tox-statusbar__branding {
    width: 0.1px !important;
    margin-left: 0.1px !important;
    overflow: hidden !important;
}

.tox .tox-edit-area::before {
    width: 0.1px !important;
    margin-left: 0.1px !important;
    overflow: hidden !important;
}

.tox .tox-number-input {
    margin-left: 4px !important;
    max-width: 135px !important;
    border: none !important;
    outline: none !important;
}

.tox .tox-editor-container input {
    min-height: 0px !important;
    border: none !important;
    outline: none !important;
}



i.flag.xc::before,
i.flag.xcd::before {
    border: none !important;
    box-shadow: none !important;
    background-image: url(flag_xcd.png);
    background-size: 1.135em 0.85em;
    background-position: center center;
    background-repeat: no-repeat;
    border-radius: 3.5px;
    border: 1px solid rgba(0, 0, 0, 0.1);
}




.analysisHeader {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75em;
    margin-bottom: 0.85em;
    padding-bottom: 0.75em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.analysisTitle {
    display: flex;
    align-items: center;
    gap: 0.45em;
    font-weight: 600;
    font-size: 1.1em;
    color: #1f2d3d;
}

.analysisTitle i {
    font-size: 1.2em;
    color: var(--jmkr-color-1);
}

.analysisMeta {
    flex: 1 1 auto;
    color: rgba(60, 78, 90, 0.78);
    font-size: 0.95em;
}

.analysisActions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.analysisActions .analysisAction {
    background: var(--jmkr-color-1);
    color: white;
    padding: 10px 20px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.25px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 18px -12px rgba(0, 0, 0, 0.3);
    transition: transform 120ms ease, box-shadow 120ms ease;
}

.analysisPanel {
    background: #ffffff;
    padding: 18px;
    margin: 0;
}

.analysisSection {
    margin-bottom: 24px;
}

.analysisSection:last-child {
    margin-bottom: 0;
}

.analysisEmpty {
    padding: 16px;
    text-align: center;
    color: rgba(0, 0, 0, 0.45);
    font-size: 13px;
    background: rgba(0, 0, 0, 0.02);
    border-radius: 8px;
    border: 1px dashed rgba(0, 0, 0, 0.1);
}

.analysisLoading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px;
    color: rgba(0, 0, 0, 0.5);
    font-size: 13px;
}

.analysisItemName {
    font-weight: 500;
    color: #1b1c1d;
}

.analysisItemMeta {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.45);
    margin-top: 2px;
}

.analysisSection .sectionHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.analysisSection .sectionTitle {
    font-weight: 600;
    color: #1b1c1d;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.analysisSection .sectionTitle i {
    color: var(--jmkr-color-1);
}

.analysisSection .sectionMeta {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.45);
}

.analysisDataTable thead tr th {
    background: rgba(0, 0, 0, 0.02) !important;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: rgba(0, 0, 0, 0.55);
}

.analysisDataTable tbody tr {
    font-size: 13px;
}

.analysisDataTable tbody tr.highlight {
    background: rgba(27, 165, 126, 0.08);
}

.analysisDataTable tbody tr.warning {
    background: rgba(255, 165, 0, 0.12);
}

.analysisDataTable tbody tr td {
    vertical-align: top;
}

.analysisSummaryGrid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.analysisSummaryCard {
    background: rgba(0, 0, 0, 0.03);
    padding: 14px;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.analysisSummaryValue {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 6px;
}

.analysisSummaryLabel {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: rgba(0, 0, 0, 0.55);
}

.analysisSummaryMeta {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.4);
    margin-top: 4px;
}

.analysisSummaryMonetary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    font-size: 11px;
}

.analysisSummaryMonetary .monetaryLabel {
    color: rgba(0, 0, 0, 0.45);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.analysisSummaryMonetary .monetaryValue {
    font-weight: 600;
}

.analysisSummaryMonetary .monetaryValue.costValue {
    color: #9b59b6;
}

.analysisSummaryMonetary .monetaryValue.salesValue {
    color: #27ae60;
}

.sectionMeta .metaMonetary {
    font-weight: 600;
}

.analysisDataTable .monetaryCell {
    font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
    font-size: 12px;
    text-align: right;
}

.analysisDataTable .monetaryCell.costCell {
    color: #9b59b6;
}

.analysisDataTable .monetaryCell.salesCell {
    color: #27ae60;
}

.analysisFilters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.analysisFilters .filterGroup {
    display: flex;
    align-items: center;
    gap: 6px;
}

.analysisFilters .filterLabel {
    font-size: 12px;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.45);
}

.analysisFilters .filterChip {
    padding: 10px 12.5px;
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.06);
    color: rgba(0, 0, 0, 0.7);
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.analysisFilters .filterChip.active {
    background: var(--jmkr-color-1);
    color: white;
    box-shadow: 0 8px 18px -14px rgba(0, 0, 0, 0.4);
}

.analysisFilters .filterBadge {
    background: rgba(0, 0, 0, 0.12);
    color: rgba(0, 0, 0, 0.75);
    font-size: 11px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 8px;
}

.analysisBulkActions {
    margin-left: auto;
    display: flex;
    gap: 6px;
}

.analysisBulkActions .miniAction {
    background: rgba(0, 0, 0, 0.08);
    padding: 6px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    color: rgba(0, 0, 0, 0.7);
    transition: background 120ms ease;
}

/* Settings Page styles moved to stylesheets/settings.css */

/* ===== Toolkit Cards ===== */
.toolkitCardsGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1em;
}

.toolkitCard {
    display: flex;
    flex-direction: column;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 5px;
    padding: 1em;
    transition: all 150ms ease;
}

.toolkitCard:hover {
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.toolkitCard__header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.toolkitCard__icon {
    width: 30px;
    height: 30px;
    border-radius: 5px;
    background: linear-gradient(135deg, var(--jmkr-color-1) 0%, color-mix(in srgb, var(--jmkr-color-1) 80%, #000) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 15px;
    flex-shrink: 0;
}

.toolkitCard__name {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1e293b;
}

.toolkitCard__description {
    flex: 1;
    font-size: 1rem;
    line-height: 1.5;
    color: #64748b;
    margin-bottom: 12px;
}

.toolkitCard__toggle {
    display: flex;
    align-items: center;
    padding-top: 12px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.toolkitCard__toggle .ui.toggle.checkbox {
    cursor: pointer;
}

.toolkitCard__toggle .ui.toggle.checkbox label {
    font-size: 0.8rem;
    font-weight: 500;
    color: #64748b;
}

@media screen and (max-width: 640px) {
    .toolkitCardsGrid {
        grid-template-columns: 1fr;
    }
}

/* Settings Job Card and related styles moved to stylesheets/settings.css */#JMDK_measureInterface {
    z-index: 1;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
    pointer-events: none;
}

.JMDK_app {
    z-index: 1;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;

    background: transparent;
}

.JMDK_page {
    z-index: 1;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

#JMDK_editorMode {
    z-index: 171;
    position: fixed;
    width: 100%;
    padding: 17px;
    left: 0px;
    bottom: 0px;

    text-align: center;
}

#JMDK_editorMode .JMDK_button {
    background-color: white;
    color: black;
    box-shadow: 1px 3px 17px #00000007;
    display: inline-block;
    white-space: nowrap !important;
    cursor: pointer;
    opacity: 1;
    font-size: 13.5px;
    line-height: 40px;
    padding-right: 17px;
    padding-left: 17px;
}

#JMDK_editorMode .selected {
    background-color: var(--jmkr-color-1);
    color: white;
}

#JMDK_editorMode .JMDK_line {
    display: inline-block;
    width: 1px;
    height: 40px;
    margin-left: -4px;
    margin-right: -4px;
}

#JMDK_editorMode:hover {
    opacity: 1;
}

#JMDK_loadingInterface {
    z-index: 171;
    position: fixed;
    width: 100%;
    left: 0px;
    top: calc(50% - 50px);

    line-height: 100px;
    text-align: center;
    opacity: 0.1;
}

#JMDK_loadingInterfaceBG {
    z-index: 170;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;

    background: rgba(0, 0, 0, 0.17);
    opacity: 0;
    pointer-events: none;

    will-change: opacity;
    -webkit-transition: opacity 0.35s ease;
    -moz-transition: opacity 0.35s ease;
    -ms-transition: opacity 0.35s ease;
    -o-transition: opacity 0.35s ease;
    transition: opacity 0.35s ease;
}

#JMDK_loadingInterfaceBG.JMDK_showLoadingInterface {
    opacity: 1;
}

.JMDK_element {
    position: relative;
}

.JMDK_inventoryDate_schedule {
    overflow-y: hidden;
    overflow-x: auto;
    white-space: nowrap;
    padding: 10px;
    margin-left: 7px;
    width: calc(100% - 14px);
    background-color: rgba(255, 255, 255, 0.17);
    border-radius: 5px;

    border: 1px solid rgba(0, 0, 0, 0.15);
}

.JMDK_inventoryDate_option {
    display: inline-block;
    line-height: 1.5;
    padding: 12px 20px;
    cursor: pointer;
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 5px;
    margin-right: 7px;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.JMDK_inventoryDate_option:last-child {
    margin-right: 0;
}

.JMDK_inventoryDate_option:hover {
    background-color: #e0e0e0;
    border-color: rgba(0, 0, 0, 0.3);
}

.JMDK_inventoryDate_option.isNow {
    border-color: var(--jmkr-color-1);
    background-color: var(--jmkr-color-1);
    color: white;
    font-weight: 500;
}

.JMDK_inventoryDate {
    display: none;
    position: relative;
}

.JMDK_inventoryDate .schedule {
    float: left;
    margin: 7px !important;
    margin-top: 0px !important;
    margin-bottom: 17px !important;
    padding: 11px !important;
    padding-left: 17px !important;
    padding-right: 17px !important;
    letter-spacing: 0.75px;
    font-size: 15px;
    line-height: 1.35em;
    cursor: pointer;

    background: rgba(0, 0, 0, 0.035);
    border: 1px solid rgba(0, 0, 0, 0.17);
    border-radius: 5px;
}

.JMDK_inventoryDate .status {
    position: absolute;
    top: 0px;
    right: 0px;
    height: 100%;
    float: right;
    letter-spacing: 0.75px;
    font-size: 14px;
    cursor: pointer;

    background: rgba(0, 0, 0, 0.035);
    border: 1px solid rgba(0, 0, 0, 0.17);
    border-radius: 5px;
}

.JMDK_inventoryCategoryScroll::-webkit-scrollbar {
    display: none;
}

.JMDK_inventoryCategoryScroll {
    overflow-y: hidden;
    overflow-x: auto;
    white-space: nowrap;
    height: 155px;

    margin-top: 11px;
    margin-bottom: 1.7px;
}

.JMDK_inventoryCategory {
    display: inline-block;
    cursor: pointer;

    padding-left: 17px;
    padding-right: 17px;
}

.JMDK_inventoryCategoryPicture {
    height: 90px;
    line-height: 90px;
    text-align: center;
    width: 90px;
    font-size: 35px;
    color: rgba(0, 0, 0, 0.35);

    margin-left: auto;
    margin-right: auto;

    background-color: rgba(0, 0, 0, 0.17);
    border-radius: 50%;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.JMDK_inventoryCategory.isSelected .JMDK_inventoryCategoryPicture {
    border: 5px solid var(--jmkr-color-1);
    line-height: calc(90px - 5px*2);
}

.JMDK_inventoryCategoryName {
    text-align: center;
    padding-top: 21px;
    font-size: 14px;
    font-weight: 500;
}

.JMDK_inventoryThumbnail {
    background-color: white;
    position: relative;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    margin: 7px;
    margin-bottom: calc((17px*2.5)/2);
    cursor: pointer;
}

.JMDK_inventoryThumbnail .slideshow {
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-top: 0px;
    border-bottom: 0px;
}

.JMDK_inventoryThumbnail .picture {
    background-color: rgba(0, 0, 0, 0.1);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding-bottom: 80%;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
}

.JMDK_inventoryThumbnail .information {
    background-color: white;
    padding-bottom: 0px;
    padding-left: 11px;
    padding-right: 11px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-top: 0px;
    border-bottom: 3px solid rgba(0, 0, 0, 0.1);
}

.JMDK_inventoryThumbnail .information .name {
    padding-top: 11px;
    padding-bottom: 11px;
    font-size: 20px;
    line-height: 25px;
    letter-spacing: 0.75px;

}

.JMDK_inventoryThumbnail .information .price,
.JMDK_inventoryThumbnail .information .price .unit,
.JMDK_inventoryThumbnail .information .price .min {
    float: left;

    font-size: 15px;
    line-height: 17px;
    letter-spacing: 0.75px;
    padding-bottom: 11px;

    opacity: 0.5;
}

.JMDK_inventoryThumbnail .information .price .unit {
    float: none;
    opacity: 0.7;
    font-size: 70%;
    font-family: inherit !important;
}

.JMDK_inventoryThumbnail .information .price .min {
    float: none;
    display: block;
    opacity: 0.6;
    font-size: 70%;
    font-family: inherit !important;
}

.JMDK_inventoryThumbnail .information .rating {
    float: right;

    font-size: 13px;
    line-height: 17px;
    padding-bottom: 11px;
    letter-spacing: -1.75px;

    opacity: 0.5;
}

.JMDK_inventoryThumbnail .information .viewInventory {
    cursor: pointer;
    line-height: 17px;
    padding: 11px;
    text-align: center;
    font-size: 15px;
    letter-spacing: 0.75px;
    width: 155px;
    max-width: 100%;
    background-color: var(--jmkr-color-1);
    color: white;
}

#JMDK_inventoryPopUp {
    background-color: white;
    position: fixed;
    z-index: 99;

    border-radius: 1em;

    top: 11px;
    left: calc(50% - 1050px/2);

    width: 100%;
    max-width: 1050px;
    max-height: calc(100% - 35px - 17px - 17px);

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

@media screen and (max-width: 1050px) {
    #JMDK_inventoryPopUp {
        left: 17px;
        max-width: calc(100% - 34px);
    }
}

@media screen and (max-width: 767px) {
    #JMDK_inventoryPopUp {
        top: 0px;
        left: 0px;
        max-height: 100%;
        max-width: 100%;
        border-radius: 0px;
        padding-bottom: 77px;
    }
}

#JMDK_inventoryPopUpBG {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.35));
    position: fixed;
    z-index: 98;

    top: 0px;
    left: 0px;

    width: 100%;
    height: 100%;
}

#JMDK_inventoryPopUp .picture {
    background-color: var(--jmkr-color-1);
    display: block;
    width: 100%;
    border-radius: 7px;
    object-fit: cover;
}

@media screen and (max-width: 767px) {
    #JMDK_inventoryPopUp .picture {
        height: auto;
    }
}

#JMDK_inventoryPopUp .pictureOption {
    display: block;
    border-radius: 7px;
    background-color: var(--jmkr-color-1);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    width: 17%;
    padding-bottom: 17%;
    margin-top: 17px;
    margin-right: 17px;
    cursor: pointer;
}

#JMDK_inventoryPopUp .information {
    border-radius: 7px;
    background-color: white;
    padding: 17px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 3px solid rgba(0, 0, 0, 0.1);

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

#JMDK_inventoryPopUp .isComplimentary {
    border: 1px solid silver;
    color: silver;
    padding: 10px;
    text-align: center;
    letter-spacing: 0.5px;
    font-size: 13.5px;
    border-radius: 5px;
    margin-bottom: 1em;
    margin-top: 1em;
}

@media screen and (max-width: 992px) {
    #JMDK_inventoryPopUp .information {
        position: relative;
        height: 100%;
        width: 100%;
        margin-left: 0px;
        margin-top: 15px;
    }
}

#JMDK_inventoryPopUp h2.name {
    float: left;
    font-size: 25px;
    line-height: 30px;
    letter-spacing: 0.35px;
    font-weight: bold;
    margin: 0px;
    margin-bottom: 0.35em;
}

#JMDK_inventoryPopUp #close {
    float: right;
    z-index: 10;
    border: 2px solid var(--jmkr-color-1);
    color: var(--jmkr-color-1);
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    cursor: pointer;
    font-size: 21px;
    margin-top: 0em;
    margin-right: 0em;
    margin-bottom: 0.35em;
    border-radius: 5px;
}

#JMDK_inventoryPopUp .information .unitPrice {
    text-align: left;

    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0.75px;
    padding-top: 21px;
    margin-bottom: -17px;

    opacity: 0.5;
}

#JMDK_inventoryPopUp .information .price {
    text-align: left;

    font-size: 21px;
    line-height: 21px;
    letter-spacing: 0.75px;
    padding-top: 21px;
    padding-bottom: 11px;

    opacity: 0.7;
}

#JMDK_inventoryPopUp .information .rating {
    float: right;

    font-size: 13px;
    line-height: 17px;
    padding-bottom: 11px;
    letter-spacing: -1.75px;

    opacity: 1;
}

#JMDK_inventoryPopUp .information .description {
    padding: 17px;
    padding-right: 30px;
    letter-spacing: 0.75px;
    font-size: 15px;

    background-color: rgba(0, 0, 0, 0.017);
    border-bottom: 1px solid rgba(0, 0, 0, 0.17);

    width: calc(100% + 17px*2);
    margin: -17px;
    margin-bottom: 21px;
}

#JMDK_inventoryPopUp .information .addToCart {
    float: left;
    margin-top: 11px;
    cursor: pointer;
    line-height: 17px;
    padding: 15px;
    text-align: center;
    font-size: 15px;
    letter-spacing: 0.75px;
    max-width: 100%;
    background-color: var(--jmkr-color-1);
    color: white;
    border-radius: 2.5px;
}

#JMDK_inventoryPopUp .information .JMDK_inventoryDate {
    font-size: 12px;
    line-height: 1.35em;
    margin-top: 10px;
    cursor: pointer;
    color: #333;
}

#JMDK_inventoryPopUp .information .JMDK_inventoryDate u {
    text-transform: uppercase;
}

#JMDK_inventoryPopUp .information .selectChoice {
    margin-top: 7px;
    margin-right: 7px;

    float: left;

    background-color: #F2F2F5;
    border-radius: 5px;

    padding: 10px;
    padding-left: 20px;
    padding-right: 20px;

    font-size: 15px;
    letter-spacing: 0.75px;
    cursor: pointer;
}

#JMDK_inventoryPopUp .information .selectChoice.selectedChoice {
    background-color: var(--jmkr-color-1);
    color: white;
}

#JMDK_inventoryPopUp .information .selectChoice.disabled {
    opacity: 0.35;
    pointer-events: none;
}

#inventoryInCartButton {
    z-index: 100;
    position: fixed;
    background-color: var(--jmkr-color-1);
    color: white;
    border-radius: 5px;
    line-height: 17px;
    padding: 17px;
    width: 300px;
    text-align: center;
    font-size: 15px;
    letter-spacing: 0.75px;
    right: 17px;
    bottom: 17px;
    cursor: pointer;
    box-shadow: 0px 3.5px 7px rgba(0, 0, 0, 0.17);
}

#inventoryInCart {
    z-index: 90;
    position: fixed;
    background: white;
    padding: 11px;
    padding-top: 0px;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    right: calc(50% - 600px/2);
    top: 11px;
    width: calc(100% - 34px);
    max-width: 600px;
    height: calc(90% - 17px*2);
}

#inventoryInCart.checkoutWindow {
    right: calc(50% - 900px/2);
    max-width: 900px;
    height: calc(100% - 140px + 70px);
}

@media screen and (max-width: 900px) {

    #inventoryInCart,
    #inventoryInCart.checkoutWindow {
        top: 0px;
        right: 0px;
        border-radius: 0px;
        width: 100% !important;
        height: 100%;
        max-height: 100% !important;
        max-width: 100%;
        border-radius: 0px;
        padding-bottom: 11px;
    }
}

#inventoryInCart #closeCart {
    z-index: 100;
    border: 2px solid var(--jmkr-color-1);
    color: var(--jmkr-color-1);
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    position: absolute;
    top: 7px;
    right: 7px;
    cursor: pointer;
    font-size: 21px;
}

#inventoryInCart #closeCart i {
    margin: 0px;
}

#inventoryInCart #title {
    font-size: 21px;
    letter-spacing: 0.75px;
    line-height: 55px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    margin-bottom: 11px;
}

#inventoryInCart .middleScroll {
    position: absolute;
    top: calc(55px + 11px);
    left: 11px;
    width: calc(100% - 11px*2);
    height: calc(100% - 185px);

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

#inventoryInCart #subTotal {
    position: absolute;
    padding-bottom: 0px;
    border-bottom: 3px dotted rgba(0, 0, 0, 0.17);
    width: calc(100% - 11px*2);
    bottom: calc(73.5px);
    text-align: right;
    font-size: 21px;
    letter-spacing: 0.75px;
    line-height: 35px;
    color: var(--jmkr-color-1);
    cursor: pointer;
}

#inventoryInCart #subTotal #delivery {
    text-align: right;
    font-size: 12px;
    letter-spacing: 0.35px;
    border-radius: 5px;
    color: var(--jmkr-color-1);
    cursor: pointer;
    line-height: 17px;
}

#inventoryInCart .JMDK_inputUseCurrentLocation {
    text-align: center;
    font-size: 13.5px;
    letter-spacing: 0.35px;
    line-height: 35px;
    border-radius: 5px;
    border: 1px solid var(--jmkr-color-1);
    color: var(--jmkr-color-1);
    cursor: pointer;
}

#inventoryInCart #checkout {
    position: absolute;
    width: calc(100% - 11px*2);
    bottom: 11px;
    text-align: center;
    font-size: 21px;
    letter-spacing: 0.75px;
    line-height: 55px;
    border-radius: 5px;
    background-color: var(--jmkr-color-1);
    color: white;
    cursor: pointer;
}

#inventoryInCart .togglePaymentPlan {
    position: absolute;
    left: 11px;
    bottom: calc(35px + 55px);
    text-align: center;
}

#inventoryInCartBG {
    z-index: 80;
    position: fixed;
    top: 0px;
    left: 0px;
    background: rgba(0, 0, 0, 0.17);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.35));
    width: 100%;
    height: 100%;
}

.inventoryInCartThumbnail {
    margin-bottom: 11px;
}

.inventoryInCartThumbnail .picture {
    float: left;
    width: 71px;
    height: 71px;
    border-radius: 5px;

    background-color: rgba(0, 0, 0, 0.1);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.inventoryInCartThumbnail .name {
    float: left;
    line-height: 17px;
    font-size: 17px;
    letter-spacing: 0.75px;
    width: calc(100% - 71px - 110px - 30px);
    padding-left: 11px;
    padding-right: 1.7px;
    padding-top: 7px;
}

.inventoryInCartThumbnail .price {
    float: left;
    padding-top: 7px;
    width: 110px;
    line-height: 1em;
    text-align: right;
    font-size: 15px;
}

.inventoryInCartThumbnail .price .paymentPlanPrice {
    font-size: 10px !important;
    opacity: 0.7;
    padding: 7px;
    width: calc(100% + 7px*2);
    margin-top: 7px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 5px;
}

.inventoryInCartThumbnail .price .paymentPlanPrice b {
    font-size: 11px !important;
}

.inventoryInCartThumbnail .removeFromCart {
    float: right;
    width: 30px;
    line-height: 30px;
    text-align: right;
    cursor: pointer;
    font-size: 17px;
    opacity: 0.35;
}

#JMDK_formPopUp {
    background-color: white;
    position: fixed;
    z-index: 101;

    padding: 11px;
    border-radius: 7px;

    top: 17px;
    left: calc(50% - 700px/2);

    width: 100%;
    max-width: 700px;
    max-height: calc(100% - 17px - 17px);

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

@media screen and (max-width: 700px) {
    #JMDK_formPopUp {
        left: 17px;
        max-width: calc(100% - 34px);
    }
}

@media screen and (max-width: 767px) {
    #JMDK_formPopUp {
        top: 0px;
        left: 0px;
        max-height: 100%;
        max-width: 100%;
        border-radius: 0px;
    }
}

#JMDK_formPopUpBG {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.35));
    position: fixed;
    z-index: 100;

    top: 0px;
    left: 0px;

    width: 100%;
    height: 100%;
}

#JMDK_formPopUp #close {
    z-index: 10;
    border: 2px solid var(--jmkr-color-1);
    color: var(--jmkr-color-1);
    width: 35px;
    height: 35px;
    line-height: calc(35px - 2px * 2);
    text-align: center;
    position: absolute;
    top: 22.5px;
    right: 20px;
    cursor: pointer;
    font-size: 17px;
    border-radius: 1px;
}

#iframeForCheckout {
    margin-top: -11px;
    margin-left: -11px;
    position: relative;
    width: calc(100% + 11px*2);
    height: calc(100% - 70px + 11px);
    border: none;
}

#iframeForDemo {
    border: none !important;
    margin: 0px !important;
    margin-bottom: -7px !important;
    padding: 0px !important;
}

.JMDK_inlineLoader {
    padding: 35px;
    text-align: center;
    opacity: 0.5;
}

.JMDK_show {
    opacity: 1;
    pointer-events: auto;
}

.JMDK_hide {
    opacity: 0;
    pointer-events: none;
}


#JMDK_enableHosting {
    z-index: 171;
    position: fixed;
    width: 100%;
    left: 0px;
    top: calc(50% - 50px);

    font-size: 11px;
    letter-spacing: 0.75px;
    line-height: 15px;
    text-align: center;
}

#JMDK_enableHostingBG {
    z-index: 170;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;

    background: rgba(0, 0, 0, 0.17);
    opacity: 0;
    pointer-events: none;

    -webkit-transition: opacity 0.35s ease;
    -moz-transition: opacity 0.35s ease;
    -ms-transition: opacity 0.35s ease;
    -o-transition: opacity 0.35s ease;
    transition: opacity 0.35s ease;
}

#JMDK_enableHosting i {
    font-size: 71px;
    margin-bottom: 17px !important;
}

@media screen and (max-width: 767px) {
    #JMDK_enableHosting {
        color: black;
    }
}

.JMDK_slideshow {
    opacity: 0;
    overflow: hidden;

    -webkit-transition: opacity 0.35s ease;
    -moz-transition: opacity 0.35s ease;
    -ms-transition: opacity 0.35s ease;
    -o-transition: opacity 0.35s ease;
    transition: opacity 0.35s ease;
}

.JMDK_page,
.JMDK_inventory,
/*.JMDK_box,*/
.JMDK_mirror,
.JMDK_columns,
.JMDK_element,
.JMDK_text,
.JMDK_image,
.JMDK_button {
    opacity: 1;

    -webkit-transition: opacity 0.35s ease;
    -moz-transition: opacity 0.35s ease;
    -ms-transition: opacity 0.35s ease;
    -o-transition: opacity 0.35s ease;
    transition: opacity 0.35s ease;
}

.JMDK_box {
    opacity: 1;
}

.sortable-item {
    cursor: grab;
}

.sortable-ghost {
    background-color: #ffffff83 !important;
    color: black !important;
    opacity: 0.1 !important;
    outline: 1px dotted rgba(0, 0, 0, 1) !important;
}

.sortable-chosen {
    opacity: 0.7 !important;
}

.sortable-swapping {
    background-color: #ffffff83 !important;
    color: black !important;
    outline: 1px dotted rgba(0, 0, 0, 1) !important;
}

.il__trigger {
    outline: none;
}

.il__trigger:hover {
    outline: 1px dotted black;
}

.inline-js {
    cursor: text;
    display: inline;
}

.JMDK_page .pagination {
    padding: 10px;
    text-align: center;
}

.JMDK_page .pagination .pageNumber {
    width: 45px;
    line-height: 45px;
    text-align: center;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
    margin-left: 5px;
    margin-right: 5px;

    font-size: 13.5px;
    background: rgba(0, 0, 0, 0.077);
}

.JMDK_page .pagination .pageNumber.isCurrentPage {
    font-size: 17px;
    background: rgba(0, 0, 0, 0.177);
    font-weight: bold;
    color: white;
}

.inline-js {
    outline: 1px dashed #007bff;
    cursor: text;
}#JMDK_inventoryMap {
    position: relative;
}

#JMDK_inventoryMap .mapboxgl-ctrl-bottom-right {
    bottom: 0px !important;
    top: auto !important;
}

#JMDK_mapMarker {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    line-height: 34px;
    padding-left: 27px;
    text-align: center;
    font-size: 34px;
}

#inputStreetAddress {
    position: relative;
    width: 100%;
    box-shadow: none !important;
}

#inputStreetAddress li {
    margin-left: 0px;
    margin-bottom: 0px;
}

#inputStreetAddress input,
.mapboxgl-ctrl-geocoder {
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none !important;
}

#inputStreetAddress input {
    padding-left: 37px;
    box-shadow: none !important;
}

.mapboxgl-ctrl-geocoder--icon-search {
    top: 15px !important;
    left: 7px !important;
}

.mapboxgl-ctrl-geocoder--icon-close {
    margin-top: 9px !important;
    margin-right: 3px !important;
}

#inputStreetAddress .suggestions {
    left: 17px;
    top: calc(100% + 81px);
    width: calc(100% - 34px);
}:root {
    --JMDK_color_text: black;
    --JMDK_color_background: white;
    --JMDK_color_buttonText: white;
    --JMDK_color_buttonBackground: black;
}

:root #jmkrClient {}

#JMDK_RegistrationWrapper {
    z-index: 1050;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 100%;

    will-change: opacity;
    -webkit-transition: opacity 0.17s ease;
    -moz-transition: opacity 0.17s ease;
    -ms-transition: opacity 0.17s ease;
    -o-transition: opacity 0.17s ease;
    transition: opacity 0.17s ease;
}

#JMDK_RegistrationBG {
    z-index: 1;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;

    background: var(--JMDK_color_background);
}

#JMDK_Registration {
    z-index: 2;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;

    background: var(--JMDK_color_background);
    color: var(--JMDK_color_text);

    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    /* Note: overscroll-behavior moved to popup-only context below */
}

/* Only contain overscroll when registration is in popup/modal mode (full-screen overlay).
   Nested/inline registration (position: static/relative) should not trap scroll. */
#JMDK_RegistrationWrapper #JMDK_Registration {
    overscroll-behavior: contain;
}

#JMDK_Registration #title {
    z-index: 2;
    width: 100%;

    color: var(--JMDK_color_text);
    text-align: center;
    font-weight: bold;
    font-size: 21px;
    letter-spacing: 0.75px;
}

#JMDK_Registration #signUpForm,
#JMDK_Registration #loginForm,
#JMDK_Registration #recoverForm {
    padding: 21px;
    margin-top: 17px;

    width: 100%;
}

#JMDK_Registration #signUpForm {}

#JMDK_Registration #recoverForm {}

#JMDK_Registration #loginForm .field {
    height: 70px;
    margin-top: 0px;

    overflow: hidden;
    will-change: height;
    -webkit-transition: height 0.17s ease, margin-top 0.17s ease;
    -moz-transition: height 0.17s ease, margin-top 0.17s ease;
    -ms-transition: height 0.17s ease, margin-top 0.17s ease;
    -o-transition: height 0.17s ease, margin-top 0.17s ease;
    transition: height 0.17s ease, margin-top 0.17s ease;
}

#JMDK_Registration #loginForm .field.hidden {
    height: 0px;
    margin-top: -1em;
}

#JMDK_Registration input,
#JMDK_Registration input::selection,
#JMDK_Account input,
#JMDK_Account input::selection {
    color: var(--JMDK_color_text);
    border: none !important;
    border-bottom: 1px solid #808183 !important;
    box-shadow: none !important;
    border-radius: 0px !important;
    padding-top: 0px !important;
}

#JMDK_Registration label {
    color: var(--JMDK_color_text);
    letter-spacing: 0.75px;
    font-weight: normal;
}

#JMDK_Registration #returnToLoginButton,
#JMDK_Registration #cancelLoginButton {
    float: right;
    z-index: 2;
    cursor: pointer;

    padding: 17px;
    color: var(--JMDK_color_buttonBackground);
    letter-spacing: 0.75px;
    text-align: center;
    font-size: 21px;
}

#JMDK_Registration #cancelLoginButton i {
    margin: 0px !important;
}

#JMDK_Registration #returnToLoginButton {
    float: left;
}

#JMDK_Registration #forgotYourPasswordButton {
    z-index: 2;
    cursor: pointer;

    padding: 17px;
    color: var(--JMDK_color_buttonBackground);
    letter-spacing: 0.75px;
    text-align: center;
}

#JMDK_Account #saveChanges,
#JMDK_Account #changePassword,
#JMDK_Account #deleteAccount,
#JMDK_Registration #at-btn,
#JMDK_Registration #submit,
#JMDK_Registration #signUpButton,
#JMDK_Registration #loginButton,
#JMDK_Registration #recoverButton {
    z-index: 2;
    cursor: pointer;

    width: calc(100% - 21px*2);

    background: var(--JMDK_color_buttonBackground);
    color: var(--JMDK_color_buttonText);

    text-align: center;
    font-weight: normal;
    letter-spacing: 0.75px;

    border-radius: 5px !important;
    padding: 17px !important;

    margin-top: 5px !important;
    margin-left: auto;
    margin-right: auto;

    font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif;
}

#JMDK_Registration .ui.tabular.menu .active.item {
    background: var(--JMDK_color_buttonBackground);
    color: var(--JMDK_color_buttonText);
    font-weight: normal;
    border: none;
}

#JMDK_Registration #at-btn,
#JMDK_Registration #submit {
    width: 100%;
}

#JMDK_Account #saveChanges,
#JMDK_Account #changePassword,
#JMDK_Account #deleteAccount {
    width: 100%;
}

#JMDK_Account #deleteAccount {
    background: none;
    color: var(--JMDK_color_buttonBackground);
    border: 1px solid var(--JMDK_color_buttonBackground);
    margin-top: 15px !important;
}

#JMDK_Registration #signUpButton {
    bottom: calc(50% - 400px/2 - 50px);
}

#JMDK_Registration #recoverButton {
    bottom: calc(50% - 110px/2 - 50px);
}

#JMDK_Registration #newUserButton,
#JMDK_Registration #signOutButton {
    float: left;
    z-index: 2;
    cursor: pointer;

    padding: 17px;
    color: var(--JMDK_color_buttonBackground);
    text-align: right;
    letter-spacing: 0.75px;

    will-change: opacity;
    -webkit-transition: opacity 0.17s ease;
    -moz-transition: opacity 0.17s ease;
    -ms-transition: opacity 0.17s ease;
    -o-transition: opacity 0.17s ease;
    transition: opacity 0.17s ease;
}

#JMDK_Registration #newUserButton.hidden {
    opacity: 0;
    pointer-events: none;
}

#JMDK_Registration #newUserButton b,
#JMDK_Registration #recoverButton b,
#JMDK_Registration #forgotYourPasswordButton b {
    color: var(--JMDK_color_buttonBackground);
    text-decoration: underline;
}

#JMDK_Registration_googleUser {
    padding-bottom: 17px;
}

#JMDK_Registration_appleUser {
    position: relative;
    line-height: 50px;
    text-align: center;
    color: #757575;
    background-color: var(--JMDK_color_text);
    margin-bottom: 17px;
    border-radius: 1px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.21px;
    padding-left: 38px;
    cursor: pointer;
}

#JMDK_Registration_appleUser .icon {
    position: absolute;
    color: black;
    left: 11px;
    top: 0px;
    font-size: 21px;
}

#JMDK_Registration_facebookUser {
    position: relative;
    line-height: 50px;
    text-align: center;
    color: white;
    background-color: #1877F2;
    margin-bottom: 17px;
    border-radius: 1px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.21px;
    padding-left: 38px;
    cursor: pointer;
}

#JMDK_Registration_facebookUser .icon {
    position: absolute;
    color: white;
    left: 11px;
    top: 0px;
    font-size: 21px;
}

#JMDK_Account {
    padding: 17px;
    padding-top: 0px;
}

#JMDK_Account #wrapPicture {
    position: relative;
    color: rgba(0, 0, 0, 0.1);

    line-height: calc(117px - 3px*2);
    height: 117px;
    width: 117px;
    font-size: 20px;

    margin-top: 7px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    cursor: pointer;

    text-align: center;
    border: 5px solid var(--JMDK_color_buttonBackground);
    border-radius: 50%;
    margin-left: auto;
    margin-right: auto;

    color: var(--JMDK_color_buttonBackground);
    font-size: 35px;
}

#JMDK_Registration .ui.attached.segment,
#JMDK_Registration .ui.tabular.menu {
    border-color: var(--JMDK_color_buttonBackground);
    border: none !important;
}

#JMDK_Registration .ui.tabular.menu {
    border-bottom: 1px solid var(--JMDK_color_buttonBackground) !important;
}

#JMDK_Registration .ui.segment {
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 0px;
    margin-bottom: 0px;
}

#JMDK_Account #wrapPicture #picture {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    color: var(--JMDK_color_text);
    border-radius: 50%;
}

#JMDK_Account #name {
    text-align: center;
    letter-spacing: 0.35px;
    font-size: 21px;
    padding-top: 21px;
}

#JMDK_Account #emailAddress {
    opacity: 0.7;
    text-align: center;
    letter-spacing: 0.35px;
    font-size: 10px;
    padding-top: 3.5px;
    padding-bottom: 27px;
}

#JMDK_orderThumbnail {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    font-size: 13px;
    letter-spacing: 0.35px;
    padding-bottom: 11px;
    margin-bottom: 11px;
}

#JMDK_orderThumbnail #label {
    font-weight: bold;
    float: left;
}

#JMDK_orderThumbnail #date {
    font-size: 10px;
}

#JMDK_orderThumbnail #value {
    float: right;
    font-weight: bold;
    opacity: 0.7;
}.inline-js:hover {
    outline: 1px dashed #007bff;
    cursor: text;
}

.sortable-item {
    transition: transform 0.2s ease;
}

.sortable-chosen {
    background: #f8f9fa;
}

.inline-js:hover {
    outline: 1px dashed #007bff;
    cursor: text;
}
.sortable-item {
    transition: transform 0.2s ease;
}
.sortable-chosen {
    background: #f8f9fa;
}
.loading-indicator {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 10px 20px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    border-radius: 5px;
    z-index: 1000;
}
#PatientCareNote .patientCardCompact {
  background: #ffffff;
  border: 1px solid #e8edf2;
  border-radius: 12px;
  padding: 12px;
}

#PatientCareNote .patientCardCompact .pc-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

#PatientCareNote .patientCardCompact .pc-title .pc-name {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

#PatientCareNote .patientCardCompact .pc-title .pc-sub {
  margin-top: 2px;
  font-size: 12px;
  color: #6b7280;
}

#PatientCareNote .patientCardCompact .pc-title .pc-sub .pc-id {
  opacity: 0.75;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

#PatientCareNote .patientCardCompact .pc-vitals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

#PatientCareNote .patientCardCompact .vitalChip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #eef2f7;
  border-radius: 10px;
  background: #f9fbfd;
  font-size: 13px;
}

#PatientCareNote .patientCardCompact .vitalChip i.icon {
  color: var(--jmkr-color-1);
  opacity: 0.9;
}

#PatientCareNote .patientCardCompact .vitalChip .label {
  color: #6b7280;
}

/* ========================================
   Root Variables & Global Resets
======================================== */

:root {
  --menu-color-1: #373737;
  --menu-color-2: #414141;
  --menu-color-3: #494949;
  --left-menu-width: 197px;
  --right-menu-width: 331.45px;
  --line-height: 40px;
}

.animating {
  background-color: rgba(0, 0, 0, 0) !important;
}

body {
  overflow: overlay;
  line-height: inherit;
  padding:
    env(safe-area-inset-top, 20px) env(safe-area-inset-right, 20px) env(safe-area-inset-bottom, 20px) env(safe-area-inset-left, 20px);
}

#JMDKSplash,
#JMDKSplashBG {
  position: fixed;
  z-index: 10000000;
  left: calc(0px + env(safe-area-inset-left));
  top: calc(0px + env(safe-area-inset-top));
  width: calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right));
  height: calc(100% - env(safe-area-inset-top) - env(safe-area-inset-bottom));

  background-position: center;
  background-size: cover;

  pointer-events: none;
}

#JMDKSplash {
  z-index: 100000001;
}

#connectionBanner {
  position: fixed;
  z-index: 1000000017;
  bottom: 0px;
  left: 0px;
  width: 100%;
}

@-webkit-keyframes fade-in {
  100% {
    /*-webkit-transform: scale(0.7);*/
  }
}

@-webkit-keyframes fade-out {
  100% {
    /*-webkit-transform: scale(17);*/
    opacity: 0;
  }
}

#JMDKSplash.fade-in {
  -webkit-animation: fade-in 0.17s ease-in;
  -webkit-animation-fill-mode: forwards;
  background-color: #ccc;

  opacity: 1;
}

#JMDKSplash.fade-out,
#JMDKSplashBG.fade-out {
  -webkit-animation: fade-out 0.7s ease-out;
  -webkit-animation-fill-mode: forwards;
  background-color: #ccc;

  opacity: 1;
}

body ::-webkit-scrollbar {
  width: 5px;
  background: transparent;
}

/* ========================================
   Base Typography & Layout
======================================== */

* {
  margin: 0px;
  padding: 0px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
}

#jmkrClient {
  font-family: Montserrat;
}

#jmkrClient,
#jmkrClient h1,
#jmkrClient h2,
#jmkrClient h3,
#jmkrClient h4,
#jmkrClient h5,
#jmkrClient .ui.card>.content>.header,
#jmkrClient .ui.cards>.card>.content>.header {
  font-family: Montserrat;
  letter-spacing: 0.35px;
}

#jmkrClient .ui.feed>.event>.content .user {
  font-size: 13.5px;
}

#jmkrClient .ui.feed>.event>.content .user,
#jmkrClient b {
  font-weight: 600;
  letter-spacing: 0px;
}

#jmkrClient i.icon {
  margin: 0px !important;
  padding: 0px !important;
}

.ispixel,
.ispixel * {
  position: fixed !important;
  bottom: 1px !important;
  right: 1px !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0px !important;
  margin: 0px !important;
  border: none !important;
  background: none !important;
  color: transparent !important;
  overflow: hidden !important;
  z-index: -1000 !important;
}

#jmkrClient .ui.form .field>.selection.dropdown .dropdown.icon {
  margin-top: 5px !important;
}

#jmkrClient .field label {
  font-weight: 600 !important;
}

#jmkrClient .field input:not([type="checkbox"]),
#jmkrClient .field .selectize-input {
  font-size: 14px !important;
  letter-spacing: 0.75px !important;

  margin-top: 0px;
  margin-bottom: 0px;
  min-height: var(--line-height);
  border-radius: 0px !important;
}

#jmkrClient .plannerRecurrence-header .plannerRecurrence-summary .ui.message {
  margin-top: 0 !important;
  margin-bottom: 1em !important;
  padding: 10px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

#jmkrClient .plannerRecurrence-weekdays .ui.segment {
  padding: 10px 12px !important;
}

#jmkrClient .plannerRecurrence-weekday {
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  margin: 3px 4px !important;
  padding: 6px 10px !important;
  user-select: none;
}

#jmkrClient .plannerRecurrence-weekday input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

#jmkrClient .plannerRecurrence-weekday.active {
  background: var(--jmkr-color-1) !important;
  color: #ffffff !important;
  border-color: var(--jmkr-color-1) !important;
}

#jmkrClient .plannerRecurrence-endRow .field input[type="number"],
#jmkrClient .plannerRecurrence-endRow .field input[type="date"] {
  width: 100%;
}

#jmkrClient input.disabled {
  pointer-events: none;
  opacity: 0.5;
}

#jmkrClient .ui.toggle.checkbox input:checked~.box:before,
#jmkrClient .ui.toggle.checkbox input:checked~label:before,
#jmkrClient .ui.toggle.checkbox input:focus:checked~.box:before,
#jmkrClient .ui.toggle.checkbox input:focus:checked~label:before {
  background-color: var(--jmkr-color-1) !important;
}

#jmkrClient .notificationGroupDate {
  position: relative;
  padding-left: 11px;
  font-size: 13px;
  font-weight: 500;
  line-height: calc(var(--line-height) * 0.77);
  border-top: 0.5px dotted var(--jmkr-color-1);
  background: linear-gradient(to right, rgba(230, 230, 230, 1), rgba(230, 230, 230, 0.7));
  color: rgba(0, 0, 0, 0.5);
}

#jmkrClient .notificationGroupDate b {
  font-size: 15px;
  font-weight: 600;
}

#jmkrClient .notificationGroupDate.dark {
  font-size: 15px;
}

#jmkrClient .notificationGroupDate .button.right {
  position: absolute;
  right: 0px;
  top: 0px;
  cursor: pointer;
  padding-left: 11px;
  padding-right: 11px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

#jmkrClient .nightMode .notificationGroupDate {
  background: linear-gradient(to right, var(--jmkr-color-1), var(--jmkr-color-1));
}

#jmkrClient .notificationThumbnail {
  padding-left: 10px !important;
  padding-bottom: 0px !important;

  /*animation: animate_dataRow 3.5s forwards;*/
}

#jmkrClient #notificationList {
  background-color: #F9F9F9;
}

#jmkrClient #notificationList>div>.column {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

#jmkrClient #notificationList .card {
  margin: 0px;
}

#jmkrClient .notificationThumbnail .card {
  border-bottom: none !important;
}

#jmkrClient .notificationThumbnail.alternateRow {
  background-color: rgba(0, 0, 0, 0.017);
}

#jmkrClient .nightMode .notificationThumbnail.alternateRow {
  background-color: rgba(255, 255, 255, 0.017);
}

#jmkrClient .card .description {
  font-size: 117%;
}

#jmkrClient .card .content {
  padding: 0.7em !important;
  padding-bottom: 0.35em !important;
}

#jmkrClient .card .content.active,
#jmkrClient .card .content.extra {
  padding: 0.7em !important;
}

#jmkrClient .nightMode .card {
  box-shadow: 0px 0px 0px 1px var(--jmkr-color-1), 0px 2px 0px 0px rgba(33, 132, 208, 0.5), 0px 1px 3px 0px rgba(212, 212, 213, 0.35) !important;
  background: none !important;
  color: white;
}

#jmkrClient .nightMode .card * {
  color: white !important;
}

#jmkrClient .nightMode .card .icons .check {
  color: var(--jmkr-color-1) !important;
}

.nightMode .event * {
  color: rgba(255, 255, 255, 1) !important;
}

/* ========================================
   Link & Icon Styling
======================================== */

#jmkrClient a {
  color: inherit !important;
}

#jmkrClient a:hover {
  color: inherit !important;
}

#jmkrClient .nightMode a {
  color: white;
}

#jmkrClient .nightMode a:hover {
  color: white;
}

.field textarea {
  border: none !important;
  border-radius: 0px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.177) !important;
  letter-spacing: 0.75px !important;
  background: none !important;
}

.nightMode .ui.cards>.card>.extra,
.nightMode .ui.card>.extra {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* ========================================
   Selectize & Form Inputs
======================================== */

input,
input:before,
input:after {
  -webkit-user-select: initial;
  -khtml-user-select: initial;
  -moz-user-select: initial;
  -ms-user-select: initial;
  user-select: initial;
  -webkit-touch-callout: none;
}

.selectize-control.multi .selectize-input [data-value] {
  background-color: #58595b !important;
  background: #58595b !important;
  border: #58595b !important;
  color: white;
}

.selectize-control.plugin-remove_button [data-value] .remove {
  border-left: #58595b !important;
  color: white;
}

.selectize-input,
.selectize-control.single .selectize-input.input-active {
  background: none;
}

#swal2-content form.form.SwalCreateForm .anchored-quantity-section .field {
  margin-bottom: 0.5em !important;
}

.SwalCreateForm .selection-options {
  text-align: left;
  margin-top: 0.7em;
  margin-bottom: -0.7em;
}

.SwalCreateForm .selection-options .selection-button {
  display: inline-block;
  border: 1px solid rgba(0, 0, 0, 1);
  padding: 10px;
  padding-top: 7px;
  padding-bottom: 7px;
  margin: 0.7em;
  margin-top: 0.35em;
  margin-bottom: 0.35em;
  margin-left: 0px;
  cursor: pointer;
  font-size: 15px;
  letter-spacing: 0.35px;
  opacity: 1;
  transition: all 0.35s ease;
}

.SwalCreateForm .selection-options .selection-button.selected {
  border: 1px solid var(--jmkr-color-1);
  background: var(--jmkr-color-1);
  color: white;
  opacity: 1;
  font-weight: 600;
  padding-left: 13.5px;
  padding-right: 13.5px;
}

.SwalCreateForm .selection-options .selection-button.has-description {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 10px 14px;
}

.SwalCreateForm .selection-options .selection-button .selection-label {
  font-weight: 600;
}

.SwalCreateForm .selection-options .selection-button .selection-description {
  font-size: 12px;
  font-weight: 400;
  opacity: 0.65;
  margin-top: 2px;
  line-height: 1.35;
}

.SwalCreateForm .selection-options .selection-button.selected .selection-description {
  opacity: 0.85;
}

.SwalCreateForm .selection-options .selection-button.hidden {
  opacity: 0;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  border: none;
  overflow: hidden;
}

/* Stepper field type — +/- buttons for tablet-friendly number input */
.SwalCreateForm .swal-stepper {
  display: flex;
  align-items: center;
  gap: 0;
  width: 100%;
}

.SwalCreateForm .swal-stepper__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: #f8f9fa;
  cursor: pointer;
  font-size: 16px;
  color: #333;
  transition: all 0.2s ease;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.SwalCreateForm .swal-stepper__btn:active {
  background: #e9ecef;
  transform: scale(0.95);
}

.SwalCreateForm .swal-stepper__btn--minus {
  border-radius: 8px 0 0 8px;
}

.SwalCreateForm .swal-stepper__btn--plus {
  border-radius: 0 8px 8px 0;
}

.SwalCreateForm .swal-stepper__btn .icon {
  margin: 0;
}

.SwalCreateForm .swal-stepper__display {
  flex: 1;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  padding: 10px 8px;
  min-height: 48px;
  line-height: 28px;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  border-left: none;
  border-right: none;
  border-radius: 0;
  background: white;
  color: #333;
  width: 100%;
  min-width: 0;
  -moz-appearance: textfield;
  outline: none;
  box-shadow: none;
}

.SwalCreateForm .swal-stepper__display::-webkit-outer-spin-button,
.SwalCreateForm .swal-stepper__display::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Tile grid field type — responsive grid of value tiles with +/- controls */
.SwalCreateForm .swal-tilegrid {
  display: grid;
  grid-template-columns: repeat(var(--tile-columns, 3), 1fr);
  gap: 8px;
  width: 100%;
}

.SwalCreateForm .swal-tilegrid__tile {
  background: #f9fafb;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  padding: 12px 8px 8px;
  text-align: center;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
  user-select: none;
}

.SwalCreateForm .swal-tilegrid__tile--active {
  border-color: #335C5C;
  background: #f0fdf4;
  box-shadow: 0 0 0 1px rgba(51, 92, 92, 0.15);
}

.SwalCreateForm .swal-tilegrid__label {
  font-size: 13px;
  font-weight: 700;
  color: #374151;
  margin-bottom: 8px;
  letter-spacing: 0.3px;
}

.SwalCreateForm .swal-tilegrid__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.SwalCreateForm .swal-tilegrid__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #d1d5db;
  background: #fff;
  font-size: 18px;
  font-weight: 600;
  color: #374151;
  cursor: pointer;
  transition: background 0.1s, transform 0.1s;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  padding: 0;
  line-height: 1;
}

.SwalCreateForm .swal-tilegrid__btn:active {
  background: #e9ecef;
  transform: scale(0.92);
}

.SwalCreateForm .swal-tilegrid__btn--minus {
  border-radius: 6px 0 0 6px;
}

.SwalCreateForm .swal-tilegrid__btn--plus {
  border-radius: 0 6px 6px 0;
}

.SwalCreateForm .swal-tilegrid__count {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 36px;
  border-top: 1px solid #d1d5db;
  border-bottom: 1px solid #d1d5db;
  background: #fff;
  font-size: 16px;
  font-weight: 700;
  color: #1f2937;
}

.SwalCreateForm .swal-tilegrid__tile--active .swal-tilegrid__count {
  color: #335C5C;
}

@media (max-width: 768px) {
  .SwalCreateForm .swal-tilegrid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Hide Dashboard when Welcome screen is active */
.pointOfSale_dashboardHidden { display: none !important; }

/* Welcome Screen (CR2: Table-based POS welcome) */
.pointOfSale_welcome {
  display: flex;
  flex-direction: column;
  height: calc(100vh - var(--line-height) * 1 - calc(var(--line-height) * 1.17));
  max-height: calc(100vh - var(--line-height) * 1 - calc(var(--line-height) * 1.17));
  overflow: hidden;
  background: #f8fafc;
}

.pointOfSale_welcome__header {
  text-align: center;
  margin-bottom: 32px;
}

.pointOfSale_welcome__header h2 {
  font-size: 28px;
  font-weight: 700;
  color: #335C5C;
  margin: 0 0 8px 0;
}

.pointOfSale_welcome__header p {
  font-size: 16px;
  color: #64748b;
  margin: 0;
}

.pointOfSale_welcome__tables {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  max-width: 900px;
}

.pointOfSale_welcome__table {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 140px;
  background: white;
  border: 2px solid #e2e8f0;
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.15s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.pointOfSale_welcome__table:hover {
  border-color: #335C5C;
  box-shadow: 0 4px 12px rgba(51, 92, 92, 0.15);
  transform: translateY(-2px);
}

.pointOfSale_welcome__table:active {
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.pointOfSale_welcome__tableIcon {
  font-size: 32px;
  color: #335C5C;
  margin-bottom: 8px;
}

.pointOfSale_welcome__tableLabel {
  font-size: 14px;
  font-weight: 600;
  color: #334155;
  text-align: center;
  padding: 0 8px;
}

.pointOfSale_welcome__walkInBtn {
  border-style: dashed;
  background: #f8fffe;
}

.pointOfSale_welcome__walkInBtn .pointOfSale_welcome__tableIcon {
  color: #64748b;
}

.pointOfSale_welcome__walkInBtn .pointOfSale_welcome__tableLabel {
  color: #64748b;
}

.pointOfSale_welcome__walkInBtn:hover {
  border-color: #335C5C;
  background: white;
}

.pointOfSale_welcome__walkInBtn:hover .pointOfSale_welcome__tableIcon,
.pointOfSale_welcome__walkInBtn:hover .pointOfSale_welcome__tableLabel {
  color: #335C5C;
}

.field {
  padding-top: 0px;
  margin-bottom: 0px;
  padding-right: 0px;
}

#jmkrClient input:not([type="checkbox"]),
#jmkrClient .field .selectize-input,
#jmkrClient .ui.form .field>.selection.dropdown,
#jmkrClient .popup input:not([type="checkbox"]),
#jmkrClient .popup .ui.form .field>.selection.dropdown {
  min-height: var(--line-height);
}

#jmkrClient input:not([type="checkbox"]),
#jmkrClient textarea,
#jmkrClient .field .selectize-input,
#jmkrClient .ui.form .field>.selection.dropdown,
#jmkrClient .popup input:not([type="checkbox"]),
#jmkrClient .popup textarea,
#jmkrClient .popup .ui.form .field>.selection.dropdown {
  font-size: 14px !important;
  letter-spacing: 0.75px !important;
}

.ui.form .field>.selection.dropdown {
  padding-top: calc(var(--line-height) * 0.25) !important;
  padding-bottom: calc(var(--line-height) * 0.25) !important;
  line-height: calc(var(--line-height) * 0.25);

  border: none !important;
  border-radius: 0px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.177) !important;
  letter-spacing: 0.75px !important;
  background: none !important;
}

#webDomainFilterForm.ui.form .field>.selection.dropdown,
#plannerFilterForm.ui.form .field>.selection.dropdown,
#invoiceFilterForm.ui.form .field>.selection.dropdown,
#inventoryFilterForm.ui.form .field>.selection.dropdown,
#fleetFilterForm.ui.form .field>.selection.dropdown,
#insightPersonFilterForm.ui.form .field>.selection.dropdown,
#insightOrganizationFilterForm.ui.form .field>.selection.dropdown {
  padding: 0px !important;
  padding-left: 11px !important;
  line-height: var(--line-height);
  height: var(--line-height);
  min-height: var(--line-height);
}

.field input:not([type="checkbox"]),
.field .selectize-input {
  font-size: 17px;
  letter-spacing: 0.5px;
  margin-bottom: 0px;
  min-height: 48px;
}

.field label {
  min-height: 20px;
  position: relative;
}

.field label .labelButton {
  position: absolute;
  right: 11px;
  top: 0px;
  cursor: pointer;
  color: var(--jmkr-color-1);
}

.field input:not([type="checkbox"]),
.ui.form input:not([type]),
.ui.form input[type=date],
.ui.form input[type=datetime-local],
.ui.form input[type=email],
.ui.form input[type=file],
.ui.form input[type=number],
.ui.form input[type=password],
.ui.form input[type=search],
.ui.form input[type=tel],
.ui.form input[type=text],
.ui.form input[type=time],
.ui.form input[type=url] {
  border: none !important;
  border-radius: 0px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.177) !important;
  padding-bottom: 0px !important;
  padding-top: 0px !important;
  letter-spacing: 0.75px !important;
  background: none !important;
}

.field .selectize-input {
  padding-bottom: 5px !important;
  padding-top: 5px !important;
  box-shadow: none !important;
  border: 2px solid rgba(0, 0, 0, 0.177) !important;

  border: none !important;
  border-radius: 0px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.177) !important;
  letter-spacing: 0.75px !important;
  background: none !important;
}

.field .selectize-input input[type=text],
.field .selectize-input input {
  border: none !important;
}

.selectize-input.items {
  padding-left: calc(var(--line-height) * 0.25) !important;
  padding-top: calc(var(--line-height) * 0.25) !important;
}

.selectize-input.items.full.has-items {
  height: var(--line-height);
  padding-left: calc(var(--line-height) * 0.25) !important;
  padding-top: calc(var(--line-height) * 0.25) !important;
}

.selectize-input.items.not-full.has-items {
  padding-left: 7px !important;
  padding-top: 7px !important;
}

.field .selectize-input input {
  border: none !important;
}

.selectize-control.multi .selectize-input [data-value] {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 11px;
  padding-right: 11px;

  font-size: 13px;
  letter-spacing: 0.35px;
  margin-left: 3.5px;
  margin-right: 3.5px;
  margin-bottom: 5px;
}

.ui.form .grid .field .ui.search.dropdown>input.search {
  cursor: pointer;
}

.field {
  padding-top: 0px;
  margin-bottom: 0px;
  padding-right: 0px;
}

#content input,
#content textarea,
#content .ui.form .field>.selection.dropdown,
.popup input,
.popup textarea,
.popup .ui.form .field>.selection.dropdown,
.ui.selection.dropdown {
  font-size: 14px !important;
  letter-spacing: 0.75px !important;

  border-radius: 0px !important;
  min-height: var(--line-height);
}

.selection.dropdown {
  padding-top: 15px !important;
}

.selectize-control.single {
  height: var(--line-height);
}

.selectize-control.single .selectize-input:after {
  margin-top: -2px;
  margin-bottom: 0px;
}

.field input {
  border: 1px solid rgba(0, 0, 0, 0.217) !important;
  padding-bottom: 0px !important;
  padding-top: 0px !important;
}

.selectize-input .field input,
.ui.form .selectize-input .field input[type=text],
.selectize-input .field input[type=text] {
  border: none !important;
}

/*.field .selectize-input {
  padding: 0px !important;
  padding-top: 13px !important;
  padding-left: 11px !important;
  box-shadow: none !important;
  border: 1px solid rgba(0, 0, 0, 0.217) !important;
}*/

.selectize-input.items.has-items {
  padding-bottom: 3px !important;
  padding-top: 2px !important;
  padding-left: 3px !important;
  padding-right: 7px !important;
}

.selectize-input.items.full.has-items {
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

.field .selectize-input input {
  border: none !important;
}

.leftAlignInput input,
.leftAlignInput .selectize-input {
  text-align: left !important;
}

#pendingSubscriptionForeground .progress .label {
  margin-top: 10px;
  color: white;
  font-weight: 200;
  letter-spacing: 0.5px;
  font-size: 12px;
}

.nightMode .ui.dropdown .menu .item,
.nightMode .ui.dropdown .menu .item.selected {
  background: black;
  color: white !important;
  border-color: var(--jmkr-color-1) !important;
}

.nightMode .ui.dropdown .menu .item:hover,
.nightMode .ui.dropdown .menu .item.selected {
  background: var(--jmkr-color-1);
  color: black !important;
  -moz-box-shadow: inset 0 0 11px var(--jmkr-color-1);
  -webkit-box-shadow: inset 0 0 11px var(--jmkr-color-1);
  box-shadow: inset 0 0 11px var(--jmkr-color-1);
}

.nightMode .ui.selection.active.dropdown .menu {
  border-color: var(--jmkr-color-1) !important;
}

.nightMode label {
  color: white !important;
}

.nightMode input,
.nightMode .field input,
.nightMode .ui.search.dropdown>input.search,
.nightMode .field textarea,
.nightMode textarea,
.nightMode .field .selectize-input,
.nightMode .ui.selection.dropdown {
  background: none !important;
  color: white !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.7) !important;
}

.ui.form .grid .field .ui.search.dropdown>input.search {
  border: none !important;
}

.nightMode .selectize-dropdown {
  background: black;
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.317) !important;
}

.nightMode .selectize-dropdown-content .active {
  background-color: var(--jmkr-color-1);
  color: white;
}

.selectize-control.multi .selectize-input [data-value] {
  padding: 7px;
  color: white !important;
}

.nightMode .selectize-control.multi .selectize-input [data-value] {
  background-color: var(--jmkr-color-1) !important;
}

.nightMode .ui.toggle.checkbox input:checked~.box,
.nightMode .ui.toggle.checkbox input:checked~label {
  color: white !important;
}

.event .label {
  padding-top: 10px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);
}

.nightMode .event .label {
  text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.17);
}

.event .label .icon,
.event .label .wrap-icon {
  background-color: var(--jmkr-color-1) !important;
  color: white !important;
  border-radius: 50% !important;
  font-size: 1em !important;
  line-height: 30px !important;
  height: 30px !important;
  width: 30px !important;
  text-align: center;
}

/* ========================================
   SweetAlert Modals
======================================== */

.swal2-container.swal2-backdrop-show,
.swal2-container.swal2-noanimation {
  background: rgba(70, 70, 70, 0.17);
  backdrop-filter: blur(5px);
}

.swal2-backdrop-show {
  animation: swal-backdrop-forward 0.5s ease-out !important;
}

.swal2-backdrop-hide {
  animation: swal-backdrop-reverse 0.5s ease-out !important;
}

@keyframes swal-backdrop-forward {
  from {
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0px);
  }

  to {
    background: rgba(70, 70, 70, 0.17);
    backdrop-filter: blur(5px);
  }
}

@keyframes swal-backdrop-reverse {
  from {
    background: rgba(70, 70, 70, 0.17);
    backdrop-filter: blur(5px);
  }

  to {
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0px);
  }
}

.swal2-show {
  animation: swal-forward 0.5s ease-out !important;
}

.swal2-hide {
  animation: swal-reverse 0.5s ease-out !important;
}

@keyframes swal-forward {
  from {
    opacity: 0;
    transform: translate3d(17%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes swal-reverse {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(-17%, 0, 0);
  }
}

#swal2-content form.form.SwalCreateForm {
  max-height: calc(100vh - 305px);
  margin-left: -1.15em;
  width: calc(100% + 1.15em*2);
  max-width: calc(100% + 1.15em*2);
  border-radius: 0px !important;
  border-top: 1px solid #d8d8d8 !important;
  border-bottom: 1px solid #d8d8d8 !important;
  display: flex;
  flex-direction: column;
  padding: 1em;
  overflow-y: auto;
}

/* Scrollable section for regular fields */
#swal2-content form.form.SwalCreateForm .scrollable-fields-section {
  flex: 1;
  overflow-y: auto;
  padding: 1em;
  margin-top: -1em;
}

/* Anchored quantity section at bottom of form */
#swal2-content form.form.SwalCreateForm .anchored-quantity-section {
  background: #f8f9fa;
  padding: 1em;
  padding-top: 0.75em;
  flex-shrink: 0;
  box-shadow: 0 0 17px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15);
}

#swal2-content form.form.SwalCreateForm .anchored-quantity-section .field:last-child {
  margin-bottom: 0 !important;
}

/* ----------------------------------------
   SweetAlert Theme (aligned with settings)
---------------------------------------- */
.swal2-popup {
  width: 35em !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 25px 80px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(15, 23, 42, 0.04) !important;
  padding: 1.15rem !important;
}

.swal2-popup .swal2-title {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  padding: 0 !important;
  margin: 0 0 1.15rem !important;
}

.swal2-popup .swal2-html-container,
.swal2-popup .swal2-content {
  font-size: 0.95rem !important;
  color: #475569 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.swal2-popup .swal2-close {
  width: 2.5rem !important;
  height: 2.5rem !important;
  font-size: 1.15rem !important;
  color: #94a3b8 !important;
  top: 0.75rem !important;
  right: 0.75rem !important;
  border-radius: 10px !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

.swal2-popup .swal2-close:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}

.swal2-popup .swal2-close:focus {
  box-shadow: none !important;
}

/* Icon styling */
.swal2-popup .swal2-icon {
  margin: 0 auto 1rem !important;
  border-width: 3px !important;
}

.swal2-popup .swal2-icon.swal2-success {
  border-color: #10b981 !important;
  color: #10b981 !important;
}

.swal2-popup .swal2-icon.swal2-success [class^='swal2-success-line'] {
  background-color: #10b981 !important;
}

.swal2-popup .swal2-icon.swal2-success .swal2-success-ring {
  border-color: rgba(16, 185, 129, 0.3) !important;
}

.swal2-popup .swal2-icon.swal2-error {
  border-color: #ef4444 !important;
  color: #ef4444 !important;
}

.swal2-popup .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
  background-color: #ef4444 !important;
}

.swal2-popup .swal2-icon.swal2-warning {
  border-color: #f59e0b !important;
  color: #f59e0b !important;
}

.swal2-popup .swal2-icon.swal2-info {
  border-color: #0ea5e9 !important;
  color: #0ea5e9 !important;
}

.swal2-popup .swal2-icon.swal2-question {
  border-color: #8b5cf6 !important;
  color: #8b5cf6 !important;
}

/* Input fields */
.swal2-popup .swal2-input,
.swal2-popup .swal2-textarea,
.swal2-popup .swal2-select {
  border-radius: 10px !important;
  border: 1px solid #d7dbe5 !important;
  padding: 0.65rem 0.9rem !important;
  font-size: 0.95rem !important;
  color: #0f172a !important;
  box-shadow: none !important;
  margin: 1rem 0 0 !important;
}

.swal2-popup .swal2-input:focus,
.swal2-popup .swal2-textarea:focus,
.swal2-popup .swal2-select:focus {
  outline: none !important;
  border-color: #0fa968 !important;
  box-shadow: 0 0 0 3px rgba(15, 169, 104, 0.12) !important;
}

.swal2-popup .swal2-input::placeholder,
.swal2-popup .swal2-textarea::placeholder {
  color: #94a3b8 !important;
}

.swal2-popup .swal2-validation-message {
  background: #fef2f2 !important;
  color: #b91c1c !important;
  border-radius: 10px !important;
  padding: 0.75rem 1rem !important;
  margin: 0.75rem 0 0 !important;
  font-size: 0.9rem !important;
}

.swal2-popup .swal2-validation-message::before {
  background-color: #ef4444 !important;
}

.swal2-container.loadingDiv {
  background: rgba(17, 17, 17, 0.17) !important;
  backdrop-filter: blur(5px);
  padding: 0px !important;
}

.swal2-container.loadingDiv.swal2-bottom,
.swal2-container.loadingDiv.swal2-bottom-start,
.swal2-container.loadingDiv.swal2-bottom-end {
  pointer-events: none;

  position: fixed;
  top: auto;
  bottom: 0px;
  left: 0px;
  right: 0px;

  width: 100% !important;
  height: 300px;

  backdrop-filter: blur(5px);
  background: linear-gradient(to top, rgba(17, 17, 17, 0.17), rgba(17, 17, 17, 0)) !important;
  -webkit-mask-image: linear-gradient(to top, black 10%, transparent 100%);
  mask-image: linear-gradient(to top, black 10%, transparent 100%);
}

.swal2-container.loadingDiv.swal2-top,
.swal2-container.loadingDiv.swal2-top-start,
.swal2-container.loadingDiv.swal2-top-end {
  pointer-events: none;

  position: fixed;
  top: 0px;
  bottom: auto;
  left: 0px;
  right: 0px;

  width: 100% !important;
  height: 300px;

  backdrop-filter: blur(5px);
  background: linear-gradient(to bottom, rgba(17, 17, 17, 0.17), rgba(17, 17, 17, 0)) !important;
  -webkit-mask-image: linear-gradient(to bottom, black 10%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 10%, transparent 100%);
}

.swal2-container.loadingDiv.swal2-top-start .swal2-popup,
.swal2-container.loadingDiv.swal2-top .swal2-popup,
.swal2-container.loadingDiv.swal2-top-end .swal2-popup,
.swal2-container.loadingDiv.swal2-center-start .swal2-popup,
.swal2-container.loadingDiv.swal2-center .swal2-popup,
.swal2-container.loadingDiv.swal2-center-end .swal2-popup,
.swal2-container.loadingDiv.swal2-bottom-start .swal2-popup,
.swal2-container.loadingDiv.swal2-bottom .swal2-popup,
.swal2-container.loadingDiv.swal2-bottom-end .swal2-popup {
  width: 150px !important;
}

.swal2-container.loadingDiv .swal2-popup {
  background: none !important;
}

.swal2-container.loadingDiv .swal2-popup i {
  margin: 0px !important;
}

.swal2-container.loadingDiv #loadingDiv {
  font-size: 55px !important;
  color: white !important;
}

.swal2-container.loadingDiv #loadingDiv .icon:not(.notched.circle) {
  opacity: 0.77 !important;
  font-size: 30px !important;
}

.swal2-popup.largeModal {
  width: 1280px !important;
  max-width: calc(100% - 2em) !important;
  padding-left: 0px;
  padding-right: 0px;
  background-color: #1E1E1E;
  box-shadow: 0 25px 80px rgba(15, 23, 42, 0.25), 0 0 0 1px rgba(15, 23, 42, 0.1) !important;
  border-radius: 20px !important;
}

.swal2-popup.largeModal .swal2-content,
.swal2-popup.largeModal .swal2-html-container {
  padding-left: 0px !important;
  padding-right: 0px !important;
  text-align: left !important;
}

.swal2-popup li {
  margin: 0px;
}

/* Progress steps */
.swal2-popup .swal2-progress-steps {
  margin: 0 0 1.25rem !important;
  padding: 0 !important;
}

.swal2-popup .swal2-progress-steps .swal2-progress-step {
  background: #e2e8f0 !important;
  color: #64748b !important;
  font-weight: 600 !important;
  width: 2rem !important;
  height: 2rem !important;
  font-size: 0.875rem !important;
}

.swal2-popup .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {
  background: #008036 !important;
  color: #fff !important;
}

.swal2-popup .swal2-progress-steps .swal2-progress-step-line {
  background: #e2e8f0 !important;
}

.swal2-popup .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line,
.swal2-popup .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step {
  background: #e2e8f0 !important;
  color: #94a3b8 !important;
}

/* Timer bar */
.swal2-popup .swal2-timer-progress-bar {
  background: rgba(0, 128, 54, 0.25) !important;
}

.swal2-popup .swal2-timer-progress-bar-container {
  border-radius: 0 0 20px 20px !important;
  overflow: hidden !important;
}

.swal2-content {
  padding: 7px !important;
}

/* Action buttons */
.swal2-popup .swal2-actions {
  z-index: 0 !important;
  padding: 0 !important;
  margin: 1.5rem 0 0 !important;
  gap: 0.75rem !important;
}

.swal2-popup .swal2-actions button {
  border-radius: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  font-size: 0.95rem !important;
  padding: 0.85rem 1.5rem !important;
  border: none !important;
  margin: 0 !important;
  transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease !important;
}

.swal2-popup .swal2-actions button:active {
  transform: scale(0.97) !important;
}

.swal2-popup .swal2-actions .swal2-confirm {
  background: var(--jmkr-color-1) !important;
  color: #fff !important;
}

.swal2-popup .swal2-actions .swal2-confirm:hover {
  background: var(--jmkr-color-1) !important;
  filter: brightness(0.9) !important;
}

.swal2-popup .swal2-actions .swal2-confirm:focus {
  box-shadow: 0 0 0 3px rgba(var(--jmkr-color-1-rgb, 0, 128, 54), 0.25) !important;
}

.swal2-popup .swal2-actions .swal2-cancel,
.swal2-popup .swal2-actions .swal2-deny {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border: 1px solid #e2e8f0 !important;
}

.swal2-popup .swal2-actions .swal2-cancel:hover,
.swal2-popup .swal2-actions .swal2-deny:hover {
  background: #e2e8f0 !important;
}

.swal2-popup .swal2-actions .swal2-cancel:focus,
.swal2-popup .swal2-actions .swal2-deny:focus {
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.1) !important;
}

.swal2-popup .swal2-actions .swal2-deny {
  background: #fef2f2 !important;
  color: #b91c1c !important;
  border: 1px solid rgba(185, 28, 28, 0.2) !important;
}

.swal2-popup .swal2-actions .swal2-deny:hover {
  background: #fee2e2 !important;
}

.swal2-popup .swal2-actions .swal2-deny:focus {
  box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.15) !important;
}

/* Footer */
.swal2-popup .swal2-footer {
  background-color: #f8fafc !important;
  border-top: 1px solid #e2e8f0 !important;
  margin: 1.5rem -1.15rem -1.15rem !important;
  padding: 1rem 1.15rem !important;
  border-radius: 0 0 20px 20px !important;
  color: #64748b !important;
  font-size: 0.875rem !important;
}

.swal2-popup .swal2-footer a {
  color: #008036 !important;
  font-weight: 600 !important;
}

.swal2-popup .swal2-footer a:hover {
  text-decoration: underline !important;
}

/* ========================================
   Width Utility Classes
======================================== */

.page300width {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 300px;
}

.page400width {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 400px;
}

.page600width {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 600px;
}

.page700width {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 700px;
}

.page900width {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 900px;
}

.page1000width {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1000px;
}

.page1100width {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1100px;
}

.page1280width {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1280px;
}

.page1450width {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1450px;
}

.page1200width {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1200px;
}

@media screen and (max-width: 1200px) {
  .page1200width {
    padding-left: 0px;
    padding-right: 0px;
    width: 100%;
  }
}

#clear {
  clear: both;
}

/* ========================================
   Visibility & Responsive Utilities
======================================== */

@media screen and (max-width: 767px) {}

.visible767 {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .invisible767 {
    display: none !important;
  }

  .visible767 {
    display: block !important;
  }

  .visibleInline767 {
    display: inline-block !important;
  }
}

.visible992 {
  display: none !important;
}

@media screen and (max-width: 991px) {
  .invisible992 {
    display: none !important;
  }

  .visible992 {
    display: block !important;
  }

  .visibleInline992 {
    display: inline-block;
  }
}

.visibleCordova,
.visibleDesktop {
  display: none !important;
}

.isCordova .visibleCordova,
.isDesktop .visibleDesktop {
  display: block !important;
}

.isCordova .invisibleCordova,
.isDesktop .invisibleDesktop {
  display: none !important;
}

.invisible {
  display: none !important;
}

.noExtraContent .extraContent {
  display: none !important;
}

.mapboxgl-ctrl-bottom-left {
  bottom: none;
  top: 3.5px;
}

.mapboxgl-ctrl-bottom-right {
  bottom: none;
  top: 0px;
}

@media only screen and (max-width: 767px) {
  #pendingSubscriptionBackground {
    background-color: #30394933;
  }
}

@media screen and (max-width: 767px) {

  .noPaddingColumn,
  .noPaddingColumn>.column {
    margin: 0px !important;
    padding: 0px !important;
  }
}

@media only screen and (max-width: 767px) {
  .ui.stackable.grid {
    margin-left: -0.9em !important;
    margin-right: -0.9em !important;
  }

  .ui.stackable.grid>.row>.wide.column,
  .ui.stackable.grid>.wide.column,
  .ui.stackable.grid>.column.grid>.column,
  .ui.stackable.grid>.column.row>.column,
  .ui.stackable.grid>.row>.column,
  .ui.stackable.grid>.column:not(.row),
  .ui.grid>.stackable.stackable.row>.column {
    padding: 0.5em !important;
  }

  .noPaddingColumn.ui.stackable.grid>.row>.wide.column,
  .noPaddingColumn.ui.stackable.grid>.wide.column,
  .noPaddingColumn.ui.stackable.grid>.column.grid>.column,
  .noPaddingColumn.ui.stackable.grid>.column.row>.column,
  .noPaddingColumn.ui.stackable.grid>.row>.column,
  .noPaddingColumn.ui.stackable.grid>.column:not(.row),
  .noPaddingColumn.ui.grid>.stackable.stackable.row>.column {
    margin: 0px !important;
    padding: 0px !important;
  }

  .ui.stackable.grid.noPaddingColumn {
    margin: 0px !important;
    padding: 0px !important;
  }
}

/* ========================================
   Tables & Grid Helpers
======================================== */

.noGridSpacing .grid,
.noGridSpacing .grid>.column,
.noGridSpacing .ui.stackable.grid>.column:not(.row) {
  padding: 0px !important;
  margin: 0px !important;
}

.ui.grid {
  margin-top: 0px !important;
  margin-left: -0.9em !important;
  margin-right: -0.9em !important;
}

.column {
  padding: 0.5em !important;
}

.noPaddingColumn,
.noPaddingColumn>.column {
  margin: 0px !important;
  padding: 0px !important;
}

.ui.grid.noPaddingColumn,
.noPaddingColumn,
.noPaddingColumn.column {
  margin: 0px !important;
  padding: 0px !important;
}

/* ========================================
   Night Mode Adjustments
======================================== */

.nightMode .ui.breadcrumb .divider {
  color: white !important;
}

/* ========================================
   Notifications & Activity Feed
======================================== */

.event {
  padding-bottom: 11px !important;
}

.event>.content {
  margin-left: 5px !important;
  max-width: calc(100% - 50px);
}

.event .date {
  color: var(--jmkr-color-1) !important;
  text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.035);
  font-size: 12px !important;
  margin-left: 0px !important;
}

.event .date b {
  font-size: 15px !important;
}

.ui.feed>.event>.content .summary {
  max-width: calc(100% - 8px);
}

.ui.feed>.event>.content .extra.text {
  max-width: calc(100% - 8px) !important;
  color: var(--jmkr-color-1);
  opacity: 0.7;
}

#loadingMore {
  color: var(--jmkr-color-1);
  opacity: 0.7;
  line-height: 35px;
  padding: 17px;
  padding-top: 11px;
  text-align: center;
}

/* ========================================
   Miscellaneous
======================================== */

.clear {
  clear: both;
}

.nopadding {
  padding: 0px !important;
}

.truncate {
  max-width: 100%;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

.preloadHTML {
  opacity: 1;
  will-change: opacity;
  -webkit-transition: opacity 1s ease;
  -moz-transition: opacity 1s ease;
  -ms-transition: opacity 1s ease;
  -o-transition: opacity 1s ease;
  transition: opacity 1s ease;
}

.preloadHTML.fade-out {
  opacity: 0;
  pointer-events: none;
}

.uploadFile {
  cursor: pointer;
}

#calculatecontentsize {
  pointer-events: none;
  opacity: 0;

  position: fixed;
  z-index: 1;

  bottom: 0px;
  left: 0px;

  width: 100%;
  height: 100%;
}

#measureInterface {
  z-index: 0;
  position: fixed;

  top: 0px;
  left: 0px;

  width: 100%;
  height: 100%;

  pointer-events: none;
}

#pendingSubscriptionForeground {
  z-index: 1177;
  position: fixed;

  left: 0px;
  top: 0px;

  width: 100%;
  height: 100%;

  will-change: opacity;
  -webkit-transition: opacity 1s ease;
  -moz-transition: opacity 1s ease;
  -ms-transition: opacity 1s ease;
  -o-transition: opacity 1s ease;
  transition: opacity 1s ease;
}

#pendingSubscriptionForeground .progress {
  z-index: 1177;
  position: fixed;

  left: calc(50% - 170px/2);
  bottom: calc(50% - 170px/2 + 25px);
  width: calc(170px);
  color: white;
  font-weight: 200;
}

#pendingSubscriptionBackground {
  z-index: 1117;
  position: fixed;

  left: 0px;
  top: 0px;

  width: 100%;
  height: 100%;

  background-color: rgba(0, 0, 0, 0.77);

  will-change: opacity;
  -webkit-transition: opacity 1.7s ease;
  -moz-transition: opacity 1.7s ease;
  -ms-transition: opacity 1.7s ease;
  -o-transition: opacity 1.7s ease;
  transition: opacity 1.7s ease;
}

/* iOS auto-zoom prevention: Safari zooms into inputs with font-size < 16px.
   Targets touch-only devices (phones/tablets) so desktop keeps 14px. */
@media (hover: none) and (pointer: coarse) {
  #jmkrClient .field input:not([type="checkbox"]),
  #jmkrClient .field .selectize-input,
  #jmkrClient input:not([type="checkbox"]),
  #jmkrClient textarea,
  #jmkrClient .ui.form .field>.selection.dropdown,
  #jmkrClient .popup input:not([type="checkbox"]),
  #jmkrClient .popup textarea,
  #jmkrClient .popup .ui.form .field>.selection.dropdown,
  #content input,
  #content textarea,
  #content .ui.form .field>.selection.dropdown,
  .popup input,
  .popup textarea,
  .popup .ui.form .field>.selection.dropdown,
  .ui.selection.dropdown,
  .selectize-control.multi .selectize-input [data-value] {
    font-size: 16px !important;
  }
}