
/* v7.43.193 — Tsukount design tokens
   Core = dark/light surfaces. Brand = company accents only.
   Components should consume tokens, not duplicate per-company CSS. */
@layer tokens {
  :root {
    --ts-radius-sm: 10px;
    --ts-radius-md: 14px;
    --ts-radius-lg: 18px;
    --ts-radius-xl: 24px;
    --ts-space-1: 4px;
    --ts-space-2: 8px;
    --ts-space-3: 12px;
    --ts-space-4: 16px;
    --ts-space-5: 24px;
    --ts-font-ui: Poppins, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  body[data-appearance="dark"],
  body:not([data-appearance]) {
    --ts-bg: #0b0c0f;
    --ts-bg-2: #111318;
    --ts-surface: #15171d;
    --ts-surface-2: #1b1f27;
    --ts-text: #f4f4f5;
    --ts-muted: rgba(244,244,245,.68);
    --ts-muted-2: rgba(244,244,245,.44);
    --ts-line: rgba(255,255,255,.12);
    --ts-shadow: 0 24px 70px rgba(0,0,0,.28);
    /* Variables aliases — définis ici pour éviter les fallbacks silencieux */
    --brand: var(--ts-accent);
    --brand-glow: rgba(139,92,246,.3);
    --brand-primary: var(--ts-accent);
    --theme-primary: var(--ts-accent);
    --ts-font-family: Poppins, Inter, system-ui, -apple-system, sans-serif;
    --tk-surface-raised: var(--ts-surface-2);
    --tk-text-muted: var(--ts-muted);
    --tk-text-soft: var(--ts-muted);
  }


  body[data-brand="pacific"] {
    --ts-accent: #9b6bb3;
    --ts-accent-2: #65417f;
    --ts-accent-hover: #b37aca;
    --ts-lux: #f3d49b;
    --ts-lux-2: #9b7b3f;
    --ts-accent-soft: rgba(155,107,179,.14);
    --ts-accent-border: rgba(155,107,179,.34);
    --ts-lux-soft: rgba(243,212,155,.14);
    --ts-lux-border: rgba(243,212,155,.34);
  }

  body[data-brand="harmony"] {
    --ts-accent: #c05351;
    --ts-accent-2: #8f2729;
    --ts-accent-hover: #d35f5d;
    --ts-lux: #3ea6ff;
    --ts-lux-2: #1f6fd1;
    --ts-accent-soft: rgba(192,83,81,.14);
    --ts-accent-border: rgba(192,83,81,.34);
    --ts-lux-soft: rgba(62,166,255,.14);
    --ts-lux-border: rgba(62,166,255,.34);
  }

  body {
    background: var(--ts-bg);
    color: var(--ts-text);
    font-family: var(--ts-font-ui);
  }

  .layout {
    background:
      radial-gradient(circle at 22% 0%, var(--ts-accent-soft), transparent 34%),
      radial-gradient(circle at 82% 8%, var(--ts-lux-soft), transparent 28%),
      linear-gradient(180deg, var(--ts-bg), var(--ts-bg-2));
    color: var(--ts-text);
  }

  .card,
  .modalBox,
  .sidebar,
  .pageChrome {
    border-color: var(--ts-line);
  }

  .btn:not(.secondary):not(.red),
  button.btn:not(.secondary):not(.red) {
    background: linear-gradient(135deg, var(--ts-accent), var(--ts-accent-2));
    color:var(--ts-text);
    box-shadow: 0 18px 42px color-mix(in srgb, var(--ts-accent) 28%, transparent);
  }

  .btn.secondary,
  button.btn.secondary {
    background: color-mix(in srgb, var(--ts-surface-2) 72%, transparent);
    border-color: var(--ts-line);
    color: var(--ts-text);
  }

  .badge,
  .pill,
  .nav.active,
  .companySwitchAction {
    border-color: var(--ts-accent-border);
  }
}

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');
@import './core/tokens.css';
@import './core/layout.css';
@import './core/typography.css';
@import './core/surfaces.css';
@import './core/motion.css';
@import './themes/tsukount.css';
@import './themes/harmony.css';
@import './themes/pacific.css';

@layer legacy, base, theme, layout, components, pages, overrides;

/* V7.43.166 — Legacy stylesheet wrapped to stop priority leaks.
   New CSS must live in src/ui/core, src/ui/themes, src/ui/components or src/ui/pages. */
@layer legacy {
/* Tsukount V4.2.28 - CSS extrait depuis index.html - migration modules ES phase 1 */

/* --- style --- */
:root{
      --navy:#01011b;
      --red:#c05351;
      --white:#f0f0f0;
      --bg:#01011b;
      --bg2:#070722;
      --card:#080923;
      --card2:#10112d;
      --line:var(--ts-surface);
      --text:#f0f0f0;
      --muted:rgba(240,240,240,.62);
      --muted2:rgba(240,240,240,.42);
      --blue:#5865F2;
      --green:#22c55e;
      --bad:#ef4444;
      --amber:#f59e0b;
      --shadow:0 22px 65px rgba(0,0,0,.48);
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      background:
        radial-gradient(circle at 10% 0%,rgba(192,83,81,.18) 0,transparent 34%),
        radial-gradient(circle at 85% 15%,rgba(240,240,240,.05) 0,transparent 30%),
        var(--navy);
      font-family:var(--ts-font-family);
      color:var(--text)
    }
    button,input,select,textarea{font:inherit}
    .layout{min-height:100vh;display:flex;background:linear-gradient(135deg,rgba(192,83,81,.08),transparent 42%)}
    .sidebar{
      width:280px;
      background:rgba(1,1,27,.92);
      backdrop-filter:blur(18px);
      border-right:1px solid var(--line);
      position:fixed;
      inset:0 auto 0 0;
      padding:18px;
      overflow:auto
    }
    .main{margin-left:280px;width:calc(100% - 280px);padding:30px}
    .brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}
    .logo{
      width:54px;height:54px;border-radius:16px;
      background:#05051f;
      border:1px solid rgba(240,240,240,.16);
      display:grid;place-items:center;
      overflow:hidden;
      box-shadow:0 10px 30px rgba(192,83,81,.22)
    }
    .logo img{width:88%;height:88%;object-fit:contain}
    .brand h2{font-size:16px;margin:0;color:var(--ts-text);text-transform:uppercase;letter-spacing:.02em;font-weight:900}
    .brand small{color:var(--muted)}
    .announce{
      width:100%;
      background:linear-gradient(135deg,var(--red),#9d3836);
      color:var(--ts-text);border:0;border-radius:14px;padding:12px;margin:8px 0 18px;
      cursor:pointer;font-weight:900;box-shadow:0 12px 30px rgba(192,83,81,.24)
    }
    .sectionLabel{font-size:11px;color:rgba(240,240,240,.42);text-transform:uppercase;margin:18px 8px 8px;letter-spacing:.12em;font-weight:900}
    .nav{
      width:100%;display:flex;gap:10px;align-items:center;border:1px solid transparent;
      background:transparent;color:rgba(240,240,240,.78);padding:10px 12px;border-radius:12px;text-align:left;cursor:pointer;margin:2px 0
    }
    .nav:hover{background:rgba(240,240,240,.055);border-color:rgba(240,240,240,.08);color:var(--ts-text)}
    .nav.active{background:var(--white);color:var(--navy);font-weight:900;box-shadow:0 10px 26px rgba(240,240,240,.08)}
    .userBox{margin-top:24px;background:rgba(240,240,240,.06);border:1px solid var(--line);border-radius:16px;padding:12px}
    .userBox strong{display:block;color:var(--ts-text)}.userBox small{color:var(--muted)}
    .logout{margin-top:10px;width:100%;border:0;border-radius:10px;padding:9px;background:var(--white);color:var(--navy);cursor:pointer;font-weight:900}
    header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
    .title h1{margin:0;font-size:32px;color:var(--ts-text);text-transform:uppercase;letter-spacing:.01em;font-weight:900}
    .title p{margin:5px 0 0;color:var(--muted)}
    .week{width:90px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--card);color:var(--ts-text)}
    .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboardGrid{display:grid;grid-template-columns:3fr 2fr;gap:16px;margin-top:16px}
    .card{
      background:linear-gradient(180deg,rgba(12,13,45,.96),rgba(5,5,30,.96));
      border:1px solid var(--line);
      border-radius:22px;
      padding:20px;
      box-shadow:var(--shadow)
    }
    .card h2,.card h3{color:var(--ts-text);text-transform:none}
    .metric small{color:var(--muted)}.metric h3{font-size:27px;margin:8px 0 0;color:var(--ts-text);font-weight:900}.metric .sub{font-size:12px;color:var(--muted);margin-top:4px}
    .info{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(240,240,240,.1);padding:12px 0}
    .info span{color:var(--muted)}.info b{text-align:right;color:var(--ts-text)}
    .toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
    input,select,textarea{
      border:1px solid var(--line);background:var(--ts-bg);color:var(--ts-text);border-radius:12px;padding:10px 12px;outline:none
    }
    input::placeholder,textarea::placeholder{color:rgba(240,240,240,.36)}
    input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(192,83,81,.22)}
    option{background:var(--ts-bg);color:var(--ts-text)}
    .btn{
      border:0;border-radius:12px;background:var(--white);color:var(--navy);padding:10px 14px;cursor:pointer;font-weight:900
    }
    .btn.secondary{background:#11122f;color:#e8e8e8;border:1px solid var(--line)}
    .btn.blue{background:var(--red);color:var(--ts-text)}.btn.red{background:#ef4444;color:var(--ts-text)}.btn.green{background:#22c55e;color:#04110a}
    .pos{display:grid;grid-template-columns:1fr 340px;gap:20px}
    .products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
    .product{
      background:linear-gradient(180deg,#111236,#070820);
      border:1px solid var(--line);border-radius:20px;text-align:left;padding:18px;cursor:pointer;transition:.15s;color:var(--ts-text)
    }
    .product:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.4);border-color:var(--red)}
    .product .emoji{font-size:44px;display:block;margin-bottom:10px}.product strong{display:block}.product small{color:var(--muted)}
    .cartLine{display:flex;justify-content:space-between;background:var(--ts-bg);border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0}
    .empty{text-align:center;color:rgba(240,240,240,.4);padding:38px 0}
    .tableWrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--ts-bg)}
    .table{border-collapse:collapse;width:100%;font-size:14px}
    .table th{background:var(--ts-surface-2);color:var(--ts-muted);text-align:left;font-weight:900;text-transform:uppercase;font-size:12px}
    .table th,.table td{padding:13px;border-bottom:1px solid rgba(240,240,240,.09);white-space:nowrap;color:#e9e9e9}
    .table tr:last-child td{border-bottom:0}.table tr:hover td{background:rgba(192,83,81,.08)}
    .badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900}
    .badge.ok{background:rgba(34,197,94,.18);color:#86efac}.badge.warn{background:rgba(245,158,11,.18);color:#fcd34d}.badge.bad{background:rgba(239,68,68,.18);color:#fca5a5}.badge.blue{background:rgba(192,83,81,.2);color:#fca5a5}.badge.dark{background:var(--white);color:var(--navy)}
    .stockIcon{font-size:48px}.stockQty{font-size:36px;font-weight:900;margin-top:8px;color:var(--ts-text)}
    .bar{height:8px;background:#141636;border-radius:999px;overflow:hidden;margin-top:14px}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--white));border-radius:999px}
    .muted{color:var(--muted)}
    .notice{padding:12px 14px;border-radius:14px;background:rgba(192,83,81,.12);color:#ffd8d8;margin-bottom:16px;border:1px solid rgba(192,83,81,.24)}
    .notice.red{background:rgba(239,68,68,.14);color:#fecaca;border-color:rgba(239,68,68,.25)}
    .notice.green{background:rgba(34,197,94,.14);color:#bbf7d0;border-color:rgba(34,197,94,.25)}
    .notice.amber{background:rgba(245,158,11,.14);color:#fde68a;border-color:rgba(245,158,11,.25)}
    .login{min-height:100vh;background:radial-gradient(circle at 48% 18%,rgba(124,58,237,.22) 0,rgba(88,188,255,.08) 24%,transparent 46%),radial-gradient(circle at 70% 72%,rgba(45,212,191,.18) 0,transparent 34%),linear-gradient(180deg,#070a18 0%,#03050d 62%,#000 100%);color:var(--ts-text);display:grid;place-items:center;padding:24px}
    .loginCard{width:100%;max-width:580px;background:linear-gradient(180deg,rgba(15,23,42,.86),rgba(6,8,22,.94));border:1px solid rgba(148,163,184,.18);border-radius:28px;padding:34px;box-shadow:0 26px 90px rgba(0,0,0,.55),0 0 60px rgba(124,58,237,.10);text-align:center}
    .loginLogo{width:150px;height:95px;border-radius:0;background:transparent;color:var(--ts-text);display:grid;place-items:center;margin:0 auto 14px;overflow:visible}
    .loginLogo img{width:100%;height:100%;object-fit:contain}
    .tsukountLoginCard{max-width:520px;border-color:rgba(139,92,246,.32);box-shadow:0 28px 100px rgba(0,0,0,.72),0 0 70px rgba(139,92,246,.18),0 0 44px rgba(34,211,238,.08)}
    .tsukountLoginLogo{width:118px;height:118px;border-radius:28px;margin-bottom:18px;filter:drop-shadow(0 0 26px rgba(139,92,246,.45))}
    .tsukountLoginLogo img{border-radius:28px}
    .tsukountLogin h1{font-size:44px;line-height:1;margin-bottom:10px;letter-spacing:-.04em}
    .tsukountLoginTagline{font-size:17px;color:rgba(226,232,240,.78);margin-bottom:22px}
    .tsukountDiscord{background:linear-gradient(135deg,#8b5cf6 0%,#586cff 52%,#22d3ee 100%)!important;color:var(--ts-text)!important;box-shadow:0 16px 45px rgba(88,108,255,.28),inset 0 1px 0 rgba(255,255,255,.22)}
    .tsukountDiscord:hover{transform:translateY(-1px);filter:brightness(1.08)}
    .discord{width:100%;border:0;background:linear-gradient(135deg,var(--red),#9d3836);color:var(--ts-text);border-radius:14px;padding:13px;margin-top:12px;font-weight:900;cursor:pointer;box-shadow:0 12px 30px rgba(192,83,81,.28)}
    .demo{background:#fff;color:#08152e}.login small{color:rgba(240,240,240,.66)}.avatar{width:36px;height:36px;border-radius:999px;vertical-align:middle;margin-right:8px}
    .chart{height:260px;display:flex;align-items:end;gap:14px;padding:20px 10px 4px;border-bottom:1px solid rgba(240,240,240,.18)}
    .barChart{flex:1;background:linear-gradient(180deg,var(--red),#181932);border-radius:8px 8px 0 0;min-height:8px;position:relative}
    .barChart small{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);color:var(--ts-muted)}
    .footerNote{margin-top:12px;color:var(--muted);font-size:12px}
    .copyBox{white-space:pre-wrap;background:#000;color:#e5e7eb;border-radius:16px;padding:16px;font-family:ui-monospace,Menlo,Consolas,monospace;border:1px solid var(--line)}
    .profileForm{max-width:780px;margin:0 auto}.formRow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.field label{font-size:13px;color:var(--muted);display:block;margin-bottom:6px}.field input,.field select,.field textarea{width:100%}
    .loading{pointer-events:none}

    .modalBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}
    .modal{width:min(1120px,96vw);max-height:92vh;overflow:auto;background:linear-gradient(180deg,#0e1030,#05051f);border:1px solid rgba(240,240,240,.16);border-radius:26px;box-shadow:0 30px 100px rgba(0,0,0,.65);padding:22px}
    .modalHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid var(--ts-surface);padding-bottom:14px;margin-bottom:16px}
    .modalHeader h2{margin:0;text-transform:uppercase;color:var(--ts-text)}
    .modalHeader p{margin:4px 0 0;color:var(--muted);font-size:13px}
    .modalClose{border:1px solid rgba(240,240,240,.14);background:#11122f;color:var(--ts-text);border-radius:12px;padding:9px 12px;cursor:pointer;font-weight:900}
    .editGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
    .editGrid .field{margin:0}
    .editItems{border:1px solid var(--ts-surface);border-radius:16px;overflow:hidden;background:var(--ts-bg);margin-bottom:16px}
    .editItemRow{display:grid;grid-template-columns:1.4fr .55fr .75fr .75fr .8fr auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid rgba(240,240,240,.08)}
    .editItemRow.header{background:var(--ts-surface-2);color:var(--ts-muted);font-size:12px;font-weight:900;text-transform:uppercase}
    .editItemRow:last-child{border-bottom:0}
    .miniBtn{border:0;border-radius:10px;background:#1c1d3f;color:var(--ts-text);padding:8px 10px;cursor:pointer;font-weight:900}
    .miniBtn.red{background:#ef4444}
    .modalTotals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
    .totalBox{background:var(--ts-bg);border:1px solid var(--ts-surface);border-radius:14px;padding:12px}
    .totalBox small{color:var(--muted);display:block}.totalBox b{font-size:20px;color:var(--ts-text)}
    .modalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}

    .choiceRow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 16px}
    .choiceBtn{border:1px solid rgba(240,240,240,.16);background:#11122f;color:var(--ts-text);border-radius:14px;padding:13px;cursor:pointer;font-weight:900;text-align:center}
    .choiceBtn.active{background:linear-gradient(135deg,var(--red),#9d3836);border-color:var(--red);box-shadow:0 10px 28px rgba(192,83,81,.24)}


    .previewIcon{width:54px;height:54px;border-radius:14px;background:#070720;border:1px solid rgba(240,240,240,.14);display:grid;place-items:center;font-size:30px;overflow:hidden}
    .previewIcon img{width:100%;height:100%;object-fit:cover}
    .catalogForm{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
    .catalogForm .wide{grid-column:span 2}

    .cartLine.qty{display:grid;grid-template-columns:1fr 86px auto;gap:10px;align-items:center}
    .cartQty{width:76px;text-align:center;padding:8px 6px}
    .cartRemove{border:0;border-radius:9px;background:#ef4444;color:var(--ts-text);font-weight:900;padding:8px 10px;cursor:pointer}
    .grandTotal{border-top:1px solid rgba(240,240,240,.18);margin-top:10px;padding-top:12px;font-size:18px}
    .grandTotal span,.grandTotal b{font-size:20px;color:var(--ts-text)}


    .discountBtn{width:100%;border:1px solid rgba(192,83,81,.35);background:rgba(192,83,81,.10);color:#ffd5d5;border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer;margin:8px 0}
    .discountBtn.active{background:rgba(192,83,81,.22);border-color:var(--red);color:var(--ts-text)}
    .discountSummary{color:#fca5a5;font-weight:900}


    .rangeBox{display:grid;grid-template-columns:1fr 72px;gap:12px;align-items:center}
    .rangeBox input[type=range]{width:100%;accent-color:var(--red)}
    .rangeValue{background:#070720;border:1px solid rgba(240,240,240,.14);border-radius:12px;padding:10px;text-align:center;font-weight:900}


    .catalogSection{border:1px solid var(--ts-surface);border-radius:18px;padding:14px;margin:14px 0;background:var(--ts-surface)}
    .catalogSection h3{margin:0 0 12px;color:var(--ts-text)}
    .lockedHint{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.25);color:#fde68a;border-radius:12px;padding:10px;margin-bottom:12px}


    .posSectionTitle{margin:18px 0 10px;color:var(--ts-text);font-size:17px;text-transform:uppercase;letter-spacing:.04em}
    .posSectionHint{color:var(--muted);font-size:13px;margin-top:-6px;margin-bottom:12px}


    .weekBar{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin:0 0 14px}
    .weekBar label{color:var(--muted);font-weight:900}
    .weekBar input{max-width:100px}
    .settingsToggle{display:flex;justify-content:space-between;align-items:center;gap:12px}
    .settingsHidden{display:none}


    .partnerForm{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
    .partnerForm .wide{grid-column:span 2}

    .modalOverlay{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}
    .modalBox{width:min(680px,100%);background:linear-gradient(180deg,#111330,#09091d);border:1px solid var(--ts-line);border-radius:24px;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.55)}
    .modalHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ts-line);padding-bottom:14px;margin-bottom:16px}
    .modalGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .modalGrid .wide{grid-column:span 2}
    @media(max-width:700px){.modalGrid{grid-template-columns:1fr}.modalGrid .wide{grid-column:auto}}


    .tombolaForm{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
    .tombolaForm .wide{grid-column:span 2}

    .kpiGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:16px 0}
    .kpiBox{background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.22);border-radius:22px;padding:22px;display:flex;gap:14px;align-items:center}
    .kpiIcon{font-size:30px}
    .kpiBox b{display:block;font-size:28px;color:var(--ts-text)}
    .kpiBox small{color:var(--muted);font-weight:800}
    .actionMenu{position:absolute;background:#251d31;border:1px solid var(--ts-line);border-radius:18px;padding:10px;box-shadow:0 20px 60px rgba(0,0,0,.45);z-index:20;min-width:180px}
    .actionMenu button{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--ts-text);padding:10px;border-radius:10px;font-weight:900;cursor:pointer}
    .actionMenu button:hover{background:var(--ts-surface)}
    .actionMenu .danger{color:#fca5a5}
    .prizeCard{border:1px solid var(--ts-line);border-radius:18px;padding:14px;margin:12px 0;background:var(--ts-surface)}
    .prizeHeader{display:flex;justify-content:space-between;align-items:center;gap:10px}
    .ticketsScroll{max-height:420px;overflow:auto;border-radius:18px}
    .modalBox.large{width:min(920px,100%)}


    .modalOverlay{align-items:flex-start;overflow-y:auto;padding:32px 20px}
    .modalBox{max-height:calc(100vh - 64px);overflow-y:auto;scrollbar-width:thin}
    .modalBox.large{max-height:calc(100vh - 64px);overflow-y:auto}
    .modalHeader{position:sticky;top:-22px;background:linear-gradient(180deg,#111330,#101129);z-index:3}
    .modalFooterSticky{position:sticky;bottom:-22px;background:linear-gradient(0deg,#09091d,#101129);padding-top:14px;z-index:3}


    .tombolaActionsCell{position:relative;overflow:visible}
    .tombolaActionsCell .actionMenu{right:0;top:auto;bottom:42px;max-height:none;overflow:visible}
    .card:has(.tombolaActionsCell){overflow:visible}
    table:has(.tombolaActionsCell), tbody:has(.tombolaActionsCell), tr:has(.tombolaActionsCell), td:has(.tombolaActionsCell){overflow:visible}


    .eyeBtn{min-width:48px;text-align:center}
    .hubActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
    .editPanel{background:rgba(167,139,250,.09);border:1px solid rgba(167,139,250,.20);border-radius:20px;padding:16px;margin:14px 0}
    .selectRaffleList{display:grid;gap:10px;margin-top:12px}
    .selectRaffleItem{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--ts-line);border-radius:16px;padding:12px;background:var(--ts-surface)}
    .ticketPager{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:10px}


    .invoiceSheet{background:#fff;color:var(--ts-bg-2);border-radius:18px;padding:24px}
    .invoiceSheet h2,.invoiceSheet h3{color:var(--ts-bg-2)}
    .invoiceSheet .muted{color:#555}
    .invoiceSheet table{background:#fff;color:var(--ts-bg-2);border-color:#ddd}
    .invoiceSheet th,.invoiceSheet td{border-color:#ddd;color:var(--ts-bg-2)}
    .invoiceSheet th{background:#f3f4f6}
    .invoiceTop{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}
    .invoiceTotalBox{border:2px solid var(--ts-bg-2);border-radius:12px;padding:12px 16px;text-align:right;min-width:220px}


    .stockCard.ok{border-color:rgba(34,197,94,.25)}
    .stockCard.low{border-color:rgba(245,158,11,.55);box-shadow:0 0 0 1px rgba(245,158,11,.18)}
    .stockCard.critical{border-color:rgba(239,68,68,.7);box-shadow:0 0 0 1px rgba(239,68,68,.22)}
    .stockAlertLine{font-size:12px;margin-top:8px;color:var(--muted)}

    .dragHandle{cursor:grab;user-select:none;font-size:18px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:var(--ts-surface)}
    .dragHandle:active{cursor:grabbing}

    .roleGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
    .roleCard,.gradeCard{border:1px solid var(--border);border-radius:18px;background:var(--ts-surface);padding:16px}
    .roleCard h3,.gradeCard h3{margin:0 0 8px}
    .permissionPills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
    .permissionPills span{font-size:12px;padding:5px 8px;border-radius:999px;border:1px solid var(--border);background:var(--ts-surface);color:var(--muted)}
    .modalOverlay{position:fixed;inset:0;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px}
    .modalCard{width:min(980px,96vw);max-height:88vh;overflow:auto;border:1px solid var(--border);border-radius:22px;background:#0c0d24;padding:24px;box-shadow:0 20px 80px rgba(0,0,0,.45)}
    .permGroup{border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--ts-surface)}
    .permGroup h4{margin:0 0 10px}
    .permCheck{display:block;margin:8px 0}
    .permHint{display:block;color:var(--muted);font-size:12px;margin-left:22px;margin-top:2px}
    table{width:100%;border-collapse:collapse}
    .catalogTableWide{width:100%;overflow-x:auto}
    .recipeEditor{display:flex;flex-direction:column;gap:8px;margin-top:10px}.recipeRow{display:grid;grid-template-columns:1fr 140px auto;gap:8px;align-items:end}.recipeRow select,.recipeRow input{width:100%}.recipeBadge{font-size:12px;color:var(--muted)}
    .copyLine{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:start;border:1px solid var(--border);border-radius:14px;padding:10px;margin-top:8px;background:var(--ts-surface)}
    .copyLine .label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;padding-top:5px}
    .copyValue{white-space:pre-wrap;word-break:break-word;line-height:1.45}
    .copyMini{padding:7px 10px;border-radius:10px;font-size:12px}

    tr[draggable="true"]{transition:transform .16s ease, background .16s ease, opacity .16s ease}
    tr.dragging{opacity:.45;transform:scale(.995)}
    tr.dragOver{background:rgba(199,154,255,.12)!important;outline:1px solid rgba(199,154,255,.45)}


    @media(max-width:900px){.tombolaForm{grid-template-columns:1fr}.tombolaForm .wide{grid-column:auto}}

@media(max-width:900px){.partnerForm{grid-template-columns:1fr}.partnerForm .wide{grid-column:auto}}@media(max-width:900px){.catalogForm{grid-template-columns:1fr}.catalogForm .wide{grid-column:auto}}@media(max-width:900px){.editGrid,.modalTotals{grid-template-columns:1fr 1fr}.editItemRow{grid-template-columns:1fr 70px 90px 90px}.editItemRow.header{display:none}.editItemRow>*:nth-child(5){grid-column:1/3}.editItemRow>*:nth-child(6){grid-column:3/5}}

    @media(max-width:1150px){.grid4,.grid3,.products{grid-template-columns:repeat(2,1fr)}.pos,.dashboardGrid,.split{grid-template-columns:1fr}.sidebar{width:230px}.main{margin-left:230px;width:calc(100% - 230px)}} 
    @media(max-width:760px){.sidebar{position:relative;width:100%;height:auto}.main{margin-left:0;width:100%;padding:18px}.layout{display:block}.grid4,.grid3,.grid2,.products,.formRow{grid-template-columns:1fr}}
  
    /* 1.0.0-rc3 unified responsive modals */
    .modalOverlay,.modalBackdrop{
      position:fixed!important;
      inset:0!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      padding:clamp(12px,2vw,28px)!important;
      background:rgba(0,0,0,.72)!important;
      backdrop-filter:blur(8px)!important;
      z-index:99999!important;
      overflow:auto!important;
    }
    .modalCard,.modalBox,.modal{
      width:min(980px,calc(100vw - 32px))!important;
      max-width:calc(100vw - 32px)!important;
      max-height:calc(100vh - 32px)!important;
      overflow:auto!important;
      margin:auto!important;
      border:1px solid var(--ts-line)!important;
      border-radius:24px!important;
      background:linear-gradient(180deg,#111330,#08091f)!important;
      box-shadow:0 30px 90px rgba(0,0,0,.58)!important;
      padding:clamp(16px,2vw,24px)!important;
      box-sizing:border-box!important;
    }
    .modalCard>.toolbar:first-child,
    .modalBox>.toolbar:first-child,
    .modal>.toolbar:first-child,
    .modalHeader{
      display:flex!important;
      align-items:flex-start!important;
      justify-content:space-between!important;
      gap:16px!important;
      border-bottom:1px solid var(--ts-line)!important;
      padding-bottom:14px!important;
      margin-bottom:16px!important;
    }
    .modalCard>.toolbar:first-child h2,
    .modalBox>.toolbar:first-child h2,
    .modal>.toolbar:first-child h2,
    .modalHeader h2{
      margin:0!important;
      line-height:1.1!important;
      text-transform:uppercase!important;
      color:var(--ts-text)!important;
    }
    .modalCard>.toolbar:first-child p,
    .modalBox>.toolbar:first-child p,
    .modal>.toolbar:first-child p,
    .modalHeader p{
      margin:6px 0 0!important;
      color:var(--muted)!important;
      max-width:720px!important;
    }
    .modalCard>.toolbar:first-child .btn,
    .modalBox>.toolbar:first-child .btn,
    .modal>.toolbar:first-child .btn,
    .modalClose{
      flex:0 0 auto!important;
      min-width:44px!important;
      height:44px!important;
      display:inline-flex!important;
      align-items:center!important;
      justify-content:center!important;
      border-radius:14px!important;
    }
    @media(max-width:720px){
      .modalOverlay,.modalBackdrop{
        align-items:flex-start!important;
        padding:10px!important;
      }
      .modalCard,.modalBox,.modal{
        width:calc(100vw - 20px)!important;
        max-width:calc(100vw - 20px)!important;
        max-height:calc(100vh - 20px)!important;
        border-radius:18px!important;
      }
      .modalCard>.toolbar:first-child,
      .modalBox>.toolbar:first-child,
      .modal>.toolbar:first-child,
      .modalHeader{
        gap:10px!important;
      }
      .modalCard>.toolbar:first-child h2,
      .modalBox>.toolbar:first-child h2,
      .modal>.toolbar:first-child h2,
      .modalHeader h2{
        font-size:20px!important;
      }
      .modalGrid,.grid3,.roleGrid{
        grid-template-columns:1fr!important;
      }
      .copyLine{
        grid-template-columns:1fr!important;
      }
      .copyLine .label{padding-top:0!important}
      .recipeRow{
        grid-template-columns:1fr!important;
      }
    }

  
    /* 1.0.0-rc3 clean soft palette */
    :root{
      --accent:#e26d6d;
      --accent-2:#f08a78;
      --accent-soft:rgba(226,109,109,.13);
      --accent-border:rgba(226,109,109,.28);
      --danger:#ef4444;
      --danger-soft:rgba(239,68,68,.13);
      --danger-border:rgba(239,68,68,.32);
      --ok:#34d399;
      --ok-soft:rgba(52,211,153,.13);
      --blue:#8da2fb;
      --blue-soft:rgba(141,162,251,.13);
      --panel:#10122d;
      --panel-2:#151735;
      --border-soft:rgba(255,255,255,.11);
    }

    .btn,
    button{
      transition:background .16s ease,border-color .16s ease,transform .12s ease,box-shadow .16s ease,color .16s ease;
    }
    .btn:hover,
    button:hover{
      transform:translateY(-1px);
    }

    .btn.blue,
    .discord,
    .announce,
    .announcementBtn{
      background:linear-gradient(135deg,var(--accent),var(--accent-2))!important;
      border-color:var(--accent-border)!important;
      color:var(--ts-text)!important;
      box-shadow:0 10px 24px rgba(226,109,109,.12)!important;
    }
    .btn.blue:hover,
    .discord:hover,
    .announce:hover,
    .announcementBtn:hover{
      box-shadow:0 14px 32px rgba(226,109,109,.18)!important;
      filter:saturate(1.03)!important;
    }

    .btn.red,
    .btn.danger,
    .red,
    button.red{
      background:var(--danger-soft)!important;
      color:#ffb4b4!important;
      border:1px solid var(--danger-border)!important;
      box-shadow:none!important;
    }
    .btn.red:hover,
    .btn.danger:hover,
    .red:hover,
    button.red:hover{
      background:rgba(239,68,68,.22)!important;
      color:var(--ts-text)!important;
      border-color:rgba(239,68,68,.45)!important;
      box-shadow:0 10px 24px rgba(239,68,68,.10)!important;
    }

    .btn.secondary,
    .nav,
    .miniBtn,
    .modalClose{
      background:var(--ts-surface)!important;
      border-color:var(--border-soft)!important;
    }
    .btn.secondary:hover,
    .nav:hover,
    .miniBtn:hover,
    .modalClose:hover{
      background:var(--ts-surface)!important;
      border-color:var(--ts-surface-2)!important;
    }

    .nav.active{
      background:rgba(255,255,255,.92)!important;
      color:#0b0c1f!important;
      border-color:rgba(255,255,255,.95)!important;
    }

    .card,
    .roleCard,
    .gradeCard,
    .metric,
    .kpiBox,
    .modalCard,
    .modalBox,
    .modal{
      border-color:var(--border-soft)!important;
    }

    .notice.red{
      background:rgba(239,68,68,.12)!important;
      border-color:rgba(239,68,68,.28)!important;
      color:#ffc9c9!important;
    }
    .notice.green{
      background:var(--ok-soft)!important;
      border-color:rgba(52,211,153,.24)!important;
      color:#a7f3d0!important;
    }

    .badge.bad,
    .pill.bad,
    .status.bad{
      background:var(--danger-soft)!important;
      color:#ffb4b4!important;
      border-color:var(--danger-border)!important;
    }
    .badge.ok,
    .pill.ok,
    .status.ok{
      background:var(--ok-soft)!important;
      color:#a7f3d0!important;
      border-color:rgba(52,211,153,.24)!important;
    }
    .badge.warn,
    .pill.warn,
    .status.warn{
      background:rgba(245,158,11,.13)!important;
      color:#fde68a!important;
      border-color:rgba(245,158,11,.28)!important;
    }

    input:focus,
    select:focus,
    textarea:focus{
      border-color:rgba(226,109,109,.48)!important;
      box-shadow:0 0 0 3px rgba(226,109,109,.10)!important;
      outline:none!important;
    }

    .productCard:hover,
    .serviceCard:hover,
    .roleCard:hover{
      border-color:rgba(226,109,109,.28)!important;
      box-shadow:0 14px 34px rgba(226,109,109,.06)!important;
    }

    .dragOver,
    tr.dragOver{
      outline:2px solid rgba(226,109,109,.35)!important;
      background:rgba(226,109,109,.07)!important;
    }

  
    /* 1.0.0-rc3 ultra soft dark palette override */
    :root{
      --accent:#b56a7a;
      --accent-2:#c9828a;
      --accent-soft:rgba(181,106,122,.14);
      --accent-border:rgba(181,106,122,.28);
      --danger:#d85c64;
      --danger-soft:rgba(216,92,100,.12);
      --danger-border:rgba(216,92,100,.26);
      --active-bg:rgba(181,106,122,.16);
      --active-border:rgba(181,106,122,.34);
      --active-text:#f6d7dd;
    }

    .announce,
    .announcementBtn{
      background:linear-gradient(135deg,rgba(181,106,122,.88),rgba(201,130,138,.88))!important;
      color:#fff7f8!important;
      box-shadow:0 10px 26px rgba(181,106,122,.12)!important;
    }

    .btn.blue,
    .discord{
      background:rgba(181,106,122,.18)!important;
      border:1px solid rgba(181,106,122,.34)!important;
      color:#ffe3e8!important;
      box-shadow:none!important;
    }
    .btn.blue:hover,
    .discord:hover{
      background:rgba(181,106,122,.26)!important;
      border-color:rgba(181,106,122,.46)!important;
      color:var(--ts-text)!important;
      box-shadow:0 10px 24px rgba(181,106,122,.10)!important;
    }

    .btn.red,
    .btn.danger,
    button.red,
    .red{
      background:rgba(216,92,100,.10)!important;
      color:#f3a8ae!important;
      border:1px solid rgba(216,92,100,.24)!important;
      box-shadow:none!important;
    }
    .btn.red:hover,
    .btn.danger:hover,
    button.red:hover,
    .red:hover{
      background:rgba(216,92,100,.17)!important;
      color:#ffd7da!important;
      border-color:rgba(216,92,100,.36)!important;
      box-shadow:none!important;
    }

    .nav.active{
      background:var(--active-bg)!important;
      color:var(--active-text)!important;
      border:1px solid var(--active-border)!important;
      box-shadow:inset 0 0 0 1px var(--ts-surface), 0 8px 22px rgba(181,106,122,.07)!important;
    }
    .nav.active span{
      color:var(--active-text)!important;
    }

    .btn.secondary,
    .nav,
    .miniBtn,
    .modalClose{
      background:var(--ts-surface)!important;
      color:#d7d8ea!important;
      border-color:var(--ts-line)!important;
    }

    .btn.secondary:hover,
    .nav:hover,
    .miniBtn:hover,
    .modalClose:hover{
      background:var(--ts-surface)!important;
      color:var(--ts-text)!important;
      border-color:var(--ts-line)!important;
      box-shadow:none!important;
    }

    .userBox .logout,
    .logout{
      background:var(--ts-surface)!important;
      color:#f3f4ff!important;
      border:1px solid var(--ts-line)!important;
    }
    .userBox .logout:hover,
    .logout:hover{
      background:var(--ts-surface)!important;
    }

    input:focus,
    select:focus,
    textarea:focus{
      border-color:rgba(181,106,122,.42)!important;
      box-shadow:0 0 0 3px rgba(181,106,122,.08)!important;
    }

    .card,
    .roleCard,
    .gradeCard{
      box-shadow:none!important;
    }

    .badge.bad,
    .pill.bad,
    .status.bad{
      background:rgba(216,92,100,.10)!important;
      color:#f3a8ae!important;
      border-color:rgba(216,92,100,.24)!important;
    }

    .notice.red{
      background:rgba(216,92,100,.10)!important;
      color:#f4b8bd!important;
      border-color:rgba(216,92,100,.24)!important;
    }

    .productCard:hover,
    .serviceCard:hover,
    .roleCard:hover{
      border-color:rgba(181,106,122,.22)!important;
      box-shadow:none!important;
    }

  
    /* 1.0.0-rc3 UI clean final: clear hierarchy */
    :root{
      --ui-primary:#d96c7a;
      --ui-primary-2:#b85c6a;
      --ui-primary-hover:#e07b88;
      --ui-primary-soft:rgba(217,108,122,.16);
      --ui-primary-border:rgba(217,108,122,.34);

      --ui-danger:#e2555f;
      --ui-danger-soft:rgba(226,85,95,.14);
      --ui-danger-border:rgba(226,85,95,.34);

      --ui-neutral:var(--ts-surface);
      --ui-neutral-hover:rgba(255,255,255,.085);
      --ui-neutral-border:var(--ts-line);

      --ui-selected:rgba(217,108,122,.15);
      --ui-selected-border:rgba(217,108,122,.34);
      --ui-selected-text:#ffd7dc;

      --ui-focus:rgba(217,108,122,.34);
    }

    /* Primary actions: enregistrer, advert, valider, main CTA */
    .btn.blue,
    .announce,
    .announcementBtn,
    button.discord:not(.demo){
      background:linear-gradient(135deg,var(--ui-primary),var(--ui-primary-2))!important;
      color:var(--ts-text)!important;
      border:1px solid var(--ts-line)!important;
      box-shadow:0 10px 24px rgba(217,108,122,.20)!important;
      font-weight:900!important;
    }
    .btn.blue:hover,
    .announce:hover,
    .announcementBtn:hover,
    button.discord:not(.demo):hover{
      background:linear-gradient(135deg,var(--ui-primary-hover),#c76673)!important;
      box-shadow:0 14px 32px rgba(217,108,122,.25)!important;
      transform:translateY(-1px)!important;
    }

    /* Secondary actions: modifier, copier, inspecter */
    .btn.secondary,
    .miniBtn,
    .modalClose,
    button.discord.demo{
      background:var(--ui-neutral)!important;
      color:#e5e7f3!important;
      border:1px solid var(--ui-neutral-border)!important;
      box-shadow:none!important;
      font-weight:850!important;
    }
    .btn.secondary:hover,
    .miniBtn:hover,
    .modalClose:hover,
    button.discord.demo:hover{
      background:var(--ui-neutral-hover)!important;
      border-color:var(--ts-surface-2)!important;
      color:var(--ts-text)!important;
      transform:translateY(-1px)!important;
    }

    /* Danger actions: supprimer, masquer, virer */
    .btn.red,
    .btn.danger,
    button.red,
    .red{
      background:var(--ui-danger-soft)!important;
      color:#ffb8bd!important;
      border:1px solid var(--ui-danger-border)!important;
      box-shadow:none!important;
      font-weight:900!important;
    }
    .btn.red:hover,
    .btn.danger:hover,
    button.red:hover,
    .red:hover{
      background:rgba(226,85,95,.28)!important;
      border-color:rgba(226,85,95,.52)!important;
      color:var(--ts-text)!important;
      box-shadow:0 10px 24px rgba(226,85,95,.12)!important;
      transform:translateY(-1px)!important;
    }

    /* Navigation: active visible but not white */
    .nav{
      background:var(--ts-surface)!important;
      color:#cfd2e6!important;
      border:1px solid var(--ts-line)!important;
      box-shadow:none!important;
    }
    .nav:hover{
      background:var(--ts-surface)!important;
      color:var(--ts-text)!important;
      border-color:var(--ts-surface-2)!important;
    }
    .nav.active{
      background:var(--ui-selected)!important;
      border:1px solid var(--ui-selected-border)!important;
      color:var(--ui-selected-text)!important;
      box-shadow:inset 0 0 0 1px var(--ts-surface), 0 8px 20px rgba(217,108,122,.08)!important;
    }
    .nav.active span{color:var(--ui-selected-text)!important}

    /* Logout should be neutral, not white */
    .logout,
    .userBox .logout{
      background:var(--ts-surface)!important;
      color:#f4f5ff!important;
      border:1px solid var(--ts-line)!important;
      box-shadow:none!important;
    }
    .logout:hover,
    .userBox .logout:hover{
      background:rgba(255,255,255,.11)!important;
      border-color:var(--ts-surface-2)!important;
    }

    /* Inputs/focus */
    input:focus,
    select:focus,
    textarea:focus{
      border-color:var(--ui-focus)!important;
      box-shadow:0 0 0 3px rgba(217,108,122,.09)!important;
      outline:none!important;
    }

    /* Cards hover subtle, not red glow everywhere */
    .productCard:hover,
    .serviceCard:hover,
    .roleCard:hover,
    .gradeCard:hover{
      border-color:rgba(217,108,122,.22)!important;
      box-shadow:0 10px 26px rgba(0,0,0,.18)!important;
    }

    /* Notices/badges clearer hierarchy */
    .notice.red{
      background:rgba(226,85,95,.11)!important;
      color:#ffc5ca!important;
      border-color:rgba(226,85,95,.30)!important;
    }
    .notice.green{
      background:rgba(52,211,153,.12)!important;
      color:#a7f3d0!important;
      border-color:rgba(52,211,153,.25)!important;
    }

    .badge.bad,.pill.bad,.status.bad{
      background:rgba(226,85,95,.13)!important;
      color:#ffb8bd!important;
      border-color:rgba(226,85,95,.32)!important;
    }
    .badge.ok,.pill.ok,.status.ok{
      background:rgba(52,211,153,.13)!important;
      color:#a7f3d0!important;
      border-color:rgba(52,211,153,.25)!important;
    }
    .badge.warn,.pill.warn,.status.warn{
      background:rgba(245,158,11,.14)!important;
      color:#fde68a!important;
      border-color:rgba(245,158,11,.30)!important;
    }

    /* Disable states readable */
    button:disabled,
    .btn:disabled{
      opacity:.48!important;
      transform:none!important;
      box-shadow:none!important;
      cursor:not-allowed!important;
    }

    /* Copy mini buttons keep hierarchy */
    .copyMini.btn.blue{
      background:var(--ui-primary-soft)!important;
      color:#ffd7dc!important;
      border:1px solid var(--ui-primary-border)!important;
      box-shadow:none!important;
    }

    /* Selected rows / drag */
    .dragOver,
    tr.dragOver{
      outline:2px solid rgba(217,108,122,.32)!important;
      background:rgba(217,108,122,.07)!important;
    }

  
    /* 1.0.0-rc3 loyalty client-linked panel */
    .loyaltyPanel{margin-top:18px}
    .loyaltyGrid{display:grid;grid-template-columns:1.1fr 1fr 1fr auto;gap:12px;align-items:end}
    .loyaltySmallCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}
    .loyaltyMiniCard{border:1px solid var(--ui-neutral-border);background:var(--ts-surface);border-radius:14px;padding:12px}
    .loyaltyMiniCard.active{border-color:var(--ui-primary-border);background:var(--ui-primary-soft)}
    @media(max-width:900px){.loyaltyGrid{grid-template-columns:1fr}.pos{grid-template-columns:1fr!important}}

  
    /* 1.0.0-rc3 loyalty modal + personnel grade cleanup */
    .loyaltyCompact{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px}
    .loyaltyCompactInfo{display:flex;flex-direction:column;gap:4px}
    .loyaltyModalGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .loyaltyModalActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
    @media(max-width:760px){.loyaltyCompact{align-items:flex-start;flex-direction:column}.loyaltyModalGrid{grid-template-columns:1fr}}
  
    /* 1.0.0-rc3 loyalty inline selector + create modal */
    .loyaltyCompact{display:block!important}
    .loyaltyInlineGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end;margin-top:16px}
    .loyaltyActionsInline{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;justify-content:flex-end}
    .loyaltyCreateGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    @media(max-width:900px){.loyaltyInlineGrid,.loyaltyCreateGrid{grid-template-columns:1fr}.loyaltyActionsInline{justify-content:flex-start}}
  
    /* Tsukount 1.0 final fixes: no page horizontal scroll, compact tables */
    html, body { width:100%; max-width:100%; overflow-x:hidden!important; }
    .layout, .main, .card, .tableWrap { min-width:0!important; max-width:100%!important; }
    .main { overflow-x:hidden!important; }
    .tableWrap { overflow-x:hidden!important; }
    .table { width:100%!important; max-width:100%!important; table-layout:auto!important; font-size:13px; }
    .table th, .table td { white-space:normal!important; word-break:break-word!important; overflow-wrap:anywhere!important; max-width:260px; vertical-align:middle; }
    .table td:last-child, .table th:last-child { min-width:120px; text-align:left; }
    .table .btn, .table button { white-space:nowrap!important; margin:2px; }
    (max-width:1150px){ .table{font-size:12px}.table th,.table td{padding:9px 8px;max-width:180px} }
  

    /* Tsukount 1.0 security/UX hardening: no page-level horizontal scroll */
    html, body, .layout, .main{max-width:100%;overflow-x:hidden!important;}
    .main{min-width:0;}
    .tableWrap,.catalogTableWide{max-width:100%;overflow-x:hidden!important;}
    .table{width:100%;table-layout:auto;}
    .table th,.table td{white-space:normal!important;word-break:break-word;overflow-wrap:anywhere;}
    .table td:last-child,.table th:last-child{min-width:110px;}
    @media(max-width:1150px){.table th,.table td{padding:10px 8px;font-size:12px}.btn,.miniBtn{padding:8px 10px}}
  

    /* TSUKOUNT V1 — UX CLEANUP */
    html,body{overflow-x:hidden;scroll-behavior:smooth}
    .main{max-width:100%;min-width:0}
    .card{min-width:0}
    .tableWrap{max-width:100%;overflow:auto;scrollbar-width:thin}
    .tableWrap table{min-width:max-content}
    .table th{position:sticky;top:0;z-index:2}
    .table td{vertical-align:middle}
    .v1Toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 16px}
    .v1Toolbar input,.v1Toolbar select{min-width:170px;max-width:280px}
    .v1Toolbar .grow{flex:1 1 260px;min-width:220px;max-width:none}
    .v1Hint{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin-top:8px}
    .modalBox.xlarge{width:min(1120px,96vw)}
    .modalFooterSticky{position:sticky;bottom:-22px;background:linear-gradient(180deg,rgba(17,19,48,.72),#09091d 42%);padding-top:14px;border-top:1px solid var(--ts-line)}
    .compactRow{display:grid;grid-template-columns:1.35fr .45fr .7fr .7fr auto;gap:10px;align-items:end;margin:10px 0;padding:12px;border:1px solid var(--ts-line);border-radius:16px;background:var(--ts-surface)}
    .compactRow .field{margin:0}
    .serviceLineToolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}
    .quickPill{border:1px solid var(--ts-line);background:var(--ts-surface);border-radius:999px;padding:8px 10px;color:var(--ts-text);font-weight:800;cursor:pointer}
    .quickPill:hover{border-color:var(--ui-primary-border);background:var(--ui-primary-soft)}
    .softPanel{border:1px solid var(--ts-line);background:var(--ts-surface);border-radius:18px;padding:14px;margin-top:12px}
    .emptyState{padding:28px;text-align:center;border:1px dashed var(--ts-surface-2);border-radius:18px;color:var(--muted)}
    .btn.iconOnly{min-width:40px;padding:10px 12px}
    @media(max-width:900px){.compactRow{grid-template-columns:1fr}.v1Toolbar input,.v1Toolbar select,.v1Toolbar .grow{max-width:none;width:100%}.modalBox.xlarge{width:96vw}}

  

    /* =========================================================
       Tsukount V1 Night Patch — UX polish + modal safety
       Pure CSS: no accounting/stock/sales logic touched.
       ========================================================= */
    :root{
      --accent:#9b5fd3;
      --accent2:#c084fc;
      --accentSoft:rgba(155,95,211,.16);
      --cardGlow:0 18px 55px rgba(0,0,0,.34);
    }
    html,body{overflow-x:hidden!important;scrollbar-gutter:stable;background:#05051c}
    body{letter-spacing:.005em}
    .main{max-width:100vw;overflow-x:hidden}
    .card,.panel,.modal,.modalCard,.loginCard,.stockCard,.roleCard,.gradeCard{
      box-shadow:var(--cardGlow);
    }
    .card,.panel,.stockCard,.roleCard,.gradeCard{
      border-color:rgba(255,255,255,.105)!important;
      background:linear-gradient(180deg,rgba(20,20,55,.92),rgba(7,8,31,.94))!important;
    }
    button,.btn,.miniBtn,.choiceBtn,.modalClose,input,select,textarea{
      transition:background .18s ease,border-color .18s ease,transform .12s ease,box-shadow .18s ease,opacity .18s ease;
    }
    button:hover,.btn:hover,.miniBtn:hover,.choiceBtn:hover{transform:translateY(-1px)}
    input:focus,select:focus,textarea:focus{
      border-color:rgba(192,132,252,.62)!important;
      box-shadow:0 0 0 3px rgba(192,132,252,.12)!important;
      outline:0!important;
    }
    table{table-layout:auto;max-width:100%}
    th,td{vertical-align:middle}
    tr:hover td{background:var(--ts-surface)}
    .catalogTableWide,.tableWrap,.table-container{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-radius:18px}

    /* Make wide edit-sale modal usable: actions never disappear off-screen */
    .modal{overflow-x:hidden!important}
    .editItems{
      overflow-x:auto!important;
      overflow-y:visible!important;
      padding-bottom:8px!important;
      border-radius:18px!important;
    }
    .editItemRow{
      min-width:0!important;
      grid-template-columns:minmax(190px,1.35fr) 76px 118px 118px 94px 104px!important;
      gap:10px!important;
    }
    .editItemRow input,.editItemRow select{min-width:0!important;width:100%!important}
    .editItemRow .miniBtn,.editItemRow button{width:100%;white-space:nowrap}
    .editItemRow > *{min-width:0}

    /* Cleaner modal rhythm */
    .modalHeader{position:sticky;top:0;z-index:5;background:linear-gradient(180deg,#111331 70%,rgba(17,19,49,.92));border-radius:18px 18px 0 0;margin:-6px -6px 16px;padding:14px 16px}
    .modalActions{position:sticky;bottom:0;z-index:4;background:linear-gradient(0deg,#090a24 72%,rgba(9,10,36,.76));padding-top:12px;border-top:1px solid var(--ts-line)}

    /* Pacific identity: violet accents when theme class exists */
    body.pacific-theme .discord,
    body.pacific-theme .btn.primary,
    body.pacific-theme button.primary,
    body.pacific-theme .choiceBtn.active{
      background:linear-gradient(135deg,#7c4bb0,#b77be3)!important;
      box-shadow:0 14px 38px rgba(155,95,211,.28)!important;
    }
    body.pacific-theme .barChart{background:linear-gradient(180deg,#b77be3,#1b1534)!important}
    body.pacific-theme .active,
    body.pacific-theme .pill.active{background:rgba(155,95,211,.22)!important;color:#f4e8ff!important;border-color:rgba(192,132,252,.35)!important}

    @media(max-width:1180px){
      .editGrid{grid-template-columns:1fr 1fr!important}
      .modal{width:min(980px,96vw)!important}
      .editItemRow{grid-template-columns:minmax(180px,1fr) 76px 110px 110px!important;min-width:0!important}
      .editItemRow.header{display:none!important}
      .editItemRow > *:nth-child(5),.editItemRow > *:nth-child(6){grid-column:span 2!important}
    }
    @media(max-width:760px){
      .modal,.modalCard{width:96vw!important;max-height:92vh!important;padding:16px!important}
      .editGrid,.modalTotals,.catalogForm,.formRow,.choiceRow{grid-template-columns:1fr!important}
      .editItemRow{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:12px!important}
      .editItemRow > *{grid-column:span 2!important}
      .editItemRow > *:nth-child(2),.editItemRow > *:nth-child(3),.editItemRow > *:nth-child(4),.editItemRow > *:nth-child(5){grid-column:span 1!important}
      .editItemRow > *:nth-child(6){grid-column:span 2!important}
      .sidebar{position:relative!important;width:100%!important;height:auto!important}
      .main{margin-left:0!important;width:100%!important;padding:16px!important}
    }


    /* V1 final before sleep — polish, announcement banner, safer tables */
    html,body{max-width:100%;overflow-x:hidden}
    .main{overflow-x:hidden}
    .topAnnouncement{
      display:flex;align-items:center;gap:12px;justify-content:space-between;
      background:linear-gradient(135deg,rgba(168,95,198,.24),rgba(192,83,81,.16));
      border:1px solid rgba(240,214,255,.18);border-radius:18px;padding:13px 16px;margin:0 0 18px;
      box-shadow:0 14px 36px rgba(0,0,0,.26);color:var(--ts-text)
    }
    .topAnnouncement b{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#f3d7ff}
    .topAnnouncement span{color:rgba(255,255,255,.9);white-space:pre-wrap}
    .topAnnouncement .tag{background:rgba(255,255,255,.1);border:1px solid var(--ts-surface-2);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}
    .previewIcon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--ts-surface);border:1px solid var(--ts-line);overflow:hidden}

.previewIcon .emojiVisual{font-size:28px;line-height:1}
    .tableWrap{max-width:100%}
    .salesFilters{display:grid;grid-template-columns:1.4fr .9fr .9fr .65fr .65fr .9fr auto;gap:10px;align-items:end;margin-bottom:14px}
    .salesFilters input,.salesFilters select{width:100%;min-width:0}
    .softDivider{height:1px;background:rgba(255,255,255,.1);margin:16px 0}
    @media(max-width:1180px){.salesFilters{grid-template-columns:1fr 1fr 1fr}.salesFilters .reset{grid-column:span 3}}
    @media(max-width:760px){.salesFilters{grid-template-columns:1fr}.salesFilters .reset{grid-column:auto}.topAnnouncement{align-items:flex-start;flex-direction:column}}
  

    /* === TSUKOUNT V1 PREMIUM UI PATCH === */
    :root{
      --radius-xl:24px; --radius-lg:18px; --radius-md:14px;
      --glass:var(--ts-surface);
      --glass2:var(--ts-surface);
      --accent:var(--red);
      --accent2:#a855f7;
    }
    body{overflow-x:hidden;letter-spacing:-.01em}
    .main{max-width:1680px;margin-left:280px}
    h1,h2,h3{letter-spacing:-.035em}
    .card{border-radius:var(--radius-xl)!important;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important;box-shadow:0 18px 60px rgba(0,0,0,.22);border-color:rgba(255,255,255,.105)!important}
    .card:hover{border-color:var(--ts-line)!important}
    .btn,button{transition:transform .16s ease,opacity .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}
    .btn:hover,button:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.22)}
    .btn:active,button:active{transform:translateY(0)}
    input,select,textarea{border-radius:14px!important;background:rgba(3,3,28,.82)!important;border:1px solid var(--ts-line)!important;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
    input:focus,select:focus,textarea:focus{border-color:rgba(168,85,247,.65)!important;box-shadow:0 0 0 4px rgba(168,85,247,.12)!important;background:rgba(8,8,36,.95)!important}
    .v1Toolbar,.salesFilters{background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:20px;padding:12px;box-shadow:inset 0 1px 0 var(--ts-surface)}
    .tableWrap{width:100%;max-width:100%;overflow-x:auto!important;border-radius:20px;border:1px solid var(--ts-line);background:rgba(0,0,0,.12)}
    .table{min-width:980px;border-collapse:separate!important;border-spacing:0;width:100%}
    .table th{position:sticky;top:0;z-index:2;background:rgba(12,13,48,.96);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ts-muted)}
    .table td{vertical-align:middle;border-top:1px solid var(--ts-surface)}
    .table tbody tr{transition:background .14s ease,transform .14s ease}
    .table tbody tr:hover{background:var(--ts-surface)}
    .modalOverlay{backdrop-filter:blur(14px);align-items:center!important;justify-content:center!important;padding:20px;overflow:auto}
    .modalBox,.modalCard{border-radius:26px!important;background:linear-gradient(180deg,rgba(20,21,58,.98),rgba(7,8,32,.98))!important;border:1px solid var(--ts-line)!important;box-shadow:0 30px 120px rgba(0,0,0,.58)!important;max-height:92vh;overflow:auto;max-width:min(1180px,calc(100vw - 40px))!important}
    .modalHeader{position:sticky;top:0;z-index:4;background:linear-gradient(180deg,rgba(20,21,58,.98),rgba(20,21,58,.88));backdrop-filter:blur(14px);padding-bottom:12px}
    .modalFooterSticky{position:sticky;bottom:0;background:linear-gradient(0deg,rgba(20,21,58,.98),rgba(20,21,58,.82));padding-top:14px;z-index:4;border-top:1px solid var(--ts-line)}
    .previewIcon{font-size:0}.previewIcon .emojiVisual{font-size:30px}
    .catalogGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin-top:14px}
    .productAdminCard{position:relative;border:1px solid rgba(255,255,255,.095);background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.025));border-radius:22px;padding:14px;display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:start;min-height:150px;transition:transform .15s ease,border-color .15s ease,background .15s ease}
    .productAdminCard:hover{transform:translateY(-2px);border-color:rgba(168,85,247,.38);background:linear-gradient(180deg,rgba(168,85,247,.11),rgba(255,255,255,.025))}
    .productAdminCard .previewIcon{width:58px;height:58px;border-radius:18px}
    .productAdminCard h3{margin:2px 0 4px;font-size:16px;line-height:1.1}
    .productAdminCard .code{font-size:11px;color:var(--muted2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-word}
    .productAdminCard .meta{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
    .productAdminCard .actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;margin-top:4px}
    .productAdminCard .dragHandle{position:absolute;top:10px;right:10px;opacity:.65}
    .settingsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:16px}
    .settingsPanel{border:1px solid var(--ts-surface);border-radius:22px;padding:16px;background:rgba(255,255,255,.026)}
    .settingsPanel h3{margin:0 0 8px}.settingsPanel .formRow{grid-template-columns:1fr 1fr}
    .roleActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
    .roleCard{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid var(--ts-line);border-radius:22px!important}
    .roleGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
    .editItems{overflow-x:auto!important}.editItemRow{min-width:860px}.editItemRow input,.editItemRow select{min-width:0}.editItemRow .btn,.editItemRow button{white-space:nowrap}
    .topAnnouncement{border-radius:20px;background:linear-gradient(135deg,rgba(168,85,247,.26),rgba(192,83,81,.18));border:1px solid var(--ts-line)}
    body.company-pacific{--red:#9b6bb3;--accent:#9b6bb3;--accent2:#f3d49b}
    body.company-pacific .announce,.btn.blue{background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--ts-text);border-color:transparent}
    body.company-pacific .nav.active{background:linear-gradient(135deg,rgba(155,107,179,.38),rgba(243,212,155,.20));color:var(--ts-text);border-color:rgba(243,212,155,.38)}
    @media(max-width:980px){

.roleGrid,.catalogGrid,.settingsGrid{grid-template-columns:1fr}.table{min-width:760px}.editItemRow{min-width:780px}}

  

    /* === TSUKOUNT V1 SYSTEM UI + DIRECT VISUAL REFRESH === */
    :root{
      --ui-bg-1:#050518;
      --ui-bg-2:#0d0d2d;
      --ui-surface:var(--ts-surface);
      --ui-surface-2:var(--ts-surface);
      --ui-border:rgba(255,255,255,.11);
      --ui-border-strong:var(--ts-surface-2);
      --ui-shadow:0 24px 80px rgba(0,0,0,.38);
      --ui-primary:#a76af2;
      --ui-primary-2:#dd6f8f;
      --ui-gold:#f3d49b;
      --ui-success:#24d6a1;
      --ui-danger:#ff6f91;
    }
    body{
      background:
        radial-gradient(circle at 16% 0%, rgba(167,106,242,.18) 0, transparent 34%),
        radial-gradient(circle at 92% 8%, rgba(221,111,143,.12) 0, transparent 28%),
        linear-gradient(135deg,var(--ui-bg-1),var(--ui-bg-2) 70%,#07071f)!important;
    }
    .sidebar{
      background:linear-gradient(180deg,rgba(12,12,45,.94),rgba(4,4,22,.96))!important;
      border-right:1px solid var(--ts-line)!important;
      box-shadow:18px 0 60px rgba(0,0,0,.24);
    }
    .main{padding-top:26px!important}
    header{
      padding:4px 2px 14px;
      border-bottom:1px solid var(--ts-surface);
    }
    .title h1{font-size:34px!important;line-height:1.05;margin-bottom:6px}
    .title p{color:rgba(255,255,255,.48)!important}
    .card{
      background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.028))!important;
      border:1px solid var(--ui-border)!important;
      box-shadow:var(--ui-shadow)!important;
    }
    .nav{
      border-radius:14px!important;
      padding:11px 12px!important;
      color:rgba(255,255,255,.74)!important;
    }
    .nav:hover{
      background:var(--ts-surface)!important;
      border-color:var(--ts-line)!important;
      color:var(--ts-text)!important;
    }
    .nav.active{
      background:linear-gradient(135deg,rgba(167,106,242,.30),rgba(221,111,143,.18))!important;
      color:var(--ts-text)!important;
      border-color:rgba(167,106,242,.42)!important;
      box-shadow:0 12px 34px rgba(167,106,242,.18)!important;
    }
    .btn,.discord,.announce,.logout,button{
      border-radius:14px!important;
      letter-spacing:-.015em;
    }
    .btn.blue,.discord,.announce{
      background:linear-gradient(135deg,var(--ui-primary),var(--ui-primary-2))!important;
      color:var(--ts-text)!important;
      border-color:var(--ts-line)!important;
    }
    .btn.secondary,.logout{
      background:var(--ts-surface)!important;
      color:var(--ts-text)!important;
      border:1px solid var(--ts-line)!important;
    }
    .btn.red{
      background:rgba(255,111,145,.14)!important;
      color:#ffc5d2!important;
      border:1px solid rgba(255,111,145,.34)!important;
    }
    .badge,.tag{box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}

    /* Custom select system */
    select.tk-native-select{
      position:absolute!important;
      opacity:0!important;
      pointer-events:none!important;
      width:1px!important;height:1px!important;
      min-width:0!important;
    }
    .tk-select{
      position:relative;
      min-width:150px;
      width:100%;
      z-index:5;
    }
    .tk-select-btn{
      width:100%;
      min-height:42px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:10px 12px;
      border-radius:14px;
      border:1px solid var(--ts-line);
      background:linear-gradient(180deg,rgba(8,8,36,.96),rgba(5,5,27,.96));
      color:var(--ts-text);
      cursor:pointer;
      text-align:left;
      box-shadow:inset 0 1px 0 var(--ts-surface);
    }
    .tk-select-btn::after{
      content:'⌄';
      color:rgba(255,255,255,.64);
      font-size:16px;
      line-height:1;
    }
    .tk-select.open .tk-select-btn{
      border-color:rgba(167,106,242,.72);
      box-shadow:0 0 0 4px rgba(167,106,242,.13), inset 0 1px 0 var(--ts-surface);
    }
    .tk-select-menu{
      position:absolute;
      left:0; right:0;
      top:calc(100% + 8px);
      max-height:280px;
      overflow:auto;
      padding:6px;
      border-radius:16px;
      background:rgba(8,8,34,.98);
      border:1px solid var(--ts-line);
      box-shadow:0 24px 70px rgba(0,0,0,.48);
      backdrop-filter:blur(14px);
      display:none;
      z-index:99999;
    }
    .tk-select.open .tk-select-menu{display:block;animation:tkDrop .12s ease-out}
    @keyframes tkDrop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
    .tk-option{
      width:100%;
      display:flex;
      align-items:center;
      gap:8px;
      padding:10px 11px;
      border:0;
      border-radius:12px!important;
      background:transparent;
      color:var(--ts-surface-2);
      cursor:pointer;
      text-align:left;
      box-shadow:none!important;
      transform:none!important;
    }
    .tk-option:hover{background:rgba(167,106,242,.15)!important;color:var(--ts-text);box-shadow:none!important;transform:none!important}
    .tk-option.active{background:linear-gradient(135deg,rgba(167,106,242,.32),rgba(221,111,143,.16));color:var(--ts-text);font-weight:900}
    .tk-option[disabled]{opacity:.45;cursor:not-allowed}

    /* Toasts and custom dialogs */
    .tk-toast-host{position:fixed;right:20px;bottom:20px;display:grid;gap:10px;z-index:999999;pointer-events:none;max-width:min(420px,calc(100vw - 40px))}
    .tk-toast{pointer-events:auto;border:1px solid var(--ts-line);background:linear-gradient(180deg,rgba(22,23,60,.98),rgba(8,9,35,.98));color:var(--ts-text);border-radius:18px;padding:13px 15px;box-shadow:0 20px 70px rgba(0,0,0,.45);animation:tkToastIn .18s ease-out;font-weight:800;white-space:pre-wrap}
    .tk-toast.error{border-color:rgba(255,111,145,.35);background:linear-gradient(180deg,rgba(65,19,38,.98),rgba(28,9,22,.98));color:#ffd7df}
    .tk-toast.ok{border-color:rgba(36,214,161,.30);background:linear-gradient(180deg,rgba(18,57,54,.98),rgba(8,31,32,.98));color:#d7fff3}
    @keyframes tkToastIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
    .tk-dialog-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(14px);z-index:999998;display:grid;place-items:center;padding:20px}
    .tk-dialog{width:min(520px,96vw);border-radius:24px;background:linear-gradient(180deg,rgba(23,24,63,.98),rgba(9,10,36,.98));border:1px solid rgba(255,255,255,.15);box-shadow:0 30px 120px rgba(0,0,0,.62);padding:20px;color:var(--ts-text)}
    .tk-dialog h3{margin:0 0 8px;font-size:22px}.tk-dialog p{margin:0 0 14px;color:var(--ts-muted);white-space:pre-wrap}.tk-dialog input{width:100%;margin:6px 0 16px}.tk-dialog-actions{display:flex;justify-content:flex-end;gap:10px}

    /* stronger premium layout */
    .roleCard,.productAdminCard,.settingsPanel{box-shadow:0 16px 50px rgba(0,0,0,.22)}
    .formRow{gap:14px!important}
    .field label{color:var(--ts-muted)!important;font-weight:800;font-size:12px;letter-spacing:.015em}
    .tableWrap::-webkit-scrollbar,.tk-select-menu::-webkit-scrollbar{height:10px;width:10px}.tableWrap::-webkit-scrollbar-thumb,.tk-select-menu::-webkit-scrollbar-thumb{background:rgba(167,106,242,.34);border-radius:999px}.tableWrap::-webkit-scrollbar-track,.tk-select-menu::-webkit-scrollbar-track{background:var(--ts-surface);border-radius:999px}

  

    /* Tsukount V1 — Ventes Pro */
    .salesProPage .toolbar h2{margin:0;color:var(--ts-text);letter-spacing:.01em}
    .salesProSummary{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr)) auto;gap:12px;margin:14px 0 16px;align-items:stretch}
    .salesProCard{border:1px solid var(--ts-line);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border-radius:18px;padding:14px;min-height:92px}
    .salesProCard small{display:block;color:var(--muted);font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
    .salesProCard b{display:block;font-size:24px;color:var(--ts-text);margin:7px 0 2px}
    .salesProCard span{color:var(--muted);font-size:12px}
    .salesExportBtn{height:100%;min-width:130px}
    .salesProFilters{display:grid;grid-template-columns:1.7fr .9fr .9fr .9fr .95fr .62fr .62fr .85fr auto;gap:10px;align-items:center;margin:0 0 16px;padding:12px;border:1px solid var(--ts-line);background:var(--ts-surface);border-radius:20px}
    .salesProFilters input,.salesProFilters select{width:100%;min-width:0}
    .salesSearchBox{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--ts-bg);border-radius:12px;padding:0 10px}
    .salesSearchBox input{border:0;background:transparent;box-shadow:none!important;padding-left:0}
    .saleDetailCell{min-width:260px;white-space:normal;line-height:1.35}
    .saleDetailCell b{display:block;color:var(--ts-text)}
    .saleDetailCell small{display:block;color:var(--muted2);font-size:11px;margin-top:4px}
    .saleActions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:220px}
    .saleActions .btn{padding:8px 10px;font-size:13px}
    @media(max-width:1280px){.salesProSummary{grid-template-columns:repeat(2,1fr)}.salesExportBtn{height:auto}.salesProFilters{grid-template-columns:1fr 1fr 1fr}}
    @media(max-width:760px){.salesProSummary,.salesProFilters{grid-template-columns:1fr}.saleActions{justify-content:flex-start;min-width:0}.saleDetailCell{min-width:0}}

  

    /* TSUKOUNT V1 FINAL — Dashboard Premium + UX compact */
    .premiumHero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;margin-bottom:18px}
    .premiumPanel{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border:1px solid var(--ts-line);border-radius:28px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
    .premiumTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.premiumTitle h2{margin:0;font-size:25px}.premiumTitle p{margin:5px 0 0;color:var(--muted)}
    .premiumKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.premiumKpi{background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:22px;padding:16px}.premiumKpi small{display:block;color:var(--muted);font-weight:850}.premiumKpi b{display:block;font-size:26px;color:var(--ts-text);margin-top:8px}.premiumKpi span{display:block;color:var(--muted);font-size:12px;margin-top:5px}
    .premiumChart{height:280px;display:flex;gap:12px;align-items:end;padding:18px 8px 30px;border-radius:22px;background:rgba(0,0,0,.15);border:1px solid var(--ts-line)}.premiumBar{flex:1;min-width:24px;border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,var(--accent,#d96c7a),rgba(255,255,255,.10));position:relative;box-shadow:0 10px 28px rgba(0,0,0,.18)}.premiumBar small{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--muted)}
    .premiumSide{display:grid;gap:14px}.premiumMiniList{display:grid;gap:10px}.premiumMiniRow{display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--ts-surface);border:1px solid var(--ts-surface);border-radius:16px;padding:12px}.premiumMiniRow small{color:var(--muted);display:block;margin-top:3px}.premiumAlert{border-color:rgba(245,158,11,.24);background:rgba(245,158,11,.10)}
    .settingsHub{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:16px}.settingsHubCard{border:1px solid var(--ts-line);background:var(--ts-surface);border-radius:22px;padding:16px}.settingsHubCard h3{margin:0 0 6px}.settingsHubCard p{min-height:38px;color:var(--muted)}
    .topAnnouncement{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.announcementActions{display:flex;gap:8px;flex-wrap:wrap}.announcementActions .btn{padding:8px 11px;border-radius:11px}
    .stockAddGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stockAddGrid .wide{grid-column:span 2}@media(max-width:760px){.stockAddGrid{grid-template-columns:1fr}.stockAddGrid .wide{grid-column:auto}}
    .salesProSummary{display:none!important}.salesProPage .toolbar p{max-width:760px}.saleActions{display:flex;gap:6px;flex-wrap:wrap}.saleActions .btn{padding:8px 10px}.saleDetailCell small{color:var(--muted)}
    @media(max-width:1180px){.premiumHero{grid-template-columns:1fr}.premiumKpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.premiumKpis{grid-template-columns:1fr}.premiumChart{height:220px}.premiumPanel{padding:16px;border-radius:22px}}

  

    /* =========================================================
       TSUKOUNT V2 — responsive SaaS polish, non destructive
       ========================================================= */
    html,body{max-width:100%;overflow-x:hidden;scroll-behavior:smooth}
    .main{max-width:1680px;margin-left:280px;padding:28px clamp(18px,2vw,34px);min-width:0}
    .layout{min-width:0}.sidebar{z-index:50}.card,.premiumPanel,.loginCard{backdrop-filter:blur(18px)}
    header{position:relative}.title h1{letter-spacing:-.03em;text-transform:none;font-size:clamp(28px,2.3vw,42px)}.title p{font-size:13px}
    .grid4,.grid3,.grid2,.split,.dashboardGrid,.premiumHero,.premiumKpis{min-width:0}
    .premiumHero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:18px;align-items:start}
    .premiumKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.premiumKpi{min-width:0;background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:18px;padding:16px}.premiumKpi b{font-size:clamp(22px,1.7vw,32px);letter-spacing:-.04em}.premiumKpi small,.premiumKpi span{color:var(--muted)}
    .premiumChart{height:310px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));border:1px solid rgba(255,255,255,.075);border-radius:20px;padding:26px 18px 28px;display:flex;align-items:end;gap:14px;overflow:hidden}.premiumBar{flex:1;min-width:24px;border-radius:14px 14px 4px 4px;background:linear-gradient(180deg,var(--accent,var(--red)),rgba(255,255,255,.22));position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}.premiumBar small{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);font-size:11px;color:var(--muted)}
    .premiumSide{display:grid;gap:14px;min-width:0}.premiumMiniRow{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--ts-surface)}.premiumMiniRow:last-child{border-bottom:0}.premiumMiniRow b,.premiumMiniRow strong{color:var(--ts-text)}.premiumMiniRow small{display:block;color:var(--muted);margin-top:3px}
    input,select,textarea,.btn,.nav,.logout,.announce{transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease,opacity .18s ease}.btn:hover,.nav:hover,.logout:hover,.announce:hover{transform:translateY(-1px)}
    .toolbar,.salesProFilters{gap:10px}.salesProFilters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(150px,1fr)) minmax(90px,.55fr) minmax(90px,.55fr) minmax(140px,.8fr) auto;align-items:center;margin:14px 0 18px}.salesSearchBox{display:flex;align-items:center;gap:8px;background:var(--ts-bg);border:1px solid var(--line);border-radius:14px;padding:0 10px}.salesSearchBox input{border:0;background:transparent;box-shadow:none;width:100%}

.tableWrapV2{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin;contain:layout paint}.tableV2{width:100%;min-width:0;table-layout:auto}.tableV2 th,.tableV2 td{white-space:normal;vertical-align:middle;line-height:1.35}.tableV2 td{word-break:break-word}.tableV2 td[data-label="Actions"],.tableV2 th:last-child{width:1%;white-space:nowrap}.saleActions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.saleActions .btn{padding:8px 10px;border-radius:11px}.saleDetailCell{min-width:220px;max-width:520px}.saleDetailCell small{display:block;margin-top:5px;color:var(--muted)}
    .modalBackdrop{padding:18px}.modalBox,.modal{max-width:min(1040px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto}.modalActions{position:sticky;bottom:0;background:linear-gradient(180deg,transparent,rgba(7,8,31,.96) 18%);padding-top:14px;z-index:5}.editItems{overflow-x:auto;max-width:100%}.editItemRow{grid-template-columns:minmax(180px,1.4fr) 74px minmax(100px,.75fr) minmax(100px,.75fr) minmax(90px,.6fr) minmax(96px,.7fr)!important}

.topAnnouncement{border:1px solid color-mix(in srgb,var(--accent,var(--red)) 35%,transparent);box-shadow:0 14px 38px rgba(0,0,0,.22);border-radius:18px;margin-bottom:18px}.announcementActions{margin-left:auto}
    .product,.catalogCard,.roleCard{border-color:rgba(255,255,255,.095);box-shadow:0 12px 38px rgba(0,0,0,.22)}
    .stockTools,.settingsGrid,.adminGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
    @media (max-width:1280px){.main{padding:22px}.grid4{grid-template-columns:repeat(2,1fr)}

.salesProFilters{grid-template-columns:repeat(3,minmax(0,1fr))}.salesSearchBox{grid-column:1/-1}.products{grid-template-columns:repeat(3,1fr)}.pos{grid-template-columns:1fr}.dashboardGrid,.split{grid-template-columns:1fr}}
    @media (max-width:920px){.sidebar{position:relative;width:100%;inset:auto;border-right:0;border-bottom:1px solid var(--line);display:block}.main{margin-left:0;width:100%;max-width:100%;padding:18px}

header{flex-direction:column}.grid4,.grid3,.grid2,.formRow,.premiumKpis{grid-template-columns:1fr}.products{grid-template-columns:repeat(2,1fr)}.salesProFilters{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar>*{max-width:100%}.week{width:100%}.tableWrapV2{border:0;background:transparent;overflow:visible}.tableV2 thead{display:none}.tableV2,.tableV2 tbody,.tableV2 tr,.tableV2 td{display:block;width:100%}.tableV2 tr{background:linear-gradient(180deg,rgba(20,22,58,.86),rgba(7,8,31,.94));border:1px solid rgba(255,255,255,.09);border-radius:18px;margin:0 0 12px;padding:10px}.tableV2 td{border:0!important;padding:8px 10px;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.tableV2 td::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;min-width:110px}.tableV2 td[data-label="Actions"]{justify-content:flex-start}.tableV2 td[data-label="Actions"]::before{display:none}.saleActions{justify-content:flex-start;width:100%}.saleDetailCell{min-width:0;max-width:none;text-align:right}.editItemRow,.editItemRow.header{display:grid!important;grid-template-columns:1fr!important;gap:8px}

.modalBox,.modal{width:100%!important}.premiumChart{height:240px}}
    @media (max-width:560px){.products{grid-template-columns:1fr}.premiumKpi b{font-size:24px}.card,.premiumPanel{padding:16px;border-radius:18px}.title h1{font-size:28px}.btn{width:auto}.announcementActions{width:100%}.announcementActions .btn{flex:1}.tableV2 td{display:block}.tableV2 td::before{display:block;margin-bottom:4px}.saleDetailCell{text-align:left}.saleActions .btn{flex:1}.premiumChart{gap:7px;padding-left:10px;padding-right:10px}.premiumBar{min-width:14px}}

  

/* === TSUKOUNT V2.1 FULL LAYOUT SAAS — responsive hardening === */
html,body{max-width:100%;overflow-x:hidden!important;}
.main,.card,.premiumPanel,.tableWrap,.tableWrapV2,.modalBox,.modal{max-width:100%;box-sizing:border-box;}
.tableWrap,.tableWrapV2{width:100%;overflow-x:hidden!important;}
.tableV2{width:100%!important;min-width:0!important;table-layout:fixed!important;}
.tableV2 th,.tableV2 td{min-width:0!important;max-width:none;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;}
.tableV2 td[data-label="Actions"],.tableV2 th:last-child{width:auto!important;white-space:normal!important;}
.saleActions{justify-content:flex-start;flex-wrap:wrap;min-width:0!important;}
.saleActions .btn,.saleActions .miniBtn{white-space:nowrap;}
.saleDetailCell{min-width:0!important;max-width:none!important;}
@media (max-width:1350px){
  .tableWrapV2{border:0!important;background:transparent!important;overflow:visible!important;}
  .tableV2 thead{display:none!important;}
  .tableV2,.tableV2 tbody,.tableV2 tr,.tableV2 td{display:block!important;width:100%!important;}
  .tableV2 tr{background:linear-gradient(180deg,rgba(22,24,62,.92),rgba(8,9,34,.97));border:1px solid var(--ts-line);border-radius:18px;margin:0 0 12px!important;padding:12px!important;box-shadow:0 16px 40px rgba(0,0,0,.18);}
  .tableV2 td{border:0!important;padding:8px 10px!important;display:grid!important;grid-template-columns:minmax(110px,28%) minmax(0,1fr);gap:14px;align-items:start;text-align:left!important;}
  .tableV2 td::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;line-height:1.3;}
  .tableV2 td:empty{display:none!important;}
  .tableV2 td[data-label="Actions"]{display:flex!important;gap:8px;align-items:center;justify-content:flex-start;padding-top:12px!important;border-top:1px solid var(--ts-line)!important;}
  .tableV2 td[data-label="Actions"]::before{display:none!important;}
  .tableV2 td[data-label="Détail vendu"],.tableV2 td[data-label="Produit"],.tableV2 td[data-label="Nom"]{font-size:15px;font-weight:800;}
  .saleActions{width:100%;justify-content:flex-start!important;}
  .saleActions .btn,.saleActions .miniBtn{flex:0 1 auto;}
}
@media (max-width:640px){
  .main{padding:14px!important;}
  .card,.premiumPanel{border-radius:16px!important;padding:14px!important;}
  .tableV2 td{display:block!important;padding:8px 6px!important;}
  .tableV2 td::before{display:block;margin-bottom:4px;}
  .saleActions .btn,.saleActions .miniBtn{flex:1 1 120px;}
  .toolbar,.v1Toolbar,.salesProFilters{gap:8px;}
}

/* V3 — enterprise isolation + audit polish */
.logLine{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid var(--ts-line);padding:10px 0}
.logLine:last-child{border-bottom:0}
body:not(.pacific) .layout{--ui-primary:#d85d6e;--ui-primary-2:#c83343;--ui-primary-hover:#e67381;--accent:#d85d6e;--accent-2:#c83343;--accent-soft:rgba(216,93,110,.16);--accent-border:rgba(216,93,110,.30)}


/* === TSUKOUNT V3.1 — finition UI, vrais thèmes entreprise, dropdown anti-overlay === */
body.company-harmony{
  --red:#d9232e;
  --accent:#d9232e;
  --accent2:#ffffff;
  --ui-primary:#d9232e;
  --ui-primary-2:#8d111a;
  --ui-gold:#ffffff;
  --card:#0b0b16;
  --card2:#151520;
  --line:var(--ts-line);
  background:
    radial-gradient(circle at 12% 0%,rgba(217,35,46,.22) 0,transparent 32%),
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.055) 0,transparent 28%),
    linear-gradient(135deg,#050508 0%,#0b0b13 56%,#030305 100%)!important;
}
body.company-pacific{
  --red:#9b6bb3;
  --accent:#9b6bb3;
  --accent2:#f3d49b;
  --ui-primary:#9b6bb3;
  --ui-primary-2:#6f438f;
  --ui-gold:#f3d49b;
  --card:#111026;
  --card2:#1a1731;
  background:
    radial-gradient(circle at 12% 0%,rgba(155,107,179,.28) 0,transparent 34%),
    radial-gradient(circle at 86% 12%,rgba(243,212,155,.12) 0,transparent 30%),
    linear-gradient(135deg,#090719 0%,#151126 64%,#080615 100%)!important;
}
body.company-harmony .layout{
  background:linear-gradient(135deg,rgba(217,35,46,.13),transparent 44%)!important;
}
body.company-harmony .sidebar{
  background:linear-gradient(180deg,rgba(10,10,16,.97),rgba(2,2,5,.98))!important;
  border-right:1px solid rgba(217,35,46,.22)!important;
  box-shadow:20px 0 60px rgba(217,35,46,.08),18px 0 60px rgba(0,0,0,.35)!important;
}
body.company-pacific .sidebar{
  background:linear-gradient(180deg,rgba(17,14,38,.97),rgba(7,5,20,.98))!important;
  border-right:1px solid rgba(243,212,155,.18)!important;
}
body.company-harmony .card,
body.company-harmony .premiumPanel,
body.company-harmony .modal,
body.company-harmony .modalBox{
  background:linear-gradient(180deg,rgba(19,19,28,.96),rgba(8,8,13,.98))!important;
  border-color:rgba(217,35,46,.16)!important;
}
body.company-pacific .card,
body.company-pacific .premiumPanel,
body.company-pacific .modal,
body.company-pacific .modalBox{
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03))!important;
  border-color:rgba(243,212,155,.14)!important;
}
body.company-harmony .announce,
body.company-harmony .btn.blue,
body.company-harmony .discord{
  background:linear-gradient(135deg,#ef3340,#9b111a)!important;
  color:var(--ts-text)!important;
  box-shadow:0 14px 36px rgba(217,35,46,.26)!important;
}
body.company-pacific .announce,
body.company-pacific .btn.blue,
body.company-pacific .discord{
  background:linear-gradient(135deg,#9b6bb3,#d38aa4)!important;
  color:var(--ts-text)!important;
  box-shadow:0 14px 36px rgba(155,107,179,.25)!important;
}
body.company-harmony .nav.active{
  background:linear-gradient(135deg,rgba(217,35,46,.36),rgba(255,255,255,.08))!important;
  color:var(--ts-text)!important;
  border-color:rgba(217,35,46,.42)!important;
}
body.company-pacific .nav.active{
  background:linear-gradient(135deg,rgba(155,107,179,.42),rgba(243,212,155,.18))!important;
  color:var(--ts-text)!important;
  border-color:rgba(243,212,155,.36)!important;
}
body.company-harmony input:focus,
body.company-harmony textarea:focus,
body.company-harmony select:focus,
body.company-harmony .tk-select.open .tk-select-btn{
  border-color:rgba(239,51,64,.75)!important;
  box-shadow:0 0 0 4px rgba(239,51,64,.14)!important;
}
body.company-pacific input:focus,
body.company-pacific textarea:focus,
body.company-pacific select:focus,
body.company-pacific .tk-select.open .tk-select-btn{
  border-color:rgba(243,212,155,.50)!important;
  box-shadow:0 0 0 4px rgba(155,107,179,.18)!important;
}
body.company-harmony .tk-option:hover{background:rgba(217,35,46,.17)!important}
body.company-harmony .tk-option.active{background:linear-gradient(135deg,rgba(217,35,46,.36),rgba(255,255,255,.08))!important}
body.company-pacific .tk-option:hover{background:rgba(155,107,179,.19)!important}
body.company-pacific .tk-option.active{background:linear-gradient(135deg,rgba(155,107,179,.36),rgba(243,212,155,.12))!important}
.tk-select{position:relative!important;z-index:auto!important;isolation:isolate;}
.tk-select.open{z-index:999999!important;}
.tk-select-menu{
  position:fixed!important;
  right:auto!important;
  z-index:2147483000!important;
  min-width:150px;
  max-width:min(92vw,420px);
  overflow:auto!important;
  transform:translateZ(0);
}
.card,.premiumPanel,.modal,.modalBox,.tableWrap,.tableWrapV2,.editItems,.settingsPanel,.roleCard,.productAdminCard{overflow:visible!important;}
.tableWrap,.tableWrapV2{overflow-x:auto!important;overflow-y:visible!important;}
.modal,.modalBox{overflow:auto!important;}
body.company-harmony .premiumBar,
body.company-harmony .barChart,
body.company-harmony .bar span{background:linear-gradient(180deg,#ef3340,#2b1116)!important;}
body.company-pacific .premiumBar,
body.company-pacific .barChart,
body.company-pacific .bar span{background:linear-gradient(180deg,#b985c9,#2c2040)!important;}
@media(max-width:920px){
  .sidebar{padding:16px!important;}
  .brand{margin-bottom:16px!important;}
  .announce{margin-bottom:14px!important;}
  .nav{min-height:46px!important;}
  .main{padding:16px!important;}
  .card,.premiumPanel{border-radius:20px!important;}
}


/* === V3.1.1 — Dropdown sane fix: compact controls + body portal menus === */
.tk-select{
  position:relative!important;
  display:inline-block!important;
  width:auto!important;
  min-width:160px!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  vertical-align:top!important;
  isolation:auto!important;
}
.tk-select-btn{width:100%!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.tk-select-menu{
  position:fixed!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  width:auto!important;
  min-width:160px!important;
  max-width:min(360px,calc(100vw - 16px))!important;
  display:none!important;
  z-index:2147483647!important;
}
.tk-select-menu.open{display:block!important;animation:tkDrop .12s ease-out!important;}
.v1Toolbar .tk-select,
.toolbar .tk-select,
.filters .tk-select,
.salesFilters .tk-select,
.salesProFilters .tk-select,
.catalogToolbar .tk-select,
.partnerToolbar .tk-select{
  width:auto!important;
  min-width:170px!important;
  max-width:260px!important;
}
.field .tk-select,
.formRow .tk-select,
.modal .tk-select,
.modalBox .tk-select,
.settingsPanel .tk-select,
.recipeRow .tk-select,
.editItemRow .tk-select{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
@media(max-width:760px){
  .v1Toolbar .tk-select,
  .toolbar .tk-select,
  .filters .tk-select,
  .salesFilters .tk-select,
  .salesProFilters .tk-select,
  .catalogToolbar .tk-select,
  .partnerToolbar .tk-select{
    width:100%!important;
    max-width:none!important;
  }
}


/* === TSUKOUNT V3.2 — dropdown portal final + annonce contrastée + présence === */
body > .tk-select-menu{
  position:fixed!important;
  display:none!important;
  z-index:2147483647!important;
  width:auto!important;
  min-width:180px!important;
  max-width:min(420px,calc(100vw - 18px))!important;
  max-height:min(360px,calc(100vh - 18px))!important;
  overflow:auto!important;
  padding:7px!important;
  border-radius:18px!important;
  transform:none!important;
  isolation:isolate!important;
  pointer-events:auto!important;
}
body > .tk-select-menu.open{display:block!important;}
.tk-select{display:inline-block!important;position:relative!important;z-index:auto!important;}
.tk-select.open{z-index:auto!important;}
.tk-select-btn{min-height:42px!important;}
.toolbar,.v1Toolbar,.salesFilters,.salesProFilters,.catalogToolbar,.partnerToolbar{overflow:visible!important;position:relative;z-index:10;}
.card,.premiumPanel,.settingsHubCard,.productAdminCard,.roleCard{overflow:visible!important;}
.main{overflow:visible!important;}
body.company-harmony .topAnnouncement{
  background:linear-gradient(135deg,rgba(239,51,64,.95),rgba(88,6,14,.96))!important;
  border:1px solid rgba(255,91,104,.62)!important;
  box-shadow:0 18px 55px rgba(239,51,64,.26)!important;
  color:var(--ts-text)!important;
}
body.company-harmony .topAnnouncement b{color:var(--ts-text)!important;}
body.company-harmony .topAnnouncement .muted{color:var(--ts-surface-2)!important;}
body.company-harmony .topAnnouncement .announcementActions .btn.blue,
body.company-harmony .topAnnouncement .announcementActions .btn:not(.secondary){
  background:#fff!important;color:#9d111d!important;border-color:var(--ts-surface-2)!important;
}
body.company-harmony .topAnnouncement .announcementActions .btn.secondary{
  background:rgba(0,0,0,.22)!important;color:var(--ts-text)!important;border-color:rgba(255,255,255,.30)!important;
}
body.company-pacific .topAnnouncement{
  background:linear-gradient(135deg,#f3d49b,#b8894b 54%,#6f438f)!important;
  border:1px solid rgba(243,212,155,.72)!important;
  box-shadow:0 18px 55px rgba(243,212,155,.20)!important;
  color:#21132b!important;
}
body.company-pacific .topAnnouncement b{color:#1c1025!important;}
body.company-pacific .topAnnouncement .muted{color:rgba(30,15,44,.70)!important;}
body.company-pacific .topAnnouncement .announcementActions .btn.blue,
body.company-pacific .topAnnouncement .announcementActions .btn:not(.secondary){
  background:#21132b!important;color:#f8dfad!important;border-color:rgba(33,19,43,.30)!important;
}
body.company-pacific .topAnnouncement .announcementActions .btn.secondary{
  background:var(--ts-surface-2)!important;color:#21132b!important;border-color:rgba(33,19,43,.18)!important;
}
.announcementStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}
.announcementStat{border:1px solid var(--ts-line);border-radius:16px;padding:12px;background:var(--ts-surface)}
.announcementStat b{display:block;font-size:22px;margin-top:4px}
.announcementResponseList{display:grid;gap:8px;margin-top:12px;max-height:340px;overflow:auto;padding-right:4px}
.announcementResponseRow{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:var(--ts-surface);border:1px solid var(--ts-line)}
.announcementResponseRow span{color:var(--muted);font-size:12px}


/* === TSUKOUNT V3.2.1 — Dropdown stable rollback + annonces lisibles === */
select,
select:not(.tk-native-select){
  display:block!important;
  appearance:auto!important;
  -webkit-appearance:auto!important;
  position:relative!important;
  opacity:1!important;
  pointer-events:auto!important;
  width:100%;
  min-height:42px;
  padding:10px 38px 10px 13px!important;
  border-radius:14px!important;
  border:1px solid var(--ts-surface-2)!important;
  background:linear-gradient(180deg,rgba(12,12,42,.98),rgba(6,6,27,.98))!important;
  color:var(--ts-text)!important;
  box-shadow:inset 0 1px 0 var(--ts-surface)!important;
  font-weight:800;
}
select:focus{outline:none!important;box-shadow:0 0 0 4px var(--ts-surface), inset 0 1px 0 var(--ts-surface)!important;}
body.company-harmony select:focus{border-color:rgba(239,51,64,.75)!important;box-shadow:0 0 0 4px rgba(239,51,64,.16)!important;}
body.company-pacific select:focus{border-color:rgba(243,212,155,.72)!important;box-shadow:0 0 0 4px rgba(243,212,155,.18)!important;}
select option{background:#09091f;color:var(--ts-text);}
.tk-select,.tk-select-menu{display:none!important;}
.toolbar select,.v1Toolbar select,.salesFilters select,.salesProFilters select,.catalogToolbar select,.partnerToolbar select{width:auto;min-width:180px;max-width:280px;}
@media(max-width:760px){.toolbar select,.v1Toolbar select,.salesFilters select,.salesProFilters select,.catalogToolbar select,.partnerToolbar select{width:100%;max-width:none;}}
body.company-harmony .topAnnouncement{
  background:linear-gradient(135deg,#f02b38 0%,#b31320 48%,#24070b 100%)!important;
  border:1px solid rgba(255,91,104,.76)!important;
  color:var(--ts-text)!important;
  text-shadow:0 1px 1px rgba(0,0,0,.30);
}
body.company-harmony .topAnnouncement b,
body.company-harmony .topAnnouncement strong{color:var(--ts-text)!important;letter-spacing:.025em;}
body.company-harmony .topAnnouncement .muted{color:rgba(255,255,255,.86)!important;}
body.company-pacific .topAnnouncement{
  background:linear-gradient(135deg,#f8df9a 0%,#d9aa54 48%,#7b4a9c 100%)!important;
  border:1px solid rgba(255,230,164,.85)!important;
  color:#1b1025!important;
  text-shadow:none!important;
}
body.company-pacific .topAnnouncement b,
body.company-pacific .topAnnouncement strong{color:#120817!important;letter-spacing:.025em;}
body.company-pacific .topAnnouncement .muted{color:rgba(27,16,37,.78)!important;}
.topAnnouncement{font-weight:850!important;}
.topAnnouncement .announcementActions .btn{font-weight:950!important;}


/* === TSUKOUNT V3.2.2 — Visual stability: POS layout, readable announcements, safe text wrapping === */
*,*::before,*::after{box-sizing:border-box;}
html,body,#root{max-width:100%;overflow-x:hidden;}
.main,.card,.premiumPanel,.settingsHubCard,.productAdminCard,.roleCard,.tableWrap,.modal,.modalBox,.modalCard,.pos,.products,.grid,.grid2,.grid3,.grid4,.split{min-width:0!important;}
.card,.premiumPanel,.settingsHubCard,.productAdminCard,.roleCard,.modal,.modalBox,.modalCard,.tableWrap,.saleMobileCard,.invoiceCard,.employeeCard,.cartLine,.topAnnouncement{overflow-wrap:anywhere;word-break:normal;}
.card p,.premiumPanel p,.muted,td,th,.saleDetailCell,.cartLine span,.activityItem,.announcementResponseRow,.productAdminCard,.roleCard{line-height:1.42;min-width:0;overflow-wrap:anywhere;}

/* POS: stop squeezing the cart into a half broken column. Stack earlier instead. */
.pos{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(340px,420px)!important;gap:22px!important;align-items:start!important;}
.pos > *{min-width:0!important;}
.pos .card,.pos .premiumPanel{min-width:0!important;}
@media(max-width:1450px){
  .pos{grid-template-columns:1fr!important;}
  .pos > aside,.pos > .cart,.pos > .card:last-child,.pos > .premiumPanel:last-child{position:static!important;width:100%!important;max-width:none!important;}
}
.cartLine.qty{grid-template-columns:minmax(0,1fr) 72px auto!important;}
.cartQty{width:72px!important;min-width:0!important;}
.discountBtn{white-space:normal!important;line-height:1.25!important;}

/* Announcement: visible without washing out the text. */
.topAnnouncement{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:15px 18px!important;
  border-radius:18px!important;
  margin:0 0 20px!important;
  font-weight:850!important;
  text-shadow:none!important;
  overflow:hidden!important;
}
.topAnnouncement > div:first-child{min-width:0!important;line-height:1.35!important;}
.topAnnouncement span{color:inherit!important;opacity:.96!important;}
.topAnnouncement b,.topAnnouncement strong{font-weight:1000!important;}
.announcementActions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important;align-items:center!important;min-width:max-content!important;}
.announcementActions .btn{padding:9px 13px!important;border-radius:13px!important;box-shadow:none!important;}
body.company-harmony .topAnnouncement{
  background:linear-gradient(135deg,#3b0509 0%,#9f101d 58%,#e33440 100%)!important;
  color:var(--ts-text)!important;
  border:1px solid rgba(255,107,119,.72)!important;
  box-shadow:0 18px 55px rgba(227,52,64,.20)!important;
}
body.company-harmony .topAnnouncement b,body.company-harmony .topAnnouncement strong,body.company-harmony .topAnnouncement span{color:var(--ts-text)!important;}
body.company-harmony .topAnnouncement .muted{color:var(--ts-surface-2)!important;}
body.company-harmony .topAnnouncement .announcementActions .btn{background:var(--ts-surface)!important;color:var(--ts-text)!important;border-color:rgba(255,255,255,.28)!important;}
body.company-harmony .topAnnouncement .announcementActions .btn.blue,body.company-harmony .topAnnouncement .announcementActions .btn:not(.secondary){background:#fff!important;color:#a20e1b!important;border-color:var(--ts-text)!important;}
body.company-pacific .topAnnouncement{
  background:linear-gradient(135deg,#271339 0%,#6b3b82 52%,#d4a94e 100%)!important;
  color:var(--ts-text)!important;
  border:1px solid rgba(245,213,139,.70)!important;
  box-shadow:0 18px 55px rgba(212,169,78,.18)!important;
}
body.company-pacific .topAnnouncement b,body.company-pacific .topAnnouncement strong,body.company-pacific .topAnnouncement span{color:var(--ts-text)!important;}
body.company-pacific .topAnnouncement .muted{color:var(--ts-surface-2)!important;}
body.company-pacific .topAnnouncement .announcementActions .btn{background:var(--ts-surface)!important;color:var(--ts-text)!important;border-color:rgba(255,255,255,.25)!important;}
body.company-pacific .topAnnouncement .announcementActions .btn.blue,body.company-pacific .topAnnouncement .announcementActions .btn:not(.secondary){background:#f7d98d!important;color:#24122e!important;border-color:#f7d98d!important;}
@media(max-width:760px){
  .topAnnouncement{grid-template-columns:1fr!important;padding:14px!important;}
  .announcementActions{width:100%!important;min-width:0!important;justify-content:stretch!important;}
  .announcementActions .btn{flex:1!important;min-width:0!important;}
}

/* Native selects: stable, but not ugly/broken. */
.toolbar select,.v1Toolbar select,.salesFilters select,.salesProFilters select,.catalogToolbar select,.partnerToolbar select{max-width:100%!important;}
select{overflow:hidden;text-overflow:ellipsis;}

/* Prevent long labels/details from escaping their blocks. */
.saleMobileCard strong,.saleMobileCard .muted,.productAdminCard h3,.productAdminCard .muted,.roleCard h3,.activityItem strong,.activityItem .muted{overflow-wrap:anywhere;}


/* === Tsukount 4.1 UX polish: dashboard hierarchy, readable banners, bars, nav === */
.sectionLabel{border-top:1px solid var(--ts-line)!important;padding-top:14px!important;margin-top:20px!important;color:rgba(255,255,255,.46)!important;font-size:10px!important;letter-spacing:.16em!important;}
.nav span{filter:grayscale(1)!important;opacity:.48!important;transition:filter .18s ease,opacity .18s ease,transform .18s ease;}
.nav.active span,.nav:hover span{filter:none!important;opacity:1!important;}
.premiumKpi small,.kpiBox small,.info label,.field label{color:var(--muted)!important;font-weight:650!important;}
.premiumKpi b,.kpiBox b,.info strong{color:var(--white)!important;font-weight:1000!important;}
.premiumKpi{opacity:.92!important;}
.premiumKpi.primaryKpi{transform:scale(1.015);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;border-color:color-mix(in srgb,var(--accent,var(--red)) 42%,rgba(255,255,255,.12))!important;box-shadow:0 20px 52px rgba(0,0,0,.28)!important;}
.premiumKpi.primaryKpi b{font-size:clamp(30px,2.8vw,46px)!important;letter-spacing:-.055em!important;}
.premiumKpi:not(.primaryKpi) b{font-size:clamp(21px,1.45vw,28px)!important;}
.premiumChart{align-items:end!important;}
.premiumBar{opacity:.30!important;background:linear-gradient(180deg,color-mix(in srgb,var(--accent,var(--red)) 85%,#fff 8%),rgba(255,255,255,.13))!important;transition:opacity .16s ease,filter .16s ease,transform .16s ease;}
.premiumBar.active,.premiumBar:hover{opacity:1!important;filter:saturate(1.15)!important;transform:translateY(-2px);} 
.premiumBar.zero{height:4px!important;opacity:.22!important;background:rgba(255,255,255,.28)!important;box-shadow:none!important;}
.premiumBar.zero:hover{opacity:.5!important;}
.premiumAlert{background:rgba(239,68,68,.12)!important;border-color:rgba(239,68,68,.28)!important;}
.premiumOk{background:rgba(34,197,94,.10)!important;border-color:rgba(34,197,94,.23)!important;color:#d7ffe8!important;}
.topAnnouncement{background:rgba(15,16,28,.88)!important;border:1px solid var(--ts-line)!important;border-left:6px solid var(--accent,var(--red))!important;color:var(--white)!important;box-shadow:0 18px 45px rgba(0,0,0,.24)!important;}
.topAnnouncement b,.topAnnouncement strong{color:var(--white)!important;}
.topAnnouncement span{color:rgba(255,255,255,.90)!important;}
.topAnnouncement .muted{color:var(--ts-surface-2)!important;}
body.company-harmony .topAnnouncement{--accent:#e11d2e!important;border-left-color:#e11d2e!important;}
body.company-pacific .topAnnouncement{--accent:#f1c56e!important;border-left-color:#f1c56e!important;}
.topAnnouncement .announcementActions .btn{white-space:nowrap!important;}
.topAnnouncement .announcementActions .btn.blue,.topAnnouncement .announcementActions .btn:not(.secondary){background:var(--accent,var(--red))!important;color:#130914!important;border-color:transparent!important;}
body.company-harmony .topAnnouncement .announcementActions .btn.blue,body.company-harmony .topAnnouncement .announcementActions .btn:not(.secondary){color:var(--ts-text)!important;}
body.company-pacific .topAnnouncement .announcementActions .btn.blue,body.company-pacific .topAnnouncement .announcementActions .btn:not(.secondary){color:#271423!important;}
@media(max-width:760px){.premiumKpi.primaryKpi{transform:none}.premiumKpi.primaryKpi b{font-size:32px!important}.topAnnouncement{gap:10px!important}.topAnnouncement .announcementActions{width:100%;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));}}


/* === Tsukount 4.1 POS refonte complète === */
.pos{grid-template-columns:minmax(0,1fr) minmax(360px,430px)!important;gap:22px!important;align-items:start!important;}
.posMain{min-width:0;}
.posCart{position:sticky;top:18px;background:linear-gradient(180deg,rgba(38,34,52,.96),rgba(21,19,32,.98))!important;border:1px solid var(--ts-line)!important;box-shadow:0 24px 70px rgba(0,0,0,.28)!important;}
.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
.product{position:relative;min-height:116px;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028))!important;border:1px solid rgba(255,255,255,.105)!important;border-radius:18px!important;padding:16px!important;text-align:left!important;display:flex!important;flex-direction:column!important;gap:8px!important;justify-content:space-between!important;box-shadow:0 16px 44px rgba(0,0,0,.20)!important;overflow:hidden!important;}
.product:hover{transform:translateY(-2px)!important;border-color:var(--primary)!important;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04))!important;}
.product.active{border-color:var(--primary)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 55%,transparent),0 18px 50px rgba(0,0,0,.30)!important;}
.product .emoji{width:46px;height:46px;border-radius:14px;display:flex!important;align-items:center;justify-content:center;background:var(--ts-surface);font-size:28px!important;margin-bottom:2px!important;}
.product .emoji img{width:42px!important;height:42px!important;object-fit:contain;border-radius:11px;}
.product strong{font-size:15px;line-height:1.12;overflow-wrap:anywhere;}
.product small{font-size:16px!important;color:var(--ts-text)!important;font-weight:950!important;text-align:right;display:block;margin-top:auto;}
.product .cartBadge{position:absolute;top:10px;right:10px;min-width:28px;height:28px;border-radius:999px;background:var(--primary);color:var(--ts-text);display:flex;align-items:center;justify-content:center;font-weight:950;box-shadow:0 10px 24px rgba(0,0,0,.32);}
.product.provisional{border-style:dashed!important;border-color:rgba(245,158,11,.42)!important;}
.product .provBadge{position:absolute;left:12px;bottom:10px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#ffd18a;border:1px dashed rgba(245,158,11,.55);border-radius:999px;padding:3px 7px;background:rgba(245,158,11,.08);}
.posSectionTitle{margin-top:22px!important;margin-bottom:10px!important;}
.posLoyaltyMini{border:1px solid var(--ts-line);border-radius:16px;padding:12px;background:var(--ts-surface);margin:12px 0;}
.posLoyaltyMini h3{margin:0 0 8px;font-size:15px;}
.posLoyaltyGrid{display:grid;grid-template-columns:1fr;gap:8px;}
.posLoyaltyMini .field{margin:0;}
.posLoyaltyMini select{height:42px;}
.cartEmpty{min-height:160px;border:1px dashed var(--ts-surface-2);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);background:rgba(0,0,0,.12);margin:14px 0;}
.cartEmptyIcon{font-size:34px;opacity:.72;}
.cartLine.qty{grid-template-columns:minmax(0,1fr) 72px 38px!important;background:var(--ts-surface)!important;border-color:var(--ts-line)!important;}
.cartLineName{font-weight:900;color:var(--ts-text);overflow-wrap:anywhere;}
.cartLinePrice{display:block;color:var(--muted);font-size:12px;margin-top:3px;font-weight:700;}
.cartQty{background:rgba(0,0,0,.25)!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:10px!important;color:var(--ts-text)!important;font-weight:900!important;}
.cartRemove{background:rgba(239,68,68,.16)!important;border:1px solid rgba(239,68,68,.36)!important;color:#ffd4d4!important;}
.posCart .discountBtn{display:none;}
.posCart.hasItems .discountBtn{display:block;}
.posCart .toolbar{margin-top:14px;display:grid;grid-template-columns:1fr 1.2fr;gap:10px;}
.posCart .grandTotal b{font-size:24px;color:var(--ts-text);}
.posCart .info{min-width:0;}
@media(max-width:1420px){.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.pos{grid-template-columns:minmax(0,1fr) minmax(340px,400px)!important;}}
@media(max-width:1100px){

.posCart{position:static}

}
@media(max-width:620px){.products{grid-template-columns:1fr!important}.product{min-height:108px}.posCart .toolbar{grid-template-columns:1fr}.posLoyaltyMini{padding:10px}.cartLine.qty{grid-template-columns:1fr 64px 36px!important;}}


/* === TSUKOUNT V3.5 — POS cart + loyalty business focus === */
.posCart{background:linear-gradient(180deg,rgba(34,30,48,.98),rgba(18,16,28,.99))!important;box-shadow:-18px 0 55px rgba(0,0,0,.38)!important;border-color:var(--ts-line)!important;}
.posCart>h2{font-size:24px!important;margin-bottom:2px!important;letter-spacing:-.02em;}
.posCart>.muted{margin-bottom:12px!important;}
.posClientBox{margin:14px 0 12px;padding:12px;border-radius:18px;background:var(--ts-surface);border:1px solid var(--ts-line);box-shadow:0 12px 30px rgba(0,0,0,.18);}
.posClientBox.activeClient{background:linear-gradient(135deg,rgba(168,85,247,.13),rgba(0,0,0,.10));border-color:color-mix(in srgb,var(--primary) 42%,rgba(255,255,255,.10));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 25%,transparent),0 18px 48px rgba(0,0,0,.24);}
.company-harmony .posClientBox.activeClient{background:linear-gradient(135deg,rgba(220,38,38,.14),rgba(0,0,0,.12));}
.clientBoxTop{display:flex;align-items:center;gap:10px;min-width:0;}
.clientAvatar{width:36px;height:36px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--accent));color:var(--ts-text);display:flex;align-items:center;justify-content:center;font-weight:950;font-size:12px;flex:0 0 auto;box-shadow:0 8px 18px rgba(0,0,0,.25);}
.company-pacific .clientAvatar{color:#211018;}
.mutedAvatar{background:var(--ts-surface);color:var(--muted);box-shadow:none;}
.clientMeta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.clientMeta b{font-size:14px;color:var(--ts-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.clientMeta span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.clientClear{width:28px;height:28px;border-radius:10px;border:1px solid var(--ts-line);background:var(--ts-surface);color:var(--ts-surface-2);font-weight:950;cursor:pointer;}
.clientClear:hover{background:rgba(239,68,68,.18);color:#ffd4d4;border-color:rgba(239,68,68,.32);}
.clientControls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px;align-items:center;}
.posClientSelect{min-width:0;width:100%;height:38px;border-radius:12px;border:1px solid var(--ts-line);background:#090a1e;color:var(--ts-text);font-weight:800;padding:0 10px;}
.compactBtn{height:38px!important;padding:0 12px!important;border-radius:12px!important;white-space:nowrap;}
.loyaltyApplied{margin-top:10px;border-radius:14px;padding:10px 12px;background:rgba(0,0,0,.22);border:1px solid var(--ts-line);display:grid;gap:6px;}
.loyaltyApplied b{color:var(--ts-text);font-size:12px;display:block;}
.loyaltyApplied span{color:var(--muted);font-size:11px;display:block;margin-top:2px;}
.loyaltyApplied em{font-style:normal;color:color-mix(in srgb,var(--primary) 72%,#fff);font-size:12px;font-weight:950;}
.mutedLoyalty{opacity:.72;}
.product{background:#1e1b2e!important;border-color:var(--ts-line)!important;box-shadow:0 8px 24px rgba(0,0,0,.20)!important;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease!important;}
.product:hover{transform:translateY(-2px);background:#242036!important;border-color:color-mix(in srgb,var(--primary) 42%,var(--ts-line))!important;box-shadow:0 16px 34px rgba(0,0,0,.28)!important;}
.product.active{background:linear-gradient(180deg,rgba(168,85,247,.13),rgba(30,27,46,.98))!important;border-color:var(--primary)!important;}
.company-harmony .product.active{background:linear-gradient(180deg,rgba(220,38,38,.14),rgba(18,18,18,.98))!important;}
.prodPriceLabel{display:block;margin-top:auto;text-align:right;color:var(--ts-text);font-size:16px;font-weight:950;letter-spacing:-.01em;}
.product strong{font-size:14px!important;line-height:1.25!important;color:var(--ts-text)!important;}
.product .emoji{margin-bottom:8px!important;}
.product.provisional{border-style:dashed!important;border-color:rgba(251,191,36,.34)!important;}
.product.provisional .prodPriceLabel{color:#ffe5a0;}
.provBadge{position:absolute;top:12px;left:12px;background:rgba(251,191,36,.14)!important;color:#fbbf24!important;border:1px dashed rgba(251,191,36,.42)!important;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:950;}
.cartEmpty{background:var(--ts-surface)!important;border-color:var(--ts-line)!important;}
.cartLine.qty{box-shadow:0 8px 18px rgba(0,0,0,.16)!important;}
.grandTotal{margin-top:10px!important;padding:13px 0!important;border-top:1px solid var(--ts-line)!important;}
.grandTotal span{font-size:13px!important;color:var(--ts-surface-2)!important;}
.grandTotal b{font-size:28px!important;}
@media(max-width:620px){.clientControls{grid-template-columns:1fr}.compactBtn{width:100%}.posClientBox{padding:10px}.clientAvatar{width:32px;height:32px}.grandTotal b{font-size:24px!important}}

/* V3.5.1 — fidélité sortie du panier : contexte client au-dessus du catalogue */
.posLoyaltyContext{margin:0 0 16px;}
.posLoyaltyContext .posClientBox{margin:0;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border:1px solid var(--ts-line);box-shadow:0 16px 44px rgba(0,0,0,.20);}
.posLoyaltyContext .posClientBox.activeClient{border-color:color-mix(in srgb,var(--primary) 44%,rgba(255,255,255,.12));background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 13%,rgba(255,255,255,.035)),rgba(255,255,255,.025));}
.company-harmony .posLoyaltyContext .posClientBox.activeClient{background:linear-gradient(135deg,rgba(220,38,38,.14),rgba(255,255,255,.025));}
.posLoyaltyContext .clientBoxTop{display:flex;align-items:center;gap:10px;}
.posLoyaltyContext .clientControls{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;margin-top:10px;}
.posLoyaltyContext .loyaltyApplied{margin-top:10px;padding:9px 10px;border-radius:12px;background:rgba(0,0,0,.16);border:1px solid var(--ts-line);display:flex;align-items:center;justify-content:space-between;gap:12px;}
.posLoyaltyContext .loyaltyApplied span,.posLoyaltyContext .clientMeta span{display:block;color:var(--muted);font-size:12px;line-height:1.35;}
.posLoyaltyContext .loyaltyApplied em{font-style:normal;color:var(--primary);font-weight:900;text-align:right;}
.posCart .posClientBox{display:none!important;}
.posCart .discountBtn{margin-top:14px;}
@media(max-width:760px){.posLoyaltyContext .clientControls{grid-template-columns:1fr}.posLoyaltyContext .loyaltyApplied{display:block}.posLoyaltyContext .loyaltyApplied em{display:block;text-align:left;margin-top:6px}}


/* ===== Tsukount 4.1 — full polish produit ===== */
:root{--tk-harmony:#e6333f;--tk-pacific:#d8b76a;--tk-soft-line:var(--ts-surface);--tk-muted:rgba(255,255,255,.58);}
.money,.table .money,.table td.money,.table th.money{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap;}
.tableV2 thead th,.table thead th{background:var(--ts-surface)!important;color:rgba(255,255,255,.54)!important;text-transform:none!important;letter-spacing:.01em!important;font-size:12px!important;}
.tableV2 tbody tr,.table tbody tr{border-bottom:1px solid var(--ts-surface)!important;}
.tableV2 tbody tr:hover,.table tbody tr:hover{background:var(--ts-surface)!important;}
.actionSubtle{background:transparent!important;border:1px solid var(--ts-line)!important;color:rgba(255,255,255,.56)!important;box-shadow:none!important}.table tr:hover .actionSubtle{color:var(--ts-text)!important;border-color:rgba(255,255,255,.32)!important}
.emptyState{padding:42px 20px;text-align:center;border:1px dashed var(--ts-line);border-radius:18px;color:rgba(255,255,255,.58);background:rgba(255,255,255,.018);margin-top:14px}.emptyState .icon{font-size:30px;opacity:.85;margin-bottom:10px}.emptyState b{display:block;color:var(--ts-text);margin-bottom:4px;font-size:16px}.emptyState small{color:rgba(255,255,255,.45)}
.rowInactive{opacity:.48}.statusPill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.statusPending{background:rgba(248,113,113,.12);color:#fca5a5}.statusPartial{background:rgba(250,204,21,.12);color:#fde68a}.statusPaid{background:rgba(74,222,128,.12);color:#86efac}.statusNone{background:var(--ts-surface);color:rgba(255,255,255,.5)}
.tableFooterTotal{border-top:1px solid rgba(255,255,255,.11)!important;background:var(--ts-surface)!important;font-weight:900!important}.tableFooterTotal td{color:var(--ts-text)!important}
.smartCardPreview{display:flex;align-items:center;justify-content:space-between;gap:18px}.smartCardPreview p{color:rgba(255,255,255,.58);margin-top:5px}.smartChips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.smartChips span{padding:5px 9px;border-radius:999px;background:var(--ts-surface);color:var(--ts-muted);font-size:12px}.bilanFlow{display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:12px;font-weight:800;margin:10px 0}.bilanFlow:before,.bilanFlow:after{content:"";height:1px;background:var(--ts-surface);flex:1}.bilanFlow span{padding:0 12px}.info.bilanRow{padding:10px 0;border-bottom:1px solid var(--ts-surface)}.info.bilanHighlight{margin-top:4px;padding:11px 12px;border-radius:12px;background:var(--ts-surface);border-top:1px solid var(--ts-line);font-weight:900}.info.bilanHighlight b{color:var(--ts-text)}.valueSuggested{color:#d8b4fe!important}.successInline{display:inline-flex;align-items:center;gap:8px;color:#86efac;background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.18);padding:8px 10px;border-radius:12px;margin-top:12px}.dangerInline{display:block;color:#fca5a5;background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.18);padding:10px;border-radius:12px;margin-top:12px}
.posLoyaltyContext{margin-bottom:12px;max-width:480px}.posLoyaltyContext .posClientBox{padding:10px 12px!important;border-radius:14px!important}.posLoyaltyContext .clientControls{gap:8px!important}.posLoyaltyContext .posClientSelect{min-height:34px!important}.posLoyaltyContext .loyaltyApplied{padding:7px 9px!important;margin-top:8px!important}.discountBtn{width:100%;text-align:left;display:flex!important;align-items:center;justify-content:space-between;gap:8px}.discountBtn:before{content:"🤝 Partenaires / Réductions";font-weight:900}.discountBtn{font-size:0!important}.discountBtn:after{content:attr(data-label);font-size:13px}.discountBtn.active:after{content:"Actif"}.posCart{min-width:320px!important}.cartEmpty{border:1px dashed var(--ts-line)!important;background:var(--ts-surface)!important}
.stockCard{position:relative}.stockCard .stockQty{font-size:34px;font-weight:1000;line-height:1}.stockCard.ok .stockQty{color:#86efac}.stockCard.low .stockQty{color:#fde68a}.stockCard.critical .stockQty{color:#fca5a5}.stockActionsMenu{position:absolute;right:14px;top:14px}.stockActionsMenu details{position:relative}.stockActionsMenu summary{list-style:none;width:34px;height:34px;border-radius:12px;background:var(--ts-surface);border:1px solid var(--ts-line);display:flex;align-items:center;justify-content:center;cursor:pointer}.stockActionsMenu summary::-webkit-details-marker{display:none}.stockActionsMenu .menuPanel{position:absolute;right:0;top:40px;z-index:50;width:220px;padding:8px;border-radius:14px;background:#171425;border:1px solid var(--ts-line);box-shadow:0 20px 50px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:6px}.stockActionsMenu .menuPanel button{width:100%;justify-content:flex-start;text-align:left}.stockOkBetter{display:flex;align-items:center;gap:8px}.restockStepper{display:grid;gap:14px}.restockBlock{border:1px solid var(--ts-surface);border-radius:18px;padding:14px;background:rgba(255,255,255,.018)}.restockBlock h3{margin-bottom:10px}.restockMiniStats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.restockMiniStats .miniStat{padding:12px;border-radius:14px;background:var(--ts-surface);border:1px solid var(--ts-surface)}.restockMiniStats .miniStat small{display:block;color:rgba(255,255,255,.48);margin-bottom:5px}.restockMiniStats .miniStat b{font-size:18px;color:var(--ts-text)}.copyPrimary{background:linear-gradient(90deg,#8b5cf6,#d946ef)!important;color:var(--ts-text)!important}.harmony .copyPrimary{background:linear-gradient(90deg,#e6333f,#9f1239)!important}.copyBox{border:1px solid var(--ts-line)!important;background:#07070b!important;border-radius:16px!important;padding:16px!important;min-height:120px}.stockAdvice{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stockStatusLine{padding:8px 10px;border-radius:12px;background:var(--ts-surface);display:flex;gap:10px;align-items:center;color:rgba(255,255,255,.7)}
@media(max-width:1100px){.restockMiniStats{grid-template-columns:1fr 1fr}.stockAdvice{grid-template-columns:1fr}.posCart{min-width:280px!important}}
@media(max-width:760px){.smartCardPreview{align-items:flex-start;flex-direction:column}.restockMiniStats{grid-template-columns:1fr}.posLoyaltyContext{max-width:none}.posCart{min-width:0!important}}


/* === Tsukount 4.1 — clean annonces, POS reductions, dashboard distribution, IRS export === */
.topAnnouncement{background:rgba(14,15,26,.92)!important;border:1px solid var(--ts-line)!important;border-left:6px solid var(--accent,var(--red))!important;color:var(--ts-text)!important;align-items:center!important;}
body.company-harmony .topAnnouncement{--accent:#ef233c!important;box-shadow:0 14px 42px rgba(239,35,60,.16)!important;}
body.company-pacific .topAnnouncement{--accent:#e8bf6a!important;box-shadow:0 14px 42px rgba(232,191,106,.13)!important;}
.topAnnouncement .announcementActions .btn{min-width:92px!important;text-align:center!important;background:var(--ts-surface)!important;color:rgba(255,255,255,.88)!important;border:1px solid var(--ts-surface-2)!important;}
.topAnnouncement .announcementActions .btn.blue,.topAnnouncement .announcementActions .btn.activeChoice{background:var(--accent)!important;color:#0b0710!important;border-color:var(--accent)!important;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 22%,transparent)!important;}
body.company-harmony .topAnnouncement .announcementActions .btn.blue,body.company-harmony .topAnnouncement .announcementActions .btn.activeChoice{color:var(--ts-text)!important;}
.topAnnouncement .announcementActions .btn:not(.blue):not(.activeChoice){opacity:.82!important;}
.announcementPresenceHint{font-size:12px;color:var(--ts-muted);margin-top:3px;}
.posPartnerBox{margin:12px 0;padding:12px;border-radius:16px;border:1px solid var(--ts-line);background:var(--ts-surface);display:grid;gap:8px}
.posPartnerBoxTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:1000;color:var(--ts-text);font-size:13px}
.posPartnerBox small{display:block;color:var(--muted);line-height:1.35}.posPartnerBox.active{border-color:color-mix(in srgb,var(--accent,var(--red)) 42%,transparent);background:color-mix(in srgb,var(--accent,var(--red)) 9%,var(--ts-surface))}.posPartnerBox .partnerAction{width:100%;justify-content:center;background:var(--ts-surface)!important;color:var(--ts-text)!important;border:1px solid var(--ts-surface-2)!important}.posPartnerBox.active .partnerAction{background:var(--accent,var(--red))!important;color:var(--ts-text)!important;border-color:transparent!important}.posLoyaltyContext{max-width:380px!important}.posLoyaltyContext .posClientBox{padding:9px 10px!important}.posLoyaltyContext .clientControls{grid-template-columns:1fr auto!important}.posLoyaltyContext .posClientSelect{font-size:12px!important}.dashboardDistribution{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center}.donutWrap{width:112px;height:112px;display:grid;place-items:center}.donutLegend{display:grid;gap:7px;min-width:0}.donutLegendRow{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px;font-size:12px}.donutDot{width:9px;height:9px;border-radius:999px}.donutLegendRow span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ts-surface-2)}.donutLegendRow b{color:var(--ts-text);font-variant-numeric:tabular-nums}.donutTotal{grid-column:1/-1;margin-top:8px;padding-top:10px;border-top:1px solid var(--ts-line);color:var(--muted)}.donutTotal b{display:block;color:var(--accent,var(--red));font-size:22px;margin-top:4px}.irsExportBtn{margin-left:auto}.irsImageToast{position:fixed;right:18px;bottom:18px;z-index:999999;background:#111827;color:var(--ts-text);border:1px solid var(--ts-line);border-radius:14px;padding:12px 14px;box-shadow:0 14px 42px rgba(0,0,0,.4)}
@media(max-width:760px){.dashboardDistribution{grid-template-columns:1fr}.donutWrap{margin:auto}.topAnnouncement .announcementActions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.posLoyaltyContext{max-width:none!important}}


/* === TSUKOUNT V4.0 — Pro SaaS flat / soft UI pass === */
body.company-harmony,
body.company-pacific{
  --tk-bg:#0f1115!important;
  --tk-surface:var(--ts-surface)!important;
  --tk-surface-2:var(--ts-surface-2)!important;
  --tk-surface-3:#222733!important;
  --tk-border:var(--ts-surface-2)!important;
  --tk-border-soft:var(--ts-surface)!important;
  --tk-text:#f3f4f6!important;
  --tk-muted:#aab1bf!important;
  --navy:#0f1115!important;
  --bg:#0f1115!important;
  --card:var(--ts-surface)!important;
  --card2:var(--ts-surface-2)!important;
  --line:var(--ts-surface-2)!important;
  --muted:#aab1bf!important;
  background:#0f1115!important;
  color:#f3f4f6!important;
}
body.company-harmony{--accent:#ef4444!important;--primary:#ef4444!important;--accentSoft:rgba(239,68,68,.12)!important;--accentText:#fecaca!important;}
body.company-pacific{--accent:#c7a86b!important;--primary:#c7a86b!important;--accentSoft:rgba(199,168,107,.13)!important;--accentText:#f7e6bc!important;}
.layout,
body.company-harmony .layout,
body.company-pacific .layout{
  background:#0f1115!important;
  background-image:none!important;
}
.main{
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 260px),
    #0f1115!important;
}
.sidebar,
body.company-harmony .sidebar,
body.company-pacific .sidebar{
  background:var(--ts-bg-2)!important;
  border-right:1px solid #252a33!important;
  box-shadow:none!important;
}
.logoBox,.userCard{
  background:var(--ts-surface)!important;
  border-color:var(--ts-surface-2)!important;
  box-shadow:none!important;
}
.nav{
  background:transparent!important;
  border-color:transparent!important;
  color:rgba(243,244,246,.66)!important;
}
.nav:hover{background:var(--ts-surface)!important;color:var(--ts-text)!important;border-color:#252a33!important;}
.nav .ico{filter:grayscale(1);opacity:.55!important;}
.nav.active{
  background:var(--accentSoft)!important;
  border-color:color-mix(in srgb,var(--accent) 42%,var(--ts-surface-2))!important;
  color:var(--ts-text)!important;
  box-shadow:none!important;
}
.nav.active .ico{filter:none;opacity:1!important;}
.sideSection,.navGroupTitle,.sectionTitle{color:rgba(243,244,246,.42)!important;}
.card,.premiumPanel,.modal,.modalBox,.tableWrap,.tableWrapV2,.settingsPanel,.settingsHubCard,.productAdminCard,.roleCard,.stockCard,.restockBlock{
  background:var(--ts-surface)!important;
  background-image:none!important;
  border:1px solid var(--ts-surface-2)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.card:hover,.premiumPanel:hover,.product:hover,.stockCard:hover{box-shadow:none!important;}
header{border-bottom:1px solid #252a33!important;background:transparent!important;}
.title h1,.pageTitle,h1,h2,h3{color:#f3f4f6!important;letter-spacing:-.025em;}
.muted,small,label,.helpText{color:#aab1bf!important;}
input,select,textarea,.tk-select-btn{
  background:var(--ts-bg-2)!important;
  border-color:var(--ts-surface-2)!important;
  color:#f3f4f6!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus,.tk-select.open .tk-select-btn{
  border-color:color-mix(in srgb,var(--accent) 55%,var(--ts-surface-2))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)!important;
}
.btn,.discord,.announce{
  box-shadow:none!important;
}
.btn.blue,.discord,body.company-harmony .btn.blue,body.company-pacific .btn.blue{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:body!important;
}
body.company-harmony .btn.blue,body.company-harmony .discord{color:var(--ts-text)!important;}
body.company-pacific .btn.blue,body.company-pacific .discord{color:var(--ts-bg-2)!important;}
.btn.secondary,.btn.dark,.btn.gray{
  background:var(--ts-surface-2)!important;
  border-color:#333a47!important;
  color:#e5e7eb!important;
}
.topAnnouncement,
body.company-harmony .topAnnouncement,
body.company-pacific .topAnnouncement{
  background:var(--ts-surface)!important;
  background-image:none!important;
  border:1px solid var(--ts-surface-2)!important;
  border-left:5px solid var(--accent)!important;
  color:#f3f4f6!important;
  box-shadow:none!important;
}
.topAnnouncement b{color:var(--ts-text)!important;}
.topAnnouncement span,.topAnnouncement .muted{color:#c8ced8!important;}
.topAnnouncement .announcementActions .btn{
  background:var(--ts-surface-2)!important;
  border-color:#333a47!important;
  color:#e5e7eb!important;
  box-shadow:none!important;
}
.topAnnouncement .announcementActions .btn.blue,
.topAnnouncement .announcementActions .btn.activeChoice{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:var(--ts-bg-2)!important;
}
body.company-harmony .topAnnouncement .announcementActions .btn.blue,
body.company-harmony .topAnnouncement .announcementActions .btn.activeChoice{color:var(--ts-text)!important;}
.metric,.premiumKpi{
  background:#1a1e27!important;
  border:1px solid var(--ts-surface-2)!important;
  box-shadow:none!important;
}
.premiumKpi.primaryKpi,
.grid4 .metric:first-child{
  background:var(--ts-surface-2)!important;
  border-left:4px solid var(--accent)!important;
}
.premiumKpi small,.metric small{color:#aab1bf!important;font-weight:650!important;}
.premiumKpi b,.metric b{color:var(--ts-text)!important;font-weight:850!important;}
.premiumKpi:not(.primaryKpi) b{font-size:clamp(19px,1.25vw,24px)!important;}
.primaryKpi b{font-size:clamp(30px,2.6vw,44px)!important;}
.premiumHero{
  grid-template-columns:minmax(0,1.65fr) minmax(360px,.8fr)!important;
  gap:18px!important;
  align-items:stretch!important;
}
.premiumHero>.premiumPanel{min-height:0!important;display:flex!important;flex-direction:column!important;}
.premiumSide{display:flex!important;flex-direction:column!important;gap:14px!important;}
.premiumSide .premiumPanel{padding:18px!important;}
.premiumChart{
  flex:1!important;
  min-height:260px!important;
  max-height:340px!important;
  height:auto!important;
  background:#141821!important;
  border:1px solid var(--ts-surface-2)!important;
  border-radius:18px!important;
  overflow:visible!important;
  padding:24px 18px 30px!important;
}
.premiumBar{
  background:color-mix(in srgb,var(--accent) 28%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--accent) 18%,transparent)!important;
  box-shadow:none!important;
  opacity:.72!important;
}
.premiumBar.active{
  background:var(--accent)!important;
  opacity:.95!important;
  border-color:var(--accent)!important;
}
.premiumBar.zero{
  background:var(--ts-surface)!important;
  opacity:1!important;
  border-color:var(--ts-line)!important;
  min-height:4px!important;
}
.premiumBar small{color:#9299a8!important;}
.dashboardDistribution{
  grid-template-columns:136px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  overflow:visible!important;
}
.donutWrap{
  width:136px!important;
  height:136px!important;
  overflow:visible!important;
  display:grid!important;
  place-items:center!important;
}
.donutWrap svg{overflow:visible!important;display:block!important;}
.donutLegendRow span{color:#c8ced8!important;}
.donutLegendRow b{color:#f3f4f6!important;}
.donutTotal{border-top:1px solid var(--ts-surface-2)!important;color:#aab1bf!important;}
.donutTotal b{color:var(--accent)!important;font-size:19px!important;}
.premiumMiniRow{
  background:#1a1e27!important;
  border:1px solid var(--ts-surface-2)!important;
  border-radius:14px!important;
  padding:11px 12px!important;
}
.premiumOk{
  background:rgba(34,197,94,.07)!important;
  border-color:rgba(34,197,94,.16)!important;
}
.premiumAlert{
  background:rgba(245,158,11,.08)!important;
  border-color:rgba(245,158,11,.18)!important;
}
.product,.posCart,.posClientBox,.posLoyaltyContext .posClientBox{
  background:var(--ts-surface)!important;
  border-color:var(--ts-surface-2)!important;
  box-shadow:none!important;
}
.product:hover{
  background:var(--ts-surface-2)!important;
  border-color:color-mix(in srgb,var(--accent) 34%,var(--ts-surface-2))!important;
  transform:translateY(-1px)!important;
  box-shadow:none!important;
}
.product.active{background:var(--accentSoft)!important;border-color:var(--accent)!important;}
.product .emoji{background:#222733!important;}
.prodPriceLabel,.product small{color:var(--ts-text)!important;}
.posPartnerBox,.cartEmpty{background:#141821!important;border-color:var(--ts-surface-2)!important;}
.tableV2 thead th,.table thead th{background:#1a1e27!important;color:#aab1bf!important;}
.money{font-variant-numeric:tabular-nums!important;}
.successInline{background:rgba(34,197,94,.07)!important;border-color:rgba(34,197,94,.16)!important;color:#86efac!important;}
.dangerInline{background:rgba(239,68,68,.07)!important;border-color:rgba(239,68,68,.16)!important;color:#fca5a5!important;}
.irs-card,.irsExportCard{background:#f8fafc!important;color:#111827!important;border-color:#e5e7eb!important;}
@media(max-width:1280px){.premiumHero{grid-template-columns:1fr!important}.premiumSide{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboardDistribution{grid-template-columns:126px 1fr!important}.donutWrap{width:126px!important;height:126px!important}}
@media(max-width:760px){.premiumSide{grid-template-columns:1fr!important}.dashboardDistribution{grid-template-columns:1fr!important}.donutWrap{margin:auto!important}.premiumChart{min-height:220px!important}.primaryKpi b{font-size:30px!important}.topAnnouncement{align-items:flex-start!important}.topAnnouncement .announcementActions{width:100%!important;display:flex!important}.topAnnouncement .announcementActions .btn{flex:1!important}}


/* === TSUKOUNT V4.1 — UI consistency + dashboard layout polish === */
:root{
  --surface:var(--ts-surface);
  --surface2:var(--ts-surface-2);
  --surface3:var(--ts-bg-2);
  --lineSoft:var(--ts-surface-2);
}
/* kill remaining blue/purple panels in old modals/menus */
.modal,.modalBox,.modalCard,.dialog,.panel,.settingsPanel,.editItems,.totalBox,.rangeValue,.choiceBtn,.actionMenu,.tk-select-menu,.tk-menu,.dropdown-menu,.customDropdown,.selectMenu{
  background:var(--surface)!important;
  background-image:none!important;
  border-color:var(--lineSoft)!important;
  color:#f3f4f6!important;
  box-shadow:0 18px 52px rgba(0,0,0,.32)!important;
}
.modalHeader,.modalFooterSticky,.tk-dialog-head,.tk-dialog-foot{
  background:var(--surface2)!important;
  background-image:none!important;
  border-color:var(--lineSoft)!important;
  color:#f3f4f6!important;
}
.modalHeader{border-bottom:1px solid var(--lineSoft)!important;}
.modalFooterSticky{border-top:1px solid var(--lineSoft)!important;}
.modal h1,.modal h2,.modal h3,.modalBox h1,.modalBox h2,.modalBox h3,.modalCard h1,.modalCard h2,.modalCard h3{color:#f8fafc!important;}
.actionMenu button,.tk-select-option,.dropdown-menu button,.customDropdown button{
  background:transparent!important;
  color:#c8ced8!important;
  border-color:transparent!important;
}
.actionMenu button:hover,.tk-select-option:hover,.dropdown-menu button:hover,.customDropdown button:hover{
  background:var(--surface2)!important;
  color:var(--ts-text)!important;
}
select option{background:var(--ts-surface)!important;color:#f3f4f6!important;}
.btn.blue,.btn.primary,.discord{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:var(--ts-text)!important;
}
body.company-pacific .btn.blue,body.company-pacific .btn.primary,body.company-pacific .discord{color:var(--ts-surface)!important;}
.btn.secondary,.btn.dark,.btn.gray,.modalClose,.miniBtn{
  background:var(--surface2)!important;
  border-color:#333a47!important;
  color:#e5e7eb!important;
}
/* softer brand identity: no white/unreadable announcement action */
body.company-harmony .announce,body.company-harmony .topAnnouncement{
  background:linear-gradient(90deg,rgba(239,68,68,.20),rgba(239,68,68,.09) 54%,rgba(23,26,33,.96))!important;
  border:1px solid rgba(239,68,68,.34)!important;
  border-left:5px solid #ef3340!important;
  color:#f8fafc!important;
}
body.company-pacific .announce,body.company-pacific .topAnnouncement{
  background:linear-gradient(90deg,rgba(199,168,107,.18),rgba(199,168,107,.08) 54%,rgba(23,26,33,.96))!important;
  border:1px solid rgba(199,168,107,.34)!important;
  border-left:5px solid #c7a86b!important;
  color:#f8fafc!important;
}
.topAnnouncement b,.topAnnouncement span,.topAnnouncement .announcementPresenceHint{color:#f8fafc!important;text-shadow:none!important;}
.topAnnouncement .announcementActions .btn{
  min-width:86px!important;
  background:var(--ts-surface)!important;
  border:1px solid var(--ts-surface-2)!important;
  color:#f8fafc!important;
}
.topAnnouncement .announcementActions .btn.blue,.topAnnouncement .announcementActions .btn.activeChoice{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:var(--ts-text)!important;
}
body.company-pacific .topAnnouncement .announcementActions .btn.blue,body.company-pacific .topAnnouncement .announcementActions .btn.activeChoice{color:var(--ts-surface)!important;}
/* sidebar/ad button consistent with the card accent, softer than pure red */
.announce{border-radius:14px!important;font-weight:850!important;}
body.company-harmony .side .announce,body.company-harmony aside .announce,body.company-harmony .sidebar .announce{
  background:linear-gradient(135deg,rgba(239,68,68,.86),rgba(190,18,60,.78))!important;
  border-color:rgba(239,68,68,.34)!important;
  color:var(--ts-text)!important;
}
body.company-pacific .side .announce,body.company-pacific aside .announce,body.company-pacific .sidebar .announce{
  background:linear-gradient(135deg,rgba(199,168,107,.90),rgba(151,121,62,.76))!important;
  border-color:rgba(199,168,107,.34)!important;
  color:var(--ts-surface)!important;
}
/* active nav uses subtle filled state, not screaming */
body.company-harmony .nav.active{background:linear-gradient(90deg,rgba(239,68,68,.20),rgba(239,68,68,.06))!important;border-color:rgba(239,68,68,.40)!important;}
body.company-pacific .nav.active{background:linear-gradient(90deg,rgba(199,168,107,.18),rgba(199,168,107,.06))!important;border-color:rgba(199,168,107,.40)!important;}
/* dashboard: larger distribution, activity under hero to avoid a long right column */
.companyDashboardHero{grid-template-columns:minmax(0,1.55fr) minmax(410px,.95fr)!important;align-items:start!important;}
.dashboardSide .premiumPanel{min-height:0!important;}
.dashboardSide .premiumPanel:has(.dashboardDistribution){padding:22px!important;}
.dashboardDistribution{grid-template-columns:172px minmax(0,1fr)!important;gap:20px!important;align-items:center!important;}
.donutWrap{width:172px!important;height:172px!important;overflow:visible!important;}
.donutWrap svg{width:162px!important;height:162px!important;overflow:visible!important;}
.donutLegendRow{font-size:13px!important;gap:8px!important;}
.donutTotal b{font-size:22px!important;}
.activityFull{margin-top:18px!important;}
.activityFull .premiumTitle{margin-bottom:12px!important;}
.activityGrid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:10px!important;}
.activityGrid .premiumMiniRow{background:var(--surface2)!important;border:1px solid var(--lineSoft)!important;border-radius:14px!important;padding:12px!important;}
/* reduce visual fatigue on empty charts */
.premiumChart{background:#151922!important;}
.premiumBar{background:color-mix(in srgb,var(--accent) 22%,transparent)!important;border-color:color-mix(in srgb,var(--accent) 12%,transparent)!important;opacity:.62!important;}
.premiumBar.active{opacity:.88!important;}
@media(max-width:1440px){.companyDashboardHero{grid-template-columns:1fr!important}.dashboardSide{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboardDistribution{grid-template-columns:150px 1fr!important}.donutWrap{width:150px!important;height:150px!important}.donutWrap svg{width:144px!important;height:144px!important}}
@media(max-width:860px){.dashboardSide{grid-template-columns:1fr!important}

.activityGrid{grid-template-columns:1fr!important}

}

/* === TSUKOUNT V4.2 — IRS flat export + employee dossier === */
.irsExportBtn{background:var(--accent,var(--red))!important;color:var(--ts-text)!important;border-color:transparent!important;box-shadow:none!important}
.employeeDocsModal .docsSummary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 14px}.docTile{background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:14px;padding:13px;display:grid;gap:5px}.docTile b{color:var(--white)}.docTile span,.docTile small{color:var(--muted)}.docTile a{color:var(--accent,var(--red));font-weight:900;text-decoration:none}.modalHeader{background:var(--ts-surface)!important;border-bottom:1px solid var(--ts-line)!important}.modalHeader h2{letter-spacing:-.02em}.modalBox,.modal{background:var(--card)!important;border-color:var(--line)!important}.modalBox.large{max-width:940px}
body.company-harmony .modalHeader,body.company-harmony .topAnnouncement{background:linear-gradient(90deg,rgba(239,35,60,.16),rgba(239,35,60,.06))!important;border-color:rgba(239,35,60,.24)!important}body.company-pacific .modalHeader,body.company-pacific .topAnnouncement{background:linear-gradient(90deg,rgba(199,168,107,.16),rgba(199,168,107,.06))!important;border-color:rgba(199,168,107,.24)!important}
@media(max-width:760px){.employeeDocsModal .docsSummary{grid-template-columns:1fr}}


    /* =========================================================
       TSUKOUNT V4.2 RELEASE CLEAN — DA unifiée sans toucher au JS
       Objectif: retirer visuellement les restes violets/bleus des anciens patchs,
       fiabiliser modals, selects et responsive pour release immédiate.
       ========================================================= */
    :root{
      --release-bg:#101216;
      --release-bg2:#17191f;
      --release-panel:#1b1d24;
      --release-panel2:#20232b;
      --release-input:#111419;
      --release-border:rgba(255,255,255,.105);
      --release-border-strong:var(--ts-surface-2);
      --release-text:#f7f7f3;
      --release-muted:rgba(247,247,243,.62);
      --release-muted2:rgba(247,247,243,.40);
      --release-red:#d72635;
      --release-red2:#7f151f;
      --release-gold:#d6b46a;
      --release-gold2:#8d7139;
      --release-success:#2dd17d;
      --release-danger:#ef4444;
      --release-shadow:0 22px 70px rgba(0,0,0,.38);
      --release-radius:22px;
    }

    html,body{background:var(--release-bg)!important;color:var(--release-text)!important;overflow-x:hidden!important;}
    body.company-harmony,
    body.company-pacific{
      background:
        radial-gradient(circle at 9% 0%,rgba(255,255,255,.045) 0,transparent 32%),
        linear-gradient(180deg,#111318 0%,#181a20 58%,#111318 100%)!important;
    }
    body.company-harmony{--accent:var(--release-red)!important;--accent2:#ffffff!important;--accentSoft:rgba(215,38,53,.14)!important;--accentText:#ffd1d6!important;--primary:var(--release-red)!important;}
    body.company-pacific{--accent:var(--release-gold)!important;--accent2:#fff0bc!important;--accentSoft:rgba(214,180,106,.15)!important;--accentText:#ffe6a8!important;--primary:var(--release-gold)!important;}

    .layout{background:transparent!important;min-width:0!important;}
    .sidebar{
      background:linear-gradient(180deg,#15161b 0%,#101116 100%)!important;
      border-right:1px solid var(--release-border)!important;
      box-shadow:16px 0 48px rgba(0,0,0,.22)!important;
    }
    .main{background:transparent!important;min-width:0!important;}
    header{border-bottom:1px solid var(--release-border)!important;}
    .brand h2,.title h1,.card h2,.card h3{color:var(--release-text)!important;}
    .title p,.muted,.brand small,.metric small,.metric .sub,.field label,.footerNote{color:var(--release-muted)!important;}

    .card,.panel,.premiumPanel,.settingsPanel,.stockCard,.roleCard,.gradeCard,.productAdminCard,.product,.userBox,.tableWrap,.v1Toolbar,.salesFilters,.topFilters,.filters,.catalogToolbar,.partnerToolbar,.salesProFilters{
      background:linear-gradient(180deg,var(--release-panel2),var(--release-panel))!important;
      border:1px solid var(--release-border)!important;
      border-radius:var(--release-radius)!important;
      box-shadow:var(--release-shadow)!important;
    }
    .card:hover,.product:hover,.productAdminCard:hover{border-color:var(--release-border-strong)!important;box-shadow:0 24px 76px rgba(0,0,0,.42)!important;}

    input,select,textarea,.tk-select-btn{
      background:var(--release-input)!important;
      color:var(--release-text)!important;
      border:1px solid var(--release-border)!important;
      border-radius:14px!important;
      box-shadow:none!important;
    }
    input::placeholder,textarea::placeholder{color:var(--release-muted2)!important;}
    option{background:#111419!important;color:var(--release-text)!important;}
    input:focus,select:focus,textarea:focus,.tk-select.open .tk-select-btn{
      border-color:color-mix(in srgb,var(--accent) 75%,#fff 0%)!important;
      box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)!important;
      outline:0!important;
    }
    .tk-select-menu{
      background:#14171c!important;
      border:1px solid var(--release-border-strong)!important;
      border-radius:16px!important;
      box-shadow:0 26px 80px rgba(0,0,0,.56)!important;
      overflow:auto!important;
    }
    .tk-option{color:var(--release-text)!important;border-radius:12px!important;}
    .tk-option:hover{background:var(--ts-surface)!important;}
    .tk-option.active{background:var(--accentSoft)!important;color:var(--accentText)!important;}

    .btn,button,.miniBtn,.choiceBtn,.modalClose,.logout{
      border-radius:13px!important;
      font-weight:900!important;
    }
    .btn,.logout{background:#f1f1ec!important;color:#101216!important;border:1px solid var(--ts-surface-2)!important;}
    .btn.secondary,.miniBtn,.choiceBtn,.modalClose{
      background:#23262e!important;color:var(--release-text)!important;border:1px solid var(--release-border)!important;
    }
    .btn.blue,.discord,.announce,.choiceBtn.active{
      background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 68%,#000 32%))!important;
      color:var(--ts-text)!important;border-color:transparent!important;
      box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 24%,transparent)!important;
    }
    body.company-pacific .btn.blue,body.company-pacific .discord,body.company-pacific .announce,body.company-pacific .choiceBtn.active{color:#141414!important;}
    .btn.red,.miniBtn.red,.cartRemove{background:var(--release-danger)!important;color:var(--ts-text)!important;}
    .btn.green{background:var(--release-success)!important;color:#07120c!important;}

    .nav{background:transparent!important;border:1px solid transparent!important;color:var(--release-muted)!important;}
    .nav:hover{background:var(--ts-surface)!important;border-color:var(--release-border)!important;color:var(--ts-text)!important;}
    .nav.active{
      background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 20%,transparent),rgba(255,255,255,.025))!important;
      border-color:color-mix(in srgb,var(--accent) 42%,transparent)!important;
      color:var(--ts-text)!important;
      box-shadow:none!important;
    }

    .modalBackdrop,.modalOverlay{background:rgba(0,0,0,.66)!important;backdrop-filter:blur(12px)!important;padding:24px!important;align-items:center!important;justify-content:center!important;overflow:auto!important;}
    .modal,.modalBox,.modalCard,.tk-dialog{
      background:linear-gradient(180deg,#20232a,#15171d)!important;
      color:var(--release-text)!important;
      border:1px solid var(--release-border-strong)!important;
      border-radius:26px!important;
      box-shadow:0 34px 110px rgba(0,0,0,.66)!important;
      max-width:min(1120px,calc(100vw - 32px))!important;
      max-height:calc(100vh - 32px)!important;
      overflow:auto!important;
    }
    .modalHeader{
      background:linear-gradient(180deg,#20232a 75%,rgba(32,35,42,.88))!important;
      border-bottom:1px solid var(--release-border)!important;
      border-radius:20px 20px 0 0!important;
      position:sticky!important;top:0!important;z-index:10!important;
    }
    .modalFooterSticky,.modalActions{
      background:linear-gradient(0deg,#15171d 75%,rgba(21,23,29,.82))!important;
      border-top:1px solid var(--release-border)!important;
      position:sticky!important;bottom:0!important;z-index:10!important;
      padding-top:12px!important;
    }

    .table{border-collapse:separate!important;border-spacing:0!important;min-width:860px;}
    .table th{background:#20232b!important;color:var(--release-muted)!important;}
    .table td{background:transparent!important;color:#ecece8!important;border-bottom:1px solid var(--ts-surface)!important;}
    .table tr:hover td{background:var(--ts-surface)!important;}

    .barChart,.premiumBar,.bar span{background:linear-gradient(180deg,var(--accent),rgba(255,255,255,.10))!important;}
    .badge.blue{background:var(--accentSoft)!important;color:var(--accentText)!important;}
    .notice{background:var(--accentSoft)!important;border-color:color-mix(in srgb,var(--accent) 35%,transparent)!important;color:var(--accentText)!important;}
    .topAnnouncement{
      background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 18%,#1c1f25 82%),#1c1f25)!important;
      border:1px solid color-mix(in srgb,var(--accent) 34%,transparent)!important;
      color:var(--release-text)!important;
    }
    .topAnnouncement b,.topAnnouncement strong,.topAnnouncement span{color:var(--release-text)!important;}
    .topAnnouncement .muted{color:var(--release-muted)!important;}

    .salesFilters{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(170px,1fr)) minmax(120px,.65fr) minmax(120px,.65fr) minmax(160px,.8fr)!important;align-items:center!important;}
    .salesFilters input,.salesFilters select,.salesFilters .tk-select,.toolbar input,.toolbar select,.toolbar .tk-select{min-width:0!important;width:100%!important;}
    .toolbar{min-width:0!important;}
    .catalogForm,.partnerForm,.tombolaForm,.editGrid,.modalGrid,.formRow{min-width:0!important;}

    @media(max-width:1180px){
      .dashboardGrid,.split,.pos{grid-template-columns:1fr!important;}
      .grid4{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
      .grid3{grid-template-columns:repeat(2,minmax(0,1fr))!important;}

.salesFilters{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
      .salesFilters .reset{grid-column:auto!important;}
    }
    @media(max-width:820px){
      .layout{display:block!important;}
      .sidebar{position:relative!important;width:100%!important;height:auto!important;inset:auto!important;max-height:none!important;}
      .main{margin-left:0!important;width:100%!important;max-width:100%!important;padding:16px!important;}
      header{display:block!important;}
      .title h1{font-size:28px!important;}
      .grid4,.grid3,.grid2,.products,.catalogForm,.partnerForm,.tombolaForm,.editGrid,.modalGrid,.formRow,.choiceRow,.salesFilters{grid-template-columns:1fr!important;}
      .modalBackdrop,.modalOverlay{padding:10px!important;align-items:flex-start!important;}
      .modal,.modalBox,.modalCard{width:100%!important;max-width:100%!important;max-height:calc(100vh - 20px)!important;border-radius:20px!important;padding:16px!important;}
      .modalHeader{margin:-6px -6px 14px!important;padding:12px!important;}
      .modalActions{justify-content:stretch!important;flex-wrap:wrap!important;}
      .modalActions .btn,.modalActions button{flex:1 1 160px!important;}
      .editItemRow{min-width:0!important;grid-template-columns:1fr!important;}
      .editItemRow.header{display:none!important;}
      .editItemRow > *{grid-column:auto!important;width:100%!important;}
      .cartLine.qty{grid-template-columns:1fr!important;}
    }
    @media(max-width:520px){
      body{font-size:14px!important;}
      .main{padding:12px!important;}
      .card{padding:14px!important;border-radius:18px!important;}
      .topAnnouncement{border-radius:16px!important;flex-direction:column!important;align-items:flex-start!important;}
      .table{min-width:720px;}
      .logo{width:46px!important;height:46px!important;}
      .brand h2{font-size:14px!important;}
      .userBox{margin-top:14px!important;}
    }


    /* =========================================================
       TSUKOUNT V4.2.2 RELEASE HARDENING
       Dernière couche CSS : écrase les restes de l'ancien design bleu/violet,
       y compris en responsive, modales, menus et selects natifs.
       ========================================================= */
    :root{
      --blue:var(--red);
      --border:var(--line);
      --surface:#101116;
      --surface2:#17181f;
      --surface3:#22232b;
      --accent:var(--red);
    }
    .layout,.main,body{
      background:
        radial-gradient(circle at 0% 0%,rgba(192,83,81,.12),transparent 30%),
        linear-gradient(180deg,#101114 0%,#0b0c10 100%) !important;
    }
    .layout.pacific,.layout.pacific .main{
      background:
        radial-gradient(circle at 0% 0%,rgba(214,177,95,.13),transparent 30%),
        linear-gradient(180deg,#101114 0%,#0b0c10 100%) !important;
    }
    .card,.roleCard,.gradeCard,.settingsHubCard,.metric,.kpiBox,.product,.cartLine,.tableWrap,.userBox,.modalBox,.modalCard,.modalContent,.modalPanel,.modal,.copyBox,.prizeCard,.selectRaffleItem,.permGroup,.invoiceCard,.stockCard,.saleCard,.hubCard{
      background:linear-gradient(180deg,rgba(28,29,34,.98),rgba(15,16,20,.98)) !important;
      border-color:var(--ts-surface) !important;
      box-shadow:0 16px 42px rgba(0,0,0,.34) !important;
    }
    .layout.pacific .card,.layout.pacific .roleCard,.layout.pacific .gradeCard,.layout.pacific .settingsHubCard,.layout.pacific .metric,.layout.pacific .kpiBox,.layout.pacific .product,.layout.pacific .cartLine,.layout.pacific .tableWrap,.layout.pacific .modalBox,.layout.pacific .modalCard,.layout.pacific .modalContent,.layout.pacific .modalPanel,.layout.pacific .modal,.layout.pacific .stockCard,.layout.pacific .saleCard,.layout.pacific .hubCard{
      background:linear-gradient(180deg,rgba(29,28,24,.98),rgba(15,16,20,.98)) !important;
      border-color:rgba(214,177,95,.22) !important;
    }
    input,select,textarea,.week,.customSelectTrigger,.customSelectMenu,.dropdown,.actionMenu{
      background:#121318 !important;
      color:#f4f4f4 !important;
      border-color:rgba(240,240,240,.16) !important;
    }
    option{background:#121318 !important;color:#f4f4f4 !important}
    .btn.blue,.announce,.discord,.layout.harmony .btn.primary{
      background:linear-gradient(135deg,var(--red),#943b39) !important;
      color:var(--ts-text) !important;
    }
    .layout.pacific .btn.blue,.layout.pacific .announce,.layout.pacific .discord,.layout.pacific .nav.active,.layout.pacific .logout{
      background:linear-gradient(135deg,#d6b15f,#8f6c31) !important;
      color:var(--ts-bg-2) !important;
    }
    .nav.active,.logout,.badge.dark{
      background:#f0f0f0 !important;
      color:var(--ts-bg) !important;
    }
    .table th{background:#18191f !important;color:rgba(240,240,240,.70) !important}
    .table td{background:transparent !important;color:#f0f0f0 !important}
    .table tr:hover td{background:rgba(192,83,81,.08) !important}
    .layout.pacific .table tr:hover td{background:rgba(214,177,95,.08) !important}
    .barChart,.bar span{background:linear-gradient(180deg,var(--red),#2b1b1d) !important}
    .layout.pacific .barChart,.layout.pacific .bar span{background:linear-gradient(180deg,#d6b15f,#302616) !important}
    .modalBackdrop,.modalOverlay{background:rgba(0,0,0,.72) !important;backdrop-filter:blur(10px)}
    .modalHeader,.modalFooterSticky{background:transparent !important;border-color:rgba(240,240,240,.10) !important}
    .customSelectMenu,.actionMenu{box-shadow:0 18px 55px rgba(0,0,0,.55) !important}
    @media(max-width:900px){
      .layout{display:block !important}
      .sidebar{position:relative !important;width:100% !important;inset:auto !important;border-right:0 !important;border-bottom:1px solid var(--ts-surface) !important;max-height:none !important;background:var(--ts-bg) !important}
      .main{margin-left:0 !important;width:100% !important;padding:16px !important}
      .grid4,.grid3,.grid2,.split,.dashboardGrid,.pos,.products,.formRow,.recipeRow,.kpiGrid{grid-template-columns:1fr !important}
      .toolbar{align-items:stretch !important}

input,select,textarea,.btn{width:100%}
      .card{border-radius:18px !important;padding:16px !important}
      .title h1{font-size:26px !important}
      .modalBox,.modalCard{width:100% !important;max-height:calc(100vh - 32px) !important;border-radius:18px !important}
      .tableWrap{border-radius:14px !important;overflow-x:auto !important}
      .table th,.table td{white-space:nowrap !important;font-size:13px !important;padding:11px !important}
    }

  

/* =========================================================
   TSUKOUNT V4.2.3 — NO MORE BLUE PATCH
   Objectif: neutraliser tous les restes navy/bleu ancien design
   sans toucher à la logique JS/Supabase.
   ========================================================= */
:root{
  --navy:var(--ts-bg) !important;
  --bg:var(--ts-bg) !important;
  --bg2:var(--ts-bg) !important;
  --card:var(--ts-surface) !important;
  --card2:#181b22 !important;
  --line:var(--ts-surface) !important;
  --blue:var(--red) !important;
}
body,
.layout,
.main,
.sidebar{
  background-color:var(--ts-bg) !important;
}
body{
  background:
    radial-gradient(circle at 12% -8%,rgba(192,83,81,.14) 0,transparent 31%),
    var(--ts-bg) !important;
}
.layout{
  background:linear-gradient(135deg,rgba(192,83,81,.06),transparent 44%),#0b0c10 !important;
}
.layout.pacific,
body.company-pacific,
body.company-pacific .layout{
  background:linear-gradient(135deg,rgba(214,177,95,.08),transparent 44%),#0b0c10 !important;
}
.sidebar,
body.company-harmony .sidebar,
body.company-pacific .sidebar{
  background:linear-gradient(180deg,#101114,#0b0c10) !important;
}

/* Cartes, cards mobiles, panneaux, listes, tableaux: fond flat anthracite */
.card,
.panel,
.premiumPanel,
.product,
.productAdminCard,
.stockCard,
.roleCard,
.gradeCard,
.salesProCard,
.posCart,
.cartLine,
.totalBox,
.tableWrap,
.tableV2 tr,
.tk-dialog,
.modal,
.modalBox,
.modalCard,
.modalContent,
.employeeCard,
.partnerCard,
.raffleCard,
.saleCard,
.invoiceCard,
.salaryCard,
.chargeCard,
.clientCard,
.companyCard,
.itemCard,
.listCard,
.listItem,
.mobileCard,
.recordCard,
.rowCard,
.formCard,
.filterBox,
.toolbar,
.searchBox,
.salesSearchBox,
.posClientBox,
.posLoyaltyContext .posClientBox,
.editItems{
  background:var(--ts-surface) !important;
  background-image:linear-gradient(180deg,#191c23,#111318) !important;
  border-color:var(--ts-surface) !important;
  box-shadow:none !important;
}
.card:hover,
.product:hover,
.productAdminCard:hover,
.listItem:hover,
.mobileCard:hover,
.recordCard:hover{
  background-image:linear-gradient(180deg,#1b1f27,#13151a) !important;
}

/* Tous les contrôles: plus de fond bleu */
input,
select,
textarea,
option,
button,
.tk-select-btn,
.customSelectButton,
.customSelectTrigger,
.customSelectMenu,
.tk-select-menu,
.tk-option,
.dropdown,
.dropdownMenu,
.actionMenu,
.menu,
.menuPanel,
[role="listbox"],
[role="menu"]{
  background-color:var(--ts-bg-2) !important;
  background-image:none !important;
  border-color:rgba(240,240,240,.13) !important;
  color:#f0f0f0 !important;
}
select,
.tk-select-btn,
.customSelectButton,
.customSelectTrigger,
.dropdown select{
  background:var(--ts-bg) !important;
  color:#f0f0f0 !important;
  box-shadow:inset 0 0 0 1px rgba(240,240,240,.03) !important;
}
select:focus,
input:focus,
textarea:focus,
.tk-select-btn:focus,
.customSelectTrigger:focus{
  outline:none !important;
  border-color:rgba(192,83,81,.55) !important;
  box-shadow:0 0 0 3px rgba(192,83,81,.14) !important;
}
.layout.pacific select:focus,
body.company-pacific select:focus,
.layout.pacific input:focus,
body.company-pacific input:focus,
.layout.pacific textarea:focus,
body.company-pacific textarea:focus{
  border-color:rgba(214,177,95,.55) !important;
  box-shadow:0 0 0 3px rgba(214,177,95,.15) !important;
}
option:checked,
.tk-option.active,
.tk-option:hover,
.customSelectMenu .active,
.customSelectMenu button:hover,
.actionMenu button:hover,
.dropdownMenu button:hover{
  background:#2a1b1d !important;
  color:var(--ts-text) !important;
}
.layout.pacific option:checked,
body.company-pacific option:checked,
.layout.pacific .tk-option.active,
body.company-pacific .tk-option.active,
.layout.pacific .tk-option:hover,
body.company-pacific .tk-option:hover,
.layout.pacific .customSelectMenu .active,
body.company-pacific .customSelectMenu .active,
.layout.pacific .customSelectMenu button:hover,
body.company-pacific .customSelectMenu button:hover{
  background:#2d2517 !important;
}

/* États actifs et CTA uniquement en couleur marque, pas bleu */
.nav.active,
.choiceBtn.active,
.product.active,
.btn.blue,
.btn.primary,
.discord,
.announce,
.announcementBtn,
.copyPrimary{
  background:linear-gradient(135deg,#c05351,#8f3a38) !important;
  border-color:rgba(240,240,240,.13) !important;
  color:var(--ts-text) !important;
}
.layout.pacific .nav.active,
body.company-pacific .nav.active,
.layout.pacific .choiceBtn.active,
body.company-pacific .choiceBtn.active,
.layout.pacific .product.active,
body.company-pacific .product.active,
.layout.pacific .btn.blue,
body.company-pacific .btn.blue,
.layout.pacific .btn.primary,
body.company-pacific .btn.primary,
.layout.pacific .discord,
body.company-pacific .discord,
.layout.pacific .announce,
body.company-pacific .announce,
.layout.pacific .announcementBtn,
body.company-pacific .announcementBtn{
  background:linear-gradient(135deg,#d6b15f,#8f7338) !important;
  color:var(--ts-bg) !important;
}

/* Badges/progress: garder le sens mais enlever le navy */
.badge,
.badge.dark,
.status,
.pill,
.tag,
.week,
.logout{
  background:#20232b !important;
  background-image:none !important;
  border-color:var(--ts-surface) !important;
}
.badge.ok,
.status.ok,
.pill.ok,
.tag.ok,
.activeBadge{
  background:#12352a !important;
  color:#a7f3d0 !important;
}
.badge.warn,
.status.warn,
.pill.warn,
.tag.warn{
  background:#3a2912 !important;
  color:#fde68a !important;
}
.badge.bad,
.status.bad,
.pill.bad,
.tag.bad,
.inactiveBadge{
  background:#3a171c !important;
  color:#fca5a5 !important;
}

/* Lignes internes dans les cartes */
.card tr,
.mobileCard tr,
.recordCard tr,
.table tr,
.tableV2 tr{
  border-color:rgba(240,240,240,.10) !important;
}
.table th,
.tableV2 th{
  background:var(--ts-bg-2) !important;
}
.table td,
.tableV2 td{
  background:transparent !important;
}
.table tr:hover td,
.tableV2 tr:hover td{
  background:rgba(192,83,81,.06) !important;
}
.layout.pacific .table tr:hover td,
body.company-pacific .table tr:hover td,
.layout.pacific .tableV2 tr:hover td,
body.company-pacific .tableV2 tr:hover td{
  background:rgba(214,177,95,.07) !important;
}

/* Modales: fond neutre + footer/header neutres */
.modalBackdrop,
.modalOverlay{
  background:rgba(0,0,0,.76) !important;
  backdrop-filter:blur(12px) !important;
}
.modalHeader,
.modalFooterSticky,
.modalActions{
  background:var(--ts-surface) !important;
  background-image:none !important;
  border-color:var(--ts-surface) !important;
}

/* Graphiques et barres */
.barChart,
.premiumBar,
.bar span{
  background:linear-gradient(180deg,#c05351,#2a1719) !important;
}
.layout.pacific .barChart,
body.company-pacific .barChart,
.layout.pacific .premiumBar,
body.company-pacific .premiumBar,
.layout.pacific .bar span,
body.company-pacific .bar span{
  background:linear-gradient(180deg,#d6b15f,#2d2517) !important;
}

/* Mobile: force le rendu cards/tableaux en anthracite */
@media(max-width:900px){
  .card,
  .panel,
  .premiumPanel,
  .product,
  .productAdminCard,
  .stockCard,
  .roleCard,
  .gradeCard,
  .salesProCard,
  .tableWrap,
  .tableV2 tr,
  .modal,
  .modalBox,
  .modalCard,
  .employeeCard,
  .partnerCard,
  .raffleCard,
  .saleCard,
  .invoiceCard,
  .salaryCard,
  .chargeCard,
  .clientCard,
  .mobileCard,
  .recordCard,
  .rowCard,
  .filterBox,
  .toolbar{
    background:var(--ts-surface) !important;
    background-image:linear-gradient(180deg,#191c23,#111318) !important;
    border-color:var(--ts-surface) !important;
  }
  input,select,textarea,.tk-select-btn,.customSelectButton,.customSelectTrigger,.btn{
    background-color:var(--ts-bg-2) !important;
    background-image:none !important;
  }
  .nav.active,.btn.blue,.btn.primary,.discord,.announce,.announcementBtn{
    background:linear-gradient(135deg,#c05351,#8f3a38) !important;
  }
  .layout.pacific .nav.active,
  body.company-pacific .nav.active,
  .layout.pacific .btn.blue,
  body.company-pacific .btn.blue,
  .layout.pacific .btn.primary,
  body.company-pacific .btn.primary,
  .layout.pacific .discord,
  body.company-pacific .discord,
  .layout.pacific .announce,
  body.company-pacific .announce,
  .layout.pacific .announcementBtn,
  body.company-pacific .announcementBtn{
    background:linear-gradient(135deg,#d6b15f,#8f7338) !important;
    color:var(--ts-bg) !important;
  }
}


/* === TSUKOUNT V4.2.4 — 60/30/10 THEME + SELECT NO-BLUE FINAL ===
   Objectif: surfaces 70% anthracite, accent entreprise 30%, rappel 10%.
   Patch CSS only: aucun changement JS/Supabase. */
:root{
  --anthra-0:var(--ts-bg);
  --anthra-1:var(--ts-bg-2);
  --anthra-2:#171a20;
  --anthra-3:#20242b;
  --anthra-4:#2a2f38;
  --soft-line:rgba(255,255,255,.115);
  --soft-line-2:var(--ts-surface-2);
  --harmony-main:#c05351;
  --harmony-main-2:#8f2729;
  --harmony-support:#64748b;
  --pacific-main:#9b6bb3;
  --pacific-main-2:#65417f;
  --pacific-support:#f3d49b;
}
body.company-harmony{
  --brand-main:var(--harmony-main);
  --brand-main-2:var(--harmony-main-2);
  --brand-support:var(--harmony-support);
  --red:var(--harmony-main);
  --accent:var(--harmony-main);
  --accent2:var(--harmony-support);
  --navy:var(--anthra-0);
  --bg:var(--anthra-0);
  --bg2:var(--anthra-1);
  --card:var(--anthra-1);
  --card2:var(--anthra-2);
  background:
    radial-gradient(circle at 8% 0%,rgba(192,83,81,.20) 0,transparent 26%),
    radial-gradient(circle at 88% 10%,rgba(100,116,139,.11) 0,transparent 24%),
    linear-gradient(135deg,var(--anthra-0),var(--anthra-1) 72%,#090a0d)!important;
}
body.company-pacific{
  --brand-main:var(--pacific-main);
  --brand-main-2:var(--pacific-main-2);
  --brand-support:var(--pacific-support);
  --red:var(--pacific-main);
  --accent:var(--pacific-main);
  --accent2:var(--pacific-support);
  --navy:var(--anthra-0);
  --bg:var(--anthra-0);
  --bg2:var(--anthra-1);
  --card:var(--anthra-1);
  --card2:var(--anthra-2);
  background:
    radial-gradient(circle at 8% 0%,rgba(155,107,179,.22) 0,transparent 26%),
    radial-gradient(circle at 88% 10%,rgba(243,212,155,.13) 0,transparent 24%),
    linear-gradient(135deg,var(--anthra-0),var(--anthra-1) 72%,#090a0d)!important;
}
body.company-harmony .layout,
body.company-pacific .layout{background:linear-gradient(135deg,rgba(255,255,255,.015),transparent 46%)!important;}
body.company-harmony .sidebar,
body.company-harmony .card,
body.company-harmony .premiumPanel,
body.company-harmony .settingsHubCard,
body.company-harmony .productAdminCard,
body.company-harmony .roleCard,
body.company-harmony .saleMobileCard,
body.company-harmony .invoiceCard,
body.company-harmony .employeeCard,
body.company-harmony .modalBox,
body.company-harmony .modalCard,
body.company-pacific .card,
body.company-pacific .premiumPanel,
body.company-pacific .settingsHubCard,
body.company-pacific .productAdminCard,
body.company-pacific .roleCard,
body.company-pacific .saleMobileCard,
body.company-pacific .invoiceCard,
body.company-pacific .employeeCard,
body.company-pacific .modalBox,
body.company-pacific .modalCard{
  background:linear-gradient(180deg,rgba(31,35,42,.95),rgba(13,15,19,.97))!important;
  border-color:var(--soft-line)!important;
  box-shadow:0 22px 65px rgba(0,0,0,.36)!important;
}
body.company-harmony .card:hover,
body.company-pacific .card:hover{border-color:var(--ts-surface-2)!important;}
body.company-harmony .v1Toolbar,
body.company-harmony .toolbar,
body.company-harmony .salesFilters,
body.company-harmony .salesProFilters,
body.company-harmony .catalogToolbar,
body.company-harmony .partnerToolbar,
body.company-pacific .v1Toolbar,
body.company-pacific .toolbar,
body.company-pacific .salesFilters,
body.company-pacific .salesProFilters,
body.company-pacific .catalogToolbar,
body.company-pacific .partnerToolbar{
  background:linear-gradient(180deg,rgba(36,40,48,.86),rgba(18,20,25,.88))!important;
  border:1px solid var(--soft-line)!important;
}
/* Kill last native-select blue/purple blocks everywhere */
select,
select:not(.tk-native-select),
.toolbar select,
.v1Toolbar select,
.salesFilters select,
.salesProFilters select,
.catalogToolbar select,
.partnerToolbar select,
.field select,
.formRow select,
.modalBox select,
.settingsPanel select,
.recipeRow select,
.editItemRow select{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  background-color:var(--anthra-1)!important;
  background-image:linear-gradient(180deg,var(--anthra-2),var(--anthra-1))!important;
  color:var(--ts-text)!important;
  border:1px solid var(--ts-surface-2)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 20px rgba(0,0,0,.14)!important;
}
select:hover,
.toolbar select:hover,
.v1Toolbar select:hover,
.salesFilters select:hover,
.salesProFilters select:hover,
.catalogToolbar select:hover,
.partnerToolbar select:hover{border-color:rgba(255,255,255,.24)!important;background-image:linear-gradient(180deg,var(--anthra-3),var(--anthra-1))!important;}
select:focus,
select:focus-visible{
  outline:none!important;
  border-color:var(--brand-main)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-main) 22%,transparent), inset 0 1px 0 var(--ts-surface)!important;
}
body.company-pacific select:focus,
body.company-pacific select:focus-visible{border-color:var(--brand-support)!important;box-shadow:0 0 0 4px rgba(243,212,155,.16),inset 0 1px 0 var(--ts-surface)!important;}
select option{background:#14171d!important;color:var(--ts-text)!important;}
input,textarea,
input[type="number"],input[type="text"],input[type="search"],input[type="date"]{
  background:linear-gradient(180deg,var(--anthra-2),var(--anthra-1))!important;
  border-color:rgba(255,255,255,.15)!important;
  color:var(--ts-text)!important;
}
input:focus,textarea:focus{border-color:var(--brand-main)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-main) 20%,transparent)!important;}
body.company-harmony .nav.active{background:linear-gradient(135deg,rgba(192,83,81,.36),rgba(100,116,139,.13))!important;border-color:rgba(192,83,81,.48)!important;color:var(--ts-text)!important;}
body.company-pacific .nav.active{background:linear-gradient(135deg,rgba(155,107,179,.38),rgba(243,212,155,.16))!important;border-color:rgba(243,212,155,.34)!important;color:var(--ts-text)!important;}
body.company-harmony .btn.blue,
body.company-harmony .announce,
body.company-harmony .discord{background:linear-gradient(135deg,var(--harmony-main),var(--harmony-main-2))!important;color:var(--ts-text)!important;}
body.company-pacific .btn.blue,
body.company-pacific .announce,
body.company-pacific .discord{background:linear-gradient(135deg,var(--pacific-main),var(--pacific-main-2))!important;color:var(--ts-text)!important;}
body.company-pacific .announce{box-shadow:0 16px 36px rgba(155,107,179,.20),inset 0 -1px 0 rgba(243,212,155,.22)!important;}
body.company-harmony .badge.ok,
body.company-pacific .badge.ok{background:rgba(38,157,116,.22)!important;color:#95f0ca!important;}
body.company-harmony .badge.blue{background:rgba(100,116,139,.22)!important;color:#d3dbe6!important;}
body.company-pacific .badge.blue{background:rgba(243,212,155,.18)!important;color:#ffe8aa!important;}
.tableWrap,.tableWrapV2{background:rgba(13,15,19,.95)!important;border-color:var(--soft-line)!important;}
.table th{background:#191c22!important;color:var(--ts-muted)!important;}
.table td{background:transparent!important;}
.table tr:hover td{background:color-mix(in srgb,var(--brand-main) 10%,transparent)!important;}
.premiumBar,.barChart,.bar span{background:linear-gradient(180deg,var(--brand-main),var(--brand-main-2))!important;}
body.company-pacific .premiumBar,
body.company-pacific .barChart,
body.company-pacific .bar span{background:linear-gradient(180deg,var(--pacific-main),var(--pacific-main-2))!important;}
/* Mobile/card rows: no blue fill */
@media(max-width:980px){
  .card,.premiumPanel,.saleMobileCard,.invoiceCard,.employeeCard{background:linear-gradient(180deg,rgba(31,35,42,.96),rgba(13,15,19,.98))!important;}
  .toolbar select,.v1Toolbar select,.salesFilters select,.salesProFilters select,.catalogToolbar select,.partnerToolbar select{width:100%!important;max-width:none!important;}
}


/* === TSUKOUNT V4.2.5 — THEME DYNAMIQUE 70/30/10 FINAL ===
   70% anthracite commun, 30% couleur entreprise, 10% accent secondaire.
   Harmony: rouge principal + bleu désaturé en rappel.
   Pacific: violet principal + doré en rappel.
   Prépare l'ajout d'autres entreprises via companyThemeTokens(). */
body.company-harmony, body.company-pacific{
  --anthra-0:var(--ts-bg);
  --anthra-1:var(--ts-bg-2);
  --anthra-2:var(--ts-surface);
  --anthra-3:var(--ts-surface-2);
  --anthra-4:#242933;
}
body.company-harmony{
  --brand-main:#c05351;
  --brand-main-2:#8f2729;
  --brand-main-hover:#d35f5d;
  --brand-support:#64748b;
  --brand-support-2:#3f4d63;
}
body.company-pacific{
  --brand-main:#9b6bb3;
  --brand-main-2:#65417f;
  --brand-main-hover:#b37aca;
  --brand-support:#f3d49b;
  --brand-support-2:#9b7b3f;
}
body.company-harmony, body.company-pacific{
  --navy:var(--anthra-0)!important;--bg:var(--anthra-0)!important;--bg2:var(--anthra-1)!important;--card:var(--anthra-2)!important;--card2:var(--anthra-3)!important;
  --red:var(--brand-main)!important;--accent:var(--brand-main)!important;--accent2:var(--brand-support)!important;
}
body.company-harmony select, body.company-harmony input, body.company-harmony textarea, body.company-harmony option,
body.company-pacific select, body.company-pacific input, body.company-pacific textarea, body.company-pacific option{
  background-color:var(--ts-bg-2)!important;
  background-image:none!important;
  color:var(--text)!important;
  border-color:var(--ts-line)!important;
}
body.company-harmony select:hover, body.company-harmony select:focus, body.company-harmony input:focus, body.company-harmony textarea:focus,
body.company-pacific select:hover, body.company-pacific select:focus, body.company-pacific input:focus, body.company-pacific textarea:focus{
  border-color:var(--brand-main)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-main) 25%, transparent)!important;
}
body.company-harmony .btn.blue, body.company-harmony .btn.primary, body.company-harmony .discord, body.company-harmony .announce, body.company-harmony .nav.active, body.company-harmony .activeChoice,
body.company-pacific .btn.blue, body.company-pacific .btn.primary, body.company-pacific .discord, body.company-pacific .announce, body.company-pacific .nav.active, body.company-pacific .activeChoice{
  background:linear-gradient(135deg,var(--brand-main),var(--brand-main-2))!important;
  color:var(--ts-text)!important;
  border-color:color-mix(in srgb,var(--brand-main) 45%, transparent)!important;
}
body.company-harmony .badge.dark, body.company-harmony .pill.active, body.company-harmony .badge.blue,
body.company-pacific .badge.dark, body.company-pacific .pill.active, body.company-pacific .badge.blue{
  background:color-mix(in srgb,var(--brand-main) 18%, var(--ts-surface))!important;
  color:var(--text)!important;
  border:1px solid color-mix(in srgb,var(--brand-main) 38%, transparent)!important;
}
body.company-harmony .topAnnouncement, body.company-harmony .premiumKpi.primaryKpi{border-color:rgba(192,83,81,.35)!important;}
body.company-pacific .topAnnouncement, body.company-pacific .premiumKpi.primaryKpi{border-color:rgba(155,107,179,.38)!important;}
body.company-harmony .barChart, body.company-harmony .premiumBar, body.company-harmony .bar span{background:linear-gradient(180deg,#c05351,#391c1d)!important;}
body.company-pacific .barChart, body.company-pacific .premiumBar, body.company-pacific .bar span{background:linear-gradient(180deg,#9b6bb3,#2a1d35)!important;}
body.company-pacific .premiumSide strong, body.company-pacific .premiumMiniRow strong, body.company-pacific .total, body.company-pacific .moneyAccent{color:var(--brand-support)!important;}
body.company-harmony .premiumSide strong, body.company-harmony .premiumMiniRow strong, body.company-harmony .total, body.company-harmony .moneyAccent{color:var(--brand-support)!important;}
/* Derniers menus natifs / inline: neutralise les fonds bleu nuit forcés */
body.company-harmony select[style], body.company-pacific select[style]{background:var(--ts-bg-2)!important;color:var(--text)!important;border-color:var(--ts-line)!important;}


/* === TSUKOUNT V4.2.6 — PACIFIC RATIO FIX + NO GOLD DOMINANCE ===
   Pacific = 70% anthracite / 30% violet / 10% doré.
   Doré réservé aux micro-accents: chiffres, petites pastilles, liserés subtils.
   Aucun changement métier/Supabase. */
body.company-pacific,
body.company-pacific .layout,
.layout.pacific{
  --brand-main:#9b6bb3!important;
  --brand-main-2:#65417f!important;
  --brand-main-hover:#b37aca!important;
  --brand-support:#d9b76b!important;
  --brand-support-2:#8c7032!important;
  --red:#9b6bb3!important;
  --accent:#9b6bb3!important;
  --accent2:#d9b76b!important;
  --ui-primary:#9b6bb3!important;
  --ui-primary-2:#65417f!important;
  --ui-primary-hover:#b37aca!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(155,107,179,.22) 0,transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(217,183,107,.055) 0,transparent 16%),
    linear-gradient(135deg,#0b0c0f,#111318 72%,#090a0d)!important;
}
body.company-pacific .layout,
.layout.pacific{
  background:linear-gradient(135deg,rgba(155,107,179,.055),transparent 48%),#0b0c10!important;
}

/* Surfaces: anthracite d'abord, violet en bordure légère, jamais fond doré massif */
body.company-pacific .card,
body.company-pacific .panel,
body.company-pacific .premiumPanel,
body.company-pacific .filterBox,
body.company-pacific .toolbar,
body.company-pacific .v1Toolbar,
body.company-pacific .salesFilters,
body.company-pacific .salesProFilters,
body.company-pacific .catalogToolbar,
body.company-pacific .partnerToolbar,
body.company-pacific .modal,
body.company-pacific .modalBox,
body.company-pacific .modalCard,
body.company-pacific .tableWrap,
body.company-pacific .employeeCard,
body.company-pacific .partnerCard,
body.company-pacific .raffleCard,
body.company-pacific .saleMobileCard,
body.company-pacific .invoiceCard,
body.company-pacific .salaryCard,
body.company-pacific .productAdminCard,
body.company-pacific .roleCard,
.layout.pacific .card,
.layout.pacific .filterBox,
.layout.pacific .toolbar{
  background:var(--ts-surface)!important;
  background-image:linear-gradient(180deg,#1a1d24,#111318)!important;
  border-color:rgba(155,107,179,.24)!important;
  box-shadow:none!important;
}

/* Interactions principales Pacific: violet, pas doré */
body.company-pacific .nav.active,
body.company-pacific .choiceBtn.active,
body.company-pacific .product.active,
body.company-pacific .btn.blue,
body.company-pacific .btn.primary,
body.company-pacific button.primary,
body.company-pacific .discord,
body.company-pacific .announce,
body.company-pacific .announcementBtn,
body.company-pacific .activeChoice,
body.company-pacific .copyPrimary,
.layout.pacific .nav.active,
.layout.pacific .choiceBtn.active,
.layout.pacific .product.active,
.layout.pacific .btn.blue,
.layout.pacific .btn.primary,
.layout.pacific .discord,
.layout.pacific .announce,
.layout.pacific .announcementBtn{
  background:linear-gradient(135deg,#9b6bb3,#65417f)!important;
  color:var(--ts-text)!important;
  border-color:rgba(155,107,179,.48)!important;
  box-shadow:0 14px 34px rgba(155,107,179,.20)!important;
}
body.company-pacific .announce,
.layout.pacific .announce{
  box-shadow:0 16px 36px rgba(155,107,179,.20), inset 0 -1px 0 rgba(217,183,107,.12)!important;
}

/* Selects / petits menus: fond anthracite, focus violet */
body.company-pacific select,
body.company-pacific select[style],
body.company-pacific option,
body.company-pacific .tk-select-btn,
body.company-pacific .customSelectButton,
body.company-pacific .customSelectTrigger,
body.company-pacific .dropdown,
body.company-pacific .dropdownMenu,
body.company-pacific .actionMenu,
body.company-pacific [role="listbox"],
body.company-pacific [role="menu"],
.layout.pacific select,
.layout.pacific option,
.layout.pacific .tk-select-btn,
.layout.pacific .customSelectButton,
.layout.pacific .customSelectTrigger{
  background-color:var(--ts-bg-2)!important;
  background-image:linear-gradient(180deg,#171a20,#101114)!important;
  color:#f7f4fb!important;
  border-color:rgba(155,107,179,.26)!important;
  box-shadow:inset 0 1px 0 var(--ts-surface)!important;
}
body.company-pacific select:hover,
body.company-pacific .tk-select-btn:hover,
body.company-pacific .customSelectTrigger:hover,
.layout.pacific select:hover{
  border-color:rgba(155,107,179,.42)!important;
  background-image:linear-gradient(180deg,#1d2028,#111318)!important;
}
body.company-pacific select:focus,
body.company-pacific select:focus-visible,
body.company-pacific input:focus,
body.company-pacific textarea:focus,
body.company-pacific .tk-select-btn:focus,
body.company-pacific .customSelectTrigger:focus,
.layout.pacific select:focus,
.layout.pacific input:focus,
.layout.pacific textarea:focus{
  outline:none!important;
  border-color:#9b6bb3!important;
  box-shadow:0 0 0 4px rgba(155,107,179,.20), inset 0 1px 0 var(--ts-surface)!important;
}
body.company-pacific option:checked,
body.company-pacific .tk-option.active,
body.company-pacific .tk-option:hover,
body.company-pacific .customSelectMenu .active,
body.company-pacific .customSelectMenu button:hover,
body.company-pacific .actionMenu button:hover,
.layout.pacific option:checked,
.layout.pacific .tk-option.active,
.layout.pacific .tk-option:hover{
  background:#211729!important;
  color:var(--ts-text)!important;
}

/* Barres/graphiques Pacific: violet dominant */
body.company-pacific .barChart,
body.company-pacific .premiumBar,
body.company-pacific .bar span,
.layout.pacific .barChart,
.layout.pacific .premiumBar,
.layout.pacific .bar span{
  background:linear-gradient(180deg,#9b6bb3,#2a1d35)!important;
}
body.company-pacific .table tr:hover td,
body.company-pacific .tableV2 tr:hover td,
.layout.pacific .table tr:hover td,
.layout.pacific .tableV2 tr:hover td{
  background:rgba(155,107,179,.075)!important;
}

/* Doré = 10% seulement: texte / micro-badges / chiffres premium, pas gros boutons */
body.company-pacific .premiumSide strong,
body.company-pacific .premiumMiniRow strong,
body.company-pacific .moneyAccent,
body.company-pacific .goldAccent,
body.company-pacific .total.gold,
.layout.pacific .premiumSide strong,
.layout.pacific .premiumMiniRow strong,
.layout.pacific .moneyAccent{
  color:#d9b76b!important;
}
body.company-pacific .badge.blue,
body.company-pacific .badge.gold,
body.company-pacific .pill.gold,
body.company-pacific .tag.gold,
.layout.pacific .badge.blue,
.layout.pacific .badge.gold{
  background:rgba(217,183,107,.13)!important;
  color:#f5dda1!important;
  border-color:rgba(217,183,107,.24)!important;
}

@media(max-width:980px){
  body.company-pacific .nav.active,
  body.company-pacific .btn.blue,
  body.company-pacific .btn.primary,
  body.company-pacific .discord,
  body.company-pacific .announce,
  body.company-pacific .announcementBtn,
  .layout.pacific .nav.active,
  .layout.pacific .btn.blue,
  .layout.pacific .btn.primary,
  .layout.pacific .discord,
  .layout.pacific .announce,
  .layout.pacific .announcementBtn{
    background:linear-gradient(135deg,#9b6bb3,#65417f)!important;
    color:var(--ts-text)!important;
  }
}


/* === TSUKOUNT V4.2.9 — PACIFIC STRICT 70/30/10 RATIO ===
   Correctif visuel: Pacific = anthracite dominant, violet structurel, doré micro-accent uniquement.
   Le jaune/doré ne doit plus servir de fond principal, CTA, bannière ou bouton large. */
body.company-pacific,
body.company-pacific .layout,
.layout.pacific{
  --brand-main:#9b6bb3!important;
  --brand-main-2:#65417f!important;
  --brand-main-hover:#b37aca!important;
  --brand-support:#d9b76b!important;
  --brand-support-2:#8c7032!important;
  --red:#9b6bb3!important;
  --accent:#9b6bb3!important;      /* accent structurel = violet */
  --accent2:#d9b76b!important;     /* micro-accent = doré */
  --gold:#d9b76b!important;
  --amber:#d9b76b!important;
}

/* Pacific: fond toujours anthracite/violet discret, jamais nappe jaune */
body.company-pacific{
  background:
    radial-gradient(circle at 8% 0%,rgba(155,107,179,.20) 0,transparent 26%),
    radial-gradient(circle at 88% 8%,rgba(217,183,107,.035) 0,transparent 14%),
    linear-gradient(135deg,#0b0c0f,#111318 74%,#090a0d)!important;
}

/* Gros blocs et bannières: violet/anthracite. Doré limité à un liseré ultra discret. */
body.company-pacific .topAnnouncement,
.layout.pacific .topAnnouncement{
  --accent:#9b6bb3!important;
  background:linear-gradient(135deg,#161821 0%,#24172e 58%,#111318 100%)!important;
  color:var(--ts-text)!important;
  border:1px solid rgba(155,107,179,.34)!important;
  border-left:6px solid #9b6bb3!important;
  box-shadow:0 16px 42px rgba(155,107,179,.14)!important;
}
body.company-pacific .topAnnouncement::after,
.layout.pacific .topAnnouncement::after{
  content:"";position:absolute;inset:auto 18px 0 18px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,183,107,.34),transparent);
  pointer-events:none;
}
body.company-pacific .topAnnouncement b,
body.company-pacific .topAnnouncement strong,
body.company-pacific .topAnnouncement span,
.layout.pacific .topAnnouncement b,
.layout.pacific .topAnnouncement strong,
.layout.pacific .topAnnouncement span{color:var(--ts-text)!important;}
body.company-pacific .topAnnouncement .muted,
.layout.pacific .topAnnouncement .muted{color:rgba(255,255,255,.76)!important;}

/* Boutons d'annonce / Lire / CTA Pacific: violet, pas doré */
body.company-pacific .topAnnouncement .announcementActions .btn,
body.company-pacific .topAnnouncement .announcementActions .btn.blue,
body.company-pacific .topAnnouncement .announcementActions .btn.activeChoice,
body.company-pacific .topAnnouncement .announcementActions .btn:not(.secondary),
.layout.pacific .topAnnouncement .announcementActions .btn,
.layout.pacific .topAnnouncement .announcementActions .btn.blue,
.layout.pacific .topAnnouncement .announcementActions .btn.activeChoice,
.layout.pacific .topAnnouncement .announcementActions .btn:not(.secondary){
  background:linear-gradient(135deg,#9b6bb3,#65417f)!important;
  color:var(--ts-text)!important;
  border-color:rgba(155,107,179,.54)!important;
  box-shadow:0 10px 24px rgba(155,107,179,.18)!important;
}
body.company-pacific .topAnnouncement .announcementActions .btn.secondary,
.layout.pacific .topAnnouncement .announcementActions .btn.secondary{
  background:#1a1d24!important;
  color:var(--ts-text)!important;
  border-color:var(--ts-line)!important;
}

/* Actions principales Pacific: violet partout. */
body.company-pacific .announce,
body.company-pacific .announcementBtn,
body.company-pacific .discord,
body.company-pacific .btn.blue,
body.company-pacific .btn.primary,
body.company-pacific button.primary,
body.company-pacific .copyPrimary,
body.company-pacific .posPartnerBox.active .partnerAction,
body.company-pacific .discountBtn.active,
body.company-pacific .activeChoice,
body.company-pacific .nav.active,
body.company-pacific .choiceBtn.active,
body.company-pacific .product.active,
.layout.pacific .announce,
.layout.pacific .announcementBtn,
.layout.pacific .discord,
.layout.pacific .btn.blue,
.layout.pacific .btn.primary,
.layout.pacific .copyPrimary,
.layout.pacific .activeChoice,
.layout.pacific .nav.active,
.layout.pacific .choiceBtn.active,
.layout.pacific .product.active{
  background:linear-gradient(135deg,#9b6bb3,#65417f)!important;
  color:var(--ts-text)!important;
  border-color:rgba(155,107,179,.46)!important;
  box-shadow:0 12px 30px rgba(155,107,179,.18)!important;
}

/* Surfaces: plus de doré en background; contours violet faibles. */
body.company-pacific .card,
body.company-pacific .premiumPanel,
body.company-pacific .filterBox,
body.company-pacific .toolbar,
body.company-pacific .v1Toolbar,
body.company-pacific .salesFilters,
body.company-pacific .salesProFilters,
body.company-pacific .catalogToolbar,
body.company-pacific .partnerToolbar,
body.company-pacific .modalBox,
body.company-pacific .modalCard,
body.company-pacific .tableWrap,
body.company-pacific .employeeCard,
body.company-pacific .partnerCard,
body.company-pacific .raffleCard,
body.company-pacific .salaryCard,
body.company-pacific .saleMobileCard,
body.company-pacific .productAdminCard,
body.company-pacific .roleCard,
.layout.pacific .card,
.layout.pacific .premiumPanel,
.layout.pacific .filterBox,
.layout.pacific .toolbar{
  background:linear-gradient(180deg,#1a1d24,#111318)!important;
  border-color:rgba(155,107,179,.22)!important;
}

/* Inputs/selects/checkboxes: focus violet. */
body.company-pacific select,
body.company-pacific select[style],
body.company-pacific input,
body.company-pacific textarea,
body.company-pacific option,
body.company-pacific .tk-select-btn,
body.company-pacific .customSelectButton,
body.company-pacific .customSelectTrigger,
body.company-pacific .dropdown,
body.company-pacific .dropdownMenu,
body.company-pacific .actionMenu,
.layout.pacific select,
.layout.pacific input,
.layout.pacific textarea,
.layout.pacific option{
  background-color:var(--ts-bg-2)!important;
  background-image:linear-gradient(180deg,#171a20,#101114)!important;
  color:#f7f4fb!important;
  border-color:rgba(155,107,179,.25)!important;
}
body.company-pacific input[type="checkbox"],
.layout.pacific input[type="checkbox"]{accent-color:#9b6bb3!important;}
body.company-pacific select:focus,
body.company-pacific input:focus,
body.company-pacific textarea:focus,
.layout.pacific select:focus,
.layout.pacific input:focus,
.layout.pacific textarea:focus{
  border-color:#9b6bb3!important;
  box-shadow:0 0 0 4px rgba(155,107,179,.18)!important;
}

/* Graphiques et éléments actifs: violet dominant. */
body.company-pacific .barChart,
body.company-pacific .premiumBar,
body.company-pacific .bar span,
.layout.pacific .barChart,
.layout.pacific .premiumBar,
.layout.pacific .bar span{
  background:linear-gradient(180deg,#9b6bb3,#2a1d35)!important;
}
body.company-pacific .donutTotal b,
body.company-pacific .valueSuggested,
.layout.pacific .donutTotal b,
.layout.pacific .valueSuggested{color:#b37aca!important;}

/* Doré strictement 10%: seulement petits accents texte/pastilles, jamais plein fond large. */
body.company-pacific .goldAccent,
body.company-pacific .microGold,
body.company-pacific .premiumSide strong,
body.company-pacific .premiumMiniRow strong,
body.company-pacific .badge.gold,
body.company-pacific .pill.gold,
body.company-pacific .tag.gold,
.layout.pacific .goldAccent,
.layout.pacific .premiumSide strong,
.layout.pacific .premiumMiniRow strong,
.layout.pacific .badge.gold{
  color:#d9b76b!important;
}
body.company-pacific .badge.gold,
body.company-pacific .pill.gold,
body.company-pacific .tag.gold,
.layout.pacific .badge.gold{
  background:rgba(217,183,107,.10)!important;
  border-color:rgba(217,183,107,.20)!important;
}

/* Neutralise les anciennes règles qui forçaient le doré sur grosses valeurs/boutons. */
body.company-pacific .total,
body.company-pacific .total.gold,
body.company-pacific .moneyAccent,
.layout.pacific .total,
.layout.pacific .moneyAccent{
  color:#b37aca!important;
}
body.company-pacific [style*="#f7d98d"],
body.company-pacific [style*="#f1c56e"],
body.company-pacific [style*="#e8bf6a"],
body.company-pacific [style*="#d4a94e"],
body.company-pacific [style*="#f3d49b"]{
  background:#9b6bb3!important;
  color:var(--ts-text)!important;
}

/* === V4.2.17 — permissions fines, modale plus propre === */
.permissionsModal{max-width:1180px!important;width:min(1180px,96vw)!important;}
.permissionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;}
.cleanPermGroup{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018))!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:18px!important;padding:16px!important;box-shadow:none!important;}
.cleanPermGroup h4{margin:0 0 12px!important;text-transform:uppercase;letter-spacing:.08em;color:var(--theme-primary,#d9555f)!important;font-size:12px!important;}
.cleanPermCheck{display:grid!important;grid-template-columns:22px 1fr!important;align-items:start!important;gap:10px!important;padding:10px!important;border-radius:14px!important;background:rgba(0,0,0,.14)!important;border:1px solid var(--ts-surface)!important;margin:8px 0!important;}
.cleanPermCheck:hover{border-color:var(--theme-primary,#d9555f)!important;background:var(--ts-surface)!important;}
.cleanPermCheck input{margin-top:3px!important;accent-color:var(--theme-primary,#d9555f)!important;}
.cleanPermCheck b{display:block;color:var(--ts-text);font-size:13px;}
.cleanPermCheck small{display:block;color:rgba(255,255,255,.58);font-size:12px;line-height:1.35;margin-top:3px;}
@media(max-width:1000px){.permissionGrid{grid-template-columns:1fr!important}.permissionsModal{width:96vw!important}}


/* === V4.2.20 — Prise de service === */
.serviceBar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--ts-line);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:0 14px 34px rgba(0,0,0,.18)}
.serviceBarLeft{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.serviceDot{width:10px;height:10px;border-radius:999px;background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.14)}.serviceBar.open .serviceDot{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.14)}
.serviceTitle{font-weight:1000;color:var(--ts-text)}.serviceMeta{color:var(--muted);font-size:12px}.servicePills{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.servicePill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:950;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.28);color:#d1fae5}.servicePill.off{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.26);color:#fecaca}.serviceActionRow{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.serviceGate{max-width:780px;margin:22px auto;padding:22px;border-radius:24px;border:1px solid var(--ts-line);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));box-shadow:0 24px 70px rgba(0,0,0,.25)}.serviceGate h2{margin-bottom:8px}.serviceGate .serviceBig{display:grid;gap:14px;margin-top:16px}.serviceCountdown{color:#fca5a5;font-weight:900}.serviceOk{color:#86efac;font-weight:900}@media(max-width:760px){.serviceBar{align-items:flex-start;flex-direction:column}.serviceActionRow{width:100%;justify-content:stretch}.serviceActionRow .btn{flex:1}.servicePills{width:100%}}
/* === V4.2.23 — Suivi prise de service direction === */
.serviceReportGrid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px;margin:14px 0 18px}
.serviceReportKpi{border:1px solid var(--ts-line);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));padding:14px}
.serviceReportKpi small{display:block;color:var(--muted);font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.04em}.serviceReportKpi b{font-size:24px;color:var(--ts-text)}.serviceReportKpi span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.serviceReportCard{border:1px solid var(--ts-line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.050),rgba(255,255,255,.024));padding:14px;margin:12px 0}.serviceReportCard.warn{border-color:rgba(239,68,68,.32);background:linear-gradient(180deg,rgba(239,68,68,.10),rgba(255,255,255,.022))}.serviceReportHead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.serviceReportHead h3{margin:0}.serviceTimeline{display:flex;flex-direction:column;gap:8px}.serviceSession{display:grid;grid-template-columns:1.1fr .8fr .7fr 1fr;gap:10px;align-items:center;border-top:1px solid var(--ts-line);padding:10px 0}.serviceSession:first-child{border-top:0}.serviceSession small{color:var(--muted);display:block}.serviceSuspicion{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.serviceSuspicion .badge{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.35);color:#fecaca}
@media(max-width:980px){.serviceReportGrid{grid-template-columns:1fr 1fr}.serviceSession{grid-template-columns:1fr}}@media(max-width:620px){.serviceReportGrid{grid-template-columns:1fr}}

/* --- style id="tsukount-v4-2-12-discount-visibility-fix" --- */
/* V4.2.12 — visibilité prix réduit partenaires */
.discountInvoiceTotal{
  background:rgba(192,83,81,.18)!important;
  border-color:rgba(192,83,81,.55)!important;
  color:var(--ts-text)!important;
}
.discountInvoiceTotal b{color:var(--ts-text)!important;}
.saleDetailCell .badge.bad{
  background:rgba(239,68,68,.24)!important;
  color:#ffd0d0!important;
  border:1px solid rgba(239,68,68,.42)!important;
}


/* V5.2 - Bouton audit toujours visible dans le bloc bilan */
.bilanAuditInlineToolbar{
  border:1px solid var(--ts-line);
  background:var(--ts-surface);
  border-radius:14px;
  padding:10px 12px;
}
.auditInlineBtn{
  border-color:var(--ts-surface-2)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}

/* === V5.5 invoices module: facture lisible + export propre === */
.invoiceSheetReadable{
  background:#fff !important;
  color:var(--ts-bg-2) !important;
  border-radius:18px !important;
  padding:28px !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
  backdrop-filter:none !important;
}
.invoiceSheetReadable *{ color:var(--ts-bg-2) !important; text-shadow:none !important; }
.invoiceSheetReadable .muted,
.invoiceSheetReadable .invoiceFooterNote{ color:#667085 !important; }
.invoiceSheetReadable .invoiceSheetTop{ align-items:flex-start; gap:24px; }
.invoiceSheetReadable .invoiceSheetTotalBox{
  background:#fff !important;
  border:2px solid var(--ts-bg-2) !important;
  color:var(--ts-bg-2) !important;
  min-width:220px;
}
.invoiceSheetReadable .invoiceTableWrap{ overflow:auto; margin:14px 0 22px; border-radius:18px; border:1px solid #d0d5dd; }
.invoiceSheetReadable .invoiceTable{ width:100%; border-collapse:collapse; overflow:hidden; }
.invoiceSheetReadable .invoiceTable th{
  background:#111827 !important;
  color:var(--ts-text) !important;
  font-weight:900;
  padding:14px 16px;
  text-align:left;
}
.invoiceSheetReadable .invoiceTable td{
  background:#fff !important;
  color:var(--ts-bg-2) !important;
  border-top:1px solid #e5e7eb;
  padding:14px 16px;
}
.invoiceSheetReadable .invoiceRecapRow{
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid #e5e7eb;
  padding:10px 0;
  color:#667085 !important;
}
.invoiceSheetReadable .invoiceRecapRow span{ color:#667085 !important; }
.invoiceSheetReadable .invoiceRecapRow strong{ color:var(--ts-bg-2) !important; }
.invoiceSheetReadable .invoiceGrandTotal{
  text-align:right;
  font-size:26px;
  font-weight:900;
  margin-top:20px;
  color:var(--ts-bg-2) !important;
}


/* === V5.6 invoice contrast hardening === */
.invoiceSheetReadable,
.invoiceSheetReadable *{
  opacity:1 !important;
  filter:none !important;
  text-shadow:none !important;
}
.invoiceSheetReadable{ background:#fff !important; color:var(--ts-bg-2) !important; }
.invoiceSheetReadable h1,
.invoiceSheetReadable h2,
.invoiceSheetReadable h3,
.invoiceSheetReadable p,
.invoiceSheetReadable span,
.invoiceSheetReadable strong,
.invoiceSheetReadable small,
.invoiceSheetReadable td{ color:var(--ts-bg-2) !important; }
.invoiceSheetReadable .muted,
.invoiceSheetReadable .invoiceFooterNote,
.invoiceSheetReadable .invoiceRecapRow span{ color:#667085 !important; }
.invoiceSheetReadable .invoiceTable th{ color:var(--ts-text) !important; background:#111827 !important; }

/* V7.23 — employee preview mode */
.employeePreviewBar{
  position:sticky;
  top:12px;
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 16px;
  padding:12px 14px;
  border:1px solid rgba(139,92,246,.42);
  border-radius:16px;
  background:linear-gradient(135deg, rgba(25,18,40,.96), rgba(13,16,28,.94));
  box-shadow:0 16px 40px rgba(0,0,0,.26), 0 0 28px rgba(139,92,246,.16);
}
.employeePreviewBar b{display:block;color:var(--ts-text);margin-bottom:2px}
.employeePreviewBar span{color:var(--ts-surface-2);font-size:13px}
.employeePreviewCard{border-color:rgba(139,92,246,.34)!important;background:linear-gradient(135deg, rgba(139,92,246,.08), rgba(16,185,129,.045))!important}

/* V7.25.2 — employee document actions on dashboard */
.inlineDocActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.inlineDocActions .badge{margin-left:2px}.miniDocBtn{padding:7px 10px;font-size:12px;line-height:1}.medicalQuickModal{max-width:560px}.medicalQuickModal .formRow.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quickDocStatus{display:grid;gap:4px;background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:14px;padding:13px;margin:12px 0}.quickDocStatus b{color:var(--white)}.quickDocStatus span,.quickDocStatus small{color:var(--muted)}.quickDocStatus a{color:var(--accent,var(--red));font-weight:900;text-decoration:none}@media(max-width:760px){.inlineDocActions{justify-content:flex-start}.medicalQuickModal .formRow.compact{grid-template-columns:1fr}}

/* V7.25.4 — RH document follow-up panel */
.rhDocPanel{border-color:var(--ts-line)}
.rhDocStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.rhDocTodo{margin-top:14px}
.rhDocTodo h3{margin:0 0 10px;color:var(--white)}
.rhDocTodo table .btn{padding:7px 10px;font-size:12px}
@media(max-width:980px){.rhDocStats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.rhDocStats{grid-template-columns:1fr}}

/* V7.26.2 — compact staff actions + inline preview */
.employeePreviewCompact{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  margin:10px 0 14px;
  padding:10px;
  border:1px solid var(--ts-line);
  border-radius:14px;
  background:var(--ts-surface);
}
.employeePreviewCompact select{min-width:220px;max-width:360px;flex:1}
.employeeActionMenu{position:relative;display:inline-block}
.employeeActionMenu summary{
  list-style:none;
  cursor:pointer;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid var(--ts-line);
  background:var(--ts-surface);
  font-weight:900;
  line-height:1;
}
.employeeActionMenu summary::-webkit-details-marker{display:none}
.employeeActionMenu[open] summary{background:var(--ts-surface)}
.employeeActionMenu div{
  position:absolute;
  right:0;
  top:40px;
  z-index:50;
  min-width:190px;
  padding:8px;
  display:flex;
  flex-direction:column;
  gap:4px;
  border:1px solid var(--ts-line);
  border-radius:14px;
  background:#151922;
  box-shadow:0 18px 40px rgba(0,0,0,.38);
}
.employeeActionMenu button,
.employeeActionMenu .menuHint{
  width:100%;
  border:0;
  border-radius:10px;
  padding:9px 10px;
  text-align:left;
  color:var(--text);
  background:transparent;
  font:inherit;
  font-weight:800;
}
.employeeActionMenu button:hover{background:var(--ts-surface)}
.employeeActionMenu button.danger{color:#ff8b8b}
.employeeActionMenu .menuHint{display:block;color:var(--muted);font-size:12px}

/* V7.26.3 — compact RH batch actions */
.employeeBatchActions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.employeeBatchActions .btn{
  padding:8px 10px;
  font-size:12px;
}
@media(max-width:760px){
  .employeeBatchActions{width:100%;justify-content:flex-start;order:2}
}

/* === V7.30 — UI cleanup pass: visual debt reduction, no feature changes === */
:root{
  --surface-soft:var(--ts-surface);
  --surface-hover:var(--ts-surface);
  --border-soft:var(--ts-surface);
  --border-strong:var(--ts-surface-2);
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:18px;
  --shadow-soft:0 14px 34px rgba(0,0,0,.28);
  --shadow-panel:0 18px 54px rgba(0,0,0,.38);
}

.card,
.userBox,
.tableWrap,
.quickDocStatus,
.employeePreviewCompact{
  border-color:var(--border-soft);
  box-shadow:var(--shadow-soft);
}
.card{border-radius:var(--radius-lg);padding:18px}
.card + .card{margin-top:16px}
.card h2,.card h3{letter-spacing:.005em}

.toolbar{
  gap:8px;
  padding:8px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  background:var(--ts-surface);
}
.toolbar:empty{display:none}

.btn,
.logout,
.announce,
.modalClose{
  min-height:36px;
  border-radius:var(--radius-md);
  transition:background .14s ease,border-color .14s ease,transform .14s ease,opacity .14s ease;
}
.btn{padding:9px 12px}
.btn:hover,.logout:hover,.announce:hover,.modalClose:hover{transform:translateY(-1px)}
.btn:disabled,button:disabled{opacity:.48;cursor:not-allowed;transform:none!important}
.btn.secondary{
  background:var(--ts-surface);
  border:1px solid var(--border-soft);
  color:rgba(255,255,255,.86);
}
.btn.secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}
.btn.red{
  background:rgba(239,68,68,.14);
  border:1px solid rgba(239,68,68,.28);
  color:#fecaca;
}
.btn.green{
  background:rgba(34,197,94,.18);
  border:1px solid rgba(34,197,94,.30);
  color:#bbf7d0;
}
.btn.blue{
  background:rgba(192,83,81,.18);
  border:1px solid rgba(192,83,81,.32);
  color:#fecaca;
}

input,select,textarea{
  min-height:38px;
  border-radius:var(--radius-md);
  background:rgba(6,7,32,.86);
}
textarea{line-height:1.45}
label small,.muted,small{line-height:1.35}

.tableWrap{
  border-radius:var(--radius-lg);
  background:rgba(6,7,32,.72);
}
.table{font-size:13px}
.table th{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(13,14,43,.96);
  letter-spacing:.045em;
}
.table th,.table td{padding:11px 12px;vertical-align:middle}
.table td{color:rgba(255,255,255,.86)}
.table tr:hover td{background:var(--ts-surface)}
.table td .btn,.table td button{margin:2px 0}

.badge{
  align-items:center;
  min-height:22px;
  padding:4px 8px;
  border:1px solid transparent;
  letter-spacing:.01em;
}
.badge.ok{border-color:rgba(34,197,94,.20)}
.badge.warn{border-color:rgba(245,158,11,.22)}
.badge.bad{border-color:rgba(239,68,68,.22)}
.badge.blue{border-color:rgba(192,83,81,.24)}

.modalBackdrop,
.modalOverlay{
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(10px);
  padding:24px;
}
.modal,
.modalBox,
.modalCard{
  border-radius:var(--radius-lg)!important;
  border-color:var(--border-strong)!important;
  background:linear-gradient(180deg,#111330,#08091f)!important;
  box-shadow:var(--shadow-panel)!important;
}
.modalHeader{
  align-items:center;
  gap:12px;
  border-bottom-color:var(--border-soft)!important;
}
.modalHeader h2{font-size:20px;line-height:1.15}
.modalClose{
  background:var(--ts-surface);
  border-color:var(--border-soft);
  color:rgba(255,255,255,.88);
}
.modalActions,.modalFooterSticky{gap:8px;flex-wrap:wrap}

.employeePreviewCompact{
  padding:8px;
  margin:8px 0 12px;
  border-radius:var(--radius-lg);
  background:var(--ts-surface);
  box-shadow:none;
}
.employeePreviewCompact .btn{padding:8px 10px;font-size:12px;min-height:34px}
.employeePreviewCompact select{min-height:34px}
.employeeBatchActions{gap:6px}
.employeeBatchActions .btn{min-height:32px;border-radius:12px}
.employeeActionMenu summary{
  width:32px;
  height:32px;
  border-radius:11px;
  background:var(--ts-surface);
}
.employeeActionMenu div{
  top:36px;
  border-radius:var(--radius-md);
  background:#111827;
  box-shadow:0 16px 36px rgba(0,0,0,.42);
}
.employeeActionMenu button{padding:8px 9px;border-radius:9px;font-size:13px}

.inlineDocActions{gap:6px}.miniDocBtn{min-height:30px;border-radius:10px}
.info{gap:14px;padding:10px 0}.info b{line-height:1.35}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--ts-surface)}
::-webkit-scrollbar-thumb{background:var(--ts-surface-2);border-radius:999px;border:2px solid rgba(1,1,27,.8)}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.24)}

@media(max-width:980px){

.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}

}
@media(max-width:760px){
  .main{padding:16px}
  header{flex-direction:column;gap:12px}
  .title h1{font-size:24px}
  .grid4,.grid3,.grid2{grid-template-columns:1fr}
  .card{padding:15px;border-radius:16px}
  .toolbar{padding:6px}
  .toolbar .btn,.toolbar input,.toolbar select{width:100%}
  .modalBackdrop,.modalOverlay{padding:12px;align-items:flex-start;overflow:auto}
  .modal,.modalBox,.modalCard{width:100%!important;max-height:calc(100vh - 24px)!important;padding:16px!important}
  .modalHeader{position:sticky;top:-16px;z-index:4;background:linear-gradient(180deg,#111330,#101129);padding-top:2px}
  .table th,.table td{padding:9px 10px}
}


/* === V7.31 — Design system léger: tokens officiels + composants transverses === */
:root{
  /* Couleurs officielles */
  --tk-bg-0:#01011b;
  --tk-bg-1:var(--ts-bg);
  --tk-surface-1:rgba(8,9,35,.94);
  --tk-surface-2:rgba(16,17,45,.88);
  --tk-surface-3:var(--ts-surface);
  --tk-surface-hover:rgba(255,255,255,.085);
  --tk-border-1:var(--ts-surface);
  --tk-border-2:var(--ts-surface-2);
  --tk-text-1:#f8fafc;
  --tk-text-2:rgba(248,250,252,.72);
  --tk-text-3:rgba(248,250,252,.48);
  --tk-accent:#c05351;
  --tk-accent-soft:rgba(192,83,81,.16);
  --tk-danger:#ef4444;
  --tk-warning:#f59e0b;
  --tk-success:#22c55e;
  --tk-info:#5865F2;

  /* Espacements / radius / ombres officiels */
  --tk-space-1:4px;
  --tk-space-2:8px;
  --tk-space-3:12px;
  --tk-space-4:16px;
  --tk-space-5:20px;
  --tk-space-6:24px;
  --tk-radius-sm:10px;
  --tk-radius-md:14px;
  --tk-radius-lg:18px;
  --tk-radius-xl:22px;
  --tk-shadow-card:0 14px 34px rgba(0,0,0,.28);
  --tk-shadow-modal:0 30px 90px rgba(0,0,0,.58);

  /* Alias rétrocompatibles: ne pas casser l'ancien CSS */
  --bg:var(--tk-bg-0);
  --bg2:var(--tk-bg-1);
  --card:var(--tk-surface-1);
  --card2:var(--tk-surface-2);
  --line:var(--tk-border-1);
  --text:var(--tk-text-1);
  --muted:var(--tk-text-2);
  --muted2:var(--tk-text-3);
  --red:var(--tk-accent);
  --bad:var(--tk-danger);
  --amber:var(--tk-warning);
  --green:var(--tk-success);
  --blue:var(--tk-info);
  --shadow:var(--tk-shadow-card);
}

/* Composants standards — à utiliser pour les nouveaux écrans */
.tk-card,.card{
  background:linear-gradient(180deg,var(--tk-surface-1),rgba(5,5,30,.94));
  border:1px solid var(--tk-border-1);
  border-radius:var(--tk-radius-xl);
  box-shadow:var(--tk-shadow-card);
}
.tk-card{padding:var(--tk-space-5)}
.tk-cardHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--tk-space-4);margin-bottom:var(--tk-space-4)}
.tk-cardTitle{margin:0;color:var(--tk-text-1);font-size:18px;font-weight:900;letter-spacing:.01em}
.tk-cardSub{margin:4px 0 0;color:var(--tk-text-2);font-size:13px;line-height:1.35}

.tk-stack{display:flex;flex-direction:column;gap:var(--tk-space-3)}
.tk-row{display:flex;align-items:center;gap:var(--tk-space-2);flex-wrap:wrap}
.tk-rowBetween{display:flex;align-items:center;justify-content:space-between;gap:var(--tk-space-3);flex-wrap:wrap}
.tk-muted{color:var(--tk-text-2)}
.tk-subtle{color:var(--tk-text-3)}

.btn,.tk-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:36px;padding:8px 12px;border-radius:var(--tk-radius-md);
  border:1px solid transparent;cursor:pointer;font-weight:900;line-height:1.1;text-decoration:none;
  transition:background .14s ease,border-color .14s ease,transform .14s ease,opacity .14s ease;
}
.tk-btn,.btn{background:var(--tk-text-1);color:var(--tk-bg-0)}
.tk-btn:hover,.btn:hover{transform:translateY(-1px)}
.tk-btn:disabled,.btn:disabled,button:disabled{opacity:.48;cursor:not-allowed;transform:none!important}
.tk-btn--secondary,.btn.secondary{background:var(--tk-surface-3);border-color:var(--tk-border-1);color:var(--tk-text-1)}
.tk-btn--secondary:hover,.btn.secondary:hover{background:var(--tk-surface-hover);border-color:var(--tk-border-2)}
.tk-btn--danger,.btn.red,.btn.danger{background:rgba(239,68,68,.13);border-color:rgba(239,68,68,.28);color:#fecaca}
.tk-btn--success,.btn.green{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.28);color:#bbf7d0}
.tk-btn--accent,.btn.blue{background:var(--tk-accent-soft);border-color:rgba(192,83,81,.32);color:#fecaca}
.tk-btn--ghost{background:transparent;border-color:var(--tk-border-1);color:var(--tk-text-2)}
.tk-btn--sm{min-height:30px;padding:6px 9px;border-radius:var(--tk-radius-sm);font-size:12px}

.tk-input,input,select,textarea{border-color:var(--tk-border-1);background:rgba(6,7,32,.88);color:var(--tk-text-1);border-radius:var(--tk-radius-md)}
.tk-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--tk-accent);box-shadow:0 0 0 3px rgba(192,83,81,.20)}

.tk-tableWrap,.tableWrap{border:1px solid var(--tk-border-1);border-radius:var(--tk-radius-lg);background:rgba(6,7,32,.72);overflow:auto}
.tk-table,.table{border-collapse:collapse;width:100%;font-size:13px}
.tk-table th,.table th{background:rgba(13,14,43,.96);color:var(--tk-text-2);font-size:12px;text-transform:uppercase;letter-spacing:.045em}
.tk-table th,.tk-table td,.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--ts-line);vertical-align:middle}
.tk-table tr:hover td,.table tr:hover td{background:var(--ts-surface)}

.tk-badge,.badge{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900;border:1px solid transparent;line-height:1}
.tk-badge--ok,.badge.ok{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.22);color:#86efac}
.tk-badge--warn,.badge.warn{background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.24);color:#fcd34d}
.tk-badge--bad,.badge.bad{background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.24);color:#fca5a5}
.tk-badge--info,.badge.blue{background:rgba(192,83,81,.16);border-color:rgba(192,83,81,.24);color:#fca5a5}

.tk-modalBackdrop,.modalBackdrop,.modalOverlay{background:rgba(0,0,0,.68);backdrop-filter:blur(10px)}
.tk-modal,.modal,.modalBox,.modalCard{border-radius:var(--tk-radius-xl)!important;border:1px solid var(--tk-border-2)!important;background:linear-gradient(180deg,#111330,#08091f)!important;box-shadow:var(--tk-shadow-modal)!important}
.tk-modalHeader,.modalHeader{display:flex;justify-content:space-between;align-items:center;gap:var(--tk-space-3);border-bottom:1px solid var(--tk-border-1)!important;padding-bottom:var(--tk-space-3);margin-bottom:var(--tk-space-4)}
.tk-modalTitle,.modalHeader h2{font-size:20px;line-height:1.15;margin:0;color:var(--tk-text-1)}

/* Règle de nettoyage V7.31: les nouveaux composants doivent utiliser tk-*; les classes legacy restent supportées pendant la migration. */
@media(max-width:760px){
  .tk-card{padding:var(--tk-space-4);border-radius:var(--tk-radius-lg)}
  .tk-cardHeader,.tk-rowBetween{align-items:stretch;flex-direction:column}
  .tk-row .tk-btn,.tk-row .btn{flex:1}
}

/* === V7.32 — Migration design system réelle: Gestion rôles === */
.rolesHero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:22px 24px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;
}
.rolesHero h2{margin:0 0 6px!important;}
.rolesHero p{margin:0!important;}
.rolesPanel{margin-top:16px!important;padding:18px!important;}
.rolesPanelHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  padding:0 2px;
}
.rolesPanelHead h2{margin:0!important;}
.roleGridV732{
  grid-template-columns:repeat(auto-fit,minmax(235px,1fr))!important;
  gap:12px!important;
}
.roleCardV732{
  min-height:0!important;
  padding:14px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.026)!important;
  box-shadow:none!important;
  border-color:var(--ts-surface)!important;
}
.roleCardV732:hover{
  transform:none!important;
  border-color:var(--ts-line)!important;
  background:rgba(255,255,255,.038)!important;
}
.roleCardTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.roleCardTop h3{
  margin:0!important;
  font-size:16px!important;
  line-height:1.2!important;
}
.roleCardTop p{
  margin:5px 0 0!important;
  color:var(--tk-text-muted,rgba(255,255,255,.62));
  font-size:13px;
}
.roleRate{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:26px;
  padding:0 9px;
  border-radius:999px;
  color:var(--ts-text);
  font-weight:900;
  font-size:12px;
  background:rgba(248,113,113,.18);
  border:1px solid rgba(248,113,113,.28);
}
.roleMeta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:10px;
  color:var(--tk-text-soft,rgba(255,255,255,.66));
  font-size:12px;
}
.roleMeta span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:var(--ts-surface);
  border:1px solid var(--ts-surface);
}
.rolePerms{
  min-height:50px;
  margin-bottom:12px;
  align-content:flex-start;
}
.rolePerms span{
  font-size:11px!important;
  padding:5px 8px!important;
  opacity:.88;
}
.roleCardActions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:10px;
  border-top:1px solid var(--ts-surface);
}
.rolePrimaryBtn{
  min-height:34px!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.roleMenu{position:relative;flex:0 0 auto;}
.roleMenu summary{
  list-style:none;
  width:34px;
  height:34px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  user-select:none;
  color:var(--ts-surface-2);
  background:var(--ts-surface);
  border:1px solid var(--ts-line);
  font-size:18px;
  font-weight:900;
  line-height:1;
}
.roleMenu summary::-webkit-details-marker{display:none;}
.roleMenu[open] summary,
.roleMenu summary:hover{
  background:var(--ts-surface);
  border-color:var(--ts-line);
}
.roleMenuPanel{
  position:absolute;
  right:0;
  bottom:40px;
  z-index:90;
  min-width:190px;
  padding:7px;
  display:flex;
  flex-direction:column;
  gap:3px;
  border-radius:14px;
  background:var(--tk-surface-raised,#171821);
  border:1px solid var(--ts-line);
  box-shadow:0 18px 55px rgba(0,0,0,.48);
}
.roleMenuPanel button{
  width:100%;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.88);
  text-align:left;
  padding:9px 10px;
  border-radius:10px;
  font-weight:800;
  cursor:pointer;
}
.roleMenuPanel button:hover{background:var(--ts-surface);}
.roleMenuPanel button.danger{color:#fca5a5;}
.roleProtected{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:#fde68a;
  background:rgba(245,158,11,.13);
  border:1px solid rgba(245,158,11,.22);
}
@media(max-width:720px){
  .rolesHero{align-items:stretch;flex-direction:column;}
  .rolesHero .btn{width:100%;justify-content:center;}
  .roleGridV732{grid-template-columns:1fr!important;}
}

/* === TSUKOUNT V7.33 — CRUD UI migration globale === */
:root{
  --tk-crud-border: rgba(148,163,184,.18);
  --tk-crud-border-soft: rgba(148,163,184,.10);
  --tk-crud-surface: rgba(15,23,42,.46);
  --tk-crud-surface-2: var(--ts-surface);
}
.crudPage.card{padding:16px!important;border-color:var(--tk-crud-border)!important;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015))!important;box-shadow:none!important}
.crudHero{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 0 14px;border-bottom:1px solid var(--tk-crud-border-soft);margin-bottom:12px}
.crudHero h2,.crudSectionHead h2{margin:0;font-size:20px;letter-spacing:-.02em}.crudHero p{margin:8px 0 0}.crudFilters{margin:0 0 14px!important;padding:10px!important;border:1px solid var(--tk-crud-border-soft)!important;border-radius:16px!important;background:rgba(0,0,0,.12)!important}.crudSectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 10px;padding:0 2px}
.crudPage .tableWrap,.crudPage .tableWrapV2{border-radius:18px!important;border-color:var(--tk-crud-border-soft)!important;background:rgba(2,6,23,.28)!important;box-shadow:none!important}.crudPage table.table th,.crudPage table.tableV2 th{font-size:11px!important;letter-spacing:.04em!important;color:rgba(226,232,240,.7)!important;background:var(--ts-surface)!important}.crudPage table.table td,.crudPage table.tableV2 td{padding:13px 12px!important;border-color:rgba(148,163,184,.09)!important}.crudPage table.table tr:hover td,.crudPage table.tableV2 tr:hover td{background:var(--ts-surface)}
.crudActionMenu,.employeeActionMenu,.roleMenu{position:relative;display:inline-flex;justify-content:flex-end}.crudActionMenu summary,.employeeActionMenu summary,.roleMenu summary{list-style:none;display:inline-grid;place-items:center;width:34px;height:30px;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:var(--ts-surface);color:rgba(255,255,255,.88);font-weight:900;cursor:pointer;box-shadow:none!important}.crudActionMenu summary::-webkit-details-marker,.employeeActionMenu summary::-webkit-details-marker,.roleMenu summary::-webkit-details-marker{display:none}.crudActionMenu[open] summary,.employeeActionMenu[open] summary,.roleMenu[open] summary{background:rgba(255,255,255,.085);border-color:rgba(255,255,255,.25)}.crudActionMenu>div,.employeeActionMenu>div,.roleMenuPanel{position:absolute;right:0;top:36px;z-index:80;min-width:190px;padding:8px;border-radius:16px;border:1px solid rgba(148,163,184,.20);background:rgba(15,23,42,.98);box-shadow:0 18px 55px rgba(0,0,0,.46);display:grid;gap:3px}.crudActionMenu button,.employeeActionMenu button,.roleMenuPanel button{width:100%;border:0;background:transparent!important;color:rgba(255,255,255,.92)!important;text-align:left;padding:9px 10px;border-radius:11px;font-size:13px;font-weight:800;cursor:pointer;box-shadow:none!important}.crudActionMenu button:hover,.employeeActionMenu button:hover,.roleMenuPanel button:hover{background:var(--ts-surface)!important}.crudActionMenu button.danger,.employeeActionMenu button.danger,.roleMenuPanel button.danger{color:#fca5a5!important}.crudActionMenu button.danger:hover,.employeeActionMenu button.danger:hover,.roleMenuPanel button.danger:hover{background:rgba(239,68,68,.13)!important}
.btn.red,.btn.danger,button.danger{background:rgba(239,68,68,.88)!important;box-shadow:none!important}.btn.red:hover,.btn.danger:hover,button.danger:hover{background:rgba(239,68,68,.98)!important}.table .btn.red,.tableV2 .btn.red,.table .btn.secondary,.tableV2 .btn.secondary{padding:7px 10px!important;border-radius:11px!important;font-size:12px!important;box-shadow:none!important}.card>.toolbar:first-child{gap:12px}.card>.toolbar:first-child h2{letter-spacing:-.02em}
@media(max-width:760px){.crudHero{align-items:flex-start;flex-direction:column}.crudHero .btn{width:100%;justify-content:center}.crudActionMenu>div,.employeeActionMenu>div,.roleMenuPanel{right:auto;left:0}.crudPage table.table td,.crudPage table.tableV2 td{padding:10px!important}}

/* === TSUKOUNT V7.34 — UI anti-bruit / anti-nesting ===
   Objectif: réduire les cases dans les cases, le rouge permanent, les listes ouvertes
   et la concurrence visuelle entre actions primaires/secondaires. */

:root{
  --tk-surface-flat: rgba(15,18,25,.74);
  --tk-border-soft: var(--ts-surface);
  --tk-border-softer: var(--ts-surface);
}

/* Moins de "boîtes dans des boîtes" : les enfants deviennent des sections plates. */
.card .card,
.card .crudHero,
.card .crudSectionHead,
.card .v1Toolbar,
.card .salesProFilters,
.card .toolbar,
.card .catalogTableWide,
.card .serviceReportKpi,
.card .serviceReportCard,
.card .productAdminCard,
.card .roleCard,
.card .settingsTile{
  box-shadow:none !important;
}

.card .crudHero,
.card .crudSectionHead,
.card .toolbar,
.card .v1Toolbar,
.card .salesProFilters{
  background:transparent !important;
  border-color:var(--tk-border-softer) !important;
}

.card .crudHero,
.card .toolbar{
  padding:14px 0 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-top:0 !important;
  border-radius:0 !important;
}

.crudSectionHead{
  padding:10px 0 14px !important;
  margin-top:6px !important;
  border-left:0 !important;
  border-right:0 !important;
  border-top:0 !important;
  border-radius:0 !important;
}

/* Actions: un bouton primaire max, le reste en menu compact. */
.crudActionMenu,
.employeeActionMenu,
.roleMenu,
.saleActionsMenu{
  position:relative;
  display:inline-flex;
  justify-content:center;
  align-items:center;
}

.crudActionMenu > summary,
.employeeActionMenu > summary,
.roleMenu > summary,
.saleActionsMenu > summary,
.productAdminCard .dragHandle{
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  border-radius:12px !important;
  background:var(--ts-surface) !important;
  border:1px solid var(--tk-border-soft) !important;
  color:var(--ts-surface-2) !important;
  cursor:pointer;
  list-style:none;
  box-shadow:none !important;
}

.crudActionMenu > summary::-webkit-details-marker,
.employeeActionMenu > summary::-webkit-details-marker,
.roleMenu > summary::-webkit-details-marker,
.saleActionsMenu > summary::-webkit-details-marker{display:none;}

.crudActionMenu[open] > summary,
.employeeActionMenu[open] > summary,
.roleMenu[open] > summary,
.saleActionsMenu[open] > summary{
  background:var(--ts-surface) !important;
}

.crudActionMenu > div,
.employeeActionMenu > div,
.roleMenuPanel,
.saleActionsMenu > div{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  z-index:90;
  min-width:178px;
  padding:8px;
  border-radius:14px;
  border:1px solid var(--ts-line);
  background:rgba(17,20,28,.98);
  box-shadow:0 18px 44px rgba(0,0,0,.42);
}

.crudActionMenu button,
.employeeActionMenu button,
.roleMenuPanel button,
.saleActionsMenu button{
  display:block;
  width:100%;
  text-align:left;
  padding:9px 10px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:rgba(255,255,255,.9);
  font-weight:800;
  cursor:pointer;
}

.crudActionMenu button:hover,
.employeeActionMenu button:hover,
.roleMenuPanel button:hover,
.saleActionsMenu button:hover{background:var(--ts-surface);}
.crudActionMenu .danger,
.employeeActionMenu .danger,
.roleMenuPanel .danger,
.saleActionsMenu .danger{color:#ffb4b4;}
.menuHint{display:block;padding:9px 10px;color:var(--ts-muted);font-size:12px;}

/* Boutons rouges moins criards quand ils restent visibles. */
.btn.red,
button.btn.red,
.btn.danger,
button.danger{
  background:rgba(235,85,92,.16) !important;
  color:#ffb4b4 !important;
  border-color:rgba(235,85,92,.32) !important;
  box-shadow:none !important;
}
.btn.red:hover,
button.btn.red:hover,
.btn.danger:hover,
button.danger:hover{background:rgba(235,85,92,.24) !important;}

.btn.blue,
button.btn.blue{
  box-shadow:none !important;
}

/* Tableaux: densité plus propre, actions compactes. */
table td:last-child,
table th:last-child{width:1%; white-space:nowrap;}
table td{vertical-align:middle;}
.saleActions{gap:6px; flex-wrap:wrap;}
.saleActions .btn{padding:8px 10px !important; min-height:0 !important;}
.saleActionsMenu{min-width:32px;}

/* Listes longues: repli visuel natif. */
.tkCollapse{
  margin-top:10px;
  border-top:1px solid var(--tk-border-softer);
  padding-top:8px;
}
.tkCollapse > summary{
  cursor:pointer;
  color:var(--ts-surface-2);
  font-weight:800;
  font-size:13px;
  list-style:none;
}
.tkCollapse > summary::-webkit-details-marker{display:none;}
.tkCollapse > summary::after{content:" ↓"; opacity:.55;}
.tkCollapse[open] > summary::after{content:" ↑";}

/* Suivi service: moins de bloc rouge géant, plus synthétique. */
.serviceReportCard{
  background:var(--tk-surface-flat) !important;
  border-color:var(--tk-border-soft) !important;
}
.serviceReportCard.warn{
  background:linear-gradient(180deg, rgba(60,23,29,.42), rgba(17,20,28,.86)) !important;
  border-color:rgba(248,113,113,.2) !important;
}
.serviceTimeline{max-height:none !important;}
.serviceSession{
  min-height:0 !important;
  padding:10px 0 !important;
}
.serviceSuspicion{gap:6px !important;}

/* Catalogue produits: actions dans menu, cartes moins hautes. */
.productAdminCard{
  position:relative;
  padding:14px !important;
  min-height:0 !important;
  gap:12px !important;
}
.productAdminCard .actions{
  position:absolute;
  top:12px;
  right:12px;
  margin:0 !important;
}
.productAdminCard h3{padding-right:34px;}
.productAdminCard .previewIcon{width:48px !important;height:48px !important;}
.catalogGrid{gap:12px !important;}

/* Dashboard: éviter les énormes chiffres cassés sur 2 lignes. */
.stat b,
.kpi b,
.serviceReportKpi b{
  font-size:clamp(24px, 3vw, 42px) !important;
  line-height:1.05 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.stat,
.kpi,
.serviceReportKpi{overflow:hidden;}

/* Alertes globales: plus sobres, moins bandeau sirène permanent. */
.notice.red,
.serviceAnnouncement,
.announcementBar{
  box-shadow:none !important;
}
.notice.red{background:rgba(127,29,29,.2) !important;}

/* Responsive: les filtres passent en grille compacte au lieu de pousser horizontalement. */
.salesProFilters,
.crudFilters,
.v1Toolbar{
  display:grid !important;
  grid-template-columns:minmax(220px,1fr) repeat(auto-fit,minmax(150px,220px));
  gap:10px !important;
  align-items:center;
}
.salesSearchBox,
.crudFilters input.grow{min-width:0 !important;}

@media (max-width: 900px){
  .salesProFilters,
  .crudFilters,
  .v1Toolbar{grid-template-columns:1fr !important;}
  .card .crudHero,
  .card .toolbar{align-items:flex-start !important;}
  .productAdminCard .actions{position:static;margin-top:8px !important;}
}


/* === TSUKOUNT V7.35 — UI flattening pass ===
   Règle: une seule vraie carte par section. Les headers, toolbars, filtres
   et formulaires internes ne doivent plus recréer des boîtes carrées dans les cartes. */

:root{
  --tk-flat-divider: var(--ts-surface);
  --tk-flat-muted-bg: rgba(255,255,255,.026);
}

/* Cards principales: moins de lourdeur, pas d'empilement visuel. */
.card{
  overflow:visible !important;
}
.card > .card,
.card > section.card,
.card > .panel,
.card > .crudHero,
.card > .crudSectionHead,
.card > .toolbar,
.card > .v1Toolbar,
.card > .salesProFilters,
.card > .salesFilters,
.card > .catalogToolbar,
.card > .partnerToolbar,
.card > .crudFilters,
.card > .filterBar,
.card > .settingsToolbar,
.card > .settingsHeader,
.card > .tableToolbar{
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

/* Suppression des rectangles internes carrés. */
.card > .crudHero,
.card > .toolbar:first-child,
.card > .v1Toolbar,
.card > .salesProFilters,
.card > .salesFilters,
.card > .catalogToolbar,
.card > .partnerToolbar,
.card > .crudFilters,
.card > .filterBar,
.card > .settingsToolbar,
.card > .settingsHeader,
.card > .tableToolbar{
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 0 14px !important;
  min-height:0 !important;
}

/* Quand une toolbar suit un header, elle devient juste une ligne de contrôle. */
.card > .toolbar + .v1Toolbar,
.card > .toolbar + .salesProFilters,
.card > .toolbar + .salesFilters,
.card > .toolbar + .catalogToolbar,
.card > .toolbar + .partnerToolbar,
.card > .crudHero + .crudFilters,
.card > .crudHero + .v1Toolbar{
  padding-top:14px !important;
  border-top:1px solid var(--tk-flat-divider) !important;
}

/* Sections de titre internes: une ligne, pas une deuxième carte. */
.crudSectionHead,
.card > .crudSectionHead{
  border:0 !important;
  border-radius:0 !important;
  padding:2px 0 12px !important;
  margin:10px 0 0 !important;
  background:transparent !important;
}
.crudSectionHead h2,
.card > .toolbar:first-child h2,
.card > .crudHero h2{
  margin:0 !important;
}
.card > .toolbar:first-child p,
.card > .crudHero p{
  margin:8px 0 0 !important;
}

/* Toolbars globales: plus de fond/bordure par défaut, elles servent uniquement au layout. */
.toolbar,
.v1Toolbar,
.salesProFilters,
.salesFilters,
.catalogToolbar,
.partnerToolbar,
.crudFilters{
  box-shadow:none !important;
}
.card .toolbar:not(.modalFooterSticky),
.card .v1Toolbar,
.card .salesProFilters,
.card .salesFilters,
.card .catalogToolbar,
.card .partnerToolbar,
.card .crudFilters{
  background:transparent !important;
  border-color:transparent !important;
}

/* Inputs/selects: composants compacts, pas des sous-sections. */
.card input,
.card select,
.card textarea,
.salesSearchBox,
.searchBox{
  min-height:42px !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
.salesSearchBox,
.searchBox{
  background:rgba(0,0,0,.16) !important;
  border:1px solid var(--ts-line) !important;
}
.salesSearchBox input,
.searchBox input{
  min-height:40px !important;
}

/* Tables/listes: une table peut garder son contour, mais pas être enfermée dans 3 cartes. */
.card > .tableWrap,
.card > .tableWrapV2,
.card > .catalogTableWide{
  margin-top:10px !important;
}
.card .tableWrap,
.card .tableWrapV2,
.card .catalogTableWide{
  box-shadow:none !important;
}

/* Formulaires inline hérités: retirer le cadre carré interne. */
.card form,
.card .inlineForm,
.card .expenseForm,
.card .quickForm,
.card .adminForm{
  box-shadow:none !important;
}
.card > form,
.card > .inlineForm,
.card > .expenseForm,
.card > .quickForm,
.card > .adminForm{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
}

/* Pages métier: headers plus plats. */
.salesProPage > .toolbar,
.card:has(.catalogGrid) > .toolbar,
.card:has(.partnerToolbar) > .toolbar,
.card:has(.v1Toolbar) > .toolbar{
  display:flex !important;
  align-items:flex-start !important;
  gap:14px !important;
}
.salesProPage > .toolbar > div:first-child,
.card:has(.catalogGrid) > .toolbar > div:first-child,
.card:has(.partnerToolbar) > .toolbar > div:first-child,
.card:has(.v1Toolbar) > .toolbar > div:first-child{
  flex:1 1 auto !important;
}

/* KPI/cards imbriqués: les vrais panneaux restent arrondis, mais sans double glow. */
.card .premiumPanel,
.card .serviceReportKpi,
.card .stockCard,
.card .settingsTile,
.card .productAdminCard{
  box-shadow:none !important;
}

/* Alertes: moins de mur rouge, plus proche d'un état. */
.notice.red,
.serviceAnnouncement,
.announcementBar{
  border-radius:14px !important;
  padding:12px 16px !important;
}

/* Actions fixes/aide: ne pas masquer les menus et contenus. */
.helpFloating,
.guideFloating,
#helpFloating{
  opacity:.9;
}

@media(max-width:900px){
  .card > .toolbar:first-child,
  .card > .crudHero{
    gap:10px !important;
  }
  .card > .toolbar:first-child .btn,
  .card > .crudHero .btn{
    width:auto !important;
  }
}

/* === TSUKOUNT V7.35.1 — toolbar/filter flattening hotfix ===
   Corrige les rectangles carrés restants autour des zones recherche/filtres.
   Règle: les toolbars sont du layout, pas des cartes. */
.card > .v1Toolbar,
.card > .salesProFilters,
.card > .salesFilters,
.card > .catalogToolbar,
.card > .partnerToolbar,
.card > .crudFilters,
.card > .filters,
.card > .topFilters,
.card > .toolbar,
.card > .filterBar,
.card > .tableToolbar,
.card > .settingsToolbar,
.card > .settingsHeader,
.card > .adminFilters,
.card > .searchFilters,
.card > .listFilters,
.card > .controlBar,
.card > .formRow,
.card > .compactRow,
.card > .previewToolbar,
.card > .weekToolbar,
.card > .serviceLineToolbar{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  border-radius:0 !important;
  padding:0 !important;
}

/* Les containers de filtres gardent seulement un espacement et une grille/flex propre. */
.card > .v1Toolbar,
.card > .catalogToolbar,
.card > .partnerToolbar,
.card > .crudFilters,
.card > .filters,
.card > .topFilters,
.card > .salesFilters,
.card > .salesProFilters,
.card > .adminFilters,
.card > .searchFilters,
.card > .listFilters{
  margin:14px 0 16px !important;
  gap:10px !important;
}

/* Cas legacy: certains écrans ont une toolbar dans un wrapper générique. */
.card :is(.v1Toolbar,.salesProFilters,.salesFilters,.catalogToolbar,.partnerToolbar,.crudFilters,.filters,.topFilters,.filterBar,.tableToolbar,.adminFilters,.searchFilters,.listFilters){
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}

/* Enlever les lignes verticales/horizontales carrées créées par des wrappers internes anonymes. */
.card > div:has(> input),
.card > div:has(> select),
.card > div:has(> .tk-select),
.card > div:has(> .salesSearchBox),
.card > div:has(> .searchBox){
  border-color:transparent !important;
  box-shadow:none !important;
}
.card > div.v1Toolbar:has(input),
.card > div.salesProFilters:has(input),
.card > div.salesFilters:has(input),
.card > div.crudFilters:has(input),
.card > div.catalogToolbar:has(input),
.card > div.partnerToolbar:has(input){
  border:0 !important;
  padding:0 !important;
}

/* Inputs/selects: taille uniforme, pas de full-card look. */
.card :is(input,select,textarea,.tk-select-btn){
  height:44px !important;
  min-height:44px !important;
  border-radius:12px !important;
}
.card textarea{height:auto !important;min-height:88px !important;}
.card :is(.salesSearchBox,.searchBox){
  height:44px !important;
  min-height:44px !important;
  padding:0 12px !important;
  border-radius:12px !important;
}

/* Le bloc aperçu employé dans Personnel ne doit pas redevenir une carte. */
.card .previewToolbar,
.card .employeePreviewInline,
.card .employeePreviewBar{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
}

/* Les headers dans cards restent plats; seuls les boutons/actions ressortent. */
.card > .crudHero,
.card > .toolbar:first-child,
.card > .sectionHeader,
.card > .pageHeader{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
}

@media(max-width:760px){
  .card > .v1Toolbar,
  .card > .salesProFilters,
  .card > .salesFilters,
  .card > .catalogToolbar,
  .card > .partnerToolbar,
  .card > .crudFilters{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
}

/* === TSUKOUNT V7.35.2 — hard toolbar background removal ===
   Les barres de filtres ne sont jamais des surfaces. Elles ne portent ni fond,
   ni gradient, ni padding de carte. Seuls les inputs/selects/boutons restent visibles. */
body :is(.toolbar,.v1Toolbar,.salesFilters,.salesProFilters,.catalogToolbar,.partnerToolbar,.crudFilters,.filters,.topFilters,.filterBar,.tableToolbar,.settingsToolbar,.adminFilters,.searchFilters,.listFilters,.controlBar,.previewToolbar,.weekToolbar,.serviceLineToolbar):not(.modalFooterSticky){
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border-color:transparent !important;
  border-width:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
  backdrop-filter:none !important;
}
body .card :is(.v1Toolbar,.salesFilters,.salesProFilters,.catalogToolbar,.partnerToolbar,.crudFilters,.filters,.topFilters,.filterBar,.tableToolbar,.settingsToolbar,.adminFilters,.searchFilters,.listFilters,.controlBar,.previewToolbar,.weekToolbar,.serviceLineToolbar){
  padding:0 !important;
  border-radius:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
body .card :is(.v1Toolbar,.salesFilters,.salesProFilters,.catalogToolbar,.partnerToolbar,.crudFilters,.filters,.topFilters,.searchFilters,.listFilters){
  margin-top:14px !important;
  margin-bottom:14px !important;
}
/* Les wrappers anonymes qui contiennent uniquement des contrôles ne doivent pas créer une surface. */
body.__disabled_has_selector .card > div:has(> :is(input,select,textarea,.tk-select,.tk-select-btn,.customSelectButton,.salesSearchBox,.searchBox,.btn)){
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border-color:transparent !important;
  border-width:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
body.__disabled_has_selector .card > div:has(> :is(input,select,textarea,.tk-select,.tk-select-btn,.salesSearchBox,.searchBox)){
  padding-left:0 !important;
  padding-right:0 !important;
}
/* Évite le faux bloc arrondi autour de l'icône recherche; le champ garde seul sa surface. */
body :is(.salesSearchBox,.searchBox){
  background:var(--anthra-1) !important;
  background-image:none !important;
  border:1px solid var(--ts-line) !important;
  box-shadow:none !important;
}
body :is(.salesSearchBox,.searchBox) input{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* === TSUKOUNT V7.39 — vraie migration Stock UX ===
   Écran Stock migré réellement: une seule carte principale, toolbar plate,
   cartes stock compactes, réassort collapsable, plus de bloc imbriqué lourd. */
.stockPageCard{
  margin-bottom:16px!important;
}
.stockPageHeader{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.stockPageHeader h2{margin:0!important;letter-spacing:-.02em;}
.stockPageHeader p{margin:4px 0 0!important;}
.stockHeaderActions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  min-width:0;
}
.stockHeaderActions .pageContextBar,
.stockHeaderActions .week{
  margin:0!important;
  width:auto!important;
  min-width:0!important;
}
.stockSummaryStrip{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:10px 0 12px!important;
  margin:0 0 12px!important;
  border-top:1px solid var(--ts-surface);
  border-bottom:1px solid var(--ts-surface);
}
.stockSummaryStrip span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--ts-surface);
  color:var(--ts-muted);
  font-size:12px;
}
.stockSummaryStrip b{color:var(--ts-text);font-variant-numeric:tabular-nums;}
.stockInlineNotice{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px!important;
  padding:9px 11px!important;
  border-radius:13px!important;
  border:1px solid var(--ts-line)!important;
  background:var(--ts-surface)!important;
  color:rgba(255,255,255,.70)!important;
}
.stockInlineNotice b{color:var(--ts-text);white-space:nowrap;}
.stockInlineNotice.warn{border-color:rgba(245,158,11,.22)!important;background:rgba(245,158,11,.07)!important;}
.stockInlineNotice.ok{border-color:rgba(34,197,94,.18)!important;background:rgba(34,197,94,.055)!important;}
.stockGridV2{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.stockCardV2{
  position:relative!important;
  padding:14px!important;
  border-radius:18px!important;
  min-height:0!important;
  background:var(--ts-surface)!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.stockCardV2.ok{border-color:rgba(34,197,94,.15)!important;}
.stockCardV2.low{border-color:rgba(245,158,11,.28)!important;box-shadow:none!important;}
.stockCardV2.critical{border-color:rgba(239,68,68,.34)!important;box-shadow:none!important;}
.stockCardTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.stockIdentity{display:flex;align-items:center;gap:10px;min-width:0;}
.stockIdentity .stockIcon{
  display:grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:12px;
  background:var(--ts-surface);
  font-size:18px!important;
  flex:0 0 auto;
}
.stockIdentity strong{display:block;color:var(--ts-text);font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;}
.stockIdentity small{display:block;color:rgba(255,255,255,.42);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;}
.stockCardMain{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;}
.stockCardV2 .stockQty{font-size:32px!important;font-weight:1000!important;line-height:.95!important;}
.stockCardV2 .badge{font-size:11px!important;padding:5px 8px!important;border-radius:999px!important;}
.stockBar{height:6px!important;border-radius:999px!important;background:var(--ts-surface)!important;margin:0!important;}
.stockBar span{border-radius:999px!important;}
.stockMetaGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 10px;
  color:rgba(255,255,255,.54);
  font-size:11px;
  line-height:1.25;
}
.stockMetaGrid span{min-width:0;}
.stockMetaGrid b{color:var(--ts-surface-2);font-weight:900;}
.stockCardV2 .stockActionsMenu{position:static!important;right:auto!important;top:auto!important;flex:0 0 auto;}
.stockCardV2 .stockActionsMenu summary{
  width:30px!important;height:30px!important;border-radius:10px!important;
  background:transparent!important;border-color:var(--ts-line)!important;
  color:rgba(255,255,255,.62)!important;
}
.stockCardV2 .stockActionsMenu summary:hover{background:var(--ts-surface)!important;color:var(--ts-text)!important;}
.stockCardV2 .stockActionsMenu .menuPanel{top:34px!important;right:0!important;}
.restockPanelV2{margin-top:16px!important;}
.restockHeaderV2{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;}
.restockHeaderV2 h2{margin:0!important;letter-spacing:-.02em;}
.restockHeaderV2 p{margin:4px 0 0!important;}
.restockPrimaryActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.restockControlsV2{
  display:grid;
  grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(130px,.8fr));
  gap:10px;
  margin:10px 0 12px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.restockControlsV2.manual{grid-template-columns:minmax(260px,1.5fr) minmax(120px,.5fr) auto auto;}
.restockControlsV2 select,.restockControlsV2 input{width:100%!important;min-width:0!important;max-width:none!important;}
.restockPanelV2 .restockMiniStats{margin:12px 0!important;}
.restockPanelV2 .miniStat{
  background:var(--ts-surface)!important;
  border-color:var(--ts-surface)!important;
  box-shadow:none!important;
}
.restockDetailsV2{
  margin-top:12px;
  border-top:1px solid var(--ts-surface);
  padding-top:10px;
}
.restockDetailsV2 summary{
  cursor:pointer;
  color:var(--ts-surface-2);
  font-weight:900;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.restockDetailsV2 summary::-webkit-details-marker{display:none;}
.restockDetailsV2 summary::after{content:'Ouvrir';font-size:11px;color:rgba(255,255,255,.45);font-weight:800;}
.restockDetailsV2[open] summary::after{content:'Fermer';}
.restockDetailGrid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:14px;margin-top:12px;}
.restockHint{margin:12px 0 0!important;color:rgba(255,255,255,.45);font-size:12px;line-height:1.4;}
.restockPanelV2 .copyBox{min-height:90px!important;padding:12px!important;border-radius:14px!important;}
@media(max-width:1280px){.stockGridV2{grid-template-columns:repeat(3,minmax(0,1fr));}.restockDetailGrid{grid-template-columns:1fr;}}
@media(max-width:980px){.stockGridV2{grid-template-columns:repeat(2,minmax(0,1fr));}.stockPageHeader,.restockHeaderV2{flex-direction:column;}.stockHeaderActions,.restockPrimaryActions{width:100%;justify-content:flex-start;}.restockControlsV2,.restockControlsV2.manual{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.stockGridV2{grid-template-columns:1fr;}.stockMetaGrid{grid-template-columns:1fr;}.stockSummaryStrip span{width:calc(50% - 4px);justify-content:center;}.restockControlsV2,.restockControlsV2.manual{grid-template-columns:1fr;}.stockInlineNotice{align-items:flex-start;flex-direction:column;gap:3px;}}


/* === TSUKOUNT V7.41 — DnD validation + UI stability === */
.badgeAction{
  border:1px solid currentColor;
  cursor:pointer;
  font:inherit;
  line-height:1.1;
  transition:transform .12s ease, filter .12s ease, border-color .12s ease;
}
.badgeAction:hover{filter:brightness(1.12);transform:translateY(-1px)}
.badgeAction:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px}
.employeeActionMenu > div,.crudActionMenu > div,.roleMenuPanel{z-index:80}
.tableWrap,.ticketsScroll,.modalCard,.modalBox{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.42) rgba(15,23,42,.35)}
.tableWrap::-webkit-scrollbar,.ticketsScroll::-webkit-scrollbar,.modalCard::-webkit-scrollbar,.modalBox::-webkit-scrollbar{width:9px;height:9px}
.tableWrap::-webkit-scrollbar-track,.ticketsScroll::-webkit-scrollbar-track,.modalCard::-webkit-scrollbar-track,.modalBox::-webkit-scrollbar-track{background:rgba(15,23,42,.35);border-radius:999px}
.tableWrap::-webkit-scrollbar-thumb,.ticketsScroll::-webkit-scrollbar-thumb,.modalCard::-webkit-scrollbar-thumb,.modalBox::-webkit-scrollbar-thumb{background:rgba(148,163,184,.38);border-radius:999px;border:2px solid rgba(15,23,42,.35)}
.tableWrap::-webkit-scrollbar-thumb:hover,.ticketsScroll::-webkit-scrollbar-thumb:hover,.modalCard::-webkit-scrollbar-thumb:hover,.modalBox::-webkit-scrollbar-thumb:hover{background:rgba(203,213,225,.55)}
.productAdminCard.dragging{opacity:.48;transform:scale(.99)}
.productAdminCard.dragOver{outline:1px solid rgba(199,154,255,.55);box-shadow:0 -2px 0 rgba(199,154,255,.55) inset}
.productAdminCard.dragOver.dropAfter{box-shadow:0 2px 0 rgba(199,154,255,.55) inset}
.productAdminCard .dragHandle{cursor:grab}
.productAdminCard .dragHandle:active{cursor:grabbing}


/* === TSUKOUNT V7.41.1 — RH badge colors + click-outside menu polish === */
.badgeAction{
  gap:6px;
  border-color:var(--ts-line)!important;
  box-shadow:none!important;
  color:inherit;
}
.badgeAction::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  flex:0 0 auto;
  background:currentColor;
  box-shadow:0 0 0 3px color-mix(in srgb, currentColor 18%, transparent);
}
.badgeAction.ok{
  background:rgba(34,197,94,.14)!important;
  color:#8ff0c7!important;
  border-color:rgba(34,197,94,.24)!important;
}
.badgeAction.warn{
  background:rgba(245,158,11,.15)!important;
  color:#f7d46b!important;
  border-color:rgba(245,158,11,.28)!important;
}
.badgeAction.bad{
  background:rgba(239,68,68,.15)!important;
  color:#ffaaa8!important;
  border-color:rgba(239,68,68,.28)!important;
}
.badgeAction.blue,.badgeAction.dark{
  background:rgba(148,163,184,.12)!important;
  color:#d7dee9!important;
  border-color:rgba(148,163,184,.22)!important;
}
.employeeActionMenu > div{
  top:calc(100% + 8px)!important;
  z-index:140!important;
}
.employeeActionMenu button.danger{
  background:rgba(239,68,68,.12)!important;
  color:#ffb4b4!important;
}

/* V7.42 — RH contract acknowledgement */
.badgeAction .badgeDot{display:inline-block;width:7px;height:7px;border-radius:999px;margin-right:6px;background:currentColor;box-shadow:0 0 10px currentColor;vertical-align:1px;opacity:.95}
.docTile .miniDocBtn{margin-top:6px;width:max-content}


/* === TSUKOUNT V7.43 — RH badges sobres + annonce obligatoire avant service === */
.badgeAction{
  --rh-dot:rgba(148,163,184,.75);
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:24px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:var(--ts-surface)!important;
  border:1px solid rgba(148,163,184,.20)!important;
  color:rgba(248,250,252,.88)!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:850!important;
}
.badgeAction::before{
  content:""!important;
  width:7px!important;
  height:7px!important;
  border-radius:999px!important;
  flex:0 0 auto!important;
  background:var(--rh-dot)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--rh-dot) 16%,transparent),0 0 12px color-mix(in srgb,var(--rh-dot) 42%,transparent)!important;
}
.badgeAction .badgeDot{display:none!important}
.badgeAction.ok{--rh-dot:#34d399;background:var(--ts-surface)!important;color:rgba(248,250,252,.90)!important;border-color:rgba(52,211,153,.20)!important}
.badgeAction.warn{--rh-dot:#f59e0b;background:var(--ts-surface)!important;color:rgba(248,250,252,.90)!important;border-color:rgba(245,158,11,.22)!important}
.badgeAction.bad{--rh-dot:#fb7185;background:var(--ts-surface)!important;color:rgba(248,250,252,.90)!important;border-color:rgba(251,113,133,.22)!important}
.badgeAction.blue,.badgeAction.dark{--rh-dot:#94a3b8;background:var(--ts-surface)!important;color:rgba(248,250,252,.86)!important;border-color:rgba(148,163,184,.20)!important}
.badgeAction:hover{background:var(--ts-surface)!important;border-color:rgba(255,255,255,.24)!important;filter:none!important;transform:none!important}
.topAnnouncement.serviceRequired{
  border-color:rgba(245,158,11,.45)!important;
  box-shadow:0 0 0 1px rgba(245,158,11,.12),0 14px 42px rgba(0,0,0,.20)!important;
}
.topAnnouncement.serviceRequired .announcementPresenceHint{color:#fcd34d!important}

/* === TSUKOUNT V7.43.2 — Stock lisible avant finition UX globale === */
.stockPageCard,
.restockPanelV2{
  background:linear-gradient(180deg,rgba(30,27,46,.94),rgba(18,16,26,.94))!important;
  border:1px solid var(--ts-line)!important;
}
.stockGridV2{
  grid-template-columns:repeat(4,minmax(240px,1fr))!important;
  align-items:stretch!important;
}
.stockCardV2{
  min-height:172px!important;
  padding:16px!important;
  overflow:visible!important;
  border:1px solid var(--ts-line)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.022))!important;
}
.stockCardV2.low{
  background:linear-gradient(180deg,rgba(245,158,11,.10),rgba(255,255,255,.025))!important;
  border-color:rgba(245,158,11,.38)!important;
}
.stockCardV2.critical{
  background:linear-gradient(180deg,rgba(239,68,68,.12),rgba(255,255,255,.025))!important;
  border-color:rgba(239,68,68,.42)!important;
}
.stockIdentity .stockIcon{
  width:38px!important;
  height:38px!important;
  border-radius:14px!important;
  background:var(--ts-surface)!important;
}
.stockIdentity strong{font-size:15px!important;max-width:190px!important;}
.stockIdentity small{font-size:11px!important;max-width:190px!important;}
.stockStatusRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:28px;
  color:rgba(255,255,255,.52);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.stockStatusPill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.02em;
  border:1px solid var(--ts-line);
  color:#dbeafe;
  background:rgba(148,163,184,.12);
}
.stockStatusPill::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:currentColor;
  box-shadow:0 0 12px currentColor;
}
.stockStatusPill.ok{color:#86efac;background:rgba(34,197,94,.13);border-color:rgba(34,197,94,.25)}
.stockStatusPill.low{color:#fde68a;background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.32)}
.stockStatusPill.critical{color:#fca5a5;background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.34)}
.stockQtyBlock{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-top:2px;
}
.stockQtyBlock strong{
  display:block;
  color:var(--ts-text);
  font-size:38px;
  font-weight:1000;
  line-height:.9;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.04em;
}
.stockQtyBlock span{
  color:var(--ts-muted);
  font-size:12px;
  font-weight:850;
}
.stockCardV2.ok .stockQtyBlock strong{color:#8ff0c7!important;}
.stockCardV2.low .stockQtyBlock strong{color:#fde68a!important;}
.stockCardV2.critical .stockQtyBlock strong{color:#ffaaa8!important;}
.stockThresholds{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.thresholdChip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px 8px;
  border-radius:999px;
  font-size:11px;
  color:var(--ts-surface-2);
  background:var(--ts-surface);
  border:1px solid var(--ts-line);
}
.thresholdChip b{color:var(--ts-text);font-variant-numeric:tabular-nums;}
.thresholdChip.low{border-color:rgba(245,158,11,.22);background:rgba(245,158,11,.08)}
.thresholdChip.critical{border-color:rgba(239,68,68,.22);background:rgba(239,68,68,.08)}
.stockMetaGrid{
  margin-top:auto!important;
  padding-top:8px;
  border-top:1px solid var(--ts-surface);
}
.stockBar{height:8px!important;background:var(--ts-surface)!important;overflow:hidden!important;}
.stockCardV2.ok .stockBar span{background:linear-gradient(90deg,#22c55e,#86efac)!important;}
.stockCardV2.low .stockBar span{background:linear-gradient(90deg,#f59e0b,#fde68a)!important;}
.stockCardV2.critical .stockBar span{background:linear-gradient(90deg,#ef4444,#fca5a5)!important;}
.stockCardV2 .stockActionsMenu{
  opacity:0;
  pointer-events:none;
  transition:opacity .14s ease, transform .14s ease;
  transform:translateY(-2px);
}
.stockCardV2:hover .stockActionsMenu,
.stockCardV2:focus-within .stockActionsMenu{
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.stockEmptyState{
  grid-column:1/-1;
  min-height:170px;
  display:grid!important;
  place-items:center!important;
  text-align:center;
  border:1px dashed var(--ts-line)!important;
  background:var(--ts-surface)!important;
  border-radius:18px!important;
}
.stockEmptyState .emptyIcon{font-size:30px;opacity:.9;margin-bottom:6px;}
.restockPanelV2{
  display:grid!important;
  gap:16px!important;
  padding:18px!important;
}
.restockHeaderV2{
  margin-bottom:0!important;
  padding-bottom:14px!important;
  border-bottom:1px solid var(--ts-surface)!important;
}
.restockPrimaryActions .copyPrimary,
.restockPrimaryActions .btn.red{
  background:var(--ts-surface)!important;
  color:var(--ts-text)!important;
  border:1px solid var(--ts-line)!important;
  box-shadow:none!important;
}
.restockPrimaryActions .copyPrimary:hover,
.restockPrimaryActions .btn.red:hover{
  background:color-mix(in srgb,var(--accent,#7c5cfc) 24%,var(--ts-surface))!important;
  border-color:color-mix(in srgb,var(--accent,#7c5cfc) 35%,var(--ts-line))!important;
}
.restockControlsV2{
  padding:14px!important;
  border:1px solid var(--ts-line)!important;
  border-radius:16px!important;
  background:var(--ts-surface)!important;
}
.restockControlsV2::before{
  content:"Paramètres";
  grid-column:1/-1;
  color:var(--ts-text);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  opacity:.78;
}
.restockPanelV2 .restockMiniStats{
  position:relative;
  padding-top:28px!important;
  margin:0!important;
}
.restockPanelV2 .restockMiniStats::before{
  content:"Résultats";
  position:absolute;
  left:0;
  top:0;
  color:var(--ts-text);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  opacity:.78;
}
.restockPanelV2 .miniStat b{
  font-size:21px!important;
  font-variant-numeric:tabular-nums;
}
.restockDetailsV2{
  margin-top:0!important;
  padding:14px!important;
  border:1px solid var(--ts-line)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.022)!important;
}
.restockDetailsV2 summary{
  font-size:13px!important;
}
.restockDetailsV2 summary::after{
  padding:5px 8px;
  border-radius:999px;
  background:var(--ts-surface);
  color:var(--ts-muted)!important;
}
.restockDetailGrid{
  grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr)!important;
}
.restockPanelV2 .copyBox{
  min-height:130px!important;
  background:#0d0b14!important;
  border-color:var(--ts-line)!important;
}
.restockHint{
  margin:0!important;
  padding-top:4px;
}
@media(max-width:1280px){.stockGridV2{grid-template-columns:repeat(2,minmax(260px,1fr))!important}.restockDetailGrid{grid-template-columns:1fr!important}}
@media(max-width:720px){.stockGridV2{grid-template-columns:1fr!important}.stockCardV2 .stockActionsMenu{opacity:1;pointer-events:auto;transform:none}.stockStatusRow{align-items:flex-start;flex-direction:column}.restockControlsV2,.restockControlsV2.manual{grid-template-columns:1fr!important}}


/* === v7.43.66 RAIL LAYOUT CLEAN — CSS ONLY === */
/*
  Final clean rail patch.
  - Removes old contradictory rail blocks before this point.
  - Closed rail reserves only 64px in the layout.
  - Sidebar itself never changes width, so hover cannot glitch.
  - Only sidebarInner expands as overlay on hover/focus.
  - Closed state = logo + page icons + ADVERT icon + avatar only.
  - Open state = readable full menu.
  - CSS only.
*/

:root{
  --tsk-rail-closed:64px;
  --tsk-rail-open:260px;
  --tsk-rail-pad:10px;
  --tsk-rail-icon:42px;
  --tsk-red:#d94a52;
  --tsk-rail-bg:#090a0e;
  --tsk-rail-line:var(--ts-surface);
}

/* Critical: reclaim the empty left space. */
.layout{
  display:grid !important;
  grid-template-columns:var(--tsk-rail-closed) minmax(0,1fr) !important;
  min-height:100vh !important;
}

.main{
  margin-left:0 !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
}

.pageChrome{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Stable hover zone: sidebar remains closed width forever. */
.sidebar{
  position:sticky !important;
  top:0 !important;
  align-self:start !important;
  z-index:120 !important;
  width:var(--tsk-rail-closed) !important;
  min-width:var(--tsk-rail-closed) !important;
  max-width:var(--tsk-rail-closed) !important;
  height:100vh !important;
  min-height:100vh !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
  border-right:0 !important;
  box-shadow:none !important;
}

/* The visual panel expands, not the layout rail. */
.sidebarInner{
  position:absolute !important;
  inset:0 auto 0 0 !important;
  width:var(--tsk-rail-closed) !important;
  min-width:var(--tsk-rail-closed) !important;
  max-width:var(--tsk-rail-closed) !important;
  height:100vh !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  gap:10px !important;
  padding:12px var(--tsk-rail-pad) !important;
  overflow:hidden !important;
  background:var(--tsk-rail-bg) !important;
  border-right:1px solid var(--tsk-rail-line) !important;
  transition:width .16s ease, min-width .16s ease, max-width .16s ease, box-shadow .16s ease !important;
  z-index:1 !important;
}

.sidebar:hover .sidebarInner,
.sidebar:focus-within .sidebarInner{
  width:var(--tsk-rail-open) !important;
  min-width:var(--tsk-rail-open) !important;
  max-width:var(--tsk-rail-open) !important;
  box-shadow:18px 0 44px rgba(0,0,0,.34) !important;
}

.sidebarScroll{
  min-height:0 !important;
  overflow:hidden auto !important;
  padding-right:0 !important;
}

/* Closed brand = company logo only. */
.brand{
  width:100% !important;
  height:44px !important;
  min-height:44px !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 10px !important;
  padding:0 !important;
  overflow:hidden !important;
}

.logo{
  flex:0 0 var(--tsk-rail-icon) !important;
  width:var(--tsk-rail-icon) !important;
  height:var(--tsk-rail-icon) !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  border-radius:12px !important;
  box-shadow:none !important;
}

.logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
}

.sidebar:not(:hover):not(:focus-within) .brand{
  justify-content:center !important;
}

.sidebar:not(:hover):not(:focus-within) .brand > div:last-child{
  display:none !important;
}

.sidebar:hover .brand > div:last-child,
.sidebar:focus-within .brand > div:last-child{
  display:block !important;
  min-width:0 !important;
}

.brand h2,
.brand small{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  max-width:180px !important;
}

/* ADVERT closed = icon only. */
.announce{
  width:var(--tsk-rail-icon) !important;
  max-width:var(--tsk-rail-icon) !important;
  min-width:var(--tsk-rail-icon) !important;
  height:38px !important;
  padding:0 !important;
  margin:6px 0 12px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:11px !important;
  overflow:hidden !important;
  background:var(--tsk-red) !important;
  color:var(--ts-text) !important;
  box-shadow:none !important;
  font-size:0 !important;
}

.announce::before{
  content:"📣" !important;
  display:block !important;
  font-size:16px !important;
}

.sidebar:hover .announce,
.sidebar:focus-within .announce{
  width:100% !important;
  max-width:100% !important;
  padding:0 14px !important;
  display:flex !important;
  justify-content:center !important;
  font-size:13px !important;
}

.sidebar:hover .announce::before,
.sidebar:focus-within .announce::before{
  content:"" !important;
  display:none !important;
}

/* Company selector closed = quiet square, open = readable select. */
.sidebar select{
  width:var(--tsk-rail-icon) !important;
  max-width:var(--tsk-rail-icon) !important;
  height:34px !important;
  padding:0 !important;
  border-radius:10px !important;
  color:transparent !important;
  text-indent:-999px !important;
}

.sidebar:hover select,
.sidebar:focus-within select{
  width:100% !important;
  max-width:100% !important;
  padding:0 10px !important;
  color:var(--ts-text) !important;
  text-indent:0 !important;
}

/* Section labels closed = dividers. */
.sectionLabel{
  width:var(--tsk-rail-icon) !important;
  height:14px !important;
  margin:12px 0 4px !important;
  padding:0 !important;
  overflow:hidden !important;
  font-size:0 !important;
  color:transparent !important;
}

.sectionLabel::before{
  content:"" !important;
  display:block !important;
  width:18px !important;
  height:1px !important;
  margin:7px auto 0 !important;
  background:var(--ts-surface-2) !important;
}

.sidebar:hover .sectionLabel,
.sidebar:focus-within .sectionLabel{
  width:auto !important;
  height:auto !important;
  margin:14px 6px 5px !important;
  font-size:9px !important;
  color:rgba(245,246,250,.42) !important;
  letter-spacing:.11em !important;
}

.sidebar:hover .sectionLabel::before,
.sidebar:focus-within .sectionLabel::before{
  display:none !important;
}

/* Nav: label is a raw text node, so closed button must be font-size:0. */
.nav{
  width:var(--tsk-rail-icon) !important;
  max-width:var(--tsk-rail-icon) !important;
  min-width:var(--tsk-rail-icon) !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 !important;
  margin:2px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  border-radius:11px !important;
  font-size:0 !important;
  line-height:1 !important;
}

.nav span:first-child{
  flex:0 0 var(--tsk-rail-icon) !important;
  width:var(--tsk-rail-icon) !important;
  min-width:var(--tsk-rail-icon) !important;
  height:38px !important;
  display:grid !important;
  place-items:center !important;
  font-size:16px !important;
  line-height:1 !important;
  margin:0 !important;
}

.sidebar:hover .nav,
.sidebar:focus-within .nav{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:0 10px 0 0 !important;
  justify-content:flex-start !important;
  gap:10px !important;
  font-size:13px !important;
}

.nav.active{
  background:var(--tsk-red) !important;
  box-shadow:none !important;
}

.nav.active::before{
  display:none !important;
}

/* User closed = avatar only. */
.userBox{
  width:var(--tsk-rail-icon) !important;
  max-width:var(--tsk-rail-icon) !important;
  min-height:42px !important;
  height:42px !important;
  padding:4px !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  border-radius:12px !important;
  box-shadow:none !important;
}

.userBox button[onclick="openMyCompanyProfile()"]{
  width:34px !important;
  height:34px !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
}

.userBox strong{
  width:34px !important;
  height:34px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  overflow:hidden !important;
  font-size:0 !important;
  line-height:1 !important;
}

.userBox .avatar,
.avatar{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  flex:0 0 34px !important;
  object-fit:cover !important;
  border-radius:10px !important;
  display:block !important;
}

.userBox small,
.userBox .badge,
.userBox .logout,
.logout{
  display:none !important;
}

.sidebar:hover .userBox,
.sidebar:focus-within .userBox{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-height:auto !important;
  padding:10px !important;
  display:block !important;
}

.sidebar:hover .userBox button[onclick="openMyCompanyProfile()"],
.sidebar:focus-within .userBox button[onclick="openMyCompanyProfile()"]{
  width:100% !important;
  height:auto !important;
  display:block !important;
}

.sidebar:hover .userBox strong,
.sidebar:focus-within .userBox strong{
  width:auto !important;
  height:auto !important;
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  font-size:13px !important;
  line-height:1.15 !important;
}

.sidebar:hover .userBox small,
.sidebar:hover .userBox .badge,
.sidebar:hover .userBox .logout,
.sidebar:hover .logout,
.sidebar:focus-within .userBox small,
.sidebar:focus-within .userBox .badge,
.sidebar:focus-within .userBox .logout,
.sidebar:focus-within .logout{
  display:block !important;
}

.sidebar:hover .logout,
.sidebar:focus-within .logout{
  width:100% !important;
  height:34px !important;
  margin-top:9px !important;
}

/* Mobile: no rail. */
@media(max-width:900px){
  .layout{
    display:block !important;
  }

  .sidebar,
  .sidebarInner{
    position:relative !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:auto !important;
  }

  .brand > div:last-child{
    display:block !important;
  }

  .announce,
  .nav,
  .userBox,
  .sidebar select{
    width:100% !important;
    max-width:100% !important;
    font-size:inherit !important;
    text-indent:0 !important;
  }

  .announce::before{
    display:none !important;
  }

  .sectionLabel{
    width:auto !important;
    height:auto !important;
    font-size:9px !important;
    color:rgba(245,246,250,.42) !important;
  }

  .sectionLabel::before{
    display:none !important;
  }

  .userBox{
    height:auto !important;
    display:block !important;
  }

  .userBox button[onclick="openMyCompanyProfile()"],
  .userBox strong{
    width:auto !important;
    height:auto !important;
    display:flex !important;
    font-size:inherit !important;
  }

  .userBox small,
  .userBox .badge,
  .userBox .logout,
  .logout{
    display:block !important;
  }
}


/* === v7.43.70 FLAT SURFACES PHASE === */
/*
  Refont phase after validated rail.
  Scope:
  - surfaces/cards/tables/buttons/announcements only
  - do NOT touch sidebar/rail mechanics
  - reduce box-in-box feeling
  - reduce heavy gradients/shadows
  - keep layout and business logic intact
*/

:root{
  --tk-flat-bg:#08090d;
  --tk-flat-panel:#11141c;
  --tk-flat-panel-2:#141823;
  --tk-flat-panel-soft:rgba(255,255,255,.026);
  --tk-flat-line:var(--ts-surface);
  --tk-flat-line-soft:var(--ts-surface);
  --tk-flat-text:#f5f6fa;
  --tk-flat-muted:rgba(245,246,250,.58);
  --tk-flat-faint:rgba(245,246,250,.38);
}

/* Global flattening without touching rail mechanics */
body{
  background:var(--tk-flat-bg)!important;
}

.appHeader{
  background:rgba(8,9,13,.96)!important;
  border-bottom:1px solid var(--tk-flat-line-soft)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

.appHeader .title h1{
  letter-spacing:-.055em!important;
}

.appHeader .title p span{
  background:var(--ts-surface)!important;
  border:0!important;
  box-shadow:none!important;
}

/* Core surfaces */
.card,
.roleCard,
.settingsTile,
.serviceBar,
.topAnnouncement,
.topAnnouncementMini,
.tableWrap,
.notice,
.serviceGate,
.kpiBox,
.product,
.cartLine,
.modalBox,
.metric{
  background:var(--tk-flat-panel)!important;
  border:1px solid var(--tk-flat-line)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

.card,
.roleCard,
.settingsTile{
  border-radius:16px!important;
}

/* Kill decorative pseudo glows on content cards only */
.main .card::before,
.main .card::after,
.main .metric::before,
.main .metric::after,
.main .kpiBox::before,
.main .kpiBox::after{
  display:none!important;
}

/* Reduce nested box effect */
.card .card,
.card .tableWrap,
.card .roleCard,
.card .settingsTile,
.card .metric,
.card .kpiBox{
  background:rgba(255,255,255,.022)!important;
  border-color:var(--tk-flat-line-soft)!important;
}

.card .card .card,
.card .tableWrap .card{
  background:transparent!important;
}

/* KPI hierarchy: hero stays important but not boxed/glowy */
.metric,
.kpiBox{
  border-radius:14px!important;
  background:var(--ts-surface)!important;
}

.metric:first-child,
.kpiBox:first-child{
  background:rgba(217,74,82,.075)!important;
  border-color:rgba(217,74,82,.18)!important;
}

.metric h3,
.kpiBox h3{
  letter-spacing:-.045em!important;
}

/* Tables flatter */
.tableWrap{
  background:transparent!important;
}

.table th{
  background:rgba(255,255,255,.022)!important;
  color:var(--tk-flat-faint)!important;
  border-bottom:1px solid var(--tk-flat-line)!important;
}

.table td{
  border-bottom:1px solid var(--ts-surface)!important;
}

.table tr:hover td{
  background:rgba(255,255,255,.026)!important;
}

/* Announcement/service bars less bulky */
.topAnnouncement,
.topAnnouncementMini{
  background:rgba(217,74,82,.075)!important;
  border-color:rgba(217,74,82,.14)!important;
}

.serviceBar{
  background:rgba(255,255,255,.026)!important;
}

/* Buttons flatter */
.btn,
button.btn,
.logout{
  box-shadow:none!important;
}

.btn:hover,
button.btn:hover{
  transform:none!important;
  filter:brightness(1.04);
}

.btn.blue,
.announce{
  box-shadow:none!important;
}

/* Form fields flatter */
input,
select,
textarea{
  box-shadow:none!important;
  background:rgba(0,0,0,.16)!important;
  border-color:var(--ts-surface)!important;
}

input:focus,
select:focus,
textarea:focus{
  box-shadow:none!important;
}

/* Badges less pill-glossy */
.badge{
  box-shadow:none!important;
  border:0!important;
  background:var(--ts-surface)!important;
}

.badge.ok{
  background:rgba(34,197,94,.13)!important;
}
.badge.warn{
  background:rgba(245,158,11,.13)!important;
}
.badge.bad{
  background:rgba(239,68,68,.13)!important;
}

/* Dashboard list items */
.product,
.cartLine{
  background:rgba(255,255,255,.026)!important;
}

/* Preserve company theme accents, but avoid giant tinted slabs */
.layout.pacific .card,
body.company-pacific .card{
  box-shadow:none!important;
}


/* v7.43.107 — company switcher lives behind company logo */
.companyBrandButton{
  appearance:none !important;
  border:0 !important;
  background:transparent !important;
  color:inherit !important;
  cursor:pointer !important;
  text-align:left !important;
  font:inherit !important;
}
.companyBrandButton:hover .logo{
  border-color:var(--ui-primary-border, var(--ts-surface-2)) !important;
  box-shadow:0 0 0 3px var(--ui-primary-soft, rgba(192,83,81,.14)) !important;
}
.companySwitcherModal .companySwitchList{
  display:grid;
  gap:10px;
  margin:14px 0 16px;
}
.companySwitchChoice{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid var(--line);
  background:var(--ts-surface);
  color:var(--text);
  cursor:pointer;
  text-align:left;
}
.companySwitchChoice span{font-weight:900;}
.companySwitchChoice small{color:var(--muted);font-size:12px;}
.companySwitchChoice.active{
  border-color:var(--ui-primary-border);
  background:var(--ui-primary-soft);
  cursor:default;
}
.companySwitchChoice:disabled{opacity:.9;}
.companyJoinBlock{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.companyJoinBlock label{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
  font-weight:900;
}
.companyJoinRow{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}
.companyJoinRow select{
  width:100%;
}

/* V7.43.108 — product campaigns */
.productCampaignBox{
  border:1px solid var(--ts-line);
  border-radius:16px;
  padding:14px;
  background:var(--ts-surface);
}
.productCampaignBox .checkline{
  display:flex;
  align-items:center;
  gap:10px;
  margin:12px 0;
  font-weight:800;
}
.productCampaignFields input:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.productAdminCard.dragging{
  opacity:.55;
  transform:scale(.995);
}
.productAdminCard.dragOver{
  outline:1px solid var(--ui-primary-border);
  background:var(--ts-surface);
}
.productAdminCard.dropAfter{
  box-shadow:inset 0 -3px 0 var(--ui-primary);
}
.productAdminCard:not(.dropAfter).dragOver{
  box-shadow:inset 0 3px 0 var(--ui-primary);
}

/* v7.43.126 — pass pool percentage distribution */
.passPoolCompact{margin:12px 0;padding:12px 14px;border-radius:14px}
.passPoolDetails{margin-top:8px}
.passPoolDetails summary{cursor:pointer;font-weight:900}
.passPoolSplitGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:10px}
.passPoolSplitRow{display:grid;grid-template-columns:1fr 92px 18px;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.18)}
.passPoolSplitRow input{width:100%;min-width:0}
.productCampaignBox{border-color:rgba(120,180,255,.22)!important;background:rgba(80,120,255,.06)!important}

/* v7.43.129 — pass pool live preview + fixed rail hotfix */
.passPoolSplitRow{
  grid-template-columns: minmax(120px,1fr) 84px 18px minmax(72px,auto) !important;
}
.passPoolAmount{
  color:var(--accentText,#f7e6bc) !important;
  font-weight:900 !important;
  text-align:right !important;
  white-space:nowrap !important;
}
.passPoolLiveSummary{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  align-items:center;
  margin-top:10px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(0,0,0,.18);
  font-size:13px;
}
.passPoolLiveSummary span:first-child{
  margin-right:auto;
  font-weight:900;
  color:var(--accentText,#f7e6bc);
}
.passPoolLiveSummary span:first-child.over{
  color:#fecaca !important;
}
@media (max-width:760px){
  .passPoolSplitRow{grid-template-columns:1fr 82px 18px 72px !important;}
}

/* Keep the rail fixed to the viewport while preserving the snappy closed width. */
@media (min-width:921px){
  .layout{
    display:block !important;
    min-height:100vh !important;
  }
  .sidebar,
  body.company-harmony .sidebar,
  body.company-pacific .sidebar{
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:var(--tsk-rail-closed) !important;
    min-width:var(--tsk-rail-closed) !important;
    max-width:var(--tsk-rail-closed) !important;
    height:100vh !important;
    min-height:100vh !important;
    z-index:3000 !important;
    overflow:visible !important;
  }
  .sidebarInner{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    height:100vh !important;
    z-index:3001 !important;
  }
  .main{
    margin-left:var(--tsk-rail-closed) !important;
    width:calc(100% - var(--tsk-rail-closed)) !important;
    max-width:none !important;
  }
}

/* TSUKOUNT v7.43.130 — Pacific POS category/larger product visuals (UI only) */
body.company-pacific .pos{
  grid-template-columns:minmax(0,1fr) minmax(340px,410px);
  gap:22px;
  align-items:start;
}
body.company-pacific .posMain{min-width:0;}
body.company-pacific .posCategoryBlock{
  margin:0 0 18px;
  padding:0;
}
body.company-pacific .posCategoryHeader{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  color:#f7e6bc;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px;
  font-weight:950;
}
body.company-pacific .posCategoryHeader span{
  width:30px;height:30px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(199,168,107,.13);
  border:1px solid rgba(199,168,107,.24);
  box-shadow:0 10px 28px rgba(199,168,107,.08);
  font-size:17px;
}
body.company-pacific .posCategoryHeader em{
  margin-left:2px;
  font-style:normal;
  color:rgba(247,230,188,.58);
  font-size:12px;
}
body.company-pacific .products.pacificProducts{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:12px;
}
body.company-pacific .product{
  min-height:128px;
  padding:16px 16px 14px;
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  align-items:center;
  gap:14px;
  border-radius:22px;
  overflow:hidden;
}
body.company-pacific .product .emoji{
  width:70px!important;
  height:70px!important;
  min-width:70px!important;
  border-radius:22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:42px!important;
  background:var(--ts-surface)!important;
  border:1px solid var(--ts-surface)!important;
  box-shadow:inset 0 1px 0 var(--ts-surface), 0 12px 30px rgba(0,0,0,.18)!important;
}
body.company-pacific .product .emoji img{
  width:64px!important;
  height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  object-fit:contain!important;
  border-radius:18px!important;
}
body.company-pacific .product .prodText{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
body.company-pacific .product strong{
  font-size:16px!important;
  line-height:1.12!important;
  letter-spacing:-.02em;
  max-width:100%;
}
body.company-pacific .product .prodPriceLabel{
  font-size:19px!important;
  font-weight:950!important;
  color:var(--ts-text)!important;
}
body.company-pacific .product.cat-verres{border-color:rgba(199,168,107,.22)!important;background:linear-gradient(135deg,rgba(199,168,107,.14),rgba(255,255,255,.025))!important;}
body.company-pacific .product.cat-bouteilles{border-color:rgba(180,122,255,.22)!important;background:linear-gradient(135deg,rgba(155,107,179,.16),rgba(255,255,255,.025))!important;}
body.company-pacific .product.cat-softs{border-color:rgba(93,196,255,.20)!important;background:linear-gradient(135deg,rgba(93,196,255,.10),rgba(255,255,255,.025))!important;}
body.company-pacific .product.cat-snacks{border-color:rgba(255,139,190,.20)!important;background:linear-gradient(135deg,rgba(255,139,190,.11),rgba(255,255,255,.025))!important;}
body.company-pacific .product.cat-pass{border-color:rgba(244,216,141,.28)!important;background:linear-gradient(135deg,rgba(244,216,141,.18),rgba(155,107,179,.08))!important;}
body.company-pacific .product.active{box-shadow:0 0 0 1px rgba(247,230,188,.42), 0 20px 50px rgba(155,107,179,.22)!important;}
body.company-pacific .posCart{position:sticky;top:18px;}
@media (max-width:1100px){
  body.company-pacific .pos{grid-template-columns:1fr;}
  body.company-pacific .posCart{position:relative;top:auto;}
  body.company-pacific .products.pacificProducts{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:720px){
  body.company-pacific .products.pacificProducts{grid-template-columns:1fr;}
  body.company-pacific .product{grid-template-columns:64px minmax(0,1fr);min-height:112px;}
  body.company-pacific .product .emoji{width:60px!important;height:60px!important;min-width:60px!important;font-size:36px!important;}
  body.company-pacific .product .emoji img{width:55px!important;height:55px!important;}
}

/* TSUKOUNT v7.43.131 — Pacific POS simplified categories + left visual cards (UI only) */
body.company-pacific .posCategoryHeader{
  margin:0 0 9px !important;
}
body.company-pacific .products.pacificProducts{
  grid-template-columns:repeat(auto-fill,minmax(360px,1fr)) !important;
  gap:12px !important;
}
body.company-pacific .product{
  min-height:118px !important;
  padding:0 !important;
  grid-template-columns:112px minmax(0,1fr) !important;
  gap:0 !important;
  text-align:left !important;
  align-items:stretch !important;
}
body.company-pacific .product .emoji{
  width:112px!important;
  height:100%!important;
  min-width:112px!important;
  min-height:118px!important;
  border-radius:20px 0 0 20px!important;
  font-size:54px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03))!important;
  border:0!important;
  border-right:1px solid var(--ts-surface)!important;
  box-shadow:inset 0 1px 0 var(--ts-line), 0 20px 40px rgba(0,0,0,.20)!important;
}
body.company-pacific .product .emoji img{
  width:92px!important;
  height:92px!important;
  max-width:92px!important;
  max-height:92px!important;
  object-fit:contain!important;
  border-radius:20px!important;
}
body.company-pacific .product .prodText{
  justify-content:center !important;
  padding:18px 18px 16px !important;
  align-items:flex-start !important;
}
body.company-pacific .product strong{
  font-size:18px!important;
  line-height:1.08!important;
  margin-bottom:2px!important;
}
body.company-pacific .product .prodPriceLabel{
  font-size:21px!important;
  line-height:1!important;
}
body.company-pacific .product.cat-alcools{border-color:rgba(199,168,107,.23)!important;background:linear-gradient(135deg,rgba(199,168,107,.13),rgba(255,255,255,.025))!important;}
body.company-pacific .product.cat-services{border-color:rgba(155,107,179,.18)!important;background:linear-gradient(135deg,rgba(155,107,179,.10),rgba(255,255,255,.025))!important;}
body.company-pacific .product.cat-verres,
body.company-pacific .product.cat-bouteilles{border-color:rgba(199,168,107,.23)!important;background:linear-gradient(135deg,rgba(199,168,107,.13),rgba(255,255,255,.025))!important;}
@media (max-width:1100px){
  body.company-pacific .products.pacificProducts{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:720px){
  body.company-pacific .products.pacificProducts{grid-template-columns:1fr !important;}
  body.company-pacific .product{grid-template-columns:96px minmax(0,1fr)!important;min-height:104px!important;}
  body.company-pacific .product .emoji{width:96px!important;min-width:96px!important;min-height:104px!important;font-size:46px!important;}
  body.company-pacific .product .emoji img{width:78px!important;height:78px!important;max-width:78px!important;max-height:78px!important;}
}


/* TSUKOUNT v7.43.132 — Pacific POS card layout fix (UI only) */
body.company-pacific .products.pacificProducts{
  grid-template-columns:repeat(auto-fill,minmax(350px,1fr)) !important;
  align-items:stretch !important;
}
body.company-pacific .product{
  display:grid !important;
  grid-template-columns:116px minmax(0,1fr) !important;
  grid-template-rows:1fr !important;
  min-height:112px !important;
  padding:0 !important;
  align-items:stretch !important;
  justify-items:stretch !important;
  text-align:left !important;
}
body.company-pacific .product .emoji{
  grid-column:1 !important;
  grid-row:1 !important;
  align-self:stretch !important;
  justify-self:stretch !important;
  width:116px !important;
  height:100% !important;
  min-width:116px !important;
  min-height:112px !important;
  margin:0 !important;
}
body.company-pacific .product .prodText{
  grid-column:2 !important;
  grid-row:1 !important;
  align-self:center !important;
  justify-self:stretch !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  min-width:0 !important;
  padding:16px 18px !important;
  text-align:left !important;
}
body.company-pacific .product .prodText strong,
body.company-pacific .product .prodPriceLabel{
  display:block !important;
  text-align:left !important;
}
body.company-pacific .posCategory-snacks{display:none !important;}
body.company-pacific .product.cat-softs,
body.company-pacific .product.cat-snacks{
  border-color:rgba(93,196,255,.20)!important;
  background:linear-gradient(135deg,rgba(93,196,255,.10),rgba(255,139,190,.06),rgba(255,255,255,.025))!important;
}@media (max-width:720px){

body.company-pacific .product{grid-template-columns:98px minmax(0,1fr)!important;min-height:104px!important;}
  body.company-pacific .product .emoji{width:98px!important;min-width:98px!important;min-height:104px!important;}
}

/* TSUKOUNT v7.43.134 — Pacific nightlife POS direction + catalogue action safety
   UI/UX only. No business logic, no SQL, no accounting. */
body.company-pacific{
  --pacific-bg:#05070d;
  --pacific-panel:rgba(18,22,32,.78);
  --pacific-panel-strong:rgba(21,25,36,.92);
  --pacific-line:rgba(168,128,206,.14);
  --pacific-line-strong:rgba(202,159,255,.28);
  --pacific-purple:#a66bff;
  --pacific-purple-2:#7b3fe6;
  --pacific-gold:#d9b66f;
  --pacific-soft:#8bd4ff;
  --accent:#a66bff!important;
  --primary:#a66bff!important;
  --accentSoft:rgba(166,107,255,.16)!important;
  --accentText:#eadcff!important;
  background:
    radial-gradient(circle at 12% 10%,rgba(124,58,237,.22) 0,transparent 31%),
    radial-gradient(circle at 78% 0%,rgba(80,190,255,.10) 0,transparent 27%),
    linear-gradient(180deg,#070a12 0%,#05070d 58%,#030409 100%)!important;
}
body.company-pacific .layout{
  background:
    radial-gradient(circle at 22% 8%,rgba(166,107,255,.13),transparent 30%),
    radial-gradient(circle at 88% 14%,rgba(217,182,111,.08),transparent 26%),
    linear-gradient(180deg,rgba(255,255,255,.015),transparent 220px),
    var(--pacific-bg)!important;
}
body.company-pacific .main{
  background:transparent!important;
  padding:28px 36px 34px!important;
}
body.company-pacific .appHeader{
  min-height:76px!important;
  align-items:center!important;
  margin-bottom:22px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
body.company-pacific .appHeader .title h1{
  text-transform:none!important;
  font-size:clamp(28px,2.7vw,42px)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
}
body.company-pacific .appHeader .title p{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  color:rgba(255,255,255,.54)!important;
  font-size:13px!important;
}
body.company-pacific .topbarActions .weekBar{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  gap:10px!important;
}
body.company-pacific .weekBar label{
  color:rgba(255,255,255,.74)!important;
  font-size:14px!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.company-pacific .weekBar input,
body.company-pacific .weekBar .btn{
  min-height:42px!important;
  border-radius:14px!important;
  background:var(--ts-surface)!important;
  border-color:var(--ts-line)!important;
  color:var(--ts-text)!important;
}
body.company-pacific .weekBar .btn:last-child{
  background:var(--ts-surface)!important;
  box-shadow:inset 0 1px 0 var(--ts-surface)!important;
}

/* Pacific POS: compact native-app composition */
body.company-pacific .pos{
  grid-template-columns:minmax(0,1fr) minmax(360px,420px)!important;
  gap:30px!important;
  align-items:start!important;
}
body.company-pacific .posMain{
  min-width:0!important;
  padding-bottom:34px!important;
}
body.company-pacific .posLoyaltyContext{
  max-width:440px!important;
  margin:0 0 22px!important;
}
body.company-pacific .posClientBox{
  background:linear-gradient(180deg,rgba(23,28,42,.82),rgba(14,17,26,.88))!important;
  border:1px solid rgba(166,107,255,.16)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.20)!important;
}
body.company-pacific .posCategoryBlock{
  margin:0 0 22px!important;
}
body.company-pacific .posCategoryHeader{
  margin:0 0 12px!important;
  color:#f6e9ff!important;
  font-size:13px!important;
  letter-spacing:.075em!important;
}
body.company-pacific .posCategoryHeader span{
  width:24px!important;
  height:24px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,rgba(166,107,255,.26),rgba(217,182,111,.12))!important;
  border-color:rgba(166,107,255,.24)!important;
  box-shadow:none!important;
}
body.company-pacific .products.pacificProducts{
  grid-template-columns:repeat(auto-fill,minmax(245px,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
body.company-pacific .product{
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr)!important;
  min-height:84px!important;
  height:84px!important;
  padding:0!important;
  gap:0!important;
  align-items:stretch!important;
  overflow:hidden!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,rgba(24,29,42,.78),rgba(13,16,24,.92))!important;
  border:1px solid var(--ts-surface)!important;
  box-shadow:0 16px 44px rgba(0,0,0,.18), inset 0 1px 0 var(--ts-surface)!important;
  transform:none!important;
}
body.company-pacific .product:hover{
  border-color:rgba(166,107,255,.28)!important;
  background:linear-gradient(180deg,rgba(31,36,52,.90),rgba(14,17,26,.96))!important;
  box-shadow:0 20px 56px rgba(0,0,0,.26),0 0 0 1px rgba(166,107,255,.08)!important;
}
body.company-pacific .product:active{transform:scale(.985)!important;}
body.company-pacific .product .emoji{
  grid-column:1!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  width:82px!important;
  min-width:82px!important;
  height:84px!important;
  min-height:84px!important;
  margin:0!important;
  border-radius:17px 0 0 17px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035))!important;
  border:0!important;
  border-right:1px solid var(--ts-surface)!important;
  box-shadow:none!important;
  font-size:40px!important;
}
body.company-pacific .product .emoji img{
  width:66px!important;
  height:66px!important;
  max-width:66px!important;
  max-height:66px!important;
  object-fit:contain!important;
  border-radius:14px!important;
}
body.company-pacific .product .prodText{
  grid-column:2!important;
  align-self:center!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  min-width:0!important;
  padding:12px 14px!important;
  text-align:left!important;
}
body.company-pacific .product strong{
  display:block!important;
  font-size:15px!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  margin:0 0 5px!important;
  color:var(--ts-text)!important;
  text-align:left!important;
}
body.company-pacific .product .prodPriceLabel{
  display:block!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:950!important;
  color:var(--ts-text)!important;
  text-align:left!important;
}
body.company-pacific .product.cat-pass{
  border-color:rgba(166,107,255,.30)!important;
  background:linear-gradient(135deg,rgba(166,107,255,.20),rgba(217,182,111,.07),rgba(255,255,255,.02))!important;
}
body.company-pacific .product.cat-alcools{
  border-color:rgba(217,182,111,.24)!important;
  background:linear-gradient(135deg,rgba(217,182,111,.12),rgba(255,255,255,.025))!important;
}
body.company-pacific .product.cat-softs,
body.company-pacific .product.cat-snacks{
  border-color:rgba(139,212,255,.20)!important;
  background:linear-gradient(135deg,rgba(139,212,255,.08),rgba(166,107,255,.045),rgba(255,255,255,.02))!important;
}
body.company-pacific .product.active{
  border-color:rgba(166,107,255,.55)!important;
  box-shadow:0 0 0 1px rgba(166,107,255,.40),0 22px 64px rgba(166,107,255,.18)!important;
}
body.company-pacific .product .cartBadge{
  right:10px!important;
  top:10px!important;
  background:linear-gradient(135deg,var(--pacific-purple),var(--pacific-purple-2))!important;
  color:var(--ts-text)!important;
  box-shadow:0 10px 24px rgba(166,107,255,.28)!important;
}
body.company-pacific .posCart{
  position:sticky!important;
  top:20px!important;
  min-height:520px!important;
  padding:26px!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 42% 28%,rgba(166,107,255,.10),transparent 34%),
    linear-gradient(180deg,rgba(23,28,42,.86),rgba(11,13,20,.96))!important;
  border:1px solid rgba(166,107,255,.14)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.34),inset 0 1px 0 var(--ts-surface)!important;
}
body.company-pacific .posCart h2{
  font-size:25px!important;
  letter-spacing:-.035em!important;
}
body.company-pacific .cartEmpty{
  min-height:220px!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  border-color:var(--ts-line)!important;
  background:rgba(255,255,255,.015)!important;
}
body.company-pacific .cartEmptyIcon{
  font-size:48px!important;
  filter:drop-shadow(0 0 24px rgba(166,107,255,.30));
}
body.company-pacific .posCart .btn.blue,
body.company-pacific .posCart button[onclick*="saveSale"]{
  background:linear-gradient(135deg,var(--pacific-purple),var(--pacific-purple-2))!important;
  color:var(--ts-text)!important;
  border-color:transparent!important;
  box-shadow:0 18px 42px rgba(166,107,255,.26)!important;
}

/* Keep Pacific pages short-looking: no violet block leak under short content. */
body.company-pacific .pageChrome{
  background:transparent!important;
}
body.company-pacific .main::after{
  content:"";
  position:fixed;
  inset:auto 0 0 64px;
  height:38vh;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(5,7,13,.86));
  z-index:-1;
}

/* Catalogue safety: action buttons stay clickable; no broken dropdown overlay. */
.productAdminCard{overflow:visible!important;}
.productAdminCard .productAdminInlineActions,
.productAdminCard .actions.productAdminInlineActions{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin-top:10px!important;
  z-index:20!important;
  pointer-events:auto!important;
}
.productAdminCard .productAdminInlineActions .btn,
.productAdminCard .actions.productAdminInlineActions .btn{
  position:relative!important;
  z-index:21!important;
  pointer-events:auto!important;
}
.productAdminCard .dragHandle{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  z-index:8!important;
}
.catalogGrid{overflow:visible!important;}
.card:has(.catalogGrid){overflow:visible!important;}

@media(max-width:1100px){
  body.company-pacific .pos{grid-template-columns:1fr!important;}
  body.company-pacific .posCart{position:relative!important;top:auto!important;min-height:0!important;}
  body.company-pacific .products.pacificProducts{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:720px){
  body.company-pacific .main{padding:22px 18px 30px!important;}
  body.company-pacific .products.pacificProducts{grid-template-columns:1fr!important;}
}

/* TSUKOUNT v7.43.136 — Pacific POS balance from current ZIP
   UI only: POS layout/background. No JS, no catalog actions, no accounting. */
body.company-pacific,
body.company-pacific .layout,
body.company-pacific .main{
  background:
    radial-gradient(circle at 18% 8%,rgba(166,107,255,.13),transparent 30%),
    radial-gradient(circle at 86% 4%,rgba(139,212,255,.075),transparent 27%),
    linear-gradient(180deg,#070a12 0%,#05070d 62%,#04060b 100%) !important;
  background-color:#05070d !important;
}
body.company-pacific .main::after{display:none!important;}
body.company-pacific .pageChrome{background:transparent!important;}

body.company-pacific .pos{
  grid-template-columns:minmax(0,1fr) minmax(370px,420px)!important;
  gap:30px!important;
  align-items:start!important;
}
body.company-pacific .posMain{min-width:0!important;}
body.company-pacific .posCategoryBlock{margin:0 0 24px!important;}
body.company-pacific .posCategoryHeader{margin:0 0 12px!important;}
body.company-pacific .products.pacificProducts{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(250px,260px))!important;
  justify-content:start!important;
  gap:14px!important;
  align-items:stretch!important;
}
body.company-pacific .posCategory-pass .products.pacificProducts{
  grid-template-columns:repeat(auto-fill,minmax(270px,300px))!important;
}
body.company-pacific .product{
  display:grid!important;
  grid-template-columns:98px minmax(0,1fr)!important;
  height:106px!important;
  min-height:106px!important;
  padding:0!important;
  gap:0!important;
  align-items:stretch!important;
  text-align:left!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,rgba(24,29,42,.82),rgba(13,16,24,.94))!important;
  border:1px solid var(--ts-line)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.20), inset 0 1px 0 var(--ts-surface)!important;
}
body.company-pacific .product:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(166,107,255,.26)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.28),0 0 0 1px rgba(166,107,255,.07)!important;
}

body.company-pacific .product .emoji{
  grid-column:1!important;
  grid-row:1!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  width:98px!important;
  min-width:98px!important;
  height:106px!important;
  min-height:106px!important;
  margin:0!important;
  border-radius:18px 0 0 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(135deg,rgba(255,255,255,.125),rgba(255,255,255,.035))!important;
  border:0!important;
  border-right:1px solid var(--ts-surface)!important;
  box-shadow:none!important;
  font-size:46px!important;
}
body.company-pacific .product .emoji img{
  width:78px!important;
  height:78px!important;
  max-width:78px!important;
  max-height:78px!important;
  object-fit:contain!important;
  border-radius:15px!important;
}
body.company-pacific .product .prodText{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  min-width:0!important;
  padding:15px 16px!important;
  text-align:left!important;
}
body.company-pacific .product strong{
  display:block!important;
  font-size:16px!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  margin:0 0 7px!important;
  text-align:left!important;
}
body.company-pacific .product .prodPriceLabel{
  display:block!important;
  font-size:19px!important;
  line-height:1!important;
  font-weight:950!important;
  text-align:left!important;
}
body.company-pacific .product.cat-pass{
  border-color:rgba(166,107,255,.32)!important;
  background:linear-gradient(135deg,rgba(166,107,255,.20),rgba(217,182,111,.08),rgba(255,255,255,.02))!important;
}
body.company-pacific .product.cat-alcools{
  border-color:rgba(217,182,111,.24)!important;
  background:linear-gradient(135deg,rgba(217,182,111,.13),rgba(255,255,255,.025))!important;
}

body.company-pacific .posCart{
  position:sticky!important;
  top:20px!important;
  min-height:520px!important;
}
@media(max-width:1320px){
  body.company-pacific .products.pacificProducts{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;}
}@media(max-width:720px){

body.company-pacific .product{grid-template-columns:94px minmax(0,1fr)!important;height:102px!important;min-height:102px!important;}
  body.company-pacific .product .emoji{width:94px!important;min-width:94px!important;height:102px!important;min-height:102px!important;}
}

/* v7.43.140 — company switcher modal */
.companySwitchList{display:grid;gap:12px;margin-top:16px}
.companySwitchRow{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--ts-surface);color:var(--text);text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.companySwitchRow:hover:not(:disabled){background:var(--ts-surface);border-color:var(--brand);transform:translateY(-1px)}
.companySwitchRow.active,.companySwitchRow:disabled{cursor:default;opacity:.82;background:var(--ts-surface)}
.companySwitchLogo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:var(--ts-surface);border:1px solid var(--ts-line);flex:0 0 auto}
.companySwitchLogo img{width:100%;height:100%;object-fit:cover}
.companySwitchText{display:grid;gap:3px;min-width:0;flex:1}
.companySwitchText b{font-size:14px;letter-spacing:.02em;text-transform:uppercase;color:var(--text)}
.companySwitchText small{color:var(--muted);font-size:12px}
.companySwitchState{font-size:12px;font-weight:800;color:var(--brand);padding:7px 10px;border-radius:999px;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.22)}


/* v7.43.142 — global legacy cleanup */
.legacyWeekBar,[data-legacy-week-control="true"]{display:none!important;}
.topbarActions .headerWeekBar{margin:0!important;}
body > .tk-select,body > .tk-select-menu{display:none!important;}
.sidebarScroll .companySelector,.sidebarScroll select.companySelector,.sidebarScroll .companySwitcherLegacy{display:none!important;}

/* V7.43.144 — POS focused redesign, no shell/sidebar changes */
.posModern{
  grid-template-columns:minmax(0,1fr) 420px;
  gap:28px;
  align-items:start;
}
.posWorkArea{
  min-width:0;
}
.posTopbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin-bottom:22px;
}
.posSearchBox{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 18px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.03));
  border:1px solid var(--ts-surface);
  box-shadow:inset 0 1px 0 var(--ts-surface),0 18px 45px rgba(0,0,0,.16);
}
.posSearchBox span{
  color:rgba(230,220,255,.72);
  font-size:24px;
  line-height:1;
}
.posSearchBox input{
  width:100%;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  color:var(--text);
  font-weight:700;
  outline:none;
}
.posViewToggle{
  display:flex;
  gap:8px;
  padding:8px;
  border-radius:16px;
  background:var(--ts-surface);
  border:1px solid var(--ts-surface);
}
.posViewToggle button{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:12px;
  color:rgba(255,255,255,.58);
  background:transparent;
  cursor:pointer;
  font-weight:1000;
  transition:.18s ease;
}
.posViewToggle button.active,
.posViewToggle button:hover{
  color:var(--ts-text);
  background:linear-gradient(135deg,var(--brand-primary,#8B5CF6),rgba(167,139,250,.74));
  box-shadow:0 10px 28px var(--brand-glow,rgba(139,92,246,.3));
}
.modernLoyalty{
  margin:0 0 18px;
}
.modernLoyalty:empty{display:none}
.posCategoryBlock{
  margin:0 0 24px;
}
.posCategoryTitle{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 12px 4px;
  color:var(--ts-text);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.posCategoryTitle span{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:999px;
  color:var(--brand-primary,#8B5CF6);
  background:rgba(139,92,246,.13);
  box-shadow:0 0 18px var(--brand-glow,rgba(139,92,246,.28));
}
.posProducts.products{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:14px;
}
.posProducts.listMode{
  grid-template-columns:1fr;
}
.posProductCard.product{
  min-height:96px;
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  align-items:center;
  text-align:left;
  gap:16px;
  padding:16px 18px;
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.028));
  border:1px solid var(--ts-surface);
  box-shadow:inset 0 1px 0 var(--ts-surface),0 12px 35px rgba(0,0,0,.16);
  position:relative;
  overflow:hidden;
}
.posProductCard.product::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:radial-gradient(circle at 18% 18%,var(--brand-glow,rgba(139,92,246,.22)),transparent 34%);
  opacity:0;
  transition:.18s ease;
  pointer-events:none;
}
.posProductCard.product:hover,
.posProductCard.product.active{
  transform:translateY(-1px);
  border-color:rgba(167,139,250,.28);
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.04));
}
.posProductCard.product:hover::before,
.posProductCard.product.active::before{opacity:.8}
.posProductCard .productVisual{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  font-size:34px;
  line-height:1;
  border-radius:14px;
  background:var(--ts-surface);
  z-index:1;
}
.posProductCard .productVisual img,
.posProductCard .productVisual svg{
  width:46px;
  height:46px;
  object-fit:contain;
}
.posProductCard .productText{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:7px;
  z-index:1;
}
.posProductCard strong{
  font-size:15px;
  line-height:1.22;
  color:var(--ts-text);
  overflow:hidden;
  text-overflow:ellipsis;
}
.posProductCard .prodPriceLabel{
  color:var(--ts-text);
  font-size:16px;
  font-weight:900;
}
.posProductCard .cartBadge{
  top:10px;
  right:10px;
  z-index:2;
}
.posEmptyProducts{
  min-height:160px;
  display:grid;
  place-items:center;
  text-align:center;
  gap:6px;
  border:1px dashed var(--ts-line);
  border-radius:20px;
  color:var(--muted);
}
.posEmptyProducts b{color:var(--ts-text)}
.posModernCart{
  min-height:calc(100vh - 250px);
  position:sticky;
  top:118px;
  display:flex;
  flex-direction:column;
  padding:26px;
  border-radius:22px;
  background:linear-gradient(150deg,rgba(24,29,45,.92),rgba(12,15,25,.94));
  border:1px solid var(--ts-line);
  box-shadow:0 22px 70px rgba(0,0,0,.24),inset 0 1px 0 var(--ts-surface);
}
.cartHeader{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
}
.cartHeader h2{
  margin:0;
  font-size:26px;
}
.cartHeader span{
  display:grid;
  place-items:center;
  min-width:30px;
  height:30px;
  padding:0 8px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--brand-primary,#8B5CF6),rgba(167,139,250,.74));
  color:var(--ts-text);
  font-weight:1000;
}
.posModernCart .cartBody{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.posModernCart .cartEmpty{
  flex:1;
  min-height:310px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:12px;
  color:var(--ts-surface-2);
}
.posModernCart .cartEmptyIcon{
  width:110px;
  height:110px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-size:44px;
  background:radial-gradient(circle,rgba(139,92,246,.18),rgba(255,255,255,.04));
}
.posModernCart .cartEmpty b{font-size:18px;color:var(--ts-text)}
.posModernCart .cartLine{
  border-radius:14px;
  background:var(--ts-surface);
  border:1px solid var(--ts-surface);
}
.posModernCart .grandTotal{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid var(--ts-line);
}
.cartActions{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:12px;
  margin-top:14px;
}
.cartActions .btn{
  width:100%;
  min-height:52px;
  justify-content:center;
}
@media(max-width:1150px){
  .posModern{grid-template-columns:1fr}
  .posModernCart{position:relative;top:auto;min-height:auto}
}

/* V7.43.145 — POS harmony pass: compact actions + larger cart */
.posModern{
  grid-template-columns:minmax(0,1fr) minmax(460px,500px)!important;
  gap:30px!important;
}
.posTopbar{
  margin-bottom:14px!important;
  gap:14px!important;
}
.posSearchBox{
  min-height:52px!important;
  border-radius:15px!important;
}
.posViewToggle{
  height:52px!important;
  padding:6px!important;
}
.posViewToggle button{
  width:40px!important;
  height:40px!important;
}
.posContextRow{
  display:flex;
  align-items:stretch;
  gap:12px;
  margin:0 0 22px;
  max-width:720px;
}
.posContextRow .modernLoyalty{
  flex:1 1 440px;
  min-width:0;
  margin:0!important;
  max-width:none!important;
}
.posTombolaBtn{
  flex:0 0 auto;
  min-width:132px;
  min-height:100%;
  align-self:stretch;
  padding:0 18px!important;
  border-radius:16px!important;
  font-weight:1000!important;
  white-space:nowrap;
  box-shadow:0 12px 34px var(--brand-glow,rgba(139,92,246,.28))!important;
}
.posProductCard.product{
  min-height:92px!important;
  grid-template-columns:62px minmax(0,1fr)!important;
  gap:14px!important;
  padding:14px 16px!important;
}
.posProductCard .productText{
  justify-content:center!important;
  align-self:center!important;
}
.posProductCard strong{
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.posProductCard .prodPriceLabel{
  line-height:1.1!important;
}
.posModernCart{
  min-height:calc(100vh - 205px)!important;
  padding:28px!important;
  border-radius:24px!important;
}
.posModernCart .cartEmpty{
  min-height:360px!important;
}
.posModernCart .cartEmptyIcon{
  width:124px!important;
  height:124px!important;
}
.posModernCart .cartHeader{
  margin-bottom:20px!important;
}
.posModernCart .grandTotal b{
  font-size:28px!important;
}
.cartActions .btn{
  min-height:56px!important;
}
@media(max-width:1280px){
  .posModern{grid-template-columns:minmax(0,1fr) 440px!important;gap:24px!important;}
}
@media(max-width:1150px){
  .posModern{grid-template-columns:1fr!important;}
  .posModernCart{position:relative!important;top:auto!important;min-height:auto!important;}
}
@media(max-width:760px){
  .posContextRow{flex-direction:column;max-width:none;}
  .posTombolaBtn{min-height:46px;width:100%;}
}

/* V7.43.146 — POS sobriety/alignment pass (UI only)
   Scope volontairement limité à la page Point de vente. */
.posFocused{
  grid-template-columns:minmax(0,1fr) minmax(460px,500px)!important;
  gap:28px!important;
  align-items:start!important;
}
.posFocused .posWorkArea{
  min-width:0!important;
}
.posFocused .posCommandBar{
  display:grid!important;
  grid-template-columns:minmax(280px,360px) auto minmax(360px,1fr)!important;
  align-items:stretch!important;
  gap:12px!important;
  max-width:none!important;
  margin:0 0 24px!important;
}
.posFocused .posLoyaltyContext{
  max-width:none!important;
  margin:0!important;
}
.posFocused .posLoyaltyContext .posClientBox{
  height:100%!important;
  min-height:74px!important;
  padding:10px 12px!important;
  border-radius:16px!important;
  background:var(--ts-surface)!important;
  border:1px solid var(--ts-line)!important;
  box-shadow:none!important;
}
.posFocused .posLoyaltyContext .clientAvatar,
.posFocused .posLoyaltyContext .clientMeta span{
  opacity:.78!important;
}
.posFocused .posTombolaBtn{
  min-width:116px!important;
  min-height:74px!important;
  align-self:stretch!important;
  padding:0 18px!important;
  border-radius:16px!important;
  background:rgba(155,93,229,.18)!important;
  border:1px solid rgba(190,140,255,.28)!important;
  color:#f6efff!important;
  box-shadow:none!important;
  letter-spacing:.01em!important;
}
.posFocused .posTombolaBtn:hover{
  background:rgba(155,93,229,.26)!important;
  border-color:rgba(211,170,255,.40)!important;
  transform:translateY(-1px)!important;
}
.posFocused .posSearchBox{
  min-height:74px!important;
  height:100%!important;
  border-radius:16px!important;
  background:var(--ts-surface)!important;
  border:1px solid var(--ts-line)!important;
  box-shadow:none!important;
}
.posFocused .posSearchBox input{
  font-size:14px!important;
  font-weight:700!important;
}
.posFocused .posViewToggle{
  display:none!important;
}
.posFocused .posCategoryBlock{
  margin-top:0!important;
  margin-bottom:24px!important;
}
.posFocused .posCategoryTitle{
  margin:0 0 12px!important;
  letter-spacing:.08em!important;
  opacity:.94!important;
}
.posFocused .products.posProducts{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.posFocused .posProductCard.product{
  position:relative!important;
  min-height:92px!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  text-align:left!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.025))!important;
  border:1px solid var(--ts-surface)!important;
  box-shadow:none!important;
}
.posFocused .posProductCard.product:hover{
  transform:translateY(-1px)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.035))!important;
  border-color:var(--ts-line)!important;
  box-shadow:none!important;
}
.posFocused .posProductCard.product.active{
  background:linear-gradient(180deg,rgba(155,93,229,.16),rgba(255,255,255,.035))!important;
  border-color:rgba(190,140,255,.36)!important;
}
.posFocused .posProductCard .productVisual{
  width:48px!important;
  height:48px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.05)!important;
  font-size:28px!important;
  overflow:hidden!important;
}
.posFocused .posProductCard .productVisual img,
.posFocused .posProductCard .productVisual svg{
  max-width:38px!important;
  max-height:38px!important;
  object-fit:contain!important;
}
.posFocused .posProductCard .productText{
  min-width:0!important;
  display:block!important;
  align-self:center!important;
  justify-content:initial!important;
}
.posFocused .posProductCard strong{
  display:block!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.18!important;
  letter-spacing:-.01em!important;
  color:rgba(255,255,255,.96)!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}
.posFocused .posProductCard .prodPriceLabel{
  position:static!important;
  justify-self:end!important;
  align-self:center!important;
  margin:0!important;
  padding:0!important;
  color:rgba(255,255,255,.94)!important;
  font-size:14px!important;
  font-weight:950!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.posFocused .posProductCard .provBadge{
  display:inline-block!important;
  position:static!important;
  margin-top:6px!important;
  font-size:10px!important;
}
.posFocused .posCart.posModernCart{
  width:100%!important;
  min-width:0!important;
  min-height:calc(100vh - 205px)!important;
  padding:28px!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(22,26,37,.86),rgba(13,15,23,.92))!important;
  border:1px solid rgba(190,140,255,.13)!important;
  box-shadow:0 18px 60px rgba(0,0,0,.26)!important;
}
.posFocused .posModernCart .cartHeader{
  margin-bottom:22px!important;
}
.posFocused .posModernCart .cartHeader h2{
  font-size:26px!important;
  letter-spacing:-.03em!important;
}
.posFocused .posModernCart .cartBody{
  min-height:350px!important;
  display:flex!important;
  flex-direction:column!important;
}
.posFocused .posModernCart .cartEmpty{
  flex:1!important;
  min-height:360px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  border-radius:20px!important;
  border:1px dashed var(--ts-surface)!important;
  background:var(--ts-surface)!important;
}
.posFocused .posModernCart .cartEmptyIcon{
  width:118px!important;
  height:118px!important;
  margin-bottom:22px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(155,93,229,.24),rgba(155,93,229,.06) 62%,transparent 70%)!important;
  display:grid!important;
  place-items:center!important;
  font-size:48px!important;
}
.posFocused .posModernCart .cartEmpty b{
  font-size:18px!important;
  margin-bottom:8px!important;
}
.posFocused .posModernCart .grandTotal{
  margin-top:auto!important;
}
.posFocused .posModernCart .cartActions{
  display:grid!important;
  grid-template-columns:1fr 1.45fr!important;
  gap:12px!important;
}
.posFocused .posModernCart .cartActions .btn{
  min-height:56px!important;
  border-radius:14px!important;
}
@media(max-width:1460px){
  .posFocused{grid-template-columns:minmax(0,1fr) 440px!important;gap:24px!important;}
  .posFocused .products.posProducts{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .posFocused .posCommandBar{grid-template-columns:minmax(260px,340px) auto minmax(280px,1fr)!important;}
}
@media(max-width:1150px){
  .posFocused{grid-template-columns:1fr!important;}
  .posFocused .posCommandBar{grid-template-columns:1fr!important;}
  .posFocused .posTombolaBtn{min-height:50px!important;width:100%!important;}
  .posFocused .posSearchBox{min-height:56px!important;}
  .posFocused .posModernCart{min-height:auto!important;position:relative!important;top:auto!important;}
}
@media(max-width:760px){
  .posFocused .products.posProducts{grid-template-columns:1fr!important;}
}


/* ================================================================
   POS REFEXACT — bloc fusionné (V7.43.147→156 consolidé)
   Toutes les propriétés représentent la dernière valeur gagnante.
   ================================================================ */

.posRefExact{
  grid-template-columns:minmax(0,1120px) 500px!important;
  gap:30px!important;
  align-items:start!important;
  padding-right:32px!important;
  box-sizing:border-box!important;
  justify-content:space-between!important;
  width:100%!important;
  display:grid!important;
}
.posRefExact .posActionStrip{
  display:grid!important;
  grid-template-columns:minmax(250px,300px) 76px minmax(320px,1fr)!important;
  align-items:stretch!important;
  gap:12px!important;
  margin:0 0 26px!important;
  width:100%!important;
  max-width:900px!important;
}
.posRefExact .posCart.posModernCart{
  width:500px!important;
  min-width:500px!important;
  height:calc(100vh - 300px)!important;
  min-height:520px!important;
  max-height:680px!important;
  top:104px!important;
  padding:24px!important;
  border-radius:20px!important;
  background:linear-gradient(150deg,rgba(24,29,45,.92),rgba(12,15,25,.96))!important;
  border:1px solid var(--ts-surface)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.25),inset 0 1px 0 var(--ts-surface)!important;
  max-width:500px!important;
  margin-right:0!important;
  justify-self:end!important;
  overflow:hidden!important;
  align-self:start!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.posRefExact .posCategoryBlock{
  margin:0 0 20px!important;
}
.posRefExact .posCategoryTitle{
  margin:0 0 10px!important;
  gap:8px!important;
  font-size:12px!important;
  line-height:1!important;
  letter-spacing:.075em!important;
  color:rgba(255,255,255,.94)!important;
  height:18px!important;
  display:flex!important;
  align-items:center!important;
}
.posRefExact .posLoyaltyContext .posClientBox{
  min-height:66px!important;
  height:66px!important;
  padding:9px 12px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.038)!important;
  border:1px solid var(--ts-line)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.posRefExact .posModernCart .cartActions{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:1fr 1.45fr!important;
  gap:12px!important;
  margin-top:12px!important;
}
.posRefExact .posModernCart .cartActions .btn{
  min-height:46px!important;
  border-radius:12px!important;
  font-size:12px!important;
  padding:0 12px!important;
}
.posRefExact .posModernCart .cartBody{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding-right:4px!important;
  gap:8px!important;
}
.posRefExact .posModernCart .cartEmpty{
  flex:1!important;
  min-height:0!important;
  margin:0!important;
  padding:28px 22px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  gap:10px!important;
  border:0!important;
  background:transparent!important;
  color:var(--ts-surface-2)!important;
  height:100%!important;
}
.posRefExact .posModernCart .cartHeader{
  flex:0 0 auto!important;
  margin:0 0 18px!important;
}
.posRefExact .posModernCart .cartLine.qty{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 58px 34px!important;
  align-items:center!important;
  gap:8px!important;
  min-height:54px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  overflow:hidden!important;
}
.posRefExact .posModernCart .cartLineName{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:13px!important;
  line-height:1.15!important;
}
.posRefExact .posModernCart .cartLinePrice{
  display:block!important;
  margin-top:3px!important;
  font-size:11px!important;
  line-height:1!important;
  color:rgba(255,255,255,.58)!important;
  white-space:nowrap!important;
}
.posRefExact .posModernCart .cartQty{
  width:58px!important;
  height:36px!important;
  min-width:0!important;
  text-align:center!important;
}
.posRefExact .posModernCart .cartRemove{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:10px!important;
}
.posRefExact .posModernCart .grandTotal{
  margin-top:12px!important;
  padding-top:14px!important;
}
.posRefExact .posModernCart .info{
  flex:0 0 auto!important;
  margin-top:8px!important;
}
.posRefExact .posModernCart .partnerAction{
  min-height:34px!important;
  margin-top:8px!important;
  font-size:12px!important;
}
.posRefExact .posModernCart .posPartnerBox{
  padding:10px 12px!important;
  border-radius:13px!important;
}
.posRefExact .posModernCart .posPartnerBox small{
  font-size:12px!important;
  line-height:1.2!important;
}
.posRefExact .posProductCard .cartBadge{
  top:8px!important;
  right:8px!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  font-size:12px!important;
}
.posRefExact .posProductCard .prodPriceLabel{
  grid-column:2!important;
  grid-row:3!important;
  justify-self:start!important;
  align-self:start!important;
  margin:2px 0 0!important;
  padding:0!important;
  color:var(--ts-text)!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  text-align:left!important;
  display:block!important;
  margin-top:2px!important;
  opacity:1!important;
  visibility:visible!important;
  position:relative!important;
  z-index:3!important;
}
.posRefExact .posProductCard .productText{
  grid-column:2!important;
  grid-row:2!important;
  min-width:0!important;
  align-self:end!important;
  padding-bottom:3px!important;
  max-width:100%!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.16!important;
  letter-spacing:-.015em!important;
  color:rgba(255,255,255,.96)!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  display:block!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  padding:0!important;
  margin:0!important;
  justify-self:stretch!important;
  opacity:1!important;
  visibility:visible!important;
  position:relative!important;
  z-index:3!important;
  transform:none!important;
}
.posRefExact .posProductCard .productVisual{
  grid-row:1 / -1!important;
  width:78px!important;
  height:94px!important;
  margin:0!important;
  border-radius:0!important;
  background:var(--ts-surface)!important;
  display:flex!important;
  place-items:center!important;
  font-size:34px!important;
  overflow:hidden!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  grid-column:1!important;
  min-width:76px!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:94px!important;
}
.posRefExact .posProductCard .productVisual svg{
  max-width:48px!important;
  max-height:48px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
.posRefExact .posProductCard strong{
  font-size:14px!important;
  line-height:1.12!important;
  letter-spacing:-.015em!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:normal!important;
  max-width:100%!important;
  margin:0!important;
  color:var(--ts-text)!important;
  font-weight:900!important;
  opacity:1!important;
  visibility:visible!important;
}
.posRefExact .posProductCard.product{
  width:260px!important;
  min-width:0!important;
  height:94px!important;
  min-height:94px!important;
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  grid-template-rows:1fr auto auto 1fr!important;
  column-gap:14px!important;
  row-gap:3px!important;
  align-items:center!important;
  padding:0 14px 0 0!important;
  border-radius:16px!important;
  text-align:left!important;
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.028))!important;
  border:1px solid var(--ts-surface)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.13)!important;
  overflow:hidden!important;
  align-content:stretch!important;
}
.posRefExact .posProductCard.product .cartBadge{
  top:9px!important;
  right:9px!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  font-size:12px!important;
  z-index:5!important;
}
.posRefExact .posSearchBox{
  height:64px!important;
  min-height:64px!important;
  border-radius:16px!important;
  padding:0 18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.028))!important;
  border:1px solid var(--ts-surface)!important;
  box-shadow:none!important;
}
.posRefExact .posTombolaBtn{
  width:78px!important;
  min-width:78px!important;
  height:64px!important;
  min-height:64px!important;
  padding:0!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(155,93,229,.52),rgba(126,78,184,.62))!important;
  border:1px solid rgba(212,170,255,.28)!important;
  color:rgba(255,255,255,.94)!important;
  box-shadow:0 14px 30px rgba(155,107,179,.20)!important;
  font-size:12px!important;
  font-weight:800!important;
  justify-content:center!important;
  line-height:1!important;
  white-space:nowrap!important;
  display:flex!important;
  align-items:center!important;
}
.posRefExact .posWorkArea{
  max-width:1120px!important;
  min-width:0!important;
  width:100%!important;
}
.posRefExact .products.posProducts{
  display:grid!important;
  grid-template-columns:repeat(4, 270px)!important;
  gap:14px 18px!important;
  align-items:start!important;
  justify-content:start!important;
  max-width:1134px!important;
  width:auto!important;
}

/* body.company-pacific .posRefExact — fusionné */


body.company-pacific .posRefExact{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 540px!important;
  gap:24px!important;
  align-items:start!important;
  justify-content:stretch!important;
  padding-right:0!important;
  width:100%!important;
  box-sizing:border-box!important;
  max-width:none!important;
}
body.company-pacific .posRefExact .posCart.posModernCart{
  width:540px!important;
  min-width:540px!important;
  max-width:540px!important;
  height:670px!important;
  min-height:670px!important;
  max-height:670px!important;
  justify-self:end!important;
  margin:0!important;
  align-self:start!important;
}
body.company-pacific .posRefExact .posProductCard.product{
  position:relative!important;
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr)!important;
  grid-template-rows:1fr auto 5px auto 1fr!important;
  width:215px!important;
  height:104px!important;
  min-width:215px!important;
  min-height:104px!important;
  max-height:104px!important;
  padding:0 14px 0 0!important;
  gap:0 13px!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  text-align:left!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022))!important;
  border:1px solid var(--ts-line)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.15)!important;
  transform:none!important;
  transition:border-color .14s ease, background .14s ease!important;
  padding-right:12px!important;
}
body.company-pacific .posRefExact .posProductCard.product .emoji{
  grid-column:1!important;
  grid-row:1 / -1!important;
  width:82px!important;
  min-width:82px!important;
  height:104px!important;
  min-height:104px!important;
  max-height:104px!important;
  margin:0!important;
  padding:0!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:16px 0 0 16px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035))!important;
  border:0!important;
  border-right:1px solid var(--ts-surface)!important;
  box-shadow:none!important;
  font-size:40px!important;
  overflow:hidden!important;
}
body.company-pacific .posRefExact .posProductCard.product .emoji img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:54px!important;
  max-height:62px!important;
  object-fit:contain!important;
  border-radius:12px!important;
}
body.company-pacific .posRefExact .posProductCard.product .prodPriceLabel{
  grid-column:2!important;
  grid-row:3!important;
  display:block!important;
  align-self:start!important;
  justify-self:start!important;
  min-width:0!important;
  color:var(--ts-text)!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:15px!important;
  line-height:1.1!important;
  font-weight:900!important;
  margin:5px 0 0!important;
  padding:0!important;
  white-space:nowrap!important;
  text-align:left!important;
  z-index:3!important;
}
body.company-pacific .posRefExact .posProductCard.product .prodText{
  grid-column:2!important;
  grid-row:2!important;
  display:block!important;
  align-self:end!important;
  justify-self:stretch!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  overflow:visible!important;
  text-align:left!important;
  z-index:3!important;
}
body.company-pacific .posRefExact .posProductCard.product strong{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:normal!important;
  max-width:100%!important;
  color:var(--ts-text)!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:14px!important;
  line-height:1.12!important;
  font-weight:900!important;
  letter-spacing:-.015em!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
body.company-pacific .posRefExact .posProductCard.product.active{
  border-color:rgba(155,107,179,.55)!important;
  background:linear-gradient(180deg,rgba(155,107,179,.16),rgba(255,255,255,.028))!important;
  box-shadow:0 18px 42px rgba(155,107,179,.14)!important;
}
body.company-pacific .posRefExact .posWorkArea{
  width:1040px!important;
  max-width:1040px!important;
  min-width:0!important;
}
body.company-pacific .posRefExact .products.posProducts{
  display:grid!important;
  grid-template-columns:repeat(4,215px)!important;
  gap:14px 15px!important;
  justify-content:start!important;
  align-items:start!important;
  max-width:905px!important;
  width:905px!important;
}

}


/* SAFE MEDIA COMPANY CREATOR */

.companyCreateCta{
  margin-bottom:12px;
  border-style:dashed;
}

.companyTypeGrid{
  margin:16px 0;
}

.companyTypeCard{
  min-height:80px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  padding:16px;
  background:var(--ts-surface);
  color:var(--ts-text);
  cursor:pointer;
}

.companyTypeCard:hover{
  border-color:var(--ts-accent,#8b5cf6);
}

html,body,input,button,textarea,select{font-family:"Poppins",sans-serif !important;}

/* v7.43.205 — company create CTA */
.companyCreateCta{
  margin-bottom:12px;
  border-style:dashed;
  border-color:var(--ts-accent-border, rgba(155,107,179,.34));
  background:linear-gradient(135deg, var(--ts-accent-soft, rgba(155,107,179,.14)), rgba(255,255,255,.025));
}
.companyCreateCta .companySwitchLogo{
  font-size:24px;
  font-weight:900;
}


/* v7.43.206 — real company wizard */
body[data-brand="media"],
body.company-media {
  --ts-accent: #06b6d4;
  --ts-accent-2: #155e75;
  --ts-accent-hover: #22d3ee;
  --ts-lux: #ec4899;
  --ts-lux-2: #9d174d;
  --ts-accent-soft: rgba(6,182,212,.14);
  --ts-accent-border: rgba(6,182,212,.34);
  --ts-lux-soft: rgba(236,72,153,.14);
  --ts-lux-border: rgba(236,72,153,.34);
}

.companyCreateCta {
  margin-bottom: 12px;
  border-style: dashed;
  border-color: var(--ts-accent-border, rgba(155,107,179,.34));
  background: linear-gradient(135deg, var(--ts-accent-soft, rgba(155,107,179,.14)), rgba(255,255,255,.025));
}

.companyTypeGrid {
  margin: 14px 0 18px;
}

.companyTypeCard {
  min-height: 96px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--ts-line, var(--ts-line));
  border-radius: 16px;
  padding: 14px;
  background:var(--ts-surface);
  color: var(--ts-text, #fff);
  text-align: left;
  cursor: pointer;
}

.companyTypeCard small {
  color: var(--ts-muted, rgba(244,244,245,.68));
  line-height: 1.25;
}

.companyTypeCard:hover,
.companyTypeCard.active {
  border-color: var(--ts-accent-border, rgba(155,107,179,.34));
  background: linear-gradient(135deg, var(--ts-accent-soft, rgba(155,107,179,.14)), rgba(255,255,255,.035));
}


/* v7.43.249 — fix sidebar mode toggle only, no global rollback */
.sidebarThemeSlot{
  flex:0 0 auto;
  padding:8px 8px 0;
}

.sidebarThemeSlot .themeModeToggle,
.themeModeToggle.sidebarThemeToggle{
  width:100%;
  min-height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--ts-accent-border, rgba(155,107,179,.34));
  background:linear-gradient(135deg,
    color-mix(in srgb, var(--ts-accent, #9b6bb3) 82%, white),
    color-mix(in srgb, var(--ts-accent, #9b6bb3) 78%, black)
  );
  color:var(--ts-text, #fff);
  font-weight:950;
  box-shadow:0 14px 34px var(--ts-accent-soft, rgba(155,107,179,.18));
  cursor:pointer;
  margin:0;
}



.comparisonChart .currentBar,
.currentBar{
  background:linear-gradient(180deg,
    color-mix(in srgb, var(--ts-accent, #9b6bb3) 58%, white) 0%,
    var(--ts-accent, #9b6bb3) 56%,
    color-mix(in srgb, var(--ts-accent, #9b6bb3) 74%, black) 100%
  ) !important;
}




/* v7.43.250 clean ui fix */

.sidebarThemeSlot{
  padding:10px 10px 0;
}

.themeModeToggle.sidebarThemeToggle{
  width:48px !important;
  height:48px !important;
  min-height:48px !important;
  border-radius:16px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:900;
  border:1px solid var(--line);
  background:var(--card);
  color:var(--text);
  box-shadow:var(--ts-shadow);
}









/* v7.43.252 — final header/chart/light/perf accounting fix */

/* Header: remove the returned black slab without touching layout */
body.ts-shell-active .appHeader,
body.ts-shell-active .appHeader.ts-clean-header,
body.ts-shell-active header.appHeader,
.appHeader.ts-clean-header{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body.ts-shell-active .appHeader::before,
body.ts-shell-active .appHeader::after,
.appHeader.ts-clean-header::before,
.appHeader.ts-clean-header::after{
  display:none !important;
  content:none !important;
}

/* Sidebar switch: emoji-only, compact */
.sidebarThemeSlot{
  flex:0 0 auto;
  padding:8px 8px 0 !important;
  display:flex;
  justify-content:center;
}
.themeModeToggle.sidebarThemeToggle{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  padding:0 !important;
  border-radius:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:20px !important;
  line-height:1 !important;
  overflow:hidden !important;
}

/* Graphique CA par jour: restore full chart UI, no text-list fallback look */
.comparisonChart{
  width:100% !important;
  margin-top:22px !important;
  padding:18px !important;
  border-radius:24px !important;
  border:1px solid var(--ts-line, var(--ts-line)) !important;
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--ts-accent, #9b6bb3) 18%, transparent), transparent 34%),
    color-mix(in srgb, var(--ts-surface-2, var(--ts-surface-2)) 72%, transparent) !important;
  box-shadow:inset 0 1px 0 var(--ts-surface) !important;
}
.chartHeader{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:16px !important;
}
.chartHeader small{
  display:block !important;
  color:var(--ts-muted, rgba(244,244,245,.68)) !important;
  font-weight:800 !important;
  font-size:12px !important;
}
.chartHeader b{
  display:block !important;
  margin-top:3px !important;
  color:var(--ts-text, #fff) !important;
  font-size:18px !important;
}
.chartLegend{
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
  color:var(--ts-muted, rgba(244,244,245,.68)) !important;
  font-size:12px !important;
  font-weight:800 !important;
}
.chartLegend i{
  width:10px !important;
  height:10px !important;
  border-radius:999px !important;
  display:inline-block !important;
  background:var(--ts-accent, #9b6bb3) !important;
}
.chartPlot{
  height:190px !important;
  display:grid !important;
  grid-template-columns:repeat(7, minmax(0,1fr)) !important;
  align-items:end !important;
  gap:12px !important;
  padding:8px 4px 0 !important;
}
.chartDay{
  min-width:0 !important;
  height:100% !important;
  display:grid !important;
  grid-template-rows:1fr auto !important;
  gap:9px !important;
  align-items:end !important;
  text-align:center !important;
}
.barStage{
  position:relative !important;
  height:100% !important;
  min-height:120px !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  border-radius:18px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
  overflow:hidden !important;
  border:1px solid color-mix(in srgb, var(--ts-line, var(--ts-line)) 58%, transparent) !important;
}
.currentBar{
  width:68% !important;
  min-height:4px !important;
  display:block !important;
  border-radius:14px 14px 6px 6px !important;
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--ts-accent, #9b6bb3) 55%, white) 0%,
      var(--ts-accent, #9b6bb3) 58%,
      color-mix(in srgb, var(--ts-accent, #9b6bb3) 72%, black) 100%
    ) !important;
  box-shadow:0 18px 38px color-mix(in srgb, var(--ts-accent, #9b6bb3) 28%, transparent) !important;
}
.barStage em{
  position:absolute !important;
  top:8px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  white-space:nowrap !important;
  font-style:normal !important;
  font-size:11px !important;
  font-weight:950 !important;
  color:var(--ts-text, #fff) !important;
  padding:4px 7px !important;
  border-radius:999px !important;
  background:color-mix(in srgb, var(--ts-surface, var(--ts-surface)) 82%, transparent) !important;
  border:1px solid var(--ts-line, var(--ts-line)) !important;
}
.chartDay span{
  color:var(--ts-muted, rgba(244,244,245,.68)) !important;
  font-size:12px !important;
  font-weight:900 !important;
}

/* Light mode: scoped only to light state, but actually covers the UI */


/* ============================================================
   LIGHT MODE — PATCH COMPLET v7.43.336
   Couvre tous les éléments qui restaient dark
   ============================================================ */

/* Tables */

/* Select options */

/* Boutons */

/* Modal */

/* KPIs & stats */

/* POS */

/* Dashboard hero */

/* Sidebar nav */

/* Toolbar & header */

/* Notices */

/* Badges / pills */

/* Details / déroulants cagnotte */

/* Action menu */

/* Charts light override */

/* Login */

/* Service bar */

/* Toasts */

/* General text catchall */

/* ============================================================
   LIGHT MODE — OVERRIDE FINAL : fond global + sidebar + header
   ============================================================ */

/* Fond global body (pacific & harmony) */

/* Cards & panels (pacific/harmony hardcodés dark) */

/* Sidebar */

/* App header / top bar */

/* Service bar top */

/* Layout wrapper */

/* Modal overlay */

/* Table */

/* Buttons secondary */

/* KPIs */

/* Inputs */

/* Text global */

