@import url("https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap");

/* ========================================================================
   AGENTVIEW CRM 2.0 - THEME 16 MASTER INDEX
   ========================================================================
   ORGANIZATION RULES
   - Activities Dashboard typography is the AV2 source of truth. Equivalent
     semantic roles must use the shared Theme 16 typography tokens.
   - Shared AV2 foundation and global components live at the top.
   - Related screens are grouped by feature family.
   - Responsive and dark-mode rules remain with their owning feature
     when they already live inside that feature block.
   - Existing selectors should be edited in their permanent section.
   - New CSS belongs in the owning section; do not create permanent
     bottom-of-file patch blocks.
   - JavaScript, AJAX, PHP endpoints, IDs, names, and backend behavior
     are outside the scope of this stylesheet organization.

   TABLE OF CONTENTS
   00. SMARTADMIN THEME BASE
   01. AV2 FOUNDATION
   02. APPLICATION SHELL
   03. GLOBAL COMPONENTS
   10. CONTROL CENTER
   10.01 DASHBOARD PANELS
   20. CONTACTS & CRM
   20.01 IMPORT CONTACTS
   20.02 PHONE DIALER
   20.03 CONTACT TAB MANAGER
   20.04 FLOWLOGIC
   20.05 NEW CRM CONTACT
   20.06 CONTACT PROFILE
   21. TASKS & ADDRESS BOOK
   21.01 TASKS
   21.02 ADDRESS BOOK
   30. LEAD GENERATION & LANDING PAGES
   30.01 OPEN HOUSE SIGN-IN
   30.02 OPEN HOUSE BUILDER
   30.03 LANDING PAGES
   30.04 LANDING PAGE BUILDER
   30.05 FEATURED LISTING WIZARD
   40. AGENT WEBSITE
   40.01 AGENT WEBSITE DASHBOARD
   40.02 AGENT WEBSITE BUILDER
   40.03 WEBSITE IDX REQUEST
   50. SOCIAL & MARKETING
   50.01 VIRTUAL BUSINESS CARD
   50.02 SOCIAL SCHEDULER
   60. EMAIL & CAMPAIGNS
   60.01 EMAIL CAMPAIGNS
   60.02 DRIP CAMPAIGN WIZARD
   60.03 CAMPAIGN DETAILS
   60.04 EMAIL CAMPAIGN BUILDER
   60.05 EMAIL TEMPLATE LIBRARY
   60.06 SAVED EMAIL TEMPLATES
   70. TRANSACTIONS & COMMISSIONS
   70.01 TRANSACTIONS DASHBOARD
   70.02 TRANSACTION MANAGER
   70.03 TRANSACTION LIFECYCLE MANAGEMENT
   70.04 CUSTOM TRANSACTION MILESTONES
   70.05 COMMISSION TRACKER
   70.06 COMMISSION REPORT GENERATOR
   70.07 EDIT COMMISSION
   80. ACCOUNT & ADMIN
   80.01 TEAM ACCOUNTS
   80.02 INTEGRATIONS
   80.03 FEATURE MARKETPLACE
   80.04 MARKETPLACE PRODUCT DETAILS
   80.05 MY SHORTCUTS
   80.06 ACCOUNT PROFILE
   ======================================================================== */


/* ========================================================================
   00. SMARTADMIN THEME BASE
   ======================================================================== */


/* ============================================================
   AGENTVIEW CRM 2.0 - SMARTADMIN THEME 16
   ============================================================
   Base: SmartAdmin cust-theme-4.css
   Visual reference: AGENTVIEW SmartAdmin V5 mockups

   PURPOSE
   ------------------------------------------------------------
   Theme 16 is the single AV 2.0 master visual layer:
   - AV navy / blue palette
   - Sidebar and navigation
   - Page surfaces
   - Typography
   - Panels / cards
   - Rounded corners
   - Shadows
   - Buttons
   - Forms
   - Tables / DataTables
   - Dropdowns / modals / popovers
   - AV 2.0 dashboard component classes

   This file is intended to load AFTER app.bundle.css and
   skin-master.css so Theme 16 has final visual authority.
   ============================================================ */

/* #THEME COLOR (variable overrides)
========================================================================== */
/* #GLOBAL IMPORTS
========================================================================== */
/* #IMPORTS ~~
========================================================================== */
/*---------------------------------------------------
    SASS ELements (based on LESS Elements 0.9 http://lesselements.com) 
  -------------------------------- -------------------
    LESS ELEMENTS made by Dmitry Fadeyev (http://fadeyev.net)
    SASS port by Samuel Beek (http://samuelbeek.com) 
  ---------------------------------------------------*/
/*------------------------
    Usage

  $color-white: hexToRGBString(#fff) => "255,255,255"
  $color-white: hexToRGBString(rgb(255,255,255)) => "255,255,255"
  $color-white: hexToRGBString(rgba(#fff,1)) => "255,255,255"
  
------------------------*/
/*------------------------
    Usage

    h1 {
      font-size: rem(32);
    }

    OR:

    h1 {
      font-size: rem(32px);
    }
------------------------*/
/*------------------------
  FADE IN
  e.g. @include fadeIn( 2s );
------------------------*/
/*------------------------
mixin that calculates if text needs to be light or dark
depending on the background color passed.

From this W3C document: http://www.webmasterworld.com/r.cgi?f=88&d=9769&url=http://www.w3.org/TR/AERT#color-contrast

usage:
@include text-contrast($bgcolor)
      
Color brightness is determined by the following formula: 
((Red value X 299) + (Green value X 587) + (Blue value X 114)) / 1000
------------------------*/
/*------------------------
 color factory 
  eg: contrast-ink($contrastvalue)
------------------------*/
/*------------------------
 color factory 
  eg: @include paint($blue-grey-50, bg-blue-grey-50);
------------------------*/
/* backface visibility */
/* generate theme button */
/*  THEME COLORs
========================================================================== */
/* Looks good on chrome default color profile */
/* We will manually convert these primary colors to rgb for the dark mode option of the theme */
/* looks good in sRGB but washed up on chrome default 
$color-primary:						#826bb0;
$color-success:						#31cb55;
$color-info:						#5e93ec;
$color-warning:						#eec559;
$color-danger:						#dc4b92;
$color-fusion:						darken(desaturate(adjust-hue($color-primary, 5), 80%), 25%); */
/*  Color Polarity
========================================================================== */
/*  PAINTBUCKET MIXER
========================================================================== */
/* the grays */
/* the sapphires */
/* the emeralds */
/* the amethyths */
/* the topaz */
/* the rubies */
/* the graphites */
/*  Define universal border difition (div outlines, etc)
========================================================================== */
/*  MOBILE BREAKPOINT & GUTTERS (contains some bootstrap responsive overrides)
========================================================================== */
/* define when mobile menu activates, here we are declearing (lg) so it targets the one after it */
/* bootstrap reference xs: 0,  sm: 544px, md: 768px, lg: 992px, xl: 1200px*/
/* global var used for spacing*/
/* Uniform Padding variable */
/* Heads up! This is a global scoped variable - changing may impact the whole template */
/*   BOOTSTRAP OVERRIDES (bootstrap variables)
========================================================================== */
/* usage: theme-colors("primary"); */
/* forms */
/*$input-height:							calc(2.25rem + 1px); //I had to add this because the input gruops was having improper height for some reason... */
/* links */
/* checkbox */
/*$custom-file-height-inner:				calc(2.25rem - 1px);*/
/* not part of bootstrap variable */
/* custom checkbox */
/* custom range */
/* custom file */
/* badge */
/* cards */
/*border radius*/
/* alert */
/* toast */
/* breadcrumb */
/* input button */
/* nav link */
/* nav, tabs, pills */
/* tables */
/* dropdowns */
/* dropdowns sizes */
/* popovers */
/* tooltips */
/* modal */
/* reference guide
http://www.standardista.com/px-to-rem-conversion-if-root-font-size-is-16px/
8px = 0.5rem
9px = 0.5625rem
10px = 0.625rem
11px = 0.6875rem
12px = 0.75rem
13px = 0.8125rem
14px = 0.875rem
15px = 0.9375rem
16px = 1rem (base)
17px = 1.0625rem
18px = 1.125rem
19px = 1.1875rem
20px = 1.25rem
21px = 1.3125rem
22px = 1.375rem
24px = 1.5rem
25px = 1.5625rem
26px = 1.625rem
28px = 1.75rem
30px = 1.875rem
32px = 2rem
34px = 2.125rem
36px = 2.25rem
38px = 2.375rem
40px = 2.5rem
*/
/* Fonts */
/* carousel */
/*  BASE VARS
========================================================================== */
/* font vars below will auto change to rem values using function rem($value)*/
/* 11px   */
/* 12px   */
/* 12.5px */
/* 14px   */
/* 15px   */
/* 16px   */
/* 28px   */
/*  Font Family
========================================================================== */
/*hint: you can also try the font called 'Poppins' by replacing the font 'Roboto' */
/*  ANIMATIONS
========================================================================== */
/* this addresses all animation related to nav hide to nav minify */
/*  Z-INDEX declearation
========================================================================== */
/* we adjust bootstrap z-index to be higher than our higest z-index*/
/*  CUSTOM ICON PREFIX 
========================================================================== */
/*  PRINT CSS (landscape or portrait)
========================================================================== */
/* landscape or portrait */
/* auto, letter */
/*  Common Element Variables
========================================================================== */
/* Z-index decleartion "birds eye view"
========================================================================== */
/*  Components
========================================================================== */
/*  PAGE HEADER STUFF
========================================================================== */
/* colors */
/* height */
/* logo */
/* try not to go beywond the width of $main_nav_width value */
/* you may need to change this depending on your logo design */
/* adjust this as you see fit : left, right, center */
/* icon font size (not button) */
/* search input box */
/* suggestion: #ccced0*/
/* btn */
/* dropdown: app list */
/* badge */
/* COMPONENTS & MODS */
/*  NAVIGATION STUFF

Guide:

aside.page-sidebar ($nav-width, $nav-background)
	.page-logo
	.primary-nav
		.info-card
		ul.nav-menu
			li
				a (parent level-0..., $nav-link-color, $nav-link-hover-color, $nav-link-hover-bg-color, $nav-link-hover-left-border-color)
					icon 
					span
					collapse-sign 
					
				ul.nav-menu-sub-one  
					li
						a ($nav-level-1... $nav-sub-link-height)
							span
							collapse-sign

						ul.nav-menu-sub-two
							li
								a ($nav-level-2... $nav-sub-link-height)
									span

		p.nav-title ($nav-title-*...)


========================================================================== */
/* main navigation */
/* left panel */
/* nav footer */
/* nav parent level-0 */
/* nav icon sizes */
/* badge default */
/* all child */
/* nav title */
/* nav Minify */
/* when the menu pops on hover */
/* navigation Width */
/* partial visibility of the menu */
/* top navigation */
/* nav Info Card (appears below the logo) */
/* width is auto */
/* nav DL labels for all child */
/* will be pulled to left as a negative value */
/*   MISC Settings
========================================================================== */
/* List Table */
/*   PAGE SETTINGS
========================================================================== */
/*   PAGE BREADCRUMB 
========================================================================== */
/*   PAGE COMPONENT PANELS 
========================================================================== */
/*   PAGE COMPONENT PROGRESSBARS 
========================================================================== */
/*   PAGE COMPONENT MESSENGER 
========================================================================== */
/*   FOOTER
========================================================================== */
/*   GLOBALS
========================================================================== */
/* ACCESSIBILITIES */
/* PLACEHOLDER 
============================================= 

EXAMPLE:

%bg-image {
    width: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.image-one {
    @extend %bg-image;
    background-image:url(/img/image-one.jpg");
}

RESULT:

.image-one, .image-two {
    width: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

*/
.page-logo, .page-sidebar, .nav-footer, .bg-brand-gradient {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(178, 45, 226, 0.18)), to(transparent));
  background-image: linear-gradient(270deg, rgba(178, 45, 226, 0.18), transparent);
  background-color: #0f619f; }

/*
%shadow-hover {
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 0 2px rgba(0,0,0,0.24);
  transition: all 0.2s ease-in-out;

  &:hover {
    box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 -1px 6px rgba(0,0,0,0.23);
  }
}
*/
.btn-default {
  background-color: #f5f5f5;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#f5f5f5), to(#f1f1f1));
  background-image: linear-gradient(to top, #f5f5f5, #f1f1f1);
  color: #444; }
  .btn-default:hover {
    border: 1px solid #c6c6c6; }
  .btn-default:focus {
    border-color: #b8d4ff !important; }
  .active.btn-default {
    background: #8ab8ff;
    color: #fff; }

.header-function-fixed .btn-switch[data-class="header-function-fixed"], .nav-function-fixed .btn-switch[data-class="nav-function-fixed"], .nav-function-minify .btn-switch[data-class="nav-function-minify"], .nav-function-hidden .btn-switch[data-class="nav-function-hidden"], .nav-function-top .btn-switch[data-class="nav-function-top"], .footer-function-fixed .btn-switch[data-class="footer-function-fixed"], .nav-mobile-push .btn-switch[data-class="nav-mobile-push"], .nav-mobile-no-overlay .btn-switch[data-class="nav-mobile-no-overlay"], .nav-mobile-slide-out .btn-switch[data-class="nav-mobile-slide-out"], .mod-main-boxed .btn-switch[data-class="mod-main-boxed"], .mod-fixed-bg .btn-switch[data-class="mod-fixed-bg"], .mod-clean-page-bg .btn-switch[data-class="mod-clean-page-bg"], .mod-pace-custom .btn-switch[data-class="mod-pace-custom"], .mod-bigger-font .btn-switch[data-class="mod-bigger-font"], .mod-high-contrast .btn-switch[data-class="mod-high-contrast"], .mod-color-blind .btn-switch[data-class="mod-color-blind"], .mod-hide-nav-icons .btn-switch[data-class="mod-hide-nav-icons"], .mod-hide-info-card .btn-switch[data-class="mod-hide-info-card"], .mod-lean-subheader .btn-switch[data-class="mod-lean-subheader"], .mod-disable-animation .btn-switch[data-class="mod-disable-animation"], .mod-nav-link .btn-switch[data-class="mod-nav-link"], .mod-nav-dark .btn-switch[data-class="mod-nav-dark"], .mod-panel-icon .btn-switch[data-class="mod-panel-icon"] {
  color: #fff;
  background: #0b5cff !important; }
  .header-function-fixed .btn-switch[data-class="header-function-fixed"]:after, .nav-function-fixed .btn-switch[data-class="nav-function-fixed"]:after, .nav-function-minify .btn-switch[data-class="nav-function-minify"]:after, .nav-function-hidden .btn-switch[data-class="nav-function-hidden"]:after, .nav-function-top .btn-switch[data-class="nav-function-top"]:after, .footer-function-fixed .btn-switch[data-class="footer-function-fixed"]:after, .nav-mobile-push .btn-switch[data-class="nav-mobile-push"]:after, .nav-mobile-no-overlay .btn-switch[data-class="nav-mobile-no-overlay"]:after, .nav-mobile-slide-out .btn-switch[data-class="nav-mobile-slide-out"]:after, .mod-main-boxed .btn-switch[data-class="mod-main-boxed"]:after, .mod-fixed-bg .btn-switch[data-class="mod-fixed-bg"]:after, .mod-clean-page-bg .btn-switch[data-class="mod-clean-page-bg"]:after, .mod-pace-custom .btn-switch[data-class="mod-pace-custom"]:after, .mod-bigger-font .btn-switch[data-class="mod-bigger-font"]:after, .mod-high-contrast .btn-switch[data-class="mod-high-contrast"]:after, .mod-color-blind .btn-switch[data-class="mod-color-blind"]:after, .mod-hide-nav-icons .btn-switch[data-class="mod-hide-nav-icons"]:after, .mod-hide-info-card .btn-switch[data-class="mod-hide-info-card"]:after, .mod-lean-subheader .btn-switch[data-class="mod-lean-subheader"]:after, .mod-disable-animation .btn-switch[data-class="mod-disable-animation"]:after, .mod-nav-link .btn-switch[data-class="mod-nav-link"]:after, .mod-nav-dark .btn-switch[data-class="mod-nav-dark"]:after, .mod-panel-icon .btn-switch[data-class="mod-panel-icon"]:after {
    background: #fff !important;
    color: #0b5cff !important; }
  .header-function-fixed .btn-switch[data-class="header-function-fixed"] + .onoffswitch-title, .nav-function-fixed .btn-switch[data-class="nav-function-fixed"] + .onoffswitch-title, .nav-function-minify .btn-switch[data-class="nav-function-minify"] + .onoffswitch-title, .nav-function-hidden .btn-switch[data-class="nav-function-hidden"] + .onoffswitch-title, .nav-function-top .btn-switch[data-class="nav-function-top"] + .onoffswitch-title, .footer-function-fixed .btn-switch[data-class="footer-function-fixed"] + .onoffswitch-title, .nav-mobile-push .btn-switch[data-class="nav-mobile-push"] + .onoffswitch-title, .nav-mobile-no-overlay .btn-switch[data-class="nav-mobile-no-overlay"] + .onoffswitch-title, .nav-mobile-slide-out .btn-switch[data-class="nav-mobile-slide-out"] + .onoffswitch-title, .mod-main-boxed .btn-switch[data-class="mod-main-boxed"] + .onoffswitch-title, .mod-fixed-bg .btn-switch[data-class="mod-fixed-bg"] + .onoffswitch-title, .mod-clean-page-bg .btn-switch[data-class="mod-clean-page-bg"] + .onoffswitch-title, .mod-pace-custom .btn-switch[data-class="mod-pace-custom"] + .onoffswitch-title, .mod-bigger-font .btn-switch[data-class="mod-bigger-font"] + .onoffswitch-title, .mod-high-contrast .btn-switch[data-class="mod-high-contrast"] + .onoffswitch-title, .mod-color-blind .btn-switch[data-class="mod-color-blind"] + .onoffswitch-title, .mod-hide-nav-icons .btn-switch[data-class="mod-hide-nav-icons"] + .onoffswitch-title, .mod-hide-info-card .btn-switch[data-class="mod-hide-info-card"] + .onoffswitch-title, .mod-lean-subheader .btn-switch[data-class="mod-lean-subheader"] + .onoffswitch-title, .mod-disable-animation .btn-switch[data-class="mod-disable-animation"] + .onoffswitch-title, .mod-nav-link .btn-switch[data-class="mod-nav-link"] + .onoffswitch-title, .mod-nav-dark .btn-switch[data-class="mod-nav-dark"] + .onoffswitch-title, .mod-panel-icon .btn-switch[data-class="mod-panel-icon"] + .onoffswitch-title {
    color: #0b5cff; }

.nav-mobile-slide-out #nmp .onoffswitch-title, .nav-mobile-slide-out #nmno .onoffswitch-title, .nav-function-top #mnl .onoffswitch-title, .nav-function-minify #mnl .onoffswitch-title, .mod-hide-nav-icons #mnl .onoffswitch-title, .nav-function-top #nfh .onoffswitch-title {
  color: #d58100; }

.nav-mobile-slide-out #nmp .onoffswitch-title-desc, .nav-mobile-slide-out #nmno .onoffswitch-title-desc, .nav-function-top #mnl .onoffswitch-title-desc, .nav-function-minify #mnl .onoffswitch-title-desc, .mod-hide-nav-icons #mnl .onoffswitch-title-desc, .nav-function-top #nfh .onoffswitch-title-desc {
  color: #ec9f28; }

.dropdown-icon-menu > ul > li .btn, .header-btn {
  border: 1px solid #d3d6da;
  color: #a6a6a6; }
  .dropdown-icon-menu > ul > li .btn:hover, .header-btn:hover {
    border-color: #0b5cff;
    background: #8ab8ff;
    color: #fff; }

.nav-mobile-slide-out #nmp:after,
.nav-mobile-slide-out #nmno:after, .nav-function-top #mnl:after,
.nav-function-minify #mnl:after,
.mod-hide-nav-icons #mnl:after, .nav-function-top #nfh:after {
  background: #ffd193;
  border: 1px solid #df8000;
  color: #15171a; }

/* #GLOBAL IMPORTS
========================================================================== */
/*@import '_imports/_global-import';*/
/* #FRAMEWORK - Structure and layout files. (**DO NOT** change order)
                DOC: you can disable unused _modules
========================================================================== */
/* contains root variables to be used with css (see docs) */
/* html and body base styles */
html body {
  background-color: #fff; }
  html body a {
    color: #0b5cff;
    background-color: transparent; }
    html body a:hover {
      color: #5595ff; }

.header-icon {
  color: #666666; }
  .header-icon:not(.btn) > [class*='fa-']:first-child,
  .header-icon:not(.btn) > .ni:first-child {
    color: #0b5cff; }
  .header-icon:not(.btn):hover > [class*='fa-']:only-child,
  .header-icon:not(.btn):hover > .ni {
    color: #404040; }
  .header-icon:not(.btn)[data-toggle="dropdown"] {
    /* header dropdowns */
    /* note: important rules to override popper's inline classes */
    /* end header dropdowns */ }
    .header-icon:not(.btn)[data-toggle="dropdown"][aria-expanded="true"] {
      color: #404040; }
      .header-icon:not(.btn)[data-toggle="dropdown"][aria-expanded="true"] > [class*='fa-']:first-child,
      .header-icon:not(.btn)[data-toggle="dropdown"][aria-expanded="true"] > .ni:first-child {
        color: #404040 !important; }
    .header-icon:not(.btn)[data-toggle="dropdown"] + .dropdown-menu {
      border-color: #ccc; }
  .header-icon:hover {
    color: #404040; }

@media (max-width: 767.98px) {
    .av-header-greeting {
        display: none !important;
    }
}

.page-header {
  background-color: #fff; }

#search-field {
  background: transparent;
  border: 1px solid transparent; }

.notification li.unread {
  background: #ffe4c0; }

.notification li > :first-child {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06); }
  .notification li > :first-child:hover {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(29, 33, 41, 0.03)), to(rgba(29, 33, 41, 0.04)));
    background-image: linear-gradient(rgba(29, 33, 41, 0.03), rgba(29, 33, 41, 0.04)); }

.notification .name {
  color: #222222; }

.notification .msg-a,
.notification .msg-b {
  color: #555555; }

.notification.notification-layout-2 li {
  background: #f9f9f9; }
  .notification.notification-layout-2 li.unread {
    background: #fff; }
  .notification.notification-layout-2 li > :first-child {
    border-bottom: 1px solid rgba(0, 0, 0, 0.04); }

.notification.notification-layout-2:hover {
  cursor: pointer; }

.app-list-item {
  color: #666666; }
  .app-list-item:hover {
    border: 1px solid #e3e3e3; }
  .app-list-item:active {
    border-color: #0b5cff; }

@media (min-width: 992px) {
  .header-function-fixed.nav-function-top .page-header {
    -webkit-box-shadow: 0px 0px 28px 2px rgba(9, 97, 165, 0.13);
            box-shadow: 0px 0px 28px 2px rgba(9, 97, 165, 0.13); } }

.nav-title {
  color: #1b90e9; }

.nav-menu li.open > a {
  color: white; }

.nav-menu li.active {
  /* arrow that appears next to active/selected items */ }
  .nav-menu li.active > a {
    color: white;
    background-color: rgba(255, 255, 255, 0.04);
    -webkit-box-shadow: inset 3px 0 0 #0b5cff;
            box-shadow: inset 3px 0 0 #0b5cff; }
    .nav-menu li.active > a:hover > [class*='fa-'],
    .nav-menu li.active > a:hover > .ni {
      color: #6dabda; }
  .nav-menu li.active > ul {
    display: block; }
  .nav-menu li.active:not(.open) > a:before {
    color: #24b3a4; }

.nav-menu li a {
  color: #82c2f3; }
  .nav-menu li a .dl-ref.label {
    color: rgba(255, 255, 255, 0.7); }
  .nav-menu li a > [class*='fa-'],
  .nav-menu li a > .ni {
    color: #2595ea; }
  .nav-menu li a.collapsed .nav-menu-btn-sub-collapse {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); }
  .nav-menu li a:hover {
    color: white;
    background-color: rgba(0, 0, 0, 0.1); }
    .nav-menu li a:hover .badge {
      color: #fff; }
    .nav-menu li a:hover > [class*='fa-'],
    .nav-menu li a:hover > .ni {
      color: #6dabda; }
    .nav-menu li a:hover > .badge {
      -webkit-box-shadow: 0 0 0 1px rgba(19, 119, 196, 0.8);
              box-shadow: 0 0 0 1px rgba(19, 119, 196, 0.8);
      border: 1px solid rgba(19, 119, 196, 0.8); }
  .nav-menu li a:focus {
    color: white; }
    .nav-menu li a:focus .badge {
      color: #fff; }

.nav-menu li b.collapse-sign {
  color: #5595ff; }

.nav-menu li > ul {
  background-color: rgba(0, 0, 0, 0.1); }
  .nav-menu li > ul li a {
    color: #6ab7f1; }
    .nav-menu li > ul li a > [class*='fa-'],
    .nav-menu li > ul li a > .ni {
      color: #2595ea; }
    .nav-menu li > ul li a > .badge {
      color: #fff;
      background-color: #FC1349; }
    .nav-menu li > ul li a:hover {
      color: white;
      background-color: rgba(0, 0, 0, 0.1); }
      .nav-menu li > ul li a:hover > .nav-link-text > [class*='fa-'],
      .nav-menu li > ul li a:hover > .nav-link-text > .ni {
        color: #6dabda; }
  .nav-menu li > ul li.active > a {
    color: white;
    background-color: transparent; }
    .nav-menu li > ul li.active > a > .nav-link-text > [class*='fa-'],
    .nav-menu li > ul li.active > a > .nav-link-text > .ni {
      color: white; }
    .nav-menu li > ul li.active > a:hover > .nav-link-text > [class*='fa-'],
    .nav-menu li > ul li.active > a:hover > .nav-link-text > .ni {
      color: #6dabda; }
  .nav-menu li > ul li > ul li.active > a {
    color: white; }
  .nav-menu li > ul li > ul li a {
    color: #61b2f0; }
    .nav-menu li > ul li > ul li a:hover {
      color: white; }
    .nav-menu li > ul li > ul li a > .badge {
      color: #fff;
      background-color: #FC1349;
      border: 1px solid #434a51; }

/* nav clean elements */
.nav-menu-clean {
  background: #fff; }
  .nav-menu-clean li a {
    color: #434a51 !important; }
    .nav-menu-clean li a span {
      color: #434a51 !important; }
    .nav-menu-clean li a:hover {
      background-color: #f4f4f4 !important; }

/* nav bordered elements */
.nav-menu-bordered {
  border: 1px solid rgba(0, 0, 0, 0.08); }
  .nav-menu-bordered li a {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08); }

.nav-filter input[type="text"] {
  background: rgba(0, 0, 0, 0.4);
  color: #fff; }
  .nav-filter input[type="text"]:not(:focus) {
    border-color: rgba(0, 0, 0, 0.1); }
  .nav-filter input[type="text"]:focus {
    border-color: #1585dc; }

.info-card {
  color: #fff; }
  .info-card .info-card-text {
    text-shadow: #000 0 1px; }

@media (min-width: 992px) {
  .nav-function-top {
    /* correct search field color */ }
    .nav-function-top #search-field {
      color: #fff; }
    .nav-function-top:not(.header-function-fixed) #nff {
      position: relative; }
      .nav-function-top:not(.header-function-fixed) #nff .onoffswitch-title {
        color: #d58100; }
      .nav-function-top:not(.header-function-fixed) #nff .onoffswitch-title-desc {
        color: #ec9f28; }
      .nav-function-top:not(.header-function-fixed) #nff:after {
        background: #ffd193;
        border: 1px solid #df8000;
        color: #15171a; }
    .nav-function-top .page-header {
      background-image: -webkit-gradient(linear, right top, left top, from(rgba(178, 45, 226, 0.18)), to(transparent));
      background-image: linear-gradient(270deg, rgba(178, 45, 226, 0.18), transparent);
      background-color: #0f619f;
      -webkit-box-shadow: 0px 0px 14px 0px rgba(9, 97, 165, 0.13);
              box-shadow: 0px 0px 14px 0px rgba(9, 97, 165, 0.13); }
      .nav-function-top .page-header .header-icon:not(.btn) > [class*='fa-']:first-child,
      .nav-function-top .page-header .header-icon:not(.btn) > .ni:first-child {
        color: #8ab8ff; }
        .nav-function-top .page-header .header-icon:not(.btn) > [class*='fa-']:first-child:hover,
        .nav-function-top .page-header .header-icon:not(.btn) > .ni:first-child:hover {
          color: #d9e8ff; }
      .nav-function-top .page-header .badge.badge-icon {
        -webkit-box-shadow: 0 0 0 1px #084fe0;
                box-shadow: 0 0 0 1px #084fe0; }
    .nav-function-top .page-sidebar {
      background: #fff;
      -webkit-box-shadow: 0px 0px 14px 0px rgba(9, 97, 165, 0.13);
              box-shadow: 0px 0px 14px 0px rgba(9, 97, 165, 0.13); }
      .nav-function-top .page-sidebar .primary-nav .nav-menu > li.active > a:before {
        color: #24b3a4; }
      .nav-function-top .page-sidebar .primary-nav .nav-menu > li > a > .ni,
      .nav-function-top .page-sidebar .primary-nav .nav-menu > li > a > [class*='fa-'] {
        color: inherit; }
      .nav-function-top .page-sidebar .primary-nav .nav-menu > li > a > .collapse-sign {
        color: #58aeef; }
      .nav-function-top .page-sidebar .primary-nav .nav-menu > li a {
        color: #0f619f; }
      .nav-function-top .page-sidebar .primary-nav .nav-menu > li > ul {
        background: #1274c0; }
        .nav-function-top .page-sidebar .primary-nav .nav-menu > li > ul li a {
          color: #82c2f3; }
        .nav-function-top .page-sidebar .primary-nav .nav-menu > li > ul li ul {
          background: #1274c0; }
        .nav-function-top .page-sidebar .primary-nav .nav-menu > li > ul li:hover > a {
          background: rgba(0, 0, 0, 0.1);
          color: #fff; }
        .nav-function-top .page-sidebar .primary-nav .nav-menu > li > ul:after {
          background: transparent; }
        .nav-function-top .page-sidebar .primary-nav .nav-menu > li > ul:before {
          color: #1274c0; }
      .nav-function-top .page-sidebar .primary-nav .nav-menu > li:hover > a {
        color: #0b5cff;
        background: transparent; } }

@media (min-width: 992px) {
  .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu li.active.open > a:before {
    color: #24b3a4; }
  .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu > li > a > .nav-link-text {
    background: trasparent; }
  .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu > li > a + ul {
    background-color: #0f619f; }
    .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu > li > a + ul:before {
      color: #0f619f; }
  .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav:hover {
    overflow: visible; }
    .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav:hover .nav-menu > li:hover > a {
      background: #116cb2;
      color: #fff; }
      .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav:hover .nav-menu > li:hover > a > .nav-link-text:last-child {
        background: #0f619f; }
        .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav:hover .nav-menu > li:hover > a > .nav-link-text:last-child:before {
          color: #0f619f; }
  .nav-function-minify:not(.nav-function-top) .page-header [data-class="nav-function-minify"] {
    background: #434a51;
    border-color: #2c3136 !important;
    color: #fff !important; } }

.nav-footer .nav-footer-buttons > li > a {
  color: #40a2ed; }

.nav-function-fixed .nav-footer {
  background: #0f619f; }
  .nav-function-fixed .nav-footer:before {
    background: rgba(19, 125, 206, 0.2);
    background: -webkit-gradient(linear, left top, right top, from(#0f619f), color-stop(50%, #168be5), color-stop(50%, #168be5), to(#0f619f));
    background: linear-gradient(to right, #0f619f 0%, #168be5 50%, #168be5 50%, #0f619f 100%); }

@media (min-width: 992px) {
  .nav-function-minify .nav-footer {
    background-color: #0e5b96; }
    .nav-function-minify .nav-footer [data-class="nav-function-minify"] {
      color: #2595ea; }
    .nav-function-minify .nav-footer:hover {
      background-color: #1069ad; }
      .nav-function-minify .nav-footer:hover [data-class="nav-function-minify"] {
        color: #6dabda; } }

.page-content-wrapper {
  background-color: #ebf6fd; }

.subheader-icon {
  color: #6dabda; }

.subheader-title {
  color: #434a51;
  text-shadow: #fff 0 1px; }
  .subheader-title small {
    color: #717d89; }

.page-footer {
  background: #fff;
  color: #4d4d4d; }

.accordion .card .card-header {
  background-color: #f7f9fa; }
  .accordion .card .card-header .card-title {
    color: #0b5cff; }
    .accordion .card .card-header .card-title.collapsed {
      color: #717d89; }

.accordion.accordion-clean .card-header {
  background: #fff; }

.accordion.accordion-hover .card-header {
  background: #fff; }
  .accordion.accordion-hover .card-header:hover .card-title.collapsed {
    color: #fff;
    background-color: #8ab8ff; }

.accordion.accordion-hover .card-title:not(.collapsed) {
  color: #fff;
  background-color: #0b5cff; }

/* 	DEV NOTE: The reason why we had to add this layer for alert colors is because BS4 
	does not allow you to add your own alert colors via variable control rather 
	through a systemetic agent that changes the theme colors. 

	REF: https://github.com/twbs/bootstrap/issues/24341#issuecomment-337457218
*/
.alert-primary {
  color: #376a90;
  background-color: #e1effa;
  border-color: #b4d5ef; }

.alert-success {
  color: #5b9b35;
  background-color: #ecfae4;
  border-color: #b0ed8b; }

.alert-danger {
  color: #c0022e;
  background-color: #febecd;
  border-color: #fd7897; }

.alert-warning {
  color: #935400;
  background-color: #ffe2bb;
  border-color: #ffa937; }

.alert-info {
  color: #8b09ba;
  background-color: #f5defd;
  border-color: #d87cf9; }

.alert-secondary {
  color: #434a51;
  background-color: #f4f5f6;
  border-color: #d3d6da; }

.badge.badge-icon {
  background-color: #FC1349;
  color: #fff;
  -webkit-box-shadow: 0 0 0 1px #fff;
          box-shadow: 0 0 0 1px #fff; }

/* btn switch */
.btn-switch {
  background: #5a636d;
  color: white; }
  .btn-switch:hover {
    color: white; }
  .btn-switch:after {
    color: white; }
  .btn-switch.active {
    color: #fff;
    background: #0b5cff; }
    .btn-switch.active:before {
      color: white; }
    .btn-switch.active:after {
      background: #fff;
      color: #0b5cff; }

/* button used to close filter and mobile search */
.btn-search-close {
  color: #fff; }

/* buttons used in the header section of the page */
.header-btn[data-class='mobile-nav-on'] {
  border-color: #d90334;
  background-color: #f2033b;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#f2033b), to(#c0022e));
  background-image: linear-gradient(to top, #f2033b, #c0022e);
  color: #fff; }

/* dropdown btn */
/* used on info card pulldown filter */
.pull-trigger-btn {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(0, 0, 0, 0.4);
  color: #fff !important;
  -webkit-box-shadow: 0px 0px 2px rgba(11, 92, 255, 0.3);
          box-shadow: 0px 0px 2px rgba(11, 92, 255, 0.3); }
  .pull-trigger-btn:hover {
    background: #0b5cff;
    border-color: #084fe0; }

/* btn misc */
.btn-outline-default {
  color: #212529;
  border-color: #E5E5E5; }
  .btn-outline-default:hover, .btn-outline-default:not(:disabled):not(.disabled):active, .btn-outline-default:not(:disabled):not(.disabled).active,
  .show > .btn-outline-default.dropdown-toggle {
    color: #212529;
    background-color: #f9f9f9;
    border-color: #E5E5E5; }
  .btn-outline-default.disabled, .btn-outline-default:disabled {
    color: #212529; }

/* btn shadows */
.btn-primary {
  -webkit-box-shadow: 0 2px 6px 0 rgba(11, 92, 255, 0.5);
          box-shadow: 0 2px 6px 0 rgba(11, 92, 255, 0.5); }

.btn-secondary {
  -webkit-box-shadow: 0 2px 6px 0 rgba(108, 117, 125, 0.5);
          box-shadow: 0 2px 6px 0 rgba(108, 117, 125, 0.5); }

.btn-success {
  -webkit-box-shadow: 0 2px 6px 0 rgba(82, 191, 17, 0.5);
          box-shadow: 0 2px 6px 0 rgba(82, 191, 17, 0.5); }

.btn-info {
  -webkit-box-shadow: 0 2px 6px 0 rgba(187, 27, 244, 0.5);
          box-shadow: 0 2px 6px 0 rgba(187, 27, 244, 0.5); }

.btn-warning {
  -webkit-box-shadow: 0 2px 6px 0 rgba(255, 154, 19, 0.5);
          box-shadow: 0 2px 6px 0 rgba(255, 154, 19, 0.5); }

.btn-danger {
  -webkit-box-shadow: 0 2px 6px 0 rgba(252, 19, 73, 0.5);
          box-shadow: 0 2px 6px 0 rgba(252, 19, 73, 0.5); }

.btn-light {
  -webkit-box-shadow: 0 2px 6px 0 rgba(255, 255, 255, 0.5);
          box-shadow: 0 2px 6px 0 rgba(255, 255, 255, 0.5); }

.btn-dark {
  -webkit-box-shadow: 0 2px 6px 0 rgba(67, 74, 81, 0.5);
          box-shadow: 0 2px 6px 0 rgba(67, 74, 81, 0.5); }

.btn-icon-light {
  color: rgba(255, 255, 255, 0.7) !important;
  border-color: transparent !important; }
  .btn-icon-light:not(.active):not(:active):not(:hover):not(:focus) {
    color: rgba(255, 255, 255, 0.7) !important; }
  .btn-icon-light:hover {
    color: #fff !important;
    background-color: rgba(255, 255, 255, 0.2) !important; }

/* bootstrap buttons */
.btn-link {
  color: #0b5cff; }
  .btn-link:hover {
    color: #073eaf; }

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #0b5cff; }

.card-header {
  background-color: #f7f9fa; }

.carousel-control-prev:hover {
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.25)), color-stop(45%, rgba(0, 0, 0, 0)));
  background: linear-gradient(to right, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 45%); }

.carousel-control-next:hover {
  background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.25)), color-stop(45%, rgba(0, 0, 0, 0)));
  background: linear-gradient(to left, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 45%); }

/* dropdown menu multi-level */
.dropdown-menu .dropdown-menu {
  background: #fff; }

.dropdown-menu .dropdown-multilevel:hover > .dropdown-item:not(.disabled) {
  background: #f8f9fa;
  color: #073eaf; }

.dropdown-item:hover, .dropdown-item:focus {
  color: #073eaf;
  background-color: #f8f9fa; }

.dropdown-item.active, .dropdown-item:active {
  color: #082f7a;
  background-color: #cae7fc; }

.chat-segment-get .chat-message {
  background: #f1f0f0; }

.chat-segment-sent .chat-message {
  background: #52bf11; }

/* transparent modal */
.modal-transparent .modal-content {
  -webkit-box-shadow: 0 1px 15px 1px rgba(9, 97, 165, 0.3);
          box-shadow: 0 1px 15px 1px rgba(9, 97, 165, 0.3); }

.modal-transparent .modal-content {
  background: rgba(11, 39, 61, 0.85); }

.panel {
  background-color: #fff;
  border-bottom: 1px solid #e0e0e0;
  /* panel fullscreen */
  /* panel locked */ }
  .panel.panel-fullscreen {
    /* make panel header bigger */ }
    .panel.panel-fullscreen .panel-hdr {
      -webkit-box-shadow: 0 0.125rem 0.125rem -0.0625rem rgba(8, 83, 141, 0.1);
              box-shadow: 0 0.125rem 0.125rem -0.0625rem rgba(8, 83, 141, 0.1); }
  .panel.panel-locked:not(.panel-fullscreen) .panel-hdr:active h2:before {
    color: #FC1349; }

/* panel tag can be used globally */
.panel-tag {
  background: #eef7fd; }

/* panel header */
.panel-hdr {
  background: #fff; }

/* panel tap highlight */
.panel-sortable:not(.panel-locked) .panel-hdr:active {
  border-top-color: rgba(81, 174, 246, 0.7);
  border-left-color: rgba(11, 92, 255, 0.7);
  border-right-color: rgba(11, 92, 255, 0.7); }
  .panel-sortable:not(.panel-locked) .panel-hdr:active + .panel-container {
    border-color: transparent rgba(11, 92, 255, 0.7) rgba(13, 140, 238, 0.7); }

/*.panel-sortable .panel-hdr:active,
.panel-sortable .panel-hdr:active + .panel-container {
	@include transition-border(0.4s, ease-out);
}*/
.panel-sortable.panel-locked .panel-hdr:active {
  border-top-color: #fd4570;
  border-left-color: #dc3545;
  border-right-color: #dc3545; }
  .panel-sortable.panel-locked .panel-hdr:active + .panel-container {
    border-color: transparent #dc3545 #dc3545; }

/* panel toolbar (sits inside panel header) */
.panel-toolbar .btn-panel {
  /* add default colors for action buttons */ }
  .panel-toolbar .btn-panel[data-action="panel-collapse"], .panel-toolbar .btn-panel.js-panel-collapse {
    background: #52bf11; }
  .panel-toolbar .btn-panel[data-action="panel-fullscreen"], .panel-toolbar .btn-panel.js-panel-fullscreen {
    background: #FF9A13; }
  .panel-toolbar .btn-panel[data-action="panel-close"], .panel-toolbar .btn-panel.js-panel-close {
    background: #FC1349; }

/* placeholder */
.panel-placeholder {
  background-color: #d0e6f7; }
  .panel-placeholder:before {
    background: #d0e6f7; }

.mod-panel-clean .panel-hdr {
  background: #fff;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f7f7f7), to(#fff));
  background-image: linear-gradient(to bottom, #f7f7f7, #fff); }

@media only screen and (max-width: 420px) {
  /* making mobile spacing a little narrow */
  .panel .panel-hdr {
    color: #060606; } }

.popover .arrow {
  border-color: inherit; }

.menu-item,
label.menu-open-button {
  background: #0b5cff;
  color: #fff !important; }
  .menu-item:hover,
  label.menu-open-button:hover {
    background: #073eaf; }

.app-shortcut-icon {
  background: #ecf0f1;
  color: #ecf0f1; }

.menu-open:checked + .menu-open-button {
  background: #434a51; }

/* nav tabs panel */
.nav-tabs-clean .nav-item .nav-link.active {
  border-bottom: 1px solid #0b5cff;
  color: #0b5cff; }

.nav-tabs-clean .nav-item .nav-link:hover {
  color: #0b5cff; }

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #0b5cff; }

.custom-control-input:checked ~ .custom-control-label::before {
  color: #fff;
  border-color: #073eaf;
  background-color: #084fe0; }

.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #5595ff; }

.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  color: #d9e8ff;
  background-color: #d9e8ff;
  border-color: #d9e8ff; }

.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
  color: #6c757d; }
  .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
    background-color: #e9ecef; }

.custom-control-label::before {
  background-color: #fff;
  border: #adb5bd solid 2px; }

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #084fe0;
  background-color: #0b5cff; }

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); }

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: #d9e8ff; }

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: #d9e8ff; }

.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: #d9e8ff; }

.custom-switch .custom-control-label::after {
  background-color: #adb5bd; }

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #fff; }

.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: #d9e8ff; }

.custom-select {
  color: #495057;
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
  border: 1px solid #ced4da; }
  .custom-select:focus {
    border-color: #0b5cff; }
    .custom-select:focus::-ms-value {
      color: #495057;
      background-color: #fff; }
  .custom-select:disabled {
    color: #6c757d;
    background-color: #e9ecef; }

.custom-file-input:focus ~ .custom-file-label {
  border-color: #0b5cff; }

.custom-file-input[disabled] ~ .custom-file-label,
.custom-file-input:disabled ~ .custom-file-label {
  background-color: #e9ecef; }

.custom-file-input ~ .custom-file-label[data-browse]::after {
  content: attr(data-browse); }

.custom-file-label {
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da; }
  .custom-file-label::after {
    color: #495057;
    background-color: #e9ecef; }

.custom-range {
  background-color: transparent; }
  .custom-range::-webkit-slider-thumb {
    background-color: #0b5cff;
    border: 0; }
    .custom-range::-webkit-slider-thumb:active {
      background-color: #8ab8ff; }
  .custom-range::-webkit-slider-runnable-track {
    background-color: #dee2e6; }
  .custom-range::-moz-range-thumb {
    background-color: #0b5cff;
    border: 0; }
    .custom-range::-moz-range-thumb:active {
      background-color: #8ab8ff; }
  .custom-range::-moz-range-track {
    background-color: #dee2e6; }
  .custom-range::-ms-thumb {
    background-color: #0b5cff;
    border: 0; }
    .custom-range::-ms-thumb:active {
      background-color: #8ab8ff; }
  .custom-range::-ms-fill-lower {
    background-color: #dee2e6; }
  .custom-range::-ms-fill-upper {
    background-color: #dee2e6; }
  .custom-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd; }
  .custom-range:disabled::-moz-range-thumb {
    background-color: #adb5bd; }
  .custom-range:disabled::-ms-thumb {
    background-color: #adb5bd; }

.page-link {
  color: #0b5cff;
  background-color: #fff;
  border: 1px solid #dee2e6;
  /*&:focus {
    outline: $pagination-focus-outline;
  }*/ }
  .page-link:hover {
    color: #0056b3;
    background-color: #e9ecef;
    border-color: #dee2e6; }

.page-item.active .page-link {
  color: #fff;
  background-color: #0b5cff; }

.page-item.disabled .page-link {
  color: #6c757d;
  background-color: #fff; }

.pagination .page-item:first-child:not(.active) .page-link,
.pagination .page-item:last-child:not(.active) .page-link,
.pagination .page-item.disabled .page-link {
  background: #cae7fc; }

.pagination .page-link:hover {
  background-color: #0b5cff !important;
  color: #fff; }

.list-group-item {
  border: 1px solid rgba(var(--theme-rgb-primary), 0.15); }
  .list-group-item.active {
    background-color: #0b5cff;
    border-color: #0b5cff; }

/* backgrounds */
.bg-white {
  background-color: #fff;
  color: #666666; }

.bg-faded {
  background-color: #f7f9fa; }

.bg-offwhite-fade {
  background-color: #fff;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#fff), to(#f1f3f4));
  background-image: linear-gradient(to top, #fff, #f1f3f4); }

.bg-subtlelight {
  background-color: #f6fbff; }

.bg-subtlelight-fade {
  background-color: #fff;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#fff), to(#f6fbff));
  background-image: linear-gradient(to top, #fff, #f6fbff); }

.bg-highlight {
  background-color: #ffe4c0; }

.bg-gray-50 {
  background-color: #f9f9f9; }

.bg-gray-100 {
  background-color: #f8f9fa; }

.bg-gray-200 {
  background-color: #e9ecef; }

.bg-gray-300 {
  background-color: #dee2e6; }

.bg-gray-400 {
  background-color: #ced4da; }

.bg-gray-500 {
  background-color: #adb5bd; }

.bg-gray-600 {
  background-color: #6c757d; }

.bg-gray-700 {
  background-color: #495057; }

.bg-gray-800 {
  background-color: #343a40; }

.bg-gray-900 {
  background-color: #212529; }

/* borders */
.border-faded {
  border: 1px solid rgba(21, 23, 26, 0.07); }

/* hover any bg */
/* inherits the parent background on hover */
.hover-bg {
  background: #fff; }

/* states */
.state-selected {
  background: #f6e2fe !important; }

/* demo window */
.demo-window {
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12); }
  .demo-window:before {
    background: #e5e5e5; }
  .demo-window:after,
  .demo-window .demo-window-content:before,
  .demo-window .demo-window-content:after {
    background: #ccc; }

.bg-trans-gradient {
  background: linear-gradient(250deg, #ad39d6, #2d96e7); }

.notes {
  background: #f9f4b5; }

/* disclaimer class */
.disclaimer {
  color: #a2a2a2; }

/* online status */
.status {
  position: relative; }
  .status:before {
    background: #434a51;
    border: 2px solid #fff; }
  .status.status-success:before {
    background: #52bf11; }
  .status.status-danger:before {
    background: #FC1349; }
  .status.status-warning:before {
    background: #FF9A13; }

/* display frame */
.frame-heading {
  color: #929ca6; }

.frame-wrap {
  background: white; }

/* time stamp */
.time-stamp {
  color: #66707b; }

/* data-hasmore */
[data-hasmore] {
  color: #fff; }
  [data-hasmore]:before {
    background: rgba(0, 0, 0, 0.4); }

/* code */
code {
  background: #eff3f6; }

/* select background */
::-moz-selection {
  background: #434a51;
  color: #fff; }
::selection {
  background: #434a51;
  color: #fff; }

::-moz-selection {
  background: #434a51;
  color: #fff; }

@media only screen and (max-width: 992px) {
  .page-wrapper {
    background: #fff; }
    .page-wrapper .page-header {
      border-bottom: 1px solid rgba(0, 0, 0, 0.09); }
    .page-wrapper .page-content {
      color: #222; }
      .page-wrapper .page-content .p-g {
        padding: 1.5rem; }
    .page-wrapper .page-footer {
      border-top: 1px solid rgba(0, 0, 0, 0.09); }
  /* Off canvas */
  .nav-mobile-slide-out .page-wrapper .page-content {
    background: #ebf6fd; }
  /* mobile nav show & hide button */
  /* general */
  .mobile-nav-on .page-sidebar {
    border-right: 1px solid rgba(0, 0, 0, 0.03);
    -webkit-box-shadow: 0 3px 35px 3px rgba(0, 0, 0, 0.52);
            box-shadow: 0 3px 35px 3px rgba(0, 0, 0, 0.52); }
  .mobile-nav-on .page-content-overlay {
    background: rgba(0, 0, 0, 0.09); } }

@media only screen and (max-width: 576px) {
  /* here we turn on mobile font for smaller screens */
  /*body {
		font-family: $mobile-page-font !important;
	}*/
  /* mobile nav search */
  .mobile-search-on:not(.mobile-nav-on) .search .app-forms #search-field {
    background: #fff; }
    .mobile-search-on:not(.mobile-nav-on) .search .app-forms #search-field:focus {
      border-color: #0b5cff; } }

/* text area */
[contenteditable="true"]:empty:not(:focus):before {
  content: attr(data-placeholder);
  color: #7f8a95; }

[contenteditable="true"]::-moz-selection {
  background: rgba(0, 132, 255, 0.2);
  color: #000; }

[contenteditable="true"]::selection {
  background: rgba(0, 132, 255, 0.2);
  color: #000; }

[contenteditable="true"]::-moz-selection {
  background: rgba(0, 132, 255, 0.2);
  color: #000; }

/* add background to focused inpur prepend and append */
.form-control:focus ~ .input-group-prepend {
  background: #0b5cff; }

.has-length .input-group-text {
  border-color: #0b5cff; }
  .has-length .input-group-text + .input-group-text {
    border-left: 1px solid rgba(0, 0, 0, 0.1); }

.has-length .input-group-text:not([class^="bg-"]):not([class*=" bg-"]) {
  background: #0b5cff;
  color: #fff !important; }

/* help block and validation feedback texts*/
.help-block {
  color: #7f8a95; }

.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #0b5cff; }

.settings-panel h5 {
  color: #434a51; }

.settings-panel .list {
  color: #666666; }
  .settings-panel .list:hover {
    color: #333333;
    background: rgba(255, 255, 255, 0.7); }

.settings-panel .expanded:before {
  border-bottom-color: #4f575f; }

@media only screen and (max-width: 992px) {
  .mobile-view-activated #nff,
  .mobile-view-activated #nfm,
  .mobile-view-activated #nfh,
  .mobile-view-activated #nft,
  .mobile-view-activated #mmb {
    position: relative; }
    .mobile-view-activated #nff .onoffswitch-title,
    .mobile-view-activated #nfm .onoffswitch-title,
    .mobile-view-activated #nfh .onoffswitch-title,
    .mobile-view-activated #nft .onoffswitch-title,
    .mobile-view-activated #mmb .onoffswitch-title {
      color: #d58100 !important; }
    .mobile-view-activated #nff .onoffswitch-title-desc,
    .mobile-view-activated #nfm .onoffswitch-title-desc,
    .mobile-view-activated #nfh .onoffswitch-title-desc,
    .mobile-view-activated #nft .onoffswitch-title-desc,
    .mobile-view-activated #mmb .onoffswitch-title-desc {
      color: #ec9f28 !important; }
    .mobile-view-activated #nff:after,
    .mobile-view-activated #nfm:after,
    .mobile-view-activated #nfh:after,
    .mobile-view-activated #nft:after,
    .mobile-view-activated #mmb:after {
      background: #ffd193;
      border: 1px solid #df8000;
      color: #15171a; } }

/* Hierarchical Navigation */
.mod-nav-link:not(.nav-function-top):not(.nav-function-minify):not(.mod-hide-nav-icons) ul.nav-menu:not(.nav-menu-compact) > li > ul {
  /* addressing all second, third children */ }
  .mod-nav-link:not(.nav-function-top):not(.nav-function-minify):not(.mod-hide-nav-icons) ul.nav-menu:not(.nav-menu-compact) > li > ul:before {
    border-left: 1px solid #116cb2; }
  .mod-nav-link:not(.nav-function-top):not(.nav-function-minify):not(.mod-hide-nav-icons) ul.nav-menu:not(.nav-menu-compact) > li > ul > li a:after {
    background-color: #2595ea; }

.bg-primary-50 {
  background-color: #eef5ff;
  color: rgba(0, 0, 0, 0.8); }
  .bg-primary-50:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-primary-100 {
  background-color: #d9e8ff;
  color: rgba(0, 0, 0, 0.8); }
  .bg-primary-100:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-primary-200 {
  background-color: #b8d4ff;
  color: rgba(0, 0, 0, 0.8); }
  .bg-primary-200:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-primary-300 {
  background-color: #8ab8ff;
  color: white; }
  .bg-primary-300:hover {
    color: white; }

.bg-primary-400 {
  background-color: #5595ff;
  color: white; }
  .bg-primary-400:hover {
    color: white; }

.bg-primary-500 {
  background-color: #0b5cff;
  color: white; }
  .bg-primary-500:hover {
    color: white; }

.bg-primary-600 {
  background-color: #084fe0;
  color: white; }
  .bg-primary-600:hover {
    color: white; }

.bg-primary-700 {
  background-color: #073eaf;
  color: white; }
  .bg-primary-700:hover {
    color: white; }

.bg-primary-800 {
  background-color: #082f7a;
  color: white; }
  .bg-primary-800:hover {
    color: white; }

.bg-primary-900 {
  background-color: #061a3b;
  color: white; }
  .bg-primary-900:hover {
    color: white; }

.color-primary-50 {
  color: #eef5ff; }

.color-primary-100 {
  color: #d9e8ff; }

.color-primary-200 {
  color: #b8d4ff; }

.color-primary-300 {
  color: #8ab8ff; }

.color-primary-400 {
  color: #5595ff; }

.color-primary-500 {
  color: #0b5cff; }

.color-primary-600 {
  color: #084fe0; }

.color-primary-700 {
  color: #073eaf; }

.color-primary-800 {
  color: #082f7a; }

.color-primary-900 {
  color: #061a3b; }

.bg-success-50 {
  background-color: #95f15f;
  color: rgba(0, 0, 0, 0.8); }
  .bg-success-50:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-success-100 {
  background-color: #86ef47;
  color: rgba(0, 0, 0, 0.8); }
  .bg-success-100:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-success-200 {
  background-color: #76ed30;
  color: rgba(0, 0, 0, 0.8); }
  .bg-success-200:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-success-300 {
  background-color: #67ea19;
  color: rgba(0, 0, 0, 0.8); }
  .bg-success-300:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-success-400 {
  background-color: #5cd613;
  color: rgba(0, 0, 0, 0.8); }
  .bg-success-400:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-success-500 {
  background-color: #52bf11;
  color: rgba(0, 0, 0, 0.8); }
  .bg-success-500:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-success-600 {
  background-color: #48a80f;
  color: white; }
  .bg-success-600:hover {
    color: white; }

.bg-success-700 {
  background-color: #3e900d;
  color: white; }
  .bg-success-700:hover {
    color: white; }

.bg-success-800 {
  background-color: #34790b;
  color: white; }
  .bg-success-800:hover {
    color: white; }

.bg-success-900 {
  background-color: #2a6109;
  color: white; }
  .bg-success-900:hover {
    color: white; }

.color-success-50 {
  color: #95f15f; }

.color-success-100 {
  color: #86ef47; }

.color-success-200 {
  color: #76ed30; }

.color-success-300 {
  color: #67ea19; }

.color-success-400 {
  color: #5cd613; }

.color-success-500 {
  color: #52bf11; }

.color-success-600 {
  color: #48a80f; }

.color-success-700 {
  color: #3e900d; }

.color-success-800 {
  color: #34790b; }

.color-success-900 {
  color: #2a6109; }

.bg-info-50 {
  background-color: #df95fa;
  color: rgba(0, 0, 0, 0.8); }
  .bg-info-50:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-info-100 {
  background-color: #d87cf9;
  color: rgba(0, 0, 0, 0.8); }
  .bg-info-100:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-info-200 {
  background-color: #d164f8;
  color: white; }
  .bg-info-200:hover {
    color: white; }

.bg-info-300 {
  background-color: #ca4cf6;
  color: white; }
  .bg-info-300:hover {
    color: white; }

.bg-info-400 {
  background-color: #c233f5;
  color: white; }
  .bg-info-400:hover {
    color: white; }

.bg-info-500 {
  background-color: #BB1BF4;
  color: white; }
  .bg-info-500:hover {
    color: white; }

.bg-info-600 {
  background-color: #b00bea;
  color: white; }
  .bg-info-600:hover {
    color: white; }

.bg-info-700 {
  background-color: #9d0ad2;
  color: white; }
  .bg-info-700:hover {
    color: white; }

.bg-info-800 {
  background-color: #8b09ba;
  color: white; }
  .bg-info-800:hover {
    color: white; }

.bg-info-900 {
  background-color: #7908a1;
  color: white; }
  .bg-info-900:hover {
    color: white; }

.color-info-50 {
  color: #df95fa; }

.color-info-100 {
  color: #d87cf9; }

.color-info-200 {
  color: #d164f8; }

.color-info-300 {
  color: #ca4cf6; }

.color-info-400 {
  color: #c233f5; }

.color-info-500 {
  color: #BB1BF4; }

.color-info-600 {
  color: #b00bea; }

.color-info-700 {
  color: #9d0ad2; }

.color-info-800 {
  color: #8b09ba; }

.color-info-900 {
  color: #7908a1; }

.bg-warning-50 {
  background-color: #ffd193;
  color: rgba(0, 0, 0, 0.8); }
  .bg-warning-50:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-warning-100 {
  background-color: #ffc679;
  color: rgba(0, 0, 0, 0.8); }
  .bg-warning-100:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-warning-200 {
  background-color: #ffbb60;
  color: rgba(0, 0, 0, 0.8); }
  .bg-warning-200:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-warning-300 {
  background-color: #ffb046;
  color: rgba(0, 0, 0, 0.8); }
  .bg-warning-300:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-warning-400 {
  background-color: #ffa52d;
  color: rgba(0, 0, 0, 0.8); }
  .bg-warning-400:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-warning-500 {
  background-color: #FF9A13;
  color: rgba(0, 0, 0, 0.8); }
  .bg-warning-500:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-warning-600 {
  background-color: #f98e00;
  color: rgba(0, 0, 0, 0.8); }
  .bg-warning-600:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-warning-700 {
  background-color: #df8000;
  color: rgba(0, 0, 0, 0.8); }
  .bg-warning-700:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-warning-800 {
  background-color: #c67100;
  color: white; }
  .bg-warning-800:hover {
    color: white; }

.bg-warning-900 {
  background-color: #ac6200;
  color: white; }
  .bg-warning-900:hover {
    color: white; }

.color-warning-50 {
  color: #ffd193; }

.color-warning-100 {
  color: #ffc679; }

.color-warning-200 {
  color: #ffbb60; }

.color-warning-300 {
  color: #ffb046; }

.color-warning-400 {
  color: #ffa52d; }

.color-warning-500 {
  color: #FF9A13; }

.color-warning-600 {
  color: #f98e00; }

.color-warning-700 {
  color: #df8000; }

.color-warning-800 {
  color: #c67100; }

.color-warning-900 {
  color: #ac6200; }

.bg-danger-50 {
  background-color: #fe91aa;
  color: rgba(0, 0, 0, 0.8); }
  .bg-danger-50:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-danger-100 {
  background-color: #fd7897;
  color: rgba(0, 0, 0, 0.8); }
  .bg-danger-100:hover {
    color: rgba(0, 0, 0, 0.8); }

.bg-danger-200 {
  background-color: #fd5f83;
  color: white; }
  .bg-danger-200:hover {
    color: white; }

.bg-danger-300 {
  background-color: #fd4570;
  color: white; }
  .bg-danger-300:hover {
    color: white; }

.bg-danger-400 {
  background-color: #fc2c5c;
  color: white; }
  .bg-danger-400:hover {
    color: white; }

.bg-danger-500 {
  background-color: #FC1349;
  color: white; }
  .bg-danger-500:hover {
    color: white; }

.bg-danger-600 {
  background-color: #f2033b;
  color: white; }
  .bg-danger-600:hover {
    color: white; }

.bg-danger-700 {
  background-color: #d90334;
  color: white; }
  .bg-danger-700:hover {
    color: white; }

.bg-danger-800 {
  background-color: #c0022e;
  color: white; }
  .bg-danger-800:hover {
    color: white; }

.bg-danger-900 {
  background-color: #a70228;
  color: white; }
  .bg-danger-900:hover {
    color: white; }

.color-danger-50 {
  color: #fe91aa; }

.color-danger-100 {
  color: #fd7897; }

.color-danger-200 {
  color: #fd5f83; }

.color-danger-300 {
  color: #fd4570; }

.color-danger-400 {
  color: #fc2c5c; }

.color-danger-500 {
  color: #FC1349; }

.color-danger-600 {
  color: #f2033b; }

.color-danger-700 {
  color: #d90334; }

.color-danger-800 {
  color: #c0022e; }

.color-danger-900 {
  color: #a70228; }

.bg-fusion-50 {
  background-color: #7f8a95;
  color: white; }
  .bg-fusion-50:hover {
    color: white; }

.bg-fusion-100 {
  background-color: #717d89;
  color: white; }
  .bg-fusion-100:hover {
    color: white; }

.bg-fusion-200 {
  background-color: #66707b;
  color: white; }
  .bg-fusion-200:hover {
    color: white; }

.bg-fusion-300 {
  background-color: #5a636d;
  color: white; }
  .bg-fusion-300:hover {
    color: white; }

.bg-fusion-400 {
  background-color: #4f575f;
  color: white; }
  .bg-fusion-400:hover {
    color: white; }

.bg-fusion-500 {
  background-color: #434a51;
  color: white; }
  .bg-fusion-500:hover {
    color: white; }

.bg-fusion-600 {
  background-color: #383d43;
  color: white; }
  .bg-fusion-600:hover {
    color: white; }

.bg-fusion-700 {
  background-color: #2c3136;
  color: white; }
  .bg-fusion-700:hover {
    color: white; }

.bg-fusion-800 {
  background-color: #202428;
  color: white; }
  .bg-fusion-800:hover {
    color: white; }

.bg-fusion-900 {
  background-color: #15171a;
  color: white; }
  .bg-fusion-900:hover {
    color: white; }

.color-fusion-50 {
  color: #7f8a95; }

.color-fusion-100 {
  color: #717d89; }

.color-fusion-200 {
  color: #66707b; }

.color-fusion-300 {
  color: #5a636d; }

.color-fusion-400 {
  color: #4f575f; }

.color-fusion-500 {
  color: #434a51; }

.color-fusion-600 {
  color: #383d43; }

.color-fusion-700 {
  color: #2c3136; }

.color-fusion-800 {
  color: #202428; }

.color-fusion-900 {
  color: #15171a; }

.color-white {
  color: #fff; }

.color-black {
  color: #222222; }

.bg-primary-gradient {
  background-image: linear-gradient(250deg, rgba(9, 97, 165, 0.7), transparent); }

.bg-danger-gradient {
  background-image: linear-gradient(250deg, rgba(167, 2, 40, 0.7), transparent); }

.bg-info-gradient {
  background-image: linear-gradient(250deg, rgba(121, 8, 161, 0.7), transparent); }

.bg-warning-gradient {
  background-image: linear-gradient(250deg, rgba(172, 98, 0, 0.7), transparent); }

.bg-success-gradient {
  background-image: linear-gradient(250deg, rgba(42, 97, 9, 0.7), transparent); }

.bg-fusion-gradient {
  background-image: linear-gradient(250deg, rgba(21, 23, 26, 0.7), transparent); }

.btn-primary {
  color: #fff;
  background-color: #0b5cff;
  border-color: #0b5cff;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }
  .btn-primary:hover {
    color: #fff;
    background-color: #0c85e2;
    border-color: #073eaf; }
  .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #0c85e2;
    border-color: #073eaf;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(66, 167, 245, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(66, 167, 245, 0.5); }
  .btn-primary.disabled, .btn-primary:disabled {
    color: #fff;
    background-color: #0b5cff;
    border-color: #0b5cff; }
  .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
  .show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #073eaf;
    border-color: #0b77c9; }
    .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-primary.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(66, 167, 245, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(66, 167, 245, 0.5); }

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }
  .btn-secondary:hover {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62; }
  .btn-secondary:focus, .btn-secondary.focus {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }
  .btn-secondary.disabled, .btn-secondary:disabled {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
  .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
  .show > .btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #545b62;
    border-color: #4e555b; }
    .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-secondary.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }

.btn-success {
  color: #fff;
  background-color: #52bf11;
  border-color: #52bf11;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }
  .btn-success:hover {
    color: #fff;
    background-color: #439c0e;
    border-color: #3e900d; }
  .btn-success:focus, .btn-success.focus {
    color: #fff;
    background-color: #439c0e;
    border-color: #3e900d;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 201, 53, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(108, 201, 53, 0.5); }
  .btn-success.disabled, .btn-success:disabled {
    color: #fff;
    background-color: #52bf11;
    border-color: #52bf11; }
  .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
  .show > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #3e900d;
    border-color: #39840c; }
    .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
    .show > .btn-success.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 201, 53, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(108, 201, 53, 0.5); }

.btn-info {
  color: #fff;
  background-color: #BB1BF4;
  border-color: #BB1BF4;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }
  .btn-info:hover {
    color: #fff;
    background-color: #a70bde;
    border-color: #9d0ad2; }
  .btn-info:focus, .btn-info.focus {
    color: #fff;
    background-color: #a70bde;
    border-color: #9d0ad2;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(197, 61, 246, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(197, 61, 246, 0.5); }
  .btn-info.disabled, .btn-info:disabled {
    color: #fff;
    background-color: #BB1BF4;
    border-color: #BB1BF4; }
  .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
  .show > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #9d0ad2;
    border-color: #940ac6; }
    .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
    .show > .btn-info.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(197, 61, 246, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(197, 61, 246, 0.5); }

.btn-warning {
  color: #212529;
  background-color: #FF9A13;
  border-color: #FF9A13;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }
  .btn-warning:hover {
    color: #fff;
    background-color: #ec8700;
    border-color: #df8000; }
  .btn-warning:focus, .btn-warning.focus {
    color: #fff;
    background-color: #ec8700;
    border-color: #df8000;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 136, 22, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(222, 136, 22, 0.5); }
  .btn-warning.disabled, .btn-warning:disabled {
    color: #212529;
    background-color: #FF9A13;
    border-color: #FF9A13; }
  .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
  .show > .btn-warning.dropdown-toggle {
    color: #fff;
    background-color: #df8000;
    border-color: #d27800; }
    .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
    .show > .btn-warning.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 136, 22, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(222, 136, 22, 0.5); }

.btn-danger {
  color: #fff;
  background-color: #FC1349;
  border-color: #FC1349;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }
  .btn-danger:hover {
    color: #fff;
    background-color: #e60338;
    border-color: #d90334; }
  .btn-danger:focus, .btn-danger.focus {
    color: #fff;
    background-color: #e60338;
    border-color: #d90334;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(252, 54, 100, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(252, 54, 100, 0.5); }
  .btn-danger.disabled, .btn-danger:disabled {
    color: #fff;
    background-color: #FC1349;
    border-color: #FC1349; }
  .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
  .show > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #d90334;
    border-color: #cd0331; }
    .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
    .show > .btn-danger.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(252, 54, 100, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(252, 54, 100, 0.5); }

.btn-light {
  color: #212529;
  background-color: #fff;
  border-color: #fff;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }
  .btn-light:hover {
    color: #212529;
    background-color: #ececec;
    border-color: #e6e6e6; }
  .btn-light:focus, .btn-light.focus {
    color: #212529;
    background-color: #ececec;
    border-color: #e6e6e6;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 222, 223, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(222, 222, 223, 0.5); }
  .btn-light.disabled, .btn-light:disabled {
    color: #212529;
    background-color: #fff;
    border-color: #fff; }
  .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
  .show > .btn-light.dropdown-toggle {
    color: #212529;
    background-color: #e6e6e6;
    border-color: #dfdfdf; }
    .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
    .show > .btn-light.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 222, 223, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(222, 222, 223, 0.5); }

.btn-dark {
  color: #fff;
  background-color: #434a51;
  border-color: #434a51;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }
  .btn-dark:hover {
    color: #fff;
    background-color: #32373c;
    border-color: #2c3136; }
  .btn-dark:focus, .btn-dark.focus {
    color: #fff;
    background-color: #32373c;
    border-color: #2c3136;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(95, 101, 108, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(95, 101, 108, 0.5); }
  .btn-dark.disabled, .btn-dark:disabled {
    color: #fff;
    background-color: #434a51;
    border-color: #434a51; }
  .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
  .show > .btn-dark.dropdown-toggle {
    color: #fff;
    background-color: #2c3136;
    border-color: #262a2f; }
    .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
    .show > .btn-dark.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(95, 101, 108, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(95, 101, 108, 0.5); }

.btn-outline-primary {
  color: #0b5cff;
  border-color: #0b5cff; }
  .btn-outline-primary:hover {
    color: #fff;
    background-color: #0b5cff;
    border-color: #0b5cff; }
  .btn-outline-primary:focus, .btn-outline-primary.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(11, 92, 255, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(11, 92, 255, 0.5); }
  .btn-outline-primary.disabled, .btn-outline-primary:disabled {
    color: #0b5cff;
    background-color: transparent; }
  .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
  .show > .btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: #0b5cff;
    border-color: #0b5cff; }
    .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-primary.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(11, 92, 255, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(11, 92, 255, 0.5); }

.btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d; }
  .btn-outline-secondary:hover {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
  .btn-outline-secondary:focus, .btn-outline-secondary.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
    color: #6c757d;
    background-color: transparent; }
  .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
  .show > .btn-outline-secondary.dropdown-toggle {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
    .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-secondary.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }

.btn-outline-success {
  color: #52bf11;
  border-color: #52bf11; }
  .btn-outline-success:hover {
    color: #fff;
    background-color: #52bf11;
    border-color: #52bf11; }
  .btn-outline-success:focus, .btn-outline-success.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(82, 191, 17, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(82, 191, 17, 0.5); }
  .btn-outline-success.disabled, .btn-outline-success:disabled {
    color: #52bf11;
    background-color: transparent; }
  .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
  .show > .btn-outline-success.dropdown-toggle {
    color: #fff;
    background-color: #52bf11;
    border-color: #52bf11; }
    .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-success.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(82, 191, 17, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(82, 191, 17, 0.5); }

.btn-outline-info {
  color: #BB1BF4;
  border-color: #BB1BF4; }
  .btn-outline-info:hover {
    color: #fff;
    background-color: #BB1BF4;
    border-color: #BB1BF4; }
  .btn-outline-info:focus, .btn-outline-info.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(187, 27, 244, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(187, 27, 244, 0.5); }
  .btn-outline-info.disabled, .btn-outline-info:disabled {
    color: #BB1BF4;
    background-color: transparent; }
  .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
  .show > .btn-outline-info.dropdown-toggle {
    color: #fff;
    background-color: #BB1BF4;
    border-color: #BB1BF4; }
    .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-info.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(187, 27, 244, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(187, 27, 244, 0.5); }

.btn-outline-warning {
  color: #FF9A13;
  border-color: #FF9A13; }
  .btn-outline-warning:hover {
    color: #212529;
    background-color: #FF9A13;
    border-color: #FF9A13; }
  .btn-outline-warning:focus, .btn-outline-warning.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 154, 19, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(255, 154, 19, 0.5); }
  .btn-outline-warning.disabled, .btn-outline-warning:disabled {
    color: #FF9A13;
    background-color: transparent; }
  .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
  .show > .btn-outline-warning.dropdown-toggle {
    color: #212529;
    background-color: #FF9A13;
    border-color: #FF9A13; }
    .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-warning.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 154, 19, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(255, 154, 19, 0.5); }

.btn-outline-danger {
  color: #FC1349;
  border-color: #FC1349; }
  .btn-outline-danger:hover {
    color: #fff;
    background-color: #FC1349;
    border-color: #FC1349; }
  .btn-outline-danger:focus, .btn-outline-danger.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(252, 19, 73, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(252, 19, 73, 0.5); }
  .btn-outline-danger.disabled, .btn-outline-danger:disabled {
    color: #FC1349;
    background-color: transparent; }
  .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
  .show > .btn-outline-danger.dropdown-toggle {
    color: #fff;
    background-color: #FC1349;
    border-color: #FC1349; }
    .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-danger.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(252, 19, 73, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(252, 19, 73, 0.5); }

.btn-outline-light {
  color: #fff;
  border-color: #fff; }
  .btn-outline-light:hover {
    color: #212529;
    background-color: #fff;
    border-color: #fff; }
  .btn-outline-light:focus, .btn-outline-light.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); }
  .btn-outline-light.disabled, .btn-outline-light:disabled {
    color: #fff;
    background-color: transparent; }
  .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
  .show > .btn-outline-light.dropdown-toggle {
    color: #212529;
    background-color: #fff;
    border-color: #fff; }
    .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-light.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); }

.btn-outline-dark {
  color: #434a51;
  border-color: #434a51; }
  .btn-outline-dark:hover {
    color: #fff;
    background-color: #434a51;
    border-color: #434a51; }
  .btn-outline-dark:focus, .btn-outline-dark.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(67, 74, 81, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(67, 74, 81, 0.5); }
  .btn-outline-dark.disabled, .btn-outline-dark:disabled {
    color: #434a51;
    background-color: transparent; }
  .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
  .show > .btn-outline-dark.dropdown-toggle {
    color: #fff;
    background-color: #434a51;
    border-color: #434a51; }
    .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-dark.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(67, 74, 81, 0.5);
              box-shadow: 0 0 0 0.2rem rgba(67, 74, 81, 0.5); }

.border-primary {
  border-color: #0b5cff !important; }

.border-secondary {
  border-color: #6c757d !important; }

.border-success {
  border-color: #52bf11 !important; }

.border-info {
  border-color: #BB1BF4 !important; }

.border-warning {
  border-color: #FF9A13 !important; }

.border-danger {
  border-color: #FC1349 !important; }

.border-light {
  border-color: #fff !important; }

.border-dark {
  border-color: #434a51 !important; }

.text-primary {
  color: #0b5cff !important; }

a.text-primary:hover, a.text-primary:focus {
  color: #082f7a !important; }

.text-secondary {
  color: #6c757d !important; }

a.text-secondary:hover, a.text-secondary:focus {
  color: #494f54 !important; }

.text-success {
  color: #52bf11 !important; }

a.text-success:hover, a.text-success:focus {
  color: #34790b !important; }

.text-info {
  color: #BB1BF4 !important; }

a.text-info:hover, a.text-info:focus {
  color: #8b09ba !important; }

.text-warning {
  color: #FF9A13 !important; }

a.text-warning:hover, a.text-warning:focus {
  color: #c67100 !important; }

.text-danger {
  color: #FC1349 !important; }

a.text-danger:hover, a.text-danger:focus {
  color: #c0022e !important; }

.text-light {
  color: #fff !important; }

a.text-light:hover, a.text-light:focus {
  color: #d9d9d9 !important; }

.text-dark {
  color: #434a51 !important; }

a.text-dark:hover, a.text-dark:focus {
  color: #202428 !important; }

.bg-primary {
  background-color: #0b5cff !important; }

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #073eaf !important; }

.bg-secondary {
  background-color: #6c757d !important; }

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #545b62 !important; }

.bg-success {
  background-color: #52bf11 !important; }

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #3e900d !important; }

.bg-info {
  background-color: #BB1BF4 !important; }

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #9d0ad2 !important; }

.bg-warning {
  background-color: #FF9A13 !important; }

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #df8000 !important; }

.bg-danger {
  background-color: #FC1349 !important; }

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #d90334 !important; }

.bg-light {
  background-color: #fff !important; }

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #e6e6e6 !important; }

.bg-dark {
  background-color: #434a51 !important; }

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #2c3136 !important; }

:root {
  --theme-primary: #0b5cff;
  --theme-secondary: #6c757d;
  --theme-success: #52bf11;
  --theme-info: #BB1BF4;
  --theme-warning: #FF9A13;
  --theme-danger: #FC1349;
  --theme-light: #fff;
  --theme-dark: #434a51;
  --theme-rgb-primary: 11,92,255;
  --theme-rgb-success: 82,191,17;
  --theme-rgb-info: 187,27,244;
  --theme-rgb-warning: 255,154,19;
  --theme-rgb-danger: 252,19,73;
  --theme-rgb-fusion: 67.01538,74.00885,81.48462;
  --theme-primary-50: #eef5ff;
  --theme-primary-100: #d9e8ff;
  --theme-primary-200: #b8d4ff;
  --theme-primary-300: #8ab8ff;
  --theme-primary-400: #5595ff;
  --theme-primary-500: #0b5cff;
  --theme-primary-600: #084fe0;
  --theme-primary-700: #073eaf;
  --theme-primary-800: #082f7a;
  --theme-primary-900: #061a3b;
  --theme-success-50: #95f15f;
  --theme-success-100: #86ef47;
  --theme-success-200: #76ed30;
  --theme-success-300: #67ea19;
  --theme-success-400: #5cd613;
  --theme-success-500: #52bf11;
  --theme-success-600: #48a80f;
  --theme-success-700: #3e900d;
  --theme-success-800: #34790b;
  --theme-success-900: #2a6109;
  --theme-info-50: #df95fa;
  --theme-info-100: #d87cf9;
  --theme-info-200: #d164f8;
  --theme-info-300: #ca4cf6;
  --theme-info-400: #c233f5;
  --theme-info-500: #BB1BF4;
  --theme-info-600: #b00bea;
  --theme-info-700: #9d0ad2;
  --theme-info-800: #8b09ba;
  --theme-info-900: #7908a1;
  --theme-warning-50: #ffd193;
  --theme-warning-100: #ffc679;
  --theme-warning-200: #ffbb60;
  --theme-warning-300: #ffb046;
  --theme-warning-400: #ffa52d;
  --theme-warning-500: #FF9A13;
  --theme-warning-600: #f98e00;
  --theme-warning-700: #df8000;
  --theme-warning-800: #c67100;
  --theme-warning-900: #ac6200;
  --theme-danger-50: #fe91aa;
  --theme-danger-100: #fd7897;
  --theme-danger-200: #fd5f83;
  --theme-danger-300: #fd4570;
  --theme-danger-400: #fc2c5c;
  --theme-danger-500: #FC1349;
  --theme-danger-600: #f2033b;
  --theme-danger-700: #d90334;
  --theme-danger-800: #c0022e;
  --theme-danger-900: #a70228;
  --theme-fusion-50: #7f8a95;
  --theme-fusion-100: #717d89;
  --theme-fusion-200: #66707b;
  --theme-fusion-300: #5a636d;
  --theme-fusion-400: #4f575f;
  --theme-fusion-500: #434a51;
  --theme-fusion-600: #383d43;
  --theme-fusion-700: #2c3136;
  --theme-fusion-800: #202428;
  --theme-fusion-900: #15171a; }

.ct-series-a .ct-point, .ct-series-a .ct-line, .ct-series-a .ct-bar, .ct-series-a .ct-slice-donut {
  stroke: #0b5cff; }

.ct-series-a .ct-slice-pie, .ct-series-a .ct-slice-donut-solid, .ct-series-a .ct-area {
  fill: #0b5cff; }

.ct-series-b .ct-point, .ct-series-b .ct-line, .ct-series-b .ct-bar, .ct-series-b .ct-slice-donut {
  stroke: #FC1349; }

.ct-series-b .ct-slice-pie, .ct-series-b .ct-slice-donut-solid, .ct-series-b .ct-area {
  fill: #FC1349; }

.ct-series-c .ct-point, .ct-series-c .ct-line, .ct-series-c .ct-bar, .ct-series-c .ct-slice-donut {
  stroke: #FF9A13; }

.ct-series-c .ct-slice-pie, .ct-series-c .ct-slice-donut-solid, .ct-series-c .ct-area {
  fill: #FF9A13; }

.ct-series-d .ct-point, .ct-series-d .ct-line, .ct-series-d .ct-bar, .ct-series-d .ct-slice-donut {
  stroke: #BB1BF4; }

.ct-series-d .ct-slice-pie, .ct-series-d .ct-slice-donut-solid, .ct-series-d .ct-area {
  fill: #BB1BF4; }

.ct-series-e .ct-point, .ct-series-e .ct-line, .ct-series-e .ct-bar, .ct-series-e .ct-slice-donut {
  stroke: #434a51; }

.ct-series-e .ct-slice-pie, .ct-series-e .ct-slice-donut-solid, .ct-series-e .ct-area {
  fill: #434a51; }

.ct-series-f .ct-point, .ct-series-f .ct-line, .ct-series-f .ct-bar, .ct-series-f .ct-slice-donut {
  stroke: #52bf11; }

.ct-series-f .ct-slice-pie, .ct-series-f .ct-slice-donut-solid, .ct-series-f .ct-area {
  fill: #52bf11; }

.ct-series-g .ct-point, .ct-series-g .ct-line, .ct-series-g .ct-bar, .ct-series-g .ct-slice-donut {
  stroke: #BB1BF4; }

.ct-series-g .ct-slice-pie, .ct-series-g .ct-slice-donut-solid, .ct-series-g .ct-area {
  fill: #BB1BF4; }

.ct-series-h .ct-point, .ct-series-h .ct-line, .ct-series-h .ct-bar, .ct-series-h .ct-slice-donut {
  stroke: #061a3b; }

.ct-series-h .ct-slice-pie, .ct-series-h .ct-slice-donut-solid, .ct-series-h .ct-area {
  fill: #061a3b; }

.ct-series-i .ct-point, .ct-series-i .ct-line, .ct-series-i .ct-bar, .ct-series-i .ct-slice-donut {
  stroke: #fd7897; }

.ct-series-i .ct-slice-pie, .ct-series-i .ct-slice-donut-solid, .ct-series-i .ct-area {
  fill: #fd7897; }

.ct-series-j .ct-point, .ct-series-j .ct-line, .ct-series-j .ct-bar, .ct-series-j .ct-slice-donut {
  stroke: #ffbb60; }

.ct-series-j .ct-slice-pie, .ct-series-j .ct-slice-donut-solid, .ct-series-j .ct-area {
  fill: #ffbb60; }

.ct-series-k .ct-point, .ct-series-k .ct-line, .ct-series-k .ct-bar, .ct-series-k .ct-slice-donut {
  stroke: #a70228; }

.ct-series-k .ct-slice-pie, .ct-series-k .ct-slice-donut-solid, .ct-series-k .ct-area {
  fill: #a70228; }

.ct-series-l .ct-point, .ct-series-l .ct-line, .ct-series-l .ct-bar, .ct-series-l .ct-slice-donut {
  stroke: #5a636d; }

.ct-series-l .ct-slice-pie, .ct-series-l .ct-slice-donut-solid, .ct-series-l .ct-area {
  fill: #5a636d; }

.ct-series-m .ct-point, .ct-series-m .ct-line, .ct-series-m .ct-bar, .ct-series-m .ct-slice-donut {
  stroke: #67ea19; }

.ct-series-m .ct-slice-pie, .ct-series-m .ct-slice-donut-solid, .ct-series-m .ct-area {
  fill: #67ea19; }

.ct-series-n .ct-point, .ct-series-n .ct-line, .ct-series-n .ct-bar, .ct-series-n .ct-slice-donut {
  stroke: #ca4cf6; }

.ct-series-n .ct-slice-pie, .ct-series-n .ct-slice-donut-solid, .ct-series-n .ct-area {
  fill: #ca4cf6; }

.ct-series-o .ct-point, .ct-series-o .ct-line, .ct-series-o .ct-bar, .ct-series-o .ct-slice-donut {
  stroke: #8ab8ff; }

.ct-series-o .ct-slice-pie, .ct-series-o .ct-slice-donut-solid, .ct-series-o .ct-area {
  fill: #8ab8ff; }

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border-color: #E5E5E5; }

.select2-dropdown {
  border-color: #E5E5E5; }

.select2-search--dropdown:before {
  color: #0b5cff; }

.select2-results__message {
  color: #0b5cff !important; }

.select2-container--open .select2-dropdown--above {
  border-color: #0b5cff; }

.select2-container--open .select2-dropdown--below {
  border-color: #0b5cff; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  color: #495057;
  background-color: #fff;
  border-color: #E5E5E5;
  -webkit-box-shadow: inset 0 0.25rem 0.125rem 0 rgba(33, 37, 41, 0.025);
          box-shadow: inset 0 0.25rem 0.125rem 0 rgba(33, 37, 41, 0.025); }
  .select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #cccccc; }

.select2-container--default .select2-results__group {
  padding: 0.5rem 0;
  color: #8e8e8e; }

.select2-container--default .select2-results__option[aria-selected=true] {
  background: #d9edfd;
  color: #061a3b; }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #0b5cff;
  color: #fff; }

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-color: #0b5cff; }

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: #0b5cff; }

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: #d9edfd;
  border-color: #5595ff;
  color: #061a3b; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {
    color: #8ab8ff; }
    .select2-container--default .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:hover {
      color: #0b5cff; }
    .select2-container--default .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:active {
      -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset;
              box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset; }

.select2-container--default .select2-selection--single .select2-selection__clear {
  color: #FC1349; }
  .select2-container--default .select2-selection--single .select2-selection__clear:hover {
    color: #f2033b; }

.select2-results__message {
  color: #FC1349; }

.sorting_asc,
.sorting_desc,
.even .sorting_1 {
  background-color: rgba(11, 92, 255, 0.03); }

.odd .sorting_1 {
  background-color: rgba(11, 92, 255, 0.04); }

.table-dark .sorting_asc,
.table-dark .sorting_desc,
.table-dark .even .sorting_1 {
  background-color: rgba(255, 154, 19, 0.15); }

.table-dark .odd .sorting_1 {
  background-color: rgba(255, 154, 19, 0.15); }

table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > th:first-child:before,
table.dataTable.dtr-column > tbody > tr > td.control:before,
table.dataTable.dtr-column > tbody > tr > th.control:before {
  background-color: #0b5cff; }

table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before,
table.dataTable.dtr-column > tbody > tr.parent td.control:before,
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
  background-color: #52bf11; }

.dataTables_empty {
  color: #FC1349; }

.dataTables_wrapper tr.child td.child .dtr-details:before {
  color: #5cd613; }

.dataTables_wrapper tr.child td.child .dtr-details:after {
  background: #76ed30; }

div.dt-autofill-background {
  opacity: 0.2;
  background-color: #000; }

div.dt-autofill-handle {
  background: #0b5cff; }

div.dt-autofill-select {
  background-color: #0b5cff; }

/* FixedColumns */
.DTFC_LeftHeadWrapper:before,
.DTFC_LeftBodyWrapper:before,
.DTFC_LeftFootWrapper:before {
  background: #FC1349; }

/* KeyTable */
table.dataTable tbody th.focus,
table.dataTable tbody td.focus {
  -webkit-box-shadow: inset 0 0 0px 1px #0b5cff;
          box-shadow: inset 0 0 0px 1px #0b5cff;
  background: rgba(11, 92, 255, 0.1); }

table.dataTable:not(.table-dark) tr.dtrg-group td {
  background: #fff; }

tr.dt-rowReorder-moving {
  outline-color: #52bf11; }

table.dt-rowReorder-float {
  outline-color: #0b5cff; }

/* Select */
table.dataTable.table-bordered .selected td {
  border-color: rgba(0, 0, 0, 0.1); }

table.dataTable.table-bordered td.selected {
  border-color: rgba(0, 0, 0, 0.1); }

table.dataTable tbody > tr.selected,
table.dataTable tbody > tr > .selected {
  -webkit-box-shadow: inset 0 0 0px 1px #0b5cff;
          box-shadow: inset 0 0 0px 1px #0b5cff;
  background: rgba(11, 92, 255, 0.1); }

.datepicker table tr td.old,
.datepicker table tr td.new {
  color: #9ba3ac; }

.datepicker table tr td.active:active,
.datepicker table tr td.active.highlighted:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active.highlighted.active,
.datepicker table tr td.selected,
.datepicker table tr td.selected.highlighted,
.datepicker table tr td span.active.active,
.datepicker table tr td span.focused {
  background-color: #5595ff;
  border-color: #0b5cff;
  color: #fff; }

.datepicker table tr td.active:active:hover,
.datepicker table tr td.active.highlighted:active:hover,
.datepicker table tr td.active.active:hover,
.datepicker table tr td.active.highlighted.active:hover,
.datepicker table tr td.active:active:focus,
.datepicker table tr td.active.highlighted:active:focus,
.datepicker table tr td.active.active:focus,
.datepicker table tr td.active.highlighted.active:focus,
.datepicker table tr td.active:active.focus,
.datepicker table tr td.active.highlighted:active.focus,
.datepicker table tr td.active.active.focus,
.datepicker table tr td.active.highlighted.active.focus,
.datepicker table tr td.selected:active:hover,
.datepicker table tr td.selected.highlighted:active:hover,
.datepicker table tr td.selected.active:hover,
.datepicker table tr td.selected.highlighted.active:hover,
.datepicker table tr td.selected:active:focus,
.datepicker table tr td.selected.highlighted:active:focus,
.datepicker table tr td.selected.active:focus,
.datepicker table tr td.selected.highlighted.active:focus,
.datepicker table tr td.selected:active.focus,
.datepicker table tr td.selected.highlighted:active.focus,
.datepicker table tr td.selected.active.focus,
.datepicker table tr td.selected.highlighted.active.focus,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.highlighted:hover {
  background-color: #084fe0;
  border-color: #073eaf;
  color: #fff; }

.datepicker.datepicker-inline {
  border: 1px solid #ebedf2; }

.datepicker thead th.prev, .datepicker thead th.datepicker-switch, .datepicker thead th.next {
  color: #a1a8c3; }

.daterangepicker table tr td.old,
.daterangepicker table tr td.new {
  color: #9ba3ac; }

.daterangepicker table tr td.active:active,
.daterangepicker table tr td.active.highlighted:active,
.daterangepicker table tr td.active.active,
.daterangepicker table tr td.active.highlighted.active,
.daterangepicker table tr td.selected,
.daterangepicker table tr td.selected.highlighted,
.daterangepicker table tr td span.active.active,
.daterangepicker table tr td span.focused {
  background-color: #5595ff;
  color: #fff; }

.daterangepicker table tr td.active:active:hover,
.daterangepicker table tr td.active.highlighted:active:hover,
.daterangepicker table tr td.active.active:hover,
.daterangepicker table tr td.active.highlighted.active:hover,
.daterangepicker table tr td.active:active:focus,
.daterangepicker table tr td.active.highlighted:active:focus,
.daterangepicker table tr td.active.active:focus,
.daterangepicker table tr td.active.highlighted.active:focus,
.daterangepicker table tr td.active:active.focus,
.daterangepicker table tr td.active.highlighted:active.focus,
.daterangepicker table tr td.active.active.focus,
.daterangepicker table tr td.active.highlighted.active.focus,
.daterangepicker table tr td.selected:active:hover,
.daterangepicker table tr td.selected.highlighted:active:hover,
.daterangepicker table tr td.selected.active:hover,
.daterangepicker table tr td.selected.highlighted.active:hover,
.daterangepicker table tr td.selected:active:focus,
.daterangepicker table tr td.selected.highlighted:active:focus,
.daterangepicker table tr td.selected.active:focus,
.daterangepicker table tr td.selected.highlighted.active:focus,
.daterangepicker table tr td.selected:active.focus,
.daterangepicker table tr td.selected.highlighted:active.focus,
.daterangepicker table tr td.selected.active.focus,
.daterangepicker table tr td.selected.highlighted.active.focus,
.daterangepicker table tr td.selected:hover,
.daterangepicker table tr td.selected.highlighted:hover {
  background-color: #084fe0;
  color: #fff; }

.daterangepicker .calendar-table .next span,
.daterangepicker .calendar-table .prev span {
  border-color: #a1a8c3; }

.daterangepicker .in-range.available {
  background-color: #ffc679; }

.daterangepicker .off.ends.in-range.available {
  background-color: #ffd193; }

.daterangepicker td.available:hover,
.daterangepicker th.available:hover {
  background-color: #ffb046; }

.daterangepicker .calendar-table table thead tr th.month {
  color: #a1a8c3; }

.daterangepicker .ranges li.active {
  background-color: #0b5cff; }

.irs--flat .irs-bar,
.irs--flat .irs-from,
.irs--flat .irs-to,
.irs--flat .irs-single,
.irs--flat .irs-handle > i:first-child {
  background-color: #0b5cff; }

.irs--flat .irs-from:before,
.irs--flat .irs-to:before,
.irs--flat .irs-single:before {
  border-top-color: #0b5cff; }

.irs--flat .irs-handle.state_hover > i:first-child,
.irs--flat .irs-handle:hover > i:first-child {
  background-color: #084fe0; }

.irs--big .irs-bar {
  background-color: #8ab8ff;
  border-color: #0b5cff;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(30%, #8ab8ff), to(#0b5cff));
  background: linear-gradient(to bottom, #ffffff 0%, #8ab8ff 30%, #0b5cff 100%); }

.irs--big .irs-from,
.irs--big .irs-to,
.irs--big .irs-single {
  background: #0b5cff; }

.irs--modern .irs-bar {
  background: #48a80f;
  background: -webkit-gradient(linear, left top, left bottom, from(#5cd613), to(#48a80f));
  background: linear-gradient(to bottom, #5cd613 0%, #48a80f 100%); }

.irs--modern .irs-from,
.irs--modern .irs-to,
.irs--modern .irs-single {
  background-color: #52bf11; }

.irs--modern .irs-from:before,
.irs--modern .irs-to:before,
.irs--modern .irs-single:before {
  border-top-color: #52bf11; }

.irs--sharp .irs-bar,
.irs--sharp .irs-handle,
.irs--sharp .irs-from,
.irs--sharp .irs-to,
.irs--sharp .irs-single {
  background-color: #FC1349; }

.irs--sharp .irs-handle > i:first-child,
.irs--sharp .irs-from:before,
.irs--sharp .irs-to:before,
.irs--sharp .irs-single:before {
  border-top-color: #FC1349; }

.irs--sharp .irs-min,
.irs--sharp .irs-max {
  background-color: #c0022e; }

.irs--round .irs-handle {
  border-color: #BB1BF4; }

.irs--round .irs-bar,
.irs--round .irs-from,
.irs--round .irs-to,
.irs--round .irs-single {
  background-color: #BB1BF4; }

.irs--round .irs-from:before,
.irs--round .irs-to:before,
.irs--round .irs-single:before {
  border-top-color: #BB1BF4; }

body:not(.mod-pace-custom) .pace .pace-progress {
  background: #0b5cff; }

.mod-pace-custom .pace {
  background: #fff; }
  .mod-pace-custom .pace .pace-progress {
    background-color: #0b5cff;
    background-image: linear-gradient(135deg, #0b5cff 0%, #0b5cff 25%, #073eaf 25%, #073eaf 50%, #0b5cff 50%, #0b5cff 75%, #073eaf 75%, #073eaf 100%); }

.mod-pace-custom.pace-running .page-content:before {
  background-color: #ebf6fd; }

/* #Reset userselect
========================================================================== */
#myapp-0 {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

#myapp-4 {
  -webkit-box-shadow: 0 0 0 3px #000000;
          box-shadow: 0 0 0 3px #000000; }

/* ========================================================================
   END 00. SMARTADMIN THEME BASE
   ======================================================================== */


/* ========================================================================
   01. AV2 FOUNDATION
   ======================================================================== */

/* ============================================================
   AV 2.0 MASTER TOKENS
   ============================================================ */

:root {
  --av2-navy: #061a3b;
  --av2-navy-hover: #0a2a5e;
  --av2-navy-soft: #0d356f;

  --av2-primary: #0b5cff;
  --av2-primary-hover: #084fe0;
  --av2-primary-soft: #eef5ff;

  --av2-orange: #f5a000;

  --av2-page-bg: #f5f7fb;
  --av2-surface: #ffffff;
  --av2-surface-soft: #f8fafc;
  --av2-input-bg: #ffffff;
  --av2-row-bg: #ffffff;
  --av2-hover-bg: #fbfcff;
  --av2-disabled-bg: #f7f8fa;
  --av2-neutral-bg: #f3f5f8;

  --av2-text: #212529;
  --av2-text-strong: #111827;
  --av2-text-secondary: #435066;
  --av2-text-muted: #6c757d;
  --av2-text-soft: #7a8594;

  --av2-border: #e7ecf2;
  --av2-border-strong: #dce3eb;
  --av2-row-border: #edf0f4;

  --av2-radius-xs: 6px;
  --av2-radius-sm: 8px;
  --av2-radius: 12px;
  --av2-radius-lg: 16px;

  --av2-shadow-xs: 0 1px 3px rgba(15, 23, 42, 0.05);
  --av2-shadow-sm: 0 3px 10px rgba(15, 23, 42, 0.07);
  --av2-shadow: 0 8px 22px rgba(15, 23, 42, 0.10);
  --av2-shadow-lg: 0 14px 34px rgba(15, 23, 42, 0.14);

  /* AV 2.0 TYPOGRAPHY - Activities Dashboard is source of truth
     Canonical scale:
     page title 1.35rem | section title 1rem | item title .90rem
     body .875rem | controls .82rem | compact .80rem | metadata .78rem
     KPI title .90rem | KPI value 2rem | KPI detail .78rem
     .78rem is the minimum normal text floor; smaller sizes are reserved
     for iconography only, not readable UI copy. */
  --av2-font-family: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  --av2-font-page-title: 1.35rem;
  --av2-font-modal-title: 1.25rem;
  --av2-font-section-title: 1rem;
  --av2-font-item-title: .90rem;

  --av2-font-kpa-title: .90rem;
  --av2-font-kpa-value: 2rem;
  --av2-font-kpa-detail: .78rem;

  --av2-font-body: .875rem;
  --av2-font-control: .82rem;
  --av2-font-compact: .80rem;
  --av2-font-meta: .78rem;

  --av2-weight-normal: 400;
  --av2-weight-medium: 500;
  --av2-weight-semibold: 600;
  --av2-weight-bold: 700;

  --theme-primary: #0b5cff;
  --theme-rgb-primary: 11,92,255;

  --theme-primary-50: #eef5ff;
  --theme-primary-100: #d9e8ff;
  --theme-primary-200: #b8d4ff;
  --theme-primary-300: #8ab8ff;
  --theme-primary-400: #5595ff;
  --theme-primary-500: #0b5cff;
  --theme-primary-600: #084fe0;
  --theme-primary-700: #073eaf;
  --theme-primary-800: #082f7a;
  --theme-primary-900: #061a3b;
}

/* ============================================================
   AV 2.0 - SMARTADMIN SKIN COMPATIBILITY
   Surface/text tokens change with the active SmartAdmin skin.
   Brand colors and sidebar behavior remain unchanged.
   ============================================================ */

.mod-skin-dark {
  --av2-page-bg: #101827;
  --av2-surface: #182231;
  --av2-surface-soft: #202b3a;
  --av2-input-bg: #182231;
  --av2-row-bg: #182231;
  --av2-hover-bg: #222d3c;
  --av2-disabled-bg: #202938;
  --av2-neutral-bg: #222c3a;

  --av2-text: #e7ebf2;
  --av2-text-strong: #ffffff;
  --av2-text-secondary: #d7deea;
  --av2-text-muted: #a2adbc;
  --av2-text-soft: #8e9aaa;

  --av2-border: rgba(255,255,255,.10);
  --av2-border-strong: rgba(255,255,255,.16);
  --av2-row-border: rgba(255,255,255,.08);

  --av2-primary-soft: rgba(11,92,255,.16);

  --av2-shadow-xs: 0 1px 3px rgba(0,0,0,.14);
  --av2-shadow-sm: 0 3px 10px rgba(0,0,0,.18);
  --av2-shadow: 0 8px 22px rgba(0,0,0,.24);
  --av2-shadow-lg: 0 14px 34px rgba(0,0,0,.30);
}


/* ============================================================
   GLOBAL / TYPOGRAPHY
   ============================================================ */

html body {
  font-family: var(--av2-font-family);
  color: var(--av2-text);
  background: var(--av2-page-bg);
}

html body a {
  color: var(--av2-primary);
}

html body a:hover {
  color: var(--av2-primary-hover);
}

.page-content-wrapper {
  background-color: var(--av2-page-bg);
}

.page-content {
  color: var(--av2-text);
}

.subheader-title {
  color: var(--av2-text);
  text-shadow: none;
  font-weight: 700;
}

.subheader-title small {
  color: var(--av2-text-muted);
}


/* ============================================================
   AV 2.0 - MASTER TYPOGRAPHY SYSTEM
   Activities Dashboard is the canonical visual reference.

   IMPORTANT:
   - Font sizes are controlled here, not inside feature sections.
   - New AV2 components should use the --av2-font-* tokens above.
   - The !important lock prevents later feature CSS from silently
     shrinking titles, KPI text, labels, or supporting copy.
   - Intentional exceptions should also reference a master token.
   - Readable AV2 UI copy must never be smaller than --av2-font-meta.
     Sizes below that floor are reserved for icons/glyphs only.
   - Equivalent semantic roles must use the same token on every page.
   ============================================================ */

/* ============================================================
   PAGE HEADING STANDARD
   ============================================================ */

.av2-page-title,
.subheader .av2-page-title,
.subheader-title {
    font-family: var(--av2-font-family);
    font-size: var(--av2-font-page-title) !important;
    font-weight: var(--av2-weight-bold);
    line-height: 1.2;
}

.av2-breadcrumb,
.av2-breadcrumb .breadcrumb-item,
.av2-breadcrumb .breadcrumb-item a {
    font-size: var(--av2-font-compact) !important;
    font-weight: var(--av2-weight-normal);
    line-height: 1.35;
}

.av-header-action {
    font-size: var(--av2-font-body) !important;
    font-weight: var(--av2-weight-semibold);
}


/* ============================================================
   ACTIVITIES DASHBOARD - CANONICAL REFERENCE
   These values are intentionally locked and reused below.
   ============================================================ */

.av-header-greeting-title {
    font-size: var(--av2-font-page-title) !important;
    font-weight: var(--av2-weight-bold);
}

.av-header-greeting-subtitle {
    font-size: var(--av2-font-body) !important;
    font-weight: var(--av2-weight-normal);
}

.av-panel-title,
.panel:not(.panel-fullscreen) > .panel-hdr h2 {
    font-size: var(--av2-font-section-title) !important;
    font-weight: var(--av2-weight-bold);
}

.av-panel-subtitle {
    font-size: var(--av2-font-body) !important;
}

.av2-kpa-title,
.av-stat-title {
    font-size: var(--av2-font-kpa-title) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-kpa-value {
    font-size: var(--av2-font-kpa-value) !important;
    font-weight: var(--av2-weight-bold);
}

.av-stat-value {
    font-size: var(--av2-font-kpa-value) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-kpa-detail {
    font-size: var(--av2-font-kpa-detail) !important;
    font-weight: var(--av2-weight-medium);
}

.av-stat-detail {
    font-size: var(--av2-font-kpa-detail) !important;
}


/* ============================================================
   GLOBAL AV2 MODALS
   ============================================================ */

.av2-modal-title {
    font-size: var(--av2-font-modal-title) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-modal-subtitle {
    font-size: var(--av2-font-compact) !important;
}

.av2-modal-section-title {
    font-size: var(--av2-font-section-title) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-modal-section-subtitle,
.av2-modal-field-help {
    font-size: var(--av2-font-body) !important;
    line-height: 1.45;
}

.av2-modal-form-group label {
    font-size: var(--av2-font-compact) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-modal-input,
.av2-modal .form-control,
.av2-modal select.form-control,
.av2-modal textarea.form-control {
    font-size: var(--av2-font-control) !important;
}

.av2-modal-footer .btn {
    font-size: var(--av2-font-body) !important;
}


/* ============================================================
   COMMON AV2 FORMS / BUILDERS
   ============================================================ */

.av2-form-section-header h2,
.av2-builder-section-header h2,
.av2-task-form-section-title {
    font-size: var(--av2-font-section-title) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-form-section-header p,
.av2-builder-section-header p {
    font-size: var(--av2-font-body) !important;
    line-height: 1.45;
}

.av2-form-group label,
.av2-builder-form-group > label,
.av2-openhouse-builder .av2-builder-form-group > label {
    font-size: var(--av2-font-compact) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-new-contact-page .form-control,
.av2-openhouse-builder .form-control,
.av2-builder-section .form-control {
    font-size: var(--av2-font-control) !important;
}

.av2-new-contact-intro strong,
.av2-builder-intro strong,
.av2-builder-notice strong,
.av2-builder-actions strong {
    font-size: var(--av2-font-item-title) !important;
}

.av2-new-contact-intro span,
.av2-builder-intro span,
.av2-builder-notice span,
.av2-builder-actions span,
.av2-builder-editor-tip {
    font-size: var(--av2-font-compact) !important;
    line-height: 1.45;
}

/* ============================================================
   MINIMUM READABILITY FLOOR
   Generic AV2 labels/help text should not drift below the
   Dashboard detail/meta scale on future pages.
   ============================================================ */

.av2-page-heading,
.av2-modal,
.av2-form-section,
.av2-builder-section,
.av2-openhouse-card,
.av2-landing-card,
.av2-addressbook-card,
.av2-task-card {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* ============================================================
   AV 2.0 TYPOGRAPHY RULE FOR ALL FEATURE SECTIONS BELOW
   ------------------------------------------------------------
   Do not invent page-specific font sizes. Use the master tokens:
   page title       var(--av2-font-page-title)
   section title    var(--av2-font-section-title)
   item/name        var(--av2-font-item-title)
   KPI title/value  var(--av2-font-kpa-title/value)
   body/subtitle    var(--av2-font-body)
   controls         var(--av2-font-control)
   compact copy     var(--av2-font-compact)
   metadata/detail  var(--av2-font-meta)
   ============================================================ */

/* ========================================================================
   END 01. AV2 FOUNDATION
   ======================================================================== */


/* ========================================================================
   02. APPLICATION SHELL
   ======================================================================== */

/* ============================================================
   HEADER
   ============================================================ */

.page-header {
  background: var(--av2-surface);
  border-bottom: 1px solid var(--av2-border);
  box-shadow: 0 1px 8px rgba(15, 23, 42, 0.04);
}

.header-icon {
  color: #657183;
}

.header-icon:not(.btn) > [class*='fa-']:first-child,
.header-icon:not(.btn) > .ni:first-child {
  color: var(--av2-primary);
}

.header-icon:not(.btn):hover > [class*='fa-']:only-child,
.header-icon:not(.btn):hover > .ni {
  color: var(--av2-navy);
}

.header-btn,
.dropdown-icon-menu > ul > li .btn {
  border-radius: var(--av2-radius-sm);
}


/* ============================================================
   SIDEBAR / NAVIGATION
   ============================================================ */

.page-logo,
.page-sidebar,
.nav-footer,
.bg-brand-gradient {
  background-color: var(--av2-navy) !important;
  background-image: none !important;
}

.page-sidebar {
  border-right: 0;
  box-shadow: 4px 0 18px rgba(6, 26, 59, 0.08);
}

.nav-title {
  color: rgba(255, 255, 255, 0.48);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.nav-menu li a {
  color: rgba(255, 255, 255, 0.68);
}

.nav-menu li a > [class*='fa-'],
.nav-menu li a > .ni {
  color: rgba(255, 255, 255, 0.46);
}

.nav-menu li a:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.065);
}

.nav-menu li a:hover > [class*='fa-'],
.nav-menu li a:hover > .ni {
  color: #ffffff;
}

.nav-menu li.active > a {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.10);
  box-shadow: inset 3px 0 0 var(--av2-orange);
}

.nav-menu li.active > a > [class*='fa-'],
.nav-menu li.active > a > .ni {
  color: #ffffff;
}

.nav-menu li > ul {
  background: rgba(0, 0, 0, 0.12);
}

.nav-menu li > ul li a {
  color: rgba(255, 255, 255, 0.62);
}

.nav-menu li > ul li a:hover,
.nav-menu li > ul li.active > a {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.055);
}

.nav-menu li b.collapse-sign {
  color: rgba(255, 255, 255, 0.55);
}

.nav-footer .nav-footer-buttons > li > a {
  color: rgba(255, 255, 255, 0.72);
}

.nav-function-fixed .nav-footer,
.nav-function-minify .nav-footer {
  background: var(--av2-navy);
}

.nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu > li > a + ul,
.nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav:hover .nav-menu > li:hover > a > .nav-link-text:last-child {
  background-color: var(--av2-navy);
}

.nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu > li > a + ul:before,
.nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav:hover .nav-menu > li:hover > a > .nav-link-text:last-child:before {
  color: var(--av2-navy);
}

/* ============================================================
   AV 2.0 - SIDEBAR LOGO FINAL FIX
   ============================================================ */

html body .page-sidebar.av2-sidebar .av2-sidebar-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 84px !important;
    min-height: 84px !important;

    padding: 0 18px !important;

    background: #061a3b !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.40) !important;

    overflow: hidden !important;
    box-sizing: border-box !important;
}

html body .page-sidebar.av2-sidebar .av2-sidebar-brand-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    overflow: hidden !important;
    text-decoration: none !important;
}


/* Full AGENTVIEW logo */

html body .page-sidebar.av2-sidebar .av2-sidebar-brand .av2-logo-full {
    display: block !important;

    width: 200px !important;
    max-width: calc(100% - 10px) !important;
    height: auto !important;
    max-height: 58px !important;

    margin: 0 auto !important;

    object-fit: contain !important;
}


/* Square AV mini logo - hidden normally */

html body .page-sidebar.av2-sidebar .av2-sidebar-brand .av2-logo-mini {
    display: none !important;

    width: 38px !important;
    max-width: 38px !important;

    height: 38px !important;
    max-height: 38px !important;

    margin: 0 auto !important;

    object-fit: contain !important;
}


/* ============================================================
   MINIFIED SIDEBAR
   ============================================================ */

@media (min-width: 992px) {

    .nav-function-minify:not(.nav-function-top)
    .page-sidebar.av2-sidebar
    .av2-sidebar-brand {
        padding: 0 !important;
    }

    .nav-function-minify:not(.nav-function-top)
    .page-sidebar.av2-sidebar
    .av2-sidebar-brand
    .av2-logo-full {
        display: none !important;
    }

    .nav-function-minify:not(.nav-function-top)
    .page-sidebar.av2-sidebar
    .av2-sidebar-brand
    .av2-logo-mini {
        display: block !important;

        width: 38px !important;
        max-width: 38px !important;

        height: 38px !important;
        max-height: 38px !important;
    }

}

/* ============================================================
   AV 2.0 - SIDEBAR / HEADER DIVIDER ALIGNMENT
   ============================================================ */

html body .page-sidebar.av2-sidebar .av2-sidebar-brand {
    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;

    padding: 0 18px !important;

    box-sizing: border-box !important;

    border-bottom: 2px solid rgba(255,255,255,0.40) !important;
}

html body .page-header {
    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;

    box-sizing: border-box !important;
}

/* ============================================================
   SIDEBAR THEME MODES
   ------------------------------------------------------------
   cust-theme-16.css.

   This keeps the existing sidebar structure, dimensions,
   scrolling, logo sizing, minified behavior and mobile behavior.
   It only establishes one final color authority for:
     - Default mode
     - Light mode
     - Dark mode

   NOTE:
   Light mode keeps the 84px logo/brand strip navy so the current
   light-on-dark AGENTVIEW logo remains readable. The navigation
   area itself becomes light.
   ============================================================ */


/* ============================================================
   SIDEBAR TOKENS — DEFAULT
   ============================================================ */

:root {
    --av2-sidebar-bg: #061a3b;
    --av2-sidebar-brand-bg: #061a3b;
    --av2-sidebar-footer-bg: #051630;
    --av2-sidebar-flyout-bg: #061a3b;

    --av2-sidebar-text: rgba(255,255,255,.72);
    --av2-sidebar-icon: rgba(255,255,255,.50);
    --av2-sidebar-title: rgba(255,255,255,.48);
    --av2-sidebar-submenu-text: rgba(255,255,255,.66);

    --av2-sidebar-hover-bg: rgba(255,255,255,.07);
    --av2-sidebar-hover-text: #ffffff;

    --av2-sidebar-active-bg: #0b5cff;
    --av2-sidebar-active-text: #ffffff;
    --av2-sidebar-active-icon: #ffffff;
    --av2-sidebar-active-shadow: 0 5px 13px rgba(11,92,255,.20);

    --av2-sidebar-submenu-bg: rgba(0,0,0,.12);

    --av2-sidebar-border: rgba(255,255,255,.16);
    --av2-sidebar-divider: rgba(255,255,255,.40);
    --av2-sidebar-shadow: 4px 0 18px rgba(6,26,59,.08);

    --av2-sidebar-search-bg: rgba(255,255,255,.08);
    --av2-sidebar-search-border: rgba(255,255,255,.12);
    --av2-sidebar-search-text: #ffffff;
    --av2-sidebar-search-placeholder: rgba(255,255,255,.48);

    --av2-sidebar-scroll-thumb: rgba(255,255,255,.26);
    --av2-sidebar-scroll-thumb-hover: rgba(255,255,255,.43);
}


/* ============================================================
   SIDEBAR TOKENS — LIGHT
   White navigation area with readable slate/navy controls.
   Brand strip remains navy for the existing logo asset.
   ============================================================ */

.mod-skin-light {
    --av2-sidebar-bg: #ffffff;
    --av2-sidebar-brand-bg: #061a3b;
    --av2-sidebar-footer-bg: #ffffff;
    --av2-sidebar-flyout-bg: #ffffff;

    --av2-sidebar-text: #435066;
    --av2-sidebar-icon: #718096;
    --av2-sidebar-title: #8a95a5;
    --av2-sidebar-submenu-text: #59677a;

    --av2-sidebar-hover-bg: #f5f7fb;
    --av2-sidebar-hover-text: #0b5cff;

    --av2-sidebar-active-bg: #eef5ff;
    --av2-sidebar-active-text: #0b5cff;
    --av2-sidebar-active-icon: #0b5cff;
    --av2-sidebar-active-shadow: inset 3px 0 0 #f5a000;

    --av2-sidebar-submenu-bg: #f8fafc;

    --av2-sidebar-border: #e4e9f0;
    --av2-sidebar-divider: rgba(255,255,255,.40);
    --av2-sidebar-shadow: 4px 0 18px rgba(15,23,42,.05);

    --av2-sidebar-search-bg: #f8fafc;
    --av2-sidebar-search-border: #dce3eb;
    --av2-sidebar-search-text: #212529;
    --av2-sidebar-search-placeholder: #8a95a5;

    --av2-sidebar-scroll-thumb: rgba(67,80,102,.20);
    --av2-sidebar-scroll-thumb-hover: rgba(67,80,102,.34);
}


/* ============================================================
   SIDEBAR TOKENS — DARK
   ============================================================ */

.mod-skin-dark {
    --av2-sidebar-bg: #0b1220;
    --av2-sidebar-brand-bg: #0b1220;
    --av2-sidebar-footer-bg: #080f1b;
    --av2-sidebar-flyout-bg: #111a29;

    --av2-sidebar-text: #c8d2df;
    --av2-sidebar-icon: #8190a4;
    --av2-sidebar-title: #718096;
    --av2-sidebar-submenu-text: #aeb9c8;

    --av2-sidebar-hover-bg: rgba(255,255,255,.055);
    --av2-sidebar-hover-text: #ffffff;

    --av2-sidebar-active-bg: #0b5cff;
    --av2-sidebar-active-text: #ffffff;
    --av2-sidebar-active-icon: #ffffff;
    --av2-sidebar-active-shadow: 0 5px 13px rgba(11,92,255,.22);

    --av2-sidebar-submenu-bg: rgba(255,255,255,.035);

    --av2-sidebar-border: rgba(255,255,255,.09);
    --av2-sidebar-divider: rgba(255,255,255,.13);
    --av2-sidebar-shadow: 4px 0 18px rgba(0,0,0,.22);

    --av2-sidebar-search-bg: rgba(255,255,255,.055);
    --av2-sidebar-search-border: rgba(255,255,255,.09);
    --av2-sidebar-search-text: #e7ebf2;
    --av2-sidebar-search-placeholder: #7f8da1;

    --av2-sidebar-scroll-thumb: rgba(255,255,255,.17);
    --av2-sidebar-scroll-thumb-hover: rgba(255,255,255,.30);
}


/* ============================================================
   SIDEBAR SHELL
   ============================================================ */

html body .page-sidebar.av2-sidebar {
    background: var(--av2-sidebar-bg) !important;
    background-image: none !important;
    border-right: 1px solid var(--av2-sidebar-border) !important;
    box-shadow: var(--av2-sidebar-shadow) !important;
}


/* Brand strip */

html body .page-sidebar.av2-sidebar .av2-sidebar-brand {
    background: var(--av2-sidebar-brand-bg) !important;
    border-bottom-color: var(--av2-sidebar-divider) !important;
}


/* ============================================================
   SECTION TITLES
   ============================================================ */

html body .page-sidebar.av2-sidebar .nav-title,
html body .page-sidebar.av2-sidebar .av2-nav-menu .nav-title {
    color: var(--av2-sidebar-title) !important;
}


/* ============================================================
   PRIMARY NAVIGATION
   ============================================================ */

html body .page-sidebar.av2-sidebar .nav-menu li > a,
html body .page-sidebar.av2-sidebar .av2-nav-menu li > a {
    color: var(--av2-sidebar-text) !important;
}

html body .page-sidebar.av2-sidebar .nav-menu li > a > [class*="fa-"],
html body .page-sidebar.av2-sidebar .nav-menu li > a > .ni,
html body .page-sidebar.av2-sidebar .av2-nav-menu li > a > [class*="fa-"],
html body .page-sidebar.av2-sidebar .av2-nav-menu li > a > .ni {
    color: var(--av2-sidebar-icon) !important;
}


/* Hover / focus */

html body .page-sidebar.av2-sidebar .nav-menu li > a:hover,
html body .page-sidebar.av2-sidebar .nav-menu li > a:focus,
html body .page-sidebar.av2-sidebar .av2-nav-menu li > a:hover,
html body .page-sidebar.av2-sidebar .av2-nav-menu li > a:focus {
    color: var(--av2-sidebar-hover-text) !important;
    background: var(--av2-sidebar-hover-bg) !important;
}

html body .page-sidebar.av2-sidebar .nav-menu li > a:hover > [class*="fa-"],
html body .page-sidebar.av2-sidebar .nav-menu li > a:hover > .ni,
html body .page-sidebar.av2-sidebar .av2-nav-menu li > a:hover > [class*="fa-"],
html body .page-sidebar.av2-sidebar .av2-nav-menu li > a:hover > .ni {
    color: var(--av2-sidebar-hover-text) !important;
}


/* Active */

html body .page-sidebar.av2-sidebar .nav-menu > li.active > a,
html body .page-sidebar.av2-sidebar .av2-nav-menu > li.active > a {
    color: var(--av2-sidebar-active-text) !important;
    background: var(--av2-sidebar-active-bg) !important;
    box-shadow: var(--av2-sidebar-active-shadow) !important;
}

html body .page-sidebar.av2-sidebar .nav-menu > li.active > a > [class*="fa-"],
html body .page-sidebar.av2-sidebar .nav-menu > li.active > a > .ni,
html body .page-sidebar.av2-sidebar .av2-nav-menu > li.active > a > [class*="fa-"],
html body .page-sidebar.av2-sidebar .av2-nav-menu > li.active > a > .ni {
    color: var(--av2-sidebar-active-icon) !important;
}


/* Collapse arrows */

html body .page-sidebar.av2-sidebar .collapse-sign {
    color: var(--av2-sidebar-icon) !important;
}


/* ============================================================
   SUBMENUS
   ============================================================ */

html body .page-sidebar.av2-sidebar .nav-menu li > ul,
html body .page-sidebar.av2-sidebar .av2-nav-menu li > ul {
    background: var(--av2-sidebar-submenu-bg) !important;
}

html body .page-sidebar.av2-sidebar .nav-menu li > ul li > a,
html body .page-sidebar.av2-sidebar .av2-nav-menu li > ul li > a {
    color: var(--av2-sidebar-submenu-text) !important;
}

html body .page-sidebar.av2-sidebar .nav-menu li > ul li > a:hover,
html body .page-sidebar.av2-sidebar .nav-menu li > ul li.active > a,
html body .page-sidebar.av2-sidebar .av2-nav-menu li > ul li > a:hover,
html body .page-sidebar.av2-sidebar .av2-nav-menu li > ul li.active > a {
    color: var(--av2-sidebar-hover-text) !important;
    background: var(--av2-sidebar-hover-bg) !important;
}


/* ============================================================
   NAV FILTER
   ============================================================ */

html body .page-sidebar.av2-sidebar .nav-filter .form-control,
html body .page-sidebar.av2-sidebar .nav-filter input[type="text"] {
    color: var(--av2-sidebar-search-text) !important;
    background: var(--av2-sidebar-search-bg) !important;
    border-color: var(--av2-sidebar-search-border) !important;
}

html body .page-sidebar.av2-sidebar .nav-filter .form-control::placeholder,
html body .page-sidebar.av2-sidebar .nav-filter input[type="text"]::placeholder {
    color: var(--av2-sidebar-search-placeholder) !important;
}

html body .page-sidebar.av2-sidebar .nav-filter .form-control:focus,
html body .page-sidebar.av2-sidebar .nav-filter input[type="text"]:focus {
    color: var(--av2-sidebar-search-text) !important;
    background: var(--av2-sidebar-search-bg) !important;
    border-color: var(--av2-primary) !important;
    box-shadow: 0 0 0 .15rem rgba(11,92,255,.14) !important;
}


/* ============================================================
   SIDEBAR SCROLLBAR
   ============================================================ */

html body .page-sidebar.av2-sidebar .av2-primary-nav {
    scrollbar-color: var(--av2-sidebar-scroll-thumb) transparent;
}

html body .page-sidebar.av2-sidebar .av2-primary-nav::-webkit-scrollbar-thumb {
    background: var(--av2-sidebar-scroll-thumb) !important;
}

html body .page-sidebar.av2-sidebar .av2-primary-nav:hover::-webkit-scrollbar-thumb {
    background: var(--av2-sidebar-scroll-thumb-hover) !important;
}


/* ============================================================
   FOOTER / MINIFY CONTROL
   ============================================================ */

html body .page-sidebar.av2-sidebar .av2-nav-footer,
html body .page-sidebar.av2-sidebar .nav-footer {
    background: var(--av2-sidebar-footer-bg) !important;
    border-top-color: var(--av2-sidebar-border) !important;
}

html body .page-sidebar.av2-sidebar .av2-nav-footer > a,
html body .page-sidebar.av2-sidebar .nav-footer a {
    color: var(--av2-sidebar-icon) !important;
}

html body .page-sidebar.av2-sidebar .av2-nav-footer > a:hover,
html body .page-sidebar.av2-sidebar .nav-footer a:hover {
    color: var(--av2-sidebar-hover-text) !important;
    background: var(--av2-sidebar-hover-bg) !important;
}


/* ============================================================
   MINIFIED SIDEBAR FLYOUTS
   ============================================================ */

@media (min-width: 992px) {

    .nav-function-minify:not(.nav-function-top)
    .page-sidebar.av2-sidebar
    .primary-nav
    .nav-menu > li > a + ul,

    .nav-function-minify:not(.nav-function-top)
    .page-sidebar.av2-sidebar
    .primary-nav:hover
    .nav-menu > li:hover > a > .nav-link-text:last-child {
        background: var(--av2-sidebar-flyout-bg) !important;
        color: var(--av2-sidebar-text) !important;
    }

    .nav-function-minify:not(.nav-function-top)
    .page-sidebar.av2-sidebar
    .primary-nav
    .nav-menu > li > a + ul::before,

    .nav-function-minify:not(.nav-function-top)
    .page-sidebar.av2-sidebar
    .primary-nav:hover
    .nav-menu > li:hover > a > .nav-link-text:last-child::before {
        color: var(--av2-sidebar-flyout-bg) !important;
    }

    .nav-function-minify:not(.nav-function-top)
    .page-sidebar.av2-sidebar
    .primary-nav:hover
    .nav-menu > li:hover > a {
        color: var(--av2-sidebar-hover-text) !important;
        background: var(--av2-sidebar-hover-bg) !important;
    }
}


/* ============================================================
   MOBILE DRAWER
   ============================================================ */

@media (max-width: 991.98px) {
    html body.mobile-nav-on .page-sidebar.av2-sidebar {
        background: var(--av2-sidebar-bg) !important;
        border-right-color: var(--av2-sidebar-border) !important;
    }
}


/* ============================================================
   MODE-SPECIFIC FINAL AUTHORITY
   Beats older SmartAdmin / mod-nav-dark declarations.
   ============================================================ */

html body.mod-skin-light .page-sidebar.av2-sidebar {
    background: var(--av2-sidebar-bg) !important;
}

html body.mod-skin-dark .page-sidebar.av2-sidebar {
    background: var(--av2-sidebar-bg) !important;
}

html body.mod-skin-light .page-sidebar.av2-sidebar .av2-sidebar-brand,
html body.mod-skin-dark .page-sidebar.av2-sidebar .av2-sidebar-brand {
    background: var(--av2-sidebar-brand-bg) !important;
}


/* ============================================================
   END SIDEBAR THEME MODES
   ============================================================ */

/* ========================================================================
   END 02. APPLICATION SHELL
   ======================================================================== */


/* ========================================================================
   03. GLOBAL COMPONENTS
   ======================================================================== */

/* ============================================================
   PANELS / CARDS
   ============================================================ */

.panel:not(.panel-fullscreen) {
  background: var(--av2-surface);
  border: 1px solid var(--av2-border);
  border-bottom: 1px solid var(--av2-border);
  border-radius: var(--av2-radius-lg);
  box-shadow: var(--av2-shadow);
  transition: box-shadow 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.panel:not(.panel-fullscreen) > .panel-hdr {
  background: var(--av2-surface);
  border-bottom: 1px solid var(--av2-border);
  border-radius: var(--av2-radius-lg) var(--av2-radius-lg) 0 0;
  min-height: 3.25rem;
}

.panel:not(.panel-fullscreen) > .panel-hdr h2 {
  color: var(--av2-text);
  font-size: 0.95rem;
  font-weight: 700;
}

.panel:not(.panel-fullscreen) > .panel-container {
  border-radius: 0 0 var(--av2-radius-lg) var(--av2-radius-lg);
}

.panel:not(.panel-fullscreen) > .panel-container > .panel-content:only-child,
.panel:not(.panel-fullscreen) > .panel-container > .panel-content:last-child {
  border-radius: 0 0 var(--av2-radius-lg) var(--av2-radius-lg);
}

.panel-collapsed:not(.panel-fullscreen) > .panel-hdr {
  border-radius: var(--av2-radius-lg);
}

.panel.panel-fullscreen {
  border-radius: 0;
}

.card {
  border-color: var(--av2-border);
  border-radius: var(--av2-radius);
  box-shadow: var(--av2-shadow-sm);
}

.card-header:first-child {
  border-radius: var(--av2-radius) var(--av2-radius) 0 0;
}

.card-footer:last-child {
  border-radius: 0 0 var(--av2-radius) var(--av2-radius);
}

.panel-tag {
  border-radius: 0 var(--av2-radius-sm) var(--av2-radius-sm) 0;
}


/* ============================================================
   BUTTONS
   ============================================================ */

.btn {
  border-radius: var(--av2-radius-sm);
  transition: all 160ms ease;
}

.btn-primary {
  color: #ffffff;
  background-color: var(--av2-navy);
  border-color: var(--av2-navy);
  box-shadow: 0 3px 8px rgba(6, 26, 59, 0.18);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus {
  color: #ffffff;
  background-color: var(--av2-navy-hover);
  border-color: var(--av2-navy-hover);
  box-shadow: 0 4px 12px rgba(6, 26, 59, 0.24);
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  color: #ffffff;
  background-color: #04142f;
  border-color: #04142f;
}

.btn-outline-primary {
  color: var(--av2-primary);
  border-color: var(--av2-primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #ffffff;
  background-color: var(--av2-primary);
  border-color: var(--av2-primary);
}

.btn-link {
  color: var(--av2-primary);
}


/* ============================================================
   FORMS
   ============================================================ */

.form-control,
.custom-select,
.custom-file-label,
.input-group-text {
  border-color: var(--av2-border-strong);
  border-radius: var(--av2-radius-sm);
}

.form-control {
  color: var(--av2-text);
  background-color: var(--av2-input-bg);
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.025);
}

.form-control:focus,
.custom-select:focus,
.custom-file-input:focus ~ .custom-file-label {
  border-color: var(--av2-primary);
  box-shadow: 0 0 0 0.18rem rgba(11, 92, 255, 0.12);
}

.custom-control-input:checked ~ .custom-control-label::before {
  border-color: var(--av2-primary);
  background-color: var(--av2-primary);
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: var(--av2-primary);
  background-color: var(--av2-primary);
}


/* ============================================================
   DROPDOWNS / POPOVERS / MODALS
   ============================================================ */

.dropdown-menu {
  border: 1px solid var(--av2-border);
  border-radius: var(--av2-radius);
  box-shadow: var(--av2-shadow);
}

.dropdown-item.active,
.dropdown-item:active {
  color: #ffffff;
  background: var(--av2-primary);
}

.popover {
  border-color: var(--av2-border);
  border-radius: var(--av2-radius);
  box-shadow: var(--av2-shadow);
}

.popover-header {
  border-radius: var(--av2-radius) var(--av2-radius) 0 0;
}

.modal-content {
  border-color: var(--av2-border);
  border-radius: var(--av2-radius-lg);
  box-shadow: var(--av2-shadow-lg);
}

.modal-header {
  border-bottom-color: var(--av2-border);
}

.modal-footer {
  border-top-color: var(--av2-border);
}


/* ============================================================
   TABS / NAV PILLS / PAGINATION
   ============================================================ */

.nav-tabs-clean .nav-item .nav-link.active {
  border-bottom-color: var(--av2-primary);
  color: var(--av2-primary);
}

.nav-tabs-clean .nav-item .nav-link:hover,
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--av2-primary);
}

.nav-pills .nav-link {
  border-radius: var(--av2-radius-sm);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background: var(--av2-primary);
}

.pagination .page-link {
  border-radius: var(--av2-radius-sm);
}

.page-item.active .page-link {
  background: var(--av2-primary);
  border-color: var(--av2-primary);
}


/* ============================================================
   TABLES / DATATABLES
   ============================================================ */

.table {
  color: var(--av2-text);
}

.table thead th {
  border-bottom-color: var(--av2-border-strong);
}

.table td,
.table th {
  border-top-color: var(--av2-border);
}

.table-hover tbody tr:hover {
  background-color: rgba(11, 92, 255, 0.025);
}

table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > th:first-child:before,
table.dataTable.dtr-column > tbody > tr > td.control:before,
table.dataTable.dtr-column > tbody > tr > th.control:before {
  background-color: var(--av2-primary);
}

table.dataTable tbody > tr.selected,
table.dataTable tbody > tr > .selected {
  box-shadow: inset 0 0 0 1px var(--av2-primary);
  background: rgba(11, 92, 255, 0.08);
}


/* ============================================================
   BADGES / ALERTS / SMALL UI
   ============================================================ */

.badge {
  border-radius: var(--av2-radius-xs);
}

.alert {
  border-radius: var(--av2-radius);
}


/* ============================================================
   AV 2.0 DASHBOARD COMPONENTS
   These classes mirror the visual language used in the V5
   mockups and can be introduced page-by-page without changing
   the global framework.
   ============================================================ */

.av-header-greeting {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.2;
}

.av-header-greeting-title {
  margin-bottom: 0.25rem;
  color: var(--av2-text);
  font-size: var(--av2-font-page-title);
  font-weight: 700;
}

.av-header-greeting-subtitle {
  color: var(--av2-text-muted);
  font-size: var(--av2-font-body);
  font-weight: 400;
}

.av-stat-card {
  background: var(--av2-surface);
  border: 1px solid var(--av2-border);
  border-radius: var(--av2-radius-lg);
  box-shadow: var(--av2-shadow);
}

.av-stat-card .card-body {
  padding: 1.25rem;
}

.av-stat-icon {
  width: 46px;
  height: 46px;
  min-width: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.25rem;
}

.av-stat-title {
  margin: 0 0 0.25rem 0;
  color: var(--av2-text);
  font-size: var(--av2-font-kpa-title);
  font-weight: 700;
}

.av-stat-value {
  margin: 0 0 0.35rem 0;
  color: var(--av2-text);
  font-size: var(--av2-font-kpa-value);
  font-weight: 700;
  line-height: 1;
}

.av-stat-detail {
  font-size: var(--av2-font-kpa-detail);
  line-height: 1.3;
  white-space: nowrap;
}

.av-stat-blue {
  background: #2457e6;
}

.av-stat-green {
  background: #3ca45c;
}

.av-stat-purple {
  background: #8545db;
}

.av-stat-orange {
  background: #f47b20;
}

.av-stat-teal {
  background: #3fa4b5;
}

.av-text-blue {
  color: #2457e6;
}

.av-text-green {
  color: #32934f;
}

.av-text-purple {
  color: #8545db;
}

.av-text-orange {
  color: #f47b20;
}

.av-text-teal {
  color: #3597aa;
}

.av-dashboard-panel {
  overflow: visible;
}

.av-panel-hdr {
  min-height: auto;
  padding: 1rem 1.25rem;
  align-items: center;
}

.av-panel-title {
  margin: 0;
  font-size: var(--av2-font-section-title);
  font-weight: 700;
}

.av-panel-subtitle {
  margin-top: 0.2rem;
  color: var(--av2-text-muted);
  font-size: var(--av2-font-compact);
}

.av-panel-title-icon {
  font-size: 1.5rem;
  line-height: 1;
}

.av-panel-link {
  display: inline-flex;
  align-items: center;
  color: var(--av2-primary);
  font-size: var(--av2-font-compact);
  font-weight: 600;
  text-decoration: none;
}

.av-recommendation-item {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1.1rem 1.25rem;
  border-right: 1px solid var(--av2-border);
}

.av-recommendation-item:last-child {
  border-right: 0;
}

.av-recommendation-icon {
  width: 46px;
  height: 46px;
  min-width: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 1.2rem;
  font-weight: 600;
}

.av-recommendation-purple {
  color: #8545db;
  background: rgba(133, 69, 219, 0.08);
  border: 1px solid rgba(133, 69, 219, 0.15);
}

.av-recommendation-green {
  color: #2ca65a;
  background: rgba(44, 166, 90, 0.08);
  border: 1px solid rgba(44, 166, 90, 0.15);
}

.av-recommendation-yellow {
  color: #f5a000;
  background: rgba(245, 160, 0, 0.08);
  border: 1px solid rgba(245, 160, 0, 0.18);
}

.av-recommendation-text {
  font-size: var(--av2-font-body);
  line-height: 1.45;
}

.av-recommendation-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.3rem;
  color: var(--av2-primary);
  font-size: var(--av2-font-control);
  font-weight: 600;
  text-decoration: none;
}


/* ============================================================
   RESPONSIVE SAFETY
   ============================================================ */

@media only screen and (max-width: 992px) {
  .page-wrapper {
    background: var(--av2-page-bg);
  }

  .page-wrapper .page-content {
    color: var(--av2-text);
  }

  .nav-mobile-slide-out .page-wrapper .page-content {
    background: var(--av2-page-bg);
  }

  .mobile-nav-on .page-sidebar {
    box-shadow: 0 8px 36px rgba(6, 26, 59, 0.34);
  }
}

@media only screen and (max-width: 576px) {
  .panel:not(.panel-fullscreen) {
    border-radius: var(--av2-radius);
  }

  .panel:not(.panel-fullscreen) > .panel-hdr {
    border-radius: var(--av2-radius) var(--av2-radius) 0 0;
  }

  .panel-collapsed:not(.panel-fullscreen) > .panel-hdr {
    border-radius: var(--av2-radius);
  }
}

/* ============================================================
   AV 2.0 - PAGE HEADING ACTIONS
   ============================================================ */

.av2-page-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.av2-page-heading-content {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-page-actions {
    align-items: center;
    flex-shrink: 0;
    margin-left: 24px;
}

.av2-page-actions .av-header-action + .av-header-action {
    margin-left: 10px;
}

.av-header-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px;
    font-family: "Public Sans", sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
}

.av-header-action i {
    margin-right: 7px;
}

@media (max-width: 767.98px) {
    .av2-page-actions {
        display: none !important;
    }
}

/* ============================================================
   CONTACT / DATA TABLES
   ============================================================ */

.av2-ui-contact-name {
    font-size: var(--av2-font-item-title) !important;
}

.av2-ui-contact-meta,
.av2-ui-location,
.av2-ui-last-contact,
.av2-ui-preference-list,
.av2-ui-result-count,
.av2-ui-pagination-summary,
.av2-ui-pagination-total {
    font-size: var(--av2-font-compact) !important;
}

.av2-ui-table thead th {
    font-size: var(--av2-font-meta) !important;
}

.av2-ui-table tbody td {
    font-size: var(--av2-font-compact) !important;
}

.av2-ui-search-field input {
    font-size: var(--av2-font-control) !important;
}

.av2-ui-tabs .nav-link,
.av2-ui-list-tools .btn,
.av2-ui-sort-form label,
.av2-ui-sort-form .form-control,
.av2-ui-sort-form .btn {
    font-size: var(--av2-font-body) !important;
}

/* ============================================================
   AV 2.0 - GLOBAL CONTACT / DATA LIST COMPONENTS
   All selectors are opt-in and do not modify existing dashboard rules.
   ============================================================ */

.av2-contacts-panel {
    overflow: visible;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.av2-contacts-panel > .panel-container {
    background: transparent !important;
    border-radius: 0 !important;
}

.av2-contacts-panel .av2-contacts-content {
    padding: 0 !important;
    background: transparent;
}

/* Search bar */
.av2-ui-searchbar {
    display: flex;
    align-items: stretch;
    width: 100%;
    margin-bottom: 14px;
}

.av2-ui-search-form {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}

.av2-ui-search-field {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 50px;
    padding: 0 14px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border-strong);
    border-radius: 10px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-ui-search-field > i {
    flex: 0 0 auto;
    margin-right: 11px;
    color: var(--av2-text-muted);
    font-size: 1rem;
}

.av2-ui-search-field input {
    flex: 1 1 auto;
    min-width: 0;
    height: 48px;
    padding: 0;
    color: var(--av2-text);
    background: transparent;
    border: 0;
    outline: 0;
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-control);
}

.av2-ui-search-field input::placeholder {
    color: #8a94a3;
}

.av2-ui-search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-left: 8px;
    padding: 0;
    color: var(--av2-primary);
    background: transparent;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}

.av2-ui-search-submit:hover {
    background: var(--av2-primary-soft);
}

.av2-ui-search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 112px;
    min-height: 50px;
    margin-left: 12px;
    padding: 0 16px;
    background: var(--av2-surface);
    border-radius: 10px;
    box-shadow: none;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-ui-search-button i {
    margin-right: 7px;
}

.av2-ui-more-menu .dropdown-item i {
    width: 18px;
    margin-right: 7px;
}

/* Filter panel */
.av2-ui-filter-panel {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    margin: -2px 0 15px;
    padding: 14px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-ui-filter-field {
    min-width: 210px;
    margin-right: 12px;
}

.av2-ui-filter-field label {
    display: block;
    margin-bottom: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.av2-ui-filter-field .form-control {
    min-height: 40px;
    font-size: var(--av2-font-control);
}

.av2-ui-filter-actions {
    display: flex;
    align-items: center;
}

.av2-ui-filter-actions .btn {
    min-height: 40px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-ui-filter-actions .btn + .btn {
    margin-left: 8px;
}

/* Pill tabs */
.av2-ui-tabs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 0 14px;
    padding: 0;
    border: 0 !important;
}

.av2-ui-tabs .nav-item {
    margin: 0 9px 8px 0 !important;
}

.av2-ui-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    margin: 0 !important;
    padding: 8px 15px;
    color: #536174 !important;
    background: #fff !important;
    border: 1px solid var(--av2-border-strong) !important;
    border-radius: 9px !important;
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-control);
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    box-shadow: none;
}

.av2-ui-tabs .nav-link:hover {
    color: var(--av2-primary) !important;
    background: #f8fbff !important;
    border-color: #b8d4ff !important;
}

.av2-ui-tabs .nav-link.active {
    color: #fff !important;
    background: var(--av2-primary) !important;
    border-color: var(--av2-primary) !important;
    box-shadow: 0 3px 9px rgba(11,92,255,.18);
}

/* Tools + sort row */
.av2-ui-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 14px;
}

.av2-ui-list-tools {
    align-items: center;
    flex-wrap: wrap;
}

.av2-ui-list-tools .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    margin-right: 9px;
    padding: 8px 13px;
    box-shadow: none;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-ui-list-tools .btn i {
    margin-right: 6px;
}

.av2-ui-list-tools .av2-ui-help-button {
    width: 38px;
    padding: 0;
}

.av2-ui-list-tools .av2-ui-help-button i {
    margin: 0;
}

.av2-ui-sort-form {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    margin: 0;
}

.av2-ui-sort-form label {
    margin: 0 8px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    font-weight: 600;
}

.av2-ui-sort-form .form-control {
    width: 180px;
    min-height: 38px;
    margin-right: 8px;
    font-size: var(--av2-font-control);
}

.av2-ui-sort-form .btn {
    min-height: 38px;
    padding: 8px 12px;
    box-shadow: none;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

/* Dynamic tab search */
.av2-ui-tab-search {
    display: flex;
    align-items: center;
    margin: 0 0 14px;
}

.av2-ui-tab-search .av2-ui-search-field {
    flex: 1 1 auto;
}

.av2-ui-tab-search > .btn {
    flex: 0 0 auto;
    min-height: 50px;
    margin-left: 10px;
}

/* Selection / result row */
.av2-ui-selection-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 38px;
    margin-bottom: 8px;
}

.av2-ui-result-count {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: 500;
}

.av2-ui-selection-bar .delete-button {
    align-items: center;
    min-height: 34px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-ui-selection-bar .delete-button i {
    margin-right: 6px;
}

/* Data card + table */
.av2-ui-data-card {
    overflow: visible;
    width: 100%;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-ui-data-card .table-responsive {
    border-radius: 12px;
}

.av2-ui-table {
    margin: 0 !important;
    color: var(--av2-text-secondary);
    font-family: "Public Sans", sans-serif;
}

.av2-ui-table thead th {
    height: 48px;
    padding: 0 14px !important;
    color: #7a8594 !important;
    background: #fff !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--av2-border) !important;
    font-size: var(--av2-font-compact);
    font-weight: 700;
    letter-spacing: .025em;
    text-transform: uppercase;
    vertical-align: middle !important;
}

.av2-ui-table tbody td {
    padding: 13px 14px !important;
    color: var(--av2-text-secondary);
    background: var(--av2-row-bg);
    border-top: 0 !important;
    border-bottom: 1px solid var(--av2-row-border) !important;
    font-size: var(--av2-font-body);
    vertical-align: middle !important;
}

.av2-ui-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.av2-ui-table tbody tr:hover td {
    background: var(--av2-hover-bg);
}

.av2-ui-table input[type="checkbox"] {
    width: 16px;
    height: 16px;
}

/* Contact identity */
.av2-ui-contact-cell {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-ui-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-right: 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid #cfddff;
    border-radius: 50%;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.av2-ui-contact-info {
    min-width: 0;
}

.av2-ui-contact-name-row {
    display: flex;
    align-items: center;
}

.av2-ui-contact-name {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 2px;
    color: var(--av2-primary) !important;
    font-size: var(--av2-font-item-title);
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-ui-contact-name:hover {
    color: var(--av2-primary-hover) !important;
}

.av2-ui-contact-meta {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.35;
}

.av2-ui-shared-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 21px;
    height: 21px;
    margin-left: 6px;
    color: #3597aa;
    background: rgba(53,151,170,.08);
    border: 1px solid rgba(53,151,170,.18);
    border-radius: 6px;
    font-size: var(--av2-font-meta);
}

.av2-ui-qualification {
    display: inline-flex;
    align-items: center;
    margin-top: 4px;
    padding: 2px 6px;
    border-radius: 5px;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-ui-qualification.is-qualified {
    color: #278148;
    background: #edf9f1;
    border: 1px solid #d1efda;
}

.av2-ui-qualification.is-unqualified {
    color: #956500;
    background: #fff6df;
    border: 1px solid #ffe4a8;
}

/* Tags */
.av2-ui-tag-stack {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.av2-ui-tag {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    margin: 2px 5px 2px 0;
    padding: 3px 7px;
    border-radius: 6px;
    font-size: var(--av2-font-meta);
    font-weight: 700;
    line-height: 1;
}

.av2-ui-tag-warning {
    color: #a86800;
    background: #fff4df;
    border: 1px solid #ffe0a2;
}

.av2-ui-tag-success {
    color: #237c45;
    background: #ebf8ef;
    border: 1px solid #d1eed9;
}

.av2-ui-tag-info,
.av2-ui-tag-blue {
    color: #0b5cff;
    background: #eef5ff;
    border: 1px solid #d5e2ff;
}

.av2-ui-tag-danger {
    color: #d13b3b;
    background: #fff0f0;
    border: 1px solid #ffd0d0;
}

.av2-ui-tag-neutral {
    color: #596579;
    background: var(--av2-neutral-bg);
    border: 1px solid #e4e8ee;
}

/* Location / preference / last contact */
.av2-ui-location,
.av2-ui-last-contact {
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-body);
    font-weight: 500;
}

.av2-ui-preference-list {
    display: flex;
    flex-direction: column;
    color: #576375;
    font-size: var(--av2-font-body);
    line-height: 1.55;
}

.av2-ui-preference-list span {
    display: inline-flex;
    align-items: center;
}

.av2-ui-preference-list i {
    width: 14px;
    margin-right: 5px;
    color: #8b95a4;
}

/* Action tiles */
.av2-ui-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: max-content;
}

.av2-ui-action-tile {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 0 0 58px;
    width: 58px;
    min-height: 54px;
    margin-left: 7px;
    color: #26354c !important;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border-strong);
    border-radius: 8px;
    font-size: var(--av2-font-control);
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: none;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.av2-ui-action-tile i {
    margin-bottom: 6px;
    font-size: 1rem;
}

.av2-ui-action-tile:hover {
    background: var(--av2-hover-bg);
    border-color: #bfd0ff;
    transform: translateY(-1px);
}

.av2-ui-action-call i {
    color: #20a45a;
}

.av2-ui-action-text i {
    color: var(--av2-primary);
}

.av2-ui-action-email i {
    color: #8545db;
}

.av2-ui-action-view {
    color: var(--av2-primary) !important;
    border-color: #b8cdfd;
}

.av2-ui-action-view i {
    color: var(--av2-primary);
}

.av2-ui-action-tile.is-disabled {
    color: #9aa4b2 !important;
    background: #fafbfc;
    border-color: #eceff3;
    cursor: default;
}

.av2-ui-action-tile.is-disabled i {
    color: #b1bac6;
}

.av2-ui-row-more {
    margin-left: 5px;
}

.av2-ui-row-more-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 54px;
    padding: 0;
    color: #7b8796;
    background: transparent;
    border: 0;
    border-radius: 7px;
    cursor: pointer;
}

.av2-ui-row-more-button:hover {
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
}

.av2-ui-row-more .dropdown-item i {
    width: 18px;
    margin-right: 7px;
}

/* Pagination */
.av2-ui-pagination-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 62px;
    padding: 10px 0 0;
}

.av2-ui-pagination-summary,
.av2-ui-pagination-total {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-ui-pagination {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin: 0;
}

.av2-ui-pagination .page-item {
    margin: 2px;
}

.av2-ui-pagination .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    color: var(--av2-text-secondary);
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 7px !important;
    font-size: var(--av2-font-control);
    box-shadow: none;
}

.av2-ui-pagination .page-item.active .page-link {
    color: #fff;
    background: var(--av2-primary);
    border-color: var(--av2-primary);
}

.av2-ui-pagination .page-item.disabled .page-link {
    color: #a7afba;
    background: var(--av2-disabled-bg);
}

.av2-ui-empty-state {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    color: var(--av2-text-soft);
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    font-size: var(--av2-font-body);
    font-weight: 600;
}

/* Responsive */
@media (max-width: 1399.98px) {
    /* Tablet landscape: preserve the useful CRM fields without horizontal clipping. */
    .av2-contacts-panel .av2-ui-table th:nth-child(4),
    .av2-contacts-panel .av2-ui-table td:nth-child(4),
    .av2-contacts-panel .av2-ui-table th:nth-child(5),
    .av2-contacts-panel .av2-ui-table td:nth-child(5) {
        display: none !important;
    }

    .av2-contacts-panel .av2-ui-table {
        table-layout: fixed;
        width: 100% !important;
    }

    .av2-contacts-panel .av2-ui-table th:nth-child(2),
    .av2-contacts-panel .av2-ui-table td:nth-child(2) {
        width: 38% !important;
    }

    .av2-contacts-panel .av2-ui-table th:nth-child(3),
    .av2-contacts-panel .av2-ui-table td:nth-child(3) {
        width: 22% !important;
    }

    .av2-contacts-panel .av2-ui-table th:nth-child(6),
    .av2-contacts-panel .av2-ui-table td:nth-child(6) {
        width: 12% !important;
        white-space: nowrap;
    }

    .av2-contacts-panel .av2-ui-table th:nth-child(7),
    .av2-contacts-panel .av2-ui-table td:nth-child(7) {
        width: 25% !important;
    }

    .av2-contacts-panel .av2-ui-row-actions {
        min-width: 0;
        gap: 5px;
    }

    .av2-contacts-panel .av2-ui-action-tile {
        flex: 0 0 40px;
        width: 40px;
        min-height: 40px;
        margin-left: 0;
    }

    .av2-contacts-panel .av2-ui-action-tile span {
        display: none;
    }

    .av2-contacts-panel .av2-ui-action-tile i {
        margin-bottom: 0;
    }

    .av2-contacts-panel .av2-ui-row-more-button {
        height: 40px;
    }
}

@media (max-width: 1199.98px) {
    .av2-ui-row-actions {
        justify-content: flex-start;
    }

    .av2-ui-action-tile {
        flex-basis: 50px;
        width: 50px;
    }

    .av2-ui-sort-form .form-control {
        width: 155px;
    }
}

@media (max-width: 991.98px) {
    .av2-ui-search-button {
        min-width: 96px;
    }

    .av2-ui-list-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-ui-sort-form {
        width: 100%;
        margin-top: 8px;
    }

    .av2-ui-sort-form .form-control {
        flex: 1 1 auto;
        width: auto;
    }
}

@media (max-width: 767.98px) {
    .av2-ui-searchbar {
        flex-wrap: wrap;
    }

    .av2-ui-search-form {
        flex: 0 0 100%;
        width: 100%;
        margin-bottom: 8px;
    }

    .av2-ui-search-button {
        flex: 1 1 0;
        min-width: 0;
        margin-left: 0;
    }

    .av2-ui-searchbar > .dropdown {
        flex: 1 1 0;
        margin-left: 8px;
    }

    .av2-ui-searchbar > .dropdown .av2-ui-search-button {
        width: 100%;
    }

    .av2-ui-filter-panel {
        display: block;
    }

    .av2-ui-filter-field {
        width: 100%;
        margin: 0 0 10px;
    }

    .av2-ui-filter-actions {
        width: 100%;
    }

    .av2-ui-filter-actions .btn {
        flex: 1 1 0;
    }

    .av2-ui-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .av2-ui-tabs::-webkit-scrollbar {
        display: none;
    }

    .av2-ui-tabs .nav-item {
        flex: 0 0 auto;
    }

    .av2-ui-list-toolbar {
        margin-bottom: 10px;
    }

    .av2-ui-sort-form label {
        display: none;
    }

    .av2-ui-tab-search {
        align-items: stretch;
    }

    .av2-ui-pagination-bar {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-ui-pagination-bar nav {
        margin: 8px 0;
    }

    .av2-ui-pagination-total {
        margin-bottom: 8px;
    }
}

/* ============================================================
AV 2.0 - KPA STRIP
Completely independent of SmartAdmin / Bootstrap grid
============================================================ */

.av2-kpa-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    margin: 5px 0 32px 0;
    padding: 0;
}

.av2-kpa-item {
    min-width: 0;
}

.av2-kpa-link {
    display: block;
    height: 100%;
    color: inherit !important;
    text-decoration: none !important;
}

.av2-kpa-card {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 112px;
    padding: 18px 16px;
    box-sizing: border-box;

    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 14px;

    box-shadow:
        0 2px 5px rgba(15, 23, 42, .03),
        0 7px 18px rgba(15, 23, 42, .07);

    transition:
        transform .15s ease,
        box-shadow .15s ease;
}

.av2-kpa-link:hover .av2-kpa-card {
    transform: translateY(-2px);

    box-shadow:
        0 4px 8px rgba(15, 23, 42, .04),
        0 10px 24px rgba(15, 23, 42, .10);
}


/* ============================================================
ICON
============================================================ */

.av2-kpa-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 48px;

    width: 48px;
    height: 48px;

    margin-right: 14px;

    border-radius: 50%;

    color: #ffffff;
    font-size: 1.15rem;
}

.av2-kpa-icon i {
    margin: 0;
    color: #ffffff;
}


/* ============================================================
CONTENT
============================================================ */

.av2-kpa-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    flex: 1;
    min-width: 0;
}


/* ============================================================
TITLE
============================================================ */

.av2-kpa-title {
    margin: 0 0 5px 0;

    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-kpa-title);
    font-weight: 700;
    line-height: 1.15;

    white-space: nowrap;
}


/* ============================================================
VALUE
============================================================ */

.av2-kpa-value {
    margin: 0 0 6px 0;

    color: var(--av2-text-strong);

    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-kpa-value);
    font-weight: 700;
    line-height: 1;

    letter-spacing: -.03em;

    white-space: nowrap;
}


/* ============================================================
DETAIL
============================================================ */

.av2-kpa-detail {
    margin: 0;

    color: var(--av2-text-muted);

    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-kpa-detail);
    font-weight: 500;
    line-height: 1.2;

    white-space: nowrap;
}


/* ============================================================
COLORS
============================================================ */

.av2-kpa-blue {
    background: #2457e6;
}

.av2-kpa-green {
    background: #3ca45c;
}

.av2-kpa-purple {
    background: #8545db;
}

.av2-kpa-orange {
    background: #f47b20;
}

.av2-kpa-teal {
    background: #3fa4b5;
}

.av2-kpa-title-blue {
    color: #2457e6;
}

.av2-kpa-title-green {
    color: #32934f;
}

.av2-kpa-title-purple {
    color: #8545db;
}

.av2-kpa-title-orange {
    color: #f47b20;
}

.av2-kpa-title-teal {
    color: #3597aa;
}

.av2-kpa-success {
    color: #2ca65a;
}


/* ============================================================
RESPONSIVE GRID
Controlled by JavaScript using ACTUAL KPA strip width
============================================================ */

/* Default desktop - 6 across */
.av2-kpa-strip {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}


/* Tablet / iPad Pro - 3 + 3 */
.av2-kpa-strip.av2-kpa-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}


/* Smaller tablet - 2 across */
.av2-kpa-strip.av2-kpa-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}


/* Phone - 1 across */
.av2-kpa-strip.av2-kpa-grid-1 {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-bottom: 24px !important;
}
                      
/* ============================================================
   AV 2.0 - 4 CARD KPA STRIP
   Reuses existing global KPA component
   ============================================================ */

.av2-kpa-strip.av2-kpa-strip-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.av2-kpa-strip.av2-kpa-strip-4.av2-kpa-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.av2-kpa-strip.av2-kpa-strip-4.av2-kpa-grid-1 {
    grid-template-columns: 1fr !important;
}

/* ============================================================
   AV 2.0 - THEME-AWARE COMPONENT SAFETY
   Lossless visual overrides only. No sizing, layout, behavior,
   sidebar, navigation, or component logic is changed.
   ============================================================ */

.mod-skin-dark .page-content-wrapper,
.mod-skin-dark .page-wrapper,
.mod-skin-dark .page-content {
  background-color: var(--av2-page-bg) !important;
  color: var(--av2-text);
}

.mod-skin-dark .page-header {
  background: var(--av2-surface) !important;
  border-bottom-color: var(--av2-border) !important;
}

.mod-skin-dark .subheader-title,
.mod-skin-dark .av2-page-title,
.mod-skin-dark .av-header-greeting-title {
  color: var(--av2-text-strong) !important;
}

.mod-skin-dark .av-header-greeting-subtitle,
.mod-skin-dark .av2-breadcrumb,
.mod-skin-dark .av2-breadcrumb .breadcrumb-item,
.mod-skin-dark .av2-breadcrumb .breadcrumb-item.active {
  color: var(--av2-text-muted) !important;
}

/* Panels/cards created by AV2 */
.mod-skin-dark .panel:not(.panel-fullscreen),
.mod-skin-dark .panel:not(.panel-fullscreen) > .panel-hdr,
.mod-skin-dark .card,
.mod-skin-dark .av-stat-card,
.mod-skin-dark .av2-kpa-card {
  background: var(--av2-surface) !important;
  border-color: var(--av2-border) !important;
  color: var(--av2-text);
}

.mod-skin-dark .panel:not(.panel-fullscreen) > .panel-container,
.mod-skin-dark .panel:not(.panel-fullscreen) .panel-content {
  background-color: var(--av2-surface);
  color: var(--av2-text);
}

.mod-skin-dark .av2-kpa-value,
.mod-skin-dark .av-stat-value,
.mod-skin-dark .av-stat-title,
.mod-skin-dark .av-panel-title {
  color: var(--av2-text-strong) !important;
}

.mod-skin-dark .av2-kpa-detail,
.mod-skin-dark .av-stat-detail,
.mod-skin-dark .av-panel-subtitle {
  color: var(--av2-text-muted) !important;
}

/* AV2 Transactions / Reminders / Tasks */
.mod-skin-dark #panel-2.av2-transactions-panel .av2-transaction-row,
.mod-skin-dark #av2-reminders-panel .av2-reminder-row,
.mod-skin-dark #av2-tasks-panel .av2-task-row {
  background: var(--av2-row-bg) !important;
  border-bottom-color: var(--av2-row-border) !important;
}

.mod-skin-dark #panel-2.av2-transactions-panel .av2-transaction-row:hover,
.mod-skin-dark #av2-reminders-panel .av2-reminder-row:hover,
.mod-skin-dark #av2-tasks-panel .av2-task-row:hover {
  background: var(--av2-hover-bg) !important;
}

.mod-skin-dark #panel-2.av2-transactions-panel .av2-transactions-title,
.mod-skin-dark #panel-2.av2-transactions-panel .av2-transaction-name,
.mod-skin-dark #av2-reminders-panel .av2-reminders-title,
.mod-skin-dark #av2-reminders-panel .av2-reminder-subject,
.mod-skin-dark #av2-tasks-panel .av2-tasks-title,
.mod-skin-dark #av2-tasks-panel .av2-task-subject {
  color: var(--av2-text-strong) !important;
}

.mod-skin-dark #panel-2.av2-transactions-panel .av2-transaction-detail,
.mod-skin-dark #panel-2.av2-transactions-panel .av2-transactions-empty-text,
.mod-skin-dark #av2-reminders-panel .av2-reminder-meta,
.mod-skin-dark #av2-reminders-panel .av2-reminders-empty-text,
.mod-skin-dark #av2-tasks-panel .av2-task-meta,
.mod-skin-dark #av2-tasks-panel .av2-tasks-empty-text {
  color: var(--av2-text-muted) !important;
}

/* AV2 Contacts */
.mod-skin-dark .av2-ui-search-field,
.mod-skin-dark .av2-ui-search-button,
.mod-skin-dark .av2-ui-filter-panel,
.mod-skin-dark .av2-ui-data-card,
.mod-skin-dark .av2-ui-empty-state,
.mod-skin-dark .av2-ui-action-tile,
.mod-skin-dark .av2-ui-pagination .page-link,
.mod-skin-dark .av2-ui-tabs .nav-link {
  background: var(--av2-surface) !important;
  border-color: var(--av2-border-strong) !important;
  color: var(--av2-text-secondary) !important;
}

.mod-skin-dark .av2-ui-search-field input,
.mod-skin-dark .av2-ui-filter-field .form-control,
.mod-skin-dark .av2-ui-sort-form .form-control,
.mod-skin-dark .form-control,
.mod-skin-dark .custom-select {
  color: var(--av2-text) !important;
  background-color: var(--av2-input-bg) !important;
  border-color: var(--av2-border-strong) !important;
}

.mod-skin-dark .av2-ui-search-field input::placeholder,
.mod-skin-dark .form-control::placeholder {
  color: var(--av2-text-soft) !important;
}

.mod-skin-dark .av2-ui-tabs .nav-link:hover {
  color: var(--av2-primary) !important;
  background: var(--av2-hover-bg) !important;
}

.mod-skin-dark .av2-ui-tabs .nav-link.active {
  color: #fff !important;
  background: var(--av2-primary) !important;
  border-color: var(--av2-primary) !important;
}

.mod-skin-dark .av2-ui-table {
  color: var(--av2-text-secondary) !important;
}

.mod-skin-dark .av2-ui-table thead th {
  color: var(--av2-text-soft) !important;
  background: var(--av2-surface) !important;
  border-bottom-color: var(--av2-border) !important;
}

.mod-skin-dark .av2-ui-table tbody td {
  color: var(--av2-text-secondary) !important;
  background: var(--av2-row-bg) !important;
  border-bottom-color: var(--av2-row-border) !important;
}

.mod-skin-dark .av2-ui-table tbody tr:hover td {
  background: var(--av2-hover-bg) !important;
}

.mod-skin-dark .av2-ui-contact-meta,
.mod-skin-dark .av2-ui-location,
.mod-skin-dark .av2-ui-last-contact,
.mod-skin-dark .av2-ui-preference-list,
.mod-skin-dark .av2-ui-result-count,
.mod-skin-dark .av2-ui-pagination-summary,
.mod-skin-dark .av2-ui-pagination-total,
.mod-skin-dark .av2-ui-sort-form label,
.mod-skin-dark .av2-ui-filter-field label {
  color: var(--av2-text-muted) !important;
}

.mod-skin-dark .av2-ui-action-tile:hover,
.mod-skin-dark .av2-ui-row-more-button:hover {
  background: var(--av2-hover-bg) !important;
}

.mod-skin-dark .av2-ui-action-tile.is-disabled,
.mod-skin-dark .av2-ui-pagination .page-item.disabled .page-link {
  background: var(--av2-disabled-bg) !important;
  border-color: var(--av2-border) !important;
}

/* Touchbase component CSS currently lives with the component.
   These dark-skin overrides deliberately use !important so
   Theme 16 remains the final skin authority without changing
   the working Touchbase PHP/component layout. */
.mod-skin-dark #touchbase-priority-panel,
.mod-skin-dark #touchbase-priority-panel > .panel-hdr,
.mod-skin-dark #touchbase-priority-panel .av-touchbase-panel-content,
.mod-skin-dark #touchbase-priority-panel .av-touchbase-card,
.mod-skin-dark #touchbase-daily-panel,
.mod-skin-dark #touchbase-daily-panel > .panel-hdr,
.mod-skin-dark #touchbase-daily-panel .panel-content {
  background: var(--av2-surface) !important;
  border-color: var(--av2-border) !important;
  color: var(--av2-text) !important;
}

.mod-skin-dark #touchbase-priority-panel .av-touchbase-card {
  box-shadow: var(--av2-shadow-xs) !important;
}

.mod-skin-dark #touchbase-priority-panel .av-touchbase-card-name,
.mod-skin-dark #touchbase-daily-panel .av-touchbase-daily-name {
  color: var(--av2-text-strong) !important;
}

.mod-skin-dark #touchbase-priority-panel .av-touchbase-card-message,
.mod-skin-dark #touchbase-priority-panel .av-touchbase-reason,
.mod-skin-dark #touchbase-priority-panel .av-touchbase-property,
.mod-skin-dark #touchbase-daily-panel .av-touchbase-daily-message,
.mod-skin-dark #touchbase-daily-panel .av-touchbase-daily-last-touch {
  color: var(--av2-text-muted) !important;
}

/* Common overlays */
.mod-skin-dark .dropdown-menu,
.mod-skin-dark .popover,
.mod-skin-dark .modal-content {
  background-color: var(--av2-surface) !important;
  border-color: var(--av2-border) !important;
  color: var(--av2-text);
}

.mod-skin-dark .dropdown-item {
  color: var(--av2-text);
}

.mod-skin-dark .dropdown-item:hover,
.mod-skin-dark .dropdown-item:focus {
  color: var(--av2-text-strong);
  background-color: var(--av2-hover-bg);
}

.mod-skin-dark .dropdown-item.active,
.mod-skin-dark .dropdown-item:active {
  color: #fff;
  background-color: var(--av2-primary);
}

.mod-skin-dark .modal-header,
.mod-skin-dark .modal-footer {
  border-color: var(--av2-border);
}

.mod-skin-dark .table {
  color: var(--av2-text);
}

.mod-skin-dark .table td,
.mod-skin-dark .table th {
  border-color: var(--av2-border);
}

/* ============================================================
   AV 2.0 - GLOBAL MODAL COMPONENT
   Theme 16 aware / opt-in
   ============================================================ */

.av2-modal .modal-dialog {
    max-width: 1080px;
}

.av2-modal .modal-content {
    overflow: hidden;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 16px;
    box-shadow: var(--av2-shadow-lg);
}


/* ============================================================
   HEADER
   ============================================================ */

.av2-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 92px;
    padding: 20px 28px;

    color: #ffffff;
    background: linear-gradient(
        110deg,
        var(--av2-navy, #061a3b) 0%,
        var(--av2-primary, #0b5cff) 100%
    );

    border-bottom: 0;
}

.av2-modal-header-main {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-modal-header-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-right: 14px;

    color: #ffffff;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;

    font-size: 1.2rem;
}

.av2-modal-title {
    margin: 0;
    color: #ffffff;
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-modal-title);
    font-weight: 700;
    line-height: 1.2;
}

.av2-modal-subtitle {
    margin-top: 4px;
    color: rgba(255,255,255,.78);
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-body);
    font-weight: 400;
}

.av2-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 9px;

    font-size: 1.5rem;
    line-height: 1;
    opacity: 1 !important;
    text-shadow: none !important;
}

.av2-modal-close:hover {
    background: rgba(255,255,255,.16) !important;
}


/* ============================================================
   BODY
   ============================================================ */

.av2-modal-body {
    padding: 30px;
    background: var(--av2-surface, #ffffff);
}


/* ============================================================
   SECTION CARD
   ============================================================ */

.av2-modal-section {
    height: 100%;
    padding: 22px;

    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;

    box-shadow: var(--av2-shadow-sm);
}

.av2-modal-section-heading {
    display: flex;
    align-items: flex-start;
}

.av2-modal-section-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 12px;

    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;

    font-size: 1rem;
}

.av2-modal-section-title {
    margin: 2px 0 4px;

    color: var(--av2-text, #212529);

    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-section-title);
    font-weight: 700;
    line-height: 1.25;
}

.av2-modal-section-subtitle {
    color: var(--av2-text-muted, #6c757d);

    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-body);
    line-height: 1.45;
}

.av2-modal-divider {
    height: 1px;
    margin: 20px 0;

    background: var(--av2-border, #e7ecf2);
}


/* ============================================================
   FORM
   ============================================================ */

.av2-modal-form-group label {
    margin-bottom: 7px;

    color: var(--av2-text, #212529);

    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-compact);
    font-weight: 700;
}

.av2-modal-input {
    min-height: 46px;
    padding: 10px 13px;

    color: var(--av2-text, #212529);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));

    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 9px;

    font-size: var(--av2-font-control);
}

.av2-modal-field-help {
    display: block;
    margin-top: 7px;

    color: var(--av2-text-muted, #6c757d);

    font-size: var(--av2-font-meta);
}

.av2-modal-primary-action {
    min-height: 44px;
    margin-top: 18px;

    font-size: .78rem;
    font-weight: 700;
}

.av2-modal-primary-action i {
    margin-right: 6px;
}


/* ============================================================
   SAVED CONTACT TYPE LIST
   ============================================================ */

.av2-modal-section-list {
    padding-bottom: 16px;
}

.av2-modal-list-wrap {
    margin-top: 20px;
    overflow: hidden;

    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}


/* Existing table generated by load_contact_types.php */

.av2-modal-list-wrap table {
    width: 100%;
    margin: 0 !important;

    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
}

.av2-modal-list-wrap table thead th {
    padding: 12px 14px !important;

    color: var(--av2-text-muted, #6c757d) !important;
    background: var(--av2-surface-soft, #f8fafc) !important;

    border-top: 0 !important;
    border-bottom: 1px solid var(--av2-border, #e7ecf2) !important;

    font-size: var(--av2-font-compact);
    font-weight: 700;
    text-transform: uppercase;
}

.av2-modal-list-wrap table tbody td {
    padding: 11px 14px !important;

    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);

    border-top: 0 !important;
    border-bottom: 1px solid var(--av2-border, #e7ecf2) !important;

    font-size: var(--av2-font-body);
    vertical-align: middle;
}

.av2-modal-list-wrap table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.av2-modal-list-wrap table tbody tr:hover td {
    background: var(--av2-hover-bg, var(--av2-surface-soft, #f8fafc));
}


/* Delete buttons already generated by the existing list */

.av2-modal-list-wrap .btn-outline-danger,
.av2-modal-list-wrap .btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 34px;
    height: 34px;
    padding: 0;

    border-radius: 8px;

    box-shadow: none;
}


/* ============================================================
   FOOTER
   ============================================================ */

.av2-modal-footer {
    padding: 16px 28px;

    background: var(--av2-surface, #ffffff);
    border-top: 1px solid var(--av2-border, #e7ecf2);
}

.av2-modal-footer .btn {
    min-width: 100px;
    min-height: 40px;

    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-modal-footer .btn + .btn {
    margin-left: 8px;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {
    .av2-modal .modal-dialog {
        max-width: calc(100% - 30px);
        margin: 15px auto;
    }

    .av2-modal-section {
        margin-bottom: 18px;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {
    .av2-modal .modal-dialog {
        max-width: calc(100% - 20px);
        margin: 10px auto;
    }

    .av2-modal-header {
        min-height: 78px;
        padding: 16px;
    }

    .av2-modal-header-icon {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
    }

    .av2-modal-title {
        font-size: var(--av2-font-modal-title);
    }

    .av2-modal-subtitle {
        display: none;
    }

    .av2-modal-body {
        padding: 16px;
    }

    .av2-modal-section {
        padding: 16px;
    }

    .av2-modal-footer {
        padding: 12px 16px;
    }

    .av2-modal-footer .btn {
        flex: 1 1 0;
    }
}

/* ============================================================
   AV 2.0 - MODAL INFORMATION LIST
   Theme-aware reusable component
   ============================================================ */

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

.av2-print-labels-info-item {
    display: flex;
    align-items: flex-start;
    min-width: 0;
    padding: 14px;

    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}

.av2-print-labels-info-item > i {
    flex: 0 0 30px;
    width: 30px;
    margin-right: 10px;

    color: var(--av2-primary, #0b5cff);

    font-size: 1rem;
    line-height: 1.35;
}

.av2-print-labels-info-item > div {
    min-width: 0;
}

.av2-print-labels-info-item strong {
    display: block;
    margin-bottom: 4px;

    color: var(--av2-text, #212529);

    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-print-labels-info-item span {
    display: block;

    color: var(--av2-text-muted, #6c757d);

    font-size: var(--av2-font-body);
    line-height: 1.45;
}

@media (max-width: 767.98px) {
    .av2-print-labels-info {
        grid-template-columns: 1fr;
    }
}

/* ========================================================================
   END 03. GLOBAL COMPONENTS
   ======================================================================== */


/* ========================================================================
   10. CONTROL CENTER
   ======================================================================== */


/* ========================================================================
   10.01 DASHBOARD PANELS
   ======================================================================== */

#panel-2.av2-transactions-panel .av2-transactions-title,
#av2-reminders-panel .av2-reminders-title,
#av2-tasks-panel .av2-tasks-title {
    font-size: .95rem !important;
}

#panel-2.av2-transactions-panel .av2-transaction-name {
    font-size: .95rem !important;
}

#av2-reminders-panel .av2-reminder-subject,
#av2-tasks-panel .av2-task-subject {
    font-size: .82rem !important;
}

#panel-2.av2-transactions-panel .av2-transaction-detail,
#av2-reminders-panel .av2-reminders-empty-text,
#av2-tasks-panel .av2-tasks-empty-text {
    font-size: var(--av2-font-compact) !important;
}

#panel-2.av2-transactions-panel {
    overflow: hidden;
}


/* Header */

#panel-2.av2-transactions-panel .av2-transactions-header {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 64px;
    padding: 0 20px;
}

#panel-2.av2-transactions-panel .av2-transactions-header-main {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
}

#panel-2.av2-transactions-panel .av2-transactions-header-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 36px;

    width: 36px;
    height: 36px;

    margin-right: 12px;

    color: #8545db;
    background: rgba(133, 69, 219, 0.09);
    border: 1px solid rgba(133, 69, 219, 0.15);

    border-radius: 10px;

    font-size: 1rem;
}

#panel-2.av2-transactions-panel .av2-transactions-title {
    margin: 0;

    color: var(--av2-text-strong);

    font-family: "Public Sans", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}

#panel-2.av2-transactions-panel .av2-transactions-count {
    margin-left: 8px;
    padding: 4px 8px;

    color: #8545db;
    background: rgba(133, 69, 219, 0.10);

    border-radius: 999px;

    font-size: var(--av2-font-meta);
    font-weight: 700;
}

#panel-2.av2-transactions-panel .av2-transactions-view-all {
    display: inline-flex;
    align-items: center;

    margin-left: auto;

    color: #0b5cff !important;

    font-size: 0.8rem;
    font-weight: 700;

    text-decoration: none !important;
    white-space: nowrap;
}

#panel-2.av2-transactions-panel .av2-transactions-view-all i {
    margin-left: 7px;
}

#panel-2.av2-transactions-panel .av2-transactions-view-all:hover {
    color: #084fe0 !important;
}


/* Content */

#panel-2.av2-transactions-panel .panel-content {
    padding: 0 !important;
}

#panel-2.av2-transactions-panel .av2-transactions-list {
    width: 100%;
    max-height: 430px;

    overflow-y: auto;
    overflow-x: hidden;

    scrollbar-width: thin;
    scrollbar-color: rgba(100, 116, 139, 0.30) transparent;
}

#panel-2.av2-transactions-panel .av2-transactions-list::-webkit-scrollbar {
    width: 5px;
}

#panel-2.av2-transactions-panel .av2-transactions-list::-webkit-scrollbar-track {
    background: transparent;
}

#panel-2.av2-transactions-panel .av2-transactions-list::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.30);
    border-radius: 999px;
}


/* Transaction Row */

#panel-2.av2-transactions-panel .av2-transaction-row {
    display: block;

    padding: 18px 20px;

    color: inherit !important;
    background: var(--av2-surface);

    border-bottom: 1px solid var(--av2-row-border);

    text-decoration: none !important;

    transition:
        background 0.15s ease,
        transform 0.15s ease;
}

#panel-2.av2-transactions-panel .av2-transaction-row:last-child {
    border-bottom: 0;
}

#panel-2.av2-transactions-panel .av2-transaction-row:hover {
    background: var(--av2-hover-bg);
}


/* Transaction Name / Badge */

#panel-2.av2-transactions-panel .av2-transaction-main {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    margin-bottom: 7px;
}

#panel-2.av2-transactions-panel .av2-transaction-name {
    margin-right: 12px;

    color: var(--av2-text-strong);

    font-family: "Public Sans", sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.3;
}

#panel-2.av2-transactions-panel .av2-transaction-status {
    display: inline-flex;
    align-items: center;

    padding: 4px 9px;

    color: #8545db;
    background: rgba(133, 69, 219, 0.08);
    border: 1px solid rgba(133, 69, 219, 0.14);

    border-radius: 7px;

    font-size: var(--av2-font-meta);
    font-weight: 700;
}


/* Detail */

#panel-2.av2-transactions-panel .av2-transaction-detail {
    color: var(--av2-text-muted);

    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-meta);
    font-weight: 500;
    line-height: 1.35;
}


/* Empty State */

#panel-2.av2-transactions-panel .av2-transactions-empty {
    display: flex;
    align-items: center;

    min-height: 100px;

    padding: 20px;
}

#panel-2.av2-transactions-panel .av2-transactions-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 40px;

    width: 40px;
    height: 40px;

    margin-right: 12px;

    color: #8545db;
    background: rgba(133, 69, 219, 0.08);
    border: 1px solid rgba(133, 69, 219, 0.14);

    border-radius: 10px;
}

#panel-2.av2-transactions-panel .av2-transactions-empty-text {
    color: var(--av2-text-muted);

    font-size: var(--av2-font-body);
    font-weight: 600;
}


/* Mobile */

@media (max-width: 767.98px) {

    #panel-2.av2-transactions-panel .av2-transactions-header {
        padding: 0 14px;
    }

    #panel-2.av2-transactions-panel .av2-transaction-row {
        padding: 16px 14px;
    }

    #panel-2.av2-transactions-panel .av2-transactions-view-all span {
        display: none;
    }

}


/* ============================================================
   AV 2.0 - REMINDERS PANEL
   AV 1.0 / SMARTADMIN COMPATIBLE
   ============================================================ */

#av2-reminders-panel {
    overflow: hidden;
}


/* ============================================================
   HEADER
   ============================================================ */

#av2-reminders-panel .av2-reminders-header {
    display: flex;
    align-items: center;

    width: 100%;
    min-height: 58px;

    padding: 0 18px;
}

#av2-reminders-panel .av2-reminders-header-main {
    display: flex;
    align-items: center;

    flex: 1 1 auto;
    min-width: 0;
}

#av2-reminders-panel .av2-reminders-header-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 34px;

    width: 34px;
    height: 34px;

    margin-right: 10px;

    color: #8545db;

    background: rgba(133, 69, 219, 0.09);
    border: 1px solid rgba(133, 69, 219, 0.15);

    border-radius: 10px;

    font-size: 0.95rem;
}

#av2-reminders-panel .av2-reminders-title {
    margin: 0;

    color: var(--av2-text-strong);

    font-family: "Public Sans", sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.2;
}

#av2-reminders-panel .av2-reminders-count {
    margin-left: 7px;

    padding: 3px 7px;

    color: #8545db;
    background: rgba(133, 69, 219, 0.10);

    border-radius: 999px;

    font-size: var(--av2-font-meta);
    font-weight: 700;
}


/* ============================================================
   CONTENT
   ============================================================ */

#av2-reminders-panel .panel-content {
    padding: 0 !important;
}

#av2-reminders-panel .av2-reminders-list {
    width: 100%;

    max-height: 320px;

    overflow-y: auto;
    overflow-x: hidden;

    scrollbar-width: thin;
    scrollbar-color: rgba(100, 116, 139, 0.30) transparent;
}

#av2-reminders-panel .av2-reminders-list::-webkit-scrollbar {
    width: 5px;
}

#av2-reminders-panel .av2-reminders-list::-webkit-scrollbar-track {
    background: transparent;
}

#av2-reminders-panel .av2-reminders-list::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.30);
    border-radius: 999px;
}


/* ============================================================
   REMINDER ROW
   ============================================================ */

#av2-reminders-panel .av2-reminder-row {
    display: block;

    padding: 15px 18px;

    color: inherit !important;
    background: var(--av2-surface);

    border-bottom: 1px solid var(--av2-row-border);

    text-decoration: none !important;

    transition:
        background 0.15s ease,
        border-color 0.15s ease;
}

#av2-reminders-panel .av2-reminder-row:last-child {
    border-bottom: 0;
}

#av2-reminders-panel .av2-reminder-row:hover {
    background: var(--av2-hover-bg);
}


/* ============================================================
   REMINDER MAIN ROW
   ============================================================ */

#av2-reminders-panel .av2-reminder-main {
    display: flex;
    align-items: flex-start;
}

#av2-reminders-panel .av2-reminder-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 34px;

    width: 34px;
    height: 34px;

    margin-right: 11px;

    color: #f5a000;
    background: rgba(245, 160, 0, 0.10);
    border: 1px solid rgba(245, 160, 0, 0.18);

    border-radius: 9px;

    font-size: 0.9rem;
}

#av2-reminders-panel .av2-reminder-content {
    flex: 1 1 auto;
    min-width: 0;
}

#av2-reminders-panel .av2-reminder-subject {
    display: block;

    margin-bottom: 5px;

    color: var(--av2-text-strong);

    font-family: "Public Sans", sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.3;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ============================================================
   DATE / TIME
   ============================================================ */

#av2-reminders-panel .av2-reminder-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    color: var(--av2-text-muted);

    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-meta);
    font-weight: 500;
}

#av2-reminders-panel .av2-reminder-meta-item {
    display: inline-flex;
    align-items: center;
}

#av2-reminders-panel .av2-reminder-meta-item + .av2-reminder-meta-item {
    margin-left: 12px;
}

#av2-reminders-panel .av2-reminder-meta-item i {
    margin-right: 5px;

    color: #9aa4b2;
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

#av2-reminders-panel .av2-reminders-empty {
    display: flex;
    align-items: center;

    min-height: 92px;

    padding: 16px 18px;
}

#av2-reminders-panel .av2-reminders-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 38px;

    width: 38px;
    height: 38px;

    margin-right: 11px;

    color: #f5a000;

    background: rgba(245, 160, 0, 0.09);
    border: 1px solid rgba(245, 160, 0, 0.17);

    border-radius: 10px;
}

#av2-reminders-panel .av2-reminders-empty-text {
    color: var(--av2-text-muted);

    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-body);
    font-weight: 600;
    line-height: 1.4;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    #av2-reminders-panel .av2-reminders-header {
        padding: 0 14px;
    }

    #av2-reminders-panel .av2-reminder-row {
        padding: 14px;
    }

    #av2-reminders-panel .av2-reminder-meta {
        display: block;
    }

    #av2-reminders-panel .av2-reminder-meta-item {
        display: flex;
    }

    #av2-reminders-panel .av2-reminder-meta-item + .av2-reminder-meta-item {
        margin-top: 4px;
        margin-left: 0;
    }

}

/* ============================================================
   AV 2.0 - TASKS PANEL
   AV 1.0 / SMARTADMIN COMPATIBLE
   ============================================================ */

#av2-tasks-panel {
    overflow: hidden;
}


/* ============================================================
   HEADER
   ============================================================ */

#av2-tasks-panel .av2-tasks-header {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 58px;
    padding: 0 18px;
}

#av2-tasks-panel .av2-tasks-header-main {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
}

#av2-tasks-panel .av2-tasks-header-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-right: 10px;

    color: #8545db;
    background: rgba(133, 69, 219, 0.09);
    border: 1px solid rgba(133, 69, 219, 0.15);

    border-radius: 10px;
    font-size: 0.95rem;
}

#av2-tasks-panel .av2-tasks-title {
    margin: 0;
    color: var(--av2-text-strong);
    font-family: "Public Sans", sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.2;
}

#av2-tasks-panel .av2-tasks-count {
    margin-left: 7px;
    padding: 3px 7px;

    color: #8545db;
    background: rgba(133, 69, 219, 0.10);

    border-radius: 999px;

    font-size: var(--av2-font-meta);
    font-weight: 700;
}


/* ============================================================
   CONTENT
   ============================================================ */

#av2-tasks-panel .panel-content {
    padding: 0 !important;
}

#av2-tasks-panel .av2-tasks-list {
    width: 100%;
    max-height: 320px;

    overflow-y: auto;
    overflow-x: hidden;

    scrollbar-width: thin;
    scrollbar-color: rgba(100, 116, 139, 0.30) transparent;
}

#av2-tasks-panel .av2-tasks-list::-webkit-scrollbar {
    width: 5px;
}

#av2-tasks-panel .av2-tasks-list::-webkit-scrollbar-track {
    background: transparent;
}

#av2-tasks-panel .av2-tasks-list::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.30);
    border-radius: 999px;
}


/* ============================================================
   TASK ROW
   ============================================================ */

#av2-tasks-panel .av2-task-row {
    display: block;
    padding: 15px 18px;

    color: inherit !important;
    background: var(--av2-surface);

    border-bottom: 1px solid var(--av2-row-border);

    text-decoration: none !important;

    transition:
        background 0.15s ease,
        border-color 0.15s ease;
}

#av2-tasks-panel .av2-task-row:last-child {
    border-bottom: 0;
}

#av2-tasks-panel .av2-task-row:hover {
    background: var(--av2-hover-bg);
}


/* ============================================================
   TASK MAIN
   ============================================================ */

#av2-tasks-panel .av2-task-main {
    display: flex;
    align-items: flex-start;
}

#av2-tasks-panel .av2-task-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-right: 11px;

    color: #8545db;
    background: rgba(133, 69, 219, 0.09);
    border: 1px solid rgba(133, 69, 219, 0.15);

    border-radius: 9px;
    font-size: 0.9rem;
}

#av2-tasks-panel .av2-task-content {
    flex: 1 1 auto;
    min-width: 0;
}

#av2-tasks-panel .av2-task-subject {
    display: block;
    margin-bottom: 6px;

    color: var(--av2-text-strong);

    font-family: "Public Sans", sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.3;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ============================================================
   PRIORITY
   ============================================================ */

#av2-tasks-panel .av2-task-priority {
    display: inline-flex;
    align-items: center;

    margin-bottom: 7px;
    padding: 3px 7px;

    color: #8545db;
    background: rgba(133, 69, 219, 0.08);
    border: 1px solid rgba(133, 69, 219, 0.14);

    border-radius: 6px;

    font-size: var(--av2-font-meta);
    font-weight: 700;
}


/* ============================================================
   DATE / TIME
   ============================================================ */

#av2-tasks-panel .av2-task-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    color: var(--av2-text-muted);

    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-meta);
    font-weight: 500;
}

#av2-tasks-panel .av2-task-meta-item {
    display: inline-flex;
    align-items: center;
}

#av2-tasks-panel .av2-task-meta-item + .av2-task-meta-item {
    margin-left: 12px;
}

#av2-tasks-panel .av2-task-meta-item i {
    margin-right: 5px;
    color: #9aa4b2;
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

#av2-tasks-panel .av2-tasks-empty {
    display: flex;
    align-items: center;

    min-height: 92px;

    padding: 16px 18px;
}

#av2-tasks-panel .av2-tasks-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;

    width: 38px;
    height: 38px;

    margin-right: 11px;

    color: #f5a000;
    background: rgba(245, 160, 0, 0.09);
    border: 1px solid rgba(245, 160, 0, 0.17);

    border-radius: 10px;
}

#av2-tasks-panel .av2-tasks-empty-text {
    color: var(--av2-text-muted);

    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-body);
    font-weight: 600;
    line-height: 1.4;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    #av2-tasks-panel .av2-tasks-header {
        padding: 0 14px;
    }

    #av2-tasks-panel .av2-task-row {
        padding: 14px;
    }

    #av2-tasks-panel .av2-task-meta {
        display: block;
    }

    #av2-tasks-panel .av2-task-meta-item {
        display: flex;
    }

    #av2-tasks-panel .av2-task-meta-item + .av2-task-meta-item {
        margin-top: 4px;
        margin-left: 0;
    }

}


/* ========================================================================
   END 10.01 DASHBOARD PANELS
   ======================================================================== */


/* ========================================================================
   END 10. CONTROL CENTER
   ======================================================================== */


/* ========================================================================
   20. CONTACTS & CRM
   ======================================================================== */


/* ========================================================================
   20.01 IMPORT CONTACTS
   ======================================================================== */

.av2-modal .av2-import-modal-dialog {
    max-width: 1280px;
}

.av2-import-modal-body {
    max-height: calc(100vh - 245px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

/* ============================================================
   STEP INDICATOR
   ============================================================ */

.av2-import-steps {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 18px 30px;
    background: var(--av2-surface, #ffffff);
    border-bottom: 1px solid var(--av2-border, #e7ecf2);
}

.av2-import-step {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    min-width: 170px;
    color: var(--av2-text-muted, #6c757d);
}

.av2-import-step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-right: 10px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 50%;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-import-step-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.av2-import-step-copy strong {
    margin-bottom: 2px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-import-step-copy span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    white-space: nowrap;
}

.av2-import-step-line {
    flex: 1 1 auto;
    height: 1px;
    margin: 0 18px;
    background: var(--av2-border-strong, #dce3eb);
}

.av2-import-step.is-active .av2-import-step-number {
    color: #ffffff;
    background: var(--av2-primary, #0b5cff);
    border-color: var(--av2-primary, #0b5cff);
    box-shadow: 0 3px 8px rgba(11, 92, 255, .16);
}

.av2-import-step.is-active .av2-import-step-copy strong {
    color: var(--av2-primary, #0b5cff);
}

.av2-import-step.is-complete .av2-import-step-number {
    color: #ffffff;
    background: #2fa65a;
    border-color: #2fa65a;
}

.av2-import-step.is-complete .av2-import-step-number::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
}

.av2-import-step.is-complete .av2-import-step-number {
    font-size: 0;
}

.av2-import-step.is-complete .av2-import-step-number::before {
    font-size: .78rem;
}

/* ============================================================
   UPLOAD AREA
   ============================================================ */

.av2-import-upload-section,
.av2-import-mapping-section-card {
    height: 100%;
}

.av2-import-upload-box {
    padding: 24px 18px;
    text-align: center;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px dashed var(--av2-border-strong, #dce3eb);
    border-radius: 12px;
}

.av2-import-upload-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin: 0 auto 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 50%;
    font-size: 1.55rem;
}

.av2-import-upload-title {
    margin-bottom: 4px;
    color: var(--av2-text, #212529);
    font-size: .84rem;
    font-weight: 700;
}

.av2-import-upload-subtitle {
    margin-bottom: 16px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}

.av2-import-file-control {
    max-width: 320px;
    margin: 0 auto;
}

.av2-import-file-control .custom-file-label {
    overflow: hidden;
    height: 42px;
    padding: 10px 92px 10px 12px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border-color: var(--av2-border-strong, #dce3eb);
    border-radius: 9px;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-import-file-control .custom-file-label::after {
    height: 40px;
    padding: 10px 12px;
    color: #ffffff;
    background: var(--av2-primary, #0b5cff);
    border-left: 0;
    border-radius: 0 8px 8px 0;
    content: "Browse";
}

.av2-import-file-error {
    margin: 10px 0 0;
    color: #d13b3b;
    font-size: var(--av2-font-meta);
    font-weight: 600;
}

.av2-import-file-summary {
    align-items: center;
    margin-top: 12px;
    padding: 11px 12px;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}

.av2-import-file-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin-right: 10px;
    color: #2fa65a;
    background: rgba(47, 166, 90, .09);
    border: 1px solid rgba(47, 166, 90, .16);
    border-radius: 9px;
}

.av2-import-file-summary-copy {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

.av2-import-file-summary-copy strong {
    overflow: hidden;
    margin-bottom: 2px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-import-file-summary-copy span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}

.av2-import-file-summary-status {
    color: #2fa65a;
    font-size: 1rem;
}

.av2-import-help-card {
    margin-top: 16px;
    padding: 14px;
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}

.av2-import-help-title {
    margin-bottom: 9px;
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-import-help-title i {
    margin-right: 6px;
}

.av2-import-help-card ul {
    margin: 0;
    padding-left: 18px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    line-height: 1.55;
}

/* ============================================================
   MAPPING PLACEHOLDER / SUMMARY
   ============================================================ */

.av2-import-mapping-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    margin-top: 20px;
    padding: 30px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px dashed var(--av2-border-strong, #dce3eb);
    border-radius: 12px;
    text-align: center;
}

.av2-import-mapping-placeholder-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 50%;
    font-size: 1.25rem;
}

.av2-import-mapping-placeholder strong {
    margin-bottom: 5px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
}

.av2-import-mapping-placeholder span {
    max-width: 360px;
    font-size: var(--av2-font-body);
    line-height: 1.45;
}

.av2-import-mapping-section {
    margin-top: 18px;
}

.av2-import-mapping-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.av2-import-summary-item {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 10px 12px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
}

.av2-import-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin-right: 9px;
    border-radius: 50%;
    font-size: .7rem;
}

.av2-import-summary-item.is-matched .av2-import-summary-icon {
    color: #2fa65a;
    background: rgba(47, 166, 90, .09);
}

.av2-import-summary-item.is-review .av2-import-summary-icon {
    color: #f5a000;
    background: rgba(245, 160, 0, .10);
}

.av2-import-summary-item > div {
    display: flex;
    flex-direction: column;
}

.av2-import-summary-item strong {
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
    line-height: 1;
}

.av2-import-summary-item span:not(.av2-import-summary-icon) {
    margin-top: 3px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
}

.av2-import-mapping-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
    gap: 10px;
    padding: 9px 12px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px 9px 0 0;
    font-size: var(--av2-font-meta);
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.av2-import-mapping-container {
    max-height: 390px;
    overflow-y: auto;
    overflow-x: hidden;
    border: 1px solid var(--av2-border, #e7ecf2);
    border-top: 0;
    border-radius: 0 0 9px 9px;
    scrollbar-width: thin;
    scrollbar-color: rgba(100, 116, 139, .35) transparent;
}

.av2-import-mapping-container::-webkit-scrollbar {
    width: 6px;
}

.av2-import-mapping-container::-webkit-scrollbar-track {
    background: transparent;
}

.av2-import-mapping-container::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, .35);
    border-radius: 999px;
}

.av2-import-mapping-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    background: var(--av2-surface, #ffffff);
    border-bottom: 1px solid var(--av2-border, #e7ecf2);
}

.av2-import-mapping-row:last-child {
    border-bottom: 0;
}

.av2-import-mapping-row:hover {
    background: var(--av2-hover-bg, var(--av2-surface-soft, #f8fafc));
}

.av2-import-source-field {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-import-source-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin-right: 9px;
    color: #2fa65a;
    background: rgba(47, 166, 90, .08);
    border: 1px solid rgba(47, 166, 90, .14);
    border-radius: 7px;
    font-size: .65rem;
}

.av2-import-source-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.av2-import-source-label {
    margin-bottom: 2px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-compact);
    font-weight: 600;
    text-transform: uppercase;
}

.av2-import-source-copy strong {
    overflow: hidden;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-import-map-arrow {
    color: var(--av2-text-muted, #6c757d);
    text-align: center;
    font-size: .8rem;
}

.av2-import-map-select .form-control {
    min-height: 38px;
    color: var(--av2-text, #212529);
    background-color: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border-color: var(--av2-border-strong, #dce3eb);
    font-size: var(--av2-font-control);
}

.av2-import-map-select .form-control.is-auto-matched {
    color: #237c45;
    background: rgba(47, 166, 90, .08);
    border-color: rgba(47, 166, 90, .28);
}

/* ============================================================
   CONSENT
   ============================================================ */

.av2-import-consent-section {
    padding: 18px 20px;
}

.av2-import-consent-layout {
    display: flex;
    align-items: flex-start;
}

.av2-import-consent-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    margin-right: 13px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}

.av2-import-consent-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-import-consent-copy .custom-control-label {
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-compact);
}

.av2-import-consent-copy small {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    line-height: 1.5;
}

/* ============================================================
   IMPORT BUTTON STATE
   Replaces old hard-coded local #importContactsBtn colors.
   ============================================================ */

.av2-import-modal #importContactsBtn:disabled,
.av2-import-modal #importContactsBtn.import-disabled-btn:disabled {
    color: var(--av2-text-muted, #6c757d) !important;
    background: var(--av2-surface-soft, #f8fafc) !important;
    border-color: var(--av2-border-strong, #dce3eb) !important;
    box-shadow: none !important;
    cursor: not-allowed;
    opacity: 1;
}

.av2-import-modal #importContactsBtn:not(:disabled) {
    color: #ffffff !important;
    background: var(--av2-navy, #061a3b) !important;
    border-color: var(--av2-navy, #061a3b) !important;
    cursor: pointer;
}

.av2-import-modal #importContactsBtn:not(:disabled):hover {
    background: var(--av2-navy-hover, #0a2a5e) !important;
    border-color: var(--av2-navy-hover, #0a2a5e) !important;
}

.av2-import-modal #importContactsBtn i {
    margin-right: 6px;
}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {

    .av2-modal .av2-import-modal-dialog {
        width: calc(100% - 30px);
        max-width: calc(100% - 30px);
        margin: 15px auto;
    }

    /*
     * Keep the entire modal inside the viewport.
     */
    .av2-import-modal .modal-content {
        display: flex;
        flex-direction: column;

        max-height: calc(100vh - 30px);
        max-height: calc(100dvh - 30px);

        overflow: hidden;
    }

    /*
     * The form contains:
     * steps + body + footer.
     *
     * It must participate in the flex layout so the body
     * can become the scrolling region.
     */
    .av2-import-modal #form1 {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;

        min-height: 0;
        overflow: hidden;
    }

    /*
     * Header, step indicator and footer stay visible.
     */
    .av2-import-modal .av2-modal-header,
    .av2-import-modal .av2-import-steps,
    .av2-import-modal .av2-modal-footer {
        flex: 0 0 auto;
    }

    /*
     * This becomes the actual scrollable area.
     */
    .av2-import-modal-body {
        flex: 1 1 auto;

        min-height: 0;
        max-height: none;

        overflow-x: hidden;
        overflow-y: auto !important;

        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
    }

    .av2-import-steps {
        padding: 16px 20px;
    }

    .av2-import-step {
        min-width: 0;
    }

    .av2-import-step-copy span {
        display: none;
    }

    .av2-import-step-line {
        margin: 0 12px;
    }

    .av2-import-mapping-container {
        max-height: 440px;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    /*
     * Give the modal almost the entire phone viewport
     * while retaining a small margin around it.
     */
    .av2-modal .av2-import-modal-dialog {
        width: calc(100% - 20px);
        max-width: calc(100% - 20px);

        margin: 10px auto;
    }

    .av2-import-modal .modal-content {
        width: 100%;

        max-height: calc(100vh - 20px);
        max-height: calc(100dvh - 20px);

        overflow: hidden;
    }

    /*
     * Mobile Safari / Chrome touch scrolling.
     */
    .av2-import-modal-body {
        flex: 1 1 auto;

        min-height: 0;
        max-height: none !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;

        touch-action: pan-y;
    }


    /* --------------------------------------------------------
       PROGRESS STEPS
       -------------------------------------------------------- */

    .av2-import-steps {
        flex: 0 0 auto;
        padding: 12px 14px;
    }

    .av2-import-step {
        flex: 1 1 0;
        justify-content: center;
        min-width: 0;
    }

    .av2-import-step-number {
        flex-basis: 30px;

        width: 30px;
        height: 30px;

        margin-right: 6px;
    }

    .av2-import-step-copy strong {
        font-size: var(--av2-font-body);
    }

    .av2-import-step-line {
        flex: 0 0 18px;
        margin: 0 4px;
    }


    /* --------------------------------------------------------
       FIELD MAPPING
       -------------------------------------------------------- */

    .av2-import-mapping-head {
        display: none;
    }

    .av2-import-mapping-container {
        max-height: none;

        border-top: 1px solid var(--av2-border, #e7ecf2);
        border-radius: 9px;
    }

    .av2-import-mapping-row {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 12px;
    }

    .av2-import-map-arrow {
        transform: rotate(90deg);
    }

    .av2-import-mapping-summary {
        grid-template-columns: 1fr 1fr;
    }


    /* --------------------------------------------------------
       CONSENT
       -------------------------------------------------------- */

    .av2-import-consent-layout {
        display: block;
    }

    .av2-import-consent-icon {
        margin: 0 0 12px 0;
    }
}


/* ========================================================================
   END 20.01 IMPORT CONTACTS
   ======================================================================== */


/* ========================================================================
   20.02 PHONE DIALER
   ======================================================================== */

.av2-dialer-modal .hidden {
    display: none !important;
}

.av2-dialer-modal .av2-dialer-dialog {
    max-width: 1120px;
}

.av2-dialer-body {
    max-height: calc(100vh - 190px);
    overflow-y: auto;
}

/* ============================================================
   CALLING SCRIPT
   ============================================================ */

.av2-dialer-script-section {
    margin-bottom: 18px;
}

.av2-dialer-script-grid {
    display: grid;
    grid-template-columns: minmax(230px, .8fr) minmax(0, 1.7fr);
    gap: 18px;
    align-items: stretch;
}

.av2-dialer-script-select {
    margin: 0;
}

.av2-dialer-script-preview-wrap {
    position: relative;
    min-height: 108px;
    padding: 19px 16px 14px;
    color: var(--av2-text, #212529);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 10px;
}

.av2-dialer-script-preview-label {
    position: absolute;
    top: -8px;
    left: 12px;
    padding: 0 6px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface, #ffffff);
    font-size: var(--av2-font-compact);
    font-weight: 700;
}

.av2-dialer-script-placeholder {
    display: flex;
    align-items: center;
    min-height: 72px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}

.av2-dialer-script-placeholder i {
    margin-right: 9px;
    color: var(--av2-primary, #0b5cff);
    font-size: 1rem;
}

.av2-dialer-script-preview {
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-meta);
    line-height: 1.55;
}

.av2-dialer-script-preview p {
    margin: 0;
}

/* ============================================================
   MAIN WORKSPACE
   ============================================================ */

.av2-dialer-grid {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.65fr);
    gap: 18px;
    align-items: stretch;
}

.av2-dialer-filter-section,
.av2-dialer-contact-section {
    min-width: 0;
}

.av2-dialer-filter-button {
    min-height: 42px;
    margin-top: 4px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-dialer-filter-button i {
    margin-right: 6px;
}

.av2-dialer-filter-help {
    display: flex;
    align-items: flex-start;
    margin-top: 14px;
    padding: 11px 12px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
    font-size: var(--av2-font-meta);
    line-height: 1.45;
}

.av2-dialer-filter-help i {
    flex: 0 0 auto;
    margin: 2px 8px 0 0;
    color: var(--av2-primary, #0b5cff);
}

/* ============================================================
   CURRENT CONTACT
   ============================================================ */

.av2-dialer-contact-header {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-dialer-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    margin-right: 14px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid rgba(11, 92, 255, .18);
    border-radius: 50%;
    font-family: "Public Sans", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.av2-dialer-contact-heading {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-dialer-eyebrow {
    margin-bottom: 4px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.av2-dialer-contact-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-family: "Public Sans", sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.2;
}

.av2-dialer-contact-name span + span {
    margin-left: 5px;
}

/* ============================================================
   INLINE SAVE STATUS
   ============================================================ */

.av2-dialer-save-notice {
    margin: -2px 0 14px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: var(--av2-font-meta);
    font-weight: 600;
}

.av2-dialer-save-notice.is-success {
    color: #278148;
    background: rgba(47, 166, 90, .08);
    border: 1px solid rgba(47, 166, 90, .20);
}

.av2-dialer-save-notice.is-error {
    color: #c93c46;
    background: rgba(220, 53, 69, .07);
    border: 1px solid rgba(220, 53, 69, .18);
}

/* ============================================================
   PHONE ACTIONS
   ============================================================ */

.av2-dialer-phone-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.av2-dialer-phone-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    padding: 12px 12px 12px 14px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}

.av2-dialer-phone-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-dialer-phone-label {
    display: block;
    margin-bottom: 5px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-compact);
    font-weight: 700;
}

.av2-dialer-phone-label i {
    margin-right: 5px;
    color: var(--av2-primary, #0b5cff);
}

.av2-dialer-phone-number {
    display: block;
    overflow: hidden;
    color: var(--av2-primary, #0b5cff);
    font-size: .82rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-dialer-call-button {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    min-width: 40px;
    margin-left: 10px;
    padding: 0;
    border-radius: 9px;
    box-shadow: none;
}

.av2-dialer-call-button i {
    margin: 0;
    font-size: .95rem;
}

.av2-dialer-call-button img {
    width: 17px;
    height: 17px;
    margin-right: 4px;
    border-radius: 3px;
    object-fit: cover;
}

/* ============================================================
   NOTES
   ============================================================ */

.av2-dialer-notes-section {
    margin-top: 4px;
    padding-top: 16px;
    border-top: 1px solid var(--av2-border, #e7ecf2);
}

.av2-dialer-notes {
    min-height: 112px;
    resize: vertical;
}

.av2-dialer-notes-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

.av2-dialer-notes-actions .btn {
    min-height: 36px;
    padding: 7px 12px;
    font-size: var(--av2-font-control);
    font-weight: 700;
    box-shadow: none;
}

.av2-dialer-notes-actions .btn i {
    margin-right: 6px;
}

/* ============================================================
   CALL STATUS
   ============================================================ */

.av2-dialer-call-status {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: var(--av2-font-meta);
    font-weight: 600;
}

.av2-dialer-call-status.is-success {
    color: #278148;
    background: rgba(47, 166, 90, .08);
    border: 1px solid rgba(47, 166, 90, .20);
}

.av2-dialer-call-status.is-error {
    color: #c93c46;
    background: rgba(220, 53, 69, .07);
    border: 1px solid rgba(220, 53, 69, .18);
}

/* ============================================================
   NEXT CONTACT
   ============================================================ */

.av2-dialer-next-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin-top: 16px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-dialer-next-button i {
    margin-left: 9px;
}

/* ============================================================
   DARK THEME SAFETY
   ============================================================ */

.mod-skin-dark .av2-dialer-modal .av2-dialer-script-preview-label {
    background: var(--av2-surface);
}

.mod-skin-dark .av2-dialer-modal .av2-dialer-phone-card,
.mod-skin-dark .av2-dialer-modal .av2-dialer-filter-help {
    background: var(--av2-surface-soft);
    border-color: var(--av2-border);
}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {
    .av2-dialer-modal .av2-dialer-dialog {
        max-width: calc(100% - 30px);
    }

    .av2-dialer-body {
        max-height: calc(100vh - 170px);
    }

    .av2-dialer-script-grid,
    .av2-dialer-grid {
        grid-template-columns: 1fr;
    }

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

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {
    .av2-dialer-body {
        max-height: none;
    }

    .av2-dialer-script-grid,
    .av2-dialer-grid,
    .av2-dialer-phone-grid {
        grid-template-columns: 1fr;
    }

    .av2-dialer-avatar {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
        margin-right: 11px;
        font-size: .85rem;
    }

    .av2-dialer-contact-name {
        font-size: 1rem;
    }

    .av2-dialer-notes-actions .btn {
        width: 100%;
    }
}


/* ========================================================================
   END 20.02 PHONE DIALER
   ======================================================================== */


/* ========================================================================
   20.03 CONTACT TAB MANAGER
   ======================================================================== */

.av2-modal-manage-tabs {
    max-width: 1080px;
}


/* ============================================================
   HOW TABS WORK
   ============================================================ */

.av2-tab-help {
    padding: 18px;

    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
}

.av2-tab-help-header {
    display: flex;
    align-items: flex-start;
}

.av2-tab-help-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 34px;
    width: 34px;
    height: 34px;

    margin-right: 11px;

    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
}

.av2-tab-help-title {
    margin-bottom: 3px;

    color: var(--av2-text, #212529);

    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-tab-help-subtitle {
    color: var(--av2-text-muted, #6c757d);

    font-size: var(--av2-font-body);
    line-height: 1.4;
}

.av2-tab-help-list {
    margin-top: 16px;
}

.av2-tab-help-item {
    display: flex;
    align-items: flex-start;
}

.av2-tab-help-item + .av2-tab-help-item {
    margin-top: 13px;
}

.av2-tab-help-item > span {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 25px;
    width: 25px;
    height: 25px;

    margin-right: 9px;

    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);

    border-radius: 50%;

    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-tab-help-item > div {
    min-width: 0;
}

.av2-tab-help-item strong {
    display: block;

    margin-bottom: 2px;

    color: var(--av2-text, #212529);

    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-tab-help-item small {
    display: block;

    color: var(--av2-text-muted, #6c757d);

    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   EXISTING TABS
   ============================================================ */

.av2-tab-manager-notice {
    display: flex;
    align-items: center;

    margin-bottom: 12px;
    padding: 10px 12px;

    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);

    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 8px;

    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-tab-manager-notice i {
    margin-right: 8px;
    color: var(--av2-primary, #0b5cff);
}

.av2-tab-manager-list {
    max-height: 480px;

    overflow-y: auto;
    overflow-x: hidden;

    scrollbar-width: thin;
    scrollbar-color: rgba(100,116,139,.30) transparent;
}

.av2-tab-manager-list::-webkit-scrollbar {
    width: 5px;
}

.av2-tab-manager-list::-webkit-scrollbar-track {
    background: transparent;
}

.av2-tab-manager-list::-webkit-scrollbar-thumb {
    background: rgba(100,116,139,.30);
    border-radius: 999px;
}


/* Existing table generated by fetch_tab_table.php */

.av2-tab-manager-list table {
    width: 100%;
    margin: 0 !important;

    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
}

.av2-tab-manager-list table thead th {
    padding: 12px 14px !important;

    color: var(--av2-text-muted, #6c757d) !important;
    background: var(--av2-surface-soft, #f8fafc) !important;

    border-top: 0 !important;
    border-bottom: 1px solid var(--av2-border, #e7ecf2) !important;

    font-size: var(--av2-font-compact);
    font-weight: 700;

    text-transform: uppercase;
}

.av2-tab-manager-list table tbody td {
    padding: 11px 14px !important;

    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);

    border-top: 0 !important;
    border-bottom: 1px solid var(--av2-border, #e7ecf2) !important;

    font-size: var(--av2-font-body);
    vertical-align: middle;
}

.av2-tab-manager-list table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.av2-tab-manager-list table tbody tr:hover td {
    background: var(--av2-hover-bg, var(--av2-surface-soft, #f8fafc));
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {
    .av2-tab-help {
        margin-bottom: 18px;
    }

    .av2-tab-manager-list {
        max-height: 380px;
    }
}

/* ============================================================
   AV 2.0 - CONTACT TAB MANAGER
   Left column stacking fix
   ============================================================ */

.av2-modal-manage-tabs .modal-body > .row {
    align-items: stretch;
}

.av2-modal-manage-tabs .modal-body > .row > .col-md-5 {
    display: flex;
    flex-direction: column;
}

/* Do not let the Create Tab card consume the full column height */
.av2-modal-manage-tabs .modal-body > .row > .col-md-5 > .av2-modal-section {
    height: auto;
    flex: 0 0 auto;
    margin-bottom: 18px !important;
}

/* Instructions sit naturally beneath the Create Tab card */
.av2-modal-manage-tabs .av2-tab-help {
    flex: 0 0 auto;
    margin: 0;
}

/* Right-side Existing Tabs card can continue filling the column */
.av2-modal-manage-tabs .modal-body > .row > .col-md-7 > .av2-modal-section {
    height: 100%;
}

/* ============================================================
   AV 2.0 - CONTACT TAB ORDER SELECT
   Restore visible saved/default order values
   ============================================================ */

.av2-tab-manager-list table tbody td:first-child select,
.av2-tab-manager-list select {
    min-width: 72px;
    height: 42px;
    padding: 8px 30px 8px 12px;

    color: var(--av2-text, #212529) !important;
    -webkit-text-fill-color: var(--av2-text, #212529) !important;

    background-color: var(--av2-input-bg, var(--av2-surface, #ffffff)) !important;
    border: 1px solid var(--av2-border-strong, #dce3eb) !important;
    border-radius: 9px;

    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-body) !important;
    font-weight: 700;
    line-height: 1.2;

    opacity: 1 !important;
}

.av2-tab-manager-list select option {
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
}


/* ========================================================================
   END 20.03 CONTACT TAB MANAGER
   ======================================================================== */


/* ========================================================================
   20.04 FLOWLOGIC
   ======================================================================== */

.av2-modal-flowlogic {
    max-width: 1180px !important;
}

.av2-flowlogic-body {
    max-height: calc(100vh - 190px);
    overflow-y: auto;
    overflow-x: hidden;
}


/* ============================================================
   OVERVIEW
   ============================================================ */

.av2-flowlogic-overview {
    display: flex;
    align-items: flex-start;
    margin-bottom: 18px;
    padding: 16px 18px;
    color: var(--av2-text, #212529);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
}

.av2-flowlogic-overview-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
    font-size: 1rem;
}

.av2-flowlogic-overview-title {
    margin-bottom: 4px;
    color: var(--av2-text, #212529);
    font-family: "Public Sans", sans-serif;
    font-size: .82rem;
    font-weight: 700;
}

.av2-flowlogic-overview-text {
    color: var(--av2-text-muted, #6c757d);
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-body);
    line-height: 1.5;
}


/* ============================================================
   CREATE SECTION
   ============================================================ */

.av2-flowlogic-create-section {
    height: auto !important;
    margin-bottom: 20px;
}

.av2-flowlogic-type-select {
    max-width: 520px;
}

.av2-flowlogic-builder {
    margin-top: 20px;
    padding: 18px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
}

.av2-flowlogic-builder-header {
    display: flex;
    align-items: flex-start;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--av2-border, #e7ecf2);
}

.av2-flowlogic-builder-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin-right: 11px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
    font-size: .95rem;
}

.av2-flowlogic-builder-title {
    margin: 1px 0 3px;
    color: var(--av2-text, #212529);
    font-family: "Public Sans", sans-serif;
    font-size: .84rem;
    font-weight: 700;
}

.av2-flowlogic-builder-subtitle {
    color: var(--av2-text-muted, #6c757d);
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-body);
    line-height: 1.45;
}


/* ============================================================
   RULE BUILDING BLOCKS
   ============================================================ */

.av2-flowlogic-rule-block {
    margin-top: 12px;
    padding: 16px;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}

.av2-flowlogic-rule-result {
    border-color: rgba(11,92,255,.22);
}

.av2-flowlogic-rule-label {
    display: flex;
    align-items: flex-start;
    margin-bottom: 14px;
}

.av2-flowlogic-rule-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin-right: 10px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 50%;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-flowlogic-rule-label strong {
    display: block;
    margin-bottom: 2px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-compact);
    font-weight: 700;
}

.av2-flowlogic-rule-label small {
    display: block;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-compact);
    line-height: 1.4;
}

.av2-flowlogic-optional {
    color: var(--av2-text-muted, #6c757d);
    font-weight: 500;
}

.av2-flowlogic-form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}

.av2-flowlogic-form-actions .btn {
    min-height: 40px;
    padding-left: 18px;
    padding-right: 18px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-flowlogic-form-actions .btn i {
    margin-right: 6px;
}


/* ============================================================
   SAVED FLOWLOGIC
   ============================================================ */

.av2-flowlogic-saved-section {
    height: auto !important;
}

.av2-flowlogic-tabs {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 14px;
    padding: 4px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}

.av2-flowlogic-tabs .nav-item {
    margin: 0;
}

.av2-flowlogic-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    margin: 0 3px 0 0;
    padding: 8px 12px;
    color: var(--av2-text-muted, #6c757d);
    background: transparent;
    border: 0 !important;
    border-radius: 8px;
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-flowlogic-tabs .nav-link i {
    margin-right: 6px;
}

.av2-flowlogic-tabs .nav-link:hover {
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-hover-bg, #fbfcff);
}

.av2-flowlogic-tabs .nav-link.active {
    color: var(--av2-primary, #0b5cff) !important;
    background: var(--av2-surface, #ffffff) !important;
    box-shadow: 0 1px 3px rgba(15,23,42,.08);
}

.av2-flowlogic-tab-content {
    color: var(--av2-text, #212529);
}

.av2-flowlogic-table-wrap {
    overflow: hidden;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}

.av2-flowlogic-table {
    width: 100%;
    margin: 0 !important;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
}

.av2-flowlogic-table thead th {
    padding: 12px 14px !important;
    color: var(--av2-text-muted, #6c757d) !important;
    background: var(--av2-surface-soft, #f8fafc) !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--av2-border, #e7ecf2) !important;
    font-size: var(--av2-font-compact);
    font-weight: 700;
    text-transform: uppercase;
    vertical-align: middle;
}

.av2-flowlogic-table tbody td {
    padding: 13px 14px !important;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border-top: 0 !important;
    border-bottom: 1px solid var(--av2-border, #e7ecf2) !important;
    vertical-align: middle;
}

.av2-flowlogic-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.av2-flowlogic-table tbody tr:hover td {
    background: var(--av2-hover-bg, var(--av2-surface-soft, #f8fafc));
}

.av2-flowlogic-trigger-name {
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-item-title);
    font-weight: 700;
}

.av2-flowlogic-description {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.55;
}

.av2-flowlogic-description .text-primary,
.av2-flowlogic-description b.text-primary {
    color: var(--av2-primary, #0b5cff) !important;
    font-weight: 700;
}

.av2-flowlogic-delete {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0 !important;
    border-radius: 8px;
}


/* ============================================================
   DARK THEME DETAIL
   ============================================================ */

.mod-skin-dark .av2-flowlogic-rule-result {
    border-color: rgba(11,92,255,.32);
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {
    .av2-modal-flowlogic {
        max-width: calc(100% - 30px) !important;
    }

    .av2-flowlogic-type-select {
        max-width: none;
    }

    .av2-flowlogic-tabs .nav-link {
        margin-bottom: 3px;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {
    .av2-flowlogic-body {
        max-height: calc(100vh - 160px);
    }

    .av2-flowlogic-overview,
    .av2-flowlogic-builder,
    .av2-flowlogic-rule-block {
        padding: 14px;
    }

    .av2-flowlogic-overview-icon {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }

    .av2-flowlogic-tabs {
        display: block;
        padding: 4px;
    }

    .av2-flowlogic-tabs .nav-item {
        width: 100%;
    }

    .av2-flowlogic-tabs .nav-link {
        display: flex;
        width: 100%;
        margin: 0 0 3px;
    }

    .av2-flowlogic-form-actions {
        display: block;
    }

    .av2-flowlogic-form-actions .btn {
        width: 100%;
    }

    .av2-flowlogic-table tbody td {
        padding: 11px 12px !important;
    }
}


/* ========================================================================
   END 20.04 FLOWLOGIC
   ======================================================================== */


/* ========================================================================
   20.05 NEW CRM CONTACT
   ======================================================================== */

/* ============================================================
   INTRO
   ============================================================ */

.av2-new-contact-intro {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 2px 0 18px;
    padding: 15px 17px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-new-contact-intro-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-right: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 11px;
    font-size: 1rem;
}

.av2-new-contact-intro > div:nth-child(2) {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-new-contact-intro strong,
.av2-new-contact-intro span {
    display: block;
}

.av2-new-contact-intro strong {
    margin-bottom: 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-new-contact-intro span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}

.av2-new-contact-required {
    flex: 0 0 auto;
    margin-left: 18px;
    padding: 6px 9px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: 600;
}

.av2-new-contact-required span {
    display: inline;
    margin-right: 2px;
    color: #dc3545;
    font-weight: 700;
}


/* ============================================================
   GLOBAL FORM SECTION
   Reusable Theme 16 page-form component
   ============================================================ */

.av2-form-section {
    width: 100%;
    margin-bottom: 18px;
    overflow: hidden;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-form-section-header {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 76px;
    padding: 14px 18px;
    background: var(--av2-surface, #ffffff);
    border-bottom: 1px solid var(--av2-border, #e7ecf2);
}

.av2-form-section-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 11px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid rgba(11,92,255,.13);
    border-radius: 10px;
    font-size: .94rem;
}

.av2-form-section-header > div:nth-child(2) {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-form-section-header h2 {
    margin: 0 0 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-section-title);
    font-weight: 700;
    line-height: 1.25;
}

.av2-form-section-header p {
    margin: 0;
    color: var(--av2-text-muted, #6c757d);
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-form-section-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin-left: 15px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 50%;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-form-section-body {
    padding: 20px;
    background: var(--av2-surface, #ffffff);
}


/* ============================================================
   FORM CONTROLS
   ============================================================ */

.av2-new-contact-page .av2-form-group {
    margin-bottom: 16px;
}

.av2-new-contact-page .av2-form-group > label {
    margin-bottom: 6px;
    color: var(--av2-text, #212529);
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-compact);
    font-weight: 700;
    line-height: 1.35;
}

.av2-new-contact-page .form-control {
    min-height: 44px;
    padding: 9px 11px;
    color: var(--av2-text, #212529);
    background-color: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 9px;
    box-shadow: none;
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-control);
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.av2-new-contact-page .form-control:focus {
    color: var(--av2-text, #212529);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border-color: var(--av2-primary, #0b5cff);
    box-shadow: 0 0 0 3px rgba(11,92,255,.08);
}

.av2-new-contact-page textarea.form-control {
    min-height: 110px;
    resize: vertical;
}

.av2-new-contact-page .form-control::placeholder {
    color: var(--av2-text-muted, #6c757d);
    opacity: .72;
}

.av2-new-contact-page .input-group-text {
    min-height: 44px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border-color: var(--av2-border-strong, #dce3eb);
    font-size: var(--av2-font-control);
}

.av2-form-help {
    display: block;
    margin: -2px 0 7px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
}


/* ============================================================
   CONTACT SUBSECTIONS
   ============================================================ */

.av2-new-contact-subsection {
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--av2-border, #e7ecf2);
}

.av2-new-contact-subsection.mb-0 {
    margin-bottom: 0 !important;
    padding-bottom: 0;
    border-bottom: 0;
}

.av2-new-contact-subsection-title {
    display: flex;
    align-items: center;
    margin-bottom: 13px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-section-title);
    font-weight: 700;
}

.av2-new-contact-subsection-title i {
    width: 20px;
    margin-right: 6px;
    color: var(--av2-primary, #0b5cff);
}

.av2-new-contact-subsection-title span {
    margin-left: 7px;
    padding: 2px 6px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 999px;
    font-size: var(--av2-font-section-title);
    font-weight: 600;
}


/* ============================================================
   PROPERTY RANGE
   ============================================================ */

.av2-new-contact-range .form-control {
    min-width: 0;
}

.av2-new-contact-range .input-group-text {
    padding-left: 12px;
    padding-right: 12px;
}


/* ============================================================
   NOTES
   ============================================================ */

.av2-new-contact-notes {
    min-height: 170px !important;
}


/* ============================================================
   BOTTOM ACTION BAR
   ============================================================ */

.av2-new-contact-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 28px;
    padding: 15px 18px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-new-contact-actions > div:first-child {
    min-width: 0;
}

.av2-new-contact-actions strong,
.av2-new-contact-actions span {
    display: block;
}

.av2-new-contact-actions strong {
    margin-bottom: 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-new-contact-actions span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}

.av2-new-contact-actions-buttons {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 8px;
}

.av2-new-contact-actions-buttons .btn {
    min-height: 40px;
    padding: 8px 14px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}


/* ============================================================
   CONSENT MODAL
   ============================================================ */

.av2-new-contact-consent-section {
    height: auto !important;
}

.av2-new-contact-consent-box {
    padding: 15px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}

.av2-new-contact-consent-box .custom-control-label {
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-compact);
    font-weight: 700;
}

.av2-new-contact-consent-box > small {
    display: block;
    margin-top: 10px;
    padding-left: 24px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    line-height: 1.5;
}

.av2-new-contact-consent-box a {
    color: var(--av2-primary, #0b5cff);
}

#confirmCreateContactBtn:disabled {
    color: var(--av2-text-muted, #6c757d) !important;
    background: var(--av2-surface-soft, #f8fafc) !important;
    border-color: var(--av2-border-strong, #dce3eb) !important;
    cursor: not-allowed;
    opacity: 1;
}

#confirmCreateContactBtn:not(:disabled) {
    cursor: pointer;
}


/* ============================================================
   DARK THEME DETAIL
   ============================================================ */

.mod-skin-dark .av2-new-contact-page .form-control,
.mod-skin-dark .av2-new-contact-page .input-group-text {
    color: var(--av2-text);
    background-color: var(--av2-input-bg);
    border-color: var(--av2-border);
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {
    .av2-new-contact-intro {
        align-items: flex-start;
    }

    .av2-new-contact-required {
        margin-left: 12px;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    .av2-new-contact-intro {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr);
        column-gap: 12px;
        row-gap: 10px;

        width: 100%;
        max-width: 100%;

        align-items: start;

        padding: 14px;
        box-sizing: border-box;
    }

    .av2-new-contact-intro-icon {
        grid-column: 1;
        grid-row: 1;

        width: 38px;
        height: 38px;
        min-width: 38px;

        flex-basis: auto;
        margin: 0;
    }

    .av2-new-contact-intro > div:nth-child(2) {
        grid-column: 2;
        grid-row: 1;

        width: 100%;
        min-width: 0;
    }

    .av2-new-contact-required {
        grid-column: 2;
        grid-row: 2;

        justify-self: start;
        align-self: start;

        width: auto;
        max-width: 100%;

        margin: 0;
        padding: 6px 10px;

        text-align: left;
        white-space: nowrap;
        box-sizing: border-box;
    }

    .av2-form-section-header {
        align-items: flex-start;
        min-height: 68px;
        padding: 13px 14px;
    }

    .av2-form-section-icon {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }

    .av2-form-section-number {
        display: none;
    }

    .av2-form-section-body {
        padding: 15px;
    }

    .av2-new-contact-actions {
        align-items: stretch;
        flex-direction: column;
        padding: 14px;
    }

    .av2-new-contact-actions-buttons {
        width: 100%;
    }

    .av2-new-contact-actions-buttons .btn {
        flex: 1 1 0;
    }
}


/* ========================================================================
   END 20.05 NEW CRM CONTACT
   ======================================================================== */


/* ========================================================================
   20.06 CONTACT PROFILE
   ======================================================================== */

.av2-cp-page {
    background: var(--av2-page-bg);
}

.av2-cp-shell {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

.av2-cp-back-row {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.av2-cp-back-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cp-back-link:hover {
    color: #084fe0;
    text-decoration: none;
}

.av2-cp-top-tools {
    display: flex;
    align-items: center;
    gap: 8px;
}

.av2-cp-icon-button {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    background: var(--av2-surface);
    color: var(--av2-text-muted);
    transition: all .16s ease;
}

.av2-cp-icon-button:hover {
    border-color: rgba(11, 92, 255, .28);
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

/* Instruction/help buttons use one consistent AV2 yellow treatment. */
.av2-cp-help-button {
    border-color: #f2b632;
    background: #ffbf3f;
    color: #6f4a00;
    box-shadow: 0 4px 10px rgba(245, 160, 0, .16);
}

.av2-cp-help-button:hover,
.av2-cp-help-button:focus {
    border-color: #e4a515;
    background: #f7b52c;
    color: #513600;
}

.av2-cp-dialer-form {
    display: inline-flex;
}

.av2-cp-dialer-button {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 12px;
    border: 1px solid var(--av2-border-strong);
    border-radius: 9px;
    background: var(--av2-surface);
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control);
    font-weight: var(--av2-weight-semibold, 600);
    white-space: nowrap;
    cursor: pointer;
    transition: all .16s ease;
}

.av2-cp-dialer-button i {
    color: var(--av2-primary);
}

.av2-cp-dialer-button:hover,
.av2-cp-dialer-button:focus {
    border-color: rgba(11, 92, 255, .30);
    background: var(--av2-primary-soft);
    color: var(--av2-primary);
}

.av2-cp-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 16px;
    align-items: start;
}

.av2-cp-main,
.av2-cp-rail {
    min-width: 0;
}

.av2-cp-rail {
    display: grid;
    gap: 12px;
}

/* ============================================================
   CONTACT HERO
   ============================================================ */

.av2-cp-contact-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    padding: 18px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-cp-contact-main {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.av2-cp-avatar {
    width: 74px;
    height: 74px;
    min-width: 74px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #7653f5 0%, #9c5cff 100%);
    color: #fff;
    font-size: 1.72rem;
    font-weight: var(--av2-weight-semibold, 600);
    box-shadow: 0 8px 20px rgba(104, 73, 223, .18);
}

.av2-cp-contact-identity {
    min-width: 0;
}

.av2-cp-name-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.av2-cp-name-row h1 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-page-title, 1.35rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1.2;
}

.av2-cp-edit-icon {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--av2-text-muted);
}

.av2-cp-edit-icon:hover {
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-cp-secondary-name {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
}

.av2-cp-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 9px;
}

.av2-cp-badge {
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cp-badge.is-status {
    background: #f4ecff;
    color: #7148d8;
}

.av2-cp-badge.is-type {
    background: #f3f5f8;
    color: #526070;
}

.av2-cp-badge.is-source {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-cp-badge.is-qualified {
    background: #edf9f0;
    color: #209647;
}

.av2-cp-badge.is-unqualified {
    background: #fff5e6;
    color: #c47500;
}

.av2-cp-badge.is-special {
    background: #fff7dd;
    color: #9d6d00;
}

.av2-cp-last-contact {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 9px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
}

.av2-cp-last-contact strong {
    color: var(--av2-text);
}

.av2-cp-qualification-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
}

.av2-cp-qualification-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.av2-cp-contact-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.av2-cp-contact-nav .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   PRIMARY ACTIONS
   ============================================================ */

.av2-cp-primary-actions {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
    margin-top: 12px;
}

.av2-cp-primary-actions > .dropdown {
    min-width: 0;
}

.av2-cp-action-button {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface);
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
    line-height: 1;
    box-shadow: 0 2px 6px rgba(22, 34, 54, .025);
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

button.av2-cp-action-button {
    cursor: pointer;
}

.av2-cp-action-button:hover {
    transform: translateY(-1px);
    border-color: var(--av2-border-strong);
    color: var(--av2-text-strong);
    text-decoration: none;
    box-shadow: 0 5px 14px rgba(22, 34, 54, .07);
}

.av2-cp-action-icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: .88rem;
}

.av2-cp-action-button.is-call .av2-cp-action-icon {
    background: #edf9f0;
    color: #209647;
}

.av2-cp-action-button.is-text .av2-cp-action-icon {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-cp-action-button.is-email .av2-cp-action-icon {
    background: #f4ecff;
    color: #7645e5;
}

.av2-cp-action-button.is-reminder .av2-cp-action-icon {
    background: #fff5e6;
    color: #e88a00;
}

.av2-cp-action-button.is-transaction .av2-cp-action-icon {
    background: #edf3ff;
    color: #204ea3;
}

.av2-cp-action-button.is-delete {
    color: #b33232;
}

.av2-cp-action-button.is-delete .av2-cp-action-icon {
    background: #fff0f0;
    color: #d84b4b;
}

.av2-cp-action-button.is-delete:hover {
    border-color: #f0c2c2;
    background: #fff8f8;
    color: #a62d2d;
}

.av2-cp-action-button.is-disabled {
    opacity: .46;
    cursor: not-allowed;
}

/* ============================================================
   COMPOSER
   ============================================================ */

.av2-cp-composer {
    margin-top: 12px;
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
    box-shadow: 0 3px 12px rgba(22, 34, 54, .035);
}

.av2-cp-composer-main {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 14px 14px 9px;
}

.av2-cp-agent-avatar {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: block;
    border-radius: 50%;
    background-position: center;
    background-size: cover;
    box-shadow: 0 2px 8px rgba(22, 34, 54, .08);
}

.av2-cp-agent-avatar.is-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-cp-composer textarea.form-control {
    min-height: 74px;
    resize: vertical;
    border: 0;
    border-radius: 0;
    padding: 3px 4px;
    background: transparent;
    color: var(--av2-text);
    font-size: var(--av2-font-control, .82rem);
    box-shadow: none;
}

.av2-cp-composer-footer {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 8px 12px;
    border-top: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-cp-composer-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
}

.av2-cp-composer-footer .btn {
    min-width: 110px;
    min-height: 36px;
}

/* ============================================================
   HISTORY
   ============================================================ */

.av2-cp-history {
    margin-top: 12px;
}

.av2-cp-history-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
    padding: 0 2px;
}

.av2-cp-history-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cp-history-heading p {
    margin: 3px 0 0;
    max-width: 780px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}

.av2-cp-history-pill {
    min-height: 27px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
    white-space: nowrap;
}

.av2-cp-history-loading {
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px dashed var(--av2-border-strong);
    border-radius: 12px;
    background: var(--av2-surface);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

/*
 * The history engine remains load_contact_history.php.
 * These selectors only restyle the existing returned markup.
 */
#historyContainer > .card,
#historyContainer .card.mb-g,
#historyContainer .panel,
#historyContainer .border {
    border-color: var(--av2-border) !important;
    border-radius: 12px !important;
    background: var(--av2-surface) !important;
    box-shadow: 0 3px 12px rgba(22, 34, 54, .04) !important;
}

#historyContainer > .card,
#historyContainer .card.mb-g {
    margin-bottom: 10px !important;
}

#historyContainer .card-body,
#historyContainer .panel-content {
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
}

#historyContainer .text-muted {
    color: var(--av2-text-muted) !important;
}

#historyContainer a {
    color: var(--av2-primary, #0b5cff);
}

/* ============================================================
   RIGHT RAIL
   ============================================================ */

.av2-cp-rail-card {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
    box-shadow: 0 3px 12px rgba(22, 34, 54, .035);
}

.av2-cp-rail-heading {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 13px;
    border: 0;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
    color: var(--av2-text-strong);
    text-align: left;
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cp-rail-heading > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.av2-cp-rail-heading > span:first-child i {
    width: 20px;
    color: var(--av2-primary, #0b5cff);
    text-align: center;
}

.av2-cp-count {
    min-width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cp-rail-body {
    padding: 13px;
}

.av2-cp-info-list {
    display: grid;
    gap: 9px;
}

.av2-cp-info-row {
    display: grid;
    grid-template-columns: minmax(82px, .8fr) minmax(0, 1.2fr);
    gap: 10px;
    align-items: start;
}

.av2-cp-info-row > span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
}

.av2-cp-info-row > strong,
.av2-cp-info-row > a {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--av2-text);
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-medium, 500);
    text-align: right;
}

.av2-cp-address-block {
    margin-top: 12px;
    padding-top: 11px;
    border-top: 1px solid var(--av2-border);
}

.av2-cp-address-block > span {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
}

.av2-cp-address-block > a {
    color: var(--av2-text);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}

.av2-cp-social-row {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 11px;
}

.av2-cp-social-row a,
.av2-cp-social-row span {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--av2-border);
    border-radius: 8px;
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
    font-size: .95rem;
}

.av2-cp-social-row a:hover {
    border-color: rgba(11, 92, 255, .25);
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    text-decoration: none;
}

.av2-cp-social-row span {
    opacity: .42;
}

.av2-cp-note-copy {
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

.av2-cp-empty {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}

.av2-cp-mini-list {
    display: grid;
    gap: 8px;
}

.av2-cp-mini-item {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px;
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    background: var(--av2-surface-soft);
}

a.av2-cp-mini-item:hover,
.av2-cp-mini-link:hover {
    text-decoration: none;
}

.av2-cp-mini-link {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 9px;
}

.av2-cp-mini-icon {
    width: 31px;
    height: 31px;
    min-width: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.av2-cp-mini-icon.is-transaction {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-cp-mini-icon.is-reminder {
    background: #fff5e6;
    color: #e88a00;
}

.av2-cp-mini-copy {
    min-width: 0;
    flex: 1;
}

.av2-cp-mini-copy strong,
.av2-cp-mini-copy small {
    display: block;
}

.av2-cp-mini-copy strong {
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-semibold, 600);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-cp-mini-copy small {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-cp-mini-delete {
    margin-left: auto;
}

.av2-cp-campaign-divider {
    margin: 14px 0;
    border-top: 1px solid var(--av2-border);
}

.av2-cp-campaign-title {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cp-campaign-list {
    display: grid;
    gap: 8px;
    margin-top: 9px;
}

.av2-cp-campaign-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    padding: 9px;
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    background: var(--av2-surface-soft);
}

.av2-cp-campaign-item > div:first-child {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
}

.av2-cp-campaign-item strong {
    overflow: hidden;
    color: var(--av2-text);
    font-size: var(--av2-font-body);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-cp-campaign-actions {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
}

.av2-cp-campaign-actions form {
    margin: 0;
}

/* ============================================================
   MENUS / FORMS
   ============================================================ */

.av2-cp-more-menu {
    min-width: 210px;
    padding: 6px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface);
    box-shadow: 0 10px 28px rgba(22, 34, 54, .12);
}

.av2-cp-more-menu .dropdown-item {
    min-height: 36px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 7px;
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
}

.av2-cp-more-menu .dropdown-item:hover {
    background: var(--av2-hover-bg);
}

.av2-cp-more-menu .dropdown-item i {
    width: 18px;
    color: var(--av2-text-muted);
    text-align: center;
}

.av2-cp-page .form-control,
.av2-cp-modal .form-control {
    min-height: 40px;
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    font-size: var(--av2-font-control, .82rem);
}

.av2-cp-page textarea.form-control,
.av2-cp-modal textarea.form-control {
    min-height: 96px;
}

.av2-cp-page label,
.av2-cp-modal label {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

/* ============================================================
   AV2 MODALS
   ============================================================ */

.av2-cp-modal .modal-dialog {
    margin-top: 5vh;
}

.av2-cp-modal .av2-modal {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 18px 55px rgba(6, 26, 59, .24);
}

.av2-cp-modal .av2-modal-header {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 18px;
    border-bottom: 0;
    background: linear-gradient(
        135deg,
        var(--av2-navy, #061a3b) 0%,
        #0a2a5e 62%,
        #0b5cff 150%
    );
}

.av2-cp-modal .av2-modal-header-main {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-cp-modal .av2-modal-header-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 11px;
    background: rgba(255, 255, 255, .10);
    color: #fff;
    font-size: 1rem;
}

.av2-cp-modal .av2-modal-title {
    margin: 0;
    color: #fff;
    font-size: var(--av2-font-modal-title, 1.25rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cp-modal .av2-modal-subtitle {
    margin-top: 2px;
    color: rgba(255, 255, 255, .70);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cp-modal .av2-modal-close {
    color: #fff;
    opacity: .82;
    text-shadow: none;
}

.av2-cp-modal .av2-modal-body {
    padding: 18px;
    background: var(--av2-surface);
}

.av2-cp-modal .av2-modal-footer {
    padding: 12px 18px;
    border-top: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-cp-modal .av2-modal-section {
    margin-bottom: 14px;
    padding: 15px;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    background: var(--av2-surface-soft);
}

.av2-cp-modal .av2-modal-section-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 13px;
}

.av2-cp-modal .av2-modal-section-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-cp-modal .av2-modal-section-title {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cp-modal .av2-modal-section-subtitle {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cp-delete-confirmation {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 20px;
    text-align: center;
}

.av2-cp-delete-icon {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 3px;
    border-radius: 50%;
    background: #fff0f0;
    color: #d84b4b;
    font-size: 1.2rem;
}

.av2-cp-delete-confirmation strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
}

.av2-cp-delete-confirmation span:last-child {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

.av2-cp-attachment-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    min-height: 34px;
    margin-bottom: 10px;
}

.av2-cp-attachment-row a {
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cp-attachment-row span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cp-modal .note-editor {
    border-color: var(--av2-border);
    border-radius: 8px;
    overflow: hidden;
}

.av2-cp-modal .note-toolbar {
    border-color: var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-cp-modal .note-editable {
    background: var(--av2-input-bg);
    color: var(--av2-text);
}

/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-cp-badge.is-status {
    background: rgba(113, 72, 216, .18);
    color: #b9a1ff;
}

.mod-skin-dark .av2-cp-badge.is-type {
    background: rgba(255, 255, 255, .08);
    color: #c3cad5;
}

.mod-skin-dark .av2-cp-badge.is-source,
.mod-skin-dark .av2-cp-history-pill {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

.mod-skin-dark .av2-cp-badge.is-qualified,
.mod-skin-dark .av2-cp-action-button.is-call .av2-cp-action-icon {
    background: rgba(32, 150, 71, .18);
    color: #79d99a;
}

.mod-skin-dark .av2-cp-badge.is-unqualified,
.mod-skin-dark .av2-cp-action-button.is-reminder .av2-cp-action-icon {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-cp-action-button.is-text .av2-cp-action-icon,
.mod-skin-dark .av2-cp-mini-icon.is-transaction {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

.mod-skin-dark .av2-cp-action-button.is-email .av2-cp-action-icon {
    background: rgba(118, 69, 229, .18);
    color: #ba9dff;
}

.mod-skin-dark .av2-cp-action-button.is-delete .av2-cp-action-icon {
    background: rgba(216, 75, 75, .16);
    color: #ff9191;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1399.98px) {
    .av2-cp-layout {
        grid-template-columns: 1fr;
    }

    .av2-cp-contact-hero {
        flex-direction: column;
        align-items: stretch;
    }

    .av2-cp-contact-nav {
        width: 100%;
        justify-content: flex-end;
    }

    .av2-cp-primary-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .av2-cp-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }
}

@media (max-width: 991.98px) {
    .av2-cp-layout {
        grid-template-columns: 1fr;
    }

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

    .av2-cp-contact-hero {
        flex-direction: column;
    }

    .av2-cp-contact-nav {
        width: 100%;
    }

    .av2-cp-contact-nav .btn {
        flex: 1;
    }
}

@media (max-width: 767.98px) {
    .av2-cp-top-tools {
        gap: 6px;
    }

    .av2-cp-dialer-button {
        width: 38px;
        min-width: 38px;
        padding: 0;
    }

    .av2-cp-dialer-button span {
        display: none;
    }

    .av2-cp-contact-main {
        align-items: center;
    }

    .av2-cp-avatar {
        width: 62px;
        height: 62px;
        min-width: 62px;
        font-size: 1.4rem;
    }

    .av2-cp-primary-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .av2-cp-rail {
        grid-template-columns: 1fr;
    }

    .av2-cp-composer-footer,
    .av2-cp-history-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-cp-composer-footer .btn {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .av2-cp-contact-main {
        flex-direction: column;
        align-items: flex-start;
    }

    .av2-cp-contact-nav {
        flex-direction: column;
    }

    .av2-cp-contact-nav .btn {
        width: 100%;
    }

    .av2-cp-primary-actions {
        grid-template-columns: 1fr 1fr;
    }

    .av2-cp-action-button {
        min-height: 46px;
    }

    .av2-cp-info-row {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .av2-cp-info-row > strong,
    .av2-cp-info-row > a {
        text-align: left;
    }
}
/* Keep the contact navigation comfortable on narrower tablets. */
@media (max-width: 1099.98px) {

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

    .av2-cp-contact-nav .btn {
        width: 100%;
    }
}

/* ============================================================
   CONTACT PROFILE - ASSIGNED CAMPAIGN WIDTH
   ============================================================ */

.av2-cp-campaign-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.av2-cp-campaign-item > div:first-child {
    min-width: 0;
    overflow: hidden;
}

.av2-cp-campaign-item > div:first-child strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-cp-campaign-actions {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    white-space: nowrap;
}

.av2-cp-campaign-actions form {
    margin: 0;
}

.av2-cp-campaign-actions .btn {
    width: 36px;
    height: 34px;
    min-width: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}


/* ========================================================================
   END 20.06 CONTACT PROFILE
   ======================================================================== */


/* ========================================================================
   END 20. CONTACTS & CRM
   ======================================================================== */

/* ========================================================================
   END 20.06 CONTACT PROFILE
   ======================================================================== */


/* ========================================================================
   20.07 TOUCHBASE RECOMMENDATIONS
   ======================================================================== */

/* ------------------------------------------------------------------------
   20.07.01 PANEL TITLE ROWS
   ------------------------------------------------------------------------ */

#touchbase-priority-panel .av-touchbase-title-row,
#touchbase-daily-panel .av-touchbase-daily-title-row {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
}

#touchbase-priority-panel .av-touchbase-title-row > .av-panel-title,
#touchbase-daily-panel .av-touchbase-daily-title-row > .av-panel-title {
    flex: 0 0 auto;
    margin: 0 !important;
    line-height: 1.2;
}

#touchbase-priority-panel .av-touchbase-count,
#touchbase-daily-panel .av-touchbase-daily-count {
    flex: 0 0 auto;
    margin-left: 8px;
}


/* ========================================================================
   END 20.07 TOUCHBASE RECOMMENDATIONS
   ======================================================================== */


/* ========================================================================
   END 20. CONTACTS & CRM
   ======================================================================== */


/* ========================================================================
   21. TASKS & ADDRESS BOOK
   ======================================================================== */


/* ========================================================================
   21.01 TASKS
   ======================================================================== */

.av2-task-subject,
.av2-task-row-title,
.av2-task-title {
    font-size: var(--av2-font-item-title) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-task-meta,
.av2-task-row-meta,
.av2-task-row-description {
    font-size: var(--av2-font-compact) !important;
}

.av2-task-priority,
.av2-task-row-priority {
    font-size: var(--av2-font-meta) !important;
}

.av2-task-toolbar .btn,
.av2-task-sort-form .btn,
.av2-task-sort-form .form-control,
.av2-task-search input {
    font-size: var(--av2-font-body) !important;
}

/* ============================================================
   TASK KPA
   ============================================================ */

.av2-tasks-kpa-strip.av2-kpa-strip-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.av2-tasks-kpa-strip.av2-kpa-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.av2-tasks-kpa-strip.av2-kpa-grid-1 {
    grid-template-columns: 1fr !important;
}

.av2-task-kpa-danger {
    color: #ffffff;
    background: #ef4754;
}

.av2-task-kpa-danger i {
    color: #ffffff;
}

.av2-task-kpa-title-danger {
    color: #dc3545;
}


/* ============================================================
   TASK WORKSPACE
   ============================================================ */

.av2-task-workspace {
    width: 100%;
    margin-bottom: 28px;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
    overflow: hidden;
}


/* ============================================================
   FILTER / SEARCH TOOLBAR
   ============================================================ */

.av2-task-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 72px;
    padding: 0 18px;
    background: var(--av2-surface, #ffffff);
    border-bottom: 1px solid var(--av2-border, #e7ecf2);
}

.av2-task-filter-tabs {
    display: flex;
    align-items: stretch;
    align-self: stretch;
}

.av2-task-filter-tab {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 72px;
    padding: 0 16px;
    color: var(--av2-text-muted, #6c757d) !important;
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-control);
    font-weight: 700;
    text-decoration: none !important;
}

.av2-task-filter-tab:hover {
    color: var(--av2-primary, #0b5cff) !important;
}

.av2-task-filter-tab.active {
    color: var(--av2-primary, #0b5cff) !important;
}

.av2-task-filter-tab.active:after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 3px;
    background: var(--av2-primary, #0b5cff);
    border-radius: 999px 999px 0 0;
}

.av2-task-toolbar-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
}

.av2-task-search {
    position: relative;
    flex: 1 1 280px;
    max-width: 360px;
}

.av2-task-search i {
    position: absolute;
    top: 50%;
    left: 13px;
    transform: translateY(-50%);
    color: var(--av2-text-muted, #6c757d);
    font-size: .82rem;
    pointer-events: none;
}

.av2-task-search input {
    width: 100%;
    height: 42px;
    padding: 8px 12px 8px 38px;
    color: var(--av2-text, #212529);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 9px;
    outline: none;
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-control);
}

.av2-task-search input:focus {
    border-color: var(--av2-primary, #0b5cff);
    box-shadow: 0 0 0 3px rgba(11,92,255,.08);
}

.av2-task-sort-form {
    display: flex;
    align-items: center;
    gap: 7px;
}

.av2-task-sort-form .form-control {
    width: auto;
    min-width: 116px;
    height: 42px;
    color: var(--av2-text, #212529);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border-color: var(--av2-border-strong, #dce3eb);
    border-radius: 9px;
    font-size: var(--av2-font-control);
}

.av2-task-sort-form .btn {
    min-height: 42px;
    padding: 8px 13px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}


/* ============================================================
   LIST HEADER
   ============================================================ */

.av2-task-list-card {
    background: var(--av2-surface, #ffffff);
}

.av2-task-list-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 62px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--av2-border, #e7ecf2);
}

.av2-task-list-heading h2 {
    margin: 0 0 3px;
    color: var(--av2-text, #212529);
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-section-title);
    font-weight: 700;
}

.av2-task-list-heading span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-section-title);
}


/* ============================================================
   TASK ROWS
   ============================================================ */

.av2-task-list {
    width: 100%;
}

.av2-task-row {
    display: grid;
    grid-template-columns: 42px minmax(220px, 1.5fr) minmax(130px, .55fr) minmax(100px, .45fr) minmax(150px, auto);
    gap: 14px;
    align-items: center;
    min-height: 84px;
    padding: 13px 18px;
    background: var(--av2-row-bg, var(--av2-surface, #ffffff));
    border-bottom: 1px solid var(--av2-row-border, var(--av2-border, #e7ecf2));
    transition: background .15s ease;
}

.av2-task-row:last-child {
    border-bottom: 0;
}

.av2-task-row:hover {
    background: var(--av2-hover-bg, var(--av2-surface-soft, #f8fafc));
}

.av2-task-row-priority {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    font-size: .9rem;
}

.av2-task-row-priority.is-low {
    color: #2457e6;
    background: rgba(36,87,230,.08);
    border: 1px solid rgba(36,87,230,.14);
}

.av2-task-row-priority.is-medium {
    color: #f5a000;
    background: rgba(245,160,0,.09);
    border: 1px solid rgba(245,160,0,.16);
}

.av2-task-row-priority.is-high {
    color: #ef4754;
    background: rgba(239,71,84,.08);
    border: 1px solid rgba(239,71,84,.15);
}

.av2-task-row-priority.is-critical {
    color: #8545db;
    background: rgba(133,69,219,.09);
    border: 1px solid rgba(133,69,219,.15);
}

.av2-task-row-main {
    min-width: 0;
}

.av2-task-row-subject {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 6px;
    overflow: hidden;
    color: var(--av2-text, #212529) !important;
    font-family: "Public Sans", sans-serif;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-task-row-subject:hover {
    color: var(--av2-primary, #0b5cff) !important;
}

.av2-task-row-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
}

.av2-task-row-meta > span:first-child {
    display: inline-flex;
    align-items: center;
}

.av2-task-row-meta i {
    margin-right: 5px;
}

.av2-task-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-task-status-badge.is-active {
    color: #2457e6;
    background: rgba(36,87,230,.08);
    border: 1px solid rgba(36,87,230,.13);
}

.av2-task-status-badge.is-complete {
    color: #278148;
    background: rgba(47,166,90,.08);
    border: 1px solid rgba(47,166,90,.15);
}


/* ============================================================
   PRIORITY CONTROL
   ============================================================ */

.av2-task-row-priority-control label {
    display: block;
    margin: 0 0 4px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-compact);
    font-weight: 700;
    text-transform: uppercase;
}

.av2-task-row-priority-control .form-control {
    height: 34px;
    padding: 5px 28px 5px 9px;
    color: var(--av2-text, #212529);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 8px;
    font-size: var(--av2-font-control);
}


/* ============================================================
   DUE DATE
   ============================================================ */

.av2-task-row-due {
    min-width: 0;
}

.av2-task-row-due span,
.av2-task-row-due strong {
    display: block;
}

.av2-task-row-due span {
    margin-bottom: 4px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-task-row-due strong {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    font-weight: 600;
}

.av2-task-row-due.is-overdue span {
    color: #dc3545;
}

.av2-task-row-due.is-today span {
    color: var(--av2-primary, #0b5cff);
}

.av2-task-row-due.is-complete span {
    color: #278148;
}


/* ============================================================
   ACTIONS
   ============================================================ */

.av2-task-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

.av2-task-row-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 7px 11px;
    border-radius: 8px;
    font-size: var(--av2-font-control);
    font-weight: 700;
    box-shadow: none;
}

.av2-task-row-actions .btn i {
    margin-right: 5px;
}

.av2-task-edit-button {
    flex: 0 0 36px;
    width: 36px;
    min-width: 36px !important;
    padding: 0 !important;
}

.av2-task-edit-button i {
    margin: 0 !important;
}


/* ============================================================
   LIST FOOTER / EMPTY
   ============================================================ */

.av2-task-list-footer {
    display: flex;
    align-items: center;
    min-height: 50px;
    padding: 10px 18px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border-top: 1px solid var(--av2-border, #e7ecf2);
    font-size: var(--av2-font-meta);
}

.av2-task-empty-state {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 150px;
    padding: 24px;
    text-align: left;
}

.av2-task-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    margin-right: 12px;
    color: #2fa65a;
    background: rgba(47,166,90,.08);
    border: 1px solid rgba(47,166,90,.16);
    border-radius: 50%;
    font-size: 1rem;
}

.av2-task-empty-state strong,
.av2-task-empty-state span {
    display: block;
}

.av2-task-empty-state strong {
    margin-bottom: 3px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-task-empty-state span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}


/* ============================================================
   SIDE MODAL
   Reusable AV2 right-side modal behavior
   ============================================================ */

.modal.av2-side-modal {
    padding-right: 0 !important;
}

.modal.av2-side-modal .av2-side-modal-dialog {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 470px;
    max-width: calc(100% - 24px);
    height: 100%;
    margin: 0;
}

.modal.av2-side-modal.fade .av2-side-modal-dialog {
    transform: translateX(100%) !important;
    transition: transform .24s ease-out;
}

.modal.av2-side-modal.show .av2-side-modal-dialog {
    transform: translateX(0) !important;
}

.modal.av2-side-modal .modal-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100vh;
    border-radius: 16px 0 0 16px;
}

.av2-side-modal-form {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
}

.av2-side-modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

.av2-side-modal-footer {
    flex: 0 0 auto;
}


/* ============================================================
   TASK FORM SECTIONS
   ============================================================ */

.av2-task-form-section {
    margin-bottom: 16px;
    padding: 16px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 11px;
}

.av2-task-form-section:last-child {
    margin-bottom: 0;
}

.av2-task-form-section-title {
    display: flex;
    align-items: center;
    margin-bottom: 14px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-section-title);
    font-weight: 700;
}

.av2-task-form-section-title i {
    width: 22px;
    margin-right: 6px;
    color: var(--av2-primary, #0b5cff);
}

.av2-task-reminder-days {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
}

.av2-task-day-check {
    margin: 0 !important;
}

.av2-task-details-input {
    min-height: 120px;
    resize: vertical;
}

.av2-task-edit-section {
    height: auto !important;
}


/* ============================================================
   DARK THEME SAFETY
   ============================================================ */

.mod-skin-dark .av2-task-row-priority-control .form-control,
.mod-skin-dark .av2-task-sort-form .form-control,
.mod-skin-dark .av2-task-search input {
    color: var(--av2-text);
    background: var(--av2-input-bg);
    border-color: var(--av2-border);
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-task-toolbar {
        align-items: flex-start;
        flex-direction: column;
        padding: 0;
        gap: 0;
    }

    .av2-task-filter-tabs {
        width: 100%;
        min-height: 60px;
        padding: 0 12px;
        border-bottom: 1px solid var(--av2-border, #e7ecf2);
    }

    .av2-task-filter-tab {
        min-height: 60px;
    }

    .av2-task-toolbar-controls {
        width: 100%;
        padding: 12px;
    }

    .av2-task-search {
        max-width: none;
    }

    .av2-task-row {
        grid-template-columns: 42px minmax(200px, 1fr) minmax(115px, .55fr) minmax(130px, auto);
        grid-template-areas:
            "icon main due actions"
            ". priority due actions";
    }

    .av2-task-row-priority {
        grid-area: icon;
    }

    .av2-task-row-main {
        grid-area: main;
    }

    .av2-task-row-priority-control {
        grid-area: priority;
    }

    .av2-task-row-due {
        grid-area: due;
    }

    .av2-task-row-actions {
        grid-area: actions;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    /* ========================================================
       TASKS PAGE ACTION BAR
       ======================================================== */

    /*
     * Theme 16 globally hides .av2-page-actions on mobile.
     * Tasks must keep its page actions available.
     *
     * :has(.av2-tasks-kpa-strip) keeps this override scoped
     * specifically to the Tasks page.
     */

    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions {
        display: flex !important;

        width: 100%;
        max-width: 100%;

        gap: 8px;
        margin: 12px 0 0 !important;
        padding: 8px;

        background: var(--av2-surface, #ffffff);
        border: 1px solid var(--av2-border, #e7ecf2);
        border-radius: 12px;

        box-sizing: border-box;

        box-shadow:
            0 2px 5px rgba(22, 34, 54, .025),
            0 6px 16px rgba(22, 34, 54, .035);
    }

    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions > .btn,
    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions > .dropdown {
        flex: 1 1 0;

        width: 100%;
        max-width: 100%;
        min-width: 0;

        margin: 0;
    }

    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions > .btn,
    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions .dropdown > .btn {
        width: 100%;
        min-width: 0;
        min-height: 42px;

        padding: 8px 11px;

        border-radius: 9px;

        font-size: var(--av2-font-control, .82rem);
        font-weight: 600;
        line-height: 1.2;

        white-space: nowrap;
    }

    /*
     * Secondary / More Actions control
     * matches Email Campaigns.
     */
    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions .dropdown > .btn {
        color: var(--av2-primary, #0b5cff);
        background: var(--av2-surface, #ffffff);
        border-color: var(--av2-border-strong, #dce3eb);
    }

    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions .dropdown > .btn:hover,
    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions .dropdown > .btn:focus {
        color: var(--av2-primary, #0b5cff);
        background: var(--av2-primary-soft, #eef5ff);
        border-color: rgba(11, 92, 255, .30);
    }


    /* ========================================================
       TASK ACTION DROPDOWN
       ======================================================== */

    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions .dropdown {
        position: relative;
    }

    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions .dropdown-menu {
        top: calc(100% + 6px) !important;
        right: 0 !important;
        left: auto !important;

        width: min(290px, calc(100vw - 32px));
        max-width: calc(100vw - 32px);
        min-width: 0;

        margin: 0;
        padding: 6px;

        transform: none !important;

        border: 1px solid var(--av2-border, #e7ecf2);
        border-radius: 11px;

        z-index: 1060;
    }

    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions .dropdown-item {
        display: flex;
        align-items: center;

        min-height: 42px;

        padding: 9px 11px;

        border-radius: 8px;

        font-size: var(--av2-font-body, .80rem);
    }

    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions .dropdown-item i {
        width: 20px;
        margin-right: 7px;
        text-align: center;
    }


    /* ========================================================
       TASK TOOLBAR
       ======================================================== */

    .av2-task-toolbar-controls {
        display: block;
    }

    .av2-task-search {
        margin-bottom: 9px;
    }

    .av2-task-sort-form {
        display: grid;
        grid-template-columns: 1fr 1fr auto;
        width: 100%;
    }

    .av2-task-sort-form .form-control {
        min-width: 0;
        width: 100%;
    }


    /* ========================================================
       TASK ROW
       ======================================================== */

    .av2-task-row {
        display: grid;

        grid-template-columns: 38px minmax(0, 1fr);

        grid-template-areas:
            "icon main"
            ". due"
            ". priority"
            ". actions";

        gap: 10px 12px;

        padding: 14px;
    }

    .av2-task-row-priority {
        grid-area: icon;

        width: 36px;
        height: 36px;
    }

    .av2-task-row-main {
        grid-area: main;
        min-width: 0;
    }

    .av2-task-row-priority-control {
        grid-area: priority;
    }

    .av2-task-row-due {
        grid-area: due;

        display: flex;
        align-items: center;

        gap: 8px;
    }

    .av2-task-row-due span,
    .av2-task-row-due strong {
        display: inline;
        margin: 0;
    }

    .av2-task-row-actions {
        grid-area: actions;

        justify-content: flex-start;
    }

    .av2-task-row-actions .btn:not(.av2-task-edit-button) {
        flex: 1 1 auto;
    }


    /* ========================================================
       TASK SIDE MODAL
       ======================================================== */

    .modal.av2-side-modal .av2-side-modal-dialog {
        width: 100%;
        max-width: 100%;
    }

    .modal.av2-side-modal .modal-content {
        border-radius: 0;
    }
}


/* ============================================================
   VERY SMALL PHONE
   ============================================================ */

@media (max-width: 359.98px) {

    body:has(.av2-tasks-kpa-strip)
    .av2-page-heading .av2-page-actions {
        flex-direction: column;
    }
}


/* ========================================================================
   END 21.01 TASKS
   ======================================================================== */


/* ========================================================================
   21.02 ADDRESS BOOK
   ======================================================================== */

.av2-addressbook-name {
    font-size: var(--av2-font-item-title) !important;
}

.av2-addressbook-job,
.av2-addressbook-company,
.av2-addressbook-contact-line,
.av2-addressbook-address {
    font-size: var(--av2-font-compact) !important;
}

.av2-addressbook-shared-badge {
    font-size: var(--av2-font-meta) !important;
}

.av2-addressbook-toolbar input,
.av2-addressbook-toolbar .btn {
    font-size: var(--av2-font-body) !important;
}

.av2-addressbook-empty strong {
    font-size: var(--av2-font-item-title) !important;
}

.av2-addressbook-empty span {
    font-size: var(--av2-font-compact) !important;
}

/* ============================================================
   KPA
   ============================================================ */

.av2-addressbook-kpa-strip.av2-kpa-strip-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.av2-addressbook-kpa-strip.av2-kpa-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.av2-addressbook-kpa-strip.av2-kpa-grid-1 {
    grid-template-columns: 1fr !important;
}


/* ============================================================
   TOOLBAR
   ============================================================ */

.av2-addressbook-toolbar {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 12px;
    margin-bottom: 18px;
}

.av2-addressbook-search {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.av2-addressbook-search > i {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    color: var(--av2-text-muted, #6c757d);
    font-size: .88rem;
    pointer-events: none;
}

.av2-addressbook-search input {
    width: 100%;
    height: 50px;
    padding: 10px 15px 10px 42px;
    color: var(--av2-text, #212529);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 11px;
    outline: 0;
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-control);
    box-shadow: var(--av2-shadow-sm);
}

.av2-addressbook-search input:focus {
    border-color: var(--av2-primary, #0b5cff);
    box-shadow: 0 0 0 3px rgba(11,92,255,.08);
}

.av2-addressbook-view-toggle {
    flex: 0 0 auto;
}

.av2-addressbook-view-toggle .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 9px 14px;
    background: var(--av2-surface, #ffffff);
    border-color: var(--av2-border-strong, #dce3eb);
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-addressbook-view-toggle .btn i {
    margin-right: 6px;
}

.av2-addressbook-view-toggle .btn.active {
    color: var(--av2-primary, #0b5cff) !important;
    background: var(--av2-primary-soft, #eef5ff) !important;
    border-color: var(--av2-primary, #0b5cff) !important;
}


/* ============================================================
   BULK ACTIONS
   ============================================================ */

.av2-addressbook-bulk-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    padding: 12px 14px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid rgba(220,53,69,.20);
    border-radius: 10px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-addressbook-bulk-actions > div {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.av2-addressbook-bulk-actions strong {
    color: #dc3545;
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-addressbook-bulk-actions span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}


/* ============================================================
   CARD GRID
   ============================================================ */

.av2-addressbook-grid {
    margin-left: -8px;
    margin-right: -8px;
}

.av2-addressbook-item {
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 16px;
}

.av2-addressbook-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 390px;
    overflow: hidden;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.av2-addressbook-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--av2-shadow-md);
}

.av2-addressbook-card.is-shared {
    border-color: rgba(133,69,219,.28);
}

.av2-addressbook-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    min-height: 100px;
    padding: 17px;
    background: var(--av2-surface, #ffffff);
    border-bottom: 1px solid var(--av2-border, #e7ecf2);
}

.av2-addressbook-person {
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 1 1 auto;
}

.av2-addressbook-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    margin-right: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid rgba(11,92,255,.15);
    border-radius: 50%;
    font-family: "Public Sans", sans-serif;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.av2-addressbook-person-copy {
    min-width: 0;
}

.av2-addressbook-name {
    max-width: 100%;
    margin-bottom: 3px;
    overflow: hidden;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-item-title);
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-addressbook-job,
.av2-addressbook-company {
    max-width: 100%;
    overflow: hidden;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-addressbook-company {
    margin-top: 1px;
}

.av2-addressbook-card-tools {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: 10px;
}

.av2-addressbook-shared-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 8px;
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.14);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-addressbook-shared-badge i {
    margin-right: 4px;
}

.av2-addressbook-select-button,
.av2-addressbook-edit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    padding: 0 !important;
    border-radius: 8px;
}

.av2-addressbook-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    padding: 16px;
}

.av2-addressbook-contact-lines {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.av2-addressbook-contact-line,
.av2-addressbook-address {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 10px;
    color: var(--av2-text, #212529) !important;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
    text-decoration: none !important;
}

.av2-addressbook-contact-line:hover {
    background: var(--av2-hover-bg, #fbfcff);
    border-color: rgba(11,92,255,.22);
}

.av2-addressbook-line-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin-right: 8px;
    border-radius: 8px;
    font-size: .76rem;
}

.av2-addressbook-line-icon.is-phone,
.av2-addressbook-line-icon.is-mobile {
    color: #2fa65a;
    background: rgba(47,166,90,.08);
}

.av2-addressbook-line-icon.is-email {
    color: #8545db;
    background: rgba(133,69,219,.08);
}

.av2-addressbook-line-icon.is-web {
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-addressbook-line-icon.is-address {
    color: #f5a000;
    background: rgba(245,160,0,.09);
}

.av2-addressbook-contact-line > div,
.av2-addressbook-address > div {
    min-width: 0;
}

.av2-addressbook-contact-line small,
.av2-addressbook-contact-line strong,
.av2-addressbook-address small,
.av2-addressbook-address strong {
    display: block;
}

.av2-addressbook-contact-line small,
.av2-addressbook-address small {
    margin-bottom: 2px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    font-weight: 600;
    text-transform: uppercase;
}

.av2-addressbook-contact-line strong,
.av2-addressbook-address strong {
    overflow: hidden;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-addressbook-address {
    margin-top: 9px;
}

.av2-addressbook-address strong {
    white-space: normal;
    line-height: 1.4;
}

.av2-addressbook-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid var(--av2-border, #e7ecf2);
}

.av2-addressbook-socials {
    display: flex;
    align-items: center;
    gap: 6px;
}

.av2-addressbook-social {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--av2-primary, #0b5cff) !important;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 8px;
    text-decoration: none !important;
}

.av2-addressbook-social:hover {
    background: var(--av2-primary-soft, #eef5ff);
    border-color: rgba(11,92,255,.20);
}

.av2-addressbook-share-button {
    min-height: 34px;
    padding: 6px 10px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-addressbook-share-button i {
    margin-right: 5px;
}


/* ============================================================
   LIST VIEW
   ============================================================ */

.av2-addressbook-list-mode .av2-addressbook-item {
    flex: 0 0 100%;
    max-width: 100%;
}

.av2-addressbook-list-mode .av2-addressbook-card {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(250px, .9fr) minmax(0, 2fr);
}

.av2-addressbook-list-mode .av2-addressbook-card-header {
    min-height: 120px;
    border-right: 1px solid var(--av2-border, #e7ecf2);
    border-bottom: 0;
}

.av2-addressbook-list-mode .av2-addressbook-card-body {
    min-height: 120px;
}

.av2-addressbook-list-mode .av2-addressbook-contact-lines {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.av2-addressbook-list-mode .av2-addressbook-address {
    margin-top: 9px;
}

.av2-addressbook-list-mode .av2-addressbook-card-footer {
    margin-top: 12px;
}


/* ============================================================
   EMPTY
   ============================================================ */

.av2-addressbook-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 230px;
    padding: 28px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
    text-align: center;
}

.av2-addressbook-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 50%;
    font-size: 1.1rem;
}

.av2-addressbook-empty strong {
    margin-bottom: 4px;
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-addressbook-empty span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}


/* ============================================================
   IMPORT MODAL
   ============================================================ */

.av2-addressbook-import-modal {
    max-width: 1180px !important;
}

.av2-addressbook-import-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.av2-addressbook-import-step {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 11px 13px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}

.av2-addressbook-import-step > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin-right: 9px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 50%;
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-addressbook-import-step strong,
.av2-addressbook-import-step small {
    display: block;
}

.av2-addressbook-import-step strong {
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-addressbook-import-step small {
    margin-top: 2px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
}

.av2-addressbook-import-step.is-active {
    border-color: rgba(11,92,255,.28);
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-addressbook-import-step.is-active > span {
    color: #ffffff;
    background: var(--av2-primary, #0b5cff);
    border-color: var(--av2-primary, #0b5cff);
}

.av2-addressbook-import-step.is-complete > span {
    color: #ffffff;
    background: #2fa65a;
    border-color: #2fa65a;
}

.av2-addressbook-import-upload-section,
.av2-addressbook-import-map-section {
    height: 100% !important;
}

.av2-addressbook-upload-zone {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 210px;
    margin: 0;
    padding: 22px;
    cursor: pointer;
    color: var(--av2-text, #212529);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px dashed var(--av2-border-strong, #dce3eb);
    border-radius: 12px;
    text-align: center;
}

.av2-addressbook-upload-zone:hover {
    border-color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-addressbook-upload-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 50%;
    font-size: 1.25rem;
}

.av2-addressbook-upload-zone strong {
    margin-bottom: 4px;
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-addressbook-upload-zone > span {
    margin-bottom: 14px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}

.av2-addressbook-upload-button {
    min-height: 38px;
    padding: 8px 14px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-addressbook-file-selected,
.av2-addressbook-file-error {
    align-items: center;
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 9px;
}

.av2-addressbook-file-selected {
    color: #278148;
    background: rgba(47,166,90,.08);
    border: 1px solid rgba(47,166,90,.15);
}

.av2-addressbook-file-selected > i,
.av2-addressbook-file-error > i {
    margin-right: 9px;
}

.av2-addressbook-file-selected strong,
.av2-addressbook-file-selected span {
    display: block;
}

.av2-addressbook-file-selected strong {
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-addressbook-file-selected span {
    margin-top: 1px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-control);
}

.av2-addressbook-file-error {
    color: #dc3545;
    background: rgba(220,53,69,.07);
    border: 1px solid rgba(220,53,69,.16);
    font-size: var(--av2-font-meta);
    font-weight: 600;
}

.av2-addressbook-import-help {
    margin-top: 15px;
    padding: 12px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
}

.av2-addressbook-import-help-title {
    margin-bottom: 8px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-addressbook-import-help-title i {
    margin-right: 5px;
    color: var(--av2-primary, #0b5cff);
}

.av2-addressbook-import-help ul {
    margin: 0;
    padding-left: 18px;
}

.av2-addressbook-import-help li {
    margin-bottom: 4px;
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-addressbook-import-help li:last-child {
    margin-bottom: 0;
}

.av2-addressbook-consent {
    margin-top: 14px;
    padding: 14px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 11px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-addressbook-consent .custom-control-label {
    font-size: var(--av2-font-compact);
    font-weight: 700;
}

.av2-addressbook-consent > small {
    display: block;
    margin-top: 9px;
    padding-left: 24px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    line-height: 1.45;
}

.av2-addressbook-mapping-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 360px;
    padding: 24px;
    text-align: center;
}

.av2-addressbook-mapping-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin-bottom: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 50%;
}

.av2-addressbook-mapping-empty strong {
    margin-bottom: 4px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-addressbook-mapping-empty span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}

.av2-addressbook-mapping-summary {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 12px;
    padding: 10px 12px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
}

.av2-addressbook-mapping-summary > div {
    display: flex;
    align-items: center;
}

.av2-addressbook-map-dot {
    width: 9px;
    height: 9px;
    margin-right: 6px;
    border-radius: 50%;
}

.av2-addressbook-map-dot.is-matched {
    background: #2fa65a;
}

.av2-addressbook-map-dot.is-review {
    background: #f5a000;
}

.av2-addressbook-mapping-summary strong {
    margin-right: 4px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
}

.av2-addressbook-mapping-summary small {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
}

.av2-addressbook-mapping-header,
.av2-addressbook-mapping-row {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) 34px minmax(180px, 1fr);
    gap: 8px;
    align-items: center;
}

.av2-addressbook-mapping-header {
    padding: 0 10px 7px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-compact);
    font-weight: 700;
    text-transform: uppercase;
}

.av2-addressbook-mapping-container {
    max-height: 430px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(100,116,139,.30) transparent;
}

.av2-addressbook-mapping-row {
    padding: 8px 10px;
    border-top: 1px solid var(--av2-border, #e7ecf2);
}

.av2-addressbook-mapping-source {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-addressbook-mapping-type {
    flex: 0 0 auto;
    margin-right: 8px;
    padding: 3px 6px;
    color: #278148;
    background: rgba(47,166,90,.08);
    border-radius: 6px;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-addressbook-mapping-source strong {
    overflow: hidden;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-addressbook-mapping-arrow {
    color: var(--av2-text-muted, #6c757d);
    text-align: center;
}

.av2-addressbook-mapping-destination {
    min-width: 0;
}

.av2-addressbook-mapping-destination .form-control {
    height: 38px;
    font-size: var(--av2-font-control);
}

.av2-addressbook-mapping-destination .is-auto-matched {
    color: #278148 !important;
    background: rgba(47,166,90,.06) !important;
    border-color: rgba(47,166,90,.24) !important;
}


/* ============================================================
   ADD / EDIT MODALS
   ============================================================ */

.av2-addressbook-form-section {
    height: auto !important;
}

.av2-addressbook-edit-footer {
    flex-wrap: wrap;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-addressbook-list-mode .av2-addressbook-card {
        grid-template-columns: minmax(220px, .8fr) minmax(0, 1.4fr);
    }

    .av2-addressbook-list-mode .av2-addressbook-contact-lines {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* ============================================================
   MOBILE / SMALL TABLET
   ============================================================ */

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

    .av2-addressbook-view-toggle {
        width: 100%;
    }

    .av2-addressbook-view-toggle .btn {
        flex: 1 1 0;
    }

    .av2-addressbook-bulk-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-addressbook-bulk-actions .btn {
        width: 100%;
    }

    .av2-addressbook-card-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-addressbook-card-tools {
        width: 100%;
        margin: 12px 0 0;
    }

    .av2-addressbook-shared-badge {
        margin-right: auto;
    }

    .av2-addressbook-contact-lines {
        grid-template-columns: 1fr;
    }

    .av2-addressbook-list-mode .av2-addressbook-card {
        display: flex;
    }

    .av2-addressbook-list-mode .av2-addressbook-card-header {
        border-right: 0;
        border-bottom: 1px solid var(--av2-border, #e7ecf2);
    }

    .av2-addressbook-list-mode .av2-addressbook-contact-lines {
        grid-template-columns: 1fr;
    }

    .av2-addressbook-import-steps {
        grid-template-columns: 1fr;
    }

    .av2-addressbook-import-upload-section {
        margin-bottom: 14px;
    }

    .av2-addressbook-mapping-header,
    .av2-addressbook-mapping-row {
        grid-template-columns: 1fr;
    }

    .av2-addressbook-mapping-header {
        display: none;
    }

    .av2-addressbook-mapping-arrow {
        transform: rotate(90deg);
    }

    .av2-addressbook-edit-footer form {
        width: 100%;
        margin: 0 0 8px !important;
    }

    .av2-addressbook-edit-footer form .btn {
        width: 100%;
    }
}


/* ========================================================================
   END 21.02 ADDRESS BOOK
   ======================================================================== */


/* ========================================================================
   END 21. TASKS & ADDRESS BOOK
   ======================================================================== */


/* ========================================================================
   30. LEAD GENERATION & LANDING PAGES
   ======================================================================== */


/* ========================================================================
   30.01 OPEN HOUSE SIGN-IN
   ======================================================================== */

.av2-openhouse-intro strong {
    font-size: var(--av2-font-item-title) !important;
}

.av2-openhouse-intro span {
    font-size: var(--av2-font-compact) !important;
}

.av2-openhouse-kpa-copy span {
    font-size: var(--av2-font-kpa-title) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-openhouse-kpa-copy strong {
    font-size: var(--av2-font-kpa-value) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-openhouse-kpa-copy small {
    font-size: var(--av2-font-meta) !important;
}

.av2-openhouse-search input {
    font-size: var(--av2-font-control) !important;
}

.av2-openhouse-section-heading h2 {
    font-size: var(--av2-font-section-title) !important;
}

.av2-openhouse-section-heading > div > span {
    font-size: var(--av2-font-body) !important;
}

.av2-openhouse-page-count,
.av2-openhouse-image-badge {
    font-size: var(--av2-font-meta) !important;
}

.av2-openhouse-address small {
    font-size: var(--av2-font-meta) !important;
}

.av2-openhouse-address h3 {
    font-size: var(--av2-font-item-title) !important;
}

.av2-openhouse-meta-item small {
    font-size: var(--av2-font-meta) !important;
}

.av2-openhouse-meta-item strong {
    font-size: var(--av2-font-compact) !important;
}

.av2-openhouse-launch,
.av2-openhouse-card-footer .btn,
.av2-openhouse-empty .btn {
    font-size: var(--av2-font-body) !important;
}

.av2-openhouse-empty strong {
    font-size: var(--av2-font-item-title) !important;
}

.av2-openhouse-empty > span {
    font-size: var(--av2-font-compact) !important;
}

/* ============================================================
   INTRO
   ============================================================ */

.av2-openhouse-intro {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 2px 0 18px;
    padding: 15px 17px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-openhouse-intro-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-right: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 11px;
    font-size: 1rem;
}

.av2-openhouse-intro strong,
.av2-openhouse-intro span {
    display: block;
}

.av2-openhouse-intro strong {
    margin-bottom: 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-openhouse-intro span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}


/* ============================================================
   THREE KPI CARDS
   ============================================================ */

.av2-openhouse-kpa-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.av2-openhouse-kpa-card {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 110px;
    padding: 17px;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-openhouse-kpa-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-right: 13px;
    border-radius: 12px;
    font-size: 1rem;
}

.av2-openhouse-kpa-icon.is-blue {
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-openhouse-kpa-icon.is-green {
    color: #2fa65a;
    background: rgba(47,166,90,.09);
}

.av2-openhouse-kpa-icon.is-orange {
    color: #f5a000;
    background: rgba(245,160,0,.10);
}

.av2-openhouse-kpa-copy {
    min-width: 0;
}

.av2-openhouse-kpa-copy span,
.av2-openhouse-kpa-copy strong,
.av2-openhouse-kpa-copy small {
    display: block;
}

.av2-openhouse-kpa-copy span {
    margin-bottom: 3px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-openhouse-kpa-copy strong {
    margin-bottom: 2px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-family: "Public Sans", sans-serif;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.1;
}

.av2-openhouse-kpa-copy small {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
}


/* ============================================================
   SEARCH TOOLBAR
   ============================================================ */

.av2-openhouse-toolbar {
    width: 100%;
    margin-bottom: 18px;
    padding: 14px;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-openhouse-search {
    position: relative;
    width: 100%;
}

.av2-openhouse-search > i {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    color: var(--av2-text-muted, #6c757d);
    font-size: .84rem;
    pointer-events: none;
}

.av2-openhouse-search input {
    width: 100%;
    height: 46px;
    padding: 9px 13px 9px 41px;
    color: var(--av2-text, #212529);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 9px;
    outline: 0;
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-control);
}

.av2-openhouse-search input:focus {
    border-color: var(--av2-primary, #0b5cff);
    box-shadow: 0 0 0 3px rgba(11,92,255,.08);
}


/* ============================================================
   SECTION HEADING
   ============================================================ */

.av2-openhouse-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 2px 0 13px;
}

.av2-openhouse-section-heading h2 {
    margin: 0 0 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-section-title);
    font-weight: 700;
}

.av2-openhouse-section-heading > div > span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}

.av2-openhouse-page-count {
    flex: 0 0 auto;
    padding: 5px 9px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid rgba(11,92,255,.12);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}


/* ============================================================
   CARD GRID
   ============================================================ */

.av2-openhouse-grid {
    margin-left: -8px;
    margin-right: -8px;
}

.av2-openhouse-item {
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 16px;
}

.av2-openhouse-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 455px;
    overflow: hidden;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.av2-openhouse-card:hover {
    transform: translateY(-2px);
    border-color: var(--av2-border-strong, #dce3eb);
    box-shadow: var(--av2-shadow-md);
}

.av2-openhouse-image-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    overflow: hidden;
    background: var(--av2-surface-soft, #f8fafc);
}

.av2-openhouse-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.av2-openhouse-image-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 9px;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(255,255,255,.60);
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(15,23,42,.10);
    backdrop-filter: blur(4px);
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-openhouse-image-badge i {
    margin-right: 5px;
}

.av2-openhouse-image-badge.is-form {
    color: var(--av2-primary, #0b5cff);
}

.av2-openhouse-image-badge.is-qr {
    color: #8545db;
}

.av2-openhouse-image-badge.is-both {
    color: #f08b00;
}


/* ============================================================
   CARD BODY
   ============================================================ */

.av2-openhouse-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 16px;
}

.av2-openhouse-address {
    display: flex;
    align-items: flex-start;
    margin-bottom: 14px;
}

.av2-openhouse-address-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-right: 9px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 9px;
    font-size: .76rem;
}

.av2-openhouse-address > div:last-child {
    min-width: 0;
}

.av2-openhouse-address small {
    display: block;
    margin-bottom: 2px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.av2-openhouse-address h3 {
    margin: 0;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-section-title);
    font-weight: 700;
    line-height: 1.35;
}

.av2-openhouse-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-bottom: 15px;
}

.av2-openhouse-meta-item {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 10px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
}

.av2-openhouse-meta-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin-right: 8px;
    border-radius: 8px;
    font-size: .72rem;
}

.av2-openhouse-meta-icon.is-type {
    color: #8545db;
    background: rgba(133,69,219,.08);
}

.av2-openhouse-meta-icon.is-signins {
    color: #2fa65a;
    background: rgba(47,166,90,.08);
}

.av2-openhouse-meta-item > div {
    min-width: 0;
}

.av2-openhouse-meta-item small,
.av2-openhouse-meta-item strong {
    display: block;
}

.av2-openhouse-meta-item small {
    margin-bottom: 2px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    font-weight: 600;
    text-transform: uppercase;
}

.av2-openhouse-meta-item strong {
    overflow: hidden;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-meta);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-openhouse-launch {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin-top: auto;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-openhouse-launch i {
    margin-right: 6px;
}


/* ============================================================
   CARD FOOTER
   ============================================================ */

.av2-openhouse-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 16px;
    background: var(--av2-surface-soft, #f8fafc);
    border-top: 1px solid var(--av2-border, #e7ecf2);
}

.av2-openhouse-card-footer .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 7px 11px;
    border-radius: 8px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-openhouse-card-footer .btn i {
    margin-right: 5px;
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.av2-openhouse-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 260px;
    padding: 30px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
    text-align: center;
}

.av2-openhouse-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 50%;
    font-size: 1.15rem;
}

.av2-openhouse-empty strong {
    margin-bottom: 4px;
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-openhouse-empty > span {
    max-width: 460px;
    margin-bottom: 14px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}

.av2-openhouse-empty .btn {
    font-size: var(--av2-font-control);
    font-weight: 700;
}


/* ============================================================
   VIDEO MODAL
   ============================================================ */

.av2-openhouse-video-wrap {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    background: #000;
    border-radius: 11px;
}

.av2-openhouse-video-wrap video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/* ============================================================
   DARK MODE DETAIL
   ============================================================ */

.mod-skin-dark .av2-openhouse-image-badge {
    background: rgba(28,36,51,.94);
    border-color: rgba(255,255,255,.10);
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {
    .av2-openhouse-kpa-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .av2-openhouse-kpa-card {
        align-items: flex-start;
        min-height: 118px;
    }

    .av2-openhouse-kpa-icon {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
    }
}


/* ============================================================
   SMALL TABLET
   ============================================================ */

@media (max-width: 767.98px) {
    .av2-openhouse-kpa-grid {
        grid-template-columns: 1fr;
    }

    .av2-openhouse-kpa-card {
        min-height: 88px;
    }

    .av2-openhouse-section-heading {
        align-items: flex-start;
    }

    .av2-openhouse-meta {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 575.98px) {
    .av2-openhouse-intro {
        align-items: flex-start;
        padding: 14px;
    }

    .av2-openhouse-intro-icon {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
    }

    .av2-openhouse-section-heading {
        flex-direction: column;
        gap: 8px;
    }

    .av2-openhouse-card {
        min-height: 0;
    }

    .av2-openhouse-card-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-openhouse-card-footer .btn,
    .av2-openhouse-card-footer form,
    .av2-openhouse-card-footer form .btn {
        width: 100%;
    }
}


/* ========================================================================
   END 30.01 OPEN HOUSE SIGN-IN
   ======================================================================== */


/* ========================================================================
   30.02 OPEN HOUSE BUILDER
   ======================================================================== */

.av2-capture-option > strong,
.av2-address-source-option strong {
    font-size: var(--av2-font-item-title) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-capture-option > span:not(.av2-capture-option-check):not(.av2-capture-option-icon),
.av2-address-source-option span:not(.av2-address-source-icon) {
    font-size: var(--av2-font-compact) !important;
    line-height: 1.45;
}

.av2-capture-selection-summary small {
    font-size: var(--av2-font-meta) !important;
}

.av2-capture-selection-summary strong {
    font-size: var(--av2-font-body) !important;
}

.av2-address-choice-title {
    font-size: var(--av2-font-compact) !important;
}

/* ============================================================
   INTRO / NOTICE
   ============================================================ */

.av2-builder-intro,
.av2-builder-notice {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 16px;
    padding: 14px 16px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-builder-intro-icon,
.av2-builder-notice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    margin-right: 11px;
    border-radius: 10px;
    font-size: .95rem;
}

.av2-builder-intro-icon {
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-builder-notice {
    background: rgba(245,160,0,.06);
    border-color: rgba(245,160,0,.18);
}

.av2-builder-notice-icon {
    color: #f5a000;
    background: rgba(245,160,0,.10);
}

.av2-builder-intro strong,
.av2-builder-intro span,
.av2-builder-notice strong,
.av2-builder-notice span {
    display: block;
}

.av2-builder-intro strong,
.av2-builder-notice strong {
    margin-bottom: 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-builder-intro span,
.av2-builder-notice span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}


/* ============================================================
   BUILDER SECTION
   ============================================================ */

.av2-builder-section {
    width: 100%;
    margin-bottom: 16px;
    overflow: hidden;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-builder-section-header {
    display: flex;
    align-items: center;
    min-height: 74px;
    padding: 14px 16px;
    background: var(--av2-surface, #ffffff);
    border-bottom: 1px solid var(--av2-border, #e7ecf2);
}

.av2-builder-section-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 10px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid rgba(11,92,255,.13);
    border-radius: 10px;
    font-size: .9rem;
}

.av2-builder-section-header > div:nth-child(2) {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-builder-section-header h2 {
    margin: 0 0 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-section-title);
    font-weight: 700;
    line-height: 1.25;
}

.av2-builder-section-header p {
    margin: 0;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-builder-step {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin-left: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 50%;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-builder-section-body {
    padding: 16px;
}


/* ============================================================
   IMAGE UPLOAD
   ============================================================ */

.av2-builder-upload-zone {
    display: block;
    margin: 0;
    cursor: pointer;
}

.av2-builder-image-preview {
    position: relative;
    width: 100%;
    padding-top: 66%;
    overflow: hidden;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px dashed var(--av2-border-strong, #dce3eb);
    border-radius: 11px;
}

.av2-builder-image-preview img,
.av2-builder-image-placeholder {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.av2-builder-image-preview img {
    object-fit: cover;
}

.av2-builder-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 20px;
    color: var(--av2-text-muted, #6c757d);
    text-align: center;
}

.av2-builder-image-placeholder-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 10px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 50%;
    font-size: 1rem;
}

.av2-builder-image-placeholder strong,
.av2-builder-image-placeholder span {
    display: block;
}

.av2-builder-image-placeholder strong {
    margin-bottom: 3px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-builder-image-placeholder span {
    max-width: 210px;
    font-size: var(--av2-font-body);
    line-height: 1.4;
}

.av2-builder-upload-copy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
    padding: 10px 11px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
}

.av2-builder-upload-copy > div:first-child {
    min-width: 0;
}

.av2-builder-upload-copy strong,
.av2-builder-upload-copy span {
    display: block;
}

.av2-builder-upload-copy strong {
    max-width: 210px;
    overflow: hidden;
    margin-bottom: 2px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-builder-upload-copy span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}

.av2-builder-upload-copy .btn {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 6px 9px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}


/* ============================================================
   SIGN-IN METHOD CARDS
   ============================================================ */

.av2-capture-options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
}

.av2-capture-option {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-areas:
        "icon title"
        "icon desc";
    gap: 2px 10px;
    width: 100%;
    min-height: 88px;
    padding: 12px 38px 12px 12px;
    cursor: pointer;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 11px;
    outline: 0;
    text-align: left;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.av2-capture-option:hover {
    border-color: rgba(11,92,255,.30);
    background: var(--av2-hover-bg, var(--av2-surface-soft, #f8fafc));
}

.av2-capture-option.is-selected {
    background: var(--av2-primary-soft, #eef5ff);
    border-color: var(--av2-primary, #0b5cff);
    box-shadow: 0 0 0 3px rgba(11,92,255,.06);
}

.av2-capture-option-icon {
    grid-area: icon;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    align-self: center;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid rgba(11,92,255,.12);
    border-radius: 10px;
    font-size: 1rem;
}

.av2-capture-option.is-selected .av2-capture-option-icon {
    color: #ffffff;
    background: var(--av2-primary, #0b5cff);
    border-color: var(--av2-primary, #0b5cff);
}

.av2-capture-option > strong {
    grid-area: title;
    align-self: end;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-capture-option > span:not(.av2-capture-option-check):not(.av2-capture-option-icon) {
    grid-area: desc;
    align-self: start;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}

.av2-capture-option-check {
    position: absolute;
    top: 10px;
    right: 10px;
    display: none;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: #ffffff;
    background: var(--av2-primary, #0b5cff);
    border-radius: 50%;
    font-size: var(--av2-font-meta);
}

.av2-capture-option.is-selected .av2-capture-option-check {
    display: flex;
}

.av2-capture-selection-summary {
    display: flex;
    align-items: center;
    margin-top: 11px;
    padding: 10px 11px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
}

.av2-capture-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin-right: 8px;
    color: #2fa65a;
    background: rgba(47,166,90,.09);
    border-radius: 8px;
}

.av2-capture-selection-summary small,
.av2-capture-selection-summary strong {
    display: block;
}

.av2-capture-selection-summary small {
    margin-bottom: 2px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-control);
    font-weight: 600;
    text-transform: uppercase;
}

.av2-capture-selection-summary strong {
    font-size: var(--av2-font-control);
    font-weight: 700;
}


/* ============================================================
   ADDRESS SOURCE
   ============================================================ */

.av2-address-choice-title {
    margin-bottom: 10px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-address-source-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 12px;
}

.av2-address-source-option {
    display: flex;
    align-items: center;
    min-height: 86px;
    padding: 12px;
    cursor: pointer;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 10px;
    outline: 0;
    text-align: left;
}

.av2-address-source-option:hover {
    border-color: rgba(11,92,255,.30);
    background: var(--av2-hover-bg, var(--av2-surface-soft, #f8fafc));
}

.av2-address-source-option.is-selected {
    background: var(--av2-primary-soft, #eef5ff);
    border-color: var(--av2-primary, #0b5cff);
    box-shadow: 0 0 0 3px rgba(11,92,255,.06);
}

.av2-address-source-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 9px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 9px;
    font-size: 1.1rem !important;
    line-height: 1;
}

.av2-address-source-icon i {
    font-size: inherit !important;
    line-height: 1;
}

.av2-address-source-option.is-selected .av2-address-source-icon {
    color: #ffffff;
    background: var(--av2-primary, #0b5cff);
}

.av2-address-source-option strong,
.av2-address-source-option span:not(.av2-address-source-icon) {
    display: block;
}

.av2-address-source-option strong {
    margin-bottom: 2px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-address-source-option span:not(.av2-address-source-icon) {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.35;
}

.av2-address-detail-panel {
    margin-top: 10px;
    padding: 13px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}


/* ============================================================
   BUILDER FORM CONTROLS
   ============================================================ */

.av2-openhouse-builder .av2-builder-form-group > label {
    margin-bottom: 6px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-compact);
    font-weight: 700;
}

.av2-openhouse-builder .form-control {
    min-height: 44px;
    padding: 9px 11px;
    color: var(--av2-text, #212529);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 9px;
    box-shadow: none;
    font-size: var(--av2-font-control);
}

.av2-openhouse-builder .form-control:focus {
    border-color: var(--av2-primary, #0b5cff);
    box-shadow: 0 0 0 3px rgba(11,92,255,.08);
}


/* ============================================================
   EDITOR
   ============================================================ */

.av2-builder-editor-tip {
    display: flex;
    align-items: center;
    margin-bottom: 11px;
    padding: 9px 11px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
    font-size: var(--av2-font-meta);
}

.av2-builder-editor-tip i {
    margin-right: 7px;
    color: #f5a000;
}

.av2-openhouse-builder .note-editor.note-frame {
    overflow: hidden;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 10px;
    box-shadow: none;
}

.av2-openhouse-builder .note-toolbar {
    background: var(--av2-surface-soft, #f8fafc);
    border-bottom: 1px solid var(--av2-border, #e7ecf2);
}

.av2-openhouse-builder .note-editable {
    min-height: 500px;
    color: var(--av2-text, #212529);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));
}


/* ============================================================
   BOTTOM ACTIONS
   ============================================================ */

.av2-builder-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
    padding: 14px 16px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-builder-actions strong,
.av2-builder-actions span {
    display: block;
}

.av2-builder-actions strong {
    margin-bottom: 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-builder-actions span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}

.av2-builder-actions-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.av2-builder-actions-buttons .btn {
    min-height: 40px;
    padding: 8px 13px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}


/* ============================================================
   MODAL
   ============================================================ */

.av2-openhouse-builder-modal-section {
    height: auto !important;
}


/* ============================================================
   DARK THEME
   ============================================================ */

.mod-skin-dark .av2-openhouse-builder .note-toolbar,
.mod-skin-dark .av2-openhouse-builder .note-editable,
.mod-skin-dark .av2-openhouse-builder .note-editor.note-frame {
    color: var(--av2-text);
    background: var(--av2-input-bg);
    border-color: var(--av2-border);
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {
    .av2-builder-image-section {
        margin-top: 0;
    }

    .av2-address-source-options {
        grid-template-columns: 1fr 1fr;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {
    .av2-builder-intro,
    .av2-builder-notice {
        align-items: flex-start;
    }

    .av2-builder-section-header {
        align-items: flex-start;
        min-height: 68px;
        padding: 13px 14px;
    }

    .av2-builder-section-icon {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }

    .av2-builder-step {
        display: none;
    }

    .av2-builder-section-body {
        padding: 14px;
    }

    .av2-address-source-options {
        grid-template-columns: 1fr;
    }

    .av2-builder-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-builder-actions-buttons {
        width: 100%;
    }

    .av2-builder-actions-buttons .btn {
        flex: 1 1 0;
    }
}


/* ========================================================================
   END 30.02 OPEN HOUSE BUILDER
   ======================================================================== */


/* ========================================================================
   30.03 LANDING PAGES
   ======================================================================== */

.av2-landing-intro > div:nth-child(2) strong {
    font-size: var(--av2-font-item-title) !important;
}

.av2-landing-intro > div:nth-child(2) span {
    font-size: var(--av2-font-compact) !important;
}

.av2-landing-limit strong {
    font-size: var(--av2-font-item-title) !important;
}

.av2-landing-limit span {
    font-size: var(--av2-font-meta) !important;
}

.av2-landing-kpa-copy > span {
    font-size: var(--av2-font-kpa-title) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-landing-kpa-copy > strong {
    font-size: var(--av2-font-kpa-value) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-landing-kpa-copy > strong small {
    font-size: var(--av2-font-compact) !important;
}

.av2-landing-kpa-copy > small {
    font-size: var(--av2-font-meta) !important;
}

.av2-landing-search input {
    font-size: var(--av2-font-control) !important;
}

.av2-landing-section-heading h2 {
    font-size: var(--av2-font-section-title) !important;
}

.av2-landing-section-heading > div > span {
    font-size: var(--av2-font-body) !important;
}

.av2-landing-page-count,
.av2-landing-template-badge {
    font-size: var(--av2-font-meta) !important;
}

.av2-landing-card-title small {
    font-size: var(--av2-font-meta) !important;
}

.av2-landing-card-title h3 {
    font-size: var(--av2-font-item-title) !important;
}

.av2-landing-card-title > span {
    font-size: var(--av2-font-compact) !important;
}

.av2-landing-performance-item small,
.av2-landing-details small {
    font-size: var(--av2-font-meta) !important;
}

.av2-landing-performance-item strong,
.av2-landing-details strong {
    font-size: var(--av2-font-compact) !important;
}

.av2-landing-launch,
.av2-landing-resource-actions .btn,
.av2-landing-qr-block .btn {
    font-size: var(--av2-font-body) !important;
}

.av2-landing-share-label {
    font-size: var(--av2-font-meta) !important;
}

.av2-landing-empty strong {
    font-size: var(--av2-font-item-title) !important;
}

.av2-landing-empty > span {
    font-size: var(--av2-font-compact) !important;
}

/* ============================================================
   INTRO
   ============================================================ */

.av2-landing-intro {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 2px 0 18px;
    padding: 15px 17px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-landing-intro-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-right: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 11px;
    font-size: 1rem;
}

.av2-landing-intro > div:nth-child(2) {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-landing-intro strong,
.av2-landing-intro span {
    display: block;
}

.av2-landing-intro > div:nth-child(2) strong {
    margin-bottom: 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-landing-intro > div:nth-child(2) span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}

.av2-landing-limit {
    flex: 0 0 auto;
    margin-left: 18px;
    padding: 7px 11px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid rgba(11,92,255,.12);
    border-radius: 10px;
    text-align: center;
}

.av2-landing-limit strong {
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-landing-limit span {
    margin-top: 1px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}


/* ============================================================
   KPI STRIP
   ============================================================ */

.av2-landing-kpa-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.av2-landing-kpa-card {
    display: flex;
    align-items: center;
    min-height: 110px;
    padding: 17px;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-landing-kpa-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-right: 13px;
    border-radius: 12px;
    font-size: 1rem;
}

.av2-landing-kpa-icon.is-blue {
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-landing-kpa-icon.is-green {
    color: #2fa65a;
    background: rgba(47,166,90,.09);
}

.av2-landing-kpa-icon.is-orange {
    color: #f5a000;
    background: rgba(245,160,0,.10);
}

.av2-landing-kpa-copy {
    min-width: 0;
}

.av2-landing-kpa-copy > span,
.av2-landing-kpa-copy > strong,
.av2-landing-kpa-copy > small {
    display: block;
}

.av2-landing-kpa-copy > span {
    margin-bottom: 3px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-landing-kpa-copy > strong {
    margin-bottom: 2px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.1;
}

.av2-landing-kpa-copy > strong small {
    display: inline;
    margin-left: 3px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    font-weight: 600;
}

.av2-landing-kpa-copy > small {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
}


/* ============================================================
   SEARCH
   ============================================================ */

.av2-landing-toolbar {
    width: 100%;
    margin-bottom: 18px;
    padding: 14px;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-landing-search {
    position: relative;
    width: 100%;
}

.av2-landing-search > i {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    color: var(--av2-text-muted, #6c757d);
    font-size: .84rem;
    pointer-events: none;
}

.av2-landing-search input {
    width: 100%;
    height: 46px;
    padding: 9px 13px 9px 41px;
    color: var(--av2-text, #212529);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 9px;
    outline: 0;
    font-size: var(--av2-font-control);
}

.av2-landing-search input:focus {
    border-color: var(--av2-primary, #0b5cff);
    box-shadow: 0 0 0 3px rgba(11,92,255,.08);
}


/* ============================================================
   SECTION HEADING
   ============================================================ */

.av2-landing-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 2px 0 13px;
}

.av2-landing-section-heading h2 {
    margin: 0 0 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: var(--av2-font-section-title);
    font-weight: 700;
}

.av2-landing-section-heading > div > span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}

.av2-landing-page-count {
    flex: 0 0 auto;
    padding: 5px 9px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid rgba(11,92,255,.12);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}


/* ============================================================
   CARD GRID
   ============================================================ */

.av2-landing-grid {
    margin-left: -8px;
    margin-right: -8px;
}

.av2-landing-item {
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 16px;
}

.av2-landing-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 620px;
    overflow: hidden;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.av2-landing-card:hover {
    transform: translateY(-2px);
    border-color: var(--av2-border-strong, #dce3eb);
    box-shadow: var(--av2-shadow-md);
}


/* ============================================================
   IMAGE
   ============================================================ */

.av2-landing-image-wrap {
    position: relative;
    width: 100%;
    padding-top: 58%;
    overflow: hidden;
    background: var(--av2-surface-soft, #f8fafc);
}

.av2-landing-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.av2-landing-template-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 9px;
    color: var(--av2-primary, #0b5cff);
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(255,255,255,.60);
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(15,23,42,.10);
    backdrop-filter: blur(4px);
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-landing-template-badge i {
    margin-right: 5px;
}

.av2-landing-image-actions {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    gap: 6px;
}

.av2-landing-image-action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    color: #ffffff !important;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(15,23,42,.16);
    text-decoration: none !important;
}

.av2-landing-image-action.is-edit {
    background: rgba(245,160,0,.95);
}

.av2-landing-image-action.is-delete {
    background: rgba(220,53,69,.95);
}


/* ============================================================
   BODY
   ============================================================ */

.av2-landing-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 16px;
}

.av2-landing-card-title {
    margin-bottom: 13px;
}

.av2-landing-card-title small {
    display: block;
    margin-bottom: 3px;
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-item-title);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.av2-landing-card-title h3 {
    margin: 0;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: var(--av2-font-section-title);
    font-weight: 700;
    line-height: 1.35;
}

.av2-landing-card-title > span {
    display: block;
    margin-top: 3px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-item-title);
}

.av2-landing-performance {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-bottom: 11px;
}

.av2-landing-performance-item {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 10px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
}

.av2-landing-performance-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin-right: 8px;
    border-radius: 8px;
    font-size: .72rem;
}

.av2-landing-performance-icon.is-views {
    color: #f5a000;
    background: rgba(245,160,0,.09);
}

.av2-landing-performance-icon.is-submissions {
    color: #2fa65a;
    background: rgba(47,166,90,.08);
}

.av2-landing-performance-item small,
.av2-landing-performance-item strong {
    display: block;
}

.av2-landing-performance-item small {
    margin-bottom: 2px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    font-weight: 600;
    text-transform: uppercase;
}

.av2-landing-performance-item strong {
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-landing-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 13px;
}

.av2-landing-details > div {
    min-width: 0;
    padding: 8px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 8px;
}

.av2-landing-details small,
.av2-landing-details strong {
    display: block;
}

.av2-landing-details small {
    margin-bottom: 2px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    font-weight: 600;
    text-transform: uppercase;
}

.av2-landing-details strong {
    overflow: hidden;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-meta);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-landing-launch {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin-bottom: 13px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-landing-launch i {
    margin-right: 6px;
}


/* ============================================================
   QR + RESOURCE ACTIONS
   ============================================================ */

.av2-landing-resource-row {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 11px;
    margin-top: auto;
    padding-top: 13px;
    border-top: 1px solid var(--av2-border, #e7ecf2);
}

.av2-landing-qr-block {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 9px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
}

.av2-landing-qr-image {
    display: block;
    width: 78px;
    height: 78px;
    margin-bottom: 7px;
    object-fit: contain;
    background: #ffffff;
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 6px;
}

.av2-landing-qr-block .btn {
    width: 100%;
    min-height: 32px;
    padding: 5px 6px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-landing-resource-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.av2-landing-resource-actions .btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 34px;
    padding: 6px 9px;
    font-size: var(--av2-font-control);
    font-weight: 700;
}

.av2-landing-resource-actions .btn i {
    width: 16px;
    margin-right: 6px;
}


/* ============================================================
   SHARE FOOTER
   ============================================================ */

.av2-landing-card-footer {
    padding: 11px 16px 13px;
    background: var(--av2-surface-soft, #f8fafc);
    border-top: 1px solid var(--av2-border, #e7ecf2);
}

.av2-landing-share-label {
    margin-bottom: 7px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-compact);
    font-weight: 700;
    text-transform: uppercase;
}

.av2-landing-share-label i {
    margin-right: 5px;
    color: var(--av2-primary, #0b5cff);
}

.av2-landing-card-footer .sharethis-inline-share-buttons {
    min-height: 32px;
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.av2-landing-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 260px;
    padding: 30px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
    text-align: center;
}

.av2-landing-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 50%;
    font-size: 1.15rem;
}

.av2-landing-empty strong {
    margin-bottom: 4px;
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-landing-empty > span {
    max-width: 430px;
    margin-bottom: 14px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}


/* ============================================================
   HELP VIDEO
   ============================================================ */

.av2-landing-video-wrap {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    background: #000000;
    border-radius: 11px;
}

.av2-landing-video-wrap video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-landing-template-badge {
    background: rgba(28,36,51,.94);
    border-color: rgba(255,255,255,.10);
}

.mod-skin-dark .av2-landing-qr-image {
    border-color: var(--av2-border);
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {

    .av2-landing-kpa-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .av2-landing-details {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   SMALL TABLET / PHONE
   ============================================================ */

@media (max-width: 767.98px) {

    /* ========================================================
       PAGE ACTIONS
       Keep Help + New Landing Page visible on mobile
       ======================================================== */

    body:has(.av2-landing-kpa-grid) .av2-page-heading {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    body:has(.av2-landing-kpa-grid)
    .av2-page-heading .av2-page-actions {
        display: grid !important;
        grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);

        width: 100%;
        max-width: 100%;

        gap: 8px;
        margin: 12px 0 0 !important;
        padding: 8px;

        background: var(--av2-surface, #ffffff);
        border: 1px solid var(--av2-border, #e7ecf2);
        border-radius: 12px;

        box-sizing: border-box;

        box-shadow:
            0 2px 5px rgba(22, 34, 54, .025),
            0 6px 16px rgba(22, 34, 54, .035);
    }

    body:has(.av2-landing-kpa-grid)
    .av2-page-heading .av2-page-actions .btn {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 42px;

        margin: 0 !important;
        padding: 8px 10px;

        border-radius: 9px;

        font-size: var(--av2-font-control, .82rem);
        font-weight: 600;
        line-height: 1.2;

        white-space: nowrap;
    }


    /* ========================================================
       EXISTING LANDING PAGE RESPONSIVE RULES
       ======================================================== */

    .av2-landing-intro {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        column-gap: 12px;
        row-gap: 10px;

        width: 100%;
        max-width: 100%;

        align-items: start;

        padding: 14px;
        box-sizing: border-box;
    }

    .av2-landing-intro-icon {
        grid-column: 1;
        grid-row: 1;

        width: 42px;
        height: 42px;
        min-width: 42px;

        margin: 0;
    }

    .av2-landing-intro > div:nth-child(2) {
        grid-column: 2;
        grid-row: 1;

        width: 100%;
        min-width: 0;
    }

    .av2-landing-limit {
        grid-column: 2;
        grid-row: 2;

        justify-self: start;

        width: auto;
        max-width: 100%;

        margin: 0;
        padding: 8px 12px;

        text-align: left;
        box-sizing: border-box;
    }

    .av2-landing-kpa-grid {
        grid-template-columns: 1fr;
    }

    .av2-landing-kpa-card {
        min-height: 88px;
    }

    .av2-landing-section-heading {
        align-items: flex-start;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 575.98px) {

    /* Keep heading actions compact */
    body:has(.av2-landing-kpa-grid)
    .av2-page-heading .av2-page-actions {
        gap: 7px;
        padding: 7px;
    }

    body:has(.av2-landing-kpa-grid)
    .av2-page-heading .av2-page-actions .btn {
        min-height: 40px;
        padding: 8px;
        font-size: .76rem;
    }


    /* Existing mobile landing-page layout */
    .av2-landing-section-heading {
        flex-direction: column;
        gap: 8px;
    }

    .av2-landing-card {
        min-height: 0;
    }

    .av2-landing-performance {
        grid-template-columns: 1fr;
    }

    .av2-landing-resource-row {
        grid-template-columns: 1fr;
    }

    .av2-landing-qr-block {
        flex-direction: row;
        justify-content: flex-start;
    }

    .av2-landing-qr-image {
        width: 64px;
        height: 64px;
        margin: 0 9px 0 0;
    }

    .av2-landing-qr-block .btn {
        width: auto;
    }
}


/* ========================================================================
   END 30.03 LANDING PAGES
   ======================================================================== */


/* ========================================================================
   30.04 LANDING PAGE BUILDER
   ======================================================================== */

.av2-landing-create-heading h3 {
    font-size: var(--av2-font-section-title) !important;
}

.av2-landing-create-heading p {
    font-size: var(--av2-font-body) !important;
}

.av2-landing-choice-copy strong {
    font-size: var(--av2-font-item-title) !important;
}

.av2-landing-choice-copy small {
    font-size: var(--av2-font-compact) !important;
}

.av2-landing-choice-arrow {
    font-size: var(--av2-font-body) !important;
}

.av2-landing-create-note {
    font-size: var(--av2-font-compact) !important;
}

.av2-landing-create-empty strong {
    font-size: var(--av2-font-item-title) !important;
}

.av2-landing-create-empty span {
    font-size: var(--av2-font-compact) !important;
}

/* ============================================================
   INTRO
   ============================================================ */

.av2-lp-start-intro {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 2px 0 16px;
    padding: 14px 16px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-lp-start-intro-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-right: 12px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 11px;
    font-size: .98rem;
}

.av2-lp-start-intro strong,
.av2-lp-start-intro span {
    display: block;
}

.av2-lp-start-intro strong {
    margin-bottom: 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-lp-start-intro span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}


/* ============================================================
   STEPPER
   ============================================================ */

.av2-lp-stepper {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 16px;
    padding: 13px 16px;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-lp-step {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    min-width: 0;
}

.av2-lp-step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin-right: 8px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 50%;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-lp-step.is-active .av2-lp-step-number {
    color: #ffffff;
    background: var(--av2-primary, #0b5cff);
    border-color: var(--av2-primary, #0b5cff);
}

.av2-lp-step strong,
.av2-lp-step small {
    display: block;
}

.av2-lp-step strong {
    margin-bottom: 1px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-lp-step small {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
}

.av2-lp-step.is-active strong {
    color: var(--av2-primary, #0b5cff);
}

.av2-lp-step-line {
    flex: 1 1 auto;
    min-width: 30px;
    height: 1px;
    margin: 0 14px;
    background: var(--av2-border-strong, #dce3eb);
}


/* ============================================================
   MAIN 3-COLUMN EXPERIENCE
   ============================================================ */

.av2-lp-start-layout {
    display: grid;
    grid-template-columns: minmax(290px, .82fr) minmax(430px, 1.55fr) minmax(250px, .78fr);
    gap: 14px;
    align-items: start;
    margin-bottom: 28px;
}

.av2-lp-start-panel {
    min-width: 0;
    overflow: hidden;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-lp-start-panel-heading {
    display: flex;
    align-items: flex-start;
    min-height: 72px;
    padding: 14px 15px;
    border-bottom: 1px solid var(--av2-border, #e7ecf2);
}

.av2-lp-start-panel-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin-right: 9px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 50%;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-lp-start-panel-heading h2 {
    margin: 0 0 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: var(--av2-font-section-title);
    font-weight: 700;
    line-height: 1.3;
}

.av2-lp-start-panel-heading p {
    margin: 0;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   LEFT: SEARCH + GOAL CARDS
   ============================================================ */

.av2-lp-goal-search {
    position: relative;
    margin: 12px 12px 9px;
}

.av2-lp-goal-search i {
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    pointer-events: none;
}

.av2-lp-goal-search input {
    width: 100%;
    height: 39px;
    padding: 8px 10px 8px 35px;
    color: var(--av2-text, #212529);
    background: var(--av2-input-bg, var(--av2-surface, #ffffff));
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 9px;
    outline: 0;
    font-size: var(--av2-font-control);
}

.av2-lp-goal-search input:focus {
    border-color: var(--av2-primary, #0b5cff);
    box-shadow: 0 0 0 3px rgba(11,92,255,.08);
}

.av2-lp-goal-list {
    padding: 0 12px 12px;
}

.av2-lp-goal-filter-item {
    margin-bottom: 8px;
}

.av2-lp-goal-filter-item:last-child {
    margin-bottom: 0;
}

.av2-lp-goal-card {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 76px;
    padding: 11px;
    cursor: pointer;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 10px;
    outline: 0;
    text-align: left;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.av2-lp-goal-card:hover {
    background: var(--av2-hover-bg, #fbfcff);
    border-color: rgba(11,92,255,.28);
}

.av2-lp-goal-card.is-selected {
    background: var(--av2-primary-soft, #eef5ff);
    border-color: var(--av2-primary, #0b5cff);
    box-shadow: 0 0 0 3px rgba(11,92,255,.05);
}

.av2-lp-goal-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 10px;
    font-size: .92rem;
}

.av2-lp-goal-card.is-selected .av2-lp-goal-icon {
    color: #ffffff;
    background: var(--av2-primary, #0b5cff);
}

.av2-lp-goal-copy {
    min-width: 0;
}

.av2-lp-goal-copy strong,
.av2-lp-goal-copy small {
    display: block;
}

.av2-lp-goal-copy strong {
    margin-bottom: 3px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-lp-goal-copy small {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    line-height: 1.35;
}

.av2-lp-goal-check {
    display: none;
    align-items: center;
    justify-content: center;
    width: 21px;
    height: 21px;
    color: #ffffff;
    background: var(--av2-primary, #0b5cff);
    border-radius: 50%;
    font-size: var(--av2-font-meta);
}

.av2-lp-goal-card.is-selected .av2-lp-goal-check {
    display: flex;
}


/* ============================================================
   CENTER: PREVIEW
   ============================================================ */

.av2-lp-preview-stage {
    position: relative;
    margin: 14px;
    overflow: hidden;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 11px;
}

.av2-lp-preview-stage img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 360px;
    max-height: 560px;
    object-fit: contain;
    background: var(--av2-surface-soft, #f8fafc);
}

.av2-lp-preview-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 14px 14px;
    padding: 10px 12px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
}

.av2-lp-preview-caption span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    font-weight: 600;
    text-transform: uppercase;
}

.av2-lp-preview-caption strong {
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-meta);
    font-weight: 700;
    text-align: right;
}


/* ============================================================
   RIGHT: DETAILS
   ============================================================ */

.av2-lp-details-panel {
    padding-bottom: 14px;
}

.av2-lp-details-hero {
    display: flex;
    align-items: center;
    margin: 14px;
    padding: 11px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 10px;
}

.av2-lp-details-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 9px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 9px;
    font-size: .88rem;
}

.av2-lp-details-hero small {
    display: block;
    margin-bottom: 2px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    font-weight: 600;
    text-transform: uppercase;
}

.av2-lp-details-hero h3 {
    margin: 0;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: var(--av2-font-section-title);
    font-weight: 700;
    line-height: 1.3;
}

.av2-lp-detail-description {
    margin: 0 14px 13px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.5;
}

.av2-lp-detail-meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    margin: 0 14px 13px;
}

.av2-lp-detail-meta > div {
    padding: 9px 10px;
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 8px;
}

.av2-lp-detail-meta small,
.av2-lp-detail-meta strong {
    display: block;
}

.av2-lp-detail-meta small {
    margin-bottom: 2px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    font-weight: 600;
    text-transform: uppercase;
}

.av2-lp-detail-meta strong {
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-lp-next-step {
    display: flex;
    align-items: flex-start;
    margin: 0 14px 13px;
    padding: 10px;
    background: rgba(47,166,90,.06);
    border: 1px solid rgba(47,166,90,.14);
    border-radius: 9px;
}

.av2-lp-next-step-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin-right: 8px;
    color: #2fa65a;
    background: rgba(47,166,90,.09);
    border-radius: 8px;
}

.av2-lp-next-step small,
.av2-lp-next-step strong,
.av2-lp-next-step span {
    display: block;
}

.av2-lp-next-step small {
    margin-bottom: 2px;
    color: #2fa65a;
    font-size: var(--av2-font-meta);
    font-weight: 700;
    text-transform: uppercase;
}

.av2-lp-next-step strong {
    margin-bottom: 3px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-lp-next-step span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}

.av2-lp-continue {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin: 0 14px;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-lp-continue i {
    margin-left: 7px;
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.av2-lp-start-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 250px;
    padding: 30px;
    color: var(--av2-text, #212529);
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 14px;
    text-align: center;
}

.av2-lp-start-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 11px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 50%;
}

.av2-lp-start-empty strong {
    margin-bottom: 4px;
    font-size: var(--av2-font-body);
}

.av2-lp-start-empty span {
    margin-bottom: 13px;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1250px) {
    .av2-lp-start-layout {
        grid-template-columns: minmax(275px, .78fr) minmax(390px, 1.35fr);
    }

    .av2-lp-details-panel {
        grid-column: 1 / -1;
    }

    .av2-lp-details-panel {
        display: grid;
        grid-template-columns: minmax(220px, .85fr) minmax(250px, 1fr) minmax(260px, 1fr);
        align-items: start;
        gap: 0 14px;
        padding-bottom: 14px;
    }

    .av2-lp-details-panel .av2-lp-start-panel-heading {
        grid-column: 1 / -1;
    }

    .av2-lp-details-panel .av2-lp-details-hero {
        margin-right: 0;
    }

    .av2-lp-details-panel .av2-lp-detail-description {
        margin: 14px 0 13px;
    }

    .av2-lp-details-panel .av2-lp-detail-meta {
        margin: 14px 14px 13px 0;
    }

    .av2-lp-details-panel .av2-lp-next-step {
        grid-column: 1 / 3;
        margin-top: 0;
        margin-right: 0;
    }

    .av2-lp-details-panel .av2-lp-continue {
        align-self: stretch;
        margin-top: 0;
        margin-left: 0;
    }
}


/* ============================================================
   SMALL TABLET
   ============================================================ */

@media (max-width: 900px) {
    .av2-lp-stepper {
        align-items: flex-start;
    }

    .av2-lp-step-line {
        margin-top: 15px;
    }

    .av2-lp-step small {
        display: none;
    }

    .av2-lp-start-layout {
        grid-template-columns: 1fr;
    }

    .av2-lp-details-panel {
        display: block;
    }

    .av2-lp-details-panel .av2-lp-details-hero,
    .av2-lp-details-panel .av2-lp-detail-description,
    .av2-lp-details-panel .av2-lp-detail-meta,
    .av2-lp-details-panel .av2-lp-next-step,
    .av2-lp-details-panel .av2-lp-continue {
        margin-left: 14px;
        margin-right: 14px;
    }

    .av2-lp-preview-stage img {
        min-height: 0;
        max-height: none;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 575.98px) {
    .av2-lp-start-intro {
        align-items: flex-start;
    }

    .av2-lp-stepper {
        padding: 11px 12px;
    }

    .av2-lp-step {
        flex: 1 1 0;
    }

    .av2-lp-step > div {
        display: none;
    }

    .av2-lp-step-number {
        margin: 0 auto;
    }

    .av2-lp-step-line {
        min-width: 16px;
        margin-left: 5px;
        margin-right: 5px;
    }

    .av2-lp-start-panel-heading {
        min-height: 66px;
        padding: 12px;
    }

    .av2-lp-preview-stage {
        margin: 12px;
    }

    .av2-lp-preview-caption {
        align-items: flex-start;
        flex-direction: column;
        margin: 0 12px 12px;
    }

    .av2-lp-preview-caption strong {
        text-align: left;
    }
}

/* ============================================================
   AV 2.0 - LANDING PAGE CREATE SIDE MODAL
   ============================================================ */


/* ============================================================
   DRAWER SHELL
   ============================================================ */

.av2-landing-create-modal {
    padding-right: 0 !important;
}

.av2-landing-create-modal.fade .av2-landing-create-dialog {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 580px;
    max-width: calc(100% - 24px) !important;
    height: 100%;
    margin: 0;
    transform: translateX(100%) !important;
    transition: transform .24s ease-out;
}

.av2-landing-create-modal.show .av2-landing-create-dialog {
    transform: translateX(0) !important;
}

.av2-landing-create-modal .modal-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    background: var(--av2-surface, #ffffff);
    border: 0;
    border-radius: 16px 0 0 16px;
    box-shadow: -12px 0 34px rgba(15,23,42,.18);
}

.av2-landing-create-modal .av2-modal-header {
    flex: 0 0 auto;
    border-radius: 16px 0 0 0;
}

.av2-landing-create-body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 24px !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(100,116,139,.28) transparent;
}

.av2-landing-create-footer {
    flex: 0 0 auto;
}


/* ============================================================
   HEADING
   ============================================================ */

.av2-landing-create-heading {
    display: flex;
    align-items: flex-start;
    margin-bottom: 18px;
}

.av2-landing-create-heading-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    margin-right: 10px;
    color: #ffffff;
    background: var(--av2-primary, #0b5cff);
    border-radius: 50%;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-landing-create-heading h3 {
    margin: 0 0 4px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-family: "Public Sans", sans-serif;
    font-size: var(--av2-font-section-title);
    font-weight: 700;
}

.av2-landing-create-heading p {
    margin: 0;
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    line-height: 1.45;
}


/* ============================================================
   GOAL CARDS
   ============================================================ */

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

.av2-landing-choice-card {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 132px;
    padding: 16px 38px 16px 14px;
    color: var(--av2-text, #212529) !important;
    background: var(--av2-surface, #ffffff);
    border: 1px solid var(--av2-border-strong, #dce3eb);
    border-radius: 13px;
    box-shadow: var(--av2-shadow-sm);
    text-decoration: none !important;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.av2-landing-choice-card:hover {
    transform: translateY(-2px);
    color: var(--av2-text, #212529) !important;
    background: var(--av2-hover-bg, #fbfcff);
    border-color: rgba(11,92,255,.30);
    box-shadow: var(--av2-shadow-md);
}

.av2-landing-choice-card:focus {
    outline: 0;
    border-color: var(--av2-primary, #0b5cff);
    box-shadow: 0 0 0 3px rgba(11,92,255,.10);
}

.av2-landing-choice-grid .av2-landing-choice-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc(50% - 6px);
    justify-self: center;
}

.av2-landing-choice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-right: 11px;
    border-radius: 50%;
    font-size: 1.05rem;
}

.av2-landing-choice-card.is-featured .av2-landing-choice-icon {
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-landing-choice-card.is-new .av2-landing-choice-icon {
    color: #1387a1;
    background: rgba(19,135,161,.10);
}

.av2-landing-choice-card.is-openhouse .av2-landing-choice-icon {
    color: #dc4d67;
    background: rgba(220,77,103,.10);
}

.av2-landing-choice-card.is-seller .av2-landing-choice-icon {
    color: #e08b16;
    background: rgba(224,139,22,.12);
}

.av2-landing-choice-card.is-buyer .av2-landing-choice-icon {
    color: #7c55d9;
    background: rgba(124,85,217,.10);
}

.av2-landing-choice-copy {
    min-width: 0;
}

.av2-landing-choice-copy strong,
.av2-landing-choice-copy small {
    display: block;
}

.av2-landing-choice-copy strong {
    margin-bottom: 4px;
    color: var(--av2-text-strong, var(--av2-text, #212529));
    font-size: var(--av2-font-body);
    font-weight: 700;
    line-height: 1.3;
}

.av2-landing-choice-copy small {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-meta);
    line-height: 1.45;
}

.av2-landing-choice-arrow {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    color: var(--av2-text-muted, #6c757d);
    font-size: .7rem;
    transition: transform .15s ease, color .15s ease;
}

.av2-landing-choice-card:hover .av2-landing-choice-arrow {
    transform: translate(3px, -50%);
    color: var(--av2-primary, #0b5cff);
}


/* ============================================================
   NOTE / EMPTY
   ============================================================ */

.av2-landing-create-note {
    display: flex;
    align-items: flex-start;
    margin-top: 18px;
    padding: 11px 12px;
    color: var(--av2-text-muted, #6c757d);
    background: var(--av2-surface-soft, #f8fafc);
    border: 1px solid var(--av2-border, #e7ecf2);
    border-radius: 9px;
    font-size: var(--av2-font-meta);
    line-height: 1.45;
}

.av2-landing-create-note i {
    flex: 0 0 auto;
    margin: 2px 7px 0 0;
    color: var(--av2-primary, #0b5cff);
}

.av2-landing-create-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 260px;
    padding: 24px;
    text-align: center;
}

.av2-landing-create-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 11px;
    color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
    border-radius: 50%;
}

.av2-landing-create-empty strong {
    margin-bottom: 4px;
    color: var(--av2-text, #212529);
    font-size: var(--av2-font-body);
}

.av2-landing-create-empty span {
    color: var(--av2-text-muted, #6c757d);
    font-size: var(--av2-font-body);
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 575.98px) {
    .av2-landing-create-modal.fade .av2-landing-create-dialog {
        width: 100%;
        max-width: 100% !important;
    }

    .av2-landing-create-modal .modal-content {
        border-radius: 0;
    }

    .av2-landing-create-modal .av2-modal-header {
        border-radius: 0;
    }

    .av2-landing-create-body {
        padding: 18px !important;
    }

    .av2-landing-choice-grid {
        grid-template-columns: 1fr;
    }

    .av2-landing-choice-grid .av2-landing-choice-card:last-child:nth-child(odd) {
        grid-column: auto;
        width: 100%;
    }

    .av2-landing-choice-card {
        min-height: 104px;
    }
}


/* ========================================================================
   END 30.04 LANDING PAGE BUILDER
   ======================================================================== */


/* ========================================================================
   30.05 FEATURED LISTING WIZARD
   ======================================================================== */

/* ============================================================
   WIZARD BASE
   ============================================================ */

.av2-fl-wizard {
    width: 100%;
}

.av2-fl-wizard button,
.av2-fl-wizard input,
.av2-fl-wizard select,
.av2-fl-wizard textarea {
    font-family: var(--av2-font-family);
}


/* ============================================================
   INTRO
   ============================================================ */

.av2-fl-intro {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 18px;
    padding: 18px 20px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: var(--av2-radius-lg);
    box-shadow: var(--av2-shadow-sm);
}

.av2-fl-intro-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-right: 14px;
    color: #ffffff;
    background: var(--av2-primary);
    border-radius: 50%;
    font-size: 1.1rem;
}

.av2-fl-intro-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-fl-intro-copy strong {
    display: block;
    margin-bottom: 4px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-fl-intro-copy span {
    display: block;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}

.av2-fl-intro-badge {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    margin-left: 18px;
    padding: 7px 10px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.15);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-fl-intro-badge i {
    margin-right: 6px;
}


/* ============================================================
   STEPPER
   ============================================================ */

.av2-fl-stepper {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 20px;
    padding: 16px 18px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: var(--av2-radius-lg);
    box-shadow: var(--av2-shadow-sm);
}

.av2-fl-stepper-item {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 0;
    color: var(--av2-text-muted);
    background: transparent;
    border: 0;
    cursor: default;
    text-align: left;
}

.av2-fl-stepper-item.is-active,
.av2-fl-stepper-item.is-complete {
    cursor: pointer;
}

.av2-fl-step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 10px;
    color: var(--av2-text-muted);
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border-strong);
    border-radius: 50%;
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-bold);
    transition: all .15s ease;
}

.av2-fl-stepper-item.is-active .av2-fl-step-number {
    color: #ffffff;
    background: var(--av2-primary);
    border-color: var(--av2-primary);
    box-shadow: 0 4px 10px rgba(11,92,255,.18);
}

.av2-fl-stepper-item.is-complete .av2-fl-step-number {
    color: #ffffff;
    background: #32934f;
    border-color: #32934f;
}

.av2-fl-step-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.av2-fl-step-copy strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-bold);
    line-height: 1.2;
}

.av2-fl-step-copy small {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.2;
}

.av2-fl-step-line {
    flex: 1 1 auto;
    min-width: 24px;
    height: 2px;
    margin: 0 18px;
    background: var(--av2-border-strong);
    border-radius: 999px;
}

.av2-fl-step-line.is-complete {
    background: #32934f;
}


/* ============================================================
   STEP CONTENT
   ============================================================ */

.av2-fl-step {
    display: none;
    width: 100%;
}

.av2-fl-step.is-active {
    display: block;
}

.av2-fl-step-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    padding: 2px 2px 0;
}

.av2-fl-step-kicker {
    display: block;
    margin-bottom: 3px;
    color: var(--av2-primary);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.av2-fl-step-heading h2 {
    margin: 0 0 4px;
    color: var(--av2-text-strong);
    font-size: 1.2rem;
    font-weight: var(--av2-weight-bold);
    line-height: 1.2;
}

.av2-fl-step-heading p {
    margin: 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}

.av2-fl-step-heading-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    margin-left: 16px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 12px;
    font-size: 1.05rem;
}

.av2-fl-step-heading-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.09);
}

.av2-fl-step-heading-icon.is-orange {
    color: #f47b20;
    background: rgba(244,123,32,.09);
}

.av2-fl-step-heading-icon.is-teal {
    color: #3597aa;
    background: rgba(53,151,170,.09);
}


/* ============================================================
   CARDS
   ============================================================ */

.av2-fl-card {
    height: auto;
    margin-bottom: 16px;
    overflow: hidden;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: var(--av2-radius-lg);
    box-shadow: var(--av2-shadow-sm);
}

.av2-fl-card-heading {
    display: flex;
    align-items: center;
    min-height: 70px;
    padding: 15px 18px;
    background: var(--av2-surface);
    border-bottom: 1px solid var(--av2-border);
}

.av2-fl-card-heading > div {
    min-width: 0;
}

.av2-fl-card-heading h3 {
    margin: 0 0 3px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
    line-height: 1.25;
}

.av2-fl-card-heading p {
    margin: 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}

.av2-fl-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.12);
    border-radius: 10px;
}

.av2-fl-card-icon.is-green {
    color: #32934f;
    background: rgba(50,147,79,.09);
    border-color: rgba(50,147,79,.15);
}

.av2-fl-card-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.09);
    border-color: rgba(133,69,219,.15);
}

.av2-fl-card-icon.is-blue {
    color: #2457e6;
    background: rgba(36,87,230,.09);
    border-color: rgba(36,87,230,.15);
}

.av2-fl-card-icon.is-orange {
    color: #f47b20;
    background: rgba(244,123,32,.09);
    border-color: rgba(244,123,32,.15);
}

.av2-fl-card-icon.is-teal {
    color: #3597aa;
    background: rgba(53,151,170,.09);
    border-color: rgba(53,151,170,.15);
}

.av2-fl-card-body {
    padding: 20px;
}


/* ============================================================
   STANDARD FIELDS
   ============================================================ */

.av2-fl-field {
    margin-bottom: 18px;
}

.av2-fl-field label,
.av2-fl-custom-status label {
    display: block;
    margin-bottom: 6px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-fl-field .form-control,
.av2-fl-custom-status .form-control {
    min-height: 44px;
    font-size: var(--av2-font-control);
}

.av2-fl-field > small {
    display: block;
    margin-top: 6px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-fl-title-input {
    font-size: .95rem !important;
    font-weight: var(--av2-weight-semibold);
}

.av2-fl-hidden-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.av2-fl-custom-status {
    margin-top: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--av2-border);
}


/* ============================================================
   STATUS TILES
   ============================================================ */

.av2-fl-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.av2-fl-status-tile {
    display: flex;
    align-items: center;
    min-height: 70px;
    padding: 11px 12px;
    color: var(--av2-text);
    background: var(--av2-surface);
    border: 1px solid var(--av2-border-strong);
    border-radius: 11px;
    cursor: pointer;
    transition: transform .15s ease, border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.av2-fl-status-tile:hover {
    transform: translateY(-1px);
    background: var(--av2-hover-bg);
    border-color: rgba(11,92,255,.28);
}

.av2-fl-status-tile.is-selected {
    background: var(--av2-primary-soft);
    border-color: rgba(11,92,255,.42);
    box-shadow: 0 0 0 2px rgba(11,92,255,.05);
}

.av2-fl-status-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-right: 9px;
    border-radius: 9px;
}

.av2-fl-status-icon.is-neutral {
    color: var(--av2-text-muted);
    background: var(--av2-neutral-bg);
}

.av2-fl-status-icon.is-active {
    color: #32934f;
    background: rgba(50,147,79,.10);
}

.av2-fl-status-icon.is-pending {
    color: #d99200;
    background: rgba(217,146,0,.10);
}

.av2-fl-status-icon.is-sold {
    color: #8545db;
    background: rgba(133,69,219,.10);
}

.av2-fl-status-icon.is-price {
    color: #2457e6;
    background: rgba(36,87,230,.10);
}

.av2-fl-status-icon.is-hot {
    color: #e15757;
    background: rgba(225,87,87,.10);
}

.av2-fl-status-icon.is-custom {
    color: #3597aa;
    background: rgba(53,151,170,.10);
}

.av2-fl-status-tile strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}


/* ============================================================
   VISUAL CHOICE TILES
   ============================================================ */

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

.av2-fl-choice-tile,
.av2-fl-contact-tile {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 108px;
    padding: 14px 44px 14px 14px;
    color: var(--av2-text);
    text-align: left;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border-strong);
    border-radius: var(--av2-radius);
    cursor: pointer;
    transition: transform .15s ease, border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.av2-fl-choice-tile:hover,
.av2-fl-contact-tile:hover:not(:disabled) {
    transform: translateY(-1px);
    background: var(--av2-hover-bg);
    border-color: rgba(11,92,255,.28);
}

.av2-fl-choice-tile.is-selected,
.av2-fl-contact-tile.is-selected {
    background: var(--av2-primary-soft);
    border-color: rgba(11,92,255,.42);
    box-shadow: 0 0 0 2px rgba(11,92,255,.05);
}

.av2-fl-contact-tile:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.av2-fl-choice-icon,
.av2-fl-contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-right: 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 11px;
    font-size: 1rem;
}

.av2-fl-choice-icon.is-orange {
    color: #f47b20;
    background: rgba(244,123,32,.10);
}

.av2-fl-contact-icon.is-mobile {
    color: #3597aa;
    background: rgba(53,151,170,.10);
}

.av2-fl-choice-copy,
.av2-fl-contact-copy {
    min-width: 0;
}

.av2-fl-choice-copy strong,
.av2-fl-contact-copy strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
    line-height: 1.25;
}

.av2-fl-choice-copy small,
.av2-fl-contact-copy small {
    display: block;
    margin-bottom: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.4;
}

.av2-fl-choice-check,
.av2-fl-contact-check {
    position: absolute;
    top: 50%;
    right: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    transform: translateY(-50%);
    color: transparent;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border-strong);
    border-radius: 50%;
}

.av2-fl-choice-tile.is-selected .av2-fl-choice-check,
.av2-fl-contact-tile.is-selected .av2-fl-contact-check {
    color: #ffffff;
    background: var(--av2-primary);
    border-color: var(--av2-primary);
}

.av2-fl-reveal-field {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--av2-border);
}


/* ============================================================
   PRICE + SPEC TILES
   ============================================================ */

.av2-fl-price-field {
    max-width: 560px;
    margin: 0 auto 22px;
    text-align: center;
}

.av2-fl-price-field > label {
    display: block;
    margin-bottom: 8px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-fl-price-control {
    display: flex;
    align-items: center;
    min-height: 66px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border-strong);
    border-radius: 14px;
    overflow: hidden;
}

.av2-fl-price-control > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 64px;
    width: 64px;
    align-self: stretch;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-right: 1px solid rgba(11,92,255,.12);
    font-size: 1.4rem;
    font-weight: var(--av2-weight-bold);
}

.av2-fl-price-control input {
    flex: 1 1 auto;
    min-width: 0;
    height: 64px;
    padding: 0 18px;
    color: var(--av2-text-strong);
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 1.6rem;
    font-weight: var(--av2-weight-bold);
    text-align: center;
}

.av2-fl-spec-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.av2-fl-spec-tile {
    display: flex;
    flex-direction: column;
    min-height: 150px;
    padding: 16px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border-strong);
    border-radius: var(--av2-radius);
    text-align: center;
}

.av2-fl-spec-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0 auto 10px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 10px;
}

.av2-fl-spec-tile label {
    margin-bottom: 7px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-fl-spec-tile select,
.av2-fl-spec-tile input {
    width: 100%;
    min-height: 42px;
    margin-top: auto;
    padding: 0 9px;
    color: var(--av2-text-strong);
    background: var(--av2-input-bg);
    border: 1px solid var(--av2-border-strong);
    border-radius: 9px;
    outline: 0;
    font-size: var(--av2-font-control);
    font-weight: var(--av2-weight-semibold);
    text-align: center;
}


/* ============================================================
   COMPANY CARD
   ============================================================ */

.av2-fl-company-card {
    display: flex;
    align-items: center;
    margin-bottom: 14px;
    padding: 14px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: var(--av2-radius);
}

.av2-fl-company-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-right: 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 10px;
}

.av2-fl-company-card small,
.av2-fl-company-card strong {
    display: block;
}

.av2-fl-company-card small {
    margin-bottom: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-fl-company-card strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}


/* ============================================================
   PRIMARY IMAGE
   ============================================================ */

.av2-fl-primary-upload {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    min-height: 380px;
    margin: 0;
    background: var(--av2-surface-soft);
    border: 2px dashed var(--av2-border-strong);
    border-radius: 14px;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}

.av2-fl-primary-upload:hover {
    background: var(--av2-primary-soft);
    border-color: var(--av2-primary);
}

.av2-fl-primary-upload.is-error {
    border-color: #dc3545;
}

.av2-fl-primary-upload img {
    display: none;
    width: 100%;
    height: 380px;
    object-fit: cover;
}

.av2-fl-primary-upload.has-image {
    border-style: solid;
}

.av2-fl-primary-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 20px;
    text-align: center;
}

.av2-fl-primary-placeholder-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 12px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 50%;
    font-size: 1.3rem;
}

.av2-fl-primary-placeholder strong {
    margin-bottom: 4px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-fl-primary-placeholder small {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-fl-primary-change {
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: inline-flex;
    align-items: center;
    padding: 8px 11px;
    color: #ffffff;
    background: rgba(6,26,59,.88);
    border-radius: 9px;
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-fl-primary-change i {
    margin-right: 6px;
}

.av2-fl-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}


/* ============================================================
   BANNER
   ============================================================ */

.av2-fl-banner-preview {
    overflow: hidden;
    width: 100%;
    min-height: 250px;
    margin-bottom: 14px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 12px;
}

.av2-fl-banner-preview img {
    display: block;
    width: 100%;
    height: 250px;
    object-fit: cover;
}


/* ============================================================
   GALLERY
   ============================================================ */

.av2-fl-gallery-count {
    margin-left: auto;
    padding: 5px 9px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-fl-dropzone {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 220px;
    padding: 26px;
    text-align: center;
    background: var(--av2-surface-soft);
    border: 2px dashed var(--av2-border-strong);
    border-radius: var(--av2-radius);
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}

.av2-fl-dropzone:hover,
.av2-fl-dropzone.is-dragover {
    background: var(--av2-primary-soft);
    border-color: var(--av2-primary);
}

.av2-fl-dropzone.is-error {
    border-color: #dc3545;
}

.av2-fl-dropzone-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 50%;
    font-size: 1.2rem;
}

.av2-fl-dropzone strong {
    margin-bottom: 3px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-fl-dropzone > span:not(.av2-fl-dropzone-icon) {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-fl-dropzone small {
    margin-top: 8px;
    color: var(--av2-text-soft);
    font-size: var(--av2-font-meta);
}

.av2-fl-preview-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 11px;
    margin-top: 16px;
}

.av2-fl-image-preview {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3 / 2;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    cursor: grab;
    box-shadow: var(--av2-shadow-xs);
}

.av2-fl-image-preview.dragging {
    opacity: .55;
    cursor: grabbing;
}

.av2-fl-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.av2-fl-image-remove {
    position: absolute;
    top: 7px;
    right: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    padding: 0;
    color: #ffffff;
    background: rgba(220,53,69,.92);
    border: 0;
    border-radius: 50%;
    cursor: pointer;
}

.av2-fl-image-preview .order-badge {
    position: absolute;
    top: 7px;
    left: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    color: #ffffff;
    background: var(--av2-primary);
    border-radius: 50%;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    box-shadow: 0 2px 6px rgba(0,0,0,.18);
}


/* ============================================================
   EDITOR
   ============================================================ */

.av2-fl-editor-tip {
    display: flex;
    align-items: flex-start;
    margin-bottom: 12px;
    padding: 10px 12px;
    color: var(--av2-text-muted);
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}

.av2-fl-editor-tip i {
    margin: 2px 7px 0 0;
    color: #f5a000;
}

.av2-fl-wizard .note-editor.note-frame {
    overflow: hidden;
    border-color: var(--av2-border-strong);
    border-radius: var(--av2-radius);
}

.av2-fl-wizard .note-toolbar {
    background: var(--av2-surface-soft);
    border-bottom-color: var(--av2-border);
}

.av2-fl-wizard .note-editable {
    color: var(--av2-text);
    background: var(--av2-input-bg);
    font-family: var(--av2-font-family);
    font-size: var(--av2-font-control);
}


/* ============================================================
   REVIEW
   ============================================================ */

.av2-fl-review-card {
    overflow: hidden;
    margin-bottom: 16px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: var(--av2-radius-lg);
    box-shadow: var(--av2-shadow-sm);
}

.av2-fl-review-heading {
    display: flex;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid var(--av2-border);
}

.av2-fl-review-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 10px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 10px;
}

.av2-fl-review-heading h3 {
    margin: 0 0 2px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-fl-review-heading p {
    margin: 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
}

.av2-fl-review-list {
    padding: 6px 16px;
}

.av2-fl-review-item {
    display: flex;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--av2-row-border);
}

.av2-fl-review-item:last-child {
    border-bottom: 0;
}

.av2-fl-review-item-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-right: 10px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 9px;
}

.av2-fl-review-item-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.09);
}

.av2-fl-review-item-icon.is-blue {
    color: #2457e6;
    background: rgba(36,87,230,.09);
}

.av2-fl-review-item-icon.is-orange {
    color: #f47b20;
    background: rgba(244,123,32,.09);
}

.av2-fl-review-item-icon.is-green {
    color: #32934f;
    background: rgba(50,147,79,.09);
}

.av2-fl-review-item small,
.av2-fl-review-item strong {
    display: block;
}

.av2-fl-review-item small {
    margin-bottom: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-fl-review-item strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
    word-break: break-word;
}

.av2-fl-build-box {
    margin: 8px;
    padding: 18px;
    text-align: center;
    background: linear-gradient(145deg, var(--av2-navy) 0%, var(--av2-navy-hover) 100%);
    border-radius: 13px;
}

.av2-fl-build-box-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin: 0 auto 10px;
    color: #ffffff;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
}

.av2-fl-build-box > strong {
    display: block;
    margin-bottom: 4px;
    color: #ffffff;
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-fl-build-box > span {
    display: block;
    margin-bottom: 13px;
    color: rgba(255,255,255,.72);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}

.av2-fl-build-button {
    width: 100%;
    min-height: 44px;
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: var(--av2-navy) !important;
    box-shadow: none !important;
}

.av2-fl-build-button:hover {
    background: #f5f7fb !important;
    border-color: #f5f7fb !important;
    color: var(--av2-navy) !important;
}


/* ============================================================
   WIZARD NAVIGATION
   ============================================================ */

.av2-fl-wizard-nav {
    position: sticky;
    bottom: 0;
    z-index: 25;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 70px;
    margin-top: 4px;
    padding: 12px 16px;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--av2-border);
    border-radius: var(--av2-radius-lg);
    box-shadow: 0 -6px 24px rgba(15,23,42,.08);
    backdrop-filter: blur(8px);
}

.mod-skin-dark .av2-fl-wizard-nav {
    background: rgba(24,34,49,.96);
}

.av2-fl-wizard-nav-status {
    display: flex;
    flex-direction: column;
}

.av2-fl-wizard-nav-status span {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-bold);
}

.av2-fl-wizard-nav-status small {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-fl-wizard-nav-actions {
    display: flex;
    align-items: center;
}

.av2-fl-wizard-nav-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    min-width: 112px;
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-semibold);
}

.av2-fl-wizard-nav-actions .btn + .btn {
    margin-left: 8px;
}

.av2-fl-wizard-nav-actions .btn i:first-child {
    margin-right: 7px;
}

.av2-fl-wizard-nav-actions .btn i:last-child {
    margin-left: 7px;
}


/* ============================================================
   SUBMIT LOADING
   ============================================================ */

.av2-builder-submit-spinner {
    display: none;
    margin-left: 7px;
}

.av2-builder-submit.is-loading .av2-builder-submit-spinner {
    display: inline-block;
}

.av2-builder-submit.is-loading > i:first-child {
    display: none;
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-fl-intro,
.mod-skin-dark .av2-fl-stepper,
.mod-skin-dark .av2-fl-card,
.mod-skin-dark .av2-fl-card-heading,
.mod-skin-dark .av2-fl-review-card,
.mod-skin-dark .av2-fl-choice-tile,
.mod-skin-dark .av2-fl-contact-tile,
.mod-skin-dark .av2-fl-status-tile,
.mod-skin-dark .av2-fl-spec-tile {
    background: var(--av2-surface);
    border-color: var(--av2-border);
}

.mod-skin-dark .av2-fl-choice-tile.is-selected,
.mod-skin-dark .av2-fl-contact-tile.is-selected,
.mod-skin-dark .av2-fl-status-tile.is-selected,
.mod-skin-dark .av2-fl-dropzone:hover,
.mod-skin-dark .av2-fl-dropzone.is-dragover {
    background: var(--av2-primary-soft);
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-fl-status-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .av2-fl-preview-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .av2-fl-stepper {
        overflow-x: auto;
        scrollbar-width: none;
    }

    .av2-fl-stepper::-webkit-scrollbar {
        display: none;
    }

    .av2-fl-stepper-item {
        min-width: 128px;
    }

    .av2-fl-step-line {
        flex: 0 0 34px;
        min-width: 34px;
        margin: 0 10px;
    }

    .av2-fl-choice-grid,
    .av2-fl-contact-grid {
        grid-template-columns: 1fr;
    }

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

    .av2-fl-preview-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .av2-fl-intro {
        align-items: flex-start;
        padding: 15px;
    }

    .av2-fl-intro-badge {
        display: none;
    }

    .av2-fl-stepper {
        padding: 13px;
    }

    .av2-fl-step-copy small {
        display: none;
    }

    .av2-fl-step-heading {
        align-items: flex-start;
    }

    .av2-fl-step-heading-icon {
        display: none;
    }

    .av2-fl-card-heading {
        align-items: flex-start;
        padding: 14px;
    }

    .av2-fl-card-body {
        padding: 16px 14px;
    }

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

    .av2-fl-primary-upload {
        min-height: 270px;
    }

    .av2-fl-primary-upload img {
        height: 270px;
    }

    .av2-fl-banner-preview,
    .av2-fl-banner-preview img {
        height: 220px;
        min-height: 220px;
    }

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

    .av2-fl-wizard-nav {
        margin-right: -1rem;
        margin-left: -1rem;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 0;
    }

    .av2-fl-wizard-nav-status {
        display: none;
    }

    .av2-fl-wizard-nav-actions {
        width: 100%;
    }

    .av2-fl-wizard-nav-actions .btn {
        flex: 1 1 0;
        min-width: 0;
    }
}

@media (max-width: 479.98px) {
    .av2-fl-spec-grid {
        grid-template-columns: 1fr;
    }

    .av2-fl-status-grid {
        grid-template-columns: 1fr;
    }

    .av2-fl-preview-grid {
        grid-template-columns: 1fr;
    }

    .av2-fl-image-preview {
        aspect-ratio: 16 / 10;
    }

    .av2-fl-price-control > span {
        flex-basis: 52px;
        width: 52px;
    }

    .av2-fl-price-control input {
        font-size: 1.3rem;
    }
}


/* ========================================================================
   END 30.05 FEATURED LISTING WIZARD
   ======================================================================== */


/* ========================================================================
   END 30. LEAD GENERATION & LANDING PAGES
   ======================================================================== */


/* ========================================================================
   40. AGENT WEBSITE
   ======================================================================== */


/* ========================================================================
   40.01 AGENT WEBSITE DASHBOARD
   ======================================================================== */

.av2-agent-website-page {
    --av2-aw-gap: 16px;
}

.av2-aw-title-row {
    display: flex;
    align-items: center;
    gap: 14px;
}

.av2-aw-page-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: 1.15rem;
    box-shadow: 0 8px 22px rgba(11, 92, 255, .18);
}

.av2-aw-page-subtitle {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-aw-page-actions {
    flex-wrap: wrap;
}

.av2-aw-section,
.av2-aw-cover-card,
.av2-aw-empty-state {
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    box-shadow: 0 4px 16px rgba(22, 34, 54, .055);
}

.av2-aw-section {
    padding: 20px;
    margin-bottom: 18px;
}

.av2-aw-section-heading,
.av2-aw-cover-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.av2-aw-section-heading h2,
.av2-aw-cover-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1.35;
}

.av2-aw-section-heading p,
.av2-aw-cover-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

.av2-aw-section-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: 1rem;
}

.av2-aw-plan-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
    white-space: nowrap;
}

/* KPI */
.av2-aw-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--av2-aw-gap);
}

.av2-aw-kpi {
    min-height: 122px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
}

.av2-aw-kpi-icon {
    width: 54px;
    height: 54px;
    min-width: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    font-size: 1.35rem;
}

.av2-aw-kpi-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-aw-kpi-icon.is-purple {
    background: #f4ecff;
    color: #7c3aed;
}

.av2-aw-kpi-copy {
    min-width: 0;
}

.av2-aw-kpi-value {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-kpa-value, 1.85rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1;
    letter-spacing: -.02em;
}

.av2-aw-kpi-copy strong {
    display: block;
    margin-top: 6px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-kpa-title, .84rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-aw-kpi-copy small {
    display: block;
    margin-top: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-kpa-detail, .69rem);
    line-height: 1.35;
}

/* Action cards */
.av2-aw-action-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--av2-aw-gap);
}

.av2-aw-action-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 250px;
    padding: 22px 16px 16px;
    text-align: center;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.av2-aw-action-card:hover {
    transform: translateY(-2px);
    border-color: var(--av2-border-strong);
    box-shadow: 0 8px 22px rgba(22, 34, 54, .07);
}

.av2-aw-action-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    border-radius: 50%;
    font-size: 1.35rem;
}

.av2-aw-action-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-aw-action-icon.is-green {
    background: #edf9f0;
    color: #209647;
}

.av2-aw-action-icon.is-purple {
    background: #f4ecff;
    color: #7c3aed;
}

.av2-aw-action-card h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1.35;
}

.av2-aw-action-card p {
    flex: 1;
    margin: 7px 0 16px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

.av2-aw-action-card .btn {
    width: 100%;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: var(--av2-font-control, .82rem);
}

/* Share */
.av2-aw-share-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
}

.av2-aw-share-tile {
    min-width: 150px;
    flex: 0 1 170px;
    min-height: 66px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface);
    color: var(--av2-text);
    text-align: left;
    text-decoration: none !important;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

button.av2-aw-share-tile {
    font-family: inherit;
}

.av2-aw-share-tile:hover {
    transform: translateY(-1px);
    background: var(--av2-hover-bg);
    border-color: var(--av2-border-strong);
    color: var(--av2-text);
}

.av2-aw-share-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-aw-share-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-aw-share-tile strong,
.av2-aw-share-tile small {
    display: block;
}

.av2-aw-share-tile strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-aw-share-tile small {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-aw-social-share {
    min-width: 0;
    flex: 1 1 360px;
    min-height: 66px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 11px 12px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface);
}

.av2-aw-social-share-label {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.av2-aw-social-share-label > span:last-child {
    min-width: 0;
}

.av2-aw-social-share-label strong,
.av2-aw-social-share-label small {
    display: block;
}

.av2-aw-social-share-label strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-aw-social-share-label small {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.35;
}

.av2-aw-social-buttons {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px;
}

.av2-aw-social-button {
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 9px;
    color: #ffffff !important;
    font-size: 1rem;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(16, 24, 40, .10);
    transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.av2-aw-social-button i,
.av2-aw-social-button span {
    color: #ffffff !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

.av2-aw-social-button span {
    font-weight: 700;
}

.av2-aw-social-button:hover,
.av2-aw-social-button:focus {
    color: #ffffff !important;
    text-decoration: none !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(16, 24, 40, .16);
}

.av2-aw-social-button.is-facebook { background: #1877f2; }
.av2-aw-social-button.is-whatsapp { background: #25d366; }
.av2-aw-social-button.is-email { background: #0b5cff; }
.av2-aw-social-button.is-linkedin { background: #0a66c2; }
.av2-aw-social-button.is-x { background: #000000; }

/* URL */
.av2-aw-url-row {
    display: flex;
    gap: 10px;
}

.av2-aw-url-row .form-control {
    min-height: 40px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    border-color: var(--av2-border-strong);
    font-size: var(--av2-font-control, .82rem);
}

.av2-aw-url-row .btn {
    min-width: 94px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: var(--av2-font-control, .82rem);
}

.av2-aw-copy-notice {
    margin-top: 8px;
    color: #209647;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-medium, 500);
}

/* Cover */
.av2-aw-cover-card {
    position: sticky;
    top: 104px;
    overflow: hidden;
    margin-bottom: 18px;
}

.av2-aw-cover-heading {
    padding: 20px 20px 0;
}

.av2-aw-cover-preview {
    position: relative;
    width: calc(100% - 40px);
    margin: 0 20px;
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface-soft);
    aspect-ratio: 1200 / 628;
}

.av2-aw-cover-preview img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.av2-aw-cover-empty {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 24px;
    color: var(--av2-text-muted);
    text-align: center;
}

.av2-aw-cover-empty > span {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: 1.15rem;
}

.av2-aw-cover-empty strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-aw-cover-empty small {
    font-size: var(--av2-font-meta, .69rem);
}

.av2-aw-cover-card form {
    padding: 18px 20px 20px;
}

.av2-aw-cover-upload label {
    display: block;
    margin-bottom: 7px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-aw-cover-upload .custom-file,
.av2-aw-cover-upload .custom-file-input,
.av2-aw-cover-upload .custom-file-label {
    height: 40px;
}

.av2-aw-cover-upload .custom-file-label {
    display: flex;
    align-items: center;
    margin: 0;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    border-color: var(--av2-border-strong);
    font-size: var(--av2-font-control, .82rem);
}

.av2-aw-cover-upload small {
    display: block;
    margin-top: 7px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-aw-cover-save {
    width: 100%;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 16px;
    font-size: var(--av2-font-control, .82rem);
}

/* Empty */
.av2-aw-empty-state {
    min-height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    text-align: center;
}

.av2-aw-empty-icon {
    width: 60px;
    height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    border-radius: 16px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: 1.45rem;
}

.av2-aw-empty-state h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-aw-empty-state p {
    max-width: 500px;
    margin: 7px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

/* SweetAlert video */
.responsive-video-container {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    overflow: hidden;
    border-radius: 10px;
    background: #000;
}

.responsive-video-container video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Dark mode semantic accents */
.mod-skin-dark .av2-aw-kpi-icon.is-blue,
.mod-skin-dark .av2-aw-action-icon.is-blue,
.mod-skin-dark .av2-aw-share-icon,
.mod-skin-dark .av2-aw-page-icon + * {
    color: inherit;
}

.mod-skin-dark .av2-aw-kpi-icon.is-blue,
.mod-skin-dark .av2-aw-action-icon.is-blue,
.mod-skin-dark .av2-aw-share-icon,
.mod-skin-dark .av2-aw-cover-empty > span {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

.mod-skin-dark .av2-aw-kpi-icon.is-purple,
.mod-skin-dark .av2-aw-action-icon.is-purple {
    background: rgba(124, 58, 237, .18);
    color: #b99cff;
}

.mod-skin-dark .av2-aw-kpi-icon.is-green,
.mod-skin-dark .av2-aw-action-icon.is-green {
    background: rgba(32, 150, 71, .18);
    color: #79d99a;
}

/* Responsive */
@media (max-width: 1199.98px) {
    .av2-aw-cover-card {
        position: static;
    }
}

@media (max-width: 991.98px) {
    .av2-aw-action-grid {
        grid-template-columns: 1fr;
    }

    .av2-aw-action-card {
        min-height: 0;
    }
}

@media (max-width: 767.98px) {
    .av2-aw-kpi-grid {
        grid-template-columns: 1fr;
    }

    .av2-aw-page-actions {
        width: 100%;
    }

    .av2-aw-page-actions .btn {
        flex: 1 1 auto;
    }

    .av2-aw-section,
    .av2-aw-cover-card {
        border-radius: 12px;
    }

    .av2-aw-url-row {
        flex-direction: column;
    }

    .av2-aw-url-row .btn {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .av2-aw-title-row {
        align-items: flex-start;
    }

    .av2-aw-page-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }

    .av2-aw-section,
    .av2-aw-cover-heading,
    .av2-aw-cover-card form {
        padding-left: 16px;
        padding-right: 16px;
    }

    .av2-aw-cover-preview {
        width: calc(100% - 32px);
        margin-left: 16px;
        margin-right: 16px;
    }

    .av2-aw-share-tile,
    .av2-aw-social-share {
        flex-basis: 100%;
        width: 100%;
    }

    .av2-aw-social-share {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-aw-social-buttons {
        width: 100%;
        justify-content: flex-start;
    }
}

/* ============================================================
   AGENT WEBSITE PRO PROMO
   Non-Pro subscriber upgrade callout
   ============================================================ */

.av2-aw-pro-promo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
    padding: 22px 24px;
    overflow: hidden;
    color: #ffffff;
    background:
        radial-gradient(circle at 88% 16%, rgba(11,92,255,.38), transparent 32%),
        radial-gradient(circle at 12% 90%, rgba(245,160,0,.14), transparent 32%),
        linear-gradient(145deg, #061a3b, #0a2a5e 64%, #0b5cff);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(15,23,42,.10);
}

.av2-aw-pro-promo::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -70px;
    bottom: -100px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
}


/* Content */
.av2-aw-pro-promo-content {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.av2-aw-pro-promo-heading {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.av2-aw-pro-promo-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    color: #ffffff;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 12px;
    font-size: 1.1rem;
}

.av2-aw-pro-promo-eyebrow {
    display: block;
    margin-bottom: 4px;
    color: #77a7ff;
    font-size: var(--av2-font-label, .75rem);
    font-weight: 700;
    letter-spacing: .07em;
}

.av2-aw-pro-promo h2 {
    margin: 0;
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
}

.av2-aw-pro-promo-heading p {
    max-width: 610px;
    margin: 6px 0 0;
    color: rgba(255,255,255,.70);
    font-size: var(--av2-font-body, .875rem);
    line-height: 1.5;
}


/* Benefits */
.av2-aw-pro-promo-features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin: 17px 0 0 62px;
}

.av2-aw-pro-promo-features span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255,255,255,.86);
    font-size: var(--av2-font-meta, .70rem);
    font-weight: 600;
}

.av2-aw-pro-promo-features i {
    color: #7ee09e;
}


/* CTA */
.av2-aw-pro-promo-action {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-end;
    gap: 11px;
}

.av2-aw-pro-promo-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    padding: 3px 9px;
    color: #061a3b;
    background: #ffffff;
    border-radius: 999px;
    font-size: var(--av2-font-meta, .70rem);
    font-weight: 800;
    letter-spacing: .05em;
}

.av2-aw-pro-promo-button {
    min-height: 41px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding-left: 17px;
    padding-right: 17px;
    color: #061a3b !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
    font-size: var(--av2-font-control, .82rem);
    font-weight: 700;
}

.av2-aw-pro-promo-button:hover {
    color: #0b5cff !important;
    background: #f5f8ff !important;
}


/* Responsive */
@media (max-width: 767.98px) {

    .av2-aw-pro-promo {
        flex-direction: column;
        align-items: stretch;
        padding: 20px;
    }

    .av2-aw-pro-promo-features {
        margin-left: 0;
    }

    .av2-aw-pro-promo-action {
        align-items: stretch;
    }

    .av2-aw-pro-promo-badge {
        align-self: flex-start;
    }

    .av2-aw-pro-promo-button {
        width: 100%;
    }
}

/* ========================================================================
   40.00 AGENT WEBSITE SETUP
   ======================================================================== */

.av2-agent-website-setup-page {
    font-family: var(--av2-font-family);
}

.av2-aws-page-heading {
    align-items: flex-start;
}

.av2-aws-page-subtitle {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}


/* ============================================================
   INTRO STRIP
   ============================================================ */

.av2-aws-intro {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 18px 0 20px;
    padding: 14px 16px;
    color: var(--av2-text-secondary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 11px;
}

.av2-aws-intro-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    color: var(--av2-primary);
    background: var(--av2-surface);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 10px;
}

.av2-aws-intro strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-aws-intro span:not(.av2-aws-intro-icon) {
    display: block;
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}


/* ============================================================
   LAYOUT
   ============================================================ */

.av2-aws-layout {
    align-items: flex-start;
}

.av2-aws-panel,
.av2-aws-video-panel {
    overflow: hidden;
    margin-bottom: 24px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-aws-panel-header,
.av2-aws-video-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 78px !important;
    padding: 0 20px !important;
}

.av2-aws-panel-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-aws-panel-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-right: 11px;
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
    border-radius: 11px;
    font-size: 1rem;
}

.av2-aws-panel-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border-color: rgba(133,69,219,.16);
}

.av2-aws-panel-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-aws-panel-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.4;
}

.av2-aws-step-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 50%;
    font-size: var(--av2-font-control);
    font-weight: var(--av2-weight-bold);
}

.av2-aws-panel-content {
    padding: 20px !important;
}


/* ============================================================
   FORM
   ============================================================ */

.av2-aws-form-group {
    margin-bottom: 18px;
}

.av2-aws-form-group label,
.av2-aws-code-group label {
    display: block;
    margin-bottom: 6px;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-aws-form-group .form-control {
    min-height: 44px;
    color: var(--av2-text);
    background: var(--av2-input-bg);
    border: 1px solid var(--av2-border-strong);
    border-radius: 9px;
    font-size: var(--av2-font-control);
}


/* ============================================================
   REVEALED OPTION PANELS
   ============================================================ */

.av2-aws-option-panel {
    margin-top: 18px;
    padding: 20px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 12px;
}

.av2-aws-option-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}

.av2-aws-option-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    font-size: 1rem;
}

.av2-aws-option-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-aws-option-icon.is-green {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-aws-option-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-aws-option-heading p {
    margin: 4px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}


/* ============================================================
   DISCLAIMER
   ============================================================ */

.av2-aws-disclaimer {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-aws-disclaimer-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    color: #d88400;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
    border-radius: 9px;
}

.av2-aws-disclaimer strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-aws-disclaimer p {
    margin: 6px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.58;
}

.av2-aws-continue-form {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}

.av2-aws-continue-form .btn {
    min-height: 41px;
}


/* ============================================================
   EXISTING WEBSITE / CODE BOX
   ============================================================ */

.av2-aws-info-callout {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 16px;
    padding: 13px 14px;
    color: var(--av2-text-secondary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.13);
    border-radius: 10px;
}

.av2-aws-info-callout > i {
    margin-top: 2px;
    color: #d88400;
}

.av2-aws-info-callout strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-aws-info-callout span {
    display: block;
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}

.av2-aws-code-group {
    margin-top: 2px;
}

.av2-aws-code {
    min-height: 130px;
    resize: vertical;
    color: var(--av2-text);
    background: var(--av2-input-bg);
    border: 1px solid var(--av2-border-strong);
    border-radius: 9px;
    font-family: SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: .75rem;
    line-height: 1.5;
}

.av2-aws-code-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
}

.av2-aws-copy-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #238847;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
}


/* ============================================================
   VIDEO / HELP RAIL
   ============================================================ */

.av2-aws-video-content {
    padding: 16px !important;
}

.av2-aws-video-wrap {
    overflow: hidden;
    background: #071426;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
}

.av2-aws-video-wrap video {
    display: block;
    width: 100%;
    height: auto;
}

.av2-aws-help-note {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 14px;
    padding: 14px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-aws-help-note > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 9px;
}

.av2-aws-help-note strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-aws-help-note p {
    margin: 4px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.5;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 991.98px) {
    .av2-aws-video-panel {
        margin-top: 0;
    }
}

@media (max-width: 767.98px) {
    .av2-aws-panel-header,
    .av2-aws-video-header {
        min-height: 70px !important;
        padding: 0 14px !important;
    }

    .av2-aws-panel-content,
    .av2-aws-video-content {
        padding: 14px !important;
    }

    .av2-aws-option-panel {
        padding: 15px;
    }

    .av2-aws-code-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-aws-code-actions .btn,
    .av2-aws-continue-form .btn {
        width: 100%;
    }

    .av2-aws-continue-form {
        display: block;
    }
}

@media (max-width: 575.98px) {
    .av2-aws-intro {
        padding: 12px;
    }

    .av2-aws-option-heading,
    .av2-aws-disclaimer {
        gap: 10px;
    }
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-aws-panel-icon,
.mod-skin-dark .av2-aws-option-icon.is-blue {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-aws-panel-icon.is-purple {
    color: #c3a5ff;
    background: rgba(133,69,219,.13);
    border-color: rgba(133,69,219,.24);
}

.mod-skin-dark .av2-aws-option-icon.is-green,
.mod-skin-dark .av2-aws-copy-status {
    color: #8de3ac;
}

.mod-skin-dark .av2-aws-option-icon.is-green {
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-aws-disclaimer-icon {
    color: #ffc968;
    background: rgba(245,160,0,.13);
    border-color: rgba(245,160,0,.24);
}


/* ========================================================================
   END 40.01 AGENT WEBSITE DASHBOARD
   ======================================================================== */


/* ========================================================================
   40.02 AGENT WEBSITE BUILDER
   ======================================================================== */

.av2-wb-title-row {
    display: flex;
    align-items: center;
    gap: 14px;
}

.av2-wb-page-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: 1.15rem;
    box-shadow: 0 8px 22px rgba(11, 92, 255, .18);
}

.av2-wb-page-subtitle {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-wb-page-actions {
    flex-wrap: wrap;
}

.av2-wb-intro {
    display: block;
    margin-bottom: 18px;
    padding: 18px 20px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 4px 16px rgba(22, 34, 54, .05);
}

.av2-wb-intro-main {
    display: block;
    min-width: 0;
}


.av2-wb-intro-main strong,
.av2-wb-intro-main span {
    display: block;
}

.av2-wb-intro-main strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wb-intro-main span {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}


.av2-wb-shell {
    overflow: hidden;
    margin-bottom: 24px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 5px 18px rgba(22, 34, 54, .055);
}

.av2-wb-nav-wrap {
    padding: 20px 20px 0;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface);
}

.av2-wb-nav-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.av2-wb-nav-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wb-nav-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

.av2-wb-nav-heading-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-wb-tabs {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(145px, 1fr));
    gap: 8px;
    margin: 0 !important;
    padding: 0 0 14px !important;
    border: 0 !important;
    overflow-x: auto;
}

.av2-wb-tabs .nav-item {
    margin: 0 !important;
}

.av2-wb-tabs .nav-link {
    min-height: 82px;
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px solid var(--av2-border) !important;
    border-radius: 11px !important;
    background: var(--av2-surface) !important;
    color: var(--av2-text) !important;
    opacity: 1 !important;
    transition: background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.av2-wb-tabs .nav-link:hover {
    transform: translateY(-1px);
    background: var(--av2-hover-bg) !important;
    border-color: var(--av2-border-strong) !important;
    box-shadow: 0 5px 14px rgba(22, 34, 54, .045);
}

.av2-wb-tabs .nav-link.active {
    background: var(--av2-primary-soft, #eef5ff) !important;
    border-color: rgba(11, 92, 255, .32) !important;
}

.av2-wb-tab-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    width: 36px;
    height: 36px;
    min-width: 36px;
    font-size: .95rem;
}


.av2-wb-tab-icon.is-blue { background:#eef5ff; color:#0b5cff; }

.av2-wb-tab-icon.is-green { background:#edf9f0; color:#209647; }

.av2-wb-tab-icon.is-purple { background:#f4ecff; color:#7c3aed; }

.av2-wb-tab-icon.is-orange { background:#fff5e6; color:#e88a00; }

.av2-wb-tab-icon.is-teal { background:#e8fbf8; color:#0f9f8f; }

.av2-wb-tab-icon.is-red { background:#fff0f0; color:#d84b4b; }

.av2-wb-tab-icon.is-navy { background:#edf2f8; color:#284c78; }

.av2-wb-tab-copy strong,
.av2-wb-tab-copy small {
    display: block;
}

.av2-wb-tab-copy strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
    line-height: 1.25;
}

.av2-wb-tab-copy small {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.25;
}

.av2-wb-tabs .nav-link.active .av2-wb-tab-copy strong {
    color: var(--av2-primary, #0b5cff);
}

.av2-wb-content > .tab-pane {
    min-height: 520px;
}


.av2-wb-content-body {
    padding: 22px;
}

.av2-wb-content-body .card,
.av2-wb-content-body .panel {
    border: 1px solid var(--av2-border) !important;
    border-radius: 12px !important;
    background: var(--av2-surface) !important;
    box-shadow: 0 3px 12px rgba(22, 34, 54, .04) !important;
}

.av2-wb-content-body .card-header,
.av2-wb-content-body .panel-hdr {
    min-height: 58px;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--av2-border) !important;
    background: var(--av2-surface-soft) !important;
    color: var(--av2-text-strong) !important;
}

.av2-wb-content-body .form-control,
.av2-wb-content-body .custom-select,
.av2-wb-content-body select,
.av2-wb-content-body textarea {
    background: var(--av2-input-bg);
    color: var(--av2-text);
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

.av2-wb-content-body label,
.av2-wb-content-body .form-label {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wb-content-body .text-muted,
.av2-wb-content-body small {
    color: var(--av2-text-muted) !important;
}

.av2-wb-content-body .btn {
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

.av2-website-builder-page .note-editor.note-frame {
    border: 1px solid var(--av2-border-strong) !important;
    border-radius: 10px !important;
    overflow: hidden;
    background: var(--av2-surface) !important;
}

.av2-website-builder-page .note-editor .note-toolbar {
    background: var(--av2-surface-soft) !important;
    border-bottom: 1px solid var(--av2-border) !important;
}

.av2-website-builder-page .note-editor .note-editable {
    min-height: 180px;
    padding: 14px 18px !important;
    background: var(--av2-input-bg) !important;
    color: var(--av2-text) !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

.av2-website-builder-page .note-editor .note-editable p {
    margin-top: 0 !important;
    margin-bottom: 4px !important;
    line-height: 1.35 !important;
    min-height: 20px !important;
}

.av2-website-builder-page .note-editor .note-editable iframe,
.av2-website-builder-page .note-editor .note-editable img {
    display: block !important;
    clear: both !important;
    max-width: 100% !important;
    margin-top: 12px !important;
    margin-bottom: 12px !important;
}

.note-modal {
    z-index: 99999 !important;
}

.note-modal-content {
    max-height: calc(100vh - 80px) !important;
    overflow-y: auto !important;
}

.note-modal-header {
    padding: 18px 25px !important;
}

.note-modal-body {
    padding: 25px !important;
}

.note-modal-footer {
    height: auto !important;
    min-height: 70px !important;
    padding: 15px 25px 20px !important;
    overflow: visible !important;
}

@media (max-width: 1199.98px) {
    .av2-wb-tabs {
        grid-template-columns: repeat(4, minmax(170px, 1fr));
    }
}

@media (max-width: 991.98px) {
    .av2-wb-intro {
        align-items: flex-start;
        flex-direction: column;
    }
.av2-wb-tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
    }

    .av2-wb-tabs .nav-item {
        flex: 0 0 210px;
    }
}

@media (max-width: 767.98px) {
    .av2-wb-page-actions {
        width: 100%;
    }

    .av2-wb-page-actions .btn {
        flex: 1 1 auto;
    }

    .av2-wb-nav-wrap {
        padding-left: 16px;
        padding-right: 16px;
    }

    .av2-wb-content-body {
        padding: 16px;
    }
}

@media (max-width: 575.98px) {
    .av2-wb-title-row {
        align-items: flex-start;
    }

    .av2-wb-page-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }

    .av2-wb-intro {
        padding: 16px;
    }

    .av2-wb-tabs .nav-item {
        flex-basis: 190px;
    }
}

/* ============================================================
   AV2 WEBSITE BUILDER — WEBSITE DESIGN PARTIAL
   ============================================================ */

.av2-wd-section {
    margin-bottom: 18px;
    padding: 20px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 3px 12px rgba(22, 34, 54, .04);
}

.av2-wd-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.av2-wd-section-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    font-size: 1.05rem;
}

.av2-wd-section-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-wd-section-icon.is-orange {
    background: #fff5e6;
    color: #e88a00;
}

.av2-wd-section-icon.is-purple {
    background: #f4ecff;
    color: #7c3aed;
}

.av2-wd-section-icon.is-teal {
    background: #e8fbf8;
    color: #0f9f8f;
}

.av2-wd-section-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wd-section-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-wd-access-note {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 18px;
    padding: 13px 14px;
    border: 1px solid rgba(11, 92, 255, .16);
    border-left: 4px solid var(--av2-primary, #0b5cff);
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-wd-access-note.is-neutral {
    border-color: var(--av2-border);
    border-left-color: var(--av2-border-strong);
    background: var(--av2-surface-soft);
}


.av2-wd-access-note strong,
.av2-wd-access-note span {
    display: block;
}

.av2-wd-access-note > div {
    min-width: 0;
}

.av2-wd-access-note strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wd-access-note span {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

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

.av2-wd-template-card,
.av2-wd-choice-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.av2-wd-template-card {
    min-height: 252px;
    padding: 17px;
}

.av2-wd-choice-card {
    min-height: 215px;
    padding: 16px;
}

.av2-wd-template-card:not(.is-locked):hover,
.av2-wd-choice-card:not(.is-locked):hover {
    transform: translateY(-2px);
    border-color: var(--av2-border-strong);
    box-shadow: 0 7px 20px rgba(22, 34, 54, .065);
}

.av2-wd-template-card.is-active,
.av2-wd-choice-card.is-active {
    border-color: rgba(11, 92, 255, .40);
    box-shadow: inset 0 0 0 1px rgba(11, 92, 255, .06);
}

.av2-wd-template-card.is-locked,
.av2-wd-choice-card.is-locked,
.av2-wd-menu-panel.is-locked {
    background: var(--av2-surface-soft);
    opacity: .68;
}

.av2-wd-template-top,
.av2-wd-choice-topline,
.av2-wd-menu-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.av2-wd-template-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    font-size: 1rem;
}

.av2-wd-template-icon.is-blue { background:#eef5ff; color:#0b5cff; }
.av2-wd-template-icon.is-green { background:#edf9f0; color:#209647; }
.av2-wd-template-icon.is-purple { background:#f4ecff; color:#7c3aed; }
.av2-wd-template-icon.is-orange { background:#fff5e6; color:#e88a00; }
.av2-wd-template-icon.is-red { background:#fff0f0; color:#d84b4b; }
.av2-wd-template-icon.is-navy { background:#edf2f8; color:#284c78; }

.av2-wd-template-status {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px;
}

.av2-wd-access-pill,
.av2-wd-current-pill,
.av2-wd-locked-label {
    min-height: 25px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
    white-space: nowrap;
}

.av2-wd-access-pill.is-basic {
    border: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
}

.av2-wd-access-pill.is-pro {
    background: #f4ecff;
    color: #7c3aed;
}

.av2-wd-current-pill {
    background: #edf9f0;
    color: #209647;
}

.av2-wd-locked-label {
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
    border: 1px solid var(--av2-border);
}

.av2-wd-template-copy {
    flex: 1;
    margin-top: 15px;
}

.av2-wd-template-copy h4,
.av2-wd-choice-card h4,
.av2-wd-menu-panel-heading h4 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1.35;
}

.av2-wd-template-copy p,
.av2-wd-choice-card p,
.av2-wd-menu-panel-heading p {
    margin: 6px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

.av2-wd-card-action {
    width: 100%;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 16px;
    font-size: var(--av2-font-control, .82rem);
}

.av2-wd-choice-grid {
    display: grid;
    gap: 14px;
}

.av2-wd-choice-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.av2-wd-choice-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.av2-wd-swatch-row {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    margin-bottom: 14px;
}

.av2-wd-choice-topline .av2-wd-swatch-row {
    margin-bottom: 14px;
}

.av2-wd-swatch-row > span {
    width: 30px;
    height: 30px;
    display: block;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .06);
}

.av2-wd-swatch-row > span.is-light {
    border: 1px solid var(--av2-border-strong);
}

.av2-wd-choice-card > p {
    flex: 1;
}

.av2-wd-font-sample {
    width: 54px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
    color: var(--av2-text-strong);
    font-size: 1.35rem;
    font-weight: 700;
}

.av2-wd-font-sample.is-classic,
.av2-wd-font-description.is-classic {
    font-family: "Nunito Sans", Arial, sans-serif;
}

.av2-wd-font-sample.is-serif,
.av2-wd-font-description.is-serif {
    font-family: Georgia, serif;
}

.av2-wd-font-sample.is-rounded,
.av2-wd-font-description.is-rounded {
    font-family: "Nunito", "Nunito Sans", Arial, sans-serif;
}

.av2-wd-menu-panel {
    padding: 16px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
}

.av2-wd-menu-panel-heading {
    align-items: center;
    margin-bottom: 14px;
}

.av2-wd-menu-list {
    display: grid;
    gap: 8px;
}

.av2-wd-menu-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 54px;
    padding: 9px 10px;
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    background: var(--av2-surface);
}

.av2-wd-menu-item-main {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
}

.av2-wd-menu-number {
    width: 23px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
    text-align: right;
}

.av2-wd-menu-item-icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-wd-menu-item strong {
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-wd-menu-actions {
    display: flex;
    gap: 6px;
}

.av2-wd-menu-actions .btn {
    width: 32px;
    height: 32px;
    min-width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.av2-wd-menu-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
}

.av2-wd-menu-footer .btn {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

/* Dark-mode semantic accents */
.mod-skin-dark .av2-wd-access-pill.is-pro {
    background: rgba(124, 58, 237, .18);
    color: #b99cff;
}

.mod-skin-dark .av2-wd-current-pill {
    background: rgba(32, 150, 71, .18);
    color: #79d99a;
}


@media (max-width: 1199.98px) {
    .av2-wd-template-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .av2-wd-choice-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .av2-wd-section {
        padding: 16px;
    }

    .av2-wd-template-grid,
    .av2-wd-choice-grid-4,
    .av2-wd-choice-grid-3 {
        grid-template-columns: 1fr;
    }

    .av2-wd-menu-panel-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .av2-wd-menu-item {
        align-items: flex-start;
    }

    .av2-wd-menu-item-main {
        flex: 1;
    }

    .av2-wd-menu-actions {
        flex-direction: column;
    }
}

/* ============================================================
   AV2 WEBSITE BUILDER — ABOUT PAGE PARTIAL
   ============================================================ */

.av2-wa-section {
    padding: 20px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 3px 12px rgba(22, 34, 54, .04);
}

.av2-wa-section-heading,
.av2-wa-editor-heading {
    display: flex;
    align-items: center;
    gap: 12px;
}

.av2-wa-section-heading {
    margin-bottom: 18px;
}

.av2-wa-section-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #f4ecff;
    color: #7c3aed;
    font-size: 1.05rem;
}

.av2-wa-section-heading h3,
.av2-wa-editor-heading h4 {
    margin: 0;
    color: var(--av2-text-strong);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wa-section-heading h3 {
    font-size: var(--av2-font-section-title, 1rem);
}

.av2-wa-editor-heading h4 {
    font-size: var(--av2-font-item-title, .90rem);
}

.av2-wa-section-heading p,
.av2-wa-editor-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-wa-editor-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.av2-wa-editor-card {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
}

.av2-wa-editor-heading {
    padding: 15px 16px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-wa-editor-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    font-size: .95rem;
}

.av2-wa-editor-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-wa-editor-icon.is-purple {
    background: #f4ecff;
    color: #7c3aed;
}

.av2-wa-editor-body {
    padding: 16px;
}

.av2-wa-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wa-save-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--av2-border);
}

.av2-wa-save-copy strong,
.av2-wa-save-copy span {
    display: block;
}

.av2-wa-save-copy strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wa-save-copy span {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-wa-save-bar .btn {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    font-size: var(--av2-font-control, .82rem);
}

.mod-skin-dark .av2-wa-section-icon,
.mod-skin-dark .av2-wa-editor-icon.is-purple {
    background: rgba(124, 58, 237, .18);
    color: #b99cff;
}

.mod-skin-dark .av2-wa-editor-icon.is-blue {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

@media (max-width: 767.98px) {
    .av2-wa-section {
        padding: 16px;
    }

    .av2-wa-save-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-wa-save-bar .btn {
        width: 100%;
    }
}

/* ============================================================
   AV2 WEBSITE BUILDER — USER ACCOUNTS PARTIAL
   ============================================================ */

.av2-wua-section {
    padding: 20px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 3px 12px rgba(22, 34, 54, .04);
}

.av2-wua-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.av2-wua-section-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #edf2f8;
    color: #284c78;
    font-size: 1.05rem;
}

.av2-wua-section-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wua-section-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

/* Locked state */
.av2-wua-locked-state,
.av2-wua-empty-state {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface-soft);
}

.av2-wua-locked-icon,
.av2-wua-empty-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: 1rem;
}

.av2-wua-locked-state h4,
.av2-wua-empty-state h4 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wua-locked-state p,
.av2-wua-empty-state p {
    margin: 5px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

/* KPI row */
.av2-wua-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.av2-wua-kpi {
    min-height: 118px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 16px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
}

.av2-wua-kpi-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.05rem;
}

.av2-wua-kpi-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-wua-kpi-icon.is-red {
    background: #fff0f0;
    color: #d84b4b;
}

.av2-wua-kpi-icon.is-green {
    background: #edf9f0;
    color: #209647;
}

.av2-wua-kpi-icon.is-purple {
    background: #f4ecff;
    color: #7c3aed;
}

.av2-wua-kpi-value {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-kpa-value, 1.85rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1;
    letter-spacing: -.02em;
}

.av2-wua-kpi strong,
.av2-wua-kpi small {
    display: block;
}

.av2-wua-kpi strong {
    margin-top: 6px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-kpa-title, .84rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wua-kpi small {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-kpa-detail, .69rem);
    line-height: 1.35;
}

/* Users table card */
.av2-wua-users-card {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
}

.av2-wua-users-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 16px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-wua-users-heading h4 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wua-users-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-wua-users-count {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    border: 1px solid var(--av2-border);
    border-radius: 999px;
    background: var(--av2-surface);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
    white-space: nowrap;
}

.av2-wua-table-wrap {
    margin: 0;
}

.av2-wua-table {
    color: var(--av2-text);
    background: var(--av2-surface);
    font-size: var(--av2-font-body, .80rem);
}

.av2-wua-table thead th {
    padding: 11px 12px;
    border-top: 0;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
    text-transform: uppercase;
    letter-spacing: .025em;
    white-space: nowrap;
}

.av2-wua-table tbody td {
    padding: 12px;
    vertical-align: middle;
    border-top: 1px solid var(--av2-border);
    color: var(--av2-text);
}

.av2-wua-table tbody tr:first-child td {
    border-top: 0;
}

.av2-wua-table tbody tr:hover {
    background: var(--av2-hover-bg);
}

.av2-wua-user-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 150px;
}

.av2-wua-avatar {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wua-user-cell strong,
.av2-wua-user-cell small {
    display: block;
}

.av2-wua-user-cell strong,
.av2-wua-user-cell strong a {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wua-user-cell strong a:hover {
    color: var(--av2-primary, #0b5cff);
}

.av2-wua-user-cell small {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-wua-table-value {
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
}

.av2-wua-activity-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.av2-wua-activity-pill {
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-medium, 500);
    white-space: nowrap;
}

.av2-wua-activity-pill.is-saved {
    background: #fff0f0;
    color: #c23c3c;
}

.av2-wua-activity-pill.is-view {
    background: #e8fbf8;
    color: #0f8f81;
}

.av2-wua-activity-pill.is-info {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-wua-activity-pill.is-showing {
    background: #edf9f0;
    color: #209647;
}

.av2-wua-no-activity,
.av2-wua-last-activity,
.av2-wua-profile-unavailable {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-wua-last-activity {
    margin-top: 6px;
}

.av2-wua-profile-button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.av2-wua-empty-state {
    margin: 16px;
}

/* Dark mode */
.mod-skin-dark .av2-wua-section-icon {
    background: rgba(126, 167, 255, .14);
    color: #9bb9ff;
}

.mod-skin-dark .av2-wua-kpi-icon.is-blue,
.mod-skin-dark .av2-wua-avatar,
.mod-skin-dark .av2-wua-locked-icon,
.mod-skin-dark .av2-wua-empty-icon {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

.mod-skin-dark .av2-wua-kpi-icon.is-red,
.mod-skin-dark .av2-wua-activity-pill.is-saved {
    background: rgba(216, 75, 75, .18);
    color: #ff9696;
}

.mod-skin-dark .av2-wua-kpi-icon.is-green,
.mod-skin-dark .av2-wua-activity-pill.is-showing {
    background: rgba(32, 150, 71, .18);
    color: #79d99a;
}

.mod-skin-dark .av2-wua-kpi-icon.is-purple {
    background: rgba(124, 58, 237, .18);
    color: #b99cff;
}

.mod-skin-dark .av2-wua-activity-pill.is-info {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

.mod-skin-dark .av2-wua-activity-pill.is-view {
    background: rgba(15, 159, 143, .18);
    color: #66d7ca;
}

/* Responsive */
@media (max-width: 1199.98px) {
    .av2-wua-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .av2-wua-section {
        padding: 16px;
    }

    .av2-wua-users-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .av2-wua-kpi-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   AV2 WEBSITE BUILDER — FEATURED LISTINGS PARTIAL
   ============================================================ */

.property-showcase-placeholder {
    min-height: 112px;
    margin-bottom: 10px;
    border: 2px dashed var(--av2-border-strong);
    border-radius: 12px;
    background: var(--av2-surface-soft);
}

.av2-wfl-section {
    padding: 20px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 3px 12px rgba(22, 34, 54, .04);
}

.av2-wfl-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.av2-wfl-section-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #fff0f0;
    color: #d84b4b;
    font-size: 1.05rem;
}

.av2-wfl-section-heading h3,
.av2-wfl-landing-main h4,
.av2-wfl-controls-heading h4,
.av2-wfl-list-heading h4,
.av2-wfl-empty-state h4 {
    margin: 0;
    color: var(--av2-text-strong);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wfl-section-heading h3 {
    font-size: var(--av2-font-section-title, 1rem);
}

.av2-wfl-landing-main h4,
.av2-wfl-controls-heading h4,
.av2-wfl-list-heading h4,
.av2-wfl-empty-state h4 {
    font-size: var(--av2-font-item-title, .90rem);
}

.av2-wfl-section-heading p,
.av2-wfl-landing-main p,
.av2-wfl-controls-heading p,
.av2-wfl-list-heading p,
.av2-wfl-empty-state p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

.av2-wfl-landing-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface-soft);
}

.av2-wfl-landing-main {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.av2-wfl-landing-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-wfl-manage-button {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.av2-wfl-controls-card {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
}

.av2-wfl-controls-card.is-locked {
    background: var(--av2-surface-soft);
}

.av2-wfl-controls-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-wfl-lock-pill {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    border: 1px solid var(--av2-border);
    border-radius: 999px;
    background: var(--av2-surface);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
    white-space: nowrap;
}

.av2-wfl-access-note,
.av2-wfl-info-note {
    margin: 16px;
    padding: 12px 13px;
    border-radius: 10px;
}

.av2-wfl-access-note {
    border: 1px solid var(--av2-border);
    border-left: 4px solid var(--av2-border-strong);
    background: var(--av2-surface-soft);
}

.av2-wfl-info-note {
    border: 1px solid rgba(11, 92, 255, .16);
    border-left: 4px solid var(--av2-primary, #0b5cff);
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-wfl-access-note strong,
.av2-wfl-access-note span,
.av2-wfl-info-note strong,
.av2-wfl-info-note span {
    display: block;
}

.av2-wfl-access-note strong,
.av2-wfl-info-note strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wfl-access-note span,
.av2-wfl-info-note span {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-wfl-list-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 16px 14px;
}

.av2-wfl-list-heading .btn {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.av2-wfl-property-list {
    display: grid;
    gap: 10px;
    padding: 0 16px;
}

.av2-wfl-property-row {
    display: grid;
    grid-template-columns: 34px 92px minmax(0, 1fr) minmax(255px, 310px);
    align-items: center;
    gap: 12px;
    min-height: 112px;
    padding: 12px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.av2-wfl-property-row:hover {
    border-color: var(--av2-border-strong);
    box-shadow: 0 5px 16px rgba(22, 34, 54, .05);
}

.av2-wfl-drag-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}

.av2-wfl-drag-handle {
    width: 30px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--av2-text-muted);
}

.av2-wfl-drag-handle:hover {
    background: var(--av2-hover-bg);
}

.av2-wfl-property-image {
    width: 92px;
    height: 68px;
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
}

.av2-wfl-property-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.av2-wfl-property-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--av2-text-muted);
    font-size: 1.05rem;
}

.av2-wfl-property-main {
    min-width: 0;
}

.av2-wfl-property-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.av2-wfl-property-address {
    display: block;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-semibold, 600);
    line-height: 1.35;
    text-overflow: ellipsis;
}

.av2-wfl-property-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 5px;
}

.av2-wfl-type-pill {
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    padding: 3px 7px;
    border: 1px solid var(--av2-border);
    border-radius: 999px;
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wfl-status-text {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-wfl-price {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-bold, 700);
    white-space: nowrap;
}

.av2-wfl-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 9px;
}

.av2-wfl-specs span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-wfl-specs strong {
    color: var(--av2-text-strong);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wfl-property-controls {
    display: grid;
    gap: 8px;
}

.av2-wfl-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    background: var(--av2-surface-soft);
    cursor: pointer;
}

.av2-wfl-toggle-row > span:first-child {
    min-width: 0;
}

.av2-wfl-toggle-row strong,
.av2-wfl-toggle-row small {
    display: block;
}

.av2-wfl-toggle-row strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wfl-toggle-row small {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-wfl-switch {
    position: relative;
    width: 38px;
    height: 22px;
    min-width: 38px;
}

.av2-wfl-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.av2-wfl-switch-track {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: var(--av2-border-strong);
    transition: background .16s ease;
}

.av2-wfl-switch-track::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(22, 34, 54, .18);
    transition: transform .16s ease;
}

.av2-wfl-switch input:checked + .av2-wfl-switch-track {
    background: var(--av2-primary, #0b5cff);
}

.av2-wfl-switch input:checked + .av2-wfl-switch-track::after {
    transform: translateX(16px);
}

.av2-wfl-switch input:disabled + .av2-wfl-switch-track {
    opacity: .5;
}

.av2-wfl-tip {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 12px 16px 16px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-wfl-tip i {
    color: var(--av2-primary, #0b5cff);
}

.av2-wfl-empty-state {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 16px;
    padding: 18px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface-soft);
}

.av2-wfl-empty-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-wfl-empty-state .btn {
    margin-top: 12px;
}

.mod-skin-dark .av2-wfl-section-icon {
    background: rgba(216, 75, 75, .18);
    color: #ff9696;
}

.mod-skin-dark .av2-wfl-landing-icon,
.mod-skin-dark .av2-wfl-empty-icon {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

@media (max-width: 1199.98px) {
    .av2-wfl-property-row {
        grid-template-columns: 34px 82px minmax(0, 1fr);
    }

    .av2-wfl-property-image {
        width: 82px;
        height: 62px;
    }

    .av2-wfl-property-controls {
        grid-column: 2 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .av2-wfl-section {
        padding: 16px;
    }

    .av2-wfl-landing-card,
    .av2-wfl-controls-heading,
    .av2-wfl-list-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-wfl-manage-button,
    .av2-wfl-list-heading .btn {
        width: 100%;
    }

    .av2-wfl-property-row {
        grid-template-columns: 28px 72px minmax(0, 1fr);
        gap: 10px;
    }

    .av2-wfl-property-image {
        width: 72px;
        height: 56px;
    }

    .av2-wfl-property-controls {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .av2-wfl-property-row {
        grid-template-columns: 26px 1fr;
    }

    .av2-wfl-property-image {
        grid-column: 2;
        width: 100%;
        height: 150px;
    }

    .av2-wfl-property-main {
        grid-column: 2;
    }

    .av2-wfl-property-controls {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
    }

    .av2-wfl-property-title-row {
        flex-direction: column;
    }
}

/* ============================================================
   AV2 WEBSITE BUILDER — TAB INTERACTION GUARD
   ============================================================ */

#agentWebsiteBuilderTabs {
    position: relative;
    z-index: 2;
}

#agentWebsiteBuilderTabs .nav-item,
#agentWebsiteBuilderTabs .nav-link {
    position: relative;
    pointer-events: auto !important;
}

#agentWebsiteBuilderTabs .nav-link {
    cursor: pointer !important;
}

.av2-wb-content {
    position: relative;
    z-index: 1;
}

.av2-wb-content > .tab-pane:not(.active) {
    display: none;
}

.av2-wb-content > .tab-pane.active {
    display: block;
}

/* ============================================================
   AV2 WEBSITE BUILDER — HOME PAGE PARTIAL
   theme16_agent_website_builder_components_v9_clean.css
   ============================================================ */

.av2-wh-section {
    padding: 20px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 3px 12px rgba(22, 34, 54, .04);
}

.av2-wh-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.av2-wh-section-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #edf9f0;
    color: #209647;
    font-size: 1.05rem;
}

.av2-wh-section-heading h3,
.av2-wh-card-heading h4,
.av2-wh-save-bar strong {
    margin: 0;
    color: var(--av2-text-strong);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wh-section-heading h3 {
    font-size: var(--av2-font-section-title, 1rem);
}

.av2-wh-card-heading h4 {
    font-size: var(--av2-font-item-title, .90rem);
}

.av2-wh-section-heading p,
.av2-wh-card-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-wh-card {
    overflow: hidden;
    margin-bottom: 16px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
}

.av2-wh-card-heading {
    padding: 15px 16px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-wh-card-body {
    padding: 16px;
}

.av2-wh-background-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .85fr);
    gap: 18px;
    padding: 16px;
}

.av2-wh-preview-column {
    min-width: 0;
}

.av2-wh-preview-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.av2-wh-preview-label strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wh-media-pill {
    min-height: 25px;
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wh-background-preview {
    height: 300px;
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface-soft);
}

.av2-wh-background-preview img,
.av2-wh-background-preview video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.av2-wh-preview-help {
    margin: 7px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.4;
}

.av2-wh-background-controls {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.av2-wh-field {
    margin-bottom: 16px;
}

.av2-wh-background-controls .av2-wh-field {
    margin-bottom: 0;
}

.av2-wh-field label,
.av2-wh-media-option label {
    display: block;
    margin-bottom: 7px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wh-media-option {
    padding: 13px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
}

.av2-wh-media-option small,
.av2-wh-upload-box small {
    display: block;
    margin-top: 6px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.4;
}

.av2-wh-upload-box {
    padding: 11px;
    border: 1px dashed var(--av2-border-strong);
    border-radius: 9px;
    background: var(--av2-surface);
}

.av2-wh-upload-box .form-control {
    padding: 5px 8px;
}

.av2-wh-option-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 16px;
}

.av2-wh-option-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 88px;
    padding: 14px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
}

.av2-wh-option-copy {
    min-width: 0;
}

.av2-wh-option-copy strong,
.av2-wh-option-copy span {
    display: block;
}

.av2-wh-option-copy strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wh-option-copy span {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.4;
}

.av2-wh-option-card .form-control {
    width: 140px;
    min-width: 140px;
}

.av2-wh-save-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--av2-border);
}

/* ============================================================
   AV2 WEBSITE BUILDER — PROPERTY SEARCH PARTIAL
   theme16_agent_website_builder_components_v9_clean.css
   ============================================================ */

.av2-wps-section {
    padding: 20px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 3px 12px rgba(22, 34, 54, .04);
}

.av2-wps-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.av2-wps-section-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #e8fbf8;
    color: #0f9f8f;
    font-size: 1.05rem;
}

.av2-wps-section-heading h3,
.av2-wps-card-heading h4,
.av2-wps-option-heading h4,
.av2-wps-integrated-heading h4 {
    margin: 0;
    color: var(--av2-text-strong);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wps-section-heading h3 {
    font-size: var(--av2-font-section-title, 1rem);
}

.av2-wps-card-heading h4,
.av2-wps-option-heading h4,
.av2-wps-integrated-heading h4 {
    font-size: var(--av2-font-item-title, .90rem);
}

.av2-wps-section-heading p,
.av2-wps-card-heading p,
.av2-wps-option-heading p,
.av2-wps-integrated-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-wps-card {
    overflow: hidden;
    margin-bottom: 16px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
}

.av2-wps-card-heading {
    padding: 15px 16px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-wps-card-body {
    padding: 16px;
}

.av2-wps-field {
    margin-bottom: 16px;
}

.av2-wps-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wps-field small {
    display: block;
    margin-top: 6px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.4;
}

.av2-wps-option-panel {
    margin-top: 14px;
    padding: 15px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
}

.av2-wps-option-heading {
    margin-bottom: 13px;
}

.av2-wps-code-field {
    min-height: 150px;
    font-family: Consolas, Monaco, "Courier New", monospace;
    line-height: 1.45;
}

.av2-wps-integrated-card {
    overflow: hidden;
}

.av2-wps-integrated-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-wps-integrated-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.av2-wps-pro-pill,
.av2-wps-status-pill {
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
    white-space: nowrap;
}

.av2-wps-pro-pill {
    background: #fff5e6;
    color: #e88a00;
}

.av2-wps-status-pill.is-neutral {
    border: 1px solid var(--av2-border);
    background: var(--av2-surface);
    color: var(--av2-text-muted);
}

.av2-wps-status-pill.is-success {
    background: #edf9f0;
    color: #209647;
}

.av2-wps-status-pill.is-warning {
    background: #fff5e6;
    color: #b86d00;
}

.av2-wps-status-pill.is-danger {
    background: #fff0f0;
    color: #c23c3c;
}

.av2-wps-integrated-body {
    padding: 16px;
}

.av2-wps-pro-intro strong,
.av2-wps-status-panel strong,
.av2-wps-approval-note strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wps-pro-intro p,
.av2-wps-status-panel p {
    margin: 5px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

.av2-wps-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.av2-wps-feature {
    min-height: 84px;
    padding: 12px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
}

.av2-wps-feature strong,
.av2-wps-feature span {
    display: block;
}

.av2-wps-feature strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wps-feature span {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.4;
}

.av2-wps-action-row {
    display: flex;
    justify-content: flex-start;
    margin-top: 16px;
}

.av2-wps-status-panel {
    padding: 14px;
    border-radius: 10px;
}

.av2-wps-status-panel.is-success {
    border: 1px solid rgba(32, 150, 71, .22);
    border-left: 4px solid #209647;
    background: #f4fbf6;
}

.av2-wps-status-panel.is-warning {
    border: 1px solid rgba(245, 160, 0, .22);
    border-left: 4px solid #f5a000;
    background: #fffaf0;
}

.av2-wps-status-panel.is-danger {
    border: 1px solid rgba(216, 75, 75, .22);
    border-left: 4px solid #d84b4b;
    background: #fff7f7;
}

.av2-wps-status-panel .btn {
    margin-top: 13px;
}

.av2-wps-approval-note {
    margin-top: 16px;
    padding: 12px 13px;
    border: 1px solid rgba(11, 92, 255, .16);
    border-left: 4px solid var(--av2-primary, #0b5cff);
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-wps-approval-note span {
    display: block;
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-wps-save-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--av2-border);
}

.av2-wps-save-bar strong,
.av2-wps-save-bar span {
    display: block;
}

.av2-wps-save-bar strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wps-save-bar span {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-wps-save-bar .btn {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.mod-skin-dark .av2-wps-section-icon {
    background: rgba(15, 159, 143, .18);
    color: #66d7ca;
}

.mod-skin-dark .av2-wps-pro-pill,
.mod-skin-dark .av2-wps-status-pill.is-warning {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-wps-status-pill.is-success {
    background: rgba(32, 150, 71, .18);
    color: #79d99a;
}

.mod-skin-dark .av2-wps-status-pill.is-danger {
    background: rgba(216, 75, 75, .18);
    color: #ff9696;
}

.mod-skin-dark .av2-wps-status-panel.is-success {
    background: rgba(32, 150, 71, .08);
}

.mod-skin-dark .av2-wps-status-panel.is-warning {
    background: rgba(245, 160, 0, .08);
}

.mod-skin-dark .av2-wps-status-panel.is-danger {
    background: rgba(216, 75, 75, .08);
}

@media (max-width: 767.98px) {
    .av2-wps-section {
        padding: 16px;
    }

    .av2-wps-integrated-heading,
    .av2-wps-save-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-wps-save-bar .btn {
        width: 100%;
    }

    .av2-wps-feature-grid {
        grid-template-columns: 1fr;
    }
}

.av2-wt-section {
    padding: 20px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 3px 12px rgba(22, 34, 54, .04);
}

.av2-wt-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.av2-wt-section-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #fff5e6;
    color: #e88a00;
    font-size: 1.05rem;
}

.av2-wt-section-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wt-section-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-wt-tip {
    margin-bottom: 16px;
    padding: 12px 13px;
    border: 1px solid rgba(245, 160, 0, .20);
    border-left: 4px solid var(--av2-orange, #f5a000);
    border-radius: 10px;
    background: #fffaf0;
}

.av2-wt-tip strong,
.av2-wt-tip span {
    display: block;
}

.av2-wt-tip strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wt-tip span {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-wt-editor-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.av2-wt-editor-card {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
}

.av2-wt-editor-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-wt-editor-heading > div {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.av2-wt-number {
    width: 30px;
    height: 30px;
    min-width: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #fff5e6;
    color: #e88a00;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wt-editor-heading h4 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-wt-editor-label {
    min-height: 25px;
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border: 1px solid var(--av2-border);
    border-radius: 999px;
    background: var(--av2-surface);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
    white-space: nowrap;
}

.av2-wt-editor-body {
    padding: 16px;
}

.av2-wt-editor-body label {
    display: block;
    margin-bottom: 7px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wt-save-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--av2-border);
}

.av2-wt-save-bar strong,
.av2-wt-save-bar span {
    display: block;
}

.av2-wt-save-bar strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wt-save-bar span {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-wt-save-bar .btn {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.mod-skin-dark .av2-wt-section-icon,
.mod-skin-dark .av2-wt-number {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-wt-tip {
    border-color: rgba(245, 160, 0, .22);
    border-left-color: var(--av2-orange, #f5a000);
    background: rgba(245, 160, 0, .08);
}

@media (max-width: 767.98px) {
    .av2-wt-section {
        padding: 16px;
    }

    .av2-wt-save-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-wt-save-bar .btn {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .av2-wt-editor-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* ========================================================================
   END 40.02 AGENT WEBSITE BUILDER
   ======================================================================== */


/* ========================================================================
   40.03 WEBSITE IDX REQUEST
   ======================================================================== */

.av2-idx-request-page .av2-idx-shell {
    width: 100%;
    max-width: 1460px;
    margin: 0 auto;
}

.av2-idx-title-row {
    display: flex;
    align-items: center;
    gap: 14px;
}

.av2-idx-page-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: 1.12rem;
    box-shadow: 0 8px 22px rgba(11, 92, 255, .18);
}

.av2-idx-page-subtitle {
    margin-top: 3px;
    max-width: 880px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-idx-page-actions {
    flex-wrap: wrap;
}

.av2-idx-flash {
    border-radius: 10px;
    font-size: var(--av2-font-body, .80rem);
}

/* ============================================================
   OVERVIEW
   ============================================================ */

.av2-idx-overview {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 5px 18px rgba(22, 34, 54, .055);
}

.av2-idx-overview-main {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr);
}

.av2-idx-overview-copy {
    padding: 24px;
}

.av2-idx-eyebrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.av2-idx-eyebrow span,
.av2-idx-eyebrow strong {
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-idx-eyebrow span {
    background: #fff5e6;
    color: #e88a00;
}

.av2-idx-eyebrow strong {
    border: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
}

.av2-idx-overview-copy h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-idx-overview-copy > p {
    margin: 6px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.55;
}

.av2-idx-process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.av2-idx-process-step {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-height: 92px;
    padding: 12px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
}

.av2-idx-process-number {
    width: 28px;
    height: 28px;
    min-width: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-idx-process-step strong,
.av2-idx-process-step span {
    display: block;
}

.av2-idx-process-step strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
    line-height: 1.35;
}

.av2-idx-process-step div > span {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.4;
}

.av2-idx-overview-side {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 24px;
    background:
        radial-gradient(circle at 20% 20%, rgba(64, 129, 255, .23), transparent 34%),
        radial-gradient(circle at 85% 80%, rgba(245, 160, 0, .18), transparent 34%),
        linear-gradient(135deg, var(--av2-navy, #061a3b) 0%, #0a2a5e 62%, #0b5cff 150%);
    color: #fff;
}

.av2-idx-overview-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 15px;
    background: rgba(255, 255, 255, .11);
    color: #fff;
    font-size: 1.35rem;
}

.av2-idx-overview-side h3 {
    margin: 0;
    color: #fff;
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-idx-overview-side p {
    margin: 6px 0 0;
    color: rgba(255, 255, 255, .74);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

.av2-idx-overview-status {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid rgba(255, 255, 255, .16);
    color: rgba(255, 255, 255, .85);
    font-size: var(--av2-font-meta, .69rem);
}

/* ============================================================
   MAIN FORM CARDS
   ============================================================ */

.av2-idx-card,
.av2-idx-side-card {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 3px 12px rgba(22, 34, 54, .04);
}

.av2-idx-card-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-idx-card-icon,
.av2-idx-side-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    font-size: 1rem;
}

.av2-idx-card-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-idx-card-icon.is-purple {
    background: #f4ecff;
    color: #7c3aed;
}

.av2-idx-card-icon.is-teal {
    background: #e8fbf8;
    color: #0f9f8f;
}

.av2-idx-card-icon.is-orange {
    background: #fff5e6;
    color: #e88a00;
}

.av2-idx-card-icon.is-green {
    background: #edf9f0;
    color: #209647;
}

.av2-idx-card-heading h2,
.av2-idx-side-heading h2,
.av2-idx-submit-card h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-idx-card-heading p,
.av2-idx-side-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-idx-card-body {
    padding: 18px;
}

.av2-idx-card-body .form-group {
    margin-bottom: 18px;
}

.av2-idx-card-body label,
.av2-idx-additional-card label {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-idx-card-body .form-control,
.av2-idx-additional-card .form-control {
    min-height: 40px;
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    font-size: var(--av2-font-control, .82rem);
}

.av2-idx-card-body textarea.form-control {
    min-height: 112px;
}

.av2-idx-card-body .form-control:focus,
.av2-idx-additional-card .form-control:focus {
    border-color: rgba(11, 92, 255, .56);
    box-shadow: 0 0 0 3px rgba(11, 92, 255, .10);
}

.av2-idx-required {
    color: #d84b4b;
}

.av2-idx-field-note,
.av2-idx-additional-card .form-text {
    color: var(--av2-text-muted) !important;
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.4;
}

.av2-idx-readonly-field {
    background: var(--av2-surface-soft) !important;
    color: var(--av2-text-muted);
}

.av2-idx-card-body .input-group-text {
    border-color: var(--av2-border-strong);
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
}

.av2-idx-subsection {
    margin-top: 4px;
    padding-top: 18px;
    border-top: 1px solid var(--av2-border);
}

.av2-idx-subsection-heading {
    margin-bottom: 14px;
}

.av2-idx-subsection-heading h3,
.av2-idx-additional-mls-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-idx-subsection-heading p,
.av2-idx-additional-mls-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

/* ============================================================
   MLS DETAILS
   ============================================================ */

.av2-idx-security-note,
.av2-idx-review-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 18px;
    padding: 12px 13px;
    border: 1px solid rgba(11, 92, 255, .16);
    border-left: 4px solid var(--av2-primary, #0b5cff);
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-idx-security-note > i {
    margin-top: 2px;
    color: var(--av2-primary, #0b5cff);
}

.av2-idx-security-note strong,
.av2-idx-security-note span,
.av2-idx-review-note strong,
.av2-idx-review-note span {
    display: block;
}

.av2-idx-security-note strong,
.av2-idx-review-note strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-idx-security-note span,
.av2-idx-review-note span {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-idx-other-mls {
    display: none;
}

.av2-idx-other-mls.is-visible {
    display: block;
}

.av2-idx-additional-mls {
    margin-top: 2px;
    padding-top: 18px;
    border-top: 1px solid var(--av2-border);
}

.av2-idx-additional-mls-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.av2-idx-additional-mls-heading small {
    display: block;
    margin-top: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-idx-additional-mls-list {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.av2-idx-additional-card {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    background: var(--av2-surface);
}

.av2-idx-additional-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 14px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-idx-additional-card-heading > div {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.av2-idx-additional-card-heading strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-idx-additional-price {
    min-height: 25px;
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: #fff5e6;
    color: #e88a00;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-idx-additional-card-body {
    padding: 14px;
}

.av2-idx-additional-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-top: 13px;
    border-top: 1px solid var(--av2-border);
}

.av2-idx-additional-card-footer strong,
.av2-idx-additional-card-footer span {
    display: block;
}

.av2-idx-additional-card-footer strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-idx-additional-card-footer div > span {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-idx-added-pill {
    min-height: 28px;
    display: inline-flex !important;
    align-items: center;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff) !important;
    font-size: var(--av2-font-meta, .69rem) !important;
    font-weight: var(--av2-weight-semibold, 600);
    white-space: nowrap;
}

/* ============================================================
   AUTHORIZATION
   ============================================================ */

.av2-idx-authorization-list {
    display: grid;
    gap: 14px;
}

.av2-idx-authorization-list .custom-control {
    padding: 12px 12px 12px 38px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
}

.av2-idx-authorization-list .custom-control-label {
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

/* ============================================================
   SIDEBAR
   ============================================================ */

.av2-idx-sidebar-sticky {
    position: sticky;
    top: 102px;
}

.av2-idx-side-heading {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 14px 15px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-idx-side-heading.compact {
    align-items: flex-start;
}

.av2-idx-side-icon {
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-idx-side-heading h2 {
    font-size: var(--av2-font-item-title, .90rem);
}

.av2-idx-side-body {
    padding: 15px;
}

.av2-idx-check-list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.av2-idx-check-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-idx-check-list li:last-child {
    margin-bottom: 0;
}

.av2-idx-check-list i {
    margin-top: 2px;
    color: #209647;
}

.av2-idx-website-label {
    display: block;
    margin-bottom: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
    text-transform: uppercase;
    letter-spacing: .03em;
}

.av2-idx-website-url {
    overflow-wrap: anywhere;
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

.av2-idx-submit-card {
    position: relative;
}

.av2-idx-submit-accent {
    height: 4px;
    background: var(--av2-orange, #f5a000);
}

.av2-idx-request-pill {
    min-height: 25px;
    display: inline-flex;
    align-items: center;
    margin-bottom: 9px;
    padding: 3px 8px;
    border: 1px solid var(--av2-border);
    border-radius: 999px;
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-idx-submit-card h2 {
    font-size: var(--av2-font-item-title, .90rem);
}

.av2-idx-submit-card p {
    margin: 5px 0 14px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-idx-submit-card small {
    display: block;
    margin-top: 12px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.4;
    text-align: center;
}

.av2-idx-submit-button {
    min-height: 42px;
}

/* ============================================================
   BUTTONS / DARK MODE
   ============================================================ */

.av2-idx-request-page .btn {
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

.mod-skin-dark .av2-idx-card-icon.is-blue,
.mod-skin-dark .av2-idx-side-icon {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

.mod-skin-dark .av2-idx-card-icon.is-purple {
    background: rgba(124, 58, 237, .18);
    color: #b99cff;
}

.mod-skin-dark .av2-idx-card-icon.is-teal {
    background: rgba(15, 159, 143, .18);
    color: #66d7ca;
}

.mod-skin-dark .av2-idx-card-icon.is-orange,
.mod-skin-dark .av2-idx-additional-price {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-idx-card-icon.is-green {
    background: rgba(32, 150, 71, .18);
    color: #79d99a;
}

.mod-skin-dark .av2-idx-security-note,
.mod-skin-dark .av2-idx-review-note {
    background: rgba(11, 92, 255, .08);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-idx-sidebar-sticky {
        position: static;
    }
}

@media (max-width: 991.98px) {
    .av2-idx-overview-main {
        grid-template-columns: 1fr;
    }

    .av2-idx-overview-side {
        min-height: 230px;
    }

    .av2-idx-process-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .av2-idx-overview-copy,
    .av2-idx-overview-side,
    .av2-idx-card-body {
        padding: 16px;
    }

    .av2-idx-card-heading {
        padding: 15px 16px;
    }

    .av2-idx-additional-mls-heading,
    .av2-idx-additional-card-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-idx-additional-mls-heading .btn,
    .av2-idx-added-pill {
        width: 100%;
        justify-content: center;
    }

    .av2-idx-page-actions {
        width: 100%;
    }

    .av2-idx-page-actions .btn {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .av2-idx-title-row {
        align-items: flex-start;
    }

    .av2-idx-page-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }

    .av2-idx-additional-card-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-idx-additional-card-heading .btn {
        width: 100%;
    }
}

/* ============================================================
   WEBSITE IDX REQUEST - PROCESS STEP NUMBER ALIGNMENT
   theme16_website_idx_request_components_v2.css
   ============================================================ */

.av2-idx-process-step > .av2-idx-process-number {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    min-width: 28px;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    line-height: 1;
    text-align: center;
}

.av2-idx-process-step > div {
    min-width: 0;
}

.av2-idx-process-step > div > strong,
.av2-idx-process-step > div > span {
    display: block;
}


.av2-wh-save-bar strong,
.av2-wh-save-bar span {
    display: block;
}

.av2-wh-save-bar strong {
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-wh-save-bar span {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-wh-save-bar .btn {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.mod-skin-dark .av2-wh-section-icon {
    background: rgba(32, 150, 71, .18);
    color: #79d99a;
}

.mod-skin-dark .av2-wh-media-pill {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

@media (max-width: 991.98px) {
    .av2-wh-background-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .av2-wh-section {
        padding: 16px;
    }

    .av2-wh-option-grid {
        grid-template-columns: 1fr;
    }

    .av2-wh-save-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-wh-save-bar .btn {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .av2-wh-background-preview {
        height: 220px;
    }

    .av2-wh-option-card {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-wh-option-card .form-control {
        width: 100%;
        min-width: 0;
    }
}


/* ========================================================================
   END 40.03 WEBSITE IDX REQUEST
   ======================================================================== */


/* ========================================================================
   END 40. AGENT WEBSITE
   ======================================================================== */


/* ========================================================================
   50. SOCIAL & MARKETING
   ======================================================================== */


/* ========================================================================
   50.01 VIRTUAL BUSINESS CARD
   ======================================================================== */

.av2-vcard-page {
    background: var(--av2-page-bg);
}

.av2-vcard-shell {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

.av2-vcard-heading {
    align-items: center;
    margin-bottom: 16px;
}

.av2-vcard-title-row {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-vcard-page-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 5px 14px rgba(11, 92, 255, .18);
}

.av2-vcard-page-subtitle {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

.av2-vcard-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 16px;
    align-items: start;
}

.av2-vcard-main {
    min-width: 0;
    display: grid;
    gap: 16px;
}

.av2-vcard-section,
.av2-vcard-preview-card {
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-vcard-section {
    padding: 16px;
}

.av2-vcard-section-heading,
.av2-vcard-preview-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.av2-vcard-section-heading {
    margin-bottom: 13px;
}

.av2-vcard-section-heading h2,
.av2-vcard-preview-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-vcard-section-heading p,
.av2-vcard-preview-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.45;
}


/* ============================================================
   KPI CARDS
   ============================================================ */

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

.av2-vcard-kpi {
    min-height: 94px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
}

.av2-vcard-kpi-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-size: 1.05rem;
}

.av2-vcard-kpi-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-vcard-kpi-icon.is-cyan {
    background: #edf9ff;
    color: #1e9ad7;
}

.av2-vcard-kpi-copy {
    min-width: 0;
}

.av2-vcard-kpi-copy strong,
.av2-vcard-kpi-copy span {
    display: block;
}

.av2-vcard-kpi-copy strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-kpa-value, 1.85rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1;
}

.av2-vcard-kpi-copy span {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-kpa-title, .84rem);
    font-weight: var(--av2-weight-medium, 500);
}


/* ============================================================
   CUSTOMIZE TOOLS
   ============================================================ */

.av2-vcard-tools-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.av2-vcard-tool-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 18px 14px 14px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
    text-align: center;
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        border-color .16s ease;
}

.av2-vcard-tool-card:hover {
    transform: translateY(-2px);
    border-color: var(--av2-border-strong);
    box-shadow: 0 8px 20px rgba(22, 34, 54, .06);
}

.av2-vcard-tool-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    border-radius: 50%;
    font-size: 1.1rem;
}

.av2-vcard-tool-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-vcard-tool-icon.is-cyan {
    background: #edf9ff;
    color: #1e9ad7;
}

.av2-vcard-tool-icon.is-slate {
    background: #f2f4f7;
    color: #637081;
}

.av2-vcard-tool-card h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-vcard-tool-card p {
    flex: 1;
    margin: 6px 0 14px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.48;
}

.av2-vcard-tool-card .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

.av2-vcard-logo-form {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
}

.av2-vcard-logo-form .form-control,
.av2-vcard-logo-form .btn {
    min-height: 38px;
}


/* ============================================================
   CURRENT CARD
   ============================================================ */

.av2-vcard-current-card-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    background: var(--av2-surface-soft);
}

.av2-vcard-current-link {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.av2-vcard-current-link .av2-vcard-current-link-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: .88rem;
    line-height: 1;
}

.av2-vcard-current-link .av2-vcard-current-link-icon i {
    display: block;
    margin: 0;
    line-height: 1;
}

.av2-vcard-current-link div {
    min-width: 0;
}

.av2-vcard-current-link div > span,
.av2-vcard-current-link div > strong {
    display: block;
}

.av2-vcard-current-link div > span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-vcard-current-link div > strong {
    margin-top: 2px;
    overflow: hidden;
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-medium, 500);
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ============================================================
   LIVE PREVIEW
   ============================================================ */

.av2-vcard-preview-card {
    position: sticky;
    top: 100px;
    overflow: hidden;
}

.av2-vcard-preview-heading {
    padding: 15px 15px 12px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface);
}

.av2-vcard-preview-badge {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-vcard-phone {
    position: relative;
    width: min(86%, 306px);
    aspect-ratio: 9 / 19.35;
    margin: 20px auto 22px;
    overflow: visible;
    border: 1px solid #50545b;
    border-radius: 46px;
    background:
        linear-gradient(
            145deg,
            #34373d 0%,
            #15171b 16%,
            #050608 62%,
            #25282e 100%
        );
    box-shadow:
        0 22px 45px rgba(0, 0, 0, .24),
        0 4px 12px rgba(0, 0, 0, .18),
        inset 0 0 0 1px rgba(255, 255, 255, .08);
}

.av2-vcard-phone::before {
    content: "";
    position: absolute;
    z-index: 4;
    top: 6px;
    right: 25%;
    left: 25%;
    height: 1px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .16);
}

.av2-vcard-phone-screen {
    position: absolute;
    inset: 7px;
    overflow: hidden;
    border: 1px solid #25282d;
    border-radius: 39px;
    background: #000;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .04),
        0 0 0 1px rgba(0, 0, 0, .65);
}

.av2-vcard-phone-island {
    position: absolute;
    z-index: 7;
    top: 10px;
    left: 50%;
    width: 78px;
    height: 23px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: #050505;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .45);
    pointer-events: none;
}

.av2-vcard-phone-camera {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 6px;
    height: 6px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #111a27;
    box-shadow:
        inset 0 0 0 1px rgba(78, 116, 172, .28),
        0 0 2px rgba(80, 124, 190, .24);
}

.av2-vcard-phone-volume,
.av2-vcard-phone-power {
    position: absolute;
    z-index: 2;
    display: block;
    background: #17191d;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .05),
        0 1px 2px rgba(0, 0, 0, .30);
}

.av2-vcard-phone-volume {
    top: 112px;
    left: -4px;
    width: 3px;
    height: 43px;
    border-radius: 3px 0 0 3px;
    box-shadow:
        0 55px 0 #17191d,
        inset 0 0 0 1px rgba(255, 255, 255, .05);
}

.av2-vcard-phone-power {
    top: 145px;
    right: -4px;
    width: 3px;
    height: 68px;
    border-radius: 0 3px 3px 0;
}

.av2-vcard-iframe-wrapper {
    width: 400px;
    height: 850px;
    transform-origin: top left;
    background: #000;
}

.av2-vcard-iframe-wrapper iframe {
    width: 400px;
    height: 850px;
    border: 0;
    background: #000;
}


/* ============================================================
   PHONE SHORTCUT MODAL
   ============================================================ */

.av2-vcard-qr-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 10px 0 2px;
}

.av2-vcard-qr-wrap img {
    width: 180px;
    height: 180px;
    padding: 8px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: #fff;
}

.av2-vcard-qr-wrap a {
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-vcard-instructions {
    display: none;
    margin-top: 13px;
    padding: 13px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface);
}

.av2-vcard-instructions h3 {
    margin: 0 0 8px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-vcard-instructions ol {
    margin: 0;
    padding-left: 20px;
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.55;
}


/* ============================================================
   AV2 MODALS
   ============================================================ */

.av2-vcard-modal .av2-modal {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 18px 55px rgba(6, 26, 59, .24);
}

.av2-vcard-modal .av2-modal-header {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 18px;
    border-bottom: 0;
    background: linear-gradient(
        135deg,
        var(--av2-navy, #061a3b) 0%,
        #0a2a5e 62%,
        #0b5cff 150%
    );
}

.av2-vcard-modal .av2-modal-header-main {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-vcard-modal .av2-modal-header-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 11px;
    background: rgba(255, 255, 255, .10);
    color: #fff;
    font-size: 1rem;
}

.av2-vcard-modal .av2-modal-title {
    margin: 0;
    color: #fff;
    font-size: var(--av2-font-modal-title, 1.25rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-vcard-modal .av2-modal-subtitle {
    margin-top: 2px;
    color: rgba(255, 255, 255, .70);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-vcard-modal .av2-modal-close {
    color: #fff;
    opacity: .82;
    text-shadow: none;
}

.av2-vcard-modal .av2-modal-body {
    padding: 18px;
    background: var(--av2-surface);
}

.av2-vcard-modal .av2-modal-footer {
    padding: 12px 18px;
    border-top: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-vcard-modal .av2-modal-section {
    margin-bottom: 14px;
    padding: 15px;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    background: var(--av2-surface-soft);
}

.av2-vcard-modal .av2-modal-section-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 13px;
}

.av2-vcard-modal .av2-modal-section-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-vcard-modal .av2-modal-section-title {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-vcard-modal .av2-modal-section-subtitle {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-vcard-modal .form-control {
    min-height: 40px;
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    font-size: var(--av2-font-control, .82rem);
}

.av2-vcard-modal label {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}


/* Existing SweetAlert responsive video support */
.responsive-video-container {
    position: relative;
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
}

.responsive-video-container video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-vcard-kpi-icon.is-blue,
.mod-skin-dark .av2-vcard-tool-icon.is-blue,
.mod-skin-dark .av2-vcard-current-link-icon,
.mod-skin-dark .av2-vcard-preview-badge {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

.mod-skin-dark .av2-vcard-kpi-icon.is-cyan,
.mod-skin-dark .av2-vcard-tool-icon.is-cyan {
    background: rgba(30, 154, 215, .16);
    color: #79c8ee;
}

.mod-skin-dark .av2-vcard-tool-icon.is-slate {
    background: rgba(255, 255, 255, .08);
    color: #c2cad6;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */


/* ============================================================
   SMALL DESKTOP / TABLET LANDSCAPE
   992px - 1199px
   ============================================================ */

@media (max-width: 1199.98px) {

    .av2-vcard-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .av2-vcard-preview-card {
        position: static;
        width: 100%;
        max-width: 620px;
        margin: 0 auto;
    }
}


/* ============================================================
   TABLET PORTRAIT
   768px - 991px
   ============================================================ */

@media (max-width: 991.98px) {

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

    .av2-vcard-tool-card {
        align-items: flex-start;
        text-align: left;
    }

    .av2-vcard-tool-icon {
        margin-bottom: 8px;
    }

    .av2-vcard-tool-card .btn,
    .av2-vcard-logo-form {
        width: 100%;
    }
}


/* ============================================================
   PHONE / SMALL TABLET
   768px AND BELOW
   ============================================================ */

@media (max-width: 767.98px) {

    /* Width / overflow protection */
    .av2-vcard-page,
    .av2-vcard-shell,
    .av2-vcard-layout,
    .av2-vcard-main {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .av2-vcard-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .av2-vcard-main {
        overflow: hidden;
    }

    .av2-vcard-section,
    .av2-vcard-preview-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .av2-vcard-section {
        padding: 14px;
    }


    /* Page heading */
    .av2-vcard-heading {
        align-items: flex-start;
    }

    .av2-vcard-title-row {
        width: 100%;
        min-width: 0;
    }

    .av2-vcard-page-subtitle {
        display: none;
    }

    .av2-vcard-heading .av2-page-actions {
        width: 100%;
        margin-top: 10px;
    }

    .av2-vcard-heading .av2-page-actions .btn {
        width: 100%;
    }


    /* Section headings */
    .av2-vcard-section-heading,
    .av2-vcard-preview-heading {
        min-width: 0;
    }

    .av2-vcard-section-heading > div,
    .av2-vcard-preview-heading > div {
        min-width: 0;
    }


    /* KPI cards */
    .av2-vcard-kpis {
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
    }

    .av2-vcard-kpi {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }


    /* Customize tools */
    .av2-vcard-tools-grid {
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
    }

    .av2-vcard-tool-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .av2-vcard-tool-card .btn,
    .av2-vcard-logo-form {
        width: 100%;
        max-width: 100%;
    }


    /* Current card */
    .av2-vcard-current-card-body {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        align-items: stretch;
        flex-direction: column;
        box-sizing: border-box;
    }

    .av2-vcard-current-link {
        width: 100%;
        min-width: 0;
    }

    .av2-vcard-current-link div {
        min-width: 0;
    }

    .av2-vcard-current-card-body .btn {
        width: 100%;
    }


    /* Live Preview */
    .av2-vcard-preview-card {
        margin-right: auto;
        margin-left: auto;
    }


    /* Prevent long content from forcing horizontal overflow */
    .av2-vcard-section-heading,
    .av2-vcard-preview-heading,
    .av2-vcard-tool-card,
    .av2-vcard-current-link {
        overflow-wrap: anywhere;
    }
}


/* ============================================================
   SMALL PHONE
   576px AND BELOW
   ============================================================ */

@media (max-width: 575.98px) {

    .av2-vcard-section {
        padding: 13px;
        border-radius: 12px;
    }

    .av2-vcard-logo-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .av2-vcard-phone {
        width: min(92%, 292px);
    }

    .av2-vcard-kpi {
        min-height: 88px;
        padding: 13px;
    }

    .av2-vcard-kpi-icon {
        width: 44px;
        height: 44px;
        min-width: 44px;
    }

    .av2-vcard-tool-card {
        padding: 15px 13px 13px;
    }


    /* Modal spacing */
    .av2-vcard-modal .modal-dialog {
        margin: 8px;
    }

    .av2-vcard-modal .av2-modal-header {
        min-height: 68px;
        padding: 13px 14px;
    }

    .av2-vcard-modal .av2-modal-body {
        padding: 14px;
    }

    .av2-vcard-modal .av2-modal-footer {
        padding: 11px 14px;
    }

    .av2-vcard-modal .av2-modal-section {
        padding: 13px;
    }

    .av2-vcard-qr-wrap img {
        width: 160px;
        height: 160px;
    }
}


/* ========================================================================
   END 50.01 VIRTUAL BUSINESS CARD
   ======================================================================== */


/* ========================================================================
   50.02 SOCIAL SCHEDULER
   ======================================================================== */

.av2-social-page {
    background: var(--av2-page-bg);
}

.av2-social-shell {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

.av2-social-page-heading {
    align-items: center;
    margin-bottom: 16px;
}

.av2-social-title-row {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-social-page-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 5px 14px rgba(11, 92, 255, .18);
}

.av2-social-page-subtitle {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

.av2-social-page-heading .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   CALENDAR CARD
   ============================================================ */

.av2-social-calendar-card {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-social-calendar-heading {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 17px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface);
}

.av2-social-calendar-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-social-calendar-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-social-status-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.av2-social-status-legend span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-medium, 500);
}

.av2-social-status-legend i {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 50%;
    background: #8b96a5;
}

.av2-social-status-legend .is-scheduled i {
    background: #0b5cff;
}

.av2-social-status-legend .is-published i {
    background: #24a36a;
}

.av2-social-status-legend .is-failed i {
    background: #e05252;
}

.av2-social-calendar-body {
    padding: 16px;
}

/* ============================================================
   FULLCALENDAR — AV2
   ============================================================ */

#socialSchedulerCalendar {
    width: 100%;
    min-height: 720px;
    color: var(--av2-text);
}

#socialSchedulerCalendar .fc-toolbar {
    margin-bottom: 15px;
}

#socialSchedulerCalendar .fc-toolbar-title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid var(--av2-border);
    border-radius: 999px;
    background: var(--av2-surface-soft);
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1;
    white-space: nowrap;
}

#socialSchedulerCalendar .fc-button {
    min-height: 36px;
    border: 1px solid var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-surface);
    color: var(--av2-text);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
    box-shadow: none;
}

#socialSchedulerCalendar .fc-button:hover,
#socialSchedulerCalendar .fc-button:focus,
#socialSchedulerCalendar .fc-button:active {
    border-color: rgba(11, 92, 255, .28);
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    box-shadow: none;
}

#socialSchedulerCalendar .fc-button-primary:not(:disabled).fc-button-active,
#socialSchedulerCalendar .fc-button-primary:not(:disabled):active {
    border-color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary, #0b5cff);
    color: #fff;
}

#socialSchedulerCalendar .fc-today-button,
#socialSchedulerCalendar .fc-schedulePost-button {
    border-color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary, #0b5cff);
    color: #fff;
}

#socialSchedulerCalendar .fc-today-button:hover,
#socialSchedulerCalendar .fc-schedulePost-button:hover {
    border-color: #084fe0;
    background: #084fe0;
    color: #fff;
}

#socialSchedulerCalendar .fc-scrollgrid {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
}

#socialSchedulerCalendar .fc-scrollgrid,
#socialSchedulerCalendar .fc-scrollgrid td,
#socialSchedulerCalendar .fc-scrollgrid th {
    border-color: var(--av2-border);
}

#socialSchedulerCalendar .fc-col-header-cell {
    background: var(--av2-surface-soft);
}

#socialSchedulerCalendar .fc-col-header-cell-cushion {
    padding: 10px 4px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
    text-transform: uppercase;
    letter-spacing: .03em;
}

#socialSchedulerCalendar .fc-daygrid-day {
    background: var(--av2-surface);
    transition: background .12s ease;
}

#socialSchedulerCalendar .fc-daygrid-day:hover {
    background: var(--av2-hover-bg);
}

#socialSchedulerCalendar .fc-daygrid-day-frame {
    min-height: 110px;
}

#socialSchedulerCalendar .fc-daygrid-day-number {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 4px;
    padding: 0;
    border-radius: 8px;
    color: var(--av2-text);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

#socialSchedulerCalendar .fc-day-today {
    background: rgba(11, 92, 255, .035) !important;
}

#socialSchedulerCalendar .fc-day-today .fc-daygrid-day-number {
    background: var(--av2-primary, #0b5cff);
    color: #fff;
}

#socialSchedulerCalendar .fc-day-other .fc-daygrid-day-number {
    color: var(--av2-text-muted);
    opacity: .55;
}

#socialSchedulerCalendar .fc-event {
    border: none;
    background: transparent;
    cursor: pointer;
}

#socialSchedulerCalendar .av-social-calendar-card {
    width: 100%;
    padding: 6px 7px;
    border: 1px solid var(--av2-border);
    border-left: 3px solid #8b96a5;
    border-radius: 7px;
    background: var(--av2-surface);
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(22, 34, 54, .035);
}

#socialSchedulerCalendar .av-social-calendar-card-status-draft {
    border-left-color: #8b96a5;
}

#socialSchedulerCalendar .av-social-calendar-card-status-scheduled {
    border-left-color: #0b5cff;
}

#socialSchedulerCalendar .av-social-calendar-card-status-published {
    border-left-color: #24a36a;
}

#socialSchedulerCalendar .av-social-calendar-card-status-failed {
    border-left-color: #e05252;
}

#socialSchedulerCalendar .av-social-calendar-badge {
    display: inline-block;
    margin-bottom: 3px;
    padding: 3px 5px;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1;
}

#socialSchedulerCalendar .av-social-calendar-title {
    display: block;
    overflow: hidden;
    color: var(--av2-text);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#socialSchedulerCalendar .fc-more-link {
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

/* ============================================================
   MODAL
   ============================================================ */

.av2-social-modal .modal-dialog {
    max-width: 1120px;
}

.av2-social-modal .av2-modal {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 18px 55px rgba(6, 26, 59, .24);
}

.av2-social-modal .av2-modal-header {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 18px;
    border-bottom: 0;
    background: linear-gradient(
        135deg,
        var(--av2-navy, #061a3b) 0%,
        #0a2a5e 62%,
        #0b5cff 150%
    );
}

.av2-social-modal .av2-modal-header-main {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-social-modal .av2-modal-header-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 11px;
    background: rgba(255, 255, 255, .10);
    color: #fff;
    font-size: 1rem;
}

.av2-social-modal .av2-modal-title {
    margin: 0;
    color: #fff;
    font-size: var(--av2-font-modal-title, 1.25rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-social-modal .av2-modal-subtitle {
    margin-top: 2px;
    color: rgba(255, 255, 255, .70);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-social-modal .av2-modal-close {
    color: #fff;
    opacity: .82;
    text-shadow: none;
}

.av2-social-modal .av2-modal-body {
    padding: 0;
    background: var(--av2-surface);
}

.av2-social-compose-grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    min-height: 610px;
}

.av2-social-preview-panel,
.av2-social-settings-panel {
    min-width: 0;
    padding: 18px;
}

.av2-social-preview-panel {
    border-right: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-social-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 13px;
}

.av2-social-panel-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-social-panel-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-social-preview-status {
    min-height: 27px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

/* ============================================================
   SOCIAL POST PREVIEW
   ============================================================ */

.av2-social-post-card {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 13px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 6px rgba(22, 34, 54, .04),
        0 10px 24px rgba(22, 34, 54, .045);
}

.av2-social-post-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px;
    border-bottom: 1px solid var(--av2-border);
}

.av2-social-profile-image {
    width: 42px;
    height: 42px;
    min-width: 42px;
    object-fit: cover;
    border-radius: 50%;
    background: var(--av2-surface-soft);
}

.av2-social-post-identity {
    min-width: 0;
    flex: 1;
}

.av2-social-post-identity strong,
.av2-social-post-identity span {
    display: block;
}

.av2-social-post-identity strong {
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-social-post-identity span {
    margin-top: 2px;
    overflow: hidden;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-social-post-more {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--av2-text-muted);
}

.av2-social-caption-preview {
    min-height: 76px;
    padding: 13px;
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

.av2-social-caption-preview.is-placeholder {
    color: var(--av2-text-muted);
}

.av2-social-media-preview {
    position: relative;
    min-height: 275px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-top: 1px solid var(--av2-border);
    border-bottom: 1px solid var(--av2-border);
    background: #eef1f5;
}

.av2-social-media-preview img,
.av2-social-media-preview video {
    width: 100%;
    max-height: 420px;
    display: none;
    object-fit: contain;
    background: #0d1117;
}

.av2-social-media-placeholder {
    width: 100%;
    min-height: 275px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.av2-social-media-placeholder > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: var(--av2-text-muted);
    text-align: center;
}

.av2-social-media-placeholder-icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 3px;
    border-radius: 50%;
    background: #fff;
    color: var(--av2-primary, #0b5cff);
    font-size: 1.15rem;
    box-shadow: 0 4px 12px rgba(22, 34, 54, .06);
}

.av2-social-media-placeholder strong {
    color: #4b5563;
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-social-media-placeholder span:last-child {
    font-size: var(--av2-font-meta, .69rem);
}

.av2-social-post-footer {
    padding: 11px 13px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-social-post-footer span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ============================================================
   POST SETTINGS
   ============================================================ */

.av2-social-settings-panel .form-group {
    margin-bottom: 14px;
}

.av2-social-settings-panel label {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-social-settings-panel .form-control {
    min-height: 40px;
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    font-size: var(--av2-font-control, .82rem);
}

.av2-social-settings-panel textarea.form-control {
    min-height: 150px;
    resize: vertical;
}

.av2-social-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.av2-social-platform-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.av2-social-platform-option {
    position: relative;
    min-height: 68px;
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 10px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface);
    cursor: pointer;
    transition:
        border-color .15s ease,
        background .15s ease,
        box-shadow .15s ease;
}

.av2-social-platform-option:hover {
    border-color: rgba(11, 92, 255, .24);
    background: var(--av2-hover-bg);
}

.av2-social-platform-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.av2-social-platform-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1rem;
}

.av2-social-platform-icon.is-facebook {
    background: #eef5ff;
    color: #1877f2;
}

.av2-social-platform-icon.is-instagram {
    background: #fff0f6;
    color: #d62976;
}

.av2-social-platform-copy {
    min-width: 0;
    flex: 1;
}

.av2-social-platform-copy strong,
.av2-social-platform-copy small {
    display: block;
}

.av2-social-platform-copy strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-social-platform-copy small {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-social-platform-check {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--av2-border-strong);
    border-radius: 50%;
    background: var(--av2-surface);
    color: transparent;
    font-size: var(--av2-font-meta);
}

.av2-social-platform-option:has(input:checked) {
    border-color: rgba(11, 92, 255, .36);
    background: var(--av2-primary-soft, #eef5ff);
    box-shadow: 0 3px 10px rgba(11, 92, 255, .06);
}

.av2-social-platform-option:has(input:checked) .av2-social-platform-check {
    border-color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary, #0b5cff);
    color: #fff;
}

.av2-social-instagram-warning {
    margin-top: 9px;
    margin-bottom: 0;
    padding: 9px 11px;
    border-radius: 8px;
    font-size: var(--av2-font-meta, .69rem);
}

.av2-social-caption-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.av2-social-emoji-toggle {
    min-height: 30px;
    padding: 4px 8px;
    border-radius: 7px;
    font-size: var(--av2-font-meta, .69rem);
}

.av2-social-emoji-bar {
    display: none;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 8px;
    padding: 8px;
    border: 1px solid var(--av2-border);
    border-radius: 8px;
    background: var(--av2-surface-soft);
}

.av2-social-emoji-bar[style*="display: block"] {
    display: flex !important;
}

.av2-social-emoji-bar button {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--av2-border);
    border-radius: 7px;
    background: var(--av2-surface);
    font-size: .9rem;
    cursor: pointer;
}

.av2-social-emoji-bar button:hover {
    border-color: rgba(11, 92, 255, .24);
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-social-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.av2-social-upload-box {
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0;
    padding: 12px;
    border: 1px dashed var(--av2-border-strong);
    border-radius: 10px;
    background: var(--av2-surface-soft);
    cursor: pointer;
}

.av2-social-upload-box:hover {
    border-color: rgba(11, 92, 255, .38);
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-social-upload-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-surface);
    color: var(--av2-primary, #0b5cff);
    font-size: 1rem;
}

.av2-social-upload-copy strong,
.av2-social-upload-copy span {
    display: block;
}

.av2-social-upload-copy strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-social-upload-copy span {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-social-modal-actions {
    display: grid;
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
    gap: 8px;
    padding-top: 3px;
}

.av2-social-modal-actions .btn {
    min-height: 40px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark #socialSchedulerCalendar .fc-daygrid-day {
    background: var(--av2-surface);
}

.mod-skin-dark #socialSchedulerCalendar .fc-day-today {
    background: rgba(11, 92, 255, .08) !important;
}

.mod-skin-dark .av2-social-media-preview {
    background: #111827;
}

.mod-skin-dark .av2-social-media-placeholder-icon {
    background: rgba(255, 255, 255, .08);
    color: #7ea7ff;
}

.mod-skin-dark .av2-social-media-placeholder strong {
    color: var(--av2-text);
}

.mod-skin-dark .av2-social-platform-icon.is-facebook {
    background: rgba(24, 119, 242, .16);
    color: #7eafff;
}

.mod-skin-dark .av2-social-platform-icon.is-instagram {
    background: rgba(214, 41, 118, .16);
    color: #ff8fbe;
}

/* ============================================================
   MOBILE LIST VIEW
   ============================================================ */

@media (max-width: 575.98px) {
    #socialSchedulerCalendar {
        min-height: auto;
    }

    #socialSchedulerCalendar .fc-toolbar {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        grid-template-rows: auto auto !important;
        align-items: center !important;
        justify-content: normal !important;
        gap: 6px !important;
        width: 100%;
        margin-bottom: 14px;
    }

    #socialSchedulerCalendar .fc-toolbar-chunk:nth-child(1) {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        grid-column: 1 !important;
        grid-row: 2 !important;
        gap: 6px;
        width: auto;
    }

    #socialSchedulerCalendar .fc-toolbar-chunk:nth-child(2) {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        grid-column: 1 / 3 !important;
        grid-row: 1 !important;
        width: 100%;
        margin-bottom: 8px;
    }

    #socialSchedulerCalendar .fc-toolbar-chunk:nth-child(3) {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: auto;
    }

    #socialSchedulerCalendar .fc-toolbar-title {
        font-size: var(--av2-font-item-title, .90rem);
        text-align: left;
    }

    #socialSchedulerCalendar .fc-button {
        min-height: 34px;
        padding: 6px 8px;
        border-radius: 8px;
        font-size: var(--av2-font-meta, .69rem);
    }

    #socialSchedulerCalendar .fc-prev-button,
    #socialSchedulerCalendar .fc-next-button {
        width: 34px;
        padding-right: 0;
        padding-left: 0;
    }

    #socialSchedulerCalendar .fc-list {
        border: 0;
        background: transparent;
    }

    #socialSchedulerCalendar .fc-list-table {
        border-collapse: separate;
        border-spacing: 0 8px;
        background: transparent;
    }

    #socialSchedulerCalendar .fc-list-day {
        cursor: pointer;
    }

    #socialSchedulerCalendar .fc-list-day th {
        padding: 6px 0;
        border: 0;
        background: transparent;
    }

    #socialSchedulerCalendar .fc-list-day-cushion {
        display: block;
        padding: 9px 10px;
        border: 1px solid var(--av2-border);
        border-radius: 8px;
        background: var(--av2-surface-soft);
        color: var(--av2-text-strong);
        font-size: var(--av2-font-meta, .69rem);
        font-weight: var(--av2-weight-bold, 700);
        text-decoration: none;
    }

    #socialSchedulerCalendar .fc-list-day:hover .fc-list-day-cushion {
        border-color: rgba(11, 92, 255, .28);
        background: var(--av2-primary-soft, #eef5ff);
    }

    #socialSchedulerCalendar .fc-list-event td {
        padding: 8px 6px;
        border: 0;
        background: transparent !important;
    }

    #socialSchedulerCalendar .fc-list-event-time {
        width: 60px;
        color: var(--av2-text-muted);
        font-size: var(--av2-font-meta, .69rem);
        font-weight: var(--av2-weight-bold, 700);
        white-space: nowrap;
    }

    #socialSchedulerCalendar .fc-list-event-title {
        max-width: 220px;
        color: var(--av2-text);
    }

    #socialSchedulerCalendar .fc-list-event-title .av-social-calendar-card {
        box-shadow: none;
    }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-social-compose-grid {
        grid-template-columns: 1fr;
    }

    .av2-social-preview-panel {
        border-right: 0;
        border-bottom: 1px solid var(--av2-border);
    }

    .av2-social-post-card {
        max-width: 620px;
        margin: 0 auto;
    }
}

@media (max-width: 991.98px) {
    .av2-social-calendar-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767.98px) {
    .av2-social-page-heading {
        align-items: flex-start;
    }

    .av2-social-page-heading .av2-page-actions {
        width: 100%;
        margin-top: 10px;
    }

    .av2-social-page-heading .av2-page-actions .btn {
        width: 100%;
    }

    .av2-social-field-grid,
    .av2-social-platform-grid {
        grid-template-columns: 1fr;
    }

    .av2-social-modal-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .av2-social-calendar-body {
        padding: 11px;
    }

    .av2-social-calendar-heading {
        padding: 13px;
    }

    .av2-social-status-legend {
        gap: 7px 9px;
    }

    .av2-social-preview-panel,
    .av2-social-settings-panel {
        padding: 14px;
    }

    .av2-social-media-preview,
    .av2-social-media-placeholder {
        min-height: 220px;
    }
}


/* ========================================================================
   END 50.02 SOCIAL SCHEDULER
   ======================================================================== */


/* ========================================================================
   END 50. SOCIAL & MARKETING
   ======================================================================== */


/* ========================================================================
   60. EMAIL & CAMPAIGNS
   ======================================================================== */


/* ========================================================================
   60.01 EMAIL CAMPAIGNS
   ======================================================================== */

.av2-campaign-page {
    background: var(--av2-page-bg);
}

.av2-campaign-shell {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

.av2-campaign-heading {
    align-items: center;
    margin-bottom: 16px;
}

.av2-campaign-title-row {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-campaign-page-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 5px 14px rgba(11, 92, 255, .18);
}

.av2-campaign-page-subtitle {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

.av2-campaign-page-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.av2-campaign-page-actions .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

.av2-campaign-action-menu {
    min-width: 220px;
    padding: 6px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface);
    box-shadow: 0 10px 28px rgba(22, 34, 54, .12);
}

.av2-campaign-action-menu .dropdown-item {
    min-height: 36px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 7px;
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
}

.av2-campaign-action-menu .dropdown-item:hover {
    background: var(--av2-hover-bg);
}

.av2-campaign-action-menu .dropdown-item i {
    width: 18px;
    color: var(--av2-text-muted);
    text-align: center;
}

/* ============================================================
   OVERVIEW
   ============================================================ */

.av2-campaign-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.av2-campaign-kpi {
    min-height: 94px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-campaign-kpi-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-size: 1.05rem;
}

.av2-campaign-kpi-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-campaign-kpi-icon.is-purple {
    background: #f4ecff;
    color: #7148d8;
}

.av2-campaign-kpi-icon.is-orange {
    background: #fff5e6;
    color: #e88a00;
}

.av2-campaign-kpi-icon.is-green {
    background: #edf9f0;
    color: #209647;
}

.av2-campaign-kpi-copy strong,
.av2-campaign-kpi-copy span {
    display: block;
}

.av2-campaign-kpi-copy strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-kpa-value, 1.85rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1;
}

.av2-campaign-kpi-copy span {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-kpa-title, .84rem);
    font-weight: var(--av2-weight-medium, 500);
}

/* ============================================================
   PANELS
   ============================================================ */

.av2-campaign-panel {
    overflow: hidden;
    margin-bottom: 16px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-campaign-panel-heading {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 17px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface);
}

.av2-campaign-panel-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-campaign-panel-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-campaign-panel-tools {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.av2-campaign-count-pill {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-campaign-help-button {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--av2-border);
    border-radius: 8px;
    background: var(--av2-surface);
    color: var(--av2-text-muted);
}

.av2-campaign-help-button:hover {
    border-color: rgba(11, 92, 255, .28);
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-campaign-panel-body {
    padding: 13px;
}

/* ============================================================
   CAMPAIGN ROWS
   ============================================================ */

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

.av2-campaign-row {
    display: grid;
    grid-template-columns: minmax(240px, 1.35fr) minmax(360px, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 13px;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    background: var(--av2-surface);
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.av2-campaign-row:hover {
    transform: translateY(-1px);
    border-color: var(--av2-border-strong);
    box-shadow: 0 6px 16px rgba(22, 34, 54, .055);
}

.av2-campaign-row-main {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-campaign-row-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: .95rem;
}

.av2-campaign-row-copy {
    min-width: 0;
}

.av2-campaign-name-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.av2-campaign-name-row > a {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-campaign-name-row > a:hover {
    color: var(--av2-primary, #0b5cff);
    text-decoration: none;
}

.av2-campaign-interval-badge {
    min-height: 23px;
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-campaign-row-copy p {
    margin: 4px 0 0;
    overflow: hidden;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.45;
    text-overflow: ellipsis;
}

.av2-campaign-metrics {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(72px, 1fr));
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    background: var(--av2-surface-soft);
}

.av2-campaign-metric {
    min-width: 0;
    padding: 8px 6px;
    border-right: 1px solid var(--av2-border);
    text-align: center;
}

.av2-campaign-metric:last-child {
    border-right: 0;
}

.av2-campaign-metric span,
.av2-campaign-metric strong {
    display: block;
}

.av2-campaign-metric span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-medium, 500);
}

.av2-campaign-metric strong {
    margin-top: 3px;
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-campaign-metric strong.is-green {
    color: #209647;
}

.av2-campaign-metric strong.is-orange {
    color: #d88400;
}

.av2-campaign-rate {
    display: inline-flex !important;
    width: fit-content;
    min-height: 24px;
    align-items: center;
    justify-content: center;
    margin: 3px auto 0 !important;
    padding: 2px 7px;
    border-radius: 999px;
}

.av2-campaign-rate.is-strong {
    background: #edf9f0;
    color: #209647;
}

.av2-campaign-rate.is-medium {
    background: #fff5e6;
    color: #c47500;
}

.av2-campaign-rate.is-low {
    background: #fff0f0;
    color: #d34a4a;
}

.av2-campaign-row-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.av2-campaign-row-actions .btn {
    min-height: 34px;
    border-radius: 7px;
    font-size: var(--av2-font-meta, .69rem);
}

/* ============================================================
   TRIGGERS
   ============================================================ */

.av2-trigger-list {
    display: grid;
    gap: 9px;
}

.av2-trigger-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    padding: 12px 13px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface);
}

.av2-trigger-icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f4ecff;
    color: #7148d8;
}

.av2-trigger-copy {
    min-width: 0;
}

.av2-trigger-copy > strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-trigger-rule {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 5px;
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.5;
}

.av2-trigger-rule b {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-trigger-rule b.is-campaign {
    background: #f4ecff;
    color: #7148d8;
}

/* ============================================================
   EMPTY STATES
   ============================================================ */

.av2-campaign-empty-state {
    min-height: 210px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 28px;
    color: var(--av2-text-muted);
    text-align: center;
}

.av2-campaign-empty-state.is-compact {
    min-height: 150px;
}

.av2-campaign-empty-state > span {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2px;
    border-radius: 50%;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: 1.1rem;
}

.av2-campaign-empty-state > strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
}

.av2-campaign-empty-state > p {
    max-width: 430px;
    margin: 0 0 4px;
    font-size: var(--av2-font-body, .80rem);
}

/* ============================================================
   AV2 MODALS
   ============================================================ */

.av2-campaign-modal .av2-modal {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 18px 55px rgba(6, 26, 59, .24);
}

.av2-campaign-modal .av2-modal-header {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 18px;
    border-bottom: 0;
    background: linear-gradient(
        135deg,
        var(--av2-navy, #061a3b) 0%,
        #0a2a5e 62%,
        #0b5cff 150%
    );
}

.av2-campaign-modal .av2-modal-header-main {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-campaign-modal .av2-modal-header-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 11px;
    background: rgba(255, 255, 255, .10);
    color: #fff;
    font-size: 1rem;
}

.av2-campaign-modal .av2-modal-title {
    margin: 0;
    color: #fff;
    font-size: var(--av2-font-modal-title, 1.25rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-campaign-modal .av2-modal-subtitle {
    margin-top: 2px;
    color: rgba(255, 255, 255, .70);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-campaign-modal .av2-modal-close {
    color: #fff;
    opacity: .82;
    text-shadow: none;
}

.av2-campaign-modal .av2-modal-body {
    padding: 18px;
    background: var(--av2-surface);
}

.av2-campaign-modal .av2-modal-footer {
    padding: 12px 18px;
    border-top: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-campaign-modal .av2-modal-section {
    margin-bottom: 14px;
    padding: 15px;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    background: var(--av2-surface-soft);
}

.av2-campaign-modal .av2-modal-section-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 13px;
}

.av2-campaign-modal .av2-modal-section-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-campaign-modal .av2-modal-section-title {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-campaign-modal .av2-modal-section-subtitle {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-campaign-modal .form-control {
    min-height: 40px;
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    font-size: var(--av2-font-control, .82rem);
}

.av2-campaign-modal textarea.form-control {
    min-height: 92px;
}

.av2-campaign-modal label {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-campaign-optional {
    margin-left: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-medium, 500);
}

/* ============================================================
   EMAIL SEQUENCE
   ============================================================ */

.av2-campaign-sequence-note {
    margin-bottom: 12px;
    border-radius: 8px;
    font-size: var(--av2-font-body, .80rem);
}

.av2-campaign-sequence {
    display: grid;
    gap: 8px;
}

.av2-campaign-email-step {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    background: var(--av2-surface);
}

.av2-campaign-step-number {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-campaign-step-field {
    min-width: 0;
}

.av2-campaign-step-field label {
    margin-bottom: 4px;
}

/* ============================================================
   TEMPLATE LIBRARY MODAL
   ============================================================ */

.av2-campaign-template-list {
    display: grid;
    gap: 8px;
}

.av2-campaign-template-item {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    background: var(--av2-surface);
}

.av2-campaign-template-heading {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border: 0;
    background: var(--av2-surface);
    color: var(--av2-text-strong);
    text-align: left;
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-campaign-template-heading > span {
    display: flex;
    align-items: center;
    gap: 8px;
}

.av2-campaign-template-heading > span i {
    color: var(--av2-primary, #0b5cff);
}

.av2-campaign-template-body {
    padding: 12px;
    border-top: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-campaign-template-description {
    margin-bottom: 12px;
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

/* ============================================================
   TOAST
   ============================================================ */

.av2-campaign-toast {
    position: fixed;
    z-index: 1050;
    top: 20px;
    left: 50%;
    width: 320px;
    display: none;
    transform: translateX(-50%);
    border-radius: 9px;
}

/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-campaign-kpi-icon.is-blue,
.mod-skin-dark .av2-campaign-row-icon,
.mod-skin-dark .av2-campaign-step-number {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

.mod-skin-dark .av2-campaign-kpi-icon.is-purple,
.mod-skin-dark .av2-trigger-icon {
    background: rgba(113, 72, 216, .18);
    color: #b9a1ff;
}

.mod-skin-dark .av2-campaign-kpi-icon.is-orange {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-campaign-kpi-icon.is-green {
    background: rgba(32, 150, 71, .18);
    color: #79d99a;
}

.mod-skin-dark .av2-campaign-rate.is-strong {
    background: rgba(32, 150, 71, .18);
    color: #79d99a;
}

.mod-skin-dark .av2-campaign-rate.is-medium {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-campaign-rate.is-low {
    background: rgba(211, 74, 74, .18);
    color: #ff9a9a;
}

.mod-skin-dark .av2-trigger-rule b {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

.mod-skin-dark .av2-trigger-rule b.is-campaign {
    background: rgba(113, 72, 216, .18);
    color: #b9a1ff;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */


/* ============================================================
   SMALL DESKTOP / TABLET LANDSCAPE
   ============================================================ */

@media (max-width: 1199.98px) {

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

    .av2-campaign-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .av2-campaign-metrics {
        grid-column: 1 / 3;
        grid-row: 2;
    }
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {

    .av2-campaign-heading {
        width: 100%;
        align-items: stretch !important;
        flex-direction: column !important;
        gap: 12px;
    }

    .av2-campaign-heading > .av2-page-heading-content {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .av2-campaign-page-actions {
        width: 100%;
        max-width: 100%;
        margin: 0 !important;
    }

    .av2-campaign-panel-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-campaign-panel-tools {
        width: 100%;
        justify-content: flex-start;
    }
}


/* ============================================================
   PHONE / SMALL TABLET
   ============================================================ */

@media (max-width: 767.98px) {

    /*
     * --------------------------------------------------------
     * PAGE HEADING
     * --------------------------------------------------------
     */

    .av2-campaign-heading {
        display: flex !important;
        width: 100%;
        max-width: 100%;
        align-items: stretch !important;
        flex-direction: column !important;
        gap: 10px;
        margin-bottom: 14px;
    }

    .av2-campaign-heading > .av2-page-heading-content {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .av2-campaign-heading .av2-page-title,
    .av2-campaign-heading .subheader-title {
        width: 100%;
        max-width: 100%;
        margin: 0;
        overflow: visible;
        white-space: normal;
        text-overflow: clip;
    }

    .av2-campaign-heading .av2-aw-page-subtitle {
        display: none;
    }

    .av2-campaign-heading .av2-breadcrumb {
        width: 100%;
        max-width: 100%;
        margin-top: 8px;
        overflow: hidden;
    }

    .av2-campaign-heading .breadcrumb {
        flex-wrap: nowrap;
        width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    .av2-campaign-heading .breadcrumb-item {
        min-width: 0;
    }

    .av2-campaign-heading .breadcrumb-item.active {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }


    /*
     * --------------------------------------------------------
     * MOBILE ACTION BAR
     * --------------------------------------------------------
     *
     * Theme 16 globally hides .av2-page-actions on mobile.
     * Email Campaigns keeps the actions available and presents
     * them as one compact mobile toolbar.
     */

    .av2-campaign-heading .av2-campaign-page-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1.55fr) minmax(118px, .85fr);
        width: 100%;
        max-width: 100%;
        gap: 8px;
        margin: 0 !important;
        padding: 8px;
        border: 1px solid var(--av2-border);
        border-radius: 12px;
        background: var(--av2-surface);
        box-sizing: border-box;
        box-shadow:
            0 2px 5px rgba(22, 34, 54, .025),
            0 6px 16px rgba(22, 34, 54, .035);
    }

    .av2-campaign-page-actions > .btn,
    .av2-campaign-page-actions > .dropdown {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .av2-campaign-page-actions > .btn,
    .av2-campaign-page-actions .dropdown > .btn {
        width: 100%;
        min-height: 42px;
        padding: 8px 10px;
        border-radius: 9px;
        font-size: .78rem;
        line-height: 1.2;
        white-space: nowrap;
    }

    .av2-campaign-page-actions .dropdown {
        position: relative;
    }

    /*
     * Keep the action menu large enough to read while ensuring
     * it remains inside the phone viewport.
     */
    .av2-campaign-page-actions .av2-campaign-action-menu {
        top: calc(100% + 6px) !important;
        right: 0 !important;
        left: auto !important;
        width: min(290px, calc(100vw - 32px));
        max-width: calc(100vw - 32px);
        min-width: 0;
        margin: 0;
        transform: none !important;
        z-index: 1060;
    }

    .av2-campaign-action-menu .dropdown-item {
        min-height: 42px;
        padding: 9px 11px;
        font-size: .80rem;
    }

    /*
     * Hide the Email Builder option from the Campaigns
     * More Actions menu on phones.
     */
    .av2-campaign-action-menu a[href^="email_campaign_builder.php"] {
        display: none !important;
    }

    /*
     * Hide only the Edit button for Saved Email Templates.
     * Do NOT hide the template-name link.
     */
    .av2-st-template-actions a[href^="edit_email_templates.php"] {
        display: none !important;
    }


    /*
     * --------------------------------------------------------
     * OVERVIEW
     * --------------------------------------------------------
     *
     * Use a compact 2 x 2 dashboard instead of four oversized
     * full-width KPI cards.
     */

    .av2-campaign-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 14px;
    }

    .av2-campaign-kpi {
        min-width: 0;
        min-height: 108px;
        align-items: flex-start;
        flex-direction: column;
        justify-content: space-between;
        gap: 10px;
        padding: 13px;
    }

    .av2-campaign-kpi-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        border-radius: 10px;
        font-size: .92rem;
    }

    .av2-campaign-kpi-copy {
        width: 100%;
        min-width: 0;
    }

    .av2-campaign-kpi-copy strong {
        font-size: 1.45rem;
    }

    .av2-campaign-kpi-copy span {
        margin-top: 4px;
        font-size: .73rem;
        line-height: 1.3;
    }


    /*
     * --------------------------------------------------------
     * CAMPAIGN PANEL
     * --------------------------------------------------------
     */

    .av2-campaign-panel {
        border-radius: 12px;
    }

    .av2-campaign-panel-heading {
        min-height: 0;
        gap: 10px;
        padding: 14px;
    }

    .av2-campaign-panel-heading h2 {
        font-size: .98rem;
    }

    .av2-campaign-panel-heading p {
        margin-top: 4px;
        line-height: 1.45;
    }

    .av2-campaign-panel-tools {
        width: auto;
        align-self: flex-start;
    }

    .av2-campaign-panel-body {
        padding: 10px;
    }


    /*
     * --------------------------------------------------------
     * CAMPAIGN ROWS
     * --------------------------------------------------------
     */

    .av2-campaign-row {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
        gap: 11px;
        padding: 12px;
        box-sizing: border-box;
    }

    .av2-campaign-row-main {
        min-width: 0;
        align-items: flex-start;
    }

    .av2-campaign-row-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        border-radius: 10px;
    }

    .av2-campaign-row-copy,
    .av2-campaign-name-row {
        min-width: 0;
    }

    .av2-campaign-name-row {
        align-items: flex-start;
    }

    .av2-campaign-name-row > a {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .av2-campaign-row-copy p {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }


    /*
     * --------------------------------------------------------
     * CAMPAIGN METRICS
     * --------------------------------------------------------
     */

    .av2-campaign-metrics {
        grid-column: auto;
        grid-row: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        max-width: 100%;
    }

    .av2-campaign-metric {
        min-height: 54px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        padding: 7px 5px;
    }

    .av2-campaign-metric:nth-child(2) {
        border-right: 0;
    }

    .av2-campaign-metric:nth-child(-n+2) {
        border-bottom: 1px solid var(--av2-border);
    }

    .av2-campaign-metric span {
        font-size: .69rem;
    }

    .av2-campaign-metric strong {
        font-size: .78rem;
    }


    /*
     * --------------------------------------------------------
     * ROW ACTIONS
     * --------------------------------------------------------
     */

    .av2-campaign-row-actions {
        width: 100%;
        gap: 7px;
    }

    .av2-campaign-row-actions .btn {
        flex: 1 1 0;
        min-width: 0;
        min-height: 38px;
    }


    /*
     * --------------------------------------------------------
     * TRIGGERS
     * --------------------------------------------------------
     */

    .av2-trigger-row {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 10px;
        padding: 11px;
        box-sizing: border-box;
    }

    .av2-trigger-icon {
        width: 38px;
        height: 38px;
    }

    .av2-trigger-copy {
        min-width: 0;
    }

    .av2-trigger-rule {
        overflow-wrap: anywhere;
    }

    .av2-trigger-row > .btn {
        grid-column: 1 / 3;
        width: 100%;
        min-height: 38px;
    }
}


/* ============================================================
   SMALL PHONE
   ============================================================ */

@media (max-width: 575.98px) {

    .av2-campaign-shell {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .av2-campaign-panel-body {
        padding: 9px;
    }

    .av2-campaign-row {
        padding: 11px;
    }

    .av2-campaign-email-step {
        grid-template-columns: 1fr;
    }

    .av2-campaign-step-number {
        width: 34px;
        height: 34px;
    }
}


/* ============================================================
   VERY SMALL PHONE
   ============================================================ */

@media (max-width: 359.98px) {

    /*
     * On very narrow devices, stack the action buttons only
     * when there is genuinely not enough room for the toolbar.
     */
    .av2-campaign-heading .av2-campaign-page-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .av2-campaign-overview {
        grid-template-columns: minmax(0, 1fr);
    }

    .av2-campaign-kpi {
        min-height: 88px;
        align-items: center;
        flex-direction: row;
        justify-content: flex-start;
    }

    .av2-campaign-kpi-copy strong {
        font-size: 1.35rem;
    }
}


/* ========================================================================
   END 60.01 EMAIL CAMPAIGNS
   ======================================================================== */


/* ========================================================================
   60.02 DRIP CAMPAIGN WIZARD
   ======================================================================== */

.av2-campaign-wizard-modal .modal-dialog {
    max-width: 860px;
}

.av2-campaign-wizard-modal .av2-modal {
    max-height: calc(100vh - 34px);
}

.av2-campaign-wizard-progress {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        34px
        minmax(0, 1fr)
        34px
        minmax(0, 1fr)
        34px
        minmax(0, 1fr);
    align-items: center;
    gap: 0;
    padding: 14px 18px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface);
}

.av2-campaign-wizard-step {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
}

.av2-campaign-wizard-step-number {
    width: 30px;
    height: 30px;
    min-width: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--av2-border-strong);
    border-radius: 50%;
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
    transition:
        border-color .15s ease,
        background .15s ease,
        color .15s ease;
}

.av2-campaign-wizard-step-copy {
    min-width: 0;
}

.av2-campaign-wizard-step-copy strong,
.av2-campaign-wizard-step-copy small {
    display: block;
}

.av2-campaign-wizard-step-copy strong {
    overflow: hidden;
    color: var(--av2-text);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-campaign-wizard-step-copy small {
    margin-top: 1px;
    overflow: hidden;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-campaign-wizard-step.is-active .av2-campaign-wizard-step-number {
    border-color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    box-shadow: 0 4px 10px rgba(11, 92, 255, .18);
}

.av2-campaign-wizard-step.is-active .av2-campaign-wizard-step-copy strong {
    color: var(--av2-primary, #0b5cff);
}

.av2-campaign-wizard-step.is-complete .av2-campaign-wizard-step-number {
    border-color: #209647;
    background: #edf9f0;
    color: #209647;
}

.av2-campaign-wizard-step.is-complete .av2-campaign-wizard-step-number::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
}

.av2-campaign-wizard-step.is-complete .av2-campaign-wizard-step-number {
    font-size: 0;
}

.av2-campaign-wizard-step.is-complete .av2-campaign-wizard-step-number::before {
    font-size: var(--av2-font-meta);
}

.av2-campaign-wizard-connector {
    height: 1px;
    margin: 0 7px;
    background: var(--av2-border-strong);
}

.av2-campaign-wizard-body {
    min-height: 455px;
    max-height: calc(100vh - 245px);
    overflow-y: auto;
    padding: 18px;
}

.av2-campaign-wizard-pane {
    display: none;
}

.av2-campaign-wizard-pane.is-active {
    display: block;
    animation: av2CampaignWizardFade .18s ease;
}

@keyframes av2CampaignWizardFade {
    from {
        opacity: .35;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.av2-campaign-wizard-pane-heading {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 14px;
}

.av2-campaign-wizard-pane-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: 1rem;
}

.av2-campaign-wizard-pane-icon.is-review {
    background: #edf9f0;
    color: #209647;
}

.av2-campaign-wizard-pane-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-campaign-wizard-pane-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.45;
}

.av2-campaign-wizard-card {
    padding: 16px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface-soft);
}

.av2-campaign-wizard-card .form-control {
    background: var(--av2-input-bg);
}

.av2-campaign-wizard-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.av2-campaign-wizard-footer-left {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-medium, 500);
}

.av2-campaign-wizard-footer-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.av2-campaign-wizard-footer-actions .btn {
    min-width: 112px;
}

/* Timeline selection */
.av2-campaign-timeline-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.av2-campaign-timeline-option {
    position: relative;
    min-height: 74px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 11px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface);
    cursor: pointer;
    transition:
        border-color .15s ease,
        background .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.av2-campaign-timeline-option:last-child {
    grid-column: 1 / 3;
}

.av2-campaign-timeline-option:hover {
    transform: translateY(-1px);
    border-color: rgba(11, 92, 255, .24);
    box-shadow: 0 4px 12px rgba(22, 34, 54, .04);
}

.av2-campaign-timeline-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.av2-campaign-timeline-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-surface-soft);
    color: var(--av2-primary, #0b5cff);
}

.av2-campaign-timeline-option > span:last-child {
    min-width: 0;
}

.av2-campaign-timeline-option strong,
.av2-campaign-timeline-option small {
    display: block;
}

.av2-campaign-timeline-option strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-campaign-timeline-option small {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.35;
}

.av2-campaign-timeline-option.is-selected {
    border-color: rgba(11, 92, 255, .38);
    background: var(--av2-primary-soft, #eef5ff);
    box-shadow: 0 4px 12px rgba(11, 92, 255, .06);
}

.av2-campaign-timeline-option.is-selected .av2-campaign-timeline-icon {
    background: var(--av2-primary, #0b5cff);
    color: #fff;
}

/* Sequence wizard */
.av2-campaign-sequence-guidance {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-bottom: 12px;
    padding: 11px;
    border: 1px solid rgba(11, 92, 255, .16);
    border-radius: 9px;
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-campaign-sequence-guidance > span {
    color: var(--av2-primary, #0b5cff);
}

.av2-campaign-sequence-guidance strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
}

.av2-campaign-sequence-guidance p {
    margin: 2px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.45;
}

.av2-campaign-sequence-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
}

.av2-campaign-sequence-count {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

/* Review */
.av2-campaign-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.av2-campaign-review-card {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface);
}

.av2-campaign-review-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-campaign-review-icon.is-orange {
    background: #fff5e6;
    color: #d88400;
}

.av2-campaign-review-icon.is-purple {
    background: #f4ecff;
    color: #7148d8;
}

.av2-campaign-review-card div {
    min-width: 0;
}

.av2-campaign-review-card span,
.av2-campaign-review-card strong {
    display: block;
}

.av2-campaign-review-card div > span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-campaign-review-card strong {
    margin-top: 2px;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-bold, 700);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-campaign-review-section {
    margin-bottom: 10px;
    padding: 12px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
}

.av2-campaign-review-section-heading {
    margin-bottom: 7px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
}

.av2-campaign-review-section > p {
    margin: 0;
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.5;
}

.av2-campaign-review-sequence {
    display: grid;
    gap: 6px;
}

.av2-campaign-review-sequence-item {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.av2-campaign-review-sequence-item > span {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-campaign-review-sequence-item strong {
    overflow: hidden;
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-medium, 500);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-campaign-review-ready {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(32, 150, 71, .20);
    border-radius: 10px;
    background: #edf9f0;
}

.av2-campaign-review-ready > span {
    color: #209647;
    font-size: 1rem;
}

.av2-campaign-review-ready strong {
    color: #166b35;
    font-size: var(--av2-font-body, .80rem);
}

.av2-campaign-review-ready p {
    margin: 2px 0 0;
    color: #4b7159;
    font-size: var(--av2-font-meta, .69rem);
}

/* Dark mode */
.mod-skin-dark .av2-campaign-wizard-step.is-complete .av2-campaign-wizard-step-number {
    background: rgba(32, 150, 71, .18);
    color: #79d99a;
}

.mod-skin-dark .av2-campaign-wizard-pane-icon.is-review,
.mod-skin-dark .av2-campaign-review-ready {
    background: rgba(32, 150, 71, .14);
}

.mod-skin-dark .av2-campaign-review-ready strong {
    color: #9be0b3;
}

.mod-skin-dark .av2-campaign-review-ready p {
    color: #abc8b5;
}

.mod-skin-dark .av2-campaign-review-icon.is-orange {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-campaign-review-icon.is-purple {
    background: rgba(113, 72, 216, .18);
    color: #b9a1ff;
}

/* Responsive wizard */
@media (max-width: 767.98px) {
    .av2-campaign-wizard-progress {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
        padding: 10px 12px;
    }

    .av2-campaign-wizard-connector {
        display: none;
    }

    .av2-campaign-wizard-step {
        justify-content: center;
    }

    .av2-campaign-wizard-step-copy {
        display: none;
    }

    .av2-campaign-wizard-body {
        min-height: 420px;
        max-height: calc(100vh - 215px);
        padding: 14px;
    }

    .av2-campaign-timeline-options {
        grid-template-columns: 1fr;
    }

    .av2-campaign-timeline-option:last-child {
        grid-column: auto;
    }

    .av2-campaign-review-grid {
        grid-template-columns: 1fr;
    }

    .av2-campaign-wizard-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-campaign-wizard-footer-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .av2-campaign-wizard-footer-actions .btn {
        width: 100%;
        min-width: 0;
    }

    .av2-campaign-wizard-footer-actions #createCampaignButton {
        grid-column: 1 / 3;
    }
}

@media (max-width: 575.98px) {
    .av2-campaign-sequence-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-campaign-sequence-actions .btn {
        width: 100%;
    }

    .av2-campaign-wizard-footer-actions {
        grid-template-columns: 1fr;
    }

    .av2-campaign-wizard-footer-actions #createCampaignButton {
        grid-column: auto;
    }
}

/* ============================================================
   DRIP CAMPAIGN WIZARD - REVIEW ICON
   Fixes text span rules overriding the icon flex containers.
   ============================================================ */

.av2-campaign-review-card > div > span,
.av2-campaign-review-card > div > strong {
    display: block;
}

.av2-campaign-review-card > div > span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-campaign-review-card .av2-campaign-review-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    flex: 0 0 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    line-height: 1;
}

.av2-campaign-review-card .av2-campaign-review-icon i {
    display: block;
    margin: 0;
    line-height: 1;
}


/* ========================================================================
   END 60.02 DRIP CAMPAIGN WIZARD
   ======================================================================== */


/* ========================================================================
   60.03 CAMPAIGN DETAILS
   ======================================================================== */

.av2-cd-page {
    background: var(--av2-page-bg);
}

.av2-cd-shell {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-cd-back-row {
    min-height: 34px;
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.av2-cd-back-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cd-back-link:hover {
    color: #084fe0;
    text-decoration: none;
}

.av2-cd-heading {
    align-items: center;
    margin-bottom: 16px;
}

.av2-cd-title-row {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-cd-page-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 5px 14px rgba(11, 92, 255, .18);
}

.av2-cd-page-subtitle {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

.av2-cd-page-actions .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   KPI STRIP
   ============================================================ */

.av2-cd-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.av2-cd-kpi {
    min-height: 96px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-cd-kpi-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-size: 1.05rem;
}

.av2-cd-kpi-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-cd-kpi-icon.is-orange {
    background: #fff5e6;
    color: #e88a00;
}

.av2-cd-kpi-icon.is-green {
    background: #edf9f0;
    color: #209647;
}

.av2-cd-kpi-icon.is-purple {
    background: #f4ecff;
    color: #7148d8;
}

.av2-cd-kpi-copy strong,
.av2-cd-kpi-copy span {
    display: block;
}

.av2-cd-kpi-copy strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-kpa-value, 1.85rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1;
}

.av2-cd-kpi-copy span {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-kpa-title, .84rem);
    font-weight: var(--av2-weight-medium, 500);
}

/* ============================================================
   DASHBOARD / PANELS
   ============================================================ */

.av2-cd-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr);
    gap: 16px;
    margin-bottom: 16px;
    align-items: start;
}

.av2-cd-panel {
    overflow: hidden;
    margin-bottom: 16px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-cd-dashboard-grid .av2-cd-panel {
    margin-bottom: 0;
}

.av2-cd-panel-heading {
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 17px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface);
}

.av2-cd-panel-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cd-panel-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.45;
}

.av2-cd-panel-body {
    padding: 15px;
}

.av2-cd-count-pill {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cd-status-pill {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #edf9f0;
    color: #209647;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cd-status-pill i {
    width: 7px;
    height: 7px;
    display: inline-block;
    border-radius: 50%;
    background: #209647;
}

/* ============================================================
   CAMPAIGN SETUP
   ============================================================ */

.av2-cd-processing-card {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 14px;
    padding: 13px;
    border: 1px solid rgba(11, 92, 255, .14);
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-cd-processing-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-surface);
    color: var(--av2-primary, #0b5cff);
}

.av2-cd-processing-card strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cd-processing-card p {
    margin: 3px 0 7px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.5;
}

.av2-cd-processing-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 14px;
}

.av2-cd-processing-meta span,
.av2-cd-processing-meta a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cd-processing-meta span {
    color: var(--av2-text);
}

.av2-cd-processing-meta a {
    color: var(--av2-primary, #0b5cff);
}

.av2-cd-settings-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, .7fr);
    gap: 10px;
    margin-bottom: 13px;
}

.av2-cd-setting {
    position: relative;
    padding: 12px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
}

.av2-cd-setting label,
.av2-cd-description label {
    display: block;
    margin-bottom: 6px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cd-setting .form-control,
.av2-cd-description .form-control {
    min-height: 40px;
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    font-size: var(--av2-font-control, .82rem);
}

.av2-cd-save-status {
    position: absolute;
    top: 9px;
    right: 10px;
    display: none;
    align-items: center;
    gap: 4px;
    color: #209647;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cd-template-count {
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: 9px;
}

.av2-cd-template-count > span {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cd-template-count strong,
.av2-cd-template-count small {
    display: block;
}

.av2-cd-template-count strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
}

.av2-cd-template-count small {
    margin-top: 1px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cd-description textarea {
    min-height: 110px;
    resize: vertical;
}

/* ============================================================
   EMAIL SEQUENCE
   ============================================================ */

.av2-cd-template-list {
    display: grid;
    gap: 8px;
}

.av2-cd-template-item {
    display: grid;
    grid-template-columns: 34px 36px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    padding: 9px;
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    background: var(--av2-surface-soft);
}

.av2-cd-template-number {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cd-template-icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--av2-surface);
    color: var(--av2-text-muted);
}

.av2-cd-template-copy {
    min-width: 0;
}

.av2-cd-template-copy span,
.av2-cd-template-copy strong {
    display: block;
}

.av2-cd-template-copy span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
}

.av2-cd-template-copy strong {
    margin-top: 2px;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ============================================================
   EMAIL PERFORMANCE
   ============================================================ */

.av2-cd-performance-rate {
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
    white-space: nowrap;
}

.av2-cd-performance-rate.is-strong {
    background: #edf9f0;
    color: #209647;
}

.av2-cd-performance-rate.is-medium {
    background: #fff5e6;
    color: #c47500;
}

.av2-cd-performance-rate.is-low {
    background: #fff0f0;
    color: #d34a4a;
}

.av2-cd-email-tabs {
    margin-bottom: 13px;
    border-bottom-color: var(--av2-border);
    gap: 4px;
}

.av2-cd-email-tabs .nav-link {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    border-radius: 8px 8px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cd-email-tabs .nav-link.active {
    border-color:
        var(--av2-border)
        var(--av2-border)
        var(--av2-surface);
    background: var(--av2-surface);
    color: var(--av2-primary, #0b5cff);
}

.av2-cd-email-performance-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
    gap: 14px;
    align-items: stretch;
}

.av2-cd-email-performance-main,
.av2-cd-chart-wrap {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    background: var(--av2-surface-soft);
}

.av2-cd-email-performance-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.av2-cd-email-performance-heading > div {
    min-width: 0;
}

.av2-cd-email-performance-heading > div > span,
.av2-cd-email-performance-heading > div > strong {
    display: block;
}

.av2-cd-email-performance-heading > div > span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cd-email-performance-heading > div > strong {
    margin-top: 2px;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-cd-email-progress {
    height: 8px;
    margin: 18px 0 15px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--av2-border);
}

.av2-cd-email-progress > div {
    height: 100%;
    border-radius: inherit;
    background: var(--av2-primary, #0b5cff);
}

.av2-cd-email-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    background: var(--av2-surface);
}

.av2-cd-email-metrics > div {
    padding: 10px 7px;
    border-right: 1px solid var(--av2-border);
    text-align: center;
}

.av2-cd-email-metrics > div:last-child {
    border-right: 0;
}

.av2-cd-email-metrics span,
.av2-cd-email-metrics strong {
    display: block;
}

.av2-cd-email-metrics span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cd-email-metrics strong {
    margin-top: 3px;
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cd-email-metrics strong.is-green {
    color: #209647;
}

.av2-cd-email-metrics strong.is-orange {
    color: #d88400;
}

.av2-cd-chart-wrap {
    min-height: 260px;
    background: var(--av2-surface);
}

.av2-cd-chart-wrap canvas {
    width: 100% !important;
    height: 230px !important;
}

/* ============================================================
   CONTACT ACTIONS / TABLE
   ============================================================ */

.av2-cd-contact-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 13px;
    padding: 12px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
}

.av2-cd-add-contact-form {
    min-width: 0;
    flex: 1;
    display: grid;
    grid-template-columns:
        minmax(190px, 1.4fr)
        minmax(145px, .8fr)
        auto
        auto;
    gap: 8px;
    align-items: center;
}

.av2-cd-add-contact-form .form-control,
.av2-cd-contact-actions .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

.av2-cd-add-contact-form .form-control {
    border-color: var(--av2-border-strong);
    background: var(--av2-input-bg);
    color: var(--av2-text);
}

.av2-cd-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-cd-contact-table {
    width: 100%;
    min-width: 940px;
    margin: 0;
    background: var(--av2-surface);
}

.av2-cd-contact-table thead th {
    padding: 10px 11px;
    border: 0;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
    text-transform: uppercase;
    letter-spacing: .025em;
    white-space: nowrap;
}

.av2-cd-contact-table thead th.asc::after {
    content: " ▲";
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-compact);
}

.av2-cd-contact-table thead th:not(.asc):not(.av2-cd-actions-column)::after {
    content: " ▼";
    color: #c7ccd4;
    font-size: var(--av2-font-compact);
}

.av2-cd-contact-table tbody td {
    padding: 10px 11px;
    border-top: 1px solid var(--av2-border);
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
    vertical-align: middle;
}

.av2-cd-contact-table tbody tr:first-child td {
    border-top: 0;
}

.av2-cd-contact-table tbody tr:hover td {
    background: var(--av2-hover-bg);
}

.av2-cd-contact-link {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--av2-text-strong);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cd-contact-link:hover {
    color: var(--av2-primary, #0b5cff);
    text-decoration: none;
}

.av2-cd-contact-avatar {
    width: 30px;
    height: 30px;
    min-width: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: .64rem;
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cd-contact-status {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cd-contact-status.is-warning {
    background: #fff5e6;
    color: #b96f00;
}

.av2-cd-contact-status.is-info {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-cd-engagement {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.av2-cd-engagement-badge {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #edf9f0;
    color: #209647;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cd-engagement-empty {
    color: var(--av2-text-muted);
}

.av2-cd-actions-column {
    width: 90px;
    text-align: center;
}

.av2-cd-row-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.av2-cd-row-actions form {
    margin: 0;
}

.av2-cd-row-actions .btn {
    width: 32px;
    height: 32px;
    min-width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 7px;
}

/* ============================================================
   PAGINATION
   ============================================================ */

.av2-cd-pagination {
    margin-top: 13px;
}

.av2-cd-pagination .pagination {
    margin: 0;
    flex-wrap: wrap;
    gap: 4px;
}

.av2-cd-pagination .page-link {
    min-width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-color: var(--av2-border);
    border-radius: 7px !important;
    background: var(--av2-surface);
    color: var(--av2-text);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cd-pagination .page-item.active .page-link {
    border-color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary, #0b5cff);
    color: #fff;
}

/* ============================================================
   BULK CONTACT MODAL
   ============================================================ */

.av2-cd-modal .av2-modal {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 18px 55px rgba(6, 26, 59, .24);
}

.av2-cd-modal .av2-modal-header {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 18px;
    border-bottom: 0;
    background: linear-gradient(
        135deg,
        var(--av2-navy, #061a3b) 0%,
        #0a2a5e 62%,
        #0b5cff 150%
    );
}

.av2-cd-modal .av2-modal-header-main {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-cd-modal .av2-modal-header-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 11px;
    background: rgba(255, 255, 255, .10);
    color: #fff;
    font-size: 1rem;
}

.av2-cd-modal .av2-modal-title {
    margin: 0;
    color: #fff;
    font-size: var(--av2-font-modal-title, 1.25rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cd-modal .av2-modal-subtitle {
    margin-top: 2px;
    color: rgba(255, 255, 255, .70);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cd-modal .av2-modal-close {
    color: #fff;
    opacity: .82;
    text-shadow: none;
}

.av2-cd-modal .av2-modal-body {
    padding: 18px;
    background: var(--av2-surface);
}

.av2-cd-modal .av2-modal-footer {
    padding: 12px 18px;
    border-top: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-cd-modal .av2-modal-section {
    margin-bottom: 14px;
    padding: 15px;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    background: var(--av2-surface-soft);
}

.av2-cd-modal .av2-modal-section-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 13px;
}

.av2-cd-modal .av2-modal-section-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-cd-modal .av2-modal-section-title {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-cd-modal .av2-modal-section-subtitle {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cd-modal .form-control {
    min-height: 40px;
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    font-size: var(--av2-font-control, .82rem);
}

.av2-cd-modal label {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-cd-bulk-all,
.av2-cd-group-option {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    border: 1px solid var(--av2-border);
    background: var(--av2-surface);
    cursor: pointer;
}

.av2-cd-bulk-all {
    min-height: 66px;
    padding: 11px;
    border-radius: 10px;
}

.av2-cd-bulk-all input,
.av2-cd-group-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.av2-cd-bulk-check,
.av2-cd-group-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--av2-border-strong);
    background: var(--av2-surface);
    color: transparent;
}

.av2-cd-bulk-check {
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 8px;
}

.av2-cd-group-check {
    width: 22px;
    height: 22px;
    min-width: 22px;
    border-radius: 6px;
}

.av2-cd-bulk-all:has(input:checked),
.av2-cd-group-option:has(input:checked) {
    border-color: rgba(11, 92, 255, .34);
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-cd-bulk-all:has(input:checked) .av2-cd-bulk-check,
.av2-cd-group-option:has(input:checked) .av2-cd-group-check {
    border-color: var(--av2-primary, #0b5cff);
    background: var(--av2-primary, #0b5cff);
    color: #fff;
}

.av2-cd-bulk-copy {
    min-width: 0;
    flex: 1;
}

.av2-cd-bulk-copy strong,
.av2-cd-bulk-copy small {
    display: block;
}

.av2-cd-bulk-copy strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
}

.av2-cd-bulk-copy small {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cd-group-heading {
    margin-top: 13px;
    padding: 0 2px 7px;
}

.av2-cd-group-heading strong,
.av2-cd-group-heading span {
    display: block;
}

.av2-cd-group-heading strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
}

.av2-cd-group-heading span {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cd-group-list {
    max-height: 320px;
    display: grid;
    gap: 6px;
    overflow-y: auto;
    padding-right: 3px;
}

.av2-cd-group-option {
    min-height: 46px;
    padding: 8px 9px;
    border-radius: 8px;
}

.av2-cd-group-option:has(input:disabled) {
    opacity: .42;
    cursor: not-allowed;
}

.av2-cd-group-name {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    color: var(--av2-text);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-medium, 500);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-cd-count-pill.is-neutral {
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
}

.av2-cd-empty-inline {
    padding: 18px;
    border: 1px dashed var(--av2-border-strong);
    border-radius: 8px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    text-align: center;
}

/* ============================================================
   CONTACT DETAIL MODAL / EMPTY STATE
   ============================================================ */

.av2-cd-contact-modal-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.av2-cd-contact-modal-details > div {
    padding: 12px;
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    background: var(--av2-surface-soft);
}

.av2-cd-contact-modal-details span,
.av2-cd-contact-modal-details strong {
    display: block;
}

.av2-cd-contact-modal-details span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-cd-contact-modal-details strong {
    margin-top: 3px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
}

.av2-cd-empty-state {
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 24px;
    color: var(--av2-text-muted);
    text-align: center;
}

.av2-cd-empty-state.is-compact {
    min-height: 120px;
}

.av2-cd-empty-state > span {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-cd-empty-state > strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
}

/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-cd-kpi-icon.is-blue,
.mod-skin-dark .av2-cd-template-number,
.mod-skin-dark .av2-cd-contact-avatar {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

.mod-skin-dark .av2-cd-kpi-icon.is-orange {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-cd-kpi-icon.is-green,
.mod-skin-dark .av2-cd-status-pill,
.mod-skin-dark .av2-cd-engagement-badge,
.mod-skin-dark .av2-cd-performance-rate.is-strong {
    background: rgba(32, 150, 71, .18);
    color: #79d99a;
}

.mod-skin-dark .av2-cd-kpi-icon.is-purple {
    background: rgba(113, 72, 216, .18);
    color: #b9a1ff;
}

.mod-skin-dark .av2-cd-performance-rate.is-medium,
.mod-skin-dark .av2-cd-contact-status.is-warning {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-cd-performance-rate.is-low {
    background: rgba(211, 74, 74, .18);
    color: #ff9a9a;
}

.mod-skin-dark .av2-cd-contact-status.is-info {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-cd-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .av2-cd-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .av2-cd-email-performance-grid {
        grid-template-columns: 1fr;
    }

    .av2-cd-chart-wrap {
        min-height: 240px;
    }

    .av2-cd-add-contact-form {
        grid-template-columns:
            minmax(180px, 1fr)
            minmax(140px, .8fr)
            auto;
    }

    .av2-cd-add-contact-form .btn:last-child {
        grid-column: 1 / 4;
    }
}

@media (max-width: 991.98px) {
    .av2-cd-heading {
        align-items: flex-start;
    }

    .av2-cd-page-actions {
        width: 100%;
        margin-top: 10px;
    }

    .av2-cd-contact-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-cd-contact-actions > .btn {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .av2-cd-kpis {
        grid-template-columns: 1fr;
    }

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

    .av2-cd-add-contact-form {
        grid-template-columns: 1fr;
    }

    .av2-cd-add-contact-form .btn:last-child {
        grid-column: auto;
    }

    .av2-cd-add-contact-form .btn {
        width: 100%;
    }

    .av2-cd-email-metrics {
        grid-template-columns: 1fr;
    }

    .av2-cd-email-metrics > div {
        border-right: 0;
        border-bottom: 1px solid var(--av2-border);
    }

    .av2-cd-email-metrics > div:last-child {
        border-bottom: 0;
    }

    .av2-cd-contact-modal-details {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .av2-cd-panel-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-cd-panel-body {
        padding: 11px;
    }

    .av2-cd-template-item {
        grid-template-columns: 30px minmax(0, 1fr) auto;
    }

    .av2-cd-template-icon {
        display: none;
    }

    .av2-cd-processing-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-cd-email-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
    }

    .av2-cd-email-tabs .nav-link {
        white-space: nowrap;
    }
}


/* ========================================================================
   END 60.03 CAMPAIGN DETAILS
   ======================================================================== */


/* ========================================================================
   60.04 EMAIL CAMPAIGN BUILDER
   ======================================================================== */

.av2-eb-page {
    background: var(--av2-page-bg);
}

.av2-eb-shell {
    width: 100%;
    max-width: 1700px;
    margin: 0 auto;
}

.av2-eb-back-row {
    min-height: 34px;
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.av2-eb-back-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-eb-back-link:hover {
    color: #084fe0;
    text-decoration: none;
}

.av2-eb-heading {
    align-items: center;
    margin-bottom: 16px;
}

.av2-eb-title-row {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-eb-page-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 5px 14px rgba(11, 92, 255, .18);
}

.av2-eb-page-subtitle {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

.av2-eb-heading .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   BUILDER SHELL
   ============================================================ */

.av2-eb-builder {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-eb-builder-toolbar {
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 11px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface);
}

.av2-eb-builder-toolbar-left,
.av2-eb-builder-toolbar-right {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
}

.av2-eb-toolbar-label {
    padding: 0 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.av2-eb-tool-group {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.av2-eb-tool-btn {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid var(--av2-border);
    border-radius: 8px;
    background: var(--av2-surface);
    color: var(--av2-text);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-semibold, 600);
    line-height: 1;
    cursor: pointer;
    transition:
        border-color .15s ease,
        background .15s ease,
        color .15s ease,
        box-shadow .15s ease;
}

.av2-eb-tool-btn:hover {
    border-color: rgba(11, 92, 255, .26);
    background: var(--av2-hover-bg);
    color: var(--av2-primary, #0b5cff);
}

.av2-eb-tool-btn.is-active,
.av2-eb-tool-btn.is-toggle-active {
    border-color: rgba(11, 92, 255, .30);
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    box-shadow: 0 3px 10px rgba(11, 92, 255, .05);
}

.av2-eb-workspace-note {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 13px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-eb-workspace-note > span {
    width: 32px;
    height: 32px;
    min-width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #fff5e6;
    color: #d88400;
}

.av2-eb-workspace-note strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-eb-workspace-note p {
    margin: 2px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

/* ============================================================
   GRAPESJS WORKSPACE
   ============================================================ */

.av2-eb-editor-container {
    position: relative;
    height: calc(100vh - 270px);
    min-height: 680px;
    max-height: 980px;
    overflow: hidden;
    background: #eef2f7;
}

.av2-eb-editor-container #gjs {
    height: 100%;
}

.av2-eb-editor-container .gjs-editor {
    height: 100%;
    background: #eef2f7;
    color: var(--av2-text);
    font-family: var(--av2-font-family, "Public Sans", sans-serif);
}

.av2-eb-editor-container .gjs-highlighter,
.av2-eb-editor-container .gjs-badge,
.av2-eb-editor-container .gjs-placeholder {
    display: none !important;
    visibility: hidden !important;
}

/*
 * AV2 provides the visible toolbar.
 * GrapesJS still owns and executes the original commands.
 */
.av2-eb-editor-container .gjs-pn-options,
.av2-eb-editor-container .gjs-pn-views {
    display: none !important;
}

/* Canvas */
.av2-eb-editor-container .gjs-cv-canvas {
    top: 0 !important;
    left: 0 !important;
    width: calc(100% - 300px) !important;
    height: 100% !important;
    padding: 22px 26px !important;
    background:
        radial-gradient(
            circle at top left,
            rgba(255, 255, 255, .66),
            transparent 260px
        ),
        #edf1f6 !important;
}

.av2-eb-editor-container .gjs-frame-wrapper {
    overflow: hidden;
    border: 1px solid #dfe5ec;
    border-radius: 10px;
    background: #fff;
    box-shadow:
        0 10px 28px rgba(22, 34, 54, .11),
        0 2px 6px rgba(22, 34, 54, .06);
}

.av2-eb-editor-container .gjs-frame {
    background: #fff;
}

/* Right manager panel */
.av2-eb-editor-container .gjs-pn-views-container {
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: 300px !important;
    height: 100% !important;
    overflow-y: auto !important;
    border-left: 1px solid var(--av2-border) !important;
    background: var(--av2-surface) !important;
    box-shadow: -8px 0 22px rgba(22, 34, 54, .035);
    color: var(--av2-text) !important;
}

/* GrapesJS global color cleanup */
.av2-eb-editor-container .gjs-one-bg {
    background-color: var(--av2-surface) !important;
}

.av2-eb-editor-container .gjs-two-color {
    color: var(--av2-text-muted) !important;
}

.av2-eb-editor-container .gjs-three-bg {
    background-color: var(--av2-surface-soft) !important;
}

.av2-eb-editor-container .gjs-four-color,
.av2-eb-editor-container .gjs-four-color-h:hover {
    color: var(--av2-primary, #0b5cff) !important;
}

/* ============================================================
   BLOCK MANAGER
   ============================================================ */

.av2-eb-editor-container .gjs-block-category {
    border-bottom: 1px solid var(--av2-border) !important;
    background: var(--av2-surface) !important;
}

.av2-eb-editor-container .gjs-block-category .gjs-title {
    min-height: 42px;
    padding: 10px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--av2-border) !important;
    background: var(--av2-surface-soft) !important;
    color: var(--av2-text-strong) !important;
    font-size: var(--av2-font-compact, .78rem) !important;
    font-weight: var(--av2-weight-bold, 700) !important;
}

.av2-eb-editor-container .gjs-blocks-c {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 10px !important;
}

.av2-eb-editor-container .gjs-block {
    width: auto !important;
    min-height: 78px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0 !important;
    padding: 10px 8px !important;
    border: 1px solid var(--av2-border) !important;
    border-radius: 10px !important;
    background: var(--av2-surface) !important;
    color: var(--av2-text) !important;
    box-shadow: 0 2px 6px rgba(22, 34, 54, .025) !important;
    transition:
        transform .14s ease,
        border-color .14s ease,
        box-shadow .14s ease,
        background .14s ease;
}

.av2-eb-editor-container .gjs-block:hover {
    transform: translateY(-1px);
    border-color: rgba(11, 92, 255, .26) !important;
    background: var(--av2-primary-soft, #eef5ff) !important;
    color: var(--av2-primary, #0b5cff) !important;
    box-shadow: 0 6px 14px rgba(22, 34, 54, .06) !important;
}

.av2-eb-editor-container .gjs-block__media {
    margin: 0 !important;
    color: inherit !important;
    font-size: 1.05rem !important;
}

.av2-eb-editor-container .gjs-block-label {
    color: inherit !important;
    font-size: var(--av2-font-meta, .69rem) !important;
    font-weight: var(--av2-weight-semibold, 600) !important;
    line-height: 1.25 !important;
    text-align: center !important;
}

/* ============================================================
   STYLE MANAGER
   ============================================================ */

.av2-eb-editor-container .gjs-sm-sector,
.av2-eb-editor-container .gjs-layer,
.av2-eb-editor-container .gjs-trt-trait {
    border-color: var(--av2-border) !important;
    background: var(--av2-surface) !important;
    color: var(--av2-text) !important;
}

.av2-eb-editor-container .gjs-sm-sector-title,
.av2-eb-editor-container .gjs-sm-title,
.av2-eb-editor-container .gjs-trt-traits .gjs-label {
    border-color: var(--av2-border) !important;
    background: var(--av2-surface-soft) !important;
    color: var(--av2-text-strong) !important;
    font-size: var(--av2-font-meta, .69rem) !important;
    font-weight: var(--av2-weight-semibold, 600) !important;
}

.av2-eb-editor-container .gjs-field,
.av2-eb-editor-container .gjs-sm-field,
.av2-eb-editor-container .gjs-input-holder input,
.av2-eb-editor-container .gjs-sm-field input,
.av2-eb-editor-container .gjs-sm-field select {
    border: 1px solid var(--av2-border-strong) !important;
    border-radius: 7px !important;
    background: var(--av2-input-bg) !important;
    color: var(--av2-text) !important;
    box-shadow: none !important;
}

.av2-eb-editor-container .gjs-field input,
.av2-eb-editor-container .gjs-field select,
.av2-eb-editor-container .gjs-field textarea {
    color: var(--av2-text) !important;
}

/* ============================================================
   LAYER MANAGER
   ============================================================ */

.av2-eb-editor-container .gjs-layers {
    background: var(--av2-surface) !important;
}

.av2-eb-editor-container .gjs-layer {
    min-height: 34px;
    border-bottom: 1px solid var(--av2-border) !important;
    background: var(--av2-surface) !important;
}

.av2-eb-editor-container .gjs-layer:hover {
    background: var(--av2-hover-bg) !important;
}

.av2-eb-editor-container .gjs-layer-title {
    color: var(--av2-text) !important;
    font-size: var(--av2-font-meta, .69rem) !important;
}

/* ============================================================
   GRAPESJS MODALS / ASSET MANAGER
   ============================================================ */

.gjs-mdl-container .gjs-mdl-dialog {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 18px 55px rgba(6, 26, 59, .24);
}

.gjs-mdl-container .gjs-mdl-header {
    min-height: 64px;
    padding: 14px 16px;
    border-bottom: 0;
    background: linear-gradient(
        135deg,
        var(--av2-navy, #061a3b) 0%,
        #0a2a5e 62%,
        #0b5cff 150%
    );
    color: #fff;
}

.gjs-mdl-container .gjs-mdl-title {
    color: #fff;
    font-size: var(--av2-font-modal-title, 1.25rem);
    font-weight: var(--av2-weight-bold, 700);
}

.gjs-mdl-container .gjs-mdl-btn-close {
    color: #fff;
    opacity: .82;
}

.gjs-mdl-container .gjs-mdl-content,
.gjs-mdl-container .gjs-am-file-uploader,
.gjs-mdl-container .gjs-am-assets-cont {
    background: var(--av2-surface);
    color: var(--av2-text);
}

.gjs-mdl-container .gjs-am-file-uploader > form {
    border-color: var(--av2-border-strong);
    background: var(--av2-surface-soft);
}

/* ============================================================
   COMPONENT BOUNDARIES
   ============================================================ */

.gjs-view-components * {
    outline: 1px dotted rgba(11, 92, 255, .34) !important;
}

/* ============================================================
   SAVE MODAL
   ============================================================ */

.av2-eb-modal .av2-modal {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow: 0 18px 55px rgba(6, 26, 59, .24);
}

.av2-eb-modal .av2-modal-header {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 18px;
    border-bottom: 0;
    background: linear-gradient(
        135deg,
        var(--av2-navy, #061a3b) 0%,
        #0a2a5e 62%,
        #0b5cff 150%
    );
}

.av2-eb-modal .av2-modal-header-main {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-eb-modal .av2-modal-header-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 11px;
    background: rgba(255, 255, 255, .10);
    color: #fff;
    font-size: 1rem;
}

.av2-eb-modal .av2-modal-title {
    margin: 0;
    color: #fff;
    font-size: var(--av2-font-modal-title, 1.25rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-eb-modal .av2-modal-subtitle {
    margin-top: 2px;
    color: rgba(255, 255, 255, .70);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-eb-modal .av2-modal-close {
    color: #fff;
    opacity: .82;
    text-shadow: none;
}

.av2-eb-modal .av2-modal-body {
    padding: 18px;
    background: var(--av2-surface);
}

.av2-eb-modal .av2-modal-footer {
    padding: 12px 18px;
    border-top: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-eb-modal .av2-modal-section {
    margin-bottom: 0;
    padding: 15px;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    background: var(--av2-surface-soft);
}

.av2-eb-modal .av2-modal-section-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 13px;
}

.av2-eb-modal .av2-modal-section-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-eb-modal .av2-modal-section-title {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-eb-modal .av2-modal-section-subtitle {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-eb-modal .form-control {
    min-height: 40px;
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    font-size: var(--av2-font-control, .82rem);
}

.av2-eb-modal label {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-eb-editor-container,
.mod-skin-dark .av2-eb-editor-container .gjs-editor,
.mod-skin-dark .av2-eb-editor-container .gjs-cv-canvas {
    background: #121a28 !important;
}

.mod-skin-dark .av2-eb-workspace-note > span {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-eb-editor-container .gjs-frame-wrapper {
    border-color: rgba(255, 255, 255, .12);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-eb-editor-container .gjs-cv-canvas {
        width: calc(100% - 270px) !important;
        padding: 18px !important;
    }

    .av2-eb-editor-container .gjs-pn-views-container {
        width: 270px !important;
    }

    .av2-eb-builder-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-eb-builder-toolbar-left,
    .av2-eb-builder-toolbar-right {
        width: 100%;
    }
}

@media (max-width: 991.98px) {
    .av2-eb-heading {
        align-items: flex-start;
    }

    .av2-eb-heading .av2-page-actions {
        width: 100%;
        margin-top: 10px;
    }

    .av2-eb-heading .av2-page-actions .btn {
        width: 100%;
    }

    .av2-eb-editor-container {
        min-height: 720px;
    }

    .av2-eb-editor-container .gjs-cv-canvas {
        width: calc(100% - 245px) !important;
        padding: 14px !important;
    }

    .av2-eb-editor-container .gjs-pn-views-container {
        width: 245px !important;
    }

    .av2-eb-editor-container .gjs-blocks-c {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .av2-eb-tool-group {
        max-width: 100%;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .av2-eb-tool-btn {
        flex-shrink: 0;
    }

    .av2-eb-workspace-note {
        align-items: flex-start;
    }

    .av2-eb-editor-container {
        min-height: 700px;
    }

    .av2-eb-editor-container .gjs-cv-canvas {
        width: calc(100% - 210px) !important;
        padding: 10px !important;
    }

    .av2-eb-editor-container .gjs-pn-views-container {
        width: 210px !important;
    }
}

@media (max-width: 575.98px) {
    .av2-eb-toolbar-label {
        display: none;
    }

    .av2-eb-tool-btn span {
        display: none;
    }

    .av2-eb-tool-btn {
        width: 36px;
        padding: 0;
    }

    .av2-eb-editor-container .gjs-cv-canvas {
        width: calc(100% - 190px) !important;
    }

    .av2-eb-editor-container .gjs-pn-views-container {
        width: 190px !important;
    }
}

/* ============================================================
   EMAIL BUILDER — LONGER WORKSPACE + SIMPLIFIED RIGHT PANEL
   ============================================================ */

.av2-eb-editor-container {
    height: calc(100vh - 205px);
    min-height: 860px;
    max-height: none;
}

.av2-eb-editor-container .gjs-pn-views-container::before {
    content: "Builder Tools";
    position: sticky;
    z-index: 5;
    top: 0;
    display: block;
    padding: 13px 12px 10px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface);
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact, .78rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-eb-editor-container .gjs-layers {
    display: none !important;
}

@media (max-width: 991.98px) {
    .av2-eb-editor-container {
        min-height: 780px;
    }
}


/* ========================================================================
   END 60.04 EMAIL CAMPAIGN BUILDER
   ======================================================================== */


/* ========================================================================
   60.05 EMAIL TEMPLATE LIBRARY
   ======================================================================== */

.av2-tl-page {
    background: var(--av2-page-bg);
}

.av2-tl-shell {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-tl-heading {
    align-items: center;
    margin-bottom: 16px;
}

.av2-tl-title-row {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-tl-page-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 5px 14px rgba(11, 92, 255, .18);
}

.av2-tl-page-subtitle {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

.av2-tl-heading .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   INTRODUCTION
   ============================================================ */

.av2-tl-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(440px, .9fr);
    gap: 16px;
    margin-bottom: 14px;
    padding: 17px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-tl-intro-copy {
    display: flex;
    align-items: flex-start;
    gap: 11px;
}

.av2-tl-intro-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #fff5e6;
    color: #d88400;
    font-size: 1rem;
}

.av2-tl-intro-copy strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-tl-intro-copy p {
    max-width: 650px;
    margin: 4px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.55;
}

.av2-tl-intro-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.av2-tl-intro-option {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 11px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
}

.av2-tl-intro-option > span {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
}

.av2-tl-intro-option > span.is-blue {
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-tl-intro-option > span.is-orange {
    background: #fff5e6;
    color: #d88400;
}

.av2-tl-intro-option strong,
.av2-tl-intro-option small {
    display: block;
}

.av2-tl-intro-option strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-tl-intro-option small {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.45;
}

/* ============================================================
   COMPLIANCE NOTE
   ============================================================ */

.av2-tl-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(11, 92, 255, .14);
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-tl-notice > span {
    width: 32px;
    height: 32px;
    min-width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--av2-surface);
    color: var(--av2-primary, #0b5cff);
}

.av2-tl-notice strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-tl-notice p {
    margin: 2px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.5;
}

/* ============================================================
   FILTER
   ============================================================ */

.av2-tl-filter-card {
    margin-bottom: 16px;
    padding: 15px 17px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .025),
        0 6px 16px rgba(22, 34, 54, .025);
}

.av2-tl-filter-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 11px;
}

.av2-tl-filter-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-tl-filter-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-tl-count-pill {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
    white-space: nowrap;
}

.av2-tl-filter-form label {
    display: block;
    margin-bottom: 5px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-tl-filter-controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.av2-tl-filter-controls .form-control {
    max-width: 420px;
    min-height: 40px;
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    font-size: var(--av2-font-control, .82rem);
}

.av2-tl-filter-controls .btn {
    min-height: 40px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   LIBRARY GRID
   ============================================================ */

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

.av2-tl-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.av2-tl-card:hover {
    transform: translateY(-2px);
    border-color: var(--av2-border-strong);
    box-shadow:
        0 4px 10px rgba(22, 34, 54, .05),
        0 12px 28px rgba(22, 34, 54, .06);
}

.av2-tl-card-top {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    padding: 12px 14px 0;
}

.av2-tl-card-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: .95rem;
}

.av2-tl-category-pill {
    max-width: 70%;
    min-height: 25px;
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-tl-card-body {
    flex: 1;
    padding: 12px 14px 14px;
}

.av2-tl-card-body h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1.35;
}

.av2-tl-card-description {
    margin-top: 8px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.55;
}

.av2-tl-card-description p:last-child {
    margin-bottom: 0;
}

.av2-tl-card-footer {
    display: grid;
    gap: 7px;
    padding: 12px 14px 14px;
    border-top: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-tl-card-footer form {
    margin: 0;
}

.av2-tl-card-footer .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   EMPTY STATE
   ============================================================ */

.av2-tl-empty-state {
    min-height: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 30px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    color: var(--av2-text-muted);
    text-align: center;
}

.av2-tl-empty-state > span {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: 1.1rem;
}

.av2-tl-empty-state > strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
}

.av2-tl-empty-state > p {
    margin: 0 0 5px;
    font-size: var(--av2-font-body, .80rem);
}

/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-tl-intro-icon,
.mod-skin-dark .av2-tl-intro-option > span.is-orange {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-tl-intro-option > span.is-blue,
.mod-skin-dark .av2-tl-card-icon {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-tl-intro {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 991.98px) {
    .av2-tl-heading {
        align-items: flex-start;
    }

    .av2-tl-heading .av2-page-actions {
        width: 100%;
        margin-top: 10px;
    }

    .av2-tl-heading .av2-page-actions .btn {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .av2-tl-intro-options {
        grid-template-columns: 1fr;
    }

    .av2-tl-grid {
        grid-template-columns: 1fr;
    }

    .av2-tl-filter-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-tl-filter-controls {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-tl-filter-controls .form-control {
        max-width: none;
    }
}

@media (max-width: 575.98px) {
    .av2-tl-intro {
        padding: 13px;
    }

    .av2-tl-filter-card {
        padding: 13px;
    }

    .av2-tl-card-top {
        align-items: flex-start;
    }
}


/* ========================================================================
   END 60.05 EMAIL TEMPLATE LIBRARY
   ======================================================================== */


/* ========================================================================
   60.06 SAVED EMAIL TEMPLATES
   ======================================================================== */

.av2-st-page {
    background: var(--av2-page-bg);
}

.av2-st-shell {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-st-heading {
    align-items: center;
    margin-bottom: 16px;
}

.av2-st-title-row {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-st-page-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 5px 14px rgba(11, 92, 255, .18);
}

.av2-st-page-subtitle {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

.av2-st-page-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.av2-st-page-actions .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   WORKSPACE
   ============================================================ */

.av2-st-workspace {
    display: grid;
    grid-template-columns: 285px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

/* ============================================================
   FOLDER PANEL
   ============================================================ */

.av2-st-folder-panel {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-st-folder-panel-heading {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 15px;
    border-bottom: 1px solid var(--av2-border);
}

.av2-st-folder-panel-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-st-folder-panel-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-st-folder-total {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-st-folder-create {
    padding: 13px 14px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-st-folder-create label {
    display: block;
    margin-bottom: 5px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-st-folder-create-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px;
    gap: 7px;
}

.av2-st-folder-create-row .form-control,
.av2-st-folder-create-row .btn {
    min-height: 40px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

.av2-st-folder-create-row .form-control {
    border-color: var(--av2-border-strong);
    background: var(--av2-input-bg);
    color: var(--av2-text);
}

.av2-st-folder-list {
    padding: 8px;
}

.av2-st-folder-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 3px;
    border-radius: 9px;
}

.av2-st-folder-link {
    min-width: 0;
    flex: 1;
    min-height: 44px;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    padding: 7px 9px;
    border-radius: 9px;
    color: var(--av2-text);
    transition:
        background .15s ease,
        color .15s ease;
}

.av2-st-folder-link:hover {
    background: var(--av2-hover-bg);
    color: var(--av2-primary, #0b5cff);
    text-decoration: none;
}

.av2-st-folder-link.is-active,
.av2-st-folder-item.is-active {
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-st-folder-link.is-active,
.av2-st-folder-item.is-active .av2-st-folder-link {
    color: var(--av2-primary, #0b5cff);
}

.av2-st-folder-icon {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: .76rem;
}

.av2-st-folder-icon.is-orange {
    background: #fff5e6;
    color: #d88400;
}

.av2-st-folder-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-st-folder-name {
    overflow: hidden;
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-medium, 500);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-st-folder-count {
    min-width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-st-folder-delete-form {
    margin: 0 4px 0 0;
}

.av2-st-folder-delete {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--av2-text-muted);
    opacity: 0;
    transition:
        opacity .15s ease,
        background .15s ease,
        color .15s ease;
}

.av2-st-folder-item:hover .av2-st-folder-delete,
.av2-st-folder-item.is-active .av2-st-folder-delete {
    opacity: 1;
}

.av2-st-folder-delete:hover {
    background: #fff0f0;
    color: #d34a4a;
}

.av2-st-folder-divider {
    height: 1px;
    margin: 7px 4px;
    background: var(--av2-border);
}

/* ============================================================
   CONTENT PANEL
   ============================================================ */

.av2-st-content-panel {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-st-content-heading {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--av2-border);
}

.av2-st-content-heading-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.av2-st-content-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-st-content-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-st-content-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-st-current-folder-pill {
    min-width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-st-content-body {
    padding: 13px;
}

/* ============================================================
   TEMPLATE CARDS
   ============================================================ */

.av2-st-template-list {
    display: grid;
    gap: 9px;
}

.av2-st-template-card {
    display: grid;
    grid-template-columns: minmax(240px, 1.25fr) minmax(180px, .65fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    background: var(--av2-surface);
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.av2-st-template-card:hover {
    transform: translateY(-1px);
    border-color: var(--av2-border-strong);
    box-shadow: 0 6px 16px rgba(22, 34, 54, .05);
}

.av2-st-template-main {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.av2-st-template-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: .9rem;
}

.av2-st-template-copy {
    min-width: 0;
}

.av2-st-template-name {
    display: block;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-st-template-name:hover {
    color: var(--av2-primary, #0b5cff);
    text-decoration: none;
}

.av2-st-template-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 12px;
    margin-top: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-st-template-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.av2-st-template-folder label {
    display: block;
    margin-bottom: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-st-template-folder .form-control {
    min-height: 36px;
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    font-size: var(--av2-font-compact, .78rem);
}

.av2-st-template-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.av2-st-template-actions form {
    margin: 0;
}

.av2-st-template-actions .btn {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-radius: 7px;
    font-size: var(--av2-font-meta, .69rem);
}

/* ============================================================
   EMPTY STATE
   ============================================================ */

.av2-st-empty-state {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 30px;
    color: var(--av2-text-muted);
    text-align: center;
}

.av2-st-empty-state > span {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: 1.1rem;
}

.av2-st-empty-state > strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
}

.av2-st-empty-state > p {
    max-width: 460px;
    margin: 0 0 5px;
    font-size: var(--av2-font-body, .80rem);
}

.av2-st-empty-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-st-folder-icon.is-orange {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-st-folder-delete:hover {
    background: rgba(211, 74, 74, .18);
    color: #ff9a9a;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-st-workspace {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .av2-st-template-card {
        grid-template-columns: minmax(220px, 1fr) minmax(165px, .7fr);
    }

    .av2-st-template-actions {
        grid-column: 1 / 3;
        justify-content: flex-end;
    }
}

@media (max-width: 991.98px) {
    .av2-st-heading {
        align-items: flex-start;
    }

    .av2-st-page-actions {
        width: 100%;
        margin-top: 10px;
    }

    .av2-st-page-actions .btn {
        flex: 1;
    }

    .av2-st-workspace {
        grid-template-columns: 1fr;
    }

    .av2-st-folder-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
    }

    .av2-st-folder-divider {
        display: none;
    }
}

@media (max-width: 767.98px) {

    .av2-st-template-card {
        grid-template-columns: 1fr;
    }

    .av2-st-template-actions {
        grid-column: auto;
        justify-content: flex-start;
    }

    .av2-st-template-folder {
        width: 100%;
    }

    /*
     * Keep the saved template name visible on mobile,
     * but prevent it from opening the email editor.
     */
    .av2-st-template-card
    a.av2-st-template-name[href^="edit_email_templates.php"] {
        display: block !important;
        pointer-events: none !important;
        cursor: default !important;
        color: var(--av2-text-strong) !important;
        text-decoration: none !important;
    }

    .av2-st-template-card
    a.av2-st-template-name[href^="edit_email_templates.php"]:hover,
    .av2-st-template-card
    a.av2-st-template-name[href^="edit_email_templates.php"]:focus {
        color: var(--av2-text-strong) !important;
        text-decoration: none !important;
    }

    /*
     * Hide the actual Edit button on mobile.
     */
    .av2-st-template-actions
    a[href^="edit_email_templates.php"] {
        display: none !important;
    }
}

@media (max-width: 575.98px) {
    .av2-st-page-actions {
        flex-direction: column;
    }

    .av2-st-page-actions .btn {
        width: 100%;
    }

    .av2-st-folder-list {
        grid-template-columns: 1fr;
    }

    .av2-st-template-actions {
        display: grid;
        grid-template-columns: 1fr 1fr auto;
        width: 100%;
    }

    .av2-st-template-actions .btn {
        width: 100%;
    }

    .av2-st-empty-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .av2-st-empty-actions .btn {
        width: 100%;
    }
}
/* ============================================================
   SAVED EMAIL TEMPLATES — BACK NAVIGATION
   ============================================================ */

.av2-st-back-row {
    min-height: 34px;
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.av2-st-back-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-st-back-link:hover {
    color: #084fe0;
    text-decoration: none;
}


/* ========================================================================
   END 60.06 SAVED EMAIL TEMPLATES
   ======================================================================== */


/* ========================================================================
   END 60. EMAIL & CAMPAIGNS
   ======================================================================== */


/* ========================================================================
   60.05 EMAIL TEMPLATE LIBRARY
   ======================================================================== */

.av2-tl-page {
    background: var(--av2-page-bg);
}

.av2-tl-shell {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-tl-heading {
    align-items: center;
    margin-bottom: 16px;
}

.av2-tl-title-row {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-tl-page-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 5px 14px rgba(11, 92, 255, .18);
}

.av2-tl-page-subtitle {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

.av2-tl-heading .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   INTRODUCTION
   ============================================================ */

.av2-tl-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(440px, .9fr);
    gap: 16px;
    margin-bottom: 14px;
    padding: 17px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-tl-intro-copy {
    display: flex;
    align-items: flex-start;
    gap: 11px;
}

.av2-tl-intro-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #fff5e6;
    color: #d88400;
    font-size: 1rem;
}

.av2-tl-intro-copy strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-tl-intro-copy p {
    max-width: 650px;
    margin: 4px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.55;
}

.av2-tl-intro-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.av2-tl-intro-option {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 11px;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    background: var(--av2-surface-soft);
}

.av2-tl-intro-option > span {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
}

.av2-tl-intro-option > span.is-blue {
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-tl-intro-option > span.is-orange {
    background: #fff5e6;
    color: #d88400;
}

.av2-tl-intro-option strong,
.av2-tl-intro-option small {
    display: block;
}

.av2-tl-intro-option strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-tl-intro-option small {
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.45;
}

/* ============================================================
   COMPLIANCE NOTE
   ============================================================ */

.av2-tl-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(11, 92, 255, .14);
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-tl-notice > span {
    width: 32px;
    height: 32px;
    min-width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--av2-surface);
    color: var(--av2-primary, #0b5cff);
}

.av2-tl-notice strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-tl-notice p {
    margin: 2px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    line-height: 1.5;
}

/* ============================================================
   FILTER
   ============================================================ */

.av2-tl-filter-card {
    margin-bottom: 16px;
    padding: 15px 17px;
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .025),
        0 6px 16px rgba(22, 34, 54, .025);
}

.av2-tl-filter-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 11px;
}

.av2-tl-filter-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-tl-filter-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-tl-count-pill {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
    white-space: nowrap;
}

.av2-tl-filter-form label {
    display: block;
    margin-bottom: 5px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-tl-filter-controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.av2-tl-filter-controls .form-control {
    max-width: 420px;
    min-height: 40px;
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    font-size: var(--av2-font-control, .82rem);
}

.av2-tl-filter-controls .btn {
    min-height: 40px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   LIBRARY GRID
   ============================================================ */

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

.av2-tl-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.av2-tl-card:hover {
    transform: translateY(-2px);
    border-color: var(--av2-border-strong);
    box-shadow:
        0 4px 10px rgba(22, 34, 54, .05),
        0 12px 28px rgba(22, 34, 54, .06);
}

.av2-tl-card-top {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    padding: 12px 14px 0;
}

.av2-tl-card-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: .95rem;
}

.av2-tl-category-pill {
    max-width: 70%;
    min-height: 25px;
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-tl-card-body {
    flex: 1;
    padding: 12px 14px 14px;
}

.av2-tl-card-body h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1.35;
}

.av2-tl-card-description {
    margin-top: 8px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
    line-height: 1.55;
}

.av2-tl-card-description p:last-child {
    margin-bottom: 0;
}

.av2-tl-card-footer {
    display: grid;
    gap: 7px;
    padding: 12px 14px 14px;
    border-top: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-tl-card-footer form {
    margin: 0;
}

.av2-tl-card-footer .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   EMPTY STATE
   ============================================================ */

.av2-tl-empty-state {
    min-height: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 30px;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    color: var(--av2-text-muted);
    text-align: center;
}

.av2-tl-empty-state > span {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: 1.1rem;
}

.av2-tl-empty-state > strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
}

.av2-tl-empty-state > p {
    margin: 0 0 5px;
    font-size: var(--av2-font-body, .80rem);
}

/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-tl-intro-icon,
.mod-skin-dark .av2-tl-intro-option > span.is-orange {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-tl-intro-option > span.is-blue,
.mod-skin-dark .av2-tl-card-icon {
    background: rgba(11, 92, 255, .16);
    color: #7ea7ff;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-tl-intro {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 991.98px) {
    .av2-tl-heading {
        align-items: flex-start;
    }

    .av2-tl-heading .av2-page-actions {
        width: 100%;
        margin-top: 10px;
    }

    .av2-tl-heading .av2-page-actions .btn {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .av2-tl-intro-options {
        grid-template-columns: 1fr;
    }

    .av2-tl-grid {
        grid-template-columns: 1fr;
    }

    .av2-tl-filter-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-tl-filter-controls {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-tl-filter-controls .form-control {
        max-width: none;
    }
}

@media (max-width: 575.98px) {
    .av2-tl-intro {
        padding: 13px;
    }

    .av2-tl-filter-card {
        padding: 13px;
    }

    .av2-tl-card-top {
        align-items: flex-start;
    }
}


/* ========================================================================
   END 60.05 EMAIL TEMPLATE LIBRARY
   ======================================================================== */


/* ========================================================================
   60.06 SAVED EMAIL TEMPLATES
   ======================================================================== */

.av2-st-page {
    background: var(--av2-page-bg);
}

.av2-st-shell {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-st-heading {
    align-items: center;
    margin-bottom: 16px;
}

.av2-st-title-row {
    display: flex;
    align-items: center;
    gap: 11px;
}

.av2-st-page-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--av2-primary, #0b5cff);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 5px 14px rgba(11, 92, 255, .18);
}

.av2-st-page-subtitle {
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body, .80rem);
}

.av2-st-page-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.av2-st-page-actions .btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

/* ============================================================
   WORKSPACE
   ============================================================ */

.av2-st-workspace {
    display: grid;
    grid-template-columns: 285px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

/* ============================================================
   FOLDER PANEL
   ============================================================ */

.av2-st-folder-panel {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-st-folder-panel-heading {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 15px;
    border-bottom: 1px solid var(--av2-border);
}

.av2-st-folder-panel-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-st-folder-panel-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-st-folder-total {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-st-folder-create {
    padding: 13px 14px;
    border-bottom: 1px solid var(--av2-border);
    background: var(--av2-surface-soft);
}

.av2-st-folder-create label {
    display: block;
    margin-bottom: 5px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-st-folder-create-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px;
    gap: 7px;
}

.av2-st-folder-create-row .form-control,
.av2-st-folder-create-row .btn {
    min-height: 40px;
    border-radius: 8px;
    font-size: var(--av2-font-control, .82rem);
}

.av2-st-folder-create-row .form-control {
    border-color: var(--av2-border-strong);
    background: var(--av2-input-bg);
    color: var(--av2-text);
}

.av2-st-folder-list {
    padding: 8px;
}

.av2-st-folder-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 3px;
    border-radius: 9px;
}

.av2-st-folder-link {
    min-width: 0;
    flex: 1;
    min-height: 44px;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    padding: 7px 9px;
    border-radius: 9px;
    color: var(--av2-text);
    transition:
        background .15s ease,
        color .15s ease;
}

.av2-st-folder-link:hover {
    background: var(--av2-hover-bg);
    color: var(--av2-primary, #0b5cff);
    text-decoration: none;
}

.av2-st-folder-link.is-active,
.av2-st-folder-item.is-active {
    background: var(--av2-primary-soft, #eef5ff);
}

.av2-st-folder-link.is-active,
.av2-st-folder-item.is-active .av2-st-folder-link {
    color: var(--av2-primary, #0b5cff);
}

.av2-st-folder-icon {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: .76rem;
}

.av2-st-folder-icon.is-orange {
    background: #fff5e6;
    color: #d88400;
}

.av2-st-folder-icon.is-blue {
    background: #eef5ff;
    color: #0b5cff;
}

.av2-st-folder-name {
    overflow: hidden;
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-medium, 500);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-st-folder-count {
    min-width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--av2-surface-soft);
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-st-folder-delete-form {
    margin: 0 4px 0 0;
}

.av2-st-folder-delete {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--av2-text-muted);
    opacity: 0;
    transition:
        opacity .15s ease,
        background .15s ease,
        color .15s ease;
}

.av2-st-folder-item:hover .av2-st-folder-delete,
.av2-st-folder-item.is-active .av2-st-folder-delete {
    opacity: 1;
}

.av2-st-folder-delete:hover {
    background: #fff0f0;
    color: #d34a4a;
}

.av2-st-folder-divider {
    height: 1px;
    margin: 7px 4px;
    background: var(--av2-border);
}

/* ============================================================
   CONTENT PANEL
   ============================================================ */

.av2-st-content-panel {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    background: var(--av2-surface);
    box-shadow:
        0 2px 5px rgba(22, 34, 54, .035),
        0 7px 18px rgba(22, 34, 54, .035);
}

.av2-st-content-heading {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--av2-border);
}

.av2-st-content-heading-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.av2-st-content-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
}

.av2-st-content-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title, 1rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-st-content-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-st-current-folder-pill {
    min-width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-bold, 700);
}

.av2-st-content-body {
    padding: 13px;
}

/* ============================================================
   TEMPLATE CARDS
   ============================================================ */

.av2-st-template-list {
    display: grid;
    gap: 9px;
}

.av2-st-template-card {
    display: grid;
    grid-template-columns: minmax(240px, 1.25fr) minmax(180px, .65fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    background: var(--av2-surface);
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.av2-st-template-card:hover {
    transform: translateY(-1px);
    border-color: var(--av2-border-strong);
    box-shadow: 0 6px 16px rgba(22, 34, 54, .05);
}

.av2-st-template-main {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.av2-st-template-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: .9rem;
}

.av2-st-template-copy {
    min-width: 0;
}

.av2-st-template-name {
    display: block;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-st-template-name:hover {
    color: var(--av2-primary, #0b5cff);
    text-decoration: none;
}

.av2-st-template-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 12px;
    margin-top: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
}

.av2-st-template-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.av2-st-template-folder label {
    display: block;
    margin-bottom: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .69rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-st-template-folder .form-control {
    min-height: 36px;
    border-color: var(--av2-border-strong);
    border-radius: 8px;
    background: var(--av2-input-bg);
    color: var(--av2-text);
    font-size: var(--av2-font-compact, .78rem);
}

.av2-st-template-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.av2-st-template-actions form {
    margin: 0;
}

.av2-st-template-actions .btn {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-radius: 7px;
    font-size: var(--av2-font-meta, .69rem);
}

/* ============================================================
   EMPTY STATE
   ============================================================ */

.av2-st-empty-state {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 30px;
    color: var(--av2-text-muted);
    text-align: center;
}

.av2-st-empty-state > span {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--av2-primary-soft, #eef5ff);
    color: var(--av2-primary, #0b5cff);
    font-size: 1.1rem;
}

.av2-st-empty-state > strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
}

.av2-st-empty-state > p {
    max-width: 460px;
    margin: 0 0 5px;
    font-size: var(--av2-font-body, .80rem);
}

.av2-st-empty-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-st-folder-icon.is-orange {
    background: rgba(232, 138, 0, .18);
    color: #ffbd62;
}

.mod-skin-dark .av2-st-folder-delete:hover {
    background: rgba(211, 74, 74, .18);
    color: #ff9a9a;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-st-workspace {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .av2-st-template-card {
        grid-template-columns: minmax(220px, 1fr) minmax(165px, .7fr);
    }

    .av2-st-template-actions {
        grid-column: 1 / 3;
        justify-content: flex-end;
    }
}

@media (max-width: 991.98px) {
    .av2-st-heading {
        align-items: flex-start;
    }

    .av2-st-page-actions {
        width: 100%;
        margin-top: 10px;
    }

    .av2-st-page-actions .btn {
        flex: 1;
    }

    .av2-st-workspace {
        grid-template-columns: 1fr;
    }

    .av2-st-folder-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
    }

    .av2-st-folder-divider {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .av2-st-template-card {
        grid-template-columns: 1fr;
    }

    .av2-st-template-actions {
        grid-column: auto;
        justify-content: flex-start;
    }

    .av2-st-template-folder {
        width: 100%;
    }

    /* Hide template editor access on mobile */
    .av2-st-template-card a[href^="edit_email_templates.php"] {
        display: none !important;
    }
}

@media (max-width: 575.98px) {
    .av2-st-page-actions {
        flex-direction: column;
    }

    .av2-st-page-actions .btn {
        width: 100%;
    }

    .av2-st-folder-list {
        grid-template-columns: 1fr;
    }

    .av2-st-template-actions {
        display: grid;
        grid-template-columns: 1fr 1fr auto;
        width: 100%;
    }

    .av2-st-template-actions .btn {
        width: 100%;
    }

    .av2-st-empty-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .av2-st-empty-actions .btn {
        width: 100%;
    }
}
/* ============================================================
   SAVED EMAIL TEMPLATES — BACK NAVIGATION
   ============================================================ */

.av2-st-back-row {
    min-height: 34px;
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.av2-st-back-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--av2-primary, #0b5cff);
    font-size: var(--av2-font-body, .80rem);
    font-weight: var(--av2-weight-semibold, 600);
}

.av2-st-back-link:hover {
    color: #084fe0;
    text-decoration: none;
}


/* ========================================================================
   END 60.06 SAVED EMAIL TEMPLATES
   ======================================================================== */


/* ========================================================================
   END 60. EMAIL & CAMPAIGNS
   ======================================================================== */


/* ========================================================================
   70. TRANSACTIONS & COMMISSIONS
   ======================================================================== */


/* ========================================================================
   70.01 TRANSACTIONS DASHBOARD
   ======================================================================== */

.av2-transactions-dashboard {
    font-family: var(--av2-font-family);
}

.av2-transactions-page-subtitle {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}


/* ============================================================
   KPI STRIP
   Uses the Activities Dashboard six-across layout.
   ============================================================ */

.av2-transactions-kpa-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0 32px;
}

.av2-transactions-kpa-strip .av2-kpa-card {
    display: flex;
    align-items: center;
    min-height: 112px;
    padding: 18px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    box-shadow: 0 2px 5px rgba(15,23,42,.05), 0 7px 18px rgba(15,23,42,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.av2-transactions-kpa-strip .av2-kpa-card:hover {
    transform: translateY(-2px);
    border-color: var(--av2-border-strong);
    box-shadow: 0 4px 9px rgba(15,23,42,.07), 0 10px 24px rgba(15,23,42,.08);
}

.av2-transactions-kpa-strip .av2-kpa-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-right: 14px;
    border-radius: 14px;
    font-size: 1.15rem;
}

.av2-transactions-kpa-strip .av2-kpa-icon i {
    color: inherit !important;
    opacity: 1 !important;
}

.av2-transactions-kpa-strip .av2-kpa-copy {
    min-width: 0;
}

.av2-transactions-kpa-strip .av2-kpa-title {
    margin-bottom: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-kpa-title) !important;
    font-weight: var(--av2-weight-bold);
    white-space: nowrap;
}

.av2-transactions-kpa-strip .av2-kpa-value {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-kpa-value) !important;
    font-weight: var(--av2-weight-bold);
    line-height: 1.05;
}

.av2-transactions-kpa-strip .av2-kpa-detail {
    margin-top: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-kpa-detail) !important;
    font-weight: var(--av2-weight-medium);
    white-space: nowrap;
}

/* Total */
.av2-kpa-icon-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

/* Active */
.av2-kpa-icon-green {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

/* Pending */
.av2-kpa-icon-orange {
    color: #d88400;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

/* Sold / Leased */
.av2-kpa-icon-teal {
    color: #1d8583;
    background: #e7f6f5;
    border: 1px solid #c3e4e2;
}

/* Failed */
.av2-kpa-icon-red {
    color: #cf3f50;
    background: #fdebed;
    border: 1px solid #f3c8cf;
}

/* Expired */
.av2-kpa-icon-slate {
    color: #596273;
    background: #eef0f4;
    border: 1px solid #d5dae3;
}

.av2-transactions-dashboard-panel {
    overflow: hidden;
    margin-bottom: 32px;
}

.av2-transactions-dashboard-panel > .panel-hdr {
    min-height: 74px !important;
    padding: 0 20px;
}

.av2-transactions-dashboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.av2-transactions-dashboard-header-main {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-transactions-dashboard-header-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 12px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 11px;
    font-size: 1rem;
}

.av2-transactions-dashboard-title {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-transactions-dashboard-subtitle {
    margin-top: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
}

.av2-transactions-dashboard-count {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 999px;
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-transactions-dashboard-count span {
    margin-right: 5px;
}

.av2-transactions-dashboard-content {
    padding: 0 !important;
}


/* ============================================================
   SEARCH / META
   ============================================================ */

.av2-transactions-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid var(--av2-border);
}

.av2-transactions-search {
    display: flex;
    align-items: center;
    width: min(430px, 100%);
    min-height: 44px;
    padding: 0 13px;
    background: var(--av2-input-bg);
    border: 1px solid var(--av2-border-strong);
    border-radius: 10px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-transactions-search > i {
    flex: 0 0 auto;
    margin-right: 10px;
    color: var(--av2-text-muted);
}

.av2-transactions-search .form-control {
    height: 42px;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: var(--av2-font-control) !important;
}

.av2-transactions-result-meta {
    margin-left: 16px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    white-space: nowrap;
}


/* ============================================================
   TABLE
   ============================================================ */

.transactions-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.transactions-table {
    min-width: 900px;
}

#transactions-table {
    table-layout: auto !important;
}

.av2-transactions-table {
    margin: 0;
    color: var(--av2-text);
    border-collapse: collapse;
}

.av2-transactions-table thead th {
    height: 48px;
    padding: 0 16px !important;
    color: var(--av2-text-muted) !important;
    background: var(--av2-surface-soft) !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--av2-border) !important;
    font-size: var(--av2-font-meta) !important;
    font-weight: var(--av2-weight-bold);
    letter-spacing: .035em;
    text-transform: uppercase;
    vertical-align: middle !important;
    white-space: nowrap;
}

.av2-transactions-table tbody td {
    padding: 16px !important;
    color: var(--av2-text-secondary);
    background: var(--av2-row-bg);
    border-top: 0 !important;
    border-bottom: 1px solid var(--av2-row-border) !important;
    font-size: var(--av2-font-compact);
    vertical-align: middle !important;
}

.av2-transactions-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.av2-transactions-table tbody tr:hover td {
    background: var(--av2-hover-bg);
}

.av2-transaction-name-link {
    color: var(--av2-primary) !important;
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
    line-height: 1.35;
    text-decoration: none !important;
}

.av2-transaction-name-link:hover {
    color: var(--av2-primary-hover) !important;
}

.av2-transaction-progress-wrap {
    display: flex;
    align-items: center;
    min-width: 175px;
}

.av2-transaction-progress {
    flex: 1 1 auto;
    height: 7px !important;
    margin-right: 10px;
    background: var(--av2-neutral-bg);
    border-radius: 999px;
    overflow: hidden;
}

.av2-transaction-progress .progress-bar {
    border-radius: 999px;
}

.av2-transaction-progress-value {
    flex: 0 0 auto;
    min-width: 34px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
    text-align: right;
}

.av2-transaction-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    white-space: nowrap;
}

.av2-transaction-status.is-active {
    color: #258248;
    background: #edf9f1;
    border: 1px solid #cdeed8;
}

.av2-transaction-status.is-pending {
    color: #9a6500;
    background: #fff6df;
    border: 1px solid #ffe2a1;
}

.av2-transaction-status.is-complete {
    color: #0b5cff;
    background: #eef5ff;
    border: 1px solid #d5e2ff;
}

.av2-transaction-status.is-failed {
    color: #c83a49;
    background: #fff0f2;
    border: 1px solid #ffd4da;
}

.av2-transaction-status.is-expired {
    color: #7a4650;
    background: #f7f0f2;
    border: 1px solid #eadadd;
}

.av2-transaction-status.is-neutral {
    color: #667085;
    background: #f3f5f8;
    border: 1px solid #e3e7ed;
}

.av2-transaction-owner {
    color: var(--av2-text-secondary);
    font-weight: var(--av2-weight-semibold);
}

.av2-transaction-ecoe {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
    border-radius: 6px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-transaction-muted,
.av2-transaction-address {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}


/* ============================================================
   MOBILE CARDS
   ============================================================ */

#tx-mobile-list {
    padding: 14px;
}

.av2-transaction-mobile-card {
    margin-bottom: 12px;
    padding: 16px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-transaction-mobile-card:last-child {
    margin-bottom: 0;
}

.av2-transaction-mobile-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.av2-transaction-mobile-address {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-transaction-mobile-progress {
    display: flex;
    align-items: center;
    margin-top: 15px;
}

.av2-transaction-mobile-progress .av2-transaction-progress {
    margin-right: 10px;
}

.av2-transaction-mobile-progress > span {
    min-width: 34px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    text-align: right;
}

.av2-transaction-mobile-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--av2-border);
}

.av2-transaction-mobile-meta > div {
    min-width: 0;
}

.av2-transaction-mobile-meta span {
    display: block;
    margin-bottom: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-medium);
}

.av2-transaction-mobile-meta strong {
    display: block;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-semibold);
    line-height: 1.35;
}


/* ============================================================
   PAGINATION
   ============================================================ */

.av2-transactions-pagination-wrap {
    padding: 18px 20px;
    border-top: 1px solid var(--av2-border);
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.av2-transactions-empty {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 120px;
    padding: 22px;
}

.av2-transactions-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 12px;
    font-size: 1.1rem;
}

.av2-transactions-empty > div:nth-child(2) {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-transactions-empty strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
}

.av2-transactions-empty span {
    display: block;
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}


/* ============================================================
   NEW TRANSACTION MODAL
   ============================================================ */

.av2-transaction-modal-intro {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 22px;
    padding: 14px;
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 10px;
}

.av2-transaction-modal-intro-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    color: var(--av2-primary);
    background: var(--av2-surface);
    border: 1px solid rgba(11,92,255,.12);
    border-radius: 9px;
}

.av2-transaction-modal-intro strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
}

.av2-transaction-modal-intro span {
    display: block;
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}

.av2-modal-section-icon-orange {
    color: #f5a000 !important;
    background: rgba(245,160,0,.09) !important;
    border-color: rgba(245,160,0,.15) !important;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (min-width: 1200px) {
    .av2-transactions-kpa-strip {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}


/* ============================================================
   TABLET LANDSCAPE
   ============================================================ */

@media (min-width: 992px) and (max-width: 1199.98px) {

    .av2-transactions-kpa-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    th[data-sort-col="escrow"],
    td:nth-child(6),
    th[data-sort-col="address"],
    td:nth-child(7) {
        display: none;
    }

    #transactions-table {
        min-width: 700px;
    }
}


/* ============================================================
   TABLET PORTRAIT
   ============================================================ */

@media (min-width: 768px) and (max-width: 991.98px) {

    .av2-transactions-kpa-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    th[data-sort-col="escrow"],
    td:nth-child(6),
    th[data-sort-col="address"],
    td:nth-child(7) {
        display: none;
    }

    #transactions-table {
        min-width: 700px;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    /*
    * --------------------------------------------------------
    * MOBILE PAGE HEADING
    * --------------------------------------------------------
    */

    body:has(.av2-transactions-kpa-strip) .av2-page-heading {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;

        width: 100%;
        height: auto !important;
        min-height: 0 !important;

        margin-bottom: 0 !important;
    }

    body:has(.av2-transactions-kpa-strip) .av2-page-heading-content {
        width: 100%;
        min-width: 0;
        flex: 0 0 auto;
    }

    body:has(.av2-transactions-kpa-strip) .av2-page-actions {
        align-self: stretch;
    }

    /*
     * --------------------------------------------------------
     * PAGE ACTIONS
     * --------------------------------------------------------
     *
     * Theme 16 globally hides .av2-page-actions on phones.
     * Transactions Dashboard keeps New Transaction and
     * Milestone Manager available as a compact mobile toolbar.
     */

    body:has(.av2-transactions-kpa-strip) .av2-page-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);

        width: 100%;
        max-width: 100%;

        gap: 8px;
        margin: 12px 0 0 !important;
        padding: 8px;

        background: var(--av2-surface, #ffffff);
        border: 1px solid var(--av2-border, #e7ecf2);
        border-radius: 12px;

        box-sizing: border-box;

        box-shadow:
            0 2px 5px rgba(22, 34, 54, .025),
            0 6px 16px rgba(22, 34, 54, .035);
    }

    body:has(.av2-transactions-kpa-strip) .av2-page-actions .btn {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 42px;

        margin: 0 !important;
        padding: 8px 9px;

        border-radius: 9px;

        font-size: .78rem;
        font-weight: 600;
        line-height: 1.2;

        white-space: nowrap;
    }


    /*
     * --------------------------------------------------------
     * KPI STRIP
     * --------------------------------------------------------
     *
     * Force the six Transaction KPIs into the intended
     * single-column mobile layout.
     */

    .av2-transactions-kpa-strip {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 10px !important;

        margin: 16px 0 24px !important;

        box-sizing: border-box;
    }

    .av2-transactions-kpa-strip .av2-kpa-card {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 86px !important;

        padding: 14px !important;

        box-sizing: border-box;
    }

    .av2-transactions-kpa-strip .av2-kpa-icon {
        flex: 0 0 44px !important;

        width: 44px !important;
        height: 44px !important;

        margin: 0 12px 0 0 !important;

        border-radius: 12px;
        font-size: 1rem;
    }

    .av2-transactions-kpa-strip .av2-kpa-copy {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
    }

    .av2-transactions-kpa-strip .av2-kpa-title,
    .av2-transactions-kpa-strip .av2-kpa-value,
    .av2-transactions-kpa-strip .av2-kpa-detail {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .av2-transactions-kpa-strip .av2-kpa-title {
        font-size: .78rem !important;
        line-height: 1.25;
    }

    .av2-transactions-kpa-strip .av2-kpa-value {
        margin-top: 2px;
        font-size: 1.45rem !important;
        line-height: 1;
    }

    .av2-transactions-kpa-strip .av2-kpa-detail {
        margin-top: 4px;
        overflow: hidden;

        font-size: .70rem !important;
        line-height: 1.3;

        text-overflow: ellipsis;
        white-space: nowrap;
    }


    /*
     * --------------------------------------------------------
     * TRANSACTION LIST
     * --------------------------------------------------------
     */

    .av2-transactions-toolbar {
        display: block;
        padding: 14px;
    }

    .av2-transactions-search {
        width: 100%;
    }

    .av2-transactions-result-meta {
        margin: 8px 0 0;
    }

    .av2-transactions-dashboard-panel > .panel-hdr {
        min-height: 68px !important;
        padding: 0 14px;
    }

    .av2-transactions-dashboard-subtitle,
    .av2-transactions-dashboard-count {
        display: none;
    }

    .av2-transaction-mobile-meta {
        grid-template-columns: 1fr;
    }

    .av2-transactions-empty {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .av2-transactions-empty .btn {
        width: 100%;
    }
}


/* ============================================================
   VERY SMALL MOBILE
   ============================================================ */

@media (max-width: 359.98px) {

    body:has(.av2-transactions-kpa-strip) .av2-page-actions {
        grid-template-columns: 1fr;
    }

    body:has(.av2-transactions-kpa-strip) .av2-page-actions .btn {
        min-height: 40px;
    }
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-transactions-table thead th {
    background: var(--av2-surface-soft) !important;
}

.mod-skin-dark .av2-transaction-status.is-active {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-transaction-status.is-pending {
    color: #ffc968;
    background: rgba(245,160,0,.13);
    border-color: rgba(245,160,0,.24);
}

.mod-skin-dark .av2-transaction-status.is-complete {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-transaction-status.is-failed {
    color: #ff9ca6;
    background: rgba(220,53,69,.14);
    border-color: rgba(220,53,69,.24);
}

.mod-skin-dark .av2-transaction-status.is-expired {
    color: #d9aeb7;
    background: rgba(161,103,116,.14);
    border-color: rgba(161,103,116,.24);
}

.mod-skin-dark .av2-transaction-status.is-neutral {
    color: #c5ceda;
    background: rgba(255,255,255,.05);
    border-color: rgba(255,255,255,.10);
}

.mod-skin-dark .av2-transaction-ecoe {
    color: #c3a5ff;
    background: rgba(133,69,219,.13);
    border-color: rgba(133,69,219,.24);
}


/* ========================================================================
   END 70.01 TRANSACTIONS DASHBOARD
   ======================================================================== */


/* ========================================================================
   70.02 TRANSACTION MANAGER
   ======================================================================== */

.av2-transaction-manager {
    font-family: var(--av2-font-family);
}


/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-txm-heading {
    align-items: flex-start;
}

.av2-txm-title-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.av2-txm-title-pills {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.av2-txm-heading-subtitle {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}

.av2-txm-page-actions {
    align-items: center;
    gap: 8px;
}


/* ============================================================
   STATUS / TYPE PILLS
   ============================================================ */

.av2-txm-status-pill,
.av2-txm-type-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    line-height: 1;
    white-space: nowrap;
}

.av2-txm-status-pill.is-active {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-txm-status-pill.is-pending {
    color: #a46b00;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-txm-status-pill.is-complete {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-txm-status-pill.is-failed,
.av2-txm-status-pill.is-expired {
    color: #cf3f50;
    background: #fdebed;
    border: 1px solid #f3c8cf;
}

.av2-txm-status-pill.is-neutral {
    color: #596273;
    background: #eef0f4;
    border: 1px solid #d5dae3;
}

.av2-txm-type-pill {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}


/* ============================================================
   SUMMARY STRIP
   ============================================================ */

.av2-txm-summary-strip {
    display: grid;
    grid-template-columns: 1.05fr 1.4fr 1fr 1fr;
    gap: 0;
    margin: 18px 0 24px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-sm);
    overflow: hidden;
}

.av2-txm-summary-item {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 92px;
    padding: 18px 20px;
    border-right: 1px solid var(--av2-border);
}

.av2-txm-summary-item:last-child {
    border-right: 0;
}

.av2-txm-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-right: 12px;
    border-radius: 11px;
    font-size: 1rem;
}

.av2-txm-summary-icon.is-client {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-txm-summary-icon.is-progress {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-txm-summary-icon.is-closing {
    color: #d88400;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-txm-summary-icon.is-escrow {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}

.av2-txm-summary-item > div {
    min-width: 0;
}

.av2-txm-summary-label {
    display: block;
    margin-bottom: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
}

.av2-txm-summary-value {
    display: block;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

a.av2-txm-summary-value {
    color: var(--av2-primary);
    text-decoration: none;
}

.av2-txm-summary-progress-copy {
    width: 100%;
}

.av2-txm-progress-line {
    display: flex;
    align-items: center;
    width: 100%;
}

.av2-txm-progress {
    flex: 1 1 auto;
    height: 7px !important;
    margin-right: 10px;
    background: var(--av2-neutral-bg);
    border-radius: 999px;
    overflow: hidden;
}

.av2-txm-progress .progress-bar {
    border-radius: 999px;
}

.av2-txm-progress-line strong {
    flex: 0 0 auto;
    min-width: 34px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    text-align: right;
}

.av2-txm-summary-progress-copy small {
    display: block;
    margin-top: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}


/* ============================================================
   WORKSPACE
   ============================================================ */

.av2-txm-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(310px, .75fr);
    gap: 20px;
    align-items: start;
    margin-bottom: 30px;
}

.av2-txm-main-panel {
    min-width: 0;
    overflow: hidden;
}

.av2-txm-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 78px !important;
    padding: 0 20px !important;
}

.av2-txm-panel-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-txm-panel-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    margin-right: 12px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 11px;
    font-size: 1rem;
}

.av2-txm-panel-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-txm-panel-heading p {
    margin: 4px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-txm-panel-progress {
    text-align: right;
}

.av2-txm-panel-progress strong {
    display: block;
    color: var(--av2-primary);
    font-size: 1rem;
    font-weight: var(--av2-weight-bold);
}

.av2-txm-panel-progress span {
    display: block;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-txm-milestone-content {
    padding: 18px !important;
}


/* ============================================================
   MILESTONE ROWS
   ============================================================ */

.av2-txm-milestone-list {
    display: block;
}

.av2-txm-milestone-row {
    position: relative;
    display: grid;
    grid-template-columns: 38px 34px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-height: 86px;
    margin-bottom: 10px;
    padding: 12px 14px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    box-shadow: var(--av2-shadow-xs);
    transition: border-color .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.av2-txm-milestone-row:last-child {
    margin-bottom: 0;
}

.av2-txm-milestone-row:hover {
    border-color: var(--av2-border-strong);
    box-shadow: var(--av2-shadow-sm);
}

.av2-txm-milestone-row.is-completed {
    opacity: .67;
}

.av2-txm-milestone-step {
    position: relative;
    align-self: stretch;
    display: flex;
    justify-content: center;
}

.av2-txm-milestone-step > span {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin-top: 2px;
    color: var(--av2-primary);
    background: var(--av2-surface);
    border: 1px solid #c9d8ff;
    border-radius: 50%;
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-txm-milestone-step > i {
    position: absolute;
    top: 31px;
    bottom: -23px;
    left: 50%;
    width: 1px;
    background: #cad5e4;
    transform: translateX(-50%);
}

.av2-txm-milestone-state {
    align-self: start;
    padding-top: 2px;
}

.av2-txm-check {
    display: inline-flex;
    margin: 0;
    cursor: pointer;
}

.av2-txm-check input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.av2-txm-check > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: transparent;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border-strong);
    border-radius: 8px;
    transition: all .15s ease;
}

.av2-txm-check input:checked + span {
    color: #fff;
    background: #2f9b55;
    border-color: #2f9b55;
}

.av2-txm-milestone-copy {
    min-width: 0;
}

.av2-txm-milestone-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.av2-txm-milestone-title-row h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-txm-milestone-copy > p {
    margin: 5px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}

.av2-txm-milestone-status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-txm-milestone-status.is-open {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-txm-milestone-status.is-completed {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-txm-milestone-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 7px;
}

.av2-txm-milestone-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-txm-milestone-meta span.is-due {
    color: #a46b00;
}

.av2-txm-milestone-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

.av2-txm-milestone-actions .btn {
    min-width: 92px;
}


/* ============================================================
   MANAGEMENT RAIL
   ============================================================ */

.av2-txm-rail {
    display: grid;
    gap: 14px;
}

.av2-txm-rail-card {
    padding: 16px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-txm-rail-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.av2-txm-rail-card-header > div {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-txm-rail-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-right: 9px;
    border-radius: 9px;
    font-size: .88rem;
}

.av2-txm-rail-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-txm-rail-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}

.av2-txm-rail-icon.is-green {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-txm-rail-icon.is-orange {
    color: #d88400;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-txm-rail-icon.is-teal {
    color: #1d8583;
    background: #e7f6f5;
    border: 1px solid #c3e4e2;
}

.av2-txm-rail-card-header h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-txm-rail-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    margin-left: 7px;
    padding: 0 6px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.12);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-txm-rail-link {
    padding: 2px 4px !important;
    color: var(--av2-primary) !important;
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-semibold);
    text-decoration: none !important;
}

.av2-txm-rail-description {
    margin: -2px 0 13px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}


/* ============================================================
   DETAILS LIST
   ============================================================ */

.av2-txm-detail-list {
    display: grid;
    gap: 0;
}

.av2-txm-detail-list > div {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 9px 0;
    border-bottom: 1px solid var(--av2-border);
}

.av2-txm-detail-list > div:first-child {
    padding-top: 0;
}

.av2-txm-detail-list > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.av2-txm-detail-list > div > span:first-child {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-medium);
}

.av2-txm-detail-list strong,
.av2-txm-detail-list a {
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-semibold);
    line-height: 1.4;
    word-break: break-word;
}

.av2-txm-detail-list a {
    color: var(--av2-primary);
}


/* ============================================================
   TEAM MEMBERS
   ============================================================ */

.av2-txm-member-list {
    display: grid;
}

.av2-txm-member {
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 8px 0;
    border-bottom: 1px solid var(--av2-border);
}

.av2-txm-member:last-child {
    border-bottom: 0;
}

.av2-txm-member-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-right: 9px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 50%;
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-txm-member-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-txm-member-copy strong {
    display: block;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-semibold);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-txm-member-copy span {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-txm-member-remove-form,
.av2-txm-document-delete-form {
    flex: 0 0 auto;
    margin: 0;
}

.av2-txm-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    color: var(--av2-text-muted);
    background: transparent;
    border: 0;
    border-radius: 7px;
}

.av2-txm-icon-button:hover {
    background: var(--av2-hover-bg);
}

.av2-txm-icon-button.is-danger {
    color: #dc3545;
}


/* ============================================================
   DOCUMENTS
   ============================================================ */

.av2-txm-upload-form {
    margin-bottom: 13px;
}

.av2-txm-upload-control {
    display: flex;
    align-items: center;
    min-height: 64px;
    margin: 0 0 9px;
    padding: 10px 12px;
    color: var(--av2-text-secondary);
    background: var(--av2-surface-soft);
    border: 1px dashed var(--av2-border-strong);
    border-radius: 9px;
    cursor: pointer;
}

.av2-txm-upload-control > i {
    margin-right: 10px;
    color: var(--av2-primary);
    font-size: 1.15rem;
}

.av2-txm-upload-control > span {
    min-width: 0;
}

.av2-txm-upload-control strong {
    display: block;
    font-size: var(--av2-font-compact);
}

.av2-txm-upload-control small {
    display: block;
    max-width: 190px;
    margin-top: 2px;
    overflow: hidden;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-txm-upload-control input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}

.av2-txm-document-list {
    margin-top: 13px;
    border-top: 1px solid var(--av2-border);
}

.av2-txm-document {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 7px 0;
    border-bottom: 1px solid var(--av2-border);
}

.av2-txm-document:last-child {
    border-bottom: 0;
}

.av2-txm-document-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin-right: 8px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 7px;
}

.av2-txm-document-name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: var(--av2-primary);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-txm-empty-inline {
    padding: 10px 0 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}


/* ============================================================
   COMMENTS MODAL
   ============================================================ */

.av2-txm-comment-composer {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.av2-txm-comment-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 50%;
    overflow: hidden;
}

.av2-txm-comment-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.av2-txm-comment-field {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-txm-comment-field > label {
    display: block;
    margin-bottom: 6px;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-txm-comment-submit {
    margin-top: 9px;
    text-align: right;
}

.av2-txm-comment-history-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.av2-txm-comment-history-heading strong {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
}

.av2-txm-comment-history-heading span {
    margin-left: 6px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-txm-comment-history {
    max-height: 400px;
    padding-right: 4px;
    overflow-y: auto;
}

.av2-txm-comment-card {
    margin-bottom: 9px;
    padding: 13px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 9px;
}

.av2-txm-comment-card:last-child {
    margin-bottom: 0;
}

.av2-txm-comment-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.av2-txm-comment-card-head strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
}

.av2-txm-comment-card-head span,
.av2-txm-comment-card-head time {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-txm-comment-card-head time {
    flex: 0 0 auto;
    margin-top: 0;
    text-align: right;
}

.av2-txm-comment-card-body {
    margin-top: 9px;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    line-height: 1.5;
}


/* ============================================================
   INFORMATION / DELETE
   ============================================================ */

.av2-txm-info-box,
.av2-txm-delete-warning {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px;
    border-radius: 9px;
}

.av2-txm-info-box {
    margin-bottom: 18px;
    color: var(--av2-text-secondary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
}

.av2-txm-info-box > i {
    margin-top: 2px;
    color: var(--av2-primary);
}

.av2-txm-info-box span {
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}

.av2-txm-delete-warning {
    color: #b42334;
    background: #fff1f3;
    border: 1px solid #ffd3da;
}

.av2-txm-delete-warning > i {
    margin-top: 2px;
    color: #dc3545;
}

.av2-txm-delete-warning strong {
    display: block;
    font-size: var(--av2-font-item-title);
}

.av2-txm-delete-warning span {
    display: block;
    margin-top: 3px;
    color: #7f4b54;
    font-size: var(--av2-font-compact);
}

.av2-txm-danger-icon {
    color: #dc3545 !important;
    background: #fff1f3 !important;
    border-color: #ffd3da !important;
}


/* ============================================================
   EMPTY STATES
   ============================================================ */

.av2-txm-empty-state,
.av2-txm-empty-compact {
    text-align: center;
}

.av2-txm-empty-state {
    padding: 46px 20px;
}

.av2-txm-empty-state > span,
.av2-txm-empty-compact > i {
    color: var(--av2-primary);
}

.av2-txm-empty-state > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 10px;
    background: var(--av2-primary-soft);
    border-radius: 12px;
}

.av2-txm-empty-state strong,
.av2-txm-empty-compact strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
}

.av2-txm-empty-state p,
.av2-txm-empty-compact span {
    display: block;
    margin: 4px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-txm-empty-compact {
    padding: 30px 15px;
}


/* ============================================================
   RESPONSIVE MEDIA
   ============================================================ */

.responsive-iframe-container,
.responsive-video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}

.responsive-iframe-container iframe,
.responsive-video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-txm-summary-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .av2-txm-summary-item:nth-child(2) {
        border-right: 0;
    }

    .av2-txm-summary-item:nth-child(-n+2) {
        border-bottom: 1px solid var(--av2-border);
    }

    .av2-txm-workspace {
        grid-template-columns: minmax(0, 1fr) 320px;
    }

    .av2-txm-milestone-row {
        grid-template-columns: 34px 30px minmax(0, 1fr);
    }

    .av2-txm-milestone-actions {
        grid-column: 3;
        justify-content: flex-start;
        margin-top: 3px;
    }
}

@media (max-width: 991.98px) {
    .av2-txm-workspace {
        grid-template-columns: 1fr;
    }

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

    .av2-txm-rail-card:first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .av2-txm-page-actions {
        width: 100%;
        margin-top: 12px;
        flex-wrap: wrap;
    }

    .av2-txm-page-actions > .btn,
    .av2-txm-page-actions > .dropdown {
        flex: 1 1 calc(50% - 4px);
    }

    .av2-txm-page-actions .dropdown > .btn {
        width: 100%;
    }

    .av2-txm-summary-strip {
        grid-template-columns: 1fr;
    }

    .av2-txm-summary-item {
        min-height: 78px;
        border-right: 0;
        border-bottom: 1px solid var(--av2-border);
    }

    .av2-txm-summary-item:nth-child(2) {
        border-right: 0;
    }

    .av2-txm-summary-item:nth-child(-n+2) {
        border-bottom: 1px solid var(--av2-border);
    }

    .av2-txm-summary-item:last-child {
        border-bottom: 0;
    }

    .av2-txm-panel-header {
        min-height: 70px !important;
        padding: 0 14px !important;
    }

    .av2-txm-panel-heading p,
    .av2-txm-panel-progress span {
        display: none;
    }

    .av2-txm-milestone-content {
        padding: 12px !important;
    }

    .av2-txm-milestone-row {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 9px;
        padding: 12px;
    }

    .av2-txm-milestone-step {
        grid-row: 1 / span 2;
    }

    .av2-txm-milestone-state {
        position: absolute;
        top: 11px;
        right: 11px;
    }

    .av2-txm-milestone-copy {
        grid-column: 2;
        padding-right: 36px;
    }

    .av2-txm-milestone-actions {
        grid-column: 2;
        flex-wrap: wrap;
    }

    .av2-txm-milestone-actions .btn {
        flex: 1 1 auto;
        min-width: 0;
    }

    .av2-txm-rail {
        grid-template-columns: 1fr;
    }

    .av2-txm-rail-card:first-child {
        grid-column: auto;
    }
}

@media (max-width: 575.98px) {
    .av2-txm-title-pills {
        width: 100%;
    }

    .av2-txm-page-actions > .btn,
    .av2-txm-page-actions > .dropdown {
        flex-basis: 100%;
    }

    .av2-txm-comment-composer {
        display: block;
    }

    .av2-txm-comment-avatar {
        margin-bottom: 10px;
    }

    .av2-txm-comment-card-head {
        display: block;
    }

    .av2-txm-comment-card-head time {
        margin-top: 5px;
        text-align: left;
    }
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-txm-status-pill.is-active {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-txm-status-pill.is-pending {
    color: #ffc968;
    background: rgba(245,160,0,.13);
    border-color: rgba(245,160,0,.24);
}

.mod-skin-dark .av2-txm-status-pill.is-complete {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-txm-status-pill.is-failed,
.mod-skin-dark .av2-txm-status-pill.is-expired {
    color: #ff9ca6;
    background: rgba(220,53,69,.14);
    border-color: rgba(220,53,69,.24);
}

.mod-skin-dark .av2-txm-type-pill {
    color: #c3a5ff;
    background: rgba(133,69,219,.13);
    border-color: rgba(133,69,219,.24);
}

.mod-skin-dark .av2-txm-milestone-status.is-open {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-txm-milestone-status.is-completed {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-txm-delete-warning {
    color: #ff9ca6;
    background: rgba(220,53,69,.12);
    border-color: rgba(220,53,69,.22);
}

.mod-skin-dark .av2-txm-delete-warning span {
    color: #d5a6ad;
}

/* ============================================================
   TRANSACTION MANAGER - PAGE ACTIONS / UI DETAILS
   ============================================================ */


/* ============================================================
   PAGE ACTIONS
   Keep Edit / Client Portal / More aligned on one row.
   ============================================================ */

@media (min-width: 768px) {
    .av2-txm-page-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        width: auto !important;
        max-width: none !important;
        gap: 8px !important;
    }

    .av2-txm-page-actions > .btn,
    .av2-txm-page-actions > .dropdown {
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
    }

    .av2-txm-page-actions .dropdown > .btn {
        width: auto !important;
        white-space: nowrap;
    }

    .av2-txm-page-actions .av-header-action {
        white-space: nowrap;
    }
}


/* ============================================================
   DUE DATE ACTION
   Purposefully active-looking instead of disabled gray.
   ============================================================ */

.av2-txm-due-date-button {
    min-width: 92px;
    color: #c97900 !important;
    background: #fffaf0 !important;
    border: 1px solid #e8a63b !important;
    box-shadow: none !important;
}

.av2-txm-due-date-button i {
    color: #c97900 !important;
}

.av2-txm-due-date-button:hover,
.av2-txm-due-date-button:focus {
    color: #ffffff !important;
    background: #e69516 !important;
    border-color: #e69516 !important;
}

.av2-txm-due-date-button:hover i,
.av2-txm-due-date-button:focus i {
    color: #ffffff !important;
}


/* ============================================================
   CLIENT PORTAL INVITATION COPY
   Make the destination email immediately obvious.
   ============================================================ */

#customerportalModal .av2-txm-info-box strong {
    color: var(--av2-text-strong);
    font-weight: var(--av2-weight-bold);
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-txm-due-date-button {
    color: #ffc968 !important;
    background: rgba(245,160,0,.10) !important;
    border-color: rgba(245,160,0,.42) !important;
}

.mod-skin-dark .av2-txm-due-date-button i {
    color: #ffc968 !important;
}

.mod-skin-dark .av2-txm-due-date-button:hover,
.mod-skin-dark .av2-txm-due-date-button:focus {
    color: #111827 !important;
    background: #ffc968 !important;
    border-color: #ffc968 !important;
}

.mod-skin-dark .av2-txm-due-date-button:hover i,
.mod-skin-dark .av2-txm-due-date-button:focus i {
    color: #111827 !important;
}

/* ============================================================
   TRANSACTION MANAGER - DUE DATE ALERTS

   Behavior:
   - Future due date: strong amber treatment
   - Due today: stronger orange treatment
   - Past due + milestone still open: red OVERDUE alert
   - Completed milestone: subdued green/neutral date
   - No due date: quiet neutral treatment
   ============================================================ */


/* Make the due-date area a real visual signal instead of tiny metadata. */

.av2-txm-milestone-meta {
    margin-top: 10px;
}

.av2-txm-due-alert {
    display: inline-flex !important;
    align-items: center;
    gap: 6px !important;

    min-height: 32px;
    padding: 5px 10px;

    border-radius: 8px;

    font-size: var(--av2-font-compact) !important;
    font-weight: var(--av2-weight-semibold) !important;
    line-height: 1.15;

    white-space: nowrap;
}

.av2-txm-due-alert > i {
    flex: 0 0 auto;
    font-size: .92rem;
}

.av2-txm-due-alert strong {
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    letter-spacing: .035em;
}

.av2-txm-due-separator {
    opacity: .55;
}


/* FUTURE DUE DATE */

.av2-txm-due-alert.is-upcoming {
    color: #a86500 !important;
    background: #fff8ea;
    border: 1px solid #efd29c;
}

.av2-txm-due-alert.is-upcoming > i {
    color: #d88400 !important;
}


/* DUE TODAY */

.av2-txm-due-alert.is-today {
    color: #9b5700 !important;
    background: #fff1d6;
    border: 1px solid #efbd67;
    box-shadow: 0 2px 7px rgba(216,132,0,.10);
}

.av2-txm-due-alert.is-today > i {
    color: #d67700 !important;
}


/* OVERDUE */

.av2-txm-due-alert.is-overdue {
    color: #b42334 !important;
    background: #fff0f2;
    border: 1px solid #efb5bd;
    box-shadow: 0 2px 8px rgba(220,53,69,.10);
}

.av2-txm-due-alert.is-overdue > i {
    color: #dc3545 !important;
}

.av2-txm-due-alert.is-overdue strong {
    color: #c52d3f !important;
}


/* Make the whole milestone subtly announce that action is overdue. */

.av2-txm-milestone-row.is-overdue {
    border-color: #efb5bd !important;
    box-shadow:
        inset 3px 0 0 #dc3545,
        0 2px 7px rgba(220,53,69,.07) !important;
}

.av2-txm-milestone-row.is-overdue:hover {
    border-color: #e89ca7 !important;
    box-shadow:
        inset 3px 0 0 #dc3545,
        0 5px 14px rgba(220,53,69,.10) !important;
}


/* Due today gets an amber row cue, but less severe than overdue. */

.av2-txm-milestone-row.is-due-today {
    border-color: #efd29c !important;
    box-shadow:
        inset 3px 0 0 #f5a000,
        0 2px 7px rgba(245,160,0,.06) !important;
}


/* COMPLETED MILESTONE DATE */

.av2-txm-due-alert.is-completed-date {
    color: #548064 !important;
    background: #f1f8f3;
    border: 1px solid #d6e9dc;
}

.av2-txm-due-alert.is-completed-date > i {
    color: #6ca77f !important;
}


/* NO DATE */

.av2-txm-due-alert.is-none {
    min-height: 28px;
    padding: 3px 0;

    color: var(--av2-text-muted) !important;
    background: transparent;
    border: 0;

    font-weight: var(--av2-weight-medium) !important;
}

.av2-txm-due-alert.is-none > i {
    color: var(--av2-text-muted) !important;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 575.98px) {
    .av2-txm-due-alert {
        white-space: normal;
    }
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-txm-due-alert.is-upcoming {
    color: #ffc968 !important;
    background: rgba(245,160,0,.10);
    border-color: rgba(245,160,0,.30);
}

.mod-skin-dark .av2-txm-due-alert.is-today {
    color: #ffd37d !important;
    background: rgba(245,160,0,.15);
    border-color: rgba(245,160,0,.38);
}

.mod-skin-dark .av2-txm-due-alert.is-overdue {
    color: #ff9ca6 !important;
    background: rgba(220,53,69,.14);
    border-color: rgba(220,53,69,.30);
}

.mod-skin-dark .av2-txm-due-alert.is-overdue strong {
    color: #ff9ca6 !important;
}

.mod-skin-dark .av2-txm-due-alert.is-completed-date {
    color: #9fd1af !important;
    background: rgba(47,155,85,.10);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-txm-milestone-row.is-overdue {
    border-color: rgba(220,53,69,.34) !important;
}

.mod-skin-dark .av2-txm-milestone-row.is-due-today {
    border-color: rgba(245,160,0,.34) !important;
}


/* ========================================================================
   END 70.02 TRANSACTION MANAGER
   ======================================================================== */


/* ========================================================================
   70.03 TRANSACTION LIFECYCLE MANAGEMENT
   ======================================================================== */

.av2-transaction-lifecycle-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: -8px 0 24px;
}

.av2-transaction-lifecycle-tab {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 76px;
    padding: 14px 16px;
    color: var(--av2-text-secondary) !important;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-xs);
    text-decoration: none !important;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.av2-transaction-lifecycle-tab:hover {
    color: var(--av2-text-strong) !important;
    border-color: #cbd8ea;
    box-shadow: var(--av2-shadow-sm);
    transform: translateY(-1px);
}

.av2-transaction-lifecycle-tab.is-active {
    color: var(--av2-primary) !important;
    background: var(--av2-primary-soft);
    border-color: rgba(11,92,255,.24);
    box-shadow: 0 4px 14px rgba(11,92,255,.10);
}

.av2-transaction-lifecycle-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    margin-right: 12px;
    border-radius: 11px;
    font-size: 1rem;
}

.av2-transaction-lifecycle-icon.is-active-icon {
    color: #2f9b55;
    background: rgba(47,155,85,.09);
    border: 1px solid rgba(47,155,85,.14);
}

.av2-transaction-lifecycle-icon.is-completed-icon {
    color: #0b5cff;
    background: rgba(11,92,255,.09);
    border: 1px solid rgba(11,92,255,.14);
}

.av2-transaction-lifecycle-icon.is-archived-icon {
    color: #8545db;
    background: rgba(133,69,219,.09);
    border: 1px solid rgba(133,69,219,.14);
}

.av2-transaction-lifecycle-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-transaction-lifecycle-copy strong {
    display: block;
    color: inherit;
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
    line-height: 1.25;
}

.av2-transaction-lifecycle-copy small {
    display: block;
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.35;
}

.av2-transaction-lifecycle-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 30px;
    height: 30px;
    margin-left: 10px;
    padding: 0 8px;
    color: var(--av2-text-secondary);
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 999px;
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-transaction-lifecycle-tab.is-active .av2-transaction-lifecycle-count {
    color: var(--av2-primary);
    background: var(--av2-surface);
    border-color: rgba(11,92,255,.18);
}


/* ============================================================
   ARCHIVED WORKSPACE
   ============================================================ */

.av2-transaction-archive-workspace {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    min-height: 420px;
}

.av2-transaction-folder-panel {
    padding: 18px;
    background: var(--av2-surface-soft);
    border-right: 1px solid var(--av2-border);
}

.av2-transaction-folder-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 16px;
}

.av2-transaction-folder-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-transaction-folder-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-transaction-folder-heading > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 7px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-transaction-folder-create {
    margin-bottom: 16px;
}

.av2-transaction-folder-create label {
    display: block;
    margin-bottom: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    text-transform: uppercase;
    letter-spacing: .035em;
}

.av2-transaction-folder-create > div {
    display: flex;
    align-items: stretch;
}

.av2-transaction-folder-create .form-control {
    min-width: 0;
    height: 38px;
    border-radius: 8px 0 0 8px;
    font-size: var(--av2-font-control);
}

.av2-transaction-folder-create .btn {
    flex: 0 0 40px;
    width: 40px;
    padding: 0;
    border-radius: 0 8px 8px 0;
}

.av2-transaction-folder-list {
    display: block;
}

.av2-transaction-folder-item {
    position: relative;
    display: flex;
    align-items: stretch;
    margin-bottom: 4px;
    border-radius: 9px;
}

.av2-transaction-folder-link {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 42px;
    padding: 7px 9px;
    color: var(--av2-text-secondary) !important;
    border-radius: 9px;
    text-decoration: none !important;
}

.av2-transaction-folder-link:hover,
.av2-transaction-folder-item:hover .av2-transaction-folder-link {
    color: var(--av2-text-strong) !important;
    background: var(--av2-hover-bg);
}

.av2-transaction-folder-link.is-active,
.av2-transaction-folder-item.is-active .av2-transaction-folder-link {
    color: var(--av2-primary) !important;
    background: var(--av2-primary-soft);
}

.av2-transaction-folder-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin-right: 8px;
    color: #8545db;
    background: rgba(133,69,219,.08);
    border-radius: 7px;
    font-size: .78rem;
}

.av2-transaction-folder-icon.is-orange {
    color: #f5a000;
    background: rgba(245,160,0,.09);
}

.av2-transaction-folder-icon.is-blue {
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
}

.av2-transaction-folder-name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: inherit;
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-semibold);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-transaction-folder-count {
    flex: 0 0 auto;
    margin-left: 8px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-transaction-folder-delete-form {
    display: flex;
    align-items: center;
    margin: 0;
}

.av2-transaction-folder-delete {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin: 6px 4px 6px -34px;
    padding: 0;
    color: #dc3545;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 7px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s ease;
}

.av2-transaction-folder-item:hover .av2-transaction-folder-delete,
.av2-transaction-folder-item:focus-within .av2-transaction-folder-delete {
    opacity: 1;
    pointer-events: auto;
}

.av2-transaction-folder-divider {
    height: 1px;
    margin: 12px 4px;
    background: var(--av2-border);
}

.av2-transaction-archive-content {
    min-width: 0;
    background: var(--av2-surface);
}

.av2-transaction-current-folder {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    padding: 12px 20px;
    background: var(--av2-surface);
    border-bottom: 1px solid var(--av2-border);
}

.av2-transaction-current-folder > div {
    display: flex;
    align-items: center;
}

.av2-transaction-current-folder-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-right: 10px;
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.14);
    border-radius: 9px;
}

.av2-transaction-current-folder h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-transaction-current-folder p {
    margin: 2px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}


/* ============================================================
   TRANSACTION ORGANIZATION ACTIONS
   ============================================================ */

.av2-transaction-actions-heading,
.av2-transaction-actions-cell {
    width: 118px;
    text-align: right;
}

.av2-transaction-organize-button {
    min-height: 32px;
    padding: 5px 9px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    white-space: nowrap;
    box-shadow: none !important;
}

.av2-transaction-mobile-actions {
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid var(--av2-border);
}

.av2-transaction-mobile-actions .btn {
    width: 100%;
}

.av2-transaction-organize-summary {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    padding: 13px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-transaction-organize-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin-right: 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 9px;
}

.av2-transaction-organize-summary span:not(.av2-transaction-organize-summary-icon) {
    display: block;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-transaction-organize-summary strong {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
}


/* ============================================================
   RESPONSIVE MANAGEMENT
   ============================================================ */

@media (max-width: 991.98px) {
    .av2-transaction-lifecycle-nav {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .av2-transaction-archive-workspace {
        grid-template-columns: 1fr;
    }

    .av2-transaction-folder-panel {
        border-right: 0;
        border-bottom: 1px solid var(--av2-border);
    }

    .av2-transaction-folder-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
    }

    .av2-transaction-folder-divider {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .av2-transaction-folder-list {
        grid-template-columns: 1fr;
    }

    .av2-transaction-current-folder {
        padding: 12px 14px;
    }

    .av2-transaction-folder-delete {
        opacity: 1;
        pointer-events: auto;
    }
}


/* ============================================================
   DARK MODE MANAGEMENT
   ============================================================ */

.mod-skin-dark .av2-transaction-lifecycle-tab,
.mod-skin-dark .av2-transaction-archive-content,
.mod-skin-dark .av2-transaction-current-folder,
.mod-skin-dark .av2-transaction-folder-delete {
    background: var(--av2-surface);
    border-color: var(--av2-border);
}

.mod-skin-dark .av2-transaction-lifecycle-tab.is-active {
    background: var(--av2-primary-soft);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-transaction-folder-panel,
.mod-skin-dark .av2-transaction-organize-summary {
    background: var(--av2-surface-soft);
}

@media (hover: none) {
    .av2-transaction-folder-delete {
        opacity: 1;
        pointer-events: auto;
    }
}


/* ========================================================================
   END 70.03 TRANSACTION LIFECYCLE MANAGEMENT
   ======================================================================== */


/* ========================================================================
   70.04 CUSTOM TRANSACTION MILESTONES
   ======================================================================== */

.av2-milestone-manager {
    font-family: var(--av2-font-family);
}


/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-mm-page-heading {
    align-items: flex-start;
}

.av2-mm-page-subtitle {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}


/* ============================================================
   TRANSACTION TYPE TABS
   ============================================================ */

.av2-mm-type-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0 20px;
    padding: 0;
    border: 0;
}

.av2-mm-type-tabs .nav-item {
    margin: 0;
}

.av2-mm-type-tab {
    display: flex !important;
    align-items: center;
    min-height: 74px;
    padding: 13px 16px !important;
    color: var(--av2-text-secondary) !important;
    background: var(--av2-surface) !important;
    border: 1px solid var(--av2-border) !important;
    border-radius: 12px !important;
    box-shadow: var(--av2-shadow-xs);
    text-decoration: none !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.av2-mm-type-tab:hover {
    color: var(--av2-text-strong) !important;
    border-color: var(--av2-border-strong) !important;
    box-shadow: var(--av2-shadow-sm);
    transform: translateY(-1px);
}

.av2-mm-type-tab.active {
    color: #ffffff !important;
    background: var(--av2-primary) !important;
    border-color: var(--av2-primary) !important;
    box-shadow: 0 7px 18px rgba(11,92,255,.18);
}

.av2-mm-type-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-right: 12px;
    border-radius: 11px;
    font-size: 1rem;
}

.av2-mm-type-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-mm-type-icon.is-green {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-mm-type-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}

.av2-mm-type-tab.active .av2-mm-type-icon {
    color: #ffffff;
    background: rgba(255,255,255,.15);
    border-color: rgba(255,255,255,.26);
}

.av2-mm-type-copy {
    min-width: 0;
}

.av2-mm-type-copy strong {
    display: block;
    color: inherit;
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
    line-height: 1.25;
}

.av2-mm-type-copy small {
    display: block;
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-medium);
}

.av2-mm-type-copy small span {
    margin: 0 3px;
}

.av2-mm-type-tab.active .av2-mm-type-copy small {
    color: rgba(255,255,255,.78);
}


/* ============================================================
   INFO BANNER
   ============================================================ */

.av2-mm-info-banner {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
    padding: 14px 16px;
    color: var(--av2-text-secondary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 10px;
}

.av2-mm-info-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    color: #ffffff;
    background: var(--av2-primary);
    border-radius: 50%;
    font-size: .74rem;
}

.av2-mm-info-banner strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-mm-info-banner span:not(.av2-mm-info-icon) {
    display: block;
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.4;
}


/* ============================================================
   WORKFLOW PANEL
   ============================================================ */

.av2-mm-workflow-panel {
    overflow: hidden;
    margin-bottom: 30px;
}

.av2-mm-workflow-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 76px !important;
    padding: 0 20px !important;
}

.av2-mm-workflow-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-mm-workflow-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    margin-right: 11px;
    border-radius: 10px;
    font-size: .95rem;
}

.av2-mm-workflow-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-mm-workflow-icon.is-green {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-mm-workflow-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}

.av2-mm-workflow-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-mm-workflow-heading p {
    margin: 4px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-mm-workflow-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.av2-mm-workflow-count {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 10px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-mm-workflow-content {
    padding: 18px !important;
}


/* ============================================================
   MILESTONE ROW
   ============================================================ */

.av2-mm-sortable {
    display: grid;
    gap: 9px;
}

.av2-mm-milestone {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) 250px;
    min-height: 104px;
    margin: 0;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    box-shadow: var(--av2-shadow-xs);
    overflow: hidden;
    transition: opacity .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.av2-mm-milestone:hover {
    border-color: var(--av2-border-strong);
    box-shadow: var(--av2-shadow-sm);
}

.av2-mm-milestone.is-inactive {
    opacity: .64;
}

.av2-mm-order-zone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--av2-surface-soft);
    border-right: 1px solid var(--av2-border);
}

.av2-mm-drag-handle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 28px;
    padding: 0;
    color: var(--av2-text-muted);
    background: transparent;
    border: 0;
    border-radius: 7px;
    cursor: grab;
}

.av2-mm-drag-handle:hover {
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
}

.av2-mm-drag-handle:active {
    cursor: grabbing;
}

.av2-mm-order-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    margin-top: 5px;
    color: var(--av2-primary);
    background: var(--av2-surface);
    border: 1px solid #c7d6ff;
    border-radius: 50%;
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-mm-milestone-main {
    min-width: 0;
    padding: 16px 18px;
}

.av2-mm-milestone-title-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.av2-mm-milestone-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    margin-right: 2px;
    border-radius: 8px;
    font-size: .78rem;
}

.av2-mm-milestone-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
}

.av2-mm-milestone-icon.is-green {
    color: #238847;
    background: #e9f7ee;
}

.av2-mm-milestone-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
}

.av2-mm-milestone-title-line h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
    line-height: 1.3;
}

.av2-mm-kind-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    white-space: nowrap;
}

.av2-mm-kind-badge.is-default {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-mm-kind-badge.is-custom {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}

.av2-mm-kind-badge.is-inactive {
    color: #596273;
    background: #eef0f4;
    border: 1px solid #d5dae3;
}

.av2-mm-description {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    margin-top: 9px;
}

.av2-mm-description.is-client {
    margin-top: 5px;
}

.av2-mm-description-label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 23px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-mm-description.is-client .av2-mm-description-label {
    color: #8545db;
}

.av2-mm-description p {
    margin: 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}


/* ============================================================
   MILESTONE SETTINGS
   ============================================================ */

.av2-mm-milestone-settings {
    min-width: 0;
    padding: 10px 14px;
    background: var(--av2-surface-soft);
    border-left: 1px solid var(--av2-border);
}

.av2-mm-setting-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 48px;
    padding: 5px 0;
    border-bottom: 1px solid var(--av2-border);
}

.av2-mm-setting-row > div:first-child {
    min-width: 0;
}

.av2-mm-setting-row strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-mm-setting-row span {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.25;
}

.av2-mm-switch {
    flex: 0 0 auto;
    margin-left: 8px;
}

.av2-mm-switch .custom-control-label {
    cursor: pointer;
}

.av2-mm-setting-delete {
    padding-top: 10px;
}

.av2-mm-setting-delete .btn {
    width: 100%;
}

.av2-mm-default-note {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding-top: 9px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.35;
}

.av2-mm-default-note i {
    margin-top: 2px;
    color: #8545db;
}


/* ============================================================
   SORTABLE PLACEHOLDER
   ============================================================ */

.av2-mm-sortable-placeholder {
    min-height: 104px;
    background: var(--av2-primary-soft);
    border: 1px dashed rgba(11,92,255,.40);
    border-radius: 11px;
}


/* ============================================================
   ADD MILESTONE / NOTES
   ============================================================ */

.av2-mm-add-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    margin-top: 12px;
    color: var(--av2-primary);
    background: var(--av2-surface);
    border: 1px dashed rgba(11,92,255,.42);
    border-radius: 9px;
    font-size: var(--av2-font-control);
    font-weight: var(--av2-weight-bold);
}

.av2-mm-add-bottom:hover {
    color: #ffffff;
    background: var(--av2-primary);
    border-color: var(--av2-primary);
}

.av2-mm-workflow-notes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.av2-mm-workflow-notes > div {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 9px;
}

.av2-mm-note-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 8px;
}

.av2-mm-note-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
}

.av2-mm-note-icon.is-orange {
    color: #d88400;
    background: #fff3dc;
}

.av2-mm-workflow-notes p {
    margin: 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-mm-workflow-notes strong {
    color: var(--av2-text-secondary);
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.av2-mm-empty-state {
    padding: 42px 20px;
    text-align: center;
}

.av2-mm-empty-state > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin: 0 auto 10px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 11px;
}

.av2-mm-empty-state strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
}

.av2-mm-empty-state p {
    margin: 5px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}


/* ============================================================
   ADD MILESTONE MODAL
   ============================================================ */

.av2-mm-modal-info {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 20px;
    padding: 13px;
    color: var(--av2-text-secondary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 9px;
}

.av2-mm-modal-info > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 31px;
    width: 31px;
    height: 31px;
    color: var(--av2-primary);
    background: var(--av2-surface);
    border-radius: 8px;
}

.av2-mm-modal-info strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
}

.av2-mm-modal-info p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-mm-modal-client-icon {
    color: #8545db !important;
    background: rgba(133,69,219,.08) !important;
    border-color: rgba(133,69,219,.15) !important;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-mm-milestone {
        grid-template-columns: 66px minmax(0, 1fr);
    }

    .av2-mm-milestone-settings {
        grid-column: 2;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 14px;
        padding: 8px 16px 13px;
        border-top: 1px solid var(--av2-border);
        border-left: 0;
    }

    .av2-mm-setting-delete,
    .av2-mm-default-note {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .av2-mm-type-tabs {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .av2-mm-type-tab {
        min-height: 64px;
    }

    .av2-mm-workflow-header {
        align-items: flex-start;
        min-height: 0 !important;
        padding: 14px !important;
    }

    .av2-mm-workflow-heading p,
    .av2-mm-workflow-count {
        display: none;
    }

    .av2-mm-workflow-actions {
        margin-left: 10px;
    }

    .av2-mm-workflow-content {
        padding: 12px !important;
    }

    .av2-mm-milestone {
        grid-template-columns: 52px minmax(0, 1fr);
    }

    .av2-mm-order-zone {
        grid-row: 1 / span 2;
    }

    .av2-mm-milestone-main {
        padding: 13px 12px;
    }

    .av2-mm-milestone-settings {
        grid-column: 2;
        grid-template-columns: 1fr;
        padding: 7px 12px 12px;
    }

    .av2-mm-setting-delete,
    .av2-mm-default-note {
        grid-column: auto;
    }

    .av2-mm-workflow-notes {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .av2-mm-workflow-header {
        display: block;
    }

    .av2-mm-workflow-actions {
        margin: 12px 0 0;
    }

    .av2-mm-add-button {
        flex: 1 1 auto;
    }

    .av2-mm-description {
        display: block;
    }

    .av2-mm-description-label {
        margin-bottom: 3px;
    }
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-mm-type-icon.is-blue,
.mod-skin-dark .av2-mm-workflow-icon.is-blue,
.mod-skin-dark .av2-mm-milestone-icon.is-blue {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-mm-type-icon.is-green,
.mod-skin-dark .av2-mm-workflow-icon.is-green,
.mod-skin-dark .av2-mm-milestone-icon.is-green {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-mm-type-icon.is-purple,
.mod-skin-dark .av2-mm-workflow-icon.is-purple,
.mod-skin-dark .av2-mm-milestone-icon.is-purple {
    color: #c3a5ff;
    background: rgba(133,69,219,.13);
    border-color: rgba(133,69,219,.24);
}

.mod-skin-dark .av2-mm-kind-badge.is-default {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-mm-kind-badge.is-custom {
    color: #c3a5ff;
    background: rgba(133,69,219,.13);
    border-color: rgba(133,69,219,.24);
}

.mod-skin-dark .av2-mm-kind-badge.is-inactive {
    color: #c5ceda;
    background: rgba(255,255,255,.05);
    border-color: rgba(255,255,255,.10);
}

/* ============================================================
   CUSTOM TRANSACTION MILESTONES - DRAG HANDLE
   Larger drag/drop handle
   ============================================================ */

.av2-mm-drag-handle {
    width: 47px !important;
    height: 47px !important;
    border-radius: 10px !important;
    font-size: 1.10rem !important;
}

.av2-mm-drag-handle i {
    font-size: 1.10rem !important;
}

.av2-mm-drag-handle:hover {
    transform: scale(1.04);
}

.av2-mm-drag-handle:active {
    transform: scale(.98);
}


/* ========================================================================
   END 70.04 CUSTOM TRANSACTION MILESTONES
   ======================================================================== */


/* ========================================================================
   70.05 COMMISSION TRACKER
   ======================================================================== */

.av2-commission-tracker {
    font-family: var(--av2-font-family);
}

.av2-commission-page-heading {
    align-items: flex-start;
}

.av2-commission-page-subtitle {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}

.av2-commission-page-actions {
    align-items: center;
    gap: 8px;
}


/* REPORTING PERIOD */

.av2-commission-period {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    margin: 18px 0 16px;
    padding: 8px 12px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-commission-period-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 31px;
    width: 31px;
    height: 31px;
    margin-right: 9px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 8px;
}

.av2-commission-period > div > span {
    display: block;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
}

.av2-commission-period > div > strong {
    display: block;
    margin-top: 1px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}


/* SUMMARY DASHBOARD */

.av2-commission-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 28px;
}

.av2-commission-summary-card {
    min-width: 0;
    padding: 18px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    box-shadow: 0 2px 5px rgba(15,23,42,.05), 0 7px 18px rgba(15,23,42,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.av2-commission-summary-card:hover {
    transform: translateY(-2px);
    border-color: var(--av2-border-strong);
    box-shadow: 0 4px 9px rgba(15,23,42,.07), 0 10px 24px rgba(15,23,42,.08);
}

.av2-commission-summary-header {
    display: flex;
    align-items: center;
}

.av2-commission-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-right: 13px;
    border-radius: 13px;
    font-size: 1.05rem;
}

.av2-commission-summary-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-commission-summary-icon.is-green {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-commission-summary-icon.is-orange {
    color: #d88400;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-commission-summary-header > div {
    min-width: 0;
}

.av2-commission-summary-label {
    display: block;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-kpa-title);
    font-weight: var(--av2-weight-bold);
}

.av2-commission-summary-value {
    display: block;
    margin-top: 2px;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: 1.65rem;
    font-weight: var(--av2-weight-bold);
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-commission-summary-caption {
    margin: 11px 0 13px;
    padding-bottom: 12px;
    color: var(--av2-text-muted);
    border-bottom: 1px solid var(--av2-border);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-medium);
}

.av2-commission-summary-breakdown {
    display: grid;
    gap: 7px;
}

.av2-commission-summary-breakdown > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.av2-commission-summary-breakdown span {
    display: flex;
    align-items: center;
    min-width: 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-commission-summary-breakdown span i {
    margin-right: 6px;
    font-size: var(--av2-font-body);
}

.av2-commission-summary-breakdown span i.is-active {
    color: #2f9b55;
}

.av2-commission-summary-breakdown span i.is-pending {
    color: #f5a000;
}

.av2-commission-summary-breakdown span i.is-expired {
    color: #dc3545;
}

.av2-commission-summary-breakdown strong {
    flex: 0 0 auto;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
    text-align: right;
}


/* COMMISSION PANEL */

.av2-commission-panel {
    overflow: hidden;
    margin-bottom: 30px;
}

.av2-commission-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 74px !important;
    padding: 0 20px !important;
}

.av2-commission-panel-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-commission-panel-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 10px;
}

.av2-commission-panel-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-commission-panel-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-commission-panel-count {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 10px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-commission-panel-count span {
    margin-right: 5px;
}

.av2-commission-panel-content {
    padding: 0 !important;
}


/* SEARCH */

.av2-commission-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 17px 20px;
    border-bottom: 1px solid var(--av2-border);
}

.av2-commission-search {
    display: flex;
    align-items: center;
    width: min(420px, 100%);
    min-height: 43px;
    padding: 0 12px;
    background: var(--av2-input-bg);
    border: 1px solid var(--av2-border-strong);
    border-radius: 10px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-commission-search > i {
    flex: 0 0 auto;
    margin-right: 9px;
    color: var(--av2-text-muted);
}

.av2-commission-search .form-control {
    height: 41px;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: var(--av2-font-control);
}

.av2-commission-result-meta {
    margin-left: 16px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    white-space: nowrap;
}


/* TABLE */

.av2-commission-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.av2-commission-table {
    min-width: 760px;
    margin: 0;
    color: var(--av2-text);
    border-collapse: collapse;
}

.av2-commission-table thead th {
    height: 48px;
    padding: 0 16px !important;
    color: var(--av2-text-muted) !important;
    background: var(--av2-surface-soft) !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--av2-border) !important;
    font-size: var(--av2-font-meta) !important;
    font-weight: var(--av2-weight-bold);
    letter-spacing: .035em;
    text-transform: uppercase;
    vertical-align: middle !important;
    white-space: nowrap;
}

.av2-commission-table tbody td {
    padding: 15px 16px !important;
    color: var(--av2-text-secondary);
    background: var(--av2-row-bg);
    border-top: 0 !important;
    border-bottom: 1px solid var(--av2-row-border) !important;
    font-size: var(--av2-font-compact);
    vertical-align: middle !important;
}

.av2-commission-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.av2-commission-table tbody tr:hover td {
    background: var(--av2-hover-bg);
}

.av2-commission-name {
    color: var(--av2-primary) !important;
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
    text-decoration: none !important;
}

.av2-commission-name:hover {
    color: var(--av2-primary-hover) !important;
}

.av2-commission-type {
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-semibold);
}

.av2-commission-money {
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
    white-space: nowrap;
}

.av2-commission-money.is-commission {
    color: #238847;
}


/* STATUS SELECT */

.av2-commission-status-form {
    margin: 0;
}

.av2-commission-status-select {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 132px;
    min-height: 34px;
    padding-left: 27px;
    border-radius: 8px;
}

.av2-commission-status-dot {
    position: absolute;
    left: 11px;
    z-index: 2;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    pointer-events: none;
}

.av2-commission-status-select .form-control {
    height: 34px;
    padding: 4px 24px 4px 0 !important;
    color: inherit !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: var(--av2-font-meta) !important;
    font-weight: var(--av2-weight-bold);
}

.av2-commission-status-select.is-active {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-commission-status-select.is-active .av2-commission-status-dot {
    background: #2f9b55;
}

.av2-commission-status-select.is-pending {
    color: #a46b00;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-commission-status-select.is-pending .av2-commission-status-dot {
    background: #f5a000;
}

.av2-commission-status-select.is-complete {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-commission-status-select.is-complete .av2-commission-status-dot {
    background: #0b5cff;
}

.av2-commission-status-select.is-expired {
    color: #cf3f50;
    background: #fdebed;
    border: 1px solid #f3c8cf;
}

.av2-commission-status-select.is-expired .av2-commission-status-dot {
    background: #dc3545;
}

.av2-commission-status-select.is-neutral {
    color: #596273;
    background: #eef0f4;
    border: 1px solid #d5dae3;
}

.av2-commission-status-select.is-neutral .av2-commission-status-dot {
    background: #7b8493;
}


/* CONTACT */

.av2-commission-contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 5px 9px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-commission-no-contact {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}


/* PAGINATION / EMPTY */

.av2-commission-pagination {
    padding: 17px 20px;
    border-top: 1px solid var(--av2-border);
}

.av2-commission-empty {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 120px;
    padding: 22px;
}

.av2-commission-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 11px;
}

.av2-commission-empty > div {
    flex: 1 1 auto;
    min-width: 0;
}

.av2-commission-empty strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
}

.av2-commission-empty span {
    display: block;
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}


/* ADD COMMISSION MODAL */

.av2-commission-money-input .input-group-text {
    height: 100%;
    min-width: 42px;
    justify-content: center;
    color: var(--av2-text-muted);
    background: var(--av2-surface-soft);
    border-color: var(--av2-border-strong);
}

.av2-commission-section-icon-green {
    color: #238847 !important;
    background: #e9f7ee !important;
    border-color: #c7e8d1 !important;
}

.av2-commission-section-icon-purple {
    color: #8545db !important;
    background: rgba(133,69,219,.08) !important;
    border-color: rgba(133,69,219,.15) !important;
}

.av2-commission-optional {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-medium);
}

.av2-commission-adjustments {
    margin-top: 6px;
    padding: 14px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-commission-adjustments-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.av2-commission-adjustments-header strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
}

.av2-commission-adjustments-header span {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-commission-adjustment-row {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(120px, .8fr) minmax(120px, .8fr) 42px;
    gap: 8px;
    align-items: end;
    margin-bottom: 9px;
}

.av2-commission-adjustment-row label {
    display: block;
    margin-bottom: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
}

.av2-commission-adjustment-remove {
    display: flex;
    align-items: flex-end;
}

.av2-commission-adjustment-remove .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
}

.av2-commission-net {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 13px;
    padding: 13px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 9px;
}

.av2-commission-net > span small {
    display: block;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-commission-net > span strong {
    display: block;
    margin-top: 1px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
}

.av2-commission-net > strong {
    color: #238847;
    font-size: 1.1rem;
    font-weight: var(--av2-weight-bold);
}


/* SUPPORT VIDEO */

.responsive-video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}

.responsive-video-container video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/* RESPONSIVE */

@media (max-width: 1199.98px) {
    .av2-commission-summary-value {
        font-size: 1.45rem;
    }
}

@media (max-width: 991.98px) {
    .av2-commission-summary-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .av2-commission-page-actions {
        width: 100%;
        margin-top: 12px;
        flex-wrap: wrap;
    }

    .av2-commission-page-actions .btn {
        width: 100%;
    }

    .av2-commission-toolbar {
        display: block;
        padding: 14px;
    }

    .av2-commission-search {
        width: 100%;
    }

    .av2-commission-result-meta {
        margin: 8px 0 0;
    }

    .av2-commission-panel-header {
        min-height: 68px !important;
        padding: 0 14px !important;
    }

    .av2-commission-panel-heading p,
    .av2-commission-panel-count {
        display: none;
    }

    .av2-commission-empty {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .av2-commission-empty .btn {
        width: 100%;
    }

    .av2-commission-adjustment-row {
        grid-template-columns: 1fr;
    }

    .av2-commission-adjustment-remove .btn {
        width: 100%;
    }
}


/* DARK MODE */

.mod-skin-dark .av2-commission-summary-icon.is-blue {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-commission-summary-icon.is-green {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-commission-summary-icon.is-orange {
    color: #ffc968;
    background: rgba(245,160,0,.13);
    border-color: rgba(245,160,0,.24);
}

.mod-skin-dark .av2-commission-money.is-commission {
    color: #8de3ac;
}

.mod-skin-dark .av2-commission-status-select.is-active {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-commission-status-select.is-pending {
    color: #ffc968;
    background: rgba(245,160,0,.13);
    border-color: rgba(245,160,0,.24);
}

.mod-skin-dark .av2-commission-status-select.is-complete {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-commission-status-select.is-expired {
    color: #ff9ca6;
    background: rgba(220,53,69,.14);
    border-color: rgba(220,53,69,.24);
}

.mod-skin-dark .av2-commission-status-select.is-neutral {
    color: #c5ceda;
    background: rgba(255,255,255,.05);
    border-color: rgba(255,255,255,.10);
}


/* ========================================================================
   END 70.05 COMMISSION TRACKER
   ======================================================================== */


/* ========================================================================
   70.06 COMMISSION REPORT GENERATOR
   ======================================================================== */

.av2-commission-report {
    font-family: var(--av2-font-family);
}


/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-report-page-heading {
    align-items: flex-start;
}

.av2-report-page-subtitle {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}


/* ============================================================
   REPORT BUILDER
   ============================================================ */

.av2-report-builder {
    overflow: hidden;
    margin: 18px 0 24px;
}

.av2-report-builder-header {
    min-height: 72px !important;
    padding: 0 20px !important;
}

.av2-report-builder-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-report-builder-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 10px;
}

.av2-report-builder-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-report-builder-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-report-builder-content {
    padding: 20px !important;
}

.av2-report-builder-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: 22px;
    align-items: stretch;
}

.av2-report-filter-column {
    min-width: 0;
}

.av2-report-form-group {
    margin-bottom: 14px;
}

.av2-report-form-group label {
    display: block;
    margin-bottom: 6px;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-report-form-group .form-control {
    min-height: 42px;
    color: var(--av2-text);
    background: var(--av2-input-bg);
    border: 1px solid var(--av2-border-strong);
    border-radius: 9px;
    font-size: var(--av2-font-control);
}

.av2-report-dynamic-options {
    margin-top: 4px;
    padding: 14px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-report-generate-row {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}

.av2-report-generate-row .btn {
    min-width: 160px;
}


/* ============================================================
   REPORT GUIDE
   ============================================================ */

.av2-report-guide {
    padding: 16px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 11px;
}

.av2-report-guide-heading {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--av2-border);
}

.av2-report-guide-heading > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 9px;
}

.av2-report-guide-heading strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-report-guide-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-report-guide-list {
    display: grid;
    gap: 11px;
    margin-top: 13px;
}

.av2-report-guide-list > div {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.av2-report-guide-list > div > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    font-size: var(--av2-font-body);
}

.av2-report-guide-list > div > span.is-blue {
    color: #2459e6;
    background: #eaf0ff;
}

.av2-report-guide-list > div > span.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
}

.av2-report-guide-list > div > span.is-orange {
    color: #d88400;
    background: #fff3dc;
}

.av2-report-guide-list > div > span.is-green {
    color: #238847;
    background: #e9f7ee;
}

.av2-report-guide-list p {
    margin: 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-report-guide-list strong {
    display: block;
    margin-bottom: 1px;
    color: var(--av2-text-secondary);
}


/* ============================================================
   REPORT PANEL
   ============================================================ */

.av2-report-panel {
    overflow: hidden;
    margin-bottom: 30px;
}

.av2-report-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 72px !important;
    padding: 0 20px !important;
}

.av2-report-panel-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-report-panel-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 11px;
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
    border-radius: 10px;
}

.av2-report-panel-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-report-panel-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-report-panel-content {
    padding: 20px !important;
}


/* ============================================================
   REPORT DOCUMENT
   ============================================================ */

.av2-report-document {
    max-width: 1120px;
    margin: 0 auto;
    padding: 28px;
    color: #1f2937;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 5px 22px rgba(15,23,42,.07);
}

.av2-report-document-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
    padding-bottom: 22px;
    border-bottom: 2px solid #e6edf5;
}

.av2-report-company {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-report-company-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-right: 12px;
    color: #ffffff;
    background: #061a3b;
    border-radius: 11px;
    font-size: .90rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.av2-report-company > div:last-child {
    min-width: 0;
}

.av2-report-company strong {
    display: block;
    overflow: hidden;
    color: #111827;
    font-size: 1rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-report-company span {
    display: block;
    margin-top: 3px;
    color: #6b7280;
    font-size: var(--av2-font-body);
    line-height: 1.4;
}

.av2-report-document-title {
    max-width: 55%;
    text-align: right;
}

.av2-report-document-title > span {
    display: block;
    color: #0b5cff;
    font-size: var(--av2-font-body);
    font-weight: 800;
    letter-spacing: .08em;
}

.av2-report-document-title h2 {
    margin: 4px 0 0;
    color: #111827;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.25;
}

.av2-report-document-title p {
    margin: 6px 0 0;
    color: #4b5563;
    font-size: .78rem;
    font-weight: 600;
}

.av2-report-document-title p span {
    margin-left: 6px;
    color: #6b7280;
    font-weight: 500;
}


/* ============================================================
   REPORT SUMMARY
   ============================================================ */

.av2-report-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0 24px;
}

.av2-report-summary-item {
    display: flex;
    align-items: center;
    min-height: 78px;
    padding: 13px;
    background: #f8fafc;
    border: 1px solid #e3e9f0;
    border-radius: 10px;
}

.av2-report-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 10px;
    border-radius: 9px;
}

.av2-report-summary-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
}

.av2-report-summary-icon.is-green {
    color: #238847;
    background: #e9f7ee;
}

.av2-report-summary-icon.is-orange {
    color: #d88400;
    background: #fff3dc;
}

.av2-report-summary-item > div {
    min-width: 0;
}

.av2-report-summary-item > div > span {
    display: block;
    color: #6b7280;
    font-size: var(--av2-font-body);
    font-weight: 600;
}

.av2-report-summary-item > div > strong {
    display: block;
    margin-top: 2px;
    overflow: hidden;
    color: #111827;
    font-size: .94rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ============================================================
   REPORT DETAIL
   ============================================================ */

.av2-report-detail-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.av2-report-detail-heading h3 {
    margin: 0;
    color: #111827;
    font-size: var(--av2-font-section-title);
    font-weight: 800;
}

.av2-report-detail-heading p {
    margin: 3px 0 0;
    color: #6b7280;
    font-size: var(--av2-font-meta);
}

.av2-report-detail-heading > span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 9px;
    color: #0b5cff;
    background: #eef5ff;
    border: 1px solid #d7e4ff;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: 700;
    white-space: nowrap;
}

.av2-report-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.av2-report-table {
    min-width: 760px;
    margin: 0;
    border-collapse: collapse;
}

.av2-report-table thead th {
    padding: 10px 11px !important;
    color: #667085 !important;
    background: #f8fafc !important;
    border-top: 1px solid #e3e9f0 !important;
    border-bottom: 1px solid #dbe3ec !important;
    font-size: var(--av2-font-compact) !important;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
    white-space: nowrap;
}

.av2-report-table tbody td {
    padding: 11px !important;
    color: #344054;
    background: #ffffff;
    border-top: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    font-size: var(--av2-font-body);
    vertical-align: middle !important;
}

.av2-report-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.av2-report-transaction-name {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-report-transaction-name > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 29px;
    width: 29px;
    height: 29px;
    margin-right: 8px;
    color: #0b5cff;
    background: #eef5ff;
    border-radius: 7px;
}

.av2-report-transaction-name strong {
    overflow: hidden;
    color: #111827;
    font-size: var(--av2-font-item-title);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-report-commission-value {
    color: #238847 !important;
    font-weight: 800;
    white-space: nowrap;
}

.av2-report-no-data {
    padding: 26px !important;
    color: #667085 !important;
    text-align: center;
}

.av2-report-document-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 22px;
    padding-top: 14px;
    color: #8a94a3;
    border-top: 1px solid #e5eaf0;
    font-size: var(--av2-font-meta);
}


/* ============================================================
   EMPTY / ERROR
   ============================================================ */

.av2-report-empty {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 118px;
    padding: 22px;
}

.av2-report-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 11px;
}

.av2-report-empty-icon.is-warning {
    color: #d88400;
    background: #fff3dc;
}

.av2-report-empty > div {
    min-width: 0;
}

.av2-report-empty strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
}

.av2-report-empty span {
    display: block;
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 991.98px) {
    .av2-report-builder-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {

    /*
     * --------------------------------------------------------
     * MOBILE PAGE HEADING
     * --------------------------------------------------------
     */

    .av2-commission-page-heading {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;

        width: 100%;
        height: auto !important;
        min-height: 0 !important;

        margin-bottom: 0 !important;
    }

    .av2-commission-page-heading .av2-page-heading-content {
        width: 100%;
        min-width: 0;
        flex: 0 0 auto;
    }


    /*
     * --------------------------------------------------------
     * MOBILE PAGE ACTIONS
     * --------------------------------------------------------
     *
     * Overrides Theme 16's global mobile rule that hides
     * .av2-page-actions.
     */

    .av2-commission-page-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);

        width: 100%;
        max-width: 100%;

        gap: 8px;
        margin: 12px 0 0 !important;
        padding: 8px;

        background: var(--av2-surface, #ffffff);
        border: 1px solid var(--av2-border, #e7ecf2);
        border-radius: 12px;

        box-sizing: border-box;

        box-shadow:
            0 2px 5px rgba(22, 34, 54, .025),
            0 6px 16px rgba(22, 34, 54, .035);
    }

    .av2-commission-page-actions .btn {
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
        min-height: 42px;

        margin: 0 !important;
        padding: 8px 9px;

        border-radius: 9px;

        font-size: .78rem;
        font-weight: 600;
        line-height: 1.2;

        white-space: nowrap;
    }


    /*
     * --------------------------------------------------------
     * EXISTING COMMISSION MOBILE RULES
     * --------------------------------------------------------
     */

    .av2-commission-toolbar {
        display: block;
        padding: 14px;
    }

    .av2-commission-search {
        width: 100%;
    }

    .av2-commission-result-meta {
        margin: 8px 0 0;
    }

    .av2-commission-panel-header {
        min-height: 68px !important;
        padding: 0 14px !important;
    }

    .av2-commission-panel-heading p,
    .av2-commission-panel-count {
        display: none;
    }

    .av2-commission-empty {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .av2-commission-empty .btn {
        width: 100%;
    }

    .av2-commission-adjustment-row {
        grid-template-columns: 1fr;
    }

    .av2-commission-adjustment-remove .btn {
        width: 100%;
    }
}


/* ============================================================
   VERY SMALL MOBILE
   ============================================================ */

@media (max-width: 359.98px) {

    .av2-commission-page-actions {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   DARK MODE
   Page shell follows Theme16.
   The generated report remains a white printable document.
   ============================================================ */

.mod-skin-dark .av2-report-guide {
    background: var(--av2-surface-soft);
    border-color: var(--av2-border);
}


/* ============================================================
   PRINT
   ============================================================ */

@media print {
    body {
        margin: 0 !important;
        color: #111827 !important;
        background: #ffffff !important;
        font-family: Arial, sans-serif !important;
    }

    .page-sidebar,
    .page-header,
    .page-footer,
    .av2-report-page-heading,
    .av2-report-builder,
    .av2-report-panel > .panel-hdr,
    .page-content-overlay {
        display: none !important;
    }

    .page-wrapper,
    .page-inner,
    .page-content-wrapper,
    .page-content,
    .av2-report-panel,
    .panel-container,
    .av2-report-panel-content {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        box-shadow: none !important;
        border: 0 !important;
    }

    .av2-report-document {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #111827 !important;
        background: #ffffff !important;
    }

    .av2-report-table-wrapper {
        overflow: visible !important;
    }

    .av2-report-table {
        min-width: 0 !important;
        width: 100% !important;
    }

    .av2-report-table thead th,
    .av2-report-table tbody td {
        color: #111827 !important;
        background: #ffffff !important;
        border-color: #cfd6df !important;
    }

    .av2-report-table thead th {
        background: #f2f4f7 !important;
    }

    .av2-report-commission-value {
        color: #111827 !important;
    }

    @page {
        margin: 12mm;
    }
}


/* ============================================================
   COMMISSION REPORT GENERATOR - WORKSPACE / PRINT PARITY
   Workspace redesign + print parity
   the older page-specific block with the full V2 file.
   ============================================================ */


/* ============================================================
   WORKSPACE
   Report builder becomes a left control rail and the generated
   report becomes the main preview workspace.
   ============================================================ */

.av2-report-workspace {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin: 18px 0 30px;
}

.av2-report-workspace .av2-report-builder,
.av2-report-workspace .av2-report-panel {
    margin: 0;
}

.av2-report-workspace .av2-report-builder {
    position: sticky;
    top: 104px;
}

.av2-report-workspace .av2-report-builder-header,
.av2-report-workspace .av2-report-panel-header {
    min-height: 68px !important;
}

.av2-report-workspace .av2-report-builder-content {
    padding: 16px !important;
}

.av2-report-workspace .av2-report-builder-grid {
    grid-template-columns: 1fr;
    gap: 16px;
}

.av2-report-workspace .av2-report-guide {
    padding: 14px;
}

.av2-report-workspace .av2-report-generate-row {
    justify-content: stretch;
}

.av2-report-workspace .av2-report-generate-row .btn {
    width: 100%;
}

.av2-report-workspace .av2-report-panel {
    min-width: 0;
}

.av2-report-workspace .av2-report-panel-content {
    padding: 18px !important;
    background: var(--av2-page-bg);
}


/* ============================================================
   REPORT PREVIEW
   This is the actual report document the agent sees AND prints.
   ============================================================ */

.av2-report-document {
    position: relative;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 0;
    color: #1f2937;
    background: #ffffff;
    border: 1px solid #dfe6ee;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(15,23,42,.08);
    overflow: hidden;
}

.av2-report-document::before {
    content: "";
    display: block;
    height: 6px;
    background: linear-gradient(90deg, #061a3b 0%, #0b5cff 72%, #f5a000 100%);
}


/* ============================================================
   DOCUMENT HEADER
   ============================================================ */

.av2-report-document-header {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 28px;
    align-items: start;
    padding: 26px 28px 22px;
    border-bottom: 1px solid #e5eaf0;
}

.av2-report-brand-block {
    min-width: 0;
}

.av2-report-brand-wordmark {
    display: inline-flex;
    align-items: baseline;
    margin-bottom: 16px;
    font-size: 1.12rem;
    font-weight: 800;
    letter-spacing: -.025em;
}

.av2-report-brand-wordmark span {
    color: #061a3b;
}

.av2-report-brand-wordmark strong {
    color: #f5a000;
    font-weight: 800;
}

.av2-report-company-copy {
    min-width: 0;
}

.av2-report-company-copy strong {
    display: block;
    color: #111827;
    font-size: var(--av2-font-body);
    font-weight: 800;
    line-height: 1.35;
}

.av2-report-company-copy span {
    display: block;
    margin-top: 4px;
    color: #667085;
    font-size: var(--av2-font-body);
    line-height: 1.45;
}

.av2-report-document-title {
    max-width: none;
    text-align: right;
}

.av2-report-document-kicker {
    display: block;
    margin-bottom: 5px;
    color: #0b5cff;
    font-size: var(--av2-font-meta);
    font-weight: 800;
    letter-spacing: .10em;
}

.av2-report-document-title h2 {
    margin: 0;
    color: #111827;
    font-size: 1.42rem;
    font-weight: 800;
    line-height: 1.2;
}

.av2-report-agent-line {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 8px;
}

.av2-report-agent-line strong {
    color: #344054;
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-report-agent-line span {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 7px;
    color: #596273;
    background: #f2f4f7;
    border: 1px solid #e4e7ec;
    border-radius: 999px;
    font-size: var(--av2-font-body);
    font-weight: 700;
}


/* ============================================================
   DOCUMENT SUMMARY
   Compact, three-across executive summary.
   ============================================================ */

.av2-report-summary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0;
    margin: 0 !important;
    padding: 18px 28px;
    background: #f8fafc;
    border-bottom: 1px solid #e5eaf0;
}

.av2-report-summary-item {
    display: flex;
    align-items: center;
    min-height: 62px;
    padding: 0 18px;
    background: transparent !important;
    border: 0 !important;
    border-right: 1px solid #dfe5ec !important;
    border-radius: 0 !important;
}

.av2-report-summary-item:first-child {
    padding-left: 0;
}

.av2-report-summary-item:last-child {
    padding-right: 0;
    border-right: 0 !important;
}

.av2-report-summary-icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin-right: 10px;
    border-radius: 9px;
}

.av2-report-summary-item > div > span {
    color: #667085;
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-report-summary-item > div > strong {
    margin-top: 3px;
    color: #101828;
    font-size: .90rem;
    font-weight: 800;
}


/* ============================================================
   DETAIL SECTION
   ============================================================ */

.av2-report-detail-section {
    padding: 22px 28px 8px;
}

.av2-report-detail-heading {
    align-items: center;
    margin-bottom: 14px;
}

.av2-report-detail-heading h3 {
    font-size: var(--av2-font-section-title);
}

.av2-report-detail-heading p {
    font-size: var(--av2-font-meta);
}

.av2-report-detail-heading > span {
    min-height: 27px;
    padding: 0 9px;
}


/* ============================================================
   TABLE
   ============================================================ */

.av2-report-table {
    min-width: 700px;
}

.av2-report-table thead th {
    padding: 10px 9px !important;
    color: #667085 !important;
    background: #f8fafc !important;
    border-top: 1px solid #e4e7ec !important;
    border-bottom: 1px solid #d0d5dd !important;
    font-size: var(--av2-font-compact) !important;
}

.av2-report-table tbody td {
    padding: 10px 9px !important;
    font-size: var(--av2-font-body);
}

.av2-report-transaction-name > span {
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
}

.av2-report-transaction-name strong {
    font-size: var(--av2-font-item-title);
}


/* ============================================================
   FOOTER
   ============================================================ */

.av2-report-document-footer {
    margin: 14px 28px 0;
    padding: 14px 0 18px;
}


/* ============================================================
   EMPTY PREVIEW
   ============================================================ */

.av2-report-workspace .av2-report-empty {
    min-height: 420px;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.av2-report-workspace .av2-report-empty-icon {
    margin-bottom: 3px;
}


/* ============================================================
   RESPONSIVE SCREEN
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-report-workspace {
        grid-template-columns: 320px minmax(0, 1fr);
    }

    .av2-report-document-header {
        gap: 20px;
        padding-left: 22px;
        padding-right: 22px;
    }

    .av2-report-summary,
    .av2-report-detail-section {
        padding-left: 22px;
        padding-right: 22px;
    }
}

@media (max-width: 991.98px) {
    .av2-report-workspace {
        grid-template-columns: 1fr;
    }

    .av2-report-workspace .av2-report-builder {
        position: static;
    }

    .av2-report-workspace .av2-report-builder-grid {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr);
    }
}

@media (max-width: 767.98px) {
    .av2-report-workspace .av2-report-builder-grid {
        grid-template-columns: 1fr;
    }

    .av2-report-document-header {
        grid-template-columns: 1fr;
    }

    .av2-report-document-title {
        text-align: left;
    }

    .av2-report-agent-line {
        justify-content: flex-start;
    }

    .av2-report-summary {
        grid-template-columns: 1fr !important;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .av2-report-summary-item {
        min-height: 58px;
        padding: 9px 0;
        border-right: 0 !important;
        border-bottom: 1px solid #e5eaf0 !important;
    }

    .av2-report-summary-item:last-child {
        border-bottom: 0 !important;
    }
}


/* ============================================================
   PRINT PARITY
   Print the exact report DOM instead of rebuilding it in an
   about:blank window. These rules intentionally override all
   responsive breakpoints so the printed report matches preview.
   ============================================================ */

@media print {

    @page {
        size: Letter portrait;
        margin: 0.45in;
    }

    html,
    body {
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #111827 !important;
        background: #ffffff !important;
        font-family: Arial, sans-serif !important;
    }

    .page-sidebar,
    .page-header,
    .page-footer,
    .av2-report-page-heading,
    .av2-report-builder,
    .av2-report-panel > .panel-hdr,
    .page-content-overlay {
        display: none !important;
    }

    .page-wrapper,
    .page-inner,
    .page-content-wrapper,
    .page-content,
    .av2-report-workspace,
    .av2-report-panel,
    .panel-container,
    .av2-report-panel-content {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    #comm_report_print {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .av2-report-document {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #1f2937 !important;
        background: #ffffff !important;
        border: 1px solid #d7dde5 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .av2-report-document::before {
        height: 5px !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .av2-report-document-header {
        display: grid !important;
        grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
        gap: 24px !important;
        padding: 20px 22px 17px !important;
        break-inside: avoid;
    }

    .av2-report-document-title {
        text-align: right !important;
    }

    .av2-report-agent-line {
        justify-content: flex-end !important;
    }

    .av2-report-summary {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0 !important;
        padding: 14px 22px !important;
        break-inside: avoid;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .av2-report-summary-item {
        display: flex !important;
        min-height: 54px !important;
        padding: 0 14px !important;
        border-right: 1px solid #dfe5ec !important;
        border-bottom: 0 !important;
    }

    .av2-report-summary-item:first-child {
        padding-left: 0 !important;
    }

    .av2-report-summary-item:last-child {
        padding-right: 0 !important;
        border-right: 0 !important;
    }

    .av2-report-summary-icon,
    .av2-report-company-mark,
    .av2-report-brand-wordmark,
    .av2-report-transaction-name > span,
    .av2-report-detail-heading > span {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .av2-report-detail-section {
        padding: 18px 22px 6px !important;
    }

    .av2-report-table-wrapper {
        width: 100% !important;
        overflow: visible !important;
    }

    .av2-report-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    .av2-report-table thead {
        display: table-header-group;
    }

    .av2-report-table tr {
        break-inside: avoid;
    }

    .av2-report-table thead th {
        padding: 7px 6px !important;
        font-size: var(--av2-font-compact) !important;
        background: #f2f4f7 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .av2-report-table tbody td {
        padding: 7px 6px !important;
        font-size: var(--av2-font-body) !important;
        color: #344054 !important;
        background: #ffffff !important;
    }

    .av2-report-transaction-name strong {
        font-size: var(--av2-font-item-title) !important;
    }

    .av2-report-commission-value {
        color: #238847 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .av2-report-document-footer {
        margin: 10px 22px 0 !important;
        padding: 10px 0 14px !important;
        break-inside: avoid;
    }
}


/* ========================================================================
   END 70.06 COMMISSION REPORT GENERATOR
   ======================================================================== */


/* ========================================================================
   70.07 EDIT COMMISSION
   ======================================================================== */

.av2-edit-commission {
    font-family: var(--av2-font-family);
}


/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-edit-commission-heading {
    align-items: flex-start;
}

.av2-edit-commission-page-subtitle {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}

.av2-edit-commission-page-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}


/* ============================================================
   SUMMARY STRIP
   ============================================================ */

.av2-edit-commission-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 18px 0 24px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    box-shadow: 0 2px 5px rgba(15,23,42,.05), 0 7px 18px rgba(15,23,42,.06);
    overflow: hidden;
}

.av2-edit-commission-summary-item {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 92px;
    padding: 18px;
    border-right: 1px solid var(--av2-border);
}

.av2-edit-commission-summary-item:last-child {
    border-right: 0;
}

.av2-edit-commission-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-right: 11px;
    border-radius: 11px;
    font-size: .95rem;
}

.av2-edit-commission-summary-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-edit-commission-summary-icon.is-green {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-edit-commission-summary-icon.is-orange {
    color: #d88400;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-edit-commission-summary-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}

.av2-edit-commission-summary-item > div {
    min-width: 0;
}

.av2-edit-commission-summary-item span:not(.av2-edit-commission-summary-icon) {
    display: block;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
}

.av2-edit-commission-summary-item strong {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ============================================================
   WORKSPACE
   ============================================================ */

.av2-edit-commission-workspace {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-bottom: 30px;
}

.av2-edit-commission-sidebar {
    min-width: 0;
}

.av2-edit-commission-card {
    padding: 17px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 13px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-edit-commission-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 16px;
}

.av2-edit-commission-card-header > div {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-edit-commission-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    margin-right: 9px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 9px;
}

.av2-edit-commission-card-header h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}


/* ============================================================
   STATUS
   ============================================================ */

.av2-edit-commission-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    white-space: nowrap;
}

.av2-edit-commission-status.is-active {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-edit-commission-status.is-pending {
    color: #a46b00;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-edit-commission-status.is-complete {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-edit-commission-status.is-failed,
.av2-edit-commission-status.is-expired {
    color: #cf3f50;
    background: #fdebed;
    border: 1px solid #f3c8cf;
}

.av2-edit-commission-status.is-neutral {
    color: #596273;
    background: #eef0f4;
    border: 1px solid #d5dae3;
}


/* ============================================================
   OVERVIEW
   ============================================================ */

.av2-edit-commission-hero {
    padding: 16px;
    text-align: center;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-edit-commission-hero span {
    display: block;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
}

.av2-edit-commission-hero strong {
    display: block;
    margin-top: 4px;
    color: var(--av2-primary);
    font-size: 1.65rem;
    font-weight: var(--av2-weight-bold);
    line-height: 1.1;
}

.av2-edit-commission-chart {
    position: relative;
    height: 215px;
    margin: 14px 0;
}

.av2-edit-commission-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.av2-edit-commission-overview-grid > div {
    padding: 10px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 8px;
}

.av2-edit-commission-overview-grid span {
    display: block;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-edit-commission-overview-grid strong {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ============================================================
   MAIN PANEL
   ============================================================ */

.av2-edit-commission-panel {
    min-width: 0;
    overflow: hidden;
    margin: 0;
}

.av2-edit-commission-panel-header {
    min-height: 72px !important;
    padding: 0 20px !important;
}

.av2-edit-commission-panel-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-edit-commission-panel-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    margin-right: 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 10px;
}

.av2-edit-commission-panel-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-edit-commission-panel-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-edit-commission-panel-content {
    padding: 20px !important;
}


/* ============================================================
   FORM SECTIONS
   ============================================================ */

.av2-edit-commission-form-section {
    min-width: 0;
}

.av2-edit-commission-section-heading {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

.av2-edit-commission-section-heading-copy {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-edit-commission-section-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    margin-right: 10px;
    border-radius: 9px;
}

.av2-edit-commission-section-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-edit-commission-section-icon.is-green {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-edit-commission-section-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}

.av2-edit-commission-section-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-edit-commission-section-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.35;
}

.av2-edit-commission-form-group {
    margin-bottom: 0;
}

.av2-edit-commission-form-group label {
    display: block;
    margin-bottom: 6px;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-edit-commission-form-group .form-control,
.av2-edit-commission-adjustment-row .form-control {
    min-height: 41px;
    color: var(--av2-text);
    background: var(--av2-input-bg);
    border: 1px solid var(--av2-border-strong);
    border-radius: 8px;
    font-size: var(--av2-font-control);
}

.av2-edit-commission-divider {
    height: 1px;
    margin: 20px 0;
    background: var(--av2-border);
}


/* ============================================================
   INPUT GROUPS
   ============================================================ */

.av2-edit-commission-input-group .input-group-text {
    min-width: 39px;
    justify-content: center;
    color: var(--av2-text-muted);
    background: var(--av2-surface-soft);
    border-color: var(--av2-border-strong);
}


/* ============================================================
   ADJUSTMENTS
   ============================================================ */

.av2-edit-commission-adjustments-heading {
    justify-content: space-between;
    gap: 12px;
}

.av2-edit-commission-adjustment-labels {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(130px, .75fr) minmax(150px, .8fr) 42px;
    gap: 9px;
    padding: 0 0 7px;
}

.av2-edit-commission-adjustment-labels span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    text-transform: uppercase;
    letter-spacing: .035em;
}

.av2-edit-commission-adjustments {
    display: grid;
    gap: 8px;
}

.av2-edit-commission-adjustment-row {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(130px, .75fr) minmax(150px, .8fr) 42px;
    gap: 9px;
    align-items: center;
    padding: 9px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 9px;
}

.av2-edit-commission-adjustment-row label {
    margin-bottom: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
}

.av2-edit-commission-adjustment-remove {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.av2-edit-commission-adjustment-remove .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
}

.av2-edit-commission-adjustments-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 62px;
    color: var(--av2-text-muted);
    background: var(--av2-surface-soft);
    border: 1px dashed var(--av2-border-strong);
    border-radius: 9px;
    font-size: var(--av2-font-compact);
}

.av2-edit-commission-adjustments-empty i {
    color: #8545db;
}


/* ============================================================
   CALCULATED TOTAL
   ============================================================ */

.av2-edit-commission-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-edit-commission-total > div {
    display: flex;
    align-items: center;
}

.av2-edit-commission-total-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 10px;
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
    border-radius: 9px;
}

.av2-edit-commission-total > div > div > span {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-edit-commission-total small {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-edit-commission-total > strong {
    color: #238847;
    font-size: 1.35rem;
    font-weight: var(--av2-weight-bold);
    white-space: nowrap;
}


/* ============================================================
   SAVE
   ============================================================ */

.av2-edit-commission-save {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--av2-border);
}


/* ============================================================
   DELETE MODAL
   ============================================================ */

.av2-edit-commission-danger-icon {
    color: #dc3545 !important;
    background: #fff1f3 !important;
    border-color: #ffd3da !important;
}

.av2-edit-commission-delete-warning {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
    color: #b42334;
    background: #fff1f3;
    border: 1px solid #ffd3da;
    border-radius: 9px;
}

.av2-edit-commission-delete-warning > i {
    margin-top: 2px;
    color: #dc3545;
}

.av2-edit-commission-delete-warning strong {
    display: block;
    font-size: var(--av2-font-item-title);
}

.av2-edit-commission-delete-warning span {
    display: block;
    margin-top: 3px;
    color: #7f4b54;
    font-size: var(--av2-font-compact);
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-edit-commission-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .av2-edit-commission-summary-item:nth-child(2) {
        border-right: 0;
    }

    .av2-edit-commission-summary-item:nth-child(-n+2) {
        border-bottom: 1px solid var(--av2-border);
    }

    .av2-edit-commission-workspace {
        grid-template-columns: 300px minmax(0, 1fr);
    }
}

@media (max-width: 991.98px) {
    .av2-edit-commission-workspace {
        grid-template-columns: 1fr;
    }

    .av2-edit-commission-card {
        max-width: none;
    }

    .av2-edit-commission-chart {
        max-width: 340px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 767.98px) {
    .av2-edit-commission-page-actions {
        width: 100%;
        margin-top: 12px;
        flex-wrap: wrap;
    }

    .av2-edit-commission-page-actions .btn {
        flex: 1 1 100%;
        width: 100%;
    }

    .av2-edit-commission-panel-content {
        padding: 14px !important;
    }

    .av2-edit-commission-form-group {
        margin-bottom: 14px;
    }

    .av2-edit-commission-adjustment-labels {
        display: none !important;
    }

    .av2-edit-commission-adjustment-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .av2-edit-commission-adjustment-remove {
        justify-content: stretch;
    }

    .av2-edit-commission-adjustment-remove .btn {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .av2-edit-commission-summary {
        grid-template-columns: 1fr;
    }

    .av2-edit-commission-summary-item {
        min-height: 76px;
        border-right: 0;
        border-bottom: 1px solid var(--av2-border);
    }

    .av2-edit-commission-summary-item:nth-child(2) {
        border-right: 0;
    }

    .av2-edit-commission-summary-item:nth-child(-n+2) {
        border-bottom: 1px solid var(--av2-border);
    }

    .av2-edit-commission-summary-item:last-child {
        border-bottom: 0;
    }

    .av2-edit-commission-overview-grid {
        grid-template-columns: 1fr;
    }

    .av2-edit-commission-adjustments-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-edit-commission-save {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .av2-edit-commission-save .btn {
        width: 100%;
    }
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-edit-commission-summary-icon.is-blue {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-edit-commission-summary-icon.is-green,
.mod-skin-dark .av2-edit-commission-section-icon.is-green,
.mod-skin-dark .av2-edit-commission-total-icon {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-edit-commission-summary-icon.is-orange {
    color: #ffc968;
    background: rgba(245,160,0,.13);
    border-color: rgba(245,160,0,.24);
}

.mod-skin-dark .av2-edit-commission-summary-icon.is-purple,
.mod-skin-dark .av2-edit-commission-section-icon.is-purple {
    color: #c3a5ff;
    background: rgba(133,69,219,.13);
    border-color: rgba(133,69,219,.24);
}

.mod-skin-dark .av2-edit-commission-status.is-active {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-edit-commission-status.is-pending {
    color: #ffc968;
    background: rgba(245,160,0,.13);
    border-color: rgba(245,160,0,.24);
}

.mod-skin-dark .av2-edit-commission-status.is-complete {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-edit-commission-status.is-failed,
.mod-skin-dark .av2-edit-commission-status.is-expired {
    color: #ff9ca6;
    background: rgba(220,53,69,.14);
    border-color: rgba(220,53,69,.24);
}

.mod-skin-dark .av2-edit-commission-total > strong,
.mod-skin-dark .av2-edit-commission-hero strong {
    color: #8de3ac;
}

.mod-skin-dark .av2-edit-commission-delete-warning {
    color: #ff9ca6;
    background: rgba(220,53,69,.12);
    border-color: rgba(220,53,69,.22);
}

.mod-skin-dark .av2-edit-commission-delete-warning span {
    color: #d5a6ad;
}


/* ========================================================================
   END 70.07 EDIT COMMISSION
   ======================================================================== */


/* ========================================================================
   END 70. TRANSACTIONS & COMMISSIONS
   ======================================================================== */


/* ========================================================================
   80. ACCOUNT & ADMIN
   ======================================================================== */


/* ========================================================================
   80.01 TEAM ACCOUNTS
   ======================================================================== */

.av2-team-accounts {
    font-family: var(--av2-font-family);
}


/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-team-page-heading {
    align-items: flex-start;
}

.av2-team-page-subtitle {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.4;
}

.av2-team-page-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}


/* ============================================================
   SUMMARY
   ============================================================ */

.av2-team-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0 24px;
}

.av2-team-summary-card {
    display: flex;
    align-items: center;
    min-height: 104px;
    padding: 17px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    box-shadow: 0 2px 5px rgba(15,23,42,.05), 0 7px 18px rgba(15,23,42,.06);
}

.av2-team-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-right: 13px;
    border-radius: 13px;
    font-size: 1.05rem;
}

.av2-team-summary-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-team-summary-icon.is-orange {
    color: #d88400;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-team-summary-copy {
    min-width: 0;
}

.av2-team-summary-copy > span {
    display: block;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-kpa-title);
    font-weight: var(--av2-weight-bold);
}

.av2-team-summary-copy > strong {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-strong);
    font-size: 1.55rem;
    font-weight: var(--av2-weight-bold);
    line-height: 1.1;
}

.av2-team-summary-copy > small {
    display: block;
    margin-top: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.35;
}

.av2-team-summary-copy > small.is-warning {
    color: #a46b00;
}


/* ============================================================
   WORKSPACE
   ============================================================ */

.av2-team-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 18px;
    align-items: start;
    margin-bottom: 30px;
}


/* ============================================================
   MEMBERS PANEL
   ============================================================ */

.av2-team-members-panel {
    min-width: 0;
    overflow: hidden;
    margin: 0;
}

.av2-team-members-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 76px !important;
    padding: 0 20px !important;
}

.av2-team-members-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-team-members-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    margin-right: 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 10px;
}

.av2-team-members-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-team-members-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-team-members-count {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 0 10px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    white-space: nowrap;
}

.av2-team-members-content {
    padding: 16px !important;
}


/* ============================================================
   MEMBER CARDS
   ============================================================ */

.av2-team-member-list {
    display: grid;
    gap: 12px;
}

.av2-team-member-card {
    padding: 16px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-xs);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.av2-team-member-card:hover {
    transform: translateY(-1px);
    border-color: var(--av2-border-strong);
    box-shadow: var(--av2-shadow-sm);
}

.av2-team-member-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.av2-team-member-identity {
    display: flex;
    align-items: flex-start;
    min-width: 0;
}

.av2-team-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-right: 12px;
    color: #ffffff;
    background: linear-gradient(135deg, #0b5cff, #4a7dff);
    border-radius: 50%;
    font-size: .78rem;
    font-weight: var(--av2-weight-bold);
    letter-spacing: .035em;
    box-shadow: 0 4px 10px rgba(11,92,255,.14);
}

.av2-team-member-identity > div {
    min-width: 0;
}

.av2-team-member-identity h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-team-role {
    display: block;
    margin-top: 2px;
    color: var(--av2-primary);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
}

.av2-team-relationship {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 24px;
    margin-top: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-team-relationship.is-mutual {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-team-relationship.is-outgoing {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-team-relationship.is-incoming {
    color: #287f93;
    background: #eaf8fb;
    border: 1px solid #cbe8ee;
}

.av2-team-relationship.is-limited {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}


/* ============================================================
   SHARING SUMMARY
   ============================================================ */

.av2-team-sharing-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 330px;
    overflow: hidden;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 9px;
}

.av2-team-sharing-summary > div {
    min-width: 0;
    padding: 10px 12px;
}

.av2-team-sharing-summary > div + div {
    border-left: 1px solid var(--av2-border);
}

.av2-team-sharing-summary strong {
    display: block;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-team-sharing-summary strong i {
    margin: 0 3px;
    color: var(--av2-primary);
}

.av2-team-sharing-summary span {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ============================================================
   MEMBER PERMISSIONS
   ============================================================ */

.av2-team-permission-heading {
    margin: 15px 0 7px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    letter-spacing: .035em;
    text-transform: uppercase;
}

.av2-team-permissions-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.av2-team-permission-card {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 58px;
    margin: 0;
    padding: 8px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 8px;
    cursor: pointer;
}

.av2-team-permission-card > span:nth-child(2) {
    min-width: 0;
}

.av2-team-permission-card strong {
    display: block;
    overflow: hidden;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-team-permission-card small {
    display: block;
    margin-top: 2px;
    overflow: hidden;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-team-permission-tile-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    font-size: .76rem;
}

.av2-team-permission-tile-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
}

.av2-team-permission-tile-icon.is-green {
    color: #238847;
    background: #e9f7ee;
}

.av2-team-permission-tile-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
}

.av2-team-permission-tile-icon.is-orange {
    color: #d88400;
    background: #fff3dc;
}


/* Existing permission checkbox behavior, now styled as compact AV2 states. */

.perm-toggle {
    width: 18px;
    height: 18px;
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid #c9d2df;
    border-radius: 50%;
    background: var(--av2-surface);
    outline: none;
    cursor: pointer;
    position: relative;
    transition: all .18s ease;
}

.perm-toggle:checked {
    background: #2f9b55;
    border-color: #2f9b55;
}

.perm-toggle:checked::after {
    content: '✓';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
}

.perm-toggle.saved {
    box-shadow: 0 0 0 3px rgba(40,167,69,.25);
    border-color: #28a745;
}


/* ============================================================
   LIMITED / INCOMING NOTICE
   ============================================================ */

.av2-team-limited-access,
.av2-team-managed-by-member {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding: 12px;
    border-radius: 9px;
}

.av2-team-limited-access {
    color: #7045b8;
    background: rgba(133,69,219,.06);
    border: 1px solid rgba(133,69,219,.14);
}

.av2-team-managed-by-member {
    color: var(--av2-text-secondary);
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
}

.av2-team-limited-access > span,
.av2-team-managed-by-member > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 8px;
}

.av2-team-limited-access > span {
    background: rgba(133,69,219,.10);
}

.av2-team-managed-by-member > span {
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
}

.av2-team-limited-access strong,
.av2-team-managed-by-member strong {
    display: block;
    color: inherit;
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-team-limited-access p,
.av2-team-managed-by-member p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   MEMBER ACTIONS
   ============================================================ */

.av2-team-member-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 38px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--av2-border);
}

.av2-team-member-actions form {
    margin: 0;
}


/* ============================================================
   RIGHT RAIL
   ============================================================ */

.av2-team-right-rail {
    display: grid;
    gap: 12px;
}

.av2-team-rail-card {
    padding: 17px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-team-rail-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-bottom: 10px;
    border-radius: 10px;
}

.av2-team-rail-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-team-rail-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}

.av2-team-rail-card > h3,
.av2-team-rail-card-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-team-rail-card > p,
.av2-team-rail-card-heading p {
    margin: 5px 0 14px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}

.av2-team-rail-card-heading {
    display: flex;
    align-items: flex-start;
}

.av2-team-rail-card-heading .av2-team-rail-icon {
    flex: 0 0 38px;
    margin: 0 10px 0 0;
}

.av2-team-sharing-rule {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 11px 0;
    border-top: 1px solid var(--av2-border);
}

.av2-team-sharing-rule > i {
    margin-top: 3px;
    color: var(--av2-primary);
}

.av2-team-sharing-rule strong {
    display: block;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-team-sharing-rule span {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-team-seat-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 13px;
    color: var(--av2-text-secondary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 10px;
}

.av2-team-seat-note > i {
    margin-top: 2px;
    color: var(--av2-primary);
}

.av2-team-seat-note strong {
    display: block;
    font-size: var(--av2-font-compact);
}

.av2-team-seat-note span {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.av2-team-empty-state {
    padding: 52px 20px;
    text-align: center;
}

.av2-team-empty-state > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0 auto 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 12px;
}

.av2-team-empty-state h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-team-empty-state p {
    max-width: 470px;
    margin: 5px auto 14px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}


/* ============================================================
   ADD / CONNECT MODAL
   ============================================================ */

.av2-team-member-type-selector {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.av2-team-member-type-card {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 20px;
    gap: 11px;
    align-items: center;
    min-height: 104px;
    padding: 14px;
    text-align: left;
    color: var(--av2-text);
    background: var(--av2-surface);
    border: 1px solid var(--av2-border-strong);
    border-radius: 11px;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.av2-team-member-type-card:hover {
    transform: translateY(-1px);
    border-color: var(--av2-primary);
    box-shadow: 0 6px 16px rgba(11,92,255,.10);
}

.av2-team-member-type-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    font-size: 1rem;
}

.av2-team-member-type-icon.is-blue {
    color: #ffffff;
    background: var(--av2-primary);
}

.av2-team-member-type-icon.is-purple {
    color: #ffffff;
    background: #8545db;
}

.av2-team-member-type-card strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-team-member-type-card small {
    display: block;
    margin-top: 4px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-team-member-type-card > i {
    color: var(--av2-primary);
}

.av2-team-section-back {
    margin-bottom: 16px;
}

.av2-team-invite-permissions {
    display: grid;
    gap: 8px;
}

.av2-team-invite-permission {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 62px;
    margin: 0;
    padding: 9px 11px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    cursor: pointer;
}

.av2-team-invite-permission > span:nth-child(2) {
    min-width: 0;
}

.av2-team-invite-permission strong {
    display: block;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-team-invite-permission small {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-team-permission-icon {
    color: #238847 !important;
    background: #e9f7ee !important;
    border-color: #c7e8d1 !important;
}

.av2-team-collaborator-icon {
    color: #8545db !important;
    background: rgba(133,69,219,.08) !important;
    border-color: rgba(133,69,219,.15) !important;
}

.av2-team-permission-note,
.av2-team-collaborator-warning {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 13px;
    padding: 12px;
    border-radius: 9px;
}

.av2-team-permission-note {
    color: var(--av2-text-secondary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
}

.av2-team-collaborator-warning {
    color: #7045b8;
    background: rgba(133,69,219,.06);
    border: 1px solid rgba(133,69,219,.14);
}

.av2-team-permission-note > i {
    margin-top: 2px;
    color: var(--av2-primary);
}

.av2-team-collaborator-warning > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    background: rgba(133,69,219,.10);
    border-radius: 9px;
}

.av2-team-collaborator-warning strong {
    display: block;
    font-size: var(--av2-font-compact);
}

.av2-team-collaborator-warning p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.45;
}

.av2-team-modal-action {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}

.av2-team-modal-default-footer {
    justify-content: flex-end;
}


/* ============================================================
   SUPPORT VIDEO
   ============================================================ */

.responsive-video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}

.responsive-video-container video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-team-workspace {
        grid-template-columns: minmax(0, 1fr) 270px;
    }

    .av2-team-sharing-summary {
        min-width: 290px;
    }

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

@media (max-width: 991.98px) {
    .av2-team-workspace {
        grid-template-columns: 1fr;
    }

    .av2-team-right-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .av2-team-seat-note {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .av2-team-page-actions {
        width: 100%;
        margin-top: 12px;
        flex-wrap: wrap;
    }

    .av2-team-page-actions .btn {
        flex: 1 1 100%;
        width: 100%;
    }

    .av2-team-summary {
        grid-template-columns: 1fr;
    }

    .av2-team-members-header {
        min-height: 68px !important;
        padding: 0 14px !important;
    }

    .av2-team-members-heading p,
    .av2-team-members-count {
        display: none;
    }

    .av2-team-members-content {
        padding: 12px !important;
    }

    .av2-team-member-header {
        display: block;
    }

    .av2-team-sharing-summary {
        grid-template-columns: 1fr;
        min-width: 0;
        margin-top: 12px;
    }

    .av2-team-sharing-summary > div + div {
        border-top: 1px solid var(--av2-border);
        border-left: 0;
    }

    .av2-team-member-actions {
        justify-content: stretch;
    }

    .av2-team-member-actions form,
    .av2-team-member-actions .btn {
        width: 100%;
    }

    .av2-team-member-type-selector {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .av2-team-permissions-grid {
        grid-template-columns: 1fr;
    }

    .av2-team-right-rail {
        grid-template-columns: 1fr;
    }

    .av2-team-seat-note {
        grid-column: auto;
    }

    .av2-team-modal-action {
        justify-content: stretch;
    }

    .av2-team-modal-action .btn {
        width: 100%;
    }
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-team-summary-icon.is-blue,
.mod-skin-dark .av2-team-permission-tile-icon.is-blue,
.mod-skin-dark .av2-team-rail-icon.is-blue {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-team-summary-icon.is-orange,
.mod-skin-dark .av2-team-permission-tile-icon.is-orange {
    color: #ffc968;
    background: rgba(245,160,0,.13);
    border-color: rgba(245,160,0,.24);
}

.mod-skin-dark .av2-team-permission-tile-icon.is-green,
.mod-skin-dark .av2-team-permission-icon {
    color: #8de3ac !important;
    background: rgba(47,155,85,.13) !important;
    border-color: rgba(47,155,85,.24) !important;
}

.mod-skin-dark .av2-team-permission-tile-icon.is-purple,
.mod-skin-dark .av2-team-rail-icon.is-purple,
.mod-skin-dark .av2-team-collaborator-icon {
    color: #c3a5ff !important;
    background: rgba(133,69,219,.13) !important;
    border-color: rgba(133,69,219,.24) !important;
}

.mod-skin-dark .av2-team-relationship.is-mutual {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-team-relationship.is-outgoing {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-team-relationship.is-incoming {
    color: #98dbea;
    background: rgba(42,157,154,.13);
    border-color: rgba(42,157,154,.24);
}

.mod-skin-dark .av2-team-relationship.is-limited {
    color: #c3a5ff;
    background: rgba(133,69,219,.13);
    border-color: rgba(133,69,219,.24);
}


/* ========================================================================
   END 80.01 TEAM ACCOUNTS
   ======================================================================== */


/* ========================================================================
   80.02 INTEGRATIONS
   ======================================================================== */

.av2-integrations {
    font-family: var(--av2-font-family);
}


/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-integrations-page-heading {
    align-items: flex-start;
}

.av2-integrations-page-subtitle {
    max-width: 820px;
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}


/* ============================================================
   WORKSPACE
   ============================================================ */

.av2-integrations-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 18px;
    align-items: start;
    margin: 18px 0 30px;
}

.av2-integrations-main-panel {
    min-width: 0;
    margin: 0;
    overflow: hidden;
}

.av2-integrations-right-rail {
    display: grid;
    gap: 12px;
}


/* ============================================================
   PRIMARY TABS
   ============================================================ */

.av2-integrations-tabs-wrap {
    padding: 12px 14px 0;
    background: var(--av2-surface);
    border-bottom: 1px solid var(--av2-border);
}

.av2-integrations-tabs {
    display: flex;
    gap: 8px;
    border: 0;
}

.av2-integrations-tabs .nav-item {
    margin: 0;
}

.av2-integrations-tabs .nav-link {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-width: 180px;
    min-height: 58px;
    padding: 9px 12px;
    color: var(--av2-text-muted);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 10px 10px 0 0;
}

.av2-integrations-tabs .nav-link:hover {
    color: var(--av2-text-strong);
    background: var(--av2-hover-bg);
    border-color: var(--av2-border);
}

.av2-integrations-tabs .nav-link.active {
    color: var(--av2-text-strong);
    background: var(--av2-surface-soft);
    border-color: var(--av2-border);
    border-bottom-color: var(--av2-surface-soft);
}

.av2-integrations-tab-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    font-size: .92rem;
}

.av2-integrations-tab-icon.is-zapier {
    color: #ff4f00;
    background: rgba(255,79,0,.08);
    border: 1px solid rgba(255,79,0,.16);
}

.av2-integrations-tab-icon.is-webhook {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-integrations-tabs .nav-link strong {
    display: block;
    color: inherit;
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-integrations-tabs .nav-link small {
    display: block;
    margin-top: 1px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-integrations-tab-content {
    padding: 0;
    background: var(--av2-surface);
}


/* ============================================================
   ZAPIER HERO
   ============================================================ */

.av2-zapier-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: center;
    padding: 24px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255,79,0,.08), transparent 38%),
        var(--av2-surface);
    border-bottom: 1px solid var(--av2-border);
}

.av2-zapier-brand-line {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 9px;
    color: #ff4f00;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-zapier-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    color: #ffffff;
    background: #ff4f00;
    border-radius: 7px;
}

.av2-zapier-recommended {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 7px;
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
}

.av2-zapier-hero h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: 1.15rem;
    font-weight: var(--av2-weight-bold);
}

.av2-zapier-hero p {
    max-width: 760px;
    margin: 7px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.5;
}

.av2-zapier-flow {
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.av2-zapier-flow > i {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-zapier-flow-node,
.av2-zapier-flow-zap {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 10px;
    border-radius: 8px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-zapier-flow-node {
    color: var(--av2-text-secondary);
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
}

.av2-zapier-flow-node.is-agentview {
    color: #ffffff;
    background: #061a3b;
    border-color: #061a3b;
}

.av2-zapier-flow-zap {
    gap: 5px;
    color: #ffffff;
    background: #ff4f00;
    border: 1px solid #ff4f00;
}


/* ============================================================
   BENEFITS
   ============================================================ */

.av2-zapier-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 16px 20px;
    background: var(--av2-surface-soft);
    border-bottom: 1px solid var(--av2-border);
}

.av2-zapier-benefits > div {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 10px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 9px;
}

.av2-zapier-benefits > div > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-right: 9px;
    border-radius: 9px;
}

.av2-zapier-benefits > div > span.is-blue {
    color: #2459e6;
    background: #eaf0ff;
}

.av2-zapier-benefits > div > span.is-green {
    color: #238847;
    background: #e9f7ee;
}

.av2-zapier-benefits > div > span.is-orange {
    color: #d88400;
    background: #fff3dc;
}

.av2-zapier-benefits strong {
    display: block;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-zapier-benefits small {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.35;
}


/* ============================================================
   ZAPIER CATALOG / EMBED
   ============================================================ */

.av2-zapier-catalog {
    padding: 20px;
}

.av2-zapier-catalog-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 13px;
}

.av2-zapier-catalog-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-zapier-catalog-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-zapier-catalog-heading > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    padding: 0 9px;
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    white-space: nowrap;
}

.av2-zapier-embed-wrapper {
    min-height: 650px;
    padding: 10px;
    color: #111111;
    background: #ffffff;
    border: 1px solid #e2e7ed;
    border-radius: 11px;
    box-shadow: inset 0 0 0 1px rgba(15,23,42,.01);
    overflow: hidden;
}

.av2-zapier-embed-wrapper zapier-workflow {
    display: block;
    width: 100%;
    color: #111111;
    background: #ffffff;
}


/* ============================================================
   WEBHOOK TAB
   ============================================================ */

.av2-webhook-intro {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin: 20px;
    padding: 15px;
    color: var(--av2-text-secondary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 10px;
}

.av2-webhook-intro-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    color: var(--av2-primary);
    background: var(--av2-surface);
    border-radius: 9px;
}

.av2-webhook-intro h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-webhook-intro p {
    margin: 4px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}

.av2-integration-webhook-catalog {
    padding: 0 4px 8px !important;
}

.av2-integration-webhook-catalog .row {
    margin-right: -6px;
    margin-left: -6px;
}

.av2-integration-webhook-catalog .integration-card {
    padding-right: 6px;
    padding-left: 6px;
    margin-bottom: 12px !important;
}

.av2-integration-webhook-catalog .integration-card .card {
    background: var(--av2-surface);
    border: 1px solid var(--av2-border) !important;
    border-radius: 11px !important;
    box-shadow: var(--av2-shadow-xs) !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.av2-integration-webhook-catalog .integration-card .card:hover {
    transform: translateY(-2px);
    border-color: var(--av2-border-strong) !important;
    box-shadow: var(--av2-shadow-sm) !important;
}

.av2-integration-webhook-catalog .integration-card .card-body {
    padding: 16px;
}

.av2-integration-webhook-catalog .integration-card .card-title {
    margin-bottom: 6px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold) !important;
}

.av2-integration-webhook-catalog .integration-card .card-text {
    min-height: 40px;
    color: var(--av2-text-muted) !important;
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-integration-webhook-catalog .integration-card .badge {
    margin-top: 3px;
    font-size: var(--av2-font-meta);
}

.av2-integration-webhook-catalog .integration-card .btn {
    min-height: 34px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}


/* ============================================================
   RIGHT RAIL
   ============================================================ */

.av2-integration-rail-card {
    padding: 16px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-integration-rail-heading {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
}

.av2-integration-rail-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 10px;
}

.av2-integration-rail-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-integration-rail-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}

.av2-integration-rail-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-integration-rail-heading p {
    margin: 4px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-integration-api-group {
    margin-bottom: 8px;
}

.av2-integration-api-group label {
    margin-bottom: 5px;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-integration-api-group .form-control {
    min-height: 40px;
    color: var(--av2-text);
    background: var(--av2-input-bg);
    border: 1px solid var(--av2-border-strong);
    border-radius: 8px;
    font-family: monospace;
    font-size: var(--av2-font-control);
}

.av2-integration-api-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.av2-integration-api-actions .btn {
    min-width: 0;
    font-size: var(--av2-font-meta);
}

.av2-integration-marketplace-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px;
    color: var(--av2-text-secondary);
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-integration-marketplace-note > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    color: #d88400;
    background: #fff3dc;
    border-radius: 9px;
}

.av2-integration-marketplace-note strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-integration-marketplace-note p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   LEGACY SETUP MODALS - AV2 VISUAL PASS
   Functionality and modal IDs remain untouched.
   ============================================================ */

#integrationHelpModal .modal-content,
[id^="zapierModal"] .modal-content,
#calltoolsModal .modal-content,
#mailchimpModal .modal-content,
#googleSheetsModal .modal-content,
#mailboxPowerModal .modal-content {
    overflow: hidden;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    box-shadow: 0 18px 46px rgba(15,23,42,.18);
}

#integrationHelpModal .modal-header,
[id^="zapierModal"] .modal-header,
#calltoolsModal .modal-header,
#mailchimpModal .modal-header,
#googleSheetsModal .modal-header,
#mailboxPowerModal .modal-header {
    min-height: 68px;
    padding: 14px 18px;
    color: #ffffff !important;
    background: linear-gradient(135deg, #061a3b, #0b5cff) !important;
    border-bottom: 0 !important;
}

#integrationHelpModal .modal-title,
[id^="zapierModal"] .modal-title,
#calltoolsModal .modal-title,
#mailchimpModal .modal-title,
#googleSheetsModal .modal-title,
#mailboxPowerModal .modal-title {
    color: #ffffff !important;
    font-size: var(--av2-font-modal-title);
    font-weight: var(--av2-weight-bold);
}

#integrationHelpModal .modal-body,
[id^="zapierModal"] .modal-body,
#calltoolsModal .modal-body,
#mailchimpModal .modal-body,
#googleSheetsModal .modal-body,
#mailboxPowerModal .modal-body {
    color: var(--av2-text);
    background: var(--av2-surface);
}

#integrationHelpModal .modal-footer,
[id^="zapierModal"] .modal-footer,
#calltoolsModal .modal-footer,
#mailchimpModal .modal-footer,
#googleSheetsModal .modal-footer,
#mailboxPowerModal .modal-footer {
    background: var(--av2-surface);
    border-top: 1px solid var(--av2-border);
}

#integrationHelpModal pre,
[id^="zapierModal"] pre,
#calltoolsModal pre,
#mailchimpModal pre,
#googleSheetsModal pre,
#mailboxPowerModal pre {
    color: var(--av2-text-secondary);
    background: var(--av2-surface-soft) !important;
    border-color: var(--av2-border) !important;
    border-radius: 8px !important;
    font-size: .72rem;
}


/* ============================================================
   SUPPORT VIDEO
   ============================================================ */

.responsive-video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}

.responsive-video-container video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-integrations-workspace {
        grid-template-columns: minmax(0, 1fr) 280px;
    }

    .av2-zapier-hero {
        grid-template-columns: 1fr;
    }

    .av2-zapier-flow {
        justify-content: flex-start;
    }
}

@media (max-width: 991.98px) {
    .av2-integrations-workspace {
        grid-template-columns: 1fr;
    }

    .av2-integrations-right-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .av2-integration-marketplace-note {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .av2-integrations-tabs {
        display: grid;
        grid-template-columns: 1fr;
    }

    .av2-integrations-tabs .nav-link {
        min-width: 0;
        border-radius: 9px;
    }

    .av2-zapier-hero {
        padding: 18px;
    }

    .av2-zapier-benefits {
        grid-template-columns: 1fr;
        padding: 12px;
    }

    .av2-zapier-catalog {
        padding: 14px;
    }

    .av2-zapier-catalog-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-zapier-flow {
        flex-wrap: wrap;
    }

    .av2-integrations-right-rail {
        grid-template-columns: 1fr;
    }

    .av2-integration-marketplace-note {
        grid-column: auto;
    }
}


/* ============================================================
   DARK MODE
   Zapier embed remains light because it is a third-party surface.
   ============================================================ */

.mod-skin-dark .av2-integrations-tab-icon.is-zapier {
    color: #ff9a6c;
    background: rgba(255,79,0,.13);
    border-color: rgba(255,79,0,.24);
}

.mod-skin-dark .av2-integrations-tab-icon.is-webhook,
.mod-skin-dark .av2-integration-rail-icon.is-blue {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-integration-rail-icon.is-purple {
    color: #c3a5ff;
    background: rgba(133,69,219,.13);
    border-color: rgba(133,69,219,.24);
}

.mod-skin-dark .av2-zapier-recommended {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-zapier-flow-node.is-agentview {
    color: #ffffff;
    background: #061a3b;
}

.mod-skin-dark .av2-integration-marketplace-note > span {
    color: #ffc968;
    background: rgba(245,160,0,.13);
}


/* ========================================================================
   END 80.02 INTEGRATIONS
   ======================================================================== */


/* ========================================================================
   80.03 FEATURE MARKETPLACE
   ======================================================================== */

.av2-marketplace {
    font-family: var(--av2-font-family);
}


/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-marketplace-page-heading {
    align-items: flex-start;
}

.av2-marketplace-page-subtitle {
    max-width: 780px;
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}

.av2-marketplace-count-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 0 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 999px;
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}


/* ============================================================
   INTRO
   ============================================================ */

.av2-marketplace-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin: 18px 0 24px;
    padding: 18px;
    background:
        linear-gradient(135deg, rgba(11,92,255,.035), rgba(245,160,0,.025)),
        var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    box-shadow: 0 2px 5px rgba(15,23,42,.04), 0 7px 18px rgba(15,23,42,.045);
}

.av2-marketplace-intro-copy {
    display: flex;
    align-items: flex-start;
    min-width: 0;
}

.av2-marketplace-intro-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    margin-right: 12px;
    color: #ffffff;
    background: linear-gradient(135deg, #0b5cff, #2459e6);
    border-radius: 12px;
    box-shadow: 0 7px 18px rgba(11,92,255,.16);
}

.av2-marketplace-intro h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-marketplace-intro p {
    max-width: 760px;
    margin: 4px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}

.av2-marketplace-intro-note {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    max-width: 330px;
    padding: 10px 11px;
    color: var(--av2-text-secondary);
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-marketplace-intro-note > i {
    margin-top: 2px;
    color: #d88400;
}


/* ============================================================
   SHARED PANEL HEADERS
   ============================================================ */

.av2-marketplace-featured-panel,
.av2-marketplace-products-panel,
.av2-marketplace-empty-panel {
    overflow: hidden;
    margin-bottom: 24px;
}

.av2-marketplace-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 74px !important;
    padding: 0 20px !important;
}

.av2-marketplace-section-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-marketplace-section-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    margin-right: 10px;
    border-radius: 10px;
}

.av2-marketplace-section-icon.is-orange {
    color: #d88400;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-marketplace-section-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-marketplace-section-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-marketplace-section-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}

.av2-marketplace-carousel-controls {
    display: flex;
    gap: 7px;
}

.av2-marketplace-carousel-controls .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 34px;
    padding: 0;
}

.av2-marketplace-product-count {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 0 9px;
    color: var(--av2-text-muted);
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}


/* ============================================================
   FEATURED CAROUSEL
   ============================================================ */

.av2-marketplace-featured-content {
    padding: 0 !important;
}

.av2-marketplace-featured {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr);
    min-height: 410px;
}

.av2-marketplace-featured-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 30px;
    background:
        radial-gradient(circle at 15% 12%, rgba(11,92,255,.07), transparent 36%),
        var(--av2-surface);
}

.av2-marketplace-featured-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 11px;
}

.av2-marketplace-featured-category,
.av2-marketplace-product-category {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    letter-spacing: .07em;
    text-transform: uppercase;
}

.av2-marketplace-featured-copy h3 {
    margin: 5px 0 0;
    color: var(--av2-text-strong);
    font-size: 1.65rem;
    font-weight: var(--av2-weight-bold);
    line-height: 1.2;
}

.av2-marketplace-featured-copy > p {
    max-width: 680px;
    margin: 10px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.58;
}

.av2-marketplace-status,
.av2-marketplace-featured-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 25px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    white-space: nowrap;
}

.av2-marketplace-status-active {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-marketplace-status-available {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-marketplace-status-coming_soon {
    color: #a46b00;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-marketplace-status-inactive,
.av2-marketplace-status-unavailable {
    color: #596273;
    background: #eef0f4;
    border: 1px solid #d5dae3;
}

.av2-marketplace-featured-badge {
    color: #a46b00;
    background: #fff7e6;
    border: 1px solid #f4dfb4;
}

.av2-marketplace-highlight-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 17px;
}

.av2-marketplace-highlight-list > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 31px;
    padding: 5px 9px;
    color: var(--av2-text-secondary);
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
}

.av2-marketplace-highlight-list > span i {
    color: var(--av2-primary);
}

.av2-marketplace-featured-actions {
    margin-top: 20px;
}


/* ============================================================
   FEATURED PRODUCT SUMMARY
   ============================================================ */

.av2-marketplace-featured-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 26px;
    color: #ffffff;
    background:
        radial-gradient(circle at 84% 18%, rgba(11,92,255,.26), transparent 32%),
        radial-gradient(circle at 18% 82%, rgba(245,160,0,.20), transparent 34%),
        linear-gradient(145deg, #061a3b, #0b234c 62%, #071426);
}

.av2-marketplace-product-symbol {
    display: flex;
    align-items: center;
}

.av2-marketplace-product-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    color: #ffffff;
    background: linear-gradient(135deg, #0b5cff, #2459e6);
    border-radius: 12px;
    box-shadow: 0 9px 22px rgba(11,92,255,.22);
}

.av2-marketplace-product-symbol .av2-marketplace-product-icon {
    margin-right: 11px;
}

.av2-marketplace-product-symbol > div > span {
    display: block;
    color: rgba(255,255,255,.58);
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.av2-marketplace-product-symbol > div > strong {
    display: block;
    margin-top: 2px;
    color: #ffffff;
    font-size: 1rem;
    font-weight: var(--av2-weight-bold);
}

.av2-marketplace-featured-card > p {
    margin: 15px 0 0;
    color: rgba(255,255,255,.72);
    font-size: var(--av2-font-compact);
    line-height: 1.5;
}

.av2-marketplace-price-block {
    margin-top: 15px;
}

.av2-marketplace-feature-list {
    display: grid;
    gap: 8px;
    margin-top: 15px;
}

.av2-marketplace-feature-list > div {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    color: rgba(255,255,255,.82);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-marketplace-feature-list i {
    margin-top: 2px;
    color: #7ee09e;
}


/* ============================================================
   PRICING
   Existing PHP pricing HTML preserved.
   ============================================================ */

.marketplace-pricing-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    width: 100%;
}

.marketplace-pricing-option {
    min-width: 0;
    padding: 9px 10px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 8px;
}

.marketplace-pricing-label {
    display: block;
    color: var(--av2-text-muted);
    font-size: .61rem;
    font-weight: var(--av2-weight-bold);
    letter-spacing: .055em;
    text-transform: uppercase;
}

.marketplace-pricing-amount {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.marketplace-pricing-note {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: .64rem;
    line-height: 1.3;
}

.av2-marketplace-featured-card .marketplace-pricing-option {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.13);
}

.av2-marketplace-featured-card .marketplace-pricing-label,
.av2-marketplace-featured-card .marketplace-pricing-note {
    color: rgba(255,255,255,.58);
}

.av2-marketplace-featured-card .marketplace-pricing-amount {
    color: #ffffff;
}


/* ============================================================
   CAROUSEL INDICATORS
   ============================================================ */

.av2-marketplace-carousel-indicators {
    position: static;
    justify-content: center;
    gap: 4px;
    margin: 12px 0 14px;
}

.av2-marketplace-carousel-indicators li {
    width: 8px;
    height: 8px;
    margin: 0 3px;
    background: #cfd6df;
    border: 0;
    border-radius: 50%;
}

.av2-marketplace-carousel-indicators li.active {
    background: #f5a000;
}


/* ============================================================
   PRODUCT GRID
   ============================================================ */

.av2-marketplace-products-content {
    padding: 16px !important;
}

.av2-marketplace-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.av2-marketplace-product-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 330px;
    padding: 16px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 11px;
    box-shadow: var(--av2-shadow-xs);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.av2-marketplace-product-card:hover {
    transform: translateY(-2px);
    border-color: var(--av2-border-strong);
    box-shadow: var(--av2-shadow-sm);
}

.av2-marketplace-product-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.av2-marketplace-card-badges {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 5px;
}

.av2-marketplace-product-card h3 {
    margin: 5px 0 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-marketplace-product-description {
    min-height: 56px;
    margin: 6px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}

.av2-marketplace-product-highlights {
    display: grid;
    gap: 5px;
    margin-top: 10px;
}

.av2-marketplace-product-highlights > span {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-meta);
    line-height: 1.35;
}

.av2-marketplace-product-highlights i {
    margin-top: 2px;
    color: #238847;
}

.av2-marketplace-card-pricing {
    margin-top: 14px;
}

.av2-marketplace-product-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--av2-border);
}

.av2-marketplace-product-footer-status {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
}

.av2-marketplace-disabled {
    pointer-events: none;
    opacity: .7;
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.av2-marketplace-empty {
    padding: 60px 20px !important;
    text-align: center;
}

.av2-marketplace-empty > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0 auto 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 12px;
}

.av2-marketplace-empty h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-marketplace-empty p {
    margin: 5px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-marketplace-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .av2-marketplace-featured {
        grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
    }
}

@media (max-width: 991.98px) {
    .av2-marketplace-intro {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-marketplace-intro-note {
        max-width: none;
    }

    .av2-marketplace-featured {
        grid-template-columns: 1fr;
    }

    .av2-marketplace-featured-card {
        min-height: 300px;
    }
}

@media (max-width: 767.98px) {
    .av2-marketplace-section-header {
        min-height: 68px !important;
        padding: 0 14px !important;
    }

    .av2-marketplace-section-heading p {
        display: none;
    }

    .av2-marketplace-featured-copy,
    .av2-marketplace-featured-card {
        padding: 20px;
    }

    .av2-marketplace-products-grid {
        grid-template-columns: 1fr;
    }

    .marketplace-pricing-options {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .av2-marketplace-featured-copy h3 {
        font-size: 1.35rem;
    }

    .av2-marketplace-featured-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-marketplace-card-badges {
        align-items: flex-start;
    }

    .av2-marketplace-product-card-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-marketplace-product-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-marketplace-product-footer .btn {
        width: 100%;
    }
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-marketplace-section-icon.is-blue {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-marketplace-section-icon.is-orange,
.mod-skin-dark .av2-marketplace-intro-note > i {
    color: #ffc968;
}

.mod-skin-dark .av2-marketplace-section-icon.is-orange {
    background: rgba(245,160,0,.13);
    border-color: rgba(245,160,0,.24);
}

.mod-skin-dark .av2-marketplace-status-active {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-marketplace-status-available {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-marketplace-status-coming_soon {
    color: #ffc968;
    background: rgba(245,160,0,.13);
    border-color: rgba(245,160,0,.24);
}

.mod-skin-dark .av2-marketplace-featured-badge {
    color: #ffc968;
    background: rgba(245,160,0,.10);
    border-color: rgba(245,160,0,.20);
}


/* ========================================================================
   END 80.03 FEATURE MARKETPLACE
   ======================================================================== */


/* ========================================================================
   80.04 MARKETPLACE PRODUCT DETAILS
   ======================================================================== */

.av2-marketplace-product {
    font-family: var(--av2-font-family);
}


/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-mpd-page-heading {
    align-items: flex-start;
}

.av2-mpd-page-subtitle {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}


/* ============================================================
   HERO
   ============================================================ */

.av2-mpd-hero-panel {
    overflow: hidden;
    margin: 18px 0 24px;
}

.av2-mpd-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(330px, .6fr);
}

.av2-mpd-hero-copy {
    min-width: 0;
    padding: 28px;
    background:
        radial-gradient(circle at 10% 5%, rgba(11,92,255,.07), transparent 34%),
        var(--av2-surface);
}

.av2-mpd-product-heading {
    display: flex;
    align-items: flex-start;
}

.av2-mpd-product-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    margin-right: 14px;
    color: #ffffff;
    background: linear-gradient(135deg, #0b5cff, #2459e6);
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(11,92,255,.20);
    font-size: 1.3rem;
}

.av2-mpd-product-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 5px;
}

.av2-mpd-category {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    letter-spacing: .07em;
    text-transform: uppercase;
}

.av2-mpd-status,
.av2-mpd-featured-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 24px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-mpd-status-active {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-mpd-status-available {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-mpd-status-coming_soon {
    color: #a46b00;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-mpd-featured-badge {
    color: #a46b00;
    background: #fff7e6;
    border: 1px solid #f4dfb4;
}

.av2-mpd-product-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: 1.55rem;
    font-weight: var(--av2-weight-bold);
    line-height: 1.2;
}

.av2-mpd-product-heading h2 > span {
    font-weight: var(--av2-weight-normal);
}

.av2-mpd-headline {
    max-width: 780px;
    margin: 20px 0 0;
    color: var(--av2-text-strong);
    font-size: 1.05rem;
    font-weight: var(--av2-weight-semibold);
    line-height: 1.45;
}

.av2-mpd-summary {
    max-width: 850px;
    margin: 8px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.6;
}

.av2-mpd-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 17px;
}

.av2-mpd-highlights > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 31px;
    padding: 5px 9px;
    color: var(--av2-text-secondary);
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-semibold);
}

.av2-mpd-highlights i {
    color: var(--av2-primary);
}


/* ============================================================
   VALUE GRID
   ============================================================ */

.av2-mpd-value-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-top: 20px;
}

.av2-mpd-value-grid article {
    display: flex;
    align-items: flex-start;
    min-width: 0;
    padding: 12px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-mpd-value-grid article > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-right: 9px;
    border-radius: 9px;
}

.av2-mpd-value-grid article > span.is-blue {
    color: #2459e6;
    background: #eaf0ff;
}

.av2-mpd-value-grid article > span.is-green {
    color: #238847;
    background: #e9f7ee;
}

.av2-mpd-value-grid article > span.is-orange {
    color: #d88400;
    background: #fff3dc;
}

.av2-mpd-value-grid strong {
    display: block;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-mpd-value-grid p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   PURCHASE AREA
   ============================================================ */

.av2-mpd-purchase {
    padding: 22px;
    color: #ffffff;
    background:
        radial-gradient(circle at 85% 10%, rgba(11,92,255,.25), transparent 31%),
        radial-gradient(circle at 12% 90%, rgba(245,160,0,.18), transparent 34%),
        linear-gradient(145deg, #061a3b, #0a234e 65%, #071426);
}

.av2-mpd-purchase-header {
    display: flex;
    align-items: center;
}

.av2-mpd-purchase-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-right: 10px;
    color: #ffffff;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 11px;
}

.av2-mpd-purchase-header span {
    display: block;
    color: rgba(255,255,255,.56);
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-bold);
    letter-spacing: .055em;
    text-transform: uppercase;
}

.av2-mpd-purchase-header strong {
    display: block;
    margin-top: 2px;
    color: #ffffff;
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-mpd-plan-list {
    display: grid;
    gap: 9px;
    margin-top: 17px;
}

.av2-mpd-plan {
    padding: 13px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 10px;
}

.av2-mpd-plan.is-featured {
    background: rgba(245,160,0,.075);
    border-color: rgba(245,160,0,.56);
}

.av2-mpd-plan-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
}

.av2-mpd-plan-header > span:first-child {
    color: rgba(255,255,255,.72);
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-bold);
    letter-spacing: .055em;
    text-transform: uppercase;
}

.av2-mpd-best-value {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 2px 6px;
    color: #17213a;
    background: #f5a000;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-mpd-plan-price {
    display: flex;
    align-items: flex-end;
    margin-top: 7px;
}

.av2-mpd-plan-price strong {
    color: #ffffff;
    font-size: 1.55rem;
    font-weight: var(--av2-weight-bold);
    line-height: 1;
}

.av2-mpd-plan-price span {
    margin-left: 4px;
    color: rgba(255,255,255,.56);
    font-size: var(--av2-font-body);
}

.av2-mpd-plan > p {
    margin: 5px 0 9px;
    color: rgba(255,255,255,.62);
    font-size: var(--av2-font-meta);
}

.av2-mpd-plan .btn-primary {
    color: #17213a;
    background: #f5a000;
    border-color: #f5a000;
}

.av2-mpd-purchase-features {
    display: grid;
    gap: 7px;
    margin-top: 15px;
}

.av2-mpd-purchase-features > div {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    color: rgba(255,255,255,.80);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-mpd-purchase-features i {
    margin-top: 2px;
    color: #7ee09e;
}

.av2-mpd-preview-link {
    margin-top: 16px;
}

.av2-mpd-purchase > small {
    display: block;
    margin-top: 10px;
    color: rgba(255,255,255,.50);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
    text-align: center;
}


/* ============================================================
   SECTION HEADERS
   ============================================================ */

.av2-mpd-preview-panel,
.av2-mpd-features-panel,
.av2-mpd-setup-panel {
    overflow: hidden;
    margin-bottom: 24px;
}

.av2-mpd-section-header {
    min-height: 72px !important;
    padding: 0 20px !important;
}

.av2-mpd-section-heading {
    display: flex;
    align-items: center;
}

.av2-mpd-section-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    margin-right: 10px;
    border-radius: 10px;
}

.av2-mpd-section-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-mpd-section-icon.is-green {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-mpd-section-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}

.av2-mpd-section-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-mpd-section-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
}


/* ============================================================
   PRODUCT PREVIEW
   ============================================================ */

.av2-mpd-preview-content {
    padding: 20px !important;
    background: var(--av2-surface-soft);
}

.av2-mpd-browser {
    max-width: 980px;
    margin: 0 auto;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dce3eb;
    border-radius: 13px;
    box-shadow: 0 20px 45px rgba(15,23,42,.13);
}

.av2-mpd-browser-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 39px;
    padding: 0 12px;
    background: #eef2f6;
    border-bottom: 1px solid #d9e0e8;
}

.av2-mpd-browser-bar > span {
    width: 8px;
    height: 8px;
    background: #b8c0cc;
    border-radius: 50%;
}

.av2-mpd-browser-bar > div {
    flex: 1;
    max-width: 420px;
    min-height: 22px;
    margin-left: 8px;
    padding: 4px 10px;
    color: #8793a4;
    background: #ffffff;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
}

.av2-mpd-browser-screen {
    padding: 18px;
    color: #24324a;
    background: #f6f8fb;
}

.av2-mpd-demo-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 15px;
}

.av2-mpd-demo-nav > strong {
    display: flex;
    align-items: center;
    font-size: var(--av2-font-body);
    letter-spacing: .035em;
}

.av2-mpd-demo-nav > strong > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 29px;
    height: 29px;
    margin-right: 7px;
    color: #ffffff;
    background: #2f6fca;
    border-radius: 7px;
}

.av2-mpd-demo-nav > div {
    display: flex;
    gap: 13px;
    color: #738097;
    font-size: var(--av2-font-meta);
    font-weight: 700;
}

.av2-mpd-demo-hero {
    padding: 18px;
    color: #ffffff;
    background: linear-gradient(120deg, #102d57, #315b8f);
    border-radius: 10px;
}

.av2-mpd-demo-kicker {
    display: block;
    color: rgba(255,255,255,.62);
    font-size: var(--av2-font-meta);
    font-weight: 700;
    letter-spacing: .055em;
}

.av2-mpd-demo-hero h3 {
    margin: 6px 0 0;
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 700;
}

.av2-mpd-demo-hero > p {
    margin: 4px 0 10px;
    color: rgba(255,255,255,.68);
    font-size: var(--av2-font-meta);
}

.av2-mpd-demo-search {
    display: flex;
    gap: 7px;
    padding: 6px;
    background: #ffffff;
    border-radius: 7px;
}

.av2-mpd-demo-search > div {
    flex: 1;
    display: flex;
    align-items: center;
    min-height: 33px;
    padding: 0 10px;
    color: #9aa5b5;
    background: #f0f3f7;
    border-radius: 5px;
    font-size: var(--av2-font-meta);
}

.av2-mpd-demo-search > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    color: #ffffff;
    background: #2f6fca;
    border-radius: 5px;
}

.av2-mpd-demo-filters {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 7px;
}

.av2-mpd-demo-filters > span {
    padding: 3px 7px;
    color: rgba(255,255,255,.72);
    background: rgba(255,255,255,.10);
    border-radius: 999px;
    font-size: var(--av2-font-body);
}

.av2-mpd-demo-listings-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 14px 0 8px;
}

.av2-mpd-demo-listings-heading strong {
    display: block;
    font-size: var(--av2-font-body);
}

.av2-mpd-demo-listings-heading span {
    color: #8793a4;
    font-size: var(--av2-font-body);
}

.av2-mpd-demo-listings-heading > div:last-child {
    display: flex;
    gap: 8px;
}

.av2-mpd-demo-listings {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.av2-mpd-demo-listings article {
    overflow: hidden;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 14px rgba(25,46,78,.08);
}

.av2-mpd-demo-property-image {
    position: relative;
    height: 105px;
    background:
        linear-gradient(135deg, rgba(21,50,91,.08), rgba(21,50,91,.02)),
        #dce5ef;
}

.av2-mpd-demo-property-image > span {
    position: absolute;
    top: 7px;
    left: 7px;
    padding: 3px 5px;
    color: #ffffff;
    background: #238847;
    border-radius: 4px;
    font-size: var(--av2-font-body);
    font-weight: 700;
}

.av2-mpd-demo-property-image > i {
    position: absolute;
    top: 7px;
    right: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    color: #2f6fca;
    background: #ffffff;
    border-radius: 50%;
}

.av2-mpd-demo-property-body {
    display: grid;
    gap: 3px;
    padding: 9px;
}

.av2-mpd-demo-property-body strong {
    color: #24324a;
    font-size: var(--av2-font-body);
}

.av2-mpd-demo-property-body > span {
    color: #738097;
    font-size: var(--av2-font-body);
}

.av2-mpd-demo-property-body small {
    color: #8793a4;
    font-size: var(--av2-font-meta);
}

.av2-mpd-demo-features {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-top: 12px;
}

.av2-mpd-demo-features > span {
    padding: 7px;
    color: #506078;
    background: #ffffff;
    border: 1px solid #e5eaf0;
    border-radius: 6px;
    text-align: center;
    font-size: var(--av2-font-body);
}

.av2-mpd-demo-features i {
    margin-right: 3px;
    color: #2f6fca;
}

.av2-mpd-preview-caption {
    max-width: 980px;
    margin: 14px auto 0;
}

.av2-mpd-preview-caption h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-mpd-preview-caption p {
    margin: 5px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.5;
}


/* ============================================================
   FEATURE COLUMNS
   ============================================================ */

.av2-mpd-features-content {
    padding: 16px !important;
}

.av2-mpd-feature-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.av2-mpd-feature-column {
    min-width: 0;
    padding: 15px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-mpd-feature-column-heading {
    display: flex;
    align-items: flex-start;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--av2-border);
}

.av2-mpd-feature-column-heading > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin-right: 9px;
    border-radius: 9px;
}

.av2-mpd-feature-column-heading > span.is-blue {
    color: #2459e6;
    background: #eaf0ff;
}

.av2-mpd-feature-column-heading > span.is-orange {
    color: #d88400;
    background: #fff3dc;
}

.av2-mpd-feature-column-heading > span.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
}

.av2-mpd-feature-column-heading h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-mpd-feature-column-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.35;
}

.av2-mpd-feature-list {
    display: grid;
}

.av2-mpd-feature-list > div {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    padding: 11px 0;
    border-bottom: 1px solid var(--av2-border);
}

.av2-mpd-feature-list > div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.av2-mpd-feature-list > div > i {
    margin-top: 2px;
    color: #238847;
}

.av2-mpd-feature-list > div > span {
    min-width: 0;
}

.av2-mpd-feature-list strong {
    display: block;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-mpd-feature-list small {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   SETUP STEPS
   ============================================================ */

.av2-mpd-setup-content {
    padding: 16px !important;
}

.av2-mpd-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.av2-mpd-steps article {
    display: flex;
    align-items: flex-start;
    min-width: 0;
    padding: 13px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-mpd-steps article > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-right: 9px;
    color: #17213a;
    background: #f5a000;
    border-radius: 50%;
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-bold);
}

.av2-mpd-steps h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-mpd-steps p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   BOTTOM CTA
   ============================================================ */

.av2-mpd-bottom-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 30px;
    padding: 20px;
    color: #ffffff;
    background:
        radial-gradient(circle at 8% 15%, rgba(11,92,255,.23), transparent 29%),
        radial-gradient(circle at 93% 85%, rgba(245,160,0,.16), transparent 30%),
        linear-gradient(145deg, #061a3b, #0a234e);
    border-radius: 13px;
    box-shadow: 0 8px 24px rgba(6,26,59,.13);
}

.av2-mpd-bottom-cta > div:first-child {
    display: flex;
    align-items: center;
}

.av2-mpd-bottom-cta > div:first-child > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-right: 11px;
    color: #ffffff;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 11px;
}

.av2-mpd-bottom-cta h2 {
    margin: 0;
    color: #ffffff;
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-mpd-bottom-cta p {
    margin: 4px 0 0;
    color: rgba(255,255,255,.62);
    font-size: var(--av2-font-compact);
}

.av2-mpd-bottom-plans {
    display: flex;
    gap: 8px;
}

.av2-mpd-bottom-plans article {
    min-width: 185px;
    padding: 10px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 9px;
}

.av2-mpd-bottom-plans article.is-featured {
    border-color: rgba(245,160,0,.55);
}

.av2-mpd-bottom-plans article > span {
    display: block;
    color: rgba(255,255,255,.58);
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-bold);
    letter-spacing: .045em;
    text-transform: uppercase;
}

.av2-mpd-bottom-plans strong {
    display: block;
    margin-top: 3px;
    color: #ffffff;
    font-size: var(--av2-font-body);
    font-weight: var(--av2-weight-bold);
}

.av2-mpd-bottom-plans small {
    display: block;
    min-height: 18px;
    margin-top: 2px;
    color: rgba(255,255,255,.54);
    font-size: var(--av2-font-meta);
}

.av2-mpd-bottom-plans .btn {
    width: 100%;
    margin-top: 7px;
    font-size: var(--av2-font-meta);
}

.av2-mpd-bottom-plans .btn-primary {
    color: #17213a;
    background: #f5a000;
    border-color: #f5a000;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199.98px) {
    .av2-mpd-hero {
        grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr);
    }

    .av2-mpd-value-grid {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 991.98px) {
    .av2-mpd-hero {
        grid-template-columns: 1fr;
    }

    .av2-mpd-feature-columns {
        grid-template-columns: 1fr;
    }

    .av2-mpd-purchase {
        padding: 20px;
    }

    .av2-mpd-bottom-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-mpd-bottom-plans {
        width: 100%;
    }

    .av2-mpd-bottom-plans article {
        flex: 1 1 0;
    }
}

@media (max-width: 767.98px) {
    .av2-mpd-hero-copy {
        padding: 19px;
    }

    .av2-mpd-section-header {
        min-height: 68px !important;
        padding: 0 14px !important;
    }

    .av2-mpd-section-heading p {
        display: none;
    }

    .av2-mpd-browser-screen {
        padding: 11px;
    }

    .av2-mpd-demo-nav > div {
        display: none;
    }

    .av2-mpd-demo-listings {
        gap: 6px;
    }

    .av2-mpd-demo-property-image {
        height: 78px;
    }

    .av2-mpd-demo-features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .av2-mpd-steps {
        grid-template-columns: 1fr;
    }

    .av2-mpd-bottom-plans {
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .av2-mpd-product-heading {
        display: block;
    }

    .av2-mpd-product-icon {
        margin: 0 0 11px;
    }

    .av2-mpd-product-heading h2 {
        font-size: 1.3rem;
    }

    .av2-mpd-highlights {
        align-items: flex-start;
        flex-direction: column;
    }

    .av2-mpd-highlights > span {
        width: 100%;
    }

    .av2-mpd-demo-listings {
        grid-template-columns: 1fr;
    }

    .av2-mpd-demo-property-image {
        height: 130px;
    }
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-mpd-status-active {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-mpd-status-available {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-mpd-featured-badge {
    color: #ffc968;
    background: rgba(245,160,0,.10);
    border-color: rgba(245,160,0,.20);
}

.mod-skin-dark .av2-mpd-section-icon.is-blue {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-mpd-section-icon.is-green {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-mpd-section-icon.is-purple {
    color: #c3a5ff;
    background: rgba(133,69,219,.13);
    border-color: rgba(133,69,219,.24);
}


/* ========================================================================
   END 80.04 MARKETPLACE PRODUCT DETAILS
   ======================================================================== */


/* ========================================================================
   80.05 MY SHORTCUTS
   ======================================================================== */

.av2-shortcuts {
    font-family: var(--av2-font-family);
}


/* ============================================================
   PAGE HEADING
   ============================================================ */

.av2-shortcuts-page-heading {
    align-items: flex-start;
}

.av2-shortcuts-page-subtitle {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}


/* ============================================================
   INFO STRIP
   ============================================================ */

.av2-shortcuts-info {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 18px 0 20px;
    padding: 12px 14px;
    color: var(--av2-text-secondary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 10px;
}

.av2-shortcuts-info > i {
    margin-top: 2px;
    color: var(--av2-primary);
}

.av2-shortcuts-info strong {
    display: block;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-shortcuts-info span {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   WORKSPACE
   ============================================================ */

.av2-shortcuts-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 18px;
    align-items: start;
    margin-bottom: 30px;
}


/* ============================================================
   MAIN PANEL
   ============================================================ */

.av2-shortcuts-panel {
    min-width: 0;
    overflow: hidden;
    margin: 0;
}

.av2-shortcuts-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 74px !important;
    padding: 0 20px !important;
}

.av2-shortcuts-panel-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-shortcuts-panel-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    margin-right: 10px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 10px;
}

.av2-shortcuts-panel-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-shortcuts-panel-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-shortcuts-panel-content {
    padding: 16px !important;
}


/* ============================================================
   SHORTCUT GRID
   Compact AV2 utility cards
   ============================================================ */

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

.av2-shortcut-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 170px;
    overflow: hidden;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    box-shadow: var(--av2-shadow-xs);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.av2-shortcut-card:hover {
    transform: translateY(-2px);
    border-color: var(--av2-border-strong);
    box-shadow: var(--av2-shadow-sm);
}

.av2-shortcut-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 16px 16px 0;
}

.av2-shortcut-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    font-size: 1.05rem;
}

.av2-shortcut-icon.is-blue {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-shortcut-icon.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
    border: 1px solid rgba(133,69,219,.15);
}

.av2-shortcut-icon.is-orange {
    color: #d88400;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-shortcut-icon.is-teal {
    color: #1596a6;
    background: #e7f8fa;
    border: 1px solid #c4eaee;
}

.av2-shortcut-more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    color: var(--av2-text-muted);
    background: transparent;
    border: 0;
    border-radius: 8px;
}

.av2-shortcut-more:hover,
.av2-shortcut-more:focus {
    color: var(--av2-text-strong);
    background: var(--av2-hover-bg);
    outline: none;
}

.av2-shortcut-card-body {
    flex: 1 1 auto;
    min-width: 0;
    padding: 14px 16px 16px;
    text-align: left;
}

.av2-shortcut-card-body h3 {
    margin: 0;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title, .90rem);
    font-weight: var(--av2-weight-bold, 700);
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-shortcut-card-body p {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    margin: 7px 0 0;
    overflow: hidden;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta, .70rem);
    line-height: 1.35;
    white-space: nowrap;
}

.av2-shortcut-card-body p i {
    flex: 0 0 auto;
    font-size: .74rem;
}

.av2-shortcut-card-body p span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-shortcut-card-footer {
    margin-top: auto;
    padding: 0 16px 16px;
    background: transparent;
    border-top: 0;
}

.av2-shortcut-card-footer .av2-shortcut-open {
    width: 100%;
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 11px;
    color: var(--av2-primary);
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    font-size: var(--av2-font-control, .82rem);
    font-weight: var(--av2-weight-semibold, 600);
    line-height: 1;
    text-decoration: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.av2-shortcut-card-footer .av2-shortcut-open:hover,
.av2-shortcut-card-footer .av2-shortcut-open:focus {
    color: var(--av2-primary);
    background: var(--av2-primary-soft, #eef5ff);
    border-color: rgba(11,92,255,.28);
    text-decoration: none !important;
}

.av2-shortcut-card-footer .av2-shortcut-open i {
    flex: 0 0 auto;
    font-size: .78rem;
    transition: transform .15s ease;
}

.av2-shortcut-card-footer .av2-shortcut-open:hover i {
    transform: translateX(2px);
}

.av2-shortcut-delete-form {
    margin: 0;
}


/* ============================================================
   BOTTOM NOTE / EMPTY STATE
   ============================================================ */

.av2-shortcuts-bottom-note {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 14px;
    padding: 10px 12px;
    color: var(--av2-text-muted);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.12);
    border-radius: 9px;
    font-size: var(--av2-font-meta);
}

.av2-shortcuts-bottom-note i {
    color: var(--av2-primary);
}

.av2-shortcuts-empty {
    padding: 55px 20px;
    text-align: center;
}

.av2-shortcuts-empty > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0 auto 11px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-radius: 12px;
}

.av2-shortcuts-empty h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-shortcuts-empty p {
    max-width: 430px;
    margin: 5px auto 14px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-compact);
    line-height: 1.45;
}


/* ============================================================
   RIGHT RAIL / ADD FORM
   ============================================================ */

.av2-shortcuts-right-rail {
    display: grid;
    gap: 12px;
}

.av2-shortcut-add-card {
    padding: 17px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-sm);
}

.av2-shortcut-add-heading {
    display: flex;
    align-items: flex-start;
    margin-bottom: 16px;
}

.av2-shortcut-add-heading > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    margin-right: 10px;
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 10px;
}

.av2-shortcut-add-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-shortcut-add-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-shortcut-form-group {
    margin-bottom: 13px;
}

.av2-shortcut-form-group label {
    display: block;
    margin-bottom: 5px;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-shortcut-form-group .form-control {
    min-height: 41px;
    color: var(--av2-text);
    background: var(--av2-input-bg);
    border: 1px solid var(--av2-border-strong);
    border-radius: 8px;
    font-size: var(--av2-font-control);
}


/* ============================================================
   ICON PICKER
   ============================================================ */

.av2-shortcut-icon-picker {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.av2-shortcut-icon-option {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    color: var(--av2-text-muted);
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 9px;
    font-size: 1rem;
    cursor: pointer;
    transition: border-color .16s ease, color .16s ease, background .16s ease, transform .16s ease;
}

.av2-shortcut-icon-option:hover {
    transform: translateY(-1px);
    color: var(--av2-primary);
    border-color: rgba(11,92,255,.35);
}

.av2-shortcut-icon-option.is-selected {
    color: var(--av2-primary);
    background: var(--av2-primary-soft);
    border-color: var(--av2-primary);
    box-shadow: 0 0 0 2px rgba(11,92,255,.08);
}


/* ============================================================
   PREVIEW
   ============================================================ */

.av2-shortcut-preview-label {
    margin: 15px 0 6px;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-shortcut-preview {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 76px;
    padding: 11px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-radius: 9px;
}

.av2-shortcut-preview > div {
    min-width: 0;
}

.av2-shortcut-preview strong {
    display: block;
    overflow: hidden;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-shortcut-preview span:not(.av2-shortcut-icon) {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.av2-shortcut-form-actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    margin-top: 16px;
}


/* ============================================================
   TIP CARD
   ============================================================ */

.av2-shortcut-tip-card {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
    color: var(--av2-text-secondary);
    background: linear-gradient(145deg, #061a3b, #0a2a5e);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 11px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-shortcut-tip-card > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    color: #f5a000;
    background: rgba(245,160,0,.13);
    border-radius: 9px;
}

.av2-shortcut-tip-card strong {
    display: block;
    color: #ffffff;
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-shortcut-tip-card p {
    margin: 3px 0 0;
    color: rgba(255,255,255,.67);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   EDIT MODALS
   ============================================================ */

.av2-shortcut-edit-modal .modal-content {
    overflow: hidden;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1399.98px) {
    .av2-shortcuts-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .av2-shortcuts-workspace {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

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

@media (max-width: 991.98px) {
    .av2-shortcuts-workspace {
        grid-template-columns: 1fr;
    }

    .av2-shortcuts-right-rail {
        grid-template-columns: minmax(0, 1fr) minmax(250px, .6fr);
    }
}

@media (max-width: 767.98px) {
    .av2-shortcuts-panel-header {
        min-height: 68px !important;
        padding: 0 14px !important;
    }

    .av2-shortcuts-panel-header > .btn {
        font-size: var(--av2-font-control);
    }

    .av2-shortcuts-panel-header > .btn i {
        margin: 0 !important;
        font-size: .86rem;
    }

    .av2-shortcuts-panel-content {
        padding: 12px !important;
    }

    .av2-shortcuts-right-rail {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .av2-shortcuts-grid {
        grid-template-columns: 1fr;
    }

    .av2-shortcut-card {
        min-height: 164px;
    }

    .av2-shortcut-form-actions {
        grid-template-columns: 1fr;
    }

    .av2-shortcut-icon-picker {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-shortcut-icon.is-blue {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-shortcut-icon.is-purple {
    color: #c3a5ff;
    background: rgba(133,69,219,.13);
    border-color: rgba(133,69,219,.24);
}

.mod-skin-dark .av2-shortcut-icon.is-orange {
    color: #ffc968;
    background: rgba(245,160,0,.13);
    border-color: rgba(245,160,0,.24);
}

.mod-skin-dark .av2-shortcut-icon.is-teal {
    color: #8fdae2;
    background: rgba(21,150,166,.13);
    border-color: rgba(21,150,166,.24);
}


/* ============================================================
   MY SHORTCUTS - PAGE HEADING SPACING
   Page-heading spacing correction
   Matches the tighter Control Center / AV2 page rhythm.
   ============================================================ */

.av2-shortcuts-page-heading {
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.av2-shortcuts-page-heading .av2-page-heading-content {
    padding-bottom: 0 !important;
}

.av2-shortcuts-page-heading .av2-breadcrumb,
.av2-shortcuts-page-heading .breadcrumb {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.av2-shortcuts-page-heading .av2-page-actions {
    align-self: flex-start;
    padding-top: 2px;
}

.av2-shortcuts-info {
    margin-top: 50px !important;
}


/* ========================================================================
   END 80.05 MY SHORTCUTS
   ======================================================================== */

/* ========================================================================
   80.06 ACCOUNT PROFILE
   ======================================================================== */

.av2-account-profile {
    font-family: var(--av2-font-family);
}

.av2-profile-page-heading {
    align-items: flex-start;
}

.av2-profile-page-subtitle {
    margin-top: 5px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-body);
    line-height: 1.45;
}


/* ============================================================
   WORKSPACE
   ============================================================ */

.av2-profile-workspace {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr) 260px;
    gap: 16px;
    align-items: start;
    margin: 18px 0 30px;
}

.av2-profile-left-rail,
.av2-profile-right-rail {
    display: grid;
    gap: 12px;
}

.av2-profile-main {
    min-width: 0;
}


/* ============================================================
   SHARED CARDS
   ============================================================ */

.av2-profile-card {
    padding: 15px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 12px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-profile-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 28px;
    margin-bottom: 12px;
}

.av2-profile-card-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-profile-card-heading .btn-link {
    padding: 0;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}


/* ============================================================
   ACCOUNT OVERVIEW
   ============================================================ */

.av2-profile-identity {
    text-align: center;
}

.av2-profile-avatar-wrap {
    width: 94px;
    height: 94px;
    margin: 0 auto 10px;
    overflow: hidden;
    background: var(--av2-surface-soft);
    border: 3px solid var(--av2-surface);
    border-radius: 50%;
    box-shadow:
        0 0 0 1px var(--av2-border),
        0 7px 16px rgba(15,23,42,.08);
}

.av2-profile-avatar-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.av2-profile-identity h3 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-item-title);
    font-weight: var(--av2-weight-bold);
}

.av2-profile-identity > span {
    display: block;
    margin-top: 3px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}


/* ============================================================
   LOGO CARD
   ============================================================ */

.av2-profile-logo-preview {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    max-height: 190px;
    margin-bottom: 11px;
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 10px;
}

.av2-profile-logo-checker,
.av2-logo-editor-checker {
    position: absolute;
    inset: 0;
    background-color: #fff;
    background-image:
        linear-gradient(45deg, #eef1f5 25%, transparent 25%),
        linear-gradient(-45deg, #eef1f5 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #eef1f5 75%),
        linear-gradient(-45deg, transparent 75%, #eef1f5 75%);
    background-size: 18px 18px;
    background-position:
        0 0,
        0 9px,
        9px -9px,
        -9px 0;
}

.av2-profile-logo-preview img {
    position: relative;
    z-index: 1;
    max-width: 84%;
    max-height: 84%;
    object-fit: contain;
}

.av2-profile-logo-help {
    display: block;
    margin-top: 8px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.35;
}


/* ============================================================
   MEMBERSHIP / CONNECTIONS
   ============================================================ */

.av2-profile-membership-status,
.av2-profile-connection-status,
.av2-profile-small-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 25px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-profile-membership-status.is-success,
.av2-profile-connection-status.is-success,
.av2-profile-small-status.is-success {
    color: #238847;
    background: #e9f7ee;
    border: 1px solid #c7e8d1;
}

.av2-profile-membership-status.is-warning {
    color: #a46b00;
    background: #fff3dc;
    border: 1px solid #f2d9a5;
}

.av2-profile-membership-status.is-info {
    color: #2459e6;
    background: #eaf0ff;
    border: 1px solid #c7d6ff;
}

.av2-profile-membership-status.is-danger {
    color: #c73849;
    background: #fdebed;
    border: 1px solid #f3c8cf;
}

.av2-profile-membership-status.is-neutral,
.av2-profile-connection-status.is-neutral {
    color: #596273;
    background: #eef0f4;
    border: 1px solid #d5dae3;
}

.av2-profile-membership-title {
    margin: 10px 0 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-profile-membership-copy,
.av2-profile-connection-copy {
    margin: 5px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.45;
}

.av2-profile-membership-support {
    display: block;
    margin-top: 6px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}

.av2-profile-integrations-link {
    margin-top: 7px;
    padding-bottom: 0;
    font-size: var(--av2-font-meta);
}

.av2-profile-social-meta {
    margin-top: 6px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}


/* ============================================================
   ACCOUNT META
   ============================================================ */

.av2-profile-account-meta {
    display: grid;
    gap: 7px;
    margin: 12px 0 0;
}

.av2-profile-account-meta > div {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding-top: 7px;
    border-top: 1px solid var(--av2-border);
}

.av2-profile-account-meta dt,
.av2-profile-account-meta dd {
    margin: 0;
    font-size: var(--av2-font-meta);
}

.av2-profile-account-meta dt {
    color: var(--av2-text-muted);
    font-weight: var(--av2-weight-semibold);
}

.av2-profile-account-meta dd {
    overflow: hidden;
    color: var(--av2-text-strong);
    font-weight: var(--av2-weight-bold);
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ============================================================
   TABS
   ============================================================ */

.av2-profile-tabs-wrap {
    padding: 0 14px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
}

.av2-profile-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    overflow-x: auto;
    border-bottom: 1px solid var(--av2-border);
    scrollbar-width: none;
}

.av2-profile-tabs::-webkit-scrollbar {
    display: none;
}

.av2-profile-tabs .nav-item {
    margin: 0;
}

.av2-profile-tabs .nav-link {
    position: relative;
    min-height: 54px;
    padding: 18px 0 13px;
    color: var(--av2-text-muted);
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    white-space: nowrap;
}

.av2-profile-tabs .nav-link::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: transparent;
}

.av2-profile-tabs .nav-link:hover {
    color: var(--av2-primary);
}

.av2-profile-tabs .nav-link.active {
    color: var(--av2-primary);
    background: transparent;
}

.av2-profile-tabs .nav-link.active::after {
    background: var(--av2-primary);
}

.av2-profile-tab-content {
    min-height: 500px;
    padding: 14px;
    background: var(--av2-surface-soft);
    border: 1px solid var(--av2-border);
    border-top: 0;
    border-radius: 0 0 12px 12px;
}


/* ============================================================
   SECTION CARDS
   ============================================================ */

.av2-profile-section-card {
    padding: 16px;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 10px;
    box-shadow: var(--av2-shadow-xs);
}

.av2-profile-section-card + .av2-profile-section-card {
    margin-top: 12px;
}

.av2-profile-section-heading {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

.av2-profile-section-heading > span,
.av2-profile-setting-copy > span,
.av2-profile-quick-links > button > span {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
}

.av2-profile-section-heading > span {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-right: 10px;
}

.av2-profile-section-heading > span.is-blue,
.av2-profile-setting-copy > span.is-blue,
.av2-profile-quick-links > button > span.is-blue {
    color: #2459e6;
    background: #eaf0ff;
}

.av2-profile-section-heading > span.is-green,
.av2-profile-setting-copy > span.is-green,
.av2-profile-quick-links > button > span.is-green {
    color: #238847;
    background: #e9f7ee;
}

.av2-profile-section-heading > span.is-orange,
.av2-profile-setting-copy > span.is-orange,
.av2-profile-quick-links > button > span.is-orange {
    color: #d88400;
    background: #fff3dc;
}

.av2-profile-section-heading > span.is-purple,
.av2-profile-setting-copy > span.is-purple,
.av2-profile-quick-links > button > span.is-purple {
    color: #8545db;
    background: rgba(133,69,219,.08);
}

.av2-profile-setting-copy > span.is-teal,
.av2-profile-quick-links > button > span.is-teal {
    color: #1596a6;
    background: #e7f8fa;
}

.av2-profile-section-heading h2 {
    margin: 0;
    color: var(--av2-text-strong);
    font-size: var(--av2-font-section-title);
    font-weight: var(--av2-weight-bold);
}

.av2-profile-section-heading p {
    margin: 3px 0 0;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   FORMS
   ============================================================ */

.av2-profile-form-group {
    margin-bottom: 13px;
}

.av2-profile-form-group label {
    display: block;
    margin-bottom: 5px;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-profile-form-group .form-control {
    min-height: 40px;
    color: var(--av2-text);
    background: var(--av2-input-bg);
    border: 1px solid var(--av2-border-strong);
    border-radius: 8px;
    font-size: var(--av2-font-control);
}

.av2-profile-form-group textarea.form-control {
    min-height: 110px;
}

.av2-profile-form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--av2-border);
}


/* ============================================================
   INFO NOTE
   ============================================================ */

.av2-profile-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 2px 0 13px;
    padding: 10px 12px;
    color: var(--av2-text-secondary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 9px;
}

.av2-profile-note > i {
    margin-top: 2px;
    color: var(--av2-primary);
}

.av2-profile-note strong {
    display: block;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-profile-note span {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   SETTING ROWS
   ============================================================ */

.av2-profile-setting-stack {
    overflow: hidden;
    border: 1px solid var(--av2-border);
    border-radius: 9px;
}

.av2-profile-setting-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, auto);
    gap: 14px;
    align-items: center;
    min-height: 72px;
    margin: 0;
    padding: 11px 12px;
    background: var(--av2-surface);
    border-bottom: 1px solid var(--av2-border);
}

.av2-profile-setting-row:last-child {
    border-bottom: 0;
}

.av2-profile-setting-copy {
    display: flex;
    align-items: center;
    min-width: 0;
}

.av2-profile-setting-copy > span {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-right: 9px;
}

.av2-profile-setting-copy strong {
    display: block;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-compact);
    font-weight: var(--av2-weight-bold);
}

.av2-profile-setting-copy small {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.35;
}

.av2-profile-setting-control {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

.av2-profile-setting-control .form-control {
    min-width: 145px;
    min-height: 38px;
    color: var(--av2-text);
    background: var(--av2-input-bg);
    border: 1px solid var(--av2-border-strong);
    border-radius: 8px;
    font-size: var(--av2-font-meta);
}


/* ============================================================
   QUICK LINKS
   ============================================================ */

.av2-profile-quick-links {
    display: grid;
    margin: 0 -15px -15px;
}

.av2-profile-quick-links > button {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 14px;
    gap: 8px;
    align-items: center;
    min-height: 56px;
    padding: 8px 15px;
    text-align: left;
    color: inherit;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--av2-border);
    cursor: pointer;
}

.av2-profile-quick-links > button:hover {
    background: var(--av2-hover-bg);
}

.av2-profile-quick-links > button > span {
    width: 30px;
    height: 30px;
}

.av2-profile-quick-links strong {
    display: block;
    color: var(--av2-text-secondary);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-profile-quick-links small {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-profile-quick-links > button > i {
    color: var(--av2-primary);
    font-size: var(--av2-font-control);
}


/* ============================================================
   LOGO EDITOR
   ============================================================ */

.av2-logo-editor-layout {
    display: grid;
    grid-template-columns: minmax(300px, .9fr) minmax(260px, 1.1fr);
    gap: 20px;
    align-items: start;
}

.av2-logo-editor-stage-wrap {
    text-align: center;
}

.av2-logo-editor-stage {
    position: relative;
    width: 280px;
    height: 280px;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
    border: 2px solid var(--av2-border-strong);
    border-radius: 14px;
    touch-action: none;
    cursor: grab;
}

.av2-logo-editor-stage img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transform-origin: top left;
    user-select: none;
    -webkit-user-drag: none;
    cursor: grab;
}

.av2-logo-editor-help {
    margin-top: 8px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-logo-editor-control-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.av2-logo-editor-control-label > span {
    color: var(--av2-primary);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-logo-editor-output-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 11px;
    color: var(--av2-text-secondary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 9px;
}

.av2-logo-editor-output-note > i {
    margin-top: 2px;
    color: var(--av2-primary);
}

.av2-logo-editor-output-note strong {
    display: block;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-logo-editor-output-note span {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* ============================================================
   EXISTING MODALS - VISUAL PASS ONLY
   ============================================================ */

#editprofileModal .modal-content,
#anniversaryEmailModal .modal-content,
#birthdayEmailModal .modal-content,
#signatureModal .modal-content,
#exampleModal .modal-content {
    overflow: hidden;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 14px;
    box-shadow: 0 18px 46px rgba(15,23,42,.18);
}

#editprofileModal .modal-header,
#anniversaryEmailModal .modal-header,
#birthdayEmailModal .modal-header,
#signatureModal .modal-header,
#exampleModal .modal-header {
    background: var(--av2-surface);
    border-bottom: 1px solid var(--av2-border);
}

#editprofileModal .modal-title,
#anniversaryEmailModal .modal-title,
#birthdayEmailModal .modal-title,
#signatureModal .modal-title,
#exampleModal .modal-title {
    color: var(--av2-text-strong);
    font-size: var(--av2-font-modal-title);
    font-weight: var(--av2-weight-bold);
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1399.98px) {
    .av2-profile-workspace {
        grid-template-columns: 240px minmax(0, 1fr) 240px;
    }
}

@media (max-width: 1199.98px) {
    .av2-profile-workspace {
        grid-template-columns: 240px minmax(0, 1fr);
    }

    .av2-profile-right-rail {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .av2-profile-workspace {
        grid-template-columns: 1fr;
    }

    .av2-profile-main {
        grid-row: 1;
    }

    .av2-profile-left-rail {
        grid-row: 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .av2-profile-right-rail {
        grid-row: 3;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .av2-profile-left-rail,
    .av2-profile-right-rail {
        grid-template-columns: 1fr;
    }

    .av2-profile-setting-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .av2-profile-setting-control {
        justify-content: stretch;
        flex-wrap: wrap;
    }

    .av2-profile-setting-control .form-control {
        flex: 1 1 100%;
        width: 100%;
    }

    .av2-profile-setting-control .btn {
        flex: 1 1 auto;
    }

    .av2-logo-editor-layout {
        grid-template-columns: 1fr;
    }

    .av2-logo-editor-stage {
        width: 240px;
        height: 240px;
    }
}

@media (max-width: 575.98px) {
    .av2-profile-tab-content {
        padding: 10px;
    }

    .av2-profile-section-card {
        padding: 13px;
    }

    .av2-profile-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .av2-profile-form-actions .btn {
        width: 100%;
    }
}


/* ============================================================
   DARK MODE
   ============================================================ */

.mod-skin-dark .av2-profile-membership-status.is-success,
.mod-skin-dark .av2-profile-connection-status.is-success,
.mod-skin-dark .av2-profile-small-status.is-success {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
    border-color: rgba(47,155,85,.24);
}

.mod-skin-dark .av2-profile-membership-status.is-warning {
    color: #ffc968;
    background: rgba(245,160,0,.13);
    border-color: rgba(245,160,0,.24);
}

.mod-skin-dark .av2-profile-membership-status.is-info {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
    border-color: rgba(11,92,255,.28);
}

.mod-skin-dark .av2-profile-membership-status.is-danger {
    color: #ff9ca6;
    background: rgba(220,53,69,.14);
    border-color: rgba(220,53,69,.24);
}

.mod-skin-dark .av2-profile-section-heading > span.is-blue,
.mod-skin-dark .av2-profile-setting-copy > span.is-blue,
.mod-skin-dark .av2-profile-quick-links > button > span.is-blue {
    color: #9fbeff;
    background: rgba(11,92,255,.16);
}

.mod-skin-dark .av2-profile-section-heading > span.is-green,
.mod-skin-dark .av2-profile-setting-copy > span.is-green,
.mod-skin-dark .av2-profile-quick-links > button > span.is-green {
    color: #8de3ac;
    background: rgba(47,155,85,.13);
}

.mod-skin-dark .av2-profile-section-heading > span.is-orange,
.mod-skin-dark .av2-profile-setting-copy > span.is-orange,
.mod-skin-dark .av2-profile-quick-links > button > span.is-orange {
    color: #ffc968;
    background: rgba(245,160,0,.13);
}

.mod-skin-dark .av2-profile-section-heading > span.is-purple,
.mod-skin-dark .av2-profile-setting-copy > span.is-purple,
.mod-skin-dark .av2-profile-quick-links > button > span.is-purple {
    color: #c3a5ff;
    background: rgba(133,69,219,.13);
}

.mod-skin-dark .av2-profile-logo-checker,
.mod-skin-dark .av2-logo-editor-checker {
    background-color: #fff;
}


/* ============================================================
   ACCOUNT PROFILE - RESPONSIVE / MEDIA EDITORS
   Final authority for media editors, notification controls,
   and tablet/mobile layouts.
   ============================================================ */


/* ------------------------------------------------------------
   PROFILE + LOGO MODALS: ONE VISUAL SYSTEM
   ------------------------------------------------------------ */

.av2-media-editor-dialog {
    width: calc(100% - 32px);
    max-width: 860px !important;
    margin-right: auto;
    margin-left: auto;
}

.av2-profile-image-modal .modal-content,
.av2-logo-editor-modal .modal-content {
    overflow: hidden;
    background: var(--av2-surface);
    border: 1px solid var(--av2-border);
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(15,23,42,.22);
}

.av2-profile-image-modal .av2-modal-header,
.av2-logo-editor-modal .av2-modal-header {
    min-height: 92px;
    padding: 20px 24px;
    color: #fff;
    background:
        linear-gradient(110deg, #061a3b 0%, #0b3b91 54%, #0b5cff 100%);
    border-bottom: 0;
}

.av2-profile-image-modal .av2-modal-title,
.av2-logo-editor-modal .av2-modal-title {
    color: #fff;
}

.av2-profile-image-modal .av2-modal-subtitle,
.av2-logo-editor-modal .av2-modal-subtitle {
    color: rgba(255,255,255,.72);
}

.av2-profile-image-modal .av2-modal-header-icon,
.av2-logo-editor-modal .av2-modal-header-icon {
    color: #fff;
    background: rgba(255,255,255,.09);
    border: 1px solid rgba(255,255,255,.20);
}

.av2-profile-image-modal .av2-modal-close,
.av2-logo-editor-modal .av2-modal-close {
    color: #fff !important;
    opacity: 1;
}

.av2-profile-image-modal .av2-modal-close:hover,
.av2-logo-editor-modal .av2-modal-close:hover {
    color: #fff !important;
    background: rgba(255,255,255,.10);
}

.av2-profile-image-modal .av2-modal-body,
.av2-logo-editor-modal .av2-modal-body {
    padding: 24px;
}

.av2-profile-image-modal .av2-modal-footer,
.av2-logo-editor-modal .av2-modal-footer {
    padding: 14px 24px;
    background: var(--av2-surface);
    border-top: 1px solid var(--av2-border);
}


/* Shared media editor layout */

.av2-media-editor-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 28px;
    align-items: center;
}

.av2-media-editor-stage-wrap {
    min-width: 0;
    text-align: center;
}

.av2-media-editor-controls {
    min-width: 0;
}

.av2-media-editor-help {
    margin-top: 10px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-media-editor-control-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.av2-media-editor-control-label > span {
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
}

.av2-media-editor-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 18px;
    padding: 11px 12px;
    color: var(--av2-text-secondary);
    background: var(--av2-primary-soft);
    border: 1px solid rgba(11,92,255,.14);
    border-radius: 9px;
}

.av2-media-editor-note > i {
    margin-top: 2px;
    color: var(--av2-primary);
}

.av2-media-editor-note strong {
    display: block;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

.av2-media-editor-note span {
    display: block;
    margin-top: 2px;
    color: var(--av2-text-muted);
    font-size: var(--av2-font-meta);
    line-height: 1.4;
}


/* Profile editor crop */

.av2-profile-image-editor-stage {
    position: relative;
    width: 260px;
    height: 260px;
    margin: 0 auto;
    overflow: hidden;
    background: var(--av2-surface-soft);
    border: 2px solid var(--av2-border-strong);
    border-radius: 50%;
    touch-action: none;
}

.av2-profile-image-editor-stage #output {
    position: absolute;
    top: 0;
    left: 0;
    transform-origin: top left;
    user-select: none;
    -webkit-user-drag: none;
    cursor: grab;
}


/* Logo editor uses same dimensions/rhythm */

.av2-logo-editor-stage {
    width: 260px !important;
    height: 260px !important;
}

.av2-logo-editor-help,
.av2-logo-editor-control-label,
.av2-logo-editor-output-note {
    /* Shared classes above own final presentation. */
}


/* ------------------------------------------------------------
   NOTIFICATION ACTIONS
   ------------------------------------------------------------ */

.av2-profile-message-edit {
    display: inline-flex;
    align-items: center;
    min-height: 0;
    margin-top: 4px;
    padding: 0;
    color: var(--av2-primary);
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
    line-height: 1.35;
}

.av2-profile-message-edit:hover {
    color: var(--av2-primary);
    text-decoration: underline;
}

.av2-profile-setting-control {
    min-width: 235px;
}

.av2-profile-setting-control .form-control {
    flex: 1 1 150px;
}

.av2-profile-setting-control > .btn {
    flex: 0 0 auto;
    min-width: 66px;
}


/* ------------------------------------------------------------
   REDUCE DUPLICATE BUTTON CHROME
   ------------------------------------------------------------ */

.av2-profile-text-link {
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
    padding: 0;
    color: var(--av2-primary);
    background: transparent;
    border: 0;
    font-size: var(--av2-font-meta);
    font-weight: var(--av2-weight-bold);
}

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

.av2-profile-text-link-button {
    width: auto;
    min-height: 0;
    text-align: left;
}

/* ============================================================
   GLOBAL AV2 PAGE SUBTITLE RESPONSIVE RULE
   Hide page description/subtitle text on tablet and mobile
   ============================================================ */

@media (max-width: 1366px) {
    [class*="page-subtitle"] {
        display: none !important;
    }
}

/* ------------------------------------------------------------
   DESKTOP / TABLET LANDSCAPE
   Switch away from three columns sooner because SmartAdmin's
   sidebar reduces the usable page-content width.
   ------------------------------------------------------------ */

@media (max-width: 1599.98px) {
    .av2-profile-workspace {
        grid-template-columns: 220px minmax(0, 1fr) !important;
        gap: 14px;
    }

    .av2-profile-main {
        min-width: 0;
    }

    .av2-profile-right-rail {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
    }

    .av2-profile-tabs {
        gap: 13px;
    }

    .av2-profile-tabs .nav-link {
        font-size: var(--av2-font-control);
    }
}


/* ------------------------------------------------------------
   TABLET PORTRAIT / NARROW LANDSCAPE
   Main settings become full width first. Supporting cards move
   below instead of squeezing the working form area.
   ------------------------------------------------------------ */

@media (max-width: 1199.98px) {
    .av2-profile-workspace {
        grid-template-columns: 1fr !important;
    }

    .av2-profile-main {
        grid-row: 1;
    }

    .av2-profile-left-rail {
        grid-row: 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .av2-profile-right-rail {
        grid-row: 3;
        grid-column: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .av2-profile-logo-preview {
        aspect-ratio: auto;
        min-height: 180px;
    }

    .av2-profile-tabs-wrap {
        padding-right: 12px;
        padding-left: 12px;
    }

    .av2-profile-tabs {
        gap: 16px;
    }

    .av2-profile-tabs .nav-link {
        font-size: var(--av2-font-meta);
    }
}


/* ------------------------------------------------------------
   TABLET PORTRAIT
   Stack setting description and controls. This prevents the
   select/save area from crushing notification names.
   ------------------------------------------------------------ */

@media (max-width: 991.98px) {
    .av2-profile-setting-row {
        grid-template-columns: 1fr !important;
        gap: 10px;
        align-items: stretch;
    }

    .av2-profile-setting-control {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        min-width: 0;
        width: 100%;
    }

    .av2-profile-setting-control .form-control {
        width: 100%;
        min-width: 0;
    }

    .av2-profile-setting-control > .btn {
        min-width: 72px;
    }

    .av2-profile-tabs-wrap {
        overflow: hidden;
    }

    .av2-profile-tabs {
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-x: contain;
    }
}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 767.98px) {
    .av2-profile-left-rail,
    .av2-profile-right-rail {
        grid-template-columns: 1fr !important;
    }

    .av2-profile-workspace {
        gap: 12px;
        margin-top: 12px;
    }

    .av2-profile-tab-content {
        padding: 10px !important;
    }

    .av2-profile-section-card {
        padding: 13px !important;
    }

    .av2-profile-tabs {
        gap: 14px;
    }

    .av2-profile-tabs .nav-link {
        min-height: 48px;
        padding-top: 15px;
        padding-bottom: 11px;
    }

    .av2-media-editor-dialog {
        width: calc(100% - 20px);
        max-width: none !important;
        margin: 10px auto;
    }

    .av2-profile-image-modal .av2-modal-header,
    .av2-logo-editor-modal .av2-modal-header {
        min-height: 82px;
        padding: 16px;
    }

    .av2-profile-image-modal .av2-modal-body,
    .av2-logo-editor-modal .av2-modal-body {
        padding: 16px;
    }

    .av2-profile-image-modal .av2-modal-footer,
    .av2-logo-editor-modal .av2-modal-footer {
        padding: 12px 16px;
    }

    .av2-media-editor-layout {
        grid-template-columns: 1fr !important;
        gap: 18px;
    }

    .av2-profile-image-editor-stage,
    .av2-logo-editor-stage {
        width: 220px !important;
        height: 220px !important;
    }
}

@media (max-width: 575.98px) {
    .av2-profile-setting-control {
        grid-template-columns: 1fr;
    }

    .av2-profile-setting-control > .btn {
        width: 100%;
    }

    .av2-profile-section-heading {
        align-items: flex-start;
    }

    .av2-profile-section-heading p {
        line-height: 1.35;
    }

    .av2-profile-form-actions .btn {
        width: 100%;
    }

    .av2-profile-image-modal .av2-modal-footer,
    .av2-logo-editor-modal .av2-modal-footer {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .av2-profile-image-modal .av2-modal-footer .btn,
    .av2-logo-editor-modal .av2-modal-footer .btn {
        width: 100%;
        margin: 0;
    }
}


/* ------------------------------------------------------------
   DARK MODE
   ------------------------------------------------------------ */

.mod-skin-dark .av2-profile-image-editor-stage {
    background: var(--av2-surface-soft);
}


/* ========================================================================
   END 80.06 ACCOUNT PROFILE
   ======================================================================== */


/* ========================================================================
   END 80. ACCOUNT & ADMIN
   ======================================================================== */