/* ════════════════════════════════════════════════════════════════════════════
   THE HOMES LAB - thl.css
   THE ONLY STYLESHEET. THE ONLY PLACE ANY COLOUR IS DEFINED.
   ----------------------------------------------------------------------------
   Five separate stylesheets used to do this job (tokens, universal font/bg,
   components, site colours, sidebar). They are all here now, in cascade order:

     1  TOKENS      every colour value the platform uses, once
     2  BASE        font, line-height, and THE site background - the only
                    background:body rule that may exist anywhere
     3  COMPONENTS  shared widgets: buttons, toasts, pagination, badges
     4  SIDEBAR     the user sidebar
     5  SITE COLOURS which element on which page uses which token

   THE RULES THAT KEEP THIS WORKING ARE IN README_STYLE.md. READ IT BEFORE
   ADDING A SINGLE LINE OF CSS ANYWHERE IN THIS CODEBASE.
   ════════════════════════════════════════════════════════════════════════════ */

/* ══ 1. TOKENS ══════════════════════════════════════════════════════════════ */
/* ============================================================================
   THE HOMES LAB - DESIGN TOKENS  (single source of truth)
   ----------------------------------------------------------------------------
   Every colour, radius and shadow the platform uses is defined HERE and only
   here. Change a value once and the whole site follows.

   WHY THIS FILE EXISTS
   110 pages each carried their own :root block and they had already drifted:
   four different --ink values, two --gold, two --r. There was no single source
   of truth to change.

   HOW IT LOADS
   Linked from header.php inside <head>, BEFORE any page's inline <style>. The
   per-page :root blocks have been removed, so this file wins outright - no
   cascade tricks, no dead code left behind.

   VALUES
   Where pages disagreed, the value used by the MOST pages won. Divergent pages
   snap to it, which is the point of the exercise.

   EVERY token any page ever defined is present, so no page can lose a variable
   it references.
   ============================================================================ */
:root {

    /* -- Brand -- */
    --g         : #00B53F;
    --g-dk      : #008f32;
    --g-mid     : #00a838;
    --g-lt      : #e8f8ee;
    --g-br      : #86efac;
    --g-md      : #b6f0cc;
    --g-rgb     : 0,181,63;
    --brand     : #3aad5a;
    --brand-dark: #2e9a4e;
    --accent    : #A5D6A7;
    --hg        : rgb(4, 136, 74);
    --hg-dk     : rgb(3, 102, 55);
    --hg-lt     : #e8f8ee;
    --hg-hover  : rgb(98, 160, 131);

    /* -- Text -- */
    --ink  : #1c1c1c;
    --sub  : #4b5563;
    --muted: #9ca3af;

    /* -- Surfaces -- */
    --white  : #ffffff;
    --card   : #ffffff;
    --surf   : #f9fafb;
    --surface: #f9fafb;
    --border : #e5e7eb;

    /* -- Semantic -- */
    --red     : #ef4444;
    --red-lt  : #fef2f2;
    --error   : #dc2626;
    --ok      : #16a34a;
    --warn    : #d97706;
    --info    : #2563eb;

    /* -- Status family (toasts, err-box, badges, alerts) ------------------
       MEDIUM borders on soft tinted backgrounds with strong text. One
       triplet per status; every component that signals a status consumes
       THESE and never a raw hex, so re-tuning a status is a one-line edit
       here and a dark theme later just swaps this block. */
    --st-ok-bd   : var(--g);        /* the same medium green as the view/promote borders */
    --st-ok-bg   : var(--g-lt);
    --st-ok-ink  : var(--g-dk);
    --st-err-bd  : #e05252;
    --st-err-bg  : #fdeded;
    --st-err-ink : #b42323;
    --st-warn-bd : var(--warn);     /* #d97706 - medium amber, not a pale wash */
    --st-warn-bg : #fdf3e0;
    --st-warn-ink: #9a5b00;
    --st-info-bd : #4e83d8;

    /* -- Page background -------------------------------------------------
       The site background is white and comes from css/universal_font&bg_clr.css.
       SEVEN pages used to override it with their own hardcoded grey, which is
       exactly what the header rule in every file forbids. They now share this
       ONE token instead, so "the pages with a tinted canvas" is a single
       value, changeable here. Set it to var(--white) to make the whole site
       flat white. */
    --page-bg    : #f4f5f7;
    --ink-5      : #666666;   /* mid grey text */

    /* -- Extended palette (added during the whole-site tokenisation) -------
       Every value below appeared 25+ times as a raw hex across the pages.
       They are named by role so the day one changes, it changes everywhere. */
    --red-br     : #fca5a5;   /* light red border            */
    --red-brd    : #fecaca;   /* softest red border          */
    --g-vivid    : #4ade80;   /* vivid green accents         */
    --g-inklt    : #166534;   /* deep green text             */
    --g-bglt     : #f0fdf4;   /* faintest green wash         */
    --amber-ink  : #92400e;   /* amber text                  */
    --amber-bglt : #fef3c7;   /* soft amber wash             */
    --ink-2      : #111827;   /* near-black headings         */
    --ink-3      : #111111;
    --ink-4      : #555555;
    --border-2   : #d1d5db;   /* stronger neutral border     */
    --border-3   : #e9eaec;
    --surf-2     : #f0f0f0;
    --blue-ink   : #1e40af;   /* blue text                   */
    --blue-ink-2 : #1d4ed8;
    --blue-bglt  : #dbeafe;   /* soft blue wash              */
    --violet     : #6d28d9;   /* violet accents (plans, pro) */
    --violet-bglt: #ede9fe;
    --violet-br  : #ddd6fe;
    --facebook   : #1877f2;   /* brand: Facebook             */
    --st-info-bg : #ecf3fd;
    --st-info-ink: #1d4fa8;
    --info-lt : #eff6ff;
    --gold    : #d97706;
    --gold-lt : #fffbeb;
    --gold-bd : #fde68a;
    --amber   : #f59e0b;
    --amber-lt: #fffbeb;
    --amber-br: #fde68a;

    /* -- Accents -- */
    --blue      : #2563eb;
    --blue-lt   : #eff6ff;
    --blue-br   : #bfdbfe;
    --p-blue-x3 : #b1c2d6;
    --p-blue-x3-rgb: 177,194,214;
    --p-blue-x4 : #dbe9f9;
    --p-blue-x4-rgb: 219,233,249;
    --p-amber-x1: #eab308;
    --p-amber-x1-rgb: 234,179,8;
    --p-orange-x3: #f97316;
    --p-orange-x3-rgb: 249,115,22;
    --p-amber-x2: #ffff00;
    --p-amber-x2-rgb: 255,255,0;
    --purple    : #7c3aed;
    --purple-lt : #f5f3ff;
    --teal      : #0f766e;
    --indigo    : #6366f1;
    --orange    : #ea580c;
    --vivid-blue: #0000ff;
    --vivid-red : #ff0000;
    --arch      : #7c3aed;
    --struct    : #0891b2;
    --c-indigo  : #6366f1;
    --c-cyan    : #0891b2;
    --c-amber   : #f59e0b;
    --c-red     : #ef4444;
    --c-emerald : #10b981;
    --c-blue    : #3b82f6;
    --c-purple  : #a855f7;
    --c-pink    : #ec4899;
    --clr-views : #3b82f6;
    --clr-love  : #ef4444;
    --clr-fav   : #f59e0b;

    /* -- Shape -- */
    --r       : 12px;
    --r-sm    : 9px;
    --r-lg    : 20px;
    --nav-h   : 50px;
    --page-pad: 17px;

    /* -- Shadows -- */
    --shadow      : 0 4px 20px rgba(0,0,0,0.08);
    --shadow-sm   : 0 1px 4px rgba(0,0,0,0.06);
    --shadow-hover: 0 8px 32px rgba(0,0,0,0.14);
    --shadow-lg   : 0 12px 48px rgba(0,0,0,0.13);
    --sh1         : 0 1px 3px rgba(0,0,0,.06), 0 2px 8px rgba(0,0,0,.05);
    --sh2         : 0 4px 20px rgba(0,0,0,.09);
    --sh3         : 0 12px 44px rgba(0,0,0,.14);

    /* -- Overlays -- */
    --img-overlay      : linear-gradient(rgba(26,26,26,0.18), rgba(26,26,26,0.32));
    --img-overlay-label: linear-gradient(to top, rgba(26,26,26,0.55) 0%, rgba(26,26,26,0.18) 45%, rgba(26,26,26,0.04) 100%);

    /* -- Social -- */
    --facebook-color : #3b5998;
    --twitter-color  : #1da1f2;
    --telegram-color : #0088cc;
    --linkedin-color : #0077b5;
    --whatsapp-color : #25d366;
    --discord-color  : #5865f2;
    --snapchat-color : #f7d000;
    --instagram-color: #e4405f;
    --tiktok-color   : #010101;
    --youtube-color  : #ff0000;

    /* -- Repaired: referenced by a page but never defined anywhere, so the
          var() silently resolved to nothing. Pre-existing bug, fixed here. -- */
    --line      : #e5e7eb;   /* community_pages/view_post.php */
    --surface2  : #f3f4f6;   /* calculator_pages/construction_cost_calculator.php */

    /* ══════════════════════════════════════════════════════════════════
       COMPLETE PALETTE - every colour used anywhere on the site
       ------------------------------------------------------------------
       Generated from a full sweep of all 124 files. After this block there
       is NO colour value defined anywhere else in the codebase except:
         - <script> canvas drawing (JS cannot read CSS variables)
         - includes/email_functions.php (email clients ignore CSS variables)

       Names are hue family + lightness rank: --p-grey-1 is the lightest
       grey, --p-grey-84 the darkest. Each has a matching -rgb triplet for
       rgba() washes, so even translucent colours live here.

       CHANGE ANY VALUE HERE AND EVERY PAGE FOLLOWS IMMEDIATELY.
       A dark theme means overriding THIS FILE and nothing else.
       ══════════════════════════════════════════════════════════════════ */

    /* -- amber -- */
    --p-amber-1   : #ffd700;
    --p-amber-1-rgb: 255,215,0;
    --p-amber-2   : #fcd34d;
    --p-amber-2-rgb: 252,211,77;
    --p-amber-3   : #f3d98a;
    --p-amber-3-rgb: 243,217,138;
    --p-amber-4   : #fde047;
    --p-amber-4-rgb: 253,224,71;
    --p-amber-5   : #ffe066;
    --p-amber-5-rgb: 255,224,102;
    --p-amber-6   : #fef6da;
    --p-amber-6-rgb: 254,246,218;
    --p-amber-7   : #fef9c3;
    --p-amber-7-rgb: 254,249,195;
    --p-amber-8   : #fff8e1;
    --p-amber-8-rgb: 255,251,235;   /* #fffbeb, for the freelance quote wash */
    --p-amber-8-rgb: 255,248,225;
    --p-amber-9   : #fefce8;
    --p-amber-9-rgb: 254,252,232;

    /* -- black -- */
    --p-black-1   : #000000;
    --p-black-1-rgb: 0,0,0;
    --p-black-2   : #060606;
    --p-black-2-rgb: 6,6,6;
    --p-black-3   : #080808;
    --p-black-3-rgb: 8,8,8;
    --p-black-4   : #08080c;
    --p-black-4-rgb: 8,8,12;
    --p-black-5   : #0a0908;
    --p-black-5-rgb: 10,9,8;
    --p-black-6   : #0a0a0a;
    --p-black-6-rgb: 10,10,10;
    --p-black-7   : #0d1117;
    --p-black-7-rgb: 13,17,23;
    --p-black-8   : #0e1512;
    --p-black-8-rgb: 14,21,18;
    --p-black-9   : #0d1a14;
    --p-black-10  : #050a14;
    --p-black-10-rgb: 5,10,20;
    --p-black-9-rgb: 13,26,20;

    /* -- blue -- */
    --p-blue-1    : #060f1e;
    --p-blue-1-rgb: 6,15,30;
    --p-blue-2    : #0a1628;
    --p-blue-2-rgb: 10,22,40;
    --p-blue-3    : #0f172a;
    --p-blue-3-rgb: 15,23,42;
    --p-blue-4    : #101828;
    --p-blue-4-rgb: 16,24,40;
    --p-blue-5    : #1a0dab;
    --p-blue-5-rgb: 26,13,171;
    --p-blue-6    : #1a1a2e;
    --p-blue-6-rgb: 26,26,46;
    --p-blue-7    : #0d2137;
    --p-blue-7-rgb: 13,33,55;
    --p-blue-8    : #0a2540;
    --p-blue-8-rgb: 10,37,64;
    --p-blue-9    : #1b2733;
    --p-blue-9-rgb: 27,39,51;
    --p-blue-10   : #1f2937;
    --p-blue-10-rgb: 31,41,55;
    --p-blue-11   : #1e293b;
    --p-blue-11-rgb: 30,41,59;
    --p-blue-12   : #1f2d47;
    --p-blue-12-rgb: 31,45,71;
    --p-blue-13   : #003087;
    --p-blue-13-rgb: 0,48,135;
    --p-blue-14   : #1f3a5f;
    --p-blue-14-rgb: 31,58,95;
    --p-blue-15   : #1e3a8a;
    --p-blue-15-rgb: 30,58,138;
    --p-blue-16   : #2c3e56;
    --p-blue-16-rgb: 44,62,86;
    --p-blue-17   : #0c4a6e;
    --p-blue-17-rgb: 12,74,110;
    --p-blue-18   : #334155;
    --p-blue-18-rgb: 51,65,85;
    --p-blue-19   : #374151;
    --p-blue-19-rgb: 55,65,81;
    --p-blue-20   : #005f8f;
    --p-blue-20-rgb: 0,95,143;
    --p-blue-21   : #4f46e5;
    --p-blue-21-rgb: 79,70,229;
    --p-blue-22   : #475569;
    --p-blue-22-rgb: 71,85,105;
    --p-blue-23   : #0369a1;
    --p-blue-23-rgb: 3,105,161;
    --p-blue-24   : #0a66c2;
    --p-blue-24-rgb: 10,102,194;
    --p-blue-25   : #0064ff;
    --p-blue-25-rgb: 0,100,255;
    --p-blue-26   : #0069d9;
    --p-blue-26-rgb: 0,105,217;
    --p-blue-27   : #52606d;
    --p-blue-27-rgb: 82,96,109;
    --p-blue-28   : #2563eb;
    --p-blue-28-rgb: 37,99,235;
    --p-blue-29   : #566270;
    --p-blue-29-rgb: 86,98,112;
    --p-blue-30   : #5b6470;
    --p-blue-30-rgb: 91,100,112;
    --p-blue-31   : #3f68a6;
    --p-blue-31-rgb: 63,104,166;
    --p-blue-32   : #4368a0;
    --p-blue-32-rgb: 67,104,160;
    --p-blue-33   : #6366f1;
    --p-blue-33-rgb: 99,102,241;
    --p-blue-34   : #6b7280;
    --p-blue-34-rgb: 107,114,128;
    --p-blue-35   : #64748b;
    --p-blue-35-rgb: 100,116,139;
    --p-blue-36   : #6b7682;
    --p-blue-36-rgb: 107,118,130;
    --p-blue-37   : #3b82f6;
    --p-blue-37-rgb: 59,130,246;
    --p-blue-38   : #4285f4;
    --p-blue-38-rgb: 66,133,244;
    --p-blue-39   : #1e90ff;
    --p-blue-39-rgb: 30,144,255;
    --p-blue-40   : #8a93a0;
    --p-blue-40-rgb: 138,147,160;
    --p-blue-41   : #8a94a3;
    --p-blue-41-rgb: 138,148,163;
    --p-blue-42   : #8a97a6;
    --p-blue-42-rgb: 138,151,166;
    --p-blue-43   : #60a5fa;
    --p-blue-43-rgb: 96,165,250;
    --p-blue-44   : #94a3b8;
    --p-blue-44-rgb: 148,163,184;
    --p-blue-45   : #9aa3ac;
    --p-blue-45-rgb: 154,163,172;
    --p-blue-46   : #9aa6b2;
    --p-blue-46-rgb: 154,166,178;
    --p-blue-47   : #c4b5fd;
    --p-blue-47-rgb: 196,181,253;
    --p-blue-48   : #93c5fd;
    --p-blue-48-rgb: 147,197,253;
    --p-blue-49   : #c7d2dc;
    --p-blue-49-rgb: 199,210,220;
    --p-blue-50   : #c7d2fe;
    --p-blue-50-rgb: 199,210,254;
    --p-blue-51   : #cbd5e1;
    --p-blue-51-rgb: 203,213,225;
    --p-blue-52   : #cdd9ec;
    --p-blue-52-rgb: 205,217,236;
    --p-blue-53   : #bae6fd;
    --p-blue-53-rgb: 186,230,253;
    --p-blue-54   : #dde8f2;
    --p-blue-54-rgb: 221,232,242;
    --p-blue-55   : #e0e7ff;
    --p-blue-55-rgb: 224,231,255;
    --p-blue-56   : #e7f0fd;
    --p-blue-56-rgb: 231,240,253;

    /* -- green -- */
    --p-green-1   : #0a1e14;
    --p-green-1-rgb: 10,30,20;
    --p-green-2   : #0d2818;
    --p-green-2-rgb: 13,40,24;
    --p-green-3   : #0f2a18;
    --p-green-3-rgb: 15,42,24;
    --p-green-4   : #0d2d1a;
    --p-green-4-rgb: 13,45,26;
    --p-green-5   : #0a2e1a;
    --p-green-5-rgb: 10,46,26;
    --p-green-6   : #1a3a2a;
    --p-green-6-rgb: 26,58,42;
    --p-green-7   : #1e3a2f;
    --p-green-7-rgb: 30,58,47;
    --p-green-8   : #14532d;
    --p-green-8-rgb: 20,83,45;
    --p-green-9   : #0a5b29;
    --p-green-9-rgb: 10,91,41;
    --p-green-10  : #065f46;
    --p-green-10-rgb: 6,95,70;
    --p-green-11  : #047857;
    --p-green-11-rgb: 4,120,87;
    --p-green-12  : #0a7d33;
    --p-green-12-rgb: 10,125,51;
    --p-green-13  : #137a37;
    --p-green-13-rgb: 19,122,55;
    --p-green-14  : #1a7a3c;
    --p-green-14-rgb: 26,122,60;
    --p-green-15  : #15803d;
    --p-green-15-rgb: 21,128,61;
    --p-green-16  : #2e7d32;
    --p-green-16-rgb: 46,125,50;
    --p-green-17  : #04884a;
    --p-green-17-rgb: 4,136,74;
    --p-green-18  : #008f32;
    --p-green-18-rgb: 0,143,50;
    --p-green-19  : #16893f;
    --p-green-19-rgb: 22,137,63;
    --p-green-20  : #059669;
    --p-green-20-rgb: 5,150,105;
    --p-green-21  : #1a9e54;
    --p-green-21-rgb: 26,158,84;
    --p-green-22  : #16a34a;
    --p-green-22-rgb: 22,163,74;
    --p-green-23  : #2e9e54;
    --p-green-23-rgb: 46,158,84;
    --p-green-24  : #10a37f;
    --p-green-24-rgb: 16,163,127;
    --p-green-25  : #1da851;
    --p-green-25-rgb: 29,168,81;
    --p-green-26  : #3aad5a;
    --p-green-26-rgb: 58,173,90;
    --p-green-27  : #10b981;
    --p-green-27-rgb: 16,185,129;
    --p-green-28  : #25d366;
    --p-green-28-rgb: 37,211,102;
    --p-green-29  : #34d399;
    --p-green-29-rgb: 52,211,153;
    --p-green-30  : #6ee7a0;
    --p-green-30-rgb: 110,231,160;
    --p-green-31  : #6ee7b7;
    --p-green-31-rgb: 110,231,183;
    --p-green-32  : #a7d8b4;
    --p-green-32-rgb: 167,216,180;
    --p-green-33  : #bcd9c8;
    --p-green-33-rgb: 188,217,200;
    --p-green-34  : #c6e3ce;
    --p-green-34-rgb: 198,227,206;
    --p-green-35  : #bfe8cd;
    --p-green-35-rgb: 191,232,205;
    --p-green-36  : #a7f3c0;
    --p-green-36-rgb: 167,243,192;
    --p-green-37  : #a7f3d0;
    --p-green-37-rgb: 167,243,208;
    --p-green-38  : #99f6e4;
    --p-green-38-rgb: 153,246,228;
    --p-green-39  : #cfe9da;
    --p-green-39-rgb: 207,233,218;
    --p-green-40  : #c3efd0;
    --p-green-40-rgb: 195,239,208;
    --p-green-41  : #c6f0d5;
    --p-green-41-rgb: 198,240,213;
    --p-green-42  : #cdeeda;
    --p-green-42-rgb: 205,238,218;
    --p-green-43  : #bbf7d0;
    --p-green-43-rgb: 187,247,208;
    --p-green-44  : #d6efe0;
    --p-green-44-rgb: 214,239,224;
    --p-green-45  : #daeee2;
    --p-green-45-rgb: 218,238,226;
    --p-green-46  : #d4f7e1;
    --p-green-46-rgb: 212,247,225;
    --p-green-47  : #d1fae5;
    --p-green-47-rgb: 209,250,229;
    --p-green-48  : #ccfbf1;
    --p-green-48-rgb: 204,251,241;
    --p-green-49  : #dcfce7;
    --p-green-49-rgb: 220,252,231;
    --p-green-50  : #e2fbe9;
    --p-green-50-rgb: 226,251,233;

    /* -- grey -- */
    --p-grey-1    : #1c1917;
    --p-grey-1-rgb: 28,25,23;
    --p-grey-2    : #1a1a1a;
    --p-grey-2-rgb: 26,26,26;
    --p-grey-3    : #141e19;
    --p-grey-3-rgb: 20,30,25;
    --p-grey-4    : #1c1c1c;
    --p-grey-4-rgb: 28,28,28;
    --p-grey-5    : #16241c;
    --p-grey-5-rgb: 22,36,28;
    --p-grey-6    : #333333;
    --p-grey-6-rgb: 51,51,51;
    --p-grey-7    : #57534e;
    --p-grey-7-rgb: 87,83,78;
    --p-grey-8    : #5a6b62;
    --p-grey-8-rgb: 90,107,98;
    --p-grey-9    : #78716c;
    --p-grey-9-rgb: 120,113,108;
    --p-grey-10   : #888888;
    --p-grey-10-rgb: 136,136,136;
    --p-grey-11   : #96989d;
    --p-grey-11-rgb: 150,152,157;
    --p-grey-12   : #999999;
    --p-grey-12-rgb: 153,153,153;
    --p-grey-13   : #a8a29e;
    --p-grey-13-rgb: 168,162,158;
    --p-grey-14   : #aaaaaa;
    --p-grey-14-rgb: 170,170,170;
    --p-grey-15   : #b6bcc4;
    --p-grey-15-rgb: 182,188,196;
    --p-grey-16   : #b3c0b8;
    --p-grey-16-rgb: 179,192,184;
    --p-grey-17   : #b9c2bd;
    --p-grey-17-rgb: 185,194,189;
    --p-grey-18   : #bcc7c0;
    --p-grey-18-rgb: 188,199,192;
    --p-grey-19   : #c0c7d0;
    --p-grey-19-rgb: 192,199,208;
    --p-grey-20   : #cccccc;
    --p-grey-20-rgb: 204,204,204;
    --p-grey-21   : #cbd1d8;
    --p-grey-21-rgb: 203,209,216;
    --p-grey-22   : #ccd8d1;
    --p-grey-22-rgb: 204,216,209;
    --p-grey-23   : #cfd6df;
    --p-grey-23-rgb: 207,214,223;
    --p-grey-24   : #d4ddd7;
    --p-grey-24-rgb: 212,221,215;
    --p-grey-25   : #d7ded9;
    --p-grey-25-rgb: 215,222,217;
    --p-grey-26   : #dddddd;
    --p-grey-26-rgb: 221,221,221;
    --p-grey-27   : #d9dfe6;
    --p-grey-27-rgb: 217,223,230;
    --p-grey-28   : #e0e0e0;
    --p-grey-28-rgb: 224,224,224;
    --p-grey-29   : #dbe2ea;
    --p-grey-29-rgb: 219,226,234;
    --p-grey-30   : #dfe5e2;
    --p-grey-30-rgb: 223,229,226;
    --p-grey-31   : #dde7e1;
    --p-grey-31-rgb: 221,231,225;
    --p-grey-32   : #e7e5e4;
    --p-grey-32-rgb: 231,229,228;
    --p-grey-33   : #e2e8f0;
    --p-grey-33-rgb: 226,232,240;
    --p-grey-34   : #e8e8e8;
    --p-grey-34-rgb: 232,232,232;
    --p-grey-35   : #e6e9ec;
    --p-grey-35-rgb: 230,233,236;
    --p-grey-36   : #e3ede6;
    --p-grey-36-rgb: 227,237,230;
    --p-grey-37   : #e7ece9;
    --p-grey-37-rgb: 231,236,233;
    --p-grey-38   : #e9ecef;
    --p-grey-38-rgb: 233,236,239;
    --p-grey-39   : #e9edf0;
    --p-grey-39-rgb: 233,237,240;
    --p-grey-40   : #eeeeee;
    --p-grey-40-rgb: 238,238,238;
    --p-grey-41   : #eaf0ec;
    --p-grey-41-rgb: 234,240,236;
    --p-grey-42   : #edf0f2;
    --p-grey-42-rgb: 237,240,242;
    --p-grey-43   : #edf1ee;
    --p-grey-43-rgb: 237,241,238;
    --p-grey-44   : #eef1ef;
    --p-grey-44-rgb: 238,241,239;
    --p-grey-45   : #e6f4ea;
    --p-grey-45-rgb: 230,244,234;
    --p-grey-46   : #eef0ff;
    --p-grey-46-rgb: 238,240,255;
    --p-grey-47   : #eef2f6;
    --p-grey-47-rgb: 238,242,246;
    --p-grey-48   : #eef2ff;
    --p-grey-48-rgb: 238,242,255;
    --p-grey-49   : #eaf5ee;
    --p-grey-49-rgb: 234,245,238;
    --p-grey-50   : #f0f3f1;
    --p-grey-50-rgb: 240,243,241;
    --p-grey-51   : #eef3f8;
    --p-grey-51-rgb: 238,243,248;
    --p-grey-52   : #eef4f0;
    --p-grey-52-rgb: 238,244,240;
    --p-grey-53   : #eef3fa;
    --p-grey-53-rgb: 238,243,250;
    --p-grey-54   : #f1f3f5;
    --p-grey-54-rgb: 241,243,245;
    --p-grey-55   : #e7f7ee;
    --p-grey-55-rgb: 231,247,238;
    --p-grey-56   : #eef4ff;
    --p-grey-56-rgb: 238,244,255;
    --p-grey-57   : #eff4ff;
    --p-grey-57-rgb: 239,244,255;
    --p-grey-58   : #f4f4f4;
    --p-grey-58-rgb: 244,244,244;
    --p-grey-59   : #f2f5f3;
    --p-grey-59-rgb: 242,245,243;
    --p-grey-60   : #edf7f0;
    --p-grey-60-rgb: 237,247,240;
    --p-grey-61   : #f1f5f9;
    --p-grey-61-rgb: 241,245,249;
    --p-grey-62   : #eef7f1;
    --p-grey-62-rgb: 238,247,241;
    --p-grey-63   : #fdf2f8;
    --p-grey-63-rgb: 253,242,248;
    --p-grey-64   : #f5f5f4;
    --p-grey-64-rgb: 245,245,244;
    --p-grey-65   : #f4f5f7;
    --p-grey-65-rgb: 244,245,247;
    --p-grey-66   : #fdf3f2;
    --p-grey-66-rgb: 253,243,242;
    --p-grey-67   : #f2f6fc;
    --p-grey-67-rgb: 242,246,252;
    --p-grey-68   : #eafaf0;
    --p-grey-68-rgb: 234,250,240;
    --p-grey-69   : #f3f7f4;
    --p-grey-69-rgb: 243,247,244;
    --p-grey-70   : #f5f7f6;
    --p-grey-70-rgb: 245,247,246;
    --p-grey-71   : #f3f8f5;
    --p-grey-71-rgb: 243,248,245;
    --p-grey-72   : #f4f8f5;
    --p-grey-72-rgb: 244,248,245;
    --p-grey-73   : #f5f8f6;
    --p-grey-73-rgb: 245,248,246;
    --p-grey-74   : #f6f8f7;
    --p-grey-74-rgb: 246,248,247;
    --p-grey-75   : #f4faf6;
    --p-grey-75-rgb: 244,250,246;
    --p-grey-76   : #f5faf6;
    --p-grey-76-rgb: 245,250,246;
    --p-grey-77   : #ecfdf3;
    --p-grey-77-rgb: 236,253,243;
    --p-grey-78   : #ecfdf5;
    --p-grey-78-rgb: 236,253,245;
    --p-grey-79   : #f6faf7;
    --p-grey-79-rgb: 246,250,247;
    --p-grey-80   : #eefdf3;
    --p-grey-80-rgb: 238,253,243;
    --p-grey-81   : #f4fbf6;
    --p-grey-81-rgb: 244,251,246;
    --p-grey-82   : #f0fdf5;
    --p-grey-82-rgb: 240,253,245;
    --p-grey-83   : #f0fdf6;
    --p-grey-83-rgb: 240,253,246;
    --p-grey-84   : #f0fdfa;
    --p-grey-84-rgb: 240,253,250;

    /* -- orange -- */
    --p-orange-1  : #7c2d12;
    --p-orange-1-rgb: 124,45,18;
    --p-orange-2  : #78350f;
    --p-orange-2-rgb: 120,53,15;
    --p-orange-3  : #5c4407;
    --p-orange-3-rgb: 92,68,7;
    --p-orange-4  : #9a3412;
    --p-orange-4-rgb: 154,52,18;
    --p-orange-5  : #854d0e;
    --p-orange-5-rgb: 133,77,14;
    --p-orange-6  : #6f5520;
    --p-orange-6-rgb: 111,85,32;
    --p-orange-7  : #c2410c;
    --p-orange-7-rgb: 194,65,12;
    --p-orange-8  : #8a5a09;
    --p-orange-8-rgb: 138,90,9;
    --p-orange-9  : #b45309;
    --p-orange-9-rgb: 180,83,9;
    --p-orange-10 : #a16207;
    --p-orange-10-rgb: 161,98,7;
    --p-orange-11 : #a86400;
    --p-orange-11-rgb: 168,100,0;
    --p-orange-12 : #ea580c;
    --p-orange-12-rgb: 234,88,12;
    --p-orange-13 : #e6683c;
    --p-orange-13-rgb: 230,104,60;
    --p-orange-14 : #d97706;
    --p-orange-14-rgb: 217,119,6;
    --p-orange-15 : #ca8a04;
    --p-orange-15-rgb: 202,138,4;
    --p-orange-16 : #c98e1d;
    --p-orange-16-rgb: 201,142,29;
    --p-orange-17 : #f09433;
    --p-orange-17-rgb: 240,148,51;
    --p-orange-18 : #fb923c;
    --p-orange-18-rgb: 251,146,60;
    --p-orange-19 : #f59e0b;
    --p-orange-19-rgb: 245,158,11;
    --p-orange-20 : #daa520;
    --p-orange-20-rgb: 218,165,32;
    --p-orange-21 : #e0a52e;
    --p-orange-21-rgb: 224,165,46;
    --p-orange-22 : #f0a500;
    --p-orange-22-rgb: 240,165,0;
    --p-orange-23 : #fbbf24;
    --p-orange-23-rgb: 251,191,36;
    --p-orange-24 : #fdba74;
    --p-orange-24-rgb: 253,186,116;
    --p-orange-25 : #e7cf95;
    --p-orange-25-rgb: 231,207,149;
    --p-orange-26 : #fed7aa;
    --p-orange-26-rgb: 254,215,170;
    --p-orange-27 : #ffedd5;
    --p-orange-27-rgb: 255,237,213;
    --p-orange-28 : #fdf3dc;
    --p-orange-28-rgb: 253,243,220;
    --p-orange-29 : #fff7ed;
    --p-orange-29-rgb: 255,247,237;
    --p-orange-30 : #fef9ec;
    --p-orange-30-rgb: 254,249,236;

    /* -- pink -- */
    --p-pink-1    : #bc1888;
    --p-pink-1-rgb: 188,24,136;
    --p-pink-2    : #cc2366;
    --p-pink-2-rgb: 204,35,102;
    --p-pink-3    : #db2777;
    --p-pink-3-rgb: 219,39,119;
    --p-pink-4    : #c13584;
    --p-pink-4-rgb: 193,53,132;
    --p-pink-5    : #fbcfe8;
    --p-pink-5-rgb: 251,207,232;
    --p-pink-6    : #fce4f3;
    --p-pink-6-rgb: 252,228,243;
    --p-pink-7    : #fce7f3;
    --p-pink-7-rgb: 252,231,243;

    /* -- red -- */
    --p-red-1     : #cc0000;
    --p-red-1-rgb : 204,0,0;
    --p-red-2     : #7f1d1d;
    --p-red-2-rgb : 127,29,29;
    --p-red-3     : #e60023;
    --p-red-3-rgb : 230,0,35;
    --p-red-4     : #991b1b;
    --p-red-4-rgb : 153,27,27;
    --p-red-5     : #ff0000;
    --p-red-5-rgb : 255,0,0;
    --p-red-6     : #b91c1c;
    --p-red-6-rgb : 185,28,28;
    --p-red-7     : #b3261e;
    --p-red-7-rgb : 179,38,30;
    --p-red-8     : #e11d48;
    --p-red-8-rgb : 225,29,72;
    --p-red-9     : #dc2626;
    --p-red-9-rgb : 220,38,38;
    --p-red-10    : #d12b2b;
    --p-red-10-rgb: 209,43,43;
    --p-red-11    : #dc2743;
    --p-red-11-rgb: 220,39,67;
    --p-red-12    : #c0392b;
    --p-red-12-rgb: 192,57,43;
    --p-red-13    : #e53935;
    --p-red-13-rgb: 229,57,53;
    --p-red-14    : #ea4335;
    --p-red-14-rgb: 234,67,53;
    --p-red-15    : #ef4444;
    --p-red-15-rgb: 239,68,68;
    --p-red-16    : #e74c3c;
    --p-red-16-rgb: 231,76,60;
    --p-red-17    : #d97757;
    --p-red-17-rgb: 217,119,87;
    --p-red-18    : #f87171;
    --p-red-18-rgb: 248,113,113;
    --p-red-19    : #ff7878;
    --p-red-19-rgb: 255,120,120;
    --p-red-20    : #e2b3ac;
    --p-red-20-rgb: 226,179,172;
    --p-red-21    : #e2b3ae;
    --p-red-21-rgb: 226,179,174;
    --p-red-22    : #f0c9c5;
    --p-red-22-rgb: 240,201,197;
    --p-red-23    : #fee2e2;
    --p-red-23-rgb: 254,226,226;
    --p-red-24    : #ffe4e6;
    --p-red-24-rgb: 255,228,230;
    --p-red-25    : #fdecea;
    --p-red-25-rgb: 253,236,234;

    /* -- teal -- */
    --p-teal-1    : #0f766e;
    --p-teal-1-rgb: 15,118,110;
    --p-teal-2    : #0e7490;
    --p-teal-2-rgb: 14,116,144;
    --p-teal-3    : #20808d;
    --p-teal-3-rgb: 32,128,141;
    --p-teal-4    : #0891b2;
    --p-teal-4-rgb: 8,145,178;
    --p-teal-5    : #06b6d4;
    --p-teal-5-rgb: 6,182,212;
    --p-teal-6    : #38bdf8;
    --p-teal-6-rgb: 56,189,248;
    --p-teal-7    : #22d3ee;
    --p-teal-7-rgb: 34,211,238;
    --p-teal-8    : #cffafe;
    --p-teal-8-rgb: 207,250,254;
    --p-teal-9    : #ecfeff;
    --p-teal-9-rgb: 236,254,255;

    /* -- violet -- */
    --p-violet-1  : #4c1d95;
    --p-violet-1-rgb: 76,29,149;
    --p-violet-2  : #5b21b6;
    --p-violet-2-rgb: 91,33,182;
    --p-violet-3  : #6d28d9;
    --p-violet-3-rgb: 109,40,217;
    --p-violet-4  : #9333ea;
    --p-violet-4-rgb: 147,51,234;
    --p-violet-5  : #7c3aed;
    --p-violet-5-rgb: 124,58,237;
    --p-violet-6  : #9b59b6;
    --p-violet-6-rgb: 155,89,182;
    --p-violet-7  : #a78bfa;
    --p-violet-7-rgb: 167,139,250;

    /* -- white -- */
    --p-white-1   : #fdf4ff;
    --p-white-1-rgb: 253,244,255;
    --p-white-2   : #faf5ff;
    --p-white-2-rgb: 250,245,255;
    --p-white-3   : #fff5f5;
    --p-white-3-rgb: 255,245,245;
    --p-white-4   : #f5f7ff;
    --p-white-4-rgb: 245,247,255;
    --p-white-5   : #f0f9ff;
    --p-white-5-rgb: 240,249,255;
    --p-white-6   : #f6f8fa;
    --p-white-6-rgb: 246,248,250;
    --p-white-7   : #f7f8f9;
    --p-white-7-rgb: 247,248,249;
    --p-white-8   : #f6f9fc;
    --p-white-8-rgb: 246,249,252;
    --p-white-9   : #f6f9fd;
    --p-white-9-rgb: 246,249,253;
    --p-white-10  : #f9f9f9;
    --p-white-10-rgb: 249,249,249;
    --p-white-11  : #faf9f8;
    --p-white-11-rgb: 250,249,248;
    --p-white-12  : #f8faf9;
    --p-white-12-rgb: 248,250,249;
    --p-white-13  : #f7fafd;
    --p-white-13-rgb: 247,250,253;
    --p-white-14  : #f8fafc;
    --p-white-14-rgb: 248,250,252;
    --p-white-15  : #fafaf9;
    --p-white-15-rgb: 250,250,249;
    --p-white-16  : #fafafa;
    --p-white-16-rgb: 250,250,250;
    --p-white-17  : #fef9f9;
    --p-white-17-rgb: 254,249,249;
    --p-white-18  : #fafbfc;
    --p-white-18-rgb: 250,251,252;
    --p-white-19  : #fbfcfb;
    --p-white-19-rgb: 251,252,251;
    --p-white-20  : #fafcff;
    --p-white-20-rgb: 250,252,255;
    --p-white-21  : #fbfcfd;
    --p-white-21-rgb: 251,252,253;
    --p-white-22  : #f7fef9;
    --p-white-22-rgb: 247,254,249;
    --p-white-23  : #fffdf0;
    --p-white-23-rgb: 255,253,240;
    --p-white-24  : #fbfdfc;
    --p-white-24-rgb: 251,253,252;
    --p-white-25  : #fcfdfc;
    --p-white-25-rgb: 252,253,252;
    --p-white-26  : #fdfdfd;
    --p-white-26-rgb: 253,253,253;
    --p-white-27  : #fafffe;
    --p-white-27-rgb: 250,255,254;
    --p-white-28  : #ffffff;
    --p-white-28-rgb: 255,255,255;

    /* -- palette: remaining one-off values found in PHP arrays -- */
    --p-blue-x1   : #0284c7;
    --p-blue-x1-rgb: 2,132,199;
    --p-blue-x2   : #e0f2fe;
    --p-blue-x2-rgb: 224,242,254;
    --p-green-x1  : #27ae60;
    --p-green-x1-rgb: 39,174,96;
    --p-grey-x1   : #6c757d;
    --p-grey-x1-rgb: 108,117,125;
    --p-orange-x1 : #e67e22;
    --p-orange-x1-rgb: 230,126,34;
    --p-orange-x2 : #f39c12;
    --p-orange-x2-rgb: 243,156,18;
    --p-pink-x1   : #e1306c;
    --p-pink-x1-rgb: 225,48,108;
    --p-violet-x1 : #8b5cf6;
    --p-violet-x1-rgb: 139,92,246;
    --p-violet-x2 : #8e44ad;
    --p-violet-x2-rgb: 142,68,173;
}.err-box,
.warn-box,
.info-box {
    display: flex; align-items: center; gap: 8px;
    border-width: 1px; border-style: solid; border-radius: 10px;
    padding: 13px 17px; margin-bottom: 16px;
    font-size: 13px; line-height: 1.5;
    /* NOT white-space: pre-line.
       This is a flex container. Whitespace between flex items is normally
       discarded, but pre-line PRESERVES the newline that sits between the
       <i> and the text in the markup - so it became a real line break and
       pushed the text onto the next line, leaving the icon hanging above it
       like a superscript. Nothing here renders text containing newlines;
       checked all 57 boxes before removing it. */
    /* CENTRED, not flex-start.
       flex-start pins the icon to the TOP of the text. On a message that
       wraps to two lines that reads as the icon hanging above the text
       rather than belonging to it. Checked all 26 boxes whose icon is a
       direct child: every one is a short message, none carries a list, so
       centring cannot strand the icon halfway down a long block. */
}.err-box i,
.warn-box i,
.info-box i { flex-shrink: 0; }
.warn-box { background: var(--st-warn-bg); border-color: var(--st-warn-bd); color: var(--st-warn-ink); }
.info-box { background: var(--st-info-bg); border-color: var(--st-info-bd); color: var(--st-info-ink); }

/* ══ 2. BASE - the ONLY body background on the site ═════════════════════════ */
:root {
  --font-sans: "Trebuchet MS", Helvetica, Tahoma, sans-serif;
}

body {
  background-color: var(--white);
  margin: 0;
  line-height: 1.2;
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ══ 3. USER SIDEBAR ════════════════════════════════════════════════════════ */
/*
 * FILE: /users/common/user_sidebar_css.css
 *
 * LOADED IN: /header.php — via <link> tag in <head>
 * USED BY:   /users/common/user_sidebar.php
 *
 * Contains all CSS for the user sidebar component.
 * JS is in: /users/common/user_sidebar.php
 */

/* ── Dashboard padding overrides ────────────────────────────────────────── */
.thl-dashboard {
    padding-left: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 11px !important;
}
.thl-main {
    padding-top: 20px;
    padding-bottom: 20px;
}

/* ── Sidebar shell ──────────────────────────────────────────────────────── */
.thl-side {
    flex-shrink: 0;
    min-width: 240px;
    position: sticky;
    top: 0;
    align-self: flex-start;
    border-right: 1px solid var(--border);
}

/* ── Wrapper — only provides positioning context for the scrollbar track ── */
.thl-side-inner-wrap {
    position: relative;
}

/* ── Inner scroll container ─────────────────────────────────────────────── */
.thl-side-inner {
    height: 100vh;
    overflow-y: scroll;
    overflow-x: visible;
    margin: 20px 0;
    padding: 0 7px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.thl-side-inner::-webkit-scrollbar {
    display: none;
}

/* ── Custom scrollbar track ─────────────────────────────────────────────── */
.thl-scrollbar-track {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 6px;
    background: transparent;
    border-radius: 4px;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: 10;
}

/* ── Custom scrollbar thumb ─────────────────────────────────────────────── */
.thl-scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: var(--border-2);
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
    min-height: 30px;
}
.thl-scrollbar-thumb:hover,
.thl-scrollbar-thumb.dragging {
    background: var(--p-blue-34);
}

/* ── Mobile toggle ──────────────────────────────────────────────────────── */
.thl-side-mob-btn {
    display: none;
    width: 100%;
    padding: 10px 14px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color:var(--ink);
    cursor: pointer;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    box-sizing: border-box;
    transition: background 0.15s, border-color 0.15s;
}
.thl-side-mob-btn:hover {
    background: var(--surf);
    border-color: var(--border-2);
}
.thl-side-mob-label {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    overflow: hidden;
}
.thl-side-mob-user {
    font-weight: 700;
    color:var(--ink-2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
}
.thl-side-mob-sep {
    color:var(--muted);
    font-weight: 400;
    flex-shrink: 0;
}
.thl-side-mob-page {
    font-size: 14px;
    font-weight: 600;
    color:var(--p-blue-19);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Accordion groups ───────────────────────────────────────────────────── */
.thl-acc-group {
    margin-bottom: 2px;
}

/* Header button */
.thl-acc-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 5px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: 15px;
    font-weight: 600;
    color:var(--p-blue-19);
    cursor: pointer;
    font-family: inherit;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    white-space: normal;
    text-align: left;
    margin-bottom: 3px;
    min-height: 34px;
}
.thl-acc-btn:hover {
    background: var(--surface2);
    color:var(--ink-2);
    border-color: var(--border-2);
}
.thl-acc-btn-static {
    cursor: default;
    pointer-events: none;
}

/* Chevron */
.thl-acc-chevron {
    font-size: 13px;
    color:var(--p-blue-34);
    flex-shrink: 0;
    transition: transform 0.22s ease;
    transform: rotate(0deg);
}

/* Body — hidden by default, shown when .open */
.thl-acc-body {
    display: none;
    margin-bottom: 4px;
}
.thl-acc-body.open {
    display: block;
}

/* ── Links ──────────────────────────────────────────────────────────────── */
.thl-side-link {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 4px 5px;
    font-size: 15px;
    font-weight: 500;
    color:var(--p-blue-19);
    text-decoration: none;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    border-radius: 7px;
    margin-bottom: 3px;
    border: 1px solid transparent;
}
.thl-side-link:last-child { margin-bottom: 0; }

.thl-side-ico {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 11px;
    transition: background 0.15s, color 0.15s;
}

/* Hover: grey + border */
.thl-side-link:hover                { background: var(--surface2); color:var(--ink-2); border-color: var(--border-2); }
.thl-side-link:hover .thl-side-ico  { background: var(--border) !important; color:var(--p-blue-19) !important; }

/* Active state */
.thl-side-link.active               { background: var(--g-lt); color:var(--g-dk); font-weight: 600; }
.thl-side-link.active:hover         { border-color: var(--border-2); }
.thl-side-link.active .thl-side-ico { background: var(--g) !important; color:var(--white) !important; }

/* CTA link */
.thl-side-link-cta                  { color:var(--g); font-weight: 700; }
.thl-side-link-cta:hover            { background: var(--surface2); }

/* ── Mobile (≤900px) ────────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .thl-dashboard {
        padding-left: 10px !important;
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }
    .thl-main { padding-top: 0; }
    .thl-side {
        width: 100%;
        min-width: 0;
        position: static;
        border-right: none;
    }
    .thl-side-inner-wrap {
        position: static;
    }
    .thl-side-inner {
        height: auto;
        overflow: visible;
        margin: 0;
        display: none;
    }
    .thl-side-inner.open  { display: block; }
    .thl-side-mob-btn     { display: flex; }
    .thl-scrollbar-track  { display: none; }
}

/* ══ 4. PER-PAGE COLOURS ════════════════════════════════════════════════════ */
/* ════════════════════════════════════════════════════════════════════════════
   THE HOMES LAB - SITE COLOURS.  THE ONE FILE.
   ----------------------------------------------------------------------------
   EVERY colour rule from EVERY page lives here, and nowhere else.

   Each block is scoped by that page's body class (thl-p-properties etc, set in
   header.php), so pages that happen to share a class name - .btn, .card,
   .badge - cannot bleed into each other. The scope also raises specificity,
   so these rules always win over anything left in a page.

   Loaded at the very END of footer.php, after every page's own <style>, so it
   is last in the cascade.

   TO CHANGE A COLOUR: change the token in css/thl_tokens.css to change it
   everywhere, or edit the single rule below to change one thing on one page.
   ════════════════════════════════════════════════════════════════════════════ */

/* ── about/privacy.php ─────────────────────────────────────────── */
/* ── PAGE HEADER ─────────────────────────────────────────── */
.thl-p-about-privacy .prv-hero { background: var(--g); }
.thl-p-about-privacy .prv-hero-icon { background: rgba(var(--p-white-28-rgb), 0.18); border-color: rgba(var(--p-white-28-rgb), 0.28); color:var(--white); }
.thl-p-about-privacy .prv-hero h1 { color:var(--white); }
.thl-p-about-privacy .prv-hero-sub { color:rgba(var(--p-white-28-rgb), 0.78); }
.thl-p-about-privacy .prv-compliance-badge { background: rgba(var(--p-white-28-rgb), 0.16); border-color: rgba(var(--p-white-28-rgb), 0.25); color:rgba(var(--p-white-28-rgb), 0.92); }
.thl-p-about-privacy .prv-last-updated { background: rgba(var(--p-white-28-rgb), 0.16); border-color: rgba(var(--p-white-28-rgb), 0.25); color:rgba(var(--p-white-28-rgb), 0.88); }
/* ── TABLE OF CONTENTS ───────────────────────────────────── */
.thl-p-about-privacy .prv-toc { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-about-privacy .prv-toc-title { color:var(--muted); }
.thl-p-about-privacy .prv-toc-title i { color:var(--g); }
.thl-p-about-privacy .prv-toc-link { color:var(--sub); border-color: transparent; }
.thl-p-about-privacy .prv-toc-link:hover { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-about-privacy .prv-toc-link .toc-num { background: var(--surf); border-color: var(--border); color:var(--g); }
.thl-p-about-privacy .prv-toc-link:hover .toc-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-about-privacy .prv-notice.notice-info { background: var(--blue-lt); border-color: var(--info); }
.thl-p-about-privacy .prv-notice.notice-success { background: var(--g-lt); border-color: var(--g); }
.thl-p-about-privacy .prv-notice.notice-warn { background: var(--amber-lt); border-color: var(--warn); }
.thl-p-about-privacy .notice-info    .prv-notice-icon { background: var(--blue-bglt); color:var(--blue); }
.thl-p-about-privacy .notice-success .prv-notice-icon { background: var(--p-green-47); color:var(--g-dk); }
.thl-p-about-privacy .notice-warn    .prv-notice-icon { background: var(--amber-bglt); color:var(--warn); }
.thl-p-about-privacy .notice-info    .prv-notice-body h4 { color:var(--blue-ink); }
.thl-p-about-privacy .notice-success .prv-notice-body h4 { color:var(--g-dk); }
.thl-p-about-privacy .notice-warn    .prv-notice-body h4 { color:var(--amber-ink); }
.thl-p-about-privacy .prv-notice-body p { color:var(--sub); }
.thl-p-about-privacy .prv-notice-body ul li { color:var(--sub); }
/* ── SECTIONS ────────────────────────────────────────────── */
.thl-p-about-privacy .prv-section { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-about-privacy .prv-section-header { border-bottom-color: var(--g); }
.thl-p-about-privacy .prv-section-num { background: var(--g); color:var(--white); }
.thl-p-about-privacy .prv-section-title { color:var(--ink); }
.thl-p-about-privacy .prv-section-title i { color:var(--g); }
.thl-p-about-privacy .prv-section p { color:var(--sub); }
.thl-p-about-privacy .prv-section strong { color:var(--ink); }
.thl-p-about-privacy .prv-section li { color:var(--sub); }
.thl-p-about-privacy .prv-section li strong { color:var(--ink); }
/* Sub-headings inside sections */
.thl-p-about-privacy .prv-sub { color:var(--g-dk); }
.thl-p-about-privacy .prv-table { background: var(--white); box-shadow: var(--shadow); }
.thl-p-about-privacy .prv-table thead th { background: var(--g); color:var(--white); }
.thl-p-about-privacy .prv-table tbody td { color:var(--sub); border-bottom-color: var(--border); }
.thl-p-about-privacy .prv-table tbody td strong { color:var(--ink); }
.thl-p-about-privacy .prv-table tbody tr:nth-child(even) td { background: var(--surf); }
/* ── DATA COLLECTION INSET ───────────────────────────────── */
.thl-p-about-privacy .prv-inset { background: var(--surf); border-color: var(--border); border-left-color: var(--g); }
.thl-p-about-privacy .prv-inset h4 { color:var(--ink); }
.thl-p-about-privacy .prv-inset h4 i { color:var(--g); }
.thl-p-about-privacy .prv-inset p { color:var(--sub); }
.thl-p-about-privacy .prv-inset ul li { color:var(--sub); }
.thl-p-about-privacy .prv-right-card { background: var(--surf); border-color: var(--border); }
.thl-p-about-privacy .prv-right-card i { color:var(--g); }
.thl-p-about-privacy .prv-right-card h4 { color:var(--ink); }
.thl-p-about-privacy .prv-right-card p { color:var(--sub); }
.thl-p-about-privacy .prv-use-card { background: var(--surf); border-color: var(--border); }
.thl-p-about-privacy .prv-use-card i { color:var(--g); }
.thl-p-about-privacy .prv-use-card h4 { color:var(--ink); }
.thl-p-about-privacy .prv-use-card p { color:var(--sub); }
/* ── COOKIE CATEGORIES ───────────────────────────────────── */
.thl-p-about-privacy .prv-cookie-wrap { background: var(--surf); border-color: var(--border); }
.thl-p-about-privacy .prv-cookie-wrap > p { color:var(--sub); }
.thl-p-about-privacy .prv-cookie { background: var(--white); border-color: var(--border); }
.thl-p-about-privacy .prv-cookie.c-essential { border-left-color: var(--g); }
.thl-p-about-privacy .prv-cookie.c-functional { border-left-color: var(--blue); }
.thl-p-about-privacy .prv-cookie.c-analytics { border-left-color: var(--arch); }
.thl-p-about-privacy .prv-cookie h5 { color:var(--ink); }
.thl-p-about-privacy .prv-cookie.c-essential  h5 i { color:var(--g); }
.thl-p-about-privacy .prv-cookie.c-functional h5 i { color:var(--blue); }
.thl-p-about-privacy .prv-cookie.c-analytics  h5 i { color:var(--arch); }
.thl-p-about-privacy .prv-cookie p { color:var(--sub); }
/* ── CONTACT SECTION ─────────────────────────────────────── */
.thl-p-about-privacy .prv-contact { background: var(--surf); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-about-privacy .prv-contact h3 { color:var(--ink); }
.thl-p-about-privacy .prv-contact h3 i { color:var(--g); }
.thl-p-about-privacy .prv-contact > p { color:var(--sub); }
.thl-p-about-privacy .prv-contact-card { background: var(--white); border-color: var(--g); }
.thl-p-about-privacy .prv-contact-card i { color:var(--g); }
.thl-p-about-privacy .prv-contact-card strong { color:var(--muted); }
.thl-p-about-privacy .prv-contact-card p { color:var(--sub); }
.thl-p-about-privacy .prv-contact-card a { color:var(--g-dk); }
/* ── ACCEPT BAR ──────────────────────────────────────────── */
.thl-p-about-privacy .prv-accept-bar { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-about-privacy .prv-accept-bar p { color:var(--sub); }
.thl-p-about-privacy .prv-accept-bar p strong { color:var(--ink); }
.thl-p-about-privacy .prv-btn-primary { background: var(--g); color:var(--white); }
.thl-p-about-privacy .prv-btn-primary:hover { background: var(--g-dk); }
.thl-p-about-privacy .prv-btn-outline { background: var(--surf); color:var(--sub); border-color: var(--border); }
.thl-p-about-privacy .prv-btn-outline:hover { border-color: var(--g); color:var(--g-dk); }

/* ── about/terms.php ─────────────────────────────────────────── */
/* ── PAGE HEADER ─────────────────────────────────────────── */
.thl-p-about-terms .tos-hero,
.thl-p-about-acceptable-use .tos-hero,
.thl-p-about-disputes .tos-hero
{ background: var(--g); }
.thl-p-about-terms .tos-hero-icon,
.thl-p-about-acceptable-use .tos-hero-icon,
.thl-p-about-disputes .tos-hero-icon
{ background: rgba(var(--p-white-28-rgb), 0.18); border-color: rgba(var(--p-white-28-rgb), 0.28); color:var(--white); }
.thl-p-about-terms .tos-hero h1,
.thl-p-about-acceptable-use .tos-hero h1,
.thl-p-about-disputes .tos-hero h1
{ color:var(--white); }
.thl-p-about-terms .tos-hero-sub,
.thl-p-about-acceptable-use .tos-hero-sub,
.thl-p-about-disputes .tos-hero-sub
{ color:rgba(var(--p-white-28-rgb), 0.78); }
.thl-p-about-terms .tos-last-updated,
.thl-p-about-acceptable-use .tos-last-updated,
.thl-p-about-disputes .tos-last-updated
{ background: rgba(var(--p-white-28-rgb), 0.16); border-color: rgba(var(--p-white-28-rgb), 0.25); color:rgba(var(--p-white-28-rgb), 0.88); }
/* ── TABLE OF CONTENTS ───────────────────────────────────── */
.thl-p-about-terms .tos-toc,
.thl-p-about-acceptable-use .tos-toc,
.thl-p-about-disputes .tos-toc
{ background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-about-terms .tos-toc-title,
.thl-p-about-acceptable-use .tos-toc-title,
.thl-p-about-disputes .tos-toc-title
{ color:var(--muted); }
.thl-p-about-terms .tos-toc-title i,
.thl-p-about-acceptable-use .tos-toc-title i,
.thl-p-about-disputes .tos-toc-title i
{ color:var(--g); }
.thl-p-about-terms .tos-toc-link,
.thl-p-about-acceptable-use .tos-toc-link,
.thl-p-about-disputes .tos-toc-link
{ color:var(--sub); border-color: transparent; }
.thl-p-about-terms .tos-toc-link:hover,
.thl-p-about-acceptable-use .tos-toc-link:hover,
.thl-p-about-disputes .tos-toc-link:hover
{ background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-about-terms .tos-toc-link .toc-num,
.thl-p-about-acceptable-use .tos-toc-link .toc-num,
.thl-p-about-disputes .tos-toc-link .toc-num
{ background: var(--surf); border-color: var(--border); color:var(--g); }
.thl-p-about-terms .tos-toc-link:hover .toc-num,
.thl-p-about-acceptable-use .tos-toc-link:hover .toc-num,
.thl-p-about-disputes .tos-toc-link:hover .toc-num
{ background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-about-terms .tos-notice.notice-info,
.thl-p-about-acceptable-use .tos-notice.notice-info,
.thl-p-about-disputes .tos-notice.notice-info
{ background: var(--blue-lt); border-color: var(--info); }
.thl-p-about-terms .tos-notice.notice-warn,
.thl-p-about-acceptable-use .tos-notice.notice-warn,
.thl-p-about-disputes .tos-notice.notice-warn
{ background: var(--amber-lt); border-color: var(--warn); }
.thl-p-about-terms .tos-notice.notice-danger,
.thl-p-about-acceptable-use .tos-notice.notice-danger,
.thl-p-about-disputes .tos-notice.notice-danger
{ background: var(--red-lt); border-color: var(--red); }
.thl-p-about-terms .tos-notice.notice-success,
.thl-p-about-acceptable-use .tos-notice.notice-success,
.thl-p-about-disputes .tos-notice.notice-success
{ background: var(--g-lt); border-color: var(--g); }
.thl-p-about-terms .notice-info    .tos-notice-icon,
.thl-p-about-acceptable-use .notice-info    .tos-notice-icon,
.thl-p-about-disputes .notice-info    .tos-notice-icon
{ background: var(--blue-bglt); color:var(--blue); }
.thl-p-about-terms .notice-warn    .tos-notice-icon,
.thl-p-about-acceptable-use .notice-warn    .tos-notice-icon,
.thl-p-about-disputes .notice-warn    .tos-notice-icon
{ background: var(--amber-bglt); color:var(--warn); }
.thl-p-about-terms .notice-danger  .tos-notice-icon,
.thl-p-about-acceptable-use .notice-danger  .tos-notice-icon,
.thl-p-about-disputes .notice-danger  .tos-notice-icon
{ background: var(--p-red-23); color:var(--red); }
.thl-p-about-terms .notice-success .tos-notice-icon,
.thl-p-about-acceptable-use .notice-success .tos-notice-icon,
.thl-p-about-disputes .notice-success .tos-notice-icon
{ background: var(--p-green-47); color:var(--g-dk); }
.thl-p-about-terms .notice-info    .tos-notice-body h4,
.thl-p-about-acceptable-use .notice-info    .tos-notice-body h4,
.thl-p-about-disputes .notice-info    .tos-notice-body h4
{ color:var(--blue-ink); }
.thl-p-about-terms .notice-warn    .tos-notice-body h4,
.thl-p-about-acceptable-use .notice-warn    .tos-notice-body h4,
.thl-p-about-disputes .notice-warn    .tos-notice-body h4
{ color:var(--amber-ink); }
.thl-p-about-terms .notice-danger  .tos-notice-body h4,
.thl-p-about-acceptable-use .notice-danger  .tos-notice-body h4,
.thl-p-about-disputes .notice-danger  .tos-notice-body h4
{ color:var(--p-red-4); }
.thl-p-about-terms .notice-success .tos-notice-body h4,
.thl-p-about-acceptable-use .notice-success .tos-notice-body h4,
.thl-p-about-disputes .notice-success .tos-notice-body h4
{ color:var(--g-dk); }
.thl-p-about-terms .tos-notice-body p,
.thl-p-about-acceptable-use .tos-notice-body p,
.thl-p-about-disputes .tos-notice-body p
{ color:var(--sub); }
.thl-p-about-terms .tos-notice-body ul li,
.thl-p-about-acceptable-use .tos-notice-body ul li,
.thl-p-about-disputes .tos-notice-body ul li
{ color:var(--sub); }
/* ── SECTIONS ────────────────────────────────────────────── */
.thl-p-about-terms .tos-section,
.thl-p-about-acceptable-use .tos-section,
.thl-p-about-disputes .tos-section
{ background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-about-terms .tos-section-header,
.thl-p-about-acceptable-use .tos-section-header,
.thl-p-about-disputes .tos-section-header
{ border-bottom-color: var(--g); }
.thl-p-about-terms .tos-section-num,
.thl-p-about-acceptable-use .tos-section-num,
.thl-p-about-disputes .tos-section-num
{ background: var(--g); color:var(--white); }
.thl-p-about-terms .tos-section-title,
.thl-p-about-acceptable-use .tos-section-title,
.thl-p-about-disputes .tos-section-title
{ color:var(--ink); }
.thl-p-about-terms .tos-section-title i,
.thl-p-about-acceptable-use .tos-section-title i,
.thl-p-about-disputes .tos-section-title i
{ color:var(--g); }
.thl-p-about-terms .tos-section p,
.thl-p-about-acceptable-use .tos-section p,
.thl-p-about-disputes .tos-section p
{ color:var(--sub); }
.thl-p-about-terms .tos-section strong,
.thl-p-about-acceptable-use .tos-section strong,
.thl-p-about-disputes .tos-section strong
{ color:var(--ink); }
.thl-p-about-terms .tos-section li,
.thl-p-about-acceptable-use .tos-section li,
.thl-p-about-disputes .tos-section li
{ color:var(--sub); }
.thl-p-about-terms .tos-section li strong,
.thl-p-about-acceptable-use .tos-section li strong,
.thl-p-about-disputes .tos-section li strong
{ color:var(--ink); }
/* Sub-headings inside sections */
.thl-p-about-terms .tos-sub,
.thl-p-about-acceptable-use .tos-sub,
.thl-p-about-disputes .tos-sub
{ color:var(--g-dk); }
/* Highlight box inside section */
.thl-p-about-terms .tos-highlight,
.thl-p-about-acceptable-use .tos-highlight,
.thl-p-about-disputes .tos-highlight
{ background: var(--surf); border-color: var(--border); border-left-color: var(--g); }
.thl-p-about-terms .tos-highlight p,
.thl-p-about-acceptable-use .tos-highlight p,
.thl-p-about-disputes .tos-highlight p
{ color:var(--sub); }
/* Refund policy inset */
.thl-p-about-terms .tos-refund-box,
.thl-p-about-acceptable-use .tos-refund-box,
.thl-p-about-disputes .tos-refund-box
{ background: var(--p-orange-29); border-color: var(--warn); }
.thl-p-about-terms .tos-refund-box h4,
.thl-p-about-acceptable-use .tos-refund-box h4,
.thl-p-about-disputes .tos-refund-box h4
{ color:var(--p-orange-7); }
/* ── CONTACT SECTION ─────────────────────────────────────── */
.thl-p-about-terms .tos-contact,
.thl-p-about-acceptable-use .tos-contact,
.thl-p-about-disputes .tos-contact
{ background: var(--surf); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-about-terms .tos-contact h3,
.thl-p-about-acceptable-use .tos-contact h3,
.thl-p-about-disputes .tos-contact h3
{ color:var(--ink); }
.thl-p-about-terms .tos-contact h3 i,
.thl-p-about-acceptable-use .tos-contact h3 i,
.thl-p-about-disputes .tos-contact h3 i
{ color:var(--g); }
.thl-p-about-terms .tos-contact > p,
.thl-p-about-acceptable-use .tos-contact > p,
.thl-p-about-disputes .tos-contact > p
{ color:var(--sub); }
.thl-p-about-terms .tos-contact-card,
.thl-p-about-acceptable-use .tos-contact-card,
.thl-p-about-disputes .tos-contact-card
{ background: var(--white); border-color: var(--g); }
.thl-p-about-terms .tos-contact-card i,
.thl-p-about-acceptable-use .tos-contact-card i,
.thl-p-about-disputes .tos-contact-card i
{ color:var(--g); }
.thl-p-about-terms .tos-contact-card strong,
.thl-p-about-acceptable-use .tos-contact-card strong,
.thl-p-about-disputes .tos-contact-card strong
{ color:var(--muted); }
.thl-p-about-terms .tos-contact-card p,
.thl-p-about-acceptable-use .tos-contact-card p,
.thl-p-about-disputes .tos-contact-card p
{ color:var(--sub); }
.thl-p-about-terms .tos-contact-card a,
.thl-p-about-acceptable-use .tos-contact-card a,
.thl-p-about-disputes .tos-contact-card a
{ color:var(--g-dk); }
/* ── ACCEPT BANNER ───────────────────────────────────────── */
.thl-p-about-terms .tos-accept-bar,
.thl-p-about-acceptable-use .tos-accept-bar,
.thl-p-about-disputes .tos-accept-bar
{ background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-about-terms .tos-accept-bar p,
.thl-p-about-acceptable-use .tos-accept-bar p,
.thl-p-about-disputes .tos-accept-bar p
{ color:var(--sub); }
.thl-p-about-terms .tos-accept-bar p strong,
.thl-p-about-acceptable-use .tos-accept-bar p strong,
.thl-p-about-disputes .tos-accept-bar p strong
{ color:var(--ink); }
.thl-p-about-terms .tos-btn-primary,
.thl-p-about-acceptable-use .tos-btn-primary,
.thl-p-about-disputes .tos-btn-primary
{ background: var(--g); color:var(--white); }
.thl-p-about-terms .tos-btn-primary:hover,
.thl-p-about-acceptable-use .tos-btn-primary:hover,
.thl-p-about-disputes .tos-btn-primary:hover
{ background: var(--g-dk); }
.thl-p-about-terms .tos-btn-outline,
.thl-p-about-acceptable-use .tos-btn-outline,
.thl-p-about-disputes .tos-btn-outline
{ background: var(--surf); color:var(--sub); border-color: var(--border); }
.thl-p-about-terms .tos-btn-outline:hover,
.thl-p-about-acceptable-use .tos-btn-outline:hover,
.thl-p-about-disputes .tos-btn-outline:hover
{ border-color: var(--g); color:var(--g-dk); }

/* ── account/forgot_password.php ─────────────────────────────────────────── */
.thl-p-account-forgot-password .fp-page { background: var(--p-white-11); }
.thl-p-account-forgot-password .fp-card { background: var(--white); box-shadow: 0 4px 24px rgba(var(--p-black-1-rgb), 0.08); }
.thl-p-account-forgot-password .fp-title { color:var(--ink-2); }
.thl-p-account-forgot-password .fp-title span { color:var(--brand); }
.thl-p-account-forgot-password .fp-sub { color:var(--muted); }
.thl-p-account-forgot-password .fp-sub a { color:var(--p-blue-26); }
.thl-p-account-forgot-password .fp-alert-error { background: var(--red-lt); border-color: var(--red); color:var(--p-red-4); }
.thl-p-account-forgot-password .fp-alert-success { background: var(--g-bglt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-account-forgot-password .fp-field input { border-color: var(--border); background: var(--white); color:var(--ink-2); }
.thl-p-account-forgot-password .fp-field input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(var(--p-green-26-rgb), 0.12); }
.thl-p-account-forgot-password .fp-field label { color:var(--muted); }
.thl-p-account-forgot-password .fp-field input:focus ~ label, .thl-p-account-forgot-password .fp-field input:not(:placeholder-shown) ~ label { color:var(--brand); }
.thl-p-account-forgot-password .fp-field input.fp-valid { border-color: var(--ok) !important; background: var(--g-bglt); box-shadow: 0 0 0 3px rgba(var(--p-green-26-rgb), 0.1); }
.thl-p-account-forgot-password .fp-field input.fp-invalid { border-color: var(--error) !important; background: var(--red-lt); box-shadow: 0 0 0 3px rgba(var(--p-red-9-rgb), 0.08); }
/* Button */
.thl-p-account-forgot-password .fp-btn { background: var(--brand); color:var(--white); }
.thl-p-account-forgot-password .fp-btn:hover { background: var(--brand-dark); box-shadow: 0 6px 20px rgba(var(--p-green-26-rgb), 0.3); }
.thl-p-account-forgot-password .fp-btn:disabled { background: var(--border); color:var(--muted); }
/* Links */
.thl-p-account-forgot-password .fp-links { color:var(--muted); }
.thl-p-account-forgot-password .fp-links a { color:var(--p-blue-26); }
.thl-p-account-forgot-password .fp-links span { color:var(--border); }

/* ── account/register.php ─────────────────────────────────────────── */
/* ── LEFT PANEL ── */
.thl-p-account-register .reg-left { background: var(--brand); }
.thl-p-account-register .reg-left-dots { background-image: radial-gradient(circle, rgba(var(--p-white-28-rgb), 0.07) 1px, transparent 1px); background-size:28px 28px; }
.thl-p-account-register .reg-left-glow { background: radial-gradient(circle, rgba(var(--p-white-28-rgb), 0.06) 0%, transparent 70%); }
.thl-p-account-register .reg-brand-name { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-account-register .reg-brand-name strong { color:var(--white); }
.thl-p-account-register .reg-tagline { color:var(--white); }
.thl-p-account-register .reg-tagline em { color:var(--p-green-46); }
.thl-p-account-register .reg-tagline-sub { color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-account-register .reg-feature-label { color:rgba(var(--p-white-28-rgb), 0.92); }
.thl-p-account-register .reg-feature-desc { color:rgba(var(--p-white-28-rgb), 0.82); }
/* ── RIGHT PANEL ── */
.thl-p-account-register .reg-right { background: var(--p-white-11); }
.thl-p-account-register .reg-form-title { color:var(--ink-2); }
.thl-p-account-register .reg-form-title span { color:var(--brand); }
.thl-p-account-register .reg-form-sub { color:var(--muted); }
.thl-p-account-register .reg-form-sub a { color:var(--p-blue-26); }
.thl-p-account-register .reg-alert-error { background: var(--red-lt); border-color: var(--red); color:var(--p-red-4); }
.thl-p-account-register .reg-alert-success { background: var(--g-bglt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-account-register .reg-field input { border-color: var(--border); background: var(--white); color:var(--ink-2); }
.thl-p-account-register .reg-field input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(var(--p-green-26-rgb), 0.12); }
.thl-p-account-register .reg-field label { color:var(--muted); }
.thl-p-account-register .reg-field input:focus ~ label, .thl-p-account-register .reg-field input:not(:placeholder-shown) ~ label { color:var(--brand); }
.thl-p-account-register .reg-field .reg-eye { color:var(--muted); }
.thl-p-account-register .reg-field .reg-eye:hover { color:var(--brand); }
.thl-p-account-register .reg-field input.reg-valid { border-color: var(--ok) !important; background: var(--g-bglt); box-shadow: 0 0 0 3px rgba(var(--p-green-26-rgb), 0.1); }
.thl-p-account-register .reg-field input.reg-invalid { border-color: var(--error) !important; background: var(--red-lt); box-shadow: 0 0 0 3px rgba(var(--p-red-9-rgb), 0.08); }
.thl-p-account-register .reg-field-note { color:var(--error); }
/* Password popup */
.thl-p-account-register .reg-pw-popup { background: var(--white); border-color: var(--border); box-shadow: 0 10px 30px rgba(var(--p-black-1-rgb), 0.12); }
.thl-p-account-register .reg-pw-popup-title { color:var(--p-blue-19); }
.thl-p-account-register .reg-str-bar { background: var(--border); }
.thl-p-account-register .reg-req { color:var(--p-blue-34); }
.thl-p-account-register .reg-req i.ok { color:var(--ok); }
.thl-p-account-register .reg-req i.bad { color:var(--error); }
.thl-p-account-register .reg-terms input[type="checkbox"] { accent-color: var(--brand); }
.thl-p-account-register .reg-terms label { color:var(--sub); }
.thl-p-account-register .reg-terms a { color:var(--brand); }
/* Button */
.thl-p-account-register .reg-btn { background: var(--brand); color:var(--white); }
.thl-p-account-register .reg-btn:hover:not(:disabled) { background: var(--brand-dark); box-shadow: 0 6px 20px rgba(var(--p-green-26-rgb), 0.3); }
.thl-p-account-register .reg-btn:disabled { background: var(--border); color:var(--muted); }
.thl-p-account-register .reg-countdown { color:var(--muted); }
.thl-p-account-register .reg-countdown span { color:var(--brand); }

/* ── account/reset_password.php ─────────────────────────────────────────── */
.thl-p-account-reset-password .rp-page { background: var(--p-white-11); }
.thl-p-account-reset-password .rp-card { background: var(--white); box-shadow: 0 4px 24px rgba(var(--p-black-1-rgb), 0.08); }
.thl-p-account-reset-password .rp-title { color:var(--ink-2); }
.thl-p-account-reset-password .rp-title span { color:var(--brand); }
.thl-p-account-reset-password .rp-sub { color:var(--muted); }
.thl-p-account-reset-password .rp-alert-error { background: var(--red-lt); border-color: var(--red); color:var(--p-red-4); }
.thl-p-account-reset-password .rp-alert-success { background: var(--g-bglt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-account-reset-password .rp-invalid-icon { background: var(--red-lt); color:var(--error); }
.thl-p-account-reset-password .rp-field input { border-color: var(--border); background: var(--white); color:var(--ink-2); }
.thl-p-account-reset-password .rp-field input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(var(--p-green-26-rgb), 0.12); }
.thl-p-account-reset-password .rp-field label { color:var(--muted); }
.thl-p-account-reset-password .rp-field input:focus ~ label, .thl-p-account-reset-password .rp-field input:not(:placeholder-shown) ~ label { color:var(--brand); }
.thl-p-account-reset-password .rp-field .rp-eye { color:var(--muted); }
.thl-p-account-reset-password .rp-field .rp-eye:hover { color:var(--brand); }
.thl-p-account-reset-password .rp-field input.rp-valid { border-color: var(--ok) !important; background: var(--g-bglt); box-shadow: 0 0 0 3px rgba(var(--p-green-26-rgb), 0.1); }
.thl-p-account-reset-password .rp-field input.rp-invalid { border-color: var(--error) !important; background: var(--red-lt); box-shadow: 0 0 0 3px rgba(var(--p-red-9-rgb), 0.08); }
.thl-p-account-reset-password .rp-field-note { color:var(--error); }
.thl-p-account-reset-password .rp-pw-popup { background: var(--white); border-color: var(--border); box-shadow: 0 10px 30px rgba(var(--p-black-1-rgb), 0.12); }
.thl-p-account-reset-password .rp-pw-popup-title { color:var(--p-blue-19); }
.thl-p-account-reset-password .rp-str-bar { background: var(--border); }
.thl-p-account-reset-password .rp-req { color:var(--p-blue-34); }
.thl-p-account-reset-password .rp-req i.ok { color:var(--ok); }
.thl-p-account-reset-password .rp-req i.bad { color:var(--error); }
.thl-p-account-reset-password .rp-btn { background: var(--brand); color:var(--white); }
.thl-p-account-reset-password .rp-btn:hover:not(:disabled) { background: var(--brand-dark); box-shadow: 0 6px 20px rgba(var(--p-green-26-rgb), 0.3); }
.thl-p-account-reset-password .rp-btn:disabled { background: var(--border); color:var(--muted); }
.thl-p-account-reset-password .rp-links { color:var(--muted); }
.thl-p-account-reset-password .rp-links a { color:var(--p-blue-26); }

/* ── account/signin.php ─────────────────────────────────────────── */
/* ── LEFT PANEL ── */
.thl-p-account-signin .si-left { background: var(--brand); }
.thl-p-account-signin .si-left-dots { background-image: radial-gradient(circle, rgba(var(--p-white-28-rgb), 0.07) 1px, transparent 1px); background-size:28px 28px; }
.thl-p-account-signin .si-left-glow { background: radial-gradient(circle, rgba(var(--p-white-28-rgb), 0.06) 0%, transparent 70%); }
.thl-p-account-signin .si-brand-name { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-account-signin .si-brand-name strong { color:var(--white); }
.thl-p-account-signin .si-tagline { color:var(--white); }
.thl-p-account-signin .si-tagline em { color:var(--p-green-46); }
.thl-p-account-signin .si-tagline-sub { color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-account-signin .si-feature-label { color:rgba(var(--p-white-28-rgb), 0.92); }
.thl-p-account-signin .si-feature-desc { color:rgba(var(--p-white-28-rgb), 0.82); }
/* ── RIGHT PANEL ── */
.thl-p-account-signin .si-right { background: var(--p-white-11); }
.thl-p-account-signin .si-form-title { color:var(--ink-2); }
.thl-p-account-signin .si-form-title span { color:var(--brand); }
.thl-p-account-signin .si-form-sub { color:var(--muted); }
.thl-p-account-signin .si-form-sub a { color:var(--p-blue-26); }
.thl-p-account-signin .si-alert a { color:var(--brand); }
.thl-p-account-signin .si-alert-error { background: var(--red-lt); border-color: var(--red); color:var(--p-red-4); }
.thl-p-account-signin .si-alert-success { background: var(--g-bglt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-account-signin .si-field input { border-color: var(--border); background: var(--white); color:var(--ink-2); }
.thl-p-account-signin .si-field input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(var(--p-green-26-rgb), 0.12); }
.thl-p-account-signin .si-field label { color:var(--muted); }
.thl-p-account-signin .si-field input:focus ~ label, .thl-p-account-signin .si-field input:not(:placeholder-shown) ~ label { color:var(--brand); }
.thl-p-account-signin .si-field .si-eye { color:var(--muted); }
.thl-p-account-signin .si-field .si-eye:hover { color:var(--brand); }
.thl-p-account-signin .si-field input.si-valid { border-color: var(--ok) !important; background: var(--g-bglt); box-shadow: 0 0 0 3px rgba(var(--p-green-26-rgb), 0.1); }
.thl-p-account-signin .si-field input.si-invalid { border-color: var(--error) !important; background: var(--red-lt); box-shadow: 0 0 0 3px rgba(var(--p-red-9-rgb), 0.08); }
.thl-p-account-signin .si-forgot a { color:var(--p-blue-26); }
.thl-p-account-signin .si-remember input[type="checkbox"] { accent-color: var(--brand); }
.thl-p-account-signin .si-remember label { color:var(--p-blue-19); }
/* Button */
.thl-p-account-signin .si-btn { background: var(--brand); color:var(--white); }
.thl-p-account-signin .si-btn:hover:not(:disabled) { background: var(--brand-dark); box-shadow: 0 6px 20px rgba(var(--p-green-26-rgb), 0.3); }
/* Divider */
.thl-p-account-signin .si-divider { color:var(--muted); }
.thl-p-account-signin .si-divider::before, .thl-p-account-signin .si-divider::after { background: var(--border); }
.thl-p-account-signin .si-register-link { border-color: var(--border); color:var(--p-blue-19); }
.thl-p-account-signin .si-register-link:hover { border-color: var(--brand); color:var(--brand); background-color: rgba(var(--p-green-26-rgb), 0.2); }

/* ── account/verify_email.php ─────────────────────────────────────────── */
.thl-p-account-verify-email .verify-page { background: var(--p-white-11); }
.thl-p-account-verify-email .verify-card { background: var(--white); box-shadow: 0 4px 24px rgba(var(--p-black-1-rgb), 0.08); }
.thl-p-account-verify-email .verify-icon.success { background: var(--g-bglt); color:var(--brand); }
.thl-p-account-verify-email .verify-icon.error { background: var(--red-lt); color:var(--error); }
.thl-p-account-verify-email .verify-title { color:var(--ink-2); }
.thl-p-account-verify-email .verify-message { color:var(--p-blue-34); }
.thl-p-account-verify-email .verify-btn { background: var(--brand); color:var(--white); }
.thl-p-account-verify-email .verify-btn:hover { background: var(--brand-dark); box-shadow: 0 6px 20px rgba(var(--p-green-26-rgb), 0.28); }
.thl-p-account-verify-email .verify-btn.outline { background: transparent; border-color: var(--brand); color:var(--brand); }
.thl-p-account-verify-email .verify-btn.outline:hover { background: var(--brand); color:var(--white); box-shadow: 0 6px 20px rgba(var(--p-green-26-rgb), 0.28); }
.thl-p-account-verify-email .verify-links { color:var(--muted); }
.thl-p-account-verify-email .verify-links a { color:var(--p-blue-26); }
.thl-p-calculator-pages-construction-cost-calculator .cl-grp { color:var(--p-blue-18); border-bottom-color: var(--p-grey-41); }
.thl-p-calculator-pages-construction-cost-calculator .cl-line + .cl-line { border-top-color: var(--p-grey-43); }
.thl-p-calculator-pages-construction-cost-calculator .cl-lbl { color:var(--p-blue-27); }
.thl-p-calculator-pages-construction-cost-calculator .cl-f { color:var(--p-blue-46); }
.thl-p-calculator-pages-construction-cost-calculator .cl-val { color:var(--p-blue-10); }
.thl-p-calculator-pages-construction-cost-calculator .cl-tot { background: rgba(var(--p-green-22-rgb), .10); }
.thl-p-calculator-pages-construction-cost-calculator .cl-tot .cl-lbl { color:var(--p-green-8); }
.thl-p-calculator-pages-construction-cost-calculator .cl-tot .cl-val { color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .cl-cost .cl-lbl { color:var(--p-blue-22); }
.thl-p-calculator-pages-construction-cost-calculator .cl-cost .cl-val { color:var(--p-blue-23); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cl-cost { background: rgba(var(--p-green-18-rgb), .045); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cl-cost .cl-val { color:var(--eacc2); }
/* ============ Bill of Quantities — presentation (scoped, .thl-p-calculator-pages-construction-cost-calculator brand green, .thl-p-calculator-pages-construction-cost-calculator flat) ============ */
.thl-p-calculator-pages-construction-cost-calculator #edEstCard { background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cl-grp { color:var(--eink); border-bottom-color: var(--eline); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cl-lbl { color:var(--p-blue-29); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cl-val { color:var(--eink); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cl-tot { background: var(--esoft); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cl-tot .cl-lbl { color:var(--eacc2); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cl-tot .cl-val { color:var(--eacc2); }
/* editor */
.thl-p-calculator-pages-construction-cost-calculator .ed-toolbar { border-bottom-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-seg { border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-seg button { background: var(--p-white-19); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .ed-seg button.on { background: var(--g); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ed-tb { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-mini { color:var(--ink); border-color: var(--border); background: var(--p-white-19); }
.thl-p-calculator-pages-construction-cost-calculator .ed-mini:focus { border-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pill { color:var(--g-dk); background: var(--g-lt); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-btn { border-color: var(--border); background: var(--white); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .ed-btn:hover { background: var(--border-3); border-color: var(--border); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .ed-btn.danger:hover { background: var(--p-red-7); border-color: var(--p-red-7); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ed-btn.blue { background: var(--c-blue); border-color: var(--c-blue); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ed-btn.green { background: var(--g); border-color: var(--g); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ed-btn.green:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .ed-btn.amber { background: var(--p-orange-29); border-color: var(--warn); color:var(--p-orange-4); }
.thl-p-calculator-pages-construction-cost-calculator .ed-prop-sub { color:var(--p-blue-35); border-top-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-prop-chk input { accent-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .ed-prop-inp:disabled { background: var(--p-white-6); }
.thl-p-calculator-pages-construction-cost-calculator .ed-btn.danger { color:var(--p-red-7); border-color: var(--red); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-spin { background: rgba(var(--p-white-12-rgb), 0.80); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-spin-ring { border-color: var(--p-grey-30); border-top-color: var(--g,var(--g)); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-spin-txt { color:var(--p-grey-8); }
.thl-p-calculator-pages-construction-cost-calculator #ed3d { border-color: var(--border); background: linear-gradient(180deg,var(--p-blue-54) 0%,var(--p-grey-51) 55%,var(--p-white-14) 100%); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-label { color:var(--p-grey-5); background: rgba(var(--p-white-28-rgb), .85); border-color: var(--p-blue-49); box-shadow: 0 2px 6px rgba(var(--p-grey-3-rgb), .18); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-label .a { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-nav { background: rgba(var(--p-white-28-rgb), .82); border-color: var(--p-grey-11); }
.thl-p-calculator-pages-construction-cost-calculator .vc-face { stroke: var(--p-grey-16); }
.thl-p-calculator-pages-construction-cost-calculator .vc-top { fill: var(--p-grey-52); }
.thl-p-calculator-pages-construction-cost-calculator .vc-front { fill: var(--p-grey-31); }
.thl-p-calculator-pages-construction-cost-calculator .vc-side { fill: var(--p-grey-22); }
.thl-p-calculator-pages-construction-cost-calculator .vc-face:hover { fill: var(--g-lt); stroke: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .vc-lbl { fill: var(--p-grey-8); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-nb { color:var(--ink); background: var(--white); border-color: var(--p-grey-24); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-nb:hover { border-color: var(--g); color:var(--g-dk); background: var(--p-grey-76); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-nb.on { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-row-lbl { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-sel { color:var(--ink); border-color: var(--p-grey-24); background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-sel:focus { border-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-lv-btn { color:var(--ink); border-color: var(--p-grey-11); background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-lv-btn:hover { border-color: var(--p-blue-44); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-lv-btn .fa-layer-group { color:var(--c-blue); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-lv-btn .fa-chevron-down { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-lv-menu { background: var(--white); border-color: var(--p-grey-11); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-lv-quick button { color:var(--p-blue-18); background: var(--p-grey-47); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-lv-quick button:hover { background: var(--p-grey-33); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-chk { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-chk:hover { background: var(--p-grey-61); }
.thl-p-calculator-pages-construction-cost-calculator .ed3d-chk input { accent-color: var(--p-blue-22); }
.thl-p-calculator-pages-construction-cost-calculator .ed-underlay { background: rgba(var(--p-white-28-rgb), .86); border-color: var(--p-grey-11); color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-underlay i { color:var(--c-blue); }
.thl-p-calculator-pages-construction-cost-calculator .ed-underlay-sel { color:var(--ink); border-color: var(--border); background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ed-underlay-sel:focus { border-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .ed-ul-btn { color:var(--ink); border-color: var(--p-grey-11); background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ed-ul-btn:hover { border-color: var(--p-blue-34); }
.thl-p-calculator-pages-construction-cost-calculator .ed-ul-btn .fa-chevron-down { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-ul-menu { background: var(--white); border-color: var(--p-grey-11); }
.thl-p-calculator-pages-construction-cost-calculator .ed-ul-opt { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .ed-ul-opt:hover { background: var(--p-grey-61); }
.thl-p-calculator-pages-construction-cost-calculator .ed-ul-opt.on { background: var(--p-grey-47); }
.thl-p-calculator-pages-construction-cost-calculator .ed-ul-opt input[type=checkbox] { accent-color: var(--g,var(--g)); }
.thl-p-calculator-pages-construction-cost-calculator .ed-ul-sep { background: var(--border,var(--border)); }
.thl-p-calculator-pages-construction-cost-calculator .ed-fdd-btn .fa-chevron-down { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-fdd-menu { background: var(--white); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-fdd-opt { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .ed-fdd-opt:hover { background: var(--p-grey-61); }
.thl-p-calculator-pages-construction-cost-calculator .ed-fdd-opt.on { background: var(--p-grey-47); }
.thl-p-calculator-pages-construction-cost-calculator #edStage { border-color: var(--border); background: var(--p-white-25); }
.thl-p-calculator-pages-construction-cost-calculator .ed.v3d #edStage { background: linear-gradient(180deg,var(--p-grey-51),var(--p-white-21)); }
.thl-p-calculator-pages-construction-cost-calculator .ed-max-btn { border-color: var(--border); background: var(--white); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .ed-max-btn:hover { border-color: var(--g,var(--g)); color:var(--g-dk,var(--g-dk)); }
.thl-p-calculator-pages-construction-cost-calculator .ed-max-btn.on { background: var(--g,var(--g)); border-color: var(--g,var(--g)); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ed.is-max { background: var(--white,var(--white)); }
/* a content-tall BoQ was oversubscribing the fixed-height column and stealing height from them (squashing the top row). All remaining space goes to .ed-main, and #edEstCard scrolls within it. */

.thl-p-calculator-pages-construction-cost-calculator .ed-hint { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed input[type=range] { accent-color: var(--c-blue); }
.thl-p-calculator-pages-construction-cost-calculator .ed-foot { border-top-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-copy { color:var(--sub); }
.thl-p-calculator-pages-construction-cost-calculator .ed-m .t { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-m .v { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .rb { background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tabs { border-bottom-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tab { color:var(--sub); border-bottom-color: transparent; }
.thl-p-calculator-pages-construction-cost-calculator .rb-tab:hover { color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tab.on { color:var(--g-dk); border-bottom-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .rb-file { color:var(--white); background: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .rb-file:hover { background: var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .rb-collapse { border-color: var(--border); background: var(--white); color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .rb-collapse:hover { border-color: var(--g,var(--g)); color:var(--g-dk,var(--g-dk)); }
/* temporarily revealed while ribbon is popped */
.thl-p-calculator-pages-construction-cost-calculator .rb-viewtoggle { border-color: var(--c-blue); background: var(--c-blue); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ed.v3d .rb-viewtoggle { background: var(--g); border-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .rb-body { border-bottom-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .rb-group { border-right-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .rb-group-lbl { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tile { border-color: transparent; color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tile:hover { background: var(--p-grey-69); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tile.on { background: var(--p-grey-49); border-color: var(--border); color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .ed-left { border-right-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-right { border-left-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pane { border-bottom-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pane-h { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pane-act { border-color: var(--border); background: var(--white); color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pane-act:hover { border-color: var(--g); color:var(--g-dk); background: var(--p-grey-76); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pane-scroll::-webkit-scrollbar-track { background: transparent; }
.thl-p-calculator-pages-construction-cost-calculator .ed-pane-scroll::-webkit-scrollbar-thumb { background: var(--p-grey-25); border-color: var(--white); background-clip:padding-box; }
.thl-p-calculator-pages-construction-cost-calculator .ed-pane-scroll::-webkit-scrollbar-thumb:hover { background: var(--p-grey-18); background-clip:padding-box; }
.thl-p-calculator-pages-construction-cost-calculator .ed-pb-item { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pb-item i { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pb-item:hover { background: var(--p-grey-69); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pb-item.on { background: var(--p-grey-49); color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pb-item.on i { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .ed-prop-kind { color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .ed-prop { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-prop-inp { color:var(--ink); border-color: var(--border); background: var(--p-white-19); }
.thl-p-calculator-pages-construction-cost-calculator .ed-prop-inp:focus { border-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .ed-prop-empty { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-vtabs { box-shadow: inset 0 -1px 0 var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-vtab { border-color: var(--border); border-bottom-color: var(--border); background: var(--p-grey-73); color:var(--sub); }
.thl-p-calculator-pages-construction-cost-calculator .ed-vtab > i:first-child { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-vtab.on { background: var(--white); color:var(--g-dk); border-bottom-color: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ed-vtab.on > i:first-child { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .ed-vtab-x { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-vtab-x:hover { background: var(--p-grey-37); color:var(--p-red-7); }
.thl-p-calculator-pages-construction-cost-calculator .ed-vtab-empty { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-noview { color:var(--muted); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pb-cat { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pb-cat:hover { color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pb-chev { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pb-cat:hover .ed-pb-chev { color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa { border-bottom-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa-proj { background: var(--surface,var(--p-grey-74)); border-color: var(--border); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa-proj > i { color:var(--g,var(--g)); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa-proj-id { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa-grand { background: rgba(var(--g-rgb), 0.10); border-color: var(--g,var(--g)); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa-grand:hover { background: rgba(var(--g-rgb), 0.18); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa-grand strong { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .ed-readonly-badge { background: var(--blue-lt); color:var(--info); border-color: var(--info); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa-owner { background: var(--surface,var(--p-grey-74)); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa-owner:hover { border-color: var(--g,var(--g)); background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa-owner-av { background: var(--p-grey-39); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa-owner-by { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa-owner-name { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .ed-save-status { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-save-status .ed-ss-dot { background: var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-save-status.is-saved { color:var(--p-green-12); }
.thl-p-calculator-pages-construction-cost-calculator .ed-save-status.is-saved .ed-ss-dot { background: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .ed-save-status.is-unsaved { color:var(--p-orange-11); }
.thl-p-calculator-pages-construction-cost-calculator .ed-save-status.is-unsaved .ed-ss-dot { background: var(--p-orange-22); }
.thl-p-calculator-pages-construction-cost-calculator .ed-save-status.is-new { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-save-status.is-new .ed-ss-dot { background: var(--p-grey-17); }
.thl-p-calculator-pages-construction-cost-calculator .ed-save-status.is-guest { color:var(--p-orange-11); }
.thl-p-calculator-pages-construction-cost-calculator .ed-save-status.is-guest .ed-ss-dot { background: var(--p-orange-22); }
.thl-p-calculator-pages-construction-cost-calculator .ed-save-status.is-saving { color:var(--p-blue-24); }
.thl-p-calculator-pages-construction-cost-calculator .ed-save-status.is-saving .ed-ss-dot { background: var(--p-blue-24); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pb-proj { background: var(--g-lt,var(--g-lt)); border-color: var(--border); color:var(--g-dk,var(--g-dk)); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qa-name { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .rb-inp { color:var(--ink); border-color: var(--border); background: var(--p-white-19); }
.thl-p-calculator-pages-construction-cost-calculator .rb-inp:focus { border-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator #edDimEdit { color:var(--p-blue-8); border-color: var(--info); background: var(--white); box-shadow: 0 1px 5px rgba(var(--p-blue-28-rgb), .20); }
.thl-p-calculator-pages-construction-cost-calculator .ed-left { border-bottom-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-right { border-top-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-note { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-head { color:var(--muted); border-bottom-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-row { border-bottom-color: var(--p-grey-50); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-name { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-name i { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-name-inp { color:var(--ink); border-color: transparent; background: transparent; }
.thl-p-calculator-pages-construction-cost-calculator .lvl-name-inp:hover { border-color: var(--border); background: var(--surface); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-name-inp:focus { border-color: var(--g); background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-elev { color:var(--sub); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-h-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-h-inp:focus { border-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-u { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-del { border-color: var(--border); background: var(--white); color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-del:hover { border-color: var(--border); color:var(--p-red-12); background: var(--p-grey-66); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-add { border-color: var(--border); background: var(--p-white-19); color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .lvl-add:hover { border-color: var(--g); background: var(--p-grey-76); }
.thl-p-calculator-pages-construction-cost-calculator .rl-grp { color:var(--g-dk); border-bottom-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .rl-row { border-bottom-color: var(--p-grey-59); }
.thl-p-calculator-pages-construction-cost-calculator .rl-cur { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .rl-per { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .rl-lbl { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .rl-u { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .rl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-calculator-pages-construction-cost-calculator .rl-inp:focus { border-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .rl-setrow { background: var(--surface2,rgba(var(--p-black-1-rgb), .02)); }
body.thl-p-calculator-pages-construction-cost-calculator { color:var(--ink-3); }.thl-p-calculator-pages-construction-cost-calculator td, .thl-p-calculator-pages-construction-cost-calculator th { border-bottom-color: var(--p-grey-20); }
.thl-p-calculator-pages-construction-cost-calculator .sec td { background: var(--ok); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .ss td { background: var(--p-grey-61); }
.thl-p-calculator-pages-construction-cost-calculator .grand td { background: var(--p-green-15); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator thead th { border-bottom-color: var(--p-grey-6); }
.thl-p-calculator-pages-construction-cost-calculator .doc-head { border-bottom-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .doc-proj { color:var(--ink-3); }
.thl-p-calculator-pages-construction-cost-calculator .doc-kind { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .doc-metaline { color:var(--ink-4); }
.thl-p-calculator-pages-construction-cost-calculator .doc-grand-l { color:var(--ink-5); }
.thl-p-calculator-pages-construction-cost-calculator .doc-grand-v { color:var(--ink-3); }

/* ── calculators.php ─────────────────────────────────────────── */
/* ───────── HERO ───────── */
.thl-p-calculators .qe-ov { background: rgba(var(--p-black-5-rgb), .55); }
.thl-p-calculators .qe-box { background: var(--white); box-shadow: 0 14px 44px rgba(var(--p-black-1-rgb), .16); }
.thl-p-calculators .qe-box .thl-modal-head { background: var(--white); border-bottom: 1px solid var(--border); }
.thl-p-calculators .qe-box .thl-modal-head h3 { color:var(--ink); }
.thl-p-calculators .qe-box .thl-modal-foot { background: var(--white); border-top: 1px solid var(--border); }
.thl-p-calculators .qe-cancel { background: var(--white); border-color: var(--border); color:var(--sub); }
.thl-p-calculators .qe-cancel:hover { border-color: var(--g); color:var(--g-dk); }
.thl-p-calculators .de-band { background: var(--p-blue-1); }
.thl-p-calculators .de-band-eyebrow { color:var(--white); }
.thl-p-calculators .de-band h2 { color:var(--white); }
.thl-p-calculators .de-band h2 em { background: linear-gradient(95deg, var(--g) 0%, var(--p-green-30) 100%); -webkit-text-fill-color: transparent; -webkit-background-clip: text; background-clip: text; }
.thl-p-calculators .de-band p { color:rgba(var(--p-white-28-rgb), 0.92); }
.thl-p-calculators .de-btn-p { background: var(--g); color:var(--white); }
.thl-p-calculators .de-btn-p:hover { background: var(--g-dk); }
.thl-p-calculators .est-card { background: var(--white); border-color: var(--border); }
.thl-p-calculators .est-bar-lbl { color:var(--muted); }
.thl-p-calculators .est-bar-pct { color:var(--g-dk); }
.thl-p-calculators .est-track { background: var(--p-grey-42); }
.thl-p-calculators .est-prog { background: linear-gradient(90deg,var(--c-indigo),var(--g)); }
.thl-p-calculators .est-dot::after { background: var(--p-grey-42); }
.thl-p-calculators .est-dot.done::after { background: var(--g); }
.thl-p-calculators .est-dot-n { background: var(--p-grey-42); color:var(--muted); }
.thl-p-calculators .est-dot.on .est-dot-n { background: var(--c-indigo); color:var(--white); box-shadow: 0 6px 16px rgba(var(--p-blue-33-rgb), .4); }
.thl-p-calculators .est-dot.done .est-dot-n { background: var(--g); color:var(--white); }
.thl-p-calculators .est-dot-t { color:var(--ink); }
.thl-p-calculators .est-dot-s { color:var(--muted); }
.thl-p-calculators .est-label { color:var(--ink); }
.thl-p-calculators .est-label .opt { color:var(--muted); }
.thl-p-calculators .est-tile { border-color: var(--border); background: var(--white); }
.thl-p-calculators .est-tile:hover { border-color: var(--info); background: var(--p-white-4); }
.thl-p-calculators .est-tile.sel { border-color: var(--c-indigo); background: var(--p-grey-46); }
.thl-p-calculators .est-tile i { color:var(--c-indigo); }
.thl-p-calculators .est-tile-t { color:var(--ink); }
.thl-p-calculators .est-tile-s { color:var(--muted); }
.thl-p-calculators .est-tiles.qual .est-tile.sel { border-color: var(--g); background: var(--g-lt); }
.thl-p-calculators .est-tiles.qual .est-tile i { color:var(--g); }
.thl-p-calculators .est-input-wrap .suf { color:var(--muted); }
.thl-p-calculators .est-input { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-calculators .est-input:focus { border-color: var(--c-indigo); background: var(--white); }
.thl-p-calculators .est-stepmini { border-color: var(--border); }
.thl-p-calculators .est-stepmini button { background: var(--surf); color:var(--ink); }
.thl-p-calculators .est-stepmini button:hover { background: var(--p-grey-46); color:var(--c-indigo); }
.thl-p-calculators .est-stepmini input { border-left-color: var(--border); border-right-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-calculators .est-size { border-color: var(--border); background: var(--white); }
.thl-p-calculators .est-size:hover { border-color: var(--info); background: var(--p-white-4); }
.thl-p-calculators .est-size.sel { border-color: var(--c-indigo); background: var(--p-grey-46); }
.thl-p-calculators .est-size-m2 { color:var(--ink); }
.thl-p-calculators .est-size-name { color:var(--c-indigo); }
.thl-p-calculators .est-size-desc { color:var(--muted); }
.thl-p-calculators .est-size-sqft { color:var(--sub); }
.thl-p-calculators .est-res-head h2 { color:var(--ink); }
.thl-p-calculators .est-tool { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-calculators .est-tool:hover { border-color: var(--c-indigo); color:var(--c-indigo); }
.thl-p-calculators .est-stat { color:var(--white); }
.thl-p-calculators .est-stat.s-total { background: linear-gradient(135deg,var(--p-blue-21),var(--c-indigo)); }
.thl-p-calculators .est-stat.s-perm2 { background: linear-gradient(135deg,var(--p-teal-2),var(--c-cyan)); }
.thl-p-calculators .est-stat.s-time { background: linear-gradient(135deg,var(--p-orange-9),var(--amber)); }
.thl-p-calculators .est-stat.s-save { background: linear-gradient(135deg,var(--p-green-11),var(--c-emerald)); }
.thl-p-calculators .est-trust { background: linear-gradient(135deg,var(--amber-lt),var(--amber-bglt)); border-color: var(--warn); }
.thl-p-calculators .est-trust .t-main { color:var(--amber-ink); }
.thl-p-calculators .est-trust .t-main i { color:var(--c-amber); }
.thl-p-calculators .est-trust .t-sub { color:var(--p-orange-10); }
.thl-p-calculators .est-trust .t-pill { color:var(--p-green-10); background: var(--p-green-47); border-color: var(--p-green-31); }
.thl-p-calculators .est-insights { border-color: var(--border); background: var(--surf); }
.thl-p-calculators .est-insights h3 { color:var(--ink); }
.thl-p-calculators .est-insights h3 i { color:var(--c-amber); }
.thl-p-calculators .est-insights li { color:var(--sub); }
.thl-p-calculators .est-insights li i { color:var(--g); }
/* tabs */
.thl-p-calculators .est-tabs { border-bottom-color: var(--border); }
.thl-p-calculators .est-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-calculators .est-tab:hover { color:var(--ink); }
.thl-p-calculators .est-tab.on { color:var(--c-indigo); border-bottom-color: var(--c-indigo); }
.thl-p-calculators .est-distname { color:var(--ink); }
.thl-p-calculators .est-distbar { background: var(--p-grey-42); }
.thl-p-calculators .est-distamt { color:var(--ink); }
.thl-p-calculators .est-distpct { color:var(--muted); }
.thl-p-calculators .est-mat { border-color: var(--border); background: var(--white); }
.thl-p-calculators .est-mat-ic { color:var(--white); }
.thl-p-calculators .est-mat-name { color:var(--ink); }
.thl-p-calculators .est-mat-amt { color:var(--ink); }
.thl-p-calculators .est-mat-pct { color:var(--muted); }
.thl-p-calculators .est-mat-qty { color:var(--ink); }
.thl-p-calculators .est-mat-unit { color:var(--muted); }
.thl-p-calculators .est-mat-sub { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-calculators .est-timename { color:var(--ink); }
.thl-p-calculators .est-timebar { background: var(--p-grey-42); }
.thl-p-calculators .est-timewk { color:var(--sub); }
.thl-p-calculators .est-time-total { color:var(--ink); }
.thl-p-calculators .est-disc { color:var(--muted); }
.thl-p-calculators .est-disc i { color:var(--c-blue); }
/* nav */
.thl-p-calculators .est-nav { border-top-color: var(--border); background: var(--surf); }
.thl-p-calculators .est-btn { border-color: transparent; }
.thl-p-calculators .est-btn-prev { background: var(--white); border-color: var(--border); color:var(--sub); }
.thl-p-calculators .est-btn-prev:hover { border-color: var(--c-indigo); color:var(--c-indigo); }
.thl-p-calculators .est-btn-next { background: var(--c-indigo); color:var(--white); }
.thl-p-calculators .est-btn-next:hover { background: var(--p-blue-21); }
.thl-p-calculators .est-btn-restart { background: var(--white); border-color: var(--border); color:var(--sub); }
.thl-p-calculators .est-btn-restart:hover { border-color: var(--g); color:var(--g-dk); }
.thl-p-calculators .cta-head h2 { color:var(--ink); }
.thl-p-calculators .cta-head p { color:var(--sub); }
.thl-p-calculators .cta-card { border-color: var(--border); background: var(--white); box-shadow: var(--shadow); }
.thl-p-calculators .cta-card:hover { box-shadow: var(--shadow-hover); }
.thl-p-calculators .cta-ic { color:var(--white); }
.thl-p-calculators .cta-ic.pro { background: linear-gradient(135deg,var(--p-teal-2),var(--p-teal-5)); }
.thl-p-calculators .cta-ic.free { background: linear-gradient(135deg,var(--violet),var(--c-purple)); }
.thl-p-calculators .cta-ic.design { background: linear-gradient(135deg,var(--p-orange-9),var(--amber)); }
.thl-p-calculators .cta-ic.editor { background: linear-gradient(135deg,var(--g-dk),var(--g)); }
.thl-p-calculators .cta-card h3 { color:var(--ink); }
.thl-p-calculators .cta-card p { color:var(--sub); }
.thl-p-calculators .cta-go { color:var(--c-indigo); }
/* ───────── PUBLIC PROJECTS ───────── */
.thl-p-calculators .filter-bar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-calculators .fi input { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-calculators .fi input:focus { border-color: var(--g); background: var(--white); }
.thl-p-calculators .fi-search-icon { color:var(--muted); }
.thl-p-calculators .sort-wrap label { color:var(--muted); }
.thl-p-calculators .calc-new-btn { background: var(--ink); color:var(--white); }
.thl-p-calculators .calc-new-btn:hover { background: var(--p-grey-6); }
.thl-p-calculators .calc-new-btn-quick { background: var(--g); }
.thl-p-calculators .calc-new-btn-quick:hover { background: var(--g-dk); }
.thl-p-calculators .custom-dropdown-toggle { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-calculators .custom-dropdown-toggle:hover, .thl-p-calculators .custom-dropdown-toggle:focus { border-color: var(--g); background: var(--white); }
.thl-p-calculators .custom-dropdown-toggle::after { color:var(--muted); }
.thl-p-calculators .custom-dropdown-menu { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-calculators .custom-dropdown-item { color:var(--ink); }
.thl-p-calculators .custom-dropdown-item:hover { background: var(--surface2); color: var(--ink-2); }
.thl-p-calculators .custom-dropdown-item.selected { background: var(--g); color:var(--white); }
.thl-p-calculators .custom-dropdown-item i { color:var(--g); }
.thl-p-calculators .custom-dropdown-item.selected i { color:var(--white); }
.thl-p-calculators .page-top-title { color:var(--ink); }
.thl-p-calculators .page-top-count { color:var(--muted); }
.thl-p-calculators .page-top-count strong { color:var(--ink); }
.thl-p-calculators .design-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-calculators .design-card:hover { box-shadow: var(--shadow-hover); }
.thl-p-calculators .card-slider { background: var(--surf); }
.thl-p-calculators .no-photo { color:var(--muted); }
.thl-p-calculators .cat-badge { color:var(--white); background: var(--g); }
.thl-p-calculators .card-title { color:var(--ink); }
.thl-p-calculators .card-loc { color:var(--muted); }
.thl-p-calculators .card-loc i { color:var(--g); }
.thl-p-calculators .card-price { color:var(--ink); }
.thl-p-calculators .card-actions { border-top-color: var(--border); }
.thl-p-calculators .card-owner img { background: var(--p-grey-39); border-color: var(--border); }
.thl-p-calculators .card-owner-name { color:var(--sub); }
.thl-p-calculators .empty-state .ico { color:var(--border); }
.thl-p-calculators .empty-state h3 { color:var(--ink); }
.thl-p-calculators .empty-state p { color:var(--muted); }
.thl-p-calculators .empty-state a { background: var(--g); color:var(--white); }
.thl-p-calculators .calc-pager a, .thl-p-calculators .calc-pager span { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-calculators .calc-pager a:hover { border-color: var(--g); color:var(--g-dk); }
.thl-p-calculators .calc-pager a.active { background: var(--g); border-color: var(--g); color:var(--white); }
.thl-p-calculators .calc-pager span.disabled { color:var(--border); }

/* ── community.php ─────────────────────────────────────────── */
/* ── HERO ────────────────────────────────────────── */
.thl-p-community .comm-hero { background: linear-gradient(135deg, var(--p-blue-2) 0%, var(--p-blue-7) 50%, var(--p-green-5) 100%); }
.thl-p-community .comm-hero::before { background: radial-gradient(ellipse 60% 80% at 10% 50%, rgba(var(--g-rgb), 0.12) 0%, transparent 60%),

        radial-gradient(ellipse 40% 60% at 90% 20%, rgba(var(--g-rgb), 0.08) 0%, transparent 60%); }
.thl-p-community .comm-hero::after { background: linear-gradient(90deg, transparent, rgba(var(--g-rgb), 0.4), transparent); }
.thl-p-community .comm-hero-eyebrow { color:var(--g); background: rgba(var(--g-rgb), 0.1); border-color: var(--g); }
.thl-p-community .comm-hero-title { color:var(--white); }
.thl-p-community .comm-hero-title span { color:var(--g); }
.thl-p-community .comm-hero-sub { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-community .comm-hero-stat { background: rgba(var(--p-white-28-rgb), 0.05); border-color: rgba(var(--p-white-28-rgb), 0.1); }
.thl-p-community .comm-hero-stat:hover { background: rgba(var(--g-rgb), 0.1); border-color: var(--g); }
.thl-p-community .comm-hero-stat-val { color:var(--white); }
.thl-p-community .comm-hero-stat-lbl { color:rgba(var(--p-white-28-rgb), 0.62); }
/* ── FILTER BAR ──────────────────────────────────── */
.thl-p-community .filter-bar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-community .fi input { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-community .fi input:focus { border-color: var(--g); background: var(--white); }
.thl-p-community .fi-search-icon { color:var(--muted); }
.thl-p-community .sort-wrap label { color:var(--muted); }
.thl-p-community .comm-new-btn { background: var(--ink); color:var(--white); }
.thl-p-community .comm-new-btn:hover { background: var(--p-grey-6); }
.thl-p-community .custom-dropdown-toggle { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-community .custom-dropdown-toggle:hover, .thl-p-community .custom-dropdown-toggle:focus { border-color: var(--g); background: var(--white); }
.thl-p-community .custom-dropdown-toggle::after { color:var(--muted); }
.thl-p-community .custom-dropdown-menu { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-community .custom-dropdown-item { color:var(--ink); }
.thl-p-community .custom-dropdown-item:hover { background: var(--surface2); color: var(--ink-2); }
.thl-p-community .custom-dropdown-item.selected { background: var(--g); color:var(--white); }
.thl-p-community .custom-dropdown-item i { color:var(--g); }
.thl-p-community .custom-dropdown-item.selected i { color:var(--white); }
.thl-p-community .page-top-title { color:var(--ink); }
.thl-p-community .page-top-count { color:var(--muted); }
.thl-p-community .page-top-count strong { color:var(--ink); }
.thl-p-community .type-tab { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-community .type-tab:hover { border-color: var(--g); color:var(--g-dk); }
.thl-p-community .type-tab.active { background: var(--g); border-color: var(--g); color:var(--white); }
/* ── CARD ────────────────────────────────────────── */
.thl-p-community .comm-card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-community .comm-card:hover { box-shadow: var(--shadow-hover); }
.thl-p-community .comm-card-banner { background: var(--surf); }
.thl-p-community .comm-card-banner-empty { background: linear-gradient(135deg, var(--g-bglt) 0%, var(--p-green-49) 100%); }
.thl-p-community .comm-banner-icon { color:rgba(var(--g-rgb), 0.62); }
/* ── THREAD HERO ─────────────────────────────────── */
.thl-p-community .comm-card-thread-hero { background: linear-gradient(135deg, var(--p-blue-2) 0%, var(--p-blue-7) 55%, var(--p-green-5) 100%); }
.thl-p-community .comm-thread-bg-pattern { background-image: radial-gradient(circle at 15% 50%, rgba(var(--g-rgb), 0.14) 0%, transparent 50%),

        radial-gradient(circle at 85% 20%, rgba(var(--p-violet-5-rgb), 0.1) 0%, transparent 50%),

        repeating-linear-gradient(45deg, transparent, transparent 18px, rgba(var(--p-white-28-rgb), 0.02) 18px, rgba(var(--p-white-28-rgb), 0.02) 19px); }
.thl-p-community .comm-thread-big-icon { color:rgba(var(--g-rgb), 0.85); }
.thl-p-community .comm-thread-icon-ring { border-color: var(--g); }
.thl-p-community .comm-thread-stat { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-community .comm-thread-stat i { color:rgba(var(--g-rgb), 0.7); }
.thl-p-community .badge-article { background: var(--g); color:var(--white); }
.thl-p-community .badge-thread { background: var(--purple); color:var(--white); }
.thl-p-community .comm-card-title { color:var(--ink); }
.thl-p-community .comm-card-title:hover { color:var(--g-dk); }
.thl-p-community .comm-card-desc { color:var(--sub); }
.thl-p-community .comm-author-avatar { border-color: var(--g); }
.thl-p-community .comm-author-name { color:var(--ink); }
.thl-p-community .comm-verified { color:var(--g); }
.thl-p-community .comm-author-time { color:var(--muted); }
.thl-p-community .comm-card-actions { border-top-color: var(--border); }
.thl-p-community .comm-act { color:var(--muted); }
.thl-p-community .comm-act-btn { color:var(--muted); }
.thl-p-community .comm-act-btn.favourited { color:var(--red); }
.thl-p-community .comm-act-btn.saved { color:var(--gold); }
.thl-p-community .comm-act-btn.comm-love-btn:hover { color:var(--red); }
.thl-p-community .comm-act-btn.comm-fav-btn:hover { color:var(--gold); }
/* ── VIEW ICON BLUISH COLOR ── */
.thl-p-community .comm-act .fa-eye { color:var(--c-blue) !important; }
.thl-p-community .comm-empty-icon { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-community .comm-empty h3 { color:var(--ink); }
.thl-p-community .comm-empty p { color:var(--muted); }
.thl-p-community .comm-empty a { background: var(--g); color:var(--white); }
.thl-p-community .comm-empty a:hover { background: var(--g-dk); }
.thl-p-community .skel-card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-community .skel-banner { background: linear-gradient(90deg, var(--surf-2) 25%, var(--p-grey-34) 50%, var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-community .skel-line { background: linear-gradient(90deg, var(--surf-2) 25%, var(--p-grey-34) 50%, var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-community .comm-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-community .comm-end-msg { color:var(--muted); }
.thl-p-community .comm-aside::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-community .aside-panel { background: var(--white); border-color: var(--border); }
.thl-p-community .aside-panel-head { border-bottom-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-community .aside-panel-head i { color:var(--g); }
.thl-p-community .aside-panel-head .aside-count { background: var(--g); color:var(--white); }
.thl-p-community .aside-disc-item { border-bottom-color: var(--border); }
.thl-p-community .aside-disc-item:hover { background: var(--surf); }
.thl-p-community .aside-disc-avatar { border-color: var(--g); }
.thl-p-community .aside-disc-author { color:var(--ink); }
.thl-p-community .aside-disc-time { color:var(--muted); }
.thl-p-community .aside-disc-snippet { color:var(--sub); }
.thl-p-community .aside-disc-post-title { color:var(--g-dk); }
.thl-p-community .aside-no-disc { color:var(--muted); }
/* ── NUDGE ───────────────────────────────────────── */
.thl-p-community .login-nudge { background: var(--white); border-color: var(--border); box-shadow: 0 8px 30px rgba(var(--p-black-1-rgb), 0.12); color:var(--sub); }
.thl-p-community .login-nudge a { color:var(--g); }
.thl-p-community .nudge-close { color:var(--muted); }

/* ── community_pages/add_comment.php ─────────────────────────────────────────── */
.thl-p-community-pages-add-comment .ac-back { color:var(--sub); border-color: var(--border); background: var(--white); }
.thl-p-community-pages-add-comment .ac-back:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-community-pages-add-comment .ac-post-title-truncated { color:var(--ink); }
/* ── CARDS ── */
.thl-p-community-pages-add-comment .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-community-pages-add-comment .card-head { border-bottom-color: var(--border); }
.thl-p-community-pages-add-comment .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-community-pages-add-comment .card-title { color:var(--ink); }
.thl-p-community-pages-add-comment .card-sub { color:var(--sub); }
/* ── COMMENTER ROW ── */
.thl-p-community-pages-add-comment .ac-commenter-row { border-bottom-color: var(--border); }
.thl-p-community-pages-add-comment .ac-commenter-avatar { border-color: var(--g); }
.thl-p-community-pages-add-comment .ac-commenter-name { color:var(--ink); }
.thl-p-community-pages-add-comment .ac-commenter-sub { color:var(--muted); }
/* ── REPLY CONTEXT ── */
.thl-p-community-pages-add-comment .ac-reply-context { background: var(--surface); border-left-color: var(--purple); color:var(--sub); }
.thl-p-community-pages-add-comment .ac-reply-context i { color:var(--purple); }
.thl-p-community-pages-add-comment .ac-reply-label { color:var(--purple); }
/* ── SAVE BAR ── */
.thl-p-community-pages-add-comment .save-bar { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-community-pages-add-comment .spinner { border-color: rgba(var(--p-white-28-rgb), 0.4); border-top-color: var(--white); }

/* ── community_pages/add_post.php ─────────────────────────────────────────── */
.thl-p-community-pages-add-post .page-back { color:var(--sub); border-color: var(--border); background: var(--white); }
.thl-p-community-pages-add-post .page-back:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-community-pages-add-post .page-title { color:var(--ink); }
.thl-p-community-pages-add-post .page-sub { color:var(--sub); }
.thl-p-community-pages-add-post .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-community-pages-add-post .card-head { border-bottom-color: var(--border); }
.thl-p-community-pages-add-post .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-community-pages-add-post .card-title { color:var(--ink); }
.thl-p-community-pages-add-post .card-sub { color:var(--sub); }
.thl-p-community-pages-add-post .type-card { border-color: var(--border); background: var(--white); }
.thl-p-community-pages-add-post .type-card:hover { border-color: var(--g); background: var(--g-lt); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.1); }
.thl-p-community-pages-add-post .type-card.sel { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-community-pages-add-post .type-card.sel::after { color:var(--g); }
.thl-p-community-pages-add-post .type-ico { background: var(--surface); color:var(--muted); }
.thl-p-community-pages-add-post .type-card:hover .type-ico, .thl-p-community-pages-add-post .type-card.sel .type-ico { background: var(--g); color:var(--white); }
.thl-p-community-pages-add-post .type-lbl { color:var(--ink); }
.thl-p-community-pages-add-post .type-desc { color:var(--sub); }
.thl-p-community-pages-add-post .type-tag { background: var(--surface); color:var(--muted); border-color: var(--border); }
.thl-p-community-pages-add-post .type-card.sel .type-tag, .thl-p-community-pages-add-post .type-card:hover .type-tag { background: rgba(var(--g-rgb), 0.08); border-color: var(--g); color:var(--g-dk); }
.thl-p-community-pages-add-post .lock-badge { color:var(--amber); background: var(--amber-lt); border-color: var(--warn); }
.thl-p-community-pages-add-post .fl-label { color:var(--ink); }
.thl-p-community-pages-add-post .fl-req { color:var(--red); }
.thl-p-community-pages-add-post .fl-hint { color:var(--sub); }
.thl-p-community-pages-add-post .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-community-pages-add-post .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-community-pages-add-post .char-count { color:var(--muted); }
.thl-p-community-pages-add-post .char-count.over { color:var(--red); }
.thl-p-community-pages-add-post .info-notice.blue { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-community-pages-add-post .info-notice.amber { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-community-pages-add-post .info-notice.green { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-community-pages-add-post .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-community-pages-add-post .step-dot { border-color: var(--border); color:var(--muted); }
.thl-p-community-pages-add-post .step-dot.active { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-community-pages-add-post .step-dot.done { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-community-pages-add-post .step-line { background: var(--border); }
.thl-p-community-pages-add-post .step-line.done { background: var(--g); }
.thl-p-community-pages-add-post .step-lbl { color:var(--muted); }
.thl-p-community-pages-add-post .step-lbl.active { color:var(--g-dk); }

/* ── community_pages/edit_post.php ─────────────────────────────────────────── */
.thl-p-community-pages-edit-post .ep-back { color:var(--sub); border-color: var(--border); background: var(--white); }
.thl-p-community-pages-edit-post .ep-back:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-community-pages-edit-post .ep-type-badge.thread { background: var(--blue-lt); color:var(--blue-ink-2); }
.thl-p-community-pages-edit-post .ep-type-badge.article { background: var(--g-lt); color:var(--g-dk); }
.thl-p-community-pages-edit-post .s-draft { background: var(--surface2); color:var(--muted); border-color: var(--border); }
.thl-p-community-pages-edit-post .s-published { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-community-pages-edit-post .s-submitted { background: var(--amber-lt); color:var(--amber-ink); border-color: var(--warn); }
.thl-p-community-pages-edit-post .s-under_review { background: var(--amber-bglt); color:var(--p-orange-9); border-color: var(--warn); }
.thl-p-community-pages-edit-post .s-rejected { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-community-pages-edit-post .ep-title-text { color:var(--ink); }
.thl-p-community-pages-edit-post .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-community-pages-edit-post .card-head { border-bottom-color: var(--border); }
.thl-p-community-pages-edit-post .card-head::before { background: linear-gradient(90deg,var(--g),var(--g-vivid)); }
.thl-p-community-pages-edit-post .card-title { color:var(--ink); }
.thl-p-community-pages-edit-post .card-sub { color:var(--sub); }
.thl-p-community-pages-edit-post .banner-ph { border-color: var(--border); background: var(--surface); }
.thl-p-community-pages-edit-post .banner-ph:hover { border-color: var(--g); background: var(--g-lt); }
.thl-p-community-pages-edit-post .banner-overlay { background: rgba(var(--p-black-1-rgb), 0.45); color:var(--white); }
.thl-p-community-pages-edit-post .banner-hint { color:var(--muted); }
.thl-p-community-pages-edit-post .banner-view { background: var(--surface); border-color: var(--border); }
.thl-p-community-pages-edit-post .banner-view-empty { color:var(--muted); }
.thl-p-community-pages-edit-post .fl-label { color:var(--sub); }
.thl-p-community-pages-edit-post .fl-req { color:var(--red); }
.thl-p-community-pages-edit-post .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-community-pages-edit-post .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-community-pages-edit-post .char-count { color:var(--muted); }
.thl-p-community-pages-edit-post .char-count.over { color:var(--red); }
.thl-p-community-pages-edit-post .vf-label { color:var(--muted); }
.thl-p-community-pages-edit-post .vf-value { color:var(--ink); }
.thl-p-community-pages-edit-post .vf-title { color:var(--ink); }
.thl-p-community-pages-edit-post .thread-owner-avatar { border-color: var(--g); }
.thl-p-community-pages-edit-post .thread-owner-name { color:var(--ink); }
.thl-p-community-pages-edit-post .thread-owner-badge { background: var(--blue-lt); color:var(--blue-ink-2); }
.thl-p-community-pages-edit-post .thread-owner-verified { color:var(--g-dk); }
/* view content */
.thl-p-community-pages-edit-post .rte-view-content { color:var(--ink); }
.thl-p-community-pages-edit-post .rte-view-content blockquote { border-left-color: var(--g); background: var(--g-lt); color:var(--sub); }
.thl-p-community-pages-edit-post .rte-view-content table th, .thl-p-community-pages-edit-post .rte-view-content table td { border-color: var(--border); }
.thl-p-community-pages-edit-post .rte-view-content table th { background: var(--surface); }
.thl-p-community-pages-edit-post .rte-view-content hr { border-top-color: var(--p-blue-34); }
.thl-p-community-pages-edit-post .rte-view-content a { color:var(--p-blue-5); }
.thl-p-community-pages-edit-post .rte-view-content .quotation { border-color: var(--p-grey-20); }
.thl-p-community-pages-edit-post .rte-view-content .warning { border-color: var(--red); background: rgba(var(--p-red-5-rgb), 0.1); }
.thl-p-community-pages-edit-post .rte-view-content .highlight { border-color: gold; background: rgba(var(--p-amber-1-rgb), 0.3); }
.thl-p-community-pages-edit-post .file-item { background: var(--surface); border-color: var(--border); }
.thl-p-community-pages-edit-post .file-ico { background: var(--g-lt); color:var(--g); }
.thl-p-community-pages-edit-post .file-name { color:var(--ink); }
.thl-p-community-pages-edit-post .file-size { color:var(--muted); }
.thl-p-community-pages-edit-post .file-del { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-community-pages-edit-post .file-del:hover { background: var(--red); color:var(--white); }
.thl-p-community-pages-edit-post .file-drop { border-color: var(--border); color:var(--muted); }
.thl-p-community-pages-edit-post .file-drop:hover, .thl-p-community-pages-edit-post .file-drop.drag-over { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-community-pages-edit-post .info-notice.blue { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-community-pages-edit-post .info-notice.amber { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-community-pages-edit-post .upload-status { color:var(--muted); }
.thl-p-community-pages-edit-post .save-bar { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-community-pages-edit-post .spinner { border-color: color-mix(in srgb, currentColor 30%, transparent); border-top-color: currentColor; }
.thl-p-community-pages-edit-post .modal { background: var(--white); border-color: var(--border); }

/* ── community_pages/post_comments.php ─────────────────────────────────────────── */
.thl-p-community-pages-post-comments .pc-back { color:var(--sub); border-color: var(--border); background: var(--white); }
.thl-p-community-pages-post-comments .pc-back:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-community-pages-post-comments .pc-type-badge.thread { background: var(--blue-lt); color:var(--blue-ink-2); }
.thl-p-community-pages-post-comments .pc-type-badge.article { background: var(--g-lt); color:var(--g-dk); }
.thl-p-community-pages-post-comments .pc-post-title { color:var(--ink); }
/* ── page header ── */
.thl-p-community-pages-post-comments .pc-page-title { color:var(--ink); }
.thl-p-community-pages-post-comments .pc-page-sub { color:var(--sub); }
/* ── card ── */
.thl-p-community-pages-post-comments .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-community-pages-post-comments .card-head { border-bottom-color: var(--border); }
.thl-p-community-pages-post-comments .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-community-pages-post-comments .card-title { color:var(--ink); }
.thl-p-community-pages-post-comments .card-sub { color:var(--sub); }
.thl-p-community-pages-post-comments .nc-ta { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-community-pages-post-comments .nc-ta:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-community-pages-post-comments .char-count { color:var(--muted); }
.thl-p-community-pages-post-comments .char-count.over { color:var(--red); }
/* ── comment thread block ── */
.thl-p-community-pages-post-comments .thread-block { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-community-pages-post-comments .thread-block:target { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-community-pages-post-comments .comment-row.is-reply { background: var(--surface); border-top-color: var(--border); }
.thl-p-community-pages-post-comments .av-img { border-color: var(--border); }
.thl-p-community-pages-post-comments .cmt-author { color:var(--ink); }
.thl-p-community-pages-post-comments .cmt-author.is-admin-badge::after { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-community-pages-post-comments .cmt-you-badge { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-community-pages-post-comments .cmt-time { color:var(--muted); }
.thl-p-community-pages-post-comments .cmt-text { color:var(--ink); background: var(--surface); border-color: var(--border); }
.thl-p-community-pages-post-comments .comment-row.is-reply .cmt-text { background: var(--white); }
/* ── reply toggle ── */
.thl-p-community-pages-post-comments .reply-toggle-btn { color:var(--sub); border-color: var(--border); }
.thl-p-community-pages-post-comments .reply-toggle-btn:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-community-pages-post-comments .reply-toggle-btn.active { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
/* ── inline reply form ── */
.thl-p-community-pages-post-comments .reply-form-wrap { background: var(--p-grey-83); border-top-color: var(--g); }
.thl-p-community-pages-post-comments .reply-ta { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-community-pages-post-comments .reply-ta:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.08); }
.thl-p-community-pages-post-comments .btn-green:hover { box-shadow: 0 4px 12px rgba(var(--g-rgb), 0.28); }
/* ── no comments ── */
.thl-p-community-pages-post-comments .empty-state { color:var(--muted); }
.thl-p-community-pages-post-comments .info-notice.blue { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-community-pages-post-comments .info-notice.green { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
/* ── stats row ── */
.thl-p-community-pages-post-comments .pc-stats { background: var(--surface); border-color: var(--border); color:var(--sub); }
.thl-p-community-pages-post-comments .pc-stats i { color:var(--g); }
.thl-p-community-pages-post-comments .pg-btn { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-community-pages-post-comments .pg-btn:hover:not(.disabled) { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-community-pages-post-comments .pg-btn.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-community-pages-post-comments .pg-btn.disabled { background: var(--surface); color:var(--muted); }
.thl-p-community-pages-post-comments .pg-ellipsis { color:var(--muted); }
/* ── reply count pill ── */
.thl-p-community-pages-post-comments .reply-count-pill { background: var(--surface); border-color: var(--border); color:var(--muted); }
/* ── divider ── */
.thl-p-community-pages-post-comments .replies-divider { color:var(--muted); }
.thl-p-community-pages-post-comments .replies-divider::after { background: var(--border); }

/* ── community_pages/view_post.php ─────────────────────────────────────────── */
/* ── PAGE SHELL ──────────────────────────────────── */
.thl-p-community-pages-view-post .vp-page { background: var(--surf); }
/* ── BREADCRUMB BAR (full-width, .thl-p-community-pages-view-post matches design page) ── */
.thl-p-community-pages-view-post .vp-bc { background: var(--white); border-bottom-color: var(--border); }
.thl-p-community-pages-view-post .vp-bc-inner { color:var(--muted); }
.thl-p-community-pages-view-post .vp-bc-inner a { color:var(--sub); }
.thl-p-community-pages-view-post .vp-bc-inner a:hover { color:var(--g); }
.thl-p-community-pages-view-post .vp-bc-sep { color:var(--border); }
.thl-p-community-pages-view-post .vp-bc-cur { color:var(--ink); }
.thl-p-community-pages-view-post .vp-bc-back { background: var(--g-lt); color:var(--g-dk); }
.thl-p-community-pages-view-post .vp-bc-back:hover { background: var(--p-green-40); }
/* ── STICKY NAV (matches design page) ────────────── */
.thl-p-community-pages-view-post .vp-snav { background: rgba(var(--p-white-28-rgb), 0.96); border-bottom-color: var(--border); box-shadow: 0 2px 12px rgba(var(--p-black-1-rgb), 0.06); }
.thl-p-community-pages-view-post .vp-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-community-pages-view-post .vp-tab:hover { color:var(--ink); }
.thl-p-community-pages-view-post .vp-tab.active { color:var(--g); border-bottom-color: var(--g); }
.thl-p-community-pages-view-post .vp-nav-ic { border-color: var(--border); background: var(--surf); color:var(--sub); }
.thl-p-community-pages-view-post .vp-nav-ic:hover { border-color: var(--g); color:var(--g); }
.thl-p-community-pages-view-post .vp-nav-ic.favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-community-pages-view-post .vp-nav-ic.saved { border-color: var(--warn); color:var(--gold); background: var(--amber-lt); }
/* ── ARTICLE BANNER HERO (new editorial style) ── */
.thl-p-community-pages-view-post .vp-hero-article-banner { box-shadow: 0 4px 28px rgba(var(--p-black-1-rgb), 0.18); border-color: rgba(var(--p-black-1-rgb), 0.08); background: var(--p-black-7); }
.thl-p-community-pages-view-post .vp-hero-article-banner .vp-hab-overlay { background: linear-gradient(

            to top,

            rgba(var(--p-black-1-rgb), 0.88) 0%,

            rgba(var(--p-black-1-rgb), 0.65) 38%,

            rgba(var(--p-black-1-rgb), 0.28) 65%,

            rgba(var(--p-black-1-rgb), 0.10) 100%

        ),

        linear-gradient(

            to bottom,

            rgba(var(--p-black-1-rgb), 0.20) 0%,

            transparent 30%

        ); }
.thl-p-community-pages-view-post .vp-hab-pill { background: rgba(var(--g-rgb), 0.22); border-color: var(--g); color:var(--p-green-31); }
.thl-p-community-pages-view-post .vp-hab-title { color:var(--white); text-shadow: 0 2px 12px rgba(var(--p-black-1-rgb), 0.5); }
.thl-p-community-pages-view-post .vp-hab-desc { color:rgba(var(--p-white-28-rgb), 0.72); text-shadow: 0 1px 6px rgba(var(--p-black-1-rgb), 0.4); }
.thl-p-community-pages-view-post .vp-hab-avatar { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-community-pages-view-post .vp-hab-author-name { color:rgba(var(--p-white-28-rgb), 0.92); }
.thl-p-community-pages-view-post .vp-hab-verified { color:var(--p-green-31); background: rgba(var(--g-rgb), 0.18); border-color: var(--g); }
.thl-p-community-pages-view-post .vp-hab-author-handle { color:rgba(var(--p-white-28-rgb), 0.72); }
.thl-p-community-pages-view-post .vp-hab-dot { background: rgba(var(--p-white-28-rgb), 0.25); }
.thl-p-community-pages-view-post .vp-hab-meta-item { color:rgba(var(--p-white-28-rgb), 0.82); }
.thl-p-community-pages-view-post .vp-hab-meta-item i { color:rgba(var(--g-rgb), 0.75); }
.thl-p-community-pages-view-post .vp-hero-thread { background: linear-gradient(135deg, var(--p-blue-2) 0%, var(--p-blue-7) 55%, var(--p-green-5) 100%); box-shadow: 0 4px 24px rgba(var(--p-black-1-rgb), 0.18); border-color: var(--g); }
.thl-p-community-pages-view-post .vp-hero-thread::before { background: radial-gradient(ellipse 70% 80% at 5% 50%, rgba(var(--g-rgb), 0.13) 0%, transparent 60%),

        radial-gradient(ellipse 50% 60% at 95% 10%, rgba(var(--g-rgb), 0.07) 0%, transparent 60%); }
.thl-p-community-pages-view-post .vp-hero-avatar { border-color: var(--g); box-shadow: 0 0 0 5px rgba(var(--g-rgb), 0.1); }
.thl-p-community-pages-view-post .vp-hero-avatar-ring { border-color: var(--g); }
.thl-p-community-pages-view-post .vp-hero-type-pill { background: rgba(var(--p-violet-5-rgb), 0.25); border-color: var(--violet); color:var(--p-blue-47); }
.thl-p-community-pages-view-post .vp-hero-article-pill { background: rgba(var(--g-rgb), 0.22); border-color: var(--g); color:var(--p-green-31); }
.thl-p-community-pages-view-post .vp-hero-title { color:var(--white); }
.thl-p-community-pages-view-post .vp-hero-author-name { color:rgba(var(--p-white-28-rgb), 0.85); }
.thl-p-community-pages-view-post .vp-hero-verified { color:var(--g); background: rgba(var(--g-rgb), 0.15); border-color: var(--g); }
.thl-p-community-pages-view-post .vp-hero-meta-item { color:rgba(var(--p-white-28-rgb), 0.72); }
.thl-p-community-pages-view-post .vp-hero-meta-item i { color:rgba(var(--g-rgb), 0.7); }
.thl-p-community-pages-view-post .vp-hero-no-banner { background: linear-gradient(135deg, var(--g-bglt) 0%, var(--g-lt) 100%); border-color: var(--g); }
.thl-p-community-pages-view-post .vp-hero-no-banner i { color:var(--g); }
.thl-p-community-pages-view-post .vp-hero-no-banner-title { color:var(--ink); }
.thl-p-community-pages-view-post .vp-hero-no-banner-meta span { color:var(--sub); }
.thl-p-community-pages-view-post .vp-hero-no-banner-meta i { color:var(--g); }
/* ── CONTENT CARD ────────────────────────────────── */
.thl-p-community-pages-view-post .vp-content-card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
/*

 * ═══════════════════════════════════════════════════════

 * CONTENT BODY — kept pixel-perfect in sync with both:

 *   • .rte-editor        (rich_editor_component.php)

 *   • .rte-view-content  (edit_post.php  VIEW mode)

 * Do NOT use em/rem units here — the editor uses px.

 * ═══════════════════════════════════════════════════════

 */
.thl-p-community-pages-view-post .vp-content-body { color:var(--ink); }
/* blockquote */
.thl-p-community-pages-view-post .vp-content-body blockquote { border-left-color: var(--g); background: var(--g-lt); color:var(--sub); }
/* links — match editor (var(--p-blue-5) blue underline, .thl-p-community-pages-view-post NOT green) */
.thl-p-community-pages-view-post .vp-content-body a { color:var(--p-blue-5); }
.thl-p-community-pages-view-post .vp-content-body table th, .thl-p-community-pages-view-post .vp-content-body table td { border-color: var(--border); }
.thl-p-community-pages-view-post .vp-content-body table th { background: var(--surf); }
/* horizontal rule — thin 1 px grey, .thl-p-community-pages-view-post tight margin, .thl-p-community-pages-view-post matching editor */
.thl-p-community-pages-view-post .vp-content-body hr { border-top-color: var(--p-blue-34); }
/* ── custom block styles — MUST match editor & rte-view-content exactly ── */
.thl-p-community-pages-view-post .vp-content-body .quotation { border-color: var(--p-grey-20); }
.thl-p-community-pages-view-post .vp-content-body .warning { border-color: var(--red); background: rgba(var(--p-red-5-rgb), 0.1); }
.thl-p-community-pages-view-post .vp-content-body .highlight { border-color: gold; background: rgba(var(--p-amber-1-rgb), 0.3); }
/* ── ATTACHMENTS ─────────────────────────────────── */
.thl-p-community-pages-view-post .vp-attachments { border-top-color: var(--border); }
.thl-p-community-pages-view-post .vp-attachments-title { color:var(--sub); }
.thl-p-community-pages-view-post .vp-att-item { background: var(--surf); border-color: var(--border); }
.thl-p-community-pages-view-post .vp-att-item:hover { border-color: var(--g); background: var(--g-lt); }
.thl-p-community-pages-view-post .vp-att-ico { background: var(--g-lt); color:var(--g); }
.thl-p-community-pages-view-post .vp-att-name { color:var(--ink); }
.thl-p-community-pages-view-post .vp-att-dl { background: var(--g); color:var(--white); }
.thl-p-community-pages-view-post .vp-att-dl:hover { background: var(--g-dk); }
/* ── POST ACTIONS BAR ────────────────────────────── */
.thl-p-community-pages-view-post .vp-actions-bar { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-community-pages-view-post .vp-act-btn { border-color: var(--border); background: var(--surf); color:var(--sub); }
.thl-p-community-pages-view-post .vp-act-btn:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-community-pages-view-post .vp-act-btn.vp-favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-community-pages-view-post .vp-act-btn.vp-saved { border-color: var(--gold); color:var(--amber-ink); background: var(--amber-lt); }
.thl-p-community-pages-view-post .vp-act-sep { background: var(--border); }
.thl-p-community-pages-view-post .vp-act-views { color:var(--muted); }
.thl-p-community-pages-view-post .vp-disc-title { color:var(--ink); }
.thl-p-community-pages-view-post .vp-disc-title i { color:var(--g); }
.thl-p-community-pages-view-post .vp-disc-count { background: var(--g); color:var(--white); }
.thl-p-community-pages-view-post .vp-add-comment-btn { background: var(--g); color:var(--white); }
.thl-p-community-pages-view-post .vp-add-comment-btn:hover { background: var(--g-dk); }
.thl-p-community-pages-view-post .vp-signin-prompt { background: linear-gradient(135deg, var(--g-bglt), var(--g-lt)); border-color: var(--g); }
.thl-p-community-pages-view-post .vp-signin-prompt i { color:var(--g); }
.thl-p-community-pages-view-post .vp-signin-prompt h4 { color:var(--ink); }
.thl-p-community-pages-view-post .vp-signin-prompt p { color:var(--sub); }
.thl-p-community-pages-view-post .vp-btn-green { background: var(--g); color:var(--white); }
.thl-p-community-pages-view-post .vp-btn-green:hover { background: var(--g-dk); }
.thl-p-community-pages-view-post .vp-btn-outline { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-community-pages-view-post .vp-btn-outline:hover { border-color: var(--g); color:var(--g-dk); }
.thl-p-community-pages-view-post .vp-disc-item { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-community-pages-view-post .vp-disc-avatar { border-color: var(--g); }
.thl-p-community-pages-view-post .vp-disc-author-name { color:var(--ink); }
.thl-p-community-pages-view-post .vp-disc-verified { color:var(--g); }
.thl-p-community-pages-view-post .vp-disc-owner-badge { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-community-pages-view-post .vp-disc-time { color:var(--muted); }
.thl-p-community-pages-view-post .vp-disc-content { color:var(--ink); }
.thl-p-community-pages-view-post .vp-disc-content blockquote { border-left-color: var(--g); background: var(--g-lt); color:var(--sub); }
.thl-p-community-pages-view-post .vp-disc-content a { color:var(--p-blue-5); }
/* ── discussion custom block styles — match editor exactly ── */
.thl-p-community-pages-view-post .vp-disc-content .quotation { border-color: var(--p-grey-20); }
.thl-p-community-pages-view-post .vp-disc-content .warning { border-color: var(--red); background: rgba(var(--p-red-5-rgb), 0.1); }
.thl-p-community-pages-view-post .vp-disc-content .highlight { border-color: gold; background: rgba(var(--p-amber-1-rgb), 0.3); }
.thl-p-community-pages-view-post .vp-disc-foot { border-top-color: var(--border); }
.thl-p-community-pages-view-post .vp-disc-reply-btn { color:var(--sub); }
.thl-p-community-pages-view-post .vp-disc-reply-btn:hover { color:var(--g); }
.thl-p-community-pages-view-post .vp-disc-reply-count { color:var(--muted); }
.thl-p-community-pages-view-post .vp-replies { border-top-color: var(--border); background: var(--surf); }
.thl-p-community-pages-view-post .vp-reply-item { border-bottom-color: var(--border); }
.thl-p-community-pages-view-post .vp-reply-item::before { background: var(--border); }
.thl-p-community-pages-view-post .vp-reply-avatar { border-color: var(--border); }
.thl-p-community-pages-view-post .vp-reply-author { color:var(--ink); }
.thl-p-community-pages-view-post .vp-reply-verified { color:var(--g); }
.thl-p-community-pages-view-post .vp-reply-time { color:var(--muted); }
.thl-p-community-pages-view-post .vp-reply-content { color:var(--ink); }
.thl-p-community-pages-view-post .vp-reply-content blockquote { border-left-color: var(--g); background: var(--g-lt); color:var(--sub); }
.thl-p-community-pages-view-post .vp-reply-content a { color:var(--p-blue-5); }
/* ── reply custom block styles — match editor exactly ── */
.thl-p-community-pages-view-post .vp-reply-content .quotation { border-color: var(--p-grey-20); }
.thl-p-community-pages-view-post .vp-reply-content .warning { border-color: var(--red); background: rgba(var(--p-red-5-rgb), 0.1); }
.thl-p-community-pages-view-post .vp-reply-content .highlight { border-color: gold; background: rgba(var(--p-amber-1-rgb), 0.3); }
.thl-p-community-pages-view-post .vp-disc-empty { background: var(--white); border-color: var(--border); }
.thl-p-community-pages-view-post .vp-disc-empty i { color:var(--border); }
.thl-p-community-pages-view-post .vp-disc-empty h4 { color:var(--ink); }
.thl-p-community-pages-view-post .vp-disc-empty p { color:var(--muted); }
/* ── ASIDE CARDS ─────────────────────────────────── */
.thl-p-community-pages-view-post .aside-card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-community-pages-view-post .aside-card-head { border-bottom-color: var(--border); color:var(--sub); }
.thl-p-community-pages-view-post .aside-card-head i { color:var(--g); }
.thl-p-community-pages-view-post .aside-eng-item { background: var(--surf); border-color: var(--border); }
.thl-p-community-pages-view-post .aside-eng-val { color:var(--ink); }
.thl-p-community-pages-view-post .aside-eng-lbl { color:var(--muted); }
.thl-p-community-pages-view-post .aside-eng-btn { border-color: var(--border); background: var(--surf); color:var(--sub); }
.thl-p-community-pages-view-post .aside-eng-btn:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-community-pages-view-post .aside-eng-btn.ae-favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-community-pages-view-post .aside-eng-btn.ae-saved { border-color: var(--gold); color:var(--amber-ink); background: var(--amber-lt); }
.thl-p-community-pages-view-post .aside-author-avatar { border-color: var(--g); }
.thl-p-community-pages-view-post .aside-author-name { color:var(--ink); }
.thl-p-community-pages-view-post .aside-author-verified { color:var(--g); }
.thl-p-community-pages-view-post .aside-author-joined { color:var(--muted); }
.thl-p-community-pages-view-post .aside-ai-btn { border-color: var(--line, var(--border)); background: var(--white); color:var(--ink, var(--ink)); }
.thl-p-community-pages-view-post .aside-ai-btn:hover { box-shadow: 0 4px 10px rgba(var(--p-black-1-rgb), 0.08); border-color: var(--g, var(--g)); }
.thl-p-community-pages-view-post .aside-ai-note { color:var(--muted, var(--muted)); }
.thl-p-community-pages-view-post .vp-flash { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
/* ── TOAST / NUDGE ───────────────────────────────── */

/* Copy toast is now the shared THL.toast (includes/listing_ui.php). */
.thl-p-community-pages-view-post .login-nudge { background: var(--white); border-color: var(--border); box-shadow: 0 8px 30px rgba(var(--p-black-1-rgb), 0.12); color:var(--sub); }
.thl-p-community-pages-view-post .login-nudge a { color:var(--g); }
.thl-p-community-pages-view-post .nudge-close { color:var(--muted); }
/* ── Comment delete button + confirm modal ── */
.thl-p-community-pages-view-post .vp-disc-del-btn { color:var(--sub); }
.thl-p-community-pages-view-post .vp-disc-del-btn:hover { color:var(--red); }
.thl-p-community-pages-view-post .vp-disc-edit-btn { color:var(--sub); }
.thl-p-community-pages-view-post .vp-disc-edit-btn:hover { color:var(--g); }
.thl-p-community-pages-view-post .vp-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.5); }
.thl-p-community-pages-view-post .vp-modal-title { color:var(--ink); }
.thl-p-community-pages-view-post .vp-modal-sub { color:var(--sub); }
.thl-p-community-pages-view-post .vp-btn { border-color: transparent; }
.thl-p-community-pages-view-post .vp-btn-red { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-community-pages-view-post .vp-btn-red:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-community-pages-view-post .vp-btn-ghost { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-community-pages-view-post .vp-btn-ghost:hover { background: var(--surf); }

/* ── design_pages/basic.php ─────────────────────────────────────────── */
/* NOTE: body background-color is NOT redefined here.

   It is inherited from /css/universal_font&bg_clr.css via header. */
.thl-p-design-pages-basic .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-design-pages-basic .wiz-prog-wrap { background: var(--border); }
.thl-p-design-pages-basic .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-basic .wiz-brand { color:var(--g); }
.thl-p-design-pages-basic .ws { color:var(--muted); }
.thl-p-design-pages-basic .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-design-pages-basic .ws.done { color:var(--g); }
.thl-p-design-pages-basic .ws-num { border-color: currentColor; }
.thl-p-design-pages-basic .ws.active .ws-num, .thl-p-design-pages-basic .ws.done  .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-design-pages-basic .ws-sep { color:var(--border); }
.thl-p-design-pages-basic .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-design-pages-basic .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-design-pages-basic .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-design-pages-basic .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 60%, rgba(var(--g-rgb), 0.05)); }
.thl-p-design-pages-basic .step-tab.st-done { color:var(--g-dk); }
.thl-p-design-pages-basic .step-tab-num { border-color: currentColor; }
.thl-p-design-pages-basic .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-design-pages-basic .step-tab.st-done .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-design-pages-basic .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-design-pages-basic .card-head { border-bottom-color: var(--border); background: var(--white); }
.thl-p-design-pages-basic .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-basic .card-title { color:var(--ink); }
.thl-p-design-pages-basic .card-sub { color:var(--sub); }
.thl-p-design-pages-basic .opt-card { border-color: var(--border); background: var(--white); }
.thl-p-design-pages-basic .opt-card:hover { border-color: var(--g); background: var(--g-lt); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.1); }
.thl-p-design-pages-basic .opt-card.sel { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-design-pages-basic .opt-card.sel::after { color:var(--g); }
.thl-p-design-pages-basic .opt-ico { background: var(--surface); color:var(--muted); }
.thl-p-design-pages-basic .opt-card:hover .opt-ico, .thl-p-design-pages-basic .opt-card.sel .opt-ico { background: var(--g); color:var(--white); }
.thl-p-design-pages-basic .opt-lbl { color:var(--ink); }
.thl-p-design-pages-basic .opt-hint { color:var(--sub); }
.thl-p-design-pages-basic .fl-label { color:var(--ink); }
.thl-p-design-pages-basic .fl-req { color:var(--red); }
.thl-p-design-pages-basic .fl-hint { color:var(--sub); }
.thl-p-design-pages-basic .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-design-pages-basic .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-design-pages-basic .char-count { color:var(--muted); }
.thl-p-design-pages-basic .char-count.over { color:var(--red); }
.thl-p-design-pages-basic .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-design-pages-basic .r-tag { background: var(--g-lt); color:var(--g-dk); }
.thl-p-design-pages-basic .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-design-pages-basic .review-row { border-bottom-color: var(--border); }
.thl-p-design-pages-basic .review-key { color:var(--sub); }
.thl-p-design-pages-basic .review-val { color:var(--ink); }
.thl-p-design-pages-basic .lock-notice { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }

/* ── design_pages/buy.php ─────────────────────────────────────────── */
.thl-p-design-pages-buy .bc-bar { background: var(--white); border-bottom-color: var(--border); }
.thl-p-design-pages-buy .bc-inner { color:var(--muted); }
.thl-p-design-pages-buy .bc-inner a { color:var(--sub); }
.thl-p-design-pages-buy .bc-inner a:hover { color:var(--g); }
.thl-p-design-pages-buy .bc-sep { color:var(--border); }
.thl-p-design-pages-buy .bc-back { background: var(--g-lt); color:var(--g-dk); }
.thl-p-design-pages-buy .bc-back:hover { background: var(--p-green-40); }
.thl-p-design-pages-buy .buy-ph-icon { background: var(--g-lt); color:var(--g); }
.thl-p-design-pages-buy .buy-ph h1 { color:var(--ink); }
.thl-p-design-pages-buy .buy-ph p { color:var(--sub); }
.thl-p-design-pages-buy .card { background: var(--white); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-design-pages-buy .card-head { border-bottom-color: var(--border); }
.thl-p-design-pages-buy .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-buy .card-title { color:var(--ink); }
.thl-p-design-pages-buy .card-title i { color:var(--g); }
.thl-p-design-pages-buy .design-img-placeholder { background: var(--g-lt); color:var(--g); }
.thl-p-design-pages-buy .pill-arch { background: rgba(var(--p-violet-5-rgb), .82); color:var(--violet-bglt); }
.thl-p-design-pages-buy .pill-struct { background: rgba(var(--p-teal-4-rgb), .82); color:var(--p-teal-8); }
.thl-p-design-pages-buy .design-views-pill { background: rgba(var(--p-black-1-rgb), .6); color:var(--white); }
.thl-p-design-pages-buy .design-info { border-bottom-color: var(--border); }
.thl-p-design-pages-buy .design-title { color:var(--ink); }
.thl-p-design-pages-buy .d-pill { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-design-pages-buy .d-pill i { color:var(--g); }
.thl-p-design-pages-buy .design-loc { color:var(--sub); }
.thl-p-design-pages-buy .design-loc i { color:var(--g); }
.thl-p-design-pages-buy .eng-mini { border-bottom-color: var(--border); }
.thl-p-design-pages-buy .eng-mini-item { color:var(--muted); }
.thl-p-design-pages-buy .spec-box { background: var(--surf); border-color: var(--border); }
.thl-p-design-pages-buy .spec-ico { color:var(--g); }
.thl-p-design-pages-buy .spec-val { color:var(--ink); }
.thl-p-design-pages-buy .spec-key { color:var(--muted); }
.thl-p-design-pages-buy .incl-group-label { color:var(--muted); }
.thl-p-design-pages-buy .chip-room { background: var(--g-lt); border-color: var(--g); color:var(--p-green-10); }
.thl-p-design-pages-buy .chip-draw { background: var(--violet-bglt); border-color: var(--info); color:var(--p-violet-1); }
.thl-p-design-pages-buy .chip-boq { background: var(--p-orange-29); border-color: var(--warn); color:var(--p-orange-1); }
.thl-p-design-pages-buy .chip-file { background: var(--p-white-5); border-color: var(--info); color:var(--p-blue-17); }
.thl-p-design-pages-buy .delivery-box { background: var(--g-lt); border-color: var(--g); }
.thl-p-design-pages-buy .delivery-box i.lead { color:var(--g); }
.thl-p-design-pages-buy .delivery-box-title { color:var(--g-dk); }
.thl-p-design-pages-buy .delivery-box-sub { color:var(--sub); }
.thl-p-design-pages-buy .dtype-pill { background: var(--white); border-color: var(--g); color:var(--g-dk); }
.thl-p-design-pages-buy .seller-av { border-color: var(--g); }
.thl-p-design-pages-buy .seller-verified { background: var(--g); color:var(--white); border-color: var(--white); }
.thl-p-design-pages-buy .seller-name { color:var(--ink); }
.thl-p-design-pages-buy .seller-role { color:var(--muted); }
.thl-p-design-pages-buy .seller-role .v { color:var(--g); }
.thl-p-design-pages-buy .breakdown-row { border-bottom-color: var(--border); }
.thl-p-design-pages-buy .bl { color:var(--sub); }
.thl-p-design-pages-buy .bv { color:var(--ink); }
.thl-p-design-pages-buy .bv.strike { color:var(--muted); }
.thl-p-design-pages-buy .bv.saving { color:var(--ok); }
.thl-p-design-pages-buy .discount-pill { background: var(--p-amber-7); border-color: var(--p-amber-4); color:var(--p-orange-5); }
.thl-p-design-pages-buy .conv-box { background: var(--blue-lt); border-color: var(--info); }
.thl-p-design-pages-buy .conv-box-title { color:var(--blue-ink); }
.thl-p-design-pages-buy .conv-row { color:var(--p-blue-15); }
.thl-p-design-pages-buy .conv-note { color:var(--c-blue); }
.thl-p-design-pages-buy .total-row { border-top-color: var(--border); }
.thl-p-design-pages-buy .total-label { color:var(--muted); }
.thl-p-design-pages-buy .total-currency { color:var(--sub); }
.thl-p-design-pages-buy .total-amount { color:var(--ink); }
.thl-p-design-pages-buy .secure-badge { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-design-pages-buy .btn-pay:hover:not(:disabled) { box-shadow: 0 6px 22px rgba(var(--g-rgb), .35); }
.thl-p-design-pages-buy .pay-note { color:var(--muted); }
.thl-p-design-pages-buy .safety-box { background: var(--surf); border-color: var(--border); }
.thl-p-design-pages-buy .safety-title { color:var(--g-dk); }
.thl-p-design-pages-buy .safety-list li { color:var(--sub); }
.thl-p-design-pages-buy .safety-list li::before { color:var(--g); }
.thl-p-design-pages-buy .exch-error { background: var(--red-lt); border-color: var(--red); }
.thl-p-design-pages-buy .exch-error i.big { color:var(--red); }
.thl-p-design-pages-buy .exch-error h3 { color:var(--ink); }
.thl-p-design-pages-buy .exch-error p { color:var(--sub); }

/* ── design_pages/download.php ─────────────────────────────────────────── */
.thl-p-design-pages-download .dl-ph-icon.ok { background: var(--g-lt); color:var(--g); border-color: var(--g); }
.thl-p-design-pages-download .dl-ph-icon.err { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-design-pages-download .dl-ph-icon.warn { background: var(--amber-lt); color:var(--gold); border-color: var(--warn); }
.thl-p-design-pages-download .dl-ph h1 { color:var(--ink); }
.thl-p-design-pages-download .dl-ph p { color:var(--sub); }
.thl-p-design-pages-download .card { background: var(--white); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-design-pages-download .card-head { border-bottom-color: var(--border); }
.thl-p-design-pages-download .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-download .card-title { color:var(--ink); }
.thl-p-design-pages-download .card-title i { color:var(--g); }
.thl-p-design-pages-download .tb-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-design-pages-download .tb-warn { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-design-pages-download .tb-info { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-design-pages-download .file-item { background: var(--surf); border-color: var(--border); }
.thl-p-design-pages-download .file-item:hover { border-color: var(--g); box-shadow: 0 3px 12px rgba(var(--g-rgb), .08); }
.thl-p-design-pages-download .file-name { color:var(--ink); }
.thl-p-design-pages-download .file-meta { color:var(--muted); }
.thl-p-design-pages-download .file-dl-btn { background: var(--g); color:var(--white); }
.thl-p-design-pages-download .file-dl-btn:hover { background: var(--g-dk); box-shadow: 0 3px 10px rgba(var(--g-rgb), .3); color:var(--white); }
.thl-p-design-pages-download .progress-label { color:var(--sub); }
.thl-p-design-pages-download .progress-bar { background: var(--border); }
.thl-p-design-pages-download .progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-download .progress-fill.warn { background: linear-gradient(90deg, var(--amber), var(--p-orange-23)); }
.thl-p-design-pages-download .progress-fill.danger { background: linear-gradient(90deg, var(--red), var(--p-red-18)); }
.thl-p-design-pages-download .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), .3); }

/* ── design_pages/files.php ─────────────────────────────────────────── */
/* NOTE: body background-color is NOT redefined here.

   It is inherited from /css/universal_font&bg_clr.css via header. */
.thl-p-design-pages-files .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-design-pages-files .wiz-prog-wrap { background: var(--border); }
.thl-p-design-pages-files .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-files .wiz-brand { color:var(--g); }
.thl-p-design-pages-files .ws { color:var(--muted); }
.thl-p-design-pages-files .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-design-pages-files .ws.done { color:var(--g); }
.thl-p-design-pages-files .ws-num { border-color: currentColor; }
.thl-p-design-pages-files .ws.active .ws-num, .thl-p-design-pages-files .ws.done   .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-design-pages-files .ws-sep { color:var(--border); }
.thl-p-design-pages-files .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-design-pages-files .card-head { border-bottom-color: var(--border); }
.thl-p-design-pages-files .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-files .card-title { color:var(--ink); }
.thl-p-design-pages-files .card-sub { color:var(--sub); }
.thl-p-design-pages-files .design-banner { background: var(--white); border-color: var(--border); }
.thl-p-design-pages-files .design-ico { background: var(--g-lt); color:var(--g); }
.thl-p-design-pages-files .design-name { color:var(--ink); }
.thl-p-design-pages-files .design-meta { color:var(--sub); }
/* ── Drop zone ── */
.thl-p-design-pages-files .drop-zone { border-color: var(--border); background: var(--surface); }
.thl-p-design-pages-files .drop-zone:hover, .thl-p-design-pages-files .drop-zone.dragover { border-color: var(--g); background: var(--g-lt); }
.thl-p-design-pages-files .drop-icon { color:var(--muted); }
.thl-p-design-pages-files .drop-zone:hover .drop-icon, .thl-p-design-pages-files .drop-zone.dragover .drop-icon { color:var(--g); }
.thl-p-design-pages-files .drop-title { color:var(--ink); }
.thl-p-design-pages-files .drop-sub { color:var(--sub); }
.thl-p-design-pages-files .drop-limit { color:var(--muted); }
.thl-p-design-pages-files .type-pill { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-design-pages-files .pending-label { color:var(--sub); }
.thl-p-design-pages-files .add-more-btn { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-design-pages-files .add-more-btn:hover { background: var(--g); color:var(--white); }
.thl-p-design-pages-files .preview-item { background: var(--white); border-color: var(--g); }
.thl-p-design-pages-files .preview-item-name { color:var(--ink); }
.thl-p-design-pages-files .preview-item-size { color:var(--muted); }
.thl-p-design-pages-files .preview-item-status.ok { color:var(--g); }
.thl-p-design-pages-files .preview-item-status.err { color:var(--red); }
.thl-p-design-pages-files .preview-remove-btn { color:var(--muted); }
.thl-p-design-pages-files .preview-remove-btn:hover { background: var(--red-lt); color:var(--red); }
.thl-p-design-pages-files .file-item { background: var(--white); border-color: var(--border); }
.thl-p-design-pages-files .file-item:hover { border-color: var(--g); }
.thl-p-design-pages-files .file-item.selected { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.2); background: var(--g-bglt); }
.thl-p-design-pages-files .file-item-name { color:var(--ink); }
.thl-p-design-pages-files .file-item-meta { color:var(--muted); }
.thl-p-design-pages-files .file-item-del { border-color: var(--border); color:var(--red); }
.thl-p-design-pages-files .file-item-del:hover { background: var(--red-lt); border-color: var(--red); }
/* Select-mode checkbox overlay */
.thl-p-design-pages-files .file-select-check { border-color: var(--border); background: transparent; }
.thl-p-design-pages-files .file-item.selected .file-select-check { background: var(--g); border-color: var(--g); }
.thl-p-design-pages-files .file-item.selected .file-select-check i { color:var(--white); }
.thl-p-design-pages-files .count-bar { background: var(--surface); border-color: var(--border); }
.thl-p-design-pages-files .count-bar strong { color:var(--ink); }
.thl-p-design-pages-files .seg { background: var(--border); }
.thl-p-design-pages-files .seg.filled { background: var(--g); }
.thl-p-design-pages-files .seg.pending { background: repeating-linear-gradient(45deg, var(--g), var(--g) 2px, var(--white) 2px, var(--white) 5px); border-color: var(--g); }
.thl-p-design-pages-files .check-item { background: var(--white); border-color: var(--border); }
.thl-p-design-pages-files .check-item.ok { border-color: var(--g); }
.thl-p-design-pages-files .check-item.ok   i { color:var(--g); }
.thl-p-design-pages-files .check-item.fail { border-color: var(--red); background: var(--red-lt); color:var(--red); }
.thl-p-design-pages-files .check-item.fail i { color:var(--red); }
.thl-p-design-pages-files .slot-full-notice { color:var(--muted); }
.thl-p-design-pages-files .slot-full-notice i { color:var(--g); }
.thl-p-design-pages-files .slot-full-notice strong { color:var(--ink); }
/* ── Select-mode toggle button ── */
.thl-p-design-pages-files .select-toggle-btn { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-design-pages-files .select-toggle-btn:hover { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-design-pages-files .select-toggle-btn.active { border-color: var(--red); color:var(--red); background: var(--red-lt); }
/* ── Sticky bulk-delete bar ── */
.thl-p-design-pages-files #bulk-bar { background: var(--white); border-top-color: var(--border); box-shadow: 0 -4px 20px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-design-pages-files .bulk-sel-count { color:var(--ink); }
.thl-p-design-pages-files .bulk-sel-count span { color:var(--sub); }
/* ── Overlays (upload progress, .thl-p-design-pages-files bulk delete progress) ── */
.thl-p-design-pages-files #upload-overlay, .thl-p-design-pages-files #bulk-del-overlay { background: rgba(var(--p-white-28-rgb), 0.82); }
.thl-p-design-pages-files .upl-card { background: var(--white); border-color: var(--border); box-shadow: 0 8px 40px rgba(var(--p-black-1-rgb), 0.13); }
.thl-p-design-pages-files .upl-icon-wrap { background: var(--g-lt); }
.thl-p-design-pages-files .upl-icon-wrap i { color:var(--g); }
.thl-p-design-pages-files .upl-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-design-pages-files .upl-title { color:var(--ink); }
.thl-p-design-pages-files .upl-sub { color:var(--sub); }
.thl-p-design-pages-files .upl-bar-wrap { background: var(--border); }
.thl-p-design-pages-files .upl-bar-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-files .upl-pct { color:var(--g); }
.thl-p-design-pages-files .upl-detail { color:var(--muted); }
html.page-entering::before { background: rgba(var(--p-white-28-rgb), 0.88); }
.thl-p-design-pages-files .confirm-backdrop { background: rgba(var(--p-grey-4-rgb), 0.45); }
.thl-p-design-pages-files .confirm-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-design-pages-files .confirm-icon-wrap { background: var(--red-lt); }
.thl-p-design-pages-files .confirm-icon-wrap i { color:var(--red); }
.thl-p-design-pages-files .confirm-title { color:var(--ink); }
.thl-p-design-pages-files .confirm-msg { color:var(--sub); }
.thl-p-design-pages-files .confirm-file-name { background: var(--surface); border-color: var(--border); color:var(--ink); }
.thl-p-design-pages-files .bulk-file-list-preview { background: var(--surface); border-color: var(--border); color:var(--sub); }
.thl-p-design-pages-files .bulk-file-list-preview span { color:var(--ink); }
.thl-p-design-pages-files .bulk-file-list-preview span i { color:var(--red); }
.thl-p-design-pages-files .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-design-pages-files .btn-red:hover { box-shadow: 0 4px 14px rgba(var(--p-red-15-rgb), 0.35); }
/* ── File-type colour classes ── */
.thl-p-design-pages-files .ext-pdf { background: var(--red-lt); color:var(--error); }
.thl-p-design-pages-files .ext-dwg { background: var(--blue-lt); color:var(--info); }
.thl-p-design-pages-files .ext-dxf { background: var(--blue-lt); color:var(--info); }
.thl-p-design-pages-files .ext-cad { background: var(--g-bglt); color:var(--p-green-15); }
.thl-p-design-pages-files .ext-zip { background: var(--p-amber-9); color:var(--p-orange-15); }
.thl-p-design-pages-files .ext-rar { background: var(--p-amber-9); color:var(--p-orange-15); }
.thl-p-design-pages-files .ext-rvt { background: var(--p-white-1); color:var(--p-violet-4); }
.thl-p-design-pages-files .ext-skp { background: var(--p-orange-29); color:var(--orange); }
.thl-p-design-pages-files .ext-default { background: var(--surface); color:var(--muted); }

/* ── design_pages/free_download.php ─────────────────────────────────────────── */
.thl-p-design-pages-free-download .dl-ph-icon.ok { background: var(--g-lt); color:var(--g); border-color: var(--g); }
.thl-p-design-pages-free-download .dl-ph h1 { color:var(--ink); }
.thl-p-design-pages-free-download .dl-ph p { color:var(--sub); }
.thl-p-design-pages-free-download .dl-free-pill { background: var(--g); color:var(--white); }
.thl-p-design-pages-free-download .card { background: var(--white); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-design-pages-free-download .card-head { border-bottom-color: var(--border); }
.thl-p-design-pages-free-download .card-head::before { background: linear-gradient(90deg,var(--g),var(--g-vivid)); }
.thl-p-design-pages-free-download .card-title { color:var(--ink); }
.thl-p-design-pages-free-download .card-title i { color:var(--g); }
.thl-p-design-pages-free-download .file-item { background: var(--surf); border-color: var(--border); }
.thl-p-design-pages-free-download .file-item:hover { border-color: var(--g); box-shadow: 0 3px 12px rgba(var(--g-rgb), .08); }
.thl-p-design-pages-free-download .file-name { color:var(--ink); }
.thl-p-design-pages-free-download .file-meta { color:var(--muted); }
.thl-p-design-pages-free-download .file-dl-btn { background: var(--g); color:var(--white); }
.thl-p-design-pages-free-download .file-dl-btn:hover { background: var(--g-dk); box-shadow: 0 3px 10px rgba(var(--g-rgb), .3); }
.thl-p-design-pages-free-download .file-dl-btn.done { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-design-pages-free-download .review-cta { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-design-pages-free-download .review-cta i { color:var(--gold); }
.thl-p-design-pages-free-download .review-cta a { color:var(--amber-ink); }
/* ── Download progress / thank-you overlay (mirrors the photos page) ── */
.thl-p-design-pages-free-download #dl-overlay { background: rgba(var(--p-white-28-rgb), .86); }
.thl-p-design-pages-free-download .dlo-card { background: var(--white); border-color: var(--border); box-shadow: 0 8px 40px rgba(var(--p-black-1-rgb), .13); }
.thl-p-design-pages-free-download .dlo-icon-wrap { background: var(--g-lt); }
.thl-p-design-pages-free-download .dlo-icon-wrap i { color:var(--g); }
.thl-p-design-pages-free-download .dlo-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-design-pages-free-download .dlo-title { color:var(--ink); }
.thl-p-design-pages-free-download .dlo-sub { color:var(--sub); }
.thl-p-design-pages-free-download .dlo-bar-wrap { background: var(--border); }
.thl-p-design-pages-free-download .dlo-bar-fill { background: linear-gradient(90deg,var(--g),var(--g-vivid)); }
.thl-p-design-pages-free-download .dlo-detail { color:var(--muted); }
.thl-p-design-pages-free-download .fd-seller-av { border-color: var(--g); }
.thl-p-design-pages-free-download .fd-seller-name { color:var(--info); }
.thl-p-design-pages-free-download .fd-seller-role { color:var(--muted); }
.thl-p-design-pages-free-download .fd-seller-role .v { color:var(--g); }
.thl-p-design-pages-free-download .rec-hd h2 { color:var(--ink); }
.thl-p-design-pages-free-download .rec-hd h2 i { color:var(--g); }
.thl-p-design-pages-free-download .rec-hd span { color:var(--muted); }
.thl-p-design-pages-free-download .rec-scroll::-webkit-scrollbar-thumb { background: var(--g-br); }
.thl-p-design-pages-free-download .fd-card { background: var(--white); border-color: var(--border); }
.thl-p-design-pages-free-download .fd-card:hover { box-shadow: 0 4px 20px rgba(var(--p-black-1-rgb), .09); border-color: var(--g); }
.thl-p-design-pages-free-download .fdc-price { color:var(--g-dk); }
.thl-p-design-pages-free-download .fdc-price.fdc-free { color:var(--g); }
.thl-p-design-pages-free-download .fdc-title { color:var(--ink); }
.thl-p-design-pages-free-download .fdc-loc { color:var(--muted); }
.thl-p-design-pages-free-download .fdc-loc i { color:var(--g); }

/* ── design_pages/payment_callback.php ─────────────────────────────────────────── */
.thl-p-design-pages-payment-callback .cb-icon.fail { background: var(--red-lt); color:var(--red); }
.thl-p-design-pages-payment-callback .cb-title { color:var(--ink); }
.thl-p-design-pages-payment-callback .cb-sub { color:var(--sub); }
.thl-p-design-pages-payment-callback .cb-ref { color:var(--sub); background: var(--border); }
.thl-p-design-pages-payment-callback .cb-btn.green { background: var(--g); color:var(--white); }
.thl-p-design-pages-payment-callback .cb-btn.green:hover { background: var(--g-dk); }
.thl-p-design-pages-payment-callback .cb-btn.ghost { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-design-pages-payment-callback .cb-btn.ghost:hover { border-color: var(--g); color:var(--g); }
.thl-p-design-pages-payment-callback .cb-check-wrap { background: var(--g-lt); border-color: var(--g); color:var(--g); }
.thl-p-design-pages-payment-callback .cb-title { color:var(--ink); }
.thl-p-design-pages-payment-callback .cb-sub { color:var(--sub); }
.thl-p-design-pages-payment-callback .card { background: var(--white); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-design-pages-payment-callback .card-head { border-bottom-color: var(--border); }
.thl-p-design-pages-payment-callback .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-payment-callback .card-title { color:var(--ink); }
.thl-p-design-pages-payment-callback .card-title i { color:var(--g); }
.thl-p-design-pages-payment-callback .order-row { border-bottom-color: var(--border); }
.thl-p-design-pages-payment-callback .or-label { color:var(--sub); }
.thl-p-design-pages-payment-callback .or-val { color:var(--ink); }
.thl-p-design-pages-payment-callback .or-val.green { color:var(--g-dk); }
.thl-p-design-pages-payment-callback .download-box { background: var(--g-lt); border-color: var(--g); }
.thl-p-design-pages-payment-callback .download-box-title { color:var(--g-dk); }
.thl-p-design-pages-payment-callback .download-box-sub { color:var(--sub); }
.thl-p-design-pages-payment-callback .download-expire { color:var(--gold); background: var(--amber-lt); border-color: var(--warn); }
.thl-p-design-pages-payment-callback .btn-download:hover { box-shadow: 0 6px 22px rgba(var(--g-rgb), .35); }
.thl-p-design-pages-payment-callback .email-note { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }

/* ── design_pages/photos.php ─────────────────────────────────────────── */
/* NOTE: body background-color is NOT redefined here.

   It is inherited from /css/universal_font&bg_clr.css via header. */
.thl-p-design-pages-photos .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-design-pages-photos .wiz-prog-wrap { background: var(--border); }
.thl-p-design-pages-photos .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-photos .wiz-brand { color:var(--g); }
.thl-p-design-pages-photos .ws { color:var(--muted); }
.thl-p-design-pages-photos .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-design-pages-photos .ws.done { color:var(--g); }
.thl-p-design-pages-photos .ws-num { border-color: currentColor; }
.thl-p-design-pages-photos .ws.active .ws-num, .thl-p-design-pages-photos .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-design-pages-photos .ws-sep { color:var(--border); }
.thl-p-design-pages-photos .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-design-pages-photos .card-head { border-bottom-color: var(--border); }
.thl-p-design-pages-photos .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-photos .card-title { color:var(--ink); }
.thl-p-design-pages-photos .card-sub { color:var(--sub); }
.thl-p-design-pages-photos .design-banner { background: var(--white); border-color: var(--border); }
.thl-p-design-pages-photos .design-ico { background: var(--g-lt); color:var(--g); }
.thl-p-design-pages-photos .design-name { color:var(--ink); }
.thl-p-design-pages-photos .design-meta { color:var(--sub); }
.thl-p-design-pages-photos .drop-zone { border-color: var(--border); background: var(--surface); }
.thl-p-design-pages-photos .drop-zone:hover, .thl-p-design-pages-photos .drop-zone.dragover { border-color: var(--g); background: var(--g-lt); }
.thl-p-design-pages-photos .drop-icon { color:var(--muted); }
.thl-p-design-pages-photos .drop-zone:hover .drop-icon, .thl-p-design-pages-photos .drop-zone.dragover .drop-icon { color:var(--g); }
.thl-p-design-pages-photos .drop-title { color:var(--ink); }
.thl-p-design-pages-photos .drop-sub { color:var(--sub); }
.thl-p-design-pages-photos .drop-limit { color:var(--muted); }
.thl-p-design-pages-photos .pending-label { color:var(--sub); }
.thl-p-design-pages-photos .add-more-btn { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-design-pages-photos .add-more-btn:hover { background: var(--g); color:var(--white); }
.thl-p-design-pages-photos .photo-item { border-color: var(--border); background: var(--surface); }
.thl-p-design-pages-photos .photo-item.banner { border-color: var(--g); box-shadow: 0 0 0 2px rgba(var(--g-rgb), 0.2); }
.thl-p-design-pages-photos .photo-item.drag-over { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.25); }
/* Pending preview items (not yet uploaded) */
.thl-p-design-pages-photos .pending-item { border-color: var(--g); background: var(--surface); }
.thl-p-design-pages-photos .pending-item .pending-overlay { background: linear-gradient(to top, rgba(var(--p-black-1-rgb), 0.55) 0%, transparent 55%); }
.thl-p-design-pages-photos .pending-remove-btn { background: rgba(var(--p-red-15-rgb), 0.9); color:var(--white); }
.thl-p-design-pages-photos .pending-remove-btn:hover { background: var(--error); }
.thl-p-design-pages-photos .photo-overlay { background: linear-gradient(to top, rgba(var(--p-black-1-rgb), 0.55) 0%, transparent 50%); }
.thl-p-design-pages-photos .photo-num { background: rgba(var(--p-black-1-rgb), 0.5); color:var(--white); }
.thl-p-design-pages-photos .photo-btn-del { background: rgba(var(--p-red-15-rgb), 0.9); color:var(--white); }
.thl-p-design-pages-photos .photo-btn-del:hover { background: var(--error); }
.thl-p-design-pages-photos .drag-hint { color:var(--muted); }
.thl-p-design-pages-photos .count-bar { background: var(--surface); border-color: var(--border); }
.thl-p-design-pages-photos .count-bar strong { color:var(--ink); }
.thl-p-design-pages-photos .seg { background: var(--border); }
.thl-p-design-pages-photos .seg.filled { background: var(--g); }
.thl-p-design-pages-photos .seg.pending { background: repeating-linear-gradient(45deg, var(--g), var(--g) 2px, var(--white) 2px, var(--white) 5px); border-color: var(--g); }
.thl-p-design-pages-photos .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-design-pages-photos .review-row { border-bottom-color: var(--border); }
.thl-p-design-pages-photos .review-key { color:var(--sub); }
.thl-p-design-pages-photos .review-val { color:var(--ink); }
.thl-p-design-pages-photos .review-thumb { border-color: var(--border); }
.thl-p-design-pages-photos .review-thumb.banner { border-color: var(--g); }
/* Slot-full notice */
.thl-p-design-pages-photos .slot-full-notice { color:var(--muted); }
.thl-p-design-pages-photos .slot-full-notice i { color:var(--g); }
.thl-p-design-pages-photos .slot-full-notice strong { color:var(--ink); }
/* ── Upload progress overlay ── */
.thl-p-design-pages-photos #upload-overlay, .thl-p-design-pages-photos #bulk-del-overlay { background: rgba(var(--p-white-28-rgb), 0.82); }
.thl-p-design-pages-photos .upl-card { background: var(--white); border-color: var(--border); box-shadow: 0 8px 40px rgba(var(--p-black-1-rgb), 0.13); }
.thl-p-design-pages-photos .upl-icon-wrap { background: var(--g-lt); }
.thl-p-design-pages-photos .upl-icon-wrap i { color:var(--g); }
.thl-p-design-pages-photos .upl-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-design-pages-photos .upl-title { color:var(--ink); }
.thl-p-design-pages-photos .upl-sub { color:var(--sub); }
.thl-p-design-pages-photos .upl-bar-wrap { background: var(--border); }
.thl-p-design-pages-photos .upl-bar-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-photos .upl-pct { color:var(--g); }
.thl-p-design-pages-photos .upl-detail { color:var(--muted); }
.thl-p-design-pages-photos .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-design-pages-photos .confirm-backdrop { background: rgba(var(--p-grey-4-rgb), 0.45); }
.thl-p-design-pages-photos .confirm-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-design-pages-photos .confirm-icon-wrap { background: var(--red-lt); }
.thl-p-design-pages-photos .confirm-icon-wrap i { color:var(--red); }
.thl-p-design-pages-photos .confirm-title { color:var(--ink); }
.thl-p-design-pages-photos .confirm-msg { color:var(--sub); }
.thl-p-design-pages-photos .confirm-thumb-wrap { border-color: var(--border); }
.thl-p-design-pages-photos .btn-red:hover { box-shadow: 0 4px 14px rgba(var(--p-red-15-rgb), 0.35); }
.thl-p-design-pages-photos .photo-grid.select-mode .photo-item:hover { border-color: var(--g); box-shadow: 0 0 0 2px rgba(var(--g-rgb), 0.2); }
.thl-p-design-pages-photos .photo-item .select-check { border-color: rgba(var(--p-white-28-rgb), 0.6); background: transparent; }
.thl-p-design-pages-photos .photo-item.selected .select-check { background: rgba(var(--g-rgb), 0.85); border-color: var(--g); }
.thl-p-design-pages-photos .photo-item.selected .select-check i { color:var(--white); }
.thl-p-design-pages-photos .photo-item.selected { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.3); }
.thl-p-design-pages-photos .select-toggle-btn { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-design-pages-photos .select-toggle-btn:hover { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-design-pages-photos .select-toggle-btn.active { border-color: var(--red); color:var(--red); background: var(--red-lt); }
/* ── Sticky bulk-delete bar ── */
.thl-p-design-pages-photos #bulk-bar { background: var(--white); border-top-color: var(--border); box-shadow: 0 -4px 20px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-design-pages-photos .bulk-sel-thumb { border-color: var(--white); box-shadow: 0 1px 4px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-design-pages-photos .bulk-sel-count { color:var(--ink); }
.thl-p-design-pages-photos .bulk-sel-count span { color:var(--sub); }
.thl-p-design-pages-photos .bulk-thumb-strip img { border-color: var(--border); }
/* ── Page-load image rendering overlay ── */
.thl-p-design-pages-photos #pageload-overlay { background: rgba(var(--p-white-28-rgb), 0.88); }
html.page-entering::before { background: rgba(var(--p-white-28-rgb), 0.88); }

/* ── design_pages/pricing.php ─────────────────────────────────────────── */
.thl-p-design-pages-pricing .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-design-pages-pricing .wiz-prog-wrap { background: var(--border); }
.thl-p-design-pages-pricing .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-pricing .wiz-brand { color:var(--g); }
.thl-p-design-pages-pricing .ws { color:var(--muted); }
.thl-p-design-pages-pricing .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-design-pages-pricing .ws.done { color:var(--g); }
.thl-p-design-pages-pricing .ws-num { border-color: currentColor; }
.thl-p-design-pages-pricing .ws.active .ws-num, .thl-p-design-pages-pricing .ws.done   .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-design-pages-pricing .ws-sep { color:var(--border); }
.thl-p-design-pages-pricing .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-design-pages-pricing .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-design-pages-pricing .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-design-pages-pricing .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-design-pages-pricing .step-tab.st-done { color:var(--g-dk); }
.thl-p-design-pages-pricing .step-tab-num { border-color: currentColor; }
.thl-p-design-pages-pricing .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-design-pages-pricing .step-tab.st-done .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-design-pages-pricing .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-design-pages-pricing .card-head { border-bottom-color: var(--border); }
.thl-p-design-pages-pricing .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-pricing .card-title { color:var(--ink); }
.thl-p-design-pages-pricing .card-sub { color:var(--sub); }
.thl-p-design-pages-pricing .design-banner { background: var(--white); border-color: var(--border); }
.thl-p-design-pages-pricing .design-ico { background: var(--g-lt); color:var(--g); }
.thl-p-design-pages-pricing .design-name { color:var(--ink); }
.thl-p-design-pages-pricing .design-meta { color:var(--sub); }
.thl-p-design-pages-pricing .fl-label { color:var(--ink); }
.thl-p-design-pages-pricing .fl-req { color:var(--red); }
.thl-p-design-pages-pricing .fl-hint { color:var(--sub); }
.thl-p-design-pages-pricing .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-design-pages-pricing .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-design-pages-pricing .ltype-opt { border-color: var(--border); background: var(--surface); }
.thl-p-design-pages-pricing .ltype-opt i { color:var(--muted); }
.thl-p-design-pages-pricing .ltype-opt-title { color:var(--ink); }
.thl-p-design-pages-pricing .ltype-opt-sub { color:var(--sub); }
.thl-p-design-pages-pricing .ltype-opt:hover { border-color: var(--g); background: var(--g-lt); }
.thl-p-design-pages-pricing .ltype-opt.active { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.15); }
.thl-p-design-pages-pricing .ltype-opt.active i { color:var(--g); }
.thl-p-design-pages-pricing .free-note { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-design-pages-pricing .price-display { background: var(--g-lt); border-color: var(--g); }
.thl-p-design-pages-pricing .price-display-main { color:var(--g-dk); }
.thl-p-design-pages-pricing .price-display-disc { color:var(--sub); }
.thl-p-design-pages-pricing .price-display-disc s { color:var(--muted); }
.thl-p-design-pages-pricing .price-display-save { background: var(--g); color:var(--white); }
.thl-p-design-pages-pricing .link-preview { border-color: var(--border); }
.thl-p-design-pages-pricing .lp-platform-badge { background: var(--surface); border-bottom-color: var(--border); }
.thl-p-design-pages-pricing .lp-landscape { background: var(--p-black-1); }
.thl-p-design-pages-pricing .lp-portrait-wrap { background: var(--ink-3); }
.thl-p-design-pages-pricing .lp-portrait-box { background: var(--p-black-1); }
.thl-p-design-pages-pricing .lp-load-overlay { background: rgba(var(--p-black-1-rgb), .55); color:var(--white); }
.thl-p-design-pages-pricing .lp-fallback { color:var(--muted); background: var(--surface); }
.thl-p-design-pages-pricing .link-preview-loading { color:var(--muted); background: var(--surface); }
.thl-p-design-pages-pricing .lp-link-only { background: var(--surface); }
.thl-p-design-pages-pricing .lp-link-only-icon.fb { background: var(--p-blue-56); color:var(--facebook); }
.thl-p-design-pages-pricing .lp-link-only-icon.ig { background: var(--p-pink-6); color:var(--p-pink-4); }
.thl-p-design-pages-pricing .lp-link-only-title { color:var(--ink); }
.thl-p-design-pages-pricing .lp-link-only-note { color:var(--muted); }
.thl-p-design-pages-pricing .lp-link-only-btn.fb { background: var(--facebook); color:var(--white); }
.thl-p-design-pages-pricing .lp-link-only-btn.ig { background: linear-gradient(135deg,var(--p-orange-17),var(--p-orange-13),var(--p-red-11),var(--p-pink-2),var(--p-pink-1)); color:var(--white); }
.thl-p-design-pages-pricing .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-design-pages-pricing .review-row { border-bottom-color: var(--border); }
.thl-p-design-pages-pricing .review-key { color:var(--sub); }
.thl-p-design-pages-pricing .review-val { color:var(--ink); }
.thl-p-design-pages-pricing .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }

/* ── design_pages/setup.php ─────────────────────────────────────────── */
/* NOTE: body background-color is NOT redefined here.

   It is inherited from /css/universal_font&bg_clr.css via header. */
.thl-p-design-pages-setup .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-design-pages-setup .wiz-brand { color:var(--g); }
.thl-p-design-pages-setup .ws { color:var(--muted); }
.thl-p-design-pages-setup .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-design-pages-setup .ws.done { color:var(--g); }
.thl-p-design-pages-setup .ws-num { border-color: currentColor; }
.thl-p-design-pages-setup .ws.active .ws-num, .thl-p-design-pages-setup .ws.done  .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-design-pages-setup .ws-sep { color:var(--border); }
.thl-p-design-pages-setup .wiz-prog-wrap { background: var(--border); }
.thl-p-design-pages-setup .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-setup .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-design-pages-setup .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-design-pages-setup .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-design-pages-setup .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-design-pages-setup .step-tab.st-done { color:var(--g-dk); }
.thl-p-design-pages-setup .step-tab-num { border-color: currentColor; }
.thl-p-design-pages-setup .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-design-pages-setup .step-tab.st-done .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-design-pages-setup .design-header { background: var(--white); border-color: var(--border); }
.thl-p-design-pages-setup .design-icon { background: var(--g-lt); color:var(--g); }
.thl-p-design-pages-setup .design-title { color:var(--ink); }
.thl-p-design-pages-setup .design-meta { color:var(--sub); }
.thl-p-design-pages-setup .lock-tag { background: var(--p-amber-7); color:var(--p-orange-5); border-color: var(--warn); }
.thl-p-design-pages-setup .card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-design-pages-setup .card-head { border-bottom-color: var(--border); }
.thl-p-design-pages-setup .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-design-pages-setup .card-head-title { color:var(--ink); }
.thl-p-design-pages-setup .card-head-sub { color:var(--sub); }
.thl-p-design-pages-setup .sec-label { color:var(--muted); }
.thl-p-design-pages-setup .sec-label::after { background: var(--border); }
.thl-p-design-pages-setup .fl-label { color:var(--ink); }
.thl-p-design-pages-setup .fl-hint { color:var(--sub); }
.thl-p-design-pages-setup .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-design-pages-setup .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-design-pages-setup .fl-opt label { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-design-pages-setup .fl-opt label:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-design-pages-setup .fl-opt label:has(input[type="radio"]:checked), .thl-p-design-pages-setup .fl-opt label:has(input[type="checkbox"]:checked) { border-color: var(--g); background: var(--g); color:var(--white); }
.thl-p-design-pages-setup .dim-sep { color:var(--muted); }
.thl-p-design-pages-setup .incl-item { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-design-pages-setup .incl-item:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-design-pages-setup .incl-item.checked { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-design-pages-setup .incl-item.checked::before { color:var(--g); }
.thl-p-design-pages-setup .incl-item:not(.checked)::before { color:var(--border); }
.thl-p-design-pages-setup .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }

/* ── design_pages/view_design.php ─────────────────────────────────────────── */
body.thl-p-design-pages-view-design { color:var(--ink); }/* ── BREADCRUMB ── */
.thl-p-design-pages-view-design .vp-bc { background: var(--white); border-bottom-color: var(--border); }
.thl-p-design-pages-view-design .vp-bc-inner { color:var(--muted); }
.thl-p-design-pages-view-design .vp-bc-inner a { color:var(--sub); }
.thl-p-design-pages-view-design .vp-bc-inner a:hover { color:var(--g); }
.thl-p-design-pages-view-design .vp-bc-sep { color:var(--border); }
.thl-p-design-pages-view-design .vp-bc-cur { color:var(--ink); }
.thl-p-design-pages-view-design .vp-bc-back { background: var(--g-lt); color:var(--g-dk); }
.thl-p-design-pages-view-design .vp-bc-back:hover { background: var(--p-green-40); }
/* ── STICKY NAV ── */
.thl-p-design-pages-view-design .vp-snav { background: rgba(var(--p-white-28-rgb), 0.96); border-bottom-color: var(--border); box-shadow: 0 2px 12px rgba(var(--p-black-1-rgb), .06); }
.thl-p-design-pages-view-design .vp-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-design-pages-view-design .vp-tab:hover { color:var(--ink); }
.thl-p-design-pages-view-design .vp-tab.active { color:var(--g); border-bottom-color: var(--g); }
.thl-p-design-pages-view-design .vp-nav-ic { border-color: var(--border); background: var(--surf); color:var(--sub); }
.thl-p-design-pages-view-design .vp-nav-ic:hover { border-color: var(--g); color:var(--g); }
.thl-p-design-pages-view-design .vp-nav-ic.favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-design-pages-view-design .vp-nav-ic.saved { border-color: var(--warn); color:var(--gold); background: var(--amber-lt); }
.thl-p-design-pages-view-design .vp-nav-ic.report:hover { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-design-pages-view-design .vp-gallery { background: var(--ink); }
.thl-p-design-pages-view-design .vp-gc-ovr { background: rgba(var(--p-black-1-rgb), .22); }
.thl-p-design-pages-view-design .vp-gc-ovr i { color:rgba(var(--p-white-28-rgb), .9); }
.thl-p-design-pages-view-design .pill-arch { background: rgba(var(--p-violet-5-rgb), .82); color:var(--violet-bglt); }
.thl-p-design-pages-view-design .pill-struct { background: rgba(var(--p-teal-4-rgb), .82); color:var(--p-teal-8); }
.thl-p-design-pages-view-design .pill-btype { background: rgba(var(--p-black-1-rgb), .55); color:rgba(var(--p-white-28-rgb), .9); }
.thl-p-design-pages-view-design .vp-photo-count { background: rgba(var(--p-black-1-rgb), .65); color:var(--white); border-color: rgba(var(--p-white-28-rgb), .15); }
.thl-p-design-pages-view-design .vp-photo-count:hover { background: rgba(var(--p-black-1-rgb), .85); }
/* ── CARDS ── */
.thl-p-design-pages-view-design .card { background: var(--card); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-design-pages-view-design .card-hr { border-top-color: var(--border); }
.thl-p-design-pages-view-design .sec-label { color:var(--muted); }
.thl-p-design-pages-view-design .sec-label::after { background: var(--border); }
.thl-p-design-pages-view-design .tag-arch { background: var(--violet-bglt); color:var(--p-violet-2); }
.thl-p-design-pages-view-design .tag-struct { background: var(--p-teal-8); color:var(--p-teal-2); }
.thl-p-design-pages-view-design .vp-title { color:var(--ink); }
.thl-p-design-pages-view-design .vp-subtitle { color:var(--sub); }
.thl-p-design-pages-view-design .vp-subtitle .dot { color:var(--border); }
.thl-p-design-pages-view-design .vp-loc-line { color:var(--sub); }
.thl-p-design-pages-view-design .vp-loc-line i { color:var(--g); }
/* ── PRICE BANNER ── */
.thl-p-design-pages-view-design .vp-price-banner { background: linear-gradient(120deg, var(--g-lt) 0%, var(--p-grey-82) 60%, var(--g-lt) 100%); border-color: var(--g); }
.thl-p-design-pages-view-design .vp-price-banner::before { background: linear-gradient(90deg, var(--g), var(--g-dk), var(--g)); }
.thl-p-design-pages-view-design .vp-price-main { color:var(--g-dk); }
.thl-p-design-pages-view-design .vp-price-orig { color:var(--muted); }
.thl-p-design-pages-view-design .vp-discount-badge { background: var(--red); color:var(--white); }
.thl-p-design-pages-view-design .vp-price-na { color:var(--muted); }
.thl-p-design-pages-view-design .vp-price-sub { color:var(--sub); }
.thl-p-design-pages-view-design .vp-price-sub i { color:var(--g); }
.thl-p-design-pages-view-design .vp-stat-box { background: var(--surf); border-color: var(--border); }
.thl-p-design-pages-view-design .vp-stat-box:hover { border-color: var(--g); box-shadow: 0 3px 12px rgba(var(--p-green-23-rgb), .1); }
.thl-p-design-pages-view-design .vp-stat-n { color:var(--ink); }
.thl-p-design-pages-view-design .vp-stat-l { color:var(--muted); }
.thl-p-design-pages-view-design .vp-progress-label { color:var(--sub); }
.thl-p-design-pages-view-design .vp-progress-bar { background: var(--border); }
.thl-p-design-pages-view-design .vp-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-dk)); }
.thl-p-design-pages-view-design .vp-spec { background: var(--surf); border-color: var(--border); }
.thl-p-design-pages-view-design .vp-spec:hover { border-color: var(--g); box-shadow: 0 6px 18px rgba(var(--p-green-23-rgb), .1); }
.thl-p-design-pages-view-design .vp-spec-ico { color:var(--g); }
.thl-p-design-pages-view-design .vp-spec-val { color:var(--ink); }
.thl-p-design-pages-view-design .vp-spec-key { color:var(--muted); }
/* ── INCLUSIONS ── */
.thl-p-design-pages-view-design .incl-group-label { color:var(--muted); }
.thl-p-design-pages-view-design .chip-room { background: var(--g-lt); border-color: var(--g); color:var(--p-green-10); }
.thl-p-design-pages-view-design .chip-draw { background: var(--violet-bglt); border-color: var(--info); color:var(--p-violet-1); }
.thl-p-design-pages-view-design .chip-boq { background: var(--p-orange-29); border-color: var(--warn); color:var(--p-orange-1); }
.thl-p-design-pages-view-design .chip-file { background: var(--p-white-5); border-color: var(--info); color:var(--p-blue-17); }
/* ── DESCRIPTION ── */
.thl-p-design-pages-view-design .vp-desc-text { color:var(--sub); }
.thl-p-design-pages-view-design .vp-desc-collapsed::after { background: linear-gradient(transparent, white); }
.thl-p-design-pages-view-design .vp-desc-toggle { color:var(--g); }
.thl-p-design-pages-view-design .vp-desc-toggle:hover { color:var(--g-dk); }
.thl-p-design-pages-view-design .vp-meta-pill { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-design-pages-view-design .vp-meta-pill i { color:var(--g); }
/* ── VIDEO TOUR ── */
.thl-p-design-pages-view-design .lp-platform-badge { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-design-pages-view-design .lp-landscape { background: var(--p-black-1); }
.thl-p-design-pages-view-design .lp-portrait-wrap { background: var(--ink-3); }
.thl-p-design-pages-view-design .lp-portrait-box { background: var(--p-black-1); }
.thl-p-design-pages-view-design .lp-load-overlay { background: rgba(var(--p-black-1-rgb), .55); color:var(--white); }
.thl-p-design-pages-view-design .lp-fallback { color:var(--muted); background: var(--surf); }
.thl-p-design-pages-view-design .lp-link-only { background: var(--surf); }
.thl-p-design-pages-view-design .lp-link-only-icon.fb { background: var(--p-blue-56); color:var(--facebook); }
.thl-p-design-pages-view-design .lp-link-only-icon.ig { background: var(--p-pink-6); color:var(--p-pink-4); }
.thl-p-design-pages-view-design .lp-link-only-title { color:var(--ink); }
.thl-p-design-pages-view-design .lp-link-only-note { color:var(--muted); }
.thl-p-design-pages-view-design .lp-link-only-btn.fb { background: var(--facebook); color:var(--white); }
.thl-p-design-pages-view-design .lp-link-only-btn.ig { background: linear-gradient(135deg,var(--p-orange-17),var(--p-orange-13),var(--p-red-11),var(--p-pink-2),var(--p-pink-1)); color:var(--white); }
.thl-p-design-pages-view-design .vp-video-card-inner { border-color: var(--border); }
/* ── DESIGN CARDS (similar) ── */
.thl-p-design-pages-view-design .prop-card { background: var(--card); border-color: var(--border); }
.thl-p-design-pages-view-design .prop-card:hover { box-shadow: var(--sh2); border-color: var(--g); }
.thl-p-design-pages-view-design .badge-arch { background: rgba(var(--p-violet-5-rgb), .85); color:var(--violet-bglt); }
.thl-p-design-pages-view-design .badge-struct { background: rgba(var(--p-teal-4-rgb), .85); color:var(--p-teal-8); }
.thl-p-design-pages-view-design .pc-loves { background: rgba(var(--p-white-28-rgb), .92); color:var(--red); }
.thl-p-design-pages-view-design .pc-price { color:var(--g-dk); }
.thl-p-design-pages-view-design .pc-title { color:var(--ink); }
.thl-p-design-pages-view-design .pc-loc { color:var(--muted); }
.thl-p-design-pages-view-design .pc-loc i { color:var(--g); }
.thl-p-design-pages-view-design .pc-type { color:var(--muted); background: var(--surf); border-color: var(--border); }
.thl-p-design-pages-view-design .pc-scroll::-webkit-scrollbar-track { background: transparent; }
.thl-p-design-pages-view-design .pc-scroll::-webkit-scrollbar-thumb { background: var(--g-br); }
.thl-p-design-pages-view-design .vp-eng-btn { border-color: var(--border); background: var(--card); color:var(--sub); }
.thl-p-design-pages-view-design .vp-eng-btn:hover { border-color: var(--g); color:var(--g); background: var(--g-lt); }
.thl-p-design-pages-view-design .vp-eng-btn.favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-design-pages-view-design .vp-eng-btn.saved { border-color: var(--warn); color:var(--gold); background: var(--amber-lt); }
/* ── SELLER CARD ── */
.thl-p-design-pages-view-design .vp-seller-hd { border-bottom-color: var(--border); }
.thl-p-design-pages-view-design .vp-seller-av { border-color: var(--g); }
.thl-p-design-pages-view-design .vp-verified-dot { background: var(--g); border-color: var(--white); }
.thl-p-design-pages-view-design .vp-verified-dot i { color:var(--white); }
.thl-p-design-pages-view-design .vp-seller-name { color:var(--ink); }
.thl-p-design-pages-view-design .vp-seller-role { color:var(--muted); }
.thl-p-design-pages-view-design .vp-seller-role .v { color:var(--g); }
.thl-p-design-pages-view-design .cta-green { background: var(--g); color:var(--white); }
.thl-p-design-pages-view-design .cta-green:hover { background: var(--g-dk); color:var(--white); box-shadow: 0 6px 20px rgba(var(--p-green-14-rgb), .3); }
.thl-p-design-pages-view-design .cta-ghost { background: transparent; color:var(--sub); border-color: var(--border); }
.thl-p-design-pages-view-design .cta-ghost:hover { border-color: var(--g); color:var(--g); background: var(--g-lt); }
.thl-p-design-pages-view-design .vp-reveal-btn { background: transparent; border-color: var(--whatsapp-color); color:var(--p-green-25); }
.thl-p-design-pages-view-design .vp-reveal-btn:hover { background: rgba(var(--p-green-28-rgb), 0.07); }
.thl-p-design-pages-view-design .vp-revealed-num { border-color: var(--whatsapp-color); background: rgba(var(--p-green-28-rgb), 0.06); color:var(--ink); }
.thl-p-design-pages-view-design .qm-label { color:var(--muted); }
.thl-p-design-pages-view-design .qm-btn { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-design-pages-view-design .qm-btn i { color:var(--g); }
.thl-p-design-pages-view-design .qm-btn:hover { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-design-pages-view-design .msg-ta { border-color: var(--border); color:var(--ink); background: var(--card); }
.thl-p-design-pages-view-design .msg-ta:focus { border-color: var(--g); }
/* ── PRICE SUMMARY SIDEBAR ── */
.thl-p-design-pages-view-design .price-summary-row { color:var(--sub); }
.thl-p-design-pages-view-design .price-summary-row span:last-child { color:var(--ink); }
.thl-p-design-pages-view-design .price-summary-final { border-top-color: var(--border); }
.thl-p-design-pages-view-design .price-summary-final span:first-child { color:var(--ink); }
.thl-p-design-pages-view-design .price-summary-final span:last-child { color:var(--g-dk); }
/* ── SAFETY CARD ── */
.thl-p-design-pages-view-design .safety-card { background: var(--amber-lt); border-color: var(--warn); }
.thl-p-design-pages-view-design .safety-title { color:var(--amber-ink); }
.thl-p-design-pages-view-design .safety-title i { color:var(--gold); }
.thl-p-design-pages-view-design .safety-list li { color:var(--amber-ink); }
.thl-p-design-pages-view-design .safety-list li::before { color:var(--gold); }
/* ── NOT LOGGED ── */
.thl-p-design-pages-view-design .not-logged { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-design-pages-view-design .not-logged a { color:var(--g); }
/* ── LIGHTBOX ── */
.thl-p-design-pages-view-design .lb { background: rgba(var(--p-black-3-rgb), .96); }
.thl-p-design-pages-view-design .lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), .07); }
.thl-p-design-pages-view-design .lb-title { color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-design-pages-view-design .lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-design-pages-view-design .lb-x { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-design-pages-view-design .lb-x:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-design-pages-view-design .lb-arrow { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .8); }
.thl-p-design-pages-view-design .lb-arrow:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-design-pages-view-design .lb-th { border-color: transparent; }
.thl-p-design-pages-view-design .lb-th.on { border-color: var(--g); }
/* ── SHARE MODAL ── */
.thl-p-design-pages-view-design .share-ov { background: rgba(var(--p-black-1-rgb), .5); }
.thl-p-design-pages-view-design .share-box { background: var(--card); box-shadow: var(--sh3); }
.thl-p-design-pages-view-design .sb-copy i { color:var(--g); }
.thl-p-design-pages-view-design .sb-wa i { color:var(--whatsapp-color); }
.thl-p-design-pages-view-design .sb-tg i { color:var(--telegram-color); }
.thl-p-design-pages-view-design .sb-fb i { color:var(--facebook); }
.thl-p-design-pages-view-design .sb-tw i { color:var(--ink-3); }
.thl-p-design-pages-view-design .sb-pi i { color:var(--p-red-3); }
.thl-p-design-pages-view-design .sb-em i { color:var(--p-red-14); }
/* ── TOAST ── */

/* ── NUDGE ── */
.thl-p-design-pages-view-design .nudge { background: var(--card); border-color: var(--border); box-shadow: var(--sh3); color:var(--sub); }
.thl-p-design-pages-view-design .nudge strong { color:var(--ink); }
.thl-p-design-pages-view-design .nudge a { color:var(--g); }
.thl-p-design-pages-view-design .nudge-x { color:var(--muted); }
.thl-p-design-pages-view-design .section-hd h2 { color:var(--ink); }
.thl-p-design-pages-view-design .section-hd span { color:var(--muted); }
.thl-p-design-pages-view-design .stars-overlay-back { color:var(--border-2); }
.thl-p-design-pages-view-design .stars-overlay-front { color:var(--amber); }
.thl-p-design-pages-view-design .star-filled { color:var(--amber); }
.thl-p-design-pages-view-design .star-half { color:var(--amber); }
.thl-p-design-pages-view-design .star-empty { color:var(--border-2); }
.thl-p-design-pages-view-design .rv-summary { background: linear-gradient(120deg, var(--amber-lt) 0%, var(--p-amber-9) 100%); border-color: var(--warn); }
.thl-p-design-pages-view-design .rv-big-score { color:var(--ink); }
.thl-p-design-pages-view-design .rv-summary-label { color:var(--sub); }
.thl-p-design-pages-view-design .rv-item { border-bottom-color: var(--border); }
.thl-p-design-pages-view-design .rv-buyer-av { border-color: var(--g); }
.thl-p-design-pages-view-design .rv-buyer-name { color:var(--ink); }
.thl-p-design-pages-view-design .rv-buyer-meta { color:var(--muted); }
.thl-p-design-pages-view-design .rv-rating-num { color:var(--ink); }
.thl-p-design-pages-view-design .rv-comment { color:var(--sub); }
.thl-p-design-pages-view-design .rv-edit-btn { color:var(--muted); background: var(--surf); border-color: var(--border); }
.thl-p-design-pages-view-design .rv-edit-btn:hover { border-color: var(--g); color:var(--g); background: var(--g-lt); }
.thl-p-design-pages-view-design .rv-reply { background: var(--g-lt); border-color: var(--g); }
.thl-p-design-pages-view-design .rv-reply::before { background: var(--g-lt); border-top-color: var(--g); border-left-color: var(--g); }
.thl-p-design-pages-view-design .rv-reply-label { color:var(--g-dk); }
.thl-p-design-pages-view-design .rv-reply-date { color:var(--muted); }
.thl-p-design-pages-view-design .rv-reply-text { color:var(--sub); }
.thl-p-design-pages-view-design .rv-form-wrap { background: var(--surf); border-color: var(--border); }
.thl-p-design-pages-view-design .rv-form-title { color:var(--ink); }
.thl-p-design-pages-view-design .rv-form-title i { color:var(--gold); }
.thl-p-design-pages-view-design .rv-star-picker .star-pick { color:var(--border-2); }
.thl-p-design-pages-view-design .rv-star-picker .star-pick:hover, .thl-p-design-pages-view-design .rv-star-picker .star-pick.selected { color:var(--amber); }
.thl-p-design-pages-view-design .rv-comment-ta { border-color: var(--border); color:var(--ink); background: var(--card); }
.thl-p-design-pages-view-design .rv-comment-ta:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), .08); }
.thl-p-design-pages-view-design .rv-submit-btn.green { background: var(--g); color:var(--white); }
.thl-p-design-pages-view-design .rv-submit-btn.green:hover { background: var(--g-dk); }
.thl-p-design-pages-view-design .rv-submit-btn.cancel { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-design-pages-view-design .rv-submit-btn.cancel:hover { background: var(--surface2); color:var(--ink); }
.thl-p-design-pages-view-design .rv-reply-ta { border-color: var(--border); color:var(--ink); background: var(--card); }
.thl-p-design-pages-view-design .rv-reply-ta:focus { border-color: var(--g); }
.thl-p-design-pages-view-design .rv-no-reviews { color:var(--muted); }
.thl-p-design-pages-view-design .rv-gate { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-design-pages-view-design .rv-gate a { color:var(--blue-ink-2); }

/* ── designs.php ─────────────────────────────────────────── */
/* FONT & LINE HEIGHT ARE NOT TO BE TAMPERED WITH. NO DEFINING FONT AS IT IS ALREADY DEFINED IN A CSS FILE AND INCLUDED IN HEADER. DON'T DELETE THIS COMMENT. */
.thl-p-designs .filter-bar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-designs .fi select, .thl-p-designs .fi input { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-designs .fi-arrow { color:var(--muted); }
.thl-p-designs .fi select:focus, .thl-p-designs .fi input:focus { border-color: var(--g); background: var(--white); }
.thl-p-designs .fi-loc-icon { color:var(--muted); }
.thl-p-designs .fi-price-sep { color:var(--muted); }
.thl-p-designs .sort-wrap label { color:var(--muted); }
.thl-p-designs #float-sort-dropdown .custom-dropdown-toggle { background: var(--surf); }
.thl-p-designs .custom-dropdown-toggle { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-designs .custom-dropdown-toggle:hover, .thl-p-designs .custom-dropdown-toggle:focus { border-color: var(--g); background: var(--white); }
.thl-p-designs .custom-dropdown-toggle::after { color:var(--muted); }
.thl-p-designs .custom-dropdown-menu { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-designs .custom-dropdown-item { color:var(--ink); }
.thl-p-designs .custom-dropdown-item:hover { background: var(--surface2); color: var(--ink-2); }
.thl-p-designs .custom-dropdown-item.selected { background: var(--g); color:var(--white); }
.thl-p-designs .custom-dropdown-item i { color:var(--g); }
.thl-p-designs .custom-dropdown-item.selected i { color:var(--white); }
.thl-p-designs .page-top-title { color:var(--ink); }
.thl-p-designs .page-top-count { color:var(--muted); }
.thl-p-designs .type-tab { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-designs .type-tab:hover { border-color: var(--g); color:var(--g-dk); }
.thl-p-designs .type-tab.active { background: var(--g); border-color: var(--g); color:var(--white); }
.thl-p-designs .sponsored-section-label { color:var(--muted); }
.thl-p-designs .sponsored-section-label i { color:var(--g); }
.thl-p-designs .sponsored-section-divider { color:var(--muted); }
.thl-p-designs .sponsored-section-divider::before, .thl-p-designs .sponsored-section-divider::after { background: var(--border); }
.thl-p-designs .design-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-designs .design-card:hover { box-shadow: var(--shadow-hover); }
.thl-p-designs .card-slider { background: var(--surf); }
.thl-p-designs .slider-nav { background: rgba(var(--p-black-1-rgb), 0.45); color:var(--white); }
.thl-p-designs .slider-nav:hover { background: rgba(var(--p-black-1-rgb), 0.75); }
.thl-p-designs .slider-count { background: rgba(var(--p-black-1-rgb), 0.5); color:var(--white); }
.thl-p-designs .cat-badge { color:var(--white); }
.thl-p-designs .cat-arch { background: var(--arch); }
.thl-p-designs .cat-struct { background: var(--c-cyan); }
.thl-p-designs .no-photo { color:var(--muted); }
.thl-p-designs .card-title { color:var(--ink); }
.thl-p-designs .card-sub-meta { color:var(--sub); }
.thl-p-designs .meta-dot { color:var(--border); }
.thl-p-designs .card-loc { color:var(--muted); }
.thl-p-designs .card-loc i { color:var(--g); }
.thl-p-designs .card-stars-back { color:var(--border-2); }
.thl-p-designs .card-stars-front { color:var(--amber); }
.thl-p-designs .card-rating-val { color:var(--ink); }
.thl-p-designs .card-rating-cnt { color:var(--muted); }
.thl-p-designs .card-price { color:var(--ink); }
.thl-p-designs .card-orig { color:var(--muted); }
.thl-p-designs .card-price-na { color:var(--muted); }
.thl-p-designs .card-metrics { border-top-color: var(--border); }
.thl-p-designs .card-metric { color:var(--sub); }
.thl-p-designs .card-metric:not(:last-child)::after { background: var(--border); }
.thl-p-designs .card-metric i { color:var(--g); }
.thl-p-designs .card-actions { border-top-color: var(--border); }
.thl-p-designs .card-act { color:var(--muted); }
.thl-p-designs .card-act-btn { color:var(--muted); }
.thl-p-designs .card-act-btn.favourited { color:var(--red); }
.thl-p-designs .card-act-btn.saved { color:var(--gold); }
.thl-p-designs .card-act-btn.love-btn:hover { color:var(--red); }
.thl-p-designs .card-act-btn.fav-btn:hover { color:var(--gold); }
.thl-p-designs .card-act .fa-eye { color:var(--c-blue) !important; }
.thl-p-designs .empty-state .home-icon-wrap { color:var(--border); }
.thl-p-designs .empty-state h3 { color:var(--ink); }
.thl-p-designs .empty-state p { color:var(--muted); }
.thl-p-designs .empty-state a { background: var(--g); color:var(--white); }
.thl-p-designs .skeleton-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-designs .skel-img { background: linear-gradient(90deg, var(--surf-2) 25%, var(--p-grey-28) 50%, var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-designs .skel-line { background: linear-gradient(90deg, var(--surf-2) 25%, var(--p-grey-28) 50%, var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-designs .load-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-designs .load-end-msg { color:var(--muted); }
.thl-p-designs .login-nudge { background: var(--white); border-color: var(--border); box-shadow: 0 8px 30px rgba(var(--p-black-1-rgb), 0.12); color:var(--sub); }
.thl-p-designs .login-nudge a { color:var(--g); }
.thl-p-designs .login-nudge-close { color:var(--muted); }

/* ── essential_pages/basic.php ─────────────────────────────────────────── */
.thl-p-essential-pages-basic .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-essential-pages-basic .wiz-prog-wrap { background: var(--border); }
.thl-p-essential-pages-basic .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-essential-pages-basic .wiz-brand { color:var(--g); }
.thl-p-essential-pages-basic .ws { color:var(--muted); }
.thl-p-essential-pages-basic .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-essential-pages-basic .ws.done { color:var(--g); }
.thl-p-essential-pages-basic .ws-num { border-color: currentColor; }
.thl-p-essential-pages-basic .ws.active .ws-num, .thl-p-essential-pages-basic .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-essential-pages-basic .ws-sep { color:var(--border); }
.thl-p-essential-pages-basic .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-essential-pages-basic .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-essential-pages-basic .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-essential-pages-basic .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 60%, rgba(var(--g-rgb), 0.05)); }
.thl-p-essential-pages-basic .step-tab.st-done { color:var(--g-dk); }
.thl-p-essential-pages-basic .step-tab-num { border-color: currentColor; }
.thl-p-essential-pages-basic .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-essential-pages-basic .step-tab.st-done   .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-essential-pages-basic .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-essential-pages-basic .card-head { border-bottom-color: var(--border); background: var(--white); }
.thl-p-essential-pages-basic .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-essential-pages-basic .card-title { color:var(--ink); }
.thl-p-essential-pages-basic .card-sub { color:var(--sub); }
.thl-p-essential-pages-basic .sec-label { color:var(--muted); }
.thl-p-essential-pages-basic .sec-label::after { background: var(--border); }
.thl-p-essential-pages-basic .opt-card { border-color: var(--border); background: var(--white); }
.thl-p-essential-pages-basic .opt-card:hover { border-color: var(--g); background: var(--g-lt); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.1); }
.thl-p-essential-pages-basic .opt-card.sel { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-essential-pages-basic .opt-card.sel::after { color:var(--g); }
.thl-p-essential-pages-basic .opt-ico { background: var(--surface); color:var(--muted); }
.thl-p-essential-pages-basic .opt-card:hover .opt-ico, .thl-p-essential-pages-basic .opt-card.sel .opt-ico { background: var(--g); color:var(--white); }
.thl-p-essential-pages-basic .opt-lbl { color:var(--ink); }
.thl-p-essential-pages-basic .opt-hint { color:var(--sub); }
.thl-p-essential-pages-basic .cat-card { border-color: var(--border); background: var(--white); }
.thl-p-essential-pages-basic .cat-card:hover { border-color: var(--g); background: var(--g-lt); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.1); }
.thl-p-essential-pages-basic .cat-card.sel { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-essential-pages-basic .cat-card.sel::after { color:var(--g); }
.thl-p-essential-pages-basic .cat-ico { background: var(--surface); color:var(--muted); }
.thl-p-essential-pages-basic .cat-card:hover .cat-ico, .thl-p-essential-pages-basic .cat-card.sel .cat-ico { background: var(--g); color:var(--white); }
.thl-p-essential-pages-basic .cat-lbl { color:var(--ink); }
.thl-p-essential-pages-basic .cat-hint { color:var(--sub); }
.thl-p-essential-pages-basic .grp-label { color:var(--muted); border-bottom-color: var(--border); }
.thl-p-essential-pages-basic .fl-label { color:var(--ink); }
.thl-p-essential-pages-basic .fl-req { color:var(--red); }
.thl-p-essential-pages-basic .fl-hint { color:var(--sub); }
.thl-p-essential-pages-basic .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-essential-pages-basic .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-essential-pages-basic .char-count { color:var(--muted); }
.thl-p-essential-pages-basic .char-count.over { color:var(--red); }
.thl-p-essential-pages-basic .fl-opt label { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-essential-pages-basic .fl-opt label:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-essential-pages-basic .fl-opt label:has(input[type="radio"]:checked) { border-color: var(--g); background: var(--g); color:var(--white); }
.thl-p-essential-pages-basic .map-box { border-color: var(--border); }
.thl-p-essential-pages-basic .map-search-inp { color:var(--ink); background: var(--white); }
.thl-p-essential-pages-basic .map-tile-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-essential-pages-basic .map-tile-btn:hover { background: var(--white); box-shadow: 0 3px 10px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-essential-pages-basic .map-tile-btn.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-essential-pages-basic .map-myloc-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-essential-pages-basic .map-myloc-btn:hover { background: var(--white); box-shadow: 0 3px 10px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-essential-pages-basic .map-myloc-btn i { color:var(--g); }
.thl-p-essential-pages-basic .map-suggestions { background: var(--white); box-shadow: 0 6px 20px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-essential-pages-basic .map-sug-item { color:var(--ink); border-bottom-color: var(--surface2); }
.thl-p-essential-pages-basic .map-sug-item:hover { background: var(--g-lt); }
.thl-p-essential-pages-basic .map-sug-item i { color:var(--g); }
.thl-p-essential-pages-basic .map-sug-sub { color:var(--muted); }
.thl-p-essential-pages-basic .map-hint-overlay { background: rgba(var(--p-black-1-rgb), 0.68); color:var(--white); }
.thl-p-essential-pages-basic .map-info { background: var(--surface); border-color: var(--border); color:var(--sub); }
.thl-p-essential-pages-basic .map-info i { color:var(--g); }
.thl-p-essential-pages-basic .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-essential-pages-basic .r-tag { background: var(--g-lt); color:var(--g-dk); }
.thl-p-essential-pages-basic .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-essential-pages-basic .review-row { border-bottom-color: var(--border); }
.thl-p-essential-pages-basic .review-key { color:var(--sub); }
.thl-p-essential-pages-basic .review-val { color:var(--ink); }
.thl-p-essential-pages-basic .lock-notice { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }

/* ── essential_pages/photos.php ─────────────────────────────────────────── */
/* NOTE: body background-color is NOT redefined here.

   It is inherited from /css/universal_font&bg_clr.css via header. */
.thl-p-essential-pages-photos .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-essential-pages-photos .wiz-prog-wrap { background: var(--border); }
.thl-p-essential-pages-photos .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-essential-pages-photos .wiz-brand { color:var(--g); }
.thl-p-essential-pages-photos .ws { color:var(--muted); }
.thl-p-essential-pages-photos .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-essential-pages-photos .ws.done { color:var(--g); }
.thl-p-essential-pages-photos .ws-num { border-color: currentColor; }
.thl-p-essential-pages-photos .ws.active .ws-num, .thl-p-essential-pages-photos .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-essential-pages-photos .ws-sep { color:var(--border); }
.thl-p-essential-pages-photos .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-essential-pages-photos .card-head { border-bottom-color: var(--border); }
.thl-p-essential-pages-photos .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-essential-pages-photos .card-title { color:var(--ink); }
.thl-p-essential-pages-photos .card-sub { color:var(--sub); }
.thl-p-essential-pages-photos .prop-banner { background: var(--white); border-color: var(--border); }
.thl-p-essential-pages-photos .prop-ico { background: var(--g-lt); color:var(--g); }
.thl-p-essential-pages-photos .prop-name { color:var(--ink); }
.thl-p-essential-pages-photos .prop-meta { color:var(--sub); }
.thl-p-essential-pages-photos .drop-zone { border-color: var(--border); background: var(--surface); }
.thl-p-essential-pages-photos .drop-zone:hover, .thl-p-essential-pages-photos .drop-zone.dragover { border-color: var(--g); background: var(--g-lt); }
.thl-p-essential-pages-photos .drop-icon { color:var(--muted); }
.thl-p-essential-pages-photos .drop-zone:hover .drop-icon, .thl-p-essential-pages-photos .drop-zone.dragover .drop-icon { color:var(--g); }
.thl-p-essential-pages-photos .drop-title { color:var(--ink); }
.thl-p-essential-pages-photos .drop-sub { color:var(--sub); }
.thl-p-essential-pages-photos .drop-limit { color:var(--muted); }
.thl-p-essential-pages-photos .pending-label { color:var(--sub); }
.thl-p-essential-pages-photos .add-more-btn { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-essential-pages-photos .add-more-btn:hover { background: var(--g); color:var(--white); }
.thl-p-essential-pages-photos .photo-item { border-color: var(--border); background: var(--surface); }
.thl-p-essential-pages-photos .photo-item.banner { border-color: var(--g); box-shadow: 0 0 0 2px rgba(var(--g-rgb), 0.2); }
.thl-p-essential-pages-photos .photo-item.drag-over { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.25); }
/* Pending preview items (not yet uploaded) */
.thl-p-essential-pages-photos .pending-item { border-color: var(--g); background: var(--surface); }
.thl-p-essential-pages-photos .pending-remove-btn { background: rgba(var(--p-red-15-rgb), 0.9); color:var(--white); }
.thl-p-essential-pages-photos .pending-remove-btn:hover { background: var(--error); }
.thl-p-essential-pages-photos .photo-overlay { background: linear-gradient(to top, rgba(var(--p-black-1-rgb), 0.55) 0%, transparent 50%); }
.thl-p-essential-pages-photos .photo-num { background: rgba(var(--p-black-1-rgb), 0.5); color:var(--white); }
.thl-p-essential-pages-photos .photo-btn-del { background: rgba(var(--p-red-15-rgb), 0.9); color:var(--white); }
.thl-p-essential-pages-photos .photo-btn-del:hover { background: var(--error); }
.thl-p-essential-pages-photos .drag-hint { color:var(--muted); }
.thl-p-essential-pages-photos .count-bar { background: var(--surface); border-color: var(--border); }
.thl-p-essential-pages-photos .count-bar strong { color:var(--ink); }
.thl-p-essential-pages-photos .seg { background: var(--border); }
.thl-p-essential-pages-photos .seg.filled { background: var(--g); }
.thl-p-essential-pages-photos .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-essential-pages-photos .review-row { border-bottom-color: var(--border); }
.thl-p-essential-pages-photos .review-key { color:var(--sub); }
.thl-p-essential-pages-photos .review-val { color:var(--ink); }
.thl-p-essential-pages-photos .review-thumb { border-color: var(--border); }
.thl-p-essential-pages-photos .review-thumb.banner { border-color: var(--g); }
.thl-p-essential-pages-photos .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-essential-pages-photos .btn-red:hover { box-shadow: 0 4px 14px rgba(var(--p-red-15-rgb), 0.35); }
/* ── Upload / bulk-delete progress overlay ── */
.thl-p-essential-pages-photos #upload-overlay, .thl-p-essential-pages-photos #bulk-del-overlay { background: rgba(var(--p-white-28-rgb), 0.82); }
.thl-p-essential-pages-photos .upl-card { background: var(--white); border-color: var(--border); box-shadow: 0 8px 40px rgba(var(--p-black-1-rgb), 0.13); }
.thl-p-essential-pages-photos .upl-icon-wrap { background: var(--g-lt); }
.thl-p-essential-pages-photos .upl-icon-wrap i { color:var(--g); }
.thl-p-essential-pages-photos .upl-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-essential-pages-photos .upl-title { color:var(--ink); }
.thl-p-essential-pages-photos .upl-sub { color:var(--sub); }
.thl-p-essential-pages-photos .upl-bar-wrap { background: var(--border); }
.thl-p-essential-pages-photos .upl-bar-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-essential-pages-photos .upl-pct { color:var(--g); }
.thl-p-essential-pages-photos .upl-detail { color:var(--muted); }
.thl-p-essential-pages-photos .confirm-backdrop { background: rgba(var(--p-grey-4-rgb), 0.45); }
.thl-p-essential-pages-photos .confirm-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-essential-pages-photos .confirm-icon-wrap { background: var(--red-lt); }
.thl-p-essential-pages-photos .confirm-icon-wrap i { color:var(--red); }
.thl-p-essential-pages-photos .confirm-title { color:var(--ink); }
.thl-p-essential-pages-photos .confirm-msg { color:var(--sub); }
.thl-p-essential-pages-photos .confirm-thumb-wrap { border-color: var(--border); }
.thl-p-essential-pages-photos .photo-grid.select-mode .photo-item:hover { border-color: var(--g); box-shadow: 0 0 0 2px rgba(var(--g-rgb), 0.2); }
.thl-p-essential-pages-photos .photo-item .select-check { border-color: rgba(var(--p-white-28-rgb), 0.6); background: transparent; }
.thl-p-essential-pages-photos .photo-item.selected .select-check { background: rgba(var(--g-rgb), 0.85); border-color: var(--g); }
.thl-p-essential-pages-photos .photo-item.selected .select-check i { color:var(--white); }
.thl-p-essential-pages-photos .photo-item.selected { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.3); }
.thl-p-essential-pages-photos .select-toggle-btn { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-essential-pages-photos .select-toggle-btn:hover { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-essential-pages-photos .select-toggle-btn.active { border-color: var(--red); color:var(--red); background: var(--red-lt); }
/* ── Sticky bulk-delete bar ── */
.thl-p-essential-pages-photos #bulk-bar { background: var(--white); border-top-color: var(--border); box-shadow: 0 -4px 20px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-essential-pages-photos .bulk-sel-thumb { border-color: var(--white); box-shadow: 0 1px 4px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-essential-pages-photos .bulk-sel-count { color:var(--ink); }
.thl-p-essential-pages-photos .bulk-sel-count span { color:var(--sub); }
.thl-p-essential-pages-photos .bulk-thumb-strip img { border-color: var(--border); }
/* ── Page-load image rendering overlay ── */
.thl-p-essential-pages-photos #pageload-overlay { background: rgba(var(--p-white-28-rgb), 0.88); }
html.page-entering::before { background: rgba(var(--p-white-28-rgb), 0.88); }

/* ── essential_pages/pricing.php ─────────────────────────────────────────── */
.thl-p-essential-pages-pricing .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-essential-pages-pricing .wiz-prog-wrap { background: var(--border); }
.thl-p-essential-pages-pricing .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-essential-pages-pricing .wiz-brand { color:var(--g); }
.thl-p-essential-pages-pricing .ws { color:var(--muted); }
.thl-p-essential-pages-pricing .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-essential-pages-pricing .ws.done { color:var(--g); }
.thl-p-essential-pages-pricing .ws-num { border-color: currentColor; }
.thl-p-essential-pages-pricing .ws.active .ws-num, .thl-p-essential-pages-pricing .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-essential-pages-pricing .ws-sep { color:var(--border); }
.thl-p-essential-pages-pricing .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-essential-pages-pricing .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-essential-pages-pricing .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-essential-pages-pricing .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-essential-pages-pricing .step-tab.st-done { color:var(--g-dk); }
.thl-p-essential-pages-pricing .step-tab-num { border-color: currentColor; }
.thl-p-essential-pages-pricing .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-essential-pages-pricing .step-tab.st-done   .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-essential-pages-pricing .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-essential-pages-pricing .card-head { border-bottom-color: var(--border); }
.thl-p-essential-pages-pricing .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-essential-pages-pricing .card-title { color:var(--ink); }
.thl-p-essential-pages-pricing .card-sub { color:var(--sub); }
.thl-p-essential-pages-pricing .prop-banner { background: var(--white); border-color: var(--border); }
.thl-p-essential-pages-pricing .prop-ico { background: var(--g-lt); color:var(--g); }
.thl-p-essential-pages-pricing .prop-name { color:var(--ink); }
.thl-p-essential-pages-pricing .prop-meta { color:var(--sub); }
.thl-p-essential-pages-pricing .fl-label { color:var(--ink); }
.thl-p-essential-pages-pricing .fl-req { color:var(--red); }
.thl-p-essential-pages-pricing .fl-hint { color:var(--sub); }
.thl-p-essential-pages-pricing .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-essential-pages-pricing .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-essential-pages-pricing .price-display { background: var(--g-lt); border-color: var(--g); }
.thl-p-essential-pages-pricing .price-display-main { color:var(--g-dk); }
.thl-p-essential-pages-pricing .price-display-disc { color:var(--sub); }
.thl-p-essential-pages-pricing .price-display-disc s { color:var(--muted); }
.thl-p-essential-pages-pricing .price-display-save { background: var(--g); color:var(--white); }
.thl-p-essential-pages-pricing .link-preview { border-color: var(--border); }
.thl-p-essential-pages-pricing .lp-platform-badge { background: var(--surface); border-bottom-color: var(--border); }
.thl-p-essential-pages-pricing .lp-landscape { background: var(--p-black-1); }
.thl-p-essential-pages-pricing .lp-portrait-wrap { background: var(--ink-3); }
.thl-p-essential-pages-pricing .lp-portrait-box { background: var(--p-black-1); }
.thl-p-essential-pages-pricing .lp-load-overlay { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); }
.thl-p-essential-pages-pricing .lp-fallback { color:var(--muted); background: var(--surface); }
.thl-p-essential-pages-pricing .lp-link-only { background: var(--surface); }
.thl-p-essential-pages-pricing .lp-link-only-icon.fb { background: var(--p-blue-56); color:var(--facebook); }
.thl-p-essential-pages-pricing .lp-link-only-icon.ig { background: var(--p-pink-6); color:var(--p-pink-4); }
.thl-p-essential-pages-pricing .lp-link-only-title { color:var(--ink); }
.thl-p-essential-pages-pricing .lp-link-only-note { color:var(--muted); }
.thl-p-essential-pages-pricing .lp-link-only-btn.fb { background: var(--facebook); color:var(--white); }
.thl-p-essential-pages-pricing .lp-link-only-btn.ig { background: linear-gradient(135deg,var(--p-orange-17),var(--p-orange-13),var(--p-red-11),var(--p-pink-2),var(--p-pink-1)); color:var(--white); }
.thl-p-essential-pages-pricing .link-preview-loading { color:var(--muted); background: var(--surface); }
.thl-p-essential-pages-pricing .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-essential-pages-pricing .review-row { border-bottom-color: var(--border); }
.thl-p-essential-pages-pricing .review-key { color:var(--sub); }
.thl-p-essential-pages-pricing .review-val { color:var(--ink); }
.thl-p-essential-pages-pricing .check-item { background: var(--white); border-color: var(--border); }
.thl-p-essential-pages-pricing .check-item.ok   i { color:var(--g); }
.thl-p-essential-pages-pricing .check-item.fail i { color:var(--red); }
.thl-p-essential-pages-pricing .check-item.ok { border-color: var(--g); }
.thl-p-essential-pages-pricing .check-item.fail { border-color: var(--red); background: var(--red-lt); color:var(--red); }
.thl-p-essential-pages-pricing .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }

/* ── essential_pages/setup.php ─────────────────────────────────────────── */
.thl-p-essential-pages-setup .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-essential-pages-setup .wiz-brand { color:var(--g); }
.thl-p-essential-pages-setup .ws { color:var(--muted); }
.thl-p-essential-pages-setup .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-essential-pages-setup .ws.done { color:var(--g); }
.thl-p-essential-pages-setup .ws-num { border-color: currentColor; }
.thl-p-essential-pages-setup .ws.active .ws-num, .thl-p-essential-pages-setup .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-essential-pages-setup .ws-sep { color:var(--border); }
.thl-p-essential-pages-setup .wiz-prog-wrap { background: var(--border); }
.thl-p-essential-pages-setup .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-essential-pages-setup .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-essential-pages-setup .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-essential-pages-setup .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-essential-pages-setup .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-essential-pages-setup .step-tab.st-done { color:var(--g-dk); }
.thl-p-essential-pages-setup .step-tab-num { border-color: currentColor; }
.thl-p-essential-pages-setup .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-essential-pages-setup .step-tab.st-done   .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-essential-pages-setup .prop-header { background: var(--white); border-color: var(--border); }
.thl-p-essential-pages-setup .prop-icon { background: var(--g-lt); color:var(--g); }
.thl-p-essential-pages-setup .prop-title { color:var(--ink); }
.thl-p-essential-pages-setup .prop-meta { color:var(--sub); }
.thl-p-essential-pages-setup .lock-tag { background: var(--p-amber-7); color:var(--p-orange-5); border-color: var(--warn); }
.thl-p-essential-pages-setup .card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-essential-pages-setup .card-head { border-bottom-color: var(--border); }
.thl-p-essential-pages-setup .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-essential-pages-setup .card-head-title { color:var(--ink); }
.thl-p-essential-pages-setup .card-head-sub { color:var(--sub); }
.thl-p-essential-pages-setup .sec-label { color:var(--muted); }
.thl-p-essential-pages-setup .sec-label::after { background: var(--border); }
.thl-p-essential-pages-setup .fl-label { color:var(--ink); }
.thl-p-essential-pages-setup .fl-hint { color:var(--sub); }
.thl-p-essential-pages-setup .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-essential-pages-setup .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-essential-pages-setup .fl-opt label { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-essential-pages-setup .fl-opt label:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-essential-pages-setup .fl-opt label:has(input[type="radio"]:checked), .thl-p-essential-pages-setup .fl-opt label:has(input[type="checkbox"]:checked) { border-color: var(--g); background: var(--g); color:var(--white); }
.thl-p-essential-pages-setup .dim-sep { color:var(--muted); }
.thl-p-essential-pages-setup .am-item { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-essential-pages-setup .am-item:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-essential-pages-setup .am-item.checked { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-essential-pages-setup .am-item.checked::before { color:var(--g); }
.thl-p-essential-pages-setup .am-item:not(.checked)::before { color:var(--border); }
.thl-p-essential-pages-setup .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-essential-pages-setup .char-count { color:var(--muted); }
.thl-p-essential-pages-setup .char-count.over { color:var(--red); }

/* ── essential_pages/view_essential.php ─────────────────────────────────────────── */
body.thl-p-essential-pages-view-essential { color:var(--ink); }/* ── BREADCRUMB ── */
.thl-p-essential-pages-view-essential .vp-bc { background: var(--white); border-bottom-color: var(--border); }
.thl-p-essential-pages-view-essential .vp-bc-inner { color:var(--muted); }
.thl-p-essential-pages-view-essential .vp-bc-inner a { color:var(--sub); }
.thl-p-essential-pages-view-essential .vp-bc-inner a:hover { color:var(--g); }
.thl-p-essential-pages-view-essential .vp-bc-sep { color:var(--border); }
.thl-p-essential-pages-view-essential .vp-bc-cur { color:var(--ink); }
.thl-p-essential-pages-view-essential .vp-bc-back { background: var(--g-lt); color:var(--g-dk); }
.thl-p-essential-pages-view-essential .vp-bc-back:hover { background: var(--p-green-40); }
/* ── STICKY NAV ── */
.thl-p-essential-pages-view-essential .vp-snav { background: rgba(var(--p-white-28-rgb), 0.96); border-bottom-color: var(--border); box-shadow: 0 2px 12px rgba(var(--p-black-1-rgb), .06); }
.thl-p-essential-pages-view-essential .vp-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-essential-pages-view-essential .vp-tab:hover { color:var(--ink); }
.thl-p-essential-pages-view-essential .vp-tab.active { color:var(--g); border-bottom-color: var(--g); }
.thl-p-essential-pages-view-essential .vp-nav-ic { border-color: var(--border); background: var(--surf); color:var(--sub); }
.thl-p-essential-pages-view-essential .vp-nav-ic:hover { border-color: var(--g); color:var(--g); }
.thl-p-essential-pages-view-essential .vp-nav-ic.favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-essential-pages-view-essential .vp-nav-ic.saved { border-color: var(--warn); color:var(--gold); background: var(--amber-lt); }
.thl-p-essential-pages-view-essential .vp-nav-ic.report:hover { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-essential-pages-view-essential .vp-gallery { background: var(--ink); }
.thl-p-essential-pages-view-essential .vp-gc-ovr { background: rgba(var(--p-black-1-rgb), .22); }
.thl-p-essential-pages-view-essential .vp-gc-ovr i { color:rgba(var(--p-white-28-rgb), .9); }
.thl-p-essential-pages-view-essential .pill-sale { background: rgba(var(--p-violet-2-rgb), .82); color:var(--violet-bglt); }
.thl-p-essential-pages-view-essential .pill-rent { background: rgba(var(--p-blue-23-rgb), .82); color:var(--p-blue-53); }
.thl-p-essential-pages-view-essential .pill-lease { background: rgba(var(--p-orange-2-rgb), .82); color:var(--amber-bglt); }
.thl-p-essential-pages-view-essential .pill-type { background: rgba(var(--p-black-1-rgb), .55); color:rgba(var(--p-white-28-rgb), .9); }
.thl-p-essential-pages-view-essential .vp-photo-count { background: rgba(var(--p-black-1-rgb), .65); color:var(--white); border-color: rgba(var(--p-white-28-rgb), .15); }
.thl-p-essential-pages-view-essential .vp-photo-count:hover { background: rgba(var(--p-black-1-rgb), .85); }
/* ── CARDS ── */
.thl-p-essential-pages-view-essential .card { background: var(--card); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-essential-pages-view-essential .card-hr { border-top-color: var(--border); }
.thl-p-essential-pages-view-essential .sec-label { color:var(--muted); }
.thl-p-essential-pages-view-essential .sec-label::after { background: var(--border); }
.thl-p-essential-pages-view-essential .tag-sale { background: var(--violet-bglt); color:var(--p-violet-2); }
.thl-p-essential-pages-view-essential .tag-rent { background: var(--blue-bglt); color:var(--blue-ink-2); }
.thl-p-essential-pages-view-essential .tag-lease { background: var(--amber-bglt); color:var(--amber-ink); }
.thl-p-essential-pages-view-essential .vp-title { color:var(--ink); }
.thl-p-essential-pages-view-essential .vp-loc-line { color:var(--sub); }
.thl-p-essential-pages-view-essential .vp-loc-line i { color:var(--g); }
.thl-p-essential-pages-view-essential .vp-price-banner { background: linear-gradient(120deg, var(--g-lt) 0%, var(--p-grey-82) 60%, var(--g-lt) 100%); border-color: var(--g); }
.thl-p-essential-pages-view-essential .vp-price-banner::before { background: linear-gradient(90deg, var(--g), var(--g-dk), var(--g)); }
.thl-p-essential-pages-view-essential .vp-price-main { color:var(--g-dk); }
.thl-p-essential-pages-view-essential .vp-price-suf { color:var(--g-mid); }
.thl-p-essential-pages-view-essential .vp-price-orig { color:var(--muted); }
.thl-p-essential-pages-view-essential .vp-discount-badge { background: var(--red); color:var(--white); }
.thl-p-essential-pages-view-essential .vp-price-sub { color:var(--sub); }
.thl-p-essential-pages-view-essential .vp-price-sub i { color:var(--g); }
.thl-p-essential-pages-view-essential .vp-stat-box { background: var(--surf); border-color: var(--border); }
.thl-p-essential-pages-view-essential .vp-stat-box:hover { border-color: var(--g); box-shadow: 0 3px 12px rgba(var(--p-green-23-rgb), .1); }
.thl-p-essential-pages-view-essential .vp-stat-n { color:var(--ink); }
.thl-p-essential-pages-view-essential .vp-stat-l { color:var(--muted); }
.thl-p-essential-pages-view-essential .cond-new { background: var(--g-lt); color:var(--g-inklt); border-color: var(--g); }
.thl-p-essential-pages-view-essential .cond-used { background: var(--p-amber-7); color:var(--p-orange-5); border-color: var(--warn); }
.thl-p-essential-pages-view-essential .cond-refurbished { background: var(--blue-lt); color:var(--blue-ink); border-color: var(--info); }
.thl-p-essential-pages-view-essential .vp-meta-pill { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-essential-pages-view-essential .vp-meta-pill i { color:var(--g); }
.thl-p-essential-pages-view-essential .vp-spec { background: var(--surf); border-color: var(--border); }
.thl-p-essential-pages-view-essential .vp-spec:hover { border-color: var(--g); box-shadow: 0 6px 18px rgba(var(--p-green-23-rgb), .1); }
.thl-p-essential-pages-view-essential .vp-spec-ico { color:var(--g); }
.thl-p-essential-pages-view-essential .vp-spec-val { color:var(--ink); }
.thl-p-essential-pages-view-essential .vp-spec-key { color:var(--muted); }
/* ── DESCRIPTION ── */
.thl-p-essential-pages-view-essential .vp-desc-text { color:var(--sub); }
.thl-p-essential-pages-view-essential .vp-desc-collapsed::after { background: linear-gradient(transparent, white); }
.thl-p-essential-pages-view-essential .vp-desc-toggle { color:var(--g); }
.thl-p-essential-pages-view-essential .vp-desc-toggle:hover { color:var(--g-dk); }
/* ── EXTRA NOTES ── */
.thl-p-essential-pages-view-essential .vp-extra-notes { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-essential-pages-view-essential .amen-chip { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-essential-pages-view-essential .amen-chip:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-essential-pages-view-essential .amen-chip i { color:var(--g); }
.thl-p-essential-pages-view-essential .svc-chip { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-essential-pages-view-essential .svc-chip:hover { background: var(--blue-bglt); border-color: var(--info); }
.thl-p-essential-pages-view-essential .svc-chip i { color:var(--blue); }
/* ── MAP ── */
.thl-p-essential-pages-view-essential .vp-map-full { border-color: var(--border); }
.thl-p-essential-pages-view-essential .vp-no-map { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-essential-pages-view-essential .vp-tile-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-essential-pages-view-essential .vp-tile-btn:hover { background: var(--white); box-shadow: 0 3px 10px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-essential-pages-view-essential .vp-tile-btn.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-essential-pages-view-essential .map-pin-body { border-color: rgba(var(--p-white-28-rgb), .75); }
.thl-p-essential-pages-view-essential .map-pin-body--green { background: var(--g); }
.thl-p-essential-pages-view-essential .map-bubble-body { background: var(--info); color:var(--white); }
.thl-p-essential-pages-view-essential .map-bubble-wrap:hover .map-bubble-body, .thl-p-essential-pages-view-essential .map-bubble-wrap.active .map-bubble-body { background: var(--blue-ink-2); }
.thl-p-essential-pages-view-essential .map-bubble-body::after { border-left-color: transparent; border-right-color: transparent; border-top-color: var(--info); }
.thl-p-essential-pages-view-essential .map-bubble-wrap:hover .map-bubble-body::after, .thl-p-essential-pages-view-essential .map-bubble-wrap.active .map-bubble-body::after { border-top-color: var(--blue-ink-2); }
.thl-p-essential-pages-view-essential .leaflet-popup-content-wrapper { box-shadow: var(--sh3) !important; border-color: var(--border); }
.thl-p-essential-pages-view-essential .mp-popup-img-placeholder { background: var(--surf); color:var(--muted); }
.thl-p-essential-pages-view-essential .mp-popup-price { color:var(--g-dk); }
.thl-p-essential-pages-view-essential .mp-popup-title { color:var(--ink); }
.thl-p-essential-pages-view-essential .mp-popup-meta { color:var(--muted); }
.thl-p-essential-pages-view-essential .mp-popup-meta .dist-chip { background: var(--g-lt); color:var(--g-dk); }
.thl-p-essential-pages-view-essential .mp-popup-btn { background: var(--g); color:var(--white); }
.thl-p-essential-pages-view-essential .mp-popup-btn:hover { background: var(--g-dk); color:var(--white); }
.thl-p-essential-pages-view-essential .map-legend { background: rgba(var(--p-white-28-rgb), .95); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-essential-pages-view-essential .ml-row { color:var(--sub); }
.thl-p-essential-pages-view-essential .ml-dot-green { background: var(--g); }
.thl-p-essential-pages-view-essential .ml-dot-dark { background: var(--info); }
.thl-p-essential-pages-view-essential .map-cluster-body { background: var(--blue-ink); color:var(--white); border-color: rgba(var(--p-white-28-rgb), .35); }
.thl-p-essential-pages-view-essential .map-cluster-wrap:hover .map-cluster-body { background: var(--blue-ink-2); }
.thl-p-essential-pages-view-essential .map-cluster-body::after { border-left-color: transparent; border-right-color: transparent; border-top-color: var(--blue-ink); }
.thl-p-essential-pages-view-essential .map-cluster-wrap:hover .map-cluster-body::after { border-top-color: var(--blue-ink-2); }
.thl-p-essential-pages-view-essential .marker-cluster { background: transparent !important; }
.thl-p-essential-pages-view-essential .marker-cluster div { background: transparent !important; }
/* ── VIDEO ── */
.thl-p-essential-pages-view-essential .vp-video-card-inner { border-color: var(--border); }
.thl-p-essential-pages-view-essential .lp-platform-badge { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-essential-pages-view-essential .lp-landscape { background: var(--p-black-1); }
.thl-p-essential-pages-view-essential .lp-portrait-wrap { background: var(--ink-3); }
.thl-p-essential-pages-view-essential .lp-portrait-box { background: var(--p-black-1); }
.thl-p-essential-pages-view-essential .lp-load-overlay { background: rgba(var(--p-black-1-rgb), .55); color:var(--white); }
.thl-p-essential-pages-view-essential .lp-fallback { color:var(--muted); background: var(--surf); }
.thl-p-essential-pages-view-essential .lp-link-only { background: var(--surf); }
.thl-p-essential-pages-view-essential .lp-link-only-icon.fb { background: var(--p-blue-56); color:var(--facebook); }
.thl-p-essential-pages-view-essential .lp-link-only-icon.ig { background: var(--p-pink-6); color:var(--p-pink-4); }
.thl-p-essential-pages-view-essential .lp-link-only-title { color:var(--ink); }
.thl-p-essential-pages-view-essential .lp-link-only-note { color:var(--muted); }
.thl-p-essential-pages-view-essential .lp-link-only-btn.fb { background: var(--facebook); color:var(--white); }
.thl-p-essential-pages-view-essential .lp-link-only-btn.ig { background: linear-gradient(135deg,var(--p-orange-17),var(--p-orange-13),var(--p-red-11),var(--p-pink-2),var(--p-pink-1)); color:var(--white); }
/* ── PROP CARDS (nearby / similar) ── */
.thl-p-essential-pages-view-essential .prop-card { background: var(--card); border-color: var(--border); }
.thl-p-essential-pages-view-essential .prop-card:hover { box-shadow: var(--sh2); border-color: var(--g); }
.thl-p-essential-pages-view-essential .badge-sale { background: rgba(var(--p-violet-2-rgb), .85); color:var(--violet-bglt); }
.thl-p-essential-pages-view-essential .badge-rent { background: rgba(var(--p-blue-23-rgb), .85); color:var(--p-blue-53); }
.thl-p-essential-pages-view-essential .badge-lease { background: rgba(var(--p-orange-2-rgb), .85); color:var(--amber-bglt); }
.thl-p-essential-pages-view-essential .pc-loves { background: rgba(var(--p-white-28-rgb), .92); color:var(--red); }
.thl-p-essential-pages-view-essential .pc-dist { color:var(--g); background: var(--g-lt); }
.thl-p-essential-pages-view-essential .pc-price { color:var(--g-dk); }
.thl-p-essential-pages-view-essential .pc-suf { color:var(--g-mid); }
.thl-p-essential-pages-view-essential .pc-title { color:var(--ink); }
.thl-p-essential-pages-view-essential .pc-loc { color:var(--muted); }
.thl-p-essential-pages-view-essential .pc-loc i { color:var(--g); }
.thl-p-essential-pages-view-essential .pc-type { color:var(--muted); background: var(--surf); border-color: var(--border); }
.thl-p-essential-pages-view-essential .pc-scroll::-webkit-scrollbar-track { background: transparent; }
.thl-p-essential-pages-view-essential .pc-scroll::-webkit-scrollbar-thumb { background: var(--g-br); }
.thl-p-essential-pages-view-essential .vp-eng-btn { border-color: var(--border); background: var(--card); color:var(--sub); }
.thl-p-essential-pages-view-essential .vp-eng-btn:hover { border-color: var(--g); color:var(--g); background: var(--g-lt); }
.thl-p-essential-pages-view-essential .vp-eng-btn.favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-essential-pages-view-essential .vp-eng-btn.saved { border-color: var(--warn); color:var(--gold); background: var(--amber-lt); }
/* ── SELLER CARD ── */
.thl-p-essential-pages-view-essential .vp-seller-hd { border-bottom-color: var(--border); }
.thl-p-essential-pages-view-essential .vp-seller-av { border-color: var(--g); }
.thl-p-essential-pages-view-essential .vp-verified-dot { background: var(--g); border-color: var(--white); }
.thl-p-essential-pages-view-essential .vp-verified-dot i { color:var(--white); }
.thl-p-essential-pages-view-essential .vp-seller-name { color:var(--ink); }
.thl-p-essential-pages-view-essential .vp-seller-role { color:var(--muted); }
.thl-p-essential-pages-view-essential .vp-seller-role .v { color:var(--g); }
.thl-p-essential-pages-view-essential .cta-green { background: var(--g); color:var(--white); }
.thl-p-essential-pages-view-essential .cta-green:hover { background: var(--g-dk); color:var(--white); box-shadow: 0 6px 20px rgba(var(--p-green-14-rgb), .3); }
.thl-p-essential-pages-view-essential .vp-reveal-btn { background: transparent; border-color: var(--whatsapp-color); color:var(--p-green-25); }
.thl-p-essential-pages-view-essential .vp-reveal-btn:hover { background: rgba(var(--p-green-28-rgb), 0.07); }
.thl-p-essential-pages-view-essential .vp-revealed-num { border-color: var(--whatsapp-color); background: rgba(var(--p-green-28-rgb), 0.06); color:var(--ink); }
.thl-p-essential-pages-view-essential .cta-ghost { background: transparent; color:var(--sub); border-color: var(--border); }
.thl-p-essential-pages-view-essential .cta-ghost:hover { border-color: var(--g); color:var(--g); background: var(--g-lt); }
.thl-p-essential-pages-view-essential .qm-label { color:var(--muted); }
.thl-p-essential-pages-view-essential .qm-btn { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-essential-pages-view-essential .qm-btn i { color:var(--g); }
.thl-p-essential-pages-view-essential .qm-btn:hover { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-essential-pages-view-essential .msg-ta { border-color: var(--border); color:var(--ink); background: var(--card); }
.thl-p-essential-pages-view-essential .msg-ta:focus { border-color: var(--g); }
/* ── MINI MAP ── */
.thl-p-essential-pages-view-essential .vp-mini-map { border-color: var(--border); }
/* ── NOT LOGGED ── */
.thl-p-essential-pages-view-essential .not-logged { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-essential-pages-view-essential .not-logged a { color:var(--g); }
/* ── SAFETY CARD ── */
.thl-p-essential-pages-view-essential .safety-card { background: var(--amber-lt); border-color: var(--warn); }
.thl-p-essential-pages-view-essential .safety-title { color:var(--amber-ink); }
.thl-p-essential-pages-view-essential .safety-title i { color:var(--gold); }
.thl-p-essential-pages-view-essential .safety-list li { color:var(--amber-ink); }
.thl-p-essential-pages-view-essential .safety-list li::before { color:var(--gold); }
.thl-p-essential-pages-view-essential .section-hd h2 { color:var(--ink); }
.thl-p-essential-pages-view-essential .section-hd span { color:var(--muted); }
/* ── LIGHTBOX ── */
.thl-p-essential-pages-view-essential .lb { background: rgba(var(--p-black-3-rgb), .96); }
.thl-p-essential-pages-view-essential .lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), .07); }
.thl-p-essential-pages-view-essential .lb-title { color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-essential-pages-view-essential .lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-essential-pages-view-essential .lb-x { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-essential-pages-view-essential .lb-x:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-essential-pages-view-essential .lb-arrow { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .8); }
.thl-p-essential-pages-view-essential .lb-arrow:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-essential-pages-view-essential .lb-th { border-color: transparent; }
.thl-p-essential-pages-view-essential .lb-th.on { border-color: var(--g); }
/* ── SHARE MODAL ── */
.thl-p-essential-pages-view-essential .share-ov { background: rgba(var(--p-black-1-rgb), .5); }
.thl-p-essential-pages-view-essential .share-box { background: var(--card); box-shadow: var(--sh3); }
.thl-p-essential-pages-view-essential .sb-copy i { color:var(--g); }
.thl-p-essential-pages-view-essential .sb-wa i { color:var(--whatsapp-color); }
.thl-p-essential-pages-view-essential .sb-tg i { color:var(--telegram-color); }
.thl-p-essential-pages-view-essential .sb-fb i { color:var(--facebook); }
.thl-p-essential-pages-view-essential .sb-tw i { color:var(--ink-3); }
.thl-p-essential-pages-view-essential .sb-pi i { color:var(--p-red-3); }
.thl-p-essential-pages-view-essential .sb-em i { color:var(--p-red-14); }
/* ── TOAST ── */

/* ── NUDGE ── */
.thl-p-essential-pages-view-essential .nudge { background: var(--card); border-color: var(--border); box-shadow: var(--sh3); color:var(--sub); }
.thl-p-essential-pages-view-essential .nudge strong { color:var(--ink); }
.thl-p-essential-pages-view-essential .nudge a { color:var(--g); }
.thl-p-essential-pages-view-essential .nudge-x { color:var(--muted); }

/* ── essentials.php ─────────────────────────────────────────── */
/* FONT & LINE HEIGHT ARE NOT TO BE TAMPERED WITH. NO DEFINING FONT AS IT IS ALREADY DEFINED IN A CSS FILE AND INCLUDED IN HEADER. DON'T DELETE THIS COMMENT. */

/* ── FILTER BAR ─────────────────────────────────── */
.thl-p-essentials .filter-bar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-essentials .fi input { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-essentials .fi input:focus { border-color: var(--g); background: var(--white); }
.thl-p-essentials .fi-loc-icon { color:var(--muted); }
.thl-p-essentials .fi-price-sep { color:var(--muted); }
.thl-p-essentials .sort-wrap label { color:var(--muted); }
.thl-p-essentials .custom-dropdown-toggle { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-essentials .custom-dropdown-toggle:hover, .thl-p-essentials .custom-dropdown-toggle:focus { border-color: var(--g); background: var(--white); }
.thl-p-essentials .custom-dropdown-toggle::after { color:var(--muted); }
.thl-p-essentials .custom-dropdown-menu { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-essentials .custom-dropdown-item { color:var(--ink); }
.thl-p-essentials .custom-dropdown-item:hover { background: var(--surface2); color: var(--ink-2); }
.thl-p-essentials .custom-dropdown-item.selected { background: var(--g); color:var(--white); }
.thl-p-essentials .custom-dropdown-item i { color:var(--g); }
.thl-p-essentials .custom-dropdown-item.selected i { color:var(--white); }
.thl-p-essentials .page-top-title { color:var(--ink); }
.thl-p-essentials .page-top-count { color:var(--muted); }
.thl-p-essentials .type-tab { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-essentials .type-tab:hover { border-color: var(--g); color:var(--g-dk); }
.thl-p-essentials .type-tab.active { background: var(--g); border-color: var(--g); color:var(--white); }
/* ── SPONSORED LABELS ── */
.thl-p-essentials .sponsored-section-label { color:var(--muted); }
.thl-p-essentials .sponsored-section-label i { color:var(--g); }
.thl-p-essentials .sponsored-section-divider { color:var(--muted); }
.thl-p-essentials .sponsored-section-divider::before, .thl-p-essentials .sponsored-section-divider::after { background: var(--border); }
/* ── CARD ───────────────────────────────────────── */
.thl-p-essentials .ess-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-essentials .ess-card:hover { box-shadow: var(--shadow-hover); }
/* ── SLIDER ─────────────────────────────────────── */
.thl-p-essentials .card-slider { background: var(--surf); }
.thl-p-essentials .slider-nav { background: rgba(var(--p-black-1-rgb), 0.45); color:var(--white); }
.thl-p-essentials .slider-nav:hover { background: rgba(var(--p-black-1-rgb), 0.75); }
.thl-p-essentials .slider-count { background: rgba(var(--p-black-1-rgb), 0.5); color:var(--white); }
.thl-p-essentials .txn-badge { color:var(--white); }
.thl-p-essentials .txn-sale { background: var(--arch); }
.thl-p-essentials .txn-rent { background: var(--c-cyan); }
.thl-p-essentials .txn-lease { background: var(--warn); }
.thl-p-essentials .cond-new { background: rgba(var(--g-rgb), 0.9); color:var(--white); }
.thl-p-essentials .cond-used { background: rgba(var(--p-blue-34-rgb), 0.85); color:var(--white); }
.thl-p-essentials .cond-refurb { background: rgba(var(--p-blue-28-rgb), 0.85); color:var(--white); }
.thl-p-essentials .no-photo { color:var(--muted); }
.thl-p-essentials .card-cat-chip { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-essentials .card-type-chip { background: var(--surf); color:var(--sub); border-color: var(--border); }
.thl-p-essentials .card-title { color:var(--ink); }
.thl-p-essentials .card-brand { color:var(--muted); }
.thl-p-essentials .card-brand i { color:var(--g); }
.thl-p-essentials .card-loc { color:var(--muted); }
.thl-p-essentials .card-loc i { color:var(--g); }
.thl-p-essentials .card-price { color:var(--ink); }
.thl-p-essentials .card-price-suffix { color:var(--muted); }
.thl-p-essentials .card-orig { color:var(--muted); }
.thl-p-essentials .card-price-tbd { color:var(--muted); }
.thl-p-essentials .card-qty { color:var(--sub); }
.thl-p-essentials .card-qty i { color:var(--g); }
.thl-p-essentials .card-actions { border-top-color: var(--border); }
.thl-p-essentials .card-act { color:var(--muted); }
.thl-p-essentials .card-act-btn { color:var(--muted); }
.thl-p-essentials .card-act-btn.favourited { color:var(--red); }
.thl-p-essentials .card-act-btn.saved { color:var(--gold); }
.thl-p-essentials .card-act-btn.love-btn:hover { color:var(--red); }
.thl-p-essentials .card-act-btn.fav-btn:hover { color:var(--gold); }
.thl-p-essentials .card-act .fa-eye { color:var(--c-blue) !important; }
.thl-p-essentials .empty-state .home-icon-wrap { color:var(--border); }
.thl-p-essentials .empty-state h3 { color:var(--ink); }
.thl-p-essentials .empty-state p { color:var(--muted); }
.thl-p-essentials .empty-state a { background: var(--g); color:var(--white); }
.thl-p-essentials .skeleton-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-essentials .skel-img { background: linear-gradient(90deg,var(--surf-2) 25%,var(--p-grey-28) 50%,var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-essentials .skel-line { background: linear-gradient(90deg,var(--surf-2) 25%,var(--p-grey-28) 50%,var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-essentials .load-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-essentials .load-end-msg { color:var(--muted); }
/* ── LOGIN NUDGE ────────────────────────────────── */
.thl-p-essentials .login-nudge { background: var(--white); border-color: var(--border); box-shadow: 0 8px 30px rgba(var(--p-black-1-rgb), 0.12); color:var(--sub); }
.thl-p-essentials .login-nudge a { color:var(--g); }
.thl-p-essentials .login-nudge-close { color:var(--muted); }

/* ── footer.php ───────────────────────────────────────────  (SHARED INCLUDE - global, NOT page-scoped:
   this markup renders inside every other page, so a page scope would
   never match and its colours would silently vanish) */
/* ═══════════════════════════════════════════════════════════

   THE HOMES LAB — FOOTER  v5

   Light green-tinted base. Darker text for clear visibility.

   NO font-family override. NO body background override.

═══════════════════════════════════════════════════════════ */

.thl-footer { background-color: var(--p-grey-75); color:var(--p-blue-19); border-top-color: var(--border); }
.thl-fc-title { color:var(--ink-2); border-bottom-color: var(--border); }
.thl-footer-brand-name { color:var(--ink-2); }
.thl-footer-brand-name em { color:var(--p-green-16); }
.thl-footer-brand-tag { color:var(--sub); }
.thl-footer-brand-desc { color:var(--p-blue-19); }
.thl-soc { color:var(--white); }
.thl-soc:hover { box-shadow: 0 6px 16px rgba(var(--p-black-1-rgb), 0.18); color:var(--white); }
.thl-soc-wa { background: var(--whatsapp-color); }
.thl-soc-tg { background: var(--telegram-color); }
.thl-soc-tgg { background: var(--p-blue-20); }
.thl-soc-fb { background: var(--facebook); }
.thl-soc-x { background: var(--p-black-1); }
.thl-soc-tt { background: var(--tiktok-color); }
.thl-fc-links li a { color:var(--p-blue-10); }
.thl-fc-links li a i { color:var(--p-blue-34); }
.thl-fc-links li a:hover { background-color: var(--p-grey-45); color:var(--ink-2); }
.thl-fc-links li a:hover i { color:var(--p-green-16); }
.thl-contact-row { background: var(--white); border-color: var(--border); }
.thl-contact-row:hover { background-color: var(--p-grey-60); border-color: var(--g); box-shadow: 0 2px 10px rgba(var(--p-green-16-rgb), 0.08); }
.thl-contact-ico { background: var(--p-grey-45); color:var(--p-green-16); }
.thl-contact-row:hover .thl-contact-ico { background: var(--p-green-16); color:var(--white); }
.thl-contact-label { color:var(--p-blue-34); }
.thl-contact-val { color:var(--ink-2); }
.thl-fc-location a { color:var(--p-blue-10); }
.thl-fc-location a:hover { color:var(--p-green-16); }
.thl-flag-img { box-shadow: 0 1px 4px rgba(var(--p-black-1-rgb), 0.18); }
.thl-fc-response-note { color:var(--sub); }
.thl-fc-response-note i { color:var(--p-green-16); }
.thl-fc-legal-note { color:var(--sub); }
.thl-footer-bottom { border-top-color: var(--border); background-color: var(--p-grey-60); }
.thl-footer-bottom p { color:var(--sub); }

/* ── freelance.php ─────────────────────────────────────────── */
.thl-p-freelance .status-tab-wrap { background: var(--white); border-bottom-color: var(--border); box-shadow: 0 1px 6px rgba(var(--p-black-1-rgb), 0.04); }
.thl-p-freelance .status-tab { border-bottom-color: transparent; }
.thl-p-freelance .status-tab:hover { background: var(--surf); }
.thl-p-freelance .status-tab.active { border-bottom-color: var(--tab-color, var(--g)); background: linear-gradient(180deg, transparent 0%, rgba(var(--p-black-1-rgb), 0.015) 100%); }
.thl-p-freelance .status-tab-icon { background: var(--tab-bg, var(--surface2)); color:var(--tab-color, var(--muted)); }
.thl-p-freelance .status-tab.active .status-tab-icon { background: var(--tab-color, var(--g)); color:var(--white); }
.thl-p-freelance .status-tab-label { color:var(--sub); }
.thl-p-freelance .status-tab.active .status-tab-label { color:var(--tab-color, var(--g)); }
.thl-p-freelance .status-tab-count { background: var(--tab-bg, var(--surface2)); color:var(--tab-color, var(--muted)); border-color: transparent; }
.thl-p-freelance .status-tab.active .status-tab-count { background: var(--tab-color, var(--g)); color:var(--white); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-freelance .status-tab:not(.active):hover .status-tab-count { border-color: var(--tab-color, var(--border)); color:var(--tab-color, var(--sub)); }
.thl-p-freelance .status-tab-desc { color:var(--muted); }
.thl-p-freelance .status-tab.active .status-tab-desc { color:var(--tab-color, var(--g)); }
.thl-p-freelance .status-tab.active::after { background: var(--tab-color, var(--g)); }
.thl-p-freelance .status-tab + .status-tab::before { background: var(--border); }
.thl-p-freelance .filter-bar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-freelance .fi input { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-freelance .fi input:focus { border-color: var(--g); background: var(--white); }
.thl-p-freelance .fi-loc-icon { color:var(--muted); }
.thl-p-freelance .fi-price-sep { color:var(--muted); }
.thl-p-freelance .sort-wrap label { color:var(--muted); }
.thl-p-freelance .custom-dropdown-toggle { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-freelance .custom-dropdown-toggle::after { color:var(--muted); }
.thl-p-freelance .custom-dropdown-toggle:hover, .thl-p-freelance .custom-dropdown-toggle:focus { border-color: var(--g); background: var(--white); }
.thl-p-freelance .custom-dropdown-menu { background: var(--white); border-color: var(--border); box-shadow: 0 6px 20px rgba(var(--p-black-1-rgb), 0.12); }
.thl-p-freelance .custom-dropdown-item { color:var(--ink); }
.thl-p-freelance .custom-dropdown-item:hover { background: var(--surface2); color: var(--ink-2); }
.thl-p-freelance .custom-dropdown-item.selected { background: var(--g); color:var(--white); }
.thl-p-freelance .custom-dropdown-item i { color:var(--g); }
.thl-p-freelance .custom-dropdown-item.selected i { color:var(--white); }
.thl-p-freelance #float-sort-dropdown .custom-dropdown-toggle { background: var(--surf); }
.thl-p-freelance .page-top-title { color:var(--ink); }
.thl-p-freelance .page-top-count { color:var(--muted); }
.thl-p-freelance .post-job-btn { background: var(--g); color:var(--white); }
.thl-p-freelance .post-job-btn:hover { background: var(--g-dk); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-freelance .nature-tab { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-freelance .nature-tab:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-freelance .nature-tab.active { background: var(--g); border-color: var(--g); color:var(--white); }
.thl-p-freelance .job-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-freelance .job-card:hover { box-shadow: var(--shadow-hover); }
.thl-p-freelance .jcard-thumb { background: var(--surf); }
.thl-p-freelance .jcard-no-img { background: linear-gradient(135deg, var(--g-lt) 0%, var(--p-green-47) 100%); }
.thl-p-freelance .jcard-no-img i { color:var(--g); }
.thl-p-freelance .jcard-nature-badge { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); }
.thl-p-freelance .jcard-age-badge { background: var(--g); color:var(--white); }
.thl-p-freelance .jcard-category { color:var(--g-dk); background: var(--g-lt); }
.thl-p-freelance .jcard-bids { color:var(--sub); }
.thl-p-freelance .jcard-bids-zero { color:var(--muted); }
.thl-p-freelance .jcard-title { color:var(--ink); }
.thl-p-freelance .jcard-excerpt { color:var(--sub); }
.thl-p-freelance .jcard-pill { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-freelance .jcard-pill i { color:var(--muted); }
.thl-p-freelance .jcard-pill-loc i { color:var(--g); }
.thl-p-freelance .jcard-footer { border-top-color: var(--border); }
.thl-p-freelance .jcard-budget { color:var(--ink); }
.thl-p-freelance .jcard-budget i { color:var(--g); }
.thl-p-freelance .jcard-budget-type { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-freelance .jcard-poster { color:var(--muted); }
.thl-p-freelance .jcard-poster-av { border-color: var(--border); }
.thl-p-freelance .jcard-poster strong { color:var(--sub); }
.thl-p-freelance .skeleton-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-freelance .skel-img { background: linear-gradient(90deg, var(--surf-2) 25%, var(--p-grey-28) 50%, var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-freelance .skel-line { background: linear-gradient(90deg, var(--surf-2) 25%, var(--p-grey-28) 50%, var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-freelance .empty-state > i { color:var(--border); }
.thl-p-freelance .empty-state h3 { color:var(--ink); }
.thl-p-freelance .empty-state p { color:var(--muted); }
.thl-p-freelance .empty-state a { background: var(--g); color:var(--white); }
.thl-p-freelance .load-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-freelance .load-end-msg { color:var(--muted); }

/* ── freelance_pages/apply_freelance.php ─────────────────────────────────────────── */
/* ── STICKY TOP BAR ─────────────────────────────────────────────────────── */
.thl-p-freelance-pages-apply-freelance .ap-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-freelance-pages-apply-freelance .ap-brand { color:var(--g); }
.thl-p-freelance-pages-apply-freelance .ap-brand-job { color:var(--sub); }
.thl-p-freelance-pages-apply-freelance .ap-back-btn { color:var(--sub); border-color: var(--border); background: var(--surf); }
.thl-p-freelance-pages-apply-freelance .ap-back-btn:hover { color:var(--g-dk); border-color: var(--g); background: var(--g-lt); box-shadow: 0 2px 8px rgba(var(--g-rgb), 0.15); }
.thl-p-freelance-pages-apply-freelance .ap-prog-wrap { background: var(--border); }
.thl-p-freelance-pages-apply-freelance .ap-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
/* ── STEP TABS ──────────────────────────────────────────────────────────── */
.thl-p-freelance-pages-apply-freelance .ap-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.04); }
.thl-p-freelance-pages-apply-freelance .ap-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-freelance-pages-apply-freelance .ap-tab.at-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 60%, rgba(var(--g-rgb), 0.05)); }
.thl-p-freelance-pages-apply-freelance .ap-tab.at-done { color:var(--g-dk); }
.thl-p-freelance-pages-apply-freelance .ap-tab.at-done:hover { background: var(--g-lt); }
.thl-p-freelance-pages-apply-freelance .ap-tab-num { border-color: currentColor; }
.thl-p-freelance-pages-apply-freelance .ap-tab.at-active .ap-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-freelance-pages-apply-freelance .ap-tab.at-done   .ap-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
/* ── CARDS ──────────────────────────────────────────────────────────────── */
.thl-p-freelance-pages-apply-freelance .card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-freelance-pages-apply-freelance .card-head { border-bottom-color: var(--border); }
.thl-p-freelance-pages-apply-freelance .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-apply-freelance .card-title { color:var(--ink); }
.thl-p-freelance-pages-apply-freelance .card-title i { color:var(--g); }
.thl-p-freelance-pages-apply-freelance .card-sub { color:var(--sub); }
.thl-p-freelance-pages-apply-freelance .fl-label { color:var(--ink); }
.thl-p-freelance-pages-apply-freelance .fl-req { color:var(--red); }
.thl-p-freelance-pages-apply-freelance .fl-hint { color:var(--sub); }
.thl-p-freelance-pages-apply-freelance .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-freelance-pages-apply-freelance .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-freelance-pages-apply-freelance .fl-inp.inp-invalid { border-color: var(--red) !important; background: var(--p-white-3); }
.thl-p-freelance-pages-apply-freelance .fl-inp.inp-valid { border-color: var(--g)   !important; }
.thl-p-freelance-pages-apply-freelance .char-count.below-min { color:var(--red); }
.thl-p-freelance-pages-apply-freelance .char-count.ok { color:var(--g-dk); }
.thl-p-freelance-pages-apply-freelance .char-count.near-max { color:var(--amber); }
.thl-p-freelance-pages-apply-freelance .min-hint.below-min { color:var(--red); }
.thl-p-freelance-pages-apply-freelance .min-hint.ok { color:var(--g-dk); }
.thl-p-freelance-pages-apply-freelance .opt-pill { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-freelance-pages-apply-freelance .opt-pill:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-freelance-pages-apply-freelance .opt-pill:has(input:checked) { border-color: var(--g); background: var(--g); color:var(--white); }
.thl-p-freelance-pages-apply-freelance .sec-label { color:var(--muted); }
.thl-p-freelance-pages-apply-freelance .sec-label::after { background: var(--border); }
.thl-p-freelance-pages-apply-freelance .price-wrap { background: var(--g-lt); border-color: var(--g); }
.thl-p-freelance-pages-apply-freelance .price-big-val { color:var(--g-dk); }
.thl-p-freelance-pages-apply-freelance .price-big-cur { color:var(--sub); }
.thl-p-freelance-pages-apply-freelance .price-big-type { color:var(--muted); }
.thl-p-freelance-pages-apply-freelance .add-ms-btn { color:var(--g); border-color: var(--g-dk); }
.thl-p-freelance-pages-apply-freelance .add-ms-btn:hover { background: var(--g-lt); }
.thl-p-freelance-pages-apply-freelance .upload-zone { border-color: var(--border); background: var(--surf); }
.thl-p-freelance-pages-apply-freelance .upload-zone:hover, .thl-p-freelance-pages-apply-freelance .upload-zone.dragover { border-color: var(--g); background: var(--g-lt); }
.thl-p-freelance-pages-apply-freelance .upload-zone-ico { color:var(--muted); }
.thl-p-freelance-pages-apply-freelance .upload-zone-txt { color:var(--sub); }
.thl-p-freelance-pages-apply-freelance .upload-zone-hint { color:var(--muted); }
.thl-p-freelance-pages-apply-freelance .preview-item { background: var(--white); border-color: var(--border); }
.thl-p-freelance-pages-apply-freelance .preview-item.img i { color:var(--g); }
.thl-p-freelance-pages-apply-freelance .preview-item.pdf i { color:var(--red); }
.thl-p-freelance-pages-apply-freelance .preview-name { color:var(--ink); }
.thl-p-freelance-pages-apply-freelance .preview-size { color:var(--muted); }
.thl-p-freelance-pages-apply-freelance .preview-del { color:var(--muted); }
.thl-p-freelance-pages-apply-freelance .preview-del:hover { color:var(--red); background: var(--red-lt); }
.thl-p-freelance-pages-apply-freelance .link-del { color:var(--muted); }
.thl-p-freelance-pages-apply-freelance .link-del:hover { color:var(--red); background: var(--red-lt); }
.thl-p-freelance-pages-apply-freelance .add-link-btn { color:var(--g); border-color: var(--g-dk); }
.thl-p-freelance-pages-apply-freelance .add-link-btn:hover { background: var(--g-lt); }
.thl-p-freelance-pages-apply-freelance .tips-box { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-freelance-pages-apply-freelance .tips-list li::before { color:var(--blue); }
.thl-p-freelance-pages-apply-freelance .review-grid { background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-apply-freelance .review-row { border-bottom-color: var(--border); }
.thl-p-freelance-pages-apply-freelance .review-key { color:var(--sub); }
.thl-p-freelance-pages-apply-freelance .review-val { color:var(--ink); }
.thl-p-freelance-pages-apply-freelance .field-hint-err { color:var(--red); }
.thl-p-freelance-pages-apply-freelance .success-hero { background: linear-gradient(135deg,var(--g) 0%,var(--g-dk) 100%); color:var(--white); }
.thl-p-freelance-pages-apply-freelance .success-hero::after { color:rgba(var(--p-white-28-rgb), .08); }
.thl-p-freelance-pages-apply-freelance .success-link { background: rgba(var(--p-white-28-rgb), .18); color:var(--white); border-color: rgba(var(--p-white-28-rgb), .35); }
.thl-p-freelance-pages-apply-freelance .success-link:hover { background: rgba(var(--p-white-28-rgb), .28); color:var(--white); }
.thl-p-freelance-pages-apply-freelance .already-card { background: linear-gradient(135deg,var(--blue-lt) 0%,var(--blue-bglt) 100%); border-color: var(--info); }
.thl-p-freelance-pages-apply-freelance .already-ico { color:var(--blue); }
.thl-p-freelance-pages-apply-freelance .already-title { color:var(--ink); }
.thl-p-freelance-pages-apply-freelance .already-sub { color:var(--sub); }
.thl-p-freelance-pages-apply-freelance .own-job-card { background: var(--amber-lt); border-color: var(--warn); }
.thl-p-freelance-pages-apply-freelance .btn-green:hover { box-shadow: 0 4px 16px rgba(var(--g-rgb), .3); }
.thl-p-freelance-pages-apply-freelance .job-thumb-placeholder { background: var(--g-lt); color:var(--g); }
.thl-p-freelance-pages-apply-freelance .job-title-side { color:var(--ink); }
.thl-p-freelance-pages-apply-freelance .job-nature-side { background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-apply-freelance .job-row { border-bottom-color: var(--border); }
.thl-p-freelance-pages-apply-freelance .job-row-key { color:var(--sub); }
.thl-p-freelance-pages-apply-freelance .job-row-val { color:var(--ink); }
.thl-p-freelance-pages-apply-freelance .job-budget-big { color:var(--g-dk); }
.thl-p-freelance-pages-apply-freelance .job-budget-type { color:var(--sub); }
.thl-p-freelance-pages-apply-freelance .poster-av { border-color: var(--g); }
.thl-p-freelance-pages-apply-freelance .poster-name { color:var(--ink); }
.thl-p-freelance-pages-apply-freelance .poster-label { color:var(--muted); }
.thl-p-freelance-pages-apply-freelance .safety-card { background: var(--amber-lt); border-color: var(--warn); }
.thl-p-freelance-pages-apply-freelance .safety-title { color:var(--amber-ink); }
.thl-p-freelance-pages-apply-freelance .safety-list li { color:var(--amber-ink); }
.thl-p-freelance-pages-apply-freelance .safety-list li::before { color:var(--amber); }
/* -- Upload progress overlay (real byte progress) -- */
.thl-p-freelance-pages-apply-freelance #af-upl-overlay { background: rgba(var(--p-white-28-rgb), 0.85); }
.thl-p-freelance-pages-apply-freelance .af-upl-card { background: var(--white); border-color: var(--border); box-shadow: 0 8px 40px rgba(var(--p-black-1-rgb), 0.13); }
.thl-p-freelance-pages-apply-freelance .af-upl-icon { background: var(--g-lt); }
.thl-p-freelance-pages-apply-freelance .af-upl-icon i { color:var(--g); }
.thl-p-freelance-pages-apply-freelance .af-upl-spin { border-color: var(--border); border-top-color: var(--g); }
.thl-p-freelance-pages-apply-freelance .af-upl-pct { color:var(--g); }
.thl-p-freelance-pages-apply-freelance .af-upl-title { color:var(--ink); }
.thl-p-freelance-pages-apply-freelance .af-upl-sub { color:var(--sub); }
.thl-p-freelance-pages-apply-freelance .af-upl-meter { background: var(--border); }
.thl-p-freelance-pages-apply-freelance .af-upl-bar { background: linear-gradient(90deg,var(--g),var(--g-vivid)); }
.thl-p-freelance-pages-apply-freelance .preview-tile { border-color: var(--border); background: var(--surf,var(--surf)); }
.thl-p-freelance-pages-apply-freelance .preview-tile.pdf > i { color:var(--red); }
.thl-p-freelance-pages-apply-freelance .preview-tile-name { color:var(--sub); }
.thl-p-freelance-pages-apply-freelance .preview-tile-del { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); border-color: var(--white); }
.thl-p-freelance-pages-apply-freelance .preview-tile-del i { color:var(--white); }
.thl-p-freelance-pages-apply-freelance .preview-tile-del:hover { background: var(--red); }

/* ── freelance_pages/basic.php ─────────────────────────────────────────── */
.thl-p-freelance-pages-basic .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-freelance-pages-basic .wiz-brand { color:var(--g); }
.thl-p-freelance-pages-basic .ws { color:var(--muted); }
.thl-p-freelance-pages-basic .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-basic .ws.done { color:var(--g); }
.thl-p-freelance-pages-basic .ws-num { border-color: currentColor; }
.thl-p-freelance-pages-basic .ws.active .ws-num, .thl-p-freelance-pages-basic .ws.done   .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-freelance-pages-basic .ws-sep { color:var(--border); }
.thl-p-freelance-pages-basic .wiz-prog-wrap { background: var(--border); }
.thl-p-freelance-pages-basic .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-basic .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.04); }
.thl-p-freelance-pages-basic .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-freelance-pages-basic .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-freelance-pages-basic .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 60%, rgba(var(--g-rgb), 0.05)); }
.thl-p-freelance-pages-basic .step-tab.st-done { color:var(--g-dk); }
.thl-p-freelance-pages-basic .step-tab-num { border-color: currentColor; }
.thl-p-freelance-pages-basic .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-freelance-pages-basic .step-tab.st-done .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-freelance-pages-basic .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-freelance-pages-basic .card-head { border-bottom-color: var(--border); background: var(--white); }
.thl-p-freelance-pages-basic .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-basic .card-title { color:var(--ink); }
.thl-p-freelance-pages-basic .card-sub { color:var(--sub); }
.thl-p-freelance-pages-basic .nature-card { border-color: var(--border); background: var(--white); }
.thl-p-freelance-pages-basic .nature-card:hover { border-color: var(--g); background: var(--g-lt); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.1); }
.thl-p-freelance-pages-basic .nature-card.sel { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-freelance-pages-basic .nature-card.sel::after { color:var(--g); }
.thl-p-freelance-pages-basic .nature-ico { background: var(--surface); color:var(--muted); }
.thl-p-freelance-pages-basic .nature-card:hover .nature-ico, .thl-p-freelance-pages-basic .nature-card.sel   .nature-ico { background: var(--g); color:var(--white); }
.thl-p-freelance-pages-basic .nature-lbl { color:var(--ink); }
.thl-p-freelance-pages-basic .nature-hint { color:var(--sub); }
.thl-p-freelance-pages-basic .cat-card { border-color: var(--border); background: var(--white); }
.thl-p-freelance-pages-basic .cat-card:hover { border-color: var(--g); background: var(--g-lt); }
.thl-p-freelance-pages-basic .cat-card.sel { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-freelance-pages-basic .cat-card.sel::after { color:var(--g); }
.thl-p-freelance-pages-basic .cat-dot { background: var(--border); }
.thl-p-freelance-pages-basic .cat-card:hover .cat-dot, .thl-p-freelance-pages-basic .cat-card.sel   .cat-dot { background: var(--g); }
.thl-p-freelance-pages-basic .cat-lbl { color:var(--ink); }
.thl-p-freelance-pages-basic .sec-label { color:var(--muted); }
.thl-p-freelance-pages-basic .sec-label::after { background: var(--border); }
.thl-p-freelance-pages-basic .fl-label { color:var(--ink); }
.thl-p-freelance-pages-basic .fl-req { color:var(--red); }
.thl-p-freelance-pages-basic .fl-hint { color:var(--sub); }
.thl-p-freelance-pages-basic .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-freelance-pages-basic .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-freelance-pages-basic .char-count { color:var(--muted); }
.thl-p-freelance-pages-basic .char-count.over { color:var(--red); }
.thl-p-freelance-pages-basic .remote-opt { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-freelance-pages-basic .remote-opt:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-freelance-pages-basic .remote-opt.sel { border-color: var(--g); background: var(--g); color:var(--white); }
.thl-p-freelance-pages-basic .map-box { border-color: var(--border); }
.thl-p-freelance-pages-basic .map-search-inp { color:var(--ink); background: var(--white); }
.thl-p-freelance-pages-basic .map-tile-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-freelance-pages-basic .map-tile-btn:hover { background: var(--white); }
.thl-p-freelance-pages-basic .map-tile-btn.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-freelance-pages-basic .map-myloc-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-freelance-pages-basic .map-myloc-btn:hover { background: var(--white); }
.thl-p-freelance-pages-basic .map-myloc-btn i { color:var(--g); }
.thl-p-freelance-pages-basic .map-suggestions { background: var(--white); box-shadow: 0 6px 20px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-freelance-pages-basic .map-sug-item { color:var(--ink); border-bottom-color: var(--surface2); }
.thl-p-freelance-pages-basic .map-sug-item:hover { background: var(--g-lt); }
.thl-p-freelance-pages-basic .map-sug-item i { color:var(--g); }
.thl-p-freelance-pages-basic .map-sug-sub { color:var(--muted); }
.thl-p-freelance-pages-basic .map-hint-overlay { background: rgba(var(--p-black-1-rgb), 0.68); color:var(--white); }
.thl-p-freelance-pages-basic .map-info { background: var(--surface); border-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-basic .map-info i { color:var(--g); }
.thl-p-freelance-pages-basic .r-tag { background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-basic .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-freelance-pages-basic .review-row { border-bottom-color: var(--border); }
.thl-p-freelance-pages-basic .review-key { color:var(--sub); }
.thl-p-freelance-pages-basic .review-val { color:var(--ink); }
.thl-p-freelance-pages-basic .lock-notice { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-freelance-pages-basic .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }

/* ── freelance_pages/bids.php ─────────────────────────────────────────── */
/* ── BREADCRUMB ── */
.thl-p-freelance-pages-bids .bc-bar { background: var(--white); border-bottom-color: var(--border); }
.thl-p-freelance-pages-bids .bc-inner { color:var(--muted); }
.thl-p-freelance-pages-bids .bc-inner a { color:var(--sub); }
.thl-p-freelance-pages-bids .bc-inner a:hover { color:var(--g); }
.thl-p-freelance-pages-bids .bc-sep { color:var(--border); }
.thl-p-freelance-pages-bids .bc-back { background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-bids .bc-back:hover { background: var(--p-green-40); }
/* ── STICKY TOPBAR ── */
.thl-p-freelance-pages-bids .bids-topbar { background: var(--white); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-freelance-pages-bids .bids-topbar-left h1 { color:var(--ink); }
.thl-p-freelance-pages-bids .bids-topbar-left h1 span { color:var(--g); }
/* ── SHARED CARD ── */
.thl-p-freelance-pages-bids .card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-freelance-pages-bids .card-head { border-bottom-color: var(--border); }
.thl-p-freelance-pages-bids .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-bids .card-title { color:var(--ink); }
.thl-p-freelance-pages-bids .card-title i { color:var(--g); }
/* ── JOB SUMMARY CARD ── */
.thl-p-freelance-pages-bids .job-sum-title { color:var(--ink); }
.thl-p-freelance-pages-bids .job-sum-type { color:var(--g-dk); }
.thl-p-freelance-pages-bids .job-sum-row { color:var(--sub); }
.thl-p-freelance-pages-bids .job-sum-row i { color:var(--g); }
.thl-p-freelance-pages-bids .job-budget-chip { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-freelance-pages-bids .results-hdr-left { color:var(--sub); }
.thl-p-freelance-pages-bids .results-hdr-left strong { color:var(--ink); }
/* ── BID CARD ── */
.thl-p-freelance-pages-bids .bid-card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-freelance-pages-bids .bid-card:hover { box-shadow: 0 8px 30px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-freelance-pages-bids .bid-card.awarded { border-color: var(--g); }
.thl-p-freelance-pages-bids .bid-card.shortlisted { border-color: var(--info); }
.thl-p-freelance-pages-bids .bid-card-head { border-bottom-color: var(--border); }
.thl-p-freelance-pages-bids .bid-av { border-color: var(--g); }
.thl-p-freelance-pages-bids .bid-verified-dot { background: var(--g); color:var(--white); border-color: var(--white); }
.thl-p-freelance-pages-bids .bid-name { color:var(--ink); }
.thl-p-freelance-pages-bids .bid-meta { color:var(--muted); }
.thl-p-freelance-pages-bids .bid-price { color:var(--ink); }
.thl-p-freelance-pages-bids .bid-price-type { color:var(--muted); }
.thl-p-freelance-pages-bids .bidder-rv-score { color:var(--amber-ink); background: var(--amber-lt); border-color: var(--warn); }
.thl-p-freelance-pages-bids .bidder-rv-count { color:var(--muted); }
.thl-p-freelance-pages-bids .bidder-rv-none { color:var(--muted); background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-bids .bidder-rv-none i { color:var(--border-2); }
.thl-p-freelance-pages-bids .btn-history.has-reviews { background: var(--p-amber-9); color:var(--p-orange-5); border-color: var(--warn); }
.thl-p-freelance-pages-bids .btn-history.has-reviews:hover { background: var(--amber); color:var(--white); border-color: var(--amber); box-shadow: 0 3px 10px rgba(var(--p-orange-19-rgb), .3); }
.thl-p-freelance-pages-bids .btn-history.no-reviews { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-freelance-pages-bids .btn-history.no-reviews:hover { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-freelance-pages-bids .bid-date-chip { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-bids .bid-date-chip i { color:var(--g); }
.thl-p-freelance-pages-bids .bid-cover { color:var(--sub); }
.thl-p-freelance-pages-bids .bid-cover-truncated::after { background: linear-gradient(transparent, var(--white)); }
.thl-p-freelance-pages-bids .bid-read-more { color:var(--g); }
.thl-p-freelance-pages-bids .bid-read-more:hover { color:var(--g-dk); }
.thl-p-freelance-pages-bids .milestones-wrap { background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-bids .milestones-title { color:var(--muted); }
.thl-p-freelance-pages-bids .milestone-item { border-bottom-color: var(--border); }
.thl-p-freelance-pages-bids .milestone-desc { color:var(--ink); }
.thl-p-freelance-pages-bids .milestone-amount { color:var(--g-dk); }
.thl-p-freelance-pages-bids .milestone-due { color:var(--muted); }
.thl-p-freelance-pages-bids .bid-att-portfolio { background: var(--purple-lt); color:var(--violet); border-color: var(--violet); }
.thl-p-freelance-pages-bids .bid-att-portfolio:hover { background: var(--violet); color:var(--white); }
.thl-p-freelance-pages-bids .bid-att-cert { background: var(--amber-lt); color:var(--amber-ink); border-color: var(--warn); }
.thl-p-freelance-pages-bids .bid-att-cert:hover { background: var(--warn); color:var(--white); }
.thl-p-freelance-pages-bids .bid-att-link { background: var(--blue-lt); color:var(--blue-ink); border-color: var(--info); }
.thl-p-freelance-pages-bids .bid-att-link:hover { background: var(--info); color:var(--white); }
.thl-p-freelance-pages-bids .bid-questions { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-freelance-pages-bids .bid-questions-label { color:var(--warn); }
/* ── FOOTER ACTIONS ── */
.thl-p-freelance-pages-bids .bid-card-footer { border-top-color: var(--border); background: var(--surf); }
.thl-p-freelance-pages-bids .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), .3); }
.thl-p-freelance-pages-bids .awarded-banner { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-freelance-pages-bids .bid-footer-date { color:var(--muted); }
/* ── EMPTY STATE ── */
.thl-p-freelance-pages-bids .empty-bids { background: var(--white); border-color: var(--border); }
.thl-p-freelance-pages-bids .empty-bids > i { color:var(--border); }
.thl-p-freelance-pages-bids .empty-bids h3 { color:var(--ink); }
.thl-p-freelance-pages-bids .empty-bids p { color:var(--sub); }
.thl-p-freelance-pages-bids .modal { background: var(--white); box-shadow: 0 24px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-freelance-pages-bids .modal-icon { background: var(--g-lt); color:var(--g); }
.thl-p-freelance-pages-bids .modal-freelancer { background: var(--g-lt); border-color: var(--g); }
.thl-p-freelance-pages-bids .modal-freelancer .mf-name { color:var(--ink); }
.thl-p-freelance-pages-bids .modal-freelancer .mf-price { color:var(--g-dk); }
.thl-p-freelance-pages-bids .modal-warn { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
/* ── FLASH ── */
.thl-p-freelance-pages-bids .flash-box { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-freelance-pages-bids .fh-panel { background: var(--white); box-shadow: -8px 0 40px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-freelance-pages-bids .fh-topbar { border-bottom-color: var(--border); background: var(--white); }
.thl-p-freelance-pages-bids .fh-topbar::after { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-bids .fh-close { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-bids .fh-close:hover { background: var(--p-red-23); border-color: var(--red); color:var(--red); }
.thl-p-freelance-pages-bids .fh-freelancer-av { border-color: var(--g); }
.thl-p-freelance-pages-bids .fh-freelancer-name { color:var(--ink); }
.thl-p-freelance-pages-bids .fh-freelancer-name .fh-verified { color:var(--g); background: var(--g-lt); border-color: var(--g); }
.thl-p-freelance-pages-bids .fh-topbar-sub { color:var(--muted); }
.thl-p-freelance-pages-bids .fh-summary { background: linear-gradient(120deg, var(--g-lt) 0%, var(--p-white-22) 60%, var(--g-lt) 100%); border-color: var(--g); }
.thl-p-freelance-pages-bids .fh-summary::before { background: linear-gradient(90deg, var(--g), var(--g-vivid), var(--g)); }
.thl-p-freelance-pages-bids .fh-big-num { color:var(--g-dk); }
.thl-p-freelance-pages-bids .fh-big-count { color:var(--muted); }
.thl-p-freelance-pages-bids .fh-sum-divider { background: var(--g-br); }
.thl-p-freelance-pages-bids .fh-bar-row { color:var(--sub); }
.thl-p-freelance-pages-bids .fh-bar-label i { color:var(--g); }
.thl-p-freelance-pages-bids .fh-bar-track { background: var(--p-green-47); }
.thl-p-freelance-pages-bids .fh-bar-fill { background: var(--g); }
.thl-p-freelance-pages-bids .fh-bar-val { color:var(--g-dk); }
.thl-p-freelance-pages-bids .fh-hire-chip { background: var(--white); border-color: var(--g); }
.thl-p-freelance-pages-bids .fh-hire-pct { color:var(--g-dk); }
.thl-p-freelance-pages-bids .fh-hire-label { color:var(--muted); }
.thl-p-freelance-pages-bids .fh-hire-icon { color:var(--g); }
.thl-p-freelance-pages-bids .fh-sec-label { color:var(--muted); }
.thl-p-freelance-pages-bids .fh-sec-label::after { background: var(--border); }
.thl-p-freelance-pages-bids .fh-rv-card { background: var(--white); border-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.04); }
.thl-p-freelance-pages-bids .fh-rv-card:hover { border-color: var(--g); box-shadow: 0 4px 18px rgba(var(--g-rgb), .08); }
.thl-p-freelance-pages-bids .fh-rv-av { border-color: var(--g); }
.thl-p-freelance-pages-bids .fh-rv-name { color:var(--ink); }
.thl-p-freelance-pages-bids .fh-rv-job { color:var(--muted); }
.thl-p-freelance-pages-bids .fh-rv-job i { color:var(--g); }
.thl-p-freelance-pages-bids .fh-rv-big { color:var(--g-dk); }
.thl-p-freelance-pages-bids .fh-rv-date { color:var(--muted); }
.thl-p-freelance-pages-bids .fh-rv-text { color:var(--sub); border-left-color: var(--g); background: var(--p-white-27); }
.thl-p-freelance-pages-bids .fh-chip { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-bids .fh-chip i { color:var(--amber); }
.thl-p-freelance-pages-bids .fh-chip strong { color:var(--ink); }
.thl-p-freelance-pages-bids .fh-hire-badge.yes { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-freelance-pages-bids .fh-hire-badge.no { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-freelance-pages-bids .fh-empty { background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-bids .fh-empty i { color:var(--border); }
.thl-p-freelance-pages-bids .fh-empty h4 { color:var(--ink); }
.thl-p-freelance-pages-bids .fh-empty p { color:var(--muted); }
.thl-p-freelance-pages-bids .fh-empty .fh-empty-badge { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }

/* ── freelance_pages/details.php ─────────────────────────────────────────── */
.thl-p-freelance-pages-details .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-freelance-pages-details .wiz-brand { color:var(--g); }
.thl-p-freelance-pages-details .ws { color:var(--muted); }
.thl-p-freelance-pages-details .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-details .ws.done { color:var(--g); }
.thl-p-freelance-pages-details .ws-num { border-color: currentColor; }
.thl-p-freelance-pages-details .ws.active .ws-num, .thl-p-freelance-pages-details .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-freelance-pages-details .ws-sep { color:var(--border); }
.thl-p-freelance-pages-details .wiz-prog-wrap { background: var(--border); }
.thl-p-freelance-pages-details .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-details .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.04); }
.thl-p-freelance-pages-details .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-freelance-pages-details .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-freelance-pages-details .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-freelance-pages-details .step-tab.st-done { color:var(--g-dk); }
.thl-p-freelance-pages-details .step-tab-num { border-color: currentColor; }
.thl-p-freelance-pages-details .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-freelance-pages-details .step-tab.st-done   .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-freelance-pages-details .job-header { background: var(--white); border-color: var(--border); }
.thl-p-freelance-pages-details .job-ico { background: var(--g-lt); color:var(--g); }
.thl-p-freelance-pages-details .job-title-txt { color:var(--ink); }
.thl-p-freelance-pages-details .job-meta-txt { color:var(--sub); }
.thl-p-freelance-pages-details .card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-freelance-pages-details .card-head { border-bottom-color: var(--border); }
.thl-p-freelance-pages-details .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-details .card-title { color:var(--ink); }
.thl-p-freelance-pages-details .card-sub { color:var(--sub); }
.thl-p-freelance-pages-details .sec-label { color:var(--muted); }
.thl-p-freelance-pages-details .sec-label::after { background: var(--border); }
.thl-p-freelance-pages-details .fl-label { color:var(--ink); }
.thl-p-freelance-pages-details .fl-req { color:var(--red); }
.thl-p-freelance-pages-details .fl-hint { color:var(--sub); }
.thl-p-freelance-pages-details .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-freelance-pages-details .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-freelance-pages-details .opt-pill { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-freelance-pages-details .opt-pill:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-freelance-pages-details .opt-pill:has(input:checked) { border-color: var(--g); background: var(--g); color:var(--white); }
.thl-p-freelance-pages-details .urgency-pill { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-freelance-pages-details .urgency-pill[data-val="Flexible"]:has(input:checked) { border-color: var(--c-emerald); background: var(--p-grey-78); color:var(--p-green-10); }
.thl-p-freelance-pages-details .urgency-pill[data-val="Standard"]:has(input:checked) { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-details .urgency-pill[data-val="Urgent"]:has(input:checked) { border-color: var(--amber); background: var(--amber-lt); color:var(--amber-ink); }
.thl-p-freelance-pages-details .urgency-pill[data-val="Emergency"]:has(input:checked) { border-color: var(--red); background: var(--red-lt); color:var(--p-red-4); }
.thl-p-freelance-pages-details .budget-display { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-details .budget-amount { color:var(--g); }
.thl-p-freelance-pages-details .budget-currency { color:var(--sub); }
.thl-p-freelance-pages-details .budget-sep { color:var(--border); }
/* ── Upload zones ── */
.thl-p-freelance-pages-details .upload-zone { border-color: var(--border); background: var(--surf); }
.thl-p-freelance-pages-details .upload-zone:hover, .thl-p-freelance-pages-details .upload-zone.dragover { border-color: var(--g); background: var(--g-lt); }
.thl-p-freelance-pages-details .upload-zone-ico { color:var(--muted); }
.thl-p-freelance-pages-details .upload-zone-txt { color:var(--sub); }
.thl-p-freelance-pages-details .upload-zone-hint { color:var(--muted); }
.thl-p-freelance-pages-details .att-img-thumb { border-color: var(--border); background: var(--surf); }
.thl-p-freelance-pages-details .att-img-size { background: rgba(var(--p-black-1-rgb), 0.62); color:var(--white); }
/* ── Banner tile, .thl-p-freelance-pages-details position numbers and staging header ─────────────────────
   Mirrors property/design/supply/essential/professional photos.php so the
   attachments step reads the same as every other listing wizard. */
.thl-p-freelance-pages-details .att-img-thumb.is-banner { outline-color: var(--g, var(--g)); }
/* The grid reorders live as you drag, .thl-p-freelance-pages-details so the moving tile IS the gap. Ghosting
   it plus a dashed edge makes the landing spot obvious — a bare 0.4 opacity
   read as "nothing is happening". */
.thl-p-freelance-pages-details .att-img-thumb.dragging { outline-color: var(--g, var(--g)); }
.thl-p-freelance-pages-details .att-banner-badge { background: var(--g, var(--g)); color:var(--white); }
.thl-p-freelance-pages-details .att-img-num { background: rgba(var(--p-black-1-rgb), 0.62); color:var(--white); }
.thl-p-freelance-pages-details .pending-label { color:var(--ink, var(--ink)); }
.thl-p-freelance-pages-details .add-more-btn { color:var(--sub, var(--sub)); background: var(--white); border-color: var(--p-blue-41); }
.thl-p-freelance-pages-details .add-more-btn:hover { border-color: var(--g, var(--g)); color:var(--ink, var(--ink)); }
.thl-p-freelance-pages-details .drag-hint { color:var(--muted, var(--muted)); }
.thl-p-freelance-pages-details .att-del { background: rgba(var(--p-black-1-rgb), 0.6); color:var(--white); border-color: var(--white); }
.thl-p-freelance-pages-details .att-del i { color:var(--white); }
.thl-p-freelance-pages-details .att-del:hover { background: var(--red, var(--red)); }
.thl-p-freelance-pages-details .att-drag-handle { background: rgba(var(--p-black-1-rgb), 0.5); color:var(--white); }
.thl-p-freelance-pages-details .att-doc-item { background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-details .att-doc-ico { color:var(--red); }
.thl-p-freelance-pages-details .att-doc-name { color:var(--ink); }
.thl-p-freelance-pages-details .att-doc-size { color:var(--muted); }
.thl-p-freelance-pages-details .att-doc-del { color:var(--muted); }
.thl-p-freelance-pages-details .att-doc-del:hover { color:var(--red); background: var(--red-lt); }
.thl-p-freelance-pages-details .link-row .link-del { color:var(--muted); }
.thl-p-freelance-pages-details .link-row .link-del:hover { color:var(--red); background: var(--red-lt); }
.thl-p-freelance-pages-details .add-link-btn { color:var(--g); border-color: var(--g-dk); }
.thl-p-freelance-pages-details .add-link-btn:hover { background: var(--g-lt); }
.thl-p-freelance-pages-details .video-preview-box { border-color: var(--border); background: var(--p-black-1); }
.thl-p-freelance-pages-details .video-preview-box.portrait { background: var(--p-blue-6); }
.thl-p-freelance-pages-details .video-preview-loading { background: rgba(var(--p-black-1-rgb), 0.7); color:var(--white); }
.thl-p-freelance-pages-details .video-unsupported-card { background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-details .video-unsupported-card i { color:var(--sub); }
.thl-p-freelance-pages-details .video-unsupported-card a { color:var(--info); }
.thl-p-freelance-pages-details .att-count-badge { background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-details .att-limit-txt { color:var(--muted); }
.thl-p-freelance-pages-details .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
/* -- Upload progress overlay (real byte progress) -- */
.thl-p-freelance-pages-details #fl-upl-overlay { background: rgba(var(--p-white-28-rgb), 0.85); }
.thl-p-freelance-pages-details .fl-upl-card { background: var(--white); border-color: var(--border); box-shadow: 0 8px 40px rgba(var(--p-black-1-rgb), 0.13); }
.thl-p-freelance-pages-details .fl-upl-icon { background: var(--g-lt); }
.thl-p-freelance-pages-details .fl-upl-icon i { color:var(--g); }
.thl-p-freelance-pages-details .fl-upl-spin { border-color: var(--border); border-top-color: var(--g); }
.thl-p-freelance-pages-details .fl-upl-pct { color:var(--g); }
.thl-p-freelance-pages-details .fl-upl-title { color:var(--ink); }
.thl-p-freelance-pages-details .fl-upl-sub { color:var(--sub); }
.thl-p-freelance-pages-details .fl-upl-meter { background: var(--border); }
.thl-p-freelance-pages-details .fl-upl-bar { background: linear-gradient(90deg,var(--g),var(--g-vivid)); }
.thl-p-freelance-pages-details .fl-cmodal-backdrop { background: rgba(var(--p-grey-4-rgb), 0.45); }
.thl-p-freelance-pages-details .fl-cmodal-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-freelance-pages-details .fl-cmodal-icon { background: rgba(var(--p-red-15-rgb), 0.1); }
.thl-p-freelance-pages-details .fl-cmodal-icon i { color:var(--red); }
.thl-p-freelance-pages-details .fl-cmodal-title { color:var(--ink); }
.thl-p-freelance-pages-details .fl-cmodal-msg { color:var(--sub); }
.thl-p-freelance-pages-details .fl-cm-cancel { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-freelance-pages-details .fl-cm-cancel:hover { border-color: var(--muted); color:var(--ink); }
.thl-p-freelance-pages-details .fl-cm-confirm { background: var(--red); color:var(--white); }
.thl-p-freelance-pages-details .fl-cm-confirm:hover { background: var(--error); }

/* ── freelance_pages/download_deliverable.php ─────────────────────────────────────────── */
.thl-p-freelance-pages-download-deliverable .err-title { color:var(--ink); }
.thl-p-freelance-pages-download-deliverable .err-msg { color:var(--sub); }
.thl-p-freelance-pages-download-deliverable .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), .3); }

/* ── freelance_pages/pay.php ─────────────────────────────────────────── */
/* ── BREADCRUMB ── */
.thl-p-freelance-pages-pay .bc-bar { background: var(--white); border-bottom-color: var(--border); }
.thl-p-freelance-pages-pay .bc-inner { color:var(--muted); }
.thl-p-freelance-pages-pay .bc-inner a { color:var(--sub); }
.thl-p-freelance-pages-pay .bc-inner a:hover { color:var(--g); }
.thl-p-freelance-pages-pay .bc-sep { color:var(--border); }
.thl-p-freelance-pages-pay .bc-back { background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-pay .bc-back:hover { background: var(--p-green-40); }
.thl-p-freelance-pages-pay .pay-ph-icon { background: var(--g-lt); color:var(--g); }
.thl-p-freelance-pages-pay .pay-ph h1 { color:var(--ink); }
.thl-p-freelance-pages-pay .pay-ph p { color:var(--sub); }
/* ── CARD ── */
.thl-p-freelance-pages-pay .card { background: var(--white); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-freelance-pages-pay .card-head { border-bottom-color: var(--border); }
.thl-p-freelance-pages-pay .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-pay .card-title { color:var(--ink); }
.thl-p-freelance-pages-pay .card-title i { color:var(--g); }
.thl-p-freelance-pages-pay .job-img-placeholder { background: var(--g-lt); color:var(--g); }
.thl-p-freelance-pages-pay .job-nature-pill { background: rgba(var(--p-black-1-rgb), .62); color:var(--white); }
.thl-p-freelance-pages-pay .job-status-pip { background: rgba(var(--g-rgb), .9); color:var(--white); }
/* ── JOB INFO ── */
.thl-p-freelance-pages-pay .job-info { border-bottom-color: var(--border); }
.thl-p-freelance-pages-pay .job-title { color:var(--ink); }
.thl-p-freelance-pages-pay .j-pill { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-pay .j-pill i { color:var(--g); }
.thl-p-freelance-pages-pay .job-loc { color:var(--sub); }
.thl-p-freelance-pages-pay .job-loc i { color:var(--g); }
/* ── JOB META ROW ── */
.thl-p-freelance-pages-pay .job-meta-row { border-bottom-color: var(--border); }
.thl-p-freelance-pages-pay .job-meta-item { color:var(--muted); }
.thl-p-freelance-pages-pay .job-meta-item strong { color:var(--sub); }
.thl-p-freelance-pages-pay .fl-av { border-color: var(--g); }
.thl-p-freelance-pages-pay .fl-verified { background: var(--g); color:var(--white); border-color: var(--white); }
.thl-p-freelance-pages-pay .fl-name { color:var(--ink); }
.thl-p-freelance-pages-pay .fl-role { color:var(--muted); }
.thl-p-freelance-pages-pay .fl-role .v { color:var(--g); }
.thl-p-freelance-pages-pay .fl-price-badge .amount { color:var(--ink); }
.thl-p-freelance-pages-pay .fl-price-badge .label { color:var(--muted); }
/* ── MILESTONES ── */
.thl-p-freelance-pages-pay .milestone-row { border-bottom-color: var(--border); }
.thl-p-freelance-pages-pay .milestone-num { background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-pay .milestone-desc { color:var(--ink); }
.thl-p-freelance-pages-pay .milestone-meta { color:var(--muted); }
.thl-p-freelance-pages-pay .milestone-amount { color:var(--g-dk); }
/* ── ESCROW INFO BOX ── */
.thl-p-freelance-pages-pay .escrow-box { background: var(--g-lt); border-color: var(--g); }
.thl-p-freelance-pages-pay .escrow-box i.lead { color:var(--g); }
.thl-p-freelance-pages-pay .escrow-box-title { color:var(--g-dk); }
.thl-p-freelance-pages-pay .escrow-box-body { color:var(--sub); }
.thl-p-freelance-pages-pay .escrow-steps li { color:var(--sub); }
.thl-p-freelance-pages-pay .escrow-steps li::before { background: var(--g); color:var(--white); }
/* ── ORDER SUMMARY ── */
.thl-p-freelance-pages-pay .breakdown-row { border-bottom-color: var(--border); }
.thl-p-freelance-pages-pay .bl { color:var(--sub); }
.thl-p-freelance-pages-pay .bv { color:var(--ink); }
.thl-p-freelance-pages-pay .fee-note { background: var(--p-orange-29); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-freelance-pages-pay .total-row { border-top-color: var(--border); }
.thl-p-freelance-pages-pay .total-label { color:var(--muted); }
.thl-p-freelance-pages-pay .total-currency { color:var(--sub); }
.thl-p-freelance-pages-pay .total-amount { color:var(--ink); }
/* ── CONVERSION BOX ── */
.thl-p-freelance-pages-pay .conv-box { background: var(--blue-lt); border-color: var(--info); }
.thl-p-freelance-pages-pay .conv-box-title { color:var(--blue-ink); }
.thl-p-freelance-pages-pay .conv-row { color:var(--p-blue-15); }
.thl-p-freelance-pages-pay .conv-note { color:var(--c-blue); }
.thl-p-freelance-pages-pay .secure-badge { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-pay .btn-pay:hover:not(:disabled) { box-shadow: 0 6px 22px rgba(var(--g-rgb), .35); }
.thl-p-freelance-pages-pay .pay-note { color:var(--muted); }
/* ── EXCHANGE ERROR ── */
.thl-p-freelance-pages-pay .exch-error { background: var(--red-lt); border-color: var(--red); }
.thl-p-freelance-pages-pay .exch-error i.big { color:var(--red); }
.thl-p-freelance-pages-pay .exch-error h3 { color:var(--ink); }
.thl-p-freelance-pages-pay .exch-error p { color:var(--sub); }
/* ── SAFETY BOX ── */
.thl-p-freelance-pages-pay .safety-box { background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-pay .safety-title { color:var(--g-dk); }
.thl-p-freelance-pages-pay .safety-list li { color:var(--sub); }
.thl-p-freelance-pages-pay .safety-list li::before { color:var(--g); }

/* ── freelance_pages/payment_callback.php ─────────────────────────────────────────── */
.thl-p-freelance-pages-payment-callback .cb-icon.fail { background: var(--red-lt); color:var(--red); }
.thl-p-freelance-pages-payment-callback .cb-title { color:var(--ink); }
.thl-p-freelance-pages-payment-callback .cb-sub { color:var(--sub); }
.thl-p-freelance-pages-payment-callback .cb-ref { color:var(--sub); background: var(--surface2); }
.thl-p-freelance-pages-payment-callback .cb-btn.green { background: var(--g); color:var(--white); }
.thl-p-freelance-pages-payment-callback .cb-btn.green:hover { background: var(--g-dk); }
.thl-p-freelance-pages-payment-callback .cb-btn.ghost { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-freelance-pages-payment-callback .cb-btn.ghost:hover { border-color: var(--g); color:var(--g); }
.thl-p-freelance-pages-payment-callback .cb-check-wrap { background: var(--g-lt); border-color: var(--g); color:var(--g); }
.thl-p-freelance-pages-payment-callback .cb-title { color:var(--ink); }
.thl-p-freelance-pages-payment-callback .cb-sub { color:var(--sub); }
.thl-p-freelance-pages-payment-callback .card { background: var(--white); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-freelance-pages-payment-callback .card-head { border-bottom-color: var(--border); }
.thl-p-freelance-pages-payment-callback .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-payment-callback .card-title { color:var(--ink); }
.thl-p-freelance-pages-payment-callback .card-title i { color:var(--g); }
.thl-p-freelance-pages-payment-callback .order-row { border-bottom-color: var(--border); }
.thl-p-freelance-pages-payment-callback .or-label { color:var(--sub); }
.thl-p-freelance-pages-payment-callback .or-val { color:var(--ink); }
.thl-p-freelance-pages-payment-callback .or-val.green { color:var(--g-dk); }
.thl-p-freelance-pages-payment-callback .or-val.mono { color:var(--muted); }
.thl-p-freelance-pages-payment-callback .escrow-status-box { background: var(--g-lt); border-color: var(--g); }
.thl-p-freelance-pages-payment-callback .escrow-status-icon { color:var(--g); }
.thl-p-freelance-pages-payment-callback .escrow-status-title { color:var(--g-dk); }
.thl-p-freelance-pages-payment-callback .escrow-status-sub { color:var(--sub); }
.thl-p-freelance-pages-payment-callback .next-step { border-bottom-color: var(--border); }
.thl-p-freelance-pages-payment-callback .next-step-num { background: var(--g); color:var(--white); }
.thl-p-freelance-pages-payment-callback .next-step-title { color:var(--ink); }
.thl-p-freelance-pages-payment-callback .next-step-sub { color:var(--sub); }
.thl-p-freelance-pages-payment-callback .email-note { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-freelance-pages-payment-callback .btn-primary:hover { box-shadow: 0 6px 22px rgba(var(--g-rgb), .3); }

/* ── freelance_pages/review.php ─────────────────────────────────────────── */
.thl-p-freelance-pages-review .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-freelance-pages-review .wiz-brand { color:var(--g); }
.thl-p-freelance-pages-review .ws { color:var(--muted); }
.thl-p-freelance-pages-review .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-review .ws.done { color:var(--g); }
.thl-p-freelance-pages-review .ws-num { border-color: currentColor; }
.thl-p-freelance-pages-review .ws.active .ws-num, .thl-p-freelance-pages-review .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-freelance-pages-review .ws-sep { color:var(--border); }
.thl-p-freelance-pages-review .wiz-prog-wrap { background: var(--border); }
.thl-p-freelance-pages-review .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-review .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.04); }
.thl-p-freelance-pages-review .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-freelance-pages-review .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-freelance-pages-review .step-tab.st-done { color:var(--g-dk); }
.thl-p-freelance-pages-review .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-freelance-pages-review .step-tab-num { border-color: currentColor; }
.thl-p-freelance-pages-review .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-freelance-pages-review .step-tab.st-done   .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
/* ── Hero summary banner ── */
.thl-p-freelance-pages-review .review-hero { background: linear-gradient(135deg, var(--g) 0%, var(--g-dk) 100%); color:var(--white); }
.thl-p-freelance-pages-review .review-hero::after { color:rgba(var(--p-white-28-rgb), 0.07); }
/* ── Completeness bar ── */
.thl-p-freelance-pages-review .completeness-bar { background: var(--white); border-color: var(--border); }
.thl-p-freelance-pages-review .comp-step { border-color: var(--border); }
.thl-p-freelance-pages-review .comp-step.ok { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-freelance-pages-review .comp-step.bad { background: var(--red-lt); color:var(--error); border-color: var(--red); }
/* ── Section cards ── */
.thl-p-freelance-pages-review .card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-freelance-pages-review .card-head { border-bottom-color: var(--border); }
.thl-p-freelance-pages-review .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-review .card-head-ico { background: var(--g-lt); color:var(--g); }
.thl-p-freelance-pages-review .card-title { color:var(--ink); }
.thl-p-freelance-pages-review .card-sub { color:var(--sub); }
.thl-p-freelance-pages-review .edit-btn { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-review .edit-btn:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-freelance-pages-review .rv-table tr { border-bottom-color: var(--border); }
.thl-p-freelance-pages-review .rv-table td:first-child { color:var(--sub); }
.thl-p-freelance-pages-review .rv-table td:last-child { color:var(--ink); }
.thl-p-freelance-pages-review .rv-desc { background: var(--surf); border-color: var(--border); color:var(--ink); }
.thl-p-freelance-pages-review .rv-desc-fade { background: linear-gradient(to bottom, transparent, var(--surf)); }
.thl-p-freelance-pages-review .rv-expand-btn { color:var(--g); }
.thl-p-freelance-pages-review .rv-tag { background: var(--g-lt); color:var(--g-dk); }
/* ── Budget display ── */
.thl-p-freelance-pages-review .rv-budget-box { background: var(--g-lt); border-color: var(--g); }
.thl-p-freelance-pages-review .rv-budget-amount { color:var(--g-dk); }
.thl-p-freelance-pages-review .rv-budget-cur { color:var(--sub); }
.thl-p-freelance-pages-review .rv-budget-sep { color:var(--muted); }
.thl-p-freelance-pages-review .rv-img-thumb { border-color: var(--border); }
/* ── Doc / link items ── */
.thl-p-freelance-pages-review .rv-file-item { background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-review .rv-file-name { color:var(--ink); }
.thl-p-freelance-pages-review .rv-file-sub { color:var(--muted); }
/* ── Map thumbnail ── */
.thl-p-freelance-pages-review .rv-map-link { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink-2); }
.thl-p-freelance-pages-review .rv-map-link:hover { background: var(--blue-bglt); }
.thl-p-freelance-pages-review .cf-row { border-bottom-color: var(--border); }
.thl-p-freelance-pages-review .cf-key { color:var(--sub); }
.thl-p-freelance-pages-review .cf-val { color:var(--ink); }
/* ── Publish action area ── */
.thl-p-freelance-pages-review .publish-area { background: var(--white); border-color: var(--border); box-shadow: 0 8px 30px rgba(var(--g-rgb), 0.1); border-top-color: var(--g); }
.thl-p-freelance-pages-review .publish-title { color:var(--ink); }
.thl-p-freelance-pages-review .publish-sub { color:var(--sub); }
.thl-p-freelance-pages-review .btn-publish { box-shadow: 0 4px 18px rgba(var(--g-rgb), 0.35); }
.thl-p-freelance-pages-review .btn-publish:hover { box-shadow: 0 6px 22px rgba(var(--g-rgb), 0.4); }
.thl-p-freelance-pages-review .back-link { color:var(--sub); }
.thl-p-freelance-pages-review .back-link:hover { color:var(--g-dk); }
.thl-p-freelance-pages-review .publish-note { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-freelance-pages-review .empty-val { color:var(--muted); }

/* ── freelance_pages/review_include.php ───────────────────────────────────────────  (SHARED INCLUDE - global, NOT page-scoped:
   this markup renders inside every other page, so a page scope would
   never match and its colours would silently vanish) */
.flrsb { color:var(--border-2); }
.flrsf { color:var(--amber); }
.flr-btn-pending { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.flr-btn-pending:hover { background: var(--amber); border-color: var(--amber); color:var(--white); box-shadow: 0 6px 18px rgba(245,158,11,.3); }
.flr-btn-pending i { color:var(--amber); }
.flr-btn-pending:hover i { color:var(--white); }
.flr-btn-reviewed { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.flr-btn-reviewed:hover { background: var(--g); border-color: var(--g); color:var(--white); box-shadow: 0 6px 18px rgba(0,181,63,.28); }
.flr-btn-reviewed:hover i { color:var(--white); }
.flr-btn-locked { background: var(--surface2); border-color: var(--border); color:var(--muted); }
/* ── OVERLAY

   position:fixed ensures it covers the full viewport.

   z-index:9999 puts it above everything.

   The JS trick (body.appendChild) removes it from the card's DOM subtree

   entirely, so the card's transform/overflow can never affect it. ── */

.flr-overlay { background: rgba(var(--p-black-10-rgb),.6); }
/* Modal box */

.flr-modal { background: var(--white); box-shadow: 0 32px 90px rgba(0,0,0,.22); }
/* Header */

.flr-hd { border-bottom-color: var(--surf-2); background: linear-gradient(135deg,var(--amber-lt) 0%,var(--white) 60%); }
.flr-hd-icon { background: linear-gradient(135deg,var(--amber-bglt),var(--amber-lt)); border-color: var(--warn); box-shadow: 0 2px 8px rgba(245,158,11,.18); }
.flr-hd-info h3 { color:var(--ink); }
.flr-hd-info p { color:var(--muted); }
.flr-hd-close { background: var(--surface2); color:var(--p-blue-34); }
.flr-hd-close:hover { background: var(--p-red-23); color:var(--red); }
/* Tabs */

.flr-tabs { border-bottom-color: var(--border); background: var(--surf); }
.flr-tab { color:var(--muted); border-bottom-color: transparent; }
.flr-tab:hover { color:var(--p-blue-19); background: var(--surface2); }
.flr-tab.active { color:var(--ink); border-bottom-color: var(--amber); background: var(--white); }
.flr-tab-dot { background: var(--g); box-shadow: 0 0 0 2px var(--g-lt); }
.flr-bd::-webkit-scrollbar-thumb { background: var(--border); }
.flr-win.open { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.flr-win.locked { background: var(--surface2); border-color: var(--border); color:var(--muted); }
/* Review card */

.flr-rc { background: var(--surf); border-color: var(--border); }
.flr-rc-av { border-color: var(--g); box-shadow: 0 0 0 3px var(--g-lt); }
.flr-rc-name { color:var(--ink); }
.flr-rc-meta { color:var(--muted); }
.flr-overall-n { color:var(--ink); }
.flr-overall-of { color:var(--muted); }
.flr-subgrid { background: var(--white); border-color: var(--border); }
.flr-sl { color:var(--muted); }
.flr-sn { color:var(--ink); }
.flr-quote { color:var(--p-blue-19); border-left-color: var(--warn); background: linear-gradient(to right,rgba(var(--p-amber-8-rgb),.3),transparent); }
.flr-hire-y { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.flr-hire-n { background: var(--red-lt); border-color: var(--red); color:var(--error); }
/* Edit toggle */

.flr-edit-link { color:var(--muted); }
.flr-edit-link:hover { color:var(--p-blue-19); }
.flr-flbl { color:var(--p-blue-19); }
.flr-req { color:var(--red); }
.flr-bigstar { color:var(--border); }
.flr-bigstar.on, .flr-bigstar:hover { color:var(--amber); }
.flr-rlbl { color:var(--muted); }
.flr-subwrap { background: var(--surf); border-color: var(--border); }
.flr-sflbl { color:var(--p-blue-34); }
.flr-ministar { color:var(--border-2); }
.flr-ministar.on, .flr-ministar:hover { color:var(--amber); }
.flr-hirebtn { border-color: var(--border); background: var(--surf); color:var(--p-blue-34); }
.flr-hirebtn.on-yes { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.flr-hirebtn.on-no { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.flr-ta { border-color: var(--border); color:var(--ink); background: var(--white); }
.flr-ta:focus { border-color: var(--amber); box-shadow: 0 0 0 4px rgba(245,158,11,.1); }
.flr-chars { color:var(--muted); }
/* Footer */

.flr-ft { border-top-color: var(--surf-2); background: var(--p-white-16); }
.flr-sbtn.gold { background: var(--amber); color:var(--white); }
.flr-sbtn.gold:hover { background: var(--warn); box-shadow: 0 5px 16px rgba(245,158,11,.4); }
.flr-sbtn.green { background: var(--g); color:var(--white); }
.flr-sbtn.green:hover { background: var(--g-dk); box-shadow: 0 5px 16px rgba(0,181,63,.35); }
.flr-cbtn { border-color: var(--border); background: var(--white); color:var(--p-blue-34); }
.flr-cbtn:hover { background: var(--surface2); color:var(--ink); border-color: var(--border-2); }
.flr-ftnote { color:var(--muted); }
/* Empty state */

.flr-empty { color:var(--muted); }

/* ── freelance_pages/setup.php ─────────────────────────────────────────── */
.thl-p-freelance-pages-setup .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-freelance-pages-setup .wiz-brand { color:var(--g); }
.thl-p-freelance-pages-setup .ws { color:var(--muted); }
.thl-p-freelance-pages-setup .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-setup .ws.done { color:var(--g); }
.thl-p-freelance-pages-setup .ws-num { border-color: currentColor; }
.thl-p-freelance-pages-setup .ws.active .ws-num, .thl-p-freelance-pages-setup .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-freelance-pages-setup .ws-sep { color:var(--border); }
.thl-p-freelance-pages-setup .wiz-prog-wrap { background: var(--border); }
.thl-p-freelance-pages-setup .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-setup .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.04); }
.thl-p-freelance-pages-setup .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-freelance-pages-setup .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-freelance-pages-setup .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-freelance-pages-setup .step-tab.st-done { color:var(--g-dk); }
.thl-p-freelance-pages-setup .step-tab-num { border-color: currentColor; }
.thl-p-freelance-pages-setup .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-freelance-pages-setup .step-tab.st-done   .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-freelance-pages-setup .job-header { background: var(--white); border-color: var(--border); }
.thl-p-freelance-pages-setup .job-ico { background: var(--g-lt); color:var(--g); }
.thl-p-freelance-pages-setup .job-title-txt { color:var(--ink); }
.thl-p-freelance-pages-setup .job-meta-txt { color:var(--sub); }
.thl-p-freelance-pages-setup .lock-tag { background: var(--p-amber-7); color:var(--p-orange-5); border-color: var(--warn); }
.thl-p-freelance-pages-setup .card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-freelance-pages-setup .card-head { border-bottom-color: var(--border); }
.thl-p-freelance-pages-setup .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-setup .card-head-title { color:var(--ink); }
.thl-p-freelance-pages-setup .card-head-sub { color:var(--sub); }
.thl-p-freelance-pages-setup .sec-label { color:var(--muted); }
.thl-p-freelance-pages-setup .sec-label::after { background: var(--border); }
.thl-p-freelance-pages-setup .fl-label { color:var(--ink); }
.thl-p-freelance-pages-setup .fl-hint { color:var(--sub); }
.thl-p-freelance-pages-setup .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-freelance-pages-setup .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-freelance-pages-setup .opt-pill { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-freelance-pages-setup .opt-pill:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-freelance-pages-setup .opt-pill:has(input[type="radio"]:checked), .thl-p-freelance-pages-setup .opt-pill:has(input[type="checkbox"]:checked) { border-color: var(--g); background: var(--g); color:var(--white); }
.thl-p-freelance-pages-setup .chk-item { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-freelance-pages-setup .chk-item:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-freelance-pages-setup .chk-item.checked { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-setup .chk-item.checked::before { color:var(--g); }
.thl-p-freelance-pages-setup .chk-item:not(.checked)::before { color:var(--border); }
.thl-p-freelance-pages-setup .char-count { color:var(--muted); }
.thl-p-freelance-pages-setup .char-count.over { color:var(--red); }
.thl-p-freelance-pages-setup .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }

/* ── freelance_pages/view_freelance.php ─────────────────────────────────────────── */
body.thl-p-freelance-pages-view-freelance { color:var(--ink); }/* ── BREADCRUMB ── */
.thl-p-freelance-pages-view-freelance .vf-bc { background: var(--white); border-bottom-color: var(--border); }
.thl-p-freelance-pages-view-freelance .vf-bc-inner { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .vf-bc-inner a { color:var(--sub); }
.thl-p-freelance-pages-view-freelance .vf-bc-inner a:hover { color:var(--g); }
.thl-p-freelance-pages-view-freelance .vf-bc-sep { color:var(--border); }
.thl-p-freelance-pages-view-freelance .vf-bc-cur { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .vf-bc-back { background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .vf-bc-back:hover { background: var(--p-green-40); }
/* ── STICKY NAV ── */
.thl-p-freelance-pages-view-freelance .vf-snav { background: rgba(var(--p-white-28-rgb), 0.96); border-bottom-color: var(--border); box-shadow: 0 2px 12px rgba(var(--p-black-1-rgb), .06); }
.thl-p-freelance-pages-view-freelance .vf-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-freelance-pages-view-freelance .vf-tab:hover { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .vf-tab.active { color:var(--g); border-bottom-color: var(--g); }
.thl-p-freelance-pages-view-freelance .vf-nav-ic { border-color: var(--border); background: var(--surf); color:var(--sub); }
.thl-p-freelance-pages-view-freelance .vf-nav-ic:hover { border-color: var(--g); color:var(--g); }
.thl-p-freelance-pages-view-freelance .vf-nav-apply { background: var(--g); color:var(--white); box-shadow: 0 3px 10px rgba(var(--g-rgb), 0.28); }
.thl-p-freelance-pages-view-freelance .vf-nav-apply:hover { background: var(--g-dk); color:var(--white); }
/* ── APPLY CARD - not available variant ── */
.thl-p-freelance-pages-view-freelance .vf-apply-card-closed { border-color: var(--border); background: var(--surf); }
.thl-p-freelance-pages-view-freelance .vf-apply-card-closed .vf-closed-icon { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-freelance-pages-view-freelance .vf-apply-card-closed .vf-closed-title { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .vf-apply-card-closed .vf-closed-sub { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .vf-gallery { background: var(--ink); }
.thl-p-freelance-pages-view-freelance .vf-gc-ovr { background: rgba(var(--p-black-1-rgb), .22); }
.thl-p-freelance-pages-view-freelance .vf-gc-ovr i { color:rgba(var(--p-white-28-rgb), .9); }
.thl-p-freelance-pages-view-freelance .pill-nature { background: rgba(var(--p-green-18-rgb), .85); color:var(--white); }
.thl-p-freelance-pages-view-freelance .pill-urgency-flex { background: rgba(var(--p-green-27-rgb), .82); color:var(--p-grey-78); }
.thl-p-freelance-pages-view-freelance .pill-urgency-std { background: rgba(var(--p-green-18-rgb), .82); color:var(--g-lt); }
.thl-p-freelance-pages-view-freelance .pill-urgency-urg { background: rgba(var(--p-orange-19-rgb), .85); color:var(--amber-lt); }
.thl-p-freelance-pages-view-freelance .pill-urgency-emg { background: rgba(var(--p-red-9-rgb), .85); color:var(--red-lt); }
.thl-p-freelance-pages-view-freelance .vf-photo-count { background: rgba(var(--p-black-1-rgb), .65); color:var(--white); border-color: rgba(var(--p-white-28-rgb), .15); }
.thl-p-freelance-pages-view-freelance .vf-photo-count:hover { background: rgba(var(--p-black-1-rgb), .85); }
.thl-p-freelance-pages-view-freelance .vf-no-img { background: linear-gradient(135deg, var(--g-lt) 0%, var(--p-grey-82) 50%, var(--g-lt) 100%); border-color: var(--g); color:var(--g-dk); }
/* ── CARDS ── */
.thl-p-freelance-pages-view-freelance .card { background: var(--card); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-freelance-pages-view-freelance .card-hr { border-top-color: var(--border); }
.thl-p-freelance-pages-view-freelance .sec-label { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .sec-label::after { background: var(--border); }
/* ── JOB HEADER ── */
.thl-p-freelance-pages-view-freelance .vf-nature-tag { background: var(--g-lt); color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .vf-title { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .vf-loc-line { color:var(--sub); }
.thl-p-freelance-pages-view-freelance .vf-loc-line i { color:var(--g); }
/* ── BUDGET BANNER ── */
.thl-p-freelance-pages-view-freelance .vf-budget-banner { background: linear-gradient(120deg, var(--g-lt) 0%, var(--p-grey-82) 60%, var(--g-lt) 100%); border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .vf-budget-banner::before { background: linear-gradient(90deg, var(--g), var(--g-dk), var(--g)); }
.thl-p-freelance-pages-view-freelance .vf-budget-type-label { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .vf-budget-val { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .vf-budget-sub { color:var(--sub); }
.thl-p-freelance-pages-view-freelance .vf-budget-sub i { color:var(--g); }
.thl-p-freelance-pages-view-freelance .vf-stat { background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-view-freelance .vf-stat:hover { border-color: var(--g); box-shadow: 0 3px 12px rgba(var(--g-rgb), .1); }
.thl-p-freelance-pages-view-freelance .vf-stat-val { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .vf-stat-key { color:var(--muted); }
/* ── DESCRIPTION ── */
.thl-p-freelance-pages-view-freelance .vf-desc-text { color:var(--sub); }
.thl-p-freelance-pages-view-freelance .vf-desc-collapsed::after { background: linear-gradient(transparent, white); }
.thl-p-freelance-pages-view-freelance .vf-desc-toggle { color:var(--g); }
.thl-p-freelance-pages-view-freelance .vf-desc-toggle:hover { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .vf-meta-pill { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-view-freelance .vf-meta-pill i { color:var(--g); }
.thl-p-freelance-pages-view-freelance .vf-rv-table tr { border-bottom-color: var(--border); }
.thl-p-freelance-pages-view-freelance .vf-rv-table td:first-child { color:var(--sub); }
.thl-p-freelance-pages-view-freelance .vf-rv-table td:last-child { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .cf-row { border-bottom-color: var(--border); }
.thl-p-freelance-pages-view-freelance .cf-key { color:var(--sub); }
.thl-p-freelance-pages-view-freelance .cf-val { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .cf-tag { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-view-freelance .vf-img-thumb { border-color: var(--border); }
.thl-p-freelance-pages-view-freelance .vf-img-thumb:hover { border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .vf-doc-item { background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-view-freelance .vf-doc-item i { color:var(--red); }
.thl-p-freelance-pages-view-freelance .vf-doc-name { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .vf-doc-size { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .vf-link-item { background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-view-freelance .vf-link-item:hover { border-color: var(--g); background: var(--g-lt); }
.thl-p-freelance-pages-view-freelance .vf-link-item.video i { color:var(--vivid-red); }
.thl-p-freelance-pages-view-freelance .vf-link-item.ext   i { color:var(--g); }
.thl-p-freelance-pages-view-freelance .vf-link-url { color:var(--blue); }
.thl-p-freelance-pages-view-freelance .vf-link-label { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .vf-link-sub { color:var(--muted); }
/* ── VIDEO SECTION ── */
.thl-p-freelance-pages-view-freelance .vf-video-card-inner { border-color: var(--border); }
.thl-p-freelance-pages-view-freelance .lp-platform-badge { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-freelance-pages-view-freelance .lp-landscape { background: var(--p-black-1); }
.thl-p-freelance-pages-view-freelance .lp-portrait-wrap { background: var(--ink-3); }
.thl-p-freelance-pages-view-freelance .lp-portrait-box { background: var(--p-black-1); }
.thl-p-freelance-pages-view-freelance .lp-load-overlay { background: rgba(var(--p-black-1-rgb), .55); color:var(--white); }
.thl-p-freelance-pages-view-freelance .lp-fallback { color:var(--muted); background: var(--surf); }
.thl-p-freelance-pages-view-freelance .lp-link-only { background: var(--surf); }
.thl-p-freelance-pages-view-freelance .lp-link-only-icon.fb { background: var(--p-blue-56); color:var(--facebook); }
.thl-p-freelance-pages-view-freelance .lp-link-only-icon.ig { background: var(--p-pink-6); color:var(--p-pink-4); }
.thl-p-freelance-pages-view-freelance .lp-link-only-title { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .lp-link-only-note { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .lp-link-only-btn.fb { background: var(--facebook); color:var(--white); }
.thl-p-freelance-pages-view-freelance .lp-link-only-btn.ig { background: linear-gradient(135deg,var(--p-orange-17),var(--p-orange-13),var(--p-red-11),var(--p-pink-2),var(--p-pink-1)); color:var(--white); }
/* ── MAP ── */
.thl-p-freelance-pages-view-freelance .vf-map-full { border-color: var(--border); }
.thl-p-freelance-pages-view-freelance .vf-tile-btn { background: rgba(var(--p-white-28-rgb), .95); border-color: rgba(var(--p-black-1-rgb), .12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), .1); }
.thl-p-freelance-pages-view-freelance .vf-tile-btn:hover { background: var(--white); }
.thl-p-freelance-pages-view-freelance .vf-tile-btn.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .vf-no-map { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-freelance-pages-view-freelance .map-pin-body { border-color: rgba(var(--p-white-28-rgb), .75); background: var(--g); }
/* ── APPLY CARD ── */
.thl-p-freelance-pages-view-freelance .vf-apply-card { border-color: var(--g); background: linear-gradient(135deg, var(--p-grey-82) 0%, var(--white) 60%); }
.thl-p-freelance-pages-view-freelance .vf-apply-title { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .vf-apply-sub { color:var(--sub); }
.thl-p-freelance-pages-view-freelance .btn-apply-big { box-shadow: 0 4px 18px rgba(var(--g-rgb), .32); }
.thl-p-freelance-pages-view-freelance .btn-apply-big:hover { box-shadow: 0 6px 22px rgba(var(--g-rgb), .4); }
.thl-p-freelance-pages-view-freelance .vf-bids-count { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .vf-bids-count strong { color:var(--ink); }
/* ── JOB SUMMARY CARD ── */
.thl-p-freelance-pages-view-freelance .vf-summary-row { border-bottom-color: var(--border); }
.thl-p-freelance-pages-view-freelance .vf-summary-key { color:var(--sub); }
.thl-p-freelance-pages-view-freelance .vf-summary-val { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .vf-poster-av { border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .vf-verified-dot { background: var(--g); border-color: var(--white); }
.thl-p-freelance-pages-view-freelance .vf-verified-dot i { color:var(--white); }
.thl-p-freelance-pages-view-freelance .vf-poster-name { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .vf-poster-role { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .vf-poster-role .v { color:var(--g); }
.thl-p-freelance-pages-view-freelance .vf-poster-note { background: var(--surf); border-color: var(--border); color:var(--muted); }
/* ── SAFETY ── */
.thl-p-freelance-pages-view-freelance .safety-card { background: var(--amber-lt); border-color: var(--warn); }
.thl-p-freelance-pages-view-freelance .safety-title { color:var(--amber-ink); }
.thl-p-freelance-pages-view-freelance .safety-title i { color:var(--amber); }
.thl-p-freelance-pages-view-freelance .safety-list li { color:var(--amber-ink); }
.thl-p-freelance-pages-view-freelance .safety-list li::before { color:var(--amber); }
/* ── SIMILAR JOB CARDS ── */
.thl-p-freelance-pages-view-freelance .fjc { background: var(--card); border-color: var(--border); }
.thl-p-freelance-pages-view-freelance .fjc:hover { box-shadow: var(--sh2); border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .fjc-img { background: var(--surf); }
.thl-p-freelance-pages-view-freelance .fjc-img-placeholder { color:var(--g); }
.thl-p-freelance-pages-view-freelance .fjc-nature { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .fjc-title { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .fjc-loc { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .fjc-loc i { color:var(--g); }
.thl-p-freelance-pages-view-freelance .fjc-budget { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .fjc-ago { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .fjc-scroll::-webkit-scrollbar-track { background: transparent; }
.thl-p-freelance-pages-view-freelance .fjc-scroll::-webkit-scrollbar-thumb { background: var(--g-br); }
/* ══════════════════════════════════════════════════════════════

   REVIEWS SECTION — inline (3 shown) + slide panel

══════════════════════════════════════════════════════════════ */

/* ── REVIEW SUMMARY BAR ── */
.thl-p-freelance-pages-view-freelance .rv-summary { background: linear-gradient(120deg, var(--g-lt) 0%, var(--p-white-22) 60%, var(--g-lt) 100%); border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .rv-summary::before { background: linear-gradient(90deg, var(--g), var(--g-vivid), var(--g)); }
.thl-p-freelance-pages-view-freelance .rv-big-num { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .rv-big-count { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .rv-divider { background: var(--g-br); }
.thl-p-freelance-pages-view-freelance .rv-sub-row { color:var(--sub); }
.thl-p-freelance-pages-view-freelance .rv-sub-bar-wrap { background: var(--p-green-47); }
.thl-p-freelance-pages-view-freelance .rv-sub-bar-fill { background: var(--g); }
.thl-p-freelance-pages-view-freelance .rv-sub-val { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .rv-hire-again { background: var(--card); border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .rv-hire-pct { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .rv-hire-label { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .rv-hire-icon { color:var(--g); }
/* ── INDIVIDUAL REVIEW CARD (inline) ── */
.thl-p-freelance-pages-view-freelance .rv-card { background: var(--card); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-freelance-pages-view-freelance .rv-card:hover { box-shadow: var(--sh2); border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .rv-av { border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .rv-reviewer-name { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .rv-reviewer-name:hover { color:var(--g); }
.thl-p-freelance-pages-view-freelance .rv-job-ref { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .rv-job-ref i { color:var(--g); }
.thl-p-freelance-pages-view-freelance .rv-overall-num { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .rv-date { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .rv-text { color:var(--sub); border-left-color: var(--g); }
.thl-p-freelance-pages-view-freelance .rv-sub-chip { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-view-freelance .rv-sub-chip i { color:var(--amber); }
.thl-p-freelance-pages-view-freelance .rv-sub-chip strong { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .rv-hire-badge.yes { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .rv-hire-badge.no { background: var(--red-lt); border-color: var(--red); color:var(--error); }
/* ── EMPTY REVIEWS ── */
.thl-p-freelance-pages-view-freelance .rv-empty { background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-view-freelance .rv-empty i { color:var(--border); }
.thl-p-freelance-pages-view-freelance .rv-empty p { color:var(--muted); }
/* ── POSTER RATING MINI (shown in poster card sidebar) ── */
.thl-p-freelance-pages-view-freelance .rv-poster-mini { border-top-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-view-freelance .rv-poster-mini-num { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .rv-poster-mini a { color:var(--g); }
.thl-p-freelance-pages-view-freelance .rp-panel { background: var(--card); box-shadow: -8px 0 40px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-freelance-pages-view-freelance .rp-topbar { border-bottom-color: var(--border); background: var(--card); }
.thl-p-freelance-pages-view-freelance .rp-topbar::after { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-freelance-pages-view-freelance .rp-close { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-view-freelance .rp-close:hover { background: var(--p-red-23); border-color: var(--red); color:var(--red); }
.thl-p-freelance-pages-view-freelance .rp-poster-av { border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .rp-poster-name { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .rp-poster-name .rp-verified { color:var(--g); background: var(--g-lt); border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .rp-topbar-sub { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .rp-body::-webkit-scrollbar-thumb { background: var(--g-br); }
/* Summary band inside panel */
.thl-p-freelance-pages-view-freelance .rp-summary { background: linear-gradient(120deg, var(--g-lt) 0%, var(--p-white-22) 60%, var(--g-lt) 100%); border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .rp-summary::before { background: linear-gradient(90deg, var(--g), var(--g-vivid), var(--g)); }
.thl-p-freelance-pages-view-freelance .rp-big-num { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .rp-big-count { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .rp-sum-divider { background: var(--g-br); }
.thl-p-freelance-pages-view-freelance .rp-bar-row { color:var(--sub); }
.thl-p-freelance-pages-view-freelance .rp-bar-label i { color:var(--g); }
.thl-p-freelance-pages-view-freelance .rp-bar-track { background: var(--p-green-47); }
.thl-p-freelance-pages-view-freelance .rp-bar-fill { background: var(--g); }
.thl-p-freelance-pages-view-freelance .rp-bar-val { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .rp-hire-chip { background: var(--card); border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .rp-hire-pct { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .rp-hire-label { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .rp-hire-icon { color:var(--g); }
/* Section label inside panel */
.thl-p-freelance-pages-view-freelance .rp-sec-label { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .rp-sec-label::after { background: var(--border); }
/* Review cards inside panel */
.thl-p-freelance-pages-view-freelance .rp-rv-card { background: var(--card); border-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.04); }
.thl-p-freelance-pages-view-freelance .rp-rv-card:hover { border-color: var(--g); box-shadow: 0 4px 18px rgba(var(--g-rgb), .08); }
.thl-p-freelance-pages-view-freelance .rp-rv-av { border-color: var(--g); }
.thl-p-freelance-pages-view-freelance .rp-rv-name { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .rp-rv-job { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .rp-rv-job i { color:var(--g); }
.thl-p-freelance-pages-view-freelance .rp-rv-big { color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .rp-rv-date { color:var(--muted); }
.thl-p-freelance-pages-view-freelance .rp-rv-text { color:var(--sub); border-left-color: var(--g); background: var(--p-white-27); }
.thl-p-freelance-pages-view-freelance .rp-chip { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-freelance-pages-view-freelance .rp-chip i { color:var(--amber); }
.thl-p-freelance-pages-view-freelance .rp-chip strong { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .rp-hire-badge.yes { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-freelance-pages-view-freelance .rp-hire-badge.no { background: var(--red-lt); border-color: var(--red); color:var(--error); }
/* No reviews empty state inside panel */
.thl-p-freelance-pages-view-freelance .rp-empty { background: var(--surf); border-color: var(--border); }
.thl-p-freelance-pages-view-freelance .rp-empty i { color:var(--border); }
.thl-p-freelance-pages-view-freelance .rp-empty h4 { color:var(--ink); }
.thl-p-freelance-pages-view-freelance .rp-empty p { color:var(--muted); }
/* ── LIGHTBOX ── */
.thl-p-freelance-pages-view-freelance .lb { background: rgba(var(--p-black-3-rgb), .96); }
.thl-p-freelance-pages-view-freelance .lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), .07); }
.thl-p-freelance-pages-view-freelance .lb-title { color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-freelance-pages-view-freelance .lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-freelance-pages-view-freelance .lb-x { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-freelance-pages-view-freelance .lb-x:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-freelance-pages-view-freelance .lb-arrow { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .8); }
.thl-p-freelance-pages-view-freelance .lb-arrow:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-freelance-pages-view-freelance .lb-th { border-color: transparent; }
.thl-p-freelance-pages-view-freelance .lb-th.on { border-color: var(--g); }
/* ── SHARE MODAL ── */
.thl-p-freelance-pages-view-freelance .share-ov { background: rgba(var(--p-black-1-rgb), .5); }
.thl-p-freelance-pages-view-freelance .share-box { background: var(--card); box-shadow: var(--sh3); }
.thl-p-freelance-pages-view-freelance .sb-copy i { color:var(--g); }
.thl-p-freelance-pages-view-freelance .sb-wa i { color:var(--whatsapp-color); }
.thl-p-freelance-pages-view-freelance .sb-tg i { color:var(--telegram-color); }
.thl-p-freelance-pages-view-freelance .sb-fb i { color:var(--facebook); }
.thl-p-freelance-pages-view-freelance .sb-tw i { color:var(--ink-3); }

/* ── header.php ───────────────────────────────────────────  (SHARED INCLUDE - global, NOT page-scoped:
   this markup renders inside every other page, so a page scope would
   never match and its colours would silently vanish) */
.thl-header { background-color: var(--hg); border-bottom-color: rgba(var(--p-black-1-rgb), 0.15); }
.thl-brand-name { color:var(--white); }
.thl-brand-name em { color:var(--p-green-36); }
.thl-brand-tag { color:rgba(var(--p-white-28-rgb), 0.82); }
.thl-nav-link { color:var(--white); background-color: transparent; }
.thl-nav-link i:not(.caret) { color:var(--white); }
.thl-nav-link .caret { color:var(--white); }
.thl-nav-link:hover, .thl-nav-item:hover > .thl-nav-link { background-color: var(--hg-hover); color:var(--white); }
/* ── Active nav link ─────────────────────────────────────────── */

.thl-nav-link.active { background-color: rgba(var(--p-white-28-rgb), 0.18); }
.thl-nav-item:hover > .thl-nav-link.active { background-color: var(--hg-hover); }
/* ─────────────────────────────────────────────────────────────── */

.thl-dd { background-color: var(--white); box-shadow: 0 10px 30px rgba(var(--p-black-1-rgb), 0.18); }
.thl-dd::before { background: transparent; }
.dd-top { background-color: var(--hg); }
.dd-top-title { color:rgba(var(--p-white-28-rgb), 0.9); }
.dd-top-sub { color:rgba(var(--p-white-28-rgb), 0.82); }
.dd-body { background-color: var(--white); }
.dd-col + .dd-col { border-left-color: var(--surface2); }
.dd-col-hd { color:var(--muted); }
.dd-col-hd i { color:var(--hg); }
.dd-item:hover { background: var(--g-bglt); }
.dd-item:hover .ddi-ico { background-color: var(--hg); color:var(--white); }
.dd-item:hover .ddi-name { color:var(--hg-dk); }
.ddi-ico { background-color: var(--surface2); color:var(--hg-dk); }
.ddi-name { color:var(--ink-2); }
.ddi-desc { color:var(--muted); }
.dd-foot { border-top-color: var(--surface2); background-color: var(--p-white-15); }
.dd-cta { background-color: var(--g); color:var(--white); }
.dd-cta:hover { background-color: var(--hg); }
.dd-hint { color:var(--muted); }
.dd-hint i { color:var(--hg); }
.dd-feature { background: linear-gradient(90deg,var(--p-grey-77),var(--p-white-22)); border-bottom-color: var(--border); }
.dd-feature:hover { background: linear-gradient(90deg,var(--p-green-50),var(--p-grey-80)); }
.dd-feature-ico { background: var(--hg); color:var(--white); }
.dd-feature-name { color:var(--hg-dk); }
.dd-feature-desc { color:var(--p-blue-34); }
.dd-feature-arw { color:var(--hg); }
#thlMoreDd { background-color: var(--hg); box-shadow: 0 10px 30px rgba(var(--p-black-1-rgb), 0.25); }
#thlMoreDd::before { background: transparent; }
.thl-more-link { color:var(--white); }
.thl-more-link:hover { background-color: var(--hg-hover); color:var(--white); }
.thl-more-link i { color:var(--white); }
/* ── Active link inside the More dropdown ───────────────────── */

.thl-more-link.active { background-color: rgba(var(--p-white-28-rgb), 0.18); }
.thl-more-link.active:hover { background-color: var(--hg-hover); }
.thl-signin { border-color: rgba(var(--p-white-28-rgb), 0.35); background-color: transparent; color:var(--white); }
.thl-signin:hover { background-color: var(--hg-hover); border-color: rgba(var(--p-white-28-rgb), 0.6); }
.thl-register { background-color: var(--white); color:var(--hg-dk); box-shadow: 0 1px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-register:hover { background-color: var(--g-lt); }
.thl-notif:hover { background-color: rgba(var(--p-white-28-rgb), 0.12); }
.thl-notif-av { border-color: rgba(var(--p-white-28-rgb), 0.3); background-color: rgba(var(--p-white-28-rgb), 0.08); }
.thl-notif:hover .thl-notif-av { border-color: rgba(var(--p-white-28-rgb), 0.6); background-color: rgba(var(--p-white-28-rgb), 0.18); }
.thl-notif-av i { color:var(--p-orange-20); }
.thl-notif:hover .thl-notif-av i { color:var(--p-amber-5); }
.thl-notif-badge { background-color: var(--red); color:var(--white); border-color: var(--hg); }
.thl-notif-dd { background-color: var(--white); box-shadow: 0 0 6px rgba(var(--p-black-1-rgb), 0.25); }
.thl-notif-dd::before { background: transparent; }
.thl-notif-dd-head { background-color: var(--hg); }
.thl-notif-dd-head-av { border-color: rgba(var(--p-white-28-rgb), 0.35); background-color: rgba(var(--p-white-28-rgb), 0.1); }
.thl-notif-dd-head-av i { color:var(--p-amber-5); }
.thl-notif-dd-head-title { color:var(--white); }
.thl-notif-dd-head-sub { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-notif-dd-body::-webkit-scrollbar-track { background: transparent; }
.thl-notif-row:hover { background-color: var(--g-bglt); }
.thl-notif-row:hover .thl-notif-row-ico { background-color: var(--hg) !important; color:var(--white) !important; }
.thl-notif-row-label { color:var(--ink-2); }
.thl-notif-row:hover .thl-notif-row-label { color:var(--hg-dk); }
.thl-notif-row-count { background-color: var(--red); color:var(--white); }
.dr-notif-section { border-bottom-color: rgba(var(--p-white-28-rgb), 0.12); }
.dr-notif-section-label { color:rgba(var(--p-white-28-rgb), 0.62); }
.dr-notif-section-badge { background-color: var(--red); color:var(--white); }
.dr-notif-row { color:rgba(var(--p-white-28-rgb), 0.9); }
.dr-notif-row:hover { background-color: var(--hg-hover); color:var(--white); }
.dr-notif-row i { color:var(--p-orange-20); }
.dr-notif-row:hover i { color:var(--p-amber-5); }
.dr-notif-row-count { background-color: var(--red); color:var(--white); }
.thl-user-av { border-color: rgba(var(--p-white-28-rgb), 0.3); }
.thl-user-hi { color:rgba(var(--p-white-28-rgb), 0.82); }
.thl-user-name { color:var(--white); }
.thl-user-caret { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-udd { background-color: var(--white); box-shadow: 0 0 6px rgba(var(--p-black-1-rgb), 0.25); }
.thl-udd::before { background: transparent; }
.udd-top { background-color: var(--hg); }
.udd-av { border-color: rgba(var(--p-white-28-rgb), 0.4); }
.udd-name { color:var(--white); }
.udd-role { color:rgba(var(--p-white-28-rgb), 0.6); }
.udd-email { color:rgba(var(--p-white-28-rgb), 0.55); }
.udd-link { color:var(--p-blue-19); }
.udd-link:hover { background-color: var(--g-bglt); color:var(--hg-dk); }
.udd-link i { color:var(--muted); }
.udd-link:hover i { color:var(--hg); }
.udd-logout { color:var(--error); }
.udd-logout:hover { background-color: var(--red-lt); color:var(--error); }
.udd-logout:hover i { color:var(--error); }
.udd-logout i { color:var(--red-br); }
.thl-ham { background-color: rgba(var(--p-white-28-rgb), 0.12); border-color: rgba(var(--p-white-28-rgb), 0.2); }
.thl-ham:hover { background-color: rgba(var(--p-white-28-rgb), 0.22); }
.thl-ham span { background-color: var(--white); }
.thl-back { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-drawer { background-color: var(--hg); box-shadow: -8px 0 40px rgba(var(--p-black-1-rgb), 0.25); }
.thl-drawer::-webkit-scrollbar-track { background: transparent; }
.thl-drawer::-webkit-scrollbar-thumb { background: rgba(var(--p-white-28-rgb), 0.2); }
.dr-head { border-bottom-color: rgba(var(--p-white-28-rgb), 0.12); }
.dr-bname { color:var(--white); }
.dr-bname em { color:var(--p-green-36); }
.dr-close { background-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.dr-close:hover { background-color: rgba(var(--p-white-28-rgb), 0.22); }
.dr-profile { border-bottom-color: rgba(var(--p-white-28-rgb), 0.12); }
.dr-profile:hover { background-color: rgba(var(--p-white-28-rgb), 0.08); }
.dr-av { border-color: rgba(var(--p-white-28-rgb), 0.3); }
.dr-name { color:var(--white); }
.dr-role { color:rgba(var(--p-white-28-rgb), 0.55); }
.dr-auth { border-bottom-color: rgba(var(--p-white-28-rgb), 0.12); }
.dr-si { border-color: rgba(var(--p-white-28-rgb), 0.3); color:rgba(var(--p-white-28-rgb), 0.92); }
.dr-si:hover { background-color: rgba(var(--p-white-28-rgb), 0.12); }
.dr-rg { background-color: var(--white); color:var(--hg-dk); }
.dr-rg:hover { background-color: var(--g-lt); }
.dr-nav a { color:rgba(var(--p-white-28-rgb), 0.9); }
.dr-nav a:hover { background-color: var(--hg-hover); color:var(--white); }
.dr-sep { border-top-color: rgba(var(--p-white-28-rgb), 0.12); }
.dr-section { color:rgba(var(--p-white-28-rgb), 0.62); }
/* ── Active link in mobile drawer ───────────────────────────── */

.dr-nav a.active { background-color: rgba(var(--p-white-28-rgb), 0.18); color:var(--white); }
.dr-nav a.active:hover { background-color: var(--hg-hover); }

/* ── includes/complaint_modal.php ───────────────────────────────────────────  (SHARED INCLUDE - global, NOT page-scoped:
   this markup renders inside every other page, so a page scope would
   never match and its colours would silently vanish) */
.cm-trigger { border-color: var(--p-grey-32); color:var(--p-grey-9); }
.cm-trigger:hover { border-color: var(--red); color:var(--error); background: var(--red-lt); }
.cm-ov { background: rgba(var(--p-black-5-rgb), .55); }
.cm-box { background: var(--white); box-shadow: 0 14px 44px rgba(var(--p-black-1-rgb), .16); }
.cm-icon { background: var(--red-lt); border-color: var(--red); }
.cm-icon i { color:var(--error); }
.cm-url-strip { background: var(--p-white-15); border-color: var(--p-grey-32); }
.cm-url-strip i { color:var(--p-grey-13); }
.cm-url-strip span { color:var(--p-grey-9); }
.cm-label { color:var(--p-grey-7); }
.cm-select, .cm-ta { border-color: var(--p-grey-32); color:var(--p-grey-1); background: var(--white); }
.cm-select:focus, .cm-ta:focus { border-color: var(--p-green-16); }
.cm-submit { background: var(--error); color:var(--white); }
.cm-submit:hover { background: var(--p-red-6); }
.cm-submit:disabled { background: var(--p-grey-13); }
.cm-success-icon { background: var(--p-grey-78); border-color: var(--p-green-31); }
.cm-success-icon i { color:var(--p-green-10); }
.cm-success h4 { color:var(--p-grey-1); }
.cm-success p { color:var(--p-grey-9); }
.cm-guest { background: var(--p-white-15); border-color: var(--p-grey-32); color:var(--p-grey-9); }
.cm-guest a { color:var(--p-green-16); }

/* ── includes/listing_ui.php ───────────────────────────────────────────  (SHARED INCLUDE - global, NOT page-scoped:
   this markup renders inside every other page, so a page scope would
   never match and its colours would silently vanish) */
.thl-pg-backdrop { background: rgba(var(--p-grey-4-rgb), 0.45); }
.thl-pg-card { background: var(--white); border-color: var(--border, var(--border)); box-shadow: 0 8px 40px rgba(var(--p-black-1-rgb), 0.13); }
.thl-pg-icon { background: var(--g-lt, var(--g-lt)); }
.thl-pg-icon i { color:var(--g, var(--g)); }
.thl-pg-spin { border-color: var(--border, var(--border)); border-top-color: var(--g, var(--g)); }
.thl-pg-pct { color:var(--g, var(--g)); }
.thl-pg-title { color:var(--ink, var(--p-grey-2)); }
.thl-pg-meter { background: var(--border, var(--border)); }
.thl-pg-bar { background: linear-gradient(90deg, var(--g, var(--g)), var(--g-vivid)); }
.thl-pg-detail { color:var(--muted, var(--muted)); }
.thl-cf-backdrop { background: rgba(var(--p-grey-4-rgb), 0.45); }
.thl-cf-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-cf-icon { background: var(--g-lt, var(--g-lt)); }
.thl-cf-icon i { color:var(--g, var(--g)); }
#thl-confirm.tone-danger .thl-cf-icon { background: var(--red-lt); }
#thl-confirm.tone-danger .thl-cf-icon i { color:var(--red, var(--red)); }
.thl-cf-title { color:var(--ink, var(--p-grey-2)); }
.thl-cf-msg { color:var(--sub, var(--sub)); }
.thl-cf-msg strong { color:var(--ink, var(--p-grey-2)); }
.thl-cf-cancel { background: var(--white); color:var(--sub, var(--sub)); border-color: var(--p-blue-41); }
.thl-cf-cancel:hover { border-color: var(--g, var(--g)); color:var(--ink, var(--p-grey-2)); }
.thl-cf-ok { background: var(--g, var(--g)); color:var(--white); }
.thl-cf-ok:hover { background: var(--g-dk, var(--g-dk)); }
#thl-confirm.tone-danger .thl-cf-ok { background: var(--red, var(--red)); }
#thl-confirm.tone-danger .thl-cf-ok:hover { background: var(--error); }
/* Semantic toast palette. Same colour family as the site's .err-box, so an

   error toast and an error box read as the same thing:

     error   red     (var(--red-lt) / var(--red-brd) / var(--p-red-4), exactly the err-box reds)

     warn    amber

     success green

     info    blue

   Tinted backgrounds with a coloured border and coloured text, because this

   is a white-background site: solid dark blocks read as unstyled, and a black

   "warning" means nothing. */

.thl-toast { background: var(--white, var(--white)); color:var(--ink, var(--ink)); border-color: var(--border, var(--border)); box-shadow: 0 6px 24px rgba(var(--p-blue-3-rgb), 0.10); }
/* Status colours come from the --st-* tokens in css/thl_tokens.css and from

   NOWHERE else. Change them there once and every toast follows. */

.thl-toast.success { background: var(--st-ok-bg); border-color: var(--st-ok-bd); color:var(--st-ok-ink); }
.thl-toast.error { background: var(--st-err-bg); border-color: var(--st-err-bd); color:var(--st-err-ink); }
.thl-toast.warn { background: var(--st-warn-bg); border-color: var(--st-warn-bd); color:var(--st-warn-ink); }
.thl-toast.info { background: var(--st-info-bg); border-color: var(--st-info-bd); color:var(--st-info-ink); }
.thl-toast-prog { background: currentColor; }

/* ── includes/promotion_functions.php ───────────────────────────────────────────  (SHARED INCLUDE - global, NOT page-scoped:
   this markup renders inside every other page, so a page scope would
   never match and its colours would silently vanish) */
.thl-sponsored-badge { background: var(--g); color:var(--white); }

/* ── includes/rich_editor_component.php ───────────────────────────────────────────  (SHARED INCLUDE - global, NOT page-scoped:
   this markup renders inside every other page, so a page scope would
   never match and its colours would silently vanish) */
.rte-wrap { border-color: var(--border); }
.rte-toolbar { background: var(--surface); border-bottom-color: var(--border); }
.rte-sep { background: var(--border); }
.rte-btn { color:var(--ink); }
.rte-btn:hover { background: rgba(var(--g-rgb), 0.1); color:var(--g-dk); }
.rte-btn.active { background: rgba(var(--g-rgb), 0.1); border-color: var(--g); color:var(--g-dk); }
.rte-btn.popup-open { background: rgba(var(--p-blue-28-rgb), 0.1); border-color: var(--info); color:var(--blue); }
.rte-btn.rte-disabled { color:var(--p-grey-19); }
.rte-split-btn { border-color: transparent; color:var(--ink); }
.rte-split-btn:hover { background: rgba(var(--g-rgb), 0.07); }
.rte-split-icon:hover { background: rgba(var(--g-rgb), 0.18); }
.rte-split-chev:hover { background: rgba(var(--g-rgb), 0.18); }
.rte-split-btn.popup-open { background: rgba(var(--p-blue-28-rgb), 0.1); border-color: var(--info); color:var(--blue); }
.rte-editor { background: var(--white); color:var(--ink); }
.rte-editor blockquote { border-left-color: var(--g); background: var(--g-lt); color:var(--sub); }
.rte-editor a { color:var(--p-blue-5); }
.rte-editor table th, .rte-editor table td { border-color: var(--border); }
.rte-editor table th { background: var(--surface); }
.rte-editor hr { border-top-color: var(--p-blue-34); }
.rte-editor .quotation { border-color: var(--p-grey-20); }
.rte-editor .warning { border-color: var(--red); background: rgba(var(--p-red-5-rgb), 0.1); }
.rte-editor .highlight { border-color: gold; background: rgba(var(--p-amber-1-rgb), 0.3); }
.rte-word-count { color:var(--muted); }
.rte-popup { border-color: var(--blue); background: var(--white); box-shadow: 0 2px 10px rgba(var(--p-black-1-rgb), 0.2); }
.rte-popup .pop-head { background: var(--p-grey-38); border-bottom-color: var(--border); }
.rte-popup .pop-body label { color:var(--sub); }
.rte-popup .pop-foot { background: var(--p-grey-38); border-top-color: var(--border); }
.rte-popup .pop-url { border-color: var(--border); }
.rte-popup .pop-url:focus { border-color: var(--blue); }
.rte-table-popup input[type="number"], .rte-table-popup input[type="text"] { border-color: var(--border); }
.rte-table-preview { background: var(--surf-2); }
.rte-table-popup .pop-foot { background: var(--p-grey-38); border-top-color: var(--border); }
.rte-color-swatch, .rte-bgcolor-swatch { border-color: transparent; }
.rte-color-swatch:hover, .rte-bgcolor-swatch:hover { border-color: var(--p-grey-6); }
.rte-color-default, .rte-bgcolor-default { border-top-color: var(--border); }
.rte-color-default:hover, .rte-bgcolor-default:hover { background: var(--p-grey-40); }
.rte-style-opt:hover { background: var(--p-grey-40); }
.rte-style-opt-block:hover { background: var(--p-grey-40); }
.rte-video-popup .vp-hint { color:var(--muted); }
.pop-btn-primary { background: var(--blue); color:var(--white); }
.pop-btn-primary:hover { background: var(--blue-ink-2); }
.pop-btn-danger { background: var(--red-lt); color:var(--red); border-color: var(--red) !important; }
.pop-btn-danger:hover { background: var(--red); color:var(--white); }
.pop-btn-cancel { background: var(--white); border-color: var(--p-grey-26) !important; }
.pop-btn-cancel:hover { background: var(--p-grey-40); }
.pop-btn-insert { background: var(--blue); color:var(--white); }
.pop-btn-insert:hover { background: var(--blue-ink-2); }

/* ── index.php ─────────────────────────────────────────── */
/* ============================================================

   INDEX PAGE — The Homes Lab — PREMIUM REBUILD

   RULE: No font-family, .thl-p-index no body background, .thl-p-index no line-height override.

   All inherited from universal_font&bg_clr.css via header.

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

/* ══════════════════════════════════════════════════════

   HERO

══════════════════════════════════════════════════════ */
.thl-p-index .idx-hero { background: var(--p-blue-1); }
/* Dark overlay so text + search card stay readable over any photo */
.thl-p-index .hero-overlay { background: linear-gradient(to bottom, rgba(var(--p-blue-1-rgb), 0.32) 0%, rgba(var(--p-blue-1-rgb), 0.20) 45%, rgba(var(--p-blue-1-rgb), 0.45) 100%); }
.thl-p-index .hero-dot { background: transparent; }
.thl-p-index .hero-dot-num { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-index .hero-dot:hover .hero-dot-num { color:var(--white); }
.thl-p-index .hero-dot.active .hero-dot-num { color:var(--white); }
.thl-p-index .hero-dot .ring-track { stroke: rgba(var(--p-white-28-rgb), 0.22); }
.thl-p-index .hero-dot .ring-prog { stroke: var(--g); }
.thl-p-index .hero-chip { background: rgba(var(--p-black-1-rgb), 0.32); border-color: rgba(var(--p-white-28-rgb), 0.18); }
.thl-p-index .hero-chip-dot { background: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.25); }
.thl-p-index .hero-chip-text { color:var(--g-br); }
.thl-p-index .hero-h1 { color:var(--white); text-shadow: 0 2px 30px rgba(var(--p-black-1-rgb), 0.55); }
.thl-p-index .hero-h1 .h1-line2 { background: linear-gradient(95deg, var(--g) 0%, var(--p-green-30) 55%, var(--p-green-29) 100%); -webkit-text-fill-color: transparent; -webkit-background-clip: text; background-clip: text; }
.thl-p-index .hero-sub { color:rgba(var(--p-white-28-rgb), 0.82); text-shadow: 0 1px 16px rgba(var(--p-black-1-rgb), 0.4); }
.thl-p-index .hbtn-primary { background: var(--g); color:var(--white); box-shadow: 0 4px 24px rgba(var(--g-rgb), 0.38); }
.thl-p-index .hbtn-primary:hover { background: var(--g-dk); box-shadow: 0 8px 32px rgba(var(--g-rgb), 0.52); }
.thl-p-index .hbtn-ghost { background: rgba(var(--p-white-28-rgb), 0.06); border-color: rgba(var(--p-white-28-rgb), 0.16); color:rgba(var(--p-white-28-rgb), 0.85); }
.thl-p-index .hbtn-ghost:hover { background: rgba(var(--p-white-28-rgb), 0.11); border-color: rgba(var(--p-white-28-rgb), 0.32); }
.thl-p-index .hqs-val { color:var(--white); }
.thl-p-index .hqs-lbl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-index .hqs-sep { background: rgba(var(--p-white-28-rgb), 0.09); }
/* ══════════════════════════════════════════════════════

   TRUST BAR

══════════════════════════════════════════════════════ */
.thl-p-index .trust-bar { background: var(--white); border-bottom-color: var(--border); }
.thl-p-index .trust-item { border-right-color: var(--border); }
.thl-p-index .trust-item:hover { background: var(--surf); }
.thl-p-index .trust-val { color:var(--ink); }
.thl-p-index .trust-lbl { color:var(--muted); }
.thl-p-index .scroll-arrow { background: transparent; }
.thl-p-index .scroll-arrow.arr-left { background: linear-gradient(

        to right,

        rgba(var(--p-white-28-rgb), 1)   0%,

        rgba(var(--p-white-28-rgb), 0.9) 35%,

        rgba(var(--p-white-28-rgb), 0.4) 70%,

        rgba(var(--p-white-28-rgb), 0)   100%

    ); }
.thl-p-index .scroll-arrow.arr-right { background: linear-gradient(

        to left,

        rgba(var(--p-white-28-rgb), 1)   0%,

        rgba(var(--p-white-28-rgb), 0.9) 35%,

        rgba(var(--p-white-28-rgb), 0.4) 70%,

        rgba(var(--p-white-28-rgb), 0)   100%

    ); }
.thl-p-index .scroll-arrow i { color:var(--ink); }
.thl-p-index .scroll-arrow:hover i { color:var(--g-dk); }
.thl-p-index .idx-section-alt { background: var(--surf); }
.thl-p-index .sec-eyebrow { color:var(--g); }
.thl-p-index .sec-eyebrow::before { background: linear-gradient(90deg, var(--g), var(--p-green-30)); }
.thl-p-index .sec-title { color:var(--ink); }
.thl-p-index .sec-sub { color:var(--muted); }
.thl-p-index .sec-link { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-index .sec-link:hover { background: var(--g); color:var(--white); border-color: var(--g); }
/* Image-led category tiles */
.thl-p-index .pcat-card { color:var(--white); }
.thl-p-index .pcat-shade { background: var(--img-overlay-label); }
.thl-p-index .pcat-card:hover { box-shadow: 0 16px 40px rgba(var(--p-black-1-rgb), 0.20); }
.thl-p-index .pcat-card:hover { box-shadow: var(--shadow-lg); }
.thl-p-index .pcat-est::after { background: var(--g); }
.thl-p-index .pcat-prop::after { background: var(--info); }
.thl-p-index .pcat-des::after { background: var(--arch); }
.thl-p-index .pcat-pro::after { background: var(--warn); }
.thl-p-index .pcat-sup::after { background: var(--p-blue-22); }
.thl-p-index .pcat-ess::after { background: var(--p-pink-3); }
.thl-p-index .pcat-free::after { background: var(--orange); }
.thl-p-index .pcat-com::after { background: var(--c-cyan); }
.thl-p-index .pcat-icon-wrap { background: rgba(var(--p-white-28-rgb), 0.18); color:var(--white); border-color: rgba(var(--p-white-28-rgb), 0.25); }
.thl-p-index .pcat-est  .pcat-icon-wrap { background: var(--p-green-47); color:var(--p-green-20); }
.thl-p-index .pcat-prop .pcat-icon-wrap { background: var(--blue-bglt); color:var(--info); }
.thl-p-index .pcat-des  .pcat-icon-wrap { background: var(--violet-bglt); color:var(--arch); }
.thl-p-index .pcat-pro  .pcat-icon-wrap { background: var(--amber-bglt); color:var(--warn); }
.thl-p-index .pcat-sup  .pcat-icon-wrap { background: var(--p-grey-61); color:var(--p-blue-22); }
.thl-p-index .pcat-ess  .pcat-icon-wrap { background: var(--p-pink-7); color:var(--p-pink-3); }
.thl-p-index .pcat-free .pcat-icon-wrap { background: var(--p-orange-27); color:var(--orange); }
.thl-p-index .pcat-com  .pcat-icon-wrap { background: var(--p-teal-8); color:var(--c-cyan); }
.thl-p-index .pcat-name { color:var(--white); text-shadow: 0 1px 10px rgba(var(--p-black-1-rgb), 0.5); }
.thl-p-index .pcat-desc { color:rgba(var(--p-white-28-rgb), 0.88); text-shadow: 0 1px 8px rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-index .pcat-count { color:var(--white); text-shadow: 0 1px 8px rgba(var(--p-black-1-rgb), 0.5); }
.thl-p-index .listing-card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow-sm); }
.thl-p-index .listing-card:hover { box-shadow: var(--shadow-lg); }
.thl-p-index .lc-img { background: var(--surf); }
/* blurred backfill: same image, .thl-p-index fills the frame so there are no empty gaps */
.thl-p-index .lc-img::before { background-image: var(--bg); background-size:cover; background-position:center; }
.thl-p-index .lc-img-ph { color:var(--border); }
.thl-p-index .lc-badge { color:var(--white); }
.thl-p-index .lc-b-new { background: var(--g); }
.thl-p-index .lc-b-sale { background: var(--arch); }
.thl-p-index .lc-b-rent { background: var(--c-cyan); }
.thl-p-index .lc-b-booking { background: var(--warn); }
.thl-p-index .lc-b-lease { background: var(--warn); }
.thl-p-index .lc-b-arch { background: var(--arch); }
.thl-p-index .lc-b-struct { background: var(--c-cyan); }
.thl-p-index .lc-b-free { background: var(--ok); }
.thl-p-index .lc-b-featured { background: var(--amber); }
.thl-p-index .lc-category { color:var(--g); }
.thl-p-index .lc-title { color:var(--ink); }
.thl-p-index .lc-loc { color:var(--muted); }
.thl-p-index .lc-loc i { color:var(--g); }
.thl-p-index .lc-price { color:var(--ink); }
.thl-p-index .lc-price-sfx { color:var(--muted); }
.thl-p-index .lc-orig { color:var(--muted); }
.thl-p-index .lc-disc { color:var(--white); background: var(--g); }
.thl-p-index .lc-seller { color:var(--muted); }
.thl-p-index .lc-tagline { color:var(--sub); }
.thl-p-index .lc-fee-free { background: var(--p-green-49); color:var(--ok); }
.thl-p-index .lc-fee-paid { background: var(--violet-bglt); color:var(--arch); }
.thl-p-index .lc-fee-quote { background: var(--amber-bglt); color:var(--warn); }
.thl-p-index .lc-stats { color:var(--muted); }
.thl-p-index .lc-stats .stat-views i { color:var(--clr-views); }
.thl-p-index .lc-stats .stat-love  i { color:var(--clr-love); }
.thl-p-index .lc-stats .stat-fav   i { color:var(--clr-fav); }
/* ══════════════════════════════════════════════════════

   SECTION TABS

══════════════════════════════════════════════════════ */
.thl-p-index .stab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-index .stab:hover { color:var(--ink); }
.thl-p-index .stab.stab-active { color:var(--g); border-bottom-color: var(--g); }
.thl-p-index .stab-count { background: var(--surf); color:var(--muted); }
.thl-p-index .stab.stab-active .stab-count { background: var(--g-lt); color:var(--g); }
.thl-p-index .hiw-steps::before { background: linear-gradient(90deg, var(--g) 0%, var(--p-green-30) 100%); }
.thl-p-index .hiw-card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow-sm); }
.thl-p-index .hiw-card:hover { box-shadow: var(--shadow-lg); }
.thl-p-index .hiw-num { background: var(--g); color:var(--white); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.38); }
.thl-p-index .hiw-ico { background: var(--g-lt); color:var(--g); }
.thl-p-index .hiw-card:nth-child(2) .hiw-ico { background: var(--blue-bglt); color:var(--info); }
.thl-p-index .hiw-card:nth-child(3) .hiw-ico { background: var(--violet-bglt); color:var(--arch); }
.thl-p-index .hiw-card:nth-child(4) .hiw-ico { background: var(--amber-bglt); color:var(--warn); }
.thl-p-index .hiw-title { color:var(--ink); }
.thl-p-index .hiw-desc { color:var(--sub); }
.thl-p-index .bsec-viewall { color:var(--info); }
.thl-p-index .bsec-tile-img { background-image: var(--bg); background-size:cover; background-position:center; }
.thl-p-index .bsec-tile-shade { background: var(--img-overlay); }
.thl-p-index .bsec-tile-label { color:var(--white); }
.thl-p-index .why-card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow-sm); }
.thl-p-index .why-card:hover { box-shadow: var(--shadow-lg); }
.thl-p-index .why-c1 .why-ico { background: var(--p-green-49); color:var(--ok); }
.thl-p-index .why-c2 .why-ico { background: var(--blue-bglt); color:var(--info); }
.thl-p-index .why-c3 .why-ico { background: var(--violet-bglt); color:var(--arch); }
.thl-p-index .why-c4 .why-ico { background: var(--p-red-24); color:var(--p-red-8); }
.thl-p-index .why-c5 .why-ico { background: var(--amber-bglt); color:var(--warn); }
.thl-p-index .why-c6 .why-ico { background: var(--p-teal-8); color:var(--c-cyan); }
.thl-p-index .why-title { color:var(--ink); }
.thl-p-index .why-desc { color:var(--sub); }
/* ══════════════════════════════════════════════════════

   CTA BAND

══════════════════════════════════════════════════════ */
.thl-p-index .cta-band { background: var(--p-blue-1); }
.thl-p-index .cta-band-mesh { background: radial-gradient(ellipse 900px 500px at 28% 50%, rgba(var(--g-rgb), 0.13) 0%, transparent 65%), radial-gradient(ellipse 700px 400px at 72% 50%, rgba(var(--p-blue-25-rgb), 0.07) 0%, transparent 65%); }
.thl-p-index .cta-band-grid { background-image: linear-gradient(rgba(var(--p-white-28-rgb), 0.015) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--p-white-28-rgb), 0.015) 1px, transparent 1px); background-size:52px 52px; }
.thl-p-index .cta-band-eyebrow { color:var(--white); }
.thl-p-index .cta-band h2 { color:var(--white); }
.thl-p-index .cta-band h2 em { background: linear-gradient(95deg, var(--g) 0%, var(--p-green-30) 100%); -webkit-text-fill-color: transparent; -webkit-background-clip: text; background-clip: text; }
.thl-p-index .cta-band p { color:rgba(var(--p-white-28-rgb), 0.92); }
.thl-p-index .cta-btn-p { background: var(--g); color:var(--white); }
.thl-p-index .cta-btn-p:hover { background: var(--g-dk); }
.thl-p-index .cta-btn-o { background: transparent; border-color: rgba(var(--p-white-28-rgb), 0.65); color:var(--white); }
.thl-p-index .cta-btn-o:hover { background: rgba(var(--p-white-28-rgb), 0.14); border-color: var(--white); }
/* ══════════════════════════════════════════════════════

   FAQ

══════════════════════════════════════════════════════ */
.thl-p-index .idx-faq { background: var(--surf); }
.thl-p-index .faq-intro-text { color:var(--muted); }
.thl-p-index .faq-group-card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow-sm); }
.thl-p-index .faq-group-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-index .faq-group-icon { color:var(--white); }
.thl-p-index .faq-group-title { color:var(--ink); }
.thl-p-index .faq-group-badge { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-index .faq-item { border-color: var(--border); border-left-color: var(--border); background: var(--white); }
.thl-p-index .faq-item.faq-open { border-left-color: var(--g); box-shadow: var(--shadow-sm); }
.thl-p-index .faq-question { background: var(--white); }
.thl-p-index .faq-question:hover { background: var(--g-lt); }
.thl-p-index .faq-q-text { color:var(--ink); }
.thl-p-index .faq-toggle { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-index .faq-item.faq-open .faq-toggle { background: var(--g); border-color: var(--g); color:var(--white); }
.thl-p-index .faq-answer { border-top-color: var(--border); background: var(--p-white-20); }
.thl-p-index .faq-answer p { color:var(--sub); }

/* ── maintenance.php ───────────────────────────────────────────  standalone page with its OWN <body>, so it is scoped to that body.
   It was briefly global, which made its grey page background leak onto the
   ENTIRE SITE and override css/universal_font&bg_clr.css. */
body.thl-p-maintenance { color:var(--ink); }/* ── TOP ACCENT ──────────────────────────────────────── */

/* ── CARD ────────────────────────────────────────────── */

body.thl-p-maintenance .mnt-topbar { background: var(--g); }
body.thl-p-maintenance .mnt-card { background: var(--white); border-color: var(--border); }
.thl-p-maintenance .mnt-brand-name { color:var(--ink); }
.thl-p-maintenance .mnt-brand-name em { color:var(--g); }
.thl-p-maintenance .mnt-brand-tag { color:var(--muted); }
/* ── ICON ────────────────────────────────────────────── */
.thl-p-maintenance .mnt-icon-wrap { background: var(--g-lt); border-color: var(--g); }
.thl-p-maintenance .mnt-icon-wrap i { color:var(--g); }
/* ── TEXT ────────────────────────────────────────────── */
.thl-p-maintenance .mnt-title { color:var(--ink); }
.thl-p-maintenance .mnt-desc { color:var(--muted); }
.thl-p-maintenance .mnt-pill-amber { background: var(--p-orange-30); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-maintenance .mnt-pill-green { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
/* ── PAGE FOOTER ─────────────────────────────────────── */
.thl-p-maintenance .mnt-footer { color:var(--muted); border-top-color: var(--border); background: var(--p-grey-60); }

/* ── professional_pages/basic.php ─────────────────────────────────────────── */
.thl-p-professional-pages-basic .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-professional-pages-basic .wiz-prog-wrap { background: var(--border); }
.thl-p-professional-pages-basic .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-professional-pages-basic .wiz-brand { color:var(--g); }
.thl-p-professional-pages-basic .ws { color:var(--muted); }
.thl-p-professional-pages-basic .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-professional-pages-basic .ws.done { color:var(--g); }
.thl-p-professional-pages-basic .ws-num { border-color: currentColor; }
.thl-p-professional-pages-basic .ws.active .ws-num, .thl-p-professional-pages-basic .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-professional-pages-basic .ws-sep { color:var(--border); }
.thl-p-professional-pages-basic .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-professional-pages-basic .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-professional-pages-basic .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-professional-pages-basic .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 60%, rgba(var(--g-rgb), 0.05)); }
.thl-p-professional-pages-basic .step-tab.st-done { color:var(--g-dk); }
.thl-p-professional-pages-basic .step-tab-num { border-color: currentColor; }
.thl-p-professional-pages-basic .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-professional-pages-basic .step-tab.st-done   .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-professional-pages-basic .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-professional-pages-basic .card-head { border-bottom-color: var(--border); background: var(--white); }
.thl-p-professional-pages-basic .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-professional-pages-basic .card-title { color:var(--ink); }
.thl-p-professional-pages-basic .card-sub { color:var(--sub); }
.thl-p-professional-pages-basic .sec-label { color:var(--muted); }
.thl-p-professional-pages-basic .sec-label::after { background: var(--border); }
.thl-p-professional-pages-basic .opt-card { border-color: var(--border); background: var(--white); }
.thl-p-professional-pages-basic .opt-card:hover { border-color: var(--g); background: var(--g-lt); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.1); }
.thl-p-professional-pages-basic .opt-card.sel { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-professional-pages-basic .opt-card.sel::after { color:var(--g); }
.thl-p-professional-pages-basic .opt-ico { background: var(--surface); color:var(--muted); }
.thl-p-professional-pages-basic .opt-card:hover .opt-ico, .thl-p-professional-pages-basic .opt-card.sel .opt-ico { background: var(--g); color:var(--white); }
.thl-p-professional-pages-basic .opt-lbl { color:var(--ink); }
.thl-p-professional-pages-basic .opt-hint { color:var(--sub); }
.thl-p-professional-pages-basic .fl-label { color:var(--ink); }
.thl-p-professional-pages-basic .fl-req { color:var(--red); }
.thl-p-professional-pages-basic .fl-hint { color:var(--sub); }
.thl-p-professional-pages-basic .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-professional-pages-basic .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-professional-pages-basic .char-count { color:var(--muted); }
.thl-p-professional-pages-basic .char-count.over { color:var(--red); }
.thl-p-professional-pages-basic .tag-input-wrap { border-color: var(--border); background: var(--surface); }
.thl-p-professional-pages-basic .tag-input-wrap:focus-within { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-professional-pages-basic .tag-chip { background: var(--g); color:var(--white); }
.thl-p-professional-pages-basic .tag-bare-input { background: transparent; color:var(--ink); }
.thl-p-professional-pages-basic .map-box { border-color: var(--border); }
.thl-p-professional-pages-basic .map-search-inp { color:var(--ink); background: var(--white); }
.thl-p-professional-pages-basic .map-tile-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-professional-pages-basic .map-tile-btn:hover { background: var(--white); box-shadow: 0 3px 10px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-professional-pages-basic .map-tile-btn.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-professional-pages-basic .map-myloc-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-professional-pages-basic .map-myloc-btn:hover { background: var(--white); box-shadow: 0 3px 10px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-professional-pages-basic .map-myloc-btn i { color:var(--g); }
.thl-p-professional-pages-basic .map-suggestions { background: var(--white); box-shadow: 0 6px 20px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-professional-pages-basic .map-sug-item { color:var(--ink); border-bottom-color: var(--surface2); }
.thl-p-professional-pages-basic .map-sug-item:hover { background: var(--g-lt); }
.thl-p-professional-pages-basic .map-sug-item i { color:var(--g); }
.thl-p-professional-pages-basic .map-sug-sub { color:var(--muted); }
.thl-p-professional-pages-basic .map-hint-overlay { background: rgba(var(--p-black-1-rgb), 0.68); color:var(--white); }
.thl-p-professional-pages-basic .map-info { background: var(--surface); border-color: var(--border); color:var(--sub); }
.thl-p-professional-pages-basic .map-info i { color:var(--g); }
.thl-p-professional-pages-basic .r-tag { background: var(--g-lt); color:var(--g-dk); }
.thl-p-professional-pages-basic .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-professional-pages-basic .review-row { border-bottom-color: var(--border); }
.thl-p-professional-pages-basic .review-key { color:var(--sub); }
.thl-p-professional-pages-basic .review-val { color:var(--ink); }
.thl-p-professional-pages-basic .lock-notice { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-professional-pages-basic .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }

/* ── professional_pages/photos.php ─────────────────────────────────────────── */
.thl-p-professional-pages-photos .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-professional-pages-photos .wiz-prog-wrap { background: var(--border); }
.thl-p-professional-pages-photos .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-professional-pages-photos .wiz-brand { color:var(--g); }
.thl-p-professional-pages-photos .ws { color:var(--muted); }
.thl-p-professional-pages-photos .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-professional-pages-photos .ws.done { color:var(--g); }
.thl-p-professional-pages-photos .ws-num { border-color: currentColor; }
.thl-p-professional-pages-photos .ws.active .ws-num, .thl-p-professional-pages-photos .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-professional-pages-photos .ws-sep { color:var(--border); }
.thl-p-professional-pages-photos .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-professional-pages-photos .card-head { border-bottom-color: var(--border); }
.thl-p-professional-pages-photos .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-professional-pages-photos .card-title { color:var(--ink); }
.thl-p-professional-pages-photos .card-sub { color:var(--sub); }
.thl-p-professional-pages-photos .prof-banner { background: var(--white); border-color: var(--border); }
.thl-p-professional-pages-photos .prof-ico { background: var(--g-lt); color:var(--g); }
.thl-p-professional-pages-photos .prof-name { color:var(--ink); }
.thl-p-professional-pages-photos .prof-meta { color:var(--sub); }
.thl-p-professional-pages-photos .drop-zone { border-color: var(--border); background: var(--surface); }
.thl-p-professional-pages-photos .drop-zone:hover, .thl-p-professional-pages-photos .drop-zone.dragover { border-color: var(--g); background: var(--g-lt); }
.thl-p-professional-pages-photos .drop-icon { color:var(--muted); }
.thl-p-professional-pages-photos .drop-zone:hover .drop-icon, .thl-p-professional-pages-photos .drop-zone.dragover .drop-icon { color:var(--g); }
.thl-p-professional-pages-photos .drop-title { color:var(--ink); }
.thl-p-professional-pages-photos .drop-sub { color:var(--sub); }
.thl-p-professional-pages-photos .drop-limit { color:var(--muted); }
.thl-p-professional-pages-photos .pending-label { color:var(--sub); }
.thl-p-professional-pages-photos .add-more-btn { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-professional-pages-photos .add-more-btn:hover { background: var(--g); color:var(--white); }
/* Professional tiles keep an image area + a caption bar below, .thl-p-professional-pages-photos so overflow is visible */
.thl-p-professional-pages-photos .photo-item { border-color: var(--border); background: var(--surface); }
.thl-p-professional-pages-photos .photo-item.banner { border-color: var(--g); box-shadow: 0 0 0 2px rgba(var(--g-rgb), 0.2); }
.thl-p-professional-pages-photos .photo-item.drag-over { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.25); }
.thl-p-professional-pages-photos .photo-caption-wrap { background: var(--white); border-top-color: var(--border); }
.thl-p-professional-pages-photos .photo-caption-inp { background: transparent; color:var(--sub); }
.thl-p-professional-pages-photos .photo-caption-inp::placeholder { color:var(--muted); }
/* Pending preview items (not yet uploaded — no caption until saved) */
.thl-p-professional-pages-photos .pending-item { border-color: var(--g); background: var(--surface); }
.thl-p-professional-pages-photos .pending-remove-btn { background: rgba(var(--p-red-15-rgb), 0.9); color:var(--white); }
.thl-p-professional-pages-photos .pending-remove-btn:hover { background: var(--error); }
.thl-p-professional-pages-photos .photo-overlay { background: linear-gradient(to top, rgba(var(--p-black-1-rgb), 0.55) 0%, transparent 50%); }
.thl-p-professional-pages-photos .photo-num { background: rgba(var(--p-black-1-rgb), 0.5); color:var(--white); }
.thl-p-professional-pages-photos .photo-btn-del { background: rgba(var(--p-red-15-rgb), 0.9); color:var(--white); }
.thl-p-professional-pages-photos .photo-btn-del:hover { background: var(--error); }
.thl-p-professional-pages-photos .drag-hint { color:var(--muted); }
.thl-p-professional-pages-photos .count-bar { background: var(--surface); border-color: var(--border); }
.thl-p-professional-pages-photos .count-bar strong { color:var(--ink); }
.thl-p-professional-pages-photos .seg { background: var(--border); }
.thl-p-professional-pages-photos .seg.filled { background: var(--g); }
.thl-p-professional-pages-photos .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-professional-pages-photos .review-row { border-bottom-color: var(--border); }
.thl-p-professional-pages-photos .review-key { color:var(--sub); }
.thl-p-professional-pages-photos .review-val { color:var(--ink); }
.thl-p-professional-pages-photos .review-thumb { border-color: var(--border); }
.thl-p-professional-pages-photos .review-thumb.banner { border-color: var(--g); }
.thl-p-professional-pages-photos .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-professional-pages-photos .btn-red:hover { box-shadow: 0 4px 14px rgba(var(--p-red-15-rgb), 0.35); }
/* ── Upload / bulk-delete progress overlay ── */
.thl-p-professional-pages-photos #upload-overlay, .thl-p-professional-pages-photos #bulk-del-overlay { background: rgba(var(--p-white-28-rgb), 0.82); }
.thl-p-professional-pages-photos .upl-card { background: var(--white); border-color: var(--border); box-shadow: 0 8px 40px rgba(var(--p-black-1-rgb), 0.13); }
.thl-p-professional-pages-photos .upl-icon-wrap { background: var(--g-lt); }
.thl-p-professional-pages-photos .upl-icon-wrap i { color:var(--g); }
.thl-p-professional-pages-photos .upl-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-professional-pages-photos .upl-title { color:var(--ink); }
.thl-p-professional-pages-photos .upl-sub { color:var(--sub); }
.thl-p-professional-pages-photos .upl-bar-wrap { background: var(--border); }
.thl-p-professional-pages-photos .upl-bar-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-professional-pages-photos .upl-pct { color:var(--g); }
.thl-p-professional-pages-photos .upl-detail { color:var(--muted); }
.thl-p-professional-pages-photos .confirm-backdrop { background: rgba(var(--p-grey-4-rgb), 0.45); }
.thl-p-professional-pages-photos .confirm-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-professional-pages-photos .confirm-icon-wrap { background: var(--red-lt); }
.thl-p-professional-pages-photos .confirm-icon-wrap i { color:var(--red); }
.thl-p-professional-pages-photos .confirm-title { color:var(--ink); }
.thl-p-professional-pages-photos .confirm-msg { color:var(--sub); }
.thl-p-professional-pages-photos .confirm-thumb-wrap { border-color: var(--border); }
.thl-p-professional-pages-photos .photo-grid.select-mode .photo-item:hover { border-color: var(--g); box-shadow: 0 0 0 2px rgba(var(--g-rgb), 0.2); }
.thl-p-professional-pages-photos .photo-item .select-check { border-color: rgba(var(--p-white-28-rgb), 0.6); background: transparent; }
.thl-p-professional-pages-photos .photo-item.selected .select-check { background: rgba(var(--g-rgb), 0.85); border-color: var(--g); }
.thl-p-professional-pages-photos .photo-item.selected .select-check i { color:var(--white); }
.thl-p-professional-pages-photos .photo-item.selected { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.3); }
.thl-p-professional-pages-photos .select-toggle-btn { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-professional-pages-photos .select-toggle-btn:hover { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-professional-pages-photos .select-toggle-btn.active { border-color: var(--red); color:var(--red); background: var(--red-lt); }
/* ── Sticky bulk-delete bar ── */
.thl-p-professional-pages-photos #bulk-bar { background: var(--white); border-top-color: var(--border); box-shadow: 0 -4px 20px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-professional-pages-photos .bulk-sel-thumb { border-color: var(--white); box-shadow: 0 1px 4px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-professional-pages-photos .bulk-sel-count { color:var(--ink); }
.thl-p-professional-pages-photos .bulk-sel-count span { color:var(--sub); }
.thl-p-professional-pages-photos .bulk-thumb-strip img { border-color: var(--border); }
/* ── Page-load image rendering overlay ── */
.thl-p-professional-pages-photos #pageload-overlay { background: rgba(var(--p-white-28-rgb), 0.88); }
html.page-entering::before { background: rgba(var(--p-white-28-rgb), 0.88); }

/* ── professional_pages/pricing.php ─────────────────────────────────────────── */
.thl-p-professional-pages-pricing .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-professional-pages-pricing .wiz-prog-wrap { background: var(--border); }
.thl-p-professional-pages-pricing .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-professional-pages-pricing .wiz-brand { color:var(--g); }
.thl-p-professional-pages-pricing .ws { color:var(--muted); }
.thl-p-professional-pages-pricing .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-professional-pages-pricing .ws.done { color:var(--g); }
.thl-p-professional-pages-pricing .ws-num { border-color: currentColor; }
.thl-p-professional-pages-pricing .ws.active .ws-num, .thl-p-professional-pages-pricing .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-professional-pages-pricing .ws-sep { color:var(--border); }
.thl-p-professional-pages-pricing .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-professional-pages-pricing .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-professional-pages-pricing .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-professional-pages-pricing .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-professional-pages-pricing .step-tab.st-done { color:var(--g-dk); }
.thl-p-professional-pages-pricing .step-tab-num { border-color: currentColor; }
.thl-p-professional-pages-pricing .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-professional-pages-pricing .step-tab.st-done   .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-professional-pages-pricing .prof-header { background: var(--white); border-color: var(--border); }
.thl-p-professional-pages-pricing .prof-ico { background: var(--g-lt); color:var(--g); }
.thl-p-professional-pages-pricing .prof-name { color:var(--ink); }
.thl-p-professional-pages-pricing .prof-meta { color:var(--sub); }
.thl-p-professional-pages-pricing .card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-professional-pages-pricing .card-head { border-bottom-color: var(--border); }
.thl-p-professional-pages-pricing .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-professional-pages-pricing .card-title { color:var(--ink); }
.thl-p-professional-pages-pricing .card-sub { color:var(--sub); }
.thl-p-professional-pages-pricing .fl-label { color:var(--ink); }
.thl-p-professional-pages-pricing .fl-hint { color:var(--sub); }
.thl-p-professional-pages-pricing .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-professional-pages-pricing .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-professional-pages-pricing .fl-inp-prefix .prefix { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-professional-pages-pricing .opt-card { border-color: var(--border); background: var(--white); }
.thl-p-professional-pages-pricing .opt-card:hover { border-color: var(--g); background: var(--g-lt); }
.thl-p-professional-pages-pricing .opt-card.sel { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-professional-pages-pricing .opt-card.sel::after { color:var(--g); }
.thl-p-professional-pages-pricing .opt-card-title { color:var(--ink); }
.thl-p-professional-pages-pricing .opt-card-sub { color:var(--sub); }
.thl-p-professional-pages-pricing .social-icon { border-color: var(--border); background: var(--surf); }
.thl-p-professional-pages-pricing .video-preview { border-color: var(--border); }
.thl-p-professional-pages-pricing .video-portrait-wrap { background: var(--p-black-1); }
.thl-p-professional-pages-pricing .video-link-only { background: var(--surf); }
.thl-p-professional-pages-pricing .video-link-only .vl-note { color:var(--muted); }
.thl-p-professional-pages-pricing .review-section { background: var(--surf); border-color: var(--border); }
.thl-p-professional-pages-pricing .review-row { border-bottom-color: var(--border); }
.thl-p-professional-pages-pricing .review-key { color:var(--sub); }
.thl-p-professional-pages-pricing .review-val { color:var(--ink); }
.thl-p-professional-pages-pricing .submit-card { background: linear-gradient(135deg, var(--g-lt) 0%, var(--g-bglt) 100%); border-color: var(--g); }
.thl-p-professional-pages-pricing .submit-icon { background: var(--g); color:var(--white); }
.thl-p-professional-pages-pricing .submit-title { color:var(--ink); }
.thl-p-professional-pages-pricing .submit-sub { color:var(--sub); }
.thl-p-professional-pages-pricing .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-professional-pages-pricing .btn-submit { box-shadow: 0 4px 20px rgba(var(--g-rgb), 0.35); }

/* ── professional_pages/setup.php ─────────────────────────────────────────── */
.thl-p-professional-pages-setup .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-professional-pages-setup .wiz-brand { color:var(--g); }
.thl-p-professional-pages-setup .ws { color:var(--muted); }
.thl-p-professional-pages-setup .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-professional-pages-setup .ws.done { color:var(--g); }
.thl-p-professional-pages-setup .ws-num { border-color: currentColor; }
.thl-p-professional-pages-setup .ws.active .ws-num, .thl-p-professional-pages-setup .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-professional-pages-setup .ws-sep { color:var(--border); }
.thl-p-professional-pages-setup .wiz-prog-wrap { background: var(--border); }
.thl-p-professional-pages-setup .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-professional-pages-setup .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-professional-pages-setup .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-professional-pages-setup .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-professional-pages-setup .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-professional-pages-setup .step-tab.st-done { color:var(--g-dk); }
.thl-p-professional-pages-setup .step-tab-num { border-color: currentColor; }
.thl-p-professional-pages-setup .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-professional-pages-setup .step-tab.st-done   .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-professional-pages-setup .prof-header { background: var(--white); border-color: var(--border); }
.thl-p-professional-pages-setup .prof-icon { background: var(--g-lt); color:var(--g); }
.thl-p-professional-pages-setup .prof-title { color:var(--ink); }
.thl-p-professional-pages-setup .prof-meta { color:var(--sub); }
.thl-p-professional-pages-setup .lock-tag { background: var(--p-amber-7); color:var(--p-orange-5); border-color: var(--warn); }
.thl-p-professional-pages-setup .card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-professional-pages-setup .card-head { border-bottom-color: var(--border); }
.thl-p-professional-pages-setup .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-professional-pages-setup .card-head-title { color:var(--ink); }
.thl-p-professional-pages-setup .card-head-sub { color:var(--sub); }
.thl-p-professional-pages-setup .sec-label { color:var(--muted); }
.thl-p-professional-pages-setup .sec-label::after { background: var(--border); }
.thl-p-professional-pages-setup .fl-label { color:var(--ink); }
.thl-p-professional-pages-setup .fl-req { color:var(--red); }
.thl-p-professional-pages-setup .fl-hint { color:var(--sub); }
.thl-p-professional-pages-setup .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-professional-pages-setup .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-professional-pages-setup .chk-item { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-professional-pages-setup .chk-item:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-professional-pages-setup .chk-item.checked { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-professional-pages-setup .chk-item.checked::before { color:var(--g); }
.thl-p-professional-pages-setup .chk-item:not(.checked)::before { color:var(--border); }
.thl-p-professional-pages-setup .char-count { color:var(--muted); }
.thl-p-professional-pages-setup .char-count.over { color:var(--red); }
.thl-p-professional-pages-setup .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }

/* ── professional_pages/view_professional.php ─────────────────────────────────────────── */
body.thl-p-professional-pages-view-professional { color:var(--ink); }/* ── BREADCRUMB ── */
.thl-p-professional-pages-view-professional .vp-bc { background: var(--white); border-bottom-color: var(--border); }
.thl-p-professional-pages-view-professional .vp-bc-inner { color:var(--muted); }
.thl-p-professional-pages-view-professional .vp-bc-inner a { color:var(--sub); }
.thl-p-professional-pages-view-professional .vp-bc-inner a:hover { color:var(--g); }
.thl-p-professional-pages-view-professional .vp-bc-sep { color:var(--border); }
.thl-p-professional-pages-view-professional .vp-bc-cur { color:var(--ink); }
.thl-p-professional-pages-view-professional .vp-bc-back { background: var(--g-lt); color:var(--g-dk); }
.thl-p-professional-pages-view-professional .vp-bc-back:hover { background: var(--p-green-40); }
/* ── STICKY NAV ── */
.thl-p-professional-pages-view-professional .vp-snav { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 16px rgba(var(--p-black-1-rgb), .06); }
.thl-p-professional-pages-view-professional .vp-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-professional-pages-view-professional .vp-tab:hover { color:var(--ink); }
.thl-p-professional-pages-view-professional .vp-tab.active { color:var(--g); border-bottom-color: var(--g); }
.thl-p-professional-pages-view-professional .vp-nav-ic { border-color: var(--border); background: var(--surf); color:var(--sub); }
.thl-p-professional-pages-view-professional .vp-nav-ic:hover { border-color: var(--g); color:var(--g); }
.thl-p-professional-pages-view-professional .vp-nav-ic.favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-professional-pages-view-professional .vp-nav-ic.saved { border-color: var(--warn); color:var(--gold); background: var(--amber-lt); }
.thl-p-professional-pages-view-professional .vp-nav-ic.report:hover { border-color: var(--red); color:var(--red); background: var(--red-lt); }
/* ── CINEMATIC HERO ── */
.thl-p-professional-pages-view-professional .vp-hero-wrap { background: var(--p-black-7); }
.thl-p-professional-pages-view-professional .vp-hero-bg-fallback { background: linear-gradient(135deg, var(--p-green-2) 0%, var(--p-green-6) 40%, var(--p-black-9) 100%); }
.thl-p-professional-pages-view-professional .vp-hero-grad-b { background: linear-gradient(to top, rgba(var(--p-black-1-rgb), .88) 0%, rgba(var(--p-black-1-rgb), .45) 45%, rgba(var(--p-black-1-rgb), .1) 100%); }
.thl-p-professional-pages-view-professional .vp-hero-grad-l { background: linear-gradient(to right, rgba(var(--p-black-1-rgb), .35) 0%, transparent 60%); }
.thl-p-professional-pages-view-professional .vp-hero-cat-pill { background: rgba(var(--g-rgb), .18); border-color: var(--g); color:var(--p-green-31); }
.thl-p-professional-pages-view-professional .vp-hero-title { color:var(--white); text-shadow: 0 2px 20px rgba(var(--p-black-1-rgb), .4); }
.thl-p-professional-pages-view-professional .vp-hero-tagline { color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-professional-pages-view-professional .vp-hero-meta-pill { color:rgba(var(--p-white-28-rgb), .9); background: rgba(var(--p-white-28-rgb), .1); border-color: rgba(var(--p-white-28-rgb), .2); }
.thl-p-professional-pages-view-professional .vp-hero-meta-pill i { color:var(--g-br); }
.thl-p-professional-pages-view-professional .vp-hero-meta-pill.rate-pill { background: rgba(var(--g-rgb), .25); border-color: var(--g); color:var(--p-green-37); }
.thl-p-professional-pages-view-professional .vp-hero-meta-pill.fee-pill-paid { background: rgba(var(--p-violet-3-rgb), .25); border-color: var(--violet); color:var(--p-blue-47); }
.thl-p-professional-pages-view-professional .vp-hero-meta-pill.fee-pill-quote { background: rgba(var(--p-orange-9-rgb), .25); border-color: var(--warn); color:var(--amber-br); }
.thl-p-professional-pages-view-professional .vp-hero-av { border-color: rgba(var(--p-white-28-rgb), .3); box-shadow: 0 4px 24px rgba(var(--p-black-1-rgb), .4); }
.thl-p-professional-pages-view-professional .vp-hero-av-name { color:rgba(var(--p-white-28-rgb), .9); }
.thl-p-professional-pages-view-professional .vp-hero-av-role { color:var(--g-br); }
.thl-p-professional-pages-view-professional .vp-hero-gallery-btn { background: rgba(var(--p-black-1-rgb), .5); border-color: rgba(var(--p-white-28-rgb), .2); color:rgba(var(--p-white-28-rgb), .9); }
.thl-p-professional-pages-view-professional .vp-hero-gallery-btn:hover { background: rgba(var(--p-black-1-rgb), .75); }
/* ── IDENTITY STRIP ── */
.thl-p-professional-pages-view-professional .vp-id-strip { background: var(--white); border-bottom-color: var(--border); box-shadow: 0 2px 12px rgba(var(--p-black-1-rgb), .05); }
.thl-p-professional-pages-view-professional .vp-id-strip-stat { border-right-color: var(--border); }
.thl-p-professional-pages-view-professional .vp-id-strip-stat:hover { background: var(--g-lt); }
.thl-p-professional-pages-view-professional .vp-id-strip-n { color:var(--ink); }
.thl-p-professional-pages-view-professional .vp-id-strip-l { color:var(--muted); }
.thl-p-professional-pages-view-professional .strip-views i { color:var(--c-indigo); }
.thl-p-professional-pages-view-professional .strip-loves i { color:var(--red); }
.thl-p-professional-pages-view-professional .strip-saves i { color:var(--gold); }
.thl-p-professional-pages-view-professional .strip-exp   i { color:var(--g); }
.thl-p-professional-pages-view-professional .strip-team  i { color:var(--blue); }
/* ── CARDS ── */
.thl-p-professional-pages-view-professional .card { background: var(--card); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-professional-pages-view-professional .card-hr { border-top-color: var(--border); }
.thl-p-professional-pages-view-professional .sec-hd-icon { background: var(--g-lt); border-color: var(--g); }
.thl-p-professional-pages-view-professional .sec-hd-icon i { color:var(--g-dk); }
.thl-p-professional-pages-view-professional .sec-hd-text h2 { color:var(--ink); }
.thl-p-professional-pages-view-professional .sec-hd-text p { color:var(--muted); }
.thl-p-professional-pages-view-professional .fee-free { background: var(--p-green-49); color:var(--g-inklt); }
.thl-p-professional-pages-view-professional .fee-paid { background: var(--violet-bglt); color:var(--p-violet-2); }
.thl-p-professional-pages-view-professional .fee-quote { background: var(--amber-bglt); color:var(--amber-ink); }
/* ── BIO ── */
.thl-p-professional-pages-view-professional .vp-bio-text { color:var(--sub); }
.thl-p-professional-pages-view-professional .vp-desc-collapsed::after { background: linear-gradient(transparent, white); }
.thl-p-professional-pages-view-professional .vp-desc-toggle { color:var(--g); }
.thl-p-professional-pages-view-professional .vp-desc-toggle:hover { color:var(--g-dk); }
.thl-p-professional-pages-view-professional .vp-fact-bar { border-top-color: var(--border); }
.thl-p-professional-pages-view-professional .vp-fact-chip { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-professional-pages-view-professional .vp-fact-chip:hover { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-professional-pages-view-professional .vp-fact-chip i { color:var(--g); }
.thl-p-professional-pages-view-professional .vp-fact-chip strong { color:var(--ink); }
.thl-p-professional-pages-view-professional .chip-green { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-professional-pages-view-professional .chip-green:hover { background: var(--p-green-43); }
.thl-p-professional-pages-view-professional .chip-purple { background: var(--purple-lt); border-color: var(--violet); color:var(--p-violet-2); }
.thl-p-professional-pages-view-professional .chip-purple:hover { background: var(--violet-bglt); }
.thl-p-professional-pages-view-professional .chip-amber { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-professional-pages-view-professional .chip-amber:hover { background: var(--amber-bglt); }
.thl-p-professional-pages-view-professional .chip-teal { background: var(--p-grey-84); border-color: var(--g); color:var(--teal); }
.thl-p-professional-pages-view-professional .chip-teal:hover { background: var(--p-green-48); }
.thl-p-professional-pages-view-professional .chip-red { background: var(--red-lt); border-color: var(--red); color:var(--p-red-4); }
.thl-p-professional-pages-view-professional .cred-item { background: var(--surf); border-color: var(--border); color:var(--ink); }
.thl-p-professional-pages-view-professional .cred-item:hover { border-color: var(--g); background: var(--g-lt); }
.thl-p-professional-pages-view-professional .cred-item i { color:var(--g); }
.thl-p-professional-pages-view-professional .service-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-professional-pages-view-professional .service-item:hover { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); box-shadow: 0 4px 14px rgba(var(--g-rgb), .1); }
.thl-p-professional-pages-view-professional .service-item i { color:var(--g); }
.thl-p-professional-pages-view-professional .area-pin { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-professional-pages-view-professional .area-pin:hover { background: var(--amber-bglt); }
.thl-p-professional-pages-view-professional .area-pin i { color:var(--gold); }
.thl-p-professional-pages-view-professional .social-btn:hover { box-shadow: var(--sh2); }
.thl-p-professional-pages-view-professional .sb-web { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-professional-pages-view-professional .sb-fb { background: var(--p-grey-57); border-color: var(--info); color:var(--facebook); }
.thl-p-professional-pages-view-professional .sb-ig { background: var(--p-grey-63); border-color: var(--red); color:var(--p-pink-4); }
.thl-p-professional-pages-view-professional .sb-tw { background: var(--p-white-5); border-color: var(--info); color:var(--p-blue-23); }
.thl-p-professional-pages-view-professional .sb-li { background: var(--p-white-5); border-color: var(--info); color:var(--p-blue-24); }
.thl-p-professional-pages-view-professional .sb-yt { background: var(--red-lt); border-color: var(--red); color:var(--p-red-1); }
.thl-p-professional-pages-view-professional .sb-port { background: var(--purple-lt); border-color: var(--violet); color:var(--p-violet-2); }
.thl-p-professional-pages-view-professional .sb-wa { background: var(--g-bglt); border-color: var(--g); color:var(--p-green-15); }
/* ── SECTION DIVIDER LABEL ── */
.thl-p-professional-pages-view-professional .sub-sec-label { color:var(--muted); }
.thl-p-professional-pages-view-professional .sub-sec-label::after { background: var(--border); }
.thl-p-professional-pages-view-professional .biz-item { background: var(--surf); border-color: var(--border); }
.thl-p-professional-pages-view-professional .biz-item:hover { border-color: var(--g); background: var(--g-lt); }
.thl-p-professional-pages-view-professional .biz-item-label { color:var(--muted); }
.thl-p-professional-pages-view-professional .biz-item-value { color:var(--ink); }
.thl-p-professional-pages-view-professional .biz-item-value i { color:var(--g); }
/* ── MAP ── */
.thl-p-professional-pages-view-professional .vp-map-full { border-color: var(--border); }
.thl-p-professional-pages-view-professional .vp-mini-map { border-color: var(--border); }
/* ── VIDEO TOUR ── */
.thl-p-professional-pages-view-professional .vp-video-card-inner { border-color: var(--border); }
.thl-p-professional-pages-view-professional .lp-platform-badge { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-professional-pages-view-professional .lp-landscape { background: var(--p-black-1); }
.thl-p-professional-pages-view-professional .lp-link-only { background: var(--surf); }
.thl-p-professional-pages-view-professional .lp-link-only-title { color:var(--ink); }
.thl-p-professional-pages-view-professional .lp-link-only-note { color:var(--muted); }
.thl-p-professional-pages-view-professional .lp-link-only-btn.yt { background: var(--p-red-1); color:var(--white); }
.thl-p-professional-pages-view-professional .lp-link-only-btn.fb { background: var(--facebook); color:var(--white); }
.thl-p-professional-pages-view-professional .lp-link-only-btn.ig { background: linear-gradient(135deg,var(--p-orange-17),var(--p-orange-13),var(--p-red-11),var(--p-pink-2),var(--p-pink-1)); color:var(--white); }
.thl-p-professional-pages-view-professional .sim-card { background: var(--card); border-color: var(--border); }
.thl-p-professional-pages-view-professional .sim-card:hover { box-shadow: var(--sh3); border-color: var(--g); }
.thl-p-professional-pages-view-professional .sim-card-overlay { background: linear-gradient(to top, rgba(var(--p-black-1-rgb), .45) 0%, transparent 60%); }
.thl-p-professional-pages-view-professional .fee-feefree { background: rgba(var(--p-green-20-rgb), .9); color:var(--p-green-47); }
.thl-p-professional-pages-view-professional .fee-feepaid { background: rgba(var(--p-violet-3-rgb), .9); color:var(--violet-bglt); }
.thl-p-professional-pages-view-professional .fee-feequotebased { background: rgba(var(--p-orange-9-rgb), .9); color:var(--amber-bglt); }
.thl-p-professional-pages-view-professional .pcs-loves { background: rgba(var(--p-white-28-rgb), .92); color:var(--red); }
.thl-p-professional-pages-view-professional .sim-card-cat { color:var(--g); }
.thl-p-professional-pages-view-professional .sim-card-title { color:var(--ink); }
.thl-p-professional-pages-view-professional .sim-card-tag { color:var(--muted); }
.thl-p-professional-pages-view-professional .sim-card-foot { border-top-color: var(--border); }
.thl-p-professional-pages-view-professional .sim-card-foot span { color:var(--muted); }
.thl-p-professional-pages-view-professional .sim-card-foot i { color:var(--g); }
.thl-p-professional-pages-view-professional .vp-eng-btn { border-color: var(--border); background: var(--card); color:var(--sub); }
.thl-p-professional-pages-view-professional .vp-eng-btn:hover { border-color: var(--g); color:var(--g); background: var(--g-lt); }
.thl-p-professional-pages-view-professional .vp-eng-btn.favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-professional-pages-view-professional .vp-eng-btn.saved { border-color: var(--warn); color:var(--gold); background: var(--amber-lt); }
.thl-p-professional-pages-view-professional .contact-card { background: var(--card); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-professional-pages-view-professional .cta-green { background: var(--g); color:var(--white); }
.thl-p-professional-pages-view-professional .cta-green:hover { background: var(--g-dk); color:var(--white); box-shadow: 0 6px 20px rgba(var(--p-green-14-rgb), .3); }
.thl-p-professional-pages-view-professional .cta-ghost { background: transparent; color:var(--sub); border-color: var(--border); }
.thl-p-professional-pages-view-professional .cta-ghost:hover { border-color: var(--g); color:var(--g); background: var(--g-lt); }
.thl-p-professional-pages-view-professional .vp-reveal-btn { background: transparent; border-color: var(--g); color:var(--g-dk); }
.thl-p-professional-pages-view-professional .vp-reveal-btn:hover { background: var(--g-lt); }
.thl-p-professional-pages-view-professional .vp-revealed-num { border-color: var(--g); background: rgba(var(--g-rgb), 0.06); color:var(--ink); }
.thl-p-professional-pages-view-professional .pricing-row { border-bottom-color: var(--border); }
.thl-p-professional-pages-view-professional .pricing-row-label { color:var(--muted); }
.thl-p-professional-pages-view-professional .pricing-row-value { color:var(--ink); }
.thl-p-professional-pages-view-professional .qm-label { color:var(--muted); }
.thl-p-professional-pages-view-professional .qm-btn { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-professional-pages-view-professional .qm-btn i { color:var(--g); }
.thl-p-professional-pages-view-professional .qm-btn:hover { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-professional-pages-view-professional .msg-ta { border-color: var(--border); color:var(--ink); background: var(--card); }
.thl-p-professional-pages-view-professional .msg-ta:focus { border-color: var(--g); }
.thl-p-professional-pages-view-professional .not-logged { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-professional-pages-view-professional .not-logged a { color:var(--g); }
.thl-p-professional-pages-view-professional .safety-card { background: var(--amber-lt); border-color: var(--warn); }
.thl-p-professional-pages-view-professional .safety-title { color:var(--amber-ink); }
.thl-p-professional-pages-view-professional .safety-title i { color:var(--gold); }
.thl-p-professional-pages-view-professional .safety-list li { color:var(--amber-ink); }
.thl-p-professional-pages-view-professional .safety-list li::before { color:var(--gold); }
/* ── TEXT BLOCK ── */
.thl-p-professional-pages-view-professional .text-block { background: var(--surf); border-color: var(--border); color:var(--sub); }
/* ── LIGHTBOX ── */
.thl-p-professional-pages-view-professional .lb { background: rgba(var(--p-black-2-rgb), .97); }
.thl-p-professional-pages-view-professional .lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), .07); }
.thl-p-professional-pages-view-professional .lb-title { color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-professional-pages-view-professional .lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-professional-pages-view-professional .lb-x { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-professional-pages-view-professional .lb-x:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-professional-pages-view-professional .lb-arrow { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .8); }
.thl-p-professional-pages-view-professional .lb-arrow:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-professional-pages-view-professional .lb-th { border-color: transparent; }
.thl-p-professional-pages-view-professional .lb-th.on { border-color: var(--g); }
/* ── SHARE MODAL ── */
.thl-p-professional-pages-view-professional .share-ov { background: rgba(var(--p-black-1-rgb), .5); }
.thl-p-professional-pages-view-professional .share-box { background: var(--card); box-shadow: var(--sh3); }
.thl-p-professional-pages-view-professional .sb-copy i { color:var(--g); }
.thl-p-professional-pages-view-professional .sb-wa-sh i { color:var(--whatsapp-color); }
.thl-p-professional-pages-view-professional .sb-tg-sh i { color:var(--telegram-color); }
/* ── TOAST & NUDGE ── */
.thl-p-professional-pages-view-professional .nudge { background: var(--card); border-color: var(--border); box-shadow: var(--sh3); color:var(--sub); }
.thl-p-professional-pages-view-professional .nudge strong { color:var(--ink); }
.thl-p-professional-pages-view-professional .nudge a { color:var(--g); }
.thl-p-professional-pages-view-professional .nudge-x { color:var(--muted); }

/* ── professionals.php ─────────────────────────────────────────── */
/* FONT & LINE HEIGHT ARE NOT TO BE TAMPERED WITH. NO DEFINING FONT AS IT IS ALREADY DEFINED IN A CSS FILE AND INCLUDED IN HEADER. DON'T DELETE THIS COMMENT. */

/* ── FILTER BAR ─────────────────────────────────── */
.thl-p-professionals .filter-bar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-professionals .fi select, .thl-p-professionals .fi input { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-professionals .fi-arrow { color:var(--muted); }
.thl-p-professionals .fi select:focus, .thl-p-professionals .fi input:focus { border-color: var(--g); background: var(--white); }
.thl-p-professionals .fi-loc-icon { color:var(--muted); }
.thl-p-professionals .sort-wrap label { color:var(--muted); }
.thl-p-professionals #float-sort-dropdown .custom-dropdown-toggle { background: var(--surf); }
.thl-p-professionals .custom-dropdown-toggle { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-professionals .custom-dropdown-toggle:hover, .thl-p-professionals .custom-dropdown-toggle:focus { border-color: var(--g); background: var(--white); }
.thl-p-professionals .custom-dropdown-toggle::after { color:var(--muted); }
.thl-p-professionals .custom-dropdown-menu { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-professionals .custom-dropdown-item { color:var(--ink); }
.thl-p-professionals .custom-dropdown-item:hover { background: var(--surface2); color: var(--ink-2); }
.thl-p-professionals .custom-dropdown-item.selected { background: var(--g); color:var(--white); }
.thl-p-professionals .custom-dropdown-item i { color:var(--g); }
.thl-p-professionals .custom-dropdown-item.selected i { color:var(--white); }
.thl-p-professionals .page-top-title { color:var(--ink); }
.thl-p-professionals .page-top-count { color:var(--muted); }
.thl-p-professionals .cat-tab { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-professionals .cat-tab:hover { border-color: var(--g); color:var(--g-dk); }
.thl-p-professionals .cat-tab.active { background: var(--g); border-color: var(--g); color:var(--white); }
/* ── SPONSORED LABELS ── */
.thl-p-professionals .sponsored-section-label { color:var(--muted); }
.thl-p-professionals .sponsored-section-label i { color:var(--g); }
.thl-p-professionals .sponsored-section-divider { color:var(--muted); }
.thl-p-professionals .sponsored-section-divider::before, .thl-p-professionals .sponsored-section-divider::after { background: var(--border); }
/* ── CARD ── */
.thl-p-professionals .prof-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-professionals .prof-card:hover { box-shadow: var(--shadow-hover); }
.thl-p-professionals .card-slider { background: var(--surf); }
.thl-p-professionals .slider-nav { background: rgba(var(--p-black-1-rgb), 0.45); color:var(--white); }
.thl-p-professionals .slider-nav:hover { background: rgba(var(--p-black-1-rgb), 0.75); }
.thl-p-professionals .slider-count { background: rgba(var(--p-black-1-rgb), 0.5); color:var(--white); }
.thl-p-professionals .fee-badge { color:var(--white); }
.thl-p-professionals .fee-free { background: var(--ok); }
.thl-p-professionals .fee-paid { background: var(--arch); }
.thl-p-professionals .fee-quote { background: var(--warn); }
.thl-p-professionals .no-photo { color:var(--muted); }
.thl-p-professionals .card-cat-icon { background: var(--g-lt); color:var(--g); }
.thl-p-professionals .card-cat-label { color:var(--g-dk); }
.thl-p-professionals .card-title { color:var(--ink); }
.thl-p-professionals .card-tagline { color:var(--sub); }
.thl-p-professionals .card-loc { color:var(--muted); }
.thl-p-professionals .card-loc i { color:var(--g); }
.thl-p-professionals .card-meta-item { color:var(--sub); }
.thl-p-professionals .card-meta-item i { color:var(--g); }
.thl-p-professionals .card-rating i { color:var(--gold); }
.thl-p-professionals .rating-count { color:var(--muted); }
.thl-p-professionals .card-specs { border-top-color: var(--border); }
.thl-p-professionals .spec-chip { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-professionals .spec-more { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-professionals .card-actions { border-top-color: var(--border); }
.thl-p-professionals .card-act { color:var(--muted); }
.thl-p-professionals .card-act-btn { color:var(--muted); }
.thl-p-professionals .card-act-btn.favourited { color:var(--red); }
.thl-p-professionals .card-act-btn.saved { color:var(--gold); }
.thl-p-professionals .card-act-btn.love-btn:hover { color:var(--red); }
.thl-p-professionals .card-act-btn.fav-btn:hover { color:var(--gold); }
.thl-p-professionals .card-act .fa-eye { color:var(--c-blue) !important; }
.thl-p-professionals .empty-state .home-icon-wrap { color:var(--border); }
.thl-p-professionals .empty-state h3 { color:var(--ink); }
.thl-p-professionals .empty-state p { color:var(--muted); }
.thl-p-professionals .empty-state a { background: var(--g); color:var(--white); }
.thl-p-professionals .skeleton-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-professionals .skel-img { background: linear-gradient(90deg, var(--surf-2) 25%, var(--p-grey-28) 50%, var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-professionals .skel-line { background: linear-gradient(90deg, var(--surf-2) 25%, var(--p-grey-28) 50%, var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-professionals .load-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-professionals .load-end-msg { color:var(--muted); }
/* ── LOGIN NUDGE ── */
.thl-p-professionals .login-nudge { background: var(--white); border-color: var(--border); box-shadow: 0 8px 30px rgba(var(--p-black-1-rgb), 0.12); color:var(--sub); }
.thl-p-professionals .login-nudge a { color:var(--g); }
.thl-p-professionals .login-nudge-close { color:var(--muted); }

/* ── promotions/payment_callback.php ─────────────────────────────────────────── */
.thl-p-promotions-payment-callback .cb-icon.fail { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-promotions-payment-callback .cb-title { color:var(--ink); }
.thl-p-promotions-payment-callback .cb-sub { color:var(--sub); }
.thl-p-promotions-payment-callback .cb-ref { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-promotions-payment-callback .cb-btn.green { background: var(--g); color:var(--white); }
.thl-p-promotions-payment-callback .cb-btn.green:hover { background: var(--g-dk); box-shadow: 0 4px 16px rgba(var(--g-rgb), .3); }
.thl-p-promotions-payment-callback .cb-btn.ghost { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-promotions-payment-callback .cb-btn.ghost:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-promotions-payment-callback .cb-check-wrap { background: var(--g-lt); border-color: var(--g); color:var(--g); }
.thl-p-promotions-payment-callback .cb-title { color:var(--ink); }
.thl-p-promotions-payment-callback .cb-sub { color:var(--sub); }
.thl-p-promotions-payment-callback .card { background: var(--white); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-promotions-payment-callback .card-head { border-bottom-color: var(--border); }
.thl-p-promotions-payment-callback .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-promotions-payment-callback .card-title { color:var(--ink); }
.thl-p-promotions-payment-callback .card-title i { color:var(--g); }
.thl-p-promotions-payment-callback .detail-row { border-bottom-color: var(--border); }
.thl-p-promotions-payment-callback .dr-label { color:var(--sub); }
.thl-p-promotions-payment-callback .dr-label i { color:var(--g); }
.thl-p-promotions-payment-callback .dr-val { color:var(--ink); }
.thl-p-promotions-payment-callback .dr-val.green { color:var(--g-dk); }
.thl-p-promotions-payment-callback .dr-val.pill { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-promotions-payment-callback .tl-dot { background: var(--g); }
.thl-p-promotions-payment-callback .tl-line { background: linear-gradient(90deg, var(--g), var(--g-br)); }
.thl-p-promotions-payment-callback .tl-dot-end { background: var(--g-br); border-color: var(--g); }
.thl-p-promotions-payment-callback .tl-labels { color:var(--muted); }
.thl-p-promotions-payment-callback .homepage-badge { background: var(--amber-lt); border-color: var(--warn); }
.thl-p-promotions-payment-callback .homepage-badge i { color:var(--gold); }
.thl-p-promotions-payment-callback .homepage-badge-text { color:var(--amber-ink); }
.thl-p-promotions-payment-callback .next-list li { color:var(--sub); }
.thl-p-promotions-payment-callback .next-list li::before { color:var(--g); }
.thl-p-promotions-payment-callback .btn-primary:hover { box-shadow: 0 5px 18px rgba(var(--g-rgb), .3); }
.thl-p-promotions-payment-callback .email-note { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-promotions-payment-callback .ref-box { background: var(--surf); border-color: var(--border); color:var(--muted); }

/* ── promotions/promote.php ─────────────────────────────────────────── */
.thl-p-promotions-promote .bc-bar { background: var(--white); border-bottom-color: var(--border); }
.thl-p-promotions-promote .bc-inner { color:var(--muted); }
.thl-p-promotions-promote .bc-inner a { color:var(--sub); }
.thl-p-promotions-promote .bc-inner a:hover { color:var(--g); }
.thl-p-promotions-promote .bc-sep { color:var(--border); }
.thl-p-promotions-promote .bc-back { background: var(--g-lt); color:var(--g-dk); }
.thl-p-promotions-promote .bc-back:hover { background: var(--p-green-40); }
.thl-p-promotions-promote .promo-ph-icon { background: linear-gradient(135deg, var(--g-lt), var(--p-green-47)); color:var(--g); }
.thl-p-promotions-promote .promo-ph h1 { color:var(--ink); }
.thl-p-promotions-promote .promo-ph p { color:var(--sub); }
.thl-p-promotions-promote .listing-pill { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-promotions-promote .existing-promo-banner { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-promotions-promote .existing-promo-banner i { color:var(--gold); }
.thl-p-promotions-promote .wallet-err { background: var(--red-lt); border-color: var(--red); color:var(--p-red-4); }
.thl-p-promotions-promote .wallet-err i { color:var(--red); }
.thl-p-promotions-promote .card { background: var(--white); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-promotions-promote .card-head { border-bottom-color: var(--border); }
.thl-p-promotions-promote .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-promotions-promote .card-title { color:var(--ink); }
.thl-p-promotions-promote .card-title i { color:var(--g); }
.thl-p-promotions-promote .plan-option { border-color: var(--border); background: var(--white); }
.thl-p-promotions-promote .plan-option:hover { border-color: var(--g); background: var(--g-lt); }
.thl-p-promotions-promote .plan-option.selected { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), .12); }
.thl-p-promotions-promote .plan-radio-dot { border-color: var(--border); }
.thl-p-promotions-promote .plan-option.selected .plan-radio-dot { border-color: var(--g); background: var(--g); }
.thl-p-promotions-promote .plan-option.selected .plan-radio-dot::after { background: var(--white); }
.thl-p-promotions-promote .plan-name { color:var(--ink); }
.thl-p-promotions-promote .plan-days { color:var(--sub); }
.thl-p-promotions-promote .plan-price { color:var(--ink); }
.thl-p-promotions-promote .plan-price-sub { color:var(--muted); }
.thl-p-promotions-promote .badge-popular { background: var(--p-amber-7); border-color: var(--p-amber-4); color:var(--p-orange-5); }
.thl-p-promotions-promote .badge-best { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-promotions-promote .addon-box { border-color: var(--border); background: var(--white); }
.thl-p-promotions-promote .addon-box:hover { border-color: var(--g); background: var(--g-lt); }
.thl-p-promotions-promote .addon-box.selected { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), .12); }
.thl-p-promotions-promote .addon-checkbox { border-color: var(--border); }
.thl-p-promotions-promote .addon-box.selected .addon-checkbox { border-color: var(--g); background: var(--g); }
.thl-p-promotions-promote .addon-box.selected .addon-checkbox::after { color:var(--white); }
.thl-p-promotions-promote .addon-label { color:var(--ink); }
.thl-p-promotions-promote .addon-desc { color:var(--sub); }
.thl-p-promotions-promote .addon-price { color:var(--g-dk); }
.thl-p-promotions-promote .tab-btn { background: var(--surf); color:var(--sub); border-right-color: var(--border); }
.thl-p-promotions-promote .tab-btn.active { background: var(--g); color:var(--white); }
.thl-p-promotions-promote .tab-btn:not(.active):hover { background: var(--g-lt); color:var(--g-dk); }
.thl-p-promotions-promote .wallet-bal-box { background: var(--surf); border-color: var(--border); }
.thl-p-promotions-promote .wbal-label { color:var(--sub); }
.thl-p-promotions-promote .wbal-amount { color:var(--ink); }
.thl-p-promotions-promote .wbal-amount.sufficient { color:var(--g-dk); }
.thl-p-promotions-promote .wbal-amount.insufficient { color:var(--red); }
.thl-p-promotions-promote .topup-link { color:var(--g); }
.thl-p-promotions-promote .topup-link:hover { color:var(--g-dk); }
.thl-p-promotions-promote .summary-row { border-bottom-color: var(--border); }
.thl-p-promotions-promote .sr-label { color:var(--sub); }
.thl-p-promotions-promote .sr-val { color:var(--ink); }
.thl-p-promotions-promote .sr-val.green { color:var(--g-dk); }
.thl-p-promotions-promote .total-divider { border-top-color: var(--border); }
.thl-p-promotions-promote .total-label { color:var(--muted); }
.thl-p-promotions-promote .total-amount { color:var(--ink); }
.thl-p-promotions-promote .total-currency { color:var(--sub); }
.thl-p-promotions-promote .promo-detail-row { border-bottom-color: var(--border); }
.thl-p-promotions-promote .pd-icon { color:var(--g); }
.thl-p-promotions-promote .pd-text { color:var(--sub); }
.thl-p-promotions-promote .pd-text strong { color:var(--ink); }
.thl-p-promotions-promote .btn-pay:hover:not(:disabled) { box-shadow: 0 6px 22px rgba(var(--g-rgb), .32); }
.thl-p-promotions-promote .pay-note { color:var(--muted); }
.thl-p-promotions-promote .how-num { background: var(--g); color:var(--white); }
.thl-p-promotions-promote .how-text { color:var(--sub); }
.thl-p-promotions-promote .how-text strong { color:var(--ink); }
.thl-p-promotions-promote .secure-badge { background: var(--surf); border-color: var(--border); color:var(--sub); }

/* ── properties.php ─────────────────────────────────────────── */
/* FONT & LINE HEIGHT ARE NOT TO BE TAMPERED WITH. NO DEFINING FONT AS IT IS ALREADY DEFINED IN A CSS FILE AND INCLUDED IN HEADER. DON'T DELETE THIS COMMENT. */
.thl-p-properties .filter-bar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-properties .fi select, .thl-p-properties .fi input { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-properties .fi-arrow { color:var(--muted); }
.thl-p-properties .fi select:focus, .thl-p-properties .fi input:focus { border-color: var(--g); background: var(--white); }
.thl-p-properties .fi-loc-icon { color:var(--muted); }
.thl-p-properties .fi-price-sep { color:var(--muted); }
.thl-p-properties .sort-wrap label { color:var(--muted); }
.thl-p-properties #float-sort-dropdown .custom-dropdown-toggle { background: var(--surf); }
.thl-p-properties .custom-dropdown-toggle { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-properties .custom-dropdown-toggle:hover, .thl-p-properties .custom-dropdown-toggle:focus { border-color: var(--g); background: var(--white); }
.thl-p-properties .custom-dropdown-toggle::after { color:var(--muted); }
.thl-p-properties .custom-dropdown-menu { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-properties .custom-dropdown-item { color:var(--ink); }
.thl-p-properties .custom-dropdown-item:hover { background: var(--surface2); color: var(--ink-2); }
.thl-p-properties .custom-dropdown-item.selected { background: var(--g); color:var(--white); }
.thl-p-properties .custom-dropdown-item i { color:var(--g); }
.thl-p-properties .custom-dropdown-item.selected i { color:var(--white); }
.thl-p-properties .page-top-title { color:var(--ink); }
.thl-p-properties .page-top-count { color:var(--muted); }
.thl-p-properties .type-tab { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-properties .type-tab:hover { border-color: var(--g); color:var(--g-dk); }
.thl-p-properties .type-tab.active { background: var(--g); border-color: var(--g); color:var(--white); }
.thl-p-properties .sponsored-section-label { color:var(--muted); }
.thl-p-properties .sponsored-section-label i { color:var(--g); }
.thl-p-properties .sponsored-section-divider { color:var(--muted); }
.thl-p-properties .sponsored-section-divider::before, .thl-p-properties .sponsored-section-divider::after { background: var(--border); }
.thl-p-properties .prop-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-properties .prop-card:hover { box-shadow: var(--shadow-hover); }
.thl-p-properties .card-slider { background: var(--surf); }
.thl-p-properties .slider-nav { background: rgba(var(--p-black-1-rgb), 0.45); color:var(--white); }
.thl-p-properties .slider-nav:hover { background: rgba(var(--p-black-1-rgb), 0.75); }
.thl-p-properties .slider-count { background: rgba(var(--p-black-1-rgb), 0.5); color:var(--white); }
.thl-p-properties .txn-badge { color:var(--white); }
.thl-p-properties .txn-sale { background: var(--arch); }
.thl-p-properties .txn-rent { background: var(--c-cyan); }
.thl-p-properties .txn-booking { background: var(--warn); }
.thl-p-properties .no-photo { color:var(--muted); }
.thl-p-properties .card-title { color:var(--ink); }
.thl-p-properties .card-loc { color:var(--muted); }
.thl-p-properties .card-loc i { color:var(--g); }
.thl-p-properties .card-price { color:var(--ink); }
.thl-p-properties .card-price-suffix { color:var(--muted); }
.thl-p-properties .card-orig { color:var(--muted); }
.thl-p-properties .card-metrics { border-top-color: var(--border); }
.thl-p-properties .card-metric { color:var(--sub); }
.thl-p-properties .card-metric:not(:last-child)::after { background: var(--border); }
.thl-p-properties .card-metric i { color:var(--g); }
.thl-p-properties .card-actions { border-top-color: var(--border); }
.thl-p-properties .card-act { color:var(--muted); }
.thl-p-properties .card-act-btn { color:var(--muted); }
.thl-p-properties .card-act-btn.favourited { color:var(--red); }
.thl-p-properties .card-act-btn.saved { color:var(--gold); }
.thl-p-properties .card-act-btn.love-btn:hover { color:var(--red); }
.thl-p-properties .card-act-btn.fav-btn:hover { color:var(--gold); }
.thl-p-properties .card-act .fa-eye { color:var(--c-blue) !important; }
.thl-p-properties .empty-state .home-icon-wrap { color:var(--border); }
.thl-p-properties .empty-state h3 { color:var(--ink); }
.thl-p-properties .empty-state p { color:var(--muted); }
.thl-p-properties .empty-state a { background: var(--g); color:var(--white); }
.thl-p-properties .skeleton-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-properties .skel-img { background: linear-gradient(90deg, var(--surf-2) 25%, var(--p-grey-28) 50%, var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-properties .skel-line { background: linear-gradient(90deg, var(--surf-2) 25%, var(--p-grey-28) 50%, var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-properties .load-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-properties .load-end-msg { color:var(--muted); }
.thl-p-properties .login-nudge { background: var(--white); border-color: var(--border); box-shadow: 0 8px 30px rgba(var(--p-black-1-rgb), 0.12); color:var(--sub); }
.thl-p-properties .login-nudge a { color:var(--g); }
.thl-p-properties .login-nudge-close { color:var(--muted); }

/* ── property_pages/basic.php ─────────────────────────────────────────── */
/* NOTE: body background-color is NOT redefined here.

   It is inherited from /css/universal_font&bg_clr.css via header. */

/* ── WIZARD TOP BAR ── */
.thl-p-property-pages-basic .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-property-pages-basic .wiz-prog-wrap { background: var(--border); }
.thl-p-property-pages-basic .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-property-pages-basic .wiz-brand { color:var(--g); }
.thl-p-property-pages-basic .ws { color:var(--muted); }
.thl-p-property-pages-basic .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-property-pages-basic .ws.done { color:var(--g); }
.thl-p-property-pages-basic .ws-num { border-color: currentColor; }
.thl-p-property-pages-basic .ws.active .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-property-pages-basic .ws.done  .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-property-pages-basic .ws-sep { color:var(--border); }
/* ── STEP TABS SUB-BAR ── */
.thl-p-property-pages-basic .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-property-pages-basic .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-property-pages-basic .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-property-pages-basic .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 60%, rgba(var(--g-rgb), 0.05)); }
.thl-p-property-pages-basic .step-tab.st-done { color:var(--g-dk); }
.thl-p-property-pages-basic .step-tab-num { border-color: currentColor; }
.thl-p-property-pages-basic .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-property-pages-basic .step-tab.st-done .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-property-pages-basic .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-property-pages-basic .card-head { border-bottom-color: var(--border); background: var(--white); }
.thl-p-property-pages-basic .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-property-pages-basic .card-title { color:var(--ink); }
.thl-p-property-pages-basic .card-sub { color:var(--sub); }
.thl-p-property-pages-basic .sec-label { color:var(--muted); }
.thl-p-property-pages-basic .sec-label::after { background: var(--border); }
.thl-p-property-pages-basic .opt-card { border-color: var(--border); background: var(--white); }
.thl-p-property-pages-basic .opt-card:hover { border-color: var(--g); background: var(--g-lt); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.1); }
.thl-p-property-pages-basic .opt-card.sel { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-property-pages-basic .opt-card.sel::after { color:var(--g); }
.thl-p-property-pages-basic .opt-ico { background: var(--surface); color:var(--muted); }
.thl-p-property-pages-basic .opt-card:hover .opt-ico, .thl-p-property-pages-basic .opt-card.sel .opt-ico { background: var(--g); color:var(--white); }
.thl-p-property-pages-basic .opt-lbl { color:var(--ink); }
.thl-p-property-pages-basic .opt-hint { color:var(--sub); }
.thl-p-property-pages-basic .grp-label { color:var(--muted); border-bottom-color: var(--border); }
.thl-p-property-pages-basic .fl-label { color:var(--ink); }
.thl-p-property-pages-basic .fl-req { color:var(--red); }
.thl-p-property-pages-basic .fl-hint { color:var(--sub); }
.thl-p-property-pages-basic .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-property-pages-basic .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-property-pages-basic .char-count { color:var(--muted); }
.thl-p-property-pages-basic .char-count.over { color:var(--red); }
/* ── MAP BOX ── */
.thl-p-property-pages-basic .map-box { border-color: var(--border); }
.thl-p-property-pages-basic .map-search-inp { color:var(--ink); background: var(--white); }
.thl-p-property-pages-basic .map-tile-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-property-pages-basic .map-tile-btn:hover { background: var(--white); box-shadow: 0 3px 10px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-property-pages-basic .map-tile-btn.active { background: var(--g); color:var(--white); border-color: var(--g); }
/* My Location floating button */
.thl-p-property-pages-basic .map-myloc-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-property-pages-basic .map-myloc-btn:hover { background: var(--white); box-shadow: 0 3px 10px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-property-pages-basic .map-myloc-btn i { color:var(--g); }
/* Search suggestions dropdown */
.thl-p-property-pages-basic .map-suggestions { background: var(--white); box-shadow: 0 6px 20px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-property-pages-basic .map-sug-item { color:var(--ink); border-bottom-color: var(--surface2); }
.thl-p-property-pages-basic .map-sug-item:hover { background: var(--g-lt); }
.thl-p-property-pages-basic .map-sug-item i { color:var(--g); }
.thl-p-property-pages-basic .map-sug-sub { color:var(--muted); }
/* Hint overlay — dismisses on first map click */
.thl-p-property-pages-basic .map-hint-overlay { background: rgba(var(--p-black-1-rgb), 0.68); color:var(--white); }
.thl-p-property-pages-basic .map-info { background: var(--surface); border-color: var(--border); color:var(--sub); }
.thl-p-property-pages-basic .map-info i { color:var(--g); }
.thl-p-property-pages-basic .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-property-pages-basic .r-tag { background: var(--g-lt); color:var(--g-dk); }
.thl-p-property-pages-basic .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-property-pages-basic .review-row { border-bottom-color: var(--border); }
.thl-p-property-pages-basic .review-key { color:var(--sub); }
.thl-p-property-pages-basic .review-val { color:var(--ink); }
.thl-p-property-pages-basic .lock-notice { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }

/* ── property_pages/photos.php ─────────────────────────────────────────── */
/* NOTE: body background-color is NOT redefined here.

   It is inherited from /css/universal_font&bg_clr.css via header. */
.thl-p-property-pages-photos .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-property-pages-photos .wiz-prog-wrap { background: var(--border); }
.thl-p-property-pages-photos .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-property-pages-photos .wiz-brand { color:var(--g); }
.thl-p-property-pages-photos .ws { color:var(--muted); }
.thl-p-property-pages-photos .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-property-pages-photos .ws.done { color:var(--g); }
.thl-p-property-pages-photos .ws-num { border-color: currentColor; }
.thl-p-property-pages-photos .ws.active .ws-num, .thl-p-property-pages-photos .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-property-pages-photos .ws-sep { color:var(--border); }
.thl-p-property-pages-photos .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-property-pages-photos .card-head { border-bottom-color: var(--border); }
.thl-p-property-pages-photos .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-property-pages-photos .card-title { color:var(--ink); }
.thl-p-property-pages-photos .card-sub { color:var(--sub); }
.thl-p-property-pages-photos .prop-banner { background: var(--white); border-color: var(--border); }
.thl-p-property-pages-photos .prop-ico { background: var(--g-lt); color:var(--g); }
.thl-p-property-pages-photos .prop-name { color:var(--ink); }
.thl-p-property-pages-photos .prop-meta { color:var(--sub); }
.thl-p-property-pages-photos .drop-zone { border-color: var(--border); background: var(--surface); }
.thl-p-property-pages-photos .drop-zone:hover, .thl-p-property-pages-photos .drop-zone.dragover { border-color: var(--g); background: var(--g-lt); }
.thl-p-property-pages-photos .drop-icon { color:var(--muted); }
.thl-p-property-pages-photos .drop-zone:hover .drop-icon, .thl-p-property-pages-photos .drop-zone.dragover .drop-icon { color:var(--g); }
.thl-p-property-pages-photos .drop-title { color:var(--ink); }
.thl-p-property-pages-photos .drop-sub { color:var(--sub); }
.thl-p-property-pages-photos .drop-limit { color:var(--muted); }
.thl-p-property-pages-photos .pending-label { color:var(--sub); }
.thl-p-property-pages-photos .add-more-btn { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-property-pages-photos .add-more-btn:hover { background: var(--g); color:var(--white); }
.thl-p-property-pages-photos .photo-item { border-color: var(--border); background: var(--surface); }
.thl-p-property-pages-photos .photo-item.banner { border-color: var(--g); box-shadow: 0 0 0 2px rgba(var(--g-rgb), 0.2); }
.thl-p-property-pages-photos .photo-item.drag-over { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.25); }
/* Pending preview items (not yet uploaded) */
.thl-p-property-pages-photos .pending-item { border-color: var(--g); background: var(--surface); }
.thl-p-property-pages-photos .pending-remove-btn { background: rgba(var(--p-red-15-rgb), 0.9); color:var(--white); }
.thl-p-property-pages-photos .pending-remove-btn:hover { background: var(--error); }
.thl-p-property-pages-photos .photo-overlay { background: linear-gradient(to top, rgba(var(--p-black-1-rgb), 0.55) 0%, transparent 50%); }
.thl-p-property-pages-photos .photo-num { background: rgba(var(--p-black-1-rgb), 0.5); color:var(--white); }
.thl-p-property-pages-photos .photo-btn-del { background: rgba(var(--p-red-15-rgb), 0.9); color:var(--white); }
.thl-p-property-pages-photos .photo-btn-del:hover { background: var(--error); }
.thl-p-property-pages-photos .drag-hint { color:var(--muted); }
.thl-p-property-pages-photos .count-bar { background: var(--surface); border-color: var(--border); }
.thl-p-property-pages-photos .count-bar strong { color:var(--ink); }
.thl-p-property-pages-photos .seg { background: var(--border); }
.thl-p-property-pages-photos .seg.filled { background: var(--g); }
.thl-p-property-pages-photos .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-property-pages-photos .review-row { border-bottom-color: var(--border); }
.thl-p-property-pages-photos .review-key { color:var(--sub); }
.thl-p-property-pages-photos .review-val { color:var(--ink); }
.thl-p-property-pages-photos .review-thumb { border-color: var(--border); }
.thl-p-property-pages-photos .review-thumb.banner { border-color: var(--g); }
.thl-p-property-pages-photos .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-property-pages-photos .btn-red:hover { box-shadow: 0 4px 14px rgba(var(--p-red-15-rgb), 0.35); }
/* ── Upload / bulk-delete progress overlay ── */
.thl-p-property-pages-photos #upload-overlay, .thl-p-property-pages-photos #bulk-del-overlay { background: rgba(var(--p-white-28-rgb), 0.82); }
.thl-p-property-pages-photos .upl-card { background: var(--white); border-color: var(--border); box-shadow: 0 8px 40px rgba(var(--p-black-1-rgb), 0.13); }
.thl-p-property-pages-photos .upl-icon-wrap { background: var(--g-lt); }
.thl-p-property-pages-photos .upl-icon-wrap i { color:var(--g); }
.thl-p-property-pages-photos .upl-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-property-pages-photos .upl-title { color:var(--ink); }
.thl-p-property-pages-photos .upl-sub { color:var(--sub); }
.thl-p-property-pages-photos .upl-bar-wrap { background: var(--border); }
.thl-p-property-pages-photos .upl-bar-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-property-pages-photos .upl-pct { color:var(--g); }
.thl-p-property-pages-photos .upl-detail { color:var(--muted); }
.thl-p-property-pages-photos .confirm-backdrop { background: rgba(var(--p-grey-4-rgb), 0.45); }
.thl-p-property-pages-photos .confirm-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-property-pages-photos .confirm-icon-wrap { background: var(--red-lt); }
.thl-p-property-pages-photos .confirm-icon-wrap i { color:var(--red); }
.thl-p-property-pages-photos .confirm-title { color:var(--ink); }
.thl-p-property-pages-photos .confirm-msg { color:var(--sub); }
.thl-p-property-pages-photos .confirm-thumb-wrap { border-color: var(--border); }
.thl-p-property-pages-photos .photo-grid.select-mode .photo-item:hover { border-color: var(--g); box-shadow: 0 0 0 2px rgba(var(--g-rgb), 0.2); }
.thl-p-property-pages-photos .photo-item .select-check { border-color: rgba(var(--p-white-28-rgb), 0.6); background: transparent; }
.thl-p-property-pages-photos .photo-item.selected .select-check { background: rgba(var(--g-rgb), 0.85); border-color: var(--g); }
.thl-p-property-pages-photos .photo-item.selected .select-check i { color:var(--white); }
.thl-p-property-pages-photos .photo-item.selected { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.3); }
.thl-p-property-pages-photos .select-toggle-btn { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-property-pages-photos .select-toggle-btn:hover { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-property-pages-photos .select-toggle-btn.active { border-color: var(--red); color:var(--red); background: var(--red-lt); }
/* ── Sticky bulk-delete bar ── */
.thl-p-property-pages-photos #bulk-bar { background: var(--white); border-top-color: var(--border); box-shadow: 0 -4px 20px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-property-pages-photos .bulk-sel-thumb { border-color: var(--white); box-shadow: 0 1px 4px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-property-pages-photos .bulk-sel-count { color:var(--ink); }
.thl-p-property-pages-photos .bulk-sel-count span { color:var(--sub); }
.thl-p-property-pages-photos .bulk-thumb-strip img { border-color: var(--border); }
/* ── Page-load image rendering overlay ── */
.thl-p-property-pages-photos #pageload-overlay { background: rgba(var(--p-white-28-rgb), 0.88); }
html.page-entering::before { background: rgba(var(--p-white-28-rgb), 0.88); }

/* ── property_pages/pricing.php ─────────────────────────────────────────── */
.thl-p-property-pages-pricing .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-property-pages-pricing .wiz-prog-wrap { background: var(--border); }
.thl-p-property-pages-pricing .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-property-pages-pricing .wiz-brand { color:var(--g); }
.thl-p-property-pages-pricing .ws { color:var(--muted); }
.thl-p-property-pages-pricing .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-property-pages-pricing .ws.done { color:var(--g); }
.thl-p-property-pages-pricing .ws-num { border-color: currentColor; }
.thl-p-property-pages-pricing .ws.active .ws-num, .thl-p-property-pages-pricing .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-property-pages-pricing .ws-sep { color:var(--border); }
.thl-p-property-pages-pricing .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-property-pages-pricing .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-property-pages-pricing .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-property-pages-pricing .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-property-pages-pricing .step-tab.st-done { color:var(--g-dk); }
.thl-p-property-pages-pricing .step-tab-num { border-color: currentColor; }
.thl-p-property-pages-pricing .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-property-pages-pricing .step-tab.st-done .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-property-pages-pricing .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-property-pages-pricing .card-head { border-bottom-color: var(--border); }
.thl-p-property-pages-pricing .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-property-pages-pricing .card-title { color:var(--ink); }
.thl-p-property-pages-pricing .card-sub { color:var(--sub); }
.thl-p-property-pages-pricing .prop-banner { background: var(--white); border-color: var(--border); }
.thl-p-property-pages-pricing .prop-ico { background: var(--g-lt); color:var(--g); }
.thl-p-property-pages-pricing .prop-name { color:var(--ink); }
.thl-p-property-pages-pricing .prop-meta { color:var(--sub); }
.thl-p-property-pages-pricing .fl-label { color:var(--ink); }
.thl-p-property-pages-pricing .fl-req { color:var(--red); }
.thl-p-property-pages-pricing .fl-hint { color:var(--sub); }
.thl-p-property-pages-pricing .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-property-pages-pricing .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-property-pages-pricing .price-display { background: var(--g-lt); border-color: var(--g); }
.thl-p-property-pages-pricing .price-display-main { color:var(--g-dk); }
.thl-p-property-pages-pricing .price-display-disc { color:var(--sub); }
.thl-p-property-pages-pricing .price-display-disc s { color:var(--muted); }
.thl-p-property-pages-pricing .price-display-save { background: var(--g); color:var(--white); }
/* ═══════════════════════════════════════════════════════════════════════════════

   LINK / VIDEO PREVIEW

   ───────────────────────────────────────────────────────────────────────────────

   Core philosophy:

     Every embed platform (YouTube, .thl-p-property-pages-pricing TikTok, .thl-p-property-pages-pricing Instagram, .thl-p-property-pages-pricing Facebook) is a full webpage

     that renders at its OWN designed internal dimensions. We must not fight those

     dimensions with clipping or scaling — that causes dead space and side cropping.

     Instead:

       • Landscape platforms (YouTube regular, .thl-p-property-pages-pricing Facebook) → classic 16:9 ratio trick.

       • Portrait platforms (TikTok, .thl-p-property-pages-pricing YT Shorts, .thl-p-property-pages-pricing Instagram) → render the iframe at

         the exact pixel size the platform was designed for, .thl-p-property-pages-pricing centre it, .thl-p-property-pages-pricing done.

     Each platform has a dedicated CSS class with its native dimensions.

   ═══════════════════════════════════════════════════════════════════════════════ */
.thl-p-property-pages-pricing .link-preview { border-color: var(--border); }
/* Platform badge shown above every embed */
.thl-p-property-pages-pricing .lp-platform-badge { background: var(--surface); border-bottom-color: var(--border); }
/* ── LANDSCAPE: YouTube regular & Facebook ──────────────────────────────────

   padding-top 56.25% = perfect 16:9 at any card width. Unchanged.          */
.thl-p-property-pages-pricing .lp-landscape { background: var(--p-black-1); }
/* ── PORTRAIT outer: centering strip ───────────────────────────────────────

   Dark background strip that centres the phone-shaped box.

   Height is NOT fixed — it wraps the inner box exactly, .thl-p-property-pages-pricing so there is

   zero dead space above or below regardless of platform.                   */
.thl-p-property-pages-pricing .lp-portrait-wrap { background: var(--ink-3); }
/* ── PORTRAIT inner box: the "phone screen" ────────────────────────────────

   Base styles only. Width + height are set by the platform modifier class.

   overflow:hidden clips any tiny rendering overshoot at the edges.         */
.thl-p-property-pages-pricing .lp-portrait-box { background: var(--p-black-1); }
/* Loading overlay — sits above any embed while it loads */
.thl-p-property-pages-pricing .lp-load-overlay { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); }
/* Fallback when no embeddable URL is available */
.thl-p-property-pages-pricing .lp-fallback { color:var(--muted); background: var(--surface); }
/*

 * Link-only card: used for Facebook and Instagram which block iframe embedding.

 * Shows a clean styled card with platform icon + open-link button.

 * No spinner, .thl-p-property-pages-pricing no broken blank box — just honest UX.

 */
.thl-p-property-pages-pricing .lp-link-only { background: var(--surface); }
.thl-p-property-pages-pricing .lp-link-only-icon.fb { background: var(--p-blue-56); color:var(--facebook); }
.thl-p-property-pages-pricing .lp-link-only-icon.ig { background: var(--p-pink-6); color:var(--p-pink-4); }
.thl-p-property-pages-pricing .lp-link-only-title { color:var(--ink); }
.thl-p-property-pages-pricing .lp-link-only-note { color:var(--muted); }
.thl-p-property-pages-pricing .lp-link-only-btn.fb { background: var(--facebook); color:var(--white); }
.thl-p-property-pages-pricing .lp-link-only-btn.ig { background: linear-gradient(135deg,var(--p-orange-17),var(--p-orange-13),var(--p-red-11),var(--p-pink-2),var(--p-pink-1)); color:var(--white); }
.thl-p-property-pages-pricing .link-preview-loading { color:var(--muted); background: var(--surface); }
.thl-p-property-pages-pricing .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-property-pages-pricing .review-row { border-bottom-color: var(--border); }
.thl-p-property-pages-pricing .review-key { color:var(--sub); }
.thl-p-property-pages-pricing .review-val { color:var(--ink); }
.thl-p-property-pages-pricing .check-item { background: var(--white); border-color: var(--border); }
.thl-p-property-pages-pricing .check-item.ok   i { color:var(--g); }
.thl-p-property-pages-pricing .check-item.fail i { color:var(--red); }
.thl-p-property-pages-pricing .check-item.ok { border-color: var(--g); }
.thl-p-property-pages-pricing .check-item.fail { border-color: var(--red); background: var(--red-lt); color:var(--red); }
.thl-p-property-pages-pricing .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }

/* ── property_pages/setup.php ─────────────────────────────────────────── */
/* NOTE: body background-color is NOT redefined here.

   It is inherited from /css/universal_font&bg_clr.css via header. */

/* ── WIZARD TOP BAR ── */
.thl-p-property-pages-setup .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-property-pages-setup .wiz-brand { color:var(--g); }
.thl-p-property-pages-setup .ws { color:var(--muted); }
.thl-p-property-pages-setup .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-property-pages-setup .ws.done { color:var(--g); }
.thl-p-property-pages-setup .ws-num { border-color: currentColor; }
.thl-p-property-pages-setup .ws.active .ws-num, .thl-p-property-pages-setup .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-property-pages-setup .ws-sep { color:var(--border); }
.thl-p-property-pages-setup .wiz-prog-wrap { background: var(--border); }
.thl-p-property-pages-setup .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
/* ── STEP TABS SUB-BAR (sticky, .thl-p-property-pages-setup visual only) ── */
.thl-p-property-pages-setup .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-property-pages-setup .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-property-pages-setup .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-property-pages-setup .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-property-pages-setup .step-tab.st-done { color:var(--g-dk); }
.thl-p-property-pages-setup .step-tab-num { border-color: currentColor; }
.thl-p-property-pages-setup .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-property-pages-setup .step-tab.st-done .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-property-pages-setup .prop-header { background: var(--white); border-color: var(--border); }
.thl-p-property-pages-setup .prop-icon { background: var(--g-lt); color:var(--g); }
.thl-p-property-pages-setup .prop-title { color:var(--ink); }
.thl-p-property-pages-setup .prop-meta { color:var(--sub); }
.thl-p-property-pages-setup .lock-tag { background: var(--p-amber-7); color:var(--p-orange-5); border-color: var(--warn); }
/* ── CARDS ── */
.thl-p-property-pages-setup .card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-property-pages-setup .card-head { border-bottom-color: var(--border); }
.thl-p-property-pages-setup .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-property-pages-setup .card-head-title { color:var(--ink); }
.thl-p-property-pages-setup .card-head-sub { color:var(--sub); }
.thl-p-property-pages-setup .sec-label { color:var(--muted); }
.thl-p-property-pages-setup .sec-label::after { background: var(--border); }
.thl-p-property-pages-setup .fl-label { color:var(--ink); }
.thl-p-property-pages-setup .fl-hint { color:var(--sub); }
.thl-p-property-pages-setup .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-property-pages-setup .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-property-pages-setup .fl-opt label { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-property-pages-setup .fl-opt label:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-property-pages-setup .fl-opt label:has(input[type="radio"]:checked), .thl-p-property-pages-setup .fl-opt label:has(input[type="checkbox"]:checked) { border-color: var(--g); background: var(--g); color:var(--white); }
.thl-p-property-pages-setup .dim-sep { color:var(--muted); }
.thl-p-property-pages-setup .am-item { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-property-pages-setup .am-item:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-property-pages-setup .am-item.checked { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-property-pages-setup .am-item.checked::before { color:var(--g); }
.thl-p-property-pages-setup .am-item:not(.checked)::before { color:var(--border); }
.thl-p-property-pages-setup .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-property-pages-setup .char-count { color:var(--muted); }
.thl-p-property-pages-setup .char-count.over { color:var(--red); }

/* ── property_pages/view_property.php ─────────────────────────────────────────── */
body.thl-p-property-pages-view-property { color:var(--ink); }/* ── BREADCRUMB ── */
.thl-p-property-pages-view-property .vp-bc { background: var(--white); border-bottom-color: var(--border); }
.thl-p-property-pages-view-property .vp-bc-inner { color:var(--muted); }
.thl-p-property-pages-view-property .vp-bc-inner a { color:var(--sub); }
.thl-p-property-pages-view-property .vp-bc-inner a:hover { color:var(--g); }
.thl-p-property-pages-view-property .vp-bc-sep { color:var(--border); }
.thl-p-property-pages-view-property .vp-bc-cur { color:var(--ink); }
.thl-p-property-pages-view-property .vp-bc-back { background: var(--g-lt); color:var(--g-dk); }
.thl-p-property-pages-view-property .vp-bc-back:hover { background: var(--p-green-40); }
/* ── STICKY NAV ── */
.thl-p-property-pages-view-property .vp-snav { background: rgba(var(--p-white-28-rgb), 0.96); border-bottom-color: var(--border); box-shadow: 0 2px 12px rgba(var(--p-black-1-rgb), .06); }
.thl-p-property-pages-view-property .vp-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-property-pages-view-property .vp-tab:hover { color:var(--ink); }
.thl-p-property-pages-view-property .vp-tab.active { color:var(--g); border-bottom-color: var(--g); }
.thl-p-property-pages-view-property .vp-nav-ic { border-color: var(--border); background: var(--surf); color:var(--sub); }
.thl-p-property-pages-view-property .vp-nav-ic:hover { border-color: var(--g); color:var(--g); }
.thl-p-property-pages-view-property .vp-nav-ic.favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-property-pages-view-property .vp-nav-ic.saved { border-color: var(--warn); color:var(--gold); background: var(--amber-lt); }
.thl-p-property-pages-view-property .vp-nav-ic.report:hover { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-property-pages-view-property .vp-gallery { background: var(--ink); }
.thl-p-property-pages-view-property .vp-gc-ovr { background: rgba(var(--p-black-1-rgb), .22); }
.thl-p-property-pages-view-property .vp-gc-ovr i { color:rgba(var(--p-white-28-rgb), .9); }
.thl-p-property-pages-view-property .pill-sale { background: rgba(var(--p-violet-2-rgb), .82); color:var(--violet-bglt); }
.thl-p-property-pages-view-property .pill-rent { background: rgba(var(--p-blue-23-rgb), .82); color:var(--p-blue-53); }
.thl-p-property-pages-view-property .pill-booking { background: rgba(var(--p-orange-2-rgb), .82); color:var(--amber-bglt); }
.thl-p-property-pages-view-property .pill-type { background: rgba(var(--p-black-1-rgb), .55); color:rgba(var(--p-white-28-rgb), .9); }
.thl-p-property-pages-view-property .vp-photo-count { background: rgba(var(--p-black-1-rgb), .65); color:var(--white); border-color: rgba(var(--p-white-28-rgb), .15); }
.thl-p-property-pages-view-property .vp-photo-count:hover { background: rgba(var(--p-black-1-rgb), .85); }
/* ── CARDS ── */
.thl-p-property-pages-view-property .card { background: var(--card); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-property-pages-view-property .card-hr { border-top-color: var(--border); }
.thl-p-property-pages-view-property .sec-label { color:var(--muted); }
.thl-p-property-pages-view-property .sec-label::after { background: var(--border); }
.thl-p-property-pages-view-property .tag-sale { background: var(--violet-bglt); color:var(--p-violet-2); }
.thl-p-property-pages-view-property .tag-rent { background: var(--blue-bglt); color:var(--blue-ink-2); }
.thl-p-property-pages-view-property .tag-booking { background: var(--amber-bglt); color:var(--amber-ink); }
.thl-p-property-pages-view-property .vp-title { color:var(--ink); }
.thl-p-property-pages-view-property .vp-loc-line { color:var(--sub); }
.thl-p-property-pages-view-property .vp-loc-line i { color:var(--g); }
/* ── PRICE BANNER ── */
.thl-p-property-pages-view-property .vp-price-banner { background: linear-gradient(120deg, var(--g-lt) 0%, var(--p-grey-82) 60%, var(--g-lt) 100%); border-color: var(--g); }
.thl-p-property-pages-view-property .vp-price-banner::before { background: linear-gradient(90deg, var(--g), var(--g-dk), var(--g)); }
.thl-p-property-pages-view-property .vp-price-main { color:var(--g-dk); }
.thl-p-property-pages-view-property .vp-price-suf { color:var(--g-mid); }
.thl-p-property-pages-view-property .vp-price-orig { color:var(--muted); }
.thl-p-property-pages-view-property .vp-discount-badge { background: var(--red); color:var(--white); }
.thl-p-property-pages-view-property .vp-price-sub { color:var(--sub); }
.thl-p-property-pages-view-property .vp-price-sub i { color:var(--g); }
.thl-p-property-pages-view-property .vp-stat-box { background: var(--surf); border-color: var(--border); }
.thl-p-property-pages-view-property .vp-stat-box:hover { border-color: var(--g); box-shadow: 0 3px 12px rgba(var(--p-green-23-rgb), .1); }
.thl-p-property-pages-view-property .vp-stat-n { color:var(--ink); }
.thl-p-property-pages-view-property .vp-stat-l { color:var(--muted); }
.thl-p-property-pages-view-property .vp-spec { background: var(--surf); border-color: var(--border); }
.thl-p-property-pages-view-property .vp-spec:hover { border-color: var(--g); box-shadow: 0 6px 18px rgba(var(--p-green-23-rgb), .1); }
.thl-p-property-pages-view-property .vp-spec-ico { color:var(--g); }
.thl-p-property-pages-view-property .vp-spec-val { color:var(--ink); }
.thl-p-property-pages-view-property .vp-spec-key { color:var(--muted); }
/* ── DESCRIPTION ── */
.thl-p-property-pages-view-property .vp-desc-text { color:var(--sub); }
.thl-p-property-pages-view-property .vp-desc-collapsed::after { background: linear-gradient(transparent, white); }
.thl-p-property-pages-view-property .vp-desc-toggle { color:var(--g); }
.thl-p-property-pages-view-property .vp-desc-toggle:hover { color:var(--g-dk); }
.thl-p-property-pages-view-property .vp-meta-pill { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-property-pages-view-property .vp-meta-pill i { color:var(--g); }
.thl-p-property-pages-view-property .amen-chip { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-property-pages-view-property .amen-chip:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-property-pages-view-property .amen-chip i { color:var(--g); }
.thl-p-property-pages-view-property .svc-chip { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-property-pages-view-property .svc-chip:hover { background: var(--blue-bglt); border-color: var(--info); }
.thl-p-property-pages-view-property .svc-chip i { color:var(--blue); }
/* ── HOUSE RULES ── */
.thl-p-property-pages-view-property .vp-rules { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
/* ── MAP ── */
.thl-p-property-pages-view-property .vp-map-full { border-color: var(--border); }
.thl-p-property-pages-view-property .vp-no-map { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-property-pages-view-property .vp-tile-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-property-pages-view-property .vp-tile-btn:hover { background: var(--white); box-shadow: 0 3px 10px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-property-pages-view-property .vp-tile-btn.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-property-pages-view-property .map-pin-body { border-color: rgba(var(--p-white-28-rgb), .75); }
.thl-p-property-pages-view-property .map-pin-body--green { background: var(--g); }
.thl-p-property-pages-view-property .map-pin-body--dark { background: var(--info); }
.thl-p-property-pages-view-property .map-bubble-body { background: var(--info); color:var(--white); }
.thl-p-property-pages-view-property .map-bubble-wrap:hover .map-bubble-body, .thl-p-property-pages-view-property .map-bubble-wrap.active .map-bubble-body { background: var(--blue-ink-2); }
.thl-p-property-pages-view-property .map-bubble-body::after { border-left-color: transparent; border-right-color: transparent; border-top-color: var(--info); }
.thl-p-property-pages-view-property .map-bubble-wrap:hover .map-bubble-body::after, .thl-p-property-pages-view-property .map-bubble-wrap.active .map-bubble-body::after { border-top-color: var(--blue-ink-2); }
.thl-p-property-pages-view-property .leaflet-popup-content-wrapper { box-shadow: var(--sh3) !important; border-color: var(--border); }
.thl-p-property-pages-view-property .mp-popup-img-placeholder { background: var(--surf); color:var(--muted); }
.thl-p-property-pages-view-property .mp-popup-price { color:var(--g-dk); }
.thl-p-property-pages-view-property .mp-popup-title { color:var(--ink); }
.thl-p-property-pages-view-property .mp-popup-meta { color:var(--muted); }
.thl-p-property-pages-view-property .mp-popup-meta .dist-chip { background: var(--g-lt); color:var(--g-dk); }
.thl-p-property-pages-view-property .mp-popup-btn { background: var(--g); color:var(--white); }
.thl-p-property-pages-view-property .mp-popup-btn:hover { background: var(--g-dk); color:var(--white); }
.thl-p-property-pages-view-property .map-legend { background: rgba(var(--p-white-28-rgb), .95); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-property-pages-view-property .ml-row { color:var(--sub); }
.thl-p-property-pages-view-property .ml-dot-green { background: var(--g); }
.thl-p-property-pages-view-property .ml-dot-dark { background: var(--info); }
.thl-p-property-pages-view-property .map-cluster-body { background: var(--blue-ink); color:var(--white); border-color: rgba(var(--p-white-28-rgb), .35); }
.thl-p-property-pages-view-property .map-cluster-wrap:hover .map-cluster-body { background: var(--blue-ink-2); }
.thl-p-property-pages-view-property .map-cluster-body::after { border-left-color: transparent; border-right-color: transparent; border-top-color: var(--blue-ink); }
.thl-p-property-pages-view-property .map-cluster-wrap:hover .map-cluster-body::after { border-top-color: var(--blue-ink-2); }
.thl-p-property-pages-view-property .marker-cluster { background: transparent !important; }
.thl-p-property-pages-view-property .marker-cluster div { background: transparent !important; }
/* ── VIDEO TOUR ── */
.thl-p-property-pages-view-property .lp-platform-badge { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-property-pages-view-property .lp-landscape { background: var(--p-black-1); }
.thl-p-property-pages-view-property .lp-portrait-wrap { background: var(--ink-3); }
.thl-p-property-pages-view-property .lp-portrait-box { background: var(--p-black-1); }
.thl-p-property-pages-view-property .lp-load-overlay { background: rgba(var(--p-black-1-rgb), .55); color:var(--white); }
.thl-p-property-pages-view-property .lp-fallback { color:var(--muted); background: var(--surf); }
.thl-p-property-pages-view-property .lp-link-only { background: var(--surf); }
.thl-p-property-pages-view-property .lp-link-only-icon.fb { background: var(--p-blue-56); color:var(--facebook); }
.thl-p-property-pages-view-property .lp-link-only-icon.ig { background: var(--p-pink-6); color:var(--p-pink-4); }
.thl-p-property-pages-view-property .lp-link-only-title { color:var(--ink); }
.thl-p-property-pages-view-property .lp-link-only-note { color:var(--muted); }
.thl-p-property-pages-view-property .lp-link-only-btn.fb { background: var(--facebook); color:var(--white); }
.thl-p-property-pages-view-property .lp-link-only-btn.ig { background: linear-gradient(135deg,var(--p-orange-17),var(--p-orange-13),var(--p-red-11),var(--p-pink-2),var(--p-pink-1)); color:var(--white); }
.thl-p-property-pages-view-property .vp-video-card-inner { border-color: var(--border); }
/* ── PROPERTY CARDS (nearby/similar) ── */
.thl-p-property-pages-view-property .prop-card { background: var(--card); border-color: var(--border); }
.thl-p-property-pages-view-property .prop-card:hover { box-shadow: var(--sh2); border-color: var(--g); }
.thl-p-property-pages-view-property .badge-sale { background: rgba(var(--p-violet-2-rgb), .85); color:var(--violet-bglt); }
.thl-p-property-pages-view-property .badge-rent { background: rgba(var(--p-blue-23-rgb), .85); color:var(--p-blue-53); }
.thl-p-property-pages-view-property .badge-booking { background: rgba(var(--p-orange-2-rgb), .85); color:var(--amber-bglt); }
.thl-p-property-pages-view-property .pc-loves { background: rgba(var(--p-white-28-rgb), .92); color:var(--red); }
.thl-p-property-pages-view-property .pc-dist { color:var(--g); background: var(--g-lt); }
.thl-p-property-pages-view-property .pc-price { color:var(--g-dk); }
.thl-p-property-pages-view-property .pc-suf { color:var(--g-mid); }
.thl-p-property-pages-view-property .pc-title { color:var(--ink); }
.thl-p-property-pages-view-property .pc-loc { color:var(--muted); }
.thl-p-property-pages-view-property .pc-loc i { color:var(--g); }
.thl-p-property-pages-view-property .pc-type { color:var(--muted); background: var(--surf); border-color: var(--border); }
.thl-p-property-pages-view-property .pc-scroll::-webkit-scrollbar-track { background: transparent; }
.thl-p-property-pages-view-property .vp-eng-btn { border-color: var(--border); background: var(--card); color:var(--sub); }
.thl-p-property-pages-view-property .vp-eng-btn:hover { border-color: var(--g); color:var(--g); background: var(--g-lt); }
.thl-p-property-pages-view-property .vp-eng-btn.favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-property-pages-view-property .vp-eng-btn.saved { border-color: var(--warn); color:var(--gold); background: var(--amber-lt); }
/* ── SELLER CARD ── */
.thl-p-property-pages-view-property .vp-seller-hd { border-bottom-color: var(--border); }
.thl-p-property-pages-view-property .vp-seller-av { border-color: var(--g); }
.thl-p-property-pages-view-property .vp-verified-dot { background: var(--g); border-color: var(--white); }
.thl-p-property-pages-view-property .vp-verified-dot i { color:var(--white); }
.thl-p-property-pages-view-property .vp-seller-name { color:var(--ink); }
.thl-p-property-pages-view-property .cta-green { background: var(--g); color:var(--white); }
.thl-p-property-pages-view-property .cta-green:hover { background: var(--g-dk); color:var(--white); box-shadow: 0 6px 20px rgba(var(--p-green-14-rgb), .3); }
.thl-p-property-pages-view-property .cta-wa { background: var(--whatsapp-color); color:var(--white); }
.thl-p-property-pages-view-property .cta-wa:hover { background: var(--p-green-25); color:var(--white); }
.thl-p-property-pages-view-property .vp-reveal-btn { background: transparent; border-color: var(--whatsapp-color); color:var(--p-green-25); }
.thl-p-property-pages-view-property .vp-reveal-btn:hover { background: rgba(var(--p-green-28-rgb), 0.07); }
.thl-p-property-pages-view-property .vp-revealed-num { border-color: var(--whatsapp-color); background: rgba(var(--p-green-28-rgb), 0.06); color:var(--ink); }
.thl-p-property-pages-view-property .cta-ghost { background: transparent; color:var(--sub); border-color: var(--border); }
.thl-p-property-pages-view-property .cta-ghost:hover { border-color: var(--g); color:var(--g); background: var(--g-lt); }
.thl-p-property-pages-view-property .qm-label { color:var(--muted); }
.thl-p-property-pages-view-property .qm-btn { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-property-pages-view-property .qm-btn i { color:var(--g); }
.thl-p-property-pages-view-property .qm-btn:hover { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-property-pages-view-property .msg-ta { border-color: var(--border); color:var(--ink); background: var(--card); }
.thl-p-property-pages-view-property .msg-ta:focus { border-color: var(--g); }
/* ── SAFETY CARD ── */
.thl-p-property-pages-view-property .safety-card { background: var(--amber-lt); border-color: var(--warn); }
.thl-p-property-pages-view-property .safety-title { color:var(--amber-ink); }
.thl-p-property-pages-view-property .safety-title i { color:var(--gold); }
.thl-p-property-pages-view-property .safety-list li { color:var(--amber-ink); }
.thl-p-property-pages-view-property .safety-list li::before { color:var(--gold); }
/* ── MINI MAP (sidebar) ── */
.thl-p-property-pages-view-property .vp-mini-map { border-color: var(--border); }
/* ── NOT LOGGED ── */
.thl-p-property-pages-view-property .not-logged { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-property-pages-view-property .not-logged a { color:var(--g); }
/* ── LIGHTBOX ── */
.thl-p-property-pages-view-property .lb { background: rgba(var(--p-black-3-rgb), .96); }
.thl-p-property-pages-view-property .lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), .07); }
.thl-p-property-pages-view-property .lb-title { color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-property-pages-view-property .lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-property-pages-view-property .lb-x { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-property-pages-view-property .lb-x:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-property-pages-view-property .lb-arrow { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .8); }
.thl-p-property-pages-view-property .lb-arrow:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-property-pages-view-property .lb-th { border-color: transparent; }
.thl-p-property-pages-view-property .lb-th.on { border-color: var(--g); }
/* ── SHARE MODAL ── */
.thl-p-property-pages-view-property .share-ov { background: rgba(var(--p-black-1-rgb), .5); }
.thl-p-property-pages-view-property .share-box { background: var(--card); box-shadow: var(--sh3); }
.thl-p-property-pages-view-property .sb-copy i { color:var(--g); }
.thl-p-property-pages-view-property .sb-wa i { color:var(--whatsapp-color); }
.thl-p-property-pages-view-property .sb-tg i { color:var(--telegram-color); }
.thl-p-property-pages-view-property .sb-fb i { color:var(--facebook); }
.thl-p-property-pages-view-property .sb-tw i { color:var(--ink-3); }
.thl-p-property-pages-view-property .sb-pi i { color:var(--p-red-3); }
.thl-p-property-pages-view-property .sb-em i { color:var(--p-red-14); }
/* ── TOAST ── */

/* ── NUDGE ── */
.thl-p-property-pages-view-property .nudge { background: var(--card); border-color: var(--border); box-shadow: var(--sh3); color:var(--sub); }
.thl-p-property-pages-view-property .nudge strong { color:var(--ink); }
.thl-p-property-pages-view-property .nudge a { color:var(--g); }
.thl-p-property-pages-view-property .nudge-x { color:var(--muted); }
.thl-p-property-pages-view-property .section-hd h2 { color:var(--ink); }
.thl-p-property-pages-view-property .section-hd span { color:var(--muted); }

/* ── supplies.php ─────────────────────────────────────────── */
/* FONT & LINE HEIGHT ARE NOT TO BE TAMPERED WITH. NO DEFINING FONT AS IT IS ALREADY DEFINED IN A CSS FILE AND INCLUDED IN HEADER. DON'T DELETE THIS COMMENT. */

/* ── FILTER BAR ── */
.thl-p-supplies .filter-bar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-supplies #float-sort-dropdown .custom-dropdown-toggle { background: var(--surf); }
.thl-p-supplies .fi select, .thl-p-supplies .fi input { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-supplies .fi-arrow { color:var(--muted); }
.thl-p-supplies .fi select:focus, .thl-p-supplies .fi input:focus { border-color: var(--g); background: var(--white); }
.thl-p-supplies .fi-loc-icon { color:var(--muted); }
.thl-p-supplies .fi-price-sep { color:var(--muted); }
.thl-p-supplies .sort-wrap label { color:var(--muted); }
.thl-p-supplies .custom-dropdown-toggle { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-supplies .custom-dropdown-toggle:hover, .thl-p-supplies .custom-dropdown-toggle:focus { border-color: var(--g); background: var(--white); }
.thl-p-supplies .custom-dropdown-toggle::after { color:var(--muted); }
.thl-p-supplies .custom-dropdown-menu { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-supplies .custom-dropdown-item { color:var(--ink); }
.thl-p-supplies .custom-dropdown-item:hover { background: var(--surface2); color: var(--ink-2); }
.thl-p-supplies .custom-dropdown-item.selected { background: var(--g); color:var(--white); }
.thl-p-supplies .custom-dropdown-item i { color:var(--g); }
.thl-p-supplies .custom-dropdown-item.selected i { color:var(--white); }
.thl-p-supplies .page-top-title { color:var(--ink); }
.thl-p-supplies .page-top-count { color:var(--muted); }
.thl-p-supplies .type-tab { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-supplies .type-tab:hover { border-color: var(--g); color:var(--g-dk); }
.thl-p-supplies .type-tab.active { background: var(--g); border-color: var(--g); color:var(--white); }
/* ── SPONSORED LABELS ── */
.thl-p-supplies .sponsored-section-label { color:var(--muted); }
.thl-p-supplies .sponsored-section-label i { color:var(--g); }
.thl-p-supplies .sponsored-section-divider { color:var(--muted); }
.thl-p-supplies .sponsored-section-divider::before, .thl-p-supplies .sponsored-section-divider::after { background: var(--border); }
/* ── CARD ── */
.thl-p-supplies .supply-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-supplies .supply-card:hover { box-shadow: var(--shadow-hover); }
.thl-p-supplies .card-slider { background: var(--surf); }
.thl-p-supplies .slider-nav { background: rgba(var(--p-black-1-rgb), 0.45); color:var(--white); }
.thl-p-supplies .slider-nav:hover { background: rgba(var(--p-black-1-rgb), 0.75); }
.thl-p-supplies .slider-count { background: rgba(var(--p-black-1-rgb), 0.5); color:var(--white); }
.thl-p-supplies .txn-badge { color:var(--white); }
.thl-p-supplies .txn-sale { background: var(--arch); }
.thl-p-supplies .txn-rent { background: var(--c-cyan); }
.thl-p-supplies .txn-lease { background: var(--warn); }
.thl-p-supplies .cond-new { background: rgba(var(--g-rgb), 0.85); color:var(--white); }
.thl-p-supplies .cond-used { background: rgba(var(--p-blue-34-rgb), 0.82); color:var(--white); }
.thl-p-supplies .cond-refurb { background: rgba(var(--p-orange-19-rgb), 0.85); color:var(--white); }
.thl-p-supplies .no-photo { color:var(--muted); }
.thl-p-supplies .card-cat-pill { color:var(--g-dk); background: var(--g-lt); border-color: var(--g); }
.thl-p-supplies .card-title { color:var(--ink); }
.thl-p-supplies .card-sub-type { color:var(--muted); }
.thl-p-supplies .card-sub-type i { color:var(--g); }
.thl-p-supplies .card-loc { color:var(--muted); }
.thl-p-supplies .card-loc i { color:var(--g); }
.thl-p-supplies .card-price { color:var(--ink); }
.thl-p-supplies .card-orig { color:var(--muted); }
.thl-p-supplies .card-metrics { border-top-color: var(--border); }
.thl-p-supplies .card-metric { color:var(--sub); }
.thl-p-supplies .card-metric:not(:last-child)::after { background: var(--border); }
.thl-p-supplies .card-metric i { color:var(--g); }
.thl-p-supplies .card-actions { border-top-color: var(--border); }
.thl-p-supplies .card-act { color:var(--muted); }
.thl-p-supplies .card-act-btn { color:var(--muted); }
.thl-p-supplies .card-act-btn.favourited { color:var(--red); }
.thl-p-supplies .card-act-btn.saved { color:var(--gold); }
.thl-p-supplies .card-act-btn.love-btn:hover { color:var(--red); }
.thl-p-supplies .card-act-btn.fav-btn:hover { color:var(--gold); }
.thl-p-supplies .card-act .fa-eye { color:var(--c-blue) !important; }
.thl-p-supplies .empty-state .home-icon-wrap { color:var(--border); }
.thl-p-supplies .empty-state h3 { color:var(--ink); }
.thl-p-supplies .empty-state p { color:var(--muted); }
.thl-p-supplies .empty-state a { background: var(--g); color:var(--white); }
.thl-p-supplies .skeleton-card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-supplies .skel-img { background: linear-gradient(90deg,var(--surf-2) 25%,var(--p-grey-28) 50%,var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-supplies .skel-line { background: linear-gradient(90deg,var(--surf-2) 25%,var(--p-grey-28) 50%,var(--surf-2) 75%); background-size:600px 100%; }
.thl-p-supplies .load-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-supplies .load-end-msg { color:var(--muted); }
/* ── LOGIN NUDGE ── */
.thl-p-supplies .login-nudge { background: var(--white); border-color: var(--border); box-shadow: 0 8px 30px rgba(var(--p-black-1-rgb), 0.12); color:var(--sub); }
.thl-p-supplies .login-nudge a { color:var(--g); }
.thl-p-supplies .login-nudge-close { color:var(--muted); }

/* ── supply_pages/basic.php ─────────────────────────────────────────── */
.thl-p-supply-pages-basic .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-supply-pages-basic .wiz-prog-wrap { background: var(--border); }
.thl-p-supply-pages-basic .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-supply-pages-basic .wiz-brand { color:var(--g); }
.thl-p-supply-pages-basic .ws { color:var(--muted); }
.thl-p-supply-pages-basic .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-supply-pages-basic .ws.done { color:var(--g); }
.thl-p-supply-pages-basic .ws-num { border-color: currentColor; }
.thl-p-supply-pages-basic .ws.active .ws-num, .thl-p-supply-pages-basic .ws.done  .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-supply-pages-basic .ws-sep { color:var(--border); }
.thl-p-supply-pages-basic .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-supply-pages-basic .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-supply-pages-basic .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-supply-pages-basic .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 60%, rgba(var(--g-rgb), 0.05)); }
.thl-p-supply-pages-basic .step-tab.st-done { color:var(--g-dk); }
.thl-p-supply-pages-basic .step-tab-num { border-color: currentColor; }
.thl-p-supply-pages-basic .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-supply-pages-basic .step-tab.st-done .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-supply-pages-basic .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-supply-pages-basic .card-head { border-bottom-color: var(--border); background: var(--white); }
.thl-p-supply-pages-basic .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-supply-pages-basic .card-title { color:var(--ink); }
.thl-p-supply-pages-basic .card-sub { color:var(--sub); }
.thl-p-supply-pages-basic .sec-label { color:var(--muted); }
.thl-p-supply-pages-basic .sec-label::after { background: var(--border); }
.thl-p-supply-pages-basic .opt-card { border-color: var(--border); background: var(--white); }
.thl-p-supply-pages-basic .opt-card:hover { border-color: var(--g); background: var(--g-lt); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.1); }
.thl-p-supply-pages-basic .opt-card.sel { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-supply-pages-basic .opt-card.sel::after { color:var(--g); }
.thl-p-supply-pages-basic .opt-ico { background: var(--surface); color:var(--muted); }
.thl-p-supply-pages-basic .opt-card:hover .opt-ico, .thl-p-supply-pages-basic .opt-card.sel .opt-ico { background: var(--g); color:var(--white); }
.thl-p-supply-pages-basic .opt-lbl { color:var(--ink); }
.thl-p-supply-pages-basic .opt-hint { color:var(--sub); }
/* Compact category cards */
.thl-p-supply-pages-basic .cat-card { border-color: var(--border); background: var(--white); }
.thl-p-supply-pages-basic .cat-card:hover { border-color: var(--g); background: var(--g-lt); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.1); }
.thl-p-supply-pages-basic .cat-card.sel { border-color: var(--g); background: var(--g-lt); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.12); }
.thl-p-supply-pages-basic .cat-card.sel::after { color:var(--g); }
.thl-p-supply-pages-basic .cat-ico { background: var(--surface); color:var(--muted); }
.thl-p-supply-pages-basic .cat-card:hover .cat-ico, .thl-p-supply-pages-basic .cat-card.sel .cat-ico { background: var(--g); color:var(--white); }
.thl-p-supply-pages-basic .cat-lbl { color:var(--ink); }
.thl-p-supply-pages-basic .cat-hint { color:var(--sub); }
.thl-p-supply-pages-basic .grp-label { color:var(--muted); border-bottom-color: var(--border); }
.thl-p-supply-pages-basic .fl-label { color:var(--ink); }
.thl-p-supply-pages-basic .fl-req { color:var(--red); }
.thl-p-supply-pages-basic .fl-hint { color:var(--sub); }
.thl-p-supply-pages-basic .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-supply-pages-basic .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-supply-pages-basic .char-count { color:var(--muted); }
.thl-p-supply-pages-basic .char-count.over { color:var(--red); }
/* MAP */
.thl-p-supply-pages-basic .map-box { border-color: var(--border); }
.thl-p-supply-pages-basic .map-search-inp { color:var(--ink); background: var(--white); }
.thl-p-supply-pages-basic .map-tile-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-supply-pages-basic .map-tile-btn:hover { background: var(--white); box-shadow: 0 3px 10px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-supply-pages-basic .map-tile-btn.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-supply-pages-basic .map-myloc-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-supply-pages-basic .map-myloc-btn:hover { background: var(--white); box-shadow: 0 3px 10px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-supply-pages-basic .map-myloc-btn i { color:var(--g); }
.thl-p-supply-pages-basic .map-suggestions { background: var(--white); box-shadow: 0 6px 20px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-supply-pages-basic .map-sug-item { color:var(--ink); border-bottom-color: var(--surface2); }
.thl-p-supply-pages-basic .map-sug-item:hover { background: var(--g-lt); }
.thl-p-supply-pages-basic .map-sug-item i { color:var(--g); }
.thl-p-supply-pages-basic .map-sug-sub { color:var(--muted); }
.thl-p-supply-pages-basic .map-hint-overlay { background: rgba(var(--p-black-1-rgb), 0.68); color:var(--white); }
.thl-p-supply-pages-basic .map-info { background: var(--surface); border-color: var(--border); color:var(--sub); }
.thl-p-supply-pages-basic .map-info i { color:var(--g); }
.thl-p-supply-pages-basic .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-supply-pages-basic .r-tag { background: var(--g-lt); color:var(--g-dk); }
.thl-p-supply-pages-basic .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-supply-pages-basic .review-row { border-bottom-color: var(--border); }
.thl-p-supply-pages-basic .review-key { color:var(--sub); }
.thl-p-supply-pages-basic .review-val { color:var(--ink); }
.thl-p-supply-pages-basic .lock-notice { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }

/* ── supply_pages/photos.php ─────────────────────────────────────────── */
/* NOTE: body background-color is NOT redefined here.

   It is inherited from /css/universal_font&bg_clr.css via header. */
.thl-p-supply-pages-photos .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-supply-pages-photos .wiz-prog-wrap { background: var(--border); }
.thl-p-supply-pages-photos .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-supply-pages-photos .wiz-brand { color:var(--g); }
.thl-p-supply-pages-photos .ws { color:var(--muted); }
.thl-p-supply-pages-photos .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-supply-pages-photos .ws.done { color:var(--g); }
.thl-p-supply-pages-photos .ws-num { border-color: currentColor; }
.thl-p-supply-pages-photos .ws.active .ws-num, .thl-p-supply-pages-photos .ws.done .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-supply-pages-photos .ws-sep { color:var(--border); }
.thl-p-supply-pages-photos .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-supply-pages-photos .card-head { border-bottom-color: var(--border); }
.thl-p-supply-pages-photos .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-supply-pages-photos .card-title { color:var(--ink); }
.thl-p-supply-pages-photos .card-sub { color:var(--sub); }
.thl-p-supply-pages-photos .supply-banner { background: var(--white); border-color: var(--border); }
.thl-p-supply-pages-photos .supply-ico { background: var(--g-lt); color:var(--g); }
.thl-p-supply-pages-photos .supply-name { color:var(--ink); }
.thl-p-supply-pages-photos .supply-meta { color:var(--sub); }
.thl-p-supply-pages-photos .drop-zone { border-color: var(--border); background: var(--surface); }
.thl-p-supply-pages-photos .drop-zone:hover, .thl-p-supply-pages-photos .drop-zone.dragover { border-color: var(--g); background: var(--g-lt); }
.thl-p-supply-pages-photos .drop-icon { color:var(--muted); }
.thl-p-supply-pages-photos .drop-zone:hover .drop-icon, .thl-p-supply-pages-photos .drop-zone.dragover .drop-icon { color:var(--g); }
.thl-p-supply-pages-photos .drop-title { color:var(--ink); }
.thl-p-supply-pages-photos .drop-sub { color:var(--sub); }
.thl-p-supply-pages-photos .drop-limit { color:var(--muted); }
.thl-p-supply-pages-photos .pending-label { color:var(--sub); }
.thl-p-supply-pages-photos .add-more-btn { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-supply-pages-photos .add-more-btn:hover { background: var(--g); color:var(--white); }
.thl-p-supply-pages-photos .photo-item { border-color: var(--border); background: var(--surface); }
.thl-p-supply-pages-photos .photo-item.banner { border-color: var(--g); box-shadow: 0 0 0 2px rgba(var(--g-rgb), 0.2); }
.thl-p-supply-pages-photos .photo-item.drag-over { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.25); }
/* Pending preview items (not yet uploaded) */
.thl-p-supply-pages-photos .pending-item { border-color: var(--g); background: var(--surface); }
.thl-p-supply-pages-photos .pending-remove-btn { background: rgba(var(--p-red-15-rgb), 0.9); color:var(--white); }
.thl-p-supply-pages-photos .pending-remove-btn:hover { background: var(--error); }
.thl-p-supply-pages-photos .photo-overlay { background: linear-gradient(to top, rgba(var(--p-black-1-rgb), 0.55) 0%, transparent 50%); }
.thl-p-supply-pages-photos .photo-num { background: rgba(var(--p-black-1-rgb), 0.5); color:var(--white); }
.thl-p-supply-pages-photos .photo-btn-del { background: rgba(var(--p-red-15-rgb), 0.9); color:var(--white); }
.thl-p-supply-pages-photos .photo-btn-del:hover { background: var(--error); }
.thl-p-supply-pages-photos .drag-hint { color:var(--muted); }
.thl-p-supply-pages-photos .count-bar { background: var(--surface); border-color: var(--border); }
.thl-p-supply-pages-photos .count-bar strong { color:var(--ink); }
.thl-p-supply-pages-photos .seg { background: var(--border); }
.thl-p-supply-pages-photos .seg.filled { background: var(--g); }
.thl-p-supply-pages-photos .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-supply-pages-photos .review-row { border-bottom-color: var(--border); }
.thl-p-supply-pages-photos .review-key { color:var(--sub); }
.thl-p-supply-pages-photos .review-val { color:var(--ink); }
.thl-p-supply-pages-photos .review-thumb { border-color: var(--border); }
.thl-p-supply-pages-photos .review-thumb.banner { border-color: var(--g); }
.thl-p-supply-pages-photos .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-supply-pages-photos .btn-red:hover { box-shadow: 0 4px 14px rgba(var(--p-red-15-rgb), 0.35); }
/* ── Upload / bulk-delete progress overlay ── */
.thl-p-supply-pages-photos #upload-overlay, .thl-p-supply-pages-photos #bulk-del-overlay { background: rgba(var(--p-white-28-rgb), 0.82); }
.thl-p-supply-pages-photos .upl-card { background: var(--white); border-color: var(--border); box-shadow: 0 8px 40px rgba(var(--p-black-1-rgb), 0.13); }
.thl-p-supply-pages-photos .upl-icon-wrap { background: var(--g-lt); }
.thl-p-supply-pages-photos .upl-icon-wrap i { color:var(--g); }
.thl-p-supply-pages-photos .upl-spinner { border-color: var(--border); border-top-color: var(--g); }
.thl-p-supply-pages-photos .upl-title { color:var(--ink); }
.thl-p-supply-pages-photos .upl-sub { color:var(--sub); }
.thl-p-supply-pages-photos .upl-bar-wrap { background: var(--border); }
.thl-p-supply-pages-photos .upl-bar-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-supply-pages-photos .upl-pct { color:var(--g); }
.thl-p-supply-pages-photos .upl-detail { color:var(--muted); }
.thl-p-supply-pages-photos .confirm-backdrop { background: rgba(var(--p-grey-4-rgb), 0.45); }
.thl-p-supply-pages-photos .confirm-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-supply-pages-photos .confirm-icon-wrap { background: var(--red-lt); }
.thl-p-supply-pages-photos .confirm-icon-wrap i { color:var(--red); }
.thl-p-supply-pages-photos .confirm-title { color:var(--ink); }
.thl-p-supply-pages-photos .confirm-msg { color:var(--sub); }
.thl-p-supply-pages-photos .confirm-thumb-wrap { border-color: var(--border); }
.thl-p-supply-pages-photos .photo-grid.select-mode .photo-item:hover { border-color: var(--g); box-shadow: 0 0 0 2px rgba(var(--g-rgb), 0.2); }
.thl-p-supply-pages-photos .photo-item .select-check { border-color: rgba(var(--p-white-28-rgb), 0.6); background: transparent; }
.thl-p-supply-pages-photos .photo-item.selected .select-check { background: rgba(var(--g-rgb), 0.85); border-color: var(--g); }
.thl-p-supply-pages-photos .photo-item.selected .select-check i { color:var(--white); }
.thl-p-supply-pages-photos .photo-item.selected { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.3); }
.thl-p-supply-pages-photos .select-toggle-btn { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-supply-pages-photos .select-toggle-btn:hover { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-supply-pages-photos .select-toggle-btn.active { border-color: var(--red); color:var(--red); background: var(--red-lt); }
/* ── Sticky bulk-delete bar ── */
.thl-p-supply-pages-photos #bulk-bar { background: var(--white); border-top-color: var(--border); box-shadow: 0 -4px 20px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-supply-pages-photos .bulk-sel-thumb { border-color: var(--white); box-shadow: 0 1px 4px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-supply-pages-photos .bulk-sel-count { color:var(--ink); }
.thl-p-supply-pages-photos .bulk-sel-count span { color:var(--sub); }
.thl-p-supply-pages-photos .bulk-thumb-strip img { border-color: var(--border); }
/* ── Page-load image rendering overlay ── */
.thl-p-supply-pages-photos #pageload-overlay { background: rgba(var(--p-white-28-rgb), 0.88); }
html.page-entering::before { background: rgba(var(--p-white-28-rgb), 0.88); }

/* ── supply_pages/pricing.php ─────────────────────────────────────────── */
.thl-p-supply-pages-pricing .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-supply-pages-pricing .wiz-prog-wrap { background: var(--border); }
.thl-p-supply-pages-pricing .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-supply-pages-pricing .wiz-brand { color:var(--g); }
.thl-p-supply-pages-pricing .ws { color:var(--muted); }
.thl-p-supply-pages-pricing .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-supply-pages-pricing .ws.done { color:var(--g); }
.thl-p-supply-pages-pricing .ws-num { border-color: currentColor; }
.thl-p-supply-pages-pricing .ws.active .ws-num, .thl-p-supply-pages-pricing .ws.done   .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-supply-pages-pricing .ws-sep { color:var(--border); }
.thl-p-supply-pages-pricing .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-supply-pages-pricing .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-supply-pages-pricing .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-supply-pages-pricing .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-supply-pages-pricing .step-tab.st-done { color:var(--g-dk); }
.thl-p-supply-pages-pricing .step-tab-num { border-color: currentColor; }
.thl-p-supply-pages-pricing .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-supply-pages-pricing .step-tab.st-done .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-supply-pages-pricing .card { background: var(--white); box-shadow: var(--shadow); border-color: var(--border); }
.thl-p-supply-pages-pricing .card-head { border-bottom-color: var(--border); }
.thl-p-supply-pages-pricing .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-supply-pages-pricing .card-title { color:var(--ink); }
.thl-p-supply-pages-pricing .card-sub { color:var(--sub); }
.thl-p-supply-pages-pricing .supply-banner { background: var(--white); border-color: var(--border); }
.thl-p-supply-pages-pricing .supply-ico { background: var(--g-lt); color:var(--g); }
.thl-p-supply-pages-pricing .supply-name { color:var(--ink); }
.thl-p-supply-pages-pricing .supply-meta { color:var(--sub); }
.thl-p-supply-pages-pricing .fl-label { color:var(--ink); }
.thl-p-supply-pages-pricing .fl-req { color:var(--red); }
.thl-p-supply-pages-pricing .fl-hint { color:var(--sub); }
.thl-p-supply-pages-pricing .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-supply-pages-pricing .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-supply-pages-pricing .price-display { background: var(--g-lt); border-color: var(--g); }
.thl-p-supply-pages-pricing .price-display-main { color:var(--g-dk); }
.thl-p-supply-pages-pricing .price-display-basis { color:var(--sub); }
.thl-p-supply-pages-pricing .price-display-disc { color:var(--sub); }
.thl-p-supply-pages-pricing .price-display-disc s { color:var(--muted); }
.thl-p-supply-pages-pricing .price-display-save { background: var(--g); color:var(--white); }
/* Link preview — identical logic to properties/pricing.php */
.thl-p-supply-pages-pricing .link-preview { border-color: var(--border); }
.thl-p-supply-pages-pricing .lp-platform-badge { background: var(--surface); border-bottom-color: var(--border); }
.thl-p-supply-pages-pricing .lp-landscape { background: var(--p-black-1); }
.thl-p-supply-pages-pricing .lp-portrait-wrap { background: var(--ink-3); }
.thl-p-supply-pages-pricing .lp-portrait-box { background: var(--p-black-1); }
.thl-p-supply-pages-pricing .lp-load-overlay { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); }
.thl-p-supply-pages-pricing .lp-fallback { color:var(--muted); background: var(--surface); }
.thl-p-supply-pages-pricing .lp-link-only { background: var(--surface); }
.thl-p-supply-pages-pricing .lp-link-only-icon.fb { background: var(--p-blue-56); color:var(--facebook); }
.thl-p-supply-pages-pricing .lp-link-only-icon.ig { background: var(--p-pink-6); color:var(--p-pink-4); }
.thl-p-supply-pages-pricing .lp-link-only-title { color:var(--ink); }
.thl-p-supply-pages-pricing .lp-link-only-note { color:var(--muted); }
.thl-p-supply-pages-pricing .lp-link-only-btn.fb { background: var(--facebook); color:var(--white); }
.thl-p-supply-pages-pricing .lp-link-only-btn.ig { background: linear-gradient(135deg,var(--p-orange-17),var(--p-orange-13),var(--p-red-11),var(--p-pink-2),var(--p-pink-1)); color:var(--white); }
.thl-p-supply-pages-pricing .link-preview-loading { color:var(--muted); background: var(--surface); }
.thl-p-supply-pages-pricing .review-grid { background: var(--surface); border-color: var(--border); }
.thl-p-supply-pages-pricing .review-row { border-bottom-color: var(--border); }
.thl-p-supply-pages-pricing .review-key { color:var(--sub); }
.thl-p-supply-pages-pricing .review-val { color:var(--ink); }
.thl-p-supply-pages-pricing .check-item { background: var(--white); border-color: var(--border); }
.thl-p-supply-pages-pricing .check-item.ok   i { color:var(--g); }
.thl-p-supply-pages-pricing .check-item.fail i { color:var(--red); }
.thl-p-supply-pages-pricing .check-item.ok { border-color: var(--g); }
.thl-p-supply-pages-pricing .check-item.fail { border-color: var(--red); background: var(--red-lt); color:var(--red); }
.thl-p-supply-pages-pricing .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }

/* ── supply_pages/setup.php ─────────────────────────────────────────── */
.thl-p-supply-pages-setup .wiz-topbar { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 8px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-supply-pages-setup .wiz-brand { color:var(--g); }
.thl-p-supply-pages-setup .ws { color:var(--muted); }
.thl-p-supply-pages-setup .ws.active { background: var(--g-lt); color:var(--g-dk); }
.thl-p-supply-pages-setup .ws.done { color:var(--g); }
.thl-p-supply-pages-setup .ws-num { border-color: currentColor; }
.thl-p-supply-pages-setup .ws.active .ws-num, .thl-p-supply-pages-setup .ws.done   .ws-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-supply-pages-setup .ws-sep { color:var(--border); }
.thl-p-supply-pages-setup .wiz-prog-wrap { background: var(--border); }
.thl-p-supply-pages-setup .wiz-prog-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-supply-pages-setup .step-tabs-wrap { background: rgba(var(--p-white-28-rgb), 0.97); border-bottom-color: var(--border); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.05); }
.thl-p-supply-pages-setup .step-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-supply-pages-setup .step-tab:not(:last-child)::after { background: var(--border); }
.thl-p-supply-pages-setup .step-tab.st-active { color:var(--g-dk); border-bottom-color: var(--g); background: linear-gradient(to bottom, transparent 50%, rgba(var(--g-rgb), 0.05)); }
.thl-p-supply-pages-setup .step-tab.st-done { color:var(--g-dk); }
.thl-p-supply-pages-setup .step-tab-num { border-color: currentColor; }
.thl-p-supply-pages-setup .step-tab.st-active .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.18); }
.thl-p-supply-pages-setup .step-tab.st-done .step-tab-num { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-supply-pages-setup .supply-header { background: var(--white); border-color: var(--border); }
.thl-p-supply-pages-setup .supply-icon { background: var(--g-lt); color:var(--g); }
.thl-p-supply-pages-setup .supply-title { color:var(--ink); }
.thl-p-supply-pages-setup .supply-meta { color:var(--sub); }
.thl-p-supply-pages-setup .lock-tag { background: var(--p-amber-7); color:var(--p-orange-5); border-color: var(--warn); }
.thl-p-supply-pages-setup .card { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-supply-pages-setup .card-head { border-bottom-color: var(--border); }
.thl-p-supply-pages-setup .card-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-supply-pages-setup .card-head-title { color:var(--ink); }
.thl-p-supply-pages-setup .card-head-sub { color:var(--sub); }
.thl-p-supply-pages-setup .sec-label { color:var(--muted); }
.thl-p-supply-pages-setup .sec-label::after { background: var(--border); }
.thl-p-supply-pages-setup .fl-label { color:var(--ink); }
.thl-p-supply-pages-setup .fl-hint { color:var(--sub); }
.thl-p-supply-pages-setup .fl-inp { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-supply-pages-setup .fl-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-supply-pages-setup .fl-opt label { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-supply-pages-setup .fl-opt label:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-supply-pages-setup .fl-opt label:has(input[type="radio"]:checked), .thl-p-supply-pages-setup .fl-opt label:has(input[type="checkbox"]:checked) { border-color: var(--g); background: var(--g); color:var(--white); }
.thl-p-supply-pages-setup .dim-sep { color:var(--muted); }
.thl-p-supply-pages-setup .am-item { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-supply-pages-setup .am-item:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-supply-pages-setup .am-item.checked { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-supply-pages-setup .am-item.checked::before { color:var(--g); }
.thl-p-supply-pages-setup .am-item:not(.checked)::before { color:var(--border); }
.thl-p-supply-pages-setup .btn-green:hover { box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-supply-pages-setup .char-count { color:var(--muted); }
.thl-p-supply-pages-setup .char-count.over { color:var(--red); }

/* ── supply_pages/view_supply.php ─────────────────────────────────────────── */
body.thl-p-supply-pages-view-supply { color:var(--ink); }/* ── BREADCRUMB ── */
.thl-p-supply-pages-view-supply .vp-bc { background: var(--white); border-bottom-color: var(--border); }
.thl-p-supply-pages-view-supply .vp-bc-inner { color:var(--muted); }
.thl-p-supply-pages-view-supply .vp-bc-inner a { color:var(--sub); }
.thl-p-supply-pages-view-supply .vp-bc-inner a:hover { color:var(--g); }
.thl-p-supply-pages-view-supply .vp-bc-sep { color:var(--border); }
.thl-p-supply-pages-view-supply .vp-bc-cur { color:var(--ink); }
.thl-p-supply-pages-view-supply .vp-bc-back { background: var(--g-lt); color:var(--g-dk); }
.thl-p-supply-pages-view-supply .vp-bc-back:hover { background: var(--p-green-40); }
/* ── STICKY NAV ── */
.thl-p-supply-pages-view-supply .vp-snav { background: rgba(var(--p-white-28-rgb), 0.96); border-bottom-color: var(--border); box-shadow: 0 2px 12px rgba(var(--p-black-1-rgb), .06); }
.thl-p-supply-pages-view-supply .vp-tab { color:var(--muted); border-bottom-color: transparent; }
.thl-p-supply-pages-view-supply .vp-tab:hover { color:var(--ink); }
.thl-p-supply-pages-view-supply .vp-tab.active { color:var(--g); border-bottom-color: var(--g); }
.thl-p-supply-pages-view-supply .vp-nav-ic { border-color: var(--border); background: var(--surf); color:var(--sub); }
.thl-p-supply-pages-view-supply .vp-nav-ic:hover { border-color: var(--g); color:var(--g); }
.thl-p-supply-pages-view-supply .vp-nav-ic.favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-supply-pages-view-supply .vp-nav-ic.saved { border-color: var(--warn); color:var(--gold); background: var(--amber-lt); }
.thl-p-supply-pages-view-supply .vp-nav-ic.report:hover { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-supply-pages-view-supply .vp-gallery { background: var(--ink); }
.thl-p-supply-pages-view-supply .vp-gc-ovr { background: rgba(var(--p-black-1-rgb), .22); }
.thl-p-supply-pages-view-supply .vp-gc-ovr i { color:rgba(var(--p-white-28-rgb), .9); }
.thl-p-supply-pages-view-supply .pill-sale { background: rgba(var(--p-violet-2-rgb), .82); color:var(--violet-bglt); }
.thl-p-supply-pages-view-supply .pill-rent { background: rgba(var(--p-blue-23-rgb), .82); color:var(--p-blue-53); }
.thl-p-supply-pages-view-supply .pill-lease { background: rgba(var(--p-orange-2-rgb), .82); color:var(--amber-bglt); }
.thl-p-supply-pages-view-supply .pill-type { background: rgba(var(--p-black-1-rgb), .55); color:rgba(var(--p-white-28-rgb), .9); }
.thl-p-supply-pages-view-supply .pill-used { background: rgba(var(--p-blue-34-rgb), .82); color:var(--surf); }
.thl-p-supply-pages-view-supply .pill-refurb { background: rgba(var(--p-orange-19-rgb), .82); color:var(--white); }
.thl-p-supply-pages-view-supply .vp-photo-count { background: rgba(var(--p-black-1-rgb), .65); color:var(--white); border-color: rgba(var(--p-white-28-rgb), .15); }
.thl-p-supply-pages-view-supply .vp-photo-count:hover { background: rgba(var(--p-black-1-rgb), .85); }
/* ── CARDS ── */
.thl-p-supply-pages-view-supply .card { background: var(--card); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-supply-pages-view-supply .card-hr { border-top-color: var(--border); }
.thl-p-supply-pages-view-supply .sec-label { color:var(--muted); }
.thl-p-supply-pages-view-supply .sec-label::after { background: var(--border); }
.thl-p-supply-pages-view-supply .tag-sale { background: var(--violet-bglt); color:var(--p-violet-2); }
.thl-p-supply-pages-view-supply .tag-rent { background: var(--blue-bglt); color:var(--blue-ink-2); }
.thl-p-supply-pages-view-supply .tag-lease { background: var(--amber-bglt); color:var(--amber-ink); }
.thl-p-supply-pages-view-supply .vp-title { color:var(--ink); }
.thl-p-supply-pages-view-supply .vp-loc-line { color:var(--sub); }
.thl-p-supply-pages-view-supply .vp-loc-line i { color:var(--g); }
.thl-p-supply-pages-view-supply .cond-new { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-supply-pages-view-supply .cond-used { background: var(--surface2); border-color: var(--border-2); color:var(--p-blue-19); }
.thl-p-supply-pages-view-supply .cond-refurb { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
/* ── PRICE BANNER ── */
.thl-p-supply-pages-view-supply .vp-price-banner { background: linear-gradient(120deg, var(--g-lt) 0%, var(--p-grey-82) 60%, var(--g-lt) 100%); border-color: var(--g); }
.thl-p-supply-pages-view-supply .vp-price-banner::before { background: linear-gradient(90deg, var(--g), var(--g-dk), var(--g)); }
.thl-p-supply-pages-view-supply .vp-price-main { color:var(--g-dk); }
.thl-p-supply-pages-view-supply .vp-price-suf { color:var(--g-mid); }
.thl-p-supply-pages-view-supply .vp-price-orig { color:var(--muted); }
.thl-p-supply-pages-view-supply .vp-discount-badge { background: var(--red); color:var(--white); }
.thl-p-supply-pages-view-supply .vp-price-sub { color:var(--sub); }
.thl-p-supply-pages-view-supply .vp-price-sub i { color:var(--g); }
.thl-p-supply-pages-view-supply .vp-stat-box { background: var(--surf); border-color: var(--border); }
.thl-p-supply-pages-view-supply .vp-stat-box:hover { border-color: var(--g); box-shadow: 0 3px 12px rgba(var(--p-green-23-rgb), .1); }
.thl-p-supply-pages-view-supply .vp-stat-n { color:var(--ink); }
.thl-p-supply-pages-view-supply .vp-stat-l { color:var(--muted); }
.thl-p-supply-pages-view-supply .vp-spec { background: var(--surf); border-color: var(--border); }
.thl-p-supply-pages-view-supply .vp-spec:hover { border-color: var(--g); box-shadow: 0 6px 18px rgba(var(--p-green-23-rgb), .1); }
.thl-p-supply-pages-view-supply .vp-spec-ico { color:var(--g); }
.thl-p-supply-pages-view-supply .vp-spec-val { color:var(--ink); }
.thl-p-supply-pages-view-supply .vp-spec-key { color:var(--muted); }
/* ── DESCRIPTION ── */
.thl-p-supply-pages-view-supply .vp-desc-text { color:var(--sub); }
.thl-p-supply-pages-view-supply .vp-desc-collapsed::after { background: linear-gradient(transparent, white); }
.thl-p-supply-pages-view-supply .vp-desc-toggle { color:var(--g); }
.thl-p-supply-pages-view-supply .vp-desc-toggle:hover { color:var(--g-dk); }
.thl-p-supply-pages-view-supply .vp-meta-pill { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-supply-pages-view-supply .vp-meta-pill i { color:var(--g); }
.thl-p-supply-pages-view-supply .amen-chip { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-supply-pages-view-supply .amen-chip:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-supply-pages-view-supply .amen-chip i { color:var(--g); }
.thl-p-supply-pages-view-supply .svc-chip { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-supply-pages-view-supply .svc-chip:hover { background: var(--blue-bglt); border-color: var(--info); }
.thl-p-supply-pages-view-supply .svc-chip i { color:var(--blue); }
/* ── NOTES BOX ── */
.thl-p-supply-pages-view-supply .vp-notes { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
/* ── MAP ── */
.thl-p-supply-pages-view-supply .vp-map-full { border-color: var(--border); }
.thl-p-supply-pages-view-supply .vp-no-map { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-supply-pages-view-supply .vp-tile-btn { background: rgba(var(--p-white-28-rgb), 0.95); border-color: rgba(var(--p-black-1-rgb), 0.12); color:var(--ink); box-shadow: 0 2px 6px rgba(var(--p-black-1-rgb), 0.1); }
.thl-p-supply-pages-view-supply .vp-tile-btn:hover { background: var(--white); box-shadow: 0 3px 10px rgba(var(--p-black-1-rgb), 0.15); }
.thl-p-supply-pages-view-supply .vp-tile-btn.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-supply-pages-view-supply .map-pin-body { border-color: rgba(var(--p-white-28-rgb), .75); }
.thl-p-supply-pages-view-supply .map-pin-body--green { background: var(--g); }
.thl-p-supply-pages-view-supply .map-bubble-body { background: var(--info); color:var(--white); }
.thl-p-supply-pages-view-supply .map-bubble-wrap:hover .map-bubble-body, .thl-p-supply-pages-view-supply .map-bubble-wrap.active .map-bubble-body { background: var(--blue-ink-2); }
.thl-p-supply-pages-view-supply .map-bubble-body::after { border-left-color: transparent; border-right-color: transparent; border-top-color: var(--info); }
.thl-p-supply-pages-view-supply .map-bubble-wrap:hover .map-bubble-body::after, .thl-p-supply-pages-view-supply .map-bubble-wrap.active .map-bubble-body::after { border-top-color: var(--blue-ink-2); }
.thl-p-supply-pages-view-supply .leaflet-popup-content-wrapper { box-shadow: var(--sh3) !important; border-color: var(--border); }
.thl-p-supply-pages-view-supply .mp-popup-img-placeholder { background: var(--surf); color:var(--muted); }
.thl-p-supply-pages-view-supply .mp-popup-price { color:var(--g-dk); }
.thl-p-supply-pages-view-supply .mp-popup-title { color:var(--ink); }
.thl-p-supply-pages-view-supply .mp-popup-meta { color:var(--muted); }
.thl-p-supply-pages-view-supply .mp-popup-meta .dist-chip { background: var(--g-lt); color:var(--g-dk); }
.thl-p-supply-pages-view-supply .mp-popup-btn { background: var(--g); color:var(--white); }
.thl-p-supply-pages-view-supply .mp-popup-btn:hover { background: var(--g-dk); color:var(--white); }
.thl-p-supply-pages-view-supply .map-legend { background: rgba(var(--p-white-28-rgb), .95); border-color: var(--border); box-shadow: var(--sh1); }
.thl-p-supply-pages-view-supply .ml-row { color:var(--sub); }
.thl-p-supply-pages-view-supply .ml-dot-green { background: var(--g); }
.thl-p-supply-pages-view-supply .ml-dot-dark { background: var(--info); }
.thl-p-supply-pages-view-supply .map-cluster-body { background: var(--blue-ink); color:var(--white); border-color: rgba(var(--p-white-28-rgb), .35); }
.thl-p-supply-pages-view-supply .map-cluster-wrap:hover .map-cluster-body { background: var(--blue-ink-2); }
.thl-p-supply-pages-view-supply .map-cluster-body::after { border-left-color: transparent; border-right-color: transparent; border-top-color: var(--blue-ink); }
.thl-p-supply-pages-view-supply .map-cluster-wrap:hover .map-cluster-body::after { border-top-color: var(--blue-ink-2); }
.thl-p-supply-pages-view-supply .marker-cluster { background: transparent !important; }
.thl-p-supply-pages-view-supply .marker-cluster div { background: transparent !important; }
.thl-p-supply-pages-view-supply .lp-platform-badge { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-supply-pages-view-supply .lp-landscape { background: var(--p-black-1); }
.thl-p-supply-pages-view-supply .lp-portrait-wrap { background: var(--ink-3); }
.thl-p-supply-pages-view-supply .lp-portrait-box { background: var(--p-black-1); }
.thl-p-supply-pages-view-supply .lp-load-overlay { background: rgba(var(--p-black-1-rgb), .55); color:var(--white); }
.thl-p-supply-pages-view-supply .lp-fallback { color:var(--muted); background: var(--surf); }
.thl-p-supply-pages-view-supply .lp-link-only { background: var(--surf); }
.thl-p-supply-pages-view-supply .lp-link-only-icon.fb { background: var(--p-blue-56); color:var(--facebook); }
.thl-p-supply-pages-view-supply .lp-link-only-icon.ig { background: var(--p-pink-6); color:var(--p-pink-4); }
.thl-p-supply-pages-view-supply .lp-link-only-title { color:var(--ink); }
.thl-p-supply-pages-view-supply .lp-link-only-note { color:var(--muted); }
.thl-p-supply-pages-view-supply .lp-link-only-btn.fb { background: var(--facebook); color:var(--white); }
.thl-p-supply-pages-view-supply .lp-link-only-btn.ig { background: linear-gradient(135deg,var(--p-orange-17),var(--p-orange-13),var(--p-red-11),var(--p-pink-2),var(--p-pink-1)); color:var(--white); }
.thl-p-supply-pages-view-supply .vp-video-card-inner { border-color: var(--border); }
/* ── SUPPLY CARDS (nearby/similar) ── */
.thl-p-supply-pages-view-supply .prop-card { background: var(--card); border-color: var(--border); }
.thl-p-supply-pages-view-supply .prop-card:hover { box-shadow: var(--sh2); border-color: var(--g); }
.thl-p-supply-pages-view-supply .badge-sale { background: rgba(var(--p-violet-2-rgb), .85); color:var(--violet-bglt); }
.thl-p-supply-pages-view-supply .badge-rent { background: rgba(var(--p-blue-23-rgb), .85); color:var(--p-blue-53); }
.thl-p-supply-pages-view-supply .badge-lease { background: rgba(var(--p-orange-2-rgb), .85); color:var(--amber-bglt); }
.thl-p-supply-pages-view-supply .cond-new { background: rgba(var(--g-rgb), .82); color:var(--white); }
.thl-p-supply-pages-view-supply .cond-used { background: rgba(var(--p-blue-34-rgb), .82); color:var(--white); }
.thl-p-supply-pages-view-supply .cond-refurb { background: rgba(var(--p-orange-19-rgb), .82); color:var(--white); }
.thl-p-supply-pages-view-supply .pc-loves { background: rgba(var(--p-white-28-rgb), .92); color:var(--red); }
.thl-p-supply-pages-view-supply .pc-dist { color:var(--g); background: var(--g-lt); }
.thl-p-supply-pages-view-supply .pc-price { color:var(--g-dk); }
.thl-p-supply-pages-view-supply .pc-title { color:var(--ink); }
.thl-p-supply-pages-view-supply .pc-loc { color:var(--muted); }
.thl-p-supply-pages-view-supply .pc-loc i { color:var(--g); }
.thl-p-supply-pages-view-supply .pc-type { color:var(--muted); background: var(--surf); border-color: var(--border); }
.thl-p-supply-pages-view-supply .pc-scroll::-webkit-scrollbar-track { background: transparent; }
.thl-p-supply-pages-view-supply .pc-scroll::-webkit-scrollbar-thumb { background: var(--g-br); }
.thl-p-supply-pages-view-supply .vp-eng-btn { border-color: var(--border); background: var(--card); color:var(--sub); }
.thl-p-supply-pages-view-supply .vp-eng-btn:hover { border-color: var(--g); color:var(--g); background: var(--g-lt); }
.thl-p-supply-pages-view-supply .vp-eng-btn.favourited { border-color: var(--red); color:var(--red); background: var(--red-lt); }
.thl-p-supply-pages-view-supply .vp-eng-btn.saved { border-color: var(--warn); color:var(--gold); background: var(--amber-lt); }
/* ── SELLER CARD ── */
.thl-p-supply-pages-view-supply .vp-seller-hd { border-bottom-color: var(--border); }
.thl-p-supply-pages-view-supply .vp-seller-av { border-color: var(--g); }
.thl-p-supply-pages-view-supply .vp-verified-dot { background: var(--g); border-color: var(--white); }
.thl-p-supply-pages-view-supply .vp-verified-dot i { color:var(--white); }
.thl-p-supply-pages-view-supply .vp-seller-name { color:var(--ink); }
.thl-p-supply-pages-view-supply .vp-seller-role { color:var(--muted); }
.thl-p-supply-pages-view-supply .vp-seller-role .v { color:var(--g); }
.thl-p-supply-pages-view-supply .cta-green { background: var(--g); color:var(--white); }
.thl-p-supply-pages-view-supply .cta-green:hover { background: var(--g-dk); color:var(--white); box-shadow: 0 6px 20px rgba(var(--p-green-14-rgb), .3); }
.thl-p-supply-pages-view-supply .cta-wa { background: var(--whatsapp-color); color:var(--white); }
.thl-p-supply-pages-view-supply .cta-wa:hover { background: var(--p-green-25); color:var(--white); }
.thl-p-supply-pages-view-supply .vp-reveal-btn { background: transparent; border-color: var(--whatsapp-color); color:var(--p-green-25); }
.thl-p-supply-pages-view-supply .vp-reveal-btn:hover { background: rgba(var(--p-green-28-rgb), 0.07); }
.thl-p-supply-pages-view-supply .vp-revealed-num { border-color: var(--whatsapp-color); background: rgba(var(--p-green-28-rgb), 0.06); color:var(--ink); }
.thl-p-supply-pages-view-supply .cta-ghost { background: transparent; color:var(--sub); border-color: var(--border); }
.thl-p-supply-pages-view-supply .cta-ghost:hover { border-color: var(--g); color:var(--g); background: var(--g-lt); }
.thl-p-supply-pages-view-supply .qm-label { color:var(--muted); }
.thl-p-supply-pages-view-supply .qm-btn { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-supply-pages-view-supply .qm-btn i { color:var(--g); }
.thl-p-supply-pages-view-supply .qm-btn:hover { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-supply-pages-view-supply .msg-ta { border-color: var(--border); color:var(--ink); background: var(--card); }
.thl-p-supply-pages-view-supply .msg-ta:focus { border-color: var(--g); }
/* ── SAFETY CARD ── */
.thl-p-supply-pages-view-supply .safety-card { background: var(--amber-lt); border-color: var(--warn); }
.thl-p-supply-pages-view-supply .safety-title { color:var(--amber-ink); }
.thl-p-supply-pages-view-supply .safety-title i { color:var(--gold); }
.thl-p-supply-pages-view-supply .safety-list li { color:var(--amber-ink); }
.thl-p-supply-pages-view-supply .safety-list li::before { color:var(--gold); }
/* ── MINI MAP (sidebar) ── */
.thl-p-supply-pages-view-supply .vp-mini-map { border-color: var(--border); }
/* ── NOT LOGGED ── */
.thl-p-supply-pages-view-supply .not-logged { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-supply-pages-view-supply .not-logged a { color:var(--g); }
/* ── LIGHTBOX ── */
.thl-p-supply-pages-view-supply .lb { background: rgba(var(--p-black-3-rgb), .96); }
.thl-p-supply-pages-view-supply .lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), .07); }
.thl-p-supply-pages-view-supply .lb-title { color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-supply-pages-view-supply .lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-supply-pages-view-supply .lb-x { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-supply-pages-view-supply .lb-x:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-supply-pages-view-supply .lb-arrow { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .8); }
.thl-p-supply-pages-view-supply .lb-arrow:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-supply-pages-view-supply .lb-th { border-color: transparent; }
.thl-p-supply-pages-view-supply .lb-th.on { border-color: var(--g); }
/* ── SHARE MODAL ── */
.thl-p-supply-pages-view-supply .share-ov { background: rgba(var(--p-black-1-rgb), .5); }
.thl-p-supply-pages-view-supply .share-box { background: var(--card); box-shadow: var(--sh3); }
.thl-p-supply-pages-view-supply .sb-copy i { color:var(--g); }
.thl-p-supply-pages-view-supply .sb-wa i { color:var(--whatsapp-color); }
.thl-p-supply-pages-view-supply .sb-tg i { color:var(--telegram-color); }
.thl-p-supply-pages-view-supply .sb-fb i { color:var(--facebook); }
.thl-p-supply-pages-view-supply .sb-tw i { color:var(--ink-3); }
.thl-p-supply-pages-view-supply .sb-pi i { color:var(--p-red-3); }
.thl-p-supply-pages-view-supply .sb-em i { color:var(--p-red-14); }
/* ── TOAST ── */

/* ── NUDGE ── */
.thl-p-supply-pages-view-supply .nudge { background: var(--card); border-color: var(--border); box-shadow: var(--sh3); color:var(--sub); }
.thl-p-supply-pages-view-supply .nudge strong { color:var(--ink); }
.thl-p-supply-pages-view-supply .nudge a { color:var(--g); }
.thl-p-supply-pages-view-supply .nudge-x { color:var(--muted); }
.thl-p-supply-pages-view-supply .section-hd h2 { color:var(--ink); }
.thl-p-supply-pages-view-supply .section-hd span { color:var(--muted); }

/* ── users/achievements.php ─────────────────────────────────────────── */
/* ── PAGE HEADER ── */
.thl-p-users-achievements .page-header { background: var(--white); border-color: var(--border); }
.thl-p-users-achievements .page-header-icon { background: var(--g-lt); }
.thl-p-users-achievements .page-header-icon i { color:var(--g); }
.thl-p-users-achievements .page-header-text h1 { color:var(--ink); }
.thl-p-users-achievements .page-header-text p { color:var(--sub); }
.thl-p-users-achievements .ach-stat-card { background: var(--white); border-color: var(--border); }
.thl-p-users-achievements .ach-stat-card:hover { border-color: var(--border-2); }
.thl-p-users-achievements .ach-stat-val { color:var(--ink); }
.thl-p-users-achievements .ach-stat-lbl { color:var(--muted); }
/* ── RANK HERO ── */
.thl-p-users-achievements .rank-hero { background: linear-gradient(135deg, var(--p-blue-2) 0%, var(--p-blue-7) 55%, var(--p-green-5) 100%); border-color: var(--p-green-7); }
.thl-p-users-achievements .rank-hero::before { background-image: radial-gradient(circle at 10% 50%, rgba(var(--g-rgb), 0.14) 0%, transparent 50%),

        radial-gradient(circle at 90% 20%, rgba(var(--p-violet-5-rgb), 0.11) 0%, transparent 50%),

        repeating-linear-gradient(45deg, transparent, transparent 18px, rgba(var(--p-white-28-rgb), 0.018) 18px, rgba(var(--p-white-28-rgb), 0.018) 19px); }
.thl-p-users-achievements .rank-hero::after { background: linear-gradient(90deg, transparent, rgba(var(--p-white-28-rgb), 0.04), transparent); }
.thl-p-users-achievements .rank-avatar { border-color: rgba(var(--p-white-28-rgb), 0.2); }
.thl-p-users-achievements .rank-avatar-icon { border-color: rgba(var(--p-white-28-rgb), 0.15); }
.thl-p-users-achievements .rank-label { color:var(--white); }
.thl-p-users-achievements .rank-sub { color:rgba(var(--p-white-28-rgb), 0.82); }
.thl-p-users-achievements .rank-points-pill { background: rgba(var(--g-rgb), 0.18); border-color: var(--g); color:var(--g-vivid); }
.thl-p-users-achievements .rank-role-pill { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.15); color:rgba(var(--p-white-28-rgb), 0.6); }
.thl-p-users-achievements .rank-ladder-dot { background: rgba(var(--p-white-28-rgb), 0.25); }
.thl-p-users-achievements .rank-ladder-item.earned  .rank-ladder-dot { background: var(--g); }
.thl-p-users-achievements .rank-ladder-item.current .rank-ladder-dot { background: var(--gold); }
.thl-p-users-achievements .rank-ladder-name { color:rgba(var(--p-white-28-rgb), 0.72); }
.thl-p-users-achievements .rank-ladder-item.earned  .rank-ladder-name { color:rgba(var(--p-white-28-rgb), 0.65); }
.thl-p-users-achievements .rank-ladder-item.current .rank-ladder-name { color:var(--white); }
.thl-p-users-achievements .rank-ladder-pts { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-achievements .rank-ladder-item.current .rank-ladder-pts { color:var(--gold); }
.thl-p-users-achievements .rank-next-label { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-achievements .rank-next-label span { color:rgba(var(--p-white-28-rgb), 0.65); }
.thl-p-users-achievements .rank-next-track { background: rgba(var(--p-white-28-rgb), 0.1); }
.thl-p-users-achievements .rank-next-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
/* ── ACHIEVEMENT GROUPS ── */
.thl-p-users-achievements .ach-group { background: var(--white); border-color: var(--border); }
.thl-p-users-achievements .ach-group:hover { border-color: var(--border-2); }
.thl-p-users-achievements .ach-group.grp-profile { border-left-color: var(--blue); }
.thl-p-users-achievements .ach-group.grp-listings { border-left-color: var(--g); }
.thl-p-users-achievements .ach-group.grp-engagement { border-left-color: var(--red); }
.thl-p-users-achievements .ach-group.grp-community { border-left-color: var(--purple); }
.thl-p-users-achievements .ach-group-header:hover { background: var(--surf); }
.thl-p-users-achievements .ach-group-title { color:var(--ink); }
.thl-p-users-achievements .ach-group-pts { background: var(--surf); color:var(--sub); border-color: var(--border); }
.thl-p-users-achievements .ach-group-count { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-achievements .ach-group-chevron { color:var(--muted); }
.thl-p-users-achievements .ach-group-body { border-top-color: var(--border); }
.thl-p-users-achievements .ach-group-body.hidden { border-top-color: transparent; }
/* ── ACHIEVEMENT ITEM ── */
.thl-p-users-achievements .ach-item { background: var(--white); border-color: var(--border); }
.thl-p-users-achievements .ach-item::before { background: transparent; }
.thl-p-users-achievements .ach-item:hover { border-color: var(--g); }
.thl-p-users-achievements .ach-item:hover::before { background: linear-gradient(90deg, var(--g), transparent); }
.thl-p-users-achievements .ach-item-name { color:var(--ink); }
.thl-p-users-achievements .ach-milestone { background: linear-gradient(135deg, var(--amber-lt), var(--amber-bglt)); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-users-achievements .ach-milestone i { color:var(--gold); }
.thl-p-users-achievements .ach-progress-bar { background: var(--border); }
.thl-p-users-achievements .ach-progress-fill.maxed { background-image: repeating-linear-gradient(

        -45deg,

        transparent,

        transparent 6px,

        rgba(var(--p-white-28-rgb), 0.25) 6px,

        rgba(var(--p-white-28-rgb), 0.25) 12px

    ) !important; background-size:28px 100%; }
.thl-p-users-achievements .ach-progress-pct { color:var(--muted); }
/* ── VERIFIED BADGE ITEM ── */
.thl-p-users-achievements .ach-item.ach-verified { border-color: var(--g); background: linear-gradient(135deg, var(--g-bglt) 0%, var(--white) 100%); }
.thl-p-users-achievements .ach-item.ach-verified::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-achievements .ach-item.ach-verified .ach-item-name { color:var(--g-dk); }
.thl-p-users-achievements .ach-unverified-note { color:var(--muted); }
.thl-p-users-achievements .ach-unverified-note i { color:var(--border); }
.thl-p-users-admin-admin-complaints .asv-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-complaints .asv-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-complaints .asv-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-complaints .asv-filters { border-color: var(--border); }
.thl-p-users-admin-admin-complaints .asv-filter-count { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-complaints .asv-filter-btn.active .asv-filter-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-complaints .ac-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-complaints .ac-select { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-complaints .ac-select:focus { border-color: var(--g); }
/* Search submit button — ghost pattern */

/* Clear button */

/* ── TABLE CARD ── */
.thl-p-users-admin-admin-complaints .asv-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-complaints .asv-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-complaints .asv-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-complaints .asv-table-wrap::-webkit-scrollbar-thumb:hover { background: var(--muted); }
.thl-p-users-admin-admin-complaints .asv-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-complaints .asv-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-complaints .asv-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-complaints .asv-table tbody tr:hover { background: var(--surf); }
.thl-p-users-admin-admin-complaints .asv-table td { color:var(--sub); }
.thl-p-users-admin-admin-complaints .asv-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-complaints .asv-btn-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-complaints .ac-reporter-av { border-color: var(--border); }
.thl-p-users-admin-admin-complaints .ac-reporter-av-ph { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-admin-admin-complaints .ac-reporter-name { color:var(--ink); }
.thl-p-users-admin-admin-complaints .ac-reporter-name a:hover { color:var(--g-dk) !important; }
.thl-p-users-admin-admin-complaints .ac-reporter-email { color:var(--muted); }
/* ── PAGE CELL ── */
.thl-p-users-admin-admin-complaints .ac-page-title { color:var(--ink); }
.thl-p-users-admin-admin-complaints .ac-page-url { color:var(--info); }
.thl-p-users-admin-admin-complaints .ac-page-url a { color:var(--info); }
.thl-p-users-admin-admin-complaints .ac-type-chip { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-complaints .ac-details-text { color:var(--muted); }
.thl-p-users-admin-admin-complaints .asp-empty i { color:var(--border); }
.thl-p-users-admin-admin-complaints .asp-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-complaints .asp-empty p { color:var(--muted); }
.thl-p-users-admin-admin-complaints .asv-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-complaints .asv-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-complaints .asv-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-complaints .asv-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-complaints .asv-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-complaints .asv-pagination span.ellipsis { color:var(--muted); }
.thl-p-users-admin-admin-complaints .asp-del-modal { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-complaints .asp-modal-sub { color:var(--muted); }
.thl-p-users-admin-admin-complaints .asp-fl label { color:var(--sub); }
.thl-p-users-admin-admin-complaints .asp-fl select, .thl-p-users-admin-admin-complaints .asp-fl textarea, .thl-p-users-admin-admin-complaints .asp-fl input[readonly] { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-complaints .asp-fl select:focus, .thl-p-users-admin-admin-complaints .asp-fl textarea:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-users-admin-admin-complaints .asp-fl input[readonly] { background: var(--surf); color:var(--muted); }
.thl-p-users-admin-admin-complaints .asp-modal-btn-save { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-complaints .asp-modal-btn-cancel { background: var(--surf); color:var(--muted); border-color: var(--border); }
/* Delete confirm button — ghost pattern */
.thl-p-users-admin-admin-complaints .asp-modal-btn-danger { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-complaints .ac-details-box { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-admin-admin-complaints .ac-notes-box { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
/* ALERTS */
.thl-p-users-admin-admin-notifications .an-alert-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-users-admin-admin-notifications .an-alert-err { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-admin-admin-notifications .an-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-notifications .an-tab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-notifications .an-tab.active i { color:var(--g); }
/* ─────────────────────────────────────────────────────────────────────────── */

/* CARD */
.thl-p-users-admin-admin-notifications .an-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-notifications .an-card-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-notifications .an-card-head-title { color:var(--muted); }
.thl-p-users-admin-admin-notifications .an-card-head-title i { color:var(--g); }
.thl-p-users-admin-admin-notifications .an-label { color:var(--sub); }
.thl-p-users-admin-admin-notifications .an-input, .thl-p-users-admin-admin-notifications .an-textarea, .thl-p-users-admin-admin-notifications .an-select { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-notifications .an-input:focus, .thl-p-users-admin-admin-notifications .an-textarea:focus, .thl-p-users-admin-admin-notifications .an-select:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-users-admin-admin-notifications .an-hint { color:var(--muted); }
/* SUBMIT BTN */
.thl-p-users-admin-admin-notifications .an-btn-send { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-notifications .an-btn-send:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-notifications .an-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-notifications .an-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-notifications .an-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-notifications .an-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-notifications .an-table tbody tr:hover { background: var(--surf); }
.thl-p-users-admin-admin-notifications .an-badge-read { background: var(--blue-lt); color:var(--info); border-color: var(--info); }
/* TYPE ICON */
.thl-p-users-admin-admin-notifications .an-notif-icon { color:var(--white); }
.thl-p-users-admin-admin-notifications .an-search-inp-wrap i { color:var(--muted); }
/* SEARCH RESULTS DROPDOWN */
.thl-p-users-admin-admin-notifications .an-search-results { background: var(--white); border-color: var(--border); box-shadow: var(--shadow); }
.thl-p-users-admin-admin-notifications .an-user-result { border-bottom-color: var(--surface2); color:var(--ink); }
.thl-p-users-admin-admin-notifications .an-user-result:hover { background: var(--g-lt); }
.thl-p-users-admin-admin-notifications .an-user-av { border-color: var(--border); }
.thl-p-users-admin-admin-notifications .an-user-name { color:var(--ink); }
.thl-p-users-admin-admin-notifications .an-user-email { color:var(--muted); }
/* SELECTED USER HEADER */
.thl-p-users-admin-admin-notifications .an-selected-user { background: var(--g-lt); border-color: var(--g); }
.thl-p-users-admin-admin-notifications .an-selected-user-av { border-color: var(--g); }
.thl-p-users-admin-admin-notifications .an-selected-user-name { color:var(--g-dk); }
.thl-p-users-admin-admin-notifications .an-selected-user-meta { color:var(--sub); }
/* NOTIF ITEM IN USER VIEW */
.thl-p-users-admin-admin-notifications .an-notif-row { border-bottom-color: var(--surface2); }
.thl-p-users-admin-admin-notifications .an-notif-row.unread { background: rgba(var(--g-rgb), 0.03); border-left-color: var(--g); }
.thl-p-users-admin-admin-notifications .an-notif-row-title { color:var(--ink); }
/* ── MESSAGE: renders HTML exactly like the user-facing notifications page ── */
.thl-p-users-admin-admin-notifications .an-notif-row-message { color:var(--sub); }
.thl-p-users-admin-admin-notifications .an-notif-row-message a { color:var(--g); }
.thl-p-users-admin-admin-notifications .an-notif-row-message img { border-color: var(--border); }
.thl-p-users-admin-admin-notifications .an-notif-row-time { color:var(--muted); }
.thl-p-users-admin-admin-notifications .an-notif-row-link { color:var(--info); }
/* DELETE BTN */
.thl-p-users-admin-admin-notifications .an-btn-delete { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-notifications .an-btn-delete:hover { background: var(--red); color:var(--white); border-color: var(--red); }
/* EMPTY */
.thl-p-users-admin-admin-notifications .an-empty { color:var(--muted); }
.thl-p-users-admin-admin-notifications .an-empty i { color:var(--border); }
.thl-p-users-admin-admin-notifications .an-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-notifications .an-empty p { color:var(--muted); }
.thl-p-users-admin-admin-notifications .an-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-notifications .an-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-notifications .an-stat-lbl { color:var(--muted); }
/* ── ALERTS ── */
.thl-p-users-admin-admin-orders .ao-alert-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-users-admin-admin-orders .ao-alert-err { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-admin-admin-orders .ao-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-orders .ao-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-orders .ao-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-tab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-orders .ao-tab.active i { color:var(--g); }
.thl-p-users-admin-admin-orders .ao-tab.active .ao-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-orders .ao-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-orders .ao-date-inp { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-orders .ao-date-inp:focus { border-color: var(--g); }
.thl-p-users-admin-admin-orders .ao-date-label { color:var(--muted); }
/* Clear button — ghost red */

/* ── TABLE CARD — Rule 6, .thl-p-users-admin-admin-orders NO box-shadow ── */
.thl-p-users-admin-admin-orders .ao-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-orders .ao-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-orders .ao-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-orders .ao-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-table tbody tr:hover { background: var(--surf); }
/* ── THUMB ── */
.thl-p-users-admin-admin-orders .ao-thumb { border-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-thumb-ph { background: var(--surf); border-color: var(--border); color:var(--muted); }
/* ── DESIGN / PEOPLE CELLS ── */
.thl-p-users-admin-admin-orders .ao-design-title { color:var(--ink); }
.thl-p-users-admin-admin-orders .ao-design-title a:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-orders .ao-design-cat { color:var(--muted); }
.thl-p-users-admin-admin-orders .ao-person-name { color:var(--ink); }
.thl-p-users-admin-admin-orders .ao-person-name a { color:var(--ink); }
.thl-p-users-admin-admin-orders .ao-person-name a:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-orders .ao-person-email { color:var(--muted); }
/* ── AMOUNT ── */
.thl-p-users-admin-admin-orders .ao-amount-val { color:var(--ink); }
.thl-p-users-admin-admin-orders .ao-amount-fee { color:var(--warn); }
.thl-p-users-admin-admin-orders .ao-amount-net { color:var(--ok); }
.thl-p-users-admin-admin-orders .ao-ref { color:var(--muted); }
.thl-p-users-admin-admin-orders .ao-badge-refunded { background: var(--purple-lt); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-orders .ao-badge-muted { background: var(--surface2); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-dl-pill.active { background: var(--g-lt); color:var(--ok); border-color: var(--g); }
.thl-p-users-admin-admin-orders .ao-dl-pill.expired { background: var(--surface2); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-dl-pill.na { background: var(--surface2); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-dl-count { color:var(--muted); }
/* ── ACTION BUTTONS — Rule 3: ghost pattern, .thl-p-users-admin-admin-orders NO shadows, .thl-p-users-admin-admin-orders NO translates ── */
.thl-p-users-admin-admin-orders .ao-btn { border-color: transparent; }
.thl-p-users-admin-admin-orders .ao-btn-regen { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-orders .ao-btn-regen:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-orders .ao-btn-refund { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-orders .ao-btn-refund:hover { background: var(--red); color:var(--white); border-color: var(--red); }
/* ── DATE CELL ── */
.thl-p-users-admin-admin-orders .ao-date { color:var(--ink); }
.thl-p-users-admin-admin-orders .ao-date-sub { color:var(--muted); }
.thl-p-users-admin-admin-orders .ao-empty i { color:var(--border); }
.thl-p-users-admin-admin-orders .ao-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-orders .ao-empty p { color:var(--muted); }
.thl-p-users-admin-admin-orders .ao-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-orders .ao-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-orders .ao-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-orders .ao-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-pagination span.ellipsis { color:var(--muted); }
/* ── MODALS — NO box-shadow, .thl-p-users-admin-admin-orders z-index 9999 ── */
.thl-p-users-admin-admin-orders .ao-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-orders .ao-modal-sub { color:var(--muted); }
/* Modal buttons — ghost pattern */
.thl-p-users-admin-admin-orders .ao-modal-btn { border-color: transparent; }
.thl-p-users-admin-admin-orders .ao-modal-btn-cancel { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-modal-btn-cancel:hover { background: var(--surface2); color:var(--ink); border-color: var(--border-2); }
.thl-p-users-admin-admin-orders .ao-modal-btn-danger { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-orders .ao-modal-btn-danger:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-orders .ao-modal-btn-safe { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-orders .ao-modal-btn-safe:hover { background: var(--g); color:var(--white); border-color: var(--g); }
/* ── DETAIL DRAWER — NO box-shadow ── */
.thl-p-users-admin-admin-orders .ao-detail-overlay { background: rgba(var(--p-black-1-rgb), 0.5); }
.thl-p-users-admin-admin-orders .ao-detail-panel { background: var(--white); border-left-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-detail-panel::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-orders .ao-dp-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-orders .ao-dp-header h2 { color:var(--ink); }
.thl-p-users-admin-admin-orders .ao-dp-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-orders .ao-dp-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-admin-admin-orders .ao-dp-sec-label { color:var(--muted); }
.thl-p-users-admin-admin-orders .ao-dp-sec-label::after { background: var(--border); }
.thl-p-users-admin-admin-orders .ao-dp-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-dp-cell-label { color:var(--muted); }
.thl-p-users-admin-admin-orders .ao-dp-cell-val { color:var(--ink); }
.thl-p-users-admin-admin-orders .ao-dp-cell-val.green { color:var(--ok); }
.thl-p-users-admin-admin-orders .ao-dp-cell-val.red { color:var(--red); }
.thl-p-users-admin-admin-orders .ao-dp-thumb { border-color: var(--border); }
.thl-p-users-admin-admin-orders .ao-dp-thumb-ph { border-color: var(--border); background: var(--surf); color:var(--border); }
.thl-p-users-admin-admin-orders .ao-dp-btn { border-color: transparent; }
.thl-p-users-admin-admin-orders .ao-dp-btn-regen { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-orders .ao-dp-btn-regen:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-orders .ao-dp-btn-refund { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-orders .ao-dp-btn-refund:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-orders .ao-dp-btn-seller { background: rgba(var(--p-violet-5-rgb), 0.07); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-orders .ao-dp-btn-seller:hover { background: var(--purple); color:var(--white); border-color: var(--purple); }
/* ALERTS */
.thl-p-users-admin-admin-platform-settings .ps-alert-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-users-admin-admin-platform-settings .ps-alert-err { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-admin-admin-platform-settings .ps-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .ps-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-platform-settings .ps-stat-lbl { color:var(--muted); }
/* CARD */
.thl-p-users-admin-admin-platform-settings .ps-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .ps-card-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-platform-settings .ps-card-head-title { color:var(--muted); }
.thl-p-users-admin-admin-platform-settings .ps-card-head-title i { color:var(--g); }
/* SETTING ROWS */
.thl-p-users-admin-admin-platform-settings form.ps-setting-row { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .ps-setting-key { background: var(--p-grey-61); color:var(--p-blue-18); border-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .ps-setting-title { color:var(--ink); }
.thl-p-users-admin-admin-platform-settings .ps-setting-hint { color:var(--muted); }
.thl-p-users-admin-admin-platform-settings .ps-last-updated { color:var(--muted); }
/* INPUTS */
.thl-p-users-admin-admin-platform-settings .ps-label { color:var(--sub); }
.thl-p-users-admin-admin-platform-settings .ps-inp, .thl-p-users-admin-admin-platform-settings .ps-select, .thl-p-users-admin-admin-platform-settings .ps-textarea { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-platform-settings .ps-inp:focus, .thl-p-users-admin-admin-platform-settings .ps-select:focus, .thl-p-users-admin-admin-platform-settings .ps-textarea:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-users-admin-admin-platform-settings .ps-suffix { color:var(--muted); }
/* SAVE BUTTONS */
.thl-p-users-admin-admin-platform-settings .ps-btn-save { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-platform-settings .ps-btn-save:hover { background: var(--g); color:var(--white); }
/* ADD button */
.thl-p-users-admin-admin-platform-settings .ps-btn-add { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-platform-settings .ps-btn-add:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-platform-settings .ps-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .ps-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-platform-settings .ps-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .ps-table tbody tr:hover { background: var(--surf); }
.thl-p-users-admin-admin-platform-settings .ps-key-pill { background: var(--p-grey-61); color:var(--p-blue-18); border-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .ps-edit-inp { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-platform-settings .ps-edit-inp:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
/* Inline save */
.thl-p-users-admin-admin-platform-settings .ps-btn-save-sm { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-platform-settings .ps-btn-save-sm:hover { background: var(--g); color:var(--white); }
/* Download button (backup table) */
.thl-p-users-admin-admin-platform-settings .ps-btn-dl-sm { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-platform-settings .ps-btn-dl-sm:hover { background: var(--g); color:var(--white); }
/* Delete button (backup table) */
.thl-p-users-admin-admin-platform-settings .ps-btn-del-sm { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--error); border-color: var(--red); }
.thl-p-users-admin-admin-platform-settings .ps-btn-del-sm:hover { background: var(--red); color:var(--white); }
/* EMPTY */
.thl-p-users-admin-admin-platform-settings .ps-empty { color:var(--muted); }
.thl-p-users-admin-admin-platform-settings .ps-empty i { color:var(--border); }
.thl-p-users-admin-admin-platform-settings .ps-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .ps-tab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-platform-settings .ps-tab.active i { color:var(--g); }
.thl-p-users-admin-admin-platform-settings .mnt-status-banner.on { background: var(--amber-bglt); border-color: var(--warn); }
.thl-p-users-admin-admin-platform-settings .mnt-status-banner.off { background: var(--g-bglt); border-color: var(--g); }
.thl-p-users-admin-admin-platform-settings .mnt-status-banner.on  .mnt-status-banner-ico { background: var(--amber-br); color:var(--amber-ink); }
.thl-p-users-admin-admin-platform-settings .mnt-status-banner.off .mnt-status-banner-ico { background: var(--p-green-43); color:var(--g-inklt); }
.thl-p-users-admin-admin-platform-settings .mnt-status-banner.on  .mnt-status-banner-text h3 { color:var(--amber-ink); }
.thl-p-users-admin-admin-platform-settings .mnt-status-banner.off .mnt-status-banner-text h3 { color:var(--g-inklt); }
.thl-p-users-admin-admin-platform-settings .mnt-status-banner.on  .mnt-status-banner-text p { color:var(--p-orange-9); }
.thl-p-users-admin-admin-platform-settings .mnt-status-banner.off .mnt-status-banner-text p { color:var(--p-green-15); }
/* MAINTENANCE — toggle card */
.thl-p-users-admin-admin-platform-settings .mnt-toggle-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .mnt-toggle-switch { background: var(--border-2); }
.thl-p-users-admin-admin-platform-settings .mnt-toggle-switch::after { background: var(--white); }
.thl-p-users-admin-admin-platform-settings .mnt-toggle-label input:checked ~ .mnt-toggle-switch { background: var(--red); }
.thl-p-users-admin-admin-platform-settings .mnt-toggle-text h4 { color:var(--ink); }
.thl-p-users-admin-admin-platform-settings .mnt-toggle-text p { color:var(--muted); }
.thl-p-users-admin-admin-platform-settings .mnt-btn-off { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--error); border-color: var(--red); }
.thl-p-users-admin-admin-platform-settings .mnt-btn-off:hover { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-platform-settings .mnt-btn-on { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-platform-settings .mnt-btn-on:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-platform-settings .mnt-info-box { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .mnt-info-box h5 { color:var(--ink); }
.thl-p-users-admin-admin-platform-settings .mnt-info-box p { color:var(--muted); }
/* BACKUP TAB */
.thl-p-users-admin-admin-platform-settings .bk-action-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .bk-action-info h3 { color:var(--ink); }
.thl-p-users-admin-admin-platform-settings .bk-action-info p { color:var(--sub); }
.thl-p-users-admin-admin-platform-settings .bk-btn { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-platform-settings .bk-btn:hover { background: var(--g-dk); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
.thl-p-users-admin-admin-platform-settings .bk-info-box { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .bk-info-box h5 { color:var(--ink); }
.thl-p-users-admin-admin-platform-settings .bk-info-box p { color:var(--muted); }
/* SHARED SAVE CONFIRM MODAL (Core settings + inline custom setting saves) */
.thl-p-users-admin-admin-platform-settings .save-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-platform-settings .save-modal-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-users-admin-admin-platform-settings .save-modal-icon { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-admin-admin-platform-settings .save-modal-box h3 { color:var(--ink); }
.thl-p-users-admin-admin-platform-settings .save-modal-box p { color:var(--sub); }
.thl-p-users-admin-admin-platform-settings .save-modal-cancel { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-users-admin-admin-platform-settings .save-modal-cancel:hover { background: var(--surf); }
.thl-p-users-admin-admin-platform-settings .save-modal-confirm { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-platform-settings .save-modal-confirm:hover { background: var(--g-dk); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
/* MAINTENANCE CONFIRM MODAL */
.thl-p-users-admin-admin-platform-settings .mnt-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-platform-settings .mnt-modal-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-users-admin-admin-platform-settings .mnt-modal-icon.turning-on { background: var(--amber-bglt); color:var(--amber-ink); }
.thl-p-users-admin-admin-platform-settings .mnt-modal-icon.turning-off { background: var(--g-bglt); color:var(--g-inklt); }
.thl-p-users-admin-admin-platform-settings .mnt-modal-box h3 { color:var(--ink); }
.thl-p-users-admin-admin-platform-settings .mnt-modal-box p { color:var(--sub); }
.thl-p-users-admin-admin-platform-settings .mnt-modal-cancel { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-users-admin-admin-platform-settings .mnt-modal-cancel:hover { background: var(--surf); }
.thl-p-users-admin-admin-platform-settings .mnt-modal-confirm.turning-on { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-platform-settings .mnt-modal-confirm.turning-on:hover { background: var(--error); }
.thl-p-users-admin-admin-platform-settings .mnt-modal-confirm.turning-off { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-platform-settings .mnt-modal-confirm.turning-off:hover { background: var(--g-dk); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
/* ADD SETTING CONFIRM MODAL */
.thl-p-users-admin-admin-platform-settings .add-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-platform-settings .add-modal-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-users-admin-admin-platform-settings .add-modal-icon { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-admin-admin-platform-settings .add-modal-box h3 { color:var(--ink); }
.thl-p-users-admin-admin-platform-settings .add-modal-box p { color:var(--sub); }
.thl-p-users-admin-admin-platform-settings .add-modal-keyname { background: var(--p-grey-61); color:var(--p-blue-18); border-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .add-modal-cancel { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-users-admin-admin-platform-settings .add-modal-cancel:hover { background: var(--surf); }
.thl-p-users-admin-admin-platform-settings .add-modal-confirm { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-platform-settings .add-modal-confirm:hover { background: var(--g-dk); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
/* BACKUP CONFIRM MODAL */
.thl-p-users-admin-admin-platform-settings .bk-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-platform-settings .bk-modal-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-users-admin-admin-platform-settings .bk-modal-icon { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-admin-admin-platform-settings .bk-modal-box h3 { color:var(--ink); }
.thl-p-users-admin-admin-platform-settings .bk-modal-box p { color:var(--sub); }
.thl-p-users-admin-admin-platform-settings .bk-modal-cancel { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-users-admin-admin-platform-settings .bk-modal-cancel:hover { background: var(--surf); border-color: var(--border-2); }
.thl-p-users-admin-admin-platform-settings .bk-modal-confirm { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-platform-settings .bk-modal-confirm:hover { background: var(--g-dk); box-shadow: 0 4px 14px rgba(var(--g-rgb), 0.3); }
/* DELETE CONFIRM MODAL */
.thl-p-users-admin-admin-platform-settings .del-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-platform-settings .del-modal-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-users-admin-admin-platform-settings .del-modal-icon { background: var(--red-lt); color:var(--error); }
.thl-p-users-admin-admin-platform-settings .del-modal-box h3 { color:var(--ink); }
.thl-p-users-admin-admin-platform-settings .del-modal-box p { color:var(--sub); }
.thl-p-users-admin-admin-platform-settings .del-modal-filename { background: var(--p-grey-61); color:var(--p-blue-18); border-color: var(--border); }
.thl-p-users-admin-admin-platform-settings .del-modal-cancel { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-users-admin-admin-platform-settings .del-modal-cancel:hover { background: var(--surf); }
.thl-p-users-admin-admin-platform-settings .del-modal-confirm { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-platform-settings .del-modal-confirm:hover { background: var(--error); }
/* ── ALERTS ── */
.thl-p-users-admin-admin-posts .adp-alert-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-users-admin-admin-posts .adp-alert-err { background: var(--red-lt); border-color: var(--red); color:var(--error); }
/* ── AUTHOR BANNER ── */
.thl-p-users-admin-admin-posts .author-banner { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-posts .author-av { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-admin-admin-posts .author-av-img { border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-posts .adp-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-tab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-posts .adp-tab.active i { color:var(--g); }
.thl-p-users-admin-admin-posts .adp-tab.active .adp-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-posts .adp-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-select { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-posts .adp-select:focus { border-color: var(--g); }
/* ── TABLE CARD ── */
.thl-p-users-admin-admin-posts .adp-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-posts .adp-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-posts .adp-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-table tbody tr:hover { background: var(--surf); }
.thl-p-users-admin-admin-posts .adp-table tbody tr.row-pending { background: var(--p-white-23); }
.thl-p-users-admin-admin-posts .adp-table tbody tr.row-pending:hover { background: var(--p-amber-7); }
/* ── THUMBNAIL — thread hero style for table rows ── */
.thl-p-users-admin-admin-posts .adp-thumb { border-color: var(--border); }
/* Thread hero thumbnail — dark gradient matching community page */
.thl-p-users-admin-admin-posts .adp-thumb-thread-hero { background: linear-gradient(135deg, var(--p-blue-2) 0%, var(--p-blue-7) 55%, var(--p-green-5) 100%); }
.thl-p-users-admin-admin-posts .adp-thumb-thread-hero::before { background: radial-gradient(circle at 20% 50%, rgba(var(--g-rgb), 0.22) 0%, transparent 60%),

        repeating-linear-gradient(45deg, transparent, transparent 6px, rgba(var(--p-white-28-rgb), 0.025) 6px, rgba(var(--p-white-28-rgb), 0.025) 7px); }
.thl-p-users-admin-admin-posts .adp-thumb-thread-hero i { color:rgba(var(--g-rgb), 0.85); }
/* Article no-banner fallback */
.thl-p-users-admin-admin-posts .adp-thumb-placeholder { background: var(--surf); border-color: var(--border); color:var(--muted); }
/* ── CELL TEXT ── */
.thl-p-users-admin-admin-posts .adp-post-title { color:var(--ink); }
.thl-p-users-admin-admin-posts .adp-post-meta { color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-author-name { color:var(--ink); }
.thl-p-users-admin-admin-posts .adp-author-name a { color:var(--ink); }
.thl-p-users-admin-admin-posts .adp-author-name a:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-posts .adp-author-email { color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-type-thread { background: var(--blue-lt); color:var(--blue-ink-2); border-color: var(--info); }
.thl-p-users-admin-admin-posts .adp-type-article { background: var(--purple-lt); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-posts .adp-badge-muted { background: var(--surface2); color:var(--muted); border-color: var(--border); }
/* ── ACTION BUTTONS ── */
.thl-p-users-admin-admin-posts .adp-btn { border-color: transparent; }
.thl-p-users-admin-admin-posts .adp-btn-details { background: rgba(var(--p-violet-3-rgb), 0.07); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-posts .adp-btn-details:hover { background: var(--purple); color:var(--white); border-color: var(--purple); }
.thl-p-users-admin-admin-posts .adp-btn-edit { background: rgba(var(--p-orange-14-rgb), 0.07); color:var(--p-orange-9); border-color: var(--warn); }
.thl-p-users-admin-admin-posts .adp-btn-edit:hover { background: var(--warn); color:var(--white); border-color: var(--warn); }
.thl-p-users-admin-admin-posts .adp-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-posts .adp-btn-publish:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-posts .adp-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-posts .adp-btn-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
/* ── MODALS ── */
.thl-p-users-admin-admin-posts .adp-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-posts .adp-modal-sm { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-modal-title { color:var(--ink); }
.thl-p-users-admin-admin-posts .adp-modal-sub { color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-fl label { color:var(--sub); }
.thl-p-users-admin-admin-posts .adp-fl select, .thl-p-users-admin-admin-posts .adp-fl textarea { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-posts .adp-fl select:focus, .thl-p-users-admin-admin-posts .adp-fl textarea:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-users-admin-admin-posts .adp-modal-btn { border-color: transparent; }
.thl-p-users-admin-admin-posts .adp-modal-btn-save { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-posts .adp-modal-btn-save:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-posts .adp-modal-btn-cancel { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-modal-btn-cancel:hover { background: var(--surface2); color:var(--ink); border-color: var(--border-2); }
.thl-p-users-admin-admin-posts .adp-modal-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-posts .adp-modal-btn-del:hover { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-posts .adp-modal-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-posts .adp-modal-btn-publish:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-posts .adp-empty i { color:var(--border); }
.thl-p-users-admin-admin-posts .adp-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-posts .adp-empty p { color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-posts .adp-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-posts .adp-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-posts .adp-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-pagination span.ellipsis { color:var(--muted); }
/* ── POST DETAIL MODAL ── */
.thl-p-users-admin-admin-posts .adp-detail-overlay { background: rgba(var(--p-black-1-rgb), 0.6); }
.thl-p-users-admin-admin-posts .adp-detail-modal { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-posts .adp-dm-header-left h2 { color:var(--ink); }
.thl-p-users-admin-admin-posts .adp-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-admin-admin-posts .adp-dm-left { border-right-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-posts .adp-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-posts .adp-sec-label { color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-sec-label::after { background: var(--border); }
/* Article banner */
.thl-p-users-admin-admin-posts .adp-banner { background: var(--surf); }
/* ── Thread hero banner in detail modal ── */
.thl-p-users-admin-admin-posts .adp-banner-thread { background: linear-gradient(135deg, var(--p-blue-2) 0%, var(--p-blue-7) 55%, var(--p-green-5) 100%); }
.thl-p-users-admin-admin-posts .adp-banner-thread::before { background-image: radial-gradient(circle at 20% 50%, rgba(var(--g-rgb), 0.16) 0%, transparent 55%),

        radial-gradient(circle at 80% 30%, rgba(var(--p-violet-3-rgb), 0.10) 0%, transparent 55%),

        repeating-linear-gradient(45deg, transparent, transparent 16px, rgba(var(--p-white-28-rgb), 0.018) 16px, rgba(var(--p-white-28-rgb), 0.018) 17px); }
.thl-p-users-admin-admin-posts .adp-banner-thread-icon { color:rgba(var(--g-rgb), 0.85); }
.thl-p-users-admin-admin-posts .adp-banner-thread-ring { border-color: var(--g); }
.thl-p-users-admin-admin-posts .adp-banner-thread-label { color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-admin-admin-posts .adp-banner-thread-sub { color:rgba(var(--p-white-28-rgb), 0.62); }
/* Article no-banner fallback in detail modal */
.thl-p-users-admin-admin-posts .adp-banner-placeholder { border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-info-label { color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-info-val { color:var(--ink); }
.thl-p-users-admin-admin-posts .adp-short-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-content-preview { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-content-preview::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-posts .adp-file-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-posts .adp-file-item:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-posts .adp-file-item i { color:var(--g); }
.thl-p-users-admin-admin-posts .adp-author-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-author-row { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-author-av { border-color: var(--g); }
.thl-p-users-admin-admin-posts .adp-author-name-lbl { color:var(--ink); }
.thl-p-users-admin-admin-posts .adp-author-email-lbl { color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-author-link { color:var(--info); }
.thl-p-users-admin-admin-posts .adp-stat-mini { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-posts .adp-stat-mini-num { color:var(--ink); }
.thl-p-users-admin-admin-posts .adp-stat-mini-lbl { color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-qa-btn { border-color: transparent; }
.thl-p-users-admin-admin-posts .adp-qa-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-posts .adp-qa-publish:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-posts .adp-qa-review { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-admin-admin-posts .adp-qa-review:hover { background: var(--info); color:var(--white); }
.thl-p-users-admin-admin-posts .adp-qa-view { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-posts .adp-qa-view:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-posts .adp-qa-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-posts .adp-qa-del:hover { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-posts .adp-loading { color:var(--muted); }
.thl-p-users-admin-admin-posts .adp-dm-right { border-top-color: var(--border); }
/* ALERTS */
.thl-p-users-admin-admin-promotions .ap-alert-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-users-admin-admin-promotions .ap-alert-err { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-admin-admin-promotions .ap-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-promotions .ap-stat-lbl { color:var(--muted); }
/* ── PAGE-LEVEL TABS (Promotions / Plans) — underline style, .thl-p-users-admin-admin-promotions kept as-is for navigation ── */
.thl-p-users-admin-admin-promotions .ap-page-tab.active { color:var(--g-dk); border-bottom-color: var(--g); }
.thl-p-users-admin-admin-promotions .ap-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-tab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-promotions .ap-tab.active i { color:var(--g); }
.thl-p-users-admin-admin-promotions .ap-tab.active .ap-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-promotions .ap-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-promotions .ap-select { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-promotions .ap-select:focus { border-color: var(--g); }
.thl-p-users-admin-admin-promotions .ap-rev-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-rev-type { color:var(--muted); }
.thl-p-users-admin-admin-promotions .ap-rev-amount { color:var(--ink); }
.thl-p-users-admin-admin-promotions .ap-rev-count { color:var(--muted); }
/* TABLE CARD — Rule 6, .thl-p-users-admin-admin-promotions NO box-shadow */
.thl-p-users-admin-admin-promotions .ap-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-promotions .ap-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-promotions .ap-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-promotions .ap-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-table tbody tr:hover { background: var(--surf); }
.thl-p-users-admin-admin-promotions .ap-table td { color:var(--sub); }
.thl-p-users-admin-admin-promotions .badge-live i { color:var(--g); }
.thl-p-users-admin-admin-promotions .badge-muted { background: var(--surface2); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-promotions .badge-wallet { background: var(--blue-lt); color:var(--info); border-color: var(--info); }
.thl-p-users-admin-admin-promotions .badge-gateway { background: var(--p-white-2); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-promotions .badge-homepage { background: var(--amber-lt); color:var(--warn); border-color: var(--warn); }
.thl-p-users-admin-admin-promotions .ap-user-av { border-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-user-name { color:var(--ink); }
.thl-p-users-admin-admin-promotions .ap-user-name a { color:var(--ink); }
.thl-p-users-admin-admin-promotions .ap-user-name a:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-promotions .ap-user-email { color:var(--muted); }
/* LISTING CELL */
.thl-p-users-admin-admin-promotions .ap-listing-chip { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-promotions .ap-listing-id { color:var(--muted); }
.thl-p-users-admin-admin-promotions .ap-amount { color:var(--ink); }
.thl-p-users-admin-admin-promotions .ap-amount-currency { color:var(--muted); }
.thl-p-users-admin-admin-promotions .ap-date-start { color:var(--g-dk); }
.thl-p-users-admin-admin-promotions .ap-date-end { color:var(--muted); }
/* ACTION BUTTONS — Rule 3: ghost pattern, .thl-p-users-admin-admin-promotions NO shadows, .thl-p-users-admin-admin-promotions NO translates */
.thl-p-users-admin-admin-promotions .ap-btn { border-color: transparent; }
.thl-p-users-admin-admin-promotions .ap-btn-cancel { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-promotions .ap-btn-cancel:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-promotions .ap-btn-details { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-admin-admin-promotions .ap-btn-details:hover { background: var(--info); color:var(--white); border-color: var(--info); }
.thl-p-users-admin-admin-promotions .ap-empty i { color:var(--border); }
.thl-p-users-admin-admin-promotions .ap-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-promotions .ap-empty p { color:var(--muted); }
.thl-p-users-admin-admin-promotions .ap-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-promotions .ap-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-promotions .ap-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-promotions .ap-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-pagination span.ellipsis { color:var(--muted); }
.thl-p-users-admin-admin-promotions .ap-plans-section-title { color:var(--ink); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-plan-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-plan-name { color:var(--ink); }
.thl-p-users-admin-admin-promotions .ap-plan-days { color:var(--muted); }
.thl-p-users-admin-admin-promotions .ap-plan-price { color:var(--ink); }
.thl-p-users-admin-admin-promotions .ap-plan-price-lbl { color:var(--muted); }
.thl-p-users-admin-admin-promotions .ap-plan-meta-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-promotions .ap-plan-meta-item i { color:var(--g); }
/* Plan edit button — ghost green */
.thl-p-users-admin-admin-promotions .ap-plan-edit-btn { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-promotions .ap-plan-edit-btn:hover { background: var(--g); color:var(--white); border-color: var(--g); }
/* MODALS — NO box-shadow, .thl-p-users-admin-admin-promotions z-index 99999 ✓ */
.thl-p-users-admin-admin-promotions .ap-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-promotions .ap-modal-sm { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-modal-title { color:var(--ink); }
.thl-p-users-admin-admin-promotions .ap-modal-sub { color:var(--muted); }
.thl-p-users-admin-admin-promotions .ap-fl label { color:var(--sub); }
.thl-p-users-admin-admin-promotions .ap-fl input, .thl-p-users-admin-admin-promotions .ap-fl select { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-promotions .ap-fl input:focus, .thl-p-users-admin-admin-promotions .ap-fl select:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-users-admin-admin-promotions .ap-fl input[readonly] { background: var(--surf); color:var(--muted); }
/* Modal buttons — ghost pattern */
.thl-p-users-admin-admin-promotions .ap-modal-btn { border-color: transparent; }
.thl-p-users-admin-admin-promotions .ap-modal-btn-save { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-promotions .ap-modal-btn-save:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-promotions .ap-modal-btn-cancel { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-modal-btn-cancel:hover { background: var(--surface2); color:var(--ink); border-color: var(--border-2); }
.thl-p-users-admin-admin-promotions .ap-modal-btn-danger { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-promotions .ap-modal-btn-danger:hover { background: var(--red); color:var(--white); border-color: var(--red); }
/* DETAIL ROWS */
.thl-p-users-admin-admin-promotions .ap-detail-row { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-detail-label { color:var(--muted); }
.thl-p-users-admin-admin-promotions .ap-detail-val { color:var(--ink); }
.thl-p-users-admin-admin-promotions .ap-detail-ref { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-priority-bar-wrap { background: var(--surf); }
.thl-p-users-admin-admin-promotions .ap-priority-bar { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-admin-admin-promotions .ap-toggle-row { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-promotions .ap-toggle-label { color:var(--sub); }
/* SELLER BANNER — NO box-shadow */
.thl-p-users-admin-admin-seller-calculator-projects .seller-banner { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .seller-av { border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-tab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-tab.active i { color:var(--g); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-tab.active .asv-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-select { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-select:focus { border-color: var(--g); }
/* TABLE CARD — Rule 6, .thl-p-users-admin-admin-seller-calculator-projects NO box-shadow */
.thl-p-users-admin-admin-seller-calculator-projects .asv-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-table tbody tr:hover { background: var(--surf); }
/* THUMBNAIL */
.thl-p-users-admin-admin-seller-calculator-projects .asd-thumb { border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-thumb-placeholder { background: var(--surf); border-color: var(--border); color:var(--muted); }
/* CELL TEXT */
.thl-p-users-admin-admin-seller-calculator-projects .asd-design-title { color:var(--ink); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-design-meta { color:var(--muted); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-seller-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-seller-name a { color:var(--ink); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-seller-name a:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-seller-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-price { color:var(--ink); }
/* FREE DOWNLOAD BADGE (new) */
.thl-p-users-admin-admin-seller-calculator-projects .asd-free-badge { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
/* ACTION BUTTONS — Rule 3: ghost pattern, .thl-p-users-admin-admin-seller-calculator-projects NO shadows, .thl-p-users-admin-admin-seller-calculator-projects NO translates */
.thl-p-users-admin-admin-seller-calculator-projects .asv-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-calculator-projects .asv-btn-details { background: rgba(var(--p-violet-3-rgb), 0.07); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-btn-details:hover { background: var(--purple); color:var(--white); border-color: var(--purple); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-btn-publish:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-calculator-projects .asv-btn-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-seller-calculator-projects .asp-empty i { color:var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .asp-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-seller-calculator-projects .asp-empty p { color:var(--muted); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-pagination span.ellipsis { color:var(--muted); }
/* MODALS — NO box-shadow, .thl-p-users-admin-admin-seller-calculator-projects z-index 9999 */
.thl-p-users-admin-admin-seller-calculator-projects .asd-fl label { color:var(--sub); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-fl select, .thl-p-users-admin-admin-seller-calculator-projects .asd-fl textarea { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-fl select:focus, .thl-p-users-admin-admin-seller-calculator-projects .asd-fl textarea:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
/* Modal buttons — ghost pattern */
/* Paid warn boxes */
.thl-p-users-admin-admin-seller-calculator-projects .asd-paid-warn { background: var(--red-lt); border-color: var(--red); color:var(--p-red-2); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-paid-warn .asd-pw-title { color:var(--error); }
.thl-p-users-admin-admin-seller-calculator-projects .asd-del-warn { background: var(--p-amber-7); border-color: var(--warn); color:var(--p-orange-2); }
/* PRE-EXISTING BUG, .thl-p-users-admin-admin-seller-calculator-projects repaired: this rule body had lost its selector, .thl-p-users-admin-admin-seller-calculator-projects so the

   modal panel was unstyled and every following rule in the block was

   swallowed by the browser's error recovery. Selector restored to match

   the sibling admin pages. */
.thl-p-users-admin-admin-seller-calculator-projects .adm-sec-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-sec-label::after { background: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-gallery-main { background: var(--ink-3); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.6); border-color: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.65); color:var(--white); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-thumb { border-color: transparent; }
.thl-p-users-admin-admin-seller-calculator-projects .adm-thumb.active { border-color: var(--g); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-info-cell-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-info-cell-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-info-cell-val.green { color:var(--ok); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-spec { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-spec i { color:var(--g); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-spec-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-spec-key { color:var(--muted); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-location-box i { color:var(--g); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-notes-box { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-notes-box.empty { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-link-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-link-item i { color:var(--g); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-link-item a { color:var(--info); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-seller-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-seller-row { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-seller-av { border-color: var(--g); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-seller-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-seller-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-seller-phone { color:var(--sub); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-seller-verified { color:var(--ok); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-stat-mini { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-stat-mini-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-stat-mini-lbl { color:var(--muted); }
/* Paid order alert in drawer */
.thl-p-users-admin-admin-seller-calculator-projects .adm-paid-alert { background: var(--red-lt); border-color: var(--red); color:var(--p-red-2); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-paid-alert-title { color:var(--error); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-qa-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-calculator-projects .adm-qa-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-qa-btn-publish:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-qa-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-qa-btn-del:hover { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-loading { color:var(--muted); }
/* LIGHTBOX */
.thl-p-users-admin-admin-seller-calculator-projects .adm-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-lb-title { color:rgba(var(--p-white-28-rgb), 0.6); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-lb-th { border-color: transparent; }
.thl-p-users-admin-admin-seller-calculator-projects .adm-lb-th.on { border-color: var(--g); }
/* SELLER BANNER — NO box-shadow */
.thl-p-users-admin-admin-seller-designs .seller-banner { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .seller-av { border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .asv-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .asv-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-designs .asv-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .asv-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .asv-tab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-seller-designs .asv-tab.active i { color:var(--g); }
.thl-p-users-admin-admin-seller-designs .asv-tab.active .asv-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-designs .asd-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .asd-select { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-seller-designs .asd-select:focus { border-color: var(--g); }
/* TABLE CARD — Rule 6, .thl-p-users-admin-admin-seller-designs NO box-shadow */
.thl-p-users-admin-admin-seller-designs .asv-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .asv-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-seller-designs .asv-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-designs .asv-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .asv-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .asv-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .asv-table tbody tr:hover { background: var(--surf); }
/* THUMBNAIL */
.thl-p-users-admin-admin-seller-designs .asd-thumb { border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .asd-thumb-placeholder { background: var(--surf); border-color: var(--border); color:var(--muted); }
/* CELL TEXT */
.thl-p-users-admin-admin-seller-designs .asd-design-title { color:var(--ink); }
.thl-p-users-admin-admin-seller-designs .asd-design-meta { color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .asd-seller-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-designs .asd-seller-name a { color:var(--ink); }
.thl-p-users-admin-admin-seller-designs .asd-seller-name a:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-seller-designs .asd-seller-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .asd-price { color:var(--ink); }
/* FREE DOWNLOAD BADGE (new) */
.thl-p-users-admin-admin-seller-designs .asd-free-badge { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
/* ACTION BUTTONS — Rule 3: ghost pattern, .thl-p-users-admin-admin-seller-designs NO shadows, .thl-p-users-admin-admin-seller-designs NO translates */
.thl-p-users-admin-admin-seller-designs .asv-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-designs .asv-btn-details { background: rgba(var(--p-violet-3-rgb), 0.07); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-seller-designs .asv-btn-details:hover { background: var(--purple); color:var(--white); border-color: var(--purple); }
.thl-p-users-admin-admin-seller-designs .asv-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-designs .asv-btn-publish:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-designs .asv-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-designs .asv-btn-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-seller-designs .asp-empty i { color:var(--border); }
.thl-p-users-admin-admin-seller-designs .asp-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-seller-designs .asp-empty p { color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .asd-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .asd-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-seller-designs .asd-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-designs .asd-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-seller-designs .asd-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .asd-pagination span.ellipsis { color:var(--muted); }
/* MODALS — NO box-shadow, .thl-p-users-admin-admin-seller-designs z-index 9999 */
.thl-p-users-admin-admin-seller-designs .asd-fl label { color:var(--sub); }
.thl-p-users-admin-admin-seller-designs .asd-fl select, .thl-p-users-admin-admin-seller-designs .asd-fl textarea { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-seller-designs .asd-fl select:focus, .thl-p-users-admin-admin-seller-designs .asd-fl textarea:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
/* Modal buttons — ghost pattern */
/* Paid warn boxes */
.thl-p-users-admin-admin-seller-designs .asd-paid-warn { background: var(--red-lt); border-color: var(--red); color:var(--p-red-2); }
.thl-p-users-admin-admin-seller-designs .asd-paid-warn .asd-pw-title { color:var(--error); }
.thl-p-users-admin-admin-seller-designs .asd-del-warn { background: var(--p-amber-7); border-color: var(--warn); color:var(--p-orange-2); }
/* DETAIL MODAL — NO box-shadow */
.thl-p-users-admin-admin-seller-designs .adm-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-seller-designs .adm-dm-header-left h2 { color:var(--ink); }
.thl-p-users-admin-admin-seller-designs .adm-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .adm-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-admin-admin-seller-designs .adm-dm-left { border-right-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .adm-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-designs .adm-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-designs .adm-sec-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .adm-sec-label::after { background: var(--border); }
.thl-p-users-admin-admin-seller-designs .adm-gallery-main { background: var(--ink-3); }
.thl-p-users-admin-admin-seller-designs .adm-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.6); border-color: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-designs .adm-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-admin-admin-seller-designs .adm-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.65); color:var(--white); }
.thl-p-users-admin-admin-seller-designs .adm-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .adm-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-designs .adm-thumb { border-color: transparent; }
.thl-p-users-admin-admin-seller-designs .adm-thumb.active { border-color: var(--g); }
.thl-p-users-admin-admin-seller-designs .adm-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .adm-info-cell-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .adm-info-cell-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-designs .adm-info-cell-val.green { color:var(--ok); }
.thl-p-users-admin-admin-seller-designs .adm-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .adm-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-designs .adm-spec { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .adm-spec i { color:var(--g); }
.thl-p-users-admin-admin-seller-designs .adm-spec-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-designs .adm-spec-key { color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .adm-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-seller-designs .adm-location-box i { color:var(--g); }
.thl-p-users-admin-admin-seller-designs .adm-notes-box { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-admin-admin-seller-designs .adm-notes-box.empty { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .adm-link-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-seller-designs .adm-link-item i { color:var(--g); }
.thl-p-users-admin-admin-seller-designs .adm-link-item a { color:var(--info); }
.thl-p-users-admin-admin-seller-designs .adm-seller-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .adm-seller-row { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .adm-seller-av { border-color: var(--g); }
.thl-p-users-admin-admin-seller-designs .adm-seller-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-designs .adm-seller-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-designs .adm-seller-phone { color:var(--sub); }
.thl-p-users-admin-admin-seller-designs .adm-seller-verified { color:var(--ok); }
.thl-p-users-admin-admin-seller-designs .adm-stat-mini { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-designs .adm-stat-mini-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-designs .adm-stat-mini-lbl { color:var(--muted); }
/* Paid order alert in drawer */
.thl-p-users-admin-admin-seller-designs .adm-paid-alert { background: var(--red-lt); border-color: var(--red); color:var(--p-red-2); }
.thl-p-users-admin-admin-seller-designs .adm-paid-alert-title { color:var(--error); }
.thl-p-users-admin-admin-seller-designs .adm-qa-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-designs .adm-qa-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-designs .adm-qa-btn-publish:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-seller-designs .adm-qa-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-designs .adm-qa-btn-del:hover { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-seller-designs .adm-loading { color:var(--muted); }
/* LIGHTBOX */
.thl-p-users-admin-admin-seller-designs .adm-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-admin-admin-seller-designs .adm-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-admin-admin-seller-designs .adm-lb-title { color:rgba(var(--p-white-28-rgb), 0.6); }
.thl-p-users-admin-admin-seller-designs .adm-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-admin-admin-seller-designs .adm-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-admin-admin-seller-designs .adm-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-designs .adm-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-admin-admin-seller-designs .adm-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-designs .adm-lb-th { border-color: transparent; }
.thl-p-users-admin-admin-seller-designs .adm-lb-th.on { border-color: var(--g); }
.thl-p-users-admin-admin-seller-designs .adm-dm-right { border-top-color: var(--border); }
/* ALERTS */
.thl-p-users-admin-admin-seller-essentials .ase-alert-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-users-admin-admin-seller-essentials .ase-alert-err { background: var(--red-lt); border-color: var(--red); color:var(--error); }
/* SELLER BANNER — Rule 1: NO box-shadow, .thl-p-users-admin-admin-seller-essentials Rule 6: border only */
.thl-p-users-admin-admin-seller-essentials .seller-banner { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .seller-av { border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-essentials .ase-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .ase-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-tab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-seller-essentials .ase-tab.active i { color:var(--g); }
.thl-p-users-admin-admin-seller-essentials .ase-tab.active .ase-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-essentials .ase-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .ase-select { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-seller-essentials .ase-select:focus { border-color: var(--g); }
/* Rule 3: Ghost button — red variant for clear */

/* TABLE CARD — Rule 6: border only, .thl-p-users-admin-admin-seller-essentials NO box-shadow */
.thl-p-users-admin-admin-seller-essentials .ase-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-seller-essentials .ase-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .ase-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-table tbody tr:hover { background: var(--surf); }
/* THUMBNAIL */
.thl-p-users-admin-admin-seller-essentials .ase-thumb { border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-thumb-placeholder { background: var(--surf); border-color: var(--border); color:var(--muted); }
/* CELL TEXT */
.thl-p-users-admin-admin-seller-essentials .ase-ess-title { color:var(--ink); }
.thl-p-users-admin-admin-seller-essentials .ase-ess-meta { color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .ase-seller-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-essentials .ase-seller-name a { color:var(--ink); }
.thl-p-users-admin-admin-seller-essentials .ase-seller-name a:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-seller-essentials .ase-seller-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .ase-price { color:var(--ink); }
.thl-p-users-admin-admin-seller-essentials .ase-badge-muted { background: var(--surface2); color:var(--muted); border-color: var(--border); }
/* ACTION BUTTONS — Rule 3: ghost pattern, .thl-p-users-admin-admin-seller-essentials NO box-shadow, .thl-p-users-admin-admin-seller-essentials NO transform translates, .thl-p-users-admin-admin-seller-essentials NO transition:all */
.thl-p-users-admin-admin-seller-essentials .ase-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-essentials .ase-btn-details { background: rgba(var(--p-violet-3-rgb), 0.07); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-seller-essentials .ase-btn-details:hover { background: var(--purple); color:var(--white); border-color: var(--purple); }
.thl-p-users-admin-admin-seller-essentials .ase-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-essentials .ase-btn-publish:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-essentials .ase-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-essentials .ase-btn-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-seller-essentials .ase-empty i { color:var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-seller-essentials .ase-empty p { color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .ase-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-seller-essentials .ase-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-essentials .ase-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-seller-essentials .ase-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-pagination span.ellipsis { color:var(--muted); }
/* MODALS — Rule: z-index 9999, .thl-p-users-admin-admin-seller-essentials border, .thl-p-users-admin-admin-seller-essentials NO box-shadow */
.thl-p-users-admin-admin-seller-essentials .ase-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-seller-essentials .ase-del-modal { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-modal-title { color:var(--ink); }
.thl-p-users-admin-admin-seller-essentials .ase-modal-sub { color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .ase-fl label { color:var(--sub); }
.thl-p-users-admin-admin-seller-essentials .ase-fl select, .thl-p-users-admin-admin-seller-essentials .ase-fl textarea { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-seller-essentials .ase-fl select:focus, .thl-p-users-admin-admin-seller-essentials .ase-fl textarea:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
/* Modal buttons — Rule 3: ghost pattern, .thl-p-users-admin-admin-seller-essentials NO onmouseover inline hacks */
.thl-p-users-admin-admin-seller-essentials .ase-modal-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-essentials .ase-modal-btn-save { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-essentials .ase-modal-btn-save:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-seller-essentials .ase-modal-btn-cancel { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .ase-modal-btn-cancel:hover { background: var(--surface2); color:var(--ink); border-color: var(--border-2); }
.thl-p-users-admin-admin-seller-essentials .ase-modal-btn-danger { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-essentials .ase-modal-btn-danger:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-seller-essentials .ase-modal-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-essentials .ase-modal-btn-publish:hover { background: var(--g); color:var(--white); border-color: var(--g); }
/* DETAIL MODAL — Rule: z-index 9999, .thl-p-users-admin-admin-seller-essentials border, .thl-p-users-admin-admin-seller-essentials NO box-shadow */
.thl-p-users-admin-admin-seller-essentials .adm-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-seller-essentials .adm-dm-header-left h2 { color:var(--ink); }
.thl-p-users-admin-admin-seller-essentials .adm-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .adm-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-admin-admin-seller-essentials .adm-dm-left { border-right-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .adm-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-essentials .adm-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-essentials .adm-sec-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .adm-sec-label::after { background: var(--border); }
.thl-p-users-admin-admin-seller-essentials .adm-gallery-main { background: var(--ink-3); }
.thl-p-users-admin-admin-seller-essentials .adm-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.6); border-color: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-essentials .adm-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-admin-admin-seller-essentials .adm-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.65); color:var(--white); }
.thl-p-users-admin-admin-seller-essentials .adm-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .adm-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-essentials .adm-thumb { border-color: transparent; }
.thl-p-users-admin-admin-seller-essentials .adm-thumb.active { border-color: var(--g); }
.thl-p-users-admin-admin-seller-essentials .adm-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .adm-info-cell-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .adm-info-cell-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-essentials .adm-info-cell-val.green { color:var(--ok); }
.thl-p-users-admin-admin-seller-essentials .adm-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .adm-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-essentials .adm-spec { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .adm-spec i { color:var(--g); }
.thl-p-users-admin-admin-seller-essentials .adm-spec-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-essentials .adm-spec-key { color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .adm-notes-box { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-admin-admin-seller-essentials .adm-notes-box.empty { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .adm-link-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-seller-essentials .adm-link-item a { color:var(--info); }
.thl-p-users-admin-admin-seller-essentials .adm-link-item i { color:var(--g); }
.thl-p-users-admin-admin-seller-essentials .adm-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-seller-essentials .adm-location-box i { color:var(--g); }
.thl-p-users-admin-admin-seller-essentials .adm-seller-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .adm-seller-row { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .adm-seller-av { border-color: var(--g); }
.thl-p-users-admin-admin-seller-essentials .adm-seller-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-essentials .adm-seller-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .adm-seller-phone { color:var(--sub); }
.thl-p-users-admin-admin-seller-essentials .adm-seller-verified { color:var(--ok); }
.thl-p-users-admin-admin-seller-essentials .adm-stat-mini { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-essentials .adm-stat-mini-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-essentials .adm-stat-mini-lbl { color:var(--muted); }
.thl-p-users-admin-admin-seller-essentials .adm-qa-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-essentials .adm-qa-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-essentials .adm-qa-btn-publish:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-seller-essentials .adm-qa-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-essentials .adm-qa-btn-del:hover { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-seller-essentials .adm-loading { color:var(--muted); }
/* LIGHTBOX — z-index 10000 */
.thl-p-users-admin-admin-seller-essentials .adm-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-admin-admin-seller-essentials .adm-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-admin-admin-seller-essentials .adm-lb-title { color:rgba(var(--p-white-28-rgb), 0.6); }
.thl-p-users-admin-admin-seller-essentials .adm-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-admin-admin-seller-essentials .adm-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-admin-admin-seller-essentials .adm-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-essentials .adm-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-admin-admin-seller-essentials .adm-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-essentials .adm-lb-th { border-color: transparent; }
.thl-p-users-admin-admin-seller-essentials .adm-lb-th.on { border-color: var(--g); }
.thl-p-users-admin-admin-seller-essentials .adm-dm-right { border-top-color: var(--border); }
/* ALERTS */
.thl-p-users-admin-admin-seller-freelance .asf-alert-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-users-admin-admin-seller-freelance .asf-alert-err { background: var(--red-lt); border-color: var(--red); color:var(--error); }
/* ── MAIN NAV TABS — page-level navigation keeps underline style ── */
.thl-p-users-admin-admin-seller-freelance .mnt-tab.active { color:var(--g-dk); border-bottom-color: var(--g); background: var(--g-lt); }
.thl-p-users-admin-admin-seller-freelance .mnt-count { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .mnt-tab.active .mnt-count { background: var(--g); color:var(--white); border-color: var(--g); }
/* POSTER BANNER — Rule 1: NO box-shadow, .thl-p-users-admin-admin-seller-freelance Rule 6: border only */
.thl-p-users-admin-admin-seller-freelance .poster-banner { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .poster-av { border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .asf-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .asf-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-tab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-seller-freelance .asf-tab.active i { color:var(--g); }
.thl-p-users-admin-admin-seller-freelance .asf-tab.active .asf-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-freelance .asf-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .asf-select { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-seller-freelance .asf-select:focus { border-color: var(--g); }
/* Rule 3: Ghost button — red variant for clear */

/* TABLE CARD — Rule 6: border only, .thl-p-users-admin-admin-seller-freelance NO box-shadow */
.thl-p-users-admin-admin-seller-freelance .asf-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .asf-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-table tbody tr:hover { background: var(--surf); }
/* THUMBNAIL */
.thl-p-users-admin-admin-seller-freelance .asf-thumb { border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-thumb-placeholder { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .asf-avatar { border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-avatar-fallback { background: var(--g-lt); color:var(--g-dk); }
/* CELL TEXT */
.thl-p-users-admin-admin-seller-freelance .asf-job-title { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .asf-job-meta { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .asf-person-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .asf-person-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .asf-budget { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .asf-budget-sub { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .asf-ref { color:var(--muted); }
/* POSTER NAME LINK */
.thl-p-users-admin-admin-seller-freelance .asf-poster-link { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .asf-poster-link:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-seller-freelance .asf-badge-muted { background: var(--surface2); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-badge-orange { background: var(--p-orange-29); color:var(--orange); border-color: var(--warn); }
/* ACTION BUTTONS — Rule 3: ghost pattern, .thl-p-users-admin-admin-seller-freelance NO box-shadow, .thl-p-users-admin-admin-seller-freelance NO transform translateY, .thl-p-users-admin-admin-seller-freelance NO transition:all */
.thl-p-users-admin-admin-seller-freelance .asf-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-freelance .asf-btn-details { background: rgba(var(--p-violet-3-rgb), 0.07); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-seller-freelance .asf-btn-details:hover { background: var(--purple); color:var(--white); border-color: var(--purple); }
.thl-p-users-admin-admin-seller-freelance .asf-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-freelance .asf-btn-publish:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-freelance .asf-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-freelance .asf-btn-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-seller-freelance .asf-btn-orange { background: rgba(var(--p-orange-12-rgb), 0.07); color:var(--orange); border-color: var(--warn); }
.thl-p-users-admin-admin-seller-freelance .asf-btn-orange:hover { background: var(--orange); color:var(--white); border-color: var(--orange); }
.thl-p-users-admin-admin-seller-freelance .asf-btn-teal { background: rgba(var(--p-teal-1-rgb), 0.07); color:var(--teal); border-color: var(--g); }
.thl-p-users-admin-admin-seller-freelance .asf-btn-teal:hover { background: var(--teal); color:var(--white); border-color: var(--teal); }
/* BID COVER LETTER */
.thl-p-users-admin-admin-seller-freelance .bid-cover { color:var(--sub); background: var(--surf); }
/* MODALS — Rule: z-index 9999, .thl-p-users-admin-admin-seller-freelance border, .thl-p-users-admin-admin-seller-freelance NO box-shadow */
.thl-p-users-admin-admin-seller-freelance .asf-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-seller-freelance .asf-del-modal { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-modal-title { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .asf-modal-sub { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .asf-fl label { color:var(--sub); }
.thl-p-users-admin-admin-seller-freelance .asf-fl select, .thl-p-users-admin-admin-seller-freelance .asf-fl textarea, .thl-p-users-admin-admin-seller-freelance .asf-fl input[type=text] { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-seller-freelance .asf-fl select:focus, .thl-p-users-admin-admin-seller-freelance .asf-fl textarea:focus, .thl-p-users-admin-admin-seller-freelance .asf-fl input[type=text]:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
/* Modal buttons — Rule 3: ghost pattern, .thl-p-users-admin-admin-seller-freelance NO onmouseover inline hacks */
.thl-p-users-admin-admin-seller-freelance .asf-modal-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-freelance .asf-modal-btn-save { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-freelance .asf-modal-btn-save:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-seller-freelance .asf-modal-btn-orange { background: rgba(var(--p-orange-12-rgb), 0.07); color:var(--orange); border-color: var(--warn); }
.thl-p-users-admin-admin-seller-freelance .asf-modal-btn-orange:hover { background: var(--orange); color:var(--white); border-color: var(--orange); }
.thl-p-users-admin-admin-seller-freelance .asf-modal-btn-teal { background: rgba(var(--p-teal-1-rgb), 0.07); color:var(--teal); border-color: var(--g); }
.thl-p-users-admin-admin-seller-freelance .asf-modal-btn-teal:hover { background: var(--teal); color:var(--white); border-color: var(--teal); }
.thl-p-users-admin-admin-seller-freelance .asf-modal-btn-cancel { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-modal-btn-cancel:hover { background: var(--surface2); color:var(--ink); border-color: var(--border-2); }
.thl-p-users-admin-admin-seller-freelance .asf-modal-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-freelance .asf-modal-btn-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-seller-freelance .asf-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-seller-freelance .asf-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-freelance .asf-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-seller-freelance .asf-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-pagination span.ellipsis { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .asf-empty i { color:var(--border); }
.thl-p-users-admin-admin-seller-freelance .asf-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .asf-empty p { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .ord-gross { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .ord-split { color:var(--muted); }
/* DETAIL MODAL — Rule: z-index 9999, .thl-p-users-admin-admin-seller-freelance border, .thl-p-users-admin-admin-seller-freelance NO box-shadow */
.thl-p-users-admin-admin-seller-freelance .adm-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-seller-freelance .adm-dm-header-left h2 { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .adm-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .adm-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-admin-admin-seller-freelance .adm-dm-left { border-right-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-sec-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .adm-sec-label::after { background: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-gallery-main { background: var(--ink-3); }
.thl-p-users-admin-admin-seller-freelance .adm-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.6); border-color: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-freelance .adm-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-admin-admin-seller-freelance .adm-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.65); color:var(--white); }
.thl-p-users-admin-admin-seller-freelance .adm-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .adm-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-thumb { border-color: transparent; }
.thl-p-users-admin-admin-seller-freelance .adm-thumb.active { border-color: var(--g); }
.thl-p-users-admin-admin-seller-freelance .adm-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-info-cell-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .adm-info-cell-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .adm-info-cell-val.green { color:var(--ok); }
.thl-p-users-admin-admin-seller-freelance .adm-info-cell-val.blue { color:var(--info); }
.thl-p-users-admin-admin-seller-freelance .adm-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-cf-row { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-cf-key { color:var(--sub); }
.thl-p-users-admin-admin-seller-freelance .adm-cf-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .adm-att-file { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-att-file-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .adm-att-file-sub { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .adm-att-link { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-att-link i { color:var(--g); }
.thl-p-users-admin-admin-seller-freelance .adm-att-link a { color:var(--info); }
.thl-p-users-admin-admin-seller-freelance .adm-notes-box { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-admin-admin-seller-freelance .adm-notes-box.empty { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .adm-poster-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-poster-row { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-poster-av { border-color: var(--g); }
.thl-p-users-admin-admin-seller-freelance .adm-poster-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .adm-poster-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .adm-poster-phone { color:var(--sub); }
.thl-p-users-admin-admin-seller-freelance .adm-stat-mini { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-freelance .adm-stat-mini-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-freelance .adm-stat-mini-lbl { color:var(--muted); }
.thl-p-users-admin-admin-seller-freelance .adm-qa-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-freelance .adm-qa-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-freelance .adm-qa-btn-publish:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-seller-freelance .adm-qa-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-freelance .adm-qa-btn-del:hover { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-seller-freelance .adm-loading { color:var(--muted); }
/* LIGHTBOX — z-index 10000 */
.thl-p-users-admin-admin-seller-freelance .adm-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-admin-admin-seller-freelance .adm-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-admin-admin-seller-freelance .adm-lb-title { color:rgba(var(--p-white-28-rgb), 0.6); }
.thl-p-users-admin-admin-seller-freelance .adm-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-admin-admin-seller-freelance .adm-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-admin-admin-seller-freelance .adm-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-freelance .adm-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-admin-admin-seller-freelance .adm-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-freelance .adm-lb-th { border-color: transparent; }
.thl-p-users-admin-admin-seller-freelance .adm-lb-th.on { border-color: var(--g); }
.thl-p-users-admin-admin-seller-freelance .adm-dm-right { border-top-color: var(--border); }
/* SELLER BANNER — Rule 1: NO box-shadow, .thl-p-users-admin-admin-seller-professions Rule 6: border only */
.thl-p-users-admin-admin-seller-professions .seller-banner { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .seller-av { border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .asp-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .asp-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-professions .asp-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .asp-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .asp-tab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-seller-professions .asp-tab.active i { color:var(--g); }
.thl-p-users-admin-admin-seller-professions .asp-tab.active .asp-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-professions .asp-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .asp-select { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-seller-professions .asp-select:focus { border-color: var(--g); }
/* Rule 3: Ghost button — red variant for clear */

/* TABLE CARD — Rule 6: border only, .thl-p-users-admin-admin-seller-professions NO box-shadow */
.thl-p-users-admin-admin-seller-professions .asp-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .asp-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-seller-professions .asp-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-professions .asp-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .asp-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .asp-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .asp-table tbody tr:hover { background: var(--surf); }
/* THUMBNAIL */
.thl-p-users-admin-admin-seller-professions .asp-thumb { border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .asp-thumb-placeholder { background: var(--surf); border-color: var(--border); color:var(--muted); }
/* CELL TEXT */
.thl-p-users-admin-admin-seller-professions .asp-prop-title { color:var(--ink); }
.thl-p-users-admin-admin-seller-professions .asp-prop-meta { color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .asp-seller-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-professions .asp-seller-name a { color:var(--ink); }
.thl-p-users-admin-admin-seller-professions .asp-seller-name a:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-seller-professions .asp-seller-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .asp-rate { color:var(--ink); }
.thl-p-users-admin-admin-seller-professions .asp-rate-sub { color:var(--muted); }
/* ACTION BUTTONS — Rule 3: ghost pattern, .thl-p-users-admin-admin-seller-professions NO box-shadow, .thl-p-users-admin-admin-seller-professions NO translateY, .thl-p-users-admin-admin-seller-professions NO transition:all */
.thl-p-users-admin-admin-seller-professions .asp-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-professions .asp-btn-details { background: rgba(var(--p-violet-3-rgb), 0.07); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-seller-professions .asp-btn-details:hover { background: var(--purple); color:var(--white); border-color: var(--purple); }
.thl-p-users-admin-admin-seller-professions .asp-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-professions .asp-btn-publish:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-professions .asp-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-professions .asp-btn-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-seller-professions .asp-empty i { color:var(--border); }
.thl-p-users-admin-admin-seller-professions .asp-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-seller-professions .asp-empty p { color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .aspr-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .aspr-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-seller-professions .aspr-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-professions .aspr-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-seller-professions .aspr-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .aspr-pagination span.ellipsis { color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .asp-del-modal { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .asp-modal-sub { color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .asp-fl label { color:var(--sub); }
.thl-p-users-admin-admin-seller-professions .asp-fl select, .thl-p-users-admin-admin-seller-professions .asp-fl textarea { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-seller-professions .asp-fl select:focus, .thl-p-users-admin-admin-seller-professions .asp-fl textarea:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
/* Modal buttons — Rule 3: ghost pattern, .thl-p-users-admin-admin-seller-professions NO onmouseover inline hacks */
.thl-p-users-admin-admin-seller-professions .asp-modal-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-professions .asp-modal-btn-save { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-professions .asp-modal-btn-cancel { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .asp-modal-btn-danger { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
/* DETAIL MODAL — Rule: z-index 9999, .thl-p-users-admin-admin-seller-professions border, .thl-p-users-admin-admin-seller-professions NO box-shadow */
.thl-p-users-admin-admin-seller-professions .adm-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-seller-professions .adm-dm-header-left h2 { color:var(--ink); }
.thl-p-users-admin-admin-seller-professions .adm-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .adm-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-admin-admin-seller-professions .adm-dm-left { border-right-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .adm-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-professions .adm-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-professions .adm-sec-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .adm-sec-label::after { background: var(--border); }
.thl-p-users-admin-admin-seller-professions .adm-gallery-main { background: var(--ink-3); }
.thl-p-users-admin-admin-seller-professions .adm-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.6); border-color: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-professions .adm-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-admin-admin-seller-professions .adm-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.65); color:var(--white); }
.thl-p-users-admin-admin-seller-professions .adm-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .adm-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-professions .adm-thumb { border-color: transparent; }
.thl-p-users-admin-admin-seller-professions .adm-thumb.active { border-color: var(--g); }
.thl-p-users-admin-admin-seller-professions .adm-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .adm-info-cell-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .adm-info-cell-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-professions .adm-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .adm-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-professions .adm-spec { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .adm-spec i { color:var(--g); }
.thl-p-users-admin-admin-seller-professions .adm-spec-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-professions .adm-spec-key { color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .adm-notes-box { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-admin-admin-seller-professions .adm-notes-box.empty { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .adm-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-seller-professions .adm-location-box i { color:var(--g); }
.thl-p-users-admin-admin-seller-professions .adm-seller-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .adm-seller-row { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-professions .adm-seller-av { border-color: var(--g); }
.thl-p-users-admin-admin-seller-professions .adm-seller-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-professions .adm-seller-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-professions .adm-seller-phone { color:var(--sub); }
.thl-p-users-admin-admin-seller-professions .adm-seller-verified { color:var(--ok); }
.thl-p-users-admin-admin-seller-professions .adm-qa-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-professions .adm-qa-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-professions .adm-qa-btn-publish:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-seller-professions .adm-qa-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-professions .adm-qa-btn-del:hover { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-seller-professions .adm-loading { color:var(--muted); }
/* LIGHTBOX — z-index 10000 */
.thl-p-users-admin-admin-seller-professions .adm-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-admin-admin-seller-professions .adm-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-admin-admin-seller-professions .adm-lb-title { color:rgba(var(--p-white-28-rgb), 0.6); }
.thl-p-users-admin-admin-seller-professions .adm-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-admin-admin-seller-professions .adm-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-admin-admin-seller-professions .adm-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-professions .adm-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-admin-admin-seller-professions .adm-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-professions .adm-lb-th { border-color: transparent; }
.thl-p-users-admin-admin-seller-professions .adm-lb-th.on { border-color: var(--g); }
.thl-p-users-admin-admin-seller-professions .adm-dm-right { border-top-color: var(--border); }
/* SELLER BANNER — Rule 1: NO box-shadow, .thl-p-users-admin-admin-seller-properties Rule 6: border only */
.thl-p-users-admin-admin-seller-properties .seller-banner { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .seller-av { border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-properties .asp-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .asp-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-tab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-seller-properties .asp-tab.active i { color:var(--g); }
.thl-p-users-admin-admin-seller-properties .asp-tab.active .asp-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-properties .asp-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .asp-select { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-seller-properties .asp-select:focus { border-color: var(--g); }
/* Rule 3: Ghost button — red variant for clear */

/* TABLE CARD — Rule 6: border only, .thl-p-users-admin-admin-seller-properties NO box-shadow */
.thl-p-users-admin-admin-seller-properties .asp-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-seller-properties .asp-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .asp-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-table tbody tr:hover { background: var(--surf); }
/* THUMBNAIL */
.thl-p-users-admin-admin-seller-properties .asp-thumb { border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-thumb-placeholder { background: var(--surf); border-color: var(--border); color:var(--muted); }
/* CELL TEXT */
.thl-p-users-admin-admin-seller-properties .asp-prop-title { color:var(--ink); }
.thl-p-users-admin-admin-seller-properties .asp-prop-meta { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .asp-seller-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-properties .asp-seller-name a { color:var(--ink); }
.thl-p-users-admin-admin-seller-properties .asp-seller-name a:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-seller-properties .asp-seller-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .asp-price { color:var(--ink); }
.thl-p-users-admin-admin-seller-properties .asp-price-sub { color:var(--muted); }
/* ACTION BUTTONS — Rule 3: ghost pattern, .thl-p-users-admin-admin-seller-properties NO box-shadow, .thl-p-users-admin-admin-seller-properties NO translateY, .thl-p-users-admin-admin-seller-properties NO transition:all */
.thl-p-users-admin-admin-seller-properties .asp-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-properties .asp-btn-details { background: rgba(var(--p-violet-3-rgb), 0.07); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-seller-properties .asp-btn-details:hover { background: var(--purple); color:var(--white); border-color: var(--purple); }
.thl-p-users-admin-admin-seller-properties .asp-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-properties .asp-btn-publish:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-properties .asp-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-properties .asp-btn-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-seller-properties .asp-empty i { color:var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-seller-properties .asp-empty p { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .asp-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-seller-properties .asp-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-properties .asp-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-seller-properties .asp-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-pagination span.ellipsis { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .asp-del-modal { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-modal-sub { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .asp-fl label { color:var(--sub); }
.thl-p-users-admin-admin-seller-properties .asp-fl select, .thl-p-users-admin-admin-seller-properties .asp-fl textarea { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-seller-properties .asp-fl select:focus, .thl-p-users-admin-admin-seller-properties .asp-fl textarea:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
/* Modal buttons — Rule 3: ghost pattern, .thl-p-users-admin-admin-seller-properties NO onmouseover inline hacks */
.thl-p-users-admin-admin-seller-properties .asp-modal-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-properties .asp-modal-btn-save { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-properties .asp-modal-btn-cancel { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .asp-modal-btn-danger { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
/* DETAIL MODAL — Rule: z-index 9999, .thl-p-users-admin-admin-seller-properties border, .thl-p-users-admin-admin-seller-properties NO box-shadow */
.thl-p-users-admin-admin-seller-properties .adm-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-seller-properties .adm-dm-header-left h2 { color:var(--ink); }
.thl-p-users-admin-admin-seller-properties .adm-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .adm-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-admin-admin-seller-properties .adm-dm-left { border-right-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .adm-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-properties .adm-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-properties .adm-sec-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .adm-sec-label::after { background: var(--border); }
.thl-p-users-admin-admin-seller-properties .adm-gallery-main { background: var(--ink-3); }
.thl-p-users-admin-admin-seller-properties .adm-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.6); border-color: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-properties .adm-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-admin-admin-seller-properties .adm-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.65); color:var(--white); }
.thl-p-users-admin-admin-seller-properties .adm-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .adm-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-properties .adm-thumb { border-color: transparent; }
.thl-p-users-admin-admin-seller-properties .adm-thumb.active { border-color: var(--g); }
.thl-p-users-admin-admin-seller-properties .adm-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .adm-info-cell-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .adm-info-cell-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-properties .adm-info-cell-val.green { color:var(--ok); }
.thl-p-users-admin-admin-seller-properties .adm-info-cell-val.red { color:var(--red); }
.thl-p-users-admin-admin-seller-properties .adm-info-cell-val.blue { color:var(--info); }
.thl-p-users-admin-admin-seller-properties .adm-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .adm-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-properties .adm-spec { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .adm-spec i { color:var(--g); }
.thl-p-users-admin-admin-seller-properties .adm-spec-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-properties .adm-spec-key { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .adm-notes-box { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-admin-admin-seller-properties .adm-notes-box.empty { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .adm-link-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-seller-properties .adm-link-item a { color:var(--info); }
.thl-p-users-admin-admin-seller-properties .adm-link-item i { color:var(--g); }
.thl-p-users-admin-admin-seller-properties .adm-seller-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .adm-seller-row { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .adm-seller-av { border-color: var(--g); }
.thl-p-users-admin-admin-seller-properties .adm-seller-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-properties .adm-seller-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .adm-seller-phone { color:var(--sub); }
.thl-p-users-admin-admin-seller-properties .adm-seller-verified { color:var(--ok); }
.thl-p-users-admin-admin-seller-properties .adm-stat-mini { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-properties .adm-stat-mini-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-properties .adm-stat-mini-lbl { color:var(--muted); }
.thl-p-users-admin-admin-seller-properties .adm-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-seller-properties .adm-location-box i { color:var(--g); }
.thl-p-users-admin-admin-seller-properties .adm-rules-box { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-admin-admin-seller-properties .adm-contact-email { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-seller-properties .adm-contact-email i { color:var(--g); }
.thl-p-users-admin-admin-seller-properties .adm-qa-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-properties .adm-qa-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-properties .adm-qa-btn-publish:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-seller-properties .adm-qa-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-properties .adm-qa-btn-del:hover { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-seller-properties .adm-loading { color:var(--muted); }
/* LIGHTBOX — z-index 10000 */
.thl-p-users-admin-admin-seller-properties .adm-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-admin-admin-seller-properties .adm-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-admin-admin-seller-properties .adm-lb-title { color:rgba(var(--p-white-28-rgb), 0.6); }
.thl-p-users-admin-admin-seller-properties .adm-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-admin-admin-seller-properties .adm-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-admin-admin-seller-properties .adm-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-properties .adm-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-admin-admin-seller-properties .adm-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-properties .adm-lb-th { border-color: transparent; }
.thl-p-users-admin-admin-seller-properties .adm-lb-th.on { border-color: var(--g); }
.thl-p-users-admin-admin-seller-properties .adm-dm-right { border-top-color: var(--border); }
/* ALERTS */
.thl-p-users-admin-admin-seller-supplies .ass-alert-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-users-admin-admin-seller-supplies .ass-alert-err { background: var(--red-lt); border-color: var(--red); color:var(--error); }
/* SELLER BANNER — Rule 1: NO box-shadow, .thl-p-users-admin-admin-seller-supplies Rule 6: border only */
.thl-p-users-admin-admin-seller-supplies .seller-banner { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .seller-av { border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-supplies .ass-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .ass-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-tab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-seller-supplies .ass-tab.active i { color:var(--g); }
.thl-p-users-admin-admin-seller-supplies .ass-tab.active .ass-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-supplies .ass-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .ass-select { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-seller-supplies .ass-select:focus { border-color: var(--g); }
/* Rule 3: Ghost button — red variant for clear */

/* TABLE CARD — Rule 6: border only, .thl-p-users-admin-admin-seller-supplies NO box-shadow */
.thl-p-users-admin-admin-seller-supplies .ass-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .ass-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-table tbody tr:hover { background: var(--surf); }
/* THUMBNAIL */
.thl-p-users-admin-admin-seller-supplies .ass-thumb { border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-thumb-placeholder { background: var(--surf); border-color: var(--border); color:var(--muted); }
/* CELL TEXT */
.thl-p-users-admin-admin-seller-supplies .ass-prop-title { color:var(--ink); }
.thl-p-users-admin-admin-seller-supplies .ass-prop-meta { color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .ass-seller-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-supplies .ass-seller-name a { color:var(--ink); }
.thl-p-users-admin-admin-seller-supplies .ass-seller-name a:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-seller-supplies .ass-seller-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .ass-price { color:var(--ink); }
.thl-p-users-admin-admin-seller-supplies .ass-badge-muted { background: var(--surface2); color:var(--muted); border-color: var(--border); }
/* ACTION BUTTONS — Rule 3: ghost pattern, .thl-p-users-admin-admin-seller-supplies NO box-shadow, .thl-p-users-admin-admin-seller-supplies NO translateY, .thl-p-users-admin-admin-seller-supplies NO transition:all */
.thl-p-users-admin-admin-seller-supplies .ass-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-supplies .ass-btn-details { background: rgba(var(--p-violet-3-rgb), 0.07); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-seller-supplies .ass-btn-details:hover { background: var(--purple); color:var(--white); border-color: var(--purple); }
.thl-p-users-admin-admin-seller-supplies .ass-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-supplies .ass-btn-publish:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-supplies .ass-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-supplies .ass-btn-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-seller-supplies .ass-empty i { color:var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-seller-supplies .ass-empty p { color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .ass-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-seller-supplies .ass-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-supplies .ass-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-seller-supplies .ass-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-pagination span.ellipsis { color:var(--muted); }
/* MODALS — Rule: z-index 9999, .thl-p-users-admin-admin-seller-supplies border, .thl-p-users-admin-admin-seller-supplies NO box-shadow */
.thl-p-users-admin-admin-seller-supplies .ass-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-seller-supplies .ass-del-modal { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-modal-title { color:var(--ink); }
.thl-p-users-admin-admin-seller-supplies .ass-modal-sub { color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .ass-fl label { color:var(--sub); }
.thl-p-users-admin-admin-seller-supplies .ass-fl select, .thl-p-users-admin-admin-seller-supplies .ass-fl textarea { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-seller-supplies .ass-fl select:focus, .thl-p-users-admin-admin-seller-supplies .ass-fl textarea:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
/* Modal buttons — Rule 3: ghost pattern, .thl-p-users-admin-admin-seller-supplies NO onmouseover inline hacks */
.thl-p-users-admin-admin-seller-supplies .ass-modal-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-supplies .ass-modal-btn-save { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-supplies .ass-modal-btn-save:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-seller-supplies .ass-modal-btn-cancel { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .ass-modal-btn-cancel:hover { background: var(--surface2); color:var(--ink); border-color: var(--border-2); }
.thl-p-users-admin-admin-seller-supplies .ass-modal-btn-danger { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-supplies .ass-modal-btn-danger:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-seller-supplies .ass-modal-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-supplies .ass-modal-btn-publish:hover { background: var(--g); color:var(--white); border-color: var(--g); }
/* DETAIL MODAL — Rule: z-index 9999, .thl-p-users-admin-admin-seller-supplies border, .thl-p-users-admin-admin-seller-supplies NO box-shadow */
.thl-p-users-admin-admin-seller-supplies .adm-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-seller-supplies .adm-dm-header-left h2 { color:var(--ink); }
.thl-p-users-admin-admin-seller-supplies .adm-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .adm-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-admin-admin-seller-supplies .adm-dm-left { border-right-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .adm-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-supplies .adm-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-supplies .adm-sec-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .adm-sec-label::after { background: var(--border); }
.thl-p-users-admin-admin-seller-supplies .adm-gallery-main { background: var(--ink-3); }
.thl-p-users-admin-admin-seller-supplies .adm-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.6); border-color: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-supplies .adm-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-admin-admin-seller-supplies .adm-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.65); color:var(--white); }
.thl-p-users-admin-admin-seller-supplies .adm-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .adm-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-supplies .adm-thumb { border-color: transparent; }
.thl-p-users-admin-admin-seller-supplies .adm-thumb.active { border-color: var(--g); }
.thl-p-users-admin-admin-seller-supplies .adm-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .adm-info-cell-label { color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .adm-info-cell-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-supplies .adm-info-cell-val.green { color:var(--ok); }
.thl-p-users-admin-admin-seller-supplies .adm-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .adm-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-supplies .adm-spec { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .adm-spec i { color:var(--g); }
.thl-p-users-admin-admin-seller-supplies .adm-spec-val { color:var(--ink); }
.thl-p-users-admin-admin-seller-supplies .adm-spec-key { color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .adm-notes-box { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-admin-admin-seller-supplies .adm-notes-box.empty { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .adm-link-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-seller-supplies .adm-link-item a { color:var(--info); }
.thl-p-users-admin-admin-seller-supplies .adm-link-item i { color:var(--g); }
.thl-p-users-admin-admin-seller-supplies .adm-seller-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .adm-seller-row { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .adm-seller-av { border-color: var(--g); }
.thl-p-users-admin-admin-seller-supplies .adm-seller-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-supplies .adm-seller-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .adm-seller-phone { color:var(--sub); }
.thl-p-users-admin-admin-seller-supplies .adm-seller-verified { color:var(--ok); }
.thl-p-users-admin-admin-seller-supplies .adm-stat-mini { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-supplies .adm-stat-mini-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-supplies .adm-stat-mini-lbl { color:var(--muted); }
.thl-p-users-admin-admin-seller-supplies .adm-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-admin-admin-seller-supplies .adm-location-box i { color:var(--g); }
.thl-p-users-admin-admin-seller-supplies .adm-qa-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-supplies .adm-qa-btn-publish { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-supplies .adm-qa-btn-publish:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-seller-supplies .adm-qa-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-supplies .adm-qa-btn-del:hover { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-seller-supplies .adm-loading { color:var(--muted); }
/* LIGHTBOX — z-index 10000 */
.thl-p-users-admin-admin-seller-supplies .adm-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-admin-admin-seller-supplies .adm-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-admin-admin-seller-supplies .adm-lb-title { color:rgba(var(--p-white-28-rgb), 0.6); }
.thl-p-users-admin-admin-seller-supplies .adm-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-admin-admin-seller-supplies .adm-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-admin-admin-seller-supplies .adm-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-supplies .adm-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-admin-admin-seller-supplies .adm-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-admin-admin-seller-supplies .adm-lb-th { border-color: transparent; }
.thl-p-users-admin-admin-seller-supplies .adm-lb-th.on { border-color: var(--g); }
.thl-p-users-admin-admin-seller-supplies .adm-dm-right { border-top-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-seller-verifications .asv-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-seller-verifications .asv-filters { border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-filter-count { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-filter-btn.active .asv-filter-count { background: var(--g); color:var(--white); border-color: var(--g); }
/* TABLE CARD */
.thl-p-users-admin-admin-seller-verifications .asv-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-seller-verifications .asv-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-seller-verifications .asv-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-table tbody tr:hover { background: var(--surf); }
.thl-p-users-admin-admin-seller-verifications .asv-table td { color:var(--sub); }
.thl-p-users-admin-admin-seller-verifications .asv-avatar-img { border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-user-name { color:var(--ink); }
.thl-p-users-admin-admin-seller-verifications .asv-user-email { color:var(--muted); }
.thl-p-users-admin-admin-seller-verifications .asv-thumb { border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-pdf-thumb { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-verifications .asv-pdf-thumb:hover { background: var(--red); color:var(--white); }
/* ACTION BUTTONS */
.thl-p-users-admin-admin-seller-verifications .asv-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-verifications .asv-btn-edit { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-verifications .asv-btn-edit:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-verifications .asv-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-verifications .asv-btn-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-seller-verifications .asv-empty i { color:var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-seller-verifications .asv-empty p { color:var(--muted); }
.thl-p-users-admin-admin-seller-verifications .asv-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-seller-verifications .asv-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-verifications .asv-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-pagination span.ellipsis { color:var(--muted); }
/* MODALS */
.thl-p-users-admin-admin-seller-verifications .asv-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.5); }
/* Lightbox — full screen document viewer */
.thl-p-users-admin-admin-seller-verifications .asv-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-admin-admin-seller-verifications .asv-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-admin-admin-seller-verifications .asv-lb-title { color:rgba(var(--p-white-28-rgb), 0.82); }
.thl-p-users-admin-admin-seller-verifications .asv-lb-title i { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-admin-admin-seller-verifications .asv-lb-mode-btn { border-color: rgba(var(--p-white-28-rgb), 0.18); background: rgba(var(--p-white-28-rgb), 0.08); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-admin-admin-seller-verifications .asv-lb-mode-btn:hover { background: rgba(var(--p-white-28-rgb), 0.16); color:var(--white); border-color: rgba(var(--p-white-28-rgb), 0.35); }
.thl-p-users-admin-admin-seller-verifications .asv-lb-mode-btn.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-verifications .asv-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-admin-admin-seller-verifications .asv-lb-x:hover { background: rgba(var(--p-red-15-rgb), 0.4); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-seller-verifications .asv-lb-hint { color:rgba(var(--p-white-28-rgb), 0.62); }
/* Update modal */
.thl-p-users-admin-admin-seller-verifications .asv-modal-box { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-head h3 { color:var(--ink); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-head h3 i { color:var(--g); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-close { color:var(--muted); background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-close:hover { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-sub { color:var(--muted); background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-fl label { color:var(--sub); }
.thl-p-users-admin-admin-seller-verifications .asv-fl select, .thl-p-users-admin-admin-seller-verifications .asv-fl textarea { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-seller-verifications .asv-fl select:focus, .thl-p-users-admin-admin-seller-verifications .asv-fl textarea:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-actions { border-top-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-btn { border-color: transparent; }
.thl-p-users-admin-admin-seller-verifications .asv-modal-btn-save { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-btn-save:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-btn-cancel { background: var(--white); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-btn-cancel:hover { background: var(--surface2); color:var(--ink); border-color: var(--border-2); }
/* Delete confirm modal */
.thl-p-users-admin-admin-seller-verifications .asv-del-modal-box { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-seller-verifications .asv-del-icon { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-admin-admin-seller-verifications .asv-del-title { color:var(--ink); }
.thl-p-users-admin-admin-seller-verifications .asv-del-body { color:var(--sub); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-btn-danger { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-seller-verifications .asv-modal-btn-danger:hover { background: var(--red); color:var(--white); border-color: var(--red); }
/* ALERTS */
.thl-p-users-admin-admin-sessions .as-alert-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-users-admin-admin-sessions .as-alert-err { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-admin-admin-sessions .as-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-sessions .as-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-sessions .as-stat-lbl { color:var(--muted); }
/* CLEANUP ACTIONS BAR */
.thl-p-users-admin-admin-sessions .as-cleanup-bar { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-sessions .as-cleanup-label { color:var(--sub); }
.thl-p-users-admin-admin-sessions .as-cleanup-label i { color:var(--red); }
.thl-p-users-admin-admin-sessions .as-filters { border-color: var(--border); }
.thl-p-users-admin-admin-sessions .as-filter-count { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-sessions .as-filter-btn.active .as-filter-count { background: var(--red); color:var(--white); border-color: var(--red); }
/* TABLE CARD */
.thl-p-users-admin-admin-sessions .as-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-sessions .as-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-sessions .as-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-sessions .as-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-sessions .as-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-sessions .as-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-sessions .as-table tbody tr:hover { background: var(--surf); }
.thl-p-users-admin-admin-sessions .as-table td { color:var(--sub); }
.thl-p-users-admin-admin-sessions .as-avatar-img { border-color: var(--border); }
.thl-p-users-admin-admin-sessions .as-user-name { color:var(--ink); }
.thl-p-users-admin-admin-sessions .as-user-meta { color:var(--muted); }
.thl-p-users-admin-admin-sessions .as-device-icon { background: var(--surf); border-color: var(--border); }
/* ACTION BUTTONS */
.thl-p-users-admin-admin-sessions .as-btn { border-color: transparent; }
.thl-p-users-admin-admin-sessions .as-btn-revoke { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-sessions .as-btn-revoke:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-sessions .as-btn-user { background: rgba(var(--g-rgb),0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-sessions .as-btn-user:hover { background: var(--g); color:var(--white); border-color: var(--g); }
/* CLEANUP BUTTONS */
.thl-p-users-admin-admin-sessions .as-cbtn { border-color: transparent; }
.thl-p-users-admin-admin-sessions .as-cbtn-warn { background: rgba(var(--p-orange-14-rgb), 0.07); color:var(--warn); border-color: var(--warn); }
.thl-p-users-admin-admin-sessions .as-cbtn-warn:hover { background: var(--warn); color:var(--white); border-color: var(--warn); }
.thl-p-users-admin-admin-sessions .as-cbtn-danger { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-sessions .as-cbtn-danger:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-sessions .as-empty i { color:var(--border); }
.thl-p-users-admin-admin-sessions .as-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-sessions .as-empty p { color:var(--muted); }
.thl-p-users-admin-admin-sessions .as-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-sessions .as-pagination a:hover { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-admin-admin-sessions .as-pagination a.active { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-sessions .as-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-sessions .as-pagination span.ellipsis { color:var(--muted); }
/* MODALS */
.thl-p-users-admin-admin-sessions .as-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.5); }
.thl-p-users-admin-admin-sessions .as-modal-box { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-sessions .as-modal-icon-red { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-admin-admin-sessions .as-modal-icon-warn { background: var(--amber-lt); border-color: var(--warn); color:var(--warn); }
.thl-p-users-admin-admin-sessions .as-modal-title { color:var(--ink); }
.thl-p-users-admin-admin-sessions .as-modal-body { color:var(--sub); }
.thl-p-users-admin-admin-sessions .as-modal-btn { border-color: transparent; }
.thl-p-users-admin-admin-sessions .as-modal-btn-cancel { background: var(--white); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-sessions .as-modal-btn-cancel:hover { background: var(--surface2); color:var(--ink); border-color: var(--border-2); }
.thl-p-users-admin-admin-sessions .as-modal-btn-danger { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-sessions .as-modal-btn-danger:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-sessions .as-modal-btn-warn { background: rgba(var(--p-orange-14-rgb), 0.07); color:var(--warn); border-color: var(--warn); }
.thl-p-users-admin-admin-sessions .as-modal-btn-warn:hover { background: var(--warn); color:var(--white); border-color: var(--warn); }
/* ALERTS */
.thl-p-users-admin-admin-support .as-alert-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-users-admin-admin-support .as-alert-err { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-admin-admin-support .as-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-support .as-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-support .as-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-support .as-ftab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-support .as-ftab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-support .as-ftab.active .as-ftab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-support .as-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-support .as-select { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-support .as-select:focus { border-color: var(--g); }
/* TICKET LIST PANEL */
.thl-p-users-admin-admin-support .as-tkt-panel { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-support .as-tkt-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-support .as-tkt-head-title { color:var(--muted); }
.thl-p-users-admin-admin-support .as-tkt-head-title i { color:var(--g); }
.thl-p-users-admin-admin-support .as-unread-pill { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-support .as-tkt-scroll::-webkit-scrollbar-thumb { background: var(--border); }
/* TICKET ITEM */
.thl-p-users-admin-admin-support .as-tkt-item { border-bottom-color: var(--surface2); }
.thl-p-users-admin-admin-support .as-tkt-item:hover { background: var(--g-lt); }
.thl-p-users-admin-admin-support .as-tkt-item.is-active { background: rgba(var(--g-rgb),0.09); border-left-color: var(--g); }
.thl-p-users-admin-admin-support .as-tkt-item.has-unread { background: rgba(var(--p-red-15-rgb), 0.05); }
.thl-p-users-admin-admin-support .as-tkt-item.has-unread:hover { background: rgba(var(--p-red-15-rgb), 0.09); }
.thl-p-users-admin-admin-support .as-av { border-color: var(--border); }
.thl-p-users-admin-admin-support .as-av-ph { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-support .as-tkt-name { color:var(--ink); }
.thl-p-users-admin-admin-support .as-tkt-time { color:var(--muted); }
.thl-p-users-admin-admin-support .as-tkt-subj { color:var(--sub); }
.thl-p-users-admin-admin-support .as-tkt-preview { color:var(--muted); }
.thl-p-users-admin-admin-support .as-tkt-badge { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-support .st-open { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-support .st-pending { background: var(--amber-lt); color:var(--amber-ink); border-color: var(--warn); }
.thl-p-users-admin-admin-support .st-closed { background: var(--surface2); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-support .pr-high { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-support .pr-medium { background: var(--amber-lt); color:var(--amber-ink); border-color: var(--warn); }
.thl-p-users-admin-admin-support .pr-low { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-support .no-tickets { color:var(--muted); }
.thl-p-users-admin-admin-support .no-tickets i { color:var(--border); }
/* THREAD PANEL */
.thl-p-users-admin-admin-support .as-thread-panel { background: var(--white); border-color: var(--border); }
/* Thread header */
.thl-p-users-admin-admin-support .as-thread-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-support .as-thread-head-subject { color:var(--ink); }
.thl-p-users-admin-admin-support .as-user-chip { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-support .as-user-chip:hover { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-admin-admin-support .as-user-chip img { border-color: var(--border); }
.thl-p-users-admin-admin-support .as-user-chip-ph { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-admin-admin-support .as-user-chip-name { color:var(--ink); }
/* Thread action buttons — ghost style */
.thl-p-users-admin-admin-support .btn-action { border-color: transparent; }
.thl-p-users-admin-admin-support .tkt-ref-label { color:var(--muted); }
.thl-p-users-admin-admin-support .as-msg-count { color:var(--muted); }
.thl-p-users-admin-admin-support .as-thread-empty i { color:var(--border); }
.thl-p-users-admin-admin-support .as-thread-empty p { color:var(--muted); }
.thl-p-users-admin-admin-support .as-msg-list::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-support .sep-date span { background: var(--white); color:var(--muted); }
.thl-p-users-admin-admin-support .sep-date::before { border-top-color: var(--border); }
.thl-p-users-admin-admin-support .msg-av { border-color: var(--border); }
.thl-p-users-admin-admin-support .msg-av.is-admin { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-admin-admin-support .sent .msg-bubble { background: rgba(var(--g-rgb),0.07); border-color: var(--g); }
.thl-p-users-admin-admin-support .received .msg-bubble { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-support .msg-sender { color:var(--g-dk); }
.thl-p-users-admin-admin-support .msg-sender a { color:var(--g-dk); }
.thl-p-users-admin-admin-support .msg-sender a:hover { color:var(--g); }
.thl-p-users-admin-admin-support .msg-subject-tag { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-support .msg-content { color:var(--ink); }
.thl-p-users-admin-admin-support .msg-time { color:var(--muted); }
/* Closed notice */
.thl-p-users-admin-admin-support .as-closed-notice { background: var(--surface2); border-top-color: var(--border); color:var(--muted); }
/* Compose */
.thl-p-users-admin-admin-support .as-compose { border-top-color: var(--border); background: var(--white); }
.thl-p-users-admin-admin-support .as-compose textarea { border-color: var(--border); background: var(--surf); color:var(--ink); }
.thl-p-users-admin-admin-support .as-compose textarea:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb),0.1); }
.thl-p-users-admin-admin-support .as-compose textarea::placeholder { color:var(--muted); }
.thl-p-users-admin-admin-support .as-priority-select { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-users-admin-admin-support .as-priority-select:focus { border-color: var(--g); }
/* DELETE CONFIRM MODAL */
.thl-p-users-admin-admin-support .as-modal-backdrop { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-support .as-modal-box { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-support .as-modal-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-support .as-modal-head h2 { color:var(--red); }
.thl-p-users-admin-admin-support .as-modal-close { background: var(--white); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-support .as-modal-close:hover { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-support .as-modal-body p { color:var(--sub); }
.thl-p-users-admin-admin-support .as-modal-foot { border-top-color: var(--border); background: var(--surf); }
/* ALERTS */
.thl-p-users-admin-admin-users .au-alert-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-users-admin-admin-users .au-alert-err { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-admin-admin-users .au-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-users .au-stat:hover { border-color: var(--border-2); }
.thl-p-users-admin-admin-users .au-stat.is-active { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-admin-admin-users .au-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-users .au-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-users .au-ftab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-users .au-ftab.active:hover { background: var(--border-3); }
.thl-p-users-admin-admin-users .au-ftab.active i { color:var(--g); }
.thl-p-users-admin-admin-users .au-ftab.active .au-ftab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-users .au-search-wrap i { color:var(--muted); }
.thl-p-users-admin-admin-users .au-select { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-admin-admin-users .au-select:focus { border-color: var(--g); }
/* Ghost-style buttons — consistent with design system */

/* TABLE CARD */
.thl-p-users-admin-admin-users .au-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-users .au-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-users .au-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-users .au-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-users .au-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-users .au-table thead th a { color:var(--muted); }
.thl-p-users-admin-admin-users .au-table thead th a:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-users .au-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-users .au-table tbody tr:hover { background: var(--surf); }
.thl-p-users-admin-admin-users .au-table td { color:var(--sub); }
.thl-p-users-admin-admin-users .au-av { border-color: var(--border); }
.thl-p-users-admin-admin-users .au-av-ph { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-users .au-user-name { color:var(--ink); }
.thl-p-users-admin-admin-users .au-user-name a { color:var(--ink); }
.thl-p-users-admin-admin-users .au-user-name a:hover { color:var(--g-dk); }
.thl-p-users-admin-admin-users .au-user-email { color:var(--muted); }
.thl-p-users-admin-admin-users .au-st-active { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-users .au-st-warned { background: var(--amber-lt); color:var(--amber-ink); border-color: var(--warn); }
.thl-p-users-admin-admin-users .au-st-suspended { background: var(--info-lt); color:var(--info); border-color: var(--info); }
.thl-p-users-admin-admin-users .au-st-banned { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-users .au-role-admin { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-users .au-role-mod { background: var(--amber-lt); color:var(--amber-ink); border-color: var(--warn); }
.thl-p-users-admin-admin-users .au-role-seller { background: var(--info-lt); color:var(--info); border-color: var(--info); }
.thl-p-users-admin-admin-users .au-role-pro { background: var(--purple-lt); color:var(--purple); border-color: var(--violet); }
.thl-p-users-admin-admin-users .au-role-member { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-users .au-verified { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-users .au-warn-count { background: var(--amber-lt); color:var(--amber-ink); border-color: var(--warn); }
/* ACTION BUTTONS — ghost style */
.thl-p-users-admin-admin-users .au-btn { border-color: transparent; }
.thl-p-users-admin-admin-users .au-btn-warn { background: rgba(var(--p-orange-19-rgb), 0.07); color:var(--amber-ink); border-color: var(--amber); }
.thl-p-users-admin-admin-users .au-btn-warn:hover { background: var(--amber); color:var(--white); border-color: var(--amber); }
.thl-p-users-admin-admin-users .au-btn-suspend { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-admin-admin-users .au-btn-suspend:hover { background: var(--info); color:var(--white); border-color: var(--info); }
.thl-p-users-admin-admin-users .au-btn-ban { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-users .au-btn-ban:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-users .au-btn-unban { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-users .au-btn-unban:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-users .au-btn-role { background: rgba(var(--p-violet-5-rgb), 0.07); color:var(--purple); border-color: var(--purple); }
.thl-p-users-admin-admin-users .au-btn-role:hover { background: var(--purple); color:var(--white); border-color: var(--purple); }
.thl-p-users-admin-admin-users .au-btn-del { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-users .au-btn-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-users .au-actions::-webkit-scrollbar-track { background: transparent; }
.thl-p-users-admin-admin-users .au-actions::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-users .au-empty i { color:var(--border); }
.thl-p-users-admin-admin-users .au-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-users .au-empty p { color:var(--muted); }
.thl-p-users-admin-admin-users .au-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-users .au-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-users .au-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-users .au-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-users .au-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-users .au-pagination span.ellipsis { color:var(--muted); }
/* MODALS */
.thl-p-users-admin-admin-users .au-modal-backdrop { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-users .au-modal-box { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-users .au-modal-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-users .au-modal-head h2 { color:var(--ink); }
.thl-p-users-admin-admin-users .au-modal-close { background: var(--white); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-users .au-modal-close:hover { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-users .au-modal-body p { color:var(--sub); }
.thl-p-users-admin-admin-users .au-form-group label { color:var(--sub); }
.thl-p-users-admin-admin-users .au-form-group input, .thl-p-users-admin-admin-users .au-form-group select, .thl-p-users-admin-admin-users .au-form-group textarea { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-users-admin-admin-users .au-form-group input:focus, .thl-p-users-admin-admin-users .au-form-group select:focus, .thl-p-users-admin-admin-users .au-form-group textarea:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-users-admin-admin-users .au-modal-foot { border-top-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-users .au-modal-cancel { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-admin-admin-users .au-modal-cancel:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-users .au-modal-submit { border-color: transparent; }
/* Modal submit — ghost style, .thl-p-users-admin-admin-users fills on hover */
.thl-p-users-admin-admin-users .au-modal-submit.red { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-users .au-modal-submit.red:hover { background: var(--red); color:var(--white); }
.thl-p-users-admin-admin-users .au-modal-submit.amber { background: rgba(var(--p-orange-19-rgb), 0.07); color:var(--amber-ink); border-color: var(--amber); }
.thl-p-users-admin-admin-users .au-modal-submit.amber:hover { background: var(--amber); color:var(--white); }
.thl-p-users-admin-admin-users .au-modal-submit.blue { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-admin-admin-users .au-modal-submit.blue:hover { background: var(--info); color:var(--white); }
.thl-p-users-admin-admin-users .au-modal-submit.green { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-users .au-modal-submit.green:hover { background: var(--g); color:var(--white); }
.thl-p-users-admin-admin-users .au-modal-submit.purple { background: rgba(var(--p-violet-5-rgb), 0.07); color:var(--purple); border-color: var(--purple); }
.thl-p-users-admin-admin-users .au-modal-submit.purple:hover { background: var(--purple); color:var(--white); }
/* User info strip in modal */
.thl-p-users-admin-admin-users .au-modal-user-strip { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-users .au-modal-user-strip img { border-color: var(--border); }
.thl-p-users-admin-admin-users .au-modal-user-strip-name { color:var(--ink); }
.thl-p-users-admin-admin-users .au-modal-user-strip-email { color:var(--muted); }
/* ALERTS */
.thl-p-users-admin-admin-withdrawals .aw-alert-ok { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
.thl-p-users-admin-admin-withdrawals .aw-alert-err { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-admin-admin-withdrawals .aw-stat { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-stat-num { color:var(--ink); }
.thl-p-users-admin-admin-withdrawals .aw-stat-lbl { color:var(--muted); }
.thl-p-users-admin-admin-withdrawals .aw-filters { border-color: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-filter-count { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-filter-btn.active .aw-filter-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-withdrawals .aw-search-wrap i { color:var(--muted); }
/* TABLE CARD */
.thl-p-users-admin-admin-withdrawals .aw-table-card { background: var(--white); border-color: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-admin-admin-withdrawals .aw-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-table thead th { color:var(--muted); }
.thl-p-users-admin-admin-withdrawals .aw-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-table tbody tr:hover { background: var(--surf); }
/* CELLS */
.thl-p-users-admin-admin-withdrawals .aw-person-name { color:var(--ink); }
.thl-p-users-admin-admin-withdrawals .aw-person-email { color:var(--muted); }
.thl-p-users-admin-admin-withdrawals .aw-amount-val { color:var(--ink); }
.thl-p-users-admin-admin-withdrawals .aw-amount-sub { color:var(--muted); }
.thl-p-users-admin-admin-withdrawals .aw-method { color:var(--ink); }
.thl-p-users-admin-admin-withdrawals .aw-method-acct { color:var(--muted); }
.thl-p-users-admin-admin-withdrawals .aw-date { color:var(--ink); }
.thl-p-users-admin-admin-withdrawals .aw-date-sub { color:var(--muted); }
.thl-p-users-admin-admin-withdrawals .aw-badge-muted { background: var(--surface2); color:var(--muted); border-color: var(--border); }
/* ACTION BUTTONS — ghost style */
.thl-p-users-admin-admin-withdrawals .aw-btn { border-color: transparent; }
.thl-p-users-admin-admin-withdrawals .aw-btn-approve { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-admin-admin-withdrawals .aw-btn-approve:hover { background: var(--info); color:var(--white); border-color: var(--info); }
.thl-p-users-admin-admin-withdrawals .aw-btn-paid { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-withdrawals .aw-btn-paid:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-withdrawals .aw-btn-reject { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-withdrawals .aw-btn-reject:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-withdrawals .aw-empty i { color:var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-empty h3 { color:var(--ink); }
.thl-p-users-admin-admin-withdrawals .aw-empty p { color:var(--muted); }
.thl-p-users-admin-admin-withdrawals .aw-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-admin-admin-withdrawals .aw-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-withdrawals .aw-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-admin-admin-withdrawals .aw-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-pagination span.ellipsis { color:var(--muted); }
/* MODALS */
.thl-p-users-admin-admin-withdrawals .aw-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-admin-admin-withdrawals .aw-modal-sub { color:var(--muted); }
.thl-p-users-admin-admin-withdrawals .aw-modal-label { color:var(--sub); }
.thl-p-users-admin-admin-withdrawals .aw-modal-input { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-withdrawals .aw-modal-input:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-users-admin-admin-withdrawals .aw-modal-textarea { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-admin-admin-withdrawals .aw-modal-textarea:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(var(--p-red-15-rgb), 0.1); }
/* Modal buttons — ghost style */
.thl-p-users-admin-admin-withdrawals .aw-modal-btn { border-color: transparent; }
.thl-p-users-admin-admin-withdrawals .aw-modal-btn-cancel { background: var(--white); color:var(--muted); border-color: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-modal-btn-cancel:hover { background: var(--surface2); color:var(--ink); border-color: var(--border-2); }
.thl-p-users-admin-admin-withdrawals .aw-modal-btn-danger { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-withdrawals .aw-modal-btn-danger:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-withdrawals .aw-modal-btn-safe { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-withdrawals .aw-modal-btn-safe:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-withdrawals .aw-modal-btn-info { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-admin-admin-withdrawals .aw-modal-btn-info:hover { background: var(--info); color:var(--white); border-color: var(--info); }
/* DETAIL DRAWER */
.thl-p-users-admin-admin-withdrawals .aw-detail-overlay { background: rgba(var(--p-black-1-rgb), 0.5); }
.thl-p-users-admin-admin-withdrawals .aw-detail-panel { background: var(--white); border-left-color: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-detail-panel::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-dp-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-admin-admin-withdrawals .aw-dp-header h2 { color:var(--ink); }
.thl-p-users-admin-admin-withdrawals .aw-dp-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-admin-admin-withdrawals .aw-dp-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-admin-admin-withdrawals .aw-dp-sec-label { color:var(--muted); }
.thl-p-users-admin-admin-withdrawals .aw-dp-sec-label::after { background: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-dp-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-admin-admin-withdrawals .aw-dp-cell-label { color:var(--muted); }
.thl-p-users-admin-admin-withdrawals .aw-dp-cell-val { color:var(--ink); }
.thl-p-users-admin-admin-withdrawals .aw-dp-cell-val.green { color:var(--ok); }
.thl-p-users-admin-admin-withdrawals .aw-dp-cell-val.red { color:var(--red); }
.thl-p-users-admin-admin-withdrawals .aw-dp-cell-val.blue { color:var(--info); }
/* Drawer action buttons — ghost style */
.thl-p-users-admin-admin-withdrawals .aw-dp-btn { border-color: transparent; }
.thl-p-users-admin-admin-withdrawals .aw-dp-btn-approve { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-admin-admin-withdrawals .aw-dp-btn-approve:hover { background: var(--info); color:var(--white); border-color: var(--info); }
.thl-p-users-admin-admin-withdrawals .aw-dp-btn-paid { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-admin-admin-withdrawals .aw-dp-btn-paid:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-admin-admin-withdrawals .aw-dp-btn-reject { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-admin-admin-withdrawals .aw-dp-btn-reject:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-admin-admin-withdrawals .aw-note-box { background: var(--red-lt); border-color: var(--red); color:var(--error); }

/* ── users/all_messages.php ─────────────────────────────────────────── */
/* ── PAGE HEADER ── */
.thl-p-users-all-messages .page-header { background: var(--white); border-color: var(--border); }
.thl-p-users-all-messages .page-header-icon { background: var(--g-lt); }
.thl-p-users-all-messages .page-header-icon i { color:var(--g); }
.thl-p-users-all-messages .page-header-text h1 { color:var(--ink); }
.thl-p-users-all-messages .page-header-text p { color:var(--sub); }
.thl-p-users-all-messages .header-count { background: var(--g-lt); color:var(--g-dk); }
/* ── MESSAGES CARD ── */
.thl-p-users-all-messages .msgs-card { background: var(--white); border-color: var(--border); }
/* ── TAB BAR — page-level underline style (not status filter tabs) ── */
.thl-p-users-all-messages .tab-btn.active { color:var(--g-dk); }
/* ── MESSAGE ITEM ── */
.thl-p-users-all-messages .msg-item { border-bottom-color: var(--border); }
.thl-p-users-all-messages .msg-item:hover { background: var(--surf); }
.thl-p-users-all-messages .msg-post-banner { border-color: var(--border); }
.thl-p-users-all-messages .msg-post-thread-thumb { background: linear-gradient(135deg, var(--p-blue-2) 0%, var(--p-blue-7) 55%, var(--p-green-5) 100%); }
.thl-p-users-all-messages .msg-post-thread-thumb i { color:rgba(var(--g-rgb), 0.75); }
/* Reply badge */
.thl-p-users-all-messages .msg-reply-badge { color:var(--blue); background: rgba(var(--p-blue-37-rgb), 0.08); border-color: var(--info); }
/* Post title link */
.thl-p-users-all-messages .msg-post-link { color:var(--ink); }
.thl-p-users-all-messages .msg-post-link:hover { color:var(--g-dk); }
.thl-p-users-all-messages .msg-post-link i { color:var(--muted); }
/* Snippet */
.thl-p-users-all-messages .msg-snippet-box { background: var(--surf); border-left-color: var(--g); color:var(--sub); }
.thl-p-users-all-messages .msg-avatar { border-color: var(--g); }
.thl-p-users-all-messages .msg-author { color:var(--ink); }
.thl-p-users-all-messages .msg-time { color:var(--muted); }
.thl-p-users-all-messages .msgs-empty-icon { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-all-messages .msgs-empty h3 { color:var(--ink); }
.thl-p-users-all-messages .msgs-empty p { color:var(--muted); }
/* ── PAGINATION ── */
.thl-p-users-all-messages .asp-pagination { border-top-color: var(--border); }
.thl-p-users-all-messages .asp-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-all-messages .asp-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-all-messages .asp-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-all-messages .asp-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-all-messages .asp-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-all-messages .asp-pagination span.ellipsis { color:var(--muted); }

/* ── users/common/promote_modal.php ───────────────────────────────────────────  (SHARED INCLUDE - global, NOT page-scoped:
   this markup renders inside every other page, so a page scope would
   never match and its colours would silently vanish) */
/* ══════════════════════════════════════════════════════════════

   PROMOTE MODAL — self-contained, works on all 5 dashboard pages

   No font-family, no body background, no base colour overrides.

   Only defines what the modal itself needs.

   Gold CSS vars are defined here so the modal and its trigger

   buttons work even if the parent page hasn't defined them.

═══════════════════════════════════════════════════════════════ */

.promo-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.55); }
.promo-modal { background: var(--white, var(--white)); box-shadow: 0 24px 80px rgba(var(--p-black-1-rgb), 0.22); }
/* ── Header ── */

.promo-modal-header { border-bottom-color: var(--border, var(--border)); }
.promo-modal-icon { background: var(--gold-lt); border-color: var(--gold); color:var(--gold); }
.promo-modal-header h3 { color:var(--ink, var(--ink)); }
.promo-modal-header p { color:var(--muted, var(--muted)); }
.promo-modal-close { background: var(--surf, var(--surf)); border-color: var(--border, var(--border)); color:var(--muted, var(--muted)); }
.promo-modal-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red, var(--red)); }
/* ── Search ── */
.promo-modal-search { border-bottom-color: var(--border, var(--border)); }
.promo-search-wrap i { color:var(--muted, var(--muted)); }
.promo-modal-list::-webkit-scrollbar-thumb { background: var(--border, var(--border)); }
/* ── Listing row ── */
.promo-listing-row { border-color: var(--border, var(--border)); background: var(--white, var(--white)); }
.promo-listing-row:hover { border-color: var(--gold); background: var(--gold-lt); box-shadow: 0 4px 16px rgba(var(--p-orange-14-rgb), 0.1); }
.promo-listing-thumb { background: var(--surf, var(--surf)); border-color: var(--border, var(--border)); }
.promo-listing-thumb-placeholder { background: var(--surf, var(--surf)); border-color: var(--border, var(--border)); color:var(--muted, var(--muted)); }
.promo-listing-title { color:var(--ink, var(--ink)); }
.promo-listing-meta { color:var(--muted, var(--muted)); }
.promo-listing-price { color:var(--g-dk, var(--g-dk)); }
.promo-listing-txn { background: var(--gold-lt); border-color: var(--gold); color:var(--gold); }
.promo-listing-arrow { color:var(--gold); }
/* ── Empty / no-results states ── */
.promo-empty { color:var(--muted, var(--muted)); }
.promo-empty strong { color:var(--sub, var(--sub)); }
.promo-no-results { color:var(--muted, var(--muted)); }
/* ── Footer hint ── */
.promo-modal-footer { border-top-color: var(--border, var(--border)); color:var(--muted, var(--muted)); background: var(--surf, var(--surf)); }
.promo-modal-footer i { color:var(--gold); }
.btn-gold:hover { box-shadow: 0 4px 14px rgba(var(--p-orange-14-rgb), 0.25); }
/* ── mp-action-gold (detail modal "Promote This Listing" button) ── */
.mp-action-gold { background: var(--gold-lt); color:var(--gold); border-color: var(--gold); }
.mp-action-gold:hover { background: var(--gold); color:var(--white); border-color: var(--gold); box-shadow: 0 4px 14px rgba(var(--p-orange-14-rgb), 0.25); }

/* ── users/common/user_functions.php ───────────────────────────────────────────  (SHARED INCLUDE - global, NOT page-scoped:
   this markup renders inside every other page, so a page scope would
   never match and its colours would silently vanish) */
/* Invisible upward bridge */

.thl-rank-badge-outer::before { background: transparent; }
.thl-rank-badge { border-color: transparent; }
.thl-rank-badge.thl-rank-badge-nobg { background: transparent !important; border-color: transparent !important; }
.thl-rank-badge-icon.thl-rank-badge-icon-nobg { background: transparent !important; }
/* ── POPUP ── */

.thl-rank-tip { background: var(--p-blue-3); border-color: rgba(var(--p-white-28-rgb), 0.08); }
.thl-rank-tip::after { border-color: transparent; border-top-color: var(--p-blue-3); }
.thl-rank-badge-outer.thl-tip-flipped .thl-rank-tip::after { border-top-color: transparent; border-bottom-color: var(--p-blue-3); }
/* ── POPUP HEADER ── */
.thl-tip-header { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-tip-header-sub { color:rgba(var(--p-white-28-rgb), 0.66); }
/* ── YOU PILL ── */
.thl-tip-you-pill { color:var(--white); background: rgba(var(--p-white-28-rgb), 0.15); }
/* ── DESCRIPTION ── */
.thl-tip-desc { color:rgba(var(--p-white-28-rgb), 0.82); border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
/* ── POINTS ROW ── */
.thl-tip-pts-row { color:rgba(var(--p-white-28-rgb), 0.74); border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-tip-nav-btn { background: rgba(var(--p-white-28-rgb), 0.06); border-color: rgba(var(--p-white-28-rgb), 0.1); color:rgba(var(--p-white-28-rgb), 0.86); }
.thl-tip-nav-btn:hover { background: rgba(var(--p-white-28-rgb), 0.14); color:var(--white); }
.thl-tip-nav-btn:disabled:hover { background: rgba(var(--p-white-28-rgb), 0.06); color:rgba(var(--p-white-28-rgb), 0.86); }
.thl-tip-nav-counter { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-favourites .total-pill { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
/* ── FAVOURITES CARD ── */
.thl-p-users-favourites .fav-card { background: var(--white); border-color: var(--border); }
/* ── TAB BAR ── */
.thl-p-users-favourites .tab-btn.active { color:var(--g-dk); }
/* ── SHARED CARD BASE ── */
.thl-p-users-favourites .fav-item { background: var(--surf); border-color: var(--border); }
.thl-p-users-favourites .fav-item:hover { border-color: var(--g); }
/* ── ITEM IMAGE / SLIDER ── */
.thl-p-users-favourites .fav-img-wrap { background: var(--border); }
.thl-p-users-favourites .fav-no-img { color:var(--muted); }
.thl-p-users-favourites .fav-slider-nav { background: rgba(var(--p-black-1-rgb), 0.44); color:var(--white); }
.thl-p-users-favourites .fav-slider-nav:hover { background: rgba(var(--p-black-1-rgb), 0.72); }
.thl-p-users-favourites .fav-slide-count { background: rgba(var(--p-black-1-rgb), 0.48); color:var(--white); }
.thl-p-users-favourites .fav-badge { color:var(--white); }
.thl-p-users-favourites .fav-badge-txn { color:var(--white); }
.thl-p-users-favourites .txn-sale { background: var(--arch); }
.thl-p-users-favourites .txn-rent { background: var(--c-cyan); }
.thl-p-users-favourites .txn-booking { background: var(--warn); }
.thl-p-users-favourites .txn-lease { background: var(--warn); }
.thl-p-users-favourites .cat-arch { background: var(--arch); }
.thl-p-users-favourites .cat-struct { background: var(--c-cyan); }
.thl-p-users-favourites .fee-free { background: var(--ok); }
.thl-p-users-favourites .fee-paid { background: var(--arch); }
.thl-p-users-favourites .fee-quote { background: var(--warn); }
/* condition badges */
.thl-p-users-favourites .cond-badge-wrap { color:var(--white); }
.thl-p-users-favourites .cond-new { background: rgba(var(--g-rgb), 0.85); }
.thl-p-users-favourites .cond-used { background: rgba(var(--p-blue-34-rgb), 0.82); }
.thl-p-users-favourites .cond-refurb { background: rgba(var(--p-orange-19-rgb), 0.85); }
.thl-p-users-favourites .fav-title { color:var(--ink); }
.thl-p-users-favourites .fav-title:hover { color:var(--g-dk); }
.thl-p-users-favourites .fav-sub { color:var(--sub); }
.thl-p-users-favourites .fav-sub-dot { color:var(--border); }
.thl-p-users-favourites .fav-loc { color:var(--muted); }
.thl-p-users-favourites .fav-loc i { color:var(--g); }
.thl-p-users-favourites .fav-price { color:var(--ink); }
.thl-p-users-favourites .fav-price-suffix { color:var(--muted); }
.thl-p-users-favourites .fav-orig { color:var(--muted); }
.thl-p-users-favourites .fav-disc { color:var(--white); background: var(--g); }
.thl-p-users-favourites .fav-price-na { color:var(--muted); }
.thl-p-users-favourites .fav-metric { color:var(--sub); }
.thl-p-users-favourites .fav-metric i { color:var(--g); }
/* Spec chips */
.thl-p-users-favourites .fav-specs { border-top-color: var(--border); }
.thl-p-users-favourites .spec-chip { background: var(--white); border-color: var(--border); color:var(--sub); }
.thl-p-users-favourites .spec-more { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-favourites .fav-cat-icon { background: var(--g-lt); color:var(--g); }
.thl-p-users-favourites .fav-cat-label { color:var(--g-dk); }
.thl-p-users-favourites .fav-stars-back { color:var(--border-2); }
.thl-p-users-favourites .fav-stars-front { color:var(--gold); }
.thl-p-users-favourites .fav-rating-val { color:var(--ink); }
.thl-p-users-favourites .fav-rating-cnt { color:var(--muted); }
.thl-p-users-favourites .fav-meta-item { color:var(--sub); }
.thl-p-users-favourites .fav-meta-item i { color:var(--g); }
/* ── ACTIONS ROW ── */
.thl-p-users-favourites .fav-actions { border-top-color: var(--border); }
.thl-p-users-favourites .fav-saved-at { color:var(--muted); }
.thl-p-users-favourites .fav-saved-at i { color:var(--g); }
/* ── COMMUNITY POST CARD EXTRAS ── */
.thl-p-users-favourites .fav-comm-banner { background: var(--surf); }
.thl-p-users-favourites .fav-comm-banner-empty { background: linear-gradient(135deg, var(--p-blue-2) 0%, var(--p-blue-7) 55%, var(--p-green-5) 100%); }
.thl-p-users-favourites .fav-comm-thread-icon { color:rgba(var(--g-rgb), 0.7); }
.thl-p-users-favourites .fav-comm-type-badge { color:var(--white); }
.thl-p-users-favourites .fav-comm-badge-article { background: var(--g); }
.thl-p-users-favourites .fav-comm-badge-thread { background: var(--purple); }
.thl-p-users-favourites .fav-comm-avatar { border-color: var(--g); }
.thl-p-users-favourites .fav-comm-author-name { color:var(--ink); }
.thl-p-users-favourites .fav-comm-verified { color:var(--g); }
.thl-p-users-favourites .fav-comm-author-time { color:var(--muted); }
.thl-p-users-favourites .fav-comm-desc { color:var(--sub); }
.thl-p-users-favourites .fav-comm-stats { color:var(--muted); }
/* ── EMPTY STATE ── */
.thl-p-users-favourites .fav-empty { color:var(--muted); }
.thl-p-users-favourites .fav-empty > i { color:var(--border); }
.thl-p-users-favourites .fav-empty a { background: var(--g); color:var(--white); }
/* ── PAGINATION ── */
.thl-p-users-favourites .pagination { border-top-color: var(--border); }
.thl-p-users-favourites .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-favourites .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-favourites .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-favourites .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-favourites .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-favourites .pagination span.ellipsis { color:var(--muted); }

/* ── users/friends.php ─────────────────────────────────────────── */
/* ── PAGE HEADER — border only, .thl-p-users-friends no box-shadow ── */
.thl-p-users-friends .page-header { background: var(--white); border-color: var(--border); }
.thl-p-users-friends .page-header-icon { background: var(--g-lt); }
.thl-p-users-friends .page-header-icon i { color:var(--g); }
.thl-p-users-friends .page-header-text h1 { color:var(--ink); }
.thl-p-users-friends .page-header-text p { color:var(--sub); }
.thl-p-users-friends .header-count { background: var(--g-lt); color:var(--g-dk); }
/* ── FRIENDS CARD — border only, .thl-p-users-friends no box-shadow ── */
.thl-p-users-friends .friends-card { background: var(--white); border-color: var(--border); }
/* ── TAB BAR — page-level underline style ── */
.thl-p-users-friends .tab-btn.active { color:var(--g-dk); }
.thl-p-users-friends .tab-bubble.red { background: var(--red); }
.thl-p-users-friends .tab-search-btn.active { background: var(--g-lt); color:var(--g-dk); }
/* ── SEARCH PANEL ── */
.thl-p-users-friends .search-panel { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-friends .search-inner { border-bottom-color: var(--border); }
.thl-p-users-friends .search-inner i { color:var(--muted); }
.thl-p-users-friends .search-inner input { color:var(--ink); }
.thl-p-users-friends .search-inner input::placeholder { color:var(--muted); }
.thl-p-users-friends .search-clear { color:var(--muted); }
.thl-p-users-friends .search-clear:hover { color:var(--red); }
.thl-p-users-friends .search-group-label { color:var(--muted); }
.thl-p-users-friends .search-item { border-top-color: var(--surface2); }
.thl-p-users-friends .search-item:hover { background: var(--g-lt); }
.thl-p-users-friends .search-item img { border-color: var(--border); }
.thl-p-users-friends .search-item-name { color:var(--ink); }
.thl-p-users-friends .search-item-user { color:var(--muted); }
.thl-p-users-friends .search-msg { color:var(--muted); }
/* Friend card — border only, .thl-p-users-friends hover changes border-color, .thl-p-users-friends no translateY */
.thl-p-users-friends .friend-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-friends .friend-card:hover { border-color: var(--g); }
.thl-p-users-friends .friend-card-avatar { border-color: var(--border); }
.thl-p-users-friends .friend-card-name { color:var(--ink); }
.thl-p-users-friends .friend-card-name:hover { color:var(--g-dk); }
.thl-p-users-friends .friend-card-user { color:var(--muted); }
/* Ghost pattern buttons */
.thl-p-users-friends .fc-btn { border-color: transparent; }
/* Green ghost message button */
.thl-p-users-friends .fc-btn-msg { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-friends .fc-btn-msg:hover { background: var(--g); color:var(--white); border-color: var(--g); }
/* Red ghost remove button */
.thl-p-users-friends .fc-btn-rm { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-friends .fc-btn-rm:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-friends .incoming-item { background: var(--surf); border-color: var(--border); }
.thl-p-users-friends .incoming-item:hover { border-color: var(--g); }
.thl-p-users-friends .incoming-avatar { border-color: var(--border); }
.thl-p-users-friends .incoming-name { color:var(--ink); }
.thl-p-users-friends .incoming-name:hover { color:var(--g-dk); }
.thl-p-users-friends .incoming-user { color:var(--muted); }
.thl-p-users-friends .incoming-time { color:var(--muted); }
/* ── EMPTY STATE ── */
.thl-p-users-friends .empty-state { color:var(--muted); }
.thl-p-users-friends .empty-state i { color:var(--border); }
/* ── PAGINATION ── */
.thl-p-users-friends .pagination { border-top-color: var(--border); }
.thl-p-users-friends .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-friends .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-friends .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-friends .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-friends .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-friends .pagination span.ellipsis { color:var(--muted); }
/* ── INBOX PANEL — border only, .thl-p-users-messages no box-shadow ── */
.thl-p-users-messages .inbox-panel { background: var(--white); border-color: var(--border); }
.thl-p-users-messages .inbox-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-messages .inbox-head-title { color:var(--muted); }
.thl-p-users-messages .inbox-head-title i { color:var(--g); }
.thl-p-users-messages .unread-pill { background: var(--red); color:var(--white); }
.thl-p-users-messages .inbox-scroll::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-messages .conv-item { border-bottom-color: var(--surface2); }
.thl-p-users-messages .conv-item:hover { background: var(--g-lt); }
.thl-p-users-messages .conv-item.is-active { background: rgba(var(--g-rgb),0.09); border-left-color: var(--g); }
.thl-p-users-messages .conv-item.has-unread { background: rgba(var(--p-red-15-rgb), 0.05); }
.thl-p-users-messages .conv-item.has-unread:hover { background: rgba(var(--p-red-15-rgb), 0.09); }
.thl-p-users-messages .conv-item.is-system { border-left-color: var(--g); }
.thl-p-users-messages .conv-avatar { border-color: var(--border); }
.thl-p-users-messages .conv-avatar.is-system { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-messages .conv-name { color:var(--ink); }
.thl-p-users-messages .conv-name.is-system { color:var(--g-dk); }
.thl-p-users-messages .conv-name a { color:var(--ink); }
.thl-p-users-messages .conv-name a:hover { color:var(--g-dk); }
.thl-p-users-messages .conv-time { color:var(--muted); }
.thl-p-users-messages .conv-ticks { color:var(--g); }
.thl-p-users-messages .conv-preview { color:var(--muted); }
.thl-p-users-messages .conv-preview.is-system { color:var(--g-dk); }
.thl-p-users-messages .conv-badge { background: var(--red); color:var(--white); }
.thl-p-users-messages .system-tag { color:var(--g-dk); background: var(--g-lt); border-color: var(--g); }
.thl-p-users-messages .no-convs { color:var(--muted); }
.thl-p-users-messages .no-convs i { color:var(--border); }
/* ── CHAT PANEL — border only, .thl-p-users-messages no box-shadow ── */
.thl-p-users-messages .chat-panel { background: var(--white); border-color: var(--border); }
.thl-p-users-messages .chat-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-messages .chat-head-avatar { border-color: var(--border); }
.thl-p-users-messages .chat-head-avatar.is-system { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-messages .chat-head-name { color:var(--ink); }
.thl-p-users-messages .chat-head-name a { color:var(--ink); }
.thl-p-users-messages .chat-head-name a:hover { color:var(--g-dk); }
.thl-p-users-messages .chat-head-name.is-system { color:var(--g-dk); }
.thl-p-users-messages .chat-head-sub { color:var(--muted); }
.thl-p-users-messages .chat-head-sub.is-system { color:var(--g); }
/* ── BUTTONS — ghost pattern, .thl-p-users-messages no transition: all, .thl-p-users-messages no translateY ── */
.thl-p-users-messages .btn { border-color: transparent; }
.thl-p-users-messages .chat-empty { color:var(--muted); }
.thl-p-users-messages .chat-empty i { color:var(--border); }
.thl-p-users-messages .chat-empty p { color:var(--muted); }
.thl-p-users-messages .msg-list::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-messages .sep-date span { background: var(--white); color:var(--muted); }
.thl-p-users-messages .sep-date::before { border-top-color: var(--border); }
.thl-p-users-messages .sep-unread span { background: var(--white); color:var(--red); }
.thl-p-users-messages .sep-unread::before { border-top-color: var(--red); }
.thl-p-users-messages .msg-av { border-color: var(--border); }
.thl-p-users-messages .sent .msg-bubble { background: rgba(var(--g-rgb),0.07); border-color: var(--g); }
.thl-p-users-messages .received .msg-bubble { background: var(--surf); border-color: var(--border); }
.thl-p-users-messages .system-msg .msg-bubble { background: var(--g-bglt); border-color: var(--g); }
.thl-p-users-messages .system-msg .msg-bubble::before { color:var(--g); }
.thl-p-users-messages .msg-sender { color:var(--g-dk); }
.thl-p-users-messages .msg-sender a { color:var(--g-dk); }
.thl-p-users-messages .msg-sender a:hover { color:var(--g); }
.thl-p-users-messages .msg-reply-quote { background: rgba(var(--p-black-1-rgb), 0.06); border-left-color: var(--g); color:var(--sub); }
.thl-p-users-messages .msg-reply-quote strong { color:var(--ink); }
.thl-p-users-messages .msg-content { color:var(--ink); }
.thl-p-users-messages .system-msg .msg-content { color:var(--g-inklt); }
.thl-p-users-messages .msg-time { color:var(--muted); }
.thl-p-users-messages .msg-ticks { color:var(--g); }
.thl-p-users-messages .msg-menu-btn { color:var(--muted); }
.thl-p-users-messages .msg-menu-btn:hover { background: rgba(var(--p-black-1-rgb), 0.08); color:var(--ink); }
/* ── MESSAGE CONTEXT MENU — border only, .thl-p-users-messages no box-shadow ── */
.thl-p-users-messages .msg-menu-drop { background: var(--white); border-color: var(--border); }
.thl-p-users-messages .msg-menu-drop button { color:var(--ink); }
.thl-p-users-messages .msg-menu-drop button:hover { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-messages .reply-bar { background: var(--g-lt); border-left-color: var(--g); color:var(--sub); }
.thl-p-users-messages .reply-bar-info strong { color:var(--g-dk); }
.thl-p-users-messages .reply-bar-cancel { color:var(--red); }
.thl-p-users-messages .reply-bar-cancel:hover { color:var(--error); }
.thl-p-users-messages .prefill-bar { background: var(--amber-lt); border-left-color: var(--amber); color:var(--amber-ink); }
.thl-p-users-messages .prefill-bar i { color:var(--amber); }
.thl-p-users-messages .compose { border-top-color: var(--border); background: var(--white); }
.thl-p-users-messages .compose textarea { border-color: var(--border); background: var(--surf); color:var(--ink); }
.thl-p-users-messages .compose textarea:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb),0.1); }
.thl-p-users-messages .compose textarea::placeholder { color:var(--muted); }
/* Border only — no box-shadow */
.thl-p-users-notifications .notif-card { background: var(--white); border-color: var(--border); }
.thl-p-users-notifications .notif-card-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-notifications .notif-card-head-title { color:var(--muted); }
.thl-p-users-notifications .notif-card-head-title i { color:var(--g); }
.thl-p-users-notifications .unread-pill { background: var(--red); color:var(--white); }
/* ── NOTIFICATION ITEM ── */
.thl-p-users-notifications .notif-item { border-bottom-color: var(--surface2); color:var(--ink); }
.thl-p-users-notifications .notif-item:hover { background: var(--g-lt); }
.thl-p-users-notifications .notif-item.unread { background: rgba(var(--g-rgb), 0.04); border-left-color: var(--g); }
.thl-p-users-notifications .notif-item.unread:hover { background: var(--g-lt); }
.thl-p-users-notifications .notif-item.type-announcement { border-left-color: var(--p-red-16); }
.thl-p-users-notifications .notif-item.type-announcement.unread { background: rgba(var(--p-red-16-rgb), 0.04); }
.thl-p-users-notifications .notif-item.type-announcement:hover { background: var(--p-white-17); }
.thl-p-users-notifications .notif-icon { color:var(--white); }
.thl-p-users-notifications .notif-title { color:var(--ink); }
.thl-p-users-notifications .notif-message { color:var(--sub); }
/* naked URL — restore pointer events so it is independently clickable */
.thl-p-users-notifications .notif-message a { color:var(--g); }
/* image capped at 500px */
.thl-p-users-notifications .notif-message img { border-color: var(--border); }
.thl-p-users-notifications .notif-time { color:var(--muted); }
.thl-p-users-notifications .notif-type-tag { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-notifications .notif-dot { background: var(--g); }
.thl-p-users-notifications .notif-item.type-announcement .notif-dot { background: var(--p-red-16); }
.thl-p-users-notifications .notif-empty { color:var(--muted); }
.thl-p-users-notifications .notif-empty i { color:var(--border); }
.thl-p-users-notifications .notif-empty h3 { color:var(--ink); }
.thl-p-users-notifications .notif-empty p { color:var(--muted); }
.thl-p-users-notifications .notif-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-notifications .notif-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-notifications .notif-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-notifications .notif-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-notifications .notif-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-notifications .notif-pagination span.ellipsis { color:var(--muted); }

/* ── users/profile.php ─────────────────────────────────────────── */
/* ── PROFILE CARD ── */
.thl-p-users-profile .profile-card { background: var(--white); border-color: var(--border); }
/* ── BANNER ── */
.thl-p-users-profile .profile-banner { background: linear-gradient(135deg, var(--p-green-5) 0%, var(--g) 50%, var(--g-vivid) 100%); }
.thl-p-users-profile .profile-banner::before { background-image: radial-gradient(circle at 15% 60%, rgba(var(--p-white-28-rgb), 0.08) 0%, transparent 45%),

        radial-gradient(circle at 85% 30%, rgba(var(--p-black-1-rgb), 0.18) 0%, transparent 50%),

        repeating-linear-gradient(45deg, transparent, transparent 22px, rgba(var(--p-white-28-rgb), 0.03) 22px, rgba(var(--p-white-28-rgb), 0.03) 23px); }
.thl-p-users-profile .profile-banner::after { background: linear-gradient(90deg, transparent, rgba(var(--p-white-28-rgb), 0.07), transparent); }
.thl-p-users-profile .profile-avatar-ring { background: linear-gradient(135deg, var(--g), var(--g-vivid)); }
.thl-p-users-profile .profile-avatar { border-color: var(--white); background: var(--surf); }
.thl-p-users-profile .avatar-rating-pill { background: var(--p-amber-8); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-users-profile .rating-stars i { color:var(--gold); }
.thl-p-users-profile .rating-stars i.far { color:var(--border-2); }
.thl-p-users-profile .avatar-rating-num { color:var(--amber-ink); }
.thl-p-users-profile .avatar-rating-count { color:var(--p-orange-9); }
.thl-p-users-profile .avatar-points-pill { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-profile .avatar-points-pill:hover { background: var(--p-green-41); }
.thl-p-users-profile .avatar-points-pill i { color:var(--g); }
.thl-p-users-profile .thl-has-tip::after { background: var(--p-blue-3); color:rgba(var(--p-white-28-rgb), 0.85); border-color: rgba(var(--p-white-28-rgb), 0.08); }
.thl-p-users-profile .thl-has-tip::before { border-color: transparent; border-top-color: var(--p-blue-3); }
.thl-p-users-profile .btn-action { border-color: transparent; }
.thl-p-users-profile .profile-full-name { color:var(--ink); }
.thl-p-users-profile .profile-username { color:var(--muted); }
/* ── RANK STRIP ── */
.thl-p-users-profile .profile-rank-strip { background: linear-gradient(135deg, var(--p-green-1) 0%, var(--p-green-4) 100%); }
.thl-p-users-profile .profile-rank-strip::before { background-image: radial-gradient(circle at 5% 50%, rgba(var(--g-rgb), 0.18) 0%, transparent 50%),

        repeating-linear-gradient(45deg, transparent, transparent 16px, rgba(var(--p-white-28-rgb), 0.02) 16px, rgba(var(--p-white-28-rgb), 0.02) 17px); }
.thl-p-users-profile .rank-strip-label { color:var(--white); }
.thl-p-users-profile .rank-strip-sub { color:rgba(var(--p-white-28-rgb), 0.72); }
.thl-p-users-profile .rank-pts-pill { background: rgba(var(--g-rgb), 0.2); border-color: var(--g); color:var(--g-vivid); }
.thl-p-users-profile .rank-next-pill { color:rgba(var(--p-white-28-rgb), 0.72); }
.thl-p-users-profile .rank-progress-label { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-profile .rank-progress-label span { color:rgba(var(--p-white-28-rgb), 0.65); }
.thl-p-users-profile .rank-track { background: rgba(var(--p-white-28-rgb), 0.1); }
.thl-p-users-profile .rank-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-profile .stat-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-profile .stat-card::after { background: var(--stat-accent, var(--g)); }
.thl-p-users-profile .stat-card:hover { border-color: var(--g); }
.thl-p-users-profile .stat-card-val { color:var(--ink); }
.thl-p-users-profile .stat-card-lbl { color:var(--muted); }
.thl-p-users-profile .radar-panel { background: var(--white); border-color: var(--border); }
.thl-p-users-profile .radar-panel-title { color:var(--white); background: linear-gradient(135deg, var(--p-green-1) 0%, var(--p-green-4) 100%); border-bottom-color: var(--g); }
.thl-p-users-profile .radar-panel-title i { color:var(--g); }
.thl-p-users-profile .radar-legend { border-top-color: var(--surf); }
.thl-p-users-profile .radar-legend-item { color:var(--sub); }
.thl-p-users-profile .radar-legend-dot { box-shadow: 0 0 0 2px rgba(var(--p-white-28-rgb), 0.9), 0 0 0 3px currentColor; }
/* ── SECTION CARD ── */
.thl-p-users-profile .section-card { background: var(--white); border-color: var(--border); }
.thl-p-users-profile .section-card-title { color:var(--ink); border-bottom-color: var(--surf); }
.thl-p-users-profile .section-card-title i { color:var(--g); }
/* ── INFO ROWS ── */
.thl-p-users-profile .info-row { border-bottom-color: var(--surf); color:var(--sub); }
.thl-p-users-profile .info-row i { color:var(--g); }
.thl-p-users-profile .info-row strong { color:var(--ink); }
.thl-p-users-profile .country-flag-img { border-color: var(--border); }
.thl-p-users-profile .country-name-link { color:var(--blue); }
/* ── ABOUT ── */
.thl-p-users-profile .about-text { color:var(--sub); }
.thl-p-users-profile .social-icon { color:var(--white); }
.thl-p-users-profile .social-icon.facebook { background: var(--facebook-color); }
.thl-p-users-profile .social-icon.twitter { background: var(--twitter-color); }
.thl-p-users-profile .social-icon.telegram { background: var(--telegram-color); }
.thl-p-users-profile .social-icon.linkedin { background: var(--linkedin-color); }
.thl-p-users-profile .social-icon.whatsapp { background: var(--whatsapp-color); }
.thl-p-users-profile .social-icon.discord { background: var(--discord-color); }
.thl-p-users-profile .social-icon.snapchat { background: var(--snapchat-color); color:var(--p-grey-6); }
.thl-p-users-profile .social-icon.instagram { background: var(--instagram-color); }
.thl-p-users-profile .social-icon.tiktok { background: var(--tiktok-color); }
.thl-p-users-profile .social-icon.youtube { background: var(--youtube-color); }
.thl-p-users-profile .website-row { color:var(--sub); }
.thl-p-users-profile .website-row i { color:var(--g); }
.thl-p-users-profile .website-row a { color:var(--g-dk); }
/* ── GUEST CTA ── */
.thl-p-users-profile .guest-cta { background: var(--white); border-color: var(--border); }
.thl-p-users-profile .guest-cta > i { color:var(--muted); }
.thl-p-users-profile .guest-cta h3 { color:var(--ink); }
.thl-p-users-profile .guest-cta p { color:var(--sub); }
/* ── BTN ── */
.thl-p-users-profile .btn { border-color: transparent; }
/* ── ACTIVITY CARD ── */
.thl-p-users-profile .activity-card { background: var(--white); border-color: var(--border); }
/* ── TAB BAR ── */
.thl-p-users-profile .profile-tab-btn.active { color:var(--g-dk); }
.thl-p-users-profile .activity-item { background: var(--surf); border-color: var(--border); }
.thl-p-users-profile .activity-item:hover { border-color: var(--g); }
.thl-p-users-profile .activity-avatar { border-color: var(--border); }
.thl-p-users-profile .act-name { color:var(--ink); }
.thl-p-users-profile .act-name:hover { color:var(--g-dk); }
.thl-p-users-profile .act-verb { color:var(--muted); }
.thl-p-users-profile .activity-prop-thumb { border-color: var(--border); background: var(--border); }
.thl-p-users-profile .activity-prop-thumb-placeholder { background: var(--surf); border-color: var(--border); }
.thl-p-users-profile .activity-prop-thumb-placeholder i { color:var(--muted); }
.thl-p-users-profile .activity-prop-title-link { color:var(--c-blue); }
.thl-p-users-profile .activity-prop-sub { color:var(--muted); }
.thl-p-users-profile .activity-prop-price { color:var(--g-dk); }
.thl-p-users-profile .activity-actions { border-top-color: var(--border); }
.thl-p-users-profile .activity-act { color:var(--muted); }
.thl-p-users-profile .activity-time { color:var(--muted); }
.thl-p-users-profile .activity-card-header { border-bottom-color: var(--border); }
.thl-p-users-profile .activity-card-header h2 { color:var(--ink); }
.thl-p-users-profile .activity-card-header h2 i { color:var(--g); }
.thl-p-users-profile .activity-empty { color:var(--muted); }
.thl-p-users-profile .activity-empty i { color:var(--border); }
/* ── PAGINATION ── */
.thl-p-users-profile .profile-pagination { border-top-color: var(--border); }
.thl-p-users-profile .profile-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-profile .profile-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-profile .profile-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-profile .profile-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-profile .profile-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-profile .profile-pagination span.ellipsis { color:var(--muted); }
/* ── ACTIVITY TYPE BADGE ── */
.thl-p-users-profile .act-type-badge { color:var(--white); }
.thl-p-users-profile .act-type-property { background: var(--g); }
.thl-p-users-profile .act-type-design { background: var(--arch); }
.thl-p-users-profile .act-type-professional { background: var(--c-cyan); }
.thl-p-users-profile .act-type-supply { background: var(--warn); }
.thl-p-users-profile .act-type-essential { background: var(--p-pink-3); }
.thl-p-users-profile .act-type-post { background: var(--blue-ink-2); }
.thl-p-users-profile .act-type-job { background: var(--p-blue-19); }
.thl-p-users-profile .act-type-calc { background: var(--p-green-12); }

/* ── users/publications.php ─────────────────────────────────────────── */
/* ── PAGE HEADER — border only, .thl-p-users-publications no box-shadow ── */
.thl-p-users-publications .page-header { background: var(--white); border-color: var(--border); }
.thl-p-users-publications .page-header-icon { background: var(--g-lt); }
.thl-p-users-publications .page-header-icon i { color:var(--g); }
.thl-p-users-publications .page-header-text h1 { color:var(--ink); }
.thl-p-users-publications .page-header-text p { color:var(--sub); }
.thl-p-users-publications .header-count { background: var(--g-lt); color:var(--g-dk); }
/* ── PUBLICATIONS CARD — border only, .thl-p-users-publications no box-shadow ── */
.thl-p-users-publications .pub-card { background: var(--white); border-color: var(--border); }
/* ── TAB BAR — page-level underline style ── */
.thl-p-users-publications .tab-btn.active { color:var(--g-dk); }
/* ── COMM CARD — border only, .thl-p-users-publications hover changes border-color, .thl-p-users-publications no translateY ── */
.thl-p-users-publications .comm-card { background: var(--white); border-color: var(--border); }
.thl-p-users-publications .comm-card:hover { border-color: var(--border-2); }
.thl-p-users-publications .comm-card-banner { background: var(--surf); }
.thl-p-users-publications .comm-card-banner-empty { background: linear-gradient(135deg, var(--g-bglt) 0%, var(--p-green-49) 100%); }
.thl-p-users-publications .comm-banner-icon { color:rgba(var(--g-rgb), 0.62); }
.thl-p-users-publications .comm-card-thread-hero { background: linear-gradient(135deg, var(--p-blue-2) 0%, var(--p-blue-7) 55%, var(--p-green-5) 100%); }
.thl-p-users-publications .comm-thread-bg-pattern { background-image: radial-gradient(circle at 15% 50%, rgba(var(--g-rgb), 0.14) 0%, transparent 50%),

        radial-gradient(circle at 85% 20%, rgba(var(--p-violet-5-rgb), 0.1) 0%, transparent 50%),

        repeating-linear-gradient(45deg, transparent, transparent 18px, rgba(var(--p-white-28-rgb), 0.02) 18px, rgba(var(--p-white-28-rgb), 0.02) 19px); }
.thl-p-users-publications .comm-thread-big-icon { color:rgba(var(--g-rgb), 0.85); }
.thl-p-users-publications .comm-thread-icon-ring { border-color: var(--g); }
.thl-p-users-publications .comm-thread-stat { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-users-publications .comm-thread-stat i { color:rgba(var(--g-rgb), 0.7); }
.thl-p-users-publications .badge-article { background: var(--g); color:var(--white); }
.thl-p-users-publications .badge-thread { background: var(--purple); color:var(--white); }
.thl-p-users-publications .comm-card-title { color:var(--ink); }
.thl-p-users-publications .comm-card-title:hover { color:var(--g-dk); }
.thl-p-users-publications .comm-card-desc { color:var(--sub); }
.thl-p-users-publications .comm-author-avatar { border-color: var(--g); }
.thl-p-users-publications .comm-author-name { color:var(--ink); }
.thl-p-users-publications .comm-verified { color:var(--g); }
.thl-p-users-publications .comm-author-time { color:var(--muted); }
.thl-p-users-publications .comm-card-actions { border-top-color: var(--border); }
.thl-p-users-publications .comm-act { color:var(--muted); }
.thl-p-users-publications .comm-act .fa-eye { color:var(--blue) !important; }
.thl-p-users-publications .comm-act .fa-heart { color:var(--red)  !important; }
.thl-p-users-publications .comm-act .fa-bookmark { color:var(--gold) !important; }
.thl-p-users-publications .pub-empty-icon { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-publications .pub-empty h3 { color:var(--ink); }
.thl-p-users-publications .pub-empty p { color:var(--muted); }
/* ── PAGINATION ── */
.thl-p-users-publications .asp-pagination { border-top-color: var(--border); }
.thl-p-users-publications .asp-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-publications .asp-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-publications .asp-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-publications .asp-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-publications .asp-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-publications .asp-pagination span.ellipsis { color:var(--muted); }
.thl-p-users-saved .total-pill { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
/* ── SAVED CARD ── */
.thl-p-users-saved .fav-card { background: var(--white); border-color: var(--border); }
/* ── TAB BAR ── */
.thl-p-users-saved .tab-btn.active { color:var(--g-dk); }
/* ── SHARED CARD BASE ── */
.thl-p-users-saved .fav-item { background: var(--surf); border-color: var(--border); }
.thl-p-users-saved .fav-item:hover { border-color: var(--g); }
/* ── ITEM IMAGE / SLIDER ── */
.thl-p-users-saved .fav-img-wrap { background: var(--border); }
.thl-p-users-saved .fav-no-img { color:var(--muted); }
.thl-p-users-saved .fav-slider-nav { background: rgba(var(--p-black-1-rgb), 0.44); color:var(--white); }
.thl-p-users-saved .fav-slider-nav:hover { background: rgba(var(--p-black-1-rgb), 0.72); }
.thl-p-users-saved .fav-slide-count { background: rgba(var(--p-black-1-rgb), 0.48); color:var(--white); }
.thl-p-users-saved .fav-badge { color:var(--white); }
.thl-p-users-saved .fav-badge-txn { color:var(--white); }
.thl-p-users-saved .txn-sale { background: var(--arch); }
.thl-p-users-saved .txn-rent { background: var(--c-cyan); }
.thl-p-users-saved .txn-booking { background: var(--warn); }
.thl-p-users-saved .txn-lease { background: var(--warn); }
.thl-p-users-saved .cat-arch { background: var(--arch); }
.thl-p-users-saved .cat-struct { background: var(--c-cyan); }
.thl-p-users-saved .fee-free { background: var(--ok); }
.thl-p-users-saved .fee-paid { background: var(--arch); }
.thl-p-users-saved .fee-quote { background: var(--warn); }
/* condition badges */
.thl-p-users-saved .cond-badge-wrap { color:var(--white); }
.thl-p-users-saved .cond-new { background: rgba(var(--g-rgb), 0.85); }
.thl-p-users-saved .cond-used { background: rgba(var(--p-blue-34-rgb), 0.82); }
.thl-p-users-saved .cond-refurb { background: rgba(var(--p-orange-19-rgb), 0.85); }
.thl-p-users-saved .fav-title { color:var(--ink); }
.thl-p-users-saved .fav-title:hover { color:var(--g-dk); }
.thl-p-users-saved .fav-sub { color:var(--sub); }
.thl-p-users-saved .fav-sub-dot { color:var(--muted); }
.thl-p-users-saved .fav-loc { color:var(--muted); }
.thl-p-users-saved .fav-loc i { color:var(--g); }
.thl-p-users-saved .fav-price { color:var(--ink); }
.thl-p-users-saved .fav-price-suffix { color:var(--muted); }
.thl-p-users-saved .fav-orig { color:var(--muted); }
.thl-p-users-saved .fav-disc { color:var(--white); background: var(--g); }
.thl-p-users-saved .fav-price-na { color:var(--muted); }
.thl-p-users-saved .fav-metric { color:var(--sub); }
.thl-p-users-saved .fav-metric i { color:var(--g); }
/* Spec chips */
.thl-p-users-saved .fav-specs { border-top-color: var(--border); }
.thl-p-users-saved .spec-chip { background: var(--white); border-color: var(--border); color:var(--sub); }
.thl-p-users-saved .spec-more { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-saved .fav-cat-icon { background: var(--g-lt); color:var(--g); }
.thl-p-users-saved .fav-cat-label { color:var(--g-dk); }
.thl-p-users-saved .fav-stars-back { color:var(--border-2); }
.thl-p-users-saved .fav-stars-front { color:var(--gold); }
.thl-p-users-saved .fav-rating-val { color:var(--ink); }
.thl-p-users-saved .fav-rating-cnt { color:var(--muted); }
.thl-p-users-saved .fav-meta-item { color:var(--sub); }
.thl-p-users-saved .fav-meta-item i { color:var(--g); }
/* ── ACTIONS ROW ── */
.thl-p-users-saved .fav-actions { border-top-color: var(--border); }
.thl-p-users-saved .fav-saved-at { color:var(--muted); }
.thl-p-users-saved .fav-saved-at i { color:var(--g); }
/* ── COMMUNITY POST CARD EXTRAS ── */
.thl-p-users-saved .fav-comm-banner { background: var(--surf); }
.thl-p-users-saved .fav-comm-banner-empty { background: linear-gradient(135deg, var(--p-blue-2) 0%, var(--p-blue-7) 55%, var(--p-green-5) 100%); }
.thl-p-users-saved .fav-comm-thread-icon { color:rgba(var(--g-rgb), 0.7); }
.thl-p-users-saved .fav-comm-type-badge { color:var(--white); }
.thl-p-users-saved .fav-comm-badge-article { background: var(--g); }
.thl-p-users-saved .fav-comm-badge-thread { background: var(--purple); }
.thl-p-users-saved .fav-comm-avatar { border-color: var(--g); }
.thl-p-users-saved .fav-comm-author-name { color:var(--ink); }
.thl-p-users-saved .fav-comm-verified { color:var(--g); }
.thl-p-users-saved .fav-comm-author-time { color:var(--muted); }
.thl-p-users-saved .fav-comm-desc { color:var(--sub); }
.thl-p-users-saved .fav-comm-stats { color:var(--muted); }
/* ── EMPTY STATE ── */
.thl-p-users-saved .fav-empty { color:var(--muted); }
.thl-p-users-saved .fav-empty > i { color:var(--border); }
.thl-p-users-saved .fav-empty a { background: var(--g); color:var(--white); }
/* ── PAGINATION ── */
.thl-p-users-saved .pagination { border-top-color: var(--border); }
.thl-p-users-saved .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-saved .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-saved .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-saved .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-saved .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-saved .pagination span.ellipsis { color:var(--muted); }

/* ── users/seller.php ─────────────────────────────────────────── */
/* ── PAGE HEADER — border only, .thl-p-users-seller no box-shadow ── */
.thl-p-users-seller .page-header { background: var(--white); border-color: var(--border); }
.thl-p-users-seller .page-header-icon { background: var(--g-lt); }
.thl-p-users-seller .page-header-icon i { color:var(--g); }
.thl-p-users-seller .page-header-text h1 { color:var(--ink); }
.thl-p-users-seller .page-header-text p { color:var(--sub); }
.thl-p-users-seller .header-count { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-seller .header-verified { color:var(--g); }
/* ── SELLER CARD — border only, .thl-p-users-seller no box-shadow ── */
.thl-p-users-seller .seller-card { background: var(--white); border-color: var(--border); }
/* ── TAB BAR — page-level underline style ── */
.thl-p-users-seller .tab-btn.active { color:var(--g-dk); }
.thl-p-users-seller .tab-btn.tab-stats-btn.active { color:var(--blue); }
/* ── LISTING CARD — border only, .thl-p-users-seller hover changes border-color, .thl-p-users-seller no translateY ── */
.thl-p-users-seller .lst-card { background: var(--white); border-color: var(--border); }
.thl-p-users-seller .lst-card:hover { border-color: var(--border-2); }
/* Banner */
.thl-p-users-seller .lst-banner { background: var(--surf); }
.thl-p-users-seller .lst-banner-empty { background: linear-gradient(135deg, var(--g-bglt) 0%, var(--p-green-49) 100%); color:rgba(var(--g-rgb), 0.62); }
.thl-p-users-seller .lst-banner-empty span { color:var(--muted); }
.thl-p-users-seller .lbadge { color:var(--white); }
.thl-p-users-seller .lb-txn-sale { background: var(--purple); }
.thl-p-users-seller .lb-txn-rent { background: var(--c-cyan); }
.thl-p-users-seller .lb-txn-lease { background: var(--warn); }
.thl-p-users-seller .lb-txn-booking { background: var(--warn); }
.thl-p-users-seller .lb-cond-new { background: var(--g); }
.thl-p-users-seller .lb-cond-used { background: var(--p-blue-34); }
.thl-p-users-seller .lb-cond-refurb { background: var(--blue); }
.thl-p-users-seller .lb-arch { background: var(--purple); }
.thl-p-users-seller .lb-struct { background: var(--c-cyan); }
.thl-p-users-seller .lb-fee-free { background: var(--ok); }
.thl-p-users-seller .lb-fee-paid { background: var(--purple); }
.thl-p-users-seller .lb-fee-quote { background: var(--warn); }
.thl-p-users-seller .lst-cat-pill { color:var(--g-dk); background: var(--g-lt); border-color: var(--g); }
.thl-p-users-seller .lst-title { color:var(--ink); }
.thl-p-users-seller .lst-sub { color:var(--sub); }
.thl-p-users-seller .lst-loc { color:var(--muted); }
.thl-p-users-seller .lst-loc i { color:var(--g); }
.thl-p-users-seller .lst-stars-back { color:var(--border-2); }
.thl-p-users-seller .lst-stars-front { color:var(--gold); }
.thl-p-users-seller .lst-rating-val { color:var(--ink); }
.thl-p-users-seller .lst-rating-cnt { color:var(--muted); }
.thl-p-users-seller .lst-price { color:var(--ink); }
.thl-p-users-seller .lst-price-suffix { color:var(--muted); }
.thl-p-users-seller .lst-price-orig { color:var(--muted); }
.thl-p-users-seller .lst-price-disc { color:var(--white); background: var(--g); }
.thl-p-users-seller .lst-price-na { color:var(--muted); }
/* Metrics row */
.thl-p-users-seller .lst-metrics { border-top-color: var(--border); }
.thl-p-users-seller .lst-metric { color:var(--sub); }
.thl-p-users-seller .lst-metric i { color:var(--g); }
/* Stats row */
.thl-p-users-seller .lst-stats { border-top-color: var(--border); }
.thl-p-users-seller .lst-stat { color:var(--muted); }
.thl-p-users-seller .lst-stat .fa-eye { color:var(--blue) !important; }
.thl-p-users-seller .lst-stat .fa-heart { color:var(--red)  !important; }
.thl-p-users-seller .lst-stat .fa-bookmark { color:var(--gold) !important; }
/* Spec chips (professions) */
.thl-p-users-seller .lst-spec-chips { border-top-color: var(--border); }
.thl-p-users-seller .lst-spec-chip { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-seller .lst-spec-more { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-seller .lst-empty-icon { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-seller .lst-empty h3 { color:var(--ink); }
.thl-p-users-seller .lst-empty p { color:var(--muted); }
/* ── PAGINATION ── */
.thl-p-users-seller .asp-pagination { border-top-color: var(--border); }
.thl-p-users-seller .asp-pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-seller .asp-pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-seller .asp-pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-seller .asp-pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-seller .asp-pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-seller .asp-pagination span.ellipsis { color:var(--muted); }
.thl-p-users-seller .stats-summary-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-seller .ssi-views { background: var(--blue-lt); color:var(--blue); }
.thl-p-users-seller .ssi-loves { background: var(--red-lt); color:var(--red); }
.thl-p-users-seller .ssi-favs { background: var(--amber-lt); color:var(--gold); }
.thl-p-users-seller .ssi-total { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-seller .stats-summary-info strong { color:var(--ink); }
.thl-p-users-seller .stats-summary-info span { color:var(--muted); }
.thl-p-users-seller .stats-chart-box { background: var(--white); border-color: var(--border); }
.thl-p-users-seller .stats-chart-box h4 { color:var(--ink); }
.thl-p-users-seller .stats-chart-box h4 i { color:var(--g); }
.thl-p-users-seller .stats-filter-bar label { color:var(--sub); }
.thl-p-users-seller .stats-table-box { background: var(--white); border-color: var(--border); }
.thl-p-users-seller .stats-table-box h4 { color:var(--ink); border-bottom-color: var(--border); }
.thl-p-users-seller .stats-table-box h4 i { color:var(--g); }
.thl-p-users-seller .stats-table thead tr { background: var(--surf); }
.thl-p-users-seller .stats-table th { color:var(--sub); border-bottom-color: var(--border); }
.thl-p-users-seller .stats-table td { color:var(--ink); border-bottom-color: var(--border); }
.thl-p-users-seller .stats-table tr:hover td { background: var(--surf); }
.thl-p-users-seller .stats-table td.td-muted { color:var(--muted); }
.thl-p-users-seller .stp-property { background: var(--blue-lt); color:var(--blue-ink-2); }
.thl-p-users-seller .stp-design { background: var(--purple-lt); color:var(--violet); }
.thl-p-users-seller .stp-profession { background: var(--p-grey-78); color:var(--p-green-10); }
.thl-p-users-seller .stp-supply { background: var(--amber-lt); color:var(--amber-ink); }
.thl-p-users-seller .stp-essential { background: var(--red-lt); color:var(--p-red-4); }
.thl-p-users-seller .stats-table .td-stat-eye { color:var(--blue); }
.thl-p-users-seller .stats-table .td-stat-heart { color:var(--red); }
.thl-p-users-seller .stats-table .td-stat-fav { color:var(--gold); }
.thl-p-users-seller .stats-no-data { color:var(--muted); }

/* ── users/settings.php ─────────────────────────────────────────── */
.thl-p-users-settings .page-header h1 { color:var(--ink); }
.thl-p-users-settings .page-header h1 i { color:var(--g); }
.thl-p-users-settings .page-header p { color:var(--sub); }
.thl-p-users-settings .thl-alert.success { border-color: var(--g-mid); background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-settings .thl-alert.error { border-color: var(--red); background: var(--red-lt); color:var(--red); }
/* ── SETTINGS SHELL ── */
.thl-p-users-settings .settings-shell { background: var(--white); border-color: var(--border); }
/* ── TAB BAR ── */
.thl-p-users-settings .tab-btn.active { color:var(--g-dk); border-bottom-color: var(--g); }
/* ── SECTION TITLE ── */
.thl-p-users-settings .section-title { color:var(--ink); border-bottom-color: var(--border); }
.thl-p-users-settings .section-title i { color:var(--g); }
/* ── INFO CARD (read-only rows) ── */
.thl-p-users-settings .info-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-settings .info-row { color:var(--sub); border-bottom-color: var(--border); }
.thl-p-users-settings .info-row i { color:var(--g); }
.thl-p-users-settings .info-row-label { color:var(--ink); }
.thl-p-users-settings .info-row-val { color:var(--sub); }
.thl-p-users-settings .info-pill.green { background: var(--g-lt); color:var(--g-dk); border-color: var(--g-mid); }
.thl-p-users-settings .info-pill.gray { background: var(--surface2); color:var(--muted); border-color: var(--border); }
.thl-p-users-settings .info-pill.amber { background: var(--amber-lt); color:var(--amber-ink); border-color: var(--warn); }
.thl-p-users-settings .form-label { color:var(--ink); }
.thl-p-users-settings .form-label .req { color:var(--red); }
.thl-p-users-settings .form-label .hint { color:var(--muted); }
.thl-p-users-settings .form-input, .thl-p-users-settings .form-textarea { border-color: var(--border); background: var(--white); color:var(--ink); }
.thl-p-users-settings .form-input:focus, .thl-p-users-settings .form-textarea:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.11); }
.thl-p-users-settings .form-input.valid { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-settings .form-input.invalid { border-color: var(--red); background: var(--red-lt); }
.thl-p-users-settings .form-hint { color:var(--muted); }
/* ══════════════════════════════════════════

   TAB: PROFILE IMAGE

══════════════════════════════════════════ */
.thl-p-users-settings .avatar-section { background: var(--surf); border-color: var(--border); }
.thl-p-users-settings .avatar-circle { border-color: var(--g); background: var(--surf); outline-color: var(--g-lt); }
.thl-p-users-settings .avatar-status-dot { border-color: var(--white); }
.thl-p-users-settings .avatar-status-dot.has-image { background: var(--g); }
.thl-p-users-settings .avatar-status-dot.no-image { background: var(--muted); }
.thl-p-users-settings .avatar-meta-name { color:var(--ink); }
.thl-p-users-settings .avatar-meta-status.custom { color:var(--g-dk); }
.thl-p-users-settings .avatar-meta-status.default { color:var(--muted); }
.thl-p-users-settings .avatar-meta-hint { color:var(--muted); }
/* File upload zone */
.thl-p-users-settings .file-upload-zone { border-color: var(--border); background: var(--surf); }
.thl-p-users-settings .file-upload-zone:hover { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-settings .file-upload-icon { color:var(--muted); }
.thl-p-users-settings .file-upload-zone:hover .file-upload-icon { color:var(--g); }
.thl-p-users-settings .file-upload-text { color:var(--sub); }
.thl-p-users-settings .file-upload-zone:hover .file-upload-text { color:var(--g-dk); }
.thl-p-users-settings .file-upload-sub { color:var(--muted); }
/* ══════════════════════════════════════════

   TAB: SECURITY — change-field rows

══════════════════════════════════════════ */
.thl-p-users-settings .security-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-settings .change-row { color:var(--sub); border-bottom-color: var(--border); background: var(--white); }
.thl-p-users-settings .change-row-icon { background: var(--g-lt); }
.thl-p-users-settings .change-row-icon i { color:var(--g); }
.thl-p-users-settings .change-row-label { color:var(--ink); }
.thl-p-users-settings .change-row-val { color:var(--sub); }
.thl-p-users-settings .change-btn { background: var(--white); border-color: var(--border); color:var(--sub); }
.thl-p-users-settings .change-btn:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
/* Expandable field panel */
.thl-p-users-settings .update-panel { background: var(--p-white-26); border-top-color: var(--border); }
.thl-p-users-settings .eye-btn { color:var(--muted); }
.thl-p-users-settings .eye-btn:hover { color:var(--ink); }
/* Password strength popup */
.thl-p-users-settings .pw-popup { background: var(--white); border-color: var(--border); }
.thl-p-users-settings .pw-popup-title { color:var(--ink); }
.thl-p-users-settings .strength-bar { background: var(--border); }
.thl-p-users-settings .strength-bar.s1 { background: var(--p-red-18); }
.thl-p-users-settings .strength-bar.s2 { background: var(--p-orange-23); }
.thl-p-users-settings .strength-bar.s3 { background: var(--p-orange-18); }
.thl-p-users-settings .strength-bar.s4 { background: var(--g); }
.thl-p-users-settings .pw-req-item { color:var(--muted); }
.thl-p-users-settings .pw-req-item.met { color:var(--g-dk); }
.thl-p-users-settings .pw-match-note.ok { color:var(--g); }
.thl-p-users-settings .pw-match-note.err { color:var(--red); }
/* Current password block */
.thl-p-users-settings .current-pw-block { background: var(--amber-lt); border-color: var(--warn); }
.thl-p-users-settings .current-pw-block .form-label { color:var(--p-orange-2); }
.thl-p-users-settings .current-pw-block .form-hint { color:var(--amber-ink); }
.thl-p-users-settings .link-card { background: var(--white); border-color: var(--border); }
.thl-p-users-settings .link-card:focus-within { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.09); }
.thl-p-users-settings .link-card-name { color:var(--ink); }
.thl-p-users-settings .link-card-desc { color:var(--muted); }
.thl-p-users-settings .link-card input[type="url"] { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-users-settings .link-card input[type="url"]:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.10); background: var(--white); }
/* Social icon colours */
.thl-p-users-settings .ico-website { background: var(--g-bglt); color:var(--g-dk); }
.thl-p-users-settings .ico-facebook { background: var(--blue-lt); color:var(--facebook); }
.thl-p-users-settings .ico-twitter { background: var(--p-white-5); color:var(--twitter-color); }
.thl-p-users-settings .ico-telegram { background: var(--p-white-5); color:var(--telegram-color); }
.thl-p-users-settings .ico-linkedin { background: var(--blue-lt); color:var(--linkedin-color); }
.thl-p-users-settings .ico-whatsapp { background: var(--g-bglt); color:var(--whatsapp-color); }
.thl-p-users-settings .ico-discord { background: var(--p-grey-48); color:var(--discord-color); }
.thl-p-users-settings .ico-snapchat { background: var(--p-amber-9); color:var(--warn); }
.thl-p-users-settings .ico-instagram { background: var(--p-grey-63); color:var(--instagram-color); }
.thl-p-users-settings .ico-tiktok { background: var(--surf); color:var(--tiktok-color); }
.thl-p-users-settings .ico-youtube { background: var(--red-lt); color:var(--vivid-red); }
.thl-p-users-settings .privacy-card { background: var(--white); border-color: var(--border); }
.thl-p-users-settings .privacy-card:hover { border-color: var(--g-mid); background: var(--p-white-27); }
.thl-p-users-settings .privacy-card:has(input:checked) { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-settings .privacy-toggle { background: var(--border); }
.thl-p-users-settings .privacy-toggle::after { background: var(--white); }
.thl-p-users-settings .privacy-card:has(input:checked) .privacy-toggle { background: var(--g); }
.thl-p-users-settings .privacy-card-label { color:var(--ink); }
.thl-p-users-settings .privacy-card-desc { color:var(--sub); }
/* ── Inline upload spinner (matches edit_post style — uses currentColor so it

      inherits the button's text color and stays visible on the light .btn-save) ── */
.thl-p-users-settings .spinner { border-color: color-mix(in srgb, currentColor 30%, transparent); border-top-color: currentColor; }
.thl-p-users-settings .confirm-backdrop { background: rgba(var(--p-grey-4-rgb), 0.45); }
.thl-p-users-settings .confirm-box { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18); }
.thl-p-users-settings .confirm-icon-wrap { background: var(--red-lt); }
.thl-p-users-settings .confirm-icon-wrap i { color:var(--red); }
.thl-p-users-settings .confirm-title { color:var(--ink); }
.thl-p-users-settings .confirm-msg { color:var(--sub); }
.thl-p-users-settings .cm-btn-outline { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-settings .cm-btn-outline:hover { border-color: var(--muted); color:var(--ink); background: var(--surf); }
.thl-p-users-settings .cm-btn-red { background: var(--red); color:var(--white); }
.thl-p-users-settings .cm-btn-red:hover { background: var(--error); box-shadow: 0 4px 14px rgba(var(--p-red-15-rgb), 0.35); }
.thl-p-users-settings .upl-meter { background: rgba(var(--g-rgb,0,181,63),0.15); }
.thl-p-users-settings .upl-bar { background: linear-gradient(90deg, var(--g,var(--g)), var(--g-vivid)); }
.thl-p-users-settings .upl-pct { color:var(--g-dk,var(--p-green-11)); }
.thl-p-users-settings #upload-error { color:var(--red,var(--red)); }
/* ── TICKET LIST PANEL — border only, .thl-p-users-support no box-shadow ── */
.thl-p-users-support .tkt-panel { background: var(--white); border-color: var(--border); }
.thl-p-users-support .tkt-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-support .tkt-head-title { color:var(--muted); }
.thl-p-users-support .tkt-head-title i { color:var(--g); }
.thl-p-users-support .unread-pill { background: var(--red); color:var(--white); }
.thl-p-users-support .tkt-scroll::-webkit-scrollbar-thumb { background: var(--border); }
/* ── TICKET ITEM ── */
.thl-p-users-support .tkt-item { border-bottom-color: var(--surface2); }
.thl-p-users-support .tkt-item:hover { background: var(--g-lt); }
.thl-p-users-support .tkt-item.is-active { background: rgba(var(--g-rgb),0.09); border-left-color: var(--g); }
.thl-p-users-support .tkt-item.has-unread { background: rgba(var(--p-red-15-rgb), 0.05); }
.thl-p-users-support .tkt-item.has-unread:hover { background: rgba(var(--p-red-15-rgb), 0.09); }
.thl-p-users-support .tkt-icon { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-support .tkt-icon.is-closed { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-support .tkt-icon.is-pending { background: var(--amber-lt); border-color: var(--warn); color:var(--amber); }
.thl-p-users-support .tkt-subject { color:var(--ink); }
.thl-p-users-support .tkt-time { color:var(--muted); }
.thl-p-users-support .tkt-preview { color:var(--muted); }
.thl-p-users-support .tkt-badge { background: var(--red); color:var(--white); }
.thl-p-users-support .no-tickets { color:var(--muted); }
.thl-p-users-support .no-tickets i { color:var(--border); }
/* ── THREAD PANEL — border only, .thl-p-users-support no box-shadow ── */
.thl-p-users-support .thread-panel { background: var(--white); border-color: var(--border); }
.thl-p-users-support .thread-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-support .thread-head-subject { color:var(--ink); }
.thl-p-users-support .st-open { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-support .st-pending { background: var(--amber-lt); color:var(--amber-ink); border-color: var(--warn); }
.thl-p-users-support .st-closed { background: var(--surface2); color:var(--muted); border-color: var(--border); }
.thl-p-users-support .pr-high { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-users-support .pr-medium { background: var(--amber-lt); color:var(--amber-ink); border-color: var(--warn); }
.thl-p-users-support .pr-low { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-support .tkt-ref-label { color:var(--muted); }
.thl-p-users-support .thread-empty i { color:var(--border); }
.thl-p-users-support .thread-empty p { color:var(--muted); }
/* Ghost green — Rule 3 */
.thl-p-users-support .empty-new-btn { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-support .empty-new-btn:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-support .msg-list::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-support .sep-date span { background: var(--white); color:var(--muted); }
.thl-p-users-support .sep-date::before { border-top-color: var(--border); }
.thl-p-users-support .msg-av { border-color: var(--border); }
.thl-p-users-support .msg-av.is-admin { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-support .sent .msg-bubble { background: rgba(var(--g-rgb),0.07); border-color: var(--g); }
.thl-p-users-support .received .msg-bubble { background: var(--surf); border-color: var(--border); }
.thl-p-users-support .msg-sender { color:var(--g-dk); }
.thl-p-users-support .msg-subject-tag { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-support .msg-content { color:var(--ink); }
.thl-p-users-support .msg-time { color:var(--muted); }
/* Closed notice */
.thl-p-users-support .closed-notice { background: var(--surface2); border-top-color: var(--border); color:var(--muted); }
/* Compose */
.thl-p-users-support .compose { border-top-color: var(--border); background: var(--white); }
.thl-p-users-support .compose textarea { border-color: var(--border); background: var(--surf); color:var(--ink); }
.thl-p-users-support .compose textarea:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb),0.1); }
.thl-p-users-support .compose textarea::placeholder { color:var(--muted); }
/* ── MODAL — z-index: 9999, .thl-p-users-support pointer-events: all, .thl-p-users-support border on box, .thl-p-users-support no box-shadow ── */
.thl-p-users-support .modal-backdrop { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-support .modal-box { background: var(--white); border-color: var(--border); }
.thl-p-users-support .modal-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-support .modal-head h2 { color:var(--ink); }
.thl-p-users-support .modal-head h2 i { color:var(--g); }
/* Icon close — no transition: all */
.thl-p-users-support .modal-close { background: var(--white); border-color: var(--border); color:var(--muted); }
.thl-p-users-support .modal-close:hover { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-support .form-group label { color:var(--sub); }
.thl-p-users-support .form-group input, .thl-p-users-support .form-group select, .thl-p-users-support .form-group textarea { border-color: var(--border); color:var(--ink); background: var(--surf); }
.thl-p-users-support .form-group input:focus, .thl-p-users-support .form-group select:focus, .thl-p-users-support .form-group textarea:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb),0.1); }
.thl-p-users-support .modal-foot { border-top-color: var(--border); background: var(--surf); }

/* ── users/user/become_seller.php ─────────────────────────────────────────── */
.thl-p-users-user-become-seller .bs-info-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-become-seller .bs-info-header { background: var(--g); }
.thl-p-users-user-become-seller .bs-info-header::before { background-image: radial-gradient(circle, rgba(var(--p-white-28-rgb), 0.06) 1px, transparent 1px); background-size:20px 20px; }
.thl-p-users-user-become-seller .bs-info-header-icon { background: rgba(var(--p-white-28-rgb), 0.15); border-color: rgba(var(--p-white-28-rgb), 0.25); color:var(--white); }
.thl-p-users-user-become-seller .bs-info-header h3 { color:var(--white); }
.thl-p-users-user-become-seller .bs-info-header p { color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-user-become-seller .bs-perk { border-bottom-color: var(--border); }
.thl-p-users-user-become-seller .bs-perk-icon.perk-home { background: var(--blue-bglt); color:var(--info); }
.thl-p-users-user-become-seller .bs-perk-icon.perk-boxes { background: var(--p-orange-27); color:var(--orange); }
.thl-p-users-user-become-seller .bs-perk-icon.perk-shield { background: var(--p-green-47); color:var(--p-green-20); }
.thl-p-users-user-become-seller .bs-perk-icon.perk-chart { background: var(--violet-bglt); color:var(--arch); }
.thl-p-users-user-become-seller .bs-perk-text strong { color:var(--ink-2); }
.thl-p-users-user-become-seller .bs-perk-text span { color:var(--muted); }
/* Status badge */
.thl-p-users-user-become-seller .bs-status-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-become-seller .bs-status-label { color:var(--muted); }
.thl-p-users-user-become-seller .bs-badge-none { background: var(--surface2); color:var(--p-blue-34); }
.thl-p-users-user-become-seller .bs-action-btn { border-color: transparent; }
.thl-p-users-user-become-seller .bs-action-btn-edit { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-become-seller .bs-action-btn-edit:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-become-seller .bs-action-btn-outline { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-become-seller .bs-action-btn-outline:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-users-user-become-seller .bs-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-become-seller .bs-card-head { border-bottom-color: var(--border); }
.thl-p-users-user-become-seller .bs-card-head-icon { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-user-become-seller .bs-card-head h2 { color:var(--ink-2); }
.thl-p-users-user-become-seller .bs-card-head p { color:var(--muted); }
.thl-p-users-user-become-seller .bs-alert-error { background: var(--red-lt); border-color: var(--red); color:var(--p-red-4); }
.thl-p-users-user-become-seller .bs-alert-success { background: var(--g-lt); border-color: var(--g); color:var(--g-inklt); }
/* Edit-while-pending notice */
.thl-p-users-user-become-seller .bs-edit-notice { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-user-become-seller .bs-edit-notice i { color:var(--warn); }
/* File replace warning */
.thl-p-users-user-become-seller .bs-file-replace-note { background: var(--p-orange-29); border-color: var(--warn); color:var(--p-orange-4); }
.thl-p-users-user-become-seller .bs-file-replace-note i { color:var(--orange); }
.thl-p-users-user-become-seller .bs-field label.bs-label { color:var(--p-blue-19); }
.thl-p-users-user-become-seller .bs-field input.bs-input, .thl-p-users-user-become-seller .bs-field textarea.bs-input { border-color: var(--border); background: var(--white); color:var(--ink-2); }
.thl-p-users-user-become-seller .bs-field input.bs-input:focus, .thl-p-users-user-become-seller .bs-field textarea.bs-input:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-users-user-become-seller .bs-field input.bs-valid { border-color: var(--ok) !important; background: var(--g-lt); }
.thl-p-users-user-become-seller .bs-field input.bs-invalid { border-color: var(--red) !important; background: var(--red-lt); }
.thl-p-users-user-become-seller .bs-char-count { color:var(--muted); }
.thl-p-users-user-become-seller .bs-char-count.warn { color:var(--red); }
/* Upload zone */
.thl-p-users-user-become-seller .bs-upload-zone { border-color: var(--border); background: var(--p-white-16); }
.thl-p-users-user-become-seller .bs-upload-zone:hover, .thl-p-users-user-become-seller .bs-upload-zone.drag-over { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-user-become-seller .bs-upload-icon { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-user-become-seller .bs-upload-zone h4 { color:var(--p-blue-19); }
.thl-p-users-user-become-seller .bs-upload-zone p { color:var(--muted); }
.thl-p-users-user-become-seller .bs-preview-item { border-color: var(--border); background: var(--white); }
.thl-p-users-user-become-seller .bs-preview-item:hover { border-color: var(--border-2); }
.thl-p-users-user-become-seller .bs-preview-pdf { background: var(--red-lt); color:var(--error); }
.thl-p-users-user-become-seller .bs-preview-name { color:var(--muted); }
.thl-p-users-user-become-seller .bs-preview-remove { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); }
.thl-p-users-user-become-seller .bs-preview-remove:hover { background: var(--red); }
/* Lightbox */
.thl-p-users-user-become-seller .bs-lightbox { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-user-become-seller .bs-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-user-become-seller .bs-lb-title { color:rgba(var(--p-white-28-rgb), 0.82); }
.thl-p-users-user-become-seller .bs-lb-title i { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-user-become-seller .bs-lb-mode-btn { border-color: rgba(var(--p-white-28-rgb), 0.18); background: rgba(var(--p-white-28-rgb), 0.08); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-user-become-seller .bs-lb-mode-btn:hover { background: rgba(var(--p-white-28-rgb), 0.16); color:var(--white); border-color: rgba(var(--p-white-28-rgb), 0.35); }
.thl-p-users-user-become-seller .bs-lb-mode-btn.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-become-seller .bs-lb-close-btn { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-user-become-seller .bs-lb-close-btn:hover { background: rgba(var(--p-red-15-rgb), 0.4); color:var(--white); border-color: var(--red); }
.thl-p-users-user-become-seller .bs-lb-hint { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-user-become-seller .bs-doc-item { border-color: var(--border); background: var(--white); }
.thl-p-users-user-become-seller .bs-doc-item:hover { border-color: var(--border-2); }
.thl-p-users-user-become-seller .bs-doc-pdf { background: var(--red-lt); color:var(--error); }
.thl-p-users-user-become-seller .bs-doc-pdf span { color:var(--muted); }
.thl-p-users-user-become-seller .bs-doc-label { color:var(--muted); border-top-color: var(--border); }
.thl-p-users-user-become-seller .bs-info-row strong { color:var(--p-blue-19); }
.thl-p-users-user-become-seller .bs-info-row span { color:var(--p-blue-34); }
.thl-p-users-user-become-seller .bs-summary-item { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-become-seller .bs-summary-icon { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-user-become-seller .bs-summary-label { color:var(--muted); }
.thl-p-users-user-become-seller .bs-summary-value { color:var(--ink-2); }
.thl-p-users-user-become-seller .bs-summary-section { border-top-color: var(--border); }
.thl-p-users-user-become-seller .bs-summary-section-title { color:var(--p-blue-19); }
.thl-p-users-user-become-seller .bs-summary-bio { color:var(--sub); background: var(--surf); border-color: var(--border); }
/* Submit button — ghost green pattern */
.thl-p-users-user-become-seller .bs-submit-btn { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-become-seller .bs-submit-btn:hover:not(:disabled) { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-become-seller .bs-submit-btn:disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
/* Confirm modal */
.thl-p-users-user-become-seller .bs-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.5); }
.thl-p-users-user-become-seller .bs-confirm-modal { background: var(--white); border-color: var(--border); }
.thl-p-users-user-become-seller .bs-confirm-icon { background: var(--blue-lt); border-color: var(--info); color:var(--info); }
.thl-p-users-user-become-seller .bs-confirm-title { color:var(--ink); }
.thl-p-users-user-become-seller .bs-confirm-body { color:var(--sub); }
.thl-p-users-user-become-seller .bs-confirm-btn-cancel { background: var(--surf); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-become-seller .bs-confirm-btn-cancel:hover { background: var(--surface2); border-color: var(--border-2); color:var(--ink); }
.thl-p-users-user-become-seller .bs-confirm-btn-send { background: var(--info); color:var(--white); border-color: var(--info); }
.thl-p-users-user-become-seller .bs-confirm-btn-send:hover { background: var(--blue-ink-2); border-color: var(--blue-ink-2); }
.thl-p-users-user-become-seller .bs-confirm-btn-send:disabled { background: var(--muted); border-color: var(--muted); }
/* ── Upload / submit progress overlay (indeterminate — no live %, .thl-p-users-user-become-seller so it never

      interferes with the native submit + inline error rendering) ── */
.thl-p-users-user-become-seller #bsUploadOverlay { background: rgba(var(--p-white-28-rgb), 0.82); }
.thl-p-users-user-become-seller .bs-upl-card { background: var(--white); border-color: var(--border, var(--border)); box-shadow: 0 8px 40px rgba(var(--p-black-1-rgb), 0.13); }
.thl-p-users-user-become-seller .bs-upl-icon { background: rgba(var(--g-rgb, 0,181,63), 0.10); }
.thl-p-users-user-become-seller .bs-upl-icon i { color:var(--g, var(--g)); }
.thl-p-users-user-become-seller .bs-upl-spinner { border-color: var(--border, var(--border)); border-top-color: var(--g, var(--g)); }
.thl-p-users-user-become-seller .bs-upl-title { color:var(--ink, var(--ink)); }
.thl-p-users-user-become-seller .bs-upl-sub { color:var(--sub, var(--sub)); }
.thl-p-users-user-become-seller .bs-upl-pct { color:var(--g, var(--g)); }
.thl-p-users-user-become-seller .bs-upl-bar-wrap { background: var(--border, var(--border)); }
.thl-p-users-user-become-seller .bs-upl-bar { background: linear-gradient(90deg, var(--g, var(--g)), var(--g-vivid)); }
.thl-p-users-user-become-seller .bs-upl-detail { color:var(--muted, var(--muted)); }
.thl-p-users-user-become-seller .bs-doc-remove { background: rgba(var(--p-black-1-rgb), 0.6); color:var(--white); border-color: var(--white); }
.thl-p-users-user-become-seller .bs-doc-remove:hover { background: var(--red, var(--red)); }
.thl-p-users-user-my-accounting .bal-header-label { color:var(--muted); }
.thl-p-users-user-my-accounting .bal-header-val { color:var(--vivid-blue); }
.thl-p-users-user-my-accounting .bal-header-cur { color:var(--vivid-blue); }
/* ── BUTTONS ── */
.thl-p-users-user-my-accounting .btn { border-color: transparent; }
/* ── ALERTS ── */
.thl-p-users-user-my-accounting .sum-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-accounting .sum-card.sc-green::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-accounting .sum-card.sc-red::before { background: linear-gradient(90deg, var(--p-red-18), var(--red)); }
.thl-p-users-user-my-accounting .sum-card.sc-blue::before { background: linear-gradient(90deg, var(--blue), var(--p-blue-43)); }
.thl-p-users-user-my-accounting .sum-card.sc-gold::before { background: linear-gradient(90deg, var(--gold), var(--p-orange-23)); }
.thl-p-users-user-my-accounting .sum-card.sc-purple::before { background: linear-gradient(90deg, var(--arch), var(--p-violet-7)); }
.thl-p-users-user-my-accounting .sum-card.sc-teal::before { background: linear-gradient(90deg, var(--c-cyan), var(--p-teal-7)); }
.thl-p-users-user-my-accounting .sc-green  .sum-card-icon { background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-user-my-accounting .sc-red    .sum-card-icon { background: var(--red-lt); color:var(--red); }
.thl-p-users-user-my-accounting .sc-blue   .sum-card-icon { background: var(--blue-lt); color:var(--blue); }
.thl-p-users-user-my-accounting .sc-gold   .sum-card-icon { background: var(--amber-lt); color:var(--gold); }
.thl-p-users-user-my-accounting .sc-purple .sum-card-icon { background: var(--purple-lt); color:var(--arch); }
.thl-p-users-user-my-accounting .sc-teal   .sum-card-icon { background: var(--p-teal-9); color:var(--c-cyan); }
.thl-p-users-user-my-accounting .sum-card-label { color:var(--muted); }
.thl-p-users-user-my-accounting .sum-card-val { color:var(--ink); }
.thl-p-users-user-my-accounting .sum-card-sub { color:var(--muted); }
/* ── CHART SECTION ── */
.thl-p-users-user-my-accounting .chart-section { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-accounting .chart-header { border-bottom-color: var(--border); }
.thl-p-users-user-my-accounting .chart-header::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-accounting .chart-title { color:var(--ink); }
.thl-p-users-user-my-accounting .chart-title i { color:var(--g); }
.thl-p-users-user-my-accounting .chart-legend-item { color:var(--sub); }
.thl-p-users-user-my-accounting .chart-period-btn { color:var(--muted); border-right-color: var(--border); }
.thl-p-users-user-my-accounting .chart-period-btn:hover { color:var(--ink); background: var(--white); }
.thl-p-users-user-my-accounting .chart-period-btn.active { background: var(--g); color:var(--white); }
.thl-p-users-user-my-accounting .chart-period-lbl { color:var(--muted); }
.thl-p-users-user-my-accounting .acc-tab.active { color:var(--g-dk); border-bottom-color: var(--g); background: var(--g-lt); }
.thl-p-users-user-my-accounting .acc-tab.active .acc-tab-badge { background: var(--g); color:var(--white); border-color: var(--g); }
/* ── SEC BLOCK ── */
.thl-p-users-user-my-accounting .sec-block { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-accounting .sec-head { border-bottom-color: var(--border); }
.thl-p-users-user-my-accounting .sec-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-accounting .sec-head-title { color:var(--ink); }
.thl-p-users-user-my-accounting .sec-head-title i { color:var(--g); }
.thl-p-users-user-my-accounting .sec-head-sub { color:var(--muted); }
.thl-p-users-user-my-accounting .method-tab.active { border-color: var(--g); background: var(--g-lt); color:var(--g-dk); }
.thl-p-users-user-my-accounting .form-label { color:var(--ink); }
.thl-p-users-user-my-accounting .form-label span { color:var(--red); }
.thl-p-users-user-my-accounting .form-input { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-user-my-accounting .form-input:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), .1); }
.thl-p-users-user-my-accounting .form-hint { color:var(--muted); }
/* ── WITHDRAWAL ── */
.thl-p-users-user-my-accounting .balance-display { background: var(--g-lt); border-color: var(--g); }
.thl-p-users-user-my-accounting .bal-label { color:var(--g-dk); }
.thl-p-users-user-my-accounting .bal-amount { color:var(--vivid-blue); }
.thl-p-users-user-my-accounting .bal-currency { color:var(--vivid-blue); }
.thl-p-users-user-my-accounting .limit-pill { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-accounting .limit-pill i { color:var(--g); }
.thl-p-users-user-my-accounting .cooldown-notice { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-users-user-my-accounting .method-summary { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-accounting .method-summary-title { color:var(--muted); }
.thl-p-users-user-my-accounting .method-summary-row { color:var(--sub); }
.thl-p-users-user-my-accounting .method-summary-row i { color:var(--g); }
.thl-p-users-user-my-accounting .method-summary-val { color:var(--ink); }
.thl-p-users-user-my-accounting .tx-date-input { border-color: var(--border); color:var(--sub); background: var(--white); }
.thl-p-users-user-my-accounting .tx-date-input:focus { border-color: var(--g); }
/* ── LEDGER TABLE ── */
.thl-p-users-user-my-accounting .tx-table-wrap { border-color: var(--border); }
.thl-p-users-user-my-accounting .tx-table-wrap::-webkit-scrollbar-track { background: var(--surf); }
.thl-p-users-user-my-accounting .tx-table-wrap::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-accounting .tx-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-user-my-accounting .tx-table thead th { color:var(--muted); }
.thl-p-users-user-my-accounting .tx-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-user-my-accounting .tx-table tbody tr:hover { background: var(--surf); }
.thl-p-users-user-my-accounting .dir-in { color:var(--vivid-blue); }
.thl-p-users-user-my-accounting .dir-out { color:var(--vivid-red); }
/* ── LEDGER FOOTER BAR ── */
.thl-p-users-user-my-accounting .ledger-footer { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-accounting .lf-cell { border-right-color: var(--border); }
.thl-p-users-user-my-accounting .lf-label { color:var(--muted); }
.thl-p-users-user-my-accounting .lf-val.in-val { color:var(--vivid-blue); }
.thl-p-users-user-my-accounting .lf-val.out-val { color:var(--vivid-red); }
.thl-p-users-user-my-accounting .lf-val.ops-val { color:var(--ink); }
/* ── WITHDRAWAL HISTORY ── */
.thl-p-users-user-my-accounting .wd-table-wrap { border-color: var(--border); }
.thl-p-users-user-my-accounting .wd-table thead tr { background: var(--surf); border-bottom-color: var(--border); }
.thl-p-users-user-my-accounting .wd-table thead th { color:var(--muted); }
.thl-p-users-user-my-accounting .wd-table tbody tr { border-bottom-color: var(--border); }
.thl-p-users-user-my-accounting .wd-table tbody tr:hover { background: var(--surf); }
.thl-p-users-user-my-accounting .wd-badge.pending { background: var(--amber-lt); color:var(--amber-ink); border-color: var(--warn); }
.thl-p-users-user-my-accounting .wd-badge.approved { background: var(--blue-lt); color:var(--blue-ink); border-color: var(--info); }
.thl-p-users-user-my-accounting .wd-badge.paid { background: var(--g-lt); color:var(--p-green-10); border-color: var(--g); }
.thl-p-users-user-my-accounting .wd-badge.rejected { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-accounting .wd-badge.processing { background: var(--blue-lt); color:var(--blue-ink); border-color: var(--info); }
.thl-p-users-user-my-accounting .wd-badge.failed { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-accounting .wd-badge.reversed { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-accounting .wd-ref { color:var(--g-dk); }
.thl-p-users-user-my-accounting .wd-note { color:var(--muted); }
.thl-p-users-user-my-accounting .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-accounting .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-accounting .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-accounting .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-user-my-accounting .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-accounting .pagination span.ellipsis { color:var(--muted); }
.thl-p-users-user-my-accounting .empty-state > i { color:var(--border); }
.thl-p-users-user-my-accounting .empty-state p { color:var(--muted); }
.thl-p-users-user-my-bids .btn { border-color: transparent; }
.thl-p-users-user-my-bids .s-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-bids .s-tab.active i { color:var(--g); }
.thl-p-users-user-my-bids .s-tab.active .s-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-bids .search-wrap i { color:var(--muted); }
.thl-p-users-user-my-bids .bid-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-bids .bid-card:hover { border-color: var(--border-2); }
.thl-p-users-user-my-bids .bid-card-img { background: var(--surf); }
.thl-p-users-user-my-bids .bid-card-img-placeholder { color:var(--muted); }
.thl-p-users-user-my-bids .bid-img-price { background: rgba(var(--p-black-1-rgb), .6); color:var(--white); }
.thl-p-users-user-my-bids .bid-job-title { color:var(--ink); }
.thl-p-users-user-my-bids .bid-job-type { color:var(--g-dk); }
.thl-p-users-user-my-bids .bid-job-meta { color:var(--sub); }
.thl-p-users-user-my-bids .bid-poster-row { border-bottom-color: var(--border); }
.thl-p-users-user-my-bids .poster-av { border-color: var(--g); }
.thl-p-users-user-my-bids .poster-name { color:var(--sub); }
.thl-p-users-user-my-bids .poster-name strong { color:var(--ink); }
.thl-p-users-user-my-bids .bid-date { color:var(--muted); }
.thl-p-users-user-my-bids .bid-card-actions { border-top-color: var(--border); }
.thl-p-users-user-my-bids .active-job-banner.in-progress { background: var(--purple-lt); color:var(--purple); border-color: var(--violet); }
.thl-p-users-user-my-bids .active-job-banner.under-review { background: var(--amber-lt); color:var(--amber-ink); border-color: var(--warn); }
.thl-p-users-user-my-bids .active-job-banner.completed { background: var(--p-grey-84); color:var(--teal); border-color: var(--g); }
.thl-p-users-user-my-bids .active-job-banner.awaiting-pay { background: var(--blue-lt); color:var(--blue-ink); border-color: var(--info); }
/* ── REVISION NOTE ── */
.thl-p-users-user-my-bids .revision-note-box { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
/* ── DELIVERABLES PANEL ── */
.thl-p-users-user-my-bids .del-panel { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-bids .del-panel-title { color:var(--muted); }
.thl-p-users-user-my-bids .del-slots { color:var(--sub); }
.thl-p-users-user-my-bids .del-slots strong { color:var(--g-dk); }
.thl-p-users-user-my-bids .slot-seg { background: var(--border); }
.thl-p-users-user-my-bids .slot-seg.used { background: var(--g); }
.thl-p-users-user-my-bids .slot-seg.used.warn { background: var(--gold); }
.thl-p-users-user-my-bids .slot-seg.used.full { background: var(--red); }
.thl-p-users-user-my-bids .del-file-row { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-bids .del-file-row:hover { border-color: var(--g); }
.thl-p-users-user-my-bids .del-file-ico { color:var(--g); }
.thl-p-users-user-my-bids .del-file-name { color:var(--ink); }
.thl-p-users-user-my-bids .del-file-size { color:var(--muted); }
.thl-p-users-user-my-bids .del-file-del { background: rgba(var(--p-red-15-rgb), 0.07); border-color: var(--red); color:var(--red); }
.thl-p-users-user-my-bids .del-file-del:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-user-my-bids .del-empty { color:var(--muted); }
/* ── UPLOAD SECTION ── */
.thl-p-users-user-my-bids .upload-section { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-bids .upload-section-title { color:var(--muted); }
.thl-p-users-user-my-bids .drop-zone { border-color: var(--border); background: var(--white); }
.thl-p-users-user-my-bids .drop-zone:hover, .thl-p-users-user-my-bids .drop-zone.dragover { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-user-my-bids .drop-zone-icon { color:var(--muted); }
.thl-p-users-user-my-bids .drop-zone:hover .drop-zone-icon, .thl-p-users-user-my-bids .drop-zone.dragover .drop-zone-icon { color:var(--g); }
.thl-p-users-user-my-bids .drop-zone-title { color:var(--ink); }
.thl-p-users-user-my-bids .drop-zone-sub { color:var(--muted); }
.thl-p-users-user-my-bids .type-pill { border-color: var(--border); color:var(--muted); background: var(--white); }
.thl-p-users-user-my-bids .preview-item { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-bids .preview-item.invalid { border-color: var(--red); background: var(--red-lt); }
.thl-p-users-user-my-bids .preview-item-icon { color:var(--g); }
.thl-p-users-user-my-bids .preview-item.invalid .preview-item-icon { color:var(--red); }
.thl-p-users-user-my-bids .preview-item-name { color:var(--ink); }
.thl-p-users-user-my-bids .preview-item.invalid .preview-item-name { color:var(--red); }
.thl-p-users-user-my-bids .preview-item-size { color:var(--muted); }
.thl-p-users-user-my-bids .preview-item-ok { color:var(--g); }
.thl-p-users-user-my-bids .preview-item-err { color:var(--red); }
.thl-p-users-user-my-bids .note-area { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-user-my-bids .note-area:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), .1); }
.thl-p-users-user-my-bids .earnings-badge { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-bids .flash-box.success { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-bids .flash-box.error { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-bids .err-list { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-bids .empty-state { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-bids .empty-state > i { color:var(--border); }
.thl-p-users-user-my-bids .empty-state h3 { color:var(--ink); }
.thl-p-users-user-my-bids .empty-state p { color:var(--sub); }
.thl-p-users-user-my-bids .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-bids .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-bids .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-bids .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-user-my-bids .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-bids .pagination span.ellipsis { color:var(--muted); }
.thl-p-users-user-my-bids .modal { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .btn { border-color: transparent; }
.thl-p-users-user-my-calculator-projects .s-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .s-tab.active i { color:var(--g); }
.thl-p-users-user-my-calculator-projects .s-tab.active .s-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-calculator-projects .search-wrap i { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .design-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .design-card:hover { border-color: var(--border-2); }
.thl-p-users-user-my-calculator-projects .design-card-img { background: var(--surf); }
.thl-p-users-user-my-calculator-projects .design-card-img-placeholder { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .design-photo-count { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); }
.thl-p-users-user-my-calculator-projects .design-card-title { color:var(--ink); }
.thl-p-users-user-my-calculator-projects .design-card-meta { color:var(--sub); }
.thl-p-users-user-my-calculator-projects .meta-dot { color:var(--border); }
.thl-p-users-user-my-calculator-projects .design-card-price { color:var(--g-dk); }
.thl-p-users-user-my-calculator-projects .design-card-discount { color:var(--sub); }
.thl-p-users-user-my-calculator-projects .design-card-discount s { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .design-progress-label { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .design-progress-bar { background: var(--border); }
.thl-p-users-user-my-calculator-projects .design-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-calculator-projects .design-card-actions { border-top-color: var(--border); }
.thl-p-users-user-my-calculator-projects .admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-calculator-projects .next-step-banner { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-users-user-my-calculator-projects .next-step-banner a { color:var(--amber-ink); }
.thl-p-users-user-my-calculator-projects .paid-lock-notice { background: var(--p-amber-9); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-user-my-calculator-projects .paid-lock-notice i { color:var(--warn); }
.thl-p-users-user-my-calculator-projects .empty-state { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .empty-state > i { color:var(--border); }
.thl-p-users-user-my-calculator-projects .empty-state h3 { color:var(--ink); }
.thl-p-users-user-my-calculator-projects .empty-state p { color:var(--sub); }
.thl-p-users-user-my-calculator-projects .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-calculator-projects .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-calculator-projects .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-user-my-calculator-projects .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .pagination span.ellipsis { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .modal { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .modal-warn { background: var(--red-lt); border-color: var(--red); color:var(--error); }
/* ── DESIGN DETAIL MODAL ── */
.thl-p-users-user-my-calculator-projects .mp-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-user-my-calculator-projects .mp-dm-header-left h2 { color:var(--ink); }
.thl-p-users-user-my-calculator-projects .mp-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-calculator-projects .mp-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-user-my-calculator-projects .mp-dm-left { border-right-color: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-sec-label { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .mp-sec-label::after { background: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-gallery-main { background: var(--ink-3); }
.thl-p-users-user-my-calculator-projects .mp-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.58); border-color: rgba(var(--p-white-28-rgb), 0.18); color:var(--white); }
.thl-p-users-user-my-calculator-projects .mp-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-user-my-calculator-projects .mp-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.62); color:var(--white); }
.thl-p-users-user-my-calculator-projects .mp-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-calculator-projects .mp-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-thumb { border-color: transparent; }
.thl-p-users-user-my-calculator-projects .mp-thumb.active { border-color: var(--g); }
.thl-p-users-user-my-calculator-projects .mp-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-info-label { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .mp-info-val { color:var(--ink); }
.thl-p-users-user-my-calculator-projects .mp-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-desc-empty { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .mp-spec { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-spec i { color:var(--g); }
.thl-p-users-user-my-calculator-projects .mp-spec-val { color:var(--ink); }
.thl-p-users-user-my-calculator-projects .mp-spec-key { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .mp-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-calculator-projects .mp-location-box i { color:var(--g); }
.thl-p-users-user-my-calculator-projects .mp-admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-calculator-projects .mp-link-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-calculator-projects .mp-link-item i { color:var(--g); }
.thl-p-users-user-my-calculator-projects .mp-link-item a { color:var(--info); }
.thl-p-users-user-my-calculator-projects .mp-stat { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-stat-num { color:var(--ink); }
.thl-p-users-user-my-calculator-projects .mp-stat-lbl { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .mp-price-summary { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-price-main { color:var(--g-dk); }
.thl-p-users-user-my-calculator-projects .mp-price-row { color:var(--sub); border-bottom-color: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-price-row strong { color:var(--ink); }
.thl-p-users-user-my-calculator-projects .mp-progress-wrap { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-progress-top { color:var(--ink); }
.thl-p-users-user-my-calculator-projects .mp-progress-bar { background: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-calculator-projects .mp-progress-hint { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .mp-action-btn { border-color: transparent; }
.thl-p-users-user-my-calculator-projects .mp-action-green { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-calculator-projects .mp-action-green:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-calculator-projects .mp-action-gold { background: rgba(var(--p-orange-14-rgb), 0.07); color:var(--gold); border-color: var(--gold); }
.thl-p-users-user-my-calculator-projects .mp-action-gold:hover { background: var(--gold); color:var(--white); border-color: var(--gold); }
.thl-p-users-user-my-calculator-projects .mp-action-blue { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-user-my-calculator-projects .mp-action-blue:hover { background: var(--info); color:var(--white); border-color: var(--info); }
.thl-p-users-user-my-calculator-projects .mp-action-outline { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-my-calculator-projects .mp-action-outline:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-users-user-my-calculator-projects .mp-action-red { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-calculator-projects .mp-action-red:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-user-my-calculator-projects .mp-loading { color:var(--muted); }
/* Lightbox */
.thl-p-users-user-my-calculator-projects .mp-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-user-my-calculator-projects .mp-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-user-my-calculator-projects .mp-lb-title { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-users-user-my-calculator-projects .mp-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-user-my-calculator-projects .mp-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-user-my-calculator-projects .mp-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-calculator-projects .mp-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-user-my-calculator-projects .mp-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-calculator-projects .mp-lb-th { border-color: transparent; }
.thl-p-users-user-my-calculator-projects .mp-lb-th.on { border-color: var(--g); }
.thl-p-users-user-my-calculator-projects .mp-dm-right { border-top-color: var(--border); }
.thl-p-users-user-my-calculator-projects .design-card-price { color:var(--ink); }
.thl-p-users-user-my-designs .btn { border-color: transparent; }
.thl-p-users-user-my-designs .s-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-designs .s-tab.active i { color:var(--g); }
.thl-p-users-user-my-designs .s-tab.active .s-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-designs .search-wrap i { color:var(--muted); }
.thl-p-users-user-my-designs .design-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-designs .design-card:hover { border-color: var(--border-2); }
.thl-p-users-user-my-designs .design-card-img { background: var(--surf); }
.thl-p-users-user-my-designs .design-card-img-placeholder { color:var(--muted); }
.thl-p-users-user-my-designs .design-photo-count { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); }
.thl-p-users-user-my-designs .design-card-title { color:var(--ink); }
.thl-p-users-user-my-designs .design-card-meta { color:var(--sub); }
.thl-p-users-user-my-designs .meta-dot { color:var(--border); }
.thl-p-users-user-my-designs .design-card-price { color:var(--g-dk); }
.thl-p-users-user-my-designs .design-card-discount { color:var(--sub); }
.thl-p-users-user-my-designs .design-card-discount s { color:var(--muted); }
.thl-p-users-user-my-designs .design-progress-label { color:var(--muted); }
.thl-p-users-user-my-designs .design-progress-bar { background: var(--border); }
.thl-p-users-user-my-designs .design-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-designs .design-card-actions { border-top-color: var(--border); }
.thl-p-users-user-my-designs .admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-designs .next-step-banner { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-users-user-my-designs .next-step-banner a { color:var(--amber-ink); }
.thl-p-users-user-my-designs .paid-lock-notice { background: var(--p-amber-9); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-user-my-designs .paid-lock-notice i { color:var(--warn); }
.thl-p-users-user-my-designs .empty-state { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-designs .empty-state > i { color:var(--border); }
.thl-p-users-user-my-designs .empty-state h3 { color:var(--ink); }
.thl-p-users-user-my-designs .empty-state p { color:var(--sub); }
.thl-p-users-user-my-designs .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-designs .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-designs .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-designs .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-user-my-designs .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-designs .pagination span.ellipsis { color:var(--muted); }
.thl-p-users-user-my-designs .modal { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-designs .modal-warn { background: var(--red-lt); border-color: var(--red); color:var(--error); }
/* ── DESIGN DETAIL MODAL ── */
.thl-p-users-user-my-designs .mp-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-user-my-designs .mp-dm-header-left h2 { color:var(--ink); }
.thl-p-users-user-my-designs .mp-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-designs .mp-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-user-my-designs .mp-dm-left { border-right-color: var(--border); }
.thl-p-users-user-my-designs .mp-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-designs .mp-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-designs .mp-sec-label { color:var(--muted); }
.thl-p-users-user-my-designs .mp-sec-label::after { background: var(--border); }
.thl-p-users-user-my-designs .mp-gallery-main { background: var(--ink-3); }
.thl-p-users-user-my-designs .mp-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.58); border-color: rgba(var(--p-white-28-rgb), 0.18); color:var(--white); }
.thl-p-users-user-my-designs .mp-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-user-my-designs .mp-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.62); color:var(--white); }
.thl-p-users-user-my-designs .mp-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-designs .mp-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-designs .mp-thumb { border-color: transparent; }
.thl-p-users-user-my-designs .mp-thumb.active { border-color: var(--g); }
.thl-p-users-user-my-designs .mp-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-designs .mp-info-label { color:var(--muted); }
.thl-p-users-user-my-designs .mp-info-val { color:var(--ink); }
.thl-p-users-user-my-designs .mp-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-designs .mp-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-designs .mp-desc-empty { color:var(--muted); }
.thl-p-users-user-my-designs .mp-spec { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-designs .mp-spec i { color:var(--g); }
.thl-p-users-user-my-designs .mp-spec-val { color:var(--ink); }
.thl-p-users-user-my-designs .mp-spec-key { color:var(--muted); }
.thl-p-users-user-my-designs .mp-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-designs .mp-location-box i { color:var(--g); }
.thl-p-users-user-my-designs .mp-admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-designs .mp-link-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-designs .mp-link-item i { color:var(--g); }
.thl-p-users-user-my-designs .mp-link-item a { color:var(--info); }
.thl-p-users-user-my-designs .mp-stat { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-designs .mp-stat-num { color:var(--ink); }
.thl-p-users-user-my-designs .mp-stat-lbl { color:var(--muted); }
.thl-p-users-user-my-designs .mp-price-summary { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-designs .mp-price-main { color:var(--g-dk); }
.thl-p-users-user-my-designs .mp-price-row { color:var(--sub); border-bottom-color: var(--border); }
.thl-p-users-user-my-designs .mp-price-row strong { color:var(--ink); }
.thl-p-users-user-my-designs .mp-progress-wrap { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-designs .mp-progress-top { color:var(--ink); }
.thl-p-users-user-my-designs .mp-progress-bar { background: var(--border); }
.thl-p-users-user-my-designs .mp-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-designs .mp-progress-hint { color:var(--muted); }
.thl-p-users-user-my-designs .mp-action-btn { border-color: transparent; }
.thl-p-users-user-my-designs .mp-action-green { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-designs .mp-action-green:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-designs .mp-action-gold { background: rgba(var(--p-orange-14-rgb), 0.07); color:var(--gold); border-color: var(--gold); }
.thl-p-users-user-my-designs .mp-action-gold:hover { background: var(--gold); color:var(--white); border-color: var(--gold); }
.thl-p-users-user-my-designs .mp-action-blue { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-user-my-designs .mp-action-blue:hover { background: var(--info); color:var(--white); border-color: var(--info); }
.thl-p-users-user-my-designs .mp-action-outline { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-my-designs .mp-action-outline:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-users-user-my-designs .mp-action-red { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-designs .mp-action-red:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-user-my-designs .mp-loading { color:var(--muted); }
/* Lightbox */
.thl-p-users-user-my-designs .mp-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-user-my-designs .mp-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-user-my-designs .mp-lb-title { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-users-user-my-designs .mp-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-user-my-designs .mp-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-user-my-designs .mp-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-designs .mp-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-user-my-designs .mp-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-designs .mp-lb-th { border-color: transparent; }
.thl-p-users-user-my-designs .mp-lb-th.on { border-color: var(--g); }
.thl-p-users-user-my-designs .mp-dm-right { border-top-color: var(--border); }
.thl-p-users-user-my-essentials .btn { border-color: transparent; }
.thl-p-users-user-my-essentials .s-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-essentials .s-tab.active i { color:var(--g); }
.thl-p-users-user-my-essentials .s-tab.active .s-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-essentials .search-wrap i { color:var(--muted); }
.thl-p-users-user-my-essentials .prop-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-essentials .prop-card:hover { border-color: var(--border-2); }
.thl-p-users-user-my-essentials .prop-card-img { background: var(--surf); }
.thl-p-users-user-my-essentials .prop-card-img-placeholder { color:var(--muted); }
.thl-p-users-user-my-essentials .prop-photo-count { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); }
.thl-p-users-user-my-essentials .prop-card-title { color:var(--ink); }
.thl-p-users-user-my-essentials .prop-card-meta { color:var(--sub); }
.thl-p-users-user-my-essentials .meta-dot { color:var(--border); }
.thl-p-users-user-my-essentials .prop-card-price { color:var(--g-dk); }
.thl-p-users-user-my-essentials .prop-card-price-sub { color:var(--muted); }
.thl-p-users-user-my-essentials .prop-card-discount { color:var(--sub); }
.thl-p-users-user-my-essentials .prop-progress-label { color:var(--muted); }
.thl-p-users-user-my-essentials .prop-progress-bar { background: var(--border); }
.thl-p-users-user-my-essentials .prop-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-essentials .prop-card-actions { border-top-color: var(--border); }
.thl-p-users-user-my-essentials .admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-essentials .next-step-banner { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-users-user-my-essentials .next-step-banner a { color:var(--amber-ink); }
.thl-p-users-user-my-essentials .empty-state { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-essentials .empty-state > i { color:var(--border); }
.thl-p-users-user-my-essentials .empty-state h3 { color:var(--ink); }
.thl-p-users-user-my-essentials .empty-state p { color:var(--sub); }
.thl-p-users-user-my-essentials .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-essentials .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-essentials .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-essentials .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-user-my-essentials .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-essentials .pagination span.ellipsis { color:var(--muted); }
.thl-p-users-user-my-essentials .modal { background: var(--white); border-color: var(--border); }
/* ── DETAIL MODAL ── */
.thl-p-users-user-my-essentials .mp-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-user-my-essentials .mp-dm-header-left h2 { color:var(--ink); }
.thl-p-users-user-my-essentials .mp-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-essentials .mp-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-user-my-essentials .mp-dm-left { border-right-color: var(--border); }
.thl-p-users-user-my-essentials .mp-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-essentials .mp-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-essentials .mp-sec-label { color:var(--muted); }
.thl-p-users-user-my-essentials .mp-sec-label::after { background: var(--border); }
.thl-p-users-user-my-essentials .mp-gallery-main { background: var(--ink-3); }
.thl-p-users-user-my-essentials .mp-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.58); border-color: rgba(var(--p-white-28-rgb), 0.18); color:var(--white); }
.thl-p-users-user-my-essentials .mp-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-user-my-essentials .mp-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.62); color:var(--white); }
.thl-p-users-user-my-essentials .mp-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-essentials .mp-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-essentials .mp-thumb { border-color: transparent; }
.thl-p-users-user-my-essentials .mp-thumb.active { border-color: var(--g); }
.thl-p-users-user-my-essentials .mp-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-essentials .mp-info-label { color:var(--muted); }
.thl-p-users-user-my-essentials .mp-info-val { color:var(--ink); }
.thl-p-users-user-my-essentials .mp-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-essentials .mp-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-essentials .mp-desc-empty { color:var(--muted); }
.thl-p-users-user-my-essentials .mp-spec { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-essentials .mp-spec i { color:var(--g); }
.thl-p-users-user-my-essentials .mp-spec-val { color:var(--ink); }
.thl-p-users-user-my-essentials .mp-spec-key { color:var(--muted); }
.thl-p-users-user-my-essentials .mp-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-essentials .mp-location-box i { color:var(--g); }
.thl-p-users-user-my-essentials .mp-admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-essentials .mp-link-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-essentials .mp-link-item i { color:var(--g); }
.thl-p-users-user-my-essentials .mp-link-item a { color:var(--info); }
.thl-p-users-user-my-essentials .mp-stat { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-essentials .mp-stat-num { color:var(--ink); }
.thl-p-users-user-my-essentials .mp-stat-lbl { color:var(--muted); }
.thl-p-users-user-my-essentials .mp-price-summary { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-essentials .mp-price-main { color:var(--g-dk); }
.thl-p-users-user-my-essentials .mp-price-row { color:var(--sub); border-bottom-color: var(--border); }
.thl-p-users-user-my-essentials .mp-price-row strong { color:var(--ink); }
.thl-p-users-user-my-essentials .mp-progress-wrap { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-essentials .mp-progress-top { color:var(--ink); }
.thl-p-users-user-my-essentials .mp-progress-bar { background: var(--border); }
.thl-p-users-user-my-essentials .mp-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-essentials .mp-progress-hint { color:var(--muted); }
.thl-p-users-user-my-essentials .mp-action-btn { border-color: transparent; }
.thl-p-users-user-my-essentials .mp-action-green { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-essentials .mp-action-green:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-essentials .mp-action-gold { background: rgba(var(--p-orange-14-rgb), 0.07); color:var(--gold); border-color: var(--gold); }
.thl-p-users-user-my-essentials .mp-action-gold:hover { background: var(--gold); color:var(--white); border-color: var(--gold); }
.thl-p-users-user-my-essentials .mp-action-blue { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-user-my-essentials .mp-action-blue:hover { background: var(--info); color:var(--white); border-color: var(--info); }
.thl-p-users-user-my-essentials .mp-action-outline { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-my-essentials .mp-action-outline:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-users-user-my-essentials .mp-action-red { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-essentials .mp-action-red:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-user-my-essentials .mp-loading { color:var(--muted); }
/* Lightbox */
.thl-p-users-user-my-essentials .mp-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-user-my-essentials .mp-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-user-my-essentials .mp-lb-title { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-users-user-my-essentials .mp-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-user-my-essentials .mp-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-user-my-essentials .mp-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-essentials .mp-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-user-my-essentials .mp-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-essentials .mp-lb-th { border-color: transparent; }
.thl-p-users-user-my-essentials .mp-lb-th.on { border-color: var(--g); }
.thl-p-users-user-my-essentials .mp-dm-right { border-top-color: var(--border); }
/* ── SECTION SWITCHER — page-level nav, .thl-p-users-user-my-freelance keep underline style (Rule 4) ── */
.thl-p-users-user-my-freelance .section-tab.active { color:var(--g-dk); background: var(--g-lt); border-bottom-color: var(--g); }
.thl-p-users-user-my-freelance .section-badge { background: var(--g); color:var(--white); }
.thl-p-users-user-my-freelance .section-tab:not(.active) .section-badge { background: var(--surf); color:var(--muted); border-color: var(--border); }
/* ── BUTTONS ── */
.thl-p-users-user-my-freelance .btn { border-color: transparent; }
.thl-p-users-user-my-freelance .s-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-freelance .s-tab.active i { color:var(--g); }
.thl-p-users-user-my-freelance .s-tab.active .s-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-freelance .s-tab.awaiting-pay.active .s-tab-count { background: var(--gold); border-color: var(--gold); color:var(--white); }
.thl-p-users-user-my-freelance .search-wrap i { color:var(--muted); }
.thl-p-users-user-my-freelance .job-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-freelance .job-card:hover { border-color: var(--border-2); }
.thl-p-users-user-my-freelance .job-card.has-deliverables { border-color: var(--warn); }
.thl-p-users-user-my-freelance .job-card.awaiting-payment { border-color: var(--amber); }
.thl-p-users-user-my-freelance .job-card-img { background: var(--surf); }
.thl-p-users-user-my-freelance .job-card-img-placeholder { color:var(--muted); }
.thl-p-users-user-my-freelance .job-nature-tag { background: rgba(var(--p-black-1-rgb), 0.62); color:var(--white); }
.thl-p-users-user-my-freelance .job-bid-count { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); }
.thl-p-users-user-my-freelance .job-card-title { color:var(--ink); }
.thl-p-users-user-my-freelance .job-card-type { color:var(--g-dk); }
.thl-p-users-user-my-freelance .job-card-meta { color:var(--sub); }
.thl-p-users-user-my-freelance .meta-dot { color:var(--border); }
.thl-p-users-user-my-freelance .job-budget-chip { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-freelance .job-budget-chip.open-bids { background: var(--blue-lt); color:var(--blue-ink); border-color: var(--info); }
.thl-p-users-user-my-freelance .job-progress-label { color:var(--muted); }
.thl-p-users-user-my-freelance .job-progress-bar { background: var(--border); }
.thl-p-users-user-my-freelance .job-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-freelance .job-card-actions { border-top-color: var(--border); }
.thl-p-users-user-my-freelance .admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-freelance .next-step-banner { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-users-user-my-freelance .next-step-banner a { color:var(--amber-ink); }
.thl-p-users-user-my-freelance .pay-now-banner { background: linear-gradient(135deg, var(--amber-lt), var(--amber-bglt)); border-color: var(--amber); }
.thl-p-users-user-my-freelance .pay-now-banner-left i { color:var(--amber); }
.thl-p-users-user-my-freelance .pay-now-banner-text { color:var(--amber-ink); }
.thl-p-users-user-my-freelance .pay-now-banner-text strong { color:var(--p-orange-2); }
.thl-p-users-user-my-freelance .review-banner { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-users-user-my-freelance .review-banner strong { color:var(--ink); }
.thl-p-users-user-my-freelance .completed-banner { background: var(--p-grey-84); border-color: var(--g); color:var(--teal); }
.thl-p-users-user-my-freelance .bid-row-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-freelance .bid-row-card:hover { border-color: var(--border-2); }
.thl-p-users-user-my-freelance .bid-row-card.awarded { border-color: var(--g); }
.thl-p-users-user-my-freelance .bid-row-card.shortlisted { border-color: var(--info); }
.thl-p-users-user-my-freelance .brc-top { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-user-my-freelance .bid-row-card.awarded     .brc-top::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-freelance .bid-row-card.shortlisted .brc-top::before { background: linear-gradient(90deg, var(--blue), var(--p-blue-48)); }
.thl-p-users-user-my-freelance .bid-row-card.pending     .brc-top::before { background: linear-gradient(90deg, var(--gold), var(--p-amber-2)); }
.thl-p-users-user-my-freelance .bid-row-card.rejected    .brc-top::before { background: linear-gradient(90deg, var(--red), var(--p-red-18)); }
.thl-p-users-user-my-freelance .brc-job-title { color:var(--ink); }
.thl-p-users-user-my-freelance .brc-av { border-color: var(--g); }
.thl-p-users-user-my-freelance .brc-bidder-name { color:var(--ink); }
.thl-p-users-user-my-freelance .brc-verified { background: var(--g); }
.thl-p-users-user-my-freelance .brc-verified i { color:var(--white); }
.thl-p-users-user-my-freelance .brc-price { color:var(--g-dk); }
.thl-p-users-user-my-freelance .brc-price-sub { color:var(--muted); }
.thl-p-users-user-my-freelance .brc-cover { color:var(--sub); }
.thl-p-users-user-my-freelance .brc-actions { border-top-color: var(--border); }
.thl-p-users-user-my-freelance .brc-date { color:var(--muted); }
/* ── DELIVERABLE REVIEW MODAL ── */
.thl-p-users-user-my-freelance .rev-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.55); }
.thl-p-users-user-my-freelance .rev-modal-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-user-my-freelance .rev-modal-title { color:var(--ink); }
.thl-p-users-user-my-freelance .rev-modal-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-freelance .rev-modal-close:hover { background: var(--red-lt); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-freelance .rev-modal-body::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-freelance .rev-chip.green { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-freelance .rev-chip.gold { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-users-user-my-freelance .rev-chip.purple { background: var(--purple-lt); border-color: var(--violet); color:var(--violet); }
.thl-p-users-user-my-freelance .rev-chip.blue { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-users-user-my-freelance .rev-sec-label { color:var(--muted); }
.thl-p-users-user-my-freelance .rev-sec-label::after { background: var(--border); }
.thl-p-users-user-my-freelance .rev-file-item { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-freelance .rev-file-item:hover { border-color: var(--g); }
.thl-p-users-user-my-freelance .rev-file-ico { color:var(--g); }
.thl-p-users-user-my-freelance .rev-file-name { color:var(--ink); }
.thl-p-users-user-my-freelance .rev-file-size { color:var(--muted); }
.thl-p-users-user-my-freelance .rev-download-btn { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-freelance .rev-download-btn:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-freelance .rev-note-box { background: var(--amber-lt); border-color: var(--warn); color:var(--p-blue-19); }
.thl-p-users-user-my-freelance .rev-note-label { color:var(--amber-ink); }
.thl-p-users-user-my-freelance .rev-note-area { border-color: var(--border); color:var(--ink); background: var(--white); }
.thl-p-users-user-my-freelance .rev-note-area:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(var(--g-rgb), .08); }
.thl-p-users-user-my-freelance .rev-modal-foot { border-top-color: var(--border); background: var(--surf); }
/* ── EMPTY STATE ── */
.thl-p-users-user-my-freelance .empty-state { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-freelance .empty-state > i { color:var(--border); }
.thl-p-users-user-my-freelance .empty-state h3 { color:var(--ink); }
.thl-p-users-user-my-freelance .empty-state p { color:var(--sub); }
.thl-p-users-user-my-freelance .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-freelance .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-freelance .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-freelance .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-user-my-freelance .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-freelance .pagination span.ellipsis { color:var(--muted); }
.thl-p-users-user-my-freelance .modal { background: var(--white); border-color: var(--border); }
/* ── JOB DETAIL MODAL ── */
.thl-p-users-user-my-freelance .mp-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-user-my-freelance .mp-dm-header-left h2 { color:var(--ink); }
.thl-p-users-user-my-freelance .mp-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-freelance .mp-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-user-my-freelance .mp-dm-left { border-right-color: var(--border); }
.thl-p-users-user-my-freelance .mp-dm-left::-webkit-scrollbar-thumb, .thl-p-users-user-my-freelance .mp-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-freelance .mp-sec-label { color:var(--muted); }
.thl-p-users-user-my-freelance .mp-sec-label::after { background: var(--border); }
.thl-p-users-user-my-freelance .mp-gallery-main { background: var(--ink-3); }
.thl-p-users-user-my-freelance .mp-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.58); border-color: rgba(var(--p-white-28-rgb), 0.18); color:var(--white); }
.thl-p-users-user-my-freelance .mp-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-user-my-freelance .mp-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.62); color:var(--white); }
.thl-p-users-user-my-freelance .mp-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-freelance .mp-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-freelance .mp-thumb { border-color: transparent; }
.thl-p-users-user-my-freelance .mp-thumb.active { border-color: var(--g); }
.thl-p-users-user-my-freelance .mp-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-freelance .mp-info-label { color:var(--muted); }
.thl-p-users-user-my-freelance .mp-info-val { color:var(--ink); }
.thl-p-users-user-my-freelance .mp-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-freelance .mp-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-freelance .mp-cf-grid { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-freelance .mp-cf-row { border-bottom-color: var(--border); }
.thl-p-users-user-my-freelance .mp-cf-key { color:var(--sub); }
.thl-p-users-user-my-freelance .mp-cf-val { color:var(--ink); }
.thl-p-users-user-my-freelance .mp-chip { background: var(--surf); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-my-freelance .mp-chip-green { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-freelance .mp-att-item { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-freelance .mp-att-name { color:var(--ink); }
.thl-p-users-user-my-freelance .mp-att-sub { color:var(--muted); }
.thl-p-users-user-my-freelance .mp-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-freelance .mp-location-box i { color:var(--g); }
.thl-p-users-user-my-freelance .mp-admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-freelance .mp-stat { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-freelance .mp-stat-num { color:var(--ink); }
.thl-p-users-user-my-freelance .mp-stat-lbl { color:var(--muted); }
.thl-p-users-user-my-freelance .mp-budget-box { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-freelance .mp-budget-main { color:var(--g-dk); }
.thl-p-users-user-my-freelance .mp-budget-row { color:var(--sub); border-bottom-color: var(--border); }
.thl-p-users-user-my-freelance .mp-budget-row strong { color:var(--ink); }
.thl-p-users-user-my-freelance .mp-progress-wrap { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-freelance .mp-progress-top { color:var(--ink); }
.thl-p-users-user-my-freelance .mp-progress-bar { background: var(--border); }
.thl-p-users-user-my-freelance .mp-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-freelance .mp-progress-hint { color:var(--muted); }
.thl-p-users-user-my-freelance .mp-action-btn { border-color: transparent; }
.thl-p-users-user-my-freelance .mp-action-green { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-freelance .mp-action-green:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-freelance .mp-action-blue { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-user-my-freelance .mp-action-blue:hover { background: var(--info); color:var(--white); border-color: var(--info); }
.thl-p-users-user-my-freelance .mp-action-outline { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-my-freelance .mp-action-outline:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-users-user-my-freelance .mp-action-red { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-freelance .mp-action-red:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-user-my-freelance .mp-action-pay { background: linear-gradient(135deg, var(--amber), var(--warn)); color:var(--white); }
.thl-p-users-user-my-freelance .mp-action-pay:hover { background: linear-gradient(135deg, var(--warn), var(--p-orange-9)); }
.thl-p-users-user-my-freelance .mp-loading { color:var(--muted); }
/* Lightbox */
.thl-p-users-user-my-freelance .mp-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-user-my-freelance .mp-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-user-my-freelance .mp-lb-title { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-users-user-my-freelance .mp-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-user-my-freelance .mp-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-user-my-freelance .mp-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-freelance .mp-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-user-my-freelance .mp-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-freelance .mp-lb-th { border-color: transparent; }
.thl-p-users-user-my-freelance .mp-lb-th.on { border-color: var(--g); }
.thl-p-users-user-my-freelance .mp-dm-right { border-top-color: var(--border); }
/* ── BUTTONS ── */
.thl-p-users-user-my-posts .btn { border-color: transparent; }
.thl-p-users-user-my-posts .s-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-posts .s-tab.active i { color:var(--g); }
.thl-p-users-user-my-posts .s-tab.active .s-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-posts .search-wrap i { color:var(--muted); }
.thl-p-users-user-my-posts .post-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-posts .post-card:hover { border-color: var(--border-2); box-shadow: 0 8px 24px rgba(var(--p-black-1-rgb), 0.09); }
/* ── ARTICLE BANNER ── */
.thl-p-users-user-my-posts .post-card-img { background: var(--surf); }
/* ── ARTICLE NO-BANNER FALLBACK ── */
.thl-p-users-user-my-posts .post-card-img-placeholder { color:var(--muted); }
/* ── THREAD HERO — dark gradient matching community page ── */
.thl-p-users-user-my-posts .post-card-thread-hero { background: linear-gradient(135deg, var(--p-blue-2) 0%, var(--p-blue-7) 55%, var(--p-green-5) 100%); }
.thl-p-users-user-my-posts .thread-hero-bg { background-image: radial-gradient(circle at 15% 50%, rgba(var(--g-rgb), 0.16) 0%, transparent 50%),

        radial-gradient(circle at 85% 20%, rgba(var(--p-violet-3-rgb), 0.10) 0%, transparent 50%),

        repeating-linear-gradient(

            45deg,

            transparent,

            transparent 18px,

            rgba(var(--p-white-28-rgb), 0.018) 18px,

            rgba(var(--p-white-28-rgb), 0.018) 19px

        ); }
.thl-p-users-user-my-posts .thread-big-icon { color:rgba(var(--g-rgb), 0.85); }
.thl-p-users-user-my-posts .thread-icon-ring { border-color: var(--g); }
.thl-p-users-user-my-posts .thread-stat { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-users-user-my-posts .thread-stat i { color:rgba(var(--g-rgb), 0.75); }
.thl-p-users-user-my-posts .type-thread { background: rgba(var(--p-violet-3-rgb), 0.88); color:var(--white); }
.thl-p-users-user-my-posts .type-article { background: rgba(var(--g-rgb), 0.88); color:var(--white); }
.thl-p-users-user-my-posts .post-card-title { color:var(--ink); }
.thl-p-users-user-my-posts .post-card-desc { color:var(--sub); }
.thl-p-users-user-my-posts .post-card-meta { color:var(--muted); }
.thl-p-users-user-my-posts .meta-dot { color:var(--border); }
.thl-p-users-user-my-posts .post-card-actions { border-top-color: var(--border); }
.thl-p-users-user-my-posts .post-updated { color:var(--muted); }
.thl-p-users-user-my-posts .rejection-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
/* ── EMPTY STATE ── */
.thl-p-users-user-my-posts .empty-state { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-posts .empty-state > i { color:var(--border); }
.thl-p-users-user-my-posts .empty-state h3 { color:var(--ink); }
.thl-p-users-user-my-posts .empty-state p { color:var(--sub); }
.thl-p-users-user-my-posts .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-posts .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-posts .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-posts .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-user-my-posts .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-posts .pagination span.ellipsis { color:var(--muted); }
.thl-p-users-user-my-posts .modal { background: var(--white); border-color: var(--border); }
/* ── POST DETAIL MODAL ── */
.thl-p-users-user-my-posts .mp-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-user-my-posts .mp-dm-header-left h2 { color:var(--ink); }
.thl-p-users-user-my-posts .mp-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-posts .mp-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-user-my-posts .mp-badge-thread { background: var(--blue-lt); color:var(--blue-ink-2); border-color: var(--info); }
.thl-p-users-user-my-posts .mp-badge-article { background: var(--purple-lt); color:var(--violet); border-color: var(--violet); }
.thl-p-users-user-my-posts .mp-dm-left { border-right-color: var(--border); }
.thl-p-users-user-my-posts .mp-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-posts .mp-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-posts .mp-sec-label { color:var(--muted); }
.thl-p-users-user-my-posts .mp-sec-label::after { background: var(--border); }
.thl-p-users-user-my-posts .mp-banner { background: var(--surf); }
/* ── Detail modal thread hero banner ── */
.thl-p-users-user-my-posts .mp-banner-thread { background: linear-gradient(135deg, var(--p-blue-2) 0%, var(--p-blue-7) 55%, var(--p-green-5) 100%); }
.thl-p-users-user-my-posts .mp-banner-thread::before { background-image: radial-gradient(circle at 20% 50%, rgba(var(--g-rgb), 0.16) 0%, transparent 55%),

        radial-gradient(circle at 80% 30%, rgba(var(--p-violet-3-rgb), 0.10) 0%, transparent 55%),

        repeating-linear-gradient(45deg, transparent, transparent 16px, rgba(var(--p-white-28-rgb), 0.018) 16px, rgba(var(--p-white-28-rgb), 0.018) 17px); }
.thl-p-users-user-my-posts .mp-banner-thread-icon { color:rgba(var(--g-rgb), 0.85); }
.thl-p-users-user-my-posts .mp-banner-thread-label span { color:rgba(var(--p-white-28-rgb), 0.75); }
.thl-p-users-user-my-posts .mp-banner-thread-label small { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-user-my-posts .mp-banner-placeholder { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-posts .mp-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-posts .mp-info-label { color:var(--muted); }
.thl-p-users-user-my-posts .mp-info-val { color:var(--ink); }
.thl-p-users-user-my-posts .mp-short-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-posts .mp-file-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-posts .mp-file-item:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-posts .mp-file-item i { color:var(--g); }
.thl-p-users-user-my-posts .mp-file-dl { color:var(--muted); }
.thl-p-users-user-my-posts .mp-author-card { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-posts .mp-author-avatar { border-color: var(--g); }
.thl-p-users-user-my-posts .mp-author-name { color:var(--ink); }
.thl-p-users-user-my-posts .mp-author-badge { background: var(--blue-lt); color:var(--info); border-color: var(--info); }
.thl-p-users-user-my-posts .mp-author-username { color:var(--muted); }
.thl-p-users-user-my-posts .mp-rejection-box { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-posts .mp-stat { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-posts .mp-stat-num { color:var(--ink); }
.thl-p-users-user-my-posts .mp-stat-lbl { color:var(--muted); }
.thl-p-users-user-my-posts .mp-action-btn { border-color: transparent; }
.thl-p-users-user-my-posts .mp-action-green { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-posts .mp-action-green:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-posts .mp-action-blue { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-user-my-posts .mp-action-blue:hover { background: var(--info); color:var(--white); border-color: var(--info); }
.thl-p-users-user-my-posts .mp-action-outline { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-my-posts .mp-action-outline:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-users-user-my-posts .mp-action-red { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-posts .mp-action-red:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-user-my-posts .mp-loading { color:var(--muted); }
.thl-p-users-user-my-posts .mp-dm-right { border-top-color: var(--border); }
/* BUTTONS — ghost pattern, .thl-p-users-user-my-professions NO transform, .thl-p-users-user-my-professions NO transition:all */
.thl-p-users-user-my-professions .btn { border-color: transparent; }
.thl-p-users-user-my-professions .s-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-professions .s-tab.active:hover { background: var(--border-3); }
.thl-p-users-user-my-professions .s-tab.active i { color:var(--g); }
.thl-p-users-user-my-professions .s-tab.active .s-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-professions .search-wrap i { color:var(--muted); }
.thl-p-users-user-my-professions .prof-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-professions .prof-card:hover { border-color: var(--border-2); }
.thl-p-users-user-my-professions .prof-card-img { background: var(--surf); }
.thl-p-users-user-my-professions .prof-card-img-placeholder { color:var(--muted); }
.thl-p-users-user-my-professions .prof-photo-count { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); }
.thl-p-users-user-my-professions .prof-category-tag { background: rgba(var(--p-black-1-rgb), 0.62); color:var(--white); }
.thl-p-users-user-my-professions .prof-card-title { color:var(--ink); }
.thl-p-users-user-my-professions .prof-card-type { color:var(--g-dk); }
.thl-p-users-user-my-professions .prof-card-tagline { color:var(--sub); }
.thl-p-users-user-my-professions .prof-card-meta { color:var(--sub); }
.thl-p-users-user-my-professions .meta-dot { color:var(--border); }
.thl-p-users-user-my-professions .chip-free { color: var(--g-dk); background: var(--g-lt); border-color: var(--g); }
.thl-p-users-user-my-professions .chip-quote { color:var(--blue-ink); background: var(--blue-lt); border-color: var(--info); }
.thl-p-users-user-my-professions .chip-rate { color:var(--p-orange-2); background: var(--p-amber-7); border-color: var(--warn); }
.thl-p-users-user-my-professions .prof-progress-label { color:var(--muted); }
.thl-p-users-user-my-professions .prof-progress-bar { background: var(--border); }
.thl-p-users-user-my-professions .prof-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-professions .prof-card-actions { border-top-color: var(--border); }
.thl-p-users-user-my-professions .admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-professions .next-step-banner { background: var(--gold-lt); border-color: var(--gold); color:var(--amber-ink); }
.thl-p-users-user-my-professions .next-step-banner a { color:var(--amber-ink); }
/* EMPTY STATE — border only, .thl-p-users-user-my-professions NO box-shadow */
.thl-p-users-user-my-professions .empty-state { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-professions .empty-state > i { color:var(--border); }
.thl-p-users-user-my-professions .empty-state h3 { color:var(--ink); }
.thl-p-users-user-my-professions .empty-state p { color:var(--sub); }
.thl-p-users-user-my-professions .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-professions .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-professions .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-professions .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-user-my-professions .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-professions .pagination span.ellipsis { color:var(--muted); }
.thl-p-users-user-my-professions .modal { background: var(--white); border-color: var(--border); }
/* ── DETAIL MODAL — z-index:9999, .thl-p-users-user-my-professions border only, .thl-p-users-user-my-professions NO box-shadow, .thl-p-users-user-my-professions pointer-events:all ── */
.thl-p-users-user-my-professions .mp-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-user-my-professions .mp-dm-header-left h2 { color:var(--ink); }
.thl-p-users-user-my-professions .mp-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-professions .mp-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-user-my-professions .mp-dm-left { border-right-color: var(--border); }
.thl-p-users-user-my-professions .mp-dm-left::-webkit-scrollbar-thumb, .thl-p-users-user-my-professions .mp-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-professions .mp-sec-label { color:var(--muted); }
.thl-p-users-user-my-professions .mp-sec-label::after { background: var(--border); }
.thl-p-users-user-my-professions .mp-gallery-main { background: var(--ink-3); }
.thl-p-users-user-my-professions .mp-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.58); border-color: rgba(var(--p-white-28-rgb), 0.18); color:var(--white); }
.thl-p-users-user-my-professions .mp-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-user-my-professions .mp-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.62); color:var(--white); }
.thl-p-users-user-my-professions .mp-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-professions .mp-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-professions .mp-thumb { border-color: transparent; }
.thl-p-users-user-my-professions .mp-thumb.active { border-color: var(--g); }
.thl-p-users-user-my-professions .mp-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-professions .mp-info-label { color:var(--muted); }
.thl-p-users-user-my-professions .mp-info-val { color:var(--ink); }
.thl-p-users-user-my-professions .mp-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-professions .mp-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-professions .mp-spec { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-professions .mp-spec i { color:var(--g); }
.thl-p-users-user-my-professions .mp-spec-val { color:var(--ink); }
.thl-p-users-user-my-professions .mp-spec-key { color:var(--muted); }
.thl-p-users-user-my-professions .mp-chip-green { background: var(--g-lt); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-professions .mp-chip-yellow { background: var(--amber-lt); color:var(--p-orange-2); border-color: var(--warn); }
.thl-p-users-user-my-professions .mp-chip-muted { background: var(--surf); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-my-professions .mp-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-professions .mp-location-box i { color:var(--g); }
.thl-p-users-user-my-professions .mp-admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-professions .mp-stat { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-professions .mp-stat-num { color:var(--ink); }
.thl-p-users-user-my-professions .mp-stat-lbl { color:var(--muted); }
.thl-p-users-user-my-professions .mp-rate-box { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-professions .mp-rate-main { color:var(--g-dk); }
.thl-p-users-user-my-professions .mp-rate-row { color:var(--sub); border-bottom-color: var(--border); }
.thl-p-users-user-my-professions .mp-rate-row strong { color:var(--ink); }
.thl-p-users-user-my-professions .mp-progress-wrap { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-professions .mp-progress-top { color:var(--ink); }
.thl-p-users-user-my-professions .mp-progress-bar { background: var(--border); }
.thl-p-users-user-my-professions .mp-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-professions .mp-progress-hint { color:var(--muted); }
.thl-p-users-user-my-professions .mp-action-btn { border-color: transparent; }
.thl-p-users-user-my-professions .mp-action-green { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-professions .mp-action-green:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-professions .mp-action-gold { background: rgba(var(--p-orange-14-rgb), 0.07); color:var(--gold); border-color: var(--gold); }
.thl-p-users-user-my-professions .mp-action-gold:hover { background: var(--gold); color:var(--white); border-color: var(--gold); }
.thl-p-users-user-my-professions .mp-action-blue { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-user-my-professions .mp-action-blue:hover { background: var(--info); color:var(--white); border-color: var(--info); }
.thl-p-users-user-my-professions .mp-action-outline { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-my-professions .mp-action-outline:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-users-user-my-professions .mp-action-red { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-professions .mp-action-red:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-user-my-professions .mp-loading { color:var(--muted); }
.thl-p-users-user-my-professions .mp-cred-item { background: var(--surf); border-color: var(--border); color:var(--ink); }
.thl-p-users-user-my-professions .mp-sub-label { color:var(--muted); }
.thl-p-users-user-my-professions .mp-text-block { background: var(--surf); border-color: var(--border); color:var(--sub); }
/* LIGHTBOX — z-index:10000 */
.thl-p-users-user-my-professions .mp-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-user-my-professions .mp-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-user-my-professions .mp-lb-title { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-users-user-my-professions .mp-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-user-my-professions .mp-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-user-my-professions .mp-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-professions .mp-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-user-my-professions .mp-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-professions .mp-lb-th { border-color: transparent; }
.thl-p-users-user-my-professions .mp-lb-th.on { border-color: var(--g); }
.thl-p-users-user-my-professions .mp-dm-right { border-top-color: var(--border); }
.thl-p-users-user-my-promotions .mp-stat-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-promotions .mp-stat-num { color:var(--ink); }
.thl-p-users-user-my-promotions .mp-stat-lbl { color:var(--muted); }
.thl-p-users-user-my-promotions .s-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-promotions .s-tab.active:hover { background: var(--border-3); }
.thl-p-users-user-my-promotions .s-tab.active i { color:var(--g); }
.thl-p-users-user-my-promotions .s-tab.active .s-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
/* PROMOTION CARDS — border only, .thl-p-users-user-my-promotions NO box-shadow, .thl-p-users-user-my-promotions hover changes border-color only */
.thl-p-users-user-my-promotions .mp-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-promotions .mp-card:hover { border-color: var(--border-2); }
.thl-p-users-user-my-promotions .mp-type-chip { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-promotions .mps-live { background: var(--g-bglt); color:var(--ok); border-color: var(--g); }
.thl-p-users-user-my-promotions .mps-live i { color:var(--g); }
.thl-p-users-user-my-promotions .mps-expired { background: var(--amber-lt); color:var(--gold); border-color: var(--warn); }
.thl-p-users-user-my-promotions .mps-cancelled { background: var(--surface2); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-promotions .mps-muted { background: var(--surface2); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-promotions .mp-card-listing { color:var(--ink); }
.thl-p-users-user-my-promotions .mp-card-listing a { color:var(--ink); }
.thl-p-users-user-my-promotions .mp-card-listing a:hover { color:var(--g-dk); }
.thl-p-users-user-my-promotions .mp-card-listing-id { color:var(--muted); }
.thl-p-users-user-my-promotions .mp-plan-pill { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-promotions .mp-plan-pill i { color:var(--g); }
.thl-p-users-user-my-promotions .mp-card-amount { color:var(--ink); }
.thl-p-users-user-my-promotions .mp-card-amount-lbl { color:var(--muted); }
.thl-p-users-user-my-promotions .mp-tl-dates { color:var(--muted); }
.thl-p-users-user-my-promotions .mp-tl-bar { background: var(--border); }
.thl-p-users-user-my-promotions .mp-hp-badge { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-users-user-my-promotions .mp-hp-badge i { color:var(--gold); }
.thl-p-users-user-my-promotions .mp-method-wallet { color:var(--blue); }
.thl-p-users-user-my-promotions .mp-method-gateway { color:var(--purple); }
/* Card action buttons — ghost pattern, .thl-p-users-user-my-promotions NO transform */
.thl-p-users-user-my-promotions .mp-card-actions { border-top-color: var(--border); }
.thl-p-users-user-my-promotions .mp-btn { border-color: transparent; background: transparent; }
.thl-p-users-user-my-promotions .mp-btn-green { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-promotions .mp-btn-green:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-promotions .mp-btn-outline { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-my-promotions .mp-btn-outline:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-users-user-my-promotions .mp-btn-blue { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--blue); border-color: var(--info); }
.thl-p-users-user-my-promotions .mp-btn-blue:hover { background: var(--blue); color:var(--white); border-color: var(--blue); }
/* EMPTY STATE — border only, .thl-p-users-user-my-promotions NO box-shadow */
.thl-p-users-user-my-promotions .empty-state { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-promotions .empty-state i { color:var(--border); }
.thl-p-users-user-my-promotions .empty-state h3 { color:var(--ink); }
.thl-p-users-user-my-promotions .empty-state p { color:var(--sub); }
.thl-p-users-user-my-promotions .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-promotions .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-promotions .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-promotions .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-user-my-promotions .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-promotions .pagination span.ellipsis { color:var(--muted); }
/* DETAIL MODAL — z-index:9999, .thl-p-users-user-my-promotions pointer-events:all, .thl-p-users-user-my-promotions border only, .thl-p-users-user-my-promotions NO box-shadow */
.thl-p-users-user-my-promotions .mp-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.5); }
.thl-p-users-user-my-promotions .mp-modal-head { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-user-my-promotions .mp-modal-head::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-promotions .mp-modal-head h2 { color:var(--ink); }
.thl-p-users-user-my-promotions .mp-modal-head h2 i { color:var(--g); }
.thl-p-users-user-my-promotions .mp-modal-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-promotions .mp-modal-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-user-my-promotions .mp-modal-body::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-promotions .mp-detail-row { border-bottom-color: var(--border); }
.thl-p-users-user-my-promotions .mp-detail-label { color:var(--muted); }
.thl-p-users-user-my-promotions .mp-detail-val { color:var(--ink); }
.thl-p-users-user-my-promotions .mp-detail-ref { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-promotions .mp-pbar-wrap { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-promotions .mp-pbar-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-promotions .mp-modal-sec { color:var(--muted); }
.thl-p-users-user-my-promotions .mp-modal-sec::after { background: var(--border); }
/* Promote CTA inside modal — ghost pattern, .thl-p-users-user-my-promotions NO transform */
.thl-p-users-user-my-promotions .mp-promote-cta { background: linear-gradient(135deg, var(--g-lt), var(--p-green-47)); border-color: var(--g); }
.thl-p-users-user-my-promotions .mp-promote-cta-text { color:var(--g-dk); }
.thl-p-users-user-my-promotions .mp-promote-cta-sub { color:var(--sub); }
/* BUTTONS */
.thl-p-users-user-my-properties .btn { border-color: transparent; }
.thl-p-users-user-my-properties .s-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-properties .s-tab.active:hover { background: var(--border-3); }
.thl-p-users-user-my-properties .s-tab.active i { color:var(--g); }
.thl-p-users-user-my-properties .s-tab.active .s-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-properties .search-wrap i { color:var(--muted); }
.thl-p-users-user-my-properties .prop-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-properties .prop-card:hover { border-color: var(--border-2); }
.thl-p-users-user-my-properties .prop-card-img { background: var(--surf); }
.thl-p-users-user-my-properties .prop-card-img-placeholder { color:var(--muted); }
.thl-p-users-user-my-properties .prop-photo-count { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); }
.thl-p-users-user-my-properties .prop-card-title { color:var(--ink); }
.thl-p-users-user-my-properties .prop-card-meta { color:var(--sub); }
.thl-p-users-user-my-properties .meta-dot { color:var(--border); }
.thl-p-users-user-my-properties .prop-card-price { color:var(--g-dk); }
.thl-p-users-user-my-properties .prop-card-price-sub { color:var(--muted); }
.thl-p-users-user-my-properties .prop-card-discount { color:var(--sub); }
.thl-p-users-user-my-properties .prop-card-discount s { color:var(--muted); }
.thl-p-users-user-my-properties .prop-progress-label { color:var(--muted); }
.thl-p-users-user-my-properties .prop-progress-bar { background: var(--border); }
.thl-p-users-user-my-properties .prop-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-properties .prop-card-actions { border-top-color: var(--border); }
.thl-p-users-user-my-properties .admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-properties .next-step-banner { background: var(--amber-lt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-users-user-my-properties .next-step-banner a { color:var(--amber-ink); }
/* EMPTY STATE */
.thl-p-users-user-my-properties .empty-state { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-properties .empty-state > i { color:var(--border); }
.thl-p-users-user-my-properties .empty-state h3 { color:var(--ink); }
.thl-p-users-user-my-properties .empty-state p { color:var(--sub); }
/* FLASH */
.thl-p-users-user-my-properties .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-properties .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-properties .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-properties .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-user-my-properties .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-properties .pagination span.ellipsis { color:var(--muted); }
.thl-p-users-user-my-properties .modal { background: var(--white); }
/* PROPERTY DETAIL MODAL */
.thl-p-users-user-my-properties .mp-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-user-my-properties .mp-dm-header-left h2 { color:var(--ink); }
.thl-p-users-user-my-properties .mp-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-properties .mp-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-user-my-properties .mp-dm-left { border-right-color: var(--border); }
.thl-p-users-user-my-properties .mp-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-properties .mp-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-properties .mp-sec-label { color:var(--muted); }
.thl-p-users-user-my-properties .mp-sec-label::after { background: var(--border); }
.thl-p-users-user-my-properties .mp-gallery-main { background: var(--ink-3); }
.thl-p-users-user-my-properties .mp-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.58); border-color: rgba(var(--p-white-28-rgb), 0.18); color:var(--white); }
.thl-p-users-user-my-properties .mp-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-user-my-properties .mp-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.62); color:var(--white); }
.thl-p-users-user-my-properties .mp-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-properties .mp-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-properties .mp-thumb { border-color: transparent; }
.thl-p-users-user-my-properties .mp-thumb.active { border-color: var(--g); }
.thl-p-users-user-my-properties .mp-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-properties .mp-info-label { color:var(--muted); }
.thl-p-users-user-my-properties .mp-info-val { color:var(--ink); }
.thl-p-users-user-my-properties .mp-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-properties .mp-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-properties .mp-desc-empty { color:var(--muted); }
.thl-p-users-user-my-properties .mp-spec { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-properties .mp-spec i { color:var(--g); }
.thl-p-users-user-my-properties .mp-spec-val { color:var(--ink); }
.thl-p-users-user-my-properties .mp-spec-key { color:var(--muted); }
.thl-p-users-user-my-properties .mp-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-properties .mp-location-box i { color:var(--g); }
.thl-p-users-user-my-properties .mp-admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-properties .mp-rules-box { background: var(--amber-lt); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-user-my-properties .mp-link-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-properties .mp-link-item i { color:var(--g); }
.thl-p-users-user-my-properties .mp-link-item a { color:var(--info); }
.thl-p-users-user-my-properties .mp-stat { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-properties .mp-stat-num { color:var(--ink); }
.thl-p-users-user-my-properties .mp-stat-lbl { color:var(--muted); }
.thl-p-users-user-my-properties .mp-price-summary { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-properties .mp-price-main { color:var(--g-dk); }
.thl-p-users-user-my-properties .mp-price-row { color:var(--sub); border-bottom-color: var(--border); }
.thl-p-users-user-my-properties .mp-price-row strong { color:var(--ink); }
.thl-p-users-user-my-properties .mp-progress-wrap { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-properties .mp-progress-top { color:var(--ink); }
.thl-p-users-user-my-properties .mp-progress-bar { background: var(--border); }
.thl-p-users-user-my-properties .mp-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-properties .mp-progress-hint { color:var(--muted); }
.thl-p-users-user-my-properties .mp-action-btn { border-color: transparent; }
.thl-p-users-user-my-properties .mp-action-green { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-properties .mp-action-green:hover { background: var(--g); color:var(--white); }
.thl-p-users-user-my-properties .mp-action-gold { background: rgba(var(--p-orange-14-rgb), 0.07); color:var(--gold); border-color: var(--gold); }
.thl-p-users-user-my-properties .mp-action-gold:hover { background: var(--gold); color:var(--white); }
.thl-p-users-user-my-properties .mp-action-blue { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-user-my-properties .mp-action-blue:hover { background: var(--info); color:var(--white); }
.thl-p-users-user-my-properties .mp-action-outline { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-my-properties .mp-action-outline:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-users-user-my-properties .mp-action-red { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-properties .mp-action-red:hover { background: var(--red); color:var(--white); }
.thl-p-users-user-my-properties .mp-loading { color:var(--muted); }
/* LIGHTBOX */
.thl-p-users-user-my-properties .mp-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-user-my-properties .mp-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-user-my-properties .mp-lb-title { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-users-user-my-properties .mp-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-user-my-properties .mp-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-user-my-properties .mp-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-properties .mp-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-user-my-properties .mp-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-properties .mp-lb-th { border-color: transparent; }
.thl-p-users-user-my-properties .mp-lb-th.on { border-color: var(--g); }
.thl-p-users-user-my-properties .mp-dm-right { border-top-color: var(--border); }
/* BUTTONS — ghost pattern, .thl-p-users-user-my-purchases NO transform, .thl-p-users-user-my-purchases NO transition:all */
.thl-p-users-user-my-purchases .btn { border-color: transparent; }
.thl-p-users-user-my-purchases .stat-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-purchases .sc-green::before { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-purchases .sc-blue::before { background: linear-gradient(90deg, var(--blue), var(--p-blue-43)); }
.thl-p-users-user-my-purchases .sc-gold::before { background: linear-gradient(90deg, var(--gold), var(--p-orange-23)); }
.thl-p-users-user-my-purchases .stat-ico.green { background: var(--g-lt); color:var(--g); }
.thl-p-users-user-my-purchases .stat-ico.blue { background: var(--blue-lt); color:var(--blue); }
.thl-p-users-user-my-purchases .stat-ico.gold { background: var(--amber-lt); color:var(--gold); }
.thl-p-users-user-my-purchases .stat-val { color:var(--ink); }
.thl-p-users-user-my-purchases .stat-lbl { color:var(--muted); }
.thl-p-users-user-my-purchases .search-wrap i { color:var(--muted); }
.thl-p-users-user-my-purchases .sec-divider-label { color:var(--muted); }
.thl-p-users-user-my-purchases .sec-divider-label i { color:var(--g); }
.thl-p-users-user-my-purchases .sec-divider-line { background: var(--border); }
.thl-p-users-user-my-purchases .sec-divider-count { color:var(--muted); }
/* PURCHASE CARDS — border only, .thl-p-users-user-my-purchases NO box-shadow, .thl-p-users-user-my-purchases hover changes border-color only */
.thl-p-users-user-my-purchases .purchase-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-purchases .purchase-card:hover { border-color: var(--border-2); }
/* AWAITING PAYMENT (PENDING) — amber treatment */
.thl-p-users-user-my-purchases .awaiting-note { color:var(--sub); background: var(--amber-bglt); border-color: var(--warn); }
.thl-p-users-user-my-purchases .awaiting-note i { color:var(--gold); }
.thl-p-users-user-my-purchases .purchase-card.pending-card { border-color: var(--p-orange-23); }
.thl-p-users-user-my-purchases .purchase-card.pending-card:hover { border-color: var(--amber); }
.thl-p-users-user-my-purchases .purchase-card.pending-card .pc-right { border-left-color: var(--p-orange-23); }
.thl-p-users-user-my-purchases .pc-chip.pending { background: var(--amber-bglt); border-color: var(--warn); color:var(--amber-ink); }
.thl-p-users-user-my-purchases .pc-chip.pending i { color:var(--gold); }
.thl-p-users-user-my-purchases .btn-dl.dl-cancel { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-purchases .btn-dl.dl-cancel:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-user-my-purchases .pc-img-wrap { background: var(--surf); }
.thl-p-users-user-my-purchases .pc-img-placeholder { color:var(--muted); }
.thl-p-users-user-my-purchases .badge-arch { background: rgba(var(--p-violet-5-rgb), .85); color:var(--violet-bglt); }
.thl-p-users-user-my-purchases .badge-struct { background: rgba(var(--p-teal-4-rgb), .85); color:var(--p-teal-8); }
.thl-p-users-user-my-purchases .pc-title { color:var(--ink); }
.thl-p-users-user-my-purchases .pc-title a:hover { color:var(--g); }
.thl-p-users-user-my-purchases .pc-chip { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-purchases .pc-chip i { color:var(--g); }
.thl-p-users-user-my-purchases .pc-chip.paid { background: var(--g-lt); border-color: var(--g); color:var(--p-green-10); }
.thl-p-users-user-my-purchases .pc-seller { color:var(--muted); }
.thl-p-users-user-my-purchases .pc-seller i { color:var(--g); }
.thl-p-users-user-my-purchases .pc-date { color:var(--muted); }
.thl-p-users-user-my-purchases .pc-date i { color:var(--g); }
.thl-p-users-user-my-purchases .pc-right { border-left-color: var(--border); }
.thl-p-users-user-my-purchases .pc-currency { color:var(--muted); }
.thl-p-users-user-my-purchases .pc-value { color:var(--ink); }
.thl-p-users-user-my-purchases .pc-order { color:var(--muted); }
/* Download buttons — ghost pattern, .thl-p-users-user-my-purchases NO transform */
.thl-p-users-user-my-purchases .btn-dl { border-color: transparent; }
.thl-p-users-user-my-purchases .btn-dl.dl-primary { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-purchases .btn-dl.dl-primary:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-purchases .btn-dl.dl-disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-purchases .btn-dl.dl-secondary { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-my-purchases .btn-dl.dl-secondary:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-users-user-my-purchases .dl-hint.ok { color:var(--g-dk); }
.thl-p-users-user-my-purchases .dl-hint.warn { color:var(--gold); }
.thl-p-users-user-my-purchases .dl-hint.dead { color:var(--muted); }
/* EMPTY STATE — border only, .thl-p-users-user-my-purchases NO box-shadow */
.thl-p-users-user-my-purchases .empty-state { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-purchases .empty-state > i { color:var(--border); }
.thl-p-users-user-my-purchases .empty-state h3 { color:var(--ink); }
.thl-p-users-user-my-purchases .empty-state p { color:var(--sub); }
/* CANCEL PURCHASE MODAL — matches admin delete-modal styling */
.thl-p-users-user-my-purchases .mpu-modal-overlay { background: rgba(var(--p-black-1-rgb), 0.45); }
.thl-p-users-user-my-purchases .mpu-modal-title { color:var(--red); }
.thl-p-users-user-my-purchases .mpu-modal-sub { color:var(--muted); }
.thl-p-users-user-my-purchases .mpu-modal-warn { background: var(--p-amber-7); border-color: var(--warn); color:var(--p-orange-2); }
.thl-p-users-user-my-purchases .mpu-modal-btn { border-color: transparent; }
.thl-p-users-user-my-purchases .mpu-modal-btn-danger { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-purchases .mpu-modal-btn-danger:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-user-my-purchases .mpu-modal-btn-cancel { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-purchases .mpu-modal-btn-cancel:hover { background: var(--surface2); color:var(--ink); border-color: var(--border-2); }
.thl-p-users-user-my-purchases .pc-right { border-top-color: var(--border); }
.thl-p-users-user-my-purchases .purchase-card.pending-card .pc-right { border-top-color: var(--p-orange-23); }
/* BUTTONS */
.thl-p-users-user-my-sessions .btn { border-color: transparent; }
/* FLASH */
.thl-p-users-user-my-sessions .sess-stat-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-sessions .sess-stat-num { color:var(--ink); }
.thl-p-users-user-my-sessions .sess-stat-lbl { color:var(--muted); }
/* INFO BANNER */
.thl-p-users-user-my-sessions .sess-info-banner { background: var(--blue-lt); border-color: var(--info); color:var(--blue-ink); }
.thl-p-users-user-my-sessions .sess-info-banner a { color:var(--blue-ink); }
.thl-p-users-user-my-sessions .sess-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-sessions .sess-card:hover { border-color: var(--border-2); }
.thl-p-users-user-my-sessions .sess-card.is-current { border-color: var(--g); background: var(--p-white-27); }
.thl-p-users-user-my-sessions .sess-device-ico.desktop { background: var(--blue-lt); color:var(--info); }
.thl-p-users-user-my-sessions .sess-device-ico.mobile { background: var(--g-bglt); color:var(--g-dk); }
.thl-p-users-user-my-sessions .sess-device-ico.tablet { background: var(--p-amber-7); color:var(--p-orange-15); }
.thl-p-users-user-my-sessions .sess-device-ico.unknown { background: var(--surf); color:var(--muted); }
.thl-p-users-user-my-sessions .sess-device-name { color:var(--ink); }
.thl-p-users-user-my-sessions .sess-current-badge { background: var(--g); color:var(--white); }
.thl-p-users-user-my-sessions .sess-meta { color:var(--sub); }
.thl-p-users-user-my-sessions .sess-meta-dot { color:var(--border); }
.thl-p-users-user-my-sessions .sess-meta i { color:var(--muted); }
.thl-p-users-user-my-sessions .sess-last-active { color:var(--muted); }
.thl-p-users-user-my-sessions .sess-expiry { color:var(--muted); }
/* DANGER ZONE */
.thl-p-users-user-my-sessions .danger-zone { background: var(--red-lt); border-color: var(--red); }
.thl-p-users-user-my-sessions .danger-zone-title { color:var(--error); }
.thl-p-users-user-my-sessions .danger-zone-sub { color:var(--p-red-2); }
/* EMPTY STATE */
.thl-p-users-user-my-sessions .empty-state { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-sessions .empty-state > i { color:var(--border); }
.thl-p-users-user-my-sessions .empty-state h3 { color:var(--ink); }
.thl-p-users-user-my-sessions .empty-state p { color:var(--sub); }
.thl-p-users-user-my-sessions .modal { background: var(--white); }
/* BUTTONS — ghost pattern, .thl-p-users-user-my-supplies NO transform, .thl-p-users-user-my-supplies NO transition:all */
.thl-p-users-user-my-supplies .btn { border-color: transparent; }
.thl-p-users-user-my-supplies .s-tab.active { background: var(--surface2); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-supplies .s-tab.active:hover { background: var(--border-3); }
.thl-p-users-user-my-supplies .s-tab.active i { color:var(--g); }
.thl-p-users-user-my-supplies .s-tab.active .s-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-supplies .search-wrap i { color:var(--muted); }
.thl-p-users-user-my-supplies .supply-card { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-supplies .supply-card:hover { border-color: var(--border-2); }
.thl-p-users-user-my-supplies .supply-card-img { background: var(--surf); }
.thl-p-users-user-my-supplies .supply-card-img-placeholder { color:var(--muted); }
.thl-p-users-user-my-supplies .supply-photo-count { background: rgba(var(--p-black-1-rgb), 0.55); color:var(--white); }
.thl-p-users-user-my-supplies .txn-sale { background: var(--blue-lt); color:var(--info); }
.thl-p-users-user-my-supplies .txn-rent { background: var(--p-amber-7); color:var(--warn); }
.thl-p-users-user-my-supplies .txn-lease { background: var(--purple-lt); color:var(--violet); }
.thl-p-users-user-my-supplies .supply-card-title { color:var(--ink); }
.thl-p-users-user-my-supplies .supply-card-meta { color:var(--sub); }
.thl-p-users-user-my-supplies .meta-dot { color:var(--border); }
.thl-p-users-user-my-supplies .supply-card-price { color:var(--g-dk); }
.thl-p-users-user-my-supplies .supply-card-price-sub { color:var(--muted); }
.thl-p-users-user-my-supplies .supply-card-discount { color:var(--sub); }
.thl-p-users-user-my-supplies .supply-card-discount s { color:var(--muted); }
.thl-p-users-user-my-supplies .supply-progress-label { color:var(--muted); }
.thl-p-users-user-my-supplies .supply-progress-bar { background: var(--border); }
.thl-p-users-user-my-supplies .supply-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-supplies .supply-card-actions { border-top-color: var(--border); }
.thl-p-users-user-my-supplies .admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-supplies .next-step-banner { background: var(--gold-lt); border-color: var(--gold); color:var(--amber-ink); }
.thl-p-users-user-my-supplies .next-step-banner a { color:var(--amber-ink); }
/* EMPTY STATE — border only, .thl-p-users-user-my-supplies NO box-shadow */
.thl-p-users-user-my-supplies .empty-state { background: var(--white); border-color: var(--border); }
.thl-p-users-user-my-supplies .empty-state > i { color:var(--border); }
.thl-p-users-user-my-supplies .empty-state h3 { color:var(--ink); }
.thl-p-users-user-my-supplies .empty-state p { color:var(--sub); }
.thl-p-users-user-my-supplies .pagination a { background: var(--white); color:var(--ink); border-color: var(--border); }
.thl-p-users-user-my-supplies .pagination a:hover { background: var(--g-lt); border-color: var(--g); color:var(--g-dk); }
.thl-p-users-user-my-supplies .pagination a.active { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-supplies .pagination a.active:hover { background: var(--g-dk); border-color: var(--g-dk); }
.thl-p-users-user-my-supplies .pagination span.disabled { background: var(--surf); color:var(--muted); border-color: var(--border); }
.thl-p-users-user-my-supplies .pagination span.ellipsis { color:var(--muted); }
.thl-p-users-user-my-supplies .modal { background: var(--white); border-color: var(--border); }
/* ── SUPPLY DETAIL MODAL — border only, .thl-p-users-user-my-supplies NO box-shadow, .thl-p-users-user-my-supplies z-index:9999 ── */
.thl-p-users-user-my-supplies .mp-dm-header { border-bottom-color: var(--border); background: var(--surf); }
.thl-p-users-user-my-supplies .mp-dm-header-left h2 { color:var(--ink); }
.thl-p-users-user-my-supplies .mp-dm-close { background: var(--surface2); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-supplies .mp-dm-close:hover { background: var(--red-lt); border-color: var(--red); color:var(--red); }
.thl-p-users-user-my-supplies .mp-dm-left { border-right-color: var(--border); }
.thl-p-users-user-my-supplies .mp-dm-left::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-supplies .mp-dm-right::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-supplies .mp-sec-label { color:var(--muted); }
.thl-p-users-user-my-supplies .mp-sec-label::after { background: var(--border); }
.thl-p-users-user-my-supplies .mp-gallery-main { background: var(--ink-3); }
.thl-p-users-user-my-supplies .mp-gallery-arrow { background: rgba(var(--p-black-1-rgb), 0.58); border-color: rgba(var(--p-white-28-rgb), 0.18); color:var(--white); }
.thl-p-users-user-my-supplies .mp-gallery-arrow:hover { background: rgba(var(--p-black-1-rgb), 0.9); }
.thl-p-users-user-my-supplies .mp-gallery-counter { background: rgba(var(--p-black-1-rgb), 0.62); color:var(--white); }
.thl-p-users-user-my-supplies .mp-gallery-no-photo { background: var(--surf); border-color: var(--border); color:var(--muted); }
.thl-p-users-user-my-supplies .mp-thumb-strip::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-supplies .mp-thumb { border-color: transparent; }
.thl-p-users-user-my-supplies .mp-thumb.active { border-color: var(--g); }
.thl-p-users-user-my-supplies .mp-info-cell { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-supplies .mp-info-label { color:var(--muted); }
.thl-p-users-user-my-supplies .mp-info-val { color:var(--ink); }
.thl-p-users-user-my-supplies .mp-desc { color:var(--sub); background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-supplies .mp-desc::-webkit-scrollbar-thumb { background: var(--border); }
.thl-p-users-user-my-supplies .mp-desc-empty { color:var(--muted); }
.thl-p-users-user-my-supplies .mp-spec { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-supplies .mp-spec i { color:var(--g); }
.thl-p-users-user-my-supplies .mp-spec-val { color:var(--ink); }
.thl-p-users-user-my-supplies .mp-spec-key { color:var(--muted); }
.thl-p-users-user-my-supplies .mp-location-box { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-supplies .mp-location-box i { color:var(--g); }
.thl-p-users-user-my-supplies .mp-admin-note { background: var(--red-lt); border-color: var(--red); color:var(--error); }
.thl-p-users-user-my-supplies .mp-link-item { background: var(--surf); border-color: var(--border); color:var(--sub); }
.thl-p-users-user-my-supplies .mp-link-item i { color:var(--g); }
.thl-p-users-user-my-supplies .mp-link-item a { color:var(--info); }
.thl-p-users-user-my-supplies .mp-stat { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-supplies .mp-stat-num { color:var(--ink); }
.thl-p-users-user-my-supplies .mp-stat-lbl { color:var(--muted); }
.thl-p-users-user-my-supplies .mp-price-summary { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-supplies .mp-price-main { color:var(--g-dk); }
.thl-p-users-user-my-supplies .mp-price-row { color:var(--sub); border-bottom-color: var(--border); }
.thl-p-users-user-my-supplies .mp-price-row strong { color:var(--ink); }
.thl-p-users-user-my-supplies .mp-progress-wrap { background: var(--surf); border-color: var(--border); }
.thl-p-users-user-my-supplies .mp-progress-top { color:var(--ink); }
.thl-p-users-user-my-supplies .mp-progress-bar { background: var(--border); }
.thl-p-users-user-my-supplies .mp-progress-fill { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }
.thl-p-users-user-my-supplies .mp-progress-hint { color:var(--muted); }
.thl-p-users-user-my-supplies .mp-action-btn { border-color: transparent; }
.thl-p-users-user-my-supplies .mp-action-green { background: rgba(var(--g-rgb), 0.07); color:var(--g-dk); border-color: var(--g); }
.thl-p-users-user-my-supplies .mp-action-green:hover { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-users-user-my-supplies .mp-action-blue { background: rgba(var(--p-blue-28-rgb), 0.07); color:var(--info); border-color: var(--info); }
.thl-p-users-user-my-supplies .mp-action-blue:hover { background: var(--info); color:var(--white); border-color: var(--info); }
.thl-p-users-user-my-supplies .mp-action-outline { background: var(--white); color:var(--sub); border-color: var(--border); }
.thl-p-users-user-my-supplies .mp-action-outline:hover { border-color: var(--g); color:var(--g-dk); background: var(--g-lt); }
.thl-p-users-user-my-supplies .mp-action-gold { background: rgba(var(--p-orange-14-rgb), 0.07); color:var(--gold); border-color: var(--gold); }
.thl-p-users-user-my-supplies .mp-action-gold:hover { background: var(--gold); color:var(--white); border-color: var(--gold); }
.thl-p-users-user-my-supplies .mp-action-red { background: rgba(var(--p-red-15-rgb), 0.07); color:var(--red); border-color: var(--red); }
.thl-p-users-user-my-supplies .mp-action-red:hover { background: var(--red); color:var(--white); border-color: var(--red); }
.thl-p-users-user-my-supplies .mp-loading { color:var(--muted); }
/* LIGHTBOX — z-index: 10000 */
.thl-p-users-user-my-supplies .mp-lb { background: rgba(var(--p-black-1-rgb), 0.96); }
.thl-p-users-user-my-supplies .mp-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), 0.07); }
.thl-p-users-user-my-supplies .mp-lb-title { color:rgba(var(--p-white-28-rgb), 0.55); }
.thl-p-users-user-my-supplies .mp-lb-ctrl { color:rgba(var(--p-white-28-rgb), 0.62); }
.thl-p-users-user-my-supplies .mp-lb-x { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.7); }
.thl-p-users-user-my-supplies .mp-lb-x:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-supplies .mp-lb-arrow { background: rgba(var(--p-white-28-rgb), 0.08); border-color: rgba(var(--p-white-28-rgb), 0.12); color:rgba(var(--p-white-28-rgb), 0.8); }
.thl-p-users-user-my-supplies .mp-lb-arrow:hover { background: rgba(var(--p-white-28-rgb), 0.2); color:var(--white); }
.thl-p-users-user-my-supplies .mp-lb-th { border-color: transparent; }
.thl-p-users-user-my-supplies .mp-lb-th.on { border-color: var(--g); }
.thl-p-users-user-my-supplies .mp-dm-right { border-top-color: var(--border); }
/* ── round 7: colour that used to sit in a page <style> ─────────────────────
   Same values, expressed with the tokens that already held them. */
.thl-p-calculator-pages-construction-cost-calculator #edEstCard { --eacc: var(--g); --eacc2: var(--g-dk); --ehover: var(--p-grey-81); --eink: var(--p-blue-9); --eline: var(--p-grey-35); --emut: var(--p-blue-36); --esoft: var(--g-lt); }
.thl-p-calculator-pages-construction-cost-calculator .ed-pane-scroll { scrollbar-color: var(--p-grey-25) transparent; }
.thl-p-index .pcat-com { --ac: var(--c-cyan); }
.thl-p-index .pcat-des { --ac: var(--purple); }
.thl-p-index .pcat-ess { --ac: var(--p-pink-3); }
.thl-p-index .pcat-free { --ac: var(--orange); }
.thl-p-index .pcat-pro { --ac: var(--gold); }
.thl-p-index .pcat-prop { --ac: var(--blue); }
.thl-p-index .pcat-sup { --ac: var(--p-blue-22); }
.thl-p-users-admin-admin-posts .adp-banner-thread-icon { filter: drop-shadow(0 0 10px rgba(var(--g-rgb),0.45)); }
.thl-p-users-admin-admin-posts .adp-thumb-thread-hero i { filter: drop-shadow(0 0 5px rgba(var(--g-rgb),0.5)); }
.thl-p-users-admin-admin-seller-freelance .asf-table-wrap { scrollbar-color: var(--border) transparent; }
.thl-p-users-all-messages .msg-post-thread-thumb i { filter: drop-shadow(0 0 6px rgba(var(--g-rgb),0.35)); }
.thl-p-users-user-my-posts .mp-banner-thread-icon { filter: drop-shadow(0 0 10px rgba(var(--g-rgb),0.4)); }
.thl-p-users-user-my-posts .thread-big-icon { filter: drop-shadow(0 0 10px rgba(var(--g-rgb),0.45)); }
.thl-p-users-admin-admin-seller-calculator-projects .adm-thumb-strip { scrollbar-color: var(--border) transparent; }
.thl-p-users-admin-admin-seller-designs .adm-thumb-strip { scrollbar-color: var(--border) transparent; }
.thl-p-users-admin-admin-seller-essentials .adm-thumb-strip { scrollbar-color: var(--border) transparent; }
.thl-p-users-admin-admin-seller-professions .adm-thumb-strip { scrollbar-color: var(--border) transparent; }
.thl-p-users-admin-admin-seller-properties .adm-thumb-strip { scrollbar-color: var(--border) transparent; }
.thl-p-users-admin-admin-seller-supplies .adm-thumb-strip { scrollbar-color: var(--border) transparent; }
.thl-p-freelance-pages-view-freelance .map-pin-wrap:hover { filter: drop-shadow(0 6px 14px rgba(var(--p-black-1-rgb),.45)); }
.thl-p-property-pages-view-property .map-pin-wrap:hover { filter: drop-shadow(0 6px 14px rgba(var(--p-black-1-rgb),.45)); }
.thl-p-supply-pages-view-supply .map-pin-wrap:hover { filter: drop-shadow(0 6px 14px rgba(var(--p-black-1-rgb),.45)); }
/* the two @keyframes that carried a colour now read it from here, so the
   frames can stay in their page without a colour in them */
.thl-p-index { --hero-dot-a: rgba(var(--g-rgb),0.25); --hero-dot-b: rgba(var(--g-rgb),0.08); }
.thl-p-users-profile { --rank-pulse-a: rgba(var(--g-rgb),0.45); --rank-pulse-b: rgba(var(--g-rgb),0); }

/* the promotion timeline bar. The page used to build this gradient in PHP,
   hex and all, and print it into a style attribute. The page now says only
   whether the promotion is live; the colour is here. */
.thl-p-users-user-my-promotions .mp-tl-fill { background: var(--border); }
.thl-p-users-user-my-promotions .mp-tl-fill.is-live { background: linear-gradient(90deg, var(--g), var(--g-vivid)); }

.thl-p-users-admin-admin-withdrawals .aw-modal-check { color: var(--sub); }

/* become_seller: applicant type, and the upload card for each document */
.thl-p-users-user-become-seller .bs-hint { color: var(--muted); }
.thl-p-users-user-become-seller .bs-doc-purged .bs-doc-label strong { color: var(--sub); }
.thl-p-users-user-become-seller .bs-doc-purged .bs-doc-label em { color: var(--muted); }
.thl-p-users-user-become-seller .bs-kyc-type { border-color: var(--border); color: var(--sub); background: var(--white); }
.thl-p-users-user-become-seller .bs-kyc-type:hover { border-color: var(--g); color: var(--g-dk); }
.thl-p-users-user-become-seller .bs-kyc-type.on { border-color: var(--g); background: var(--g-lt); color: var(--g-dk); }

.thl-p-users-user-become-seller .bs-kyc-slot { border-color: var(--border); background: var(--white); }
.thl-p-users-user-become-seller .bs-kyc-slot.has-file { border-color: var(--g); }
.thl-p-users-user-become-seller .bs-kyc-name { color: var(--ink); }
.thl-p-users-user-become-seller .bs-kyc-req { border-color: var(--warn); background: var(--amber-lt); color: var(--amber-ink); }
.thl-p-users-user-become-seller .bs-kyc-opt { border-color: var(--border); background: var(--surface2); color: var(--muted); }
.thl-p-users-user-become-seller .bs-kyc-state { color: var(--g-dk); }
.thl-p-users-user-become-seller .bs-kyc-hint { color: var(--muted); }

.thl-p-users-user-become-seller .bs-kyc-saved { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-user-become-seller .bs-kyc-saved-name { color: var(--g-dk); }
.thl-p-users-user-become-seller .bs-kyc-saved-sub { color: var(--sub); }
.thl-p-users-user-become-seller .bs-kyc-thumb { border-color: var(--border); background: var(--white); color: var(--red); }
.thl-p-users-user-become-seller .bs-kyc-remove { border-color: var(--border); color: var(--muted); background: var(--white); }
.thl-p-users-user-become-seller .bs-kyc-remove:hover { border-color: var(--red); color: var(--red); }

.thl-p-users-user-become-seller .bs-kyc-drop { border-color: var(--border-2); background: var(--surf); }
.thl-p-users-user-become-seller .bs-kyc-drop:hover,
.thl-p-users-user-become-seller .bs-kyc-drop:focus-visible { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-user-become-seller .bs-kyc-drop.dragover { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-user-become-seller .bs-kyc-drop-icon { color: var(--g); }
.thl-p-users-user-become-seller .bs-kyc-drop-title { color: var(--ink); }
.thl-p-users-user-become-seller .bs-kyc-drop-sub { color: var(--muted); }

.thl-p-users-user-become-seller .bs-kyc-picked { border-color: var(--g); background: var(--g-lt); }
.thl-p-users-user-become-seller .bs-kyc-picked-thumb { border-color: var(--border); background: var(--white); color: var(--red); }
.thl-p-users-user-become-seller .bs-kyc-picked-name { color: var(--ink); }
.thl-p-users-user-become-seller .bs-kyc-picked-size { color: var(--sub); }
.thl-p-users-user-become-seller .bs-kyc-clear { border-color: var(--border); color: var(--muted); background: var(--white); }
.thl-p-users-user-become-seller .bs-kyc-clear:hover { border-color: var(--red); color: var(--red); }
.thl-p-users-user-become-seller .bs-kyc-error { color: var(--red); }

.thl-p-users-user-become-seller .bs-aup { color: var(--sub); border-color: var(--border); background: var(--surf); }
.thl-p-users-user-become-seller .bs-aup a { color: var(--g-dk); }
.thl-p-users-admin-admin-seller-verifications .asv-apptype { color: var(--muted); }
.thl-p-users-admin-admin-seller-verifications .asv-doc-missing { border-color: var(--red); background: var(--red-lt); color: var(--red); }
.thl-p-users-admin-admin-seller-verifications .asv-doc-purged { border-color: var(--border); background: var(--surface2); color: var(--muted); }
.thl-p-users-admin-admin-seller-verifications .asv-del-thumb { border-color: var(--border-2); background: var(--surf); color: var(--muted); }

/* ══ 5. SHARED COMPONENTS - LAST, AND DELIBERATELY ═════════════════════════
   Every selector doubles its class (.btn-green.btn-green) and this section is
   LAST in the file. Both are deliberate.

   WHY: page rules are scoped (.thl-p-index .btn = specificity 0-2-0). An
   undoubled component rule (.btn-green = 0-1-0) LOST to them, so a page base
   rule like ".btn { border-color: transparent }" wiped the border off every
   variant. 355 component rules were being silently overridden this way,
which
   is why My Properties had no button borders.

   Doubling makes components 0-2-0 too,
and being last wins the tie,
so a
   widget looks the same on every page. DO NOT move this section up and DO NOT
   un-double the selectors. */

.pagination.pagination,
.au-pagination.au-pagination,
.as-pagination.as-pagination,
.ap-pagination.ap-pagination,
.ao-pagination.ao-pagination,
.aw-pagination.aw-pagination,
.adp-pagination.adp-pagination,
.asd-pagination.asd-pagination,
.ase-pagination.ase-pagination,
.asf-pagination.asf-pagination,
.asp-pagination.asp-pagination,
.aspr-pagination.aspr-pagination,
.ass-pagination.ass-pagination,
.asv-pagination.asv-pagination,
.profile-pagination.profile-pagination,
.notif-pagination.notif-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin: 24px 0 8px;
}.pagination.pagination a,
.pagination.pagination span,
.au-pagination.au-pagination a,
.au-pagination.au-pagination span,
.as-pagination.as-pagination a,
.as-pagination.as-pagination span,
.ap-pagination.ap-pagination a,
.ap-pagination.ap-pagination span,
.ao-pagination.ao-pagination a,
.ao-pagination.ao-pagination span,
.aw-pagination.aw-pagination a,
.aw-pagination.aw-pagination span,
.adp-pagination.adp-pagination a,
.adp-pagination.adp-pagination span,
.asd-pagination.asd-pagination a,
.asd-pagination.asd-pagination span,
.ase-pagination.ase-pagination a,
.ase-pagination.ase-pagination span,
.asf-pagination.asf-pagination a,
.asf-pagination.asf-pagination span,
.asp-pagination.asp-pagination a,
.asp-pagination.asp-pagination span,
.aspr-pagination.aspr-pagination a,
.aspr-pagination.aspr-pagination span,
.ass-pagination.ass-pagination a,
.ass-pagination.ass-pagination span,
.asv-pagination.asv-pagination a,
.asv-pagination.asv-pagination span,
.profile-pagination.profile-pagination a,
.profile-pagination.profile-pagination span,
.notif-pagination.notif-pagination a,
.notif-pagination.notif-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 12px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--white);
  color:var(--ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}.pagination.pagination a:hover,
.au-pagination.au-pagination a:hover,
.as-pagination.as-pagination a:hover,
.ap-pagination.ap-pagination a:hover,
.ao-pagination.ao-pagination a:hover,
.aw-pagination.aw-pagination a:hover,
.adp-pagination.adp-pagination a:hover,
.asd-pagination.asd-pagination a:hover,
.ase-pagination.ase-pagination a:hover,
.asf-pagination.asf-pagination a:hover,
.asp-pagination.asp-pagination a:hover,
.aspr-pagination.aspr-pagination a:hover,
.ass-pagination.ass-pagination a:hover,
.asv-pagination.asv-pagination a:hover,
.profile-pagination.profile-pagination a:hover,
.notif-pagination.notif-pagination a:hover {
  background: var(--g-lt);
  border-color: var(--g);
  color:var(--g-dk);
}

.pagination.pagination a.active,
.au-pagination.au-pagination a.active,
.as-pagination.as-pagination a.active,
.ap-pagination.ap-pagination a.active,
.ao-pagination.ao-pagination a.active,
.aw-pagination.aw-pagination a.active,
.adp-pagination.adp-pagination a.active,
.asd-pagination.asd-pagination a.active,
.ase-pagination.ase-pagination a.active,
.asf-pagination.asf-pagination a.active,
.asp-pagination.asp-pagination a.active,
.aspr-pagination.aspr-pagination a.active,
.ass-pagination.ass-pagination a.active,
.asv-pagination.asv-pagination a.active,
.profile-pagination.profile-pagination a.active,
.notif-pagination.notif-pagination a.active {
  background: var(--g);
  border-color: var(--g);
  color:var(--white);
  font-weight: 700;
}

.pagination.pagination .disabled,
.au-pagination.au-pagination .disabled,
.as-pagination.as-pagination .disabled,
.ap-pagination.ap-pagination .disabled,
.ao-pagination.ao-pagination .disabled,
.aw-pagination.aw-pagination .disabled,
.adp-pagination.adp-pagination .disabled,
.asd-pagination.asd-pagination .disabled,
.ase-pagination.ase-pagination .disabled,
.asf-pagination.asf-pagination .disabled,
.asp-pagination.asp-pagination .disabled,
.aspr-pagination.aspr-pagination .disabled,
.ass-pagination.ass-pagination .disabled,
.asv-pagination.asv-pagination .disabled,
.profile-pagination.profile-pagination .disabled,
.notif-pagination.notif-pagination .disabled {
  background: var(--surf);
  color:var(--muted);
  cursor: default;
}

.pagination.pagination .ellipsis,
.au-pagination.au-pagination .ellipsis,
.as-pagination.as-pagination .ellipsis,
.ap-pagination.ap-pagination .ellipsis,
.ao-pagination.ao-pagination .ellipsis,
.aw-pagination.aw-pagination .ellipsis,
.adp-pagination.adp-pagination .ellipsis,
.asd-pagination.asd-pagination .ellipsis,
.ase-pagination.ase-pagination .ellipsis,
.asf-pagination.asf-pagination .ellipsis,
.asp-pagination.asp-pagination .ellipsis,
.aspr-pagination.aspr-pagination .ellipsis,
.ass-pagination.ass-pagination .ellipsis,
.asv-pagination.asv-pagination .ellipsis,
.profile-pagination.profile-pagination .ellipsis,
.notif-pagination.notif-pagination .ellipsis {
  border: none;
  background: none;
  padding: 7px 4px;
  color:var(--muted);
}

@media (max-width: 480px) {
  .pagination.pagination a,
  .pagination.pagination span {
    padding: 6px 9px;
    font-size: 12px;
  }
}

/* ── EMPTY STATE ────────────────────────────────────────────────────────────
   Deliberately minimal. Pages keep their own look; this only guarantees the
   text centres. The icon rule targets ONLY the state's own leading icon (a
   direct child), never icons inside buttons or links within the block. */

.empty-state.empty-state {
  text-align: center;
}

.empty-state.empty-state > i {
  font-size: 40px;
  color:var(--muted);
  margin-bottom: 14px;
  display: block;
}.err-box.err-box,
.warn-box.warn-box,
.info-box.info-box {
  border: 1px solid;
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 16px;
  font-size: 13.5px;
  line-height: 1.6;
  display: flex;
  align-items: center;
  gap: 8px;
    /* NOT white-space: pre-line.
       This is a flex container. Whitespace between flex items is normally
       discarded, but pre-line PRESERVES the newline that sits between the
       <i> and the text in the markup - so it became a real line break and
       pushed the text onto the next line, leaving the icon hanging above it
       like a superscript. Nothing here renders text containing newlines;
       checked all 57 boxes before removing it. */
    /* CENTRED, not flex-start.
       flex-start pins the icon to the TOP of the text. On a message that
       wraps to two lines that reads as the icon hanging above the text
       rather than belonging to it. Checked all 26 boxes whose icon is a
       direct child: every one is a short message, none carries a list, so
       centring cannot strand the icon halfway down a long block. */
}
.err-box.err-box   { background: var(--st-err-bg);  border-color: var(--st-err-bd);  color: var(--st-err-ink); }
.warn-box.warn-box { background: var(--st-warn-bg); border-color: var(--st-warn-bd); color: var(--st-warn-ink); }
.info-box.info-box { background: var(--st-info-bg); border-color: var(--st-info-bd); color: var(--st-info-ink); }.err-box.err-box i,
.warn-box.warn-box i,
.info-box.info-box i { flex-shrink: 0; }.err-box.err-box ul,
.warn-box.warn-box ul,
.info-box.info-box ul {
  margin: 0;
  padding-left: 18px;
}.err-box.err-box li,
.warn-box.warn-box li,
.info-box.info-box li {
  margin: 2px 0;
}

/* ── STATUS BADGE ───────────────────────────────────────────────────────────
   Layout only. Colours, padding, radius and size stay with each page's own
   definition so nothing shifts where a page styled its badge differently. */

.status-badge.status-badge,
.bid-status-badge.bid-status-badge,
.brc-status-badge.brc-status-badge,
.design-status-badge.design-status-badge,
.job-status-badge.job-status-badge,
.post-status-badge.post-status-badge,
.prof-status-badge.prof-status-badge,
.prop-status-badge.prop-status-badge,
.supply-status-badge.supply-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

/* ════════════════════════════════════════════════════════════════════════════
   THE BUTTON FAMILY  (.thl-btn)
   ----------------------------------------------------------------------------
   ONE definition for every button on the site, so a border change is a
   ONE-LINE change in css/thl_tokens.css, never a hunt through 96 files.

   The look is cloned from the two buttons signed off as the reference on the
   properties page:
     .card-view-link     tinted bg, medium token-colour border, colour text, fills solid on hover
     .card-promote-btn   the same shape in the gold family
   Every colour below is a token. NOTHING here is a raw hex.

   Migration happens page by page: a page's own button CSS is deleted only
   when its markup has moved onto these classes and the page has been eyeballed.
   ════════════════════════════════════════════════════════════════════════════ */

.thl-btn.thl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 16px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  font-family: inherit;
}

.thl-btn.thl-btn i {
  font-size: 0.92em;
}

.thl-btn.thl-btn:disabled,
.thl-btn.thl-btn.is-disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* The reference look: medium green border, soft tint, fills on hover */

.thl-btn-view.thl-btn-view {
  background: var(--g-lt);
  border-color: var(--g);
  color:var(--g-dk);
}

.thl-btn-view.thl-btn-view:hover {
  background: var(--g);
  border-color: var(--g);
  color:var(--white);
}

/* ════════════════════════════════════════════════════════════════════════════
   LEGACY BUTTON NAMES, ALIASED ONTO THE FAMILY
   ----------------------------------------------------------------------------
   70 card action buttons across the site each carried their own definition and
   had drifted: 9 used the pale --g-br border, 5 used the medium --g, 43 had no
   border at all. Same button, different look on every page.

   Their per-page CSS blocks are DELETED. The names live on here, all pointing
   at one definition, so no markup had to change and there is now exactly ONE
   place that controls how a view / promote / review button looks.

   The look is the properties-page .card-view-link that was signed off:
   medium --g border, --g-lt tint, fills solid on hover.
   ════════════════════════════════════════════════════════════════════════════ */

.card-view-link.card-view-link,
.jcard-view-btn.jcard-view-btn,
.comm-view-link.comm-view-link,
.btn-view.btn-view,
.lst-view-btn.lst-view-btn,
.msg-view-link.msg-view-link,
.rv-view-all-btn.rv-view-all-btn,
.adm-qa-btn-view.adm-qa-btn-view,
.adm-qa-btn-viewlive.adm-qa-btn-viewlive,
.adp-btn-view.adp-btn-view,
.ase-btn-view.ase-btn-view,
.asf-btn-view.asf-btn-view,
.asp-btn-view.asp-btn-view,
.ass-btn-view.ass-btn-view,
.asv-btn-view.asv-btn-view,
.job-view-link.job-view-link,
.flr-btn-reviewed.flr-btn-reviewed,
.card-promote-btn.card-promote-btn,
.mp-promote-cta-btn.mp-promote-cta-btn,
.adm-qa-btn-review.adm-qa-btn-review,
.adp-btn-review.adp-btn-review,
.ase-btn-review.ase-btn-review,
.asf-btn-review.asf-btn-review,
.asp-btn-review.asp-btn-review,
.ass-btn-review.ass-btn-review,
.asv-btn-review.asv-btn-review,
.ao-dp-btn-view.ao-dp-btn-view,
.bs-action-btn-review.bs-action-btn-review,
.ap-btn-view.ap-btn-view,
.au-btn-view.au-btn-view,
.ao-btn-view.ao-btn-view,
.aw-btn-view.aw-btn-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 6px 13px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  font-family: inherit;
}

/* View / open / live: the approved medium-green look */

.card-view-link.card-view-link,
.jcard-view-btn.jcard-view-btn,
.comm-view-link.comm-view-link,
.btn-view.btn-view,
.lst-view-btn.lst-view-btn,
.msg-view-link.msg-view-link,
.rv-view-all-btn.rv-view-all-btn,
.adm-qa-btn-view.adm-qa-btn-view,
.adm-qa-btn-viewlive.adm-qa-btn-viewlive,
.adp-btn-view.adp-btn-view,
.ase-btn-view.ase-btn-view,
.asf-btn-view.asf-btn-view,
.asp-btn-view.asp-btn-view,
.ass-btn-view.ass-btn-view,
.asv-btn-view.asv-btn-view,
.job-view-link.job-view-link,
.flr-btn-reviewed.flr-btn-reviewed {
  background: var(--g-lt);
  border-color: var(--g);
  color:var(--g-dk);
}

.card-view-link.card-view-link:hover,
.jcard-view-btn.jcard-view-btn:hover,
.comm-view-link.comm-view-link:hover,
.btn-view.btn-view:hover,
.lst-view-btn.lst-view-btn:hover,
.msg-view-link.msg-view-link:hover,
.rv-view-all-btn.rv-view-all-btn:hover,
.adm-qa-btn-view.adm-qa-btn-view:hover,
.adm-qa-btn-viewlive.adm-qa-btn-viewlive:hover,
.adp-btn-view.adp-btn-view:hover,
.ase-btn-view.ase-btn-view:hover,
.asf-btn-view.asf-btn-view:hover,
.asp-btn-view.asp-btn-view:hover,
.ass-btn-view.ass-btn-view:hover,
.asv-btn-view.asv-btn-view:hover,
.job-view-link.job-view-link:hover,
.flr-btn-reviewed.flr-btn-reviewed:hover {
  background: var(--g);
  border-color: var(--g);
  color:var(--white);
}

/* Promote: the approved gold look */

.card-promote-btn.card-promote-btn,
.mp-promote-cta-btn.mp-promote-cta-btn {
  background: var(--amber-lt);
  border-color: var(--gold);
  color:var(--gold);
}

.card-promote-btn.card-promote-btn:hover,
.mp-promote-cta-btn.mp-promote-cta-btn:hover {
  background: var(--gold);
  border-color: var(--gold);
  color:var(--white);
}

/* Review / inspect: same shape, informational blue */

.adm-qa-btn-review.adm-qa-btn-review,
.adp-btn-review.adp-btn-review,
.ase-btn-review.ase-btn-review,
.asf-btn-review.asf-btn-review,
.asp-btn-review.asp-btn-review,
.ass-btn-review.ass-btn-review,
.asv-btn-review.asv-btn-review,
.ao-dp-btn-view.ao-dp-btn-view,
.bs-action-btn-review.bs-action-btn-review {
  background: var(--st-info-bg);
  border-color: var(--st-info-bd);
  color:var(--st-info-ink);
}

.adm-qa-btn-review.adm-qa-btn-review:hover,
.adp-btn-review.adp-btn-review:hover,
.ase-btn-review.ase-btn-review:hover,
.asf-btn-review.asf-btn-review:hover,
.asp-btn-review.asp-btn-review:hover,
.ass-btn-review.ass-btn-review:hover,
.asv-btn-review.asv-btn-review:hover,
.ao-dp-btn-view.ao-dp-btn-view:hover,
.bs-action-btn-review.bs-action-btn-review:hover {
  background: var(--st-info-bd);
  border-color: var(--st-info-bd);
  color:var(--white);
}

/* Quiet admin actions */

.ap-btn-view.ap-btn-view,
.au-btn-view.au-btn-view,
.ao-btn-view.ao-btn-view,
.aw-btn-view.aw-btn-view {
  background: var(--white);
  border-color: var(--border);
  color:var(--sub);
}

.ap-btn-view.ap-btn-view:hover,
.au-btn-view.au-btn-view:hover,
.ao-btn-view.ao-btn-view:hover,
.aw-btn-view.aw-btn-view:hover {
  background: var(--g-lt);
  border-color: var(--g);
  color:var(--g-dk);
}

/* ════════════════════════════════════════════════════════════════════════════
   FILTER / CLEAR / SEARCH BUTTONS, ALIASED ONTO ONE DEFINITION
   ----------------------------------------------------------------------------
   84 rules across 31 files, and they had drifted badly: Clear buttons used
   three different borders (--border, --red-br, 1.5px --border), filter buttons
   swung between none / transparent / --g, and padding came in four sizes
   (9px 14px, 9px 16px, 8px 16px, 8px 18px). That is what made every filter bar
   on the site look slightly different.

   Their per-page CSS is DELETED. Three roles, one definition each:
     CLEAR  reset a filter        soft red tint, medium red border
     APPLY  submit the filter     solid brand green
     TAB    segmented selector    quiet until .active

   ICON SIZE IS SET EXPLICITLY. The icons in these buttons rendered huge and
   off-centre because they inherited a font-size meant for an empty-state icon.
   Pinning it here means that cannot happen again.
   ════════════════════════════════════════════════════════════════════════════ */

.ac-clear-btn.ac-clear-btn,
.adp-clear-btn.adp-clear-btn,
.ao-clear-btn.ao-clear-btn,
.ap-clear-btn.ap-clear-btn,
.as-clear-btn.as-clear-btn,
.asd-clear-btn.asd-clear-btn,
.ase-clear-btn.ase-clear-btn,
.asf-btn-clear.asf-btn-clear,
.asp-clear-btn.asp-clear-btn,
.ass-clear-btn.ass-clear-btn,
.au-clear-btn.au-clear-btn,
.ac-search-btn.ac-search-btn,
.an-search-btn.an-search-btn,
.filter-btn.filter-btn,
.filter-float-btn.filter-float-btn,
.map-search-btn.map-search-btn,
.au-filter-btn.au-filter-btn,
.asup-filter-btn.asup-filter-btn,
.as-filter-btn.as-filter-btn,
.asv-filter-btn.asv-filter-btn,
.aw-filter-btn.aw-filter-btn,
.stats-filter-btn.stats-filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 16px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  font-family: inherit;
}

.ac-clear-btn.ac-clear-btn i,
.adp-clear-btn.adp-clear-btn i,
.ao-clear-btn.ao-clear-btn i,
.ap-clear-btn.ap-clear-btn i,
.as-clear-btn.as-clear-btn i,
.asd-clear-btn.asd-clear-btn i,
.ase-clear-btn.ase-clear-btn i,
.asf-btn-clear.asf-btn-clear i,
.asp-clear-btn.asp-clear-btn i,
.ass-clear-btn.ass-clear-btn i,
.au-clear-btn.au-clear-btn i,
.ac-search-btn.ac-search-btn i,
.an-search-btn.an-search-btn i,
.filter-btn.filter-btn i,
.filter-float-btn.filter-float-btn i,
.map-search-btn.map-search-btn i,
.au-filter-btn.au-filter-btn i,
.asup-filter-btn.asup-filter-btn i,
.as-filter-btn.as-filter-btn i,
.asv-filter-btn.asv-filter-btn i,
.aw-filter-btn.aw-filter-btn i,
.stats-filter-btn.stats-filter-btn i {
  font-size: 0.95em;
  line-height: 1;
  width: auto;
  flex-shrink: 0;
}

/* CLEAR */

.ac-clear-btn.ac-clear-btn,
.adp-clear-btn.adp-clear-btn,
.ao-clear-btn.ao-clear-btn,
.ap-clear-btn.ap-clear-btn,
.as-clear-btn.as-clear-btn,
.asd-clear-btn.asd-clear-btn,
.ase-clear-btn.ase-clear-btn,
.asf-btn-clear.asf-btn-clear,
.asp-clear-btn.asp-clear-btn,
.ass-clear-btn.ass-clear-btn,
.au-clear-btn.au-clear-btn {
  background: var(--st-err-bg);
  border-color: var(--st-err-bd);
  color:var(--st-err-ink);
}

.ac-clear-btn.ac-clear-btn:hover,
.adp-clear-btn.adp-clear-btn:hover,
.ao-clear-btn.ao-clear-btn:hover,
.ap-clear-btn.ap-clear-btn:hover,
.as-clear-btn.as-clear-btn:hover,
.asd-clear-btn.asd-clear-btn:hover,
.ase-clear-btn.ase-clear-btn:hover,
.asf-btn-clear.asf-btn-clear:hover,
.asp-clear-btn.asp-clear-btn:hover,
.ass-clear-btn.ass-clear-btn:hover,
.au-clear-btn.au-clear-btn:hover {
  background: var(--st-err-bd);
  border-color: var(--st-err-bd);
  color:var(--white);
}

/* APPLY */

.ac-search-btn.ac-search-btn,
.an-search-btn.an-search-btn,
.filter-btn.filter-btn,
.filter-float-btn.filter-float-btn,
.map-search-btn.map-search-btn,
.au-filter-btn.au-filter-btn,
.asup-filter-btn.asup-filter-btn {
  background: var(--g);
  border-color: var(--g);
  color:var(--white);
}

.ac-search-btn.ac-search-btn:hover,
.an-search-btn.an-search-btn:hover,
.filter-btn.filter-btn:hover,
.filter-float-btn.filter-float-btn:hover,
.map-search-btn.map-search-btn:hover,
.au-filter-btn.au-filter-btn:hover,
.asup-filter-btn.asup-filter-btn:hover {
  background: var(--g-dk);
  border-color: var(--g-dk);
  color:var(--white);
}

/* TAB */

/* ════════════════════════════════════════════════════════════════════════════
   THE FILTER BAR FAMILY
   ----------------------------------------------------------------------------
   Clear buttons, filter submits, search inputs and filter selects were defined
   191 times across 45 files and had drifted badly: Clear was red-bordered on
   four admin pages, grey-bordered on seven listing pages, and borderless on
   two more. Font sizes ranged 11px to 17px.

   All of it is defined ONCE here now.

   THE ICON RULE MATTERS. Icons inside these controls are pinned to a fixed
   box below. Without it a shared "icon" rule elsewhere can inflate them, which
   is exactly what made the Clear buttons look broken and off-centre.
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Clear / reset ─────────────────────────────────────────────────────────
   Quiet by default so it never competes with the primary action; turns red on
   hover to signal it discards something. */

.filter-clear.filter-clear,
.ac-clear-btn.ac-clear-btn,
.ao-clear-btn.ao-clear-btn,
.ase-clear-btn.ase-clear-btn,
.asf-btn-clear.asf-btn-clear,
.asp-clear-btn.asp-clear-btn,
.ass-clear-btn.ass-clear-btn,
.pub-clear.pub-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 38px;
  padding: 0 14px;
  background: var(--surf);
  color:var(--sub);
  border: 1.5px solid var(--border);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  font-family: inherit;
}

.filter-clear.filter-clear:hover,
.ac-clear-btn.ac-clear-btn:hover,
.ao-clear-btn.ao-clear-btn:hover,
.ase-clear-btn.ase-clear-btn:hover,
.asf-btn-clear.asf-btn-clear:hover,
.asp-clear-btn.asp-clear-btn:hover,
.ass-clear-btn.ass-clear-btn:hover,
.pub-clear.pub-clear:hover {
  background: var(--red-lt);
  border-color: var(--red);
  color:var(--red);
}

/* Pin every icon shape these buttons use, so nothing can inflate them. */

.filter-clear.filter-clear i,
.ac-clear-btn.ac-clear-btn i,
.ao-clear-btn.ao-clear-btn i,
.ase-clear-btn.ase-clear-btn i,
.asf-btn-clear.asf-btn-clear i,
.asp-clear-btn.asp-clear-btn i,
.ass-clear-btn.ass-clear-btn i,
.pub-clear.pub-clear i,
.filter-clear.filter-clear .icon-wrap,
.ac-clear-btn.ac-clear-btn .icon-wrap,
.ao-clear-btn.ao-clear-btn .icon-wrap,
.ase-clear-btn.ase-clear-btn .icon-wrap,
.asf-btn-clear.asf-btn-clear .icon-wrap,
.asp-clear-btn.asp-clear-btn .icon-wrap,
.ass-clear-btn.ass-clear-btn .icon-wrap,
.pub-clear.pub-clear .icon-wrap,
.filter-clear.filter-clear svg,
.ac-clear-btn.ac-clear-btn svg,
.ao-clear-btn.ao-clear-btn svg,
.ase-clear-btn.ase-clear-btn svg,
.asf-btn-clear.asf-btn-clear svg,
.asp-clear-btn.asp-clear-btn svg,
.ass-clear-btn.ass-clear-btn svg,
.pub-clear.pub-clear svg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 13px;
  line-height: 1;
  flex-shrink: 0;
  margin: 0;
}

/* ── Filter submit / search action: the medium green ──────────────────────── */

.ac-search-btn.ac-search-btn,
.ap-filter-submit.ap-filter-submit,
.asup-filter-btn.asup-filter-btn,
.au-filter-btn.au-filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 38px;
  padding: 0 18px;
  background: var(--g-lt);
  color:var(--g-dk);
  border: 1.5px solid var(--g);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  font-family: inherit;
}

.ac-search-btn.ac-search-btn:hover,
.ap-filter-submit.ap-filter-submit:hover,
.asup-filter-btn.asup-filter-btn:hover,
.au-filter-btn.au-filter-btn:hover {
  background: var(--g);
  border-color: var(--g);
  color:var(--white);
}

.ac-search-btn.ac-search-btn i,
.ap-filter-submit.ap-filter-submit i,
.asup-filter-btn.asup-filter-btn i,
.au-filter-btn.au-filter-btn i {
  font-size: 13px;
  line-height: 1;
  flex-shrink: 0;
}

/* ── Search inputs ────────────────────────────────────────────────────────── */

.search-inp.search-inp,
.ac-search-inp.ac-search-inp,
.adp-search-inp.adp-search-inp,
.an-search-inp.an-search-inp,
.ao-search-inp.ao-search-inp,
.ap-search-inp.ap-search-inp,
.as-search-inp.as-search-inp,
.asd-search-inp.asd-search-inp,
.ase-search-inp.ase-search-inp,
.asf-search-inp.asf-search-inp,
.asp-search-inp.asp-search-inp,
.ass-search-inp.ass-search-inp,
.au-search-inp.au-search-inp,
.aw-search-inp.aw-search-inp,
.promo-search-inp.promo-search-inp {
  width: 100%;
  padding: 9px 12px 9px 34px;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  font-size: 13px;
  color:var(--ink);
  background: var(--white);
  font-family: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.search-inp.search-inp:focus,
.ac-search-inp.ac-search-inp:focus,
.adp-search-inp.adp-search-inp:focus,
.an-search-inp.an-search-inp:focus,
.ao-search-inp.ao-search-inp:focus,
.ap-search-inp.ap-search-inp:focus,
.as-search-inp.as-search-inp:focus,
.asd-search-inp.asd-search-inp:focus,
.ase-search-inp.ase-search-inp:focus,
.asf-search-inp.asf-search-inp:focus,
.asp-search-inp.asp-search-inp:focus,
.ass-search-inp.ass-search-inp:focus,
.au-search-inp.au-search-inp:focus,
.aw-search-inp.aw-search-inp:focus,
.promo-search-inp.promo-search-inp:focus {
  outline: none;
  border-color: var(--g);
  box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1);
}

.search-inp.search-inp::placeholder,
.ac-search-inp.ac-search-inp::placeholder,
.adp-search-inp.adp-search-inp::placeholder,
.an-search-inp.an-search-inp::placeholder,
.ao-search-inp.ao-search-inp::placeholder,
.ap-search-inp.ap-search-inp::placeholder,
.as-search-inp.as-search-inp::placeholder,
.asd-search-inp.asd-search-inp::placeholder,
.ase-search-inp.ase-search-inp::placeholder,
.asf-search-inp.asf-search-inp::placeholder,
.asp-search-inp.asp-search-inp::placeholder,
.ass-search-inp.ass-search-inp::placeholder,
.au-search-inp.au-search-inp::placeholder,
.aw-search-inp.aw-search-inp::placeholder,
.promo-search-inp.promo-search-inp::placeholder {
  color:var(--muted);
}

/* ── Filter selects ───────────────────────────────────────────────────────── */

.filter-select.filter-select,
.tx-filter-select.tx-filter-select {
  flex-shrink: 0;
  padding: 9px 12px;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  font-size: 13px;
  color:var(--sub);
  background: var(--white);
  font-family: inherit;
  cursor: pointer;
  transition: border-color 0.15s;
}

.filter-select.filter-select:focus,
.tx-filter-select.tx-filter-select:focus {
  outline: none;
  border-color: var(--g);
}

/* ════════════════════════════════════════════════════════════════════════════
   THE GENERIC .btn FAMILY - COLOUR ONLY
   ----------------------------------------------------------------------------
   .btn-outline was defined 96 times, .btn-green.btn-green 88, .btn-red.btn-red 38, each in a
   different file and each slightly different: some .btn-red were solid red, others a red tint with red text. Same class name, different button.

   COLOUR ONLY is set here, deliberately. Padding, size, width and radius stay
   with each page, because a wizard's full-width Save and a card's small Delete
   legitimately differ in shape. What must NOT differ is which green, which
   red, which border - and those now come from here and the tokens alone.
   ════════════════════════════════════════════════════════════════════════════ */

.btn-green.btn-green,
.btn-primary.btn-primary,
.btn-solid-green.btn-solid-green,
.btn-publish.btn-publish,
.btn-download.btn-download,
.btn-pay.btn-pay,
.btn-apply-big.btn-apply-big,
.btn-send.btn-send,
.btn-save.btn-save,
.btn-submit.btn-submit,
.btn-accept.btn-accept,
.btn-mark-all.btn-mark-all,
.btn-new-ticket.btn-new-ticket,
.btn-reopen-tkt.btn-reopen-tkt,
.btn-friend-accept.btn-friend-accept {
  background: var(--g);
  border-color: var(--g);
  color:var(--white);
}

.btn-green.btn-green:hover:not(:disabled),
.btn-primary.btn-primary:hover:not(:disabled),
.btn-solid-green.btn-solid-green:hover:not(:disabled),
.btn-publish.btn-publish:hover:not(:disabled),
.btn-download.btn-download:hover:not(:disabled),
.btn-pay.btn-pay:hover:not(:disabled),
.btn-apply-big.btn-apply-big:hover:not(:disabled),
.btn-send.btn-send:hover:not(:disabled),
.btn-save.btn-save:hover:not(:disabled),
.btn-submit.btn-submit:hover:not(:disabled),
.btn-accept.btn-accept:hover:not(:disabled),
.btn-mark-all.btn-mark-all:hover:not(:disabled),
.btn-new-ticket.btn-new-ticket:hover:not(:disabled),
.btn-reopen-tkt.btn-reopen-tkt:hover:not(:disabled),
.btn-friend-accept.btn-friend-accept:hover:not(:disabled) {
  background: var(--g-dk);
  border-color: var(--g-dk);
  color:var(--white);
}

.btn-outline.btn-outline,
.btn-ghost.btn-ghost,
.btn-draft.btn-draft,
.btn-back.btn-back,
.btn-action.btn-action,
.btn-dl.btn-dl,
.btn-icon.btn-icon,
.btn-icon-sm.btn-icon-sm,
.btn-modal-cancel.btn-modal-cancel,
.btn-history.btn-history,
.btn-msg.btn-msg,
.btn-friend-add.btn-friend-add {
  background: var(--white);
  border-color: var(--border);
  color:var(--sub);
}

.btn-outline.btn-outline:hover:not(:disabled),
.btn-ghost.btn-ghost:hover:not(:disabled),
.btn-draft.btn-draft:hover:not(:disabled),
.btn-back.btn-back:hover:not(:disabled),
.btn-action.btn-action:hover:not(:disabled),
.btn-dl.btn-dl:hover:not(:disabled),
.btn-icon.btn-icon:hover:not(:disabled),
.btn-icon-sm.btn-icon-sm:hover:not(:disabled),
.btn-modal-cancel.btn-modal-cancel:hover:not(:disabled),
.btn-history.btn-history:hover:not(:disabled),
.btn-msg.btn-msg:hover:not(:disabled),
.btn-friend-add.btn-friend-add:hover:not(:disabled) {
  background: var(--g-lt);
  border-color: var(--g);
  color:var(--g-dk);
}

.btn-red.btn-red,
.btn-danger.btn-danger,
.btn-remove.btn-remove,
.btn-reject.btn-reject,
.btn-cancel.btn-cancel,
.btn-close-tkt.btn-close-tkt,
.btn-del-tkt.btn-del-tkt,
.btn-modal-delete.btn-modal-delete,
.btn-friend-decline.btn-friend-decline,
.btn-friend-friends.btn-friend-friends {
  background: var(--st-err-bg);
  border-color: var(--st-err-bd);
  color:var(--st-err-ink);
}

.btn-red.btn-red:hover:not(:disabled),
.btn-danger.btn-danger:hover:not(:disabled),
.btn-remove.btn-remove:hover:not(:disabled),
.btn-reject.btn-reject:hover:not(:disabled),
.btn-cancel.btn-cancel:hover:not(:disabled),
.btn-close-tkt.btn-close-tkt:hover:not(:disabled),
.btn-del-tkt.btn-del-tkt:hover:not(:disabled),
.btn-modal-delete.btn-modal-delete:hover:not(:disabled),
.btn-friend-decline.btn-friend-decline:hover:not(:disabled),
.btn-friend-friends.btn-friend-friends:hover:not(:disabled) {
  background: var(--red);
  border-color: var(--red);
  color:var(--white);
}

.btn-danger-dark.btn-danger-dark {
  background: var(--red);
  border-color: var(--red);
  color:var(--white);
}

.btn-danger-dark.btn-danger-dark:hover:not(:disabled) {
  background: var(--error);
  border-color: var(--error);
  color:var(--white);
}

.btn-blue.btn-blue,
.btn-outline-blue.btn-outline-blue {
  background: var(--st-info-bg);
  border-color: var(--st-info-bd);
  color:var(--st-info-ink);
}

.btn-blue.btn-blue:hover:not(:disabled),
.btn-outline-blue.btn-outline-blue:hover:not(:disabled) {
  background: var(--st-info-bd);
  border-color: var(--st-info-bd);
  color:var(--white);
}

.btn-gold.btn-gold,
.btn-pay-now.btn-pay-now,
.btn-friend-pending.btn-friend-pending {
  background: var(--amber-lt);
  border-color: var(--gold);
  color:var(--gold);
}

.btn-gold.btn-gold:hover:not(:disabled),
.btn-pay-now.btn-pay-now:hover:not(:disabled),
.btn-friend-pending.btn-friend-pending:hover:not(:disabled) {
  background: var(--gold);
  border-color: var(--gold);
  color:var(--white);
}

.btn-purple.btn-purple {
  background: var(--violet-bglt);
  border-color: var(--violet);
  color:var(--violet);
}

.btn-purple.btn-purple:hover:not(:disabled) {
  background: var(--violet);
  border-color: var(--violet);
  color:var(--white);
}

.btn-locked.btn-locked {
  background: var(--surf);
  border-color: var(--border);
  color:var(--muted);
}

.btn.btn:disabled,
.btn.btn.is-disabled,
.thl-btn.thl-btn:disabled,
.thl-btn.thl-btn.is-disabled {
  background: var(--surf);
  border-color: var(--border);
  color:var(--muted);
  cursor: not-allowed;
  box-shadow: none;
}

/* ════════════════════════════════════════════════════════════════════════════
   STATUS BADGES - COLOUR BY MEANING
   ----------------------------------------------------------------------------
   72 status badge classes carried their own colours across the admin and user
   areas, so "approved" was a different green on nearly every page and
   "rejected" a different red. They are grouped by MEANING here and take the
   same --st-* tokens the toasts and error boxes use, so a status reads
   identically wherever it appears.

   Colour only. Each page keeps its own badge size and radius.
   ════════════════════════════════════════════════════════════════════════════ */

/* approved / published / active / paid / complete */

.ach-verified-badge.ach-verified-badge,
.adp-badge-published.adp-badge-published,
.an-badge-active.an-badge-active,
.ao-badge-paid.ao-badge-paid,
.ap-plan-inactive-badge.ap-plan-inactive-badge,
.as-badge-active.as-badge-active,
.as-badge-inactive.as-badge-inactive,
.asd-paid-badge.asd-paid-badge,
.ase-badge-approved.ase-badge-approved,
.asf-badge-approved.asf-badge-approved,
.asf-badge-completed.asf-badge-completed,
.asp-badge-approved.asp-badge-approved,
.ass-badge-approved.ass-badge-approved,
.asv-badge-approved.asv-badge-approved,
.aw-badge-approved.aw-badge-approved,
.aw-badge-paid.aw-badge-paid,
.badge-live.badge-live,
.bs-badge-approved.bs-badge-approved,
.chip-paid.chip-paid,
.mp-badge-completed.mp-badge-completed,
.mp-badge-open.mp-badge-open,
.mp-badge-published.mp-badge-published,
.rv-verified-badge.rv-verified-badge {
  background: var(--st-ok-bg);
  border-color: var(--st-ok-bd);
  color:var(--st-ok-ink);
}

/* pending / draft / in review / in progress */

.adp-badge-warn.adp-badge-warn,
.ao-badge-pending.ao-badge-pending,
.ase-badge-warn.ase-badge-warn,
.asf-badge-progress.asf-badge-progress,
.asf-badge-warn.asf-badge-warn,
.asp-badge-warn.asp-badge-warn,
.ass-badge-warn.ass-badge-warn,
.asv-badge-draft.asv-badge-draft,
.asv-badge-pending.asv-badge-pending,
.asv-badge-warn.asv-badge-warn,
.aw-badge-pending.aw-badge-pending,
.aw-badge-processing.aw-badge-processing,
.bs-badge-draft.bs-badge-draft,
.bs-badge-pending.bs-badge-pending,
.mp-badge-awaiting.mp-badge-awaiting,
.mp-badge-inprogress.mp-badge-inprogress,
.mp-badge-review.mp-badge-review,
.mp-badge-submitted.mp-badge-submitted,
.mp-badge-under_review.mp-badge-under_review,
.pending-badge.pending-badge,
.pending-banner-tag.pending-banner-tag,
.pending-new-tag.pending-new-tag,
.pending-size-tag.pending-size-tag,
.preview-new-tag.preview-new-tag,
.review-hero-tag.review-hero-tag {
  background: var(--st-warn-bg);
  border-color: var(--st-warn-bd);
  color:var(--st-warn-ink);
}

/* rejected / failed / expired / cancelled / banned */

.adp-badge-rejected.adp-badge-rejected,
.an-badge-expired.an-badge-expired,
.ao-badge-failed.ao-badge-failed,
.as-badge-expired.as-badge-expired,
.ase-badge-rejected.ase-badge-rejected,
.asf-badge-rejected.asf-badge-rejected,
.asp-badge-rejected.asp-badge-rejected,
.ass-badge-rejected.ass-badge-rejected,
.asv-badge-rejected.asv-badge-rejected,
.aw-badge-failed.aw-badge-failed,
.aw-badge-rejected.aw-badge-rejected,
.aw-badge-reversed.aw-badge-reversed,
.badge-cancelled.badge-cancelled,
.badge-expired.badge-expired,
.bs-badge-rejected.bs-badge-rejected,
.mp-badge-rejected.mp-badge-rejected,
.vf-closed-status-pill.vf-closed-status-pill {
  background: var(--st-err-bg);
  border-color: var(--st-err-bd);
  color:var(--st-err-ink);
}

/* informational / new */

.ase-badge-info.ase-badge-info,
.asf-badge-info.asf-badge-info,
.asp-badge-info.asp-badge-info,
.ass-badge-info.ass-badge-info,
.asv-badge-info.asv-badge-info,
.cbadge-new.cbadge-new,
.chip-blue.chip-blue,
.info-pill.info-pill,
.mp-chip-blue.mp-chip-blue,
.pill-new.pill-new {
  background: var(--st-info-bg);
  border-color: var(--st-info-bd);
  color:var(--st-info-ink);
}.vp-nav-ic.share.share,
.vf-nav-ic.share.share,
.vp-act-btn.vp-share.vp-share {
    background: var(--blue-lt);
    border-color: var(--blue);
    color:var(--blue);
}.vp-nav-ic.share.share:hover,
.vf-nav-ic.share.share:hover,
.vp-act-btn.vp-share.vp-share:hover {
    background: var(--blue);
    border-color: var(--blue);
    color:var(--white);
}

/* ── HEADER DROPDOWN DIVIDER ────────────────────────────────────────────────
   A deliberately FAINT hairline (#f3f4f6). It kept going dark because the
   page's `border: none` shorthand reset border-color to currentColor. The
   shorthand is now split site-wide, and this sits last so nothing wins. */
.udd-sep.udd-sep { border-top-color: var(--surface2); }

/* ── TABS: THE my_freelance STATUS-TAB DESIGN, EVERYWHERE ───────────────────
   THIS IS NOT A NEW DESIGN. It is the exact tab styling already used by the
   status tabs in users/user/my_freelance.php, adopted as the site standard at
   the owner's instruction:

       resting   muted text, transparent border
       hover     ink text on a soft grey (--border-3, the #e9eaec you had)
       active    --surface2 fill (#f3f4f6), ink text, --border outline
       icon      turns brand green when the tab is active
       count     grey pill resting, solid green when active

   Applied to every tab across the user pages so the whole account area reads
   as one product. Colour only; each page keeps its own tab size and spacing. */
body[class^="thl-p-users"] .acc-tab.acc-tab,
body[class^="thl-p-users"] .adp-tab.adp-tab,
body[class^="thl-p-users"] .an-tab.an-tab,
body[class^="thl-p-users"] .ao-tab.ao-tab,
body[class^="thl-p-users"] .ap-page-tab.ap-page-tab,
body[class^="thl-p-users"] .ap-tab.ap-tab,
body[class^="thl-p-users"] .as-ftab.as-ftab,
body[class^="thl-p-users"] .ase-tab.ase-tab,
body[class^="thl-p-users"] .asf-tab.asf-tab,
body[class^="thl-p-users"] .asp-tab.asp-tab,
body[class^="thl-p-users"] .ass-tab.ass-tab,
body[class^="thl-p-users"] .asv-tab.asv-tab,
body[class^="thl-p-users"] .au-ftab.au-ftab,
body[class^="thl-p-users"] .method-tab.method-tab,
body[class^="thl-p-users"] .mnt-tab.mnt-tab,
body[class^="thl-p-users"] .profile-tab-btn.profile-tab-btn,
body[class^="thl-p-users"] .ps-tab.ps-tab,
body[class^="thl-p-users"] .s-tab.s-tab,
body[class^="thl-p-users"] .section-tab.section-tab,
body[class^="thl-p-users"] .tab-btn.tab-btn,
body[class^="thl-p-users"] .tab-search-btn.tab-search-btn,
body[class^="thl-p-users"] .tab-stats-btn.tab-stats-btn,
.thl-p-freelance-pages-bids .s-tab.s-tab
{
    color: var(--muted);
    border-color: transparent;
}
body[class^="thl-p-users"] .acc-tab.acc-tab:hover,
body[class^="thl-p-users"] .adp-tab.adp-tab:hover,
body[class^="thl-p-users"] .an-tab.an-tab:hover,
body[class^="thl-p-users"] .ao-tab.ao-tab:hover,
body[class^="thl-p-users"] .ap-page-tab.ap-page-tab:hover,
body[class^="thl-p-users"] .ap-tab.ap-tab:hover,
body[class^="thl-p-users"] .as-ftab.as-ftab:hover,
body[class^="thl-p-users"] .ase-tab.ase-tab:hover,
body[class^="thl-p-users"] .asf-tab.asf-tab:hover,
body[class^="thl-p-users"] .asp-tab.asp-tab:hover,
body[class^="thl-p-users"] .ass-tab.ass-tab:hover,
body[class^="thl-p-users"] .asv-tab.asv-tab:hover,
body[class^="thl-p-users"] .au-ftab.au-ftab:hover,
body[class^="thl-p-users"] .method-tab.method-tab:hover,
body[class^="thl-p-users"] .mnt-tab.mnt-tab:hover,
body[class^="thl-p-users"] .profile-tab-btn.profile-tab-btn:hover,
body[class^="thl-p-users"] .ps-tab.ps-tab:hover,
body[class^="thl-p-users"] .s-tab.s-tab:hover,
body[class^="thl-p-users"] .section-tab.section-tab:hover,
body[class^="thl-p-users"] .tab-btn.tab-btn:hover,
body[class^="thl-p-users"] .tab-search-btn.tab-search-btn:hover,
body[class^="thl-p-users"] .tab-stats-btn.tab-stats-btn:hover,
.thl-p-freelance-pages-bids .s-tab.s-tab:hover
{
    color: var(--ink);
    background: var(--border-3);
}
body[class^="thl-p-users"] .acc-tab.acc-tab.active,
body[class^="thl-p-users"] .adp-tab.adp-tab.active,
body[class^="thl-p-users"] .an-tab.an-tab.active,
body[class^="thl-p-users"] .ao-tab.ao-tab.active,
body[class^="thl-p-users"] .ap-page-tab.ap-page-tab.active,
body[class^="thl-p-users"] .ap-tab.ap-tab.active,
body[class^="thl-p-users"] .as-ftab.as-ftab.active,
body[class^="thl-p-users"] .ase-tab.ase-tab.active,
body[class^="thl-p-users"] .asf-tab.asf-tab.active,
body[class^="thl-p-users"] .asp-tab.asp-tab.active,
body[class^="thl-p-users"] .ass-tab.ass-tab.active,
body[class^="thl-p-users"] .asv-tab.asv-tab.active,
body[class^="thl-p-users"] .au-ftab.au-ftab.active,
body[class^="thl-p-users"] .method-tab.method-tab.active,
body[class^="thl-p-users"] .mnt-tab.mnt-tab.active,
body[class^="thl-p-users"] .profile-tab-btn.profile-tab-btn.active,
body[class^="thl-p-users"] .ps-tab.ps-tab.active,
body[class^="thl-p-users"] .s-tab.s-tab.active,
body[class^="thl-p-users"] .section-tab.section-tab.active,
body[class^="thl-p-users"] .tab-btn.tab-btn.active,
body[class^="thl-p-users"] .tab-search-btn.tab-search-btn.active,
body[class^="thl-p-users"] .tab-stats-btn.tab-stats-btn.active,
body[class^="thl-p-users"] .acc-tab.acc-tab.is-active,
body[class^="thl-p-users"] .adp-tab.adp-tab.is-active,
body[class^="thl-p-users"] .an-tab.an-tab.is-active,
body[class^="thl-p-users"] .ao-tab.ao-tab.is-active,
body[class^="thl-p-users"] .ap-page-tab.ap-page-tab.is-active,
body[class^="thl-p-users"] .ap-tab.ap-tab.is-active,
body[class^="thl-p-users"] .as-ftab.as-ftab.is-active,
body[class^="thl-p-users"] .ase-tab.ase-tab.is-active,
body[class^="thl-p-users"] .asf-tab.asf-tab.is-active,
body[class^="thl-p-users"] .asp-tab.asp-tab.is-active,
body[class^="thl-p-users"] .ass-tab.ass-tab.is-active,
body[class^="thl-p-users"] .asv-tab.asv-tab.is-active,
body[class^="thl-p-users"] .au-ftab.au-ftab.is-active,
body[class^="thl-p-users"] .method-tab.method-tab.is-active,
body[class^="thl-p-users"] .mnt-tab.mnt-tab.is-active,
body[class^="thl-p-users"] .profile-tab-btn.profile-tab-btn.is-active,
body[class^="thl-p-users"] .ps-tab.ps-tab.is-active,
body[class^="thl-p-users"] .s-tab.s-tab.is-active,
body[class^="thl-p-users"] .section-tab.section-tab.is-active,
body[class^="thl-p-users"] .tab-btn.tab-btn.is-active,
body[class^="thl-p-users"] .tab-search-btn.tab-search-btn.is-active,
body[class^="thl-p-users"] .tab-stats-btn.tab-stats-btn.is-active,
body[class^="thl-p-users"] .acc-tab.acc-tab.on,
body[class^="thl-p-users"] .adp-tab.adp-tab.on,
body[class^="thl-p-users"] .an-tab.an-tab.on,
body[class^="thl-p-users"] .ao-tab.ao-tab.on,
body[class^="thl-p-users"] .ap-page-tab.ap-page-tab.on,
body[class^="thl-p-users"] .ap-tab.ap-tab.on,
body[class^="thl-p-users"] .as-ftab.as-ftab.on,
body[class^="thl-p-users"] .ase-tab.ase-tab.on,
body[class^="thl-p-users"] .asf-tab.asf-tab.on,
body[class^="thl-p-users"] .asp-tab.asp-tab.on,
body[class^="thl-p-users"] .ass-tab.ass-tab.on,
body[class^="thl-p-users"] .asv-tab.asv-tab.on,
body[class^="thl-p-users"] .au-ftab.au-ftab.on,
body[class^="thl-p-users"] .method-tab.method-tab.on,
body[class^="thl-p-users"] .mnt-tab.mnt-tab.on,
body[class^="thl-p-users"] .profile-tab-btn.profile-tab-btn.on,
body[class^="thl-p-users"] .ps-tab.ps-tab.on,
body[class^="thl-p-users"] .s-tab.s-tab.on,
body[class^="thl-p-users"] .section-tab.section-tab.on,
body[class^="thl-p-users"] .tab-btn.tab-btn.on,
body[class^="thl-p-users"] .tab-search-btn.tab-search-btn.on,
body[class^="thl-p-users"] .tab-stats-btn.tab-stats-btn.on,
body[class^="thl-p-users"] .acc-tab.acc-tab.selected,
body[class^="thl-p-users"] .adp-tab.adp-tab.selected,
body[class^="thl-p-users"] .an-tab.an-tab.selected,
body[class^="thl-p-users"] .ao-tab.ao-tab.selected,
body[class^="thl-p-users"] .ap-page-tab.ap-page-tab.selected,
body[class^="thl-p-users"] .ap-tab.ap-tab.selected,
body[class^="thl-p-users"] .as-ftab.as-ftab.selected,
body[class^="thl-p-users"] .ase-tab.ase-tab.selected,
body[class^="thl-p-users"] .asf-tab.asf-tab.selected,
body[class^="thl-p-users"] .asp-tab.asp-tab.selected,
body[class^="thl-p-users"] .ass-tab.ass-tab.selected,
body[class^="thl-p-users"] .asv-tab.asv-tab.selected,
body[class^="thl-p-users"] .au-ftab.au-ftab.selected,
body[class^="thl-p-users"] .method-tab.method-tab.selected,
body[class^="thl-p-users"] .mnt-tab.mnt-tab.selected,
body[class^="thl-p-users"] .profile-tab-btn.profile-tab-btn.selected,
body[class^="thl-p-users"] .ps-tab.ps-tab.selected,
body[class^="thl-p-users"] .s-tab.s-tab.selected,
body[class^="thl-p-users"] .section-tab.section-tab.selected,
body[class^="thl-p-users"] .tab-btn.tab-btn.selected,
body[class^="thl-p-users"] .tab-search-btn.tab-search-btn.selected,
body[class^="thl-p-users"] .tab-stats-btn.tab-stats-btn.selected,
body[class^="thl-p-users"] .acc-tab.acc-tab[aria-selected="true"],
body[class^="thl-p-users"] .adp-tab.adp-tab[aria-selected="true"],
body[class^="thl-p-users"] .an-tab.an-tab[aria-selected="true"],
body[class^="thl-p-users"] .ao-tab.ao-tab[aria-selected="true"],
body[class^="thl-p-users"] .ap-page-tab.ap-page-tab[aria-selected="true"],
body[class^="thl-p-users"] .ap-tab.ap-tab[aria-selected="true"],
body[class^="thl-p-users"] .as-ftab.as-ftab[aria-selected="true"],
body[class^="thl-p-users"] .ase-tab.ase-tab[aria-selected="true"],
body[class^="thl-p-users"] .asf-tab.asf-tab[aria-selected="true"],
body[class^="thl-p-users"] .asp-tab.asp-tab[aria-selected="true"],
body[class^="thl-p-users"] .ass-tab.ass-tab[aria-selected="true"],
body[class^="thl-p-users"] .asv-tab.asv-tab[aria-selected="true"],
body[class^="thl-p-users"] .au-ftab.au-ftab[aria-selected="true"],
body[class^="thl-p-users"] .method-tab.method-tab[aria-selected="true"],
body[class^="thl-p-users"] .mnt-tab.mnt-tab[aria-selected="true"],
body[class^="thl-p-users"] .profile-tab-btn.profile-tab-btn[aria-selected="true"],
body[class^="thl-p-users"] .ps-tab.ps-tab[aria-selected="true"],
body[class^="thl-p-users"] .s-tab.s-tab[aria-selected="true"],
body[class^="thl-p-users"] .section-tab.section-tab[aria-selected="true"],
body[class^="thl-p-users"] .tab-btn.tab-btn[aria-selected="true"],
body[class^="thl-p-users"] .tab-search-btn.tab-search-btn[aria-selected="true"],
body[class^="thl-p-users"] .tab-stats-btn.tab-stats-btn[aria-selected="true"],
.thl-p-freelance-pages-bids .s-tab.s-tab.active,
.thl-p-freelance-pages-bids .s-tab.s-tab.is-active,
.thl-p-freelance-pages-bids .s-tab.s-tab.on,
.thl-p-freelance-pages-bids .s-tab.s-tab.selected,
.thl-p-freelance-pages-bids .s-tab.s-tab[aria-selected="true"]
{
    background: var(--surface2);
    color: var(--ink);
    border-color: var(--border);
}
body[class^="thl-p-users"] .acc-tab.acc-tab.active i,
body[class^="thl-p-users"] .adp-tab.adp-tab.active i,
body[class^="thl-p-users"] .an-tab.an-tab.active i,
body[class^="thl-p-users"] .ao-tab.ao-tab.active i,
body[class^="thl-p-users"] .ap-page-tab.ap-page-tab.active i,
body[class^="thl-p-users"] .ap-tab.ap-tab.active i,
body[class^="thl-p-users"] .as-ftab.as-ftab.active i,
body[class^="thl-p-users"] .ase-tab.ase-tab.active i,
body[class^="thl-p-users"] .asf-tab.asf-tab.active i,
body[class^="thl-p-users"] .asp-tab.asp-tab.active i,
body[class^="thl-p-users"] .ass-tab.ass-tab.active i,
body[class^="thl-p-users"] .asv-tab.asv-tab.active i,
body[class^="thl-p-users"] .au-ftab.au-ftab.active i,
body[class^="thl-p-users"] .method-tab.method-tab.active i,
body[class^="thl-p-users"] .mnt-tab.mnt-tab.active i,
body[class^="thl-p-users"] .profile-tab-btn.profile-tab-btn.active i,
body[class^="thl-p-users"] .ps-tab.ps-tab.active i,
body[class^="thl-p-users"] .s-tab.s-tab.active i,
body[class^="thl-p-users"] .section-tab.section-tab.active i,
body[class^="thl-p-users"] .tab-btn.tab-btn.active i,
body[class^="thl-p-users"] .tab-search-btn.tab-search-btn.active i,
body[class^="thl-p-users"] .tab-stats-btn.tab-stats-btn.active i,
body[class^="thl-p-users"] .acc-tab.acc-tab.is-active i,
body[class^="thl-p-users"] .adp-tab.adp-tab.is-active i,
body[class^="thl-p-users"] .an-tab.an-tab.is-active i,
body[class^="thl-p-users"] .ao-tab.ao-tab.is-active i,
body[class^="thl-p-users"] .ap-page-tab.ap-page-tab.is-active i,
body[class^="thl-p-users"] .ap-tab.ap-tab.is-active i,
body[class^="thl-p-users"] .as-ftab.as-ftab.is-active i,
body[class^="thl-p-users"] .ase-tab.ase-tab.is-active i,
body[class^="thl-p-users"] .asf-tab.asf-tab.is-active i,
body[class^="thl-p-users"] .asp-tab.asp-tab.is-active i,
body[class^="thl-p-users"] .ass-tab.ass-tab.is-active i,
body[class^="thl-p-users"] .asv-tab.asv-tab.is-active i,
body[class^="thl-p-users"] .au-ftab.au-ftab.is-active i,
body[class^="thl-p-users"] .method-tab.method-tab.is-active i,
body[class^="thl-p-users"] .mnt-tab.mnt-tab.is-active i,
body[class^="thl-p-users"] .profile-tab-btn.profile-tab-btn.is-active i,
body[class^="thl-p-users"] .ps-tab.ps-tab.is-active i,
body[class^="thl-p-users"] .s-tab.s-tab.is-active i,
body[class^="thl-p-users"] .section-tab.section-tab.is-active i,
body[class^="thl-p-users"] .tab-btn.tab-btn.is-active i,
body[class^="thl-p-users"] .tab-search-btn.tab-search-btn.is-active i,
body[class^="thl-p-users"] .tab-stats-btn.tab-stats-btn.is-active i,
body[class^="thl-p-users"] .acc-tab.acc-tab.on i,
body[class^="thl-p-users"] .adp-tab.adp-tab.on i,
body[class^="thl-p-users"] .an-tab.an-tab.on i,
body[class^="thl-p-users"] .ao-tab.ao-tab.on i,
body[class^="thl-p-users"] .ap-page-tab.ap-page-tab.on i,
body[class^="thl-p-users"] .ap-tab.ap-tab.on i,
body[class^="thl-p-users"] .as-ftab.as-ftab.on i,
body[class^="thl-p-users"] .ase-tab.ase-tab.on i,
body[class^="thl-p-users"] .asf-tab.asf-tab.on i,
body[class^="thl-p-users"] .asp-tab.asp-tab.on i,
body[class^="thl-p-users"] .ass-tab.ass-tab.on i,
body[class^="thl-p-users"] .asv-tab.asv-tab.on i,
body[class^="thl-p-users"] .au-ftab.au-ftab.on i,
body[class^="thl-p-users"] .method-tab.method-tab.on i,
body[class^="thl-p-users"] .mnt-tab.mnt-tab.on i,
body[class^="thl-p-users"] .profile-tab-btn.profile-tab-btn.on i,
body[class^="thl-p-users"] .ps-tab.ps-tab.on i,
body[class^="thl-p-users"] .s-tab.s-tab.on i,
body[class^="thl-p-users"] .section-tab.section-tab.on i,
body[class^="thl-p-users"] .tab-btn.tab-btn.on i,
body[class^="thl-p-users"] .tab-search-btn.tab-search-btn.on i,
body[class^="thl-p-users"] .tab-stats-btn.tab-stats-btn.on i,
.thl-p-freelance-pages-bids .s-tab.s-tab.active i,
.thl-p-freelance-pages-bids .s-tab.s-tab.is-active i,
.thl-p-freelance-pages-bids .s-tab.s-tab.on i
{
    color: var(--g);
}

/* the count pill that rides inside a tab */
body[class^="thl-p-users"] .acc-tab-badge.acc-tab-badge,
body[class^="thl-p-users"] .adp-tab-count.adp-tab-count,
body[class^="thl-p-users"] .ao-tab-count.ao-tab-count,
body[class^="thl-p-users"] .ap-tab-count.ap-tab-count,
body[class^="thl-p-users"] .as-ftab-count.as-ftab-count,
body[class^="thl-p-users"] .ase-tab-count.ase-tab-count,
body[class^="thl-p-users"] .asf-tab-count.asf-tab-count,
body[class^="thl-p-users"] .asp-tab-count.asp-tab-count,
body[class^="thl-p-users"] .ass-tab-count.ass-tab-count,
body[class^="thl-p-users"] .asv-tab-count.asv-tab-count,
body[class^="thl-p-users"] .au-ftab-count.au-ftab-count,
body[class^="thl-p-users"] .profile-tab-bubble.profile-tab-bubble,
body[class^="thl-p-users"] .s-tab-count.s-tab-count,
.thl-p-freelance-pages-bids .s-tab-count.s-tab-count
{
    background: var(--surf);
    color: var(--muted);
    border-color: var(--border);
}
body[class^="thl-p-users"] .acc-tab.acc-tab.active .acc-tab-badge.acc-tab-badge,
body[class^="thl-p-users"] .acc-tab.acc-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .acc-tab.acc-tab.active .tab-bubble.tab-bubble,
body[class^="thl-p-users"] .adp-tab.adp-tab.active .adp-tab-count.adp-tab-count,
body[class^="thl-p-users"] .adp-tab.adp-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .an-tab.an-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .ao-tab.ao-tab.active .ao-tab-count.ao-tab-count,
body[class^="thl-p-users"] .ao-tab.ao-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .ap-page-tab.ap-page-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .ap-tab.ap-tab.active .ap-tab-count.ap-tab-count,
body[class^="thl-p-users"] .ap-tab.ap-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .as-ftab.as-ftab.active .as-ftab-count.as-ftab-count,
body[class^="thl-p-users"] .as-ftab.as-ftab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .ase-tab.ase-tab.active .ase-tab-count.ase-tab-count,
body[class^="thl-p-users"] .ase-tab.ase-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .asf-tab.asf-tab.active .asf-tab-count.asf-tab-count,
body[class^="thl-p-users"] .asf-tab.asf-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .asp-tab.asp-tab.active .asp-tab-count.asp-tab-count,
body[class^="thl-p-users"] .asp-tab.asp-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .ass-tab.ass-tab.active .ass-tab-count.ass-tab-count,
body[class^="thl-p-users"] .ass-tab.ass-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .asv-tab.asv-tab.active .asv-tab-count.asv-tab-count,
body[class^="thl-p-users"] .asv-tab.asv-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .au-ftab.au-ftab.active .au-ftab-count.au-ftab-count,
body[class^="thl-p-users"] .au-ftab.au-ftab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .method-tab.method-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .mnt-tab.mnt-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .profile-tab-btn.profile-tab-btn.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .ps-tab.ps-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .s-tab.s-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .s-tab.s-tab.active .tab-bubble.tab-bubble,
body[class^="thl-p-users"] .section-tab.section-tab.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .tab-btn.tab-btn.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .tab-btn.tab-btn.active .tab-bubble.tab-bubble,
body[class^="thl-p-users"] .tab-search-btn.tab-search-btn.active .s-tab-count.s-tab-count,
body[class^="thl-p-users"] .tab-stats-btn.tab-stats-btn.active .s-tab-count.s-tab-count,
.thl-p-freelance-pages-bids .s-tab.s-tab.active .s-tab-count.s-tab-count,
.thl-p-freelance-pages-bids .s-tab.s-tab.active .tab-bubble.tab-bubble
{
    background: var(--g);
    color: var(--white);
    border-color: var(--g);
}

/* ── CUSTOM DROPDOWN, SITE-WIDE ─────────────────────────────────────────────
   This is the dropdown already used by the listing pages (designs, properties,
   supplies, essentials, professionals, freelance, community). It is promoted
   here as a global component and applied to every native <select> on the site
   by the enhancer in includes/listing_ui.php, so the account and admin areas
   stop showing the browser's grey native control.

   Colour only. Geometry stays with the listing pages that already define it,
   and the enhancer supplies geometry for selects that had none. */
.custom-dropdown-toggle.custom-dropdown-toggle {
    background: var(--white);
    border-color: var(--border);
    color: var(--ink);
}
.custom-dropdown-toggle.custom-dropdown-toggle:hover,
.custom-dropdown-toggle.custom-dropdown-toggle:focus {
    border-color: var(--g);
    background: var(--white);
}
.custom-dropdown-toggle.custom-dropdown-toggle::after { color: var(--muted); }
.custom-dropdown.open .custom-dropdown-toggle.custom-dropdown-toggle { border-color: var(--g); }
.custom-dropdown-menu.custom-dropdown-menu {
    background: var(--white);
    border-color: var(--border);
    box-shadow: var(--shadow, 0 8px 28px rgba(0,0,0,0.12));
}
.custom-dropdown-item.custom-dropdown-item { color: var(--sub); background: var(--white); }
.custom-dropdown-item.custom-dropdown-item:hover { background: var(--surface2); color: var(--ink-2); }
.custom-dropdown-item.custom-dropdown-item.selected { background: var(--g-lt); color: var(--g-dk); font-weight: 700; }
.custom-dropdown-item.custom-dropdown-item i { color: var(--muted); }
.custom-dropdown-item.custom-dropdown-item.selected i { color: var(--g); }
.custom-dropdown.is-disabled .custom-dropdown-toggle.custom-dropdown-toggle {
    background: var(--surf); color: var(--muted); cursor: not-allowed;
}

/* ── THE ENHANCED DROPDOWN, ONE FAMILY WITH THE LISTING PAGES ──────────────
   The menu and its items are styled with NON-DESCENDANT selectors on purpose.
   While a menu is open it lives on <body>, outside its wrapper, so a rule
   written as ".custom-dropdown .custom-dropdown-menu" stops matching the
   moment it opens - which is how the wizards showed an unstyled list.
   Everything the open menu needs is on the menu itself.

   The metrics are the ones properties.php has always used, so an enhanced
   dropdown and a hand-built one are the same control. The BUTTON is the one
   exception: the enhancer copies the height, padding, font size and radius of
   the <select> it replaced, so it matches the fields beside it on that page
   instead of importing a filter-bar look into a form. */
.custom-dropdown.thl-enhanced {
    position: relative; display: inline-block; vertical-align: middle;
    width: auto; max-width: 100%; flex: 0 1 auto;
}
.custom-dropdown.thl-enhanced.thl-fullwidth { display: block; width: 100%; }
.custom-dropdown.thl-enhanced .custom-dropdown-toggle {
    width: 100%; height: 38px; padding: 0 28px 0 12px;
    border-width: 1.5px; border-style: solid; border-radius: 8px;
    font-size: 13px; font-family: inherit; cursor: pointer; text-align: left;
    display: flex; align-items: center; justify-content: space-between;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    transition: border-color 0.15s, background 0.15s;
}
.custom-dropdown.thl-enhanced .custom-dropdown-toggle::after {
    content: '\f078'; font-family: 'Font Awesome 5 Free'; font-weight: 900;
    font-size: 10px; position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
}
.custom-dropdown.thl-enhanced select.thl-native-hidden {
    position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0;
}
.custom-dropdown-menu.thl-enhanced-menu {
    position: absolute; top: 100%; left: 0;
    width: max-content; min-width: 100%; max-width: min(320px, 92vw);
    max-height: 250px; overflow-y: auto;
    border-width: 1px; border-style: solid; border-radius: 8px;
    z-index: 200; list-style: none; margin: 4px 0 0; padding: 0;
    display: none; opacity: 0; transform: translateY(-10px); pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}
.custom-dropdown.thl-enhanced.open .custom-dropdown-menu.thl-enhanced-menu {
    display: block; opacity: 1; transform: translateY(0); pointer-events: auto;
}
.custom-dropdown-item.thl-enhanced-item {
    padding: 8px 12px; font-size: 13px; cursor: pointer;
    display: flex; align-items: center; gap: 8px;
    white-space: nowrap; transition: background 0.15s;
}
.custom-dropdown-item.thl-enhanced-item i { font-size: 12px; flex-shrink: 0; }
/* open, and moved to <body> so nothing can clip it. Coordinates come from the
   enhancer; 10050 puts it above modal overlays, which use 9999. */
.custom-dropdown-menu.thl-dropdown-portal {
    position: fixed; z-index: 10050;
    display: block; opacity: 1; transform: translateY(0); pointer-events: auto;
    max-height: min(280px, 60vh); margin: 0;
}body[class^="thl-p-users"] .acc-tabs,
body[class^="thl-p-users"] .adp-tabs,
body[class^="thl-p-users"] .an-tabs,
body[class^="thl-p-users"] .ao-tabs,
body[class^="thl-p-users"] .ap-page-tabs,
body[class^="thl-p-users"] .ap-tabs,
body[class^="thl-p-users"] .as-filter-tabs,
body[class^="thl-p-users"] .ase-tabs,
body[class^="thl-p-users"] .asf-tabs,
body[class^="thl-p-users"] .asp-tabs,
body[class^="thl-p-users"] .ass-tabs,
body[class^="thl-p-users"] .asv-tabs,
body[class^="thl-p-users"] .au-filter-tabs,
body[class^="thl-p-users"] .chart-period-tabs,
body[class^="thl-p-users"] .est-tabs,
body[class^="thl-p-users"] .main-nav-tabs,
body[class^="thl-p-users"] .profile-tab-bar,
body[class^="thl-p-users"] .ps-tabs,
body[class^="thl-p-users"] .section-switcher,
body[class^="thl-p-users"] .section-tabs,
body[class^="thl-p-users"] .stab-bar,
body[class^="thl-p-users"] .status-tabs,
body[class^="thl-p-users"] .tab-bar,
.thl-p-freelance-pages-bids .status-tabs {
    display: flex;
    /* center, NOT stretch. Stretch made every pill grow to the tallest
       item in the row, which is why tabs suddenly looked huge. */
    align-items: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    gap: 3px;
    padding: 3px;
    margin: 0 0 16px;
    border-width: 1px;
    border-style: solid;
    border-radius: 7px;
    border-color: var(--border);
    background: var(--white);
    white-space: nowrap;
}body[class^="thl-p-users"] .acc-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .adp-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .an-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .ao-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .ap-page-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .ap-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .as-filter-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .ase-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .asf-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .asp-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .ass-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .asv-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .au-filter-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .chart-period-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .est-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .main-nav-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .profile-tab-bar::-webkit-scrollbar,
body[class^="thl-p-users"] .ps-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .section-switcher::-webkit-scrollbar,
body[class^="thl-p-users"] .section-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .stab-bar::-webkit-scrollbar,
body[class^="thl-p-users"] .status-tabs::-webkit-scrollbar,
body[class^="thl-p-users"] .tab-bar::-webkit-scrollbar,
.thl-p-freelance-pages-bids .status-tabs::-webkit-scrollbar { display: none; }

body[class^="thl-p-users"] .acc-tab,
body[class^="thl-p-users"] .adp-tab,
body[class^="thl-p-users"] .an-tab,
body[class^="thl-p-users"] .ao-tab,
body[class^="thl-p-users"] .ap-page-tab,
body[class^="thl-p-users"] .ap-tab,
body[class^="thl-p-users"] .as-filter-btn,
body[class^="thl-p-users"] .as-ftab,
body[class^="thl-p-users"] .ase-tab,
body[class^="thl-p-users"] .asf-tab,
body[class^="thl-p-users"] .asp-tab,
body[class^="thl-p-users"] .ass-tab,
body[class^="thl-p-users"] .asv-filter-btn,
body[class^="thl-p-users"] .asv-tab,
body[class^="thl-p-users"] .au-ftab,
body[class^="thl-p-users"] .aw-filter-btn,
body[class^="thl-p-users"] .est-tab,
body[class^="thl-p-users"] .filter-btn,
body[class^="thl-p-users"] .method-tab,
body[class^="thl-p-users"] .mnt-tab,
body[class^="thl-p-users"] .profile-tab-btn,
body[class^="thl-p-users"] .ps-tab,
body[class^="thl-p-users"] .s-tab,
body[class^="thl-p-users"] .section-tab,
body[class^="thl-p-users"] .stab,
body[class^="thl-p-users"] .stats-filter-btn,
body[class^="thl-p-users"] .tab-btn,
body[class^="thl-p-users"] .tab-search-btn,
body[class^="thl-p-users"] .tab-stats-btn,
.thl-p-freelance-pages-bids .s-tab
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    box-sizing: border-box;
    /* A tab is this tall whether or not it holds a count chip. Without
       this the chip - which is taller than the tab's own text line -
       set the height, so a tab with a count stood ~6px taller than one
       beside it without. That is why Payment Setup and Withdraw looked
       shrunk next to Operations. */
    min-height: 36px;
    font-family: inherit;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
    color: var(--muted);
    background: none;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: color .15s, background .15s, border-color .15s;
}
body[class^="thl-p-users"] .acc-tab i,
body[class^="thl-p-users"] .adp-tab i,
body[class^="thl-p-users"] .an-tab i,
body[class^="thl-p-users"] .ao-tab i,
body[class^="thl-p-users"] .ap-page-tab i,
body[class^="thl-p-users"] .ap-tab i,
body[class^="thl-p-users"] .as-filter-btn i,
body[class^="thl-p-users"] .as-ftab i,
body[class^="thl-p-users"] .ase-tab i,
body[class^="thl-p-users"] .asf-tab i,
body[class^="thl-p-users"] .asp-tab i,
body[class^="thl-p-users"] .ass-tab i,
body[class^="thl-p-users"] .asv-filter-btn i,
body[class^="thl-p-users"] .asv-tab i,
body[class^="thl-p-users"] .au-ftab i,
body[class^="thl-p-users"] .aw-filter-btn i,
body[class^="thl-p-users"] .est-tab i,
body[class^="thl-p-users"] .filter-btn i,
body[class^="thl-p-users"] .method-tab i,
body[class^="thl-p-users"] .mnt-tab i,
body[class^="thl-p-users"] .profile-tab-btn i,
body[class^="thl-p-users"] .ps-tab i,
body[class^="thl-p-users"] .s-tab i,
body[class^="thl-p-users"] .s-tab-label i,
body[class^="thl-p-users"] .section-tab i,
body[class^="thl-p-users"] .stab i,
body[class^="thl-p-users"] .stats-filter-btn i,
body[class^="thl-p-users"] .tab-btn i,
body[class^="thl-p-users"] .tab-search-btn i,
body[class^="thl-p-users"] .tab-stats-btn i,
.thl-p-freelance-pages-bids .s-tab i,
.thl-p-freelance-pages-bids .s-tab-label i
{ font-size: 12px; color: inherit; }
body[class^="thl-p-users"] .acc-tab .tab-label,
body[class^="thl-p-users"] .s-tab .tab-label,
body[class^="thl-p-users"] .s-tab-label .tab-label,
body[class^="thl-p-users"] .stab .tab-label,
body[class^="thl-p-users"] .tab-btn .tab-label,
body[class^="thl-p-users"] .acc-tab .s-tab-label,
body[class^="thl-p-users"] .s-tab .s-tab-label,
body[class^="thl-p-users"] .s-tab-label .s-tab-label,
body[class^="thl-p-users"] .stab .s-tab-label,
body[class^="thl-p-users"] .tab-btn .s-tab-label,
.thl-p-freelance-pages-bids .s-tab .tab-label,
.thl-p-freelance-pages-bids .s-tab-label .tab-label,
.thl-p-freelance-pages-bids .s-tab .s-tab-label,
.thl-p-freelance-pages-bids .s-tab-label .s-tab-label
{ display: inline; font-size: inherit; font-weight: inherit; color: inherit; }
body[class^="thl-p-users"] .acc-tab:hover,
body[class^="thl-p-users"] .adp-tab:hover,
body[class^="thl-p-users"] .an-tab:hover,
body[class^="thl-p-users"] .ao-tab:hover,
body[class^="thl-p-users"] .ap-page-tab:hover,
body[class^="thl-p-users"] .ap-tab:hover,
body[class^="thl-p-users"] .as-filter-btn:hover,
body[class^="thl-p-users"] .as-ftab:hover,
body[class^="thl-p-users"] .ase-tab:hover,
body[class^="thl-p-users"] .asf-tab:hover,
body[class^="thl-p-users"] .asp-tab:hover,
body[class^="thl-p-users"] .ass-tab:hover,
body[class^="thl-p-users"] .asv-filter-btn:hover,
body[class^="thl-p-users"] .asv-tab:hover,
body[class^="thl-p-users"] .au-ftab:hover,
body[class^="thl-p-users"] .aw-filter-btn:hover,
body[class^="thl-p-users"] .est-tab:hover,
body[class^="thl-p-users"] .filter-btn:hover,
body[class^="thl-p-users"] .method-tab:hover,
body[class^="thl-p-users"] .mnt-tab:hover,
body[class^="thl-p-users"] .profile-tab-btn:hover,
body[class^="thl-p-users"] .ps-tab:hover,
body[class^="thl-p-users"] .s-tab:hover,
body[class^="thl-p-users"] .section-tab:hover,
body[class^="thl-p-users"] .stab:hover,
body[class^="thl-p-users"] .stats-filter-btn:hover,
body[class^="thl-p-users"] .tab-btn:hover,
body[class^="thl-p-users"] .tab-search-btn:hover,
body[class^="thl-p-users"] .tab-stats-btn:hover,
.thl-p-freelance-pages-bids .s-tab:hover
{ color: var(--ink); background: var(--border-3); }
body[class^="thl-p-users"] .acc-tab.active,
body[class^="thl-p-users"] .adp-tab.active,
body[class^="thl-p-users"] .an-tab.active,
body[class^="thl-p-users"] .ao-tab.active,
body[class^="thl-p-users"] .ap-page-tab.active,
body[class^="thl-p-users"] .ap-tab.active,
body[class^="thl-p-users"] .as-filter-btn.active,
body[class^="thl-p-users"] .as-ftab.active,
body[class^="thl-p-users"] .ase-tab.active,
body[class^="thl-p-users"] .asf-tab.active,
body[class^="thl-p-users"] .asp-tab.active,
body[class^="thl-p-users"] .ass-tab.active,
body[class^="thl-p-users"] .asv-filter-btn.active,
body[class^="thl-p-users"] .asv-tab.active,
body[class^="thl-p-users"] .au-ftab.active,
body[class^="thl-p-users"] .aw-filter-btn.active,
body[class^="thl-p-users"] .est-tab.active,
body[class^="thl-p-users"] .filter-btn.active,
body[class^="thl-p-users"] .method-tab.active,
body[class^="thl-p-users"] .mnt-tab.active,
body[class^="thl-p-users"] .profile-tab-btn.active,
body[class^="thl-p-users"] .ps-tab.active,
body[class^="thl-p-users"] .s-tab.active,
body[class^="thl-p-users"] .s-tab-label.active,
body[class^="thl-p-users"] .section-tab.active,
body[class^="thl-p-users"] .stab.active,
body[class^="thl-p-users"] .stats-filter-btn.active,
body[class^="thl-p-users"] .tab-btn.active,
body[class^="thl-p-users"] .tab-search-btn.active,
body[class^="thl-p-users"] .tab-stats-btn.active,
body[class^="thl-p-users"] .acc-tab.is-active,
body[class^="thl-p-users"] .adp-tab.is-active,
body[class^="thl-p-users"] .an-tab.is-active,
body[class^="thl-p-users"] .ao-tab.is-active,
body[class^="thl-p-users"] .ap-page-tab.is-active,
body[class^="thl-p-users"] .ap-tab.is-active,
body[class^="thl-p-users"] .as-filter-btn.is-active,
body[class^="thl-p-users"] .as-ftab.is-active,
body[class^="thl-p-users"] .ase-tab.is-active,
body[class^="thl-p-users"] .asf-tab.is-active,
body[class^="thl-p-users"] .asp-tab.is-active,
body[class^="thl-p-users"] .ass-tab.is-active,
body[class^="thl-p-users"] .asv-filter-btn.is-active,
body[class^="thl-p-users"] .asv-tab.is-active,
body[class^="thl-p-users"] .au-ftab.is-active,
body[class^="thl-p-users"] .aw-filter-btn.is-active,
body[class^="thl-p-users"] .est-tab.is-active,
body[class^="thl-p-users"] .filter-btn.is-active,
body[class^="thl-p-users"] .method-tab.is-active,
body[class^="thl-p-users"] .mnt-tab.is-active,
body[class^="thl-p-users"] .profile-tab-btn.is-active,
body[class^="thl-p-users"] .ps-tab.is-active,
body[class^="thl-p-users"] .s-tab.is-active,
body[class^="thl-p-users"] .s-tab-label.is-active,
body[class^="thl-p-users"] .section-tab.is-active,
body[class^="thl-p-users"] .stab.is-active,
body[class^="thl-p-users"] .stats-filter-btn.is-active,
body[class^="thl-p-users"] .tab-btn.is-active,
body[class^="thl-p-users"] .tab-search-btn.is-active,
body[class^="thl-p-users"] .tab-stats-btn.is-active,
body[class^="thl-p-users"] .acc-tab.on,
body[class^="thl-p-users"] .adp-tab.on,
body[class^="thl-p-users"] .an-tab.on,
body[class^="thl-p-users"] .ao-tab.on,
body[class^="thl-p-users"] .ap-page-tab.on,
body[class^="thl-p-users"] .ap-tab.on,
body[class^="thl-p-users"] .as-filter-btn.on,
body[class^="thl-p-users"] .as-ftab.on,
body[class^="thl-p-users"] .ase-tab.on,
body[class^="thl-p-users"] .asf-tab.on,
body[class^="thl-p-users"] .asp-tab.on,
body[class^="thl-p-users"] .ass-tab.on,
body[class^="thl-p-users"] .asv-filter-btn.on,
body[class^="thl-p-users"] .asv-tab.on,
body[class^="thl-p-users"] .au-ftab.on,
body[class^="thl-p-users"] .aw-filter-btn.on,
body[class^="thl-p-users"] .est-tab.on,
body[class^="thl-p-users"] .filter-btn.on,
body[class^="thl-p-users"] .method-tab.on,
body[class^="thl-p-users"] .mnt-tab.on,
body[class^="thl-p-users"] .profile-tab-btn.on,
body[class^="thl-p-users"] .ps-tab.on,
body[class^="thl-p-users"] .s-tab.on,
body[class^="thl-p-users"] .s-tab-label.on,
body[class^="thl-p-users"] .section-tab.on,
body[class^="thl-p-users"] .stab.on,
body[class^="thl-p-users"] .stats-filter-btn.on,
body[class^="thl-p-users"] .tab-btn.on,
body[class^="thl-p-users"] .tab-search-btn.on,
body[class^="thl-p-users"] .tab-stats-btn.on,
body[class^="thl-p-users"] .acc-tab.selected,
body[class^="thl-p-users"] .adp-tab.selected,
body[class^="thl-p-users"] .an-tab.selected,
body[class^="thl-p-users"] .ao-tab.selected,
body[class^="thl-p-users"] .ap-page-tab.selected,
body[class^="thl-p-users"] .ap-tab.selected,
body[class^="thl-p-users"] .as-filter-btn.selected,
body[class^="thl-p-users"] .as-ftab.selected,
body[class^="thl-p-users"] .ase-tab.selected,
body[class^="thl-p-users"] .asf-tab.selected,
body[class^="thl-p-users"] .asp-tab.selected,
body[class^="thl-p-users"] .ass-tab.selected,
body[class^="thl-p-users"] .asv-filter-btn.selected,
body[class^="thl-p-users"] .asv-tab.selected,
body[class^="thl-p-users"] .au-ftab.selected,
body[class^="thl-p-users"] .aw-filter-btn.selected,
body[class^="thl-p-users"] .est-tab.selected,
body[class^="thl-p-users"] .filter-btn.selected,
body[class^="thl-p-users"] .method-tab.selected,
body[class^="thl-p-users"] .mnt-tab.selected,
body[class^="thl-p-users"] .profile-tab-btn.selected,
body[class^="thl-p-users"] .ps-tab.selected,
body[class^="thl-p-users"] .s-tab.selected,
body[class^="thl-p-users"] .s-tab-label.selected,
body[class^="thl-p-users"] .section-tab.selected,
body[class^="thl-p-users"] .stab.selected,
body[class^="thl-p-users"] .stats-filter-btn.selected,
body[class^="thl-p-users"] .tab-btn.selected,
body[class^="thl-p-users"] .tab-search-btn.selected,
body[class^="thl-p-users"] .tab-stats-btn.selected,
.thl-p-freelance-pages-bids .s-tab.active,
.thl-p-freelance-pages-bids .s-tab-label.active,
.thl-p-freelance-pages-bids .s-tab.is-active,
.thl-p-freelance-pages-bids .s-tab-label.is-active,
.thl-p-freelance-pages-bids .s-tab.on,
.thl-p-freelance-pages-bids .s-tab-label.on,
.thl-p-freelance-pages-bids .s-tab.selected,
.thl-p-freelance-pages-bids .s-tab-label.selected
{
    background: var(--surface2);
    color: var(--ink);
    border-color: var(--border);
}
body[class^="thl-p-users"] .acc-tab.active i,
body[class^="thl-p-users"] .adp-tab.active i,
body[class^="thl-p-users"] .an-tab.active i,
body[class^="thl-p-users"] .ao-tab.active i,
body[class^="thl-p-users"] .ap-page-tab.active i,
body[class^="thl-p-users"] .ap-tab.active i,
body[class^="thl-p-users"] .as-filter-btn.active i,
body[class^="thl-p-users"] .as-ftab.active i,
body[class^="thl-p-users"] .ase-tab.active i,
body[class^="thl-p-users"] .asf-tab.active i,
body[class^="thl-p-users"] .asp-tab.active i,
body[class^="thl-p-users"] .ass-tab.active i,
body[class^="thl-p-users"] .asv-filter-btn.active i,
body[class^="thl-p-users"] .asv-tab.active i,
body[class^="thl-p-users"] .au-ftab.active i,
body[class^="thl-p-users"] .aw-filter-btn.active i,
body[class^="thl-p-users"] .est-tab.active i,
body[class^="thl-p-users"] .filter-btn.active i,
body[class^="thl-p-users"] .method-tab.active i,
body[class^="thl-p-users"] .mnt-tab.active i,
body[class^="thl-p-users"] .profile-tab-btn.active i,
body[class^="thl-p-users"] .ps-tab.active i,
body[class^="thl-p-users"] .s-tab.active i,
body[class^="thl-p-users"] .s-tab-label.active i,
body[class^="thl-p-users"] .section-tab.active i,
body[class^="thl-p-users"] .stab.active i,
body[class^="thl-p-users"] .stats-filter-btn.active i,
body[class^="thl-p-users"] .tab-btn.active i,
body[class^="thl-p-users"] .tab-search-btn.active i,
body[class^="thl-p-users"] .tab-stats-btn.active i,
body[class^="thl-p-users"] .acc-tab.is-active i,
body[class^="thl-p-users"] .adp-tab.is-active i,
body[class^="thl-p-users"] .an-tab.is-active i,
body[class^="thl-p-users"] .ao-tab.is-active i,
body[class^="thl-p-users"] .ap-page-tab.is-active i,
body[class^="thl-p-users"] .ap-tab.is-active i,
body[class^="thl-p-users"] .as-filter-btn.is-active i,
body[class^="thl-p-users"] .as-ftab.is-active i,
body[class^="thl-p-users"] .ase-tab.is-active i,
body[class^="thl-p-users"] .asf-tab.is-active i,
body[class^="thl-p-users"] .asp-tab.is-active i,
body[class^="thl-p-users"] .ass-tab.is-active i,
body[class^="thl-p-users"] .asv-filter-btn.is-active i,
body[class^="thl-p-users"] .asv-tab.is-active i,
body[class^="thl-p-users"] .au-ftab.is-active i,
body[class^="thl-p-users"] .aw-filter-btn.is-active i,
body[class^="thl-p-users"] .est-tab.is-active i,
body[class^="thl-p-users"] .filter-btn.is-active i,
body[class^="thl-p-users"] .method-tab.is-active i,
body[class^="thl-p-users"] .mnt-tab.is-active i,
body[class^="thl-p-users"] .profile-tab-btn.is-active i,
body[class^="thl-p-users"] .ps-tab.is-active i,
body[class^="thl-p-users"] .s-tab.is-active i,
body[class^="thl-p-users"] .s-tab-label.is-active i,
body[class^="thl-p-users"] .section-tab.is-active i,
body[class^="thl-p-users"] .stab.is-active i,
body[class^="thl-p-users"] .stats-filter-btn.is-active i,
body[class^="thl-p-users"] .tab-btn.is-active i,
body[class^="thl-p-users"] .tab-search-btn.is-active i,
body[class^="thl-p-users"] .tab-stats-btn.is-active i,
.thl-p-freelance-pages-bids .s-tab.active i,
.thl-p-freelance-pages-bids .s-tab-label.active i,
.thl-p-freelance-pages-bids .s-tab.is-active i,
.thl-p-freelance-pages-bids .s-tab-label.is-active i
{ color: var(--g); }
body[class^="thl-p-users"] .acc-tab::after,
body[class^="thl-p-users"] .adp-tab::after,
body[class^="thl-p-users"] .an-tab::after,
body[class^="thl-p-users"] .ao-tab::after,
body[class^="thl-p-users"] .ap-page-tab::after,
body[class^="thl-p-users"] .ap-tab::after,
body[class^="thl-p-users"] .as-filter-btn::after,
body[class^="thl-p-users"] .as-ftab::after,
body[class^="thl-p-users"] .ase-tab::after,
body[class^="thl-p-users"] .asf-tab::after,
body[class^="thl-p-users"] .asp-tab::after,
body[class^="thl-p-users"] .ass-tab::after,
body[class^="thl-p-users"] .asv-filter-btn::after,
body[class^="thl-p-users"] .asv-tab::after,
body[class^="thl-p-users"] .au-ftab::after,
body[class^="thl-p-users"] .aw-filter-btn::after,
body[class^="thl-p-users"] .est-tab::after,
body[class^="thl-p-users"] .filter-btn::after,
body[class^="thl-p-users"] .method-tab::after,
body[class^="thl-p-users"] .mnt-tab::after,
body[class^="thl-p-users"] .profile-tab-btn::after,
body[class^="thl-p-users"] .ps-tab::after,
body[class^="thl-p-users"] .s-tab::after,
body[class^="thl-p-users"] .section-tab::after,
body[class^="thl-p-users"] .stab::after,
body[class^="thl-p-users"] .stats-filter-btn::after,
body[class^="thl-p-users"] .tab-btn::after,
body[class^="thl-p-users"] .tab-search-btn::after,
body[class^="thl-p-users"] .tab-stats-btn::after,
body[class^="thl-p-users"] .acc-tab.active::after,
body[class^="thl-p-users"] .adp-tab.active::after,
body[class^="thl-p-users"] .an-tab.active::after,
body[class^="thl-p-users"] .ao-tab.active::after,
body[class^="thl-p-users"] .ap-page-tab.active::after,
body[class^="thl-p-users"] .ap-tab.active::after,
body[class^="thl-p-users"] .as-filter-btn.active::after,
body[class^="thl-p-users"] .as-ftab.active::after,
body[class^="thl-p-users"] .ase-tab.active::after,
body[class^="thl-p-users"] .asf-tab.active::after,
body[class^="thl-p-users"] .asp-tab.active::after,
body[class^="thl-p-users"] .ass-tab.active::after,
body[class^="thl-p-users"] .asv-filter-btn.active::after,
body[class^="thl-p-users"] .asv-tab.active::after,
body[class^="thl-p-users"] .au-ftab.active::after,
body[class^="thl-p-users"] .aw-filter-btn.active::after,
body[class^="thl-p-users"] .est-tab.active::after,
body[class^="thl-p-users"] .filter-btn.active::after,
body[class^="thl-p-users"] .method-tab.active::after,
body[class^="thl-p-users"] .mnt-tab.active::after,
body[class^="thl-p-users"] .profile-tab-btn.active::after,
body[class^="thl-p-users"] .ps-tab.active::after,
body[class^="thl-p-users"] .s-tab.active::after,
body[class^="thl-p-users"] .s-tab-label.active::after,
body[class^="thl-p-users"] .section-tab.active::after,
body[class^="thl-p-users"] .stab.active::after,
body[class^="thl-p-users"] .stats-filter-btn.active::after,
body[class^="thl-p-users"] .tab-btn.active::after,
body[class^="thl-p-users"] .tab-search-btn.active::after,
body[class^="thl-p-users"] .tab-stats-btn.active::after,
body[class^="thl-p-users"] .acc-tab::before,
body[class^="thl-p-users"] .adp-tab::before,
body[class^="thl-p-users"] .an-tab::before,
body[class^="thl-p-users"] .ao-tab::before,
body[class^="thl-p-users"] .ap-page-tab::before,
body[class^="thl-p-users"] .ap-tab::before,
body[class^="thl-p-users"] .as-filter-btn::before,
body[class^="thl-p-users"] .as-ftab::before,
body[class^="thl-p-users"] .ase-tab::before,
body[class^="thl-p-users"] .asf-tab::before,
body[class^="thl-p-users"] .asp-tab::before,
body[class^="thl-p-users"] .ass-tab::before,
body[class^="thl-p-users"] .asv-filter-btn::before,
body[class^="thl-p-users"] .asv-tab::before,
body[class^="thl-p-users"] .au-ftab::before,
body[class^="thl-p-users"] .aw-filter-btn::before,
body[class^="thl-p-users"] .est-tab::before,
body[class^="thl-p-users"] .filter-btn::before,
body[class^="thl-p-users"] .method-tab::before,
body[class^="thl-p-users"] .mnt-tab::before,
body[class^="thl-p-users"] .profile-tab-btn::before,
body[class^="thl-p-users"] .ps-tab::before,
body[class^="thl-p-users"] .s-tab::before,
body[class^="thl-p-users"] .section-tab::before,
body[class^="thl-p-users"] .stab::before,
body[class^="thl-p-users"] .stats-filter-btn::before,
body[class^="thl-p-users"] .tab-btn::before,
body[class^="thl-p-users"] .tab-search-btn::before,
body[class^="thl-p-users"] .tab-stats-btn::before,
.thl-p-freelance-pages-bids .s-tab::after,
.thl-p-freelance-pages-bids .s-tab.active::after,
.thl-p-freelance-pages-bids .s-tab-label.active::after,
.thl-p-freelance-pages-bids .s-tab::before
{ display: none; content: none; }

body[class^="thl-p-users"] .section-tab { flex: 1 1 0; justify-content: center; padding: 9px 16px; border-radius: 5px; }

body[class^="thl-p-users"] .acc-tab-badge,
body[class^="thl-p-users"] .adp-tab-count,
body[class^="thl-p-users"] .ao-tab-count,
body[class^="thl-p-users"] .ap-tab-count,
body[class^="thl-p-users"] .as-ftab-count,
body[class^="thl-p-users"] .ase-tab-count,
body[class^="thl-p-users"] .asf-tab-count,
body[class^="thl-p-users"] .asp-tab-count,
body[class^="thl-p-users"] .ass-tab-count,
body[class^="thl-p-users"] .asv-tab-count,
body[class^="thl-p-users"] .au-ftab-count,
body[class^="thl-p-users"] .profile-tab-bubble {
    font-size: 11px;
    font-weight: 800;
    /* fixed and border-box, so the chip fits inside the tab's line box
       instead of setting the tab's height. Horizontal padding only. */
    height: 18px;
    min-width: 18px;
    padding: 0 7px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    border-width: 1px;
    border-style: solid;
    border-color: var(--border);
    background: var(--surf);
    color: var(--muted);
    line-height: 1.4;
}
body[class^="thl-p-users"] .acc-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .acc-tab.active .adp-tab-count,
body[class^="thl-p-users"] .acc-tab.active .ao-tab-count,
body[class^="thl-p-users"] .acc-tab.active .ap-tab-count,
body[class^="thl-p-users"] .acc-tab.active .as-ftab-count,
body[class^="thl-p-users"] .acc-tab.active .ase-tab-count,
body[class^="thl-p-users"] .acc-tab.active .asf-tab-count,
body[class^="thl-p-users"] .acc-tab.active .asp-tab-count,
body[class^="thl-p-users"] .acc-tab.active .ass-tab-count,
body[class^="thl-p-users"] .acc-tab.active .asv-tab-count,
body[class^="thl-p-users"] .acc-tab.active .au-ftab-count,
body[class^="thl-p-users"] .acc-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .acc-tab.active .s-tab-count,
body[class^="thl-p-users"] .acc-tab.active .stab-count,
body[class^="thl-p-users"] .acc-tab.active .tab-bubble,
body[class^="thl-p-users"] .adp-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .adp-tab.active .adp-tab-count,
body[class^="thl-p-users"] .adp-tab.active .ao-tab-count,
body[class^="thl-p-users"] .adp-tab.active .ap-tab-count,
body[class^="thl-p-users"] .adp-tab.active .as-ftab-count,
body[class^="thl-p-users"] .adp-tab.active .ase-tab-count,
body[class^="thl-p-users"] .adp-tab.active .asf-tab-count,
body[class^="thl-p-users"] .adp-tab.active .asp-tab-count,
body[class^="thl-p-users"] .adp-tab.active .ass-tab-count,
body[class^="thl-p-users"] .adp-tab.active .asv-tab-count,
body[class^="thl-p-users"] .adp-tab.active .au-ftab-count,
body[class^="thl-p-users"] .adp-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .an-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .an-tab.active .adp-tab-count,
body[class^="thl-p-users"] .an-tab.active .ao-tab-count,
body[class^="thl-p-users"] .an-tab.active .ap-tab-count,
body[class^="thl-p-users"] .an-tab.active .as-ftab-count,
body[class^="thl-p-users"] .an-tab.active .ase-tab-count,
body[class^="thl-p-users"] .an-tab.active .asf-tab-count,
body[class^="thl-p-users"] .an-tab.active .asp-tab-count,
body[class^="thl-p-users"] .an-tab.active .ass-tab-count,
body[class^="thl-p-users"] .an-tab.active .asv-tab-count,
body[class^="thl-p-users"] .an-tab.active .au-ftab-count,
body[class^="thl-p-users"] .an-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .ao-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .ao-tab.active .adp-tab-count,
body[class^="thl-p-users"] .ao-tab.active .ao-tab-count,
body[class^="thl-p-users"] .ao-tab.active .ap-tab-count,
body[class^="thl-p-users"] .ao-tab.active .as-ftab-count,
body[class^="thl-p-users"] .ao-tab.active .ase-tab-count,
body[class^="thl-p-users"] .ao-tab.active .asf-tab-count,
body[class^="thl-p-users"] .ao-tab.active .asp-tab-count,
body[class^="thl-p-users"] .ao-tab.active .ass-tab-count,
body[class^="thl-p-users"] .ao-tab.active .asv-tab-count,
body[class^="thl-p-users"] .ao-tab.active .au-ftab-count,
body[class^="thl-p-users"] .ao-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .ap-page-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .ap-page-tab.active .adp-tab-count,
body[class^="thl-p-users"] .ap-page-tab.active .ao-tab-count,
body[class^="thl-p-users"] .ap-page-tab.active .ap-tab-count,
body[class^="thl-p-users"] .ap-page-tab.active .as-ftab-count,
body[class^="thl-p-users"] .ap-page-tab.active .ase-tab-count,
body[class^="thl-p-users"] .ap-page-tab.active .asf-tab-count,
body[class^="thl-p-users"] .ap-page-tab.active .asp-tab-count,
body[class^="thl-p-users"] .ap-page-tab.active .ass-tab-count,
body[class^="thl-p-users"] .ap-page-tab.active .asv-tab-count,
body[class^="thl-p-users"] .ap-page-tab.active .au-ftab-count,
body[class^="thl-p-users"] .ap-page-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .ap-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .ap-tab.active .adp-tab-count,
body[class^="thl-p-users"] .ap-tab.active .ao-tab-count,
body[class^="thl-p-users"] .ap-tab.active .ap-tab-count,
body[class^="thl-p-users"] .ap-tab.active .as-ftab-count,
body[class^="thl-p-users"] .ap-tab.active .ase-tab-count,
body[class^="thl-p-users"] .ap-tab.active .asf-tab-count,
body[class^="thl-p-users"] .ap-tab.active .asp-tab-count,
body[class^="thl-p-users"] .ap-tab.active .ass-tab-count,
body[class^="thl-p-users"] .ap-tab.active .asv-tab-count,
body[class^="thl-p-users"] .ap-tab.active .au-ftab-count,
body[class^="thl-p-users"] .ap-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .as-filter-btn.active .acc-tab-badge,
body[class^="thl-p-users"] .as-filter-btn.active .adp-tab-count,
body[class^="thl-p-users"] .as-filter-btn.active .ao-tab-count,
body[class^="thl-p-users"] .as-filter-btn.active .ap-tab-count,
body[class^="thl-p-users"] .as-filter-btn.active .as-ftab-count,
body[class^="thl-p-users"] .as-filter-btn.active .ase-tab-count,
body[class^="thl-p-users"] .as-filter-btn.active .asf-tab-count,
body[class^="thl-p-users"] .as-filter-btn.active .asp-tab-count,
body[class^="thl-p-users"] .as-filter-btn.active .ass-tab-count,
body[class^="thl-p-users"] .as-filter-btn.active .asv-tab-count,
body[class^="thl-p-users"] .as-filter-btn.active .au-ftab-count,
body[class^="thl-p-users"] .as-filter-btn.active .profile-tab-bubble,
body[class^="thl-p-users"] .as-ftab.active .acc-tab-badge,
body[class^="thl-p-users"] .as-ftab.active .adp-tab-count,
body[class^="thl-p-users"] .as-ftab.active .ao-tab-count,
body[class^="thl-p-users"] .as-ftab.active .ap-tab-count,
body[class^="thl-p-users"] .as-ftab.active .as-ftab-count,
body[class^="thl-p-users"] .as-ftab.active .ase-tab-count,
body[class^="thl-p-users"] .as-ftab.active .asf-tab-count,
body[class^="thl-p-users"] .as-ftab.active .asp-tab-count,
body[class^="thl-p-users"] .as-ftab.active .ass-tab-count,
body[class^="thl-p-users"] .as-ftab.active .asv-tab-count,
body[class^="thl-p-users"] .as-ftab.active .au-ftab-count,
body[class^="thl-p-users"] .as-ftab.active .profile-tab-bubble,
body[class^="thl-p-users"] .ase-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .ase-tab.active .adp-tab-count,
body[class^="thl-p-users"] .ase-tab.active .ao-tab-count,
body[class^="thl-p-users"] .ase-tab.active .ap-tab-count,
body[class^="thl-p-users"] .ase-tab.active .as-ftab-count,
body[class^="thl-p-users"] .ase-tab.active .ase-tab-count,
body[class^="thl-p-users"] .ase-tab.active .asf-tab-count,
body[class^="thl-p-users"] .ase-tab.active .asp-tab-count,
body[class^="thl-p-users"] .ase-tab.active .ass-tab-count,
body[class^="thl-p-users"] .ase-tab.active .asv-tab-count,
body[class^="thl-p-users"] .ase-tab.active .au-ftab-count,
body[class^="thl-p-users"] .ase-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .asf-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .asf-tab.active .adp-tab-count,
body[class^="thl-p-users"] .asf-tab.active .ao-tab-count,
body[class^="thl-p-users"] .asf-tab.active .ap-tab-count,
body[class^="thl-p-users"] .asf-tab.active .as-ftab-count,
body[class^="thl-p-users"] .asf-tab.active .ase-tab-count,
body[class^="thl-p-users"] .asf-tab.active .asf-tab-count,
body[class^="thl-p-users"] .asf-tab.active .asp-tab-count,
body[class^="thl-p-users"] .asf-tab.active .ass-tab-count,
body[class^="thl-p-users"] .asf-tab.active .asv-tab-count,
body[class^="thl-p-users"] .asf-tab.active .au-ftab-count,
body[class^="thl-p-users"] .asf-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .asp-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .asp-tab.active .adp-tab-count,
body[class^="thl-p-users"] .asp-tab.active .ao-tab-count,
body[class^="thl-p-users"] .asp-tab.active .ap-tab-count,
body[class^="thl-p-users"] .asp-tab.active .as-ftab-count,
body[class^="thl-p-users"] .asp-tab.active .ase-tab-count,
body[class^="thl-p-users"] .asp-tab.active .asf-tab-count,
body[class^="thl-p-users"] .asp-tab.active .asp-tab-count,
body[class^="thl-p-users"] .asp-tab.active .ass-tab-count,
body[class^="thl-p-users"] .asp-tab.active .asv-tab-count,
body[class^="thl-p-users"] .asp-tab.active .au-ftab-count,
body[class^="thl-p-users"] .asp-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .ass-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .ass-tab.active .adp-tab-count,
body[class^="thl-p-users"] .ass-tab.active .ao-tab-count,
body[class^="thl-p-users"] .ass-tab.active .ap-tab-count,
body[class^="thl-p-users"] .ass-tab.active .as-ftab-count,
body[class^="thl-p-users"] .ass-tab.active .ase-tab-count,
body[class^="thl-p-users"] .ass-tab.active .asf-tab-count,
body[class^="thl-p-users"] .ass-tab.active .asp-tab-count,
body[class^="thl-p-users"] .ass-tab.active .ass-tab-count,
body[class^="thl-p-users"] .ass-tab.active .asv-tab-count,
body[class^="thl-p-users"] .ass-tab.active .au-ftab-count,
body[class^="thl-p-users"] .ass-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .asv-filter-btn.active .acc-tab-badge,
body[class^="thl-p-users"] .asv-filter-btn.active .adp-tab-count,
body[class^="thl-p-users"] .asv-filter-btn.active .ao-tab-count,
body[class^="thl-p-users"] .asv-filter-btn.active .ap-tab-count,
body[class^="thl-p-users"] .asv-filter-btn.active .as-ftab-count,
body[class^="thl-p-users"] .asv-filter-btn.active .ase-tab-count,
body[class^="thl-p-users"] .asv-filter-btn.active .asf-tab-count,
body[class^="thl-p-users"] .asv-filter-btn.active .asp-tab-count,
body[class^="thl-p-users"] .asv-filter-btn.active .ass-tab-count,
body[class^="thl-p-users"] .asv-filter-btn.active .asv-tab-count,
body[class^="thl-p-users"] .asv-filter-btn.active .au-ftab-count,
body[class^="thl-p-users"] .asv-filter-btn.active .profile-tab-bubble,
body[class^="thl-p-users"] .asv-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .asv-tab.active .adp-tab-count,
body[class^="thl-p-users"] .asv-tab.active .ao-tab-count,
body[class^="thl-p-users"] .asv-tab.active .ap-tab-count,
body[class^="thl-p-users"] .asv-tab.active .as-ftab-count,
body[class^="thl-p-users"] .asv-tab.active .ase-tab-count,
body[class^="thl-p-users"] .asv-tab.active .asf-tab-count,
body[class^="thl-p-users"] .asv-tab.active .asp-tab-count,
body[class^="thl-p-users"] .asv-tab.active .ass-tab-count,
body[class^="thl-p-users"] .asv-tab.active .asv-tab-count,
body[class^="thl-p-users"] .asv-tab.active .au-ftab-count,
body[class^="thl-p-users"] .asv-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .au-ftab.active .acc-tab-badge,
body[class^="thl-p-users"] .au-ftab.active .adp-tab-count,
body[class^="thl-p-users"] .au-ftab.active .ao-tab-count,
body[class^="thl-p-users"] .au-ftab.active .ap-tab-count,
body[class^="thl-p-users"] .au-ftab.active .as-ftab-count,
body[class^="thl-p-users"] .au-ftab.active .ase-tab-count,
body[class^="thl-p-users"] .au-ftab.active .asf-tab-count,
body[class^="thl-p-users"] .au-ftab.active .asp-tab-count,
body[class^="thl-p-users"] .au-ftab.active .ass-tab-count,
body[class^="thl-p-users"] .au-ftab.active .asv-tab-count,
body[class^="thl-p-users"] .au-ftab.active .au-ftab-count,
body[class^="thl-p-users"] .au-ftab.active .profile-tab-bubble,
body[class^="thl-p-users"] .aw-filter-btn.active .acc-tab-badge,
body[class^="thl-p-users"] .aw-filter-btn.active .adp-tab-count,
body[class^="thl-p-users"] .aw-filter-btn.active .ao-tab-count,
body[class^="thl-p-users"] .aw-filter-btn.active .ap-tab-count,
body[class^="thl-p-users"] .aw-filter-btn.active .as-ftab-count,
body[class^="thl-p-users"] .aw-filter-btn.active .ase-tab-count,
body[class^="thl-p-users"] .aw-filter-btn.active .asf-tab-count,
body[class^="thl-p-users"] .aw-filter-btn.active .asp-tab-count,
body[class^="thl-p-users"] .aw-filter-btn.active .ass-tab-count,
body[class^="thl-p-users"] .aw-filter-btn.active .asv-tab-count,
body[class^="thl-p-users"] .aw-filter-btn.active .au-ftab-count,
body[class^="thl-p-users"] .aw-filter-btn.active .profile-tab-bubble,
body[class^="thl-p-users"] .est-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .est-tab.active .adp-tab-count,
body[class^="thl-p-users"] .est-tab.active .ao-tab-count,
body[class^="thl-p-users"] .est-tab.active .ap-tab-count,
body[class^="thl-p-users"] .est-tab.active .as-ftab-count,
body[class^="thl-p-users"] .est-tab.active .ase-tab-count,
body[class^="thl-p-users"] .est-tab.active .asf-tab-count,
body[class^="thl-p-users"] .est-tab.active .asp-tab-count,
body[class^="thl-p-users"] .est-tab.active .ass-tab-count,
body[class^="thl-p-users"] .est-tab.active .asv-tab-count,
body[class^="thl-p-users"] .est-tab.active .au-ftab-count,
body[class^="thl-p-users"] .est-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .filter-btn.active .acc-tab-badge,
body[class^="thl-p-users"] .filter-btn.active .adp-tab-count,
body[class^="thl-p-users"] .filter-btn.active .ao-tab-count,
body[class^="thl-p-users"] .filter-btn.active .ap-tab-count,
body[class^="thl-p-users"] .filter-btn.active .as-ftab-count,
body[class^="thl-p-users"] .filter-btn.active .ase-tab-count,
body[class^="thl-p-users"] .filter-btn.active .asf-tab-count,
body[class^="thl-p-users"] .filter-btn.active .asp-tab-count,
body[class^="thl-p-users"] .filter-btn.active .ass-tab-count,
body[class^="thl-p-users"] .filter-btn.active .asv-tab-count,
body[class^="thl-p-users"] .filter-btn.active .au-ftab-count,
body[class^="thl-p-users"] .filter-btn.active .profile-tab-bubble,
body[class^="thl-p-users"] .method-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .method-tab.active .adp-tab-count,
body[class^="thl-p-users"] .method-tab.active .ao-tab-count,
body[class^="thl-p-users"] .method-tab.active .ap-tab-count,
body[class^="thl-p-users"] .method-tab.active .as-ftab-count,
body[class^="thl-p-users"] .method-tab.active .ase-tab-count,
body[class^="thl-p-users"] .method-tab.active .asf-tab-count,
body[class^="thl-p-users"] .method-tab.active .asp-tab-count,
body[class^="thl-p-users"] .method-tab.active .ass-tab-count,
body[class^="thl-p-users"] .method-tab.active .asv-tab-count,
body[class^="thl-p-users"] .method-tab.active .au-ftab-count,
body[class^="thl-p-users"] .method-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .mnt-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .mnt-tab.active .adp-tab-count,
body[class^="thl-p-users"] .mnt-tab.active .ao-tab-count,
body[class^="thl-p-users"] .mnt-tab.active .ap-tab-count,
body[class^="thl-p-users"] .mnt-tab.active .as-ftab-count,
body[class^="thl-p-users"] .mnt-tab.active .ase-tab-count,
body[class^="thl-p-users"] .mnt-tab.active .asf-tab-count,
body[class^="thl-p-users"] .mnt-tab.active .asp-tab-count,
body[class^="thl-p-users"] .mnt-tab.active .ass-tab-count,
body[class^="thl-p-users"] .mnt-tab.active .asv-tab-count,
body[class^="thl-p-users"] .mnt-tab.active .au-ftab-count,
body[class^="thl-p-users"] .mnt-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .profile-tab-btn.active .acc-tab-badge,
body[class^="thl-p-users"] .profile-tab-btn.active .adp-tab-count,
body[class^="thl-p-users"] .profile-tab-btn.active .ao-tab-count,
body[class^="thl-p-users"] .profile-tab-btn.active .ap-tab-count,
body[class^="thl-p-users"] .profile-tab-btn.active .as-ftab-count,
body[class^="thl-p-users"] .profile-tab-btn.active .ase-tab-count,
body[class^="thl-p-users"] .profile-tab-btn.active .asf-tab-count,
body[class^="thl-p-users"] .profile-tab-btn.active .asp-tab-count,
body[class^="thl-p-users"] .profile-tab-btn.active .ass-tab-count,
body[class^="thl-p-users"] .profile-tab-btn.active .asv-tab-count,
body[class^="thl-p-users"] .profile-tab-btn.active .au-ftab-count,
body[class^="thl-p-users"] .profile-tab-btn.active .profile-tab-bubble,
body[class^="thl-p-users"] .ps-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .ps-tab.active .adp-tab-count,
body[class^="thl-p-users"] .ps-tab.active .ao-tab-count,
body[class^="thl-p-users"] .ps-tab.active .ap-tab-count,
body[class^="thl-p-users"] .ps-tab.active .as-ftab-count,
body[class^="thl-p-users"] .ps-tab.active .ase-tab-count,
body[class^="thl-p-users"] .ps-tab.active .asf-tab-count,
body[class^="thl-p-users"] .ps-tab.active .asp-tab-count,
body[class^="thl-p-users"] .ps-tab.active .ass-tab-count,
body[class^="thl-p-users"] .ps-tab.active .asv-tab-count,
body[class^="thl-p-users"] .ps-tab.active .au-ftab-count,
body[class^="thl-p-users"] .ps-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .s-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .s-tab.active .adp-tab-count,
body[class^="thl-p-users"] .s-tab.active .ao-tab-count,
body[class^="thl-p-users"] .s-tab.active .ap-tab-count,
body[class^="thl-p-users"] .s-tab.active .as-ftab-count,
body[class^="thl-p-users"] .s-tab.active .ase-tab-count,
body[class^="thl-p-users"] .s-tab.active .asf-tab-count,
body[class^="thl-p-users"] .s-tab.active .asp-tab-count,
body[class^="thl-p-users"] .s-tab.active .ass-tab-count,
body[class^="thl-p-users"] .s-tab.active .asv-tab-count,
body[class^="thl-p-users"] .s-tab.active .au-ftab-count,
body[class^="thl-p-users"] .s-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .s-tab.active .s-tab-count,
body[class^="thl-p-users"] .s-tab.active .stab-count,
body[class^="thl-p-users"] .s-tab.active .tab-bubble,
body[class^="thl-p-users"] .s-tab-label.active .acc-tab-badge,
body[class^="thl-p-users"] .s-tab-label.active .adp-tab-count,
body[class^="thl-p-users"] .s-tab-label.active .ao-tab-count,
body[class^="thl-p-users"] .s-tab-label.active .ap-tab-count,
body[class^="thl-p-users"] .s-tab-label.active .as-ftab-count,
body[class^="thl-p-users"] .s-tab-label.active .ase-tab-count,
body[class^="thl-p-users"] .s-tab-label.active .asf-tab-count,
body[class^="thl-p-users"] .s-tab-label.active .asp-tab-count,
body[class^="thl-p-users"] .s-tab-label.active .ass-tab-count,
body[class^="thl-p-users"] .s-tab-label.active .asv-tab-count,
body[class^="thl-p-users"] .s-tab-label.active .au-ftab-count,
body[class^="thl-p-users"] .s-tab-label.active .profile-tab-bubble,
body[class^="thl-p-users"] .s-tab-label.active .s-tab-count,
body[class^="thl-p-users"] .s-tab-label.active .stab-count,
body[class^="thl-p-users"] .s-tab-label.active .tab-bubble,
body[class^="thl-p-users"] .section-tab.active .acc-tab-badge,
body[class^="thl-p-users"] .section-tab.active .adp-tab-count,
body[class^="thl-p-users"] .section-tab.active .ao-tab-count,
body[class^="thl-p-users"] .section-tab.active .ap-tab-count,
body[class^="thl-p-users"] .section-tab.active .as-ftab-count,
body[class^="thl-p-users"] .section-tab.active .ase-tab-count,
body[class^="thl-p-users"] .section-tab.active .asf-tab-count,
body[class^="thl-p-users"] .section-tab.active .asp-tab-count,
body[class^="thl-p-users"] .section-tab.active .ass-tab-count,
body[class^="thl-p-users"] .section-tab.active .asv-tab-count,
body[class^="thl-p-users"] .section-tab.active .au-ftab-count,
body[class^="thl-p-users"] .section-tab.active .profile-tab-bubble,
body[class^="thl-p-users"] .stab.active .acc-tab-badge,
body[class^="thl-p-users"] .stab.active .adp-tab-count,
body[class^="thl-p-users"] .stab.active .ao-tab-count,
body[class^="thl-p-users"] .stab.active .ap-tab-count,
body[class^="thl-p-users"] .stab.active .as-ftab-count,
body[class^="thl-p-users"] .stab.active .ase-tab-count,
body[class^="thl-p-users"] .stab.active .asf-tab-count,
body[class^="thl-p-users"] .stab.active .asp-tab-count,
body[class^="thl-p-users"] .stab.active .ass-tab-count,
body[class^="thl-p-users"] .stab.active .asv-tab-count,
body[class^="thl-p-users"] .stab.active .au-ftab-count,
body[class^="thl-p-users"] .stab.active .profile-tab-bubble,
body[class^="thl-p-users"] .stab.active .s-tab-count,
body[class^="thl-p-users"] .stab.active .stab-count,
body[class^="thl-p-users"] .stab.active .tab-bubble,
body[class^="thl-p-users"] .stats-filter-btn.active .acc-tab-badge,
body[class^="thl-p-users"] .stats-filter-btn.active .adp-tab-count,
body[class^="thl-p-users"] .stats-filter-btn.active .ao-tab-count,
body[class^="thl-p-users"] .stats-filter-btn.active .ap-tab-count,
body[class^="thl-p-users"] .stats-filter-btn.active .as-ftab-count,
body[class^="thl-p-users"] .stats-filter-btn.active .ase-tab-count,
body[class^="thl-p-users"] .stats-filter-btn.active .asf-tab-count,
body[class^="thl-p-users"] .stats-filter-btn.active .asp-tab-count,
body[class^="thl-p-users"] .stats-filter-btn.active .ass-tab-count,
body[class^="thl-p-users"] .stats-filter-btn.active .asv-tab-count,
body[class^="thl-p-users"] .stats-filter-btn.active .au-ftab-count,
body[class^="thl-p-users"] .stats-filter-btn.active .profile-tab-bubble,
body[class^="thl-p-users"] .tab-btn.active .acc-tab-badge,
body[class^="thl-p-users"] .tab-btn.active .adp-tab-count,
body[class^="thl-p-users"] .tab-btn.active .ao-tab-count,
body[class^="thl-p-users"] .tab-btn.active .ap-tab-count,
body[class^="thl-p-users"] .tab-btn.active .as-ftab-count,
body[class^="thl-p-users"] .tab-btn.active .ase-tab-count,
body[class^="thl-p-users"] .tab-btn.active .asf-tab-count,
body[class^="thl-p-users"] .tab-btn.active .asp-tab-count,
body[class^="thl-p-users"] .tab-btn.active .ass-tab-count,
body[class^="thl-p-users"] .tab-btn.active .asv-tab-count,
body[class^="thl-p-users"] .tab-btn.active .au-ftab-count,
body[class^="thl-p-users"] .tab-btn.active .profile-tab-bubble,
body[class^="thl-p-users"] .tab-btn.active .s-tab-count,
body[class^="thl-p-users"] .tab-btn.active .stab-count,
body[class^="thl-p-users"] .tab-btn.active .tab-bubble,
body[class^="thl-p-users"] .tab-search-btn.active .acc-tab-badge,
body[class^="thl-p-users"] .tab-search-btn.active .adp-tab-count,
body[class^="thl-p-users"] .tab-search-btn.active .ao-tab-count,
body[class^="thl-p-users"] .tab-search-btn.active .ap-tab-count,
body[class^="thl-p-users"] .tab-search-btn.active .as-ftab-count,
body[class^="thl-p-users"] .tab-search-btn.active .ase-tab-count,
body[class^="thl-p-users"] .tab-search-btn.active .asf-tab-count,
body[class^="thl-p-users"] .tab-search-btn.active .asp-tab-count,
body[class^="thl-p-users"] .tab-search-btn.active .ass-tab-count,
body[class^="thl-p-users"] .tab-search-btn.active .asv-tab-count,
body[class^="thl-p-users"] .tab-search-btn.active .au-ftab-count,
body[class^="thl-p-users"] .tab-search-btn.active .profile-tab-bubble,
body[class^="thl-p-users"] .tab-stats-btn.active .acc-tab-badge,
body[class^="thl-p-users"] .tab-stats-btn.active .adp-tab-count,
body[class^="thl-p-users"] .tab-stats-btn.active .ao-tab-count,
body[class^="thl-p-users"] .tab-stats-btn.active .ap-tab-count,
body[class^="thl-p-users"] .tab-stats-btn.active .as-ftab-count,
body[class^="thl-p-users"] .tab-stats-btn.active .ase-tab-count,
body[class^="thl-p-users"] .tab-stats-btn.active .asf-tab-count,
body[class^="thl-p-users"] .tab-stats-btn.active .asp-tab-count,
body[class^="thl-p-users"] .tab-stats-btn.active .ass-tab-count,
body[class^="thl-p-users"] .tab-stats-btn.active .asv-tab-count,
body[class^="thl-p-users"] .tab-stats-btn.active .au-ftab-count,
body[class^="thl-p-users"] .tab-stats-btn.active .profile-tab-bubble,
.thl-p-freelance-pages-bids .s-tab.active .acc-tab-badge,
.thl-p-freelance-pages-bids .s-tab.active .adp-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .ao-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .ap-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .as-ftab-count,
.thl-p-freelance-pages-bids .s-tab.active .ase-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .asf-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .asp-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .ass-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .asv-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .au-ftab-count,
.thl-p-freelance-pages-bids .s-tab.active .profile-tab-bubble,
.thl-p-freelance-pages-bids .s-tab.active .s-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .stab-count,
.thl-p-freelance-pages-bids .s-tab.active .tab-bubble,
.thl-p-freelance-pages-bids .s-tab-label.active .acc-tab-badge,
.thl-p-freelance-pages-bids .s-tab-label.active .adp-tab-count,
.thl-p-freelance-pages-bids .s-tab-label.active .ao-tab-count,
.thl-p-freelance-pages-bids .s-tab-label.active .ap-tab-count,
.thl-p-freelance-pages-bids .s-tab-label.active .as-ftab-count,
.thl-p-freelance-pages-bids .s-tab-label.active .ase-tab-count,
.thl-p-freelance-pages-bids .s-tab-label.active .asf-tab-count,
.thl-p-freelance-pages-bids .s-tab-label.active .asp-tab-count,
.thl-p-freelance-pages-bids .s-tab-label.active .ass-tab-count,
.thl-p-freelance-pages-bids .s-tab-label.active .asv-tab-count,
.thl-p-freelance-pages-bids .s-tab-label.active .au-ftab-count,
.thl-p-freelance-pages-bids .s-tab-label.active .profile-tab-bubble,
.thl-p-freelance-pages-bids .s-tab-label.active .s-tab-count,
.thl-p-freelance-pages-bids .s-tab-label.active .stab-count,
.thl-p-freelance-pages-bids .s-tab-label.active .tab-bubble
{
    background: var(--g);
    color: var(--white);
    border-color: var(--g);
}

/* ── BUTTON BASE + ICON COLOUR ──────────────────────────────────────────────
   Two bugs this fixes:

   1. .thl-btn had colour variants but NO base rule, so anything using it
      (the freelance "open in maps" coordinate link, Browse Designs) rendered
      as bare text with no box.
   2. Icons inside buttons kept whatever colour their own rule gave them
      instead of the button's text colour, so the Support page "New Ticket"
      icon was near-white on green and invisible on the outline variant.
      Icons now ALWAYS inherit the button's colour. */
.thl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 16px;
    border-width: 1px;
    border-style: solid;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    font-family: inherit;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s, border-color .15s, color .15s;
}

/* an icon inside any button or button-like link takes the button's colour */
/* !important is deliberate. Page rules like
   `.thl-p-users-support .thread-empty i { color: var(--border) }` are 0-3-0
   and were beating this rule, which greyed out the icon inside the New Ticket
   button while its label stayed green. An icon in a button takes the button's
   colour, always - there is no case where it should not. */
button i, button svg,
a.thl-btn i, .thl-btn i, .thl-btn svg,
[class*="-btn"] i, [class*="btn-"] i,
[class*="-btn"] svg, [class*="btn-"] svg,
a[class*="btn"] i, a[class*="btn"] svg {
    color: inherit !important;
    fill: currentColor !important;
}

/* dropdown hover: the same weight as the sidebar hover, not a faint tint */
.custom-dropdown-item.custom-dropdown-item:hover {
    background: var(--surface2);
    color: var(--ink-2);
}

/* ── INDEX "LATEST" TABS ────────────────────────────────────────────────────
   #latest-tabs uses .section-tabs with .stab buttons. The account-tab family
   is scoped to body[class^="thl-p-users"] on purpose, so it never reached
   these and they were left with only a bottom border - the thick black line.

   Scoped to body.thl-p-index alone, so the other listing pages, whose tab
   rows were never in scope, stay exactly as they are. */
body.thl-p-index .section-tabs {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    gap: 3px;
    padding: 3px;
    margin: 0 0 20px;
    border-width: 1px;
    border-style: solid;
    border-radius: 7px;
    border-color: var(--border);
    background: var(--white);
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    white-space: nowrap;
}
body.thl-p-index .section-tabs::-webkit-scrollbar { display: none; }

body.thl-p-index .stab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    font-family: inherit;
    box-sizing: border-box;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
    background: none;
    color: var(--muted);
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: color .15s, background .15s, border-color .15s;
}
body.thl-p-index .stab i { font-size: 12px; color: inherit; }
body.thl-p-index .stab:hover { color: var(--ink); background: var(--border-3); }
body.thl-p-index .stab.stab-active,
body.thl-p-index .stab.active {
    background: var(--surface2);
    color: var(--ink);
    border-color: var(--border);
}
body.thl-p-index .stab.stab-active i { color: var(--g); }
body.thl-p-index .stab::after,
body.thl-p-index .stab::before { display: none; content: none; }

body.thl-p-index .stab-count {
    font-size: 11px;
    font-weight: 800;
    /* fixed and border-box, so the chip fits inside the tab's line box
       instead of setting the tab's height. Horizontal padding only. */
    height: 18px;
    min-width: 18px;
    padding: 0 7px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    border-width: 1px;
    border-style: solid;
    border-color: var(--border);
    background: var(--surf);
    color: var(--muted);
    line-height: 1.4;
}
body.thl-p-index .stab.stab-active .stab-count {
    background: var(--g);
    color: var(--white);
    border-color: var(--g);
}

/* ── TAB LABEL AND COUNT SPANS ──────────────────────────────────────────────
   These live INSIDE a tab. They are not tabs and must never get pill padding
   or a border box of their own - doing that made every tab in the user area
   grow to double height, because a pill was nested inside a pill.
   Colour only here; their size stays with the page. */
body[class^="thl-p-users"] .s-tab-label, body[class^="thl-p-users"] .tab-label {
    color: inherit;
    font: inherit;
    background: none;
    border: 0;
    padding: 0;
}
body[class^="thl-p-users"] .s-tab-count, body[class^="thl-p-users"] .tab-bubble, body[class^="thl-p-users"] .stab-count, body[class^="thl-p-users"] .section-badge, body[class^="thl-p-users"] .asv-filter-count, body[class^="thl-p-users"] .as-filter-count, body[class^="thl-p-users"] .acc-tab-badge, body[class^="thl-p-users"] .asf-tab-count, body[class^="thl-p-users"] .asp-tab-count, body[class^="thl-p-users"] .au-ftab-count, body[class^="thl-p-users"] .profile-tab-bubble, body[class^="thl-p-users"] .adp-tab-count, body[class^="thl-p-users"] .ao-tab-count, body[class^="thl-p-users"] .ap-tab-count, body[class^="thl-p-users"] .ase-tab-count, body[class^="thl-p-users"] .ass-tab-count, body[class^="thl-p-users"] .asv-tab-count, body[class^="thl-p-users"] .as-ftab-count,
.thl-p-freelance-pages-bids .s-tab-count
{
    background: var(--surf);
    color: var(--muted);
    border-color: var(--border);
}
body[class^="thl-p-users"] .acc-tab.active .s-tab-count, body[class^="thl-p-users"] .acc-tab.active .tab-bubble, body[class^="thl-p-users"] .acc-tab.active .stab-count, body[class^="thl-p-users"] .acc-tab.active .section-badge, body[class^="thl-p-users"] .acc-tab.active .asv-filter-count, body[class^="thl-p-users"] .acc-tab.active .as-filter-count, body[class^="thl-p-users"] .acc-tab.active .acc-tab-badge, body[class^="thl-p-users"] .acc-tab.active .asf-tab-count, body[class^="thl-p-users"] .acc-tab.active .asp-tab-count, body[class^="thl-p-users"] .acc-tab.active .au-ftab-count, body[class^="thl-p-users"] .acc-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .acc-tab.active .adp-tab-count, body[class^="thl-p-users"] .acc-tab.active .ao-tab-count, body[class^="thl-p-users"] .acc-tab.active .ap-tab-count, body[class^="thl-p-users"] .acc-tab.active .ase-tab-count, body[class^="thl-p-users"] .acc-tab.active .ass-tab-count, body[class^="thl-p-users"] .acc-tab.active .asv-tab-count, body[class^="thl-p-users"] .acc-tab.active .as-ftab-count, body[class^="thl-p-users"] .adp-tab.active .s-tab-count, body[class^="thl-p-users"] .adp-tab.active .tab-bubble, body[class^="thl-p-users"] .adp-tab.active .stab-count, body[class^="thl-p-users"] .adp-tab.active .section-badge, body[class^="thl-p-users"] .adp-tab.active .asv-filter-count, body[class^="thl-p-users"] .adp-tab.active .as-filter-count, body[class^="thl-p-users"] .adp-tab.active .acc-tab-badge, body[class^="thl-p-users"] .adp-tab.active .asf-tab-count, body[class^="thl-p-users"] .adp-tab.active .asp-tab-count, body[class^="thl-p-users"] .adp-tab.active .au-ftab-count, body[class^="thl-p-users"] .adp-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .adp-tab.active .adp-tab-count, body[class^="thl-p-users"] .adp-tab.active .ao-tab-count, body[class^="thl-p-users"] .adp-tab.active .ap-tab-count, body[class^="thl-p-users"] .adp-tab.active .ase-tab-count, body[class^="thl-p-users"] .adp-tab.active .ass-tab-count, body[class^="thl-p-users"] .adp-tab.active .asv-tab-count, body[class^="thl-p-users"] .adp-tab.active .as-ftab-count, body[class^="thl-p-users"] .an-tab.active .s-tab-count, body[class^="thl-p-users"] .an-tab.active .tab-bubble, body[class^="thl-p-users"] .an-tab.active .stab-count, body[class^="thl-p-users"] .an-tab.active .section-badge, body[class^="thl-p-users"] .an-tab.active .asv-filter-count, body[class^="thl-p-users"] .an-tab.active .as-filter-count, body[class^="thl-p-users"] .an-tab.active .acc-tab-badge, body[class^="thl-p-users"] .an-tab.active .asf-tab-count, body[class^="thl-p-users"] .an-tab.active .asp-tab-count, body[class^="thl-p-users"] .an-tab.active .au-ftab-count, body[class^="thl-p-users"] .an-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .an-tab.active .adp-tab-count, body[class^="thl-p-users"] .an-tab.active .ao-tab-count, body[class^="thl-p-users"] .an-tab.active .ap-tab-count, body[class^="thl-p-users"] .an-tab.active .ase-tab-count, body[class^="thl-p-users"] .an-tab.active .ass-tab-count, body[class^="thl-p-users"] .an-tab.active .asv-tab-count, body[class^="thl-p-users"] .an-tab.active .as-ftab-count, body[class^="thl-p-users"] .ao-tab.active .s-tab-count, body[class^="thl-p-users"] .ao-tab.active .tab-bubble, body[class^="thl-p-users"] .ao-tab.active .stab-count, body[class^="thl-p-users"] .ao-tab.active .section-badge, body[class^="thl-p-users"] .ao-tab.active .asv-filter-count, body[class^="thl-p-users"] .ao-tab.active .as-filter-count, body[class^="thl-p-users"] .ao-tab.active .acc-tab-badge, body[class^="thl-p-users"] .ao-tab.active .asf-tab-count, body[class^="thl-p-users"] .ao-tab.active .asp-tab-count, body[class^="thl-p-users"] .ao-tab.active .au-ftab-count, body[class^="thl-p-users"] .ao-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .ao-tab.active .adp-tab-count, body[class^="thl-p-users"] .ao-tab.active .ao-tab-count, body[class^="thl-p-users"] .ao-tab.active .ap-tab-count, body[class^="thl-p-users"] .ao-tab.active .ase-tab-count, body[class^="thl-p-users"] .ao-tab.active .ass-tab-count, body[class^="thl-p-users"] .ao-tab.active .asv-tab-count, body[class^="thl-p-users"] .ao-tab.active .as-ftab-count, body[class^="thl-p-users"] .ap-page-tab.active .s-tab-count, body[class^="thl-p-users"] .ap-page-tab.active .tab-bubble, body[class^="thl-p-users"] .ap-page-tab.active .stab-count, body[class^="thl-p-users"] .ap-page-tab.active .section-badge, body[class^="thl-p-users"] .ap-page-tab.active .asv-filter-count, body[class^="thl-p-users"] .ap-page-tab.active .as-filter-count, body[class^="thl-p-users"] .ap-page-tab.active .acc-tab-badge, body[class^="thl-p-users"] .ap-page-tab.active .asf-tab-count, body[class^="thl-p-users"] .ap-page-tab.active .asp-tab-count, body[class^="thl-p-users"] .ap-page-tab.active .au-ftab-count, body[class^="thl-p-users"] .ap-page-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .ap-page-tab.active .adp-tab-count, body[class^="thl-p-users"] .ap-page-tab.active .ao-tab-count, body[class^="thl-p-users"] .ap-page-tab.active .ap-tab-count, body[class^="thl-p-users"] .ap-page-tab.active .ase-tab-count, body[class^="thl-p-users"] .ap-page-tab.active .ass-tab-count, body[class^="thl-p-users"] .ap-page-tab.active .asv-tab-count, body[class^="thl-p-users"] .ap-page-tab.active .as-ftab-count, body[class^="thl-p-users"] .ap-tab.active .s-tab-count, body[class^="thl-p-users"] .ap-tab.active .tab-bubble, body[class^="thl-p-users"] .ap-tab.active .stab-count, body[class^="thl-p-users"] .ap-tab.active .section-badge, body[class^="thl-p-users"] .ap-tab.active .asv-filter-count, body[class^="thl-p-users"] .ap-tab.active .as-filter-count, body[class^="thl-p-users"] .ap-tab.active .acc-tab-badge, body[class^="thl-p-users"] .ap-tab.active .asf-tab-count, body[class^="thl-p-users"] .ap-tab.active .asp-tab-count, body[class^="thl-p-users"] .ap-tab.active .au-ftab-count, body[class^="thl-p-users"] .ap-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .ap-tab.active .adp-tab-count, body[class^="thl-p-users"] .ap-tab.active .ao-tab-count, body[class^="thl-p-users"] .ap-tab.active .ap-tab-count, body[class^="thl-p-users"] .ap-tab.active .ase-tab-count, body[class^="thl-p-users"] .ap-tab.active .ass-tab-count, body[class^="thl-p-users"] .ap-tab.active .asv-tab-count, body[class^="thl-p-users"] .ap-tab.active .as-ftab-count, body[class^="thl-p-users"] .as-filter-btn.active .s-tab-count, body[class^="thl-p-users"] .as-filter-btn.active .tab-bubble, body[class^="thl-p-users"] .as-filter-btn.active .stab-count, body[class^="thl-p-users"] .as-filter-btn.active .section-badge, body[class^="thl-p-users"] .as-filter-btn.active .asv-filter-count, body[class^="thl-p-users"] .as-filter-btn.active .as-filter-count, body[class^="thl-p-users"] .as-filter-btn.active .acc-tab-badge, body[class^="thl-p-users"] .as-filter-btn.active .asf-tab-count, body[class^="thl-p-users"] .as-filter-btn.active .asp-tab-count, body[class^="thl-p-users"] .as-filter-btn.active .au-ftab-count, body[class^="thl-p-users"] .as-filter-btn.active .profile-tab-bubble, body[class^="thl-p-users"] .as-filter-btn.active .adp-tab-count, body[class^="thl-p-users"] .as-filter-btn.active .ao-tab-count, body[class^="thl-p-users"] .as-filter-btn.active .ap-tab-count, body[class^="thl-p-users"] .as-filter-btn.active .ase-tab-count, body[class^="thl-p-users"] .as-filter-btn.active .ass-tab-count, body[class^="thl-p-users"] .as-filter-btn.active .asv-tab-count, body[class^="thl-p-users"] .as-filter-btn.active .as-ftab-count, body[class^="thl-p-users"] .as-ftab.active .s-tab-count, body[class^="thl-p-users"] .as-ftab.active .tab-bubble, body[class^="thl-p-users"] .as-ftab.active .stab-count, body[class^="thl-p-users"] .as-ftab.active .section-badge, body[class^="thl-p-users"] .as-ftab.active .asv-filter-count, body[class^="thl-p-users"] .as-ftab.active .as-filter-count, body[class^="thl-p-users"] .as-ftab.active .acc-tab-badge, body[class^="thl-p-users"] .as-ftab.active .asf-tab-count, body[class^="thl-p-users"] .as-ftab.active .asp-tab-count, body[class^="thl-p-users"] .as-ftab.active .au-ftab-count, body[class^="thl-p-users"] .as-ftab.active .profile-tab-bubble, body[class^="thl-p-users"] .as-ftab.active .adp-tab-count, body[class^="thl-p-users"] .as-ftab.active .ao-tab-count, body[class^="thl-p-users"] .as-ftab.active .ap-tab-count, body[class^="thl-p-users"] .as-ftab.active .ase-tab-count, body[class^="thl-p-users"] .as-ftab.active .ass-tab-count, body[class^="thl-p-users"] .as-ftab.active .asv-tab-count, body[class^="thl-p-users"] .as-ftab.active .as-ftab-count, body[class^="thl-p-users"] .ase-tab.active .s-tab-count, body[class^="thl-p-users"] .ase-tab.active .tab-bubble, body[class^="thl-p-users"] .ase-tab.active .stab-count, body[class^="thl-p-users"] .ase-tab.active .section-badge, body[class^="thl-p-users"] .ase-tab.active .asv-filter-count, body[class^="thl-p-users"] .ase-tab.active .as-filter-count, body[class^="thl-p-users"] .ase-tab.active .acc-tab-badge, body[class^="thl-p-users"] .ase-tab.active .asf-tab-count, body[class^="thl-p-users"] .ase-tab.active .asp-tab-count, body[class^="thl-p-users"] .ase-tab.active .au-ftab-count, body[class^="thl-p-users"] .ase-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .ase-tab.active .adp-tab-count, body[class^="thl-p-users"] .ase-tab.active .ao-tab-count, body[class^="thl-p-users"] .ase-tab.active .ap-tab-count, body[class^="thl-p-users"] .ase-tab.active .ase-tab-count, body[class^="thl-p-users"] .ase-tab.active .ass-tab-count, body[class^="thl-p-users"] .ase-tab.active .asv-tab-count, body[class^="thl-p-users"] .ase-tab.active .as-ftab-count, body[class^="thl-p-users"] .asf-tab.active .s-tab-count, body[class^="thl-p-users"] .asf-tab.active .tab-bubble, body[class^="thl-p-users"] .asf-tab.active .stab-count, body[class^="thl-p-users"] .asf-tab.active .section-badge, body[class^="thl-p-users"] .asf-tab.active .asv-filter-count, body[class^="thl-p-users"] .asf-tab.active .as-filter-count, body[class^="thl-p-users"] .asf-tab.active .acc-tab-badge, body[class^="thl-p-users"] .asf-tab.active .asf-tab-count, body[class^="thl-p-users"] .asf-tab.active .asp-tab-count, body[class^="thl-p-users"] .asf-tab.active .au-ftab-count, body[class^="thl-p-users"] .asf-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .asf-tab.active .adp-tab-count, body[class^="thl-p-users"] .asf-tab.active .ao-tab-count, body[class^="thl-p-users"] .asf-tab.active .ap-tab-count, body[class^="thl-p-users"] .asf-tab.active .ase-tab-count, body[class^="thl-p-users"] .asf-tab.active .ass-tab-count, body[class^="thl-p-users"] .asf-tab.active .asv-tab-count, body[class^="thl-p-users"] .asf-tab.active .as-ftab-count, body[class^="thl-p-users"] .asp-tab.active .s-tab-count, body[class^="thl-p-users"] .asp-tab.active .tab-bubble, body[class^="thl-p-users"] .asp-tab.active .stab-count, body[class^="thl-p-users"] .asp-tab.active .section-badge, body[class^="thl-p-users"] .asp-tab.active .asv-filter-count, body[class^="thl-p-users"] .asp-tab.active .as-filter-count, body[class^="thl-p-users"] .asp-tab.active .acc-tab-badge, body[class^="thl-p-users"] .asp-tab.active .asf-tab-count, body[class^="thl-p-users"] .asp-tab.active .asp-tab-count, body[class^="thl-p-users"] .asp-tab.active .au-ftab-count, body[class^="thl-p-users"] .asp-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .asp-tab.active .adp-tab-count, body[class^="thl-p-users"] .asp-tab.active .ao-tab-count, body[class^="thl-p-users"] .asp-tab.active .ap-tab-count, body[class^="thl-p-users"] .asp-tab.active .ase-tab-count, body[class^="thl-p-users"] .asp-tab.active .ass-tab-count, body[class^="thl-p-users"] .asp-tab.active .asv-tab-count, body[class^="thl-p-users"] .asp-tab.active .as-ftab-count, body[class^="thl-p-users"] .ass-tab.active .s-tab-count, body[class^="thl-p-users"] .ass-tab.active .tab-bubble, body[class^="thl-p-users"] .ass-tab.active .stab-count, body[class^="thl-p-users"] .ass-tab.active .section-badge, body[class^="thl-p-users"] .ass-tab.active .asv-filter-count, body[class^="thl-p-users"] .ass-tab.active .as-filter-count, body[class^="thl-p-users"] .ass-tab.active .acc-tab-badge, body[class^="thl-p-users"] .ass-tab.active .asf-tab-count, body[class^="thl-p-users"] .ass-tab.active .asp-tab-count, body[class^="thl-p-users"] .ass-tab.active .au-ftab-count, body[class^="thl-p-users"] .ass-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .ass-tab.active .adp-tab-count, body[class^="thl-p-users"] .ass-tab.active .ao-tab-count, body[class^="thl-p-users"] .ass-tab.active .ap-tab-count, body[class^="thl-p-users"] .ass-tab.active .ase-tab-count, body[class^="thl-p-users"] .ass-tab.active .ass-tab-count, body[class^="thl-p-users"] .ass-tab.active .asv-tab-count, body[class^="thl-p-users"] .ass-tab.active .as-ftab-count, body[class^="thl-p-users"] .asv-filter-btn.active .s-tab-count, body[class^="thl-p-users"] .asv-filter-btn.active .tab-bubble, body[class^="thl-p-users"] .asv-filter-btn.active .stab-count, body[class^="thl-p-users"] .asv-filter-btn.active .section-badge, body[class^="thl-p-users"] .asv-filter-btn.active .asv-filter-count, body[class^="thl-p-users"] .asv-filter-btn.active .as-filter-count, body[class^="thl-p-users"] .asv-filter-btn.active .acc-tab-badge, body[class^="thl-p-users"] .asv-filter-btn.active .asf-tab-count, body[class^="thl-p-users"] .asv-filter-btn.active .asp-tab-count, body[class^="thl-p-users"] .asv-filter-btn.active .au-ftab-count, body[class^="thl-p-users"] .asv-filter-btn.active .profile-tab-bubble, body[class^="thl-p-users"] .asv-filter-btn.active .adp-tab-count, body[class^="thl-p-users"] .asv-filter-btn.active .ao-tab-count, body[class^="thl-p-users"] .asv-filter-btn.active .ap-tab-count, body[class^="thl-p-users"] .asv-filter-btn.active .ase-tab-count, body[class^="thl-p-users"] .asv-filter-btn.active .ass-tab-count, body[class^="thl-p-users"] .asv-filter-btn.active .asv-tab-count, body[class^="thl-p-users"] .asv-filter-btn.active .as-ftab-count, body[class^="thl-p-users"] .asv-tab.active .s-tab-count, body[class^="thl-p-users"] .asv-tab.active .tab-bubble, body[class^="thl-p-users"] .asv-tab.active .stab-count, body[class^="thl-p-users"] .asv-tab.active .section-badge, body[class^="thl-p-users"] .asv-tab.active .asv-filter-count, body[class^="thl-p-users"] .asv-tab.active .as-filter-count, body[class^="thl-p-users"] .asv-tab.active .acc-tab-badge, body[class^="thl-p-users"] .asv-tab.active .asf-tab-count, body[class^="thl-p-users"] .asv-tab.active .asp-tab-count, body[class^="thl-p-users"] .asv-tab.active .au-ftab-count, body[class^="thl-p-users"] .asv-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .asv-tab.active .adp-tab-count, body[class^="thl-p-users"] .asv-tab.active .ao-tab-count, body[class^="thl-p-users"] .asv-tab.active .ap-tab-count, body[class^="thl-p-users"] .asv-tab.active .ase-tab-count, body[class^="thl-p-users"] .asv-tab.active .ass-tab-count, body[class^="thl-p-users"] .asv-tab.active .asv-tab-count, body[class^="thl-p-users"] .asv-tab.active .as-ftab-count, body[class^="thl-p-users"] .au-ftab.active .s-tab-count, body[class^="thl-p-users"] .au-ftab.active .tab-bubble, body[class^="thl-p-users"] .au-ftab.active .stab-count, body[class^="thl-p-users"] .au-ftab.active .section-badge, body[class^="thl-p-users"] .au-ftab.active .asv-filter-count, body[class^="thl-p-users"] .au-ftab.active .as-filter-count, body[class^="thl-p-users"] .au-ftab.active .acc-tab-badge, body[class^="thl-p-users"] .au-ftab.active .asf-tab-count, body[class^="thl-p-users"] .au-ftab.active .asp-tab-count, body[class^="thl-p-users"] .au-ftab.active .au-ftab-count, body[class^="thl-p-users"] .au-ftab.active .profile-tab-bubble, body[class^="thl-p-users"] .au-ftab.active .adp-tab-count, body[class^="thl-p-users"] .au-ftab.active .ao-tab-count, body[class^="thl-p-users"] .au-ftab.active .ap-tab-count, body[class^="thl-p-users"] .au-ftab.active .ase-tab-count, body[class^="thl-p-users"] .au-ftab.active .ass-tab-count, body[class^="thl-p-users"] .au-ftab.active .asv-tab-count, body[class^="thl-p-users"] .au-ftab.active .as-ftab-count, body[class^="thl-p-users"] .aw-filter-btn.active .s-tab-count, body[class^="thl-p-users"] .aw-filter-btn.active .tab-bubble, body[class^="thl-p-users"] .aw-filter-btn.active .stab-count, body[class^="thl-p-users"] .aw-filter-btn.active .section-badge, body[class^="thl-p-users"] .aw-filter-btn.active .asv-filter-count, body[class^="thl-p-users"] .aw-filter-btn.active .as-filter-count, body[class^="thl-p-users"] .aw-filter-btn.active .acc-tab-badge, body[class^="thl-p-users"] .aw-filter-btn.active .asf-tab-count, body[class^="thl-p-users"] .aw-filter-btn.active .asp-tab-count, body[class^="thl-p-users"] .aw-filter-btn.active .au-ftab-count, body[class^="thl-p-users"] .aw-filter-btn.active .profile-tab-bubble, body[class^="thl-p-users"] .aw-filter-btn.active .adp-tab-count, body[class^="thl-p-users"] .aw-filter-btn.active .ao-tab-count, body[class^="thl-p-users"] .aw-filter-btn.active .ap-tab-count, body[class^="thl-p-users"] .aw-filter-btn.active .ase-tab-count, body[class^="thl-p-users"] .aw-filter-btn.active .ass-tab-count, body[class^="thl-p-users"] .aw-filter-btn.active .asv-tab-count, body[class^="thl-p-users"] .aw-filter-btn.active .as-ftab-count, body[class^="thl-p-users"] .est-tab.active .s-tab-count, body[class^="thl-p-users"] .est-tab.active .tab-bubble, body[class^="thl-p-users"] .est-tab.active .stab-count, body[class^="thl-p-users"] .est-tab.active .section-badge, body[class^="thl-p-users"] .est-tab.active .asv-filter-count, body[class^="thl-p-users"] .est-tab.active .as-filter-count, body[class^="thl-p-users"] .est-tab.active .acc-tab-badge, body[class^="thl-p-users"] .est-tab.active .asf-tab-count, body[class^="thl-p-users"] .est-tab.active .asp-tab-count, body[class^="thl-p-users"] .est-tab.active .au-ftab-count, body[class^="thl-p-users"] .est-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .est-tab.active .adp-tab-count, body[class^="thl-p-users"] .est-tab.active .ao-tab-count, body[class^="thl-p-users"] .est-tab.active .ap-tab-count, body[class^="thl-p-users"] .est-tab.active .ase-tab-count, body[class^="thl-p-users"] .est-tab.active .ass-tab-count, body[class^="thl-p-users"] .est-tab.active .asv-tab-count, body[class^="thl-p-users"] .est-tab.active .as-ftab-count, body[class^="thl-p-users"] .filter-btn.active .s-tab-count, body[class^="thl-p-users"] .filter-btn.active .tab-bubble, body[class^="thl-p-users"] .filter-btn.active .stab-count, body[class^="thl-p-users"] .filter-btn.active .section-badge, body[class^="thl-p-users"] .filter-btn.active .asv-filter-count, body[class^="thl-p-users"] .filter-btn.active .as-filter-count, body[class^="thl-p-users"] .filter-btn.active .acc-tab-badge, body[class^="thl-p-users"] .filter-btn.active .asf-tab-count, body[class^="thl-p-users"] .filter-btn.active .asp-tab-count, body[class^="thl-p-users"] .filter-btn.active .au-ftab-count, body[class^="thl-p-users"] .filter-btn.active .profile-tab-bubble, body[class^="thl-p-users"] .filter-btn.active .adp-tab-count, body[class^="thl-p-users"] .filter-btn.active .ao-tab-count, body[class^="thl-p-users"] .filter-btn.active .ap-tab-count, body[class^="thl-p-users"] .filter-btn.active .ase-tab-count, body[class^="thl-p-users"] .filter-btn.active .ass-tab-count, body[class^="thl-p-users"] .filter-btn.active .asv-tab-count, body[class^="thl-p-users"] .filter-btn.active .as-ftab-count, body[class^="thl-p-users"] .method-tab.active .s-tab-count, body[class^="thl-p-users"] .method-tab.active .tab-bubble, body[class^="thl-p-users"] .method-tab.active .stab-count, body[class^="thl-p-users"] .method-tab.active .section-badge, body[class^="thl-p-users"] .method-tab.active .asv-filter-count, body[class^="thl-p-users"] .method-tab.active .as-filter-count, body[class^="thl-p-users"] .method-tab.active .acc-tab-badge, body[class^="thl-p-users"] .method-tab.active .asf-tab-count, body[class^="thl-p-users"] .method-tab.active .asp-tab-count, body[class^="thl-p-users"] .method-tab.active .au-ftab-count, body[class^="thl-p-users"] .method-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .method-tab.active .adp-tab-count, body[class^="thl-p-users"] .method-tab.active .ao-tab-count, body[class^="thl-p-users"] .method-tab.active .ap-tab-count, body[class^="thl-p-users"] .method-tab.active .ase-tab-count, body[class^="thl-p-users"] .method-tab.active .ass-tab-count, body[class^="thl-p-users"] .method-tab.active .asv-tab-count, body[class^="thl-p-users"] .method-tab.active .as-ftab-count, body[class^="thl-p-users"] .mnt-tab.active .s-tab-count, body[class^="thl-p-users"] .mnt-tab.active .tab-bubble, body[class^="thl-p-users"] .mnt-tab.active .stab-count, body[class^="thl-p-users"] .mnt-tab.active .section-badge, body[class^="thl-p-users"] .mnt-tab.active .asv-filter-count, body[class^="thl-p-users"] .mnt-tab.active .as-filter-count, body[class^="thl-p-users"] .mnt-tab.active .acc-tab-badge, body[class^="thl-p-users"] .mnt-tab.active .asf-tab-count, body[class^="thl-p-users"] .mnt-tab.active .asp-tab-count, body[class^="thl-p-users"] .mnt-tab.active .au-ftab-count, body[class^="thl-p-users"] .mnt-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .mnt-tab.active .adp-tab-count, body[class^="thl-p-users"] .mnt-tab.active .ao-tab-count, body[class^="thl-p-users"] .mnt-tab.active .ap-tab-count, body[class^="thl-p-users"] .mnt-tab.active .ase-tab-count, body[class^="thl-p-users"] .mnt-tab.active .ass-tab-count, body[class^="thl-p-users"] .mnt-tab.active .asv-tab-count, body[class^="thl-p-users"] .mnt-tab.active .as-ftab-count, body[class^="thl-p-users"] .profile-tab-btn.active .s-tab-count, body[class^="thl-p-users"] .profile-tab-btn.active .tab-bubble, body[class^="thl-p-users"] .profile-tab-btn.active .stab-count, body[class^="thl-p-users"] .profile-tab-btn.active .section-badge, body[class^="thl-p-users"] .profile-tab-btn.active .asv-filter-count, body[class^="thl-p-users"] .profile-tab-btn.active .as-filter-count, body[class^="thl-p-users"] .profile-tab-btn.active .acc-tab-badge, body[class^="thl-p-users"] .profile-tab-btn.active .asf-tab-count, body[class^="thl-p-users"] .profile-tab-btn.active .asp-tab-count, body[class^="thl-p-users"] .profile-tab-btn.active .au-ftab-count, body[class^="thl-p-users"] .profile-tab-btn.active .profile-tab-bubble, body[class^="thl-p-users"] .profile-tab-btn.active .adp-tab-count, body[class^="thl-p-users"] .profile-tab-btn.active .ao-tab-count, body[class^="thl-p-users"] .profile-tab-btn.active .ap-tab-count, body[class^="thl-p-users"] .profile-tab-btn.active .ase-tab-count, body[class^="thl-p-users"] .profile-tab-btn.active .ass-tab-count, body[class^="thl-p-users"] .profile-tab-btn.active .asv-tab-count, body[class^="thl-p-users"] .profile-tab-btn.active .as-ftab-count, body[class^="thl-p-users"] .ps-tab.active .s-tab-count, body[class^="thl-p-users"] .ps-tab.active .tab-bubble, body[class^="thl-p-users"] .ps-tab.active .stab-count, body[class^="thl-p-users"] .ps-tab.active .section-badge, body[class^="thl-p-users"] .ps-tab.active .asv-filter-count, body[class^="thl-p-users"] .ps-tab.active .as-filter-count, body[class^="thl-p-users"] .ps-tab.active .acc-tab-badge, body[class^="thl-p-users"] .ps-tab.active .asf-tab-count, body[class^="thl-p-users"] .ps-tab.active .asp-tab-count, body[class^="thl-p-users"] .ps-tab.active .au-ftab-count, body[class^="thl-p-users"] .ps-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .ps-tab.active .adp-tab-count, body[class^="thl-p-users"] .ps-tab.active .ao-tab-count, body[class^="thl-p-users"] .ps-tab.active .ap-tab-count, body[class^="thl-p-users"] .ps-tab.active .ase-tab-count, body[class^="thl-p-users"] .ps-tab.active .ass-tab-count, body[class^="thl-p-users"] .ps-tab.active .asv-tab-count, body[class^="thl-p-users"] .ps-tab.active .as-ftab-count, body[class^="thl-p-users"] .s-tab.active .s-tab-count, body[class^="thl-p-users"] .s-tab.active .tab-bubble, body[class^="thl-p-users"] .s-tab.active .stab-count, body[class^="thl-p-users"] .s-tab.active .section-badge, body[class^="thl-p-users"] .s-tab.active .asv-filter-count, body[class^="thl-p-users"] .s-tab.active .as-filter-count, body[class^="thl-p-users"] .s-tab.active .acc-tab-badge, body[class^="thl-p-users"] .s-tab.active .asf-tab-count, body[class^="thl-p-users"] .s-tab.active .asp-tab-count, body[class^="thl-p-users"] .s-tab.active .au-ftab-count, body[class^="thl-p-users"] .s-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .s-tab.active .adp-tab-count, body[class^="thl-p-users"] .s-tab.active .ao-tab-count, body[class^="thl-p-users"] .s-tab.active .ap-tab-count, body[class^="thl-p-users"] .s-tab.active .ase-tab-count, body[class^="thl-p-users"] .s-tab.active .ass-tab-count, body[class^="thl-p-users"] .s-tab.active .asv-tab-count, body[class^="thl-p-users"] .s-tab.active .as-ftab-count, body[class^="thl-p-users"] .section-tab.active .s-tab-count, body[class^="thl-p-users"] .section-tab.active .tab-bubble, body[class^="thl-p-users"] .section-tab.active .stab-count, body[class^="thl-p-users"] .section-tab.active .section-badge, body[class^="thl-p-users"] .section-tab.active .asv-filter-count, body[class^="thl-p-users"] .section-tab.active .as-filter-count, body[class^="thl-p-users"] .section-tab.active .acc-tab-badge, body[class^="thl-p-users"] .section-tab.active .asf-tab-count, body[class^="thl-p-users"] .section-tab.active .asp-tab-count, body[class^="thl-p-users"] .section-tab.active .au-ftab-count, body[class^="thl-p-users"] .section-tab.active .profile-tab-bubble, body[class^="thl-p-users"] .section-tab.active .adp-tab-count, body[class^="thl-p-users"] .section-tab.active .ao-tab-count, body[class^="thl-p-users"] .section-tab.active .ap-tab-count, body[class^="thl-p-users"] .section-tab.active .ase-tab-count, body[class^="thl-p-users"] .section-tab.active .ass-tab-count, body[class^="thl-p-users"] .section-tab.active .asv-tab-count, body[class^="thl-p-users"] .section-tab.active .as-ftab-count, body[class^="thl-p-users"] .stab.active .s-tab-count, body[class^="thl-p-users"] .stab.active .tab-bubble, body[class^="thl-p-users"] .stab.active .stab-count, body[class^="thl-p-users"] .stab.active .section-badge, body[class^="thl-p-users"] .stab.active .asv-filter-count, body[class^="thl-p-users"] .stab.active .as-filter-count, body[class^="thl-p-users"] .stab.active .acc-tab-badge, body[class^="thl-p-users"] .stab.active .asf-tab-count, body[class^="thl-p-users"] .stab.active .asp-tab-count, body[class^="thl-p-users"] .stab.active .au-ftab-count, body[class^="thl-p-users"] .stab.active .profile-tab-bubble, body[class^="thl-p-users"] .stab.active .adp-tab-count, body[class^="thl-p-users"] .stab.active .ao-tab-count, body[class^="thl-p-users"] .stab.active .ap-tab-count, body[class^="thl-p-users"] .stab.active .ase-tab-count, body[class^="thl-p-users"] .stab.active .ass-tab-count, body[class^="thl-p-users"] .stab.active .asv-tab-count, body[class^="thl-p-users"] .stab.active .as-ftab-count, body[class^="thl-p-users"] .stats-filter-btn.active .s-tab-count, body[class^="thl-p-users"] .stats-filter-btn.active .tab-bubble, body[class^="thl-p-users"] .stats-filter-btn.active .stab-count, body[class^="thl-p-users"] .stats-filter-btn.active .section-badge, body[class^="thl-p-users"] .stats-filter-btn.active .asv-filter-count, body[class^="thl-p-users"] .stats-filter-btn.active .as-filter-count, body[class^="thl-p-users"] .stats-filter-btn.active .acc-tab-badge, body[class^="thl-p-users"] .stats-filter-btn.active .asf-tab-count, body[class^="thl-p-users"] .stats-filter-btn.active .asp-tab-count, body[class^="thl-p-users"] .stats-filter-btn.active .au-ftab-count, body[class^="thl-p-users"] .stats-filter-btn.active .profile-tab-bubble, body[class^="thl-p-users"] .stats-filter-btn.active .adp-tab-count, body[class^="thl-p-users"] .stats-filter-btn.active .ao-tab-count, body[class^="thl-p-users"] .stats-filter-btn.active .ap-tab-count, body[class^="thl-p-users"] .stats-filter-btn.active .ase-tab-count, body[class^="thl-p-users"] .stats-filter-btn.active .ass-tab-count, body[class^="thl-p-users"] .stats-filter-btn.active .asv-tab-count, body[class^="thl-p-users"] .stats-filter-btn.active .as-ftab-count, body[class^="thl-p-users"] .tab-btn.active .s-tab-count, body[class^="thl-p-users"] .tab-btn.active .tab-bubble, body[class^="thl-p-users"] .tab-btn.active .stab-count, body[class^="thl-p-users"] .tab-btn.active .section-badge, body[class^="thl-p-users"] .tab-btn.active .asv-filter-count, body[class^="thl-p-users"] .tab-btn.active .as-filter-count, body[class^="thl-p-users"] .tab-btn.active .acc-tab-badge, body[class^="thl-p-users"] .tab-btn.active .asf-tab-count, body[class^="thl-p-users"] .tab-btn.active .asp-tab-count, body[class^="thl-p-users"] .tab-btn.active .au-ftab-count, body[class^="thl-p-users"] .tab-btn.active .profile-tab-bubble, body[class^="thl-p-users"] .tab-btn.active .adp-tab-count, body[class^="thl-p-users"] .tab-btn.active .ao-tab-count, body[class^="thl-p-users"] .tab-btn.active .ap-tab-count, body[class^="thl-p-users"] .tab-btn.active .ase-tab-count, body[class^="thl-p-users"] .tab-btn.active .ass-tab-count, body[class^="thl-p-users"] .tab-btn.active .asv-tab-count, body[class^="thl-p-users"] .tab-btn.active .as-ftab-count, body[class^="thl-p-users"] .tab-search-btn.active .s-tab-count, body[class^="thl-p-users"] .tab-search-btn.active .tab-bubble, body[class^="thl-p-users"] .tab-search-btn.active .stab-count, body[class^="thl-p-users"] .tab-search-btn.active .section-badge, body[class^="thl-p-users"] .tab-search-btn.active .asv-filter-count, body[class^="thl-p-users"] .tab-search-btn.active .as-filter-count, body[class^="thl-p-users"] .tab-search-btn.active .acc-tab-badge, body[class^="thl-p-users"] .tab-search-btn.active .asf-tab-count, body[class^="thl-p-users"] .tab-search-btn.active .asp-tab-count, body[class^="thl-p-users"] .tab-search-btn.active .au-ftab-count, body[class^="thl-p-users"] .tab-search-btn.active .profile-tab-bubble, body[class^="thl-p-users"] .tab-search-btn.active .adp-tab-count, body[class^="thl-p-users"] .tab-search-btn.active .ao-tab-count, body[class^="thl-p-users"] .tab-search-btn.active .ap-tab-count, body[class^="thl-p-users"] .tab-search-btn.active .ase-tab-count, body[class^="thl-p-users"] .tab-search-btn.active .ass-tab-count, body[class^="thl-p-users"] .tab-search-btn.active .asv-tab-count, body[class^="thl-p-users"] .tab-search-btn.active .as-ftab-count, body[class^="thl-p-users"] .tab-stats-btn.active .s-tab-count, body[class^="thl-p-users"] .tab-stats-btn.active .tab-bubble, body[class^="thl-p-users"] .tab-stats-btn.active .stab-count, body[class^="thl-p-users"] .tab-stats-btn.active .section-badge, body[class^="thl-p-users"] .tab-stats-btn.active .asv-filter-count, body[class^="thl-p-users"] .tab-stats-btn.active .as-filter-count, body[class^="thl-p-users"] .tab-stats-btn.active .acc-tab-badge, body[class^="thl-p-users"] .tab-stats-btn.active .asf-tab-count, body[class^="thl-p-users"] .tab-stats-btn.active .asp-tab-count, body[class^="thl-p-users"] .tab-stats-btn.active .au-ftab-count, body[class^="thl-p-users"] .tab-stats-btn.active .profile-tab-bubble, body[class^="thl-p-users"] .tab-stats-btn.active .adp-tab-count, body[class^="thl-p-users"] .tab-stats-btn.active .ao-tab-count, body[class^="thl-p-users"] .tab-stats-btn.active .ap-tab-count, body[class^="thl-p-users"] .tab-stats-btn.active .ase-tab-count, body[class^="thl-p-users"] .tab-stats-btn.active .ass-tab-count, body[class^="thl-p-users"] .tab-stats-btn.active .asv-tab-count, body[class^="thl-p-users"] .tab-stats-btn.active .as-ftab-count,
.thl-p-freelance-pages-bids .s-tab.active .s-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .tab-bubble,
.thl-p-freelance-pages-bids .s-tab.active .stab-count,
.thl-p-freelance-pages-bids .s-tab.active .section-badge,
.thl-p-freelance-pages-bids .s-tab.active .asv-filter-count,
.thl-p-freelance-pages-bids .s-tab.active .as-filter-count,
.thl-p-freelance-pages-bids .s-tab.active .acc-tab-badge,
.thl-p-freelance-pages-bids .s-tab.active .asf-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .asp-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .au-ftab-count,
.thl-p-freelance-pages-bids .s-tab.active .profile-tab-bubble,
.thl-p-freelance-pages-bids .s-tab.active .adp-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .ao-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .ap-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .ase-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .ass-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .asv-tab-count,
.thl-p-freelance-pages-bids .s-tab.active .as-ftab-count
{
    background: var(--g);
    color: var(--white);
    border-color: var(--g);
}

/* ── SHARE MODAL, ONE COMPONENT ─────────────────────────────────────────────
   Seven pages open this modal. It used to be styled per page, and the buttons
   all shared one flat colour, which looked nothing like the services they
   link to. Each target now carries its real brand colour on a soft tint, and
   community/view_post uses the same modal instead of silently copying a link.

   Geometry is included because view_post never had this component before. */
.share-ov {
    display: none; position: fixed; inset: 0; z-index: 1500;
    align-items: center; justify-content: center;
    background: rgba(var(--p-black-1-rgb), 0.55);
}
.share-ov.show { display: flex; }
.share-box {
    border-radius: 20px; padding: 26px 24px; width: 100%; max-width: 440px;
    margin: 0 20px; background: var(--white);
    border: 1px solid var(--border);
    box-shadow: 0 18px 50px rgba(var(--p-black-1-rgb), 0.28);
}





/* 4 across, icon ABOVE the label - the layout the view pages already used.
   view_post was falling back to a 2-column row because it had no share CSS
   of its own, so the same modal looked like two different components. */
.share-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }
.share-btn {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 7px; text-align: center;
    padding: 14px 8px; border-radius: 12px;
    border-width: 1px; border-style: solid; border-color: var(--border);
    background: var(--white); color: var(--ink);
    font-size: 11px; font-weight: 700; font-family: inherit;
    text-decoration: none; cursor: pointer; white-space: nowrap;
    transition: all .17s;
}
.share-btn i { font-size: 18px; flex: 0 0 auto; }
.share-btn:hover { background: var(--surface2); border-color: var(--border-2); }

.share-btn.sb-copy i { color: var(--g) !important; }
.share-btn.sb-wa { background: var(--g-lt); border-color: var(--whatsapp-color); color: var(--g-dk); }
.share-btn.sb-wa i { color: var(--whatsapp-color) !important; }
.share-btn.sb-tg { background: var(--blue-lt); border-color: var(--telegram-color); color: var(--blue-ink); }
.share-btn.sb-tg i { color: var(--telegram-color) !important; }
.share-btn.sb-fb { background: var(--blue-lt); border-color: var(--facebook); color: var(--blue-ink); }
.share-btn.sb-fb i { color: var(--facebook) !important; }
.share-btn.sb-tw { background: var(--surface2); border-color: var(--ink); color: var(--ink); }
.share-btn.sb-tw i { color: var(--ink) !important; }
.share-btn.sb-pi { background: var(--st-err-bg); border-color: var(--red); color: var(--st-err-ink); }
.share-btn.sb-pi i { color: var(--red) !important; }
.share-btn.sb-em { background: var(--amber-lt); border-color: var(--warn); color: var(--amber-ink); }
.share-btn.sb-em i { color: var(--warn) !important; }

@media (max-width: 480px) { .share-grid { grid-template-columns: repeat(2, 1fr); } }

/* ── FAQ TOGGLE: DRAWN, NOT A FONT GLYPH ────────────────────────────────────
   A Font Awesome "+" measures about 9.63 x 11 inside a 28px circle and sits
   off-centre, because a glyph's ink box is not its layout box. No amount of
   flex centring fixes that - it centres the box, not the ink.

   So the plus is DRAWN: two 11px bars, each centred with a transform, which
   is exact arithmetic rather than font metrics. Rotating the circle 45deg
   turns it into a clean x, and the bars stay centred because they are
   positioned from the centre outward. Works at any size or font. */
.faq-toggle > i,
.faq-toggle > svg { display: none !important; }

.faq-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    flex: 0 0 auto;
}
.faq-toggle::before,
.faq-toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    border-radius: 1px;
}
.faq-toggle::before {           /* horizontal bar */
    width: 11px; height: 1.8px;
    transform: translate(-50%, -50%);
}
.faq-toggle::after {            /* vertical bar */
    width: 1.8px; height: 11px;
    transform: translate(-50%, -50%);
}

/* ── SHARE TARGET HOVER ─────────────────────────────────────────────────────
   Each target had a brand colour but no hover, and the brand rule outranked
   the generic .share-btn:hover, so the buttons felt dead. On hover each one
   now FILLS with its own brand colour and the icon goes white. */
.share-btn.sb-copy:hover { background: var(--g); border-color: var(--g); color: var(--white); }
.share-btn.sb-wa:hover   { background: var(--whatsapp-color); border-color: var(--whatsapp-color); color: var(--white); }
.share-btn.sb-tg:hover   { background: var(--telegram-color); border-color: var(--telegram-color); color: var(--white); }
.share-btn.sb-fb:hover   { background: var(--facebook);       border-color: var(--facebook);       color: var(--white); }
.share-btn.sb-tw:hover   { background: var(--ink);            border-color: var(--ink);            color: var(--white); }
.share-btn.sb-pi:hover   { background: var(--red);            border-color: var(--red);            color: var(--white); }
.share-btn.sb-em:hover   { background: var(--warn);           border-color: var(--warn);           color: var(--white); }

.share-btn.sb-copy:hover i,
.share-btn.sb-wa:hover i, .share-btn.sb-tg:hover i, .share-btn.sb-fb:hover i,
.share-btn.sb-tw:hover i, .share-btn.sb-pi:hover i, .share-btn.sb-em:hover i { color: var(--white) !important; }

.share-btn { transform: translateY(0); }
.share-btn:hover { transform: translateY(-2px); }
.share-btn:active { transform: translateY(0); }


/* ══════════════════════════════════════════════════════════════════════════
   ROUND 5 - BADGES, CHIPS AND MODAL SHELLS
   --------------------------------------------------------------------------
   Everything below was previously copy-pasted into two or more page <style>
   blocks, with the colour half sitting in section 4 as a per-page rule. The
   markup was already identical, so the geometry moved here verbatim and the
   colour rules it used were deleted from section 4 - not rewritten. Nothing
   here changes how anything looks; it changes how many places you edit.

   Selectors are doubled for the reason given at the top of this section.
   Where a page keeps a value of its own (a different max-width, a different
   z-index) that one declaration stayed in the page and still wins, because a
   page rule and a doubled component rule tie and the page <style> comes after
   this file. Those exceptions are named in the comments.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── STEP BADGE (wizard step pill) - 18 pages ───────────────────────────── */
.step-badge.step-badge {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 10px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;
    padding: 3px 9px; border-radius: 20px; margin-bottom: 8px;
    background: var(--g-lt); color: var(--g-dk);
}

/* ── LISTING STATUS BADGE SHELL ─────────────────────────────────────────────
   The pill itself. The status COLOURS already live in the status group above,
   grouped by meaning; only the shape and the muted colour were duplicated.
   admin_seller_verifications and admin_seller_calculator_projects keep their
   own gap:5px locally, which is the only difference between the three. */
.mp-badge.mp-badge,
.asp-badge.asp-badge,
.asv-badge.asv-badge {
    display: inline-flex; align-items: center;
    padding: 3px 10px; border-radius: 50px;
    font-size: 12px; font-weight: 700; white-space: nowrap;
}

/* the variants that appear on more than one page carry the outline; the
   single-page ones (mp-badge-article/-thread/-open/-completed, asv-badge-draft
   and friends) stayed in their page, since they are not shared components */
.mp-badge-muted.mp-badge-muted,
.mp-badge-published.mp-badge-published,
.mp-badge-rejected.mp-badge-rejected,
.mp-badge-review.mp-badge-review,
.mp-badge-submitted.mp-badge-submitted,
.asp-badge-approved.asp-badge-approved,
.asp-badge-info.asp-badge-info,
.asp-badge-muted.asp-badge-muted,
.asp-badge-rejected.asp-badge-rejected,
.asp-badge-warn.asp-badge-warn,
.asv-badge-approved.asv-badge-approved,
.asv-badge-info.asv-badge-info,
.asv-badge-muted.asv-badge-muted,
.asv-badge-rejected.asv-badge-rejected,
.asv-badge-warn.asv-badge-warn {
    border-width: 1px; border-style: solid;
}

/* muted is the one status the group above did not carry */
.mp-badge-muted.mp-badge-muted,
.asp-badge-muted.asp-badge-muted,
.asv-badge-muted.asv-badge-muted {
    background: var(--surface2); color: var(--muted); border-color: var(--border);
}

/* ── CARD CORNER BADGES (listing grids) - 4 to 5 pages each ─────────────── */
.card-badges.card-badges {
    position: absolute; top: 10px; left: 10px;
    display: flex; gap: 4px; z-index: 10; flex-wrap: wrap;
    transition: opacity 0.18s;
}
.card-slider:hover .card-badges.card-badges { opacity: 0; pointer-events: none; }

.cbadge.cbadge {
    font-size: 9px; font-weight: 800; letter-spacing: 0.5px; text-transform: uppercase;
    padding: 3px 7px; border-radius: 4px;
}
/* NOT doubled, deliberately: .cbadge-new takes its colour from the info group
   above (0-2-0). A doubled .cbadge here would come later and repaint the NEW
   badge's text. At 0-1-0 it loses to the group, exactly as the per-page rule
   it replaces did, so NEW stays blue and MAP/VIDEO stay white. */
.cbadge { color: var(--white); }
.cbadge-map.cbadge-map   { background: var(--info); }
.cbadge-video.cbadge-video { background: var(--error); }

.banner-badge.banner-badge {
    position: absolute; top: 8px; left: 8px;
    font-size: 10px; font-weight: 800; letter-spacing: 0.5px;
    padding: 3px 8px; border-radius: 20px; text-transform: uppercase;
    background: var(--g); color: var(--white);
}
.card-disc-badge.card-disc-badge {
    font-size: 10px; font-weight: 800; padding: 2px 6px; border-radius: 4px;
    color: var(--white); background: var(--g);
}

/* ── DETAIL-PANEL CHIPS (admin review modals) - 2 to 4 pages each ───────── */
.adm-amen-chip.adm-amen-chip,
.adm-incl-chip.adm-incl-chip {
    display: flex; align-items: center; gap: 8px; padding: 9px 12px;
    border-width: 1px; border-style: solid; border-radius: 8px; font-size: 12px;
    background: var(--surf); border-color: var(--border); color: var(--sub);
}
.adm-amen-chip.adm-amen-chip i { font-size: 12px; width: 14px; text-align: center; flex-shrink: 0; color: var(--g); }
.adm-incl-chip.adm-incl-chip i { font-size: 11px; width: 14px; text-align: center; flex-shrink: 0; }

.adm-coord-chip.adm-coord-chip {
    display: flex; align-items: center; gap: 6px; padding: 7px 12px;
    border-width: 1px; border-style: solid; border-radius: 8px; font-size: 12px;
    background: var(--surf); border-color: var(--border); color: var(--sub);
}
.adm-coord-chip.adm-coord-chip a { font-weight: 700; text-decoration: none; color: var(--info); }
.adm-coord-chip.adm-coord-chip a:hover { text-decoration: underline; }
.adm-coord-chip.adm-coord-chip i { font-size: 11px; color: var(--g); }

/* ── DETAIL-PANEL CHIPS (my_* seller modals) - 2 to 3 pages each ─────────── */
.mp-amen-chip.mp-amen-chip,
.mp-incl-chip.mp-incl-chip {
    display: flex; align-items: center; gap: 7px; padding: 8px 11px;
    border-width: 1px; border-style: solid; border-radius: 8px; font-size: 12px;
    background: var(--surf); border-color: var(--border); color: var(--sub);
}
.mp-amen-chip.mp-amen-chip i,
.mp-incl-chip.mp-incl-chip i { font-size: 11px; width: 13px; text-align: center; flex-shrink: 0; color: var(--g); }

.mp-coord-chip.mp-coord-chip {
    display: flex; align-items: center; gap: 5px; padding: 6px 11px;
    border-width: 1px; border-style: solid; border-radius: 8px; font-size: 11px;
    background: var(--surf); border-color: var(--border); color: var(--sub);
}
.mp-coord-chip.mp-coord-chip a { font-weight: 700; text-decoration: none; color: var(--info); }
.mp-coord-chip.mp-coord-chip a:hover { text-decoration: underline; }
.mp-coord-chip.mp-coord-chip i { font-size: 10px; color: var(--g); }

/* ── TYPE CHIP (wizard "what are you listing" picker) - 6 pages ─────────────
   Only the padding differed (10px 12px on four pages, 10px 13px on freelance,
   10px 14px on design), so padding stayed in the page and everything else,
   including the selected and hover states, is here. Hover is listed after
   .sel because that was the order in the pages: hovering a selected chip
   showed the hover colours, and it still does. */
.type-chip.type-chip {
    border-width: 1.5px; border-style: solid; border-radius: 8px; cursor: pointer;
    font-size: 13px; font-weight: 500; text-align: center;
    transition: all 0.15s; line-height: 1.3;
    border-color: var(--border); color: var(--sub); background: var(--white);
}
.type-chip.type-chip.sel { font-weight: 700; border-color: var(--g); background: var(--g); color: var(--white); }
.type-chip.type-chip:hover { border-color: var(--g); color: var(--g-dk); background: var(--g-lt); }

/* ── SOCIAL PLATFORM BADGE (listing promo header) - 10 pages ────────────────
   The base BACKGROUND is not here: the view pages use --surf and the pricing
   pages use --surface. That difference is real and stayed per page. */
.lp-platform-badge.lp-platform-badge {
    display: flex; align-items: center; gap: 8px; font-weight: 700;
    border-bottom-width: 1px; border-bottom-style: solid;
}
.lp-platform-badge.lp-platform-badge.fb { color: var(--facebook); }
.lp-platform-badge.lp-platform-badge.ig { color: var(--p-pink-4); }
.lp-platform-badge.lp-platform-badge.tt { color: var(--tiktok-color); }
.lp-platform-badge.lp-platform-badge.yt { color: var(--p-red-1); }

/* ── PENDING BADGE shape - 7 pages (colour is in the warn group above) ───── */
.pending-badge.pending-badge { font-weight: 800; border-radius: 20px; }

/* ── REVEAL FIELD (conditional wizard field) - 10 pages ─────────────────────
   The @keyframes fadeUp stays in each page; it is a page-level animation. */
.reveal-field.reveal-field { display: none; }
.reveal-field.reveal-field.show { display: block; animation: fadeUp 0.18s ease; }

/* ── ADMIN DETAIL MODAL SHELL - 6 to 7 admin_seller_* pages ─────────────────
   admin_seller_calculator_projects carried a copy of this family that nothing
   on the page used (its modals are the .asd- ones); that dead copy was
   deleted rather than hoisted. */
.adm-detail-overlay.adm-detail-overlay {
    display: none; position: fixed; inset: 0; z-index: 9999;
    align-items: flex-start; justify-content: center;
    padding: 24px 14px; overflow-y: auto; pointer-events: all;
    background: rgba(var(--p-black-1-rgb), 0.6);
}
.adm-detail-overlay.adm-detail-overlay.show { display: flex; }
.adm-detail-modal.adm-detail-modal {
    border-radius: 18px; width: 100%; max-width: 1060px;
    border-width: 1px; border-style: solid;
    display: flex; flex-direction: column; overflow: hidden; margin: auto;
    background: var(--white); border-color: var(--border);
}

/* ── SELLER DETAIL MODAL SHELL - 8 my_* pages ──────────────────────────────
   my_properties keeps z-index:1100 (it opens above its own lightbox) and
   my_posts keeps max-width:880px; both stayed in those two pages. */
.mp-detail-overlay.mp-detail-overlay {
    display: none; position: fixed; inset: 0;
    align-items: flex-start; justify-content: center;
    padding: 24px 14px; overflow-y: auto;
    background: rgba(var(--p-black-1-rgb), 0.55);
}
.mp-detail-overlay.mp-detail-overlay.show { display: flex; }
.mp-detail-modal.mp-detail-modal {
    border-radius: 18px; width: 100%;
    border-width: 1px; border-style: solid;
    display: flex; flex-direction: column; overflow: hidden; margin: auto;
    background: var(--white); border-color: var(--border);
}

/* ── CONFIRM MODAL, THE SHARED HALF - 12 pages ─────────────────────────────
   Only the parts that were identical everywhere. The panel itself (.modal),
   the sub-text metrics and the warn strip still differ page to page and were
   left alone; so did the overlay tint (0.5 on some pages, 0.52 on others) and
   the z-index, which each page still sets for itself. */
.modal-overlay.modal-overlay {
    display: none; position: fixed; inset: 0;
    align-items: center; justify-content: center;
}
.modal-overlay.modal-overlay.show { display: flex; }
.modal-title.modal-title { font-size: 18px; font-weight: 800; margin-bottom: 8px; color: var(--ink); }
.modal-sub.modal-sub { color: var(--sub); }
.modal-actions.modal-actions { display: flex; gap: 10px; }
.modal-warn.modal-warn i { flex-shrink: 0; margin-top: 1px; }

/* ── ADMIN ACTION MODAL, asd- FAMILY - 2 pages, identical throughout ─────── */
.asd-modal-overlay.asd-modal-overlay {
    display: none; position: fixed; inset: 0; z-index: 9999;
    align-items: center; justify-content: center; pointer-events: all;
    background: rgba(var(--p-black-1-rgb), 0.45);
}
.asd-modal-overlay.asd-modal-overlay.show { display: flex; }
.asd-modal.asd-modal {
    border-radius: var(--r); padding: 28px; max-width: 480px; width: 92%;
    border-width: 1px; border-style: solid;
    background: var(--white); border-color: var(--border);
}
.asd-del-modal.asd-del-modal {
    border-radius: var(--r); padding: 28px; max-width: 440px; width: 92%;
    border-width: 1px; border-style: solid;
    background: var(--white); border-color: var(--border);
}
.asd-modal-title.asd-modal-title { font-size: 17px; font-weight: 800; margin-bottom: 5px; color: var(--ink); }
.asd-modal-sub.asd-modal-sub { font-size: 13px; margin-bottom: 16px; line-height: 1.5; color: var(--muted); }
.asd-modal-actions.asd-modal-actions { display: flex; gap: 10px; }
.asd-modal-btn.asd-modal-btn {
    padding: 10px 20px; border-radius: 8px; font-size: 14px; font-weight: 700;
    cursor: pointer; border-width: 1px; border-style: solid; font-family: inherit;
    display: inline-flex; align-items: center; gap: 6px;
    border-color: transparent;
}
.asd-modal-btn-save.asd-modal-btn-save { transition: background 0.18s, color 0.18s; background: rgba(var(--g-rgb),0.07); color: var(--g-dk); border-color: var(--g); }
.asd-modal-btn-save.asd-modal-btn-save:hover { background: var(--g); color: var(--white); }
.asd-modal-btn-cancel.asd-modal-btn-cancel { transition: background 0.18s, color 0.18s, border-color 0.18s; background: var(--surf); color: var(--muted); border-color: var(--border); }
.asd-modal-btn-cancel.asd-modal-btn-cancel:hover { background: var(--surface2); color: var(--ink); border-color: var(--border-2); }
.asd-modal-btn-danger.asd-modal-btn-danger { transition: background 0.18s, color 0.18s; background: rgba(var(--p-red-15-rgb), 0.07); color: var(--red); border-color: var(--red); }
.asd-modal-btn-danger.asd-modal-btn-danger:hover { background: var(--red); color: var(--white); border-color: var(--red); }
.asd-modal-btn-publish.asd-modal-btn-publish { transition: background 0.18s, color 0.18s; background: rgba(var(--g-rgb),0.07); color: var(--g-dk); border-color: var(--g); }
.asd-modal-btn-publish.asd-modal-btn-publish:hover { background: var(--g); color: var(--white); border-color: var(--g); }

/* ── ADMIN ACTION MODAL, asp- FAMILY - 3 pages ─────────────────────────────
   admin_complaints sizes its panel and buttons differently from the two
   seller pages, so only the parts that were the same on all three moved. */
.asp-modal-overlay.asp-modal-overlay {
    display: none; position: fixed; inset: 0; z-index: 9999;
    align-items: center; justify-content: center; pointer-events: all;
    background: rgba(var(--p-black-1-rgb), 0.45);
}
.asp-modal-overlay.asp-modal-overlay.show { display: flex; }
.asp-modal-title.asp-modal-title { font-size: 17px; font-weight: 800; margin-bottom: 5px; color: var(--ink); }
.asp-modal-actions.asp-modal-actions { display: flex; gap: 10px; }
.asp-modal-btn-save.asp-modal-btn-save:hover { background: var(--g); color: var(--white); }
.asp-modal-btn-cancel.asp-modal-btn-cancel:hover { background: var(--surface2); color: var(--ink); border-color: var(--border-2); }
.asp-modal-btn-danger.asp-modal-btn-danger:hover { background: var(--red); color: var(--white); border-color: var(--red); }
.asp-modal-btn-publish.asp-modal-btn-publish { transition: background 0.18s, color 0.18s; background: rgba(var(--g-rgb),0.07); color: var(--g-dk); border-color: var(--g); }
.asp-modal-btn-publish.asp-modal-btn-publish:hover { background: var(--g); color: var(--white); border-color: var(--g); }

/* ── THE PHONE FORM OF THE TWO DETAIL MODALS ───────────────────────────────
   Both sheets slide to the bottom edge on a phone. This was the same two
   rules in fifteen page media blocks. */
@media (max-width: 600px) {
    .adm-detail-overlay.adm-detail-overlay { padding: 0 11px; align-items: flex-end; }
    .adm-detail-modal.adm-detail-modal { border-radius: 18px 18px 0 0; max-height: 95vh; }
    .mp-detail-overlay.mp-detail-overlay { padding: 0 11px; align-items: flex-end; }
    .mp-detail-modal.mp-detail-modal { border-radius: 18px 18px 0 0; max-height: 95vh; }
}

/* ==========================================================================
   ROUND 6 - EVERY REMAINING RULE THAT WAS THE SAME ON MORE THAN ONE PAGE
   --------------------------------------------------------------------------
   Found by comparing every rule in every page <style> against every other.
   A declaration is here only when it was BYTE-IDENTICAL in every page that
   defines that selector, when no page uses the class without defining it,
   and when nothing else anywhere sets that property on that class. Any
   value a page did not share stayed in that page and still wins.

   Nothing here is new. Every value was already in the pages; it is just in
   one place now. Colour-resetting shorthands (border: none, background:
   none, outline: none) were deliberately LEFT in the pages - putting those
   in a shared file is the trap in section 13 of the rulebook.
   ======================================================================= */

/* ── add ───────────────────────────────────────────────────────── */
.add-link-btn.add-link-btn { align-items: center; border-radius: 8px; border-style: dashed; border-width: 1.5px; cursor: pointer; display: inline-flex; font-family: inherit; font-size: 13px; font-weight: 700; gap: 6px; margin-top: 4px; padding: 7px 14px; }
.add-more-btn.add-more-btn { align-items: center; border-style: solid; border-width: 1.5px; font-size: 12px; font-weight: 700; }

/* ── adm ───────────────────────────────────────────────────────── */
.adm-amen-grid.adm-amen-grid { display: grid; gap: 7px; margin-bottom: 20px; }
.adm-coords.adm-coords { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.adm-desc.adm-desc { border-style: solid; border-width: 1px; font-size: 14px; line-height: 1.8; margin-bottom: 20px; max-height: 220px; overflow-y: auto; padding: 14px 16px; white-space: pre-wrap; word-break: break-word; }
.adm-desc.adm-desc::-webkit-scrollbar { width: 4px; }
.adm-dm-body.adm-dm-body { display: grid; }
.adm-dm-close.adm-dm-close { align-items: center; border-radius: 50%; border-style: solid; border-width: 1px; cursor: pointer; display: flex; font-size: 14px; height: 36px; justify-content: center; transition: background 0.15s, color 0.15s, border-color 0.15s; width: 36px; }
.adm-dm-header.adm-dm-header { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; display: flex; flex-shrink: 0; flex-wrap: wrap; gap: 10px; justify-content: space-between; padding: 18px 24px; }
.adm-dm-header-left.adm-dm-header-left { align-items: center; display: flex; gap: 12px; min-width: 0; }
.adm-dm-header-left.adm-dm-header-left h2 { font-size: 17px; font-weight: 800; max-width: 460px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-dm-header-right.adm-dm-header-right { align-items: center; display: flex; flex-shrink: 0; gap: 8px; }
.adm-dm-left.adm-dm-left { border-right-style: solid; border-right-width: 1px; overflow-y: auto; padding: 24px; }
.adm-dm-left.adm-dm-left::-webkit-scrollbar { width: 5px; }
.adm-dm-left.adm-dm-left::-webkit-scrollbar-thumb { border-radius: 3px; }
.adm-dm-right.adm-dm-right { display: flex; flex-direction: column; gap: 18px; overflow-y: auto; padding: 24px; }
.adm-dm-right.adm-dm-right::-webkit-scrollbar { width: 5px; }
.adm-dm-right.adm-dm-right::-webkit-scrollbar-thumb { border-radius: 3px; }
.adm-gallery-arrow.adm-gallery-arrow { align-items: center; border-radius: 50%; border-style: solid; border-width: 1px; cursor: pointer; display: flex; font-size: 13px; height: 36px; justify-content: center; pointer-events: all; transition: background 0.15s; width: 36px; }
.adm-gallery-counter.adm-gallery-counter { border-radius: 20px; bottom: 10px; font-size: 11px; font-weight: 700; padding: 4px 10px; position: absolute; right: 12px; }
.adm-gallery-main.adm-gallery-main { border-radius: 12px; cursor: zoom-in; margin-bottom: 10px; overflow: hidden; position: relative; }
.adm-gallery-main.adm-gallery-main img { display: block; height: 100%; object-fit: cover; transition: opacity 0.2s; }
.adm-gallery-nav.adm-gallery-nav { display: flex; justify-content: space-between; padding: 0 10px; pointer-events: none; position: absolute; top: 50%; transform: translateY(-50%); width: 100%; }
.adm-gallery-no-photo.adm-gallery-no-photo { align-items: center; border-radius: 12px; border-style: dashed; border-width: 1px; display: flex; flex-direction: column; gap: 8px; justify-content: center; margin-bottom: 10px; width: 100%; }
.adm-incl-grid.adm-incl-grid { display: grid; gap: 7px; grid-template-columns: repeat(auto-fill, minmax(155px,1fr)); margin-bottom: 14px; }
.adm-info-cell.adm-info-cell { border-radius: 9px; border-style: solid; border-width: 1px; padding: 11px 13px; }
.adm-info-cell-label.adm-info-cell-label { font-size: 10px; font-weight: 700; letter-spacing: 0.8px; margin-bottom: 4px; text-transform: uppercase; }
.adm-info-cell-val.adm-info-cell-val { font-weight: 700; line-height: 1.35; }
.adm-info-grid.adm-info-grid { display: grid; gap: 10px; margin-bottom: 20px; }
.adm-lb.adm-lb { flex-direction: column; inset: 0; position: fixed; z-index: 10000; }
.adm-lb-arrow.adm-lb-arrow { align-items: center; border-radius: 50%; border-style: solid; border-width: 1px; cursor: pointer; display: flex; font-size: 15px; height: 44px; justify-content: center; position: absolute; top: 50%; transform: translateY(-50%); width: 44px; }
.adm-lb-bar.adm-lb-bar { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; display: flex; flex-shrink: 0; justify-content: space-between; padding: 14px 22px; }
.adm-lb-ctrl.adm-lb-ctrl { font-size: 13px; font-weight: 600; }
.adm-lb-next.adm-lb-next { right: 12px; }
.adm-lb-photo.adm-lb-photo { border-radius: 8px; max-height: 74vh; max-width: 100%; object-fit: contain; transition: opacity 0.2s; }
.adm-lb-prev.adm-lb-prev { left: 12px; }
.adm-lb-stage.adm-lb-stage { align-items: center; display: flex; flex: 1; justify-content: center; overflow: hidden; padding: 16px 64px; position: relative; }
.adm-lb-strip.adm-lb-strip { display: flex; flex-shrink: 0; gap: 5px; justify-content: center; overflow-x: auto; padding: 10px 22px; scrollbar-width: thin; }
.adm-lb-th.adm-lb-th { border-radius: 5px; border-style: solid; border-width: 2px; cursor: pointer; flex-shrink: 0; height: 42px; object-fit: cover; transition: opacity 0.14s, border-color 0.14s; width: 58px; }
.adm-lb-title.adm-lb-title { font-size: 13px; font-weight: 700; }
.adm-lb-x.adm-lb-x { align-items: center; border-radius: 50%; border-style: solid; border-width: 1px; cursor: pointer; display: flex; font-size: 14px; height: 36px; justify-content: center; transition: background 0.15s, color 0.15s; width: 36px; }
.adm-link-item.adm-link-item { align-items: center; border-radius: 8px; border-style: solid; border-width: 1px; display: flex; font-size: 12px; gap: 8px; padding: 9px 12px; word-break: break-all; }
.adm-link-item.adm-link-item i { flex-shrink: 0; }
.adm-links-list.adm-links-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 20px; }
.adm-loading.adm-loading { align-items: center; display: flex; font-size: 14px; gap: 10px; grid-column: 1 / -1; justify-content: center; padding: 80px 40px; }
.adm-location-box.adm-location-box { align-items: center; border-radius: 9px; border-style: solid; border-width: 1px; display: flex; font-size: 13px; gap: 9px; line-height: 1.6; margin-bottom: 20px; padding: 12px 14px;
    /* CENTRED, not flex-start. flex-start pins the icon to the TOP of the
       text, so on a message that wraps it hangs above rather than beside.
       Checked every instance of this class first: all are short and none
       carries a list, so centring cannot strand the icon mid-block. */
}
.adm-location-box.adm-location-box i { flex-shrink: 0; margin-top: 2px; }
.adm-notes-box.adm-notes-box { border-radius: 9px; border-style: solid; border-width: 1px; font-size: 13px; line-height: 1.7; margin-bottom: 20px; padding: 12px 14px; white-space: pre-wrap; word-break: break-word; }
.adm-notes-box.adm-notes-box.empty { font-style: italic; }
.adm-paid-alert.adm-paid-alert { border-radius: 10px; border-style: solid; border-width: 1px; font-size: 13px; line-height: 1.6; padding: 12px 14px; }
.adm-paid-alert-title.adm-paid-alert-title { align-items: center; display: flex; font-size: 13px; font-weight: 800; gap: 6px; margin-bottom: 4px; }
.adm-qa-btn.adm-qa-btn { border-style: solid; border-width: 1px; width: 100%; }
.adm-qa-btn-del.adm-qa-btn-del { transition: background 0.18s, color 0.18s; }
.adm-qa-btn-publish.adm-qa-btn-publish { transition: background 0.18s, color 0.18s; }
.adm-quick-actions.adm-quick-actions { display: flex; flex-direction: column; gap: 7px; }
.adm-sec-label.adm-sec-label { align-items: center; display: flex; font-size: 10px; font-weight: 800; gap: 8px; letter-spacing: 1.2px; margin-bottom: 12px; text-transform: uppercase; }
.adm-sec-label.adm-sec-label::after { content: ''; flex: 1; height: 1px; }
.adm-seller-av.adm-seller-av { border-radius: 50%; border-style: solid; border-width: 2px; flex-shrink: 0; height: 52px; object-fit: cover; width: 52px; }
.adm-seller-card.adm-seller-card { border-radius: 12px; border-style: solid; border-width: 1px; padding: 16px; }
.adm-seller-email.adm-seller-email { font-size: 12px; margin-top: 2px; }
.adm-seller-name.adm-seller-name { font-size: 14px; font-weight: 700; }
.adm-seller-phone.adm-seller-phone { align-items: center; display: flex; font-size: 12px; gap: 5px; margin-top: 2px; }
.adm-seller-row.adm-seller-row { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; display: flex; gap: 12px; margin-bottom: 14px; padding-bottom: 14px; }
.adm-seller-verified.adm-seller-verified { align-items: center; display: inline-flex; font-size: 11px; font-weight: 700; gap: 4px; margin-top: 4px; }
.adm-spec.adm-spec { border-radius: 9px; border-style: solid; border-width: 1px; display: flex; flex-direction: column; gap: 3px; padding: 12px 13px;
}
.adm-spec.adm-spec i { font-size: 14px; margin-bottom: 3px; }
.adm-spec-key.adm-spec-key { font-size: 10px; }
.adm-spec-val.adm-spec-val { font-size: 13px; font-weight: 700; line-height: 1.2; }
.adm-specs-grid.adm-specs-grid { display: grid; gap: 8px; margin-bottom: 20px; }
.adm-stat-mini.adm-stat-mini { border-radius: 9px; border-style: solid; border-width: 1px; padding: 11px 8px; text-align: center; }
.adm-stat-mini-lbl.adm-stat-mini-lbl { font-size: 10px; margin-top: 3px; }
.adm-stat-mini-num.adm-stat-mini-num { font-size: 20px; font-weight: 800; line-height: 1; }
.adm-stats-mini.adm-stats-mini { display: grid; gap: 8px; }
.adm-thumb.adm-thumb { border-radius: 7px; border-style: solid; border-width: 2.5px; cursor: pointer; flex-shrink: 0; height: 50px; object-fit: cover; transition: opacity 0.15s, border-color 0.15s; width: 68px; }
.adm-thumb-strip.adm-thumb-strip { display: flex; gap: 6px; margin-bottom: 20px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.adm-thumb-strip.adm-thumb-strip::-webkit-scrollbar { height: 4px; }
.adm-thumb-strip.adm-thumb-strip::-webkit-scrollbar-thumb { border-radius: 3px; }

/* ── admin ─────────────────────────────────────────────────────── */
.admin-note.admin-note { align-items: center; border-radius: 8px; border-style: solid; border-width: 1px; display: flex; font-size: 12px; gap: 7px; line-height: 1.5; margin-bottom: 10px; padding: 9px 12px;
    /* CENTRED, not flex-start. flex-start pins the icon to the TOP of the
       text, so on a message that wraps it hangs above rather than beside.
       Checked every instance of this class first: all are short and none
       carries a list, so centring cannot strand the icon mid-block. */
}
.admin-note.admin-note i { flex-shrink: 0; margin-top: 1px; }

/* ── am ────────────────────────────────────────────────────────── */
.am-item.am-item { align-items: center; border-radius: 8px; border-style: solid; border-width: 1.5px; cursor: pointer; gap: 8px; padding: 9px 12px; transition: all 0.15s; user-select: none; }

/* ── amen ──────────────────────────────────────────────────────── */
.amen-chip.amen-chip { align-items: center; border-radius: 10px; border-style: solid; border-width: 1px; display: flex; gap: 10px; padding: 11px 14px; transition: all .15s; }
.amen-chip.amen-chip i { flex-shrink: 0; text-align: center; width: 15px; }
.amen-grid.amen-grid { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }

/* ── amenity ───────────────────────────────────────────────────── */
.amenity-grid.amenity-grid { display: grid; gap: 8px; margin-top: 10px; }

/* ── ap ────────────────────────────────────────────────────────── */
.ap-tabs-wrap.ap-tabs-wrap { -webkit-overflow-scrolling: touch; overflow-x: auto; scrollbar-width: none; }
.ap-tabs-wrap.ap-tabs-wrap::-webkit-scrollbar { display: none; }

/* ── as ────────────────────────────────────────────────────────── */
.as-alert-err.as-alert-err { align-items: center; border-radius: 10px; border-style: solid; border-width: 1px; display: flex; font-size: 13px; gap: 10px; padding: 13px 18px; }
.as-alert-ok.as-alert-ok { align-items: center; border-radius: 10px; border-style: solid; border-width: 1px; display: flex; font-size: 13px; gap: 10px; padding: 13px 18px; }
.as-modal-box.as-modal-box { border-style: solid; border-width: 1px; width: 100%; }
.as-stat.as-stat { align-items: center; border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; gap: 11px; padding: 7px 8px; }
.as-stat-icon.as-stat-icon { align-items: center; border-radius: 9px; display: flex; flex-shrink: 0; font-size: 15px; height: 36px; justify-content: center; width: 36px; }
.as-stat-lbl.as-stat-lbl { font-size: 11px; margin-top: 2px; }
.as-stat-num.as-stat-num { font-size: 20px; font-weight: 800; line-height: 1; }
.as-stats.as-stats { display: grid; gap: 11px; margin-bottom: 15px; }

/* ── asd ───────────────────────────────────────────────────────── */
.asd-actions.asd-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.asd-del-warn.asd-del-warn { align-items: center; border-radius: 9px; border-style: solid; border-width: 1px; display: flex; font-size: 12px; gap: 7px; line-height: 1.6; margin-bottom: 16px; padding: 10px 13px;
    /* CENTRED, not flex-start. flex-start pins the icon to the TOP of the
       text, so on a message that wraps it hangs above rather than beside.
       Checked every instance of this class first: all are short and none
       carries a list, so centring cannot strand the icon mid-block. */
}
.asd-del-warn.asd-del-warn i { flex-shrink: 0; margin-top: 1px; }
.asd-design-meta.asd-design-meta { font-size: 12px; }
.asd-design-title.asd-design-title { font-size: 14px; font-weight: 700; margin-bottom: 2px; }
.asd-fl.asd-fl label { display: block; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; }
.asd-free-badge.asd-free-badge { align-items: center; border-radius: 20px; border-style: solid; border-width: 1px; display: inline-flex; font-size: 10px; font-weight: 800; gap: 4px; margin-top: 3px; padding: 2px 7px; white-space: nowrap; }
.asd-paid-warn.asd-paid-warn { border-radius: 9px; border-style: solid; border-width: 1px; line-height: 1.6; padding: 12px 14px; }
.asd-paid-warn.asd-paid-warn .asd-pw-title { align-items: center; font-weight: 800; gap: 6px; }
.asd-price.asd-price { font-size: 14px; font-weight: 800; white-space: nowrap; }
.asd-search-bar.asd-search-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.asd-search-wrap.asd-search-wrap { flex: 1; min-width: 220px; }
.asd-search-wrap.asd-search-wrap i { font-size: 13px; left: 12px; pointer-events: none; top: 50%; transform: translateY(-50%); }
.asd-select.asd-select { border-radius: 8px; border-style: solid; border-width: 1.5px; cursor: pointer; font-family: inherit; font-size: 13px; padding: 9px 12px; }
.asd-seller-email.asd-seller-email { font-size: 12px; }
.asd-seller-name.asd-seller-name { font-size: 13px; font-weight: 700; }
.asd-thumb.asd-thumb { border-radius: 6px; border-style: solid; border-width: 1px; flex-shrink: 0; height: 42px; object-fit: cover; width: 56px; }
.asd-thumb-placeholder.asd-thumb-placeholder { align-items: center; border-radius: 6px; border-style: solid; border-width: 1px; display: flex; flex-shrink: 0; font-size: 16px; height: 42px; justify-content: center; width: 56px; }

/* ── asp ───────────────────────────────────────────────────────── */
.asp-actions.asp-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.asp-btn.asp-btn { border-style: solid; border-width: 1px; }
.asp-btn-del.asp-btn-del { transition: background 0.18s, color 0.18s; }
.asp-btn-details.asp-btn-details { transition: background 0.18s, color 0.18s; }
.asp-btn-publish.asp-btn-publish { transition: background 0.18s, color 0.18s; }
.asp-del-modal.asp-del-modal { border-radius: var(--r); border-style: solid; border-width: 1px; padding: 28px; width: 92%; }
.asp-empty.asp-empty { padding: 52px 24px; text-align: center; }
.asp-empty.asp-empty h3 { font-weight: 700; }
.asp-empty.asp-empty i { display: block; margin-bottom: 14px; }
.asp-fl.asp-fl label { display: block; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; }
.asp-modal.asp-modal { border-radius: var(--r); border-style: solid; border-width: 1px; padding: 28px; width: 92%; }
.asp-modal-btn.asp-modal-btn { align-items: center; border-radius: 8px; cursor: pointer; display: inline-flex; font-family: inherit; font-size: 14px; font-weight: 700; gap: 6px; padding: 10px 20px; }
.asp-modal-btn-cancel.asp-modal-btn-cancel { transition: background 0.18s, color 0.18s, border-color 0.18s; }
.asp-modal-btn-save.asp-modal-btn-save { transition: background 0.18s, color 0.18s; }
.asp-modal-sub.asp-modal-sub { font-size: 13px; line-height: 1.5; }
.asp-prop-meta.asp-prop-meta { font-size: 12px; }
.asp-prop-title.asp-prop-title { font-size: 14px; font-weight: 700; margin-bottom: 2px; }
.asp-search-bar.asp-search-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.asp-search-wrap.asp-search-wrap { flex: 1; min-width: 220px; }
.asp-search-wrap.asp-search-wrap i { font-size: 13px; left: 12px; pointer-events: none; top: 50%; transform: translateY(-50%); }
.asp-select.asp-select { border-radius: 8px; border-style: solid; border-width: 1.5px; cursor: pointer; font-family: inherit; font-size: 13px; padding: 9px 12px; }
.asp-seller-email.asp-seller-email { font-size: 12px; }
.asp-seller-name.asp-seller-name { font-size: 13px; font-weight: 700; }
.asp-stat.asp-stat { align-items: center; border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; gap: 13px; padding: 7px 8px; }
.asp-stat-icon.asp-stat-icon { align-items: center; border-radius: 10px; display: flex; flex-shrink: 0; font-size: 17px; height: 42px; justify-content: center; width: 42px; }
.asp-stat-lbl.asp-stat-lbl { font-size: 11px; margin-top: 2px; }
.asp-stat-num.asp-stat-num { font-size: 20px; font-weight: 800; line-height: 1; }
.asp-stats.asp-stats { display: grid; gap: 11px; margin-bottom: 15px; }
.asp-table.asp-table { border-collapse: collapse; width: 100%; }
.asp-table.asp-table tbody tr { transition: background 0.12s; }
.asp-table.asp-table td { vertical-align: middle; }
.asp-table.asp-table thead th { font-weight: 700; letter-spacing: 0.6px; text-align: left; text-transform: uppercase; white-space: nowrap; }
.asp-table-card.asp-table-card { border-radius: var(--r); border-style: solid; border-width: 1px; overflow: hidden; }
.asp-table-wrap.asp-table-wrap { -webkit-overflow-scrolling: touch; overflow-x: auto; width: 100%; }
.asp-table-wrap.asp-table-wrap::-webkit-scrollbar { height: 5px; }
.asp-table-wrap.asp-table-wrap::-webkit-scrollbar-thumb { border-radius: 4px; }
.asp-tabs-wrap.asp-tabs-wrap { -webkit-overflow-scrolling: touch; margin-bottom: 15px; overflow-x: auto; scrollbar-width: none; width: 100%; }
.asp-tabs-wrap.asp-tabs-wrap::-webkit-scrollbar { display: none; }
.asp-thumb.asp-thumb { border-radius: 6px; border-style: solid; border-width: 1px; flex-shrink: 0; height: 42px; object-fit: cover; width: 56px; }
.asp-thumb-placeholder.asp-thumb-placeholder { align-items: center; border-radius: 6px; border-style: solid; border-width: 1px; display: flex; flex-shrink: 0; font-size: 16px; height: 42px; justify-content: center; width: 56px; }
.asv-filter-count.asv-filter-count { border-radius: 20px; border-style: solid; border-width: 1px; font-size: 11px; font-weight: 800; height: 18px; min-width: 18px; padding: 0 7px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; }
.asv-filters.asv-filters { border-radius: 7px; border-style: solid; border-width: 1px; display: inline-flex; gap: 3px; min-width: 100%; padding: 3px; white-space: nowrap; }
.asv-stat.asv-stat { align-items: center; border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; padding: 7px 8px; }
.asv-stat-icon.asv-stat-icon { align-items: center; display: flex; flex-shrink: 0; justify-content: center; }
.asv-stat-lbl.asv-stat-lbl { font-size: 11px; margin-top: 2px; }
.asv-stat-num.asv-stat-num { font-size: 20px; font-weight: 800; line-height: 1; }
.asv-stats.asv-stats { display: grid; gap: 11px; margin-bottom: 15px; }
.asv-table.asv-table tbody tr { transition: background 0.12s; }
.asv-table.asv-table td { vertical-align: middle; }
.asv-table.asv-table thead th { font-weight: 700; letter-spacing: 0.6px; text-align: left; text-transform: uppercase; white-space: nowrap; }
.asv-table-card.asv-table-card { border-radius: var(--r); border-style: solid; border-width: 1px; overflow: hidden; }
.asv-table-wrap.asv-table-wrap { -webkit-overflow-scrolling: touch; overflow-x: auto; width: 100%; }
.asv-table-wrap.asv-table-wrap::-webkit-scrollbar { height: 5px; }
.asv-table-wrap.asv-table-wrap::-webkit-scrollbar-thumb { border-radius: 4px; }
.asv-tabs-wrap.asv-tabs-wrap { -webkit-overflow-scrolling: touch; margin-bottom: 15px; overflow-x: auto; scrollbar-width: none; width: 100%; }
.asv-tabs-wrap.asv-tabs-wrap::-webkit-scrollbar { display: none; }

/* ── bc ────────────────────────────────────────────────────────── */
.bc-back.bc-back { align-items: center; border-radius: 50px; display: inline-flex; font-size: 12px; font-weight: 700; gap: 5px; margin-right: 4px; padding: 4px 14px; text-decoration: none; transition: background .15s; }
.bc-bar.bc-bar { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; padding: 0 16px; }
.bc-inner.bc-inner { align-items: center; font-size: 12.5px; gap: 6px; margin: 0 auto; width: 100%; }
.bc-inner.bc-inner a { text-decoration: none; transition: color .15s; }

/* ── bid ───────────────────────────────────────────────────────── */
.bid-card.bid-card { border-radius: var(--r); border-style: solid; border-width: 1px; overflow: hidden; }

/* ── bids ──────────────────────────────────────────────────────── */
.bids-grid.bids-grid { display: grid; }

/* ── breakdown ─────────────────────────────────────────────────── */
.breakdown-row.breakdown-row { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; display: flex; font-size: 14px; justify-content: space-between; padding: 9px 0; }

/* ── btn ───────────────────────────────────────────────────────── */
.btn-row.btn-row { display: flex; flex-wrap: wrap; gap: 10px; }

/* ── bulk ──────────────────────────────────────────────────────── */
.bulk-bar-actions.bulk-bar-actions { display: flex; gap: 8px; }
.bulk-bar-info.bulk-bar-info { align-items: center; display: flex; gap: 10px; }
.bulk-bar-inner.bulk-bar-inner { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin: 0 auto; max-width: 880px; }
.bulk-sel-thumb.bulk-sel-thumb { border-radius: 5px; border-style: solid; border-width: 2px; height: 28px; margin-right: -8px; object-fit: cover; width: 36px; }
.bulk-sel-thumbs.bulk-sel-thumbs { display: flex; }
.bulk-thumb-strip.bulk-thumb-strip { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 0 auto 16px; max-width: 280px; }
.bulk-thumb-strip.bulk-thumb-strip img { border-radius: 7px; border-style: solid; border-width: 2px; height: 46px; object-fit: cover; width: 60px; }

/* ── card ──────────────────────────────────────────────────────── */
.card-act.card-act { align-items: center; display: flex; font-size: 12px; gap: 4px; }
.card-act-btn.card-act-btn { align-items: center; cursor: pointer; display: flex; font-size: 15px; padding: 0; transition: color 0.15s, transform 0.15s; }
.card-act-btn.card-act-btn.anim { animation: bounceScale 0.3s ease-in-out; }
.card-act-btn.card-act-btn:hover { transform: scale(1.2); }
.card-act-group.card-act-group { align-items: center; display: flex; gap: 12px; }
.card-actions.card-actions { align-items: center; border-top-style: solid; border-top-width: 1px; display: flex; justify-content: space-between; padding-top: 10px; }
.card-cat-row.card-cat-row { display: flex; }
.card-head.card-head { border-bottom-style: solid; border-bottom-width: 1px; }
.card-head-sub.card-head-sub { font-size: 13px; margin-top: 2px; }
.card-head-title.card-head-title { font-size: 16px; font-weight: 700; }
.card-head.card-head::before { border-radius: var(--r) var(--r) 0 0; content: ''; height: 3px; left: 0; right: 0; top: 0; }
.card-hr.card-hr { border-top-style: solid; border-top-width: 1px; }
.card-loc.card-loc { align-items: center; display: flex; }
.card-metric.card-metric { align-items: center; display: flex; flex-direction: column; gap: 3px; padding: 4px 2px; text-align: center; }
.card-metric.card-metric:not(:last-child)::after { content: ''; height: 60%; right: 0; top: 20%; width: 1px; }
.card-metrics.card-metrics { border-top-style: solid; border-top-width: 1px; display: grid; gap: 0; margin-bottom: 10px; margin-top: auto; padding-top: 10px; }
.card-orig.card-orig { font-size: 12px; text-decoration: line-through; }
.card-price.card-price { font-size: 18px; font-weight: 800; }
.card-price-row.card-price-row { align-items: baseline; display: flex; gap: 6px; }
.card-price-suffix.card-price-suffix { font-size: 11px; font-weight: 500; }
.card-right-actions.card-right-actions { display: flex; }
.card-slider.card-slider { flex-shrink: 0; overflow: hidden; position: relative; }

/* ── cat ───────────────────────────────────────────────────────── */
.cat-badge.cat-badge { font-size: 10px; font-weight: 800; position: absolute; right: 10px; text-transform: uppercase; top: 10px; z-index: 10; }
.cat-card.cat-card { align-items: center; border-radius: 10px; border-style: solid; border-width: 2px; cursor: pointer; display: flex; gap: 12px; user-select: none; }
.cat-card.cat-card.sel::after { content: '\f058'; font-family: 'Font Awesome 6 Free'; font-weight: 900; }
.cat-card.cat-card:hover { transform: translateY(-1px); }
.cat-grid.cat-grid { display: grid; gap: 10px; }
.cat-hint.cat-hint { font-size: 11px; }
.cat-ico.cat-ico { align-items: center; border-radius: 8px; display: flex; flex-shrink: 0; font-size: 16px; height: 36px; justify-content: center; transition: all 0.16s; width: 36px; }

/* ── cb ────────────────────────────────────────────────────────── */
.cb-btn.cb-btn { align-items: center; border-radius: 10px; display: inline-flex; font-weight: 700; gap: 8px; text-decoration: none; }
.cb-check-wrap.cb-check-wrap { align-items: center; animation: popIn .5s cubic-bezier(.32,.72,0,1) both; border-radius: 50%; border-style: solid; border-width: 3px; display: flex; justify-content: center; }
.cb-hero.cb-hero { margin-bottom: 28px; text-align: center; }
.cb-icon.cb-icon { align-items: center; border-radius: 50%; display: flex; justify-content: center; }
.cb-page.cb-page { padding: 0 16px; }
.cb-ref.cb-ref { border-radius: 6px; display: inline-block; font-size: 12px; margin-bottom: 28px; padding: 8px 14px; word-break: break-all; }
.cb-wrap.cb-wrap { padding: 0 16px; text-align: center; }

/* ── cf ────────────────────────────────────────────────────────── */
.cf-grid.cf-grid { gap: 0; }
.cf-key.cf-key { font-weight: 700; }
.cf-row.cf-row { border-bottom-style: solid; border-bottom-width: 1px; display: grid; font-size: 13px; gap: 12px; padding: 9px 0; }
.cf-val.cf-val { word-break: break-word; }

/* ── check ─────────────────────────────────────────────────────── */
.check-item.check-item { align-items: center; border-radius: 8px; display: flex; gap: 10px; padding: 9px 14px; }
.check-item.check-item i { flex-shrink: 0; }

/* ── chk ───────────────────────────────────────────────────────── */
.chk-item.chk-item { align-items: center; border-radius: 8px; border-style: solid; border-width: 1.5px; cursor: pointer; padding: 9px 12px; transition: all 0.15s; user-select: none; }

/* ── comm ──────────────────────────────────────────────────────── */
.comm-act.comm-act { align-items: center; display: flex; gap: 4px; }
.comm-act-group.comm-act-group { align-items: center; display: flex; gap: 10px; }
.comm-author-avatar.comm-author-avatar { border-radius: 50%; border-style: solid; border-width: 2px; flex-shrink: 0; height: 32px; object-fit: cover; width: 32px; }
.comm-author-info.comm-author-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.comm-author-name.comm-author-name { align-items: center; display: flex; font-size: 12px; font-weight: 700; gap: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.comm-author-time.comm-author-time { font-size: 11px; }
.comm-banner-icon.comm-banner-icon { font-size: 40px; }
.comm-card.comm-card { border-style: solid; border-width: 1px; display: flex; flex-direction: column; overflow: hidden; }
.comm-card-actions.comm-card-actions { align-items: center; border-top-style: solid; border-top-width: 1px; display: flex; justify-content: space-between; margin-top: 4px; padding-top: 10px; }
.comm-card-author.comm-card-author { align-items: center; display: flex; gap: 9px; margin-top: auto; padding-top: 6px; }
.comm-card-banner.comm-card-banner { flex-shrink: 0; overflow: hidden; position: relative; text-decoration: none; }
.comm-card-banner.comm-card-banner img { object-fit: cover; transition: transform 0.35s ease; width: 100%; }
.comm-card-banner-empty.comm-card-banner-empty { align-items: center; justify-content: center; }
.comm-card-body.comm-card-body { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 14px 16px 12px; }
.comm-card-desc.comm-card-desc { -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; font-size: 12.5px; line-height: 1.55; overflow: hidden; }
.comm-card-thread-hero.comm-card-thread-hero { display: block; flex-shrink: 0; height: 160px; overflow: hidden; position: relative; text-decoration: none; }
.comm-card-title.comm-card-title { -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; font-size: 15px; font-weight: 800; letter-spacing: -0.2px; line-height: 1.35; overflow: hidden; text-decoration: none; transition: color 0.15s; }
.comm-thread-bg-pattern.comm-thread-bg-pattern { inset: 0; pointer-events: none; position: absolute; }
.comm-thread-big-icon.comm-thread-big-icon { font-size: 34px; position: relative; transition: transform 0.3s ease; z-index: 2; }
.comm-thread-hero-inner.comm-thread-hero-inner { align-items: center; display: flex; gap: 18px; height: 100%; padding: 16px 20px; position: relative; z-index: 1; }
.comm-thread-hero-meta.comm-thread-hero-meta { display: flex; flex-direction: column; gap: 10px; }
.comm-thread-icon-ring.comm-thread-icon-ring { animation: threadRing 10s linear infinite; border-radius: 50%; border-style: dashed; border-width: 2px; inset: 0; position: absolute; }
.comm-thread-icon-wrap.comm-thread-icon-wrap { align-items: center; display: flex; flex-shrink: 0; height: 72px; justify-content: center; position: relative; width: 72px; }
.comm-thread-stat.comm-thread-stat { align-items: center; display: inline-flex; font-weight: 700; gap: 4px; }
.comm-thread-stat-row.comm-thread-stat-row { display: flex; flex-wrap: wrap; gap: 12px; }
.comm-type-badge.comm-type-badge { align-items: center; border-radius: 5px; display: inline-flex; font-size: 10px; font-weight: 800; gap: 4px; left: 10px; letter-spacing: 0.5px; padding: 3px 9px; position: absolute; text-transform: uppercase; top: 10px; z-index: 10; }
.comm-verified.comm-verified { flex-shrink: 0; font-size: 11px; }

/* ── compose ───────────────────────────────────────────────────── */
.compose.compose { border-top-style: solid; border-top-width: 1px; flex-shrink: 0; overflow: hidden; }
.compose.compose textarea { border-style: solid; border-width: 1.5px; flex: 1; font-size: 14px; max-height: 130px; min-height: 42px; overflow-y: auto; padding: 10px 13px; resize: none; transition: border-color 0.15s; }
.compose-inner.compose-inner { align-items: flex-end; display: flex; gap: 10px; padding: 12px 14px; }

/* ── cond ──────────────────────────────────────────────────────── */
.cond-badge.cond-badge { border-radius: 4px; bottom: 10px; font-size: 9px; font-weight: 800; left: 10px; letter-spacing: 0.5px; position: absolute; text-transform: uppercase; z-index: 10; }
.cond-badge-wrap.cond-badge-wrap { border-radius: 4px; bottom: 9px; font-size: 9px; font-weight: 800; left: 9px; letter-spacing: 0.5px; padding: 2px 7px; position: absolute; text-transform: uppercase; z-index: 8; }

/* ── confirm ───────────────────────────────────────────────────── */
.confirm-actions.confirm-actions { display: flex; gap: 10px; }
.confirm-backdrop.confirm-backdrop { animation: backdropIn 0.18s ease; backdrop-filter: blur(4px); inset: 0; position: absolute; }
.confirm-box.confirm-box { animation: modalIn 0.2s cubic-bezier(0.34,1.56,0.64,1); border-radius: 18px; max-width: 360px; padding: 32px 28px 24px; position: relative; text-align: center; width: 100%; z-index: 1; }
.confirm-icon-wrap.confirm-icon-wrap { align-items: center; border-radius: 50%; display: flex; height: 56px; justify-content: center; margin: 0 auto 16px; width: 56px; }
.confirm-icon-wrap.confirm-icon-wrap i { font-size: 22px; }
.confirm-msg.confirm-msg { font-size: 13px; line-height: 1.6; margin-bottom: 24px; }
.confirm-thumb-wrap.confirm-thumb-wrap { border-radius: 8px; border-style: solid; border-width: 2px; margin: -4px auto 16px; overflow: hidden; }
.confirm-thumb-wrap.confirm-thumb-wrap img { display: block; object-fit: cover; }
.confirm-title.confirm-title { font-size: 17px; font-weight: 800; margin-bottom: 8px; }

/* ── conv ──────────────────────────────────────────────────────── */
.conv-box.conv-box { border-radius: 10px; border-style: solid; border-width: 1px; margin: 14px 0; padding: 13px 16px; }
.conv-box-title.conv-box-title { align-items: center; display: flex; font-size: 11px; font-weight: 800; gap: 6px; letter-spacing: .8px; margin-bottom: 8px; text-transform: uppercase; }
.conv-note.conv-note { font-size: 11px; line-height: 1.5; margin-top: 8px; }
.conv-row.conv-row { display: flex; }

/* ── coords ────────────────────────────────────────────────────── */
.coords-grid.coords-grid { display: grid; gap: 12px; margin-top: 12px; }

/* ── count ─────────────────────────────────────────────────────── */
.count-bar.count-bar { align-items: center; border-radius: 8px; border-style: solid; border-width: 1px; display: flex; font-size: 13px; justify-content: space-between; margin-bottom: 16px; padding: 10px 14px; }
.count-seg.count-seg { display: flex; gap: 4px; }

/* ── cta ───────────────────────────────────────────────────────── */
.cta-btn.cta-btn { align-items: center; cursor: pointer; display: flex; font-size: 14px; font-weight: 700; gap: 9px; justify-content: center; padding: 13px 18px; text-decoration: none; transition: all .17s; width: 100%; }
.cta-ghost.cta-ghost { border-style: solid; border-width: 1.5px; }
.cta-green.cta-green:hover { transform: translateY(-1px); }
.cta-wa.cta-wa:hover { transform: translateY(-1px); }

/* ── currency ──────────────────────────────────────────────────── */
.currency-other-wrap.currency-other-wrap { margin-top: 10px; }

/* ── design ────────────────────────────────────────────────────── */
.design-banner.design-banner { align-items: center; border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; margin-bottom: 16px; padding: 14px 22px; }
.design-banner-left.design-banner-left { align-items: center; display: flex; gap: 12px; }
.design-card.design-card { border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; flex-direction: column; overflow: hidden; }
.design-card-actions.design-card-actions { border-top-style: solid; border-top-width: 1px; display: flex; flex-wrap: wrap; margin-top: auto; padding-top: 12px; }
.design-card-body.design-card-body { display: flex; flex: 1; flex-direction: column; padding: 16px; }
.design-card-discount.design-card-discount { font-size: 12px; margin-bottom: 10px; }
.design-card-img.design-card-img { flex-shrink: 0; overflow: hidden; position: relative; }
.design-card-img.design-card-img img { display: block; object-fit: cover; transition: transform 0.3s; width: 100%; }
.design-card-img-placeholder.design-card-img-placeholder { align-items: center; display: flex; flex-direction: column; gap: 8px; height: 100%; justify-content: center; width: 100%; }
.design-card-img-placeholder.design-card-img-placeholder span { font-weight: 600; }
.design-card-meta.design-card-meta { align-items: center; display: flex; flex-wrap: wrap; font-size: 12px; gap: 5px; margin-bottom: 10px; }
.design-card-title.design-card-title { font-size: 15px; font-weight: 700; line-height: 1.3; margin-bottom: 4px; }
.design-ico.design-ico { align-items: center; border-radius: 10px; display: flex; flex-shrink: 0; font-size: 19px; height: 42px; justify-content: center; width: 42px; }
.design-meta.design-meta { font-size: 12px; margin-top: 2px; }
.design-name.design-name { font-size: 15px; font-weight: 700; }
.design-photo-count.design-photo-count { align-items: center; border-radius: 20px; bottom: 8px; display: flex; font-size: 11px; font-weight: 700; gap: 4px; padding: 3px 8px; position: absolute; right: 8px; }
.design-progress.design-progress { margin-bottom: 12px; }
.design-progress-bar.design-progress-bar { border-radius: 3px; height: 5px; overflow: hidden; }
.design-progress-fill.design-progress-fill { border-radius: 3px; height: 100%; transition: width 0.4s; }
.design-progress-label.design-progress-label { display: flex; font-size: 11px; font-weight: 600; justify-content: space-between; margin-bottom: 4px; }

/* ── designs ───────────────────────────────────────────────────── */
.designs-grid.designs-grid { display: grid; gap: 11px; width: 100%; }

/* ── dim ───────────────────────────────────────────────────────── */
.dim-row.dim-row { align-items: center; display: flex; gap: 8px; }
.dim-row.dim-row .fl-inp { flex: 1; }
.dim-sep.dim-sep { flex-shrink: 0; font-size: 13px; font-weight: 700; }
.dim-unit.dim-unit { flex-shrink: 0; }

/* ── dl ────────────────────────────────────────────────────────── */
.dl-page.dl-page { margin: 48px auto 80px; max-width: 640px; padding: 0 16px; }
.dl-ph.dl-ph { text-align: center; }
.dl-ph.dl-ph h1 { font-weight: 800; letter-spacing: -.3px; }
.dl-ph.dl-ph p { line-height: 1.7; }
.dl-ph-icon.dl-ph-icon { align-items: center; border-radius: 50%; display: flex; font-size: 30px; height: 72px; justify-content: center; margin: 0 auto 16px; width: 72px; }

/* ── drag ──────────────────────────────────────────────────────── */
.drag-hint.drag-hint { align-items: center; display: flex; }

/* ── drop ──────────────────────────────────────────────────────── */
.drop-icon.drop-icon { font-size: 40px; margin-bottom: 12px; transition: color 0.2s; }
.drop-limit.drop-limit { font-size: 12px; margin-top: 8px; }
.drop-sub.drop-sub { font-size: 13px; }
.drop-title.drop-title { font-size: 16px; font-weight: 700; margin-bottom: 6px; }

/* ── email ─────────────────────────────────────────────────────── */
.email-note.email-note { align-items: center; border-radius: 10px; border-style: solid; border-width: 1px; display: flex; font-size: 13px; gap: 10px; line-height: 1.6; padding: 13px 16px;
    /* CENTRED, not flex-start. flex-start pins the icon to the TOP of the
       text, so on a message that wraps it hangs above rather than beside.
       Checked every instance of this class first: all are short and none
       carries a list, so centring cannot strand the icon mid-block. */
}
.email-note.email-note i { flex-shrink: 0; }

/* ── exch ──────────────────────────────────────────────────────── */
.exch-error.exch-error { border-radius: 12px; border-style: solid; border-width: 1px; padding: 22px; text-align: center; }
.exch-error.exch-error h3 { font-weight: 800; }
.exch-error.exch-error i.big { display: block; }
.exch-error.exch-error p { line-height: 1.7; }

/* ── fa ────────────────────────────────────────────────────────── */
.fa-spin-btn.fa-spin-btn.show { animation: spin .7s linear infinite; }

/* ── fav ───────────────────────────────────────────────────────── */
.fav-actions.fav-actions { align-items: center; border-top-style: solid; border-top-width: 1px; display: flex; gap: 8px; justify-content: space-between; margin-top: auto; padding-top: 10px; }
.fav-badge.fav-badge { border-radius: 4px; font-size: 9px; font-weight: 800; letter-spacing: 0.5px; padding: 3px 7px; text-transform: uppercase; }
.fav-badge-txn.fav-badge-txn { border-radius: 4px; font-size: 9px; font-weight: 800; letter-spacing: 0.5px; padding: 3px 8px; position: absolute; right: 9px; text-transform: uppercase; top: 9px; z-index: 8; }
.fav-badge-wrap.fav-badge-wrap { display: flex; flex-wrap: wrap; gap: 4px; left: 9px; position: absolute; top: 9px; z-index: 8; }
.fav-body.fav-body { display: flex; flex: 1; flex-direction: column; padding: 13px 14px 11px; }
.fav-card.fav-card { border-radius: var(--r); border-style: solid; border-width: 1px; overflow: visible; }
.fav-cat-icon.fav-cat-icon { align-items: center; border-radius: 5px; display: flex; flex-shrink: 0; font-size: 10px; height: 20px; justify-content: center; width: 20px; }
.fav-cat-label.fav-cat-label { font-size: 10px; font-weight: 700; letter-spacing: 0.4px; text-transform: uppercase; }
.fav-cat-row.fav-cat-row { align-items: center; display: flex; gap: 6px; margin-bottom: 5px; }
.fav-comm-author.fav-comm-author { align-items: center; display: flex; gap: 8px; margin-bottom: 8px; }
.fav-comm-author-info.fav-comm-author-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.fav-comm-author-name.fav-comm-author-name { align-items: center; display: flex; font-size: 12px; font-weight: 700; gap: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fav-comm-author-time.fav-comm-author-time { font-size: 10px; }
.fav-comm-avatar.fav-comm-avatar { border-radius: 50%; border-style: solid; border-width: 2px; flex-shrink: 0; height: 28px; object-fit: cover; width: 28px; }
.fav-comm-banner.fav-comm-banner { flex-shrink: 0; overflow: hidden; position: relative; }
.fav-comm-banner.fav-comm-banner img { display: block; object-fit: cover; transition: transform 0.3s; width: 100%; }
.fav-comm-banner-empty.fav-comm-banner-empty { align-items: center; display: flex; flex-shrink: 0; height: 160px; justify-content: center; }
.fav-comm-desc.fav-comm-desc { -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; font-size: 12px; line-height: 1.5; margin-bottom: 8px; overflow: hidden; }
.fav-comm-stat.fav-comm-stat { align-items: center; display: flex; gap: 4px; }
.fav-comm-stat.fav-comm-stat i { font-size: 11px; }
.fav-comm-stats.fav-comm-stats { align-items: center; display: flex; font-size: 11px; gap: 10px; margin-bottom: 8px; }
.fav-comm-thread-icon.fav-comm-thread-icon { font-size: 38px; }
.fav-comm-type-badge.fav-comm-type-badge { align-items: center; border-radius: 4px; display: inline-flex; font-size: 9px; font-weight: 800; gap: 4px; left: 9px; letter-spacing: 0.5px; padding: 3px 8px; position: absolute; text-transform: uppercase; top: 9px; z-index: 8; }
.fav-comm-verified.fav-comm-verified { font-size: 10px; }
.fav-disc.fav-disc { border-radius: 4px; font-size: 10px; font-weight: 800; padding: 2px 6px; }
.fav-empty.fav-empty { text-align: center; }
.fav-empty.fav-empty a { align-items: center; border-radius: 8px; font-weight: 700; gap: 6px; text-decoration: none; }
.fav-empty.fav-empty p { margin: 0 0 18px; }
.fav-grid.fav-grid { display: grid; }
.fav-img-wrap.fav-img-wrap { flex-shrink: 0; overflow: hidden; position: relative; }
.fav-img-wrap.fav-img-wrap img { display: block; object-fit: cover; transition: transform 0.3s; width: 100%; }
.fav-item.fav-item { border-radius: 10px; border-style: solid; border-width: 1px; display: flex; flex-direction: column; overflow: hidden; position: relative; transition: border-color 0.15s; }
.fav-loc.fav-loc { align-items: center; display: flex; gap: 4px; margin-bottom: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fav-loc.fav-loc i { flex-shrink: 0; }
.fav-meta-item.fav-meta-item { align-items: center; display: flex; gap: 4px; }
.fav-meta-row.fav-meta-row { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 9px; }
.fav-metric.fav-metric { align-items: center; display: flex; gap: 4px; }
.fav-metrics.fav-metrics { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.fav-no-img.fav-no-img { align-items: center; display: flex; flex-direction: column; gap: 8px; height: 100%; justify-content: center; width: 100%; }
.fav-orig.fav-orig { font-size: 11px; text-decoration: line-through; }
.fav-price.fav-price { font-size: 17px; font-weight: 800; letter-spacing: -0.3px; }
.fav-price-na.fav-price-na { font-size: 13px; font-style: italic; margin-bottom: 9px; }
.fav-price-row.fav-price-row { align-items: baseline; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 9px; }
.fav-price-suffix.fav-price-suffix { font-size: 11px; }
.fav-rating-cnt.fav-rating-cnt { font-size: 11px; }
.fav-rating-row.fav-rating-row { align-items: center; display: flex; gap: 5px; margin-bottom: 7px; }
.fav-rating-val.fav-rating-val { font-size: 12px; font-weight: 700; }
.fav-right-actions.fav-right-actions { align-items: center; display: flex; flex-shrink: 0; gap: 7px; }
.fav-saved-at.fav-saved-at { align-items: center; display: flex; gap: 4px; }
.fav-slide.fav-slide { align-items: center; inset: 0; justify-content: center; position: absolute; }
.fav-slide.fav-slide img { height: 100%; object-fit: cover; transition: transform 0.3s; width: 100%; }
.fav-slide-count.fav-slide-count { border-radius: 9px; bottom: 7px; font-size: 11px; font-weight: 700; padding: 2px 7px; pointer-events: none; position: absolute; right: 8px; transition: opacity 0.15s; }
.fav-slider.fav-slider { flex-shrink: 0; height: 190px; overflow: hidden; position: relative; }
.fav-slider-nav.fav-slider-nav { border-radius: 7px; cursor: pointer; font-size: 11px; padding: 7px 9px; position: absolute; top: 50%; transform: translateY(-50%); transition: opacity 0.15s; z-index: 10; }
.fav-slider-nav.fav-slider-nav.next { right: 7px; }
.fav-slider-nav.fav-slider-nav.prev { left: 7px; }
.fav-specs.fav-specs { border-top-style: solid; border-top-width: 1px; display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 10px; margin-top: auto; padding-top: 8px; }
.fav-stars.fav-stars { display: inline-block; font-size: 12px; line-height: 1; position: relative; }
.fav-stars-back.fav-stars-back { white-space: nowrap; }
.fav-stars-front.fav-stars-front { left: 0; overflow: hidden; position: absolute; top: 0; white-space: nowrap; }
.fav-sub.fav-sub { align-items: center; display: flex; font-size: 11px; margin-bottom: 4px; }
.fav-title.fav-title { display: block; font-size: 14px; font-weight: 700; margin-bottom: 3px; overflow: hidden; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }

/* ── fee ───────────────────────────────────────────────────────── */
.fee-badge.fee-badge { font-weight: 800; }

/* ── fi ────────────────────────────────────────────────────────── */
.fi-arrow.fi-arrow { font-size: 10px; pointer-events: none; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); }
.fi-loc.fi-loc { flex: 1; }
.fi-loc.fi-loc input { padding-left: 32px; width: 100%; }
.fi-loc-icon.fi-loc-icon { font-size: 12px; left: 10px; pointer-events: none; position: absolute; top: 50%; transform: translateY(-50%); }
.fi-price-sep.fi-price-sep { align-self: center; font-size: 12px; padding: 0 2px; }

/* ── file ──────────────────────────────────────────────────────── */
.file-dl-btn.file-dl-btn { align-items: center; border-radius: 8px; display: inline-flex; flex-shrink: 0; font-size: 13px; font-weight: 700; gap: 6px; transition: all .15s; white-space: nowrap; }
.file-ico.file-ico { align-items: center; display: flex; flex-shrink: 0; justify-content: center; }
.file-info.file-info { flex: 1; min-width: 0; }
.file-item.file-item { align-items: center; border-style: solid; }
.file-list.file-list { flex-direction: column; }
.file-meta.file-meta { flex-wrap: wrap; font-size: 11px; }
.file-meta.file-meta span { align-items: center; }
.filter-inner.filter-inner { align-items: center; display: flex; flex-wrap: wrap; margin: 0 auto; max-width: 1400px; }

/* ── fl ────────────────────────────────────────────────────────── */
.fl-hint.fl-hint { font-size: 12px; }
.fl-inp.fl-inp { border-style: solid; border-width: 1.5px; }
.fl-label.fl-label { font-weight: 700; }
.fl-opt.fl-opt { flex-wrap: wrap; }
.fl-opt.fl-opt label { align-items: center; border-radius: 8px; border-style: solid; border-width: 1.5px; cursor: pointer; font-size: 13px; font-weight: 500; padding: 8px 14px; transition: all 0.15s; }

/* ── flash ─────────────────────────────────────────────────────── */
.flash-box.flash-box { align-items: center; border-radius: 10px; display: flex; font-size: 13px; gap: 8px; margin-bottom: 16px; padding: 12px 18px; }

/* ── form ──────────────────────────────────────────────────────── */
.form-group.form-group { display: flex; flex-direction: column; }

/* ── grid2 ─────────────────────────────────────────────────────── */
.grid2.grid2 { display: grid; gap: 14px; }

/* ── grid3 ─────────────────────────────────────────────────────── */
.grid3.grid3 { display: grid; gap: 14px; }

/* ── grp ───────────────────────────────────────────────────────── */
.grp-label.grp-label { border-bottom-style: solid; border-bottom-width: 1px; font-size: 11px; font-weight: 700; letter-spacing: 0.8px; margin: 14px 0 7px; padding-bottom: 5px; text-transform: uppercase; }
.grp-label.grp-label:first-child { margin-top: 0; }

/* ── header ────────────────────────────────────────────────────── */
.header-count.header-count { border-radius: 20px; font-size: 12px; font-weight: 700; padding: 2px 9px; }

/* ── incl ──────────────────────────────────────────────────────── */
.incl-chip.incl-chip { align-items: center; border-radius: 50px; display: inline-flex; font-size: 12px; font-weight: 600; }
.incl-chips.incl-chips { display: flex; flex-wrap: wrap; }
.incl-group-label.incl-group-label { font-size: 10px; font-weight: 800; text-transform: uppercase; }

/* ── info ──────────────────────────────────────────────────────── */
.info-notice.info-notice { align-items: center; display: flex; line-height: 1.55;
    /* CENTRED, not flex-start. flex-start pins the icon to the TOP of the
       text, so on a message that wraps it hangs above rather than beside.
       Checked every instance of this class first: all are short and none
       carries a list, so centring cannot strand the icon mid-block. */
}
.info-row.info-row { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; display: flex; }
.info-row.info-row i { flex-shrink: 0; width: 16px; }

/* ── job ───────────────────────────────────────────────────────── */
.job-budget-chip.job-budget-chip { align-items: center; border-radius: 20px; border-style: solid; border-width: 1px; display: inline-flex; font-size: 12px; font-weight: 700; gap: 5px; }
.job-card.job-card { border-radius: var(--r); border-style: solid; display: flex; flex-direction: column; overflow: hidden; }
.job-header.job-header { align-items: center; border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 16px; }
.job-header-left.job-header-left { align-items: center; display: flex; gap: 12px; }
.job-ico.job-ico { align-items: center; border-radius: 10px; display: flex; flex-shrink: 0; justify-content: center; }
.job-meta-txt.job-meta-txt { font-size: 12px; margin-top: 2px; }
.job-title-txt.job-title-txt { font-size: 15px; font-weight: 700; }

/* ── jobs ──────────────────────────────────────────────────────── */
.jobs-grid.jobs-grid { display: grid; }

/* ── lb ────────────────────────────────────────────────────────── */
.lb-arrow.lb-arrow { align-items: center; border-radius: 50%; border-style: solid; border-width: 1px; cursor: pointer; display: flex; font-size: 15px; height: 46px; justify-content: center; position: absolute; top: 50%; transform: translateY(-50%); transition: all .15s; width: 46px; }
.lb-bar.lb-bar { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; display: flex; flex-shrink: 0; justify-content: space-between; padding: 14px 22px; }
.lb-ctrl.lb-ctrl { font-size: 13px; font-weight: 600; }
.lb-next.lb-next { right: 12px; }
.lb-photo.lb-photo { border-radius: 8px; max-height: 75vh; max-width: 100%; object-fit: contain; transition: opacity .2s; }
.lb-prev.lb-prev { left: 12px; }
.lb-stage.lb-stage { align-items: center; display: flex; flex: 1; justify-content: center; overflow: hidden; padding: 16px 64px; position: relative; }
.lb-strip.lb-strip { display: flex; flex-shrink: 0; gap: 5px; justify-content: center; overflow-x: auto; padding: 12px 22px; scrollbar-width: thin; }
.lb-th.lb-th { border-radius: 6px; border-style: solid; border-width: 2px; cursor: pointer; flex-shrink: 0; height: 44px; object-fit: cover; transition: all .15s; width: 60px; }
.lb-title.lb-title { font-size: 14px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-x.lb-x { align-items: center; border-radius: 50%; border-style: solid; border-width: 1px; cursor: pointer; display: flex; font-size: 14px; height: 36px; justify-content: center; transition: all .15s; width: 36px; }

/* ── leaflet ───────────────────────────────────────────────────── */
.leaflet-popup-content-wrapper.leaflet-popup-content-wrapper { border-style: solid; border-width: 1px; overflow: hidden; }
.leaflet-popup-tip-container.leaflet-popup-tip-container { display: none; }

/* ── link ──────────────────────────────────────────────────────── */
.link-list.link-list { list-style: none; margin: 10px 0 0; padding: 0; }
.link-preview.link-preview { border-radius: 10px; border-style: solid; border-width: 1px; margin-top: 12px; overflow: hidden; }
.link-preview-loading.link-preview-loading { font-size: 13px; padding: 20px; text-align: center; }
.link-row.link-row { align-items: center; display: flex; gap: 8px; }
.link-row.link-row .fl-inp { flex: 1; }

/* ── load ──────────────────────────────────────────────────────── */
.load-end-msg.load-end-msg { font-size: 13px; padding: 16px 0; text-align: center; }
.load-spinner.load-spinner { animation: spin 0.7s linear infinite; border-radius: 50%; border-style: solid; border-width: 3px; height: 28px; width: 28px; }

/* ── lock ──────────────────────────────────────────────────────── */
.lock-notice.lock-notice { align-items: center; border-radius: 10px; border-style: solid; border-width: 1px; display: flex; font-size: 13px; gap: 10px; line-height: 1.5; margin-bottom: 16px; padding: 12px 16px;
    /* CENTRED, not flex-start. flex-start pins the icon to the TOP of the
       text, so on a message that wraps it hangs above rather than beside.
       Checked every instance of this class first: all are short and none
       carries a list, so centring cannot strand the icon mid-block. */
}
.lock-notice.lock-notice i { flex-shrink: 0; margin-top: 1px; }
.lock-tag.lock-tag { align-items: center; border-radius: 20px; border-style: solid; border-width: 1px; display: inline-flex; font-size: 11px; font-weight: 700; gap: 5px; padding: 4px 10px; white-space: nowrap; }

/* ── login ─────────────────────────────────────────────────────── */
.login-nudge.login-nudge { border-radius: 12px; border-style: solid; border-width: 1px; bottom: 24px; font-size: 13px; max-width: 280px; padding: 14px 18px; position: fixed; right: 24px; z-index: 400; }
.login-nudge.login-nudge a { font-weight: 700; }
.login-nudge-close.login-nudge-close { cursor: pointer; float: right; font-size: 16px; line-height: 1; }

/* ── lp ────────────────────────────────────────────────────────── */
.lp-fallback.lp-fallback { font-size: 13px; line-height: 1.8; padding: 28px 24px; text-align: center; }
.lp-landscape.lp-landscape { overflow: hidden; padding-top: 56.25%; }
.lp-landscape.lp-landscape iframe { height: 100%; left: 0; top: 0; }
.lp-link-only.lp-link-only { align-items: center; display: flex; gap: 16px; }
.lp-link-only-body.lp-link-only-body { flex: 1; min-width: 0; }
.lp-link-only-btn.lp-link-only-btn { align-items: center; display: inline-flex; flex-shrink: 0; font-weight: 700; gap: 6px; text-decoration: none; white-space: nowrap; }
.lp-link-only-icon.lp-link-only-icon { align-items: center; border-radius: 12px; display: flex; flex-shrink: 0; font-size: 22px; height: 48px; justify-content: center; width: 48px; }
.lp-link-only-note.lp-link-only-note { font-size: 11px; line-height: 1.5; }
.lp-link-only-title.lp-link-only-title { font-size: 13px; font-weight: 700; margin-bottom: 3px; }
.lp-load-overlay.lp-load-overlay { align-items: center; border-radius: 12px; display: flex; font-size: 13px; gap: 8px; inset: 0; justify-content: center; pointer-events: none; position: absolute; z-index: 2; }
.lp-portrait-box.lp-portrait-box { border-radius: 12px; flex-shrink: 0; overflow: hidden; position: relative; }
.lp-portrait-box.lp-portrait-box iframe { display: block; }
.lp-portrait-wrap.lp-portrait-wrap { align-items: flex-start; display: flex; justify-content: center; padding: 16px 0; width: 100%; }

/* ── map ───────────────────────────────────────────────────────── */
.map-box.map-box { border-radius: 10px; border-style: solid; border-width: 1.5px; height: 360px; isolation: isolate; overflow: hidden; position: relative; }
.map-bubble-body.map-bubble-body { align-items: center; border-radius: 8px; display: inline-flex; line-height: 1.2; padding: 5px 7px; white-space: nowrap; }
.map-bubble-body.map-bubble-body::after { border-left-style: solid; border-left-width: 8px; border-right-style: solid; border-right-width: 8px; border-top-style: solid; border-top-width: 9px; bottom: -8px; content: ''; height: 0; left: 50%; transform: translateX(-50%); width: 0; }
.map-bubble-wrap.map-bubble-wrap { cursor: pointer; display: inline-block; position: relative; }
.map-cluster-body.map-cluster-body { align-items: center; border-radius: 8px; border-style: solid; border-width: 2px; display: inline-flex; font-size: 12px; font-weight: 800; line-height: 1.2; padding: 6px 10px; transition: background .15s; white-space: nowrap; }
.map-cluster-body.map-cluster-body::after { border-left-style: solid; border-left-width: 8px; border-right-style: solid; border-right-width: 8px; border-top-style: solid; border-top-width: 9px; bottom: -9px; content: ''; height: 0; left: 50%; transform: translateX(-50%); width: 0; }
.map-cluster-wrap.map-cluster-wrap { cursor: pointer; display: inline-block; }
.map-hint-overlay.map-hint-overlay { align-items: center; border-radius: 20px; bottom: 10px; display: flex; font-size: 12px; font-weight: 600; gap: 6px; left: 50%; padding: 7px 14px; pointer-events: none; position: absolute; transform: translateX(-50%); transition: opacity 0.4s; white-space: nowrap; z-index: 800; }
.map-hint-overlay.map-hint-overlay.hidden { opacity: 0; }
.map-info.map-info { align-items: center; border-radius: 8px; border-style: solid; border-width: 1px; display: flex; font-size: 13px; gap: 7px; margin-top: 10px; min-height: 38px; padding: 9px 13px; }
.map-info.map-info i { flex-shrink: 0; }
.map-legend.map-legend { backdrop-filter: blur(8px); border-radius: 10px; border-style: solid; border-width: 1px; bottom: 14px; display: flex; flex-direction: column; gap: 6px; left: 14px; padding: 9px 13px; pointer-events: none; position: absolute; z-index: 500; }
.map-myloc-btn.map-myloc-btn { align-items: center; border-radius: 8px; border-style: solid; border-width: 1.5px; bottom: 48px; cursor: pointer; display: flex; font-family: inherit; font-weight: 700; gap: 6px; padding: 8px 10px; position: absolute; right: 12px; transition: all 0.14s; z-index: 900; }
.map-pin-body.map-pin-body { align-items: center; border-radius: 50% 50% 50% 0; border-style: solid; border-width: 3px; display: flex; height: 36px; justify-content: center; left: 0; position: absolute; top: 0; transform: rotate(-45deg); width: 36px; }
.map-pin-icon.map-pin-icon { align-items: center; display: flex; font-size: 16px; justify-content: center; line-height: 1; transform: rotate(45deg); }
.map-pin-wrap.map-pin-wrap { cursor: pointer; height: 52px; position: relative; width: 40px; }
.map-pin-wrap.map-pin-wrap:hover { transform: scale(1.12); }
.map-search-bar.map-search-bar { display: flex; left: 50%; max-width: 480px; position: absolute; top: 12px; transform: translateX(-50%); z-index: 900; }
.map-search-inp.map-search-inp { border-radius: 9px 0 0 9px; flex: 1; font-family: inherit; font-size: 13px; min-width: 0; padding: 10px 14px; }
.map-sug-item.map-sug-item { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; cursor: pointer; display: flex; gap: 8px; padding: 10px 14px; transition: background 0.1s;
    /* CENTRED, not flex-start. flex-start pins the icon to the TOP of the
       text, so on a message that wraps it hangs above rather than beside.
       Checked every instance of this class first: all are short and none
       carries a list, so centring cannot strand the icon mid-block. */
}
.map-sug-item.map-sug-item i { flex-shrink: 0; margin-top: 2px; }
.map-sug-main.map-sug-main { font-weight: 700; line-height: 1.3; }
.map-sug-sub.map-sug-sub { font-size: 11px; }
.map-suggestions.map-suggestions { border-radius: 0 0 9px 9px; left: 0; overflow: hidden; position: absolute; right: 0; top: 100%; z-index: 1000; }
.map-tile-btn.map-tile-btn { align-items: center; cursor: pointer; font-family: inherit; gap: 5px; padding: 6px 10px; white-space: nowrap; }
.map-tile-toggle.map-tile-toggle { flex-direction: column; gap: 4px; position: absolute; right: 12px; top: 12px; z-index: 900; }

/* ── milestone ─────────────────────────────────────────────────── */
.milestone-amount.milestone-amount { flex-shrink: 0; font-weight: 800; }
.milestone-desc.milestone-desc { flex: 1; font-weight: 600; }

/* ── ml ────────────────────────────────────────────────────────── */
.ml-dot-dark.ml-dot-dark { border-radius: 50% 50% 50% 0; flex-shrink: 0; height: 14px; transform: rotate(-45deg); width: 14px; }
.ml-dot-green.ml-dot-green { border-radius: 50% 50% 50% 0; flex-shrink: 0; height: 14px; transform: rotate(-45deg); width: 14px; }
.ml-row.ml-row { align-items: center; display: flex; font-size: 11px; font-weight: 600; gap: 8px; }

/* ── modal ─────────────────────────────────────────────────────── */
.modal-warn.modal-warn { align-items: center; border-radius: 8px; border-style: solid; border-width: 1px; display: flex; font-size: 12px; gap: 7px; margin-bottom: 18px; padding: 10px 13px;
    /* CENTRED, not flex-start. flex-start pins the icon to the TOP of the
       text, so on a message that wraps it hangs above rather than beside.
       Checked every instance of this class first: all are short and none
       carries a list, so centring cannot strand the icon mid-block. */
}
.mp-actions-list.mp-actions-list { display: flex; flex-direction: column; gap: 7px; }
.mp-admin-note.mp-admin-note { border-radius: 9px; border-style: solid; border-width: 1px; font-size: 13px; line-height: 1.7; margin-bottom: 18px; padding: 12px 14px; white-space: pre-wrap; word-break: break-word; }
.mp-admin-note-title.mp-admin-note-title { align-items: center; display: flex; font-weight: 800; gap: 6px; margin-bottom: 5px; }
.mp-amen-grid.mp-amen-grid { display: grid; gap: 6px; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); margin-bottom: 18px; }
.mp-chip.mp-chip { align-items: center; border-radius: 20px; display: inline-flex; }
.mp-chips-wrap.mp-chips-wrap { display: flex; flex-wrap: wrap; }
.mp-coords.mp-coords { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }
.mp-desc.mp-desc { border-style: solid; border-width: 1px; font-size: 13.5px; line-height: 1.85; margin-bottom: 18px; max-height: 200px; overflow-y: auto; padding: 13px 15px; white-space: pre-wrap; word-break: break-word; }
.mp-desc-empty.mp-desc-empty { font-style: italic; }
.mp-desc.mp-desc::-webkit-scrollbar { width: 4px; }
.mp-dm-body.mp-dm-body { display: grid; }
.mp-dm-close.mp-dm-close { align-items: center; border-radius: 50%; border-style: solid; border-width: 1px; cursor: pointer; display: flex; font-size: 13px; height: 34px; justify-content: center; width: 34px; }
.mp-dm-header.mp-dm-header { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; display: flex; flex-shrink: 0; flex-wrap: wrap; gap: 10px; justify-content: space-between; padding: 17px 22px; }
.mp-dm-header-left.mp-dm-header-left { align-items: center; display: flex; gap: 11px; min-width: 0; }
.mp-dm-header-left.mp-dm-header-left h2 { font-size: 16px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-dm-header-right.mp-dm-header-right { align-items: center; display: flex; flex-shrink: 0; gap: 8px; }
.mp-dm-left.mp-dm-left { border-right-style: solid; border-right-width: 1px; overflow-y: auto; padding: 22px; }
.mp-dm-right.mp-dm-right { display: flex; flex-direction: column; gap: 16px; overflow-y: auto; padding: 22px; }
.mp-gallery-arrow.mp-gallery-arrow { align-items: center; border-radius: 50%; border-style: solid; border-width: 1px; cursor: pointer; display: flex; font-size: 12px; height: 34px; justify-content: center; pointer-events: all; width: 34px; }
.mp-gallery-counter.mp-gallery-counter { border-radius: 20px; bottom: 10px; font-size: 11px; font-weight: 700; padding: 4px 10px; position: absolute; right: 11px; }
.mp-gallery-main.mp-gallery-main { border-radius: 11px; cursor: zoom-in; margin-bottom: 9px; overflow: hidden; position: relative; }
.mp-gallery-main.mp-gallery-main img { display: block; height: 100%; object-fit: cover; transition: opacity 0.18s; }
.mp-gallery-nav.mp-gallery-nav { display: flex; justify-content: space-between; padding: 0 9px; pointer-events: none; position: absolute; top: 50%; transform: translateY(-50%); width: 100%; }
.mp-gallery-no-photo.mp-gallery-no-photo { align-items: center; border-radius: 11px; border-style: dashed; border-width: 1px; display: flex; flex-direction: column; gap: 8px; justify-content: center; margin-bottom: 9px; width: 100%; }
.mp-incl-grid.mp-incl-grid { display: grid; gap: 6px; grid-template-columns: repeat(auto-fill, minmax(150px,1fr)); margin-bottom: 14px; }
.mp-info-cell.mp-info-cell { border-radius: 9px; border-style: solid; border-width: 1px; padding: 10px 12px; }
.mp-info-grid.mp-info-grid { display: grid; gap: 9px; }
.mp-info-label.mp-info-label { font-size: 10px; font-weight: 700; letter-spacing: 0.7px; margin-bottom: 3px; text-transform: uppercase; }
.mp-info-val.mp-info-val { font-size: 13px; font-weight: 700; line-height: 1.35; }
.mp-lb.mp-lb { flex-direction: column; inset: 0; position: fixed; }
.mp-lb-arrow.mp-lb-arrow { align-items: center; border-radius: 50%; border-style: solid; border-width: 1px; cursor: pointer; display: flex; font-size: 14px; height: 42px; justify-content: center; position: absolute; top: 50%; transform: translateY(-50%); width: 42px; }
.mp-lb-bar.mp-lb-bar { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; display: flex; flex-shrink: 0; justify-content: space-between; padding: 13px 20px; }
.mp-lb-ctrl.mp-lb-ctrl { font-size: 12px; font-weight: 600; }
.mp-lb-next.mp-lb-next { right: 10px; }
.mp-lb-photo.mp-lb-photo { border-radius: 7px; max-height: 74vh; max-width: 100%; object-fit: contain; transition: opacity 0.18s; }
.mp-lb-prev.mp-lb-prev { left: 10px; }
.mp-lb-stage.mp-lb-stage { align-items: center; display: flex; flex: 1; justify-content: center; overflow: hidden; padding: 14px 58px; position: relative; }
.mp-lb-strip.mp-lb-strip { display: flex; flex-shrink: 0; gap: 5px; justify-content: center; overflow-x: auto; padding: 10px 20px; scrollbar-width: thin; }
.mp-lb-th.mp-lb-th { border-radius: 5px; border-style: solid; border-width: 2px; cursor: pointer; flex-shrink: 0; height: 40px; object-fit: cover; width: 56px; }
.mp-lb-title.mp-lb-title { font-size: 13px; font-weight: 700; }
.mp-lb-x.mp-lb-x { align-items: center; border-radius: 50%; border-style: solid; border-width: 1px; cursor: pointer; display: flex; font-size: 13px; height: 34px; justify-content: center; width: 34px; }
.mp-link-item.mp-link-item { align-items: center; border-radius: 8px; border-style: solid; border-width: 1px; display: flex; font-size: 12px; gap: 7px; padding: 8px 11px; word-break: break-all; }
.mp-link-item.mp-link-item i { flex-shrink: 0; }
.mp-links-list.mp-links-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.mp-loading.mp-loading { align-items: center; display: flex; font-size: 14px; gap: 10px; grid-column: 1 / -1; justify-content: center; padding: 70px 40px; }
.mp-location-box.mp-location-box { align-items: center; border-radius: 9px; border-style: solid; border-width: 1px; display: flex; font-size: 13px; gap: 8px; line-height: 1.6; padding: 11px 13px;
    /* CENTRED, not flex-start. flex-start pins the icon to the TOP of the
       text, so on a message that wraps it hangs above rather than beside.
       Checked every instance of this class first: all are short and none
       carries a list, so centring cannot strand the icon mid-block. */
}
.mp-location-box.mp-location-box i { flex-shrink: 0; margin-top: 2px; }
.mp-modal.mp-modal { border-style: solid; border-width: 1px; width: 100%; }
.mp-modal-overlay.mp-modal-overlay { inset: 0; justify-content: center; pointer-events: all; position: fixed; z-index: 9999; }
.mp-popup.mp-popup { display: flex; flex-direction: column; }
.mp-popup-body.mp-popup-body { padding: 12px 14px 14px; }
.mp-popup-btn.mp-popup-btn { border-radius: 8px; cursor: pointer; display: block; font-size: 12.5px; font-weight: 700; padding: 9px 12px; text-align: center; text-decoration: none; transition: background .15s; width: 100%; }
.mp-popup-img.mp-popup-img { display: block; height: 130px; object-fit: cover; width: 100%; }
.mp-popup-img-placeholder.mp-popup-img-placeholder { align-items: center; display: flex; font-size: 32px; height: 130px; justify-content: center; width: 100%; }
.mp-popup-meta.mp-popup-meta { flex-wrap: wrap; margin-bottom: 10px; }
.mp-popup-meta.mp-popup-meta .dist-chip { border-radius: 50px; font-weight: 700; padding: 2px 8px; }
.mp-popup-price.mp-popup-price { font-size: 17px; font-weight: 800; line-height: 1; margin-bottom: 5px; }
.mp-popup-title.mp-popup-title { -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; font-size: 13px; font-weight: 600; line-height: 1.35; margin-bottom: 6px; overflow: hidden; }
.mp-price-main.mp-price-main { font-size: 24px; font-weight: 800; line-height: 1; margin-bottom: 6px; }
.mp-price-row.mp-price-row { border-bottom-style: solid; border-bottom-width: 1px; display: flex; font-size: 12px; justify-content: space-between; padding: 5px 0; }
.mp-price-summary.mp-price-summary { border-radius: 11px; border-style: solid; border-width: 1px; padding: 14px; }
.mp-progress-bar.mp-progress-bar { border-radius: 50px; height: 8px; overflow: hidden; }
.mp-progress-fill.mp-progress-fill { border-radius: 50px; height: 100%; transition: width 0.6s ease; }
.mp-progress-hint.mp-progress-hint { font-size: 11px; margin-top: 7px; }
.mp-progress-top.mp-progress-top { display: flex; font-size: 12px; font-weight: 700; justify-content: space-between; margin-bottom: 8px; }
.mp-progress-wrap.mp-progress-wrap { border-radius: 11px; border-style: solid; border-width: 1px; padding: 14px; }
.mp-sec-label.mp-sec-label { align-items: center; display: flex; font-size: 10px; font-weight: 800; gap: 8px; letter-spacing: 1.2px; margin-bottom: 11px; text-transform: uppercase; }
.mp-sec-label.mp-sec-label::after { content: ''; flex: 1; height: 1px; }
.mp-spec.mp-spec { border-radius: 9px; border-style: solid; border-width: 1px; display: flex; flex-direction: column; gap: 2px; padding: 11px 12px;
}
.mp-spec.mp-spec i { font-size: 13px; margin-bottom: 3px; }
.mp-spec-key.mp-spec-key { font-size: 10px; }
.mp-spec-val.mp-spec-val { font-size: 12px; font-weight: 700; line-height: 1.2; }
.mp-specs-grid.mp-specs-grid { display: grid; gap: 7px; margin-bottom: 18px; }
.mp-stat.mp-stat { border-radius: 9px; border-style: solid; border-width: 1px; padding: 11px 8px; text-align: center; }
.mp-stat-num.mp-stat-num { font-size: 20px; font-weight: 800; line-height: 1; }
.mp-stats-grid.mp-stats-grid { display: grid; gap: 7px; }
.mp-thumb.mp-thumb { border-radius: 7px; border-style: solid; border-width: 2.5px; cursor: pointer; flex-shrink: 0; height: 46px; object-fit: cover; width: 64px; }
.mp-thumb-strip.mp-thumb-strip { display: flex; gap: 6px; margin-bottom: 18px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.mp-thumb-strip.mp-thumb-strip::-webkit-scrollbar { height: 4px; }
.mp-thumb-strip.mp-thumb-strip::-webkit-scrollbar-thumb { border-radius: 3px; }

/* ── msg ───────────────────────────────────────────────────────── */
.msg-av.msg-av { border-style: solid; border-width: 1.5px; flex-shrink: 0; }
.msg-content.msg-content { font-size: 14px; line-height: 1.55; }
.msg-foot.msg-foot { align-items: center; display: flex; gap: 5px; justify-content: flex-end; margin-top: 4px; }
.msg-sender.msg-sender { font-weight: 700; margin-bottom: 3px; }
.msg-subject-tag.msg-subject-tag { align-items: center; border-radius: 20px; border-style: solid; border-width: 1px; display: inline-flex; font-size: 11px; font-weight: 700; gap: 5px; letter-spacing: 0.4px; margin-bottom: 6px; padding: 3px 9px; text-transform: uppercase; }
.msg-ta.msg-ta { border-radius: 11px; border-style: solid; border-width: 1.5px; font-size: 13px; line-height: 1.6; min-height: 88px; padding: 12px 14px; resize: vertical; transition: border-color .15s; width: 100%; }
.msg-wrap.msg-wrap { animation: pop-in 0.18s ease; display: flex; gap: 8px; margin-bottom: 10px; }
.msg-wrap.msg-wrap.received { margin-right: auto; }
.msg-wrap.msg-wrap.sent { margin-left: auto; }

/* ── next ──────────────────────────────────────────────────────── */
.next-step-banner.next-step-banner { align-items: center; border-radius: 8px; border-style: solid; border-width: 1px; display: flex; font-size: 12px; gap: 7px; margin-bottom: 10px; padding: 8px 12px; }
.next-step-banner.next-step-banner a { font-weight: 700; text-decoration: underline; }

/* ── no ────────────────────────────────────────────────────────── */
.no-photo.no-photo { align-items: center; display: flex; flex-direction: column; gap: 8px; height: 100%; justify-content: center; width: 100%; }
.no-tickets.no-tickets { padding: 40px 20px; text-align: center; }
.no-tickets.no-tickets i { display: block; margin-bottom: 10px; }

/* ── not ───────────────────────────────────────────────────────── */
.not-logged.not-logged { border-radius: 10px; border-style: dashed; border-width: 1px; font-size: 13px; line-height: 1.7; padding: 14px; text-align: center; }
.not-logged.not-logged a { font-weight: 700; text-decoration: none; }

/* ── nudge ─────────────────────────────────────────────────────── */
.nudge-close.nudge-close { cursor: pointer; float: right; font-size: 16px; line-height: 1; }
.nudge-x.nudge-x { cursor: pointer; float: right; font-size: 18px; line-height: 1; }

/* ── opt ───────────────────────────────────────────────────────── */
.opt-card.opt-card { border-radius: 10px; border-style: solid; border-width: 2px; cursor: pointer; user-select: none; }
.opt-card.opt-card.sel::after { content: '\f058'; font-family: 'Font Awesome 6 Free'; font-size: 13px; font-weight: 900; right: 12px; top: 10px; }
.opt-hint.opt-hint { font-size: 12px; margin-top: 2px; }
.opt-ico.opt-ico { align-items: center; border-radius: 10px; display: flex; flex-shrink: 0; font-size: 18px; height: 42px; justify-content: center; transition: all 0.16s; width: 42px; }
.opt-lbl.opt-lbl { font-size: 14px; font-weight: 700; line-height: 1.2; }
.opt-pill.opt-pill { align-items: center; border-style: solid; border-width: 1.5px; cursor: pointer; font-size: 13px; gap: 6px; user-select: none; }
.opt-pills.opt-pills { display: flex; flex-wrap: wrap; gap: 8px; }

/* ── order ─────────────────────────────────────────────────────── */
.order-row.order-row { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; display: flex; font-size: 14px; justify-content: space-between; padding: 9px 0; }

/* ── page ──────────────────────────────────────────────────────── */
.page-header-icon.page-header-icon { align-items: center; border-radius: 50%; display: flex; flex-shrink: 0; height: 48px; justify-content: center; width: 48px; }
.page-header-icon.page-header-icon i { font-size: 20px; }
.page-header-right.page-header-right { display: flex; }
.page-header-text.page-header-text h1 { align-items: center; display: flex; flex-wrap: wrap; font-weight: 800; gap: 8px; }
.page-top.page-top { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; max-width: 1400px; }
.page-top-count.page-top-count { font-size: 13px; }
.page-top-title.page-top-title { font-size: 20px; font-weight: 800; }
.page-wrap.page-wrap { padding: 0 16px; }

/* ── paid ──────────────────────────────────────────────────────── */
.paid-lock-notice.paid-lock-notice { align-items: center; border-radius: 8px; border-style: solid; border-width: 1px; display: flex; gap: 6px; line-height: 1.4; margin-bottom: 8px; padding: 7px 10px; }
.paid-lock-notice.paid-lock-notice i { flex-shrink: 0; }

/* ── pay ───────────────────────────────────────────────────────── */
.pay-note.pay-note { font-size: 11px; text-align: center; }

/* ── pc ────────────────────────────────────────────────────────── */
.pc-badge.pc-badge { border-radius: 50px; font-size: 10px; font-weight: 800; left: 10px; letter-spacing: .5px; padding: 3px 11px; position: absolute; text-transform: uppercase; top: 10px; }
.pc-body.pc-body { display: flex; flex-direction: column; }
.pc-dist.pc-dist { align-items: center; border-radius: 50px; display: inline-flex; font-size: 11.5px; font-weight: 700; gap: 4px; margin-top: 5px; padding: 2px 9px; width: fit-content; }
.pc-img-wrap.pc-img-wrap { overflow: hidden; position: relative; }
.pc-loc.pc-loc { align-items: center; display: flex; gap: 5px; margin-top: 3px; }
.pc-loves.pc-loves { align-items: center; border-radius: 50px; display: flex; font-size: 11px; font-weight: 700; gap: 4px; padding: 4px 9px; position: absolute; right: 10px; top: 10px; }
.pc-price.pc-price { font-size: 18px; font-weight: 800; line-height: 1; }
.pc-scroll.pc-scroll { -webkit-overflow-scrolling: touch; display: flex; gap: 14px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: thin; }
.pc-scroll.pc-scroll::-webkit-scrollbar { height: 5px; }
.pc-scroll.pc-scroll::-webkit-scrollbar-thumb { border-radius: 4px; }
.pc-suf.pc-suf { font-size: 12px; font-weight: 600; }
.pc-title.pc-title { overflow: hidden; }
.pc-type.pc-type { border-radius: 50px; border-style: solid; border-width: 1px; font-size: 11px; margin-top: 4px; padding: 2px 10px; width: fit-content; }
.pc-type-badge.pc-type-badge { border-radius: 20px; font-size: 10px; font-weight: 800; padding: 3px 9px; text-transform: uppercase; }

/* ── pending ───────────────────────────────────────────────────── */
.pending-header.pending-header { align-items: center; display: flex; justify-content: space-between; margin-bottom: 10px; }
.pending-item.pending-item { aspect-ratio: 4/3; border-radius: 10px; border-style: dashed; border-width: 2px; overflow: hidden; transition: box-shadow 0.16s; }
.pending-label.pending-label { align-items: center; display: flex; font-size: 13px; font-weight: 700; }
.pending-remove-btn.pending-remove-btn { align-items: center; border-radius: 6px; cursor: pointer; display: flex; font-size: 11px; font-weight: 700; gap: 3px; padding: 3px 8px; position: absolute; right: 6px; top: 6px; transition: background 0.14s; }

/* ── photo ─────────────────────────────────────────────────────── */
.photo-actions.photo-actions { display: flex; gap: 6px; }
.photo-btn.photo-btn { align-items: center; border-radius: 6px; cursor: pointer; display: flex; flex: 1; font-size: 11px; font-weight: 700; gap: 4px; justify-content: center; padding: 5px; transition: all 0.14s; }
.photo-img.photo-img { display: block; height: 100%; object-fit: cover; pointer-events: none; width: 100%; }
.photo-item.photo-item .select-check { align-items: center; height: 28px; justify-content: center; pointer-events: none; right: 4px; top: 4px; width: 28px; z-index: 10; }
.photo-item.photo-item.dragging { transform: scale(0.97); }
.photo-item.photo-item.selected .select-check i { font-size: 9px; }
.photo-num.photo-num { align-items: center; border-radius: 50%; font-size: 10px; font-weight: 700; height: 20px; justify-content: center; position: absolute; right: 8px; top: 8px; width: 20px; }
.photo-overlay.photo-overlay { flex-direction: column; justify-content: flex-end; padding: 8px; position: absolute; transition: opacity 0.18s; }

/* ── poster ────────────────────────────────────────────────────── */
.poster-av.poster-av { border-radius: 50%; border-style: solid; flex-shrink: 0; object-fit: cover; }

/* ── pr ────────────────────────────────────────────────────────── */
.pr-high.pr-high { border-style: solid; border-width: 1px; }
.pr-low.pr-low { border-style: solid; border-width: 1px; }
.pr-medium.pr-medium { border-style: solid; border-width: 1px; }
.pr-pill.pr-pill { align-items: center; border-radius: 20px; display: inline-flex; font-weight: 700; }

/* ── preview ───────────────────────────────────────────────────── */
.preview-item.preview-item { align-items: center; display: flex; }
.preview-item-name.preview-item-name { flex: 1; font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.preview-item-size.preview-item-size { flex-shrink: 0; }
.preview-list.preview-list { display: flex; flex-direction: column; }

/* ── price ─────────────────────────────────────────────────────── */
.price-display-disc.price-display-disc { font-size: 13px; margin-top: 4px; }
.price-display-main.price-display-main { font-size: 26px; font-weight: 800; letter-spacing: -0.5px; }
.price-display-save.price-display-save { align-items: center; border-radius: 20px; display: inline-flex; font-size: 11px; font-weight: 800; gap: 5px; margin-left: 8px; padding: 2px 9px; }
.price-row.price-row { display: flex; gap: 10px; }
.price-row.price-row .currency-wrap { flex-shrink: 0; }
.price-row.price-row .price-wrap { flex: 1; }

/* ── prof ──────────────────────────────────────────────────────── */
.prof-card.prof-card { border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; flex-direction: column; overflow: hidden; }
.prof-header.prof-header { align-items: center; border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; margin-bottom: 16px; }
.prof-header-left.prof-header-left { align-items: center; display: flex; gap: 12px; }
.prof-ico.prof-ico { align-items: center; border-radius: 10px; display: flex; flex-shrink: 0; font-size: 19px; height: 42px; justify-content: center; width: 42px; }
.prof-meta.prof-meta { font-size: 12px; margin-top: 2px; }
.prof-name.prof-name { font-size: 15px; font-weight: 700; }

/* ── profs ─────────────────────────────────────────────────────── */
.profs-grid.profs-grid { display: grid; gap: 11px; }

/* ── prop ──────────────────────────────────────────────────────── */
.prop-banner.prop-banner { align-items: center; border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; margin-bottom: 16px; padding: 14px 22px; }
.prop-banner-left.prop-banner-left { align-items: center; display: flex; gap: 12px; }
.prop-card.prop-card { border-style: solid; border-width: 1px; display: flex; flex-direction: column; overflow: hidden; }
.prop-card-actions.prop-card-actions { border-top-style: solid; border-top-width: 1px; display: flex; flex-wrap: wrap; margin-top: auto; padding-top: 12px; }
.prop-card-body.prop-card-body { display: flex; flex: 1; flex-direction: column; }
.prop-card-discount.prop-card-discount { font-size: 12px; margin-bottom: 10px; }
.prop-card-img.prop-card-img { flex-shrink: 0; overflow: hidden; position: relative; }
.prop-card-img.prop-card-img img { display: block; object-fit: cover; transition: transform 0.3s; width: 100%; }
.prop-card-img-placeholder.prop-card-img-placeholder { align-items: center; display: flex; flex-direction: column; gap: 8px; height: 100%; justify-content: center; width: 100%; }
.prop-card-img-placeholder.prop-card-img-placeholder span { font-weight: 600; }
.prop-card-meta.prop-card-meta { align-items: center; display: flex; flex-wrap: wrap; font-size: 12px; gap: 5px; margin-bottom: 10px; }
.prop-card-price.prop-card-price { font-size: 18px; font-weight: 800; letter-spacing: -0.3px; margin-bottom: 4px; }
.prop-card-price-sub.prop-card-price-sub { font-size: 11px; font-weight: 500; }
.prop-card-title.prop-card-title { font-size: 15px; font-weight: 700; line-height: 1.3; margin-bottom: 4px; }
.prop-header.prop-header { align-items: center; border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; margin-bottom: 16px; padding: 16px 24px; }
.prop-header-left.prop-header-left { align-items: center; display: flex; gap: 12px; }
.prop-ico.prop-ico { align-items: center; border-radius: 10px; display: flex; flex-shrink: 0; font-size: 19px; height: 42px; justify-content: center; width: 42px; }
.prop-icon.prop-icon { align-items: center; border-radius: 10px; display: flex; flex-shrink: 0; font-size: 20px; height: 44px; justify-content: center; width: 44px; }
.prop-meta.prop-meta { font-size: 12px; margin-top: 2px; }
.prop-name.prop-name { font-size: 15px; font-weight: 700; }
.prop-photo-count.prop-photo-count { align-items: center; border-radius: 20px; bottom: 8px; display: flex; font-size: 11px; font-weight: 700; gap: 4px; padding: 3px 8px; position: absolute; right: 8px; }
.prop-progress.prop-progress { margin-bottom: 12px; }
.prop-progress-bar.prop-progress-bar { border-radius: 3px; height: 5px; overflow: hidden; }
.prop-progress-fill.prop-progress-fill { border-radius: 3px; height: 100%; transition: width 0.4s; }
.prop-progress-label.prop-progress-label { display: flex; font-size: 11px; font-weight: 600; justify-content: space-between; margin-bottom: 4px; }
.prop-title.prop-title { font-size: 16px; font-weight: 700; }

/* ── props ─────────────────────────────────────────────────────── */
.props-grid.props-grid { display: grid; }
.props-wrap.props-wrap { margin: 0 auto; }

/* ── qm ────────────────────────────────────────────────────────── */
.qm-btn.qm-btn { align-items: center; border-radius: 10px; border-style: solid; border-width: 1.5px; cursor: pointer; display: flex; gap: 8px; padding: 9px 13px; text-align: left; transition: all .14s; }
.qm-btn.qm-btn i { flex-shrink: 0; }
.qm-label.qm-label { font-size: 10px; font-weight: 800; letter-spacing: 1px; margin-bottom: 8px; text-transform: uppercase; }
.qm-list.qm-list { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }

/* ── r ─────────────────────────────────────────────────────────── */
.r-tag.r-tag { align-items: center; border-radius: 20px; display: inline-flex; font-size: 12px; font-weight: 700; gap: 5px; padding: 5px 11px; }

/* ── review ────────────────────────────────────────────────────── */
.review-grid.review-grid { border-radius: 10px; border-style: solid; border-width: 1px; overflow: hidden; }
.review-key.review-key { flex-shrink: 0; font-weight: 700; }
.review-photos.review-photos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.review-row.review-row { align-items: flex-start; border-bottom-style: solid; border-bottom-width: 1px; display: flex; font-size: 13px; gap: 12px; padding: 11px 16px; }
.review-tags.review-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }
.review-thumb.review-thumb { border-radius: 6px; border-style: solid; border-width: 2px; height: 54px; object-fit: cover; width: 72px; }

/* ── rv ────────────────────────────────────────────────────────── */
.rv-summary.rv-summary { border-radius: 14px; border-style: solid; border-width: 1px; display: flex; flex-wrap: wrap; margin-bottom: 22px; }

/* ── s ─────────────────────────────────────────────────────────── */
.s-tab-count.s-tab-count { border-radius: 20px; border-style: solid; border-width: 1px; font-size: 11px; font-weight: 800; height: 18px; min-width: 18px; padding: 0 7px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; }

/* ── safety ────────────────────────────────────────────────────── */
.safety-box.safety-box { border-radius: var(--r); border-style: solid; border-width: 1px; padding: 18px 20px; }
.safety-card.safety-card { border-style: solid; border-width: 1px; }
.safety-list.safety-list { flex-direction: column; list-style: none; }
.safety-title.safety-title { align-items: center; display: flex; }

/* ── save ──────────────────────────────────────────────────────── */
.save-bar.save-bar { align-items: center; border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; flex-wrap: wrap; gap: 10px; }

/* ── search ────────────────────────────────────────────────────── */
.search-wrap.search-wrap { flex: 1 1 180px; min-width: 0; }
.search-wrap.search-wrap i { font-size: 13px; left: 12px; pointer-events: none; top: 50%; transform: translateY(-50%); }

/* ── sec ───────────────────────────────────────────────────────── */
.sec-label.sec-label { align-items: center; display: flex; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.sec-label.sec-label::after { content: ''; flex: 1; height: 1px; }

/* ── section ───────────────────────────────────────────────────── */
.section-hd.section-hd { align-items: center; display: flex; justify-content: space-between; margin-bottom: 18px; }
.section-hd.section-hd h2 { font-weight: 800; }

/* ── secure ────────────────────────────────────────────────────── */
.secure-badge.secure-badge { align-items: center; border-radius: 50px; border-style: solid; border-width: 1px; display: inline-flex; font-size: 11px; font-weight: 600; gap: 4px; }
.secure-row.secure-row { display: flex; flex-wrap: wrap; gap: 6px; }

/* ── select ────────────────────────────────────────────────────── */
.select-toggle-btn.select-toggle-btn { align-items: center; border-radius: 20px; border-style: solid; border-width: 1.5px; cursor: pointer; display: inline-flex; font-size: 12px; font-weight: 700; gap: 6px; padding: 6px 14px; transition: all 0.16s; }

/* ── seller ────────────────────────────────────────────────────── */
.seller-av.seller-av { border-radius: 50%; border-style: solid; object-fit: cover; }
.seller-banner.seller-banner { align-items: center; border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; margin-bottom: 20px; padding: 14px 20px; }
.seller-banner-left.seller-banner-left { align-items: center; display: flex; gap: 12px; }

/* ── sep ───────────────────────────────────────────────────────── */
.sep-date.sep-date { margin: 12px 0 8px; text-align: center; }
.sep-date.sep-date span { font-size: 11px; font-weight: 700; letter-spacing: 0.5px; padding: 0 10px; text-transform: uppercase; }
.sep-date.sep-date::before { border-top-style: solid; border-top-width: 1px; content: ''; left: 0; right: 0; top: 50%; }

/* ── skel ──────────────────────────────────────────────────────── */
.skel-body.skel-body { display: flex; flex-direction: column; gap: 10px; }
.skel-img.skel-img { animation: shimmer 1.4s infinite linear; background-size: 600px 100%; }
.skel-line.skel-line { animation: shimmer 1.4s infinite linear; background-size: 600px 100%; }
.skel-line-loc.skel-line-loc { height: 12px; width: 55%; }
.skel-line-price.skel-line-price { width: 40%; }
.skel-line-short.skel-line-short { height: 11px; width: 85%; }
.skel-line-title.skel-line-title { height: 16px; width: 75%; }

/* ── skeleton ──────────────────────────────────────────────────── */
.skeleton-card.skeleton-card { border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; flex-direction: column; overflow: hidden; }

/* ── slider ────────────────────────────────────────────────────── */
.slider-count.slider-count { border-radius: 10px; bottom: 8px; font-size: 11px; font-weight: 700; padding: 2px 8px; pointer-events: none; position: absolute; right: 8px; transition: opacity 0.18s; z-index: 10; }
.slider-img.slider-img { display: block; height: 100%; object-fit: cover; width: 100%; }
.slider-nav.slider-nav { border-radius: 8px; cursor: pointer; font-size: 12px; padding: 8px 10px; position: absolute; top: 50%; transform: translateY(-50%); transition: opacity 0.18s, background 0.18s; z-index: 10; }
.slider-next.slider-next { right: 8px; }
.slider-prev.slider-prev { left: 8px; }
.slider-slide.slider-slide { align-items: center; inset: 0; justify-content: center; }

/* ── slot ──────────────────────────────────────────────────────── */
.slot-full-notice.slot-full-notice { padding: 32px 0; text-align: center; }
.slot-full-notice.slot-full-notice i { margin-bottom: 8px; }
.slot-full-notice.slot-full-notice span { margin-top: 4px; }
.slot-full-notice.slot-full-notice strong { font-weight: 700; }

/* ── social ────────────────────────────────────────────────────── */
.social-icon.social-icon { align-items: center; display: flex; flex-shrink: 0; justify-content: center; }

/* ── sort ──────────────────────────────────────────────────────── */
.sort-wrap.sort-wrap { align-items: center; display: flex; gap: 6px; }
.sort-wrap.sort-wrap label { font-size: 12px; white-space: nowrap; }

/* ── spec ──────────────────────────────────────────────────────── */
.spec-chip.spec-chip { border-radius: 20px; border-style: solid; border-width: 1px; font-size: 10px; font-weight: 600; padding: 3px 8px; white-space: nowrap; }

/* ── sponsored ─────────────────────────────────────────────────── */
.sponsored-section-divider.sponsored-section-divider { align-items: center; display: flex; font-size: 12px; font-weight: 700; gap: 10px; letter-spacing: 0.8px; margin: 18px auto 14px; max-width: 1400px; padding: 0 11px; text-transform: uppercase; }
.sponsored-section-label.sponsored-section-label { align-items: center; display: flex; font-weight: 700; gap: 8px; letter-spacing: 0.8px; margin: 0 auto 8px; max-width: 1400px; padding: 0 11px; text-transform: uppercase; }

/* ── st ────────────────────────────────────────────────────────── */
.st-closed.st-closed { border-style: solid; border-width: 1px; }
.st-open.st-open { border-style: solid; border-width: 1px; }
.st-pending.st-pending { border-style: solid; border-width: 1px; }
.st-pill.st-pill { align-items: center; border-radius: 20px; display: inline-flex; font-weight: 700; letter-spacing: 0.4px; text-transform: uppercase; }

/* ── stat ──────────────────────────────────────────────────────── */
.stat-card.stat-card { border-style: solid; border-width: 1px; overflow: hidden; }

/* ── status ────────────────────────────────────────────────────── */
.status-tabs-wrap.status-tabs-wrap { -webkit-overflow-scrolling: touch; overflow-x: auto; scrollbar-width: none; width: 100%; }
.status-tabs-wrap.status-tabs-wrap::-webkit-scrollbar { display: none; }

/* ── step ──────────────────────────────────────────────────────── */
.step-tab.step-tab { align-items: center; border-bottom-style: solid; border-bottom-width: 3px; cursor: default; display: flex; font-size: 12px; pointer-events: none; user-select: none; white-space: nowrap; }
.step-tab-label.step-tab-label { font-size: 12px; }
.step-tab-num.step-tab-num { align-items: center; border-radius: 50%; border-style: solid; border-width: 2px; display: flex; flex-shrink: 0; font-size: 10px; font-weight: 800; height: 22px; justify-content: center; width: 22px; }
.step-tab.step-tab:not(:last-child)::after { content: ''; width: 1px; }
.step-tabs-inner.step-tabs-inner { align-items: stretch; display: flex; margin: 0 auto; }
.step-tabs-wrap.step-tabs-wrap { backdrop-filter: blur(12px); border-bottom-style: solid; border-bottom-width: 1px; overflow-x: auto; position: sticky; scrollbar-width: none; top: 59px; z-index: 190; }
.step-tabs-wrap.step-tabs-wrap::-webkit-scrollbar { display: none; }

/* ── succ ──────────────────────────────────────────────────────── */

/* ── supplies ──────────────────────────────────────────────────── */
.supplies-grid.supplies-grid { display: grid; gap: 11px; }

/* ── supply ────────────────────────────────────────────────────── */
.supply-banner.supply-banner { align-items: center; border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; margin-bottom: 16px; padding: 14px 22px; }
.supply-banner-left.supply-banner-left { align-items: center; display: flex; gap: 12px; }
.supply-card.supply-card { border-radius: var(--r); border-style: solid; border-width: 1px; display: flex; flex-direction: column; overflow: hidden; }
.supply-ico.supply-ico { align-items: center; border-radius: 10px; display: flex; flex-shrink: 0; font-size: 19px; height: 42px; justify-content: center; width: 42px; }
.supply-meta.supply-meta { font-size: 12px; margin-top: 2px; }
.supply-name.supply-name { font-size: 15px; font-weight: 700; }

/* ── svc ───────────────────────────────────────────────────────── */
.svc-chip.svc-chip { align-items: center; border-radius: 10px; border-style: solid; border-width: 1px; display: flex; gap: 10px; padding: 11px 14px; transition: all .15s; }
.svc-grid.svc-grid { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); margin-top: 14px; }

/* ── tab ───────────────────────────────────────────────────────── */
.tab-bubble.tab-bubble { border-radius: 20px; font-weight: 800; line-height: 1.4; }

/* ── thl ───────────────────────────────────────────────────────── */
.thl-dashboard.thl-dashboard { align-items: flex-start; display: flex; margin: 0 auto; max-width: 1400px; }
.thl-main.thl-main { flex: 1 1 0%; min-width: 0; }

/* ── tkt ───────────────────────────────────────────────────────── */
.tkt-ref-label.tkt-ref-label { font-family: monospace; font-size: 11px; }

/* ── total ─────────────────────────────────────────────────────── */
.total-amount.total-amount { font-weight: 900; letter-spacing: -1px; }
.total-currency.total-currency { font-size: 12px; margin-top: 2px; }
.total-label.total-label { font-size: 11px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; }
.total-pill.total-pill { border-radius: 20px; border-style: solid; border-width: 1px; font-size: 13px; font-weight: 800; padding: 3px 11px; }
.total-row.total-row { align-items: center; display: flex; justify-content: space-between; }

/* ── txn ───────────────────────────────────────────────────────── */
.txn-badge.txn-badge { border-radius: 4px; font-size: 10px; font-weight: 800; letter-spacing: 0.5px; padding: 3px 8px; position: absolute; right: 10px; text-transform: uppercase; top: 10px; z-index: 10; }

/* ── type ──────────────────────────────────────────────────────── */
.type-grid.type-grid { display: grid; }
.type-pill.type-pill { border-radius: 20px; border-style: solid; font-weight: 800; text-transform: uppercase; }
.type-pills.type-pills { display: flex; flex-wrap: wrap; justify-content: center; }
.type-tab.type-tab { align-items: center; border-radius: 20px; border-style: solid; border-width: 1.5px; cursor: pointer; display: inline-flex; font-weight: 600; gap: 6px; text-decoration: none; transition: all 0.15s; }
.type-tabs.type-tabs { display: flex; flex-wrap: wrap; max-width: 1400px; }

/* ── unread ────────────────────────────────────────────────────── */
.unread-pill.unread-pill { border-radius: 20px; font-size: 11px; font-weight: 800; line-height: 1.4; }

/* ── upl ───────────────────────────────────────────────────────── */
.upl-bar-fill.upl-bar-fill { border-radius: 99px; height: 100%; transition: width 0.25s ease; width: 0%; }
.upl-bar-wrap.upl-bar-wrap { border-radius: 99px; height: 8px; margin-bottom: 10px; overflow: hidden; }
.upl-card.upl-card { border-radius: 18px; border-style: solid; border-width: 1px; max-width: 380px; min-width: 300px; padding: 36px 44px; text-align: center; width: 90%; }
.upl-detail.upl-detail { font-size: 11px; margin-top: 4px; }
.upl-icon-wrap.upl-icon-wrap { align-items: center; border-radius: 50%; display: flex; height: 64px; justify-content: center; margin: 0 auto 16px; position: relative; width: 64px; }
.upl-icon-wrap.upl-icon-wrap i { font-size: 26px; }
.upl-spinner.upl-spinner { animation: spin 0.9s linear infinite; border-radius: 50%; border-style: solid; border-width: 3px; inset: -4px; position: absolute; }
.upl-sub.upl-sub { font-size: 13px; margin-bottom: 20px; }
.upl-title.upl-title { font-size: 16px; font-weight: 800; margin-bottom: 4px; }

/* ── upload ────────────────────────────────────────────────────── */
.upload-zone-txt.upload-zone-txt { font-weight: 700; }

/* ── vf ────────────────────────────────────────────────────────── */
.vf-title.vf-title { font-weight: 800; }

/* ── vp ────────────────────────────────────────────────────────── */
.vp-bc.vp-bc { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; height: 46px; padding: 0 11px; }
.vp-bc-back.vp-bc-back { align-items: center; border-radius: 50px; display: inline-flex; font-size: 12px; font-weight: 700; gap: 5px; margin-right: 6px; padding: 4px 14px; text-decoration: none; }
.vp-bc-cur.vp-bc-cur { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vp-bc-inner.vp-bc-inner { align-items: center; display: flex; font-size: 12.5px; gap: 6px; margin: 0 auto; max-width: 1400px; width: 100%; }
.vp-bc-inner.vp-bc-inner a { text-decoration: none; }
.vp-desc-collapsed.vp-desc-collapsed { overflow: hidden; }
.vp-desc-collapsed.vp-desc-collapsed::after { bottom: 0; content: ''; height: 60px; left: 0; right: 0; }
.vp-desc-text.vp-desc-text { font-size: 14.5px; line-height: 1.9; white-space: pre-wrap; word-break: break-word; }
.vp-desc-toggle.vp-desc-toggle { align-items: center; cursor: pointer; display: inline-flex; font-size: 13px; font-weight: 700; gap: 6px; transition: color .15s; }
.vp-discount-badge.vp-discount-badge { align-items: center; border-radius: 50px; display: inline-flex; font-size: 11px; font-weight: 800; gap: 4px; padding: 4px 11px; }
.vp-eng-btn.vp-eng-btn { align-items: center; border-style: solid; border-width: 1.5px; cursor: pointer; display: flex; flex: 1; font-weight: 700; gap: 6px; justify-content: center; padding: 11px 10px; transition: all .16s; }
.vp-eng-row.vp-eng-row { display: flex; gap: 8px; }
.vp-gallery.vp-gallery { display: grid; gap: 4px; }
.vp-gallery-wrap.vp-gallery-wrap { border-radius: 20px; overflow: hidden; position: relative; }
.vp-gc.vp-gc { cursor: zoom-in; overflow: hidden; position: relative; }
.vp-gc.vp-gc img { display: block; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.25,.46,.45,.94), filter .3s; width: 100%; }
.vp-gc-b.vp-gc-b { grid-column: 3; grid-row: 1; }
.vp-gc-c.vp-gc-c { grid-column: 3; grid-row: 2; }
.vp-gc-ovr.vp-gc-ovr { align-items: center; display: flex; inset: 0; justify-content: center; position: absolute; transition: opacity .25s; }
.vp-gc-ovr.vp-gc-ovr i { font-size: 24px; }
.vp-gc.vp-gc:hover .vp-gc-ovr { opacity: 1; }
.vp-gc.vp-gc:hover img { filter: brightness(.85); transform: scale(1.07); }
.vp-img-pills.vp-img-pills { display: flex; flex-wrap: wrap; gap: 7px; left: 18px; position: absolute; top: 18px; z-index: 5; }
.vp-loc-line.vp-loc-line { align-items: center; display: flex; gap: 7px; margin-bottom: 22px; }
.vp-loc-line.vp-loc-line i { flex-shrink: 0; }
.vp-map-full.vp-map-full { border-radius: 14px; border-style: solid; border-width: 1px; overflow: hidden; }
.vp-meta-pill.vp-meta-pill { align-items: center; border-radius: 50px; border-style: solid; border-width: 1px; display: inline-flex; gap: 6px; padding: 5px 13px; }
.vp-meta-row.vp-meta-row { display: flex; flex-wrap: wrap; gap: 7px; }
.vp-mini-map.vp-mini-map { border-style: solid; border-width: 1px; cursor: pointer; overflow: hidden; }
.vp-nav-acts.vp-nav-acts { align-items: center; display: flex; flex-shrink: 0; gap: 6px; }
.vp-nav-ic.vp-nav-ic { align-items: center; border-radius: 8px; border-style: solid; border-width: 1.5px; cursor: pointer; display: inline-flex; font-weight: 700; gap: 5px; }
.vp-no-map.vp-no-map { align-items: center; border-radius: 14px; border-style: dashed; border-width: 1px; display: flex; flex-direction: column; gap: 10px; height: 200px; justify-content: center; }
.vp-photo-count.vp-photo-count { align-items: center; backdrop-filter: blur(12px); border-radius: 50px; border-style: solid; border-width: 1px; bottom: 16px; cursor: pointer; display: flex; font-size: 12.5px; font-weight: 700; gap: 7px; padding: 8px 18px; position: absolute; right: 16px; transition: background .2s; z-index: 5; }
.vp-pill.vp-pill { backdrop-filter: blur(10px); border-radius: 50px; font-size: 11px; font-weight: 800; letter-spacing: .6px; padding: 5px 14px; text-transform: uppercase; }
.vp-price-banner.vp-price-banner { border-radius: 14px; border-style: solid; border-width: 1px; margin-bottom: 24px; overflow: hidden; padding: 20px 22px; }
.vp-price-banner.vp-price-banner::before { content: ''; height: 3px; left: 0; right: 0; top: 0; }
.vp-price-main.vp-price-main { font-weight: 800; letter-spacing: -1px; line-height: 1; }
.vp-price-orig.vp-price-orig { font-size: 18px; text-decoration: line-through; }
.vp-price-row.vp-price-row { align-items: baseline; display: flex; flex-wrap: wrap; gap: 10px; }
.vp-price-sub.vp-price-sub { flex-wrap: wrap; margin-top: 8px; }
.vp-price-suf.vp-price-suf { font-size: 14px; font-weight: 600; }
.vp-reveal-btn.vp-reveal-btn { align-items: center; border-style: solid; border-width: 2px; cursor: pointer; display: flex; font-family: inherit; font-size: 14px; font-weight: 700; gap: 9px; justify-content: center; padding: 13px 18px; transition: all .17s; width: 100%; }
.vp-reveal-wrap.vp-reveal-wrap { margin-bottom: 9px; }
.vp-revealed-num.vp-revealed-num { align-items: center; border-style: solid; border-width: 2px; font-size: 16px; font-weight: 800; gap: 10px; justify-content: center; letter-spacing: .5px; padding: 13px 18px; width: 100%; }
.vp-seller-av.vp-seller-av { border-radius: 50%; border-style: solid; border-width: 3px; display: block; height: 64px; object-fit: cover; transition: opacity .15s; width: 64px; }
.vp-seller-av-w.vp-seller-av-w { flex-shrink: 0; position: relative; }
.vp-seller-av-w.vp-seller-av-w a:hover .vp-seller-av { opacity: .85; }
.vp-seller-hd.vp-seller-hd { align-items: center; border-bottom-style: solid; border-bottom-width: 1px; display: flex; gap: 14px; margin-bottom: 18px; padding-bottom: 18px; }
.vp-seller-name.vp-seller-name { font-size: 22px; font-weight: 700; margin-bottom: 3px; }
.vp-sidebar.vp-sidebar { display: flex; flex-direction: column; top: 58px; }
.vp-snav.vp-snav { border-bottom-style: solid; border-bottom-width: 1px; position: sticky; top: 0; z-index: 200; }
.vp-snav-inner.vp-snav-inner { align-items: center; display: flex; height: 50px; justify-content: space-between; margin: 0 auto; max-width: 1400px; padding: 0 11px; }
.vp-spec.vp-spec { border-radius: 12px; border-style: solid; border-width: 1px; display: flex; flex-direction: column; gap: 4px; transition: all .18s;
}
.vp-spec-ico.vp-spec-ico { font-size: 16px; margin-bottom: 4px; }
.vp-spec-key.vp-spec-key { font-size: 11px; }
.vp-spec-val.vp-spec-val { font-size: 15px; font-weight: 700; line-height: 1.2; }
.vp-spec.vp-spec:hover { transform: translateY(-2px); }
.vp-specs.vp-specs { display: grid; gap: 10px; margin-bottom: 22px; }
.vp-stat-box.vp-stat-box { border-radius: 12px; border-style: solid; border-width: 1px; text-align: center; transition: border-color .15s, box-shadow .15s; }
.vp-stat-l.vp-stat-l { align-items: center; display: flex; gap: 4px; justify-content: center; }
.vp-stat-n.vp-stat-n { font-weight: 800; line-height: 1; margin-bottom: 4px; }
.vp-stats-row.vp-stats-row { display: grid; margin-bottom: 22px; }
.vp-tab.vp-tab { border-bottom-style: solid; border-bottom-width: 2.5px; text-decoration: none; white-space: nowrap; }
.vp-tabs.vp-tabs { overflow-x: auto; scrollbar-width: none; }
.vp-tile-btn.vp-tile-btn { align-items: center; cursor: pointer; font-family: inherit; gap: 5px; padding: 6px 10px; white-space: nowrap; }
.vp-tile-toggle.vp-tile-toggle { flex-direction: column; gap: 4px; position: absolute; right: 10px; top: 10px; z-index: 500; }
.vp-title.vp-title { font-weight: 800; letter-spacing: -.5px; line-height: 1.2; }
.vp-txn-tag.vp-txn-tag { align-items: center; border-radius: 50px; display: inline-flex; font-size: 11px; font-weight: 800; gap: 5px; letter-spacing: .5px; margin-bottom: 12px; padding: 4px 14px; }
.vp-verified-dot.vp-verified-dot { align-items: center; border-radius: 50%; border-style: solid; border-width: 2px; bottom: 1px; display: flex; height: 20px; justify-content: center; position: absolute; right: 1px; width: 20px; }
.vp-verified-dot.vp-verified-dot i { font-size: 9px; }
.vp-video-card-inner.vp-video-card-inner { border-style: solid; border-width: 1px; overflow: hidden; }
.vp-views-badge.vp-views-badge { align-items: center; border-radius: 50px; display: inline-flex; font-size: 12.5px; font-weight: 700; gap: 8px; margin-bottom: 18px; padding: 8px 18px; }

/* ── warn ──────────────────────────────────────────────────────── */

/* ── wiz ───────────────────────────────────────────────────────── */
.wiz-brand.wiz-brand { font-size: 17px; font-weight: 700; }
.wiz-prog-fill.wiz-prog-fill { height: 100%; transition: width 0.4s ease; }
.wiz-prog-wrap.wiz-prog-wrap { height: 3px; overflow: hidden; }
.wiz-steps.wiz-steps { align-items: center; display: flex; gap: 4px; }
.wiz-topbar.wiz-topbar { backdrop-filter: blur(12px); border-bottom-style: solid; border-bottom-width: 1px; position: sticky; top: 0; z-index: 200; }
.wiz-topbar-inner.wiz-topbar-inner { align-items: center; display: flex; height: 56px; justify-content: space-between; margin: 0 auto; padding: 0 20px; }

/* ── ws ────────────────────────────────────────────────────────── */
.ws.ws { align-items: center; font-size: 13px; gap: 7px; }
.ws-num.ws-num { align-items: center; border-radius: 50%; border-style: solid; border-width: 2px; display: flex; flex-shrink: 0; font-size: 10px; font-weight: 800; height: 20px; justify-content: center; width: 20px; }
.ws-sep.ws-sep { font-size: 18px; }

@media (max-width: 640px) {

    /* ── dim ───────────────────────────────────────────────────────── */
    .dim-row.dim-row { flex-wrap: wrap; }

    /* ── price ─────────────────────────────────────────────────────── */
    .price-row.price-row { flex-direction: column; }

    /* ── step ──────────────────────────────────────────────────────── */
    .step-tab-label.step-tab-label { display: none; }
}

@media (max-width: 768px) {

    /* ── card ──────────────────────────────────────────────────────── */
    .card-right-actions.card-right-actions { flex-direction: column; }
}

@media (max-width: 900px) {

    /* ── adm ───────────────────────────────────────────────────────── */
    .adm-dm-right.adm-dm-right { border-top-style: solid; border-top-width: 1px; }

    /* ── mp ────────────────────────────────────────────────────────── */
    .mp-dm-right.mp-dm-right { border-top-style: solid; border-top-width: 1px; }
}

/* the trash icon in the shared delete confirmation. It used to carry
   style="color:var(--red);margin-right:8px" in eight pages; now that the
   markup is one include, its look is one rule. */
.modal-title-trash.modal-title-trash { color: var(--red); margin-right: 8px; }
/* ── round 7: shared colour, one definition ────────────────────────────── */
.thl-drawer.thl-drawer { scrollbar-color: rgba(var(--p-white-28-rgb),0.2) transparent; }
.adm-lb-strip.adm-lb-strip { scrollbar-color: rgba(var(--p-white-28-rgb),0.15) transparent; }
.comm-thread-big-icon.comm-thread-big-icon { filter: drop-shadow(0 0 12px rgba(var(--g-rgb),0.4)); }
.fav-comm-thread-icon.fav-comm-thread-icon { filter: drop-shadow(0 0 10px rgba(var(--g-rgb),0.35)); }
.lb-strip.lb-strip { scrollbar-color: rgba(var(--p-white-28-rgb),.15) transparent; }
.map-bubble-wrap.map-bubble-wrap { filter: drop-shadow(0 3px 8px rgba(var(--p-black-1-rgb),.28)); }
.map-cluster-wrap.map-cluster-wrap { filter: drop-shadow(0 3px 8px rgba(var(--p-black-1-rgb),.32)); }
.map-pin-wrap.map-pin-wrap { filter: drop-shadow(0 4px 10px rgba(var(--p-black-1-rgb),.35)); }
.map-search-bar.map-search-bar { filter: drop-shadow(0 4px 12px rgba(var(--p-black-1-rgb),0.22)); }
.mp-lb-strip.mp-lb-strip { scrollbar-color: rgba(var(--p-white-28-rgb),0.12) transparent; }
.mp-thumb-strip.mp-thumb-strip { scrollbar-color: var(--border) transparent; }

/* ── the phone form of the pager ───────────────────────────────────────────
   Eleven pages carried these three declarations inside a 500px block, and
   every one of them was dead: the shared .pagination rule is doubled, so it
   outranked them, and a media query adds no specificity. Same values, now
   at a weight that wins. This is the one place in this round where the
   phone layout visibly changes - it starts doing what those pages asked. */
@media (max-width: 500px) {
    .pagination.pagination { gap: 4px; }
    .pagination.pagination a,
    .pagination.pagination span.disabled { padding: 6px 9px; font-size: 12px; }
}

/* ── the phone form of the pager, under its aliased names ──────────────────
   The pager renders under sixteen class prefixes. The same three phone
   declarations were dead under every one of them, for the same reason. */
@media (max-width: 500px) {
    .adp-pagination.adp-pagination,
    .ap-pagination.ap-pagination,
    .ao-pagination.ao-pagination,
    .as-pagination.as-pagination,
    .asd-pagination.asd-pagination,
    .ase-pagination.ase-pagination,
    .asf-pagination.asf-pagination,
    .asp-pagination.asp-pagination,
    .ass-pagination.ass-pagination,
    .asv-pagination.asv-pagination,
    .au-pagination.au-pagination { gap: 4px; }
    .ap-pagination.ap-pagination a,
    .ap-pagination.ap-pagination span.disabled,
    .adp-pagination.adp-pagination a,
    .adp-pagination.adp-pagination span.disabled,
    .ao-pagination.ao-pagination a,
    .ao-pagination.ao-pagination span.disabled,
    .as-pagination.as-pagination a,
    .as-pagination.as-pagination span.disabled,
    .asd-pagination.asd-pagination a,
    .asd-pagination.asd-pagination span.disabled,
    .ase-pagination.ase-pagination a,
    .ase-pagination.ase-pagination span.disabled,
    .asf-pagination.asf-pagination a,
    .asf-pagination.asf-pagination span.disabled,
    .asp-pagination.asp-pagination a,
    .asp-pagination.asp-pagination span.disabled,
    .ass-pagination.ass-pagination a,
    .ass-pagination.ass-pagination span.disabled,
    .asv-pagination.asv-pagination a,
    .asv-pagination.asv-pagination span.disabled,
    .au-pagination.au-pagination a,
    .au-pagination.au-pagination span.disabled { padding: 6px 9px; font-size: 12px; }
}
@media (max-width: 600px) {
    .profile-pagination.profile-pagination { gap: 4px; }
    .profile-pagination.profile-pagination a,
    .profile-pagination.profile-pagination span.disabled { padding: 6px 9px; font-size: 12px; }
}

.rte-view-content pre,
.thl-rich-content pre {
    background: var(--p-grey-32);
    border: 1px solid var(--p-grey-26);
    border-radius: 6px;
    padding: 12px 14px;
    overflow-x: auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px; line-height: 1.55;
    color: var(--p-black-1);
}
.rte-view-content pre code,
.thl-rich-content pre code {
    background: none; border: 0; padding: 0; font: inherit; color: inherit;
    white-space: pre;
}
/* Inline <code>, not in a block. */
.rte-view-content code:not(pre code),
.thl-rich-content code:not(pre code) {
    background: var(--p-grey-32);
    border: 1px solid var(--p-grey-28);
    border-radius: 4px;
    padding: 1px 5px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.92em;
}

/* The language strip, from a data-lang attribute. Nothing writes that attribute
   any more - the editor's code tool was removed - but pasted markup can still
   carry it, and the sanitiser allows it on <pre>. */
.rte-view-content pre[data-lang]::before,
.thl-rich-content pre[data-lang]::before {
    content: attr(data-lang);
    display: block;
    margin: -12px -14px 10px;
    padding: 5px 12px;
    font-family: inherit;
    font-size: 11px; font-weight: 600; letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--p-grey-10);
    background: var(--p-grey-34);
    border-bottom: 1px solid var(--p-grey-26);
    border-radius: 6px 6px 0 0;
}
/* Touch devices have no hover, so the button must always be visible there. */

@media (max-width: 600px) {
    .rte-view-content pre,
    .thl-rich-content pre { font-size: 12px; padding: 10px 11px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   THE FLOATING FILTER PILL  —  ONE DEFINITION, USED BY ALL SEVEN LISTING PAGES
   ───────────────────────────────────────────────────────────────────────────
   properties · designs · professionals · supplies · essentials · freelance ·
   community.  (calculators.php has no pill.)

   WHAT THIS REPLACED — 43 rules:
     · 7 identical page-scoped colour groups, one per .thl-p-* scope, every one
       of them declaring the same background, border and shadow.
     · 5 doubled-class geometry rules (.filter-float.filter-float and friends).
     · 8 near-identical copies of the geometry inlined in the page files.

   They had drifted in exactly the ways duplication always drifts:
     · community's pill transition had lost `box-shadow 0.28s ease`, so its
       shadow snapped instead of easing.
     · community's button transition had gained `transform 0.15s` that no
       other page had.
     · three pages' buttons were missing `font-family: inherit`, so they
       rendered in the browser's default UI font instead of the site's.
     · community alone had no `:hover` shadow rule at all.
     · freelance alone declared `overflow: visible`.
   Every one of those differences is resolved below, in favour of the version
   that was correct.

   TWO THINGS THAT WERE ACTUALLY BROKEN, AND ARE FIXED HERE:

   1. RADII DID NOT MATCH. The container was 40px while the buttons inside it
      rendered at 7px — not the 20px the page files ask for, because the shared
      filter-button rule elsewhere in this file is written `.filter-float-btn
      .filter-float-btn` and beat the page's own CSS. A square-ish button in a
      round pill. Everything in a pill is now a pill: 999px.

   2. THE BLUR DID NOTHING. The background was rgba(..., 0.98) — 98% opaque —
      so `backdrop-filter: blur(14px)` had nothing to show through it. 0.72
      is what makes the blur visible, and matches the reference.

   WHY THIS IS NOT UNDER A .thl-p-* PAGE SCOPE, unlike most colour in this
   file: the whole point is that the pill is IDENTICAL on every page. Scoping
   it per page is what produced seven copies to drift apart in the first place.
   One component, one definition.

   THE ORDER OF THE SELECTORS BELOW MATTERS. Controls inside the pill are
   written `.filter-float .x.x` so they outrank the shared filter-button rule
   (`.x.x`, specificity 0-2-0) rather than tying with it and depending on
   which one happens to come later in this file.
   ═══════════════════════════════════════════════════════════════════════════ */

.filter-float.filter-float {
    position: fixed;
    left: 50%;
    top: -80px;
    transform: translateX(-50%);
    z-index: 200;
    display: flex;
    align-items: center;
    gap: 7px;
    max-width: 92vw;
    padding: 4px;
    white-space: nowrap;
    /* A pill container. Everything inside it is a pill too - see below. */
    border-radius: 999px;
    border: 1px solid var(--border);
    /* 0.72, not 0.98. At 0.98 the blur below is invisible. */
    background: rgba(255, 255, 255, 0.72);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    box-shadow: 0 8px 32px rgba(var(--p-black-1-rgb), 0.14);
    /* The sort dropdown opens downward out of the pill. Without this it is
       clipped by any ancestor that scrolls. freelance.php discovered that and
       fixed it for itself; it applies to all seven. */
    overflow: visible;
    opacity: 0;
    pointer-events: none;
    transition: top 0.38s cubic-bezier(0.34, 1.26, 0.64, 1),
                opacity 0.28s ease,
                box-shadow 0.28s ease;
}

.filter-float.filter-float:hover {
    box-shadow: 0 12px 40px rgba(var(--p-black-1-rgb), 0.18);
}

/* Shown by the page's own scroll handler.

   top MUST be here. The base rule parks the pill at top:-80px, off-screen, and
   this is what slides it into view. It was dropped when the seven page copies
   were merged, which left the pill fading in while still parked above the
   viewport - visible in the DOM with .float-visible on it, and invisible on
   screen. Do not remove it again. */
.filter-float.filter-float.float-visible {
    top: 10px;
    opacity: 1;
    pointer-events: auto;
}

/* ── Controls inside the pill ─────────────────────────────────────────────
   Written `.filter-float .x.x` (specificity 0-3-0) so they beat the shared
   filter/clear/search button definition (`.x.x`, 0-2-0) outright. */

.filter-float .filter-float-btn.filter-float-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    height: 30px;
    padding: 0 14px;
    flex-shrink: 0;
    border: none;
    border-radius: 999px;          /* a pill inside a pill */
    font-family: inherit;          /* three pages were missing this */
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.15s;
}

.filter-float .filter-float-meta.filter-float-meta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 11px;
    flex-shrink: 0;
    border-radius: 999px;          /* was 20px */
}

.filter-float .filter-float-meta.filter-float-meta i {
    color: var(--g);
    font-size: 12px;
    flex-shrink: 0;
}

/* Live on all seven pages - the listing count inside the meta badge. Not a
   leftover: check the rendered markup before ever removing this. */
.filter-float .filter-float-meta.filter-float-meta .filter-float-summary {
    color: var(--ink);
    font-size: 13px;
    max-width: 120px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.filter-float .filter-float-sep.filter-float-sep {
    flex-shrink: 0;
    width: 1px;
    height: 20px;
    background: var(--border);
}

.filter-float .filter-float-sort.filter-float-sort {
    -webkit-appearance: none;
    appearance: none;
    flex-shrink: 0;
    height: 30px;
    /* 28px on the right leaves room for the dropdown chevron. */
    padding: 0 28px 0 12px;
    font-family: inherit;
    font-size: 12px;
    cursor: pointer;
    outline: none;
    border-radius: 999px;          /* a pill inside a pill */
    border-width: 1.5px;
    border-style: solid;
    border-color: var(--border);
    color: var(--ink);
    background: var(--surf);
}

.filter-float .filter-float-sort.filter-float-sort:focus {
    border-color: var(--g);
}

/* The sort control is a .custom-dropdown, not a <select>, on every listing
   page. Its toggle is the third thing sitting inside the pill, so it gets the
   same treatment - otherwise one square corner remains. */
.filter-float .custom-dropdown-toggle {
    border-radius: 999px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CONTENT IMAGE LIGHTBOX  (includes/image_lightbox.php)
   ───────────────────────────────────────────────────────────────────────────
   The viewer that opens when a reader clicks an image inside written content -
   an article, a comment, a calculator project description. Content images are
   displayed capped at 750px but STORED at full size; this is how the reader
   gets the full size back.

   Not to be confused with the per-page photo GALLERY viewers (.lb-*, .adm-lb-*,
   .asv-lb-*), which have thumbnail strips and arrows and are a separate job.

   FIT mode    - the image is scaled down to sit inside the stage.
   ACTUAL mode - .is-actual removes every constraint so the image renders at
                 1:1 and the stage scrolls. The canvas centres with margin:auto
                 rather than justify-content, because a flex-centred child that
                 overflows becomes unreachable on its leading edge.
   ═══════════════════════════════════════════════════════════════════════════ */

.iml-zoomable { cursor: zoom-in; }

.iml-ov {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 4000;
    background: rgba(var(--p-black-1-rgb), 0.92);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}
.iml-ov.show { display: flex; flex-direction: column; }

.iml-bar {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    background: rgba(var(--p-black-1-rgb), 0.55);
    border-bottom: 1px solid rgba(var(--p-white-28-rgb), 0.14);
    color: var(--p-white-28);
}
.iml-bar-l, .iml-bar-r { display: flex; align-items: center; gap: 10px; min-width: 0; }
.iml-bar-ic { opacity: 0.7; flex-shrink: 0; }

.iml-name {
    font-size: 13px; font-weight: 600;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    max-width: 46vw;
}
.iml-dim {
    font-size: 12px;
    opacity: 0.7;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

.iml-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 13px;
    font-family: inherit; font-size: 12px; font-weight: 600; line-height: 1;
    text-decoration: none; white-space: nowrap; cursor: pointer;
    border: 1px solid rgba(var(--p-white-28-rgb), 0.22);
    border-radius: 999px;
    background: rgba(var(--p-white-28-rgb), 0.10);
    color: var(--p-white-28);
    transition: background 0.15s, border-color 0.15s;
}
.iml-btn:hover  { background: rgba(var(--p-white-28-rgb), 0.20); }
.iml-btn:focus-visible { outline: 2px solid var(--g); outline-offset: 2px; }
/* A true circle: equal width and height, contents centred, and no padding to
   make it oval. Was `padding: 7px 11px`, which is wider than it is tall. */
.iml-btn-x {
    width: 34px;
    height: 34px;
    padding: 0;
    justify-content: center;
    flex-shrink: 0;
}

.iml-stage {
    flex: 1 1 auto;
    overflow: auto;
    display: flex;
    padding: 16px;
    /* Momentum scrolling on touch, and no rubber-banding of the page behind. */
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

/* margin:auto, NOT justify-content:center. A flex child centred with
   justify-content that overflows its container cannot be scrolled back to on
   its leading edge - the left and top of a zoomed image become unreachable. */
.iml-canvas { margin: auto; }

.iml-img {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 100px);
    width: auto; height: auto;
    cursor: zoom-in;
    background: rgba(var(--p-white-28-rgb), 0.04);
}

/* 1:1. Every constraint removed so the browser renders the true pixels. */
.iml-ov.is-actual .iml-img {
    max-width: none;
    max-height: none;
    cursor: grab;
}
.iml-ov.is-actual .iml-img:active { cursor: grabbing; }

@media (max-width: 600px) {
    .iml-bar   { padding: 8px 10px; gap: 8px; }
    .iml-name  { max-width: 34vw; font-size: 12px; }
    .iml-dim   { display: none; }
    .iml-btn   { padding: 7px 10px; font-size: 11px; }
    .iml-btn span { display: none; }      /* icons only - the bar is narrow */
    /* With the labels hidden these are icon-only, so make them circles too. */
    .iml-btn   { width: 32px; height: 32px; padding: 0; justify-content: center; }
    .iml-btn-x { width: 32px; height: 32px; }
    .iml-stage { padding: 8px; }
    .iml-img   { max-height: calc(100vh - 80px); }
}

/* The THL.prompt() input. The dialog's own stylesheet in includes/listing_ui.php
   sets its geometry and deliberately declares no colour; colour lives here with
   the rest of the confirm dialog. */
#thl-confirm .thl-cf-input {
    background: var(--surf);
    color: var(--ink);
    border-color: var(--border);
}
#thl-confirm .thl-cf-input:focus {
    outline: none;
    border-color: var(--g);
}

/* ═══════════════════════════════════════════════════════════════════════════
   MODAL SHELLS, ALIASED ONTO TWO DEFINITIONS
   ───────────────────────────────────────────────────────────────────────────
   Fifteen *-modal class families across 36 files, each carrying its own copy
   of the same handful of declarations, and drifted:

       border-radius   var(--r) x9, 16px x3, 20px x1, 18px x1
       width           92% x7, 100% x4
       max-height      92vh x3, 90vh x3, 95vh x1
       box-shadow      explicitly refused in 8 places, present in 2

   They are NOT all one component, and pretending otherwise is how you get a
   scrolling panel with a dialog's padding. There are two:

     BOX    a small centred dialog - confirm, reject, a short form. Padding on
            the box itself, sized to its content.
              .adp .ao .ap .ase .asf .asp .ass .aw .vp

     PANEL  a taller sheet with its own scrolling body - promotions, reviews,
            freelancer history. No padding (its children own that), capped at
            92vh, flex column with overflow hidden so the body scrolls and the
            header and footer do not.
              .flr .mp .promo .rev

   max-width stays PER FAMILY below: 380px for a small confirm and 620px for a
   review sheet is a real difference, not drift.

   A NAME COLLISION WAS FOUND AND FIXED HERE. .mp-modal was used as TWO
   DIFFERENT COMPONENTS: a 440px padded box in users/user/my_purchases.php and
   a 560px scrolling panel in users/user/my_promotions.php. One class name,
   two shapes - so aliasing it onto either shell would have broken the other
   page. The purchases one is renamed .mpu-modal / .mpu-modal-overlay and joins
   the BOX group; promotions keeps .mp-modal as a PANEL. Same reasoning as
   renaming two same-named PHP functions whose bodies differ: a guard would
   have let whichever loaded first silently win.

   .cc-modal is deliberately excluded. It is the calculator's own full-screen
   working surface, not a dialog, and has nothing in common with either shape.

   Written .x-modal.x-modal so these beat the per-page copies still inlined in
   the page files, the same idiom the filter buttons already use in this file.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── BOX: a small centred dialog ─────────────────────────────────────────── */
.adp-modal.adp-modal,
.ao-modal.ao-modal,
.ap-modal.ap-modal,
.ase-modal.ase-modal,
.asf-modal.asf-modal,
.asp-modal.asp-modal,
.ass-modal.ass-modal,
.aw-modal.aw-modal,
.vp-modal.vp-modal,
.mpu-modal.mpu-modal {
    width: 92%;
    padding: 28px;
    border-radius: var(--r);
    border: 1px solid var(--border);
    background: var(--white);
    box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18);
    box-sizing: border-box;
}

/* ── PANEL: a taller sheet whose body scrolls ────────────────────────────── */
.flr-modal.flr-modal,
.mp-modal.mp-modal,
.promo-modal.promo-modal,
.rev-modal.rev-modal {
    width: 100%;
    padding: 0;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: var(--white);
    box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18);
    box-sizing: border-box;
}

/* ── The one thing that legitimately differs per family ──────────────────── */
.vp-modal.vp-modal    { max-width: 380px; }
.ao-modal.ao-modal,
.mpu-modal.mpu-modal  { max-width: 440px; }   /* renamed from .mp-modal - see note above */
.aw-modal.aw-modal    { max-width: 460px; }
.adp-modal.adp-modal,
.ase-modal.ase-modal,
.ass-modal.ass-modal  { max-width: 480px; }
.ap-modal.ap-modal,
.asf-modal.asf-modal,
.asp-modal.asp-modal  { max-width: 500px; }
.mp-modal.mp-modal,
.promo-modal.promo-modal { max-width: 560px; }
.flr-modal.flr-modal  { max-width: 596px; }
.rev-modal.rev-modal  { max-width: 620px; }

/* .ap-modal is the one BOX that can outgrow the viewport - it carries a long
   promotion form. It keeps its own scroll rather than being made a PANEL,
   because its padding belongs on the box. */
.ap-modal.ap-modal { max-height: 90vh; overflow-y: auto; }

/* ── Backdrops. Four families, same job: dim the page behind the modal. ──── */
.modal-overlay.modal-overlay,
.mpu-modal-overlay.mpu-modal-overlay,
.fh-overlay.fh-overlay,
.flr-overlay.flr-overlay,
.rp-overlay.rp-overlay {
    background: rgba(var(--p-black-1-rgb), 0.45);
}

/* ═══════════════════════════════════════════════════════════════════════════
   GALLERY LIGHTBOX SHELL, ALIASED ONTO ONE DEFINITION
   ───────────────────────────────────────────────────────────────────────────
   Seven prefixes for the same photo viewer - a dark full-screen surface with a
   title bar, prev/next arrows, a photo and a thumbnail strip:

       .lb-      7 public view pages       .asv-lb-  admin verifications
       .mp-lb-   7 user "my *" pages       .bs-lb-   become a seller
       .adm-lb-  7 admin seller pages      .cc-lb-   the calculator

   312 rules between them. Measured drift, and two of these were real:

     z-index      10000 on six families, but 2000 on the PUBLIC .lb one - which
                  put the visitor-facing gallery BELOW #pageload-overlay (8500)
                  and #thl-progress (9500), so it could be covered on exactly
                  the pages visitors use. Now 10000 everywhere.

     backdrop     rgba(--p-black-1-rgb, .96) on 15 rules but
                  rgba(--p-black-3-rgb, .96) on 6 - two different blacks behind
                  the same component. Now one.

     notation     0.4 vs .4, 0.08 vs .08 - identical values written two ways,
                  which is what makes a diff look like drift when it is not.

   .cc-lb keeps z-index 12000: the calculator stacks its own BOQ, plan and
   snapshot previews at 12000 and the viewer has to sit with them, not under
   them. That is a real difference, so it stays.

   THE JAVASCRIPT IS NOT UNIFIED HERE. There are two implementations behind
   these names - the public one and the user/admin one - about 85% alike, each
   with page-specific glue (thumbnail sync, gallery callbacks). Merging those
   into one component is a separate job across 21 files and is not something to
   fold into a styling change.
   ═══════════════════════════════════════════════════════════════════════════ */

.lb.lb,
.mp-lb.mp-lb,
.adm-lb.adm-lb,
.asv-lb.asv-lb,
.bs-lb.bs-lb,
#vp-lb {
    z-index: 10000;
    background: rgba(var(--p-black-1-rgb), 0.96);
}.lb-bar.lb-bar,
.mp-lb-bar.mp-lb-bar,
.adm-lb-bar.adm-lb-bar,
.asv-lb-bar.asv-lb-bar,
.bs-lb-bar.bs-lb-bar{
    border-bottom-color: rgba(var(--p-white-28-rgb), 0.07);
}.lb-arrow.lb-arrow,
.mp-lb-arrow.mp-lb-arrow,
.adm-lb-arrow.adm-lb-arrow,
.asv-lb-arrow.asv-lb-arrow,
.bs-lb-arrow.bs-lb-arrow{
    background: rgba(var(--p-white-28-rgb), 0.08);
    border-color: rgba(var(--p-white-28-rgb), 0.12);
    color: rgba(var(--p-white-28-rgb), 0.8);
}.lb-arrow.lb-arrow:hover,
.mp-lb-arrow.mp-lb-arrow:hover,
.adm-lb-arrow.adm-lb-arrow:hover,
.asv-lb-arrow.asv-lb-arrow:hover,
.bs-lb-arrow.bs-lb-arrow:hover{
    background: rgba(var(--p-white-28-rgb), 0.18);
    color: var(--p-white-28);
}.lb-th.lb-th,
.mp-lb-th.mp-lb-th,
.adm-lb-th.adm-lb-th,
.asv-lb-th.asv-lb-th,
.bs-lb-th.bs-lb-th{
    opacity: 0.4;
    border-color: transparent;
    transition: opacity 0.14s, border-color 0.14s;
}.lb-th.lb-th:hover,
.mp-lb-th.mp-lb-th:hover,
.adm-lb-th.adm-lb-th:hover,
.asv-lb-th.asv-lb-th:hover,
.bs-lb-th.bs-lb-th:hover{ opacity: 0.8; }.lb-th.lb-th.on,
.mp-lb-th.mp-lb-th.on,
.adm-lb-th.adm-lb-th.on,
.asv-lb-th.asv-lb-th.on,
.bs-lb-th.bs-lb-th.on{ opacity: 1; border-color: var(--g); }

/* ═══════════════════════════════════════════════════════════════════════════
   ERROR PAGE  (error.php, behind ErrorDocument 403/404/500)
   ───────────────────────────────────────────────────────────────────────────
   Deliberately self-contained: error.php does not include header.php, because
   a 500 can mean the database is down and the header opens a session and runs
   queries. An error page that itself errors is worse than none.
   ═══════════════════════════════════════════════════════════════════════════ */
.thl-err {
    min-height: 72vh;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center; padding: 40px 20px; gap: 6px;
}
.thl-err-code {
    font-size: clamp(64px, 14vw, 132px);
    font-weight: 800; line-height: 1;
    color: var(--border);
    letter-spacing: -0.02em;
}
.thl-err-title { font-size: clamp(20px, 4vw, 28px); font-weight: 700; margin: 4px 0 0; color: var(--ink); }
.thl-err-text  { font-size: 15px; line-height: 1.6; margin: 6px 0 22px; max-width: 460px; color: var(--sub); }
.thl-err-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.thl-err-btn {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 11px 20px;
    font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1;
    text-decoration: none; cursor: pointer;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--white);
    color: var(--ink);
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.thl-err-btn:hover { border-color: var(--g); color: var(--g); }
.thl-err-btn-primary { background: var(--g); border-color: var(--g); color: var(--white); }
.thl-err-btn-primary:hover { background: var(--g-dk); border-color: var(--g-dk); color: var(--white); }

/* ═══════════════════════════════════════════════════════════════════════════
   IMAGES INSIDE RICH CONTENT
   ───────────────────────────────────────────────────────────────────────────
   Since [image:N] was retired, a content image is a plain <img src> with no
   attributes of its own - matching the reference, where the size cap is CSS
   and never inline markup.

   Each container already caps its own images in its page styles
   (.vp-content-body 750px, .vp-disc-content 600px, .vp-reply-content 500px,
   .rte-view-content and .rte-editor 750px). This rule is the SAFETY NET on the
   shared .thl-rich-content hook: it means rich text rendered on some future
   page still gets a cap even if that page forgets to write one. Without it, an
   uncapped container would render a 4000px phone photo at full size, because
   uploads are no longer downscaled.

   Deliberately last-resort and low-specificity, so the per-container rules
   above still win where they exist.
   ═══════════════════════════════════════════════════════════════════════════ */
.thl-rich-content img {
    max-width: min(750px, 100%);
    width: auto;
    height: auto;
    margin: 8px 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   GALLERY ZOOM  (includes/gallery_zoom.php)
   ───────────────────────────────────────────────────────────────────────────
   "Actual size" for the six photo-gallery families. Uploads are no longer
   downscaled, so a listing photo can be far larger than the screen; this is how
   a visitor sees the real thing.

   .gz-actual is put on the gallery root. It removes every size constraint from
   that family's photo so the browser renders true pixels, and lets the stage
   scroll. The stage must NOT centre with justify-content while zoomed - a
   flex-centred child that overflows cannot be scrolled back to on its leading
   edge, so the top and left of the image become unreachable. margin:auto does
   centre and stay reachable.
   ═══════════════════════════════════════════════════════════════════════════ */
.gz-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px;
    font-family: inherit; font-size: 12px; font-weight: 600; line-height: 1;
    text-decoration: none; white-space: nowrap; cursor: pointer;
    border-width: 1px; border-style: solid;
    border-radius: 999px;
    background: rgba(var(--p-white-28-rgb), 0.10);
    border-color: rgba(var(--p-white-28-rgb), 0.22);
    color: var(--p-white-28);
    transition: background 0.15s, border-color 0.15s;
}
.gz-btn:hover { background: rgba(var(--p-white-28-rgb), 0.20); }
.gz-dim {
    font-size: 12px; white-space: nowrap;
    color: rgba(var(--p-white-28-rgb), 0.7);
    font-variant-numeric: tabular-nums;
}.gz-actual .lb-stage,
.gz-actual .mp-lb-stage,
.gz-actual .adm-lb-stage,
.gz-actual .asv-lb-stage,
.gz-actual .bs-lb-stage{
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    justify-content: flex-start;
    align-items: flex-start;
}.gz-actual .lb-photo,
.gz-actual .mp-lb-photo,
.gz-actual .adm-lb-photo,
.gz-actual .asv-lb-photo,
.gz-actual .bs-lb-photo{
    max-width: none;
    max-height: none;
    width: auto;
    height: auto;
    margin: auto;
    cursor: grab;
    object-fit: none;
}.gz-actual .lb-photo:active,
.gz-actual .mp-lb-photo:active,
.gz-actual .adm-lb-photo:active,
.gz-actual .asv-lb-photo:active,
.gz-actual .bs-lb-photo:active{ cursor: grabbing; }.gz-actual .lb-arrow,
.gz-actual .mp-lb-arrow,
.gz-actual .adm-lb-arrow,
.gz-actual .asv-lb-arrow,
.gz-actual .bs-lb-arrow{
    position: fixed;
}

@media (max-width: 600px) {
    .gz-btn span { display: none; }       /* icons only - the bar is narrow */
    .gz-btn      { padding: 6px 9px; }
    .gz-dim      { display: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   AVAILABILITY  (includes/availability.php)
   ───────────────────────────────────────────────────────────────────────────
   Seller-set, admin-overridable: is this listing still on offer?

   NOT the moderation status. A green "Available" badge is deliberately NOT
   shown - the badge exists to flag the exception, and one on every card is
   noise.

   IT IS A .cbadge. The markup carries both classes, so it inherits the size,
   weight, letter-spacing, uppercase and radius of the "For Sale" and "New"
   badges it sits beside, and only the colour is set here. An earlier version
   invented its own shape - 999px radius, 11px, sentence case, with an icon -
   and looked like a different site's badge dropped next to yours.
   ═══════════════════════════════════════════════════════════════════════════ */
/* THE ICON IS CENTRED BY FLEX, not by a margin nudge.
   .cbadge is inline text, so an <i> inside it sits on the text baseline and
   rides above the cap height of 9px uppercase letters. inline-flex with
   align-items:center centres the two against each other instead, and
   line-height:1 on both stops either carrying extra leading. */
.thl-avail.thl-avail {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    line-height: 1;
    vertical-align: middle;
}
.thl-avail.thl-avail i {
    font-size: 9px;
    line-height: 1;
    display: block;      /* no inline baseline of its own to sit on */
}

.thl-avail.thl-avail-ok   { background: var(--g);   color: var(--white); }
.thl-avail.thl-avail-warn { background: var(--amber); color: var(--white); }
.thl-avail.thl-avail-off  { background: var(--red);  color: var(--white); }

.thl-avail-note-txt {
    display: inline-block;
    margin-left: 8px;
    font-size: 12px;
    font-style: italic;
    color: var(--muted);
}

/* A card whose listing is no longer on offer reads as past-tense. */

/* ═══════════════════════════════════════════════════════════════════════════
   LISTING ACTION MODALS  (includes/listing_actions.php)
   ───────────────────────────────────────────────────────────────────────────
   The Edit and Availability modals behind a listing card. Details stays the
   page's own modal and is read-only.

   THE RADII MATCH THE REST OF THE SITE. Form controls here are 8px, which is
   what every other select, input and textarea on this site uses - including
   .custom-dropdown-toggle, which the dropdown enhancer wraps these in. The
   first version set 999px, the enhancer copied that onto the toggle it built,
   and a fully round dropdown appeared that matched nothing anywhere.

   THE CLOSE BUTTON MATCHES .mp-dm-close: neutral until hovered, then red. It
   is a close button, and green reads as confirm.
   ═══════════════════════════════════════════════════════════════════════════ */
.la-ov {
    display: none;
    position: fixed; inset: 0;
    z-index: 9700;
    align-items: center; justify-content: center;
    padding: 16px;
    background: rgba(var(--p-black-1-rgb), 0.45);
}
.la-ov.active { display: flex; }
/* This modal pads its own sections rather than the box, so the shared header
   must not pull itself outward. */
.la-modal { --thl-mp: 0px; }
.la-modal {
    width: 100%; max-width: 430px;
    max-height: 88vh;
    display: flex; flex-direction: column;
    overflow: hidden;
    border-width: 1px; border-style: solid;
    border-radius: 14px;
    background: var(--white);
    border-color: var(--border);
    box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), 0.18);
}
.la-title { font-size: 17px; font-weight: 800; line-height: 1.3; color: var(--ink); }
.la-sub {
    padding: 4px 0 0;
    font-size: 13px; line-height: 1.5;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    color: var(--muted);
}
.la-body { padding: 18px 22px 22px; overflow-y: auto; }

/* One action per row: icon, label, what it does. */
.la-row {
    display: flex; align-items: center; gap: 13px;
    width: 100%; box-sizing: border-box;
    padding: 13px 15px;
    margin-bottom: 10px;
    font-family: inherit; font-size: 14px; text-align: left;
    text-decoration: none; cursor: pointer;
    border-width: 1px; border-style: solid;
    border-radius: 10px;
    background: var(--white); border-color: var(--border); color: var(--ink);
    transition: border-color 0.15s, background 0.15s;
}
.la-row:last-child { margin-bottom: 0; }
.la-row:hover { border-color: var(--g); background: var(--surf); }
.la-row > i:first-child { width: 17px; font-size: 15px; flex-shrink: 0; color: var(--muted); }
.la-row:hover > i:first-child { color: var(--g); }
.la-row-t { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; font-weight: 600; }
.la-row-t em { font-style: normal; font-size: 12px; font-weight: 400; line-height: 1.45; color: var(--muted); }
.la-row-go { font-size: 11px; color: var(--muted); flex-shrink: 0; }
.la-row-danger { margin-top: 14px; border-color: var(--red-br, var(--border)); color: var(--red); }
.la-row-danger > i:first-child,
.la-row-danger .la-row-t em { color: var(--red); }
.la-row-danger:hover { background: var(--red-lt); border-color: var(--red); }
.la-row-danger:hover > i:first-child { color: var(--red); }

.la-lbl {
    display: block;
    margin: 0 0 7px;
    font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
    color: var(--muted);
}
.la-lbl + .custom-dropdown,
.la-select, .la-input { margin-bottom: 18px; }
.la-opt { font-weight: 400; text-transform: none; letter-spacing: 0; }
.la-select, .la-input {
    width: 100%; box-sizing: border-box;
    padding: 10px 13px;
    font-family: inherit; font-size: 14px; line-height: 1.4;
    border-width: 1px; border-style: solid;
    border-radius: 8px;                      /* the site standard - NOT 999px */
    background: var(--white); border-color: var(--border); color: var(--ink);
}
.la-select { cursor: pointer; }
.la-select:focus, .la-input:focus { outline: none; border-color: var(--g); }
.la-save {
    width: 100%; box-sizing: border-box;
    margin-top: 4px;
    padding: 12px 18px;
    font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1;
    cursor: pointer;
    border-width: 1px; border-style: solid;
    border-radius: 8px;
    background: var(--g); border-color: var(--g); color: var(--white);
    transition: background 0.15s;
}
.la-save:hover { background: var(--g-dk); border-color: var(--g-dk); }

/* The current availability, stated above the control so the state is readable
   at a glance instead of having to open the dropdown. */
.la-now {
    display: flex; align-items: center; flex-wrap: wrap; gap: 9px;
    margin: 14px 22px 0;
    padding: 11px 13px;
    border-width: 1px; border-style: solid;
    border-radius: 10px;
    background: var(--surf); border-color: var(--border);
}
.la-now-lbl {
    font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
    color: var(--muted);
}
.la-now-note { font-size: 12px; font-style: italic; line-height: 1.5; color: var(--sub); flex-basis: 100%; }

@media (max-width: 600px) {
    .la-modal { max-width: 100%; max-height: 92vh; }    .la-sub   { padding: 4px 16px 0; }
    .la-body  { padding: 14px 16px 16px; }
    .la-now   { margin: 12px 16px 0; }
    .la-row   { padding: 11px 12px; font-size: 13px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   EDIT AND AVAILABILITY BUTTON VARIANTS
   ───────────────────────────────────────────────────────────────────────────
   The admin pages already have .*-btn-details (violet), .*-btn-publish (green)
   and .*-btn-del (red), each a tinted background that fills on hover. The two
   new buttons follow the SAME pattern in colours not already taken, so a card's
   actions stay tellable apart at a glance and every one of them reacts to
   hover. Written per page scope because that is where this project keeps
   button colour.
   ═══════════════════════════════════════════════════════════════════════════ */
.thl-p-users-admin-admin-seller-properties  .asp-btn-edit,
.thl-p-users-admin-admin-seller-professions .asp-btn-edit,
.thl-p-users-admin-admin-seller-supplies    .ass-btn-edit,
.thl-p-users-admin-admin-seller-essentials  .ase-btn-edit,
.thl-p-users-admin-admin-seller-designs     .asv-btn-edit {
    background: var(--blue-lt);
    color: var(--blue);
    border-color: var(--blue);
}
.thl-p-users-admin-admin-seller-properties  .asp-btn-edit:hover,
.thl-p-users-admin-admin-seller-professions .asp-btn-edit:hover,
.thl-p-users-admin-admin-seller-supplies    .ass-btn-edit:hover,
.thl-p-users-admin-admin-seller-essentials  .ase-btn-edit:hover,
.thl-p-users-admin-admin-seller-designs     .asv-btn-edit:hover {
    background: var(--blue); color: var(--white); border-color: var(--blue);
}

.thl-p-users-admin-admin-seller-properties  .asp-btn-avail,
.thl-p-users-admin-admin-seller-professions .asp-btn-avail,
.thl-p-users-admin-admin-seller-supplies    .ass-btn-avail,
.thl-p-users-admin-admin-seller-essentials  .ase-btn-avail,
.thl-p-users-admin-admin-seller-designs     .asv-btn-avail {
    background: var(--amber-lt);
    color: var(--amber);
    border-color: var(--amber);
}
.thl-p-users-admin-admin-seller-properties  .asp-btn-avail:hover,
.thl-p-users-admin-admin-seller-professions .asp-btn-avail:hover,
.thl-p-users-admin-admin-seller-supplies    .ass-btn-avail:hover,
.thl-p-users-admin-admin-seller-essentials  .ase-btn-avail:hover,
.thl-p-users-admin-admin-seller-designs     .asv-btn-avail:hover {
    background: var(--amber); color: var(--white);
    border-color: var(--amber);
}

/* The delete button on an admin card carried an icon and no word, while every
   button beside it had a label. */
.thl-p-users-admin-admin-seller-properties  .asp-btn-del,
.thl-p-users-admin-admin-seller-professions .asp-btn-del,
.thl-p-users-admin-admin-seller-supplies    .ass-btn-del,
.thl-p-users-admin-admin-seller-essentials  .ase-btn-del,
.thl-p-users-admin-admin-seller-designs     .asv-btn-del { gap: 6px; }

/* The availability badge sits under the moderation status in the same cell.
   Two separate facts about a listing, stacked, with the column header saying
   STATUS / AVAILABILITY so nobody has to guess which is which. */
.thl-avail-wrap { margin-top: 5px; }

/* The availability badge on a seller's card, sitting under the moderation
   status badge that is overlaid on the photo. Same corner, so a seller reads
   both facts in one place. */
.thl-avail-card {
    position: absolute;
    top: 38px;
    left: 10px;
    z-index: 2;
}
.thl-avail-card .thl-avail {
    padding: 3px 8px;
    font-size: 10px;
    letter-spacing: 0.03em;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ADMIN ACTION MODALS — ONE SHELL FOR ALL OF THEM
   ───────────────────────────────────────────────────────────────────────────
   56 confirm/action modals across 20 files. Before: 56 had no close button, 44
   put the action before the way out, and 3 did the opposite - so the site
   disagreed with itself.

   THE HEADER IS MODELLED ON .adm-dm-header, the Details modal's header, which
   already looked right: title on the left, controls on the right, a rule
   underneath separating it from the body, and a 36px round close button that
   turns red on hover. The first attempt wrapped only the TITLE, leaving the
   sub-line outside the header - so the close button floated beside a single
   line with nothing under it and read as an afterthought. The sub-line now sits
   inside the header with the title, and the rule closes the whole block.

   Each modal keeps its own form, fields, action and CSRF token. .thl-modal-x
   reuses that modal's own dismiss handler; no JavaScript was renamed.
   ═══════════════════════════════════════════════════════════════════════════ */
/* THE HEADER IS THE DETAILS MODAL'S HEADER.
   .adm-dm-header already looked right and nobody complained about it: a tinted
   strip across the full width of the modal, title on the left, controls on the
   right, vertically centred, closed off by a rule. This is the same thing, and
   it is now the ONLY modal header on the site - the Edit and Availability
   modals used to carry their own .la-head, which is why they looked different.

   It bleeds to the edges with a negative margin, because every modal box on
   this site pads itself by 28px and a header that stops short of the edge reads
   as a paragraph, not a header. --thl-mp is that padding; a modal that pads
   differently sets its own (see .la-modal below). */
.thl-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin: calc(-1 * var(--thl-mp, 28px)) calc(-1 * var(--thl-mp, 28px)) 20px;
    padding: 18px 24px;
    background: var(--surf);
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: var(--border);
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
}
.thl-modal-head-l { flex: 1; min-width: 0; }
/* Title and sub carry their own margins from each page; inside the header the
   last one must not push against the rule. */
.thl-modal-head-l > *:last-child { margin-bottom: 0; }

/* 36px and 50%, the same as .adm-dm-close. */
.thl-modal-x {
    width: 36px; height: 36px;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    padding: 0;
    font-size: 14px; line-height: 1;
    cursor: pointer;
    border-width: 1px; border-style: solid;
    border-radius: 50%;
    background: var(--surface2, var(--white));
    border-color: var(--border);
    color: var(--muted);
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.thl-modal-x:hover { background: var(--red-lt); border-color: var(--red); color: var(--red); }

/* CANCEL FIRST, ACTION LAST, BOTH TO THE RIGHT, behind a rule so the footer
   reads as a footer rather than two buttons floating after a textarea. */
.thl-modal-foot {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
    padding-top: 16px;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: var(--border);
}
/* Several rows were written with flex:1 so the buttons filled the width. That
   fights the alignment above, so it is neutralised here rather than edited out
   of twenty files. */
.thl-modal-foot > button,
.thl-modal-foot > a { flex: 0 0 auto; }

@media (max-width: 520px) {
    /* Stacked, action on top where the thumb lands first, Cancel beneath it,
       both full width so neither is a small target. */
    .thl-modal-foot { flex-direction: column-reverse; align-items: stretch; }
    .thl-modal-foot > button,
    .thl-modal-foot > a { width: 100%; justify-content: center; }
    .thl-modal-head { padding-bottom: 12px; margin-bottom: 14px; }
}

.thl-modal-x-float { position: absolute; top: 12px; right: 12px; z-index: 2; }
.save-modal-box, .as-modal-box, .asv-modal-box,
.mnt-modal-box, .add-modal-box, .bk-modal-box, .del-modal-box { position: relative; }
.asv-del-modal-box, .fl-cmodal-box { position: relative; }

/* The shared delete modal puts its submit inside a nested <form>, so the form
   is a flex child of the footer and must not stretch. */
.thl-modal-foot > form { flex: 0 0 auto; margin: 0; }

/* ── REPORT AND SHARE: REBUILT, NOT PATCHED ──────────────────────────────────
   These two were fought with twice: first the header was told not to bleed and
   sat inset like a box inside a box; then it was made to bleed with a negative
   margin and squared corners, so its grey strip cut across the modal's rounded
   top and it read as two things stacked.

   Both were symptoms of the same thing - a padded box with a header trying to
   escape it. The box now carries NO padding. It holds exactly two children:
   the header, and a body that owns the content padding. Nothing pulls outward,
   nothing needs squaring off, and the header's top corners simply follow the
   box because they are the box's corners.

   This is how .adm-dm-* and .la-modal are built. Now these two are as well. */
/* .cm-box sets its own padding: 0 in includes/complaint_modal.php, because that
   block loads after this file and would win anyway. Only .share-box is set
   here - its geometry lives in this file. */
.share-box {
    padding: 0;
    /* NOT overflow:hidden. The reason dropdown inside the report modal would be
       clipped by it. The header inherits the box's top corners instead, which
       .thl-modal-head already does, so nothing needs clipping. */
}
.share-body { padding: 20px 24px 24px; }
/* No negative margin: the header is a direct child of an unpadded box. */
.cm-box .thl-modal-head, .share-box .thl-modal-head { margin: 0; }
.cm-head-left { display: flex; align-items: center; gap: 12px; }
.cm-head-left h3, .thl-modal-head-l h3 { margin: 0; }
.cm-head-left p { margin: 2px 0 0; }

/* ═══════════════════════════════════════════════════════════════════════════
   PAGE HEADER — ONE DEFINITION FOR EVERY PAGE
   ───────────────────────────────────────────────────────────────────────────
   43 pages carried a page header and 42 of them defined its geometry
   themselves, which is why they had drifted:

       align-items    center x36, flex-start x26
       gap            14px x34, 12px x8, 10px x6
       margin-bottom  24px x30, 20px x11, 16px, 22px
       border         only 5 of 43 had one at all

   The shape is the reference's, which uses the icon circle on ALL of its pages
   and has no flat variant anywhere - a rounded card with the page's icon in a
   circle, the heading and its line of description beside it.

   .page-header-left is retired. The 36 pages that used it had an <i> inside
   their <h1>; that icon was lifted into the circle rather than invented.
   ═══════════════════════════════════════════════════════════════════════════ */
.page-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 20px;
    margin-bottom: 16px;
    border-width: 1px;
    border-style: solid;
    border-radius: var(--r);
    background: var(--white);
    border-color: var(--border);
}
.page-header-icon {
    width: 48px; height: 48px;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    background: var(--g-lt);
}
.page-header-icon i { font-size: 20px; color: var(--g); }
.page-header-text { flex: 1; min-width: 0; }
.page-header-text h1 {
    font-size: 22px; font-weight: 800; line-height: 1.25;
    margin: 0 0 4px;
    color: var(--ink);
}
.page-header-text p {
    font-size: 13.5px; line-height: 1.55;
    margin: 0;
    color: var(--sub);
}
/* Some pages put a control on the right of the header. */
.page-header-right { flex-shrink: 0; display: flex; align-items: center; gap: 8px; }

@media (max-width: 600px) {
    .page-header      { padding: 14px 15px; gap: 11px; margin-bottom: 14px; }
    .page-header-icon { width: 42px; height: 42px; }
    .page-header-icon i { font-size: 17px; }
    .page-header-text h1 { font-size: 19px; }
    .page-header-text p  { font-size: 13px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PAGE SHELL — ONE SIDE MARGIN FOR THE WHOLE SITE
   ───────────────────────────────────────────────────────────────────────────
   Fourteen page wrappers each set their own width and padding, so the side
   margin jumped between 11, 12, 14 and 16px as you moved from page to page -
   most visible on a phone, where that gap is most of the screen's edge.

   ONE horizontal padding here. Change it once and every page follows.

   BOTTOM PADDING IS DELIBERATELY NOT SET. Clearance above the footer already
   comes from .thl-main { padding-bottom: 20px }, one level up. The shells that
   added 40px, 46px, 32px or 12px of their own were stacking a second helping on
   top of it. The reference does the same: its wrappers carry sides only.

   MAX-WIDTH IS NOT UNIFORM, on purpose. 780px for a checkout column and 1100px
   for an account form are reading-width decisions, not drift, so each keeps its
   own below.
   ═══════════════════════════════════════════════════════════════════════════ */
.tos-wrap, .prv-wrap, .calc-wrap, .comm-outer, .ac-wrap, .ep-wrap,
.pc-wrap, .vp-wrap, .ess-wrap, .jobs-wrap, .ap-wrap, .profs-wrap, .supplies-wrap,
/* .props-wrap carries properties AND designs. It was written as
   .props-wrap.props-wrap - the doubled form - so the first sweep, which matched
   single-class selectors only, walked straight past it and left two of the
   busiest pages out of the family. */
.props-wrap {
    width: 100%;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    padding-left: 11px;
    padding-right: 11px;
}

/* The one thing that legitimately differs. */
.tos-wrap, .prv-wrap, .calc-wrap, .comm-outer, .vp-wrap,
.ess-wrap, .jobs-wrap, .profs-wrap, .supplies-wrap, .props-wrap { max-width: 1400px; }
.ac-wrap, .ep-wrap, .ap-wrap                       { max-width: 1100px; }
.pc-wrap                                           { max-width: 780px; }

@media (max-width: 600px) {
    /* Tighter on a phone, still one value for every page. */
    .tos-wrap, .prv-wrap, .calc-wrap, .comm-outer, .ac-wrap, .ep-wrap,
    .pc-wrap, .vp-wrap, .ess-wrap, .jobs-wrap, .ap-wrap, .profs-wrap, .supplies-wrap,
    .props-wrap {
        padding-left: 8px;
        padding-right: 8px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   HONEYPOT  (includes/spam_guard.php)
   ───────────────────────────────────────────────────────────────────────────
   A field a person never sees and never fills; a bot that fills every input it
   finds gives itself away. Hidden here rather than with an inline style so it
   is not obvious in the markup, and taken out of the tab order and the
   accessibility tree so a keyboard or screen-reader user never lands on it.

   NOT display:none alone - some bots skip those. Positioned away instead.
   ═══════════════════════════════════════════════════════════════════════════ */
.thl-hp {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   IMAGE DESCRIPTION POPUP  (includes/rich_editor_component.php)
   ───────────────────────────────────────────────────────────────────────────
   Colour only. The geometry lives with the other editor popups in the
   component, so the whole toolbar family stays in one place.
   ═══════════════════════════════════════════════════════════════════════════ */
.rte-imgdesc-popup .id-hint { color: var(--muted); }
.rte-imgdesc-popup .id-file      { background: var(--surf); border-color: var(--border); }
.rte-imgdesc-popup .id-file-thumb{ background: var(--white); }
.rte-imgdesc-popup .id-file-name { color: var(--ink); }
.rte-imgdesc-popup .id-file-dims,
.rte-imgdesc-popup .id-file-size { color: var(--muted); }
.rte-imgdesc-popup .id-file-replace { color: var(--blue); }

/* ═══════════════════════════════════════════════════════════════════════════
   VERIFICATION NAME-MATCH BADGES  (users/admin/admin_seller_verifications.php)
   ───────────────────────────────────────────────────────────────────────────
   RESTORED. These were deleted as dead because the class name never appears
   as a literal in any file - it is built at runtime from the match result -
   so a search of the markup found nothing. They render on the verifications
   page and the badges lost their colour. A class absent from the markup is
   not proof it is unused.
   ═══════════════════════════════════════════════════════════════════════════ */
.thl-p-users-admin-admin-seller-verifications .asv-nm-match { color: var(--g-dk); }
.thl-p-users-admin-admin-seller-verifications .asv-nm-partial { color: var(--gold); }
.thl-p-users-admin-admin-seller-verifications .asv-nm-mismatch { color: var(--red); }
.thl-p-users-admin-admin-seller-verifications .asv-nm-unknown { color: var(--muted); }

/* The active page tab, on every page that now carries the row. */
.thl-p-community .ap-page-tab.active,
.thl-p-users-user-my-posts .ap-page-tab.active,
.thl-p-users-admin-admin-posts .ap-page-tab.active { color: var(--g-dk); border-bottom-color: var(--g); }



/* ═══════════════════════════════════════════════════════════════════════════
   RESTORED — CALCULATOR, EDITOR, LIGHTBOX AND RICH-EDITOR RULES
   ───────────────────────────────────────────────────────────────────────────
   These were deleted by a dead-code sweep that decided a class was unused if
   its name did not appear as a literal in any PHP file. The calculator builds
   almost its entire DOM in JavaScript, so none of its class names appear that
   way - and 117 of them were removed, which killed the hovers, borders and
   backgrounds on that page.
   A class absent from the markup is NOT proof that it is unused.
   ═══════════════════════════════════════════════════════════════════════════ */
.thl-p-calculator-pages-construction-cost-calculator .cc-denied-card { background: var(--white); border-color: var(--border); box-shadow: 0 10px 40px rgba(var(--p-blue-4-rgb), .06); }
.thl-p-calculator-pages-construction-cost-calculator .cc-denied-ic.priv { background: var(--p-grey-48); color:var(--p-blue-21); }
.thl-p-calculator-pages-construction-cost-calculator .cc-denied-ic.nf { background: var(--red-lt); color:var(--error); }
.thl-p-calculator-pages-construction-cost-calculator .cc-denied-card h1 { color:var(--ink-2); }
.thl-p-calculator-pages-construction-cost-calculator .cc-denied-card p { color:var(--p-blue-34); }
.thl-p-calculator-pages-construction-cost-calculator .cc-denied-btn.primary { background: var(--g); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-denied-btn.primary:hover { background: var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .cc-denied-btn.ghost { background: var(--surf); color:var(--p-blue-19); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-denied-btn.ghost:hover { background: var(--surface2); }
.thl-p-calculator-pages-construction-cost-calculator .cc-guest-note { background: var(--g-lt,var(--g-lt)); border-color: var(--border); border-left-color: var(--g,var(--g)); color:var(--p-green-9); }
.thl-p-calculator-pages-construction-cost-calculator .cc-guest-note > i { color:var(--g,var(--g)); }
.thl-p-calculator-pages-construction-cost-calculator .cc-gn-btn { border-color: var(--g,var(--g)); color:var(--g-dk,var(--g-dk)); background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-gn-btn:hover { background: var(--g-lt,var(--g-lt)); }
.thl-p-calculator-pages-construction-cost-calculator .cc-gn-primary { background: var(--g,var(--g)); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-gn-primary:hover { background: var(--g-dk,var(--g-dk)); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-badge { background: var(--g-lt); color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .cc-h1 { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-lead { color:var(--sub); }
.thl-p-calculator-pages-construction-cost-calculator .cc-card { background: var(--white); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-card::before { background: linear-gradient(90deg,var(--g),var(--g-vivid)); }
.thl-p-calculator-pages-construction-cost-calculator .cc-card-head { border-bottom-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-step { background: var(--g-lt); color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .cc-card-title { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-card-sub { color:var(--sub); }
.thl-p-calculator-pages-construction-cost-calculator .cc-label { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-inp { border-color: var(--border); color:var(--ink); background: var(--surface); }
.thl-p-calculator-pages-construction-cost-calculator .cc-inp:focus { border-color: var(--g); background: var(--white); box-shadow: 0 0 0 3px rgba(var(--g-rgb), 0.1); }
.thl-p-calculator-pages-construction-cost-calculator .cc-sec-title { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-sec-title i { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .cc-tab { border-color: var(--border); background: var(--white); color:var(--sub); }
.thl-p-calculator-pages-construction-cost-calculator .cc-tab:hover { border-color: var(--g); color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .cc-tab.on { background: var(--g); border-color: var(--g); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-tbl th { color:var(--muted); border-bottom-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-tbl td { border-bottom-color: var(--border); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-rate-inp { border-color: var(--border); background: var(--surface); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-rate-inp:focus { border-color: var(--g); background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-rate-ro:hover { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .cc-tbl tfoot td { color:var(--ink); border-top-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-tbl tfoot .amt { color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .cc-sec-hdr td { background: linear-gradient(180deg,var(--p-green-21),var(--p-green-19)); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-sec-hdr .num { color:rgba(var(--p-white-28-rgb), .92); }
.thl-p-calculator-pages-construction-cost-calculator .cc-proj-global td { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-abs { border-color: var(--eline,var(--p-grey-35)); background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-abs-head:hover { background: var(--ehover,var(--p-grey-81)); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-abs-chev { color:var(--eacc,var(--g)); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-abs-title { color:var(--eink,var(--p-blue-9)); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-abs-title i { color:var(--eacc,var(--g)); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-abs-htot { color:var(--emut,var(--p-blue-36)); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-abs-htot strong { color:var(--eacc2,var(--g-dk)); }
.thl-p-calculator-pages-construction-cost-calculator .cc-cap-row:not(.cc-nocalc):hover { background: var(--p-grey-76); }
.thl-p-calculator-pages-construction-cost-calculator .cc-cap-row.open { background: var(--p-grey-62); }
.thl-p-calculator-pages-construction-cost-calculator .cc-cap-row.open td { border-bottom-color: transparent; }
.thl-p-calculator-pages-construction-cost-calculator .cc-chev { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .cc-amt { color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .cc-u { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .cc-cal td { background: transparent; }
.thl-p-calculator-pages-construction-cost-calculator .cc-calc { background: linear-gradient(180deg,var(--p-white-24),var(--p-grey-71)); border-color: var(--p-grey-36); border-left-color: var(--g); box-shadow: 0 1px 3px rgba(var(--p-green-3-rgb), .05); }
.thl-p-calculator-pages-construction-cost-calculator .cc-calc-h { color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .cc-totals { border-color: var(--border); box-shadow: 0 1px 3px rgba(var(--p-green-3-rgb), .05); }
.thl-p-calculator-pages-construction-cost-calculator .cc-tot-row { border-bottom-color: var(--p-grey-44); background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-tot-row.cc-grand { background: linear-gradient(180deg,var(--p-green-19),var(--p-green-13)); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-boq-grand { color:var(--muted); background: var(--p-grey-72); border-color: var(--border,var(--p-grey-36)); }
.thl-p-calculator-pages-construction-cost-calculator .cc-boq-grand strong { color:var(--eacc,var(--p-green-13)); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pct { border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-info { border-color: var(--border); background: var(--p-white-9); color:var(--p-blue-32); }
.thl-p-calculator-pages-construction-cost-calculator .cc-info:hover { background: var(--p-blue-31); color:var(--white); border-color: var(--p-blue-31); }
.thl-p-calculator-pages-construction-cost-calculator .cc-tipbox { background: var(--white); color:var(--p-blue-31); box-shadow: 0 10px 28px rgba(var(--p-blue-12-rgb), .16); border-color: var(--p-grey-23); }
.thl-p-calculator-pages-construction-cost-calculator .cc-tipbox .cc-tip-rng { border-top-color: var(--p-grey-27); color:var(--p-blue-32); background: var(--p-white-8); }
.thl-p-calculator-pages-construction-cost-calculator .cc-grp-hdr:hover { background: var(--p-grey-67); }
.thl-p-calculator-pages-construction-cost-calculator .cc-grp-hdr .cc-chev { color:var(--p-blue-32); }
.thl-p-calculator-pages-construction-cost-calculator .cc-grp-hdr .num { color:var(--p-blue-18); }
.thl-p-calculator-pages-construction-cost-calculator .cc-grp-row { background: var(--p-white-13); }
.thl-p-calculator-pages-construction-cost-calculator .cc-grp-row > span:first-child { color:var(--p-blue-16); }
.thl-p-calculator-pages-construction-cost-calculator .cc-grp-row .num { color:var(--p-blue-22); }
.thl-p-calculator-pages-construction-cost-calculator .cc-fx-cur { color:var(--p-blue-42); }
.thl-p-calculator-pages-construction-cost-calculator .cc-fx { border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-tot-row.cc-cc-sub { background: var(--p-grey-53); color:var(--p-blue-14); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx { background: var(--white); border-color: var(--border); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-fly { background: var(--white); border-color: var(--border); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-row:hover { background: var(--p-grey-61); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-row.dis { color:var(--p-grey-15); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-row.dis:hover { background: transparent; }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-row.danger { color:var(--p-red-12); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-row.danger:hover { background: var(--p-red-25); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-row.dis.danger { color:var(--p-red-20); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-ic { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-row.danger .cc-ctx-ic { color:var(--p-red-12); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-row.dis .cc-ctx-ic { color:var(--p-grey-21); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-row.dis.danger .cc-ctx-ic { color:var(--p-red-20); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-arr { color:var(--p-blue-45); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-cnt { background: var(--p-grey-47); color:var(--sub); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-hd { color:var(--p-blue-45); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-sep { background: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-ctx-empty { color:var(--p-blue-45); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-card-head { border-bottom-color: var(--eline); background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-step { background: var(--esoft); color:var(--eacc2); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-card-title { color:var(--eink); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-card-sub { color:var(--emut); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-sec-title { color:var(--eink); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-sec-title i { color:var(--eacc); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-tbl-wrap { border-color: var(--eline); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-tbl th { background: var(--p-white-18); color:var(--emut); border-bottom-color: var(--eline); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-tbl td { border-bottom-color: var(--eline); color:var(--eink); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-sec-hdr td { background: var(--esoft); color:var(--eacc2); border-top-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-lvl-hdr td { background: var(--g); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-sec-hdr .num { color:var(--eacc2); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-cap-row:not(.cc-nocalc):hover { background: var(--ehover); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-cap-row.open { background: var(--ehover); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-cap-row.open td { border-bottom-color: transparent; }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-mat-l { color:var(--eink); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-u { color:var(--emut); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-amt { color:var(--eacc2); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-rate-ro { color:var(--emut); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-rate-ro:hover { color:var(--eacc2); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-chev { color:var(--eacc); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-tbl tfoot td { border-top-color: var(--eink); color:var(--eink); background: var(--p-white-18); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-tbl tfoot .amt { color:var(--eacc2); }
.thl-p-calculator-pages-construction-cost-calculator .cc-calc-toggle { color:var(--white); background: var(--g,var(--g)); }
.thl-p-calculator-pages-construction-cost-calculator .cc-calc-toggle:hover { background: var(--g-dk,var(--g-dk)); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-calc-toggle .cc-chev { color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-cap-row:not(.cc-nocalc):hover { background: var(--ehover); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-calc { background: var(--p-grey-79); border-color: var(--eline); border-left-color: var(--eacc); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-calc-h { color:var(--eacc2); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-totals { border-color: var(--eline); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-tot-row { border-bottom-color: var(--eline); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-tot-row.cc-grand { background: var(--eacc); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-tot-row.cc-grand .num { color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-pct, .thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-fx { border-color: var(--eline); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-pct:focus, .thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-fx:focus { border-color: var(--eacc); }
.thl-p-calculator-pages-construction-cost-calculator #edEstCard .cc-proj-global td { color:var(--emut); }
.thl-p-calculator-pages-construction-cost-calculator .cc-est-btn { border-color: var(--border); background: var(--white); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-est-btn:hover { border-color: var(--g); color:var(--g-dk); background: var(--p-grey-76); }
.thl-p-calculator-pages-construction-cost-calculator .cc-btn-green { background: var(--g); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-btn-green:hover { background: var(--g-dk); box-shadow: 0 4px 14px rgba(var(--g-rgb), .3); }
.thl-p-calculator-pages-construction-cost-calculator .cc-name-err { color:var(--p-red-10); }
.thl-p-calculator-pages-construction-cost-calculator .cc-name-count { color:var(--p-blue-40); }
.thl-p-calculator-pages-construction-cost-calculator .cc-name-count.over { color:var(--p-red-10); }
.thl-p-calculator-pages-construction-cost-calculator .cc-boq-proj { color:var(--emut,var(--p-blue-36)); }
.thl-p-calculator-pages-construction-cost-calculator .cc-boq-proj > i { color:var(--eacc,var(--g)); }
.thl-p-calculator-pages-construction-cost-calculator .cc-modal-bg { background: rgba(var(--p-grey-3-rgb), .45); }
.thl-p-calculator-pages-construction-cost-calculator .cc-modal-card { background: var(--white); box-shadow: 0 20px 60px rgba(var(--p-black-1-rgb), .22); }
.thl-p-calculator-pages-construction-cost-calculator .cc-modal-h3 { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-comp-tabs { background: var(--white); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-comp-tab { color: var(--muted); border-color: transparent; }
.thl-p-calculator-pages-construction-cost-calculator .cc-comp-tab:hover { color: var(--ink); background: var(--border-3); }
.thl-p-calculator-pages-construction-cost-calculator .cc-comp-tab.on { background: var(--surface2); color: var(--ink); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-comp-tab.on i { color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .cc-comp-tab .s-tab-count { background: var(--surface2); color:var(--muted); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-comp-tab.on .s-tab-count { background: var(--g); color:var(--white); border-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .cc-comp-card { border-color: var(--border); background: var(--white); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-comp-card:hover { border-color: var(--g); background: var(--surf); }
.thl-p-calculator-pages-construction-cost-calculator .cc-comp-card i { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .cc-comp-card .cp-meta { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-status { background: var(--surf); border-top-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-status-r { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-status-r b { color:var(--ink); font-weight:700; }
.thl-p-calculator-pages-construction-cost-calculator .ed-status-r .st-sep, .thl-p-calculator-pages-construction-cost-calculator .ed-metrics .st-sep { background: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-metrics, .thl-p-calculator-pages-construction-cost-calculator .ed-copy { border-left-color: var(--border); color:var(--sub); }
.thl-p-calculator-pages-construction-cost-calculator .ed-prop-note { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .cc-help, .thl-p-calculator-pages-construction-cost-calculator .modal-sub { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .ed-m i { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .ed-copy > i { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qat { background: var(--surf); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qat-btn { color:var(--sub); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qat-btn:hover { background: var(--white); color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .ed-qat-sep { background: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .st-costbadge { background: var(--amber-bglt); color:var(--warn); }
.thl-p-calculator-pages-construction-cost-calculator .cc-scope-note { background: var(--amber-bglt); color:var(--warn); }
.thl-p-calculator-pages-construction-cost-calculator .cc-scope-note a { color:var(--warn); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tab-ctx { color:var(--g-dk); background: var(--p-grey-49); border-radius:6px 6px 0 0; }
.thl-p-calculator-pages-construction-cost-calculator .rb-tab-ctx.on { color:var(--white); background: var(--g); }
/* The type control in Modify is a split tile like any other: no border of its own at rest, the
   whole control (label half AND caret half) responding together on hover and while its menu is
   open. It used to carry a permanent border and background, so it read as a different component
   sitting next to the caret, which had none. */
.thl-p-calculator-pages-construction-cost-calculator .rb-ctx-type { border-color: transparent; color:var(--ink); background: none; }
.thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap:hover .rb-ctx-type { background: rgba(var(--g-rgb), 0.045); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap .rb-ctx-type:hover { background: var(--p-grey-69); }
.thl-p-calculator-pages-construction-cost-calculator div.rb-ctx-type { border-color: var(--border); background: var(--surf); }   /* not a button: no menu, so it keeps a quiet outline */
/* Split tiles share the tile family exactly: same hover green (--p-grey-69) on the half you are
   over, a lighter tint on its partner so the pair reads as one control, and the same active green
   (--p-grey-49 / --g-dk) while the menu is open. The separator shows only then. */
.thl-p-calculator-pages-construction-cost-calculator .rb-group { border-right-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .rb-group-lbl { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tile-caret { border-color: transparent; color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap:hover .rb-tile, .thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap:hover .rb-tile-caret { background: rgba(var(--g-rgb), 0.045); border-color: var(--border); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .rb-wrap-sm:hover .rb-tile-caret { border-left-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .rb-wrap-lg:hover .rb-tile-caret { border-top-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap .rb-tile:hover, .thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap .rb-tile-caret:hover { background: var(--p-grey-69); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap.popup-open .rb-tile, .thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap.popup-open .rb-tile-caret,
.thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap:has(> .rb-tile.on) .rb-tile, .thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap:has(> .rb-tile.on) .rb-tile-caret { background: var(--p-grey-49); border-color: var(--border); color:var(--g-dk); }

.thl-p-calculator-pages-construction-cost-calculator .rb-wrap-sm.popup-open .rb-tile-caret, .thl-p-calculator-pages-construction-cost-calculator .rb-wrap-sm:has(> .rb-tile.on) .rb-tile-caret { border-left-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .rb-wrap-lg.popup-open .rb-tile-caret, .thl-p-calculator-pages-construction-cost-calculator .rb-wrap-lg:has(> .rb-tile.on) .rb-tile-caret { border-top-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap.popup-open .rb-tile i, .thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap.popup-open .rb-tile-caret i,
.thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap:has(> .rb-tile.on) .rb-tile i, .thl-p-calculator-pages-construction-cost-calculator .rb-tile-wrap:has(> .rb-tile.on) .rb-tile-caret i { color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .cc-type-menu { background: var(--white); border-color: var(--border); box-shadow: 0 10px 30px rgba(var(--p-black-1-rgb), .14); }
.thl-p-calculator-pages-construction-cost-calculator .cc-type-menu .tm-fam { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .cc-type-menu .tm-item { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-type-menu .tm-item:hover { background: var(--surface2); }
.thl-p-calculator-pages-construction-cost-calculator .cc-type-menu .tm-item.on { background: var(--p-grey-47); font-weight:800; }   /* identical to .ed-fdd-opt.on */
.thl-p-calculator-pages-construction-cost-calculator .cc-type-menu .tm-item .tm-rate { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .cc-type-menu .tm-new { border-top-color: var(--border); color:var(--g-dk); }
.thl-p-calculator-pages-construction-cost-calculator .cc-palette-item { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-palette-item i { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .cc-palette-item .pl-where { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .cc-palette-item:hover { background: var(--surface2); }
.thl-p-calculator-pages-construction-cost-calculator .cc-palette-item.on { background: rgba(var(--p-blue-28-rgb), 0.1); color:var(--blue); }
.thl-p-calculator-pages-construction-cost-calculator .cc-modal-h3 i { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .cc-dd-btn .fa-chevron-down { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .cc-dd-menu { background: var(--white); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-dd-opt { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-dd-opt:hover { background: var(--p-grey-61); }
.thl-p-calculator-pages-construction-cost-calculator .cc-dd-opt.on { background: var(--p-grey-47); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-banner { background: var(--p-black-8); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-zoom { background: rgba(var(--p-black-1-rgb), .55); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-zoom:hover { background: rgba(var(--p-black-1-rgb), .8); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-owner { color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-cost { color:var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-badge.pub { color:var(--p-green-12); background: var(--p-grey-55); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-badge.priv { color:var(--p-blue-34); background: var(--surface2); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-dates { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-desc { border-top-color: var(--border); color:var(--ink); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-desc blockquote { border-left-color: var(--g); background: var(--g-lt,var(--p-grey-68)); color:var(--sub,var(--p-blue-30)); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-desc a { color:var(--p-blue-5); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-desc hr { border-top-color: var(--p-blue-34); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-desc table th, .thl-p-calculator-pages-construction-cost-calculator .cc-pi-desc table td { border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-desc table th { background: var(--surf,var(--p-grey-70)); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-desc .quotation { border-color: var(--p-grey-20); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-desc .warning { border-color: var(--red); background: rgba(var(--p-red-5-rgb), .1); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-desc .highlight { border-color: gold; background: rgba(var(--p-amber-1-rgb), .3); }
.thl-p-calculator-pages-construction-cost-calculator .cc-pi-empty { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .cc-lb { background: rgba(var(--p-black-3-rgb), .96); }
.thl-p-calculator-pages-construction-cost-calculator .cc-lb-bar { border-bottom-color: rgba(var(--p-white-28-rgb), .07); }
.thl-p-calculator-pages-construction-cost-calculator .cc-lb-title { color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-calculator-pages-construction-cost-calculator .cc-lb-x { background: rgba(var(--p-white-28-rgb), .08); border-color: rgba(var(--p-white-28-rgb), .12); color:rgba(var(--p-white-28-rgb), .7); }
.thl-p-calculator-pages-construction-cost-calculator .cc-lb-x:hover { background: rgba(var(--p-white-28-rgb), .2); color:var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-check { color:var(--ink); border-color: var(--border); background: var(--surface); }
.thl-p-calculator-pages-construction-cost-calculator .cc-check:hover { border-color: var(--border); background: var(--p-grey-61); }
.thl-p-calculator-pages-construction-cost-calculator .cc-check input { accent-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .cc-color { border-color: var(--border); background: var(--white); }
.thl-p-calculator-pages-construction-cost-calculator .cc-color:hover { border-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .cc-sub-h { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .cc-xsec { background: var(--p-white-19); border-color: var(--border); }
.thl-p-calculator-pages-construction-cost-calculator .cc-xsec-h { color:var(--muted); }
.thl-p-calculator-pages-construction-cost-calculator .cc-sw { border-color: rgba(var(--p-black-1-rgb), .16); }
.thl-p-calculator-pages-construction-cost-calculator .cc-sw.sel { outline-color: var(--g); }
.thl-p-calculator-pages-construction-cost-calculator .cc-sw.sel::after { color:var(--white); text-shadow: 0 1px 2px rgba(var(--p-black-1-rgb), .55); }
.thl-p-calculator-pages-construction-cost-calculator .cc-legend .it { color:var(--sub); }
.thl-p-calculator-pages-construction-cost-calculator .cc-legend .sw { border-color: rgba(var(--p-black-1-rgb), .15); }
.thl-p-calculator-pages-construction-cost-calculator .cc-scope-note { background: linear-gradient(180deg,var(--amber-lt),var(--p-amber-6)); border-color: var(--warn); border-left-color: var(--p-orange-21); }
.thl-p-calculator-pages-construction-cost-calculator .cc-scope-h { color:var(--p-orange-8); }
.thl-p-calculator-pages-construction-cost-calculator .cc-scope-p { color:var(--p-orange-6); }
.thl-p-calculator-pages-construction-cost-calculator .cc-scope-p strong { color:var(--p-orange-3); }
.thl-p-calculator-pages-construction-cost-calculator .cc-scope-cta { border-top-color: var(--warn); color:var(--p-orange-3); }
.thl-p-calculator-pages-construction-cost-calculator .cc-scope-btn-pro { color:var(--white); background: var(--p-orange-21); }
.thl-p-calculator-pages-construction-cost-calculator .cc-scope-btn-pro:hover { background: var(--p-orange-16); }
.thl-p-calculator-pages-construction-cost-calculator .cc-scope-btn-free { color:var(--p-orange-8); background: var(--white); border-color: var(--p-orange-21); }
.thl-p-calculator-pages-construction-cost-calculator .cc-scope-btn-free:hover { background: var(--p-orange-28); }
.thl-p-professional-pages-view-professional .cc-owner-banner { background: linear-gradient(120deg, var(--g-lt) 0%, var(--p-grey-82) 100%); border-bottom-color: var(--border); }
.thl-p-professional-pages-view-professional .cc-owner-banner-strip { background: linear-gradient(90deg, var(--g), var(--g-dk), var(--g)); }
.thl-p-professional-pages-view-professional .cc-owner-av { border-color: var(--white); box-shadow: 0 3px 12px rgba(var(--p-black-1-rgb), .15); }
.thl-p-professional-pages-view-professional .cc-verified-dot { background: var(--g); border-color: var(--white); }
.thl-p-professional-pages-view-professional .cc-verified-dot i { color:var(--white); }
.thl-p-professional-pages-view-professional .cc-owner-name { color:var(--ink); }
.thl-p-professional-pages-view-professional .cc-owner-name:hover { color:var(--blue); }
.thl-p-professional-pages-view-professional .cc-owner-role { color:var(--muted); }
.thl-p-professional-pages-view-professional .cc-owner-role .v { color:var(--g); }
.thl-p-users-user-my-calculator-projects .cc-drop { border-color: var(--border); background: var(--surf,var(--p-white-7)); }
.thl-p-users-user-my-calculator-projects .cc-drop:hover, .thl-p-users-user-my-calculator-projects .cc-drop.dragover { border-color: var(--g); background: var(--g-lt,var(--p-grey-68)); }
.thl-p-users-user-my-calculator-projects .cc-drop-icon { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .cc-drop:hover .cc-drop-icon { color:var(--g); }
.thl-p-users-user-my-calculator-projects .cc-drop-title { color:var(--ink); }
.thl-p-users-user-my-calculator-projects .cc-drop-sub { color:var(--muted); }
.thl-p-users-user-my-calculator-projects .cc-progress { background: var(--border); }
.thl-p-users-user-my-calculator-projects .cc-progress-bar { background: var(--g); }
.thl-p-users-user-my-calculator-projects .cc-drop-err { color:var(--red,var(--error)); }
.thl-p-calculator-pages-construction-cost-calculator .cc-app { --hov: var(--p-blue-39); --new: var(--amber); --sel: var(--blue); --wall-line: var(--p-black-6); }
.cc-toast.cc-toast { border-color: var(--border); }


/* .cm-head - still rendered by the complaint modal. */
.cm-head h3 { color:var(--p-grey-1); }
.cm-head p { color:var(--p-grey-9); }
