:root {
    /* ── Colors — Primary ── */
    --pshh-primary:          #1A73E8;
    --pshh-primary-hover:    #1557B0;
    --pshh-primary-light:    #E8F0FE;
    --pshh-primary-border:   #C5D8FB;

    /* ── Colors — Semantic ── */
    --pshh-success:          #1E8E3E;
    --pshh-success-hover:    #137333;
    --pshh-success-light:    #E6F4EA;
    --pshh-success-border:   #B7DFBF;

    --pshh-danger:           #D93025;
    --pshh-danger-hover:     #B52A20;
    --pshh-danger-light:     #FCE8E6;
    --pshh-danger-border:    #F5C6C4;

    --pshh-warning:          #E37400;
    --pshh-warning-hover:    #CC6800;
    --pshh-warning-light:    #FEF7E0;
    --pshh-warning-border:   #FBBC04;

    --pshh-info:             #1565C0;
    --pshh-info-light:       #E3F2FD;

    --pshh-purple:           #8430CE;
    --pshh-purple-light:     #F3E8FD;

    /* ── Colors — Neutrals ── */
    --pshh-text-primary:     #202124;
    --pshh-text-secondary:   #5F6368;
    --pshh-text-tertiary:    #9AA0A6;
    --pshh-text-disabled:    #BDC1C6;
    --pshh-text-muted:       #80868B;

    --pshh-bg-page:          #F8F9FA;
    --pshh-bg-secondary:     #F1F3F4;
    --pshh-bg-white:         #fff;
    --pshh-bg-hover:         #F8F9FA;

    --pshh-border:           #DADCE0;
    --pshh-border-light:     #E8EAED;
    --pshh-border-lighter:   #F1F3F4;

    /* ── Calendar special ── */
    --pshh-shabbat-bg:       #FFFBE6;
    --pshh-holiday-bg:       #FFF1F0;
    --pshh-holiday-text:     #D4380D;

    /* ── Border Radius ── */
    --radius-xs:   4px;
    --radius-sm:   6px;
    --radius-md:   8px;
    --radius-lg:   12px;
    --radius-xl:   16px;
    --radius-full: 9999px;

    /* ── Shadows ── */
    --shadow-sm:   0 1px 4px rgba(0,0,0,.06);
    --shadow-md:   0 2px 12px rgba(0,0,0,.08);
    --shadow-lg:   0 4px 20px rgba(0,0,0,.14);
    --shadow-xl:   0 8px 40px rgba(0,0,0,.20);
    --shadow-focus: 0 0 0 3px rgba(26,115,232,.15);

    /* ── Transitions ── */
    --ease-fast:   .12s ease;
    --ease-normal: .2s ease;
    --ease-slow:   .25s cubic-bezier(.4,0,.2,1);

    /* ── Typography ── */
    --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, sans-serif;
    --font-mono:   'Courier New', monospace;
}

/* ═══════════════════════════════════════════════════════════════
   PSHH Booking — Frontend CSS  (Google Ads style, RTL)
   ═══════════════════════════════════════════════════════════════ */

/* ── Reset & base ── */
.pshh-wrap,
.pshh-a {
    font-family: var(--font-family);
    direction: rtl;
    color: var(--pshh-text-primary);
    box-sizing: border-box;
}
.pshh-wrap *, .pshh-a * { box-sizing: border-box; }

/* ── Font reset (theme overrides) ── */
.pshh-wrap input,
.pshh-wrap textarea,
.pshh-wrap select,
.pshh-a input,
.pshh-a textarea,
.pshh-a select {
    font-family: var(--font-family) !important;
}

/* ─────────────────────────────────────────
   NAVIGATION / TABS
───────────────────────────────────────── */
.pshh-a-head { margin-bottom: 24px; }
.pshh-a-head h1 { color: var(--pshh-primary); font-size: 22px; margin: 0 0 16px; }
.pshh-a-nav, .pshh-area-nav { display: flex; gap: 0; border-bottom: 2px solid var(--pshh-border); overflow-x: auto; }
.pshh-a-tab, .pshh-tab {
    padding: 10px 16px; border: none; background: none;
    font-size: 14px; font-weight: 500; color: var(--pshh-text-secondary);
    cursor: pointer; border-bottom: 3px solid transparent;
    font-family: inherit; transition: all .2s; white-space: nowrap;
}
.pshh-a-tab:hover, .pshh-tab:hover { color: var(--pshh-primary); }
.pshh-a-tab.active, .pshh-tab.active { color: var(--pshh-primary); border-bottom-color: var(--pshh-primary); font-weight: 600; }

/* ─────────────────────────────────────────
   STAT CARDS
───────────────────────────────────────── */
.pshh-a-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; margin-bottom: 24px; }
.pshh-a-card {
    background: #fff; border: 1px solid var(--pshh-border);
    border-radius: 12px; padding: 18px 16px; text-align: center;
    box-shadow: var(--shadow-sm);
}
.pshh-a-card-n { font-size: 28px; font-weight: 700; color: var(--pshh-text-primary); }
.pshh-a-card-l { font-size: 12px; color: var(--pshh-text-secondary); margin-top: 4px; }
.pshh-a-card.blue   { border-right: 4px solid var(--pshh-primary); }
.pshh-a-card.green  { border-right: 4px solid var(--pshh-success); }
.pshh-a-card.yellow { border-right: 4px solid #F9AB00; }
.pshh-a-card.red    { border-right: 4px solid var(--pshh-danger); }

/* ─────────────────────────────────────────
   SECTION HEADER
───────────────────────────────────────── */
.pshh-a-hdr { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.pshh-a-hdr h2 { font-size: 17px; margin: 0; color: var(--pshh-text-primary); font-weight: 600; }

/* ─────────────────────────────────────────
   TABLE
───────────────────────────────────────── */
.pshh-a-tbl { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; border-radius: 10px; overflow: hidden; border: 1px solid var(--pshh-border); }
.pshh-a-tbl th,
.pshh-a-tbl td  { padding: 10px 14px; text-align: right; border-bottom: 1px solid var(--pshh-border); }
.pshh-a-tbl th  { background: var(--pshh-bg-secondary); font-weight: 600; color: var(--pshh-text-secondary); font-size: 13px; white-space: nowrap; }
.pshh-a-tbl tr:last-child td { border-bottom: none; }
.pshh-a-tbl tr:hover td { background: var(--pshh-bg-hover); }

/* ─────────────────────────────────────────
   BADGES
───────────────────────────────────────── */
.pshh-badge           { display: inline-block; padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 600; }
.pshh-badge-pending   { background: var(--pshh-warning-light); color: var(--pshh-warning); }
.pshh-badge-confirmed { background: var(--pshh-success-light); color: var(--pshh-success); }
.pshh-badge-cancelled { background: var(--pshh-danger-light); color: var(--pshh-danger); }
.pshh-badge-completed { background: var(--pshh-primary-light); color: var(--pshh-primary); }
.pshh-badge-no_show   { background: var(--pshh-bg-secondary); color: var(--pshh-text-secondary); }

/* ─────────────────────────────────────────
   BUTTONS — global (auth + wizard)
───────────────────────────────────────── */
.pshh-btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 10px 22px; border-radius: 8px; border: 1px solid var(--pshh-border);
    background: #fff; font-size: 15px; font-weight: 500; cursor: pointer;
    font-family: inherit; color: var(--pshh-text-primary); transition: all .2s;
    text-decoration: none; line-height: 1.4;
}
.pshh-btn:hover            { background: var(--pshh-bg-secondary); text-decoration: none; }
.pshh-btn-primary          { background: var(--pshh-primary); color: #fff; border-color: var(--pshh-primary); }
.pshh-btn-primary:hover    { background: var(--pshh-primary-hover); border-color: var(--pshh-primary-hover); color: #fff; }
.pshh-btn-secondary        { background: #fff; color: var(--pshh-primary); border-color: var(--pshh-border); }
.pshh-btn-secondary:hover  { background: var(--pshh-bg-secondary); }
.pshh-btn-danger           { background: var(--pshh-danger); color: #fff; border-color: var(--pshh-danger); }
.pshh-btn-danger:hover     { background: var(--pshh-danger-hover); }
.pshh-btn:disabled,
.pshh-btn[disabled]        { opacity: .55; cursor: not-allowed; pointer-events: none; }

/* ─────────────────────────────────────────
   FORM — global (auth + wizard)
───────────────────────────────────────── */
.pshh-form { width: 100%; }
.pshh-field { margin-bottom: 18px; }
.pshh-field label {
    display: block; font-size: 13px; font-weight: 500;
    color: var(--pshh-text-primary); margin-bottom: 6px;
}
.pshh-field input[type="text"],
.pshh-field input[type="email"],
.pshh-field input[type="password"],
.pshh-field input[type="tel"],
.pshh-field select,
.pshh-field textarea {
    width: 100%; padding: 10px 14px;
    border: 1px solid var(--pshh-border); border-radius: 8px;
    font-size: 15px; color: var(--pshh-text-primary); font-family: inherit;
    transition: border-color .2s, box-shadow .2s;
    background: #fff; direction: rtl;
}
.pshh-field input:focus,
.pshh-field select:focus,
.pshh-field textarea:focus {
    outline: none; border-color: var(--pshh-primary);
    box-shadow: var(--shadow-focus);
}

/* ─────────────────────────────────────────
   BUTTONS — admin-specific
───────────────────────────────────────── */
.pshh-a-btn {
    padding: 9px 22px; border-radius: 8px; border: 1px solid var(--pshh-border);
    background: #fff; font-size: 14px; font-weight: 500; cursor: pointer;
    font-family: inherit; color: var(--pshh-text-primary); transition: all .2s;
}
.pshh-a-btn:hover     { background: var(--pshh-bg-secondary); }
.pshh-a-btn.pri       { background: var(--pshh-primary); color: #fff; border-color: var(--pshh-primary); }
.pshh-a-btn.pri:hover { background: var(--pshh-primary-hover); }
.pshh-a-btn.sec       { background: #fff; color: var(--pshh-text-secondary); border-color: var(--pshh-border); }
.pshh-a-btn.sec:hover { background: var(--pshh-bg-secondary); }
.pshh-a-sm {
    padding: 4px 10px; border-radius: 6px; border: 1px solid var(--pshh-border);
    background: #fff; font-size: 12px; cursor: pointer; font-family: inherit; transition: all .15s;
}
.pshh-a-sm:hover     { background: var(--pshh-bg-secondary); }
.pshh-a-sm.del       { color: var(--pshh-danger); border-color: var(--pshh-danger); }
.pshh-a-sm.del:hover { background: var(--pshh-danger-light); }
.pshh-a-sm.grn       { color: var(--pshh-success); border-color: var(--pshh-success); }
.pshh-a-sm.grn:hover { background: var(--pshh-success-light); }

/* ─────────────────────────────────────────
   FORM
───────────────────────────────────────── */
.pshh-a-form { max-width: 680px; }
.pshh-a-row  { display: flex; gap: 16px; flex-wrap: wrap; }
.pshh-a-f    { flex: 1; min-width: 150px; margin-bottom: 14px; }
.pshh-a-f label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 4px; color: var(--pshh-text-secondary); }
.pshh-a-f input,
.pshh-a-f textarea,
.pshh-a-f select {
    width: 100%; padding: 8px 12px; border: 1px solid var(--pshh-border);
    border-radius: 8px; font-size: 14px; font-family: inherit; direction: rtl;
    transition: border-color .15s;
}
.pshh-a-f input:focus,
.pshh-a-f textarea:focus { outline: none; border-color: var(--pshh-primary); box-shadow: var(--shadow-focus); }
.pshh-a-act { display: flex; gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--pshh-border); flex-wrap: wrap; }

/* Checkboxes */
.pshh-a-chk { display: flex; align-items: center; gap: 6px; font-size: 14px; cursor: pointer; }
.pshh-a-chk input { width: 16px; height: 16px; }

/* ─────────────────────────────────────────
   STATES
───────────────────────────────────────── */
.pshh-a-load  { text-align: center; padding: 40px; color: var(--pshh-text-secondary); }
.pshh-a-empty { text-align: center; padding: 40px; color: var(--pshh-text-secondary); background: var(--pshh-bg-hover); border-radius: 12px; }
.pshh-a-err   { text-align: center; padding: 40px; color: var(--pshh-danger); }

/* ═══════════════════════════════════════════════════════════════
   UNIFIED SECTION HEADER — כותרת סקשן אחידה לכל המערכת
   ═══════════════════════════════════════════════════════════════ */
.pshh-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 12px;
}
.pshh-section-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--pshh-text-primary);
    margin: 0;
    line-height: 1.3;
}
.pshh-section-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════════════════
   UNIFIED SUB-TABS (pills) — טאבים משניים אחידים
   ═══════════════════════════════════════════════════════════════ */
.pshh-subtabs {
    display: flex;
    gap: 4px;
    background: var(--pshh-bg-secondary);
    border-radius: var(--radius-md, 8px);
    padding: 3px;
}
.pshh-subtab {
    padding: 7px 18px;
    border: none;
    background: transparent;
    border-radius: var(--radius-sm, 6px);
    font-size: 13px;
    font-weight: 500;
    color: var(--pshh-text-secondary);
    cursor: pointer;
    font-family: inherit;
    transition: all .15s;
    white-space: nowrap;
}
.pshh-subtab:hover:not(.active) {
    color: var(--pshh-text-primary);
    background: rgba(0,0,0,.04);
}
.pshh-subtab.active {
    background: var(--pshh-bg-white, #fff);
    color: var(--pshh-primary);
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
    font-weight: 600;
}

/* Standalone subtabs (not inside .pshh-subtabs wrapper — e.g. quick-bar) */
.pshh-apts-quick-bar,
.pshh-an-range-btns,
.pshh-util-filters {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.pshh-apts-quick-bar .pshh-subtab,
.pshh-an-range-btns .pshh-subtab,
.pshh-util-filters .pshh-subtab {
    border: 1px solid var(--pshh-border);
    border-radius: var(--radius-full, 20px);
    background: var(--pshh-bg-white, #fff);
    padding: 6px 16px;
}
.pshh-apts-quick-bar .pshh-subtab:hover,
.pshh-an-range-btns .pshh-subtab:hover,
.pshh-util-filters .pshh-subtab:hover {
    background: var(--pshh-primary-light);
    border-color: var(--pshh-primary);
    color: var(--pshh-primary);
}
.pshh-apts-quick-bar .pshh-subtab.active,
.pshh-an-range-btns .pshh-subtab.active,
.pshh-util-filters .pshh-subtab.active {
    background: var(--pshh-primary);
    border-color: var(--pshh-primary);
    color: #fff;
    box-shadow: none;
}

/* ── Financial sub-tabs (underline variant inside analytics) ── */

/* ─────────────────────────────────────────
   SELECT in table
───────────────────────────────────────── */
.pshh-a-sel { padding: 4px 8px; border-radius: 6px; border: 1px solid var(--pshh-border); font-size: 13px; font-family: inherit; direction: rtl; }

/* ═══════════════════════════════════════════════════════════════
   BOOKING WIZARD
   ═══════════════════════════════════════════════════════════════ */
.pshh-wiz { max-width: 680px; margin: 0 auto; padding: 24px 16px; direction: rtl; }
.pshh-wiz-steps {
    display: flex; gap: 0; margin-bottom: 28px;
    border-bottom: 2px solid var(--pshh-border); overflow-x: auto;
}
.pshh-wiz-step {
    padding: 10px 14px; font-size: 13px; font-weight: 500; color: var(--pshh-text-tertiary);
    border-bottom: 3px solid transparent; white-space: nowrap;
}
.pshh-wiz-step.active { color: var(--pshh-primary); border-bottom-color: var(--pshh-primary); font-weight: 600; }
.pshh-wiz-step.done   { color: var(--pshh-success); }

/* Service / provider cards */
.pshh-wiz-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.pshh-wiz-card {
    background: #fff; border: 2px solid var(--pshh-border); border-radius: 12px;
    padding: 18px 16px; cursor: pointer; text-align: center; transition: all .2s;
}
.pshh-wiz-card:hover   { border-color: var(--pshh-primary); background: var(--pshh-primary-light); }
.pshh-wiz-card.sel     { border-color: var(--pshh-primary); background: var(--pshh-primary-light); }
.pshh-wiz-card-name    { font-size: 15px; font-weight: 600; color: var(--pshh-text-primary); margin-bottom: 6px; }
.pshh-wiz-card-meta    { font-size: 12px; color: var(--pshh-text-secondary); }
.pshh-wiz-card-price   { font-size: 14px; font-weight: 600; color: var(--pshh-primary); margin-top: 8px; }

/* Calendar */
.pshh-wiz-cal { background: #fff; border: 1px solid var(--pshh-border); border-radius: 12px; overflow: hidden; }
.pshh-wiz-cal-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 16px; background: var(--pshh-bg-hover); border-bottom: 1px solid var(--pshh-border);
}
.pshh-wiz-cal-head h3 { font-size: 15px; font-weight: 600; margin: 0; color: var(--pshh-text-primary); }
.pshh-wiz-cal-head button {
    background: none; border: 1px solid var(--pshh-border); border-radius: 6px;
    padding: 4px 10px; cursor: pointer; font-size: 13px; color: var(--pshh-text-secondary); transition: all .15s;
}
.pshh-wiz-cal-head button:hover { background: var(--pshh-bg-secondary); }
.pshh-wiz-cal-days-head {
    display: grid; grid-template-columns: repeat(7,1fr);
    background: var(--pshh-bg-hover); border-bottom: 1px solid var(--pshh-border);
}
.pshh-wiz-cal-days-head div { padding: 6px; text-align: center; font-size: 11px; font-weight: 600; color: var(--pshh-text-secondary); }
.pshh-wiz-cal-body { display: grid; grid-template-columns: repeat(7,1fr); }
.pshh-wiz-day {
    min-height: 44px; border-right: 1px solid var(--pshh-bg-secondary); border-top: 1px solid var(--pshh-bg-secondary);
    padding: 4px; text-align: center; cursor: pointer; font-size: 13px;
    display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
    transition: background .15s;
}
.pshh-wiz-day:nth-child(7n)     { border-right: none; }
.pshh-wiz-day:hover             { background: var(--pshh-bg-hover); }
.pshh-wiz-day.other-month       { color: var(--pshh-text-disabled); }
.pshh-wiz-day.unavailable       { color: var(--pshh-border); cursor: not-allowed; background: var(--pshh-bg-hover); }
.pshh-wiz-day.sel               { background: var(--pshh-primary); color: #fff; border-radius: 8px; }
.pshh-wiz-day.today .pshh-wiz-day-num {
    background: var(--pshh-primary-light); color: var(--pshh-primary); border-radius: 50%;
    width: 24px; height: 24px; display: flex; align-items: center; justify-content: center;
}
.pshh-wiz-day-num  { font-weight: 500; }
.pshh-wiz-shabbat  { background: var(--pshh-shabbat-bg) !important; }
.pshh-wiz-holiday  { background: var(--pshh-holiday-bg) !important; }
.pshh-wiz-hol-name { font-size: 9px; color: var(--pshh-holiday-text); line-height: 1.1; margin-top: 2px; }

/* Time slots */
.pshh-wiz-slots { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.pshh-wiz-slot {
    padding: 8px 16px; border: 1px solid var(--pshh-border); border-radius: 8px;
    cursor: pointer; font-size: 14px; background: #fff; transition: all .15s;
}
.pshh-wiz-slot:hover { border-color: var(--pshh-primary); background: var(--pshh-primary-light); }
.pshh-wiz-slot.sel   { background: var(--pshh-primary); color: #fff; border-color: var(--pshh-primary); }
.pshh-wiz-slot.busy  { color: var(--pshh-border); cursor: not-allowed; background: var(--pshh-bg-hover); }

/* Wizard actions */
.pshh-wiz-act { display: flex; gap: 10px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--pshh-border); }
.pshh-wiz-summary {
    background: var(--pshh-bg-hover); border-radius: 10px; padding: 16px 18px; margin-top: 16px;
}
.pshh-wiz-summary-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 6px 0; border-bottom: 1px solid #EEEEEE; font-size: 14px;
}
.pshh-wiz-summary-row:last-child { border-bottom: none; }
.pshh-wiz-summary-row span:first-child { color: var(--pshh-text-secondary); }
.pshh-wiz-summary-row span:last-child  { color: var(--pshh-text-primary); font-weight: 500; }

/* ═══════════════════════════════════════════════════════════════
   CALENDAR — Google Calendar style
   ═══════════════════════════════════════════════════════════════ */
.pshh-cal {
    display: flex;
    flex-direction: column;
    background: #fff;
    width: 100%;
    min-height: calc(100vh - 12px);
    font-family: var(--font-family);
}

/* ── Toolbar ────────────────────────────────────────────────── */
.pshh-cal-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 4px;
    background: #fff;
    flex-wrap: nowrap;
}

.pshh-cal-toolbar h2 {
    font-size: 20px;
    font-weight: 400;
    color: var(--pshh-text-primary);
    margin: 0;
    min-width: 140px;
    white-space: nowrap;
}

/* ── Nav buttons (< >) — Google style ──────────────────────── */
.pshh-cal-nav {
    display: flex;
    gap: 0;
}

.pshh-cal-nav button {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: none;
    font-size: 20px;
    font-weight: 400;
    cursor: pointer;
    color: var(--pshh-text-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
    padding: 0;
    line-height: 1;
}

.pshh-cal-nav button:hover { background: var(--pshh-bg-secondary); }

/* ── Today button ───────────────────────────────────────────── */
.pshh-cal-today {
    padding: 0 16px;
    height: 36px;
    border: 1px solid var(--pshh-border);
    border-radius: 4px;
    background: #fff;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    color: var(--pshh-text-primary);
    font-family: inherit;
    transition: background .15s;
    white-space: nowrap;
}
.pshh-cal-today:hover { background: var(--pshh-bg-secondary); }

/* toolbar end (toggle + dropdown) */
.pshh-cal-toolbar-end {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-right: auto;
}

/* ── Month view ─────────────────────────────────────────────── */
.pshh-cal-month { width: 100%; border-top: 1px solid var(--pshh-border); }

.pshh-cal-month-head {
    display: grid;
    grid-template-columns: repeat(7,1fr);
    border-bottom: 1px solid var(--pshh-border);
}

.pshh-cal-month-head div {
    padding: 8px 4px;
    text-align: center;
    font-size: 11px;
    font-weight: 500;
    color: var(--pshh-text-muted);
    text-transform: uppercase;
    letter-spacing: .4px;
}

.pshh-cal-month-body {
    display: grid;
    grid-template-columns: repeat(7,1fr);
}

.pshh-cal-day {
    min-height: 140px;
    border-left: 1px solid var(--pshh-border);
    border-bottom: 1px solid var(--pshh-border);
    padding: 4px;
    position: relative;
    cursor: pointer;
    vertical-align: top;
}

.pshh-cal-day:hover { background: var(--pshh-bg-hover); }
.pshh-cal-day.other-month { background: #fff; }
.pshh-cal-day.other-month .pshh-cal-day-num { color: var(--pshh-text-muted); }

/* Today circle */
.pshh-cal-day.today .pshh-cal-day-num {
    background: var(--pshh-primary);
    color: #fff;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pshh-cal-day-num {
    font-size: 12px;
    font-weight: 500;
    color: var(--pshh-text-primary);
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2px;
    pointer-events: none;
    border-radius: 50%;
}

/* Events in month */
.pshh-cal-event {
    display: block;
    padding: 1px 6px 1px 8px;
    margin-bottom: 1px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity .1s;
    line-height: 20px;
}
.pshh-cal-event:hover { opacity: .85; }
.pshh-cal-more {
    font-size: 12px;
    color: var(--pshh-text-primary);
    padding: 1px 4px;
    cursor: pointer;
    border-radius: 4px;
    display: block;
    line-height: 20px;
}
.pshh-cal-more:hover { background: var(--pshh-bg-secondary); }

/* ═══════════════════════════════════════
   DAY POPOVER  ("+N עוד" overflow list)
═══════════════════════════════════════ */
.pshh-day-pop {
    position: absolute;
    z-index: 99999;
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 12px;
    box-shadow: var(--shadow-xl);
    direction: rtl;
    font-family: var(--font-family);
    font-size: 13px;
    color: var(--pshh-text-primary);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-5px) scale(.98);
    transition: opacity .16s ease, transform .16s ease;
}
.pshh-day-pop.pshh-dp-show {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

/* Header */
.pshh-dp-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 14px 9px;
    border-bottom: 1px solid var(--pshh-bg-secondary);
}
.pshh-dp-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--pshh-text-primary);
}
.pshh-dp-close {
    background: none;
    border: none;
    color: var(--pshh-text-tertiary);
    font-size: 13px;
    cursor: pointer;
    padding: 2px 5px;
    border-radius: 4px;
    line-height: 1;
    transition: background .12s, color .12s;
}
.pshh-dp-close:hover { background: var(--pshh-bg-secondary); color: var(--pshh-text-primary); }

/* List */
.pshh-dp-list {
    max-height: 280px;
    overflow-y: auto;
    padding: 4px 0;
}

/* Each row */
.pshh-dp-row {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    cursor: pointer;
    transition: background .11s;
    border-radius: 0;
}
.pshh-dp-row:hover { background: var(--pshh-bg-hover); }

/* Colored dot */
.pshh-dp-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Time */
.pshh-dp-time {
    font-size: 12px;
    font-weight: 700;
    color: var(--pshh-text-primary);
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
    min-width: 38px;
}

/* Service name */
.pshh-dp-svc {
    font-size: 12px;
    color: var(--pshh-text-primary);
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

/* Customer name */
.pshh-dp-cust {
    font-size: 11px;
    color: var(--pshh-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 80px;
    flex-shrink: 0;
}

/* Status badge */
.pshh-dp-badge {
    font-size: 10px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 20px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Pencil edit icon button */
.pshh-dp-edit-btn {
    background: none;
    border: none;
    color: var(--pshh-text-tertiary);
    cursor: pointer;
    padding: 4px 5px;
    border-radius: 6px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transition: background .12s, color .12s;
}
.pshh-dp-edit-btn:hover { background: var(--pshh-primary-light); color: var(--pshh-primary); }

/* Go-to-day footer button */
.pshh-dp-goto {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 9px 14px;
    border: none;
    border-top: 1px solid var(--pshh-bg-secondary);
    background: none;
    color: var(--pshh-primary);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 0 0 12px 12px;
    transition: background .12s;
    font-family: inherit;
    direction: rtl;
}
.pshh-dp-goto:hover { background: var(--pshh-primary-light); }

/* ── Holidays ───────────────────────────────────────────────── */
.pshh-cal-shabbat     { background: var(--pshh-shabbat-bg) !important; }
.pshh-cal-holiday-day { background: var(--pshh-holiday-bg) !important; }
.pshh-cal-hol-chip {
    font-size: 11px;
    font-weight: 500;
    padding: 1px 6px;
    border-radius: 4px;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    pointer-events: none;
    line-height: 20px;
}
.pshh-cal-wh-hol { font-size: 10px; color: var(--pshh-holiday-text); pointer-events: none; }
.pshh-cal-day-hol-badge {
    font-size: 11px;
    color: #fff;
    padding: 2px 8px;
    border-radius: 10px;
    margin-top: 4px;
    display: inline-block;
    pointer-events: none;
}
.pshh-cal-add-hint {
    display: none;
    font-size: 10px;
    color: var(--pshh-primary);
    position: absolute; bottom: 3px; left: 4px; pointer-events: none;
}
.pshh-cal-day:hover .pshh-cal-add-hint { display: block; }

/* Tooltip */
.pshh-cal-tooltip {
    position: fixed; background: #fff; border: 1px solid var(--pshh-border); border-radius: 10px;
    box-shadow: var(--shadow-lg); padding: 14px 16px; z-index: 9999;
    min-width: 220px; max-width: 300px; font-size: 13px; direction: rtl; display: none;
}
.pshh-cal-tooltip.show   { display: block; }
.pshh-cal-tooltip h4     { margin: 0 0 8px; font-size: 15px; color: var(--pshh-text-primary); }
.pshh-cal-tooltip p      { margin: 3px 0; color: var(--pshh-text-secondary); }
.pshh-cal-tooltip strong { color: var(--pshh-text-primary); }
.pshh-cal-tooltip .tip-close { position: absolute; top: 8px; left: 8px; background: none; border: none; cursor: pointer; font-size: 16px; color: var(--pshh-text-secondary); }
.pshh-cal-tooltip .tip-badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 600; margin-bottom: 6px; }
.pshh-tip-btn {
    padding: 3px 10px; border-radius: 6px; border: 1px solid var(--pshh-border);
    background: #fff; font-size: 12px; font-weight: 500; cursor: pointer;
    font-family: inherit; transition: all .15s;
}
.pshh-tip-btn.pri       { background: var(--pshh-primary); color: #fff; border-color: var(--pshh-primary); }
.pshh-tip-btn.grn       { background: var(--pshh-success); color: #fff; border-color: var(--pshh-success); }
.pshh-tip-btn.del       { color: var(--pshh-danger); border-color: var(--pshh-danger); }
.pshh-tip-btn.del:hover { background: var(--pshh-danger-light); }
.pshh-tip-btn.pri:hover { background: var(--pshh-primary-hover); }
.pshh-tip-btn.grn:hover { background: var(--pshh-success-hover); }

/* Legend */
.pshh-cal-legend      { display: flex; flex-wrap: wrap; gap: 10px; padding: 10px 20px; border-top: 1px solid var(--pshh-border); }
.pshh-cal-legend-item { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--pshh-text-secondary); }
.pshh-cal-legend-dot  { width: 10px; height: 10px; border-radius: 50%; }
.pshh-cal-loading     { text-align: center; }

/* ═══════════════════════════════════════════════════════════════
   MODAL
   ═══════════════════════════════════════════════════════════════ */
.pshh-modal-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,.5);
    z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 20px;
    /* Force font/direction since modal appends to body outside plugin scope */
    font-family: var(--font-family);
    direction: rtl;
}
.pshh-modal {
    background: #fff; border-radius: 14px; width: 100%; max-width: 540px;
    box-shadow: var(--shadow-xl); direction: rtl; overflow: visible;
    animation: pshh-modal-in .18s ease;
    font-family: var(--font-family);
    font-size: 14px; color: var(--pshh-text-primary);
}
/* @keyframes pshh-modal-in — see unified definition below */
.pshh-modal-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px; border-bottom: 1px solid var(--pshh-border); background: var(--pshh-bg-hover);
}
.pshh-modal-head h3 { font-size: 16px; font-weight: 500; color: var(--pshh-text-primary); margin: 0; }
.pshh-modal-close   { background: none; border: none; font-size: 18px; cursor: pointer; color: var(--pshh-text-secondary); padding: 4px; line-height: 1; }
.pshh-modal-close:hover { color: var(--pshh-text-primary); }
.pshh-modal-body    { padding: 20px 22px; }
.pshh-modal-foot    { display: flex; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--pshh-border); background: var(--pshh-bg-hover); justify-content: flex-end; }
.pshh-modal-lbl {
    display: block; font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: .5px; color: var(--pshh-text-secondary); margin-bottom: 6px;
}
.pshh-a-f-inp {
    width: 100%; padding: 9px 12px; border: 1px solid var(--pshh-border); border-radius: 8px;
    font-size: 14px; font-family: var(--font-family);
    direction: rtl; background: #fff; color: var(--pshh-text-primary); box-sizing: border-box;
    transition: border-color .15s; -webkit-appearance: none; appearance: none;
}
.pshh-a-f-inp:focus { outline: none; border-color: var(--pshh-primary); box-shadow: var(--shadow-focus); }
textarea.pshh-a-f-inp { resize: vertical; min-height: 60px; }

/* ── Date & Time inputs — Hebrew locale (DD/MM/YYYY, 24h) ── */
input[type="date"][lang="he"],
input[type="time"][lang="he"],
.pshh-ch-time,
.pshh-apts-date,
.pshh-an-date-inp {
    direction: ltr;
    text-align: right;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
}

/* ── Flatpickr theme override — match PSHH design system ── */
.flatpickr-calendar {
    direction: rtl;
    font-family: var(--font-family) !important;
    border: 1px solid var(--pshh-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-lg) !important;
}
.flatpickr-months {
    direction: rtl;
}
.flatpickr-months .flatpickr-month {
    background: var(--pshh-bg-hover) !important;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.flatpickr-current-month {
    font-family: var(--font-family) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--pshh-text-primary) !important;
    direction: rtl;
}
.flatpickr-weekdays {
    background: var(--pshh-bg-hover) !important;
}
.flatpickr-weekday {
    font-family: var(--font-family) !important;
    color: var(--pshh-text-secondary) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}
.flatpickr-day {
    font-family: var(--font-family) !important;
    color: var(--pshh-text-primary) !important;
    border-radius: var(--radius-md) !important;
}
.flatpickr-day:hover {
    background: var(--pshh-primary-light) !important;
    border-color: var(--pshh-primary-light) !important;
}
.flatpickr-day.today {
    border-color: var(--pshh-primary) !important;
}
.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: var(--pshh-primary) !important;
    border-color: var(--pshh-primary) !important;
    color: #fff !important;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: var(--pshh-text-disabled) !important;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    fill: var(--pshh-text-secondary) !important;
    color: var(--pshh-text-secondary) !important;
}
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
    fill: var(--pshh-primary) !important;
    color: var(--pshh-primary) !important;
}
/* Time picker 24h */
.flatpickr-time {
    direction: ltr;
    border-top: 1px solid var(--pshh-border) !important;
}
.flatpickr-time input {
    font-family: var(--font-family) !important;
    font-size: 16px !important;
    color: var(--pshh-text-primary) !important;
}
.flatpickr-time .flatpickr-am-pm {
    display: none !important;
}
/* Alt input (the visible one) */
.flatpickr-input.flatpickr-mobile,
input.flatpickr-input[readonly] {
    background: var(--pshh-bg-white, #fff) !important;
    cursor: pointer;
}
input.flatpickr-input + input.form-control,
input.flatpickr-input + input[readonly] {
    direction: rtl;
    cursor: pointer;
    background: var(--pshh-bg-white, #fff) !important;
}
.del-btn       { color: var(--pshh-danger) !important; border-color: var(--pshh-danger) !important; }
.del-btn:hover { background: var(--pshh-danger-light) !important; }
/* Modal form layout */
.pm-row   { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.pm-field { display: flex; flex-direction: column; margin-bottom: 14px; }
.pm-field:last-child { margin-bottom: 0; }
.pm-err   {
    color: var(--pshh-danger); font-size: 13px; margin-top: 10px;
    padding: 8px 12px; background: var(--pshh-danger-light); border-radius: 6px;
    display: none;
}
.pm-err:not(:empty) { display: block; }

/* Holiday banner in modal */
.pshh-modal-hol-banner {
    display: flex; align-items: center; gap: 8px;
    background: #FFF7E6; border: 1.5px solid #ffd591;
    border-radius: 8px; padding: 10px 14px; margin-bottom: 16px;
    font-size: 13px; font-weight: 600; color: var(--pshh-warning);
}

/* Responsive modal */
@media (max-width: 520px) {
    .pm-row { grid-template-columns: 1fr; }
    .pshh-modal { margin: 0 8px; }
}


/* ═══════════════════════════════════════════════════════════════
   CLINIC HOURS — Google Ads style, RTL
   ═══════════════════════════════════════════════════════════════ */

/* Notice banner */
.pshh-ch-notice {
    background: var(--pshh-primary-light);
    border-right: 4px solid var(--pshh-primary);
    border-radius: 8px;
    padding: 10px 16px;
    margin-bottom: 20px;
    font-size: 13px;
    color: var(--pshh-primary);
    font-weight: 500;
}

/* Table wrapper */
.pshh-ch-wrap {
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 20px;
}

/* Table */
.pshh-ch-tbl {
    width: 100%;
    border-collapse: collapse;
    direction: rtl;
}
.pshh-ch-tbl thead th {
    background: var(--pshh-bg-hover);
    padding: 10px 20px;
    font-size: 12px;
    font-weight: 600;
    color: var(--pshh-text-secondary);
    text-align: right;
    border-bottom: 1px solid var(--pshh-border);
}
.pshh-ch-tbl th:first-child { width: 170px; }

/* Rows */
.ch-row {
    border-bottom: 1px solid var(--pshh-bg-secondary);
    transition: background .15s;
}
.ch-row:last-child  { border-bottom: none; }
.ch-row.ch-open     { background: #fff; }
.ch-row.ch-closed   { background: var(--pshh-bg-hover); }
.ch-row:hover       { background: #F8F9FE; }

/* ── Day cell (RIGHT column) ── */
.ch-td-day {
    padding: 16px 20px;
    vertical-align: top;
    width: 170px;
    border-left: 1px solid var(--pshh-bg-secondary);
}
.ch-dayname {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: var(--pshh-text-primary);
    margin-bottom: 10px;
}
.ch-row.ch-closed .ch-dayname { color: var(--pshh-text-tertiary); }

/* Toggle (inside day cell, below name) */
.ch-td-tog {
    display: flex;
    align-items: center;
    gap: 8px;
}
.ch-tog {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    flex-shrink: 0;
}
.ch-tog input { display: none; }
.ch-tog-track {
    width: 36px;
    height: 20px;
    background: var(--pshh-border);
    border-radius: 10px;
    position: relative;
    transition: background .2s;
}
.ch-tog input:checked + .ch-tog-track { background: var(--pshh-primary); }
.ch-tog-thumb {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,.25);
    transition: right .2s;
}
.ch-tog input:checked + .ch-tog-track .ch-tog-thumb { right: calc(100% - 18px); }
.ch-tog-lbl { font-size: 12px; font-weight: 600; color: var(--pshh-text-secondary); }
.ch-row.ch-open   .ch-tog-lbl { color: var(--pshh-success); }
.ch-row.ch-closed .ch-tog-lbl { color: var(--pshh-text-tertiary); }

/* ── Slots cell (LEFT column) ── */
.ch-td-slots {
    padding: 14px 20px;
    vertical-align: top;
}

/* Column header labels above inputs */
.ch-slots-head {
    display: grid;
    grid-template-columns: 110px 28px 110px 32px;
    margin-bottom: 4px;
}
.ch-slots-head span {
    font-size: 11px;
    font-weight: 600;
    color: var(--pshh-text-tertiary);
    text-align: center;
}
.ch-slots-head span:first-child { text-align: right; }

/* Each slot row */
.ch-slot {
    display: grid;
    grid-template-columns: 110px 28px 110px 32px;
    align-items: center;
    margin-bottom: 8px;
}
.ch-slot:last-of-type { margin-bottom: 4px; }

/* Time inputs */
.pshh-ch-time {
    width: 105px;
    padding: 7px 10px;
    border: 1px solid var(--pshh-border);
    border-radius: 8px;
    font-size: 13px;
    color: var(--pshh-text-primary);
    background: #fff;
    transition: border-color .15s, box-shadow .15s;
    text-align: center;
    font-family: inherit;
}
.pshh-ch-time:focus {
    border-color: var(--pshh-primary);
    box-shadow: var(--shadow-focus);
    outline: none;
}

/* Separator between start and end */
.ch-arr {
    color: var(--pshh-text-tertiary);
    font-size: 16px;
    text-align: center;
    user-select: none;
}

/* Remove-slot button */
.ch-rm-ph  { width: 28px; }
.ch-rm-btn {
    width: 26px; height: 26px;
    border: none;
    background: var(--pshh-danger-light);
    color: var(--pshh-danger);
    border-radius: 50%;
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
    display: flex; align-items: center; justify-content: center;
    transition: background .15s;
    padding: 0;
}
.ch-rm-btn:hover { background: var(--pshh-danger); color: #fff; }

/* Add-split button */
.ch-add-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    padding: 5px 14px;
    border: 1px dashed var(--pshh-primary);
    background: transparent;
    color: var(--pshh-primary);
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s;
    font-family: inherit;
}
.ch-add-btn:hover    { background: var(--pshh-primary-light); }
.ch-add-btn:disabled { border-color: var(--pshh-border); color: var(--pshh-text-tertiary); cursor: not-allowed; background: transparent; }

/* Closed row */
.ch-closed-lbl {
    font-size: 13px;
    color: var(--pshh-text-tertiary);
    font-style: italic;
    padding: 6px 0;
    display: block;
}

.pshh-ch-sep { margin: 28px 0; border: none; border-top: 1px solid var(--pshh-border); }

/* ── Provider schedule hints ── */
.pshh-sch-hint   { display: block; font-size: 11px; color: var(--pshh-primary); font-weight: 500; margin-top: 3px; }
.pshh-sch-closed { font-size: 11px; color: var(--pshh-danger); font-weight: 500; }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    .pshh-wiz-grid   { grid-template-columns: 1fr 1fr; }
    .pshh-a-cards    { grid-template-columns: 1fr 1fr; }
    .pshh-a-row      { flex-direction: column; }
    .pshh-a-f        { min-width: 100%; }
    .pshh-a-tbl th,
    .pshh-a-tbl td   { padding: 8px 10px; }
    .pshh-cal-views  { margin-right: 0; margin-top: 8px; }
    .pshh-cal-day    { min-height: 60px; }
    .pshh-cal-event  { font-size: 10px; }
    .ch-td-day       { width: 110px; padding: 12px; }
    .ch-dayname      { font-size: 13px; }
    .pshh-ch-tbl th:first-child { width: 110px; }
    .ch-slots-head,
    .ch-slot         { grid-template-columns: 88px 22px 88px 28px; }
    .pshh-ch-time    { width: 84px; font-size: 12px; padding: 6px; }
}

@media (max-width: 480px) {
    .pshh-wiz-grid   { grid-template-columns: 1fr; }
    .pshh-wiz-slots  { gap: 8px; }
    .pshh-wiz-slot   { padding: 7px 12px; font-size: 13px; }
}
/* ═══════════════════════════════════════
   Week & Day View Calendar
   ═══════════════════════════════════════ */

/* ── Week view ──────────────────────────────────────────────── */
.pshh-cal-week { width: 100%; overflow-x: auto; }

.pshh-cal-week-wrap {
    display: flex;
    min-width: 500px;
}

/* Time column — left side, like Google */
.pshh-cal-time-col {
    width: 56px;
    flex-shrink: 0;
}

.pshh-cal-time-col .pshh-cal-week-header {
    height: 72px;
    border: none;
    background: #fff;
}

.pshh-cal-time-slot {
    height: 48px;
    padding: 0;
    font-size: 10px;
    color: var(--pshh-text-muted);
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding-left: 8px;
    padding-top: 2px;
    position: relative;
    top: -6px;
}

/* Day columns */
.pshh-cal-days-wrap {
    flex: 1;
    display: flex;
    overflow: hidden;
    border-right: 1px solid var(--pshh-border);
}

.pshh-cal-day-col {
    flex: 1;
    border-right: 1px solid var(--pshh-border);
    position: relative;
    min-width: 60px;
    cursor: pointer;
}

/* Day header in week */
.pshh-cal-week-header {
    height: 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid var(--pshh-border);
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 2;
    gap: 2px;
}

.pshh-cal-week-header .wh-day {
    font-size: 11px;
    font-weight: 500;
    color: var(--pshh-text-muted);
    text-transform: uppercase;
    letter-spacing: .6px;
}

.pshh-cal-week-header .wh-num {
    font-size: 26px;
    font-weight: 400;
    color: var(--pshh-text-primary);
    line-height: 1;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.pshh-cal-week-header.today .wh-num {
    background: var(--pshh-primary);
    color: #fff;
}

/* Hour rows */
.pshh-cal-hour-row {
    height: 48px;
    border-top: 1px solid var(--pshh-border);
    position: relative;
    transition: background .1s;
}
.pshh-cal-hour-row:hover { background: var(--pshh-bg-hover); }

/* Events in week/day */
.pshh-cal-week-event {
    position: absolute;
    right: 2px;
    left: 2px;
    border-radius: 4px;
    padding: 2px 4px;
    font-size: 11px;
    font-weight: 500;
    color: #fff;
    overflow: hidden;
    cursor: pointer;
    z-index: 1;
    transition: opacity .1s;
    box-shadow: 0 1px 3px rgba(0,0,0,.15);
}
.pshh-cal-week-event:hover { opacity: .9; }
.pshh-cal-week-event .ev-name {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
}
.pshh-cal-week-event .ev-time { font-size: 10px; opacity: .9; }

/* Day view */
.pshh-cal-day-view { width: 100%; overflow-x: hidden; }

/* Shabbat column */
.pshh-cal-shabbat-col { background: var(--pshh-shabbat-bg); }

/* Holiday badge in week/day header */
.pshh-cal-day-hol-badge {
    font-size: 10px;
    color: #fff;
    padding: 1px 6px;
    border-radius: 8px;
    display: inline-block;
    pointer-events: none;
    max-width: 90%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* GMT label */
.pshh-cal-gmt-label {
    font-size: 10px;
    color: var(--pshh-text-muted);
    text-align: left;
    padding: 4px 0 4px 4px;
    height: 72px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 8px;
}

/* cal-body scroll */
#cal-body {
    overflow-y: auto;
    flex: 1;
    max-height: calc(100vh - 80px);
}

/* ═══════════════════════════════════════════════════════════════
   PSHH AUTH — עמודי התחברות / שכחתי / איפוס סיסמה
   ═══════════════════════════════════════════════════════════════ */

.pshh-auth-wrap {
    min-height: 100vh;
    background: #D3E1FB;
    direction: rtl;
    font-family: var(--font-family);
}

.pshh-auth-split {
    display: flex;
    min-height: 100vh;
    direction: rtl;
}

/* ── Right side: form ──────────────────────────────────────── */
.pshh-auth-form-side {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    padding: 40px;
}

/* ── Fallback: forgot/reset pages without split layout ───── */
.pshh-auth-simple {
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--pshh-bg-hover);
}

.pshh-auth-simple > .pshh-auth-box {
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 12px;
    padding: 40px 36px;
    box-shadow: var(--shadow-md);
}

.pshh-auth-box {
    width: 100%;
    max-width: 400px;
    box-sizing: border-box;
}

.pshh-auth-box *,
.pshh-auth-box *::before,
.pshh-auth-box *::after {
    box-sizing: border-box;
}

/* ── Left side: image ──────────────────────────────────────── */
.pshh-auth-image-side {
    width: 50%;
    background: #D3E1FB;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.pshh-auth-side-img {
    max-width: 80%;
    max-height: 70vh;
    object-fit: contain;
    border-radius: 16px;
}

.pshh-auth-header {
    text-align: center;
    margin-bottom: 28px;
}

.pshh-auth-logo {
    max-height: 56px;
    margin-bottom: 16px;
    object-fit: contain;
}

.pshh-auth-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--pshh-text-primary);
    margin: 0 0 8px;
}

.pshh-auth-subtitle {
    font-size: 14px;
    color: var(--pshh-text-secondary);
    margin: 0;
    line-height: 1.6;
}

/* ─── Alert ─────────────────────────────────────────────────── */
.pshh-auth-alert {
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    margin-bottom: 20px;
    line-height: 1.5;
}

.pshh-alert-error {
    background: var(--pshh-danger-light);
    color: var(--pshh-danger);
    border: 1px solid #f5c6c4;
}

.pshh-alert-success {
    background: var(--pshh-success-light);
    color: var(--pshh-success);
    border: 1px solid var(--pshh-success-border);
}

/* ─── Form fields ───────────────────────────────────────────── */
.pshh-auth-box .pshh-field {
    margin-bottom: 18px;
}

.pshh-auth-box .pshh-field label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--pshh-text-primary);
    margin-bottom: 6px;
}

.pshh-auth-box .pshh-field input[type="text"],
.pshh-auth-box .pshh-field input[type="email"],
.pshh-auth-box .pshh-field input[type="password"],
.pshh-auth-box .pshh-field input[type="tel"] {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--pshh-border);
    border-radius: 8px;
    font-size: 15px;
    color: var(--pshh-text-primary);
    font-family: inherit;
    transition: border-color .2s, box-shadow .2s;
    background: #fff;
    direction: rtl;
}

.pshh-auth-box .pshh-field input:focus {
    outline: none;
    border-color: var(--pshh-primary);
    box-shadow: var(--shadow-focus);
}

/* ─── Input עם כפתור הצג/הסתר ───────────────────────────────── */
.pshh-input-wrap {
    position: relative;
}

.pshh-input-wrap input {
    padding-left: 44px !important;
    padding-right: 14px !important;
}

.pshh-toggle-pass {
    position: absolute;
    left: 10px;
    right: auto;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--pshh-text-secondary);
    padding: 4px;
    display: flex;
    align-items: center;
}

.pshh-toggle-pass:hover { color: var(--pshh-primary); }

/* ─── Inline (זכור אותי + שכחתי) ────────────────────────────── */
.pshh-field-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pshh-field-inline label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px !important;
    font-weight: normal !important;
    cursor: pointer;
    color: var(--pshh-text-secondary) !important;
}

.pshh-field-inline input[type="checkbox"] {
    width: auto;
    margin: 0;
}

.pshh-link {
    font-size: 13px;
    color: var(--pshh-primary);
    text-decoration: none;
}

.pshh-link:hover { text-decoration: underline; }

/* ─── כפתורים ───────────────────────────────────────────────── */
.pshh-btn-full {
    width: 100%;
    justify-content: center;
    margin-top: 8px;
}

/* ─── Footer (חזרה להתחברות) ────────────────────────────────── */
.pshh-auth-footer {
    text-align: center;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--pshh-bg-secondary);
}

/* ─── Password strength ──────────────────────────────────────── */
.pshh-password-strength {
    font-size: 12px;
    margin-top: 6px;
    font-weight: 500;
}

.pshh-password-strength.weak      { color: var(--pshh-danger); }
.pshh-password-strength.fair      { color: var(--pshh-warning); }
.pshh-password-strength.strong    { color: var(--pshh-success); }
.pshh-password-strength.very-strong { color: var(--pshh-success); }

/* ─── Logout button ─────────────────────────────────────────── */
.pshh-logout-btn {
    font-size: 13px;
    padding: 8px 16px;
}

/* ─── Mobile ─────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .pshh-auth-split {
        flex-direction: column;
    }

    .pshh-auth-form-side {
        width: 100%;
        min-height: 100vh;
        padding: 40px 20px;
    }

    .pshh-auth-image-side {
        display: none;
    }

    .pshh-auth-box {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .pshh-auth-form-side {
        padding: 40px 16px;
    }

    .pshh-auth-simple > .pshh-auth-box {
        padding: 28px 20px;
        border-radius: 8px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PSHH APP LAYOUT — Collapsible sidebar
   ═══════════════════════════════════════════════════════════════ */

/* ── App shell ──────────────────────────────────────────────── */
.pshh-app {
    display: flex;
    flex-direction: row-reverse;
    min-height: 100vh;
    background: var(--pshh-bg-hover);
    direction: rtl;
    font-family: var(--font-family);
    position: relative;
    /* שבירה מחוץ לכל wrapper של התמה */
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    box-sizing: border-box;
}

.pshh-app *,
.pshh-app *::before,
.pshh-app *::after { box-sizing: border-box; }

/* ── Sidebar ────────────────────────────────────────────────── */
.pshh-sidebar {
    width: 220px;
    min-height: 100vh;
    background: #fff;
    border-left: 1px solid var(--pshh-border-light);
    display: flex;
    flex-direction: column;
    padding: 8px 0;
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 100;
    overflow: visible;
    transition: width .25s cubic-bezier(.4,0,.2,1);
}

.pshh-sidebar.collapsed {
    width: 56px;
}

/* ── Toggle button ──────────────────────────────────────────── */
.pshh-sidebar-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 4px auto 8px;
    border: none;
    background: none;
    border-radius: 8px;
    cursor: pointer;
    color: var(--pshh-text-secondary);
    transition: background .15s, color .15s;
    flex-shrink: 0;
}

.pshh-sidebar-toggle svg {
    transform: scaleX(-1);
}

.pshh-sidebar-toggle:hover {
    background: var(--pshh-bg-secondary);
    color: var(--pshh-text-primary);
}

/* ── Create button ──────────────────────────────────────────── */
.pshh-sidebar-create {
    position: relative;
    margin-bottom: 8px;
    width: 100%;
    padding: 0 8px;
}

.pshh-create-btn {
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: none;
    background: var(--pshh-primary);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    transition: background .2s, box-shadow .2s;
    flex-shrink: 0;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
}

.pshh-create-btn svg { flex-shrink: 0; }

.pshh-create-label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity .2s, width .2s;
}

.pshh-sidebar.collapsed .pshh-create-btn {
    justify-content: center;
    padding: 8px;
    gap: 0;
}

.pshh-sidebar.collapsed .pshh-create-label {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

.pshh-create-btn:hover {
    background: var(--pshh-primary-hover);
    box-shadow: 0 2px 8px rgba(26,115,232,.4);
}

/* ── WP Panel link (admin only) ─────────────────────────────── */
.pshh-wp-panel-item { color: var(--pshh-text-secondary); }
.pshh-wp-panel-item:hover { color: var(--pshh-primary); background: var(--pshh-primary-light); }

/* ── Tooltips (when labels are hidden) ──────────────────────── */
.pshh-sidebar.collapsed .pshh-nav-item[data-tooltip],
.pshh-sidebar.pshh-mq-collapsed .pshh-nav-item[data-tooltip] {
    position: relative;
}

.pshh-sidebar.collapsed .pshh-nav-item[data-tooltip]:hover::after,
.pshh-sidebar.pshh-mq-collapsed .pshh-nav-item[data-tooltip]:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    right: calc(100% + 8px);
    left: auto;
    top: 50%;
    transform: translateY(-50%);
    background: var(--pshh-text-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    padding: 5px 10px;
    border-radius: 6px;
    white-space: nowrap;
    z-index: 300;
    pointer-events: none;
    direction: rtl;
}

/* Also show tooltip for create button */
.pshh-sidebar.collapsed .pshh-create-btn[data-tooltip]:hover::after,
.pshh-sidebar.pshh-mq-collapsed .pshh-create-btn[data-tooltip]:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    right: calc(100% + 8px);
    left: auto;
    top: 50%;
    transform: translateY(-50%);
    background: var(--pshh-text-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    padding: 5px 10px;
    border-radius: 6px;
    white-space: nowrap;
    z-index: 300;
    pointer-events: none;
}

/* Hide tooltips when sidebar is fully open or mobile-open overlay */
.pshh-sidebar:not(.collapsed):not(.pshh-mq-collapsed) .pshh-nav-item[data-tooltip]:hover::after,
.pshh-sidebar:not(.collapsed):not(.pshh-mq-collapsed) .pshh-nav-item[data-tooltip]:hover::before,
.pshh-sidebar.mobile-open .pshh-nav-item[data-tooltip]:hover::after,
.pshh-sidebar.mobile-open .pshh-nav-item[data-tooltip]:hover::before,
.pshh-sidebar.mobile-open .pshh-create-btn[data-tooltip]:hover::after {
    display: none;
}

/* ── Create dropdown menu ───────────────────────────────────── */
.pshh-create-menu {
    position: absolute;
    top: 0;
    right: 100%;
    margin-right: 4px;
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 10px;
    box-shadow: var(--shadow-lg);
    min-width: 170px;
    padding: 6px 0;
    display: none;
    z-index: 200;
}

/* When sidebar is expanded, open below */
.pshh-sidebar:not(.collapsed) .pshh-create-menu {
    top: 44px;
    right: 8px;
    margin-right: 0;
}

.pshh-create-menu.open { display: block; }

.pshh-create-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 16px;
    border: none;
    background: none;
    font-size: 14px;
    font-family: inherit;
    color: var(--pshh-text-primary);
    cursor: pointer;
    text-align: right;
    direction: rtl;
    transition: background .15s;
    white-space: nowrap;
}

.pshh-create-item:hover { background: var(--pshh-bg-secondary); }

/* ── Nav items — icon + text inline ─────────────────────────── */
.pshh-nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    flex: 1;
    gap: 1px;
    padding: 0 8px;
    overflow: visible;
}

.pshh-nav-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 8px 10px;
    border: none;
    background: none;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    color: var(--pshh-text-secondary);
    text-decoration: none;
    transition: background .15s, color .15s;
    white-space: nowrap;
    direction: rtl;
    overflow: visible;
    position: relative;
}

.pshh-nav-item:hover {
    background: var(--pshh-bg-secondary);
    color: var(--pshh-text-primary);
    text-decoration: none;
}

.pshh-nav-item.active {
    background: var(--pshh-primary-light);
    color: var(--pshh-primary);
}

.pshh-nav-item.active .pshh-nav-icon svg {
    stroke: var(--pshh-primary);
}

/* ── Icon ───────────────────────────────────────────────────── */
.pshh-nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    position: relative;
}

.pshh-nav-icon svg {
    width: 18px;
    height: 18px;
}

/* ── Label ──────────────────────────────────────────────────── */
.pshh-nav-label {
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity .2s, width .2s;
}

/* ── Collapsed state — hide labels ──────────────────────────── */
.pshh-sidebar.collapsed .pshh-nav-label,
.pshh-sidebar.collapsed .pshh-sidebar-username {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

.pshh-sidebar.collapsed .pshh-nav-item {
    justify-content: center;
    padding: 8px;
    gap: 0;
}

.pshh-sidebar.collapsed .pshh-sidebar-create {
    padding: 0 8px;
}

.pshh-sidebar.collapsed .pshh-sidebar-user {
    flex-direction: column;
    align-items: center;
    padding: 6px 4px;
    gap: 0;
}

/* ── Badge ──────────────────────────────────────────────────── */
.pshh-nav-badge {
    position: absolute;
    top: -5px;
    left: -6px;
    min-width: 16px;
    height: 16px;
    background: var(--pshh-danger);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    border-radius: 8px;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    flex-shrink: 0;
    border: 1.5px solid #fff;
}

/* ── Sidebar footer (user + logout) ─────────────────────────── */
.pshh-sidebar-footer {
    width: 100%;
    border-top: 1px solid var(--pshh-bg-secondary);
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pshh-sidebar-user {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 6px 10px;
    overflow: hidden;
}

.pshh-sidebar-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--pshh-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pshh-sidebar-username {
    font-size: 12px;
    color: var(--pshh-text-primary);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
    white-space: nowrap;
}

.pshh-logout-item { color: var(--pshh-text-secondary); }
.pshh-logout-item:hover { color: var(--pshh-danger); background: var(--pshh-danger-light); }

/* ── Main content area ──────────────────────────────────────── */
.pshh-main {
    flex: 1;
    margin-right: 220px;
    padding: 6px;
    min-height: 100vh;
    transition: margin-right .25s cubic-bezier(.4,0,.2,1);
}

.pshh-sidebar.collapsed ~ .pshh-main {
    margin-right: 56px;
}

/* ── Tablet: auto-collapse sidebar ───────────────────────────── */
/* ── Tablet/Mobile: collapsed by default, overlay on toggle ── */
@media (max-width: 1024px) {
    .pshh-sidebar {
        width: 56px;
    }

    .pshh-sidebar .pshh-nav-label,
    .pshh-sidebar .pshh-sidebar-username,
    .pshh-sidebar .pshh-create-label {
        opacity: 0;
        width: 0;
        overflow: hidden;
    }

    .pshh-sidebar .pshh-nav-item {
        justify-content: center;
        padding: 8px;
        gap: 0;
    }

    .pshh-sidebar .pshh-sidebar-create {
        padding: 0 8px;
    }

    .pshh-sidebar .pshh-create-btn {
        justify-content: center;
        padding: 8px;
        gap: 0;
    }

    .pshh-sidebar .pshh-sidebar-user {
        flex-direction: column;
        align-items: center;
        padding: 6px 4px;
        gap: 0;
    }

    .pshh-main {
        margin-right: 56px !important;
    }

    /* Mobile-open overlay state */
    .pshh-sidebar.mobile-open {
        width: 240px;
        box-shadow: -4px 0 24px rgba(0,0,0,.15);
        z-index: 1000;
    }

    .pshh-sidebar.mobile-open .pshh-nav-label,
    .pshh-sidebar.mobile-open .pshh-sidebar-username,
    .pshh-sidebar.mobile-open .pshh-create-label {
        opacity: 1;
        width: auto;
        overflow: visible;
    }

    .pshh-sidebar.mobile-open .pshh-nav-item {
        justify-content: flex-start;
        padding: 8px 10px;
        gap: 12px;
    }

    .pshh-sidebar.mobile-open .pshh-create-btn {
        justify-content: flex-start;
        padding: 8px 10px;
        gap: 10px;
    }

    .pshh-sidebar.mobile-open .pshh-sidebar-user {
        flex-direction: row;
        align-items: center;
        padding: 6px 10px;
        gap: 10px;
    }

    .pshh-sidebar.mobile-open .pshh-sidebar-footer {
        display: flex;
    }

    /* No tooltips when overlay is open */
    .pshh-sidebar.mobile-open .pshh-nav-item[data-tooltip]:hover::after,
    .pshh-sidebar.mobile-open .pshh-nav-item[data-tooltip]:hover::before {
        display: none;
    }
}

/* ── Backdrop for overlay ────────────────────────────────────── */
.pshh-sidebar-backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,.3);
    z-index: 999;
}

/* ── Mobile footer visibility ────────────────────────────────── */
@media (max-width: 768px) {
    .pshh-main {
        margin-right: 56px !important;
        padding: 6px;
    }

    .pshh-sidebar-footer { display: none; }
    .pshh-sidebar.mobile-open .pshh-sidebar-footer { display: flex; }
}

/* ── Small mobile ────────────────────────────────────────────── */
@media (max-width: 480px) {
    .pshh-sidebar {
        width: 48px;
    }

    .pshh-sidebar .pshh-nav-item {
        padding: 7px;
    }

    .pshh-sidebar .pshh-nav-icon svg {
        width: 16px;
        height: 16px;
    }

    .pshh-sidebar .pshh-create-btn {
        padding: 7px;
    }

    .pshh-sidebar .pshh-create-btn svg {
        width: 16px;
        height: 16px;
    }

    .pshh-main {
        margin-right: 48px !important;
        padding: 4px;
    }
}


/* ═══════════════════════════════════════════════════════════════
   TOOLBAR — View dropdown + Calendar/Tasks toggle
   ═══════════════════════════════════════════════════════════════ */

.pshh-cal-toolbar-end {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-right: auto;
}

/* ── Cal ↔ Tasks toggle ─────────────────────────────────────── */
.pshh-view-toggle {
    display: flex;
    border: 1px solid var(--pshh-border);
    border-radius: 8px;
    overflow: hidden;
}

.pshh-vt-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 34px;
    border: none;
    background: #fff;
    cursor: pointer;
    color: var(--pshh-text-secondary);
    transition: background .15s, color .15s;
}

.pshh-vt-btn + .pshh-vt-btn { border-right: 1px solid var(--pshh-border); }

.pshh-vt-btn:hover { background: var(--pshh-bg-secondary); }

.pshh-vt-btn.active {
    background: var(--pshh-primary-light);
    color: var(--pshh-primary);
}
.pshh-vt-btn.active svg { stroke: var(--pshh-primary); }

/* ── View dropdown (Day / Week / Month) ─────────────────────── */
.pshh-view-dropdown {
    position: relative;
}

.pshh-view-dd-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 14px;
    height: 34px;
    border: 1px solid var(--pshh-border);
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
    font-weight: 500;
    color: var(--pshh-text-primary);
    cursor: pointer;
    font-family: inherit;
    transition: background .15s;
    white-space: nowrap;
}

.pshh-view-dd-btn:hover { background: var(--pshh-bg-secondary); }

.pshh-view-dd-menu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 160px;
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 10px;
    box-shadow: var(--shadow-lg);
    padding: 6px 0;
    list-style: none;
    margin: 0;
    z-index: 300;
}

.pshh-view-dd-menu.open { display: block; }

.pshh-view-dd-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 18px;
    font-size: 14px;
    color: var(--pshh-text-primary);
    cursor: pointer;
    transition: background .12s;
    direction: rtl;
}

.pshh-view-dd-item:hover { background: var(--pshh-bg-secondary); }

.pshh-view-dd-item.pshh-view-dd-active {
    color: var(--pshh-primary);
    font-weight: 600;
}

.pshh-view-dd-key {
    font-size: 12px;
    color: var(--pshh-text-muted);
    background: var(--pshh-bg-secondary);
    border-radius: 4px;
    padding: 1px 6px;
    font-weight: 400;
}

/* ═══════════════════════════════════════════════════════════════
   TASKS
   ═══════════════════════════════════════════════════════════════ */

#pshh-tasks-panel {
    padding: 16px 0;
}

.pshh-tasks-wrap {
    max-width: 680px;
    margin: 0 auto;
    padding: 8px 0;
}

.pshh-tasks-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.pshh-tasks-header h2 {
    font-size: 20px;
    font-weight: 600;
    color: var(--pshh-text-primary);
    margin: 0;
}





/* ── Task list ──────────────────────────────────────────────── */
.pshh-task-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pshh-task-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #fff;
    border: 1px solid var(--pshh-border-light);
    border-radius: 10px;
    padding: 12px 14px;
    transition: box-shadow .15s;
}

.pshh-task-item:hover { box-shadow: var(--shadow-md); }

.pshh-task-item.done { opacity: .6; }
.pshh-task-item.done .pshh-task-title { text-decoration: line-through; color: var(--pshh-text-muted); }

.pshh-task-check {
    border: none;
    background: none;
    cursor: pointer;
    padding: 2px;
    flex-shrink: 0;
    margin-top: 2px;
    display: flex;
}

.pshh-task-body { flex: 1; min-width: 0; }

.pshh-task-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--pshh-text-primary);
    margin-bottom: 4px;
}

.pshh-task-desc {
    font-size: 13px;
    color: var(--pshh-text-secondary);
    margin-bottom: 6px;
    white-space: pre-wrap;
}

.pshh-task-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pshh-task-due {
    font-size: 12px;
    color: var(--pshh-text-muted);
}

.pshh-task-actions {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

.pshh-task-edit,
.pshh-task-del {
    border: none;
    background: none;
    font-size: 12px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    font-family: inherit;
    transition: background .12s;
}

.pshh-task-edit { color: var(--pshh-primary); }
.pshh-task-edit:hover { background: var(--pshh-primary-light); }
.pshh-task-del { color: var(--pshh-danger); }
.pshh-task-del:hover { background: var(--pshh-danger-light); }

/* ── Empty state ────────────────────────────────────────────── */
.pshh-tasks-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 16px;
    color: var(--pshh-text-muted);
    gap: 12px;
    text-align: center;
}

.pshh-tasks-empty p {
    font-size: 15px;
    margin: 0;
}

/* ── Task form inside modal ─────────────────────────────────── */
.pshh-field-row {
    display: flex;
    gap: 12px;
}

.pshh-field-row .pshh-field { flex: 1; }

.pshh-task-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--pshh-bg-secondary);
}

/* ═══════════════════════════════════════════════════════════════
   GCAL — Google Calendar exact replica (week + day)
   ═══════════════════════════════════════════════════════════════ */

/* Sticky header row above time grid */
.pshh-gcal-header-row {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 10;
    background: #fff;
    border-bottom: 1px solid var(--pshh-border);
}

.pshh-gcal-tz-cell {
    width: 56px;
    flex-shrink: 0;
    font-size: 10px;
    color: var(--pshh-text-muted);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 8px;
    border-right: 1px solid var(--pshh-border);
}

.pshh-gcal-day-header {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 4px;
    border-right: 1px solid var(--pshh-border);
    min-width: 0;
    gap: 2px;
}
.pshh-gcal-day-header:last-child { border-right: none; }

.pshh-gcal-dh-name {
    font-size: 11px;
    font-weight: 500;
    color: var(--pshh-text-muted);
    text-transform: uppercase;
    letter-spacing: .5px;
}

.pshh-gcal-dh-num {
    font-size: 26px;
    font-weight: 400;
    color: var(--pshh-text-primary);
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    line-height: 1;
}

.pshh-gcal-today-circle {
    background: var(--pshh-primary);
    color: #fff !important;
}

.pshh-gcal-dh-hol {
    font-size: 10px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90%;
}

.pshh-gcal-today-col .pshh-gcal-dh-name { color: var(--pshh-primary); }

/* Scrollable area */
.pshh-gcal-scroll-area {
    overflow-y: auto;
    max-height: calc(100vh - 140px);
    min-height: 400px;
}

/* Body wrap = time col + day cols side by side */
.pshh-gcal-body-wrap {
    display: flex;
    position: relative;
}

/* Time label column */
.pshh-gcal-time-col {
    width: 56px;
    flex-shrink: 0;
    border-right: 1px solid var(--pshh-border);
}

.pshh-gcal-time-top {
    height: 8px; /* aligns label with border */
}

.pshh-gcal-time-slot {
    height: 48px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding-right: 8px;
    padding-top: 0;
    position: relative;
    top: -6px;
}

.pshh-gcal-time-slot span {
    font-size: 10px;
    color: var(--pshh-text-muted);
    white-space: nowrap;
}

/* Day column */
.pshh-gcal-day-col {
    flex: 1;
    position: relative;
    border-right: 1px solid var(--pshh-border);
    min-width: 60px;
    cursor: pointer;
}
.pshh-gcal-day-col:last-child { border-right: none; }

.pshh-gcal-sat-bg { background: var(--pshh-shabbat-bg); }

/* Hour row — horizontal grid line */
.pshh-gcal-hr {
    height: 48px;
    border-top: 1px solid var(--pshh-border);
    box-sizing: border-box;
    transition: background .1s;
}
.pshh-gcal-hr:hover { background: rgba(26,115,232,.04); }
.pshh-gcal-hr:first-child { border-top: none; }

/* Event block */
.pshh-gcal-event {
    position: absolute;
    right: 1px;
    left: 1px;
    border-radius: 4px;
    padding: 2px 4px;
    overflow: hidden;
    cursor: pointer;
    z-index: 2;
    transition: opacity .1s, filter .1s;
    box-shadow: 0 1px 2px rgba(0,0,0,.2);
}
.pshh-gcal-event:hover { filter: brightness(.92); }

.pshh-gcal-ev-title {
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pshh-gcal-ev-time,
.pshh-gcal-ev-who {
    font-size: 11px;
    color: rgba(255,255,255,.9);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Shabbat header */
.pshh-gcal-sat .pshh-gcal-dh-name,
.pshh-gcal-sat .pshh-gcal-dh-num { color: var(--pshh-warning); }

/* ── Month view fix: today date num bigger ────────────────────── */
.pshh-cal-day.today .pshh-cal-day-num {
    background: var(--pshh-primary);
    color: #fff;
}

/* ── cal-body height for week/day ───────────────────────────── */
/* cal-body — defined above */

/* ── Mobile week ─────────────────────────────────────────────── */
@media (max-width: 640px) {
    .pshh-gcal-dh-num { font-size: 20px; width: 36px; height: 36px; }
    .pshh-gcal-scroll-area { max-height: calc(100vh - 280px); }
}
/* ═══════════════════════════════════════
   CUSTOMERS MODULE
═══════════════════════════════════════ */

/* Table rows */
.pshh-cust-row { cursor: pointer; transition: background .15s; }
.pshh-cust-row.active td { background: #EAF2FF !important; }
.pshh-cust-name { font-weight: 500; color: var(--pshh-text-primary); }
.pshh-cust-since { font-size: 12px; color: var(--pshh-text-tertiary); }

/* Avatar circle in list */
.pshh-cust-avatar {
    width: 32px; height: 32px; border-radius: 50%;
    background: var(--pshh-primary); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 600; flex-shrink: 0;
}

/* Slide-in panel */
.pshh-cust-panel {
    position: fixed;
    top: 0; left: 0;
    width: 380px;
    height: 100vh;
    background: #fff;
    box-shadow: 4px 0 24px rgba(0,0,0,.14);
    transform: translateX(-100%);
    transition: transform .25s cubic-bezier(.4,0,.2,1);
    z-index: 1100;
    overflow-y: auto;
    direction: rtl;
}
.pshh-cust-panel.open { transform: translateX(0); }

/* Panel head */
.pshh-cp-head {
    background: linear-gradient(135deg, var(--pshh-primary) 0%, #0D47A1 100%);
    padding: 28px 20px 20px;
    text-align: center;
    position: relative;
}
.pshh-cp-close {
    position: absolute;
    top: 12px; left: 12px;
    background: rgba(255,255,255,.2); border: none;
    color: #fff; width: 28px; height: 28px; border-radius: 50%;
    cursor: pointer; font-size: 14px; display: flex;
    align-items: center; justify-content: center;
    transition: background .15s;
}
.pshh-cp-close:hover { background: rgba(255,255,255,.35); }
.pshh-cp-avatar-lg {
    width: 64px; height: 64px; border-radius: 50%;
    background: rgba(255,255,255,.25); border: 2px solid rgba(255,255,255,.6);
    color: #fff; font-size: 24px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 10px;
}
.pshh-cp-name { color: #fff; font-size: 17px; font-weight: 600; }
.pshh-cp-email { color: rgba(255,255,255,.75); font-size: 12px; margin-top: 3px; direction: ltr; }

/* Stats bar */
.pshh-cp-stats {
    display: grid; grid-template-columns: repeat(4, 1fr);
    border-bottom: 1px solid var(--pshh-border);
}
.pshh-cp-stat {
    padding: 14px 6px; text-align: center;
    border-left: 1px solid var(--pshh-border);
}
.pshh-cp-stat:last-child { border-left: none; }
.pshh-cp-stat-v { font-size: 18px; font-weight: 700; color: var(--pshh-text-primary); }
.pshh-cp-stat-l { font-size: 11px; color: var(--pshh-text-tertiary); margin-top: 2px; }

/* Tabs */
.pshh-cp-tabs {
    display: flex;
    border-bottom: 2px solid var(--pshh-border);
    padding: 0 16px;
}
.pshh-cp-tab {
    background: none; border: none;
    padding: 10px 14px; font-size: 13px; font-weight: 500;
    color: var(--pshh-text-secondary); cursor: pointer; position: relative;
    transition: color .15s;
}
.pshh-cp-tab::after {
    content: ''; position: absolute; bottom: -2px; right: 0; left: 0;
    height: 2px; background: var(--pshh-primary);
    transform: scaleX(0); transition: transform .2s;
}
.pshh-cp-tab.active { color: var(--pshh-primary); }
.pshh-cp-tab.active::after { transform: scaleX(1); }

/* Tab body */
.pshh-cp-tab-body { padding: 16px; }

/* Detail fields */
.pshh-cp-field-row {
    display: flex; align-items: center;
    gap: 10px; margin-bottom: 10px;
}
.pshh-cp-field-row label {
    width: 80px; font-size: 12px; color: var(--pshh-text-secondary);
    font-weight: 500; flex-shrink: 0; text-align: right;
}
.pshh-cp-field-row .pshh-a-f-inp { flex: 1; height: 34px; font-size: 13px; }

/* Appointment rows in history */
.pshh-cp-apt-row {
    padding: 10px 0;
    border-bottom: 1px solid var(--pshh-bg-secondary);
}
.pshh-cp-apt-row:last-child { border-bottom: none; }

/* RTL fix for panel inside LTR page */
.pshh-cust-panel * { box-sizing: border-box; }

@media (max-width: 600px) {
    .pshh-cust-panel { width: 100%; left: 0; }
}

/* ═══════════════════════════════════════
   CUSTOMER AUTOCOMPLETE
═══════════════════════════════════════ */

.pshh-ac-wrap { position: relative; }

.pshh-ac-drop {
    display: none;
    position: fixed;
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 8px;
    box-shadow: var(--shadow-lg);
    z-index: 99999;
    max-height: 240px;
    overflow-y: auto;
    direction: rtl;
}

.pshh-ac-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    cursor: pointer;
    transition: background .12s;
}
.pshh-ac-item:hover,
.pshh-ac-item.focused { background: var(--pshh-bg-secondary); }

.pshh-ac-avatar {
    width: 30px; height: 30px; border-radius: 50%;
    background: var(--pshh-primary); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 600; flex-shrink: 0;
}

.pshh-ac-info { flex: 1; min-width: 0; }
.pshh-ac-iname { font-size: 13px; font-weight: 500; color: var(--pshh-text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pshh-ac-isub  { font-size: 11px; color: var(--pshh-text-tertiary); margin-top: 1px; direction: ltr; text-align: right; }
/* ── View Modal rows ── */
.pshh-view-rows { display: flex; flex-direction: column; }
.pshh-vr { display: flex; align-items: baseline; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--pshh-bg-secondary); }
.pshh-vr:last-child { border-bottom: none; }
.pshh-vr-lbl { font-size: 12px; font-weight: 600; color: var(--pshh-text-secondary); min-width: 48px; flex-shrink: 0; }
.pshh-vr-val { font-size: 14px; color: var(--pshh-text-primary); flex: 1; }

/* duplicate .pshh-view-rows removed */

/* ── Appointments table: filters, pagination, actions ── */
.pshh-apts-filters {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 0;
    flex-wrap: wrap;
}
.pshh-apts-search {
    flex: 1;
    min-width: 180px;
    height: 36px;
    padding: 0 12px;
    border: 1px solid var(--pshh-border);
    border-radius: 8px;
    font-size: 13px;
    font-family: inherit;
    outline: none;
    direction: rtl;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239AA0A6' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 10px center;
    padding-left: 32px;
    transition: border-color .15s;
}
.pshh-apts-search:focus { border-color: var(--pshh-primary); }
.pshh-apts-select, .pshh-apts-date {
    height: 36px;
    padding: 0 10px;
    border: 1px solid var(--pshh-border);
    border-radius: 8px;
    font-size: 13px;
    font-family: inherit;
    outline: none;
    direction: rtl;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s;
}
.pshh-apts-select:focus, .pshh-apts-date:focus { border-color: var(--pshh-primary); }
.pshh-apts-reset {
    height: 36px;
    padding: 0 14px;
    border: 1px solid var(--pshh-border);
    border-radius: 8px;
    font-size: 13px;
    font-family: inherit;
    background: #fff;
    color: var(--pshh-text-secondary);
    cursor: pointer;
    transition: background .12s, border-color .12s;
}
.pshh-apts-reset:hover { background: var(--pshh-bg-secondary); border-color: var(--pshh-text-disabled); }

/* row hover & cursor */
.pshh-apt-row { cursor: pointer; transition: background .1s; }
.pshh-apt-row:hover { background: var(--pshh-bg-hover); }
.pshh-apt-empty { text-align: center; color: var(--pshh-text-tertiary); padding: 24px; font-size: 13px; }

/* action icon buttons */
.pshh-apts-ico {
    width: 28px; height: 28px;
    border: none; background: none;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--pshh-text-secondary);
    transition: background .12s, color .12s;
    margin: 0 1px;
    vertical-align: middle;
}
.pshh-apts-ico:hover { background: var(--pshh-bg-secondary); }
.pshh-apts-ico.del-ico:hover { color: var(--pshh-danger); background: var(--pshh-danger-light); }
.pshh-apts-ico.edit-ico:hover { color: var(--pshh-primary); background: var(--pshh-primary-light); }

/* pagination */
.pshh-apts-pg {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 0 4px;
}
.pshh-pg-btn {
    width: 32px; height: 32px;
    border: 1px solid var(--pshh-border);
    border-radius: 6px;
    background: #fff;
    font-size: 18px;
    cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--pshh-text-primary);
    transition: background .12s;
}
.pshh-pg-btn:hover:not([disabled]) { background: var(--pshh-bg-secondary); }
.pshh-pg-btn[disabled] { opacity: .38; cursor: default; }
.pshh-pg-info { font-size: 13px; color: var(--pshh-text-secondary); }

/* small cancel button for client area */
.pshh-btn-sm { padding: 4px 10px !important; font-size: 12px !important; }

/* loading state inside table wrap */
.pshh-a-load { padding: 32px; text-align: center; color: var(--pshh-text-tertiary); font-size: 13px; }

/* ── Badge clickable ── */
.pshh-badge-click { cursor: pointer; transition: opacity .12s; user-select: none; }
.pshh-badge-click:hover { opacity: .75; }

/* ── Status inline picker ── */
.pshh-st-pick {
    position: absolute;
    z-index: 99999;
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 10px;
    box-shadow: var(--shadow-lg);
    padding: 6px;
    min-width: 110px;
    direction: rtl;
}
.pshh-st-pick-opt {
    padding: 7px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--st-color);
    cursor: pointer;
    transition: background .1s;
}
.pshh-st-pick-opt:hover { background: var(--pshh-bg-secondary); }
.pshh-st-pick-active { background: color-mix(in srgb, var(--st-color) 12%, transparent); }

/* ── Edit modal — delete icon button ── */
.em-del-ico {
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--pshh-border) !important;
    background: #fff !important;
    color: var(--pshh-text-secondary) !important;
    border-radius: 8px !important;
    transition: color .12s, border-color .12s, background .12s !important;
}
.em-del-ico:hover {
    color: var(--pshh-danger) !important;
    border-color: var(--pshh-danger) !important;
    background: var(--pshh-danger-light) !important;
}
/* ═══════════════════════════════════════════════════════════════
   BOOKING WIZARD — Complete Frontend Styles
   כל הסטיילים של ממשק קביעת התור של הלקוח
   ═══════════════════════════════════════════════════════════════ */

/* ── Wrapper ── */
.pshh-booking-wrap {
    max-width: 700px;
    margin: 0 auto;
    padding: 0 16px 48px;
    direction: rtl;
    font-family: var(--font-family);
    color: var(--pshh-text-primary);
    box-sizing: border-box;
}
.pshh-booking-wrap *, .pshh-booking-wrap *::before, .pshh-booking-wrap *::after {
    box-sizing: border-box;
}

/* ── Progress bar ── */
.pshh-wizard-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 0 28px;
    overflow-x: auto;
    gap: 0;
}
.pshh-step-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 50px;
    flex-shrink: 0;
}
.pshh-step-num {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--pshh-bg-secondary);
    color: var(--pshh-text-tertiary);
    font-size: 13px; font-weight: 600;
    display: flex; align-items: center; justify-content: center;
    border: 2px solid var(--pshh-border);
    transition: all .25s;
}
.pshh-step-label {
    font-size: 11px; color: var(--pshh-text-tertiary); font-weight: 500;
    white-space: nowrap; transition: color .25s;
}
.pshh-step-indicator.active .pshh-step-num {
    background: var(--pshh-primary); color: #fff; border-color: var(--pshh-primary);
    box-shadow: 0 0 0 4px rgba(26,115,232,.15);
}
.pshh-step-indicator.active .pshh-step-label { color: var(--pshh-primary); font-weight: 600; }
.pshh-step-indicator.completed .pshh-step-num { background: var(--pshh-success); color: #fff; border-color: var(--pshh-success); }
.pshh-step-indicator.completed .pshh-step-label { color: var(--pshh-success); }

.pshh-step-connector {
    flex: 1; height: 2px; background: var(--pshh-border);
    min-width: 12px; max-width: 40px;
    margin-bottom: 24px; flex-shrink: 0; transition: background .25s;
}
.pshh-step-connector.done { background: var(--pshh-success); }

/* ── Step content ── */
.pshh-step { animation: pshhFadeIn .2s ease; }
@keyframes pshhFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}
.pshh-step h3 {
    font-size: 17px; font-weight: 600; color: var(--pshh-text-primary);
    margin: 0 0 16px; padding-bottom: 12px;
    border-bottom: 1px solid var(--pshh-bg-secondary);
}

/* ── Service & Provider cards ── */
.pshh-services-grid,
.pshh-providers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 12px;
}
.pshh-card {
    background: #fff;
    border: 2px solid var(--pshh-border-light);
    border-radius: 14px;
    padding: 18px 14px;
    cursor: pointer;
    text-align: center;
    transition: border-color .2s, background .2s, box-shadow .2s, transform .15s;
    position: relative;
}
.pshh-card:hover {
    border-color: var(--pshh-primary); background: var(--pshh-primary-light);
    box-shadow: 0 2px 12px rgba(26,115,232,.12); transform: translateY(-1px);
}
.pshh-card.selected {
    border-color: var(--pshh-primary); background: var(--pshh-primary-light);
    box-shadow: 0 2px 12px rgba(26,115,232,.18);
}
/* checkmark בצד ימין */
.pshh-card.selected::after {
    content: '';
    position: absolute;
    top: 10px; right: 10px;
    width: 20px; height: 20px;
    background: var(--pshh-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat;
    border-radius: 50%;
}
.pshh-card-avatar {
    width: 52px; height: 52px; border-radius: 50%; object-fit: cover;
    margin: 0 auto 10px; display: block;
    background: var(--pshh-primary-light); border: 2px solid var(--pshh-border);
}
.pshh-card-title { font-size: 15px; font-weight: 600; color: var(--pshh-text-primary); margin-bottom: 5px; line-height: 1.3; }
.pshh-card-meta  { font-size: 12px; color: var(--pshh-text-secondary); margin-bottom: 3px; }
.pshh-card-price { font-size: 15px; font-weight: 700; color: var(--pshh-primary); margin-top: 8px; }

/* ── Wizard calendar (isolated - doesn't affect admin calendar) ── */
.pshh-booking-wrap .pshh-calendar { direction: rtl; }
.pshh-wiz-cal-header {
    display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px;
}
.pshh-wiz-cal-header h4 { font-size: 14px; font-weight: 600; color: var(--pshh-text-primary); margin: 0; }
.pshh-wiz-cal-nav {
    width: 28px; height: 28px;
    border: 1px solid var(--pshh-border); border-radius: 6px;
    background: #fff; cursor: pointer; font-size: 14px; color: var(--pshh-text-secondary);
    display: flex; align-items: center; justify-content: center;
    transition: background .15s; padding: 0; font-family: inherit;
}
.pshh-wiz-cal-nav:hover { background: var(--pshh-bg-secondary); }
.pshh-wiz-cal-grid {
    display: grid; grid-template-columns: repeat(7, 1fr); gap: 1px;
}
.pshh-wiz-cal-day-name {
    text-align: center; font-size: 10px; font-weight: 600;
    color: var(--pshh-text-tertiary); padding: 4px 1px 6px;
}
.pshh-wiz-cal-day {
    position: relative;
    min-height: 34px;
    display: flex; flex-direction: column;
    align-items: center; justify-content: flex-start;
    padding: 3px 2px 2px;
    border-radius: 0; border: none; background: none;
    cursor: pointer; font-size: 12px; font-weight: 500;
    color: var(--pshh-text-primary); font-family: inherit; transition: background .15s; gap: 0;
}
.pshh-wiz-cal-day:hover:not([disabled]) { background: var(--pshh-bg-secondary); }
.pshh-wiz-cal-day[disabled],
.pshh-wiz-cal-day.disabled { color: var(--pshh-border); cursor: not-allowed; pointer-events: none; }
.pshh-wiz-cal-day.pshh-wiz-shabbat:not(.selected) { background: var(--pshh-shabbat-bg); }

.pshh-wiz-day-num {
    font-size: 12px; font-weight: 500; line-height: 1;
    width: 22px; height: 22px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%; flex-shrink: 0;
}
.pshh-wiz-cal-day.today .pshh-wiz-day-num { background: var(--pshh-primary-light); color: var(--pshh-primary); font-weight: 700; }
.pshh-wiz-cal-day.selected .pshh-wiz-day-num { background: var(--pshh-primary); color: #fff; }

.pshh-wiz-hol-name {
    font-size: 8px; color: var(--pshh-danger); line-height: 1;
    text-align: center; max-width: 100%;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 1px;
}

/* ── Time slots ── */
.pshh-slots-grid { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 4px; }
.pshh-slot {
    padding: 9px 18px; border: 1.5px solid var(--pshh-border); border-radius: 10px;
    cursor: pointer; font-size: 14px; font-weight: 500;
    background: #fff; color: var(--pshh-text-primary); font-family: inherit; transition: all .15s;
}
.pshh-slot:hover    { border-color: var(--pshh-primary); background: var(--pshh-primary-light); color: var(--pshh-primary); }
.pshh-slot.selected { background: var(--pshh-primary); color: #fff; border-color: var(--pshh-primary); }
.pshh-slot.busy     { color: var(--pshh-border); cursor: not-allowed; background: var(--pshh-bg-hover); border-color: var(--pshh-bg-secondary); pointer-events: none; }

/* ── Details form ── */
.pshh-form { max-width: 480px; }
.pshh-field { margin-bottom: 16px; }
.pshh-field label { display: block; font-size: 13px; font-weight: 500; color: var(--pshh-text-primary); margin-bottom: 5px; }
.pshh-field input[type="text"],
.pshh-field input[type="email"],
.pshh-field input[type="tel"],
.pshh-field textarea {
    width: 100%; padding: 10px 14px;
    border: 1.5px solid var(--pshh-border); border-radius: 10px;
    font-size: 15px; color: var(--pshh-text-primary); font-family: inherit;
    background: #fff; direction: rtl;
    transition: border-color .2s, box-shadow .2s; outline: none;
}
.pshh-field input:focus, .pshh-field textarea:focus {
    border-color: var(--pshh-primary); box-shadow: 0 0 0 3px rgba(26,115,232,.12);
}
.pshh-field input.pshh-invalid, .pshh-field textarea.pshh-invalid {
    border-color: var(--pshh-danger); box-shadow: 0 0 0 3px rgba(217,48,37,.1);
}
.pshh-field-error {
    display: none; font-size: 12px; color: var(--pshh-danger);
    margin-top: 4px; align-items: center; gap: 4px;
}
.pshh-field-error.visible { display: flex; }

/* ── Summary ── */
.pshh-summary { background: var(--pshh-bg-hover); border: 1px solid var(--pshh-border-light); border-radius: 14px; overflow: hidden; }
.pshh-summary-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 18px; border-bottom: 1px solid var(--pshh-border-light); font-size: 14px;
}
.pshh-summary-row:last-child { border-bottom: none; }
.pshh-summary-label { color: var(--pshh-text-secondary); font-weight: 500; }
.pshh-summary-value { color: var(--pshh-text-primary); font-weight: 600; }
.pshh-summary-total { background: #fff; border-top: 2px solid var(--pshh-border-light) !important; }
.pshh-summary-total .pshh-summary-value { font-size: 17px; color: var(--pshh-primary); }

/* ── Navigation buttons ── */
.pshh-wizard-nav {
    display: flex; justify-content: space-between; align-items: center;
    margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--pshh-bg-secondary); gap: 12px;
}

/* ── Error banner ── */
.pshh-wiz-error {
    background: var(--pshh-danger-light); color: var(--pshh-danger); border: 1px solid #FADAD7;
    border-radius: 8px; padding: 10px 14px; font-size: 13px;
    margin-top: 10px; display: none; align-items: center; gap: 8px;
}
.pshh-wiz-error.visible { display: flex; }

/* ── Loading ── */
#pshh-loading { display: none; align-items: center; justify-content: center; gap: 10px; padding: 24px; color: var(--pshh-text-secondary); font-size: 14px; }
#pshh-loading[style*="display: flex"] { display: flex !important; }
#pshh-loading .pshh-spinner,
.pshh-booking-wrap .pshh-spinner {
    width: 22px; height: 22px;
    border: 3px solid var(--pshh-border-light); border-top-color: var(--pshh-primary);
    border-radius: 50%; animation: pshhSpin .7s linear infinite; flex-shrink: 0;
}
@keyframes pshhSpin { to { transform: rotate(360deg); } }

/* ── Empty state ── */
.pshh-empty {
    text-align: center; padding: 36px 20px; color: var(--pshh-text-tertiary); font-size: 14px;
    background: var(--pshh-bg-hover); border-radius: 12px; border: 1px dashed var(--pshh-border);
}

/* ── Payment screen ── */
.pshh-success { text-align: center; }
.pshh-pay-wrap { max-width: 440px; margin: 0 auto; padding: 12px 0; }
.pshh-pay-checkmark {
    width: 60px; height: 60px; background: var(--pshh-success); color: #fff;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    margin: 0 auto 16px; box-shadow: 0 4px 16px rgba(30,142,62,.25);
    font-size: 28px;
}
.pshh-pay-title  { font-size: 19px; font-weight: 700; color: var(--pshh-text-primary); margin-bottom: 7px; }
.pshh-pay-sub    { font-size: 14px; color: var(--pshh-text-secondary); margin-bottom: 5px; }
.pshh-pay-price-row { font-size: 14px; color: var(--pshh-text-primary); margin-bottom: 4px; }
.pshh-pay-q      { font-size: 15px; font-weight: 600; color: var(--pshh-text-primary); margin: 20px 0 12px; }
.pshh-pay-btns   { display: flex; flex-direction: column; gap: 10px; }
.pshh-pay-btn {
    display: flex; align-items: center; gap: 12px;
    padding: 14px 18px; border-radius: 14px; border: 2px solid var(--pshh-border);
    background: #fff; cursor: pointer; font-family: inherit;
    direction: rtl; transition: all .2s; width: 100%; text-align: right;
}
.pshh-pay-btn:hover     { border-color: var(--pshh-primary); background: var(--pshh-primary-light); }
.pshh-pay-online        { border-color: var(--pshh-primary); }
.pshh-pay-online:hover  { background: var(--pshh-primary-light); }
.pshh-pay-btn-ico {
    width: 38px; height: 38px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pshh-pay-online .pshh-pay-btn-ico  { background: var(--pshh-primary-light); color: var(--pshh-primary); }
.pshh-pay-clinic .pshh-pay-btn-ico  { background: var(--pshh-success-light); color: var(--pshh-success); }
.pshh-pay-btn-label { font-size: 15px; font-weight: 600; color: var(--pshh-text-primary); flex: 1; }
.pshh-pay-btn-price { font-size: 13px; color: var(--pshh-text-secondary); white-space: nowrap; }
.pshh-pay-note      { font-size: 14px; color: var(--pshh-text-secondary); margin-top: 10px; }
.pshh-pay-discount-badge {
    display: inline-block; background: var(--pshh-success-light); color: var(--pshh-success);
    font-size: 11px; font-weight: 600; padding: 2px 7px; border-radius: 8px; margin-right: 6px;
}

/* ── Google Calendar button ── */
.pshh-gcal-btn {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 18px; padding: 10px 20px;
    border: 1.5px solid var(--pshh-border); border-radius: 10px;
    background: #fff; color: var(--pshh-primary);
    font-size: 14px; font-weight: 500; font-family: inherit;
    text-decoration: none; cursor: pointer; transition: all .2s;
}
.pshh-gcal-btn:hover { background: var(--pshh-primary-light); border-color: var(--pshh-primary); color: var(--pshh-primary-hover); text-decoration: none; }

/* ── Responsive ── */
@media (max-width: 600px) {
    .pshh-booking-wrap { padding: 0 10px 32px; }
    .pshh-wizard-progress { padding: 14px 0 20px; }
    .pshh-step-label { font-size: 9px; }
    .pshh-step-connector { min-width: 6px; max-width: 16px; }
    .pshh-step-num { width: 28px; height: 28px; font-size: 11px; }
    .pshh-services-grid, .pshh-providers-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .pshh-card { padding: 12px 8px; }
    .pshh-wizard-nav { flex-direction: column-reverse; }
    .pshh-wizard-nav .pshh-btn { width: 100%; justify-content: center; }
}
/* ═══════════════════════════════════════════════════════════════
   PROVIDERS PAGE — split layout + panel + request cards
   ═══════════════════════════════════════════════════════════════ */

/* Split wrapper */
.pshh-prv-wrap {
    display: flex;
    gap: 0;
    align-items: flex-start;
}

.pshh-prv-list-col {
    flex: 1;
    min-width: 0;
    transition: flex .2s ease;
}

/* Provider table clickable rows */
.pshh-prv-tbl .pshh-prv-row { cursor: pointer; transition: background .12s; }
.pshh-prv-tbl .pshh-prv-row:hover { background: var(--pshh-bg-hover); }
.pshh-prv-tbl .pshh-prv-row-active { background: var(--pshh-primary-light) !important; }

/* Provider Panel — slides in from left */
.pshh-prv-panel {
    width: 0;
    overflow: hidden;
    transition: width .22s ease;
    flex-shrink: 0;
}
.pshh-prv-panel.open {
    width: 360px;
    overflow: visible;
}
.pshh-prv-panel-inner {
    width: 360px;
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 12px;
    margin-right: 16px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(0,0,0,.1);
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 100px);
    position: sticky;
    top: 16px;
}

.pshh-prv-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid var(--pshh-bg-secondary);
    background: var(--pshh-bg-hover);
    flex-shrink: 0;
}

.pshh-prv-panel-head button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: var(--pshh-text-secondary);
    border-radius: 6px;
    display: flex;
    align-items: center;
}
.pshh-prv-panel-head button:hover { background: #EBEBEB; color: var(--pshh-text-primary); }

/* Panel tabs */
.pshh-prv-panel-tabs {
    display: flex;
    border-bottom: 1px solid var(--pshh-border);
    background: #fff;
    flex-shrink: 0;
    padding: 0 8px;
}
.pshh-prv-panel-tabs .pshh-cp-tab {
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--pshh-text-secondary);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    font-family: inherit;
    white-space: nowrap;
    transition: color .15s, border-color .15s;
}
.pshh-prv-panel-tabs .pshh-cp-tab:hover { color: var(--pshh-primary); }
.pshh-prv-panel-tabs .pshh-cp-tab.active { color: var(--pshh-primary); border-bottom-color: var(--pshh-primary); font-weight: 600; }

/* Panel body — scrollable */
#pshh-prv-panel-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px 18px;
}

/* Detail rows */
.pshh-prv-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid var(--pshh-bg-secondary);
    font-size: 13px;
    gap: 12px;
}
.pshh-prv-detail-row > span:first-child { color: var(--pshh-text-secondary); font-weight: 500; flex-shrink: 0; }

/* Service tags */
.pshh-svc-tag {
    display: inline-block;
    background: var(--pshh-primary-light);
    color: var(--pshh-primary);
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 12px;
}

/* Request cards */
.pshh-prv-req-card {
    background: var(--pshh-bg-hover);
    border: 1px solid var(--pshh-border);
    border-radius: 10px;
    padding: 13px 15px;
    margin-bottom: 10px;
    transition: box-shadow .15s;
}
.pshh-prv-req-card:hover { box-shadow: var(--shadow-md); }

/* Divider between pending and history */
.pshh-prv-req-divider {
    height: 1px;
    background: var(--pshh-border);
    margin: 16px 0;
}

/* Section headers in panel */
.pshh-prv-section-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--pshh-text-secondary);
    margin-bottom: 10px;
}
.pshh-prv-section-title.red { color: var(--pshh-danger); }

@media (max-width: 900px) {
    .pshh-prv-wrap { flex-direction: column; }
    .pshh-prv-panel.open { width: 100%; }
    .pshh-prv-panel-inner { width: 100%; margin-right: 0; margin-top: 16px; position: static; max-height: none; }
}

/* ═══════════════════════════════════════════════════════════════
   PROVIDER MODAL DIALOG (פופ-אפ מרכזי)
   ═══════════════════════════════════════════════════════════════ */
.pshh-prv-modal-dialog {
    background: #fff;
    border-radius: 16px;
    width: 90vw;
    max-width: 760px;
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: var(--shadow-xl);
    animation: pshh-modal-in .18s ease;
}

.pshh-prv-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px 24px 24px;
}

/* טבלת היסטוריה בתוך המודל */
.pshh-prv-modal-body .pshh-a-tbl {
    width: 100%;
}

@media (max-width: 600px) {
    .pshh-prv-modal-dialog {
        width: 100vw;
        max-width: 100vw;
        max-height: 95vh;
        border-radius: 16px 16px 0 0;
        margin-top: auto;
    }
}

/* ═══════════════════════════════════════════════════════════════
   CUSTOMER MODAL — wider dialog + inline inputs
   ═══════════════════════════════════════════════════════════════ */
.pshh-cust-modal-dialog {
    max-width: 640px;
}

/* Inline inputs בתוך detail rows */
.pshh-inline-inp {
    flex: 1;
    min-width: 0;
    max-width: 260px;
    font-size: 13px !important;
    padding: 5px 10px !important;
    height: 32px !important;
    text-align: right;
}

.pshh-inline-inp[type="date"] {
    direction: ltr;
    text-align: left;
}

select.pshh-inline-inp {
    height: 32px !important;
    padding: 4px 8px !important;
}

/* ═══════════════════════════════════════════════════════════════
   TOGGLE SWITCH — שימוש כללי בפלאגין
   ═══════════════════════════════════════════════════════════════ */
.pshh-a-toggle {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
    flex-shrink: 0;
}
.pshh-a-toggle input[type="checkbox"] {
    display: none;
}
.pshh-a-toggle-knob {
    display: inline-block;
    width: 38px;
    height: 22px;
    background: var(--pshh-text-disabled);
    border-radius: 11px;
    position: relative;
    transition: background .2s;
    flex-shrink: 0;
}
.pshh-a-toggle-knob::after {
    content: '';
    position: absolute;
    top: 3px;
    right: 3px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,.25);
    transition: right .2s;
}
.pshh-a-toggle input:checked + .pshh-a-toggle-knob {
    background: var(--pshh-primary);
}
.pshh-a-toggle input:checked + .pshh-a-toggle-knob::after {
    right: calc(100% - 19px);
}
.pshh-a-toggle input:disabled + .pshh-a-toggle-knob {
    opacity: .4;
    cursor: not-allowed;
}

/* שורת שדה בטבלת הגדרות */
.pshh-cf-row td {
    vertical-align: middle;
    padding: 10px 12px;
    border-bottom: 1px solid var(--pshh-border);
}



/* ═══════════════════════════════════════════════════════════════
   SETTINGS PAGE — Google Ads style: sidenav + content
   ═══════════════════════════════════════════════════════════════ */

/* Layout: sidenav בימין, content בשמאל */
.pshh-set-layout {
    display: flex;
    gap: 0;
    min-height: 400px;
    direction: rtl;
}

/* Sidenav — עמודה ימין */
.pshh-set-sidenav {
    width: 220px;
    flex-shrink: 0;
    border-left: 1px solid var(--pshh-border, #DADCE0);
    padding: 8px 0;
}
.pshh-set-sidenav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 11px 20px;
    background: none;
    border: none;
    border-radius: 0;
    cursor: pointer;
    font-size: 14px;
    font-family: inherit;
    color: var(--pshh-text-secondary);
    text-align: right;
    transition: background .12s, color .12s;
    position: relative;
}
.pshh-set-sidenav-item svg { flex-shrink: 0; }
.pshh-set-sidenav-item:hover {
    background: var(--pshh-bg-secondary);
    color: var(--pshh-text-primary);
}
.pshh-set-sidenav-item.active {
    color: var(--pshh-primary);
    font-weight: 600;
    background: var(--pshh-primary-light);
}
/* קו כחול בצד ימין של item פעיל */
.pshh-set-sidenav-item.active::before {
    content: '';
    position: absolute;
    right: 0;
    top: 4px;
    bottom: 4px;
    width: 3px;
    background: var(--pshh-primary);
    border-radius: 2px 0 0 2px;
}

/* Content area — עמודה שמאל */
.pshh-set-content {
    flex: 1;
    padding: 0 28px 24px;
    min-width: 0;
    animation: pshh-fadein .15s ease;
}

/* Menu (ראשי — כשלא בחרו עדיין) */
.pshh-set-menu {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 560px;
}
.pshh-set-menu-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    background: none;
    border: none;
    border-bottom: 1px solid var(--pshh-border, #DADCE0);
    cursor: pointer;
    font-family: inherit;
    text-align: right;
    width: 100%;
    transition: background .12s;
    border-radius: 0;
}
.pshh-set-menu-item:first-child { border-top: 1px solid var(--pshh-border, #DADCE0); }
.pshh-set-menu-item:hover { background: var(--pshh-bg-hover); }
.pshh-set-menu-icon { color: var(--pshh-text-secondary); flex-shrink: 0; }
.pshh-set-menu-text { flex: 1; }
.pshh-set-menu-label { display: block; font-size: 15px; font-weight: 500; color: var(--pshh-text-primary); }
.pshh-set-menu-desc  { display: block; font-size: 12px; color: var(--pshh-text-secondary); margin-top: 2px; }
.pshh-set-menu-arrow { color: var(--pshh-text-secondary); flex-shrink: 0; transform: rotate(180deg); } /* RTL: arrow points left */

@keyframes pshh-fadein { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }

/* ═══════════════════════════════════════════════════════════════
   CUSTOMER FIELDS — כרטיסיות שדות פרופיל לקוח
   ═══════════════════════════════════════════════════════════════ */
.pshh-cf-list {
    display: flex;
    flex-direction: column;
    max-width: 560px;
}

/* כרטיסייה — שורה שלמה: toggle | תוכן */
.pshh-cf-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    border-bottom: 1px solid var(--pshh-border-light);
    padding: 16px 8px;
    transition: background .15s;
}
.pshh-cf-card:first-child { border-top: 1px solid var(--pshh-border-light); }
.pshh-cf-card.is-enabled { background: #F8FBFF; }

/* Toggle בצד שמאל — קבוע */
.pshh-cf-main-toggle {
    flex-shrink: 0;
    margin-top: 1px;
    cursor: pointer;
}

/* Toggle — עיצוב */
/* toggle defined above at line ~3030 */

/* תוכן בצד ימין — גדל למלא שטח */
.pshh-cf-card-header {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
}
.pshh-cf-card-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--pshh-text-primary);
    flex: 1;
}

/* גוף הכרטיסייה — נפתח מתחת לכותרת */
.pshh-cf-card-content {
    flex: 1;
    min-width: 0;
}
.pshh-cf-card-body {
    margin-top: 10px;
    animation: pshh-fadein .15s ease;
}
.pshh-cf-sublabel {
    font-size: 11px;
    color: var(--pshh-text-secondary);
    margin: 0 0 5px;
    font-weight: 500;
    letter-spacing: .2px;
}

/* שורת input + checkbox חובה */
.pshh-cf-inp-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
.pshh-cf-inp-row .pshh-a-f-inp {
    flex: 1;
    max-width: 260px;
    height: 34px;
    font-size: 13px;
}
.pshh-cf-req-chk {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: var(--pshh-text-primary);
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}
.pshh-cf-req-chk input[type="checkbox"] {
    width: 16px; height: 16px;
    accent-color: var(--pshh-primary);
    cursor: pointer;
}

/* ── Logo upload ─────────────────────────────────────────────── */
.pshh-logo-row { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
.pshh-logo-upload-area { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pshh-logo-preview-img {
    height: 48px;
    max-width: 140px;
    object-fit: contain;
    border: 1px solid var(--pshh-border-light);
    border-radius: 6px;
    padding: 4px;
    background: #fff;
}
.pshh-logo-no-logo {
    height: 48px;
    width: 100px;
    border: 1px dashed var(--pshh-text-disabled);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: var(--pshh-text-tertiary);
}
.pshh-logo-file-btn { position: relative; overflow: hidden; }
.pshh-logo-url-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-top: 4px;
}
.pshh-logo-or { font-size: 11px; color: var(--pshh-text-secondary); white-space: nowrap; }
.pshh-logo-url-wrap .pshh-a-f-inp { flex: 1; max-width: 340px; font-size: 12px; height: 32px; }
/* ═══════════════════════════════════════════════════════
   OVERVIEW DASHBOARD — admin & provider
   100% רוחב, שפת עיצוב של המערכת
   ═══════════════════════════════════════════════════════ */
.pshh-ov-wrap {
    padding: 20px 24px 32px;
    width: 100%;
    box-sizing: border-box;
}

/* ── header ── */
.pshh-ov-header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 20px;
}
.pshh-ov-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--pshh-text-primary);
    margin: 0;
}
.pshh-ov-date {
    font-size: 13px;
    color: var(--pshh-text-secondary);
}

/* ── stat cards — full width, 4 equal columns ── */
.pshh-ov-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 20px;
}
@media (max-width: 900px) {
    .pshh-ov-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .pshh-ov-cards { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}
.pshh-ov-card {
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 12px;
    padding: 18px 16px;
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    transition: box-shadow .15s;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.pshh-ov-card:hover { box-shadow: var(--shadow-md); }
.pshh-ov-card.blue  { border-right: 4px solid var(--pshh-primary); }
.pshh-ov-card.orange{ border-right: 4px solid var(--pshh-warning); }
.pshh-ov-card.green { border-right: 4px solid var(--pshh-success); }
.pshh-ov-card.red   { border-right: 4px solid var(--pshh-danger); }
.pshh-ov-card.purple{ border-right: 4px solid var(--pshh-purple); }
.pshh-ov-card-val {
    font-size: 28px;
    font-weight: 700;
    color: var(--pshh-text-primary);
    line-height: 1;
}
.pshh-ov-card-lbl {
    font-size: 12px;
    color: var(--pshh-text-secondary);
    margin-top: 4px;
}

/* ── next appointment banner — provider ── */
.pshh-ov-next-banner {
    background: var(--pshh-primary-light);
    border: 1px solid var(--pshh-primary-border);
    border-radius: 10px;
    padding: 12px 18px;
    font-size: 14px;
    color: var(--pshh-primary);
    margin-bottom: 20px;
    line-height: 1.5;
}
.pshh-ov-next-banner strong { font-weight: 700; }
.pshh-ov-next-service {
    display: block;
    font-size: 12px;
    color: var(--pshh-text-secondary);
    margin-top: 2px;
}

/* ── two-column layout — full width ── */
.pshh-ov-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 14px;
}
@media (max-width: 768px) {
    .pshh-ov-cols { grid-template-columns: 1fr; }
    .pshh-ov-wrap { padding: 12px 12px 80px; }
}

/* ── individual column card ── */
.pshh-ov-col {
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
}
.pshh-ov-sec-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--pshh-bg-secondary);
    font-size: 13px;
    font-weight: 600;
    color: var(--pshh-text-primary);
    background: var(--pshh-bg-hover);
    flex-shrink: 0;
}
.pshh-ov-link {
    background: none;
    border: none;
    color: var(--pshh-primary);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    padding: 3px 8px;
    border-radius: 4px;
}
.pshh-ov-link:hover { background: var(--pshh-primary-light); }
.pshh-ov-list {
    flex: 1;
    overflow-y: auto;
    max-height: 320px;
}

/* ── appointment rows ── */
.pshh-ov-row {
    display: grid;
    grid-template-columns: 46px 1fr auto;
    align-items: start;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--pshh-bg-secondary);
    font-size: 13px;
}
.pshh-ov-row:last-child { border-bottom: none; }
.pshh-ov-row:hover { background: var(--pshh-bg-hover); }
.pshh-ov-time {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: var(--pshh-text-primary);
    font-size: 13px;
    direction: ltr;
    padding-top: 1px;
}
.pshh-ov-row-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pshh-ov-name {
    font-weight: 600;
    color: var(--pshh-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pshh-ov-svc {
    font-size: 12px;
    color: var(--pshh-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pshh-ov-prov {
    font-size: 12px;
    color: var(--pshh-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pshh-ov-new-tag {
    font-size: 10px;
    font-weight: 700;
    color: var(--pshh-success);
    background: var(--pshh-success-light);
    border-radius: 4px;
    padding: 1px 5px;
    margin-right: 4px;
    vertical-align: middle;
}
.pshh-ov-badge {
    font-size: 11px;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 12px;
    white-space: nowrap;
    align-self: start;
}
.pshh-ov-empty {
    padding: 28px 16px;
    font-size: 13px;
    color: var(--pshh-text-tertiary);
    text-align: center;
}
.pshh-ov-more {
    padding: 9px 16px;
    font-size: 12px;
    color: var(--pshh-primary);
    cursor: pointer;
    font-weight: 500;
    border-top: 1px solid var(--pshh-bg-secondary);
    background: var(--pshh-bg-hover);
    text-align: center;
}
.pshh-ov-more:hover { text-decoration: underline; }

/* ── footer stats bar ── */
.pshh-ov-footer-stats {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 12px;
    padding: 14px 20px;
    box-shadow: var(--shadow-sm);
    flex-wrap: wrap;
    gap: 0;
}
.pshh-ov-fs-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    min-width: 80px;
    gap: 2px;
    padding: 4px 0;
}
.pshh-ov-fs-val {
    font-size: 20px;
    font-weight: 700;
    color: var(--pshh-text-primary);
}
.pshh-ov-fs-lbl {
    font-size: 11px;
    color: var(--pshh-text-secondary);
    font-weight: 500;
}
.pshh-ov-fs-sep {
    width: 1px;
    height: 36px;
    background: var(--pshh-border);
    margin: 0 4px;
    flex-shrink: 0;
}


/* ═══════════════════════════════════════════════════════
   ANALYTICS — דוחות אדמין
   ═══════════════════════════════════════════════════════ */

.pshh-an-wrap { padding: 20px 24px 40px; width: 100%; box-sizing: border-box; }

/* ── Toolbar ── */
.pshh-an-toolbar {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: 12px; margin-bottom: 24px;
}
.pshh-an-title { font-size: 20px; font-weight: 600; color: var(--pshh-text-primary); margin: 0 0 0 auto; }
.pshh-an-range-btns { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.pshh-an-custom-wrap { display: flex; align-items: center; gap: 6px; margin-right: 6px; }
.pshh-an-date-inp {
    border: 1px solid var(--pshh-border); border-radius: 6px; padding: 5px 10px;
    font-size: 13px; color: var(--pshh-text-primary); font-family: inherit; outline: none;
}
.pshh-an-date-inp:focus { border-color: var(--pshh-primary); }

/* ── KPI tabs — לחיצתיים, מחליפים את הגרף ── */
.pshh-an-kpis {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border: 1px solid var(--pshh-border);
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    background: #fff;
}
@media (max-width: 1100px) { .pshh-an-kpis { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 700px)  { .pshh-an-kpis { grid-template-columns: repeat(2,1fr); } }

.pshh-an-kpi {
    padding: 18px 20px 16px;
    border-left: 1px solid var(--pshh-border);
    cursor: pointer;
    transition: background .12s;
    position: relative;
}
.pshh-an-kpi:last-child { border-left: none; }
.pshh-an-kpi:not([data-metric]) { cursor: default; }
.pshh-an-kpi[data-metric]:hover { background: var(--pshh-bg-hover); }

/* active KPI — colored top border, matching WooCommerce style */
.pshh-an-kpi-active::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
}
.pshh-an-kpi-active.green::after  { background: var(--pshh-success); }
.pshh-an-kpi-active.blue::after   { background: var(--pshh-primary); }
.pshh-an-kpi-active.red::after    { background: var(--pshh-danger); }
.pshh-an-kpi-active.purple::after { background: var(--pshh-purple); }
.pshh-an-kpi-active.orange::after { background: var(--pshh-warning); }

.pshh-an-kpi-val {
    font-size: 22px; font-weight: 700; color: var(--pshh-text-primary);
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    margin-bottom: 4px;
}
.pshh-an-kpi-lbl { font-size: 12px; color: var(--pshh-text-secondary); }

.pshh-an-badge {
    font-size: 12px; font-weight: 600;
    padding: 2px 6px; border-radius: 10px;
}
.pshh-an-badge-up   { background: var(--pshh-success-light); color: var(--pshh-success); }
.pshh-an-badge-down { background: var(--pshh-danger-light); color: var(--pshh-danger); }

/* ── Main chart box — מחובר לKPIs ── */
.pshh-an-chart-main-box {
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-top: none;
    border-radius: 0 0 12px 12px;
    padding: 16px 20px 20px;
    margin-bottom: 20px;
}
.pshh-an-chart-period {
    font-size: 12px; color: var(--pshh-text-tertiary);
    margin-bottom: 12px; text-align: left;
}

/* ── Leaderboards ── */
.pshh-an-boards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 900px) { .pshh-an-boards { grid-template-columns: 1fr; } }

/* ── Provider analytics — standalone KPI cards ── */
.pshh-an-perf {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 20px;
}
.pshh-an-perf .pshh-an-kpi {
    background: var(--pshh-bg-white, #fff);
    border: 1px solid var(--pshh-border);
    border-radius: 12px;
    padding: 18px 16px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    cursor: default;
}
.pshh-an-perf .pshh-an-kpi.blue   { border-right: 4px solid var(--pshh-primary); }
.pshh-an-perf .pshh-an-kpi.green  { border-right: 4px solid var(--pshh-success); }
.pshh-an-perf .pshh-an-kpi.orange { border-right: 4px solid var(--pshh-warning); }
.pshh-an-perf .pshh-an-kpi.red    { border-right: 4px solid var(--pshh-danger); }
@media (max-width: 900px) {
    .pshh-an-perf { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .pshh-an-perf { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

.pshh-an-board {
    background: #fff; border: 1px solid var(--pshh-border);
    border-radius: 12px; overflow: hidden;
    box-shadow: var(--shadow-sm);
}
.pshh-an-board-hdr {
    padding: 13px 18px; font-size: 14px; font-weight: 600;
    color: var(--pshh-text-primary); background: var(--pshh-bg-hover);
    border-bottom: 1px solid var(--pshh-border);
}
/* duplicate .pshh-a-tbl removed — using unified definition */
.pshh-a-empty { text-align: center !important; color: var(--pshh-text-tertiary) !important; padding: 20px !important; }
/* ═══════════════════════════════════════════════════════
   NOTIFICATIONS — עורך תבניות מייל
═══════════════════════════════════════════════════════ */

/* sidenav group label */
.pshh-set-sidenav-group {
    padding: 14px 20px 4px;
    font-size: 11px;
    font-weight: 700;
    color: var(--pshh-text-tertiary);
    text-transform: uppercase;
    letter-spacing: .6px;
}
.pshh-set-sidenav-group:first-child { padding-top: 8px; }

/* nav item כבוי */
.pshh-notif-nav-item.pshh-notif-nav-off {
    opacity: .5;
}
.pshh-notif-nav-item.pshh-notif-nav-off::after {
    content: 'כבוי';
    font-size: 10px;
    font-weight: 500;
    color: var(--pshh-danger);
    background: var(--pshh-danger-light);
    padding: 1px 5px;
    border-radius: 4px;
    margin-right: auto;
    margin-left: 4px;
}
.pshh-notif-nav-item.pshh-notif-nav-warn {
    opacity: .55;
    cursor: help;
}
.pshh-notif-nav-item.pshh-notif-nav-warn::after {
    content: '!';
    margin-right: auto;
    margin-left: 4px;
    font-size: 12px;
}
/* Birthday disabled banner inside editor */
.pshh-notif-dob-warn {
    background: var(--pshh-warning-light);
    border: 1px solid var(--pshh-warning-border);
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 16px;
    font-size: 13px;
    color: var(--pshh-warning);
    direction: rtl;
    display: flex;
    align-items: center;
    gap: 8px;
}
.pshh-notif-dob-warn a {
    color: var(--pshh-primary);
    font-weight: 600;
    text-decoration: underline;
}

/* editor wrap */
.pshh-notif-editor {
    padding: 4px 0 24px;
    animation: pshh-fadein .15s ease;
}

/* header — שם + toggle */
.pshh-notif-editor-hdr {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--pshh-bg-secondary);
}
.pshh-notif-editor-title {
    margin: 0 0 4px;
    font-size: 17px;
    font-weight: 600;
    color: var(--pshh-text-primary);
}
.pshh-notif-editor-sub {
    margin: 0;
    font-size: 13px;
    color: var(--pshh-text-secondary);
}

/* toggle + label */
.pshh-notif-toggle-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    cursor: pointer;
}
.pshh-notif-toggle-lbl {
    font-size: 13px;
    font-weight: 500;
    color: var(--pshh-text-secondary);
    min-width: 30px;
    text-align: center;
}

/* field block */
.pshh-notif-field {
    margin-bottom: 20px;
}
.pshh-notif-field-lbl {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--pshh-text-primary);
    margin-bottom: 6px;
}
.pshh-notif-field-lbl-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
    flex-wrap: wrap;
}

/* placeholder chips */
.pshh-notif-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.pshh-notif-chip {
    display: inline-block;
    padding: 2px 9px;
    background: var(--pshh-primary-light);
    color: var(--pshh-primary);
    border: 1px solid var(--pshh-primary-border);
    border-radius: 12px;
    font-size: 11px;
    font-family: 'Courier New', monospace;
    cursor: pointer;
    transition: background .12s, color .12s;
    direction: ltr;
    user-select: none;
}
.pshh-notif-chip:hover {
    background: var(--pshh-primary);
    color: #fff;
    border-color: var(--pshh-primary);
}

/* textarea */
.pshh-notif-textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid var(--pshh-border);
    border-radius: 8px;
    font-size: 13px;
    font-family: 'Courier New', monospace;
    line-height: 1.6;
    color: var(--pshh-text-primary);
    resize: vertical;
    outline: none;
    direction: ltr;
    transition: border-color .15s;
}
.pshh-notif-textarea:focus { border-color: var(--pshh-primary); }

/* hint */
.pshh-notif-hint {
    margin: 5px 0 0;
    font-size: 11px;
    color: var(--pshh-text-tertiary);
}

/* actions row */
.pshh-notif-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

/* responsive */
@media (max-width: 768px) {
    .pshh-notif-editor-hdr { flex-direction: column; gap: 12px; }
    .pshh-notif-field-lbl-row { flex-direction: column; align-items: flex-start; }
    .pshh-notif-textarea { font-size: 12px; }
}

/* ═══════════════════════════════════════════════════════
   WYSIWYG EDITOR — עורך ויזואלי למיילים
═══════════════════════════════════════════════════════ */
.pshh-wysiwyg-wrap {
    border: 1px solid var(--pshh-border);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: border-color .15s;
}
.pshh-wysiwyg-wrap:focus-within {
    border-color: var(--pshh-primary);
}

/* toolbar */
.pshh-wysiwyg-toolbar {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 6px 8px;
    background: var(--pshh-bg-hover);
    border-bottom: 1px solid var(--pshh-border);
    flex-wrap: wrap;
}
.pshh-wysiwyg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 28px;
    padding: 0 6px;
    border: 1px solid transparent;
    border-radius: 5px;
    background: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    color: var(--pshh-text-primary);
    transition: background .1s, border-color .1s, color .1s;
    flex-shrink: 0;
}
.pshh-wysiwyg-btn:hover {
    background: var(--pshh-border-light);
    border-color: var(--pshh-border);
    color: var(--pshh-text-primary);
}
.pshh-wysiwyg-btn.active {
    background: var(--pshh-primary-light);
    border-color: var(--pshh-primary-border);
    color: var(--pshh-primary);
}
.pshh-wysiwyg-sep {
    display: inline-block;
    width: 1px;
    height: 18px;
    background: var(--pshh-border);
    margin: 0 4px;
    flex-shrink: 0;
}

/* editable body */
.pshh-wysiwyg-body {
    min-height: 220px;
    max-height: 460px;
    overflow-y: auto;
    padding: 14px 16px;
    font-size: 14px;
    line-height: 1.7;
    color: var(--pshh-text-primary);
    outline: none;
    direction: rtl;
    word-break: break-word;
}
.pshh-wysiwyg-body:empty::before {
    content: 'תוכן המייל...';
    color: var(--pshh-text-tertiary);
    pointer-events: none;
}
/* typography inside editor */
.pshh-wysiwyg-body h2 { font-size: 18px; font-weight: 700; margin: 8px 0 4px; }
.pshh-wysiwyg-body h3 { font-size: 15px; font-weight: 600; margin: 8px 0 4px; }
.pshh-wysiwyg-body p  { margin: 4px 0; }
.pshh-wysiwyg-body ul { padding-right: 20px; margin: 4px 0; }
.pshh-wysiwyg-body li { margin: 2px 0; }
.pshh-wysiwyg-body hr { border: none; border-top: 1px solid var(--pshh-border); margin: 10px 0; }
.pshh-wysiwyg-body a  { color: var(--pshh-primary); }

@media (max-width: 768px) {
    .pshh-wysiwyg-toolbar { gap: 1px; padding: 5px 6px; }
    .pshh-wysiwyg-btn { min-width: 26px; height: 26px; }
    .pshh-wysiwyg-body { min-height: 160px; font-size: 13px; }
}

/* ── chip tooltip ── */
.pshh-notif-chip {
    position: relative;
}
.pshh-chip-tip {
    display: none;
    position: absolute;
    bottom: calc(100% + 6px);
    right: 50%;
    transform: translateX(50%);
    background: var(--pshh-text-primary);
    color: #fff;
    font-size: 11px;
    font-family: inherit;
    font-weight: 400;
    white-space: nowrap;
    padding: 4px 9px;
    border-radius: 5px;
    pointer-events: none;
    z-index: 99;
    direction: rtl;
}
.pshh-chip-tip::after {
    content: '';
    position: absolute;
    top: 100%;
    right: 50%;
    transform: translateX(50%);
    border: 5px solid transparent;
    border-top-color: var(--pshh-text-primary);
}
.pshh-notif-chip:hover .pshh-chip-tip {
    display: block;
}

/* ── test email modal ── */
.pshh-test-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: pshh-fadein .15s ease;
}
.pshh-test-modal {
    background: #fff;
    border-radius: 12px;
    box-shadow: var(--shadow-xl);
    width: 100%;
    max-width: 400px;
    margin: 16px;
    direction: rtl;
    animation: pshh-modal-in .18s ease;
}
@keyframes pshh-modal-in {
    from { transform: translateY(-12px) scale(.97); opacity:0; }
    to   { transform: translateY(0)     scale(1);   opacity:1; }
}
.pshh-test-modal .pshh-modal-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px 14px;
    border-bottom: 1px solid var(--pshh-bg-secondary);
}
.pshh-test-modal .pshh-modal-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--pshh-text-primary);
}
.pshh-test-modal .pshh-modal-close {
    background: none;
    border: none;
    font-size: 16px;
    color: var(--pshh-text-secondary);
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1;
}
.pshh-test-modal .pshh-modal-close:hover { background: var(--pshh-bg-secondary); color: var(--pshh-text-primary); }
.pshh-test-modal-body {
    padding: 20px 20px 8px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.pshh-test-modal-desc {
    margin: 0;
    font-size: 13px;
    color: var(--pshh-text-secondary);
    line-height: 1.5;
    background: var(--pshh-bg-hover);
    border-radius: 8px;
    padding: 10px 12px;
}
.pshh-test-modal-foot {
    display: flex;
    gap: 8px;
    justify-content: flex-start;
    padding: 16px 20px 20px;
    flex-direction: row-reverse;
}
.pshh-test-modal-err {
    margin: 6px 0 0;
    font-size: 12px;
    color: var(--pshh-danger);
    background: var(--pshh-danger-light);
    border-radius: 6px;
    padding: 8px 10px;
}

/* ═══════════════════════════════════
   CLIENT AREA — Google-style layout
   ═══════════════════════════════════ */

/* Stats row */
.pshh-cl-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}
.pshh-cl-stat {
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 12px;
    padding: 18px 20px;
    text-align: center;
}
.pshh-cl-stat-num {
    font-size: 32px;
    font-weight: 700;
    color: var(--pshh-primary);
    line-height: 1;
    margin-bottom: 6px;
}
.pshh-cl-stat-warn .pshh-cl-stat-num  { color: var(--pshh-warning); }
.pshh-cl-stat-lbl {
    font-size: 12px;
    color: var(--pshh-text-secondary);
}

/* Next appointment card */
.pshh-cl-next-apt {
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 8px;
}
.pshh-cl-next-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 32px 20px;
    color: var(--pshh-text-secondary);
    font-size: 14px;
}
.pshh-cl-next-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--pshh-text-secondary);
    margin-bottom: 12px;
}
.pshh-cl-next-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}
.pshh-cl-next-date-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 44px;
    padding-top: 2px;
}
.pshh-cl-next-day   { font-size: 11px; color: var(--pshh-text-secondary); }
.pshh-cl-next-num   { font-size: 28px; font-weight: 800; color: var(--pshh-primary); line-height: 1; }
.pshh-cl-next-month { font-size: 11px; color: var(--pshh-text-secondary); }
.pshh-cl-next-info  { flex: 1; min-width: 0; }
.pshh-cl-next-service {
    font-size: 16px;
    font-weight: 600;
    color: var(--pshh-text-primary);
    margin-bottom: 5px;
}
.pshh-cl-next-meta {
    font-size: 13px;
    color: var(--pshh-text-secondary);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.pshh-cl-next-meta svg { vertical-align: middle; flex-shrink: 0; }
.pshh-cl-next-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

/* Appointment cards */
.pshh-cl-cards { display: flex; flex-direction: column; gap: 10px; }
.pshh-cl-card {
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 10px;
    padding: 14px 16px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    border-right: 4px solid var(--pshh-border);
    transition: box-shadow .15s;
}
.pshh-cl-card:hover { box-shadow: 0 2px 10px rgba(0,0,0,.07); }
.pshh-cl-card-confirmed { border-right-color: var(--pshh-success); }
.pshh-cl-card-pending   { border-right-color: var(--pshh-warning-border); }
.pshh-cl-card-cancelled { border-right-color: var(--pshh-danger); opacity: .65; }
.pshh-cl-card-completed { border-right-color: var(--pshh-text-tertiary); }

.pshh-cl-card-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 40px;
    gap: 1px;
}
.pshh-cl-card-day   { font-size: 10px; color: var(--pshh-text-secondary); }
.pshh-cl-card-num   { font-size: 24px; font-weight: 800; color: var(--pshh-primary); line-height: 1; }
.pshh-cl-card-month { font-size: 10px; color: var(--pshh-text-secondary); }

.pshh-cl-card-body  { flex: 1; min-width: 0; }
.pshh-cl-card-title { font-weight: 600; font-size: 14px; margin-bottom: 4px; color: var(--pshh-text-primary); }
.pshh-cl-card-meta  {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: var(--pshh-text-secondary);
    flex-wrap: wrap;
}
.pshh-cl-card-side  {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    flex-shrink: 0;
}
.pshh-cl-card-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* Small action buttons */
.pshh-cl-btn-sm {
    padding: 5px 10px !important;
    font-size: 12px !important;
    height: auto !important;
    min-height: 0 !important;
}
.pshh-cl-gcal-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Payments table */
.pshh-cl-pay-row td { vertical-align: middle; }

/* Profile */
.pshh-cl-profile-wrap { max-width: 560px; }
.pshh-cl-profile-form { display: flex; flex-direction: column; gap: 16px; }
.pshh-cl-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.pshh-cl-field { display: flex; flex-direction: column; gap: 6px; }
.pshh-cl-field label { font-size: 13px; font-weight: 500; color: var(--pshh-text-primary); }
.pshh-cl-field-note { font-size: 11px; color: var(--pshh-text-secondary); }

/* Messages */
.pshh-cl-msg-ok  { font-size:13px; color:var(--pshh-success-hover); background:var(--pshh-success-light); border-radius:6px; padding:8px 12px; }
.pshh-cl-msg-err { font-size:13px; color:var(--pshh-danger); background:var(--pshh-danger-light); border-radius:6px; padding:8px 12px; }

/* Book link in sidebar */
.pshh-cl-book-link .pshh-nav-icon svg { stroke: var(--pshh-primary); }
.pshh-cl-book-link .pshh-nav-label   { color: var(--pshh-primary); }
.pshh-cl-book-link:hover { background: var(--pshh-primary-light); }

/* Responsive */
@media (max-width: 600px) {
    .pshh-cl-stats { grid-template-columns: 1fr 1fr; }
    .pshh-cl-stats .pshh-cl-stat:last-child { grid-column: span 2; }
    .pshh-cl-next-card { flex-wrap: wrap; }
    .pshh-cl-card { flex-wrap: wrap; }
    .pshh-cl-field-row { grid-template-columns: 1fr; }
    .pshh-cl-card-side { width: 100%; flex-direction: row; align-items: center; justify-content: space-between; }
}

/* ═══════════════════════════════════
   QUICK FILTER BAR (תורים)
   ═══════════════════════════════════ */
.pshh-apts-quick-bar {
    display: flex; gap: 6px;
    margin-bottom: 12px;
}

/* ═══════════════════════════════════
   BADGE CLICK (סטטוס בטבלת תורים)
   ═══════════════════════════════════ */
.pshh-badge-click       { cursor: pointer; transition: opacity .12s; user-select: none; }
.pshh-badge-click:hover { opacity: .75; }
.pshh-st-pick {
    position: absolute; z-index: 9999;
    background: #fff; border: 1px solid var(--pshh-border);
    border-radius: 8px; box-shadow: var(--shadow-lg);
    padding: 6px 0; min-width: 130px;
}
.pshh-st-pick-item {
    display: block; width: 100%; padding: 8px 14px;
    text-align: right; border: none; background: none;
    font-size: 13px; cursor: pointer;
    transition: background .1s;
}
.pshh-st-pick-item:hover { background: var(--pshh-bg-secondary); }

/* ═══════════════════════════════════
   GOOGLE CALENDAR SETTINGS TAB
   ═══════════════════════════════════ */
.pshh-gcal-wrap  { max-width: 580px; }
.pshh-gcal-title { font-size: 18px; font-weight: 700; margin: 0 0 6px; }
.pshh-gcal-desc  { font-size: 13px; color: var(--pshh-text-secondary); margin: 0 0 20px; line-height: 1.6; }
.pshh-gcal-section     { background: #fff; border: 1px solid var(--pshh-border-light); border-radius: 10px; padding: 20px 22px; margin-bottom: 16px; }
.pshh-gcal-sec-title   { font-size: 14px; font-weight: 700; margin: 0 0 14px; color: var(--pshh-text-primary); }
.pshh-gcal-hint        { font-size: 12px; color: var(--pshh-text-secondary); margin: 0 0 16px; line-height: 1.6; }
.pshh-gcal-code        { background: var(--pshh-bg-secondary); border: 1px solid var(--pshh-border); border-radius: 4px; padding: 2px 8px; font-family: monospace; font-size: 12px; direction: ltr; display: inline-block; }
.pshh-gcal-status-row  { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.pshh-gcal-badge  { padding: 4px 12px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.pshh-gcal-badge.connected    { background: var(--pshh-success-light); color: #155724; }
.pshh-gcal-badge.disconnected { background: var(--pshh-danger-light); color: #721c24; }
.pshh-gcal-email       { font-size: 13px; color: var(--pshh-text-secondary); }
.pshh-gcal-actions     { display: flex; gap: 8px; flex-wrap: wrap; }

/* ═══════════════════════════════════
   TOAST NOTIFICATIONS
   ═══════════════════════════════════ */
.pshh-toast {
    position: fixed; bottom: 24px; left: 50%;
    transform: translateX(-50%);
    padding: 12px 24px; border-radius: 8px;
    font-size: 14px; font-weight: 500;
    z-index: 99999; box-shadow: 0 4px 16px rgba(0,0,0,.15);
    animation: pshh-toast-in .25s ease;
    white-space: nowrap;
}
.pshh-toast-success { background: #155724; color: #fff; }
.pshh-toast-error   { background: #721c24; color: #fff; }
@keyframes pshh-toast-in {
    from { opacity: 0; transform: translateX(-50%) translateY(10px); }
    to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
/* ═══════════════════════════════════
   NOTIFICATIONS — Mode Tabs (Email / SMS)
   ═══════════════════════════════════ */
.pshh-notif-mode-tabs {
    display: flex;
    gap: 4px;
    padding: 0 0 16px;
    border-bottom: 1px solid var(--pshh-border);
    margin-bottom: 20px;
}
.pshh-notif-mode-tab {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 18px;
    border-radius: 8px;
    border: 1px solid transparent;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    background: none;
    color: var(--pshh-text-secondary);
    transition: background .15s, color .15s, border-color .15s;
}
.pshh-notif-mode-tab:hover {
    background: var(--pshh-bg-secondary);
    color: var(--pshh-text-primary);
}
.pshh-notif-mode-tab.active {
    background: var(--pshh-primary-light);
    color: var(--pshh-primary);
    border-color: var(--pshh-primary-border);
}

/* ═══════════════════════════════════
   SMS — Main wrapper
   ═══════════════════════════════════ */
.pshh-sms-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 720px;
}
.pshh-sms-section {
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 12px;
    padding: 20px 24px;
}
.pshh-sms-section-hdr {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}
.pshh-sms-section-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--pshh-text-primary);
    margin-bottom: 3px;
}
.pshh-sms-section-sub {
    font-size: 12px;
    color: var(--pshh-text-secondary);
}
.pshh-sms-fields {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 16px;
}
.pshh-sms-conn-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    padding-top: 4px;
}

/* ── Per-slug blocks ── */
.pshh-sms-slugs {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 14px;
}
.pshh-sms-slug-block {
    border: 1px solid var(--pshh-border);
    border-radius: 10px;
    overflow: hidden;
    transition: opacity .2s;
}
.pshh-sms-slug-block.pshh-sms-slug-off .pshh-sms-slug-body {
    display: none;
}
.pshh-sms-slug-off {
    opacity: .65;
}
.pshh-sms-slug-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: var(--pshh-bg-hover);
    border-bottom: 1px solid var(--pshh-border);
}
.pshh-sms-slug-block.pshh-sms-slug-off .pshh-sms-slug-hdr {
    border-bottom: none;
}
.pshh-sms-slug-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--pshh-text-primary);
}
.pshh-sms-slug-body {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.pshh-sms-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 2px;
}
.pshh-sms-tpl {
    resize: vertical;
    min-height: 68px;
    font-size: 13px;
    line-height: 1.5;
}
.pshh-sms-tpl-meta {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: var(--pshh-text-secondary);
    margin-top: 2px;
}
.pshh-sms-char-count {
    font-weight: 500;
    color: var(--pshh-primary);
}

/* ═══════════════════════════════════
   BOOKING WIZARD MODAL (client area)
   ═══════════════════════════════════ */
#pshh-booking-modal-overlay {
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(0,0,0,.5);
}
.pshh-booking-modal-wrap {
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 680px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: var(--shadow-xl);
}
.pshh-booking-modal-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--pshh-border);
    flex-shrink: 0;
}
.pshh-booking-modal-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--pshh-text-primary);
}
.pshh-booking-modal-body {
    overflow-y: auto;
    flex: 1;
    padding: 0;
}
.pshh-booking-modal-body .pshh-booking-wrap {
    max-width: 100%;
    box-shadow: none;
    border-radius: 0;
    padding: 20px 24px 24px;
}

/* ═══════════════════════════════════
   PAYMENT ALERT BANNER
   ═══════════════════════════════════ */
.pshh-cl-pay-banner {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--pshh-warning-light);
    border: 1px solid var(--pshh-warning-border);
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 20px;
}
.pshh-cl-pay-banner-icon {
    color: var(--pshh-warning);
    flex-shrink: 0;
    padding-top: 1px;
}
.pshh-cl-pay-banner-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--pshh-text-primary);
    margin-bottom: 6px;
}
.pshh-cl-pay-banner-links {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.pshh-cl-pay-alert-link {
    font-size: 13px;
    color: var(--pshh-primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.pshh-cl-pay-alert-link:hover {
    text-decoration: underline;
}
.pshh-cl-pay-alert-link::before {
    content: '→';
    font-size: 12px;
}

@media (max-width: 600px) {
    .pshh-booking-modal-wrap { max-height: 95vh; border-radius: 12px; }
    .pshh-booking-modal-body .pshh-booking-wrap { padding: 16px; }
}

/* ═══════════════════════════════════════
   RESCHEDULE MODAL (client area)
   ═══════════════════════════════════════ */
.pshh-rs-modal {
    max-width: 440px;
}
.pshh-rs-modal .pshh-modal-hdr {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px; border-bottom: 1px solid var(--pshh-border); background: var(--pshh-bg-hover);
    border-radius: 14px 14px 0 0;
}
.pshh-rs-modal .pshh-modal-title {
    font-size: 16px; font-weight: 600; color: var(--pshh-text-primary); margin: 0;
}
.pshh-rs-modal-body {
    padding: 20px 22px;
}
.pshh-rs-modal-body .pshh-notif-field-lbl {
    display: block; font-size: 13px; font-weight: 600; color: var(--pshh-text-primary);
    margin-bottom: 8px;
}
.pshh-rs-modal-body .pshh-a-f-inp {
    width: 100%; padding: 10px 12px; border: 1px solid var(--pshh-border); border-radius: 8px;
    font-size: 14px; background: #fff; color: var(--pshh-text-primary); box-sizing: border-box;
}
.pshh-rs-modal-body .pshh-a-f-inp:focus {
    outline: none; border-color: var(--pshh-primary); box-shadow: var(--shadow-focus);
}
.pshh-rs-slot {
    padding: 9px 18px; border: 1.5px solid var(--pshh-border); border-radius: 10px;
    cursor: pointer; font-size: 14px; font-weight: 500;
    background: #fff; color: var(--pshh-text-primary); font-family: inherit; transition: all .15s;
}
.pshh-rs-slot:hover {
    border-color: var(--pshh-primary); background: var(--pshh-primary-light); color: var(--pshh-primary);
}
.pshh-rs-slot:disabled {
    opacity: .6; cursor: wait;
}

/* ═══════════════════════════════════════
   ORDER DETAILS MODAL (pshh-om-*)
   ═══════════════════════════════════════ */
.pshh-order-modal {
    max-width: 480px;
}

/* Status bar */
.pshh-om-status-bar {
    text-align: center;
    margin-bottom: 16px;
}
.pshh-om-status-bar .pshh-badge {
    font-size: 13px;
    padding: 6px 16px;
}

/* Section */
.pshh-om-section {
    margin-bottom: 16px;
}
.pshh-om-section-title {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--pshh-text-secondary);
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--pshh-border-light);
}

/* Rows (label + value) */
.pshh-om-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid var(--pshh-border-lighter, #F1F3F4);
    font-size: 14px;
}
.pshh-om-row:last-child { border-bottom: none; }
.pshh-om-lbl {
    font-size: 13px;
    color: var(--pshh-text-secondary);
    font-weight: 500;
    flex-shrink: 0;
}
.pshh-om-val {
    font-size: 14px;
    color: var(--pshh-text-primary);
    font-weight: 500;
    text-align: left;
}

/* Items table */
.pshh-om-items-tbl {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.pshh-om-items-tbl th {
    text-align: right;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 600;
    color: var(--pshh-text-secondary);
    background: var(--pshh-bg-hover);
    border-bottom: 1px solid var(--pshh-border-light);
}
.pshh-om-items-tbl td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--pshh-border-lighter, #F1F3F4);
    color: var(--pshh-text-primary);
}
.pshh-om-items-tbl tr:last-child td { border-bottom: none; }

/* Total row */
.pshh-om-total {
    border-top: 2px solid var(--pshh-border-light);
    padding-top: 12px;
    margin-top: 4px;
}
.pshh-om-total .pshh-om-lbl {
    font-size: 15px;
    font-weight: 600;
    color: var(--pshh-text-primary);
}
.pshh-om-total .pshh-om-val {
    font-size: 18px;
    font-weight: 700;
    color: var(--pshh-primary);
}

/* Payment section */
.pshh-om-payment { /* uses same .pshh-om-section */ }

/* ══════════════════════════════════════════════════════
   Newsletter — שליחה לקבוצות
   ══════════════════════════════════════════════════════ */

/* ── Wrap & Header ── */

.pshh-nl-wrap {
    padding: 0;
}

.pshh-nl-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 12px;
}

.pshh-nl-view-tabs {
    display: flex;
    gap: 4px;
    background: var(--pshh-bg-secondary);
    border-radius: 8px;
    padding: 3px;
}



/* ── Compose — 2-step layout ── */

.pshh-nl-compose {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* ── Steps ── */

.pshh-nl-step {
    background: #fff;
    border: 1px solid var(--pshh-border, #DADCE0);
    border-radius: 12px;
    padding: 22px;
}

.pshh-nl-step-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--pshh-text-primary);
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ── Mode tabs (קבוצות מוכנות / ידני / מתקדם) ── */

.pshh-nl-mode-tabs {
    display: flex;
    gap: 4px;
    background: var(--pshh-bg-secondary);
    border-radius: 8px;
    padding: 3px;
    margin-bottom: 16px;
    width: fit-content;
}

.pshh-nl-mtab {
    padding: 7px 16px;
    border: none;
    background: transparent;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--pshh-text-secondary);
    cursor: pointer;
    transition: all .15s;
}

.pshh-nl-mtab.active {
    background: #fff;
    color: var(--pshh-primary);
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
}

.pshh-nl-mtab:hover:not(.active) {
    color: var(--pshh-text-primary);
}

/* ── Segment cards grid ── */

.pshh-nl-seg-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.pshh-nl-seg-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 18px 14px;
    background: var(--pshh-bg-secondary);
    border: 2px solid transparent;
    border-radius: 12px;
    cursor: pointer;
    transition: all .15s;
    text-align: center;
}

.pshh-nl-seg-card:hover {
    background: #eef3fc;
    border-color: var(--pshh-primary);
}

.pshh-nl-seg-card.active {
    background: var(--pshh-primary-light);
    border-color: var(--pshh-primary);
    box-shadow: 0 2px 8px rgba(26,115,232,.15);
}

.pshh-nl-seg-icon {
    color: var(--pshh-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--pshh-primary-light);
    border-radius: 50%;
}

.pshh-nl-seg-card.active .pshh-nl-seg-icon {
    background: var(--pshh-primary);
    color: #fff;
}

.pshh-nl-seg-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--pshh-text-primary);
}

.pshh-nl-seg-cnt {
    font-size: 20px;
    font-weight: 700;
    color: var(--pshh-primary);
}

/* ── Provider segments (smaller cards) ── */

.pshh-nl-seg-prov-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--pshh-text-secondary);
    margin-bottom: 10px;
    margin-top: 8px;
}

.pshh-nl-seg-prov-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 10px;
}

.pshh-nl-seg-sm {
    padding: 12px 10px;
    gap: 6px;
}

.pshh-nl-seg-sm .pshh-nl-seg-icon {
    width: 32px;
    height: 32px;
}

.pshh-nl-seg-sm .pshh-nl-seg-cnt {
    font-size: 16px;
}

/* ── Manual mode — search dropdown ── */

.pshh-nl-manual-wrap {
    position: relative;
}

.pshh-nl-manual-dd {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    background: #fff;
    border: 1px solid var(--pshh-border, #DADCE0);
    border-radius: 8px;
    box-shadow: var(--shadow-lg);
    z-index: 100;
    max-height: 240px;
    overflow-y: auto;
    display: none;
}

.pshh-nl-dd-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 14px;
    cursor: pointer;
    transition: background .1s;
}

.pshh-nl-dd-item:hover {
    background: var(--pshh-bg-secondary);
}

.pshh-nl-dd-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--pshh-text-primary);
}

.pshh-nl-dd-sub {
    font-size: 11px;
    color: var(--pshh-text-secondary);
    direction: ltr;
    text-align: right;
}

.pshh-nl-dd-empty {
    padding: 14px;
    text-align: center;
    font-size: 13px;
    color: var(--pshh-text-secondary);
}

/* ── Chips (selected manual recipients) ── */

.pshh-nl-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.pshh-nl-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--pshh-primary-light);
    color: var(--pshh-primary);
    padding: 5px 10px 5px 6px;
    border-radius: 16px;
    font-size: 12px;
    font-weight: 500;
}

.pshh-nl-chip-x {
    border: none;
    background: none;
    color: var(--pshh-primary);
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    padding: 0 2px;
    opacity: .7;
    transition: opacity .15s;
}

.pshh-nl-chip-x:hover {
    opacity: 1;
}

/* ── Advanced filter grid ── */

.pshh-nl-adv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}

/* ── Preview bar ── */

.pshh-nl-preview-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--pshh-primary-light);
    border-radius: 8px;
    padding: 10px 16px;
    margin-top: 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--pshh-primary);
}

.pshh-nl-preview-toggle {
    border: none;
    background: none;
    color: var(--pshh-primary);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
}

/* ── Mode panel ── */

.pshh-nl-mode-panel {
    /* just a container, shown/hidden via JS */
}

/* ── Cards inside step 2 ── */

.pshh-nl-card {
    background: var(--pshh-bg-secondary);
    border: 1px solid var(--pshh-border, #DADCE0);
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 14px;
}

.pshh-nl-card:last-child {
    margin-bottom: 0;
}

.pshh-nl-card-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--pshh-text-primary);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.pshh-nl-field {
    margin-bottom: 12px;
}

.pshh-nl-field:last-child {
    margin-bottom: 0;
}

.pshh-nl-lbl {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: var(--pshh-text-secondary);
    margin-bottom: 4px;
}

.pshh-nl-row {
    display: flex;
    gap: 10px;
}

.pshh-nl-channels {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.pshh-nl-ch-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--pshh-text-primary);
    cursor: pointer;
}

.pshh-nl-ch-label input[type="radio"] {
    accent-color: var(--pshh-primary);
}

.pshh-nl-textarea {
    min-height: 180px;
    resize: vertical;
    font-family: inherit;
    line-height: 1.6;
}

.pshh-nl-char-count {
    text-align: left;
    font-size: 11px;
    color: var(--pshh-text-secondary);
    margin-top: 4px;
}

.pshh-nl-placeholder-hint {
    font-size: 11px;
    color: var(--pshh-text-secondary);
    margin-top: 6px;
}

.pshh-nl-placeholder-hint code {
    background: var(--pshh-bg-secondary);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 11px;
    direction: ltr;
    display: inline-block;
}

/* ── Send bar ── */

.pshh-nl-send-bar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
}

.pshh-nl-send-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 10px 28px;
    font-size: 14px;
    font-weight: 600;
}

.pshh-nl-send-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.pshh-nl-err {
    color: var(--pshh-danger);
    font-size: 13px;
    font-weight: 500;
}

/* ── Preview list ── */

.pshh-nl-count {
    background: var(--pshh-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    min-width: 20px;
    text-align: center;
}

.pshh-nl-preview-list {
    max-height: 280px;
    overflow-y: auto;
    margin-top: 8px;
    border: 1px solid var(--pshh-border, #DADCE0);
    border-radius: 8px;
    background: #fff;
    padding: 4px 0;
}

.pshh-nl-prev-row {
    display: flex;
    flex-direction: column;
    padding: 8px 14px;
    border-bottom: 1px solid var(--pshh-border, #DADCE0);
}

.pshh-nl-prev-row:last-child {
    border-bottom: none;
}

.pshh-nl-prev-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--pshh-text-primary);
}

.pshh-nl-prev-info {
    font-size: 11px;
    color: var(--pshh-text-secondary);
    direction: ltr;
    text-align: right;
}

.pshh-nl-prev-more {
    text-align: center;
    font-size: 12px;
    color: var(--pshh-primary);
    padding: 8px 0;
    font-weight: 500;
}

.pshh-nl-empty {
    text-align: center;
    padding: 24px 12px;
    font-size: 13px;
    color: var(--pshh-text-secondary);
}

/* ── History table ── */

.pshh-nl-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.pshh-nl-table th {
    text-align: right;
    padding: 10px 12px;
    font-weight: 600;
    font-size: 12px;
    color: var(--pshh-text-secondary);
    border-bottom: 2px solid var(--pshh-border, #DADCE0);
    white-space: nowrap;
}

.pshh-nl-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--pshh-border, #DADCE0);
    color: var(--pshh-text-primary);
}

.pshh-nl-table tr:last-child td {
    border-bottom: none;
}

.pshh-nl-table tr:hover td {
    background: var(--pshh-bg-secondary);
}

.pshh-nl-st {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .pshh-nl-compose {
        flex-direction: column;
    }
    .pshh-nl-seg-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .pshh-nl-seg-prov-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .pshh-nl-adv-grid {
        grid-template-columns: 1fr;
    }
    .pshh-nl-mode-tabs {
        width: 100%;
    }
    .pshh-nl-mtab {
        flex: 1;
        text-align: center;
        padding: 7px 8px;
        font-size: 12px;
    }
    .pshh-nl-row {
        flex-direction: column;
    }
    .pshh-nl-table {
        font-size: 12px;
    }
    .pshh-nl-table th, .pshh-nl-table td {
        padding: 8px 8px;
    }
}

@media (max-width: 480px) {
    .pshh-nl-seg-grid {
        grid-template-columns: 1fr 1fr;
    }
    .pshh-nl-seg-prov-grid {
        grid-template-columns: 1fr 1fr;
    }
    .pshh-nl-step {
        padding: 14px;
    }
}

/* ══════════════════════════════════════════════════════
   Client Requests — פניות לקוח
   ══════════════════════════════════════════════════════ */

.pshh-cl-section {
    padding: 0;
}

.pshh-cl-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
    flex-wrap: wrap;
    gap: 10px;
}

.pshh-cl-section-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--pshh-text-primary);
    margin: 0;
}

.pshh-cl-req-card {
    background: #fff;
    border: 1px solid var(--pshh-border, #DADCE0);
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 10px;
    transition: box-shadow .15s;
}

.pshh-cl-req-card:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

.pshh-cl-req-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}

.pshh-cl-req-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--pshh-text-primary);
}

.pshh-cl-req-desc {
    font-size: 13px;
    color: var(--pshh-text-secondary);
    line-height: 1.5;
    margin-bottom: 8px;
    white-space: pre-line;
}

.pshh-cl-req-reply {
    background: var(--pshh-success-light);
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 8px;
}

.pshh-cl-req-reply-label {
    font-size: 11px;
    font-weight: 600;
    color: var(--pshh-success);
    margin-bottom: 4px;
}

.pshh-cl-req-reply-text {
    font-size: 13px;
    color: var(--pshh-success-hover);
    line-height: 1.5;
    white-space: pre-line;
}

.pshh-cl-req-date {
    font-size: 11px;
    color: var(--pshh-text-secondary);
}

.pshh-cl-req-modal {
    max-width: 480px;
}

/* ══════════════════════════════════════════════════════
   Packages — חבילות טיפול
   ══════════════════════════════════════════════════════ */


.pshh-pkg-svcs { font-size:12px; color:var(--pshh-text-secondary); max-width:200px; }

.pshh-pkg-svc-list { display:flex; flex-wrap:wrap; gap:8px; padding:8px 0; }
.pshh-pkg-svc-check { display:flex; align-items:center; gap:5px; font-size:13px; color:var(--pshh-text-primary); cursor:pointer; background:var(--pshh-bg-secondary); padding:6px 12px; border-radius:6px; transition:background .15s; }
.pshh-pkg-svc-check:hover { background:var(--pshh-primary-light); }
.pshh-pkg-svc-check input[type="checkbox"] { accent-color:var(--pshh-primary); }

/* ── Client packages ── */
.pshh-cl-pkgs { margin-top:20px; }
.pshh-cl-pkgs-title { font-size:15px; font-weight:600; color:var(--pshh-text-primary); margin-bottom:10px; }
.pshh-cl-pkg-card { background:#fff; border:1px solid var(--pshh-border,#DADCE0); border-radius:10px; padding:14px 16px; margin-bottom:10px; }
.pshh-cl-pkg-name { font-size:14px; font-weight:600; color:var(--pshh-text-primary); margin-bottom:8px; }
.pshh-cl-pkg-progress { height:8px; background:var(--pshh-bg-secondary); border-radius:4px; overflow:hidden; margin-bottom:8px; }
.pshh-cl-pkg-bar { height:100%; background:var(--pshh-primary); border-radius:4px; transition:width .3s; }
.pshh-cl-pkg-info { display:flex; justify-content:space-between; font-size:12px; color:var(--pshh-text-secondary); }
.pshh-cl-pkg-exp { font-size:11px; }
/* ── Buy package button (client dashboard) ── */
.pshh-cl-buy-pkg-wrap { margin-top:16px; padding-top:12px; border-top:1px solid var(--pshh-border,#DADCE0); }
.pshh-cl-buy-pkg-btn { font-size:13px; }

/* ── Buy package modal (client) ── */
.pshh-buy-pkg-modal { max-width:560px; }
.pshh-buy-pkg-list { display:flex; flex-direction:column; gap:12px; padding:4px 0; }
.pshh-buy-pkg-card { border:1px solid var(--pshh-border,#DADCE0); border-radius:12px; padding:16px 18px; background:#fff; display:flex; flex-direction:column; gap:8px; transition:border-color .2s, box-shadow .2s; }
.pshh-buy-pkg-card:hover { border-color:var(--pshh-primary); box-shadow:0 2px 8px rgba(26,115,232,.12); }
.pshh-buy-pkg-top { display:flex; justify-content:space-between; align-items:center; }
.pshh-buy-pkg-name { font-size:15px; font-weight:600; color:var(--pshh-text-primary); }
.pshh-buy-pkg-price { font-size:16px; font-weight:700; color:var(--pshh-primary); }
.pshh-buy-pkg-meta { display:flex; gap:12px; font-size:12px; color:var(--pshh-text-secondary); }
.pshh-buy-pkg-svcs { font-size:12px; color:var(--pshh-text-secondary); }
.pshh-buy-pkg-desc { font-size:12px; color:var(--pshh-text-secondary); line-height:1.5; }
.pshh-buy-pkg-cta { align-self:flex-start; margin-top:4px; text-decoration:none; display:inline-block; }
.pshh-buy-pkg-no-woo { font-size:12px; color:#999; margin-top:4px; }

/* ── Admin: send link modal ── */
.pshh-pkg-send-info { background:var(--pshh-bg-secondary); border-radius:8px; padding:10px 14px; margin-bottom:14px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.pshh-pkg-send-pkg-name { font-size:14px; font-weight:600; color:var(--pshh-text-primary); }
.pshh-pkg-send-price { font-size:15px; font-weight:700; color:var(--pshh-primary); }
.pshh-pkg-send-channels { display:flex; gap:20px; margin-top:4px; }
.pshh-ch-radio { display:flex; align-items:center; gap:6px; font-size:14px; cursor:pointer; }
.pshh-ch-radio input { cursor:pointer; accent-color:var(--pshh-primary); }

/* ── Summary: package coverage ── */
.pshh-summary-price-strike { text-decoration:line-through; color:var(--pshh-text-secondary); font-weight:400; margin-left:6px; }
.pshh-summary-pkg-badge { display:inline-flex; align-items:center; background:var(--pshh-success-light); color:var(--pshh-success); font-size:11px; font-weight:600; padding:2px 8px; border-radius:20px; vertical-align:middle; }
.pshh-summary-pkg-info-row .pshh-summary-value { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pshh-summary-pkg-name { font-size:13px; color:var(--pshh-text-primary); font-weight:500; }
.pshh-summary-pkg-usage { font-size:12px; color:var(--pshh-text-secondary); background:var(--pshh-bg-secondary); padding:2px 8px; border-radius:20px; }

/* ── Package success screen (in wizard) ── */
.pshh-pkg-success-badge { display:inline-flex; align-items:center; gap:6px; background:var(--pshh-success-light); color:var(--pshh-success); font-size:13px; font-weight:600; padding:8px 16px; border-radius:8px; margin:10px auto 4px; }
.pshh-pkg-success-usage { display:flex; flex-direction:column; align-items:center; gap:6px; margin:8px auto; width:100%; max-width:260px; }
.pshh-pkg-usage-bar-wrap { width:100%; height:8px; background:var(--pshh-bg-secondary); border-radius:4px; overflow:hidden; }
.pshh-pkg-usage-bar { height:100%; background:var(--pshh-success); border-radius:4px; transition:width .4s; }
.pshh-pkg-success-usage span { font-size:12px; color:var(--pshh-text-secondary); }
.pshh-pkg-remaining { font-size:11px; font-weight:500; color:var(--pshh-primary); }
.pshh-pkg-remaining-done { color:var(--pshh-warning); }

/* ── Client area: package card upgrade ── */
.pshh-cl-pkg-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.pshh-cl-pkg-book-btn { flex-shrink:0; }
/* ═══════════════════════════════════════════
   #5 — Package utilization UI
   ═══════════════════════════════════════════ */

/* ── Admin: utilization sub-tab filters ── */
.pshh-util-filters { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:16px; }

/* ── Admin: utilization table progress bar ── */
.pshh-util-prog-wrap { display:flex; align-items:center; gap:8px; min-width:140px; }
.pshh-util-prog { flex:1; height:8px; background:var(--pshh-bg-secondary); border-radius:4px; overflow:hidden; }
.pshh-util-prog-bar { height:100%; background:var(--pshh-primary); border-radius:4px; transition:width .3s; }
.pshh-util-prog-bar.full { background:var(--pshh-success); }
.pshh-util-prog-txt { font-size:12px; color:var(--pshh-text-secondary); white-space:nowrap; font-variant-numeric:tabular-nums; }

/* ── Customer panel: packages tab cards ── */
.pshh-cp-pkg-list { display:flex; flex-direction:column; gap:10px; padding:4px 0; }
.pshh-cp-pkg-card { border:1px solid var(--pshh-border,#DADCE0); border-radius:10px; padding:14px 16px; background:#fff; transition:border-color .2s; }
.pshh-cp-pkg-card:hover { border-color:var(--pshh-primary); }
.pshh-cp-pkg-card.pshh-cp-pkg-completed { opacity:.7; }
.pshh-cp-pkg-card.pshh-cp-pkg-expired { opacity:.55; }
.pshh-cp-pkg-card.pshh-cp-pkg-cancelled { opacity:.45; }
.pshh-cp-pkg-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.pshh-cp-pkg-name { font-size:14px; font-weight:600; color:var(--pshh-text-primary); }
.pshh-cp-pkg-bar-wrap { margin-bottom:8px; }
.pshh-cp-pkg-bar-track { height:8px; background:var(--pshh-bg-secondary); border-radius:4px; overflow:hidden; margin-bottom:4px; }
.pshh-cp-pkg-bar-fill { height:100%; background:var(--pshh-primary); border-radius:4px; transition:width .3s; }
.pshh-cp-pkg-bar-fill.full { background:var(--pshh-success); }
.pshh-cp-pkg-bar-label { font-size:12px; color:var(--pshh-text-secondary); }
.pshh-cp-pkg-meta { display:flex; gap:16px; font-size:12px; color:var(--pshh-text-secondary); flex-wrap:wrap; }
.pshh-cp-pkg-meta strong { color:var(--pshh-text-primary); }

/* ═══════════════════════════════════════════════════════════
   FINANCIAL REPORTS — דוחות כספיים
   ═══════════════════════════════════════════════════════════ */

/* ── Sub-tabs ── */

/* ── Financial toolbar ── */
.pshh-fin-toolbar {
    display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:20px;
}
.pshh-fin-toolbar .pshh-an-title { margin:0; flex:1; }
.pshh-fin-month-nav { display:flex; align-items:center; gap:8px; }
.pshh-fin-nav-btn {
    width:32px; height:32px; border-radius:50%; border:1px solid var(--pshh-border);
    background:#fff; font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center;
    color:var(--pshh-text-secondary); transition:all .15s;
}
.pshh-fin-nav-btn:hover { background:var(--pshh-bg-secondary); color:var(--pshh-text-primary); }
.pshh-fin-month-lbl { font-size:15px; font-weight:600; color:var(--pshh-text-primary); min-width:120px; text-align:center; }
.pshh-fin-cat-btn { white-space:nowrap; }

/* ── KPI cards ── */
.pshh-fin-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:24px; }
.pshh-fin-kpi {
    background:#fff; border:1px solid var(--pshh-border-light); border-radius:12px;
    padding:20px 24px; text-align:center;
}
.pshh-fin-kpi-val { font-size:28px; font-weight:700; margin-bottom:4px; }
.pshh-fin-kpi-lbl { font-size:13px; color:var(--pshh-text-secondary); }
.pshh-fin-kpi.green .pshh-fin-kpi-val { color:var(--pshh-success); }
.pshh-fin-kpi.red   .pshh-fin-kpi-val { color:var(--pshh-danger); }

/* ── Category summary ── */
.pshh-fin-cat-summary { background:#fff; border:1px solid var(--pshh-border-light); border-radius:12px; padding:20px 24px; margin-bottom:24px; }
.pshh-fin-section-hdr { font-size:15px; font-weight:600; color:var(--pshh-text-primary); margin-bottom:14px; display:flex; align-items:center; justify-content:space-between; }
.pshh-fin-cat-bars { display:flex; flex-direction:column; gap:10px; }
.pshh-fin-cat-bar-row { display:flex; align-items:center; gap:10px; }
.pshh-fin-cat-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.pshh-fin-cat-name { font-size:13px; color:var(--pshh-text-primary); min-width:100px; }
.pshh-fin-cat-bar-track { flex:1; height:8px; background:var(--pshh-bg-secondary); border-radius:4px; overflow:hidden; }
.pshh-fin-cat-bar-fill { height:100%; border-radius:4px; transition:width .3s; }
.pshh-fin-cat-amt { font-size:13px; font-weight:600; color:var(--pshh-text-primary); min-width:70px; text-align:left; }

/* ── Expenses table ── */
.pshh-fin-expenses-section { background:#fff; border:1px solid var(--pshh-border-light); border-radius:12px; padding:20px 24px; }
.pshh-fin-tbl { width:100%; }
.pshh-fin-tbl th { font-size:12px; color:var(--pshh-text-secondary); font-weight:500; padding:8px 10px; border-bottom:1px solid var(--pshh-border-light); text-align:right; }
.pshh-fin-tbl td { padding:10px; font-size:13px; border-bottom:1px solid var(--pshh-bg-secondary); }
.pshh-fin-amt { font-weight:600; color:var(--pshh-text-primary); }
.pshh-fin-cat-chip {
    display:inline-block; padding:2px 10px; border-radius:10px; font-size:11px;
    color:#fff; font-weight:500;
}
.pshh-fin-recurring-badge { font-size:11px; color:var(--pshh-primary); }
.pshh-fin-actions { display:flex; gap:4px; }
.pshh-fin-act-btn {
    background:none; border:none; cursor:pointer; font-size:14px; padding:4px;
    border-radius:4px; transition:background .15s;
}
.pshh-fin-act-btn:hover { background:var(--pshh-bg-secondary); }

/* ── Financial modal ── */
.pshh-fin-modal { max-width:460px; }
.pshh-fin-modal .pshh-modal-body .pm-field { margin-bottom:14px; }
.pshh-fin-modal .pshh-modal-body .pshh-modal-lbl { margin-bottom:5px; }

/* ── Category manager ── */
.pshh-fin-cat-list { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; max-height:300px; overflow-y:auto; }
.pshh-fin-cat-row { display:flex; align-items:center; gap:10px; padding:8px 12px; border:1px solid var(--pshh-border-light); border-radius:8px; }
.pshh-fin-cat-row .pshh-fin-cat-name { flex:1; }
.pshh-fin-cat-add-row { display:flex; align-items:center; gap:8px; }

/* ── Responsive ── */
@media (max-width:600px) {
    .pshh-fin-kpis { grid-template-columns:1fr; }
    .pshh-fin-toolbar { flex-direction:column; align-items:stretch; }
    .pshh-fin-toolbar .pshh-an-title { text-align:center; }
    .pshh-fin-month-nav { justify-content:center; }
    .pshh-fin-cat-bar-row { flex-wrap:wrap; }
    .pshh-fin-tbl { font-size:12px; }
    .pshh-fin-tbl th, .pshh-fin-tbl td { padding:6px 4px; }
}

/* ═══════════════════════════════════════════════════════════
   REFERRAL BADGE — תגית הפניית ספק
   ═══════════════════════════════════════════════════════════ */
.pshh-ref-badge {
    display:inline-block; padding:1px 8px; border-radius:10px; font-size:10px;
    font-weight:600; background:var(--pshh-success-light); color:var(--pshh-success-hover); margin-right:6px;
    vertical-align:middle; white-space:nowrap;
}

/* ═══════════════════════════════════════════════════════════
   FILES MODULE — קבצים
   ═══════════════════════════════════════════════════════════ */

.pshh-files-wrap { padding: 0; }
.pshh-files-toolbar {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.pshh-files-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}
.pshh-file-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    border: 1px solid var(--pshh-border);
    border-radius: 10px;
    padding: 14px 16px;
    transition: box-shadow .15s;
}
.pshh-file-card:hover { box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.pshh-file-card-icon {
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    background: var(--pshh-primary-light); border-radius: 8px;
    flex-shrink: 0; color: var(--pshh-primary); font-size: 18px;
}
.pshh-file-card-info { flex: 1; min-width: 0; }
.pshh-file-card-title {
    font-size: 13px; font-weight: 600; color: var(--pshh-text-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    margin-bottom: 3px;
}
.pshh-file-card-meta {
    font-size: 11px; color: var(--pshh-text-secondary); line-height: 1.4;
}
.pshh-file-sent-count {
    font-size: 11px; color: var(--pshh-primary); font-weight: 500; margin-top: 2px;
}
.pshh-file-card-actions {
    display: flex; gap: 4px; flex-shrink: 0; align-items: center;
}
.pshh-file-act {
    width: 32px; height: 32px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--pshh-border); border-radius: 6px;
    background: #fff; color: var(--pshh-text-secondary); cursor: pointer;
    transition: background .12s, color .12s, border-color .12s;
    text-decoration: none; padding: 0;
}
.pshh-file-act:hover { background: var(--pshh-primary-light); color: var(--pshh-primary); border-color: var(--pshh-primary); }
.pshh-file-del-btn:hover { background: var(--pshh-danger-light); color: var(--pshh-danger); border-color: var(--pshh-danger); }

/* Send modal */
.pshh-file-send-modal { max-width: 500px; }

@media (max-width: 600px) {
    .pshh-files-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   TREATMENT REPORTS — דוחות טיפול
   ═══════════════════════════════════════════════════════════ */

/* Modal sizing */
.pshh-tr-modal .pshh-modal-body { padding: 16px 22px; }

/* Meta info block at top of modal */
.pshh-tr-meta {
    background: var(--pshh-bg-hover); border-radius: 10px; padding: 12px 16px;
    margin-bottom: 16px; display: flex; flex-wrap: wrap; gap: 4px 20px;
}
.pshh-tr-meta-row { font-size: 13px; color: var(--pshh-text-primary); white-space: nowrap; }
.pshh-tr-meta-lbl { font-weight: 600; color: var(--pshh-text-secondary); }

/* Form fields */
.pshh-tr-field { margin-bottom: 12px; }
.pshh-tr-field .pshh-modal-lbl { display: block; font-size: 13px; font-weight: 600; color: var(--pshh-text-primary); margin-bottom: 4px; }
.pshh-tr-field textarea.pshh-a-f-inp { width: 100%; resize: vertical; min-height: 60px; }

/* Error block */
.pshh-tr-err {
    background: var(--pshh-danger-light); color: var(--pshh-danger); padding: 8px 14px;
    border-radius: 8px; font-size: 13px; margin-bottom: 12px;
}

/* View report rows */
.pshh-tr-view-row { margin-bottom: 14px; }
.pshh-tr-view-lbl { font-size: 12px; font-weight: 600; color: var(--pshh-primary); margin-bottom: 2px; }
.pshh-tr-view-val { font-size: 14px; color: var(--pshh-text-primary); line-height: 1.6; white-space: pre-wrap; }

/* List table row hover */
.pshh-tr-list-row { cursor: pointer; transition: background .12s; }
.pshh-tr-list-row:hover { background: var(--pshh-bg-secondary); }
/* ═══════════════════════════════════════════════════════
   F-PRODUCTS MODULE
   ═══════════════════════════════════════════════════════ */

/* Toolbar */
.pshh-products-toolbar {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 20px; flex-wrap: wrap; gap: 10px;
}

/* View toggle buttons */

/* Products grid */
.pshh-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}

/* Product card */
.pshh-product-card {
    border: 1px solid var(--pshh-border-light); border-radius: 12px;
    overflow: hidden; background: #fff;
    display: flex; flex-direction: column;
    transition: box-shadow .15s, border-color .15s;
}
.pshh-product-card:hover {
    box-shadow: var(--shadow-md);
    border-color: var(--pshh-border);
}

/* Product image area */
.pshh-product-card-img {
    height: 120px; background: var(--pshh-bg-hover);
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
}
.pshh-product-card-img img {
    width: 100%; height: 100%; object-fit: cover;
}

/* Product body */
.pshh-product-card-body {
    padding: 12px 16px; flex: 1;
}
.pshh-product-card-title {
    font-size: 15px; font-weight: 600; color: var(--pshh-text-primary);
    margin-bottom: 4px; line-height: 1.4;
}
.pshh-product-card-desc {
    font-size: 13px; color: var(--pshh-text-secondary); margin-bottom: 6px;
    line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pshh-product-card-meta {
    font-size: 13px; color: var(--pshh-text-muted);
}

/* Status badges */
.pshh-prod-active  { color: var(--pshh-success); font-weight: 600; }
.pshh-prod-inactive { color: var(--pshh-danger); font-weight: 600; }

/* Product card actions */
.pshh-product-card-actions {
    padding: 10px 16px; border-top: 1px solid var(--pshh-bg-secondary);
    display: flex; align-items: center; gap: 8px;
    justify-content: flex-end;
}

/* Sends history table */
.pshh-products-sends-table { overflow-x: auto; }
.pshh-products-sends-table .pshh-tbl { width: 100%; border-collapse: collapse; }
.pshh-products-sends-table .pshh-tbl th {
    text-align: right; padding: 10px 12px; font-size: 12px;
    font-weight: 600; color: var(--pshh-text-secondary); background: var(--pshh-bg-hover);
    border-bottom: 2px solid var(--pshh-border-light); white-space: nowrap;
}
.pshh-products-sends-table .pshh-tbl td {
    padding: 10px 12px; font-size: 14px; color: var(--pshh-text-primary);
    border-bottom: 1px solid var(--pshh-bg-secondary); white-space: nowrap;
}
.pshh-products-sends-table .pshh-tbl tr:hover td { background: var(--pshh-bg-hover); }

/* Payment status badges */
.pshh-pay-badge {
    display: inline-block; padding: 2px 10px; border-radius: 12px;
    font-size: 12px; font-weight: 600;
}
.pshh-pay-pending  { background: var(--pshh-warning-light); color: var(--pshh-warning); }
.pshh-pay-paid     { background: var(--pshh-success-light); color: var(--pshh-success-hover); }
.pshh-pay-refunded { background: var(--pshh-danger-light); color: var(--pshh-danger); }
.pshh-pay-cancelled { background: var(--pshh-bg-secondary); color: var(--pshh-text-secondary); }

/* Responsive */
@media (max-width: 600px) {
    .pshh-products-grid { grid-template-columns: 1fr; }
    .pshh-products-toolbar { flex-direction: column; align-items: stretch; }
    .pshh-products-toolbar > div { flex-wrap: wrap; }
    .pshh-product-card-img { height: 100px; }
}
/* ═══════════════════════════════════════════════════════
   GROUP SLOTS + WAITLIST
   ═══════════════════════════════════════════════════════ */

/* ── Group slot badges ── */
.pshh-slot.pshh-slot-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 10px 16px;
    min-width: 90px;
}
.pshh-slot-time { font-weight: 600; }
.pshh-slot-spots {
    font-size: 11px;
    color: var(--pshh-text-secondary);
    font-weight: 400;
}
.pshh-slot.pshh-slot-group.selected .pshh-slot-spots { color: #fff; }

/* ── Full slots (group only) ── */
.pshh-slots-full-section {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--pshh-border-light);
}
.pshh-slots-full-label {
    font-size: 14px;
    font-weight: 500;
    color: var(--pshh-text-muted);
    margin-bottom: 10px;
}
.pshh-slot.pshh-slot-full {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 10px 16px;
    min-width: 90px;
    opacity: 0.5;
    cursor: default;
    background: var(--pshh-bg-secondary);
    border-color: var(--pshh-border);
    pointer-events: none;
}
.pshh-slot-spots-full {
    color: var(--pshh-danger);
    font-size: 11px;
    font-weight: 600;
}

/* ── Waitlist button (in booking wizard) ── */
.pshh-waitlist-box {
    text-align: center;
    padding: 16px 0;
}
.pshh-waitlist-txt {
    font-size: 14px;
    color: var(--pshh-text-secondary);
    margin-bottom: 12px;
}
.pshh-btn-waitlist {
    background: var(--pshh-warning-light);
    color: var(--pshh-warning);
    border: 1px solid var(--pshh-warning-border);
    padding: 10px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    margin-top: 8px;
}
.pshh-btn-waitlist:hover {
    background: #FFE0B2;
    border-color: var(--pshh-warning);
}
.pshh-btn-waitlist-done {
    background: var(--pshh-success-light);
    color: var(--pshh-success-hover);
    border-color: var(--pshh-success-border);
    cursor: default;
}

/* ═══════════════════════════════════════════════════════
   WAITLIST TAB (admin / provider)
   ═══════════════════════════════════════════════════════ */
.pshh-wl-wrap { padding: 0; }
.pshh-wl-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 12px;
}
.pshh-wl-tbl { width: 100%; border-collapse: collapse; }
.pshh-wl-tbl th {
    text-align: right;
    font-size: 12px;
    font-weight: 600;
    color: var(--pshh-text-secondary);
    padding: 10px 12px;
    border-bottom: 2px solid var(--pshh-border-light);
    white-space: nowrap;
}
.pshh-wl-tbl td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--pshh-bg-secondary);
    font-size: 14px;
    color: var(--pshh-text-primary);
}
.pshh-wl-tbl tr:hover td { background: var(--pshh-bg-hover); }
.pshh-wl-actions { display: flex; gap: 6px; }

/* ── Waitlist status badges ── */
.pshh-wl-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}
.pshh-wl-st-waiting   { background: var(--pshh-warning-light); color: var(--pshh-warning); }
.pshh-wl-st-notified  { background: var(--pshh-info-light); color: var(--pshh-info); }
.pshh-wl-st-booked    { background: var(--pshh-success-light); color: var(--pshh-success-hover); }
.pshh-wl-st-expired   { background: #F5F5F5; color: var(--pshh-text-tertiary); }
.pshh-wl-st-cancelled { background: var(--pshh-bg-hover); color: var(--pshh-text-disabled); }

/* ═══════════════════════════════════════════════════════
   CLIENT WAITLIST (in dashboard)
   ═══════════════════════════════════════════════════════ */
.pshh-cl-wl-section {
    margin-top: 24px;
    margin-bottom: 8px;
}
.pshh-cl-wl-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--pshh-text-primary);
    margin-bottom: 12px;
}
.pshh-cl-wl-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    background: var(--pshh-warning-light);
    border: 1px solid var(--pshh-warning-border);
    border-radius: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
    gap: 8px;
}
.pshh-cl-wl-card-info { flex: 1; min-width: 200px; }
.pshh-cl-wl-card-service {
    font-weight: 600;
    font-size: 15px;
    color: var(--pshh-text-primary);
}
.pshh-cl-wl-card-meta {
    font-size: 13px;
    color: var(--pshh-text-secondary);
    margin-top: 2px;
}
.pshh-cl-wl-card-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.pshh-cl-wl-waiting {
    font-size: 13px;
    font-weight: 500;
    color: var(--pshh-warning);
    background: var(--pshh-warning-light);
    padding: 3px 10px;
    border-radius: 12px;
}
.pshh-cl-wl-notified {
    font-size: 13px;
    font-weight: 600;
    color: var(--pshh-info);
    background: var(--pshh-info-light);
    padding: 3px 10px;
    border-radius: 12px;
    animation: pshh-wl-pulse 2s ease-in-out infinite;
}
@keyframes pshh-wl-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(21, 101, 192, 0.3); }
    50%      { box-shadow: 0 0 0 6px rgba(21, 101, 192, 0); }
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .pshh-wl-toolbar { flex-direction: column; align-items: stretch; }
    .pshh-wl-tbl { font-size: 13px; }
    .pshh-wl-tbl th, .pshh-wl-tbl td { padding: 8px 6px; }
    .pshh-cl-wl-card { flex-direction: column; align-items: flex-start; }
    .pshh-slots-full-section { display: flex; flex-wrap: wrap; gap: 8px; }
    .pshh-slots-full-section .pshh-slot { min-width: 70px; }
}

/* ═══════════════════════════════════════════════════════════════════
   COMPREHENSIVE RESPONSIVE FIX — All areas, all breakpoints
   ═══════════════════════════════════════════════════════════════════ */

/* ──────────────────────────────────────────────────────────────────
   1. GLOBAL TABLE SCROLL WRAPPER — prevents ALL tables from overflow
   ────────────────────────────────────────────────────────────────── */
.pshh-tbl-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 10px;
}
.pshh-tbl-scroll .pshh-a-tbl { min-width: 600px; }

/* ══════════════════════════════════════════════════════════════════
   TABLET — 1024px
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {

    /* Calendar toolbar — allow wrapping */
    .pshh-cal-toolbar {
        flex-wrap: wrap;
        gap: 6px;
    }
    .pshh-cal-toolbar h2 {
        font-size: 17px;
        min-width: 120px;
    }

    /* Financial KPIs — 3 col in tablet before 1col mobile */
    .pshh-fin-kpis {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }

    /* Analytics toolbar wrap */
    .pshh-an-toolbar {
        gap: 8px;
    }

    /* Clinic hours — compact */
    .pshh-ch-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .pshh-ch-tbl {
        min-width: 600px;
    }
}

/* ══════════════════════════════════════════════════════════════════
   SMALL TABLET — 900px
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {

    /* Customer panel tabs — scrollable */
    .pshh-cp-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 0 8px;
    }
    .pshh-cp-tab {
        padding: 10px 10px;
        font-size: 12px;
        white-space: nowrap;
        flex-shrink: 0;
    }

    /* Financial KPIs — 2 col */
    .pshh-fin-kpis {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Analytics custom date — stack */
    .pshh-an-custom-wrap {
        width: 100%;
        justify-content: flex-start;
    }
}

/* ══════════════════════════════════════════════════════════════════
   TABLET-MOBILE — 768px
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

    /* ── Calendar toolbar compact ── */
    .pshh-cal-toolbar h2 {
        font-size: 15px;
        min-width: 100px;
    }
    .pshh-cal-today {
        padding: 0 10px;
        height: 32px;
        font-size: 13px;
    }
    .pshh-cal-nav button {
        width: 32px;
        height: 32px;
        font-size: 18px;
    }
    .pshh-view-dd-btn {
        padding: 0 10px;
        height: 32px;
        font-size: 13px;
    }
    .pshh-vt-btn {
        width: 32px;
        height: 30px;
    }

    /* ── Calendar month view — compact ── */
    .pshh-cal-day {
        min-height: 54px;
        padding: 2px;
    }
    .pshh-cal-event {
        font-size: 9px;
        padding: 0 4px;
        line-height: 16px;
    }
    .pshh-cal-hol-chip {
        font-size: 9px;
        line-height: 16px;
    }
    .pshh-cal-day-num {
        font-size: 12px;
        width: 24px;
        height: 24px;
    }

    /* ── Week view headers compact ── */
    .pshh-cal-week-header {
        height: 56px;
    }
    .pshh-cal-week-header .wh-num {
        font-size: 20px;
        width: 36px;
        height: 36px;
    }
    .pshh-cal-week-header .wh-day {
        font-size: 10px;
    }

    /* ── Admin tab bar — scroll ── */
    .pshh-a-nav, .pshh-area-nav {
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .pshh-a-nav::-webkit-scrollbar,
    .pshh-area-nav::-webkit-scrollbar {
        display: none;
    }
    .pshh-a-tab, .pshh-tab {
        padding: 8px 12px;
        font-size: 13px;
    }

    /* ── Admin stat cards — 2 col ── */
    .pshh-a-cards {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .pshh-a-card {
        padding: 14px 12px;
    }
    .pshh-a-card-n {
        font-size: 22px;
    }

    /* ── All tables — horizontal scroll ── */
    .pshh-a-tbl {
        font-size: 13px;
    }
    .pshh-a-tbl th,
    .pshh-a-tbl td {
        padding: 8px 8px;
        font-size: 12px;
    }

    /* ── Modals — full width on small screens ── */
    .pshh-modal-overlay {
        padding: 10px;
    }
    .pshh-modal {
        margin: 0 4px;
        max-height: 90vh;
        overflow-y: auto;
    }
    .pshh-modal-body {
        padding: 16px 14px;
    }

    /* ── Section headers — wrap ── */
    .pshh-a-hdr {
        flex-wrap: wrap;
        gap: 8px;
    }
    .pshh-page-header {
        flex-wrap: wrap;
        gap: 8px;
    }

    /* ── Tasks — compact ── */
    .pshh-task-item {
        padding: 12px;
    }
    .pshh-task-meta {
        flex-wrap: wrap;
    }

    /* ── Treatment report modal — compact ── */
    .pshh-tr-modal .pshh-modal-body {
        padding: 14px 14px;
    }
    .pshh-tr-meta {
        flex-direction: column;
        gap: 6px;
    }

    /* ── Products sends table — scroll ── */
    .pshh-products-sends-table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .pshh-products-sends-table .pshh-tbl {
        min-width: 500px;
    }

    /* ── Newsletter history table — scroll ── */
    .pshh-nl-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* ── Provider analytics KPIs ── */
    .pshh-an-perf {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    /* ── Tooltip — constrain width ── */
    .pshh-cal-tooltip {
        max-width: 260px;
        min-width: 180px;
    }

    /* ── Booking modal in sidebar ── */
    .pshh-booking-modal-wrap {
        max-height: 95vh;
        margin: 0 8px;
    }

    /* ── Customer panel stats — 2x2 ── */
    .pshh-cp-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    .pshh-cp-stat {
        padding: 10px 4px;
    }
    .pshh-cp-stat:nth-child(2) {
        border-left: none;
    }
    .pshh-cp-stat:nth-child(1),
    .pshh-cp-stat:nth-child(2) {
        border-bottom: 1px solid var(--pshh-border);
    }
}

/* ══════════════════════════════════════════════════════════════════
   MOBILE — 600px
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 600px) {

    /* ── Main content padding ── */
    .pshh-main {
        padding: 4px;
    }

    /* ── Calendar toolbar — 2 rows ── */
    .pshh-cal-toolbar {
        gap: 4px;
        padding: 6px 2px;
    }
    .pshh-cal-toolbar h2 {
        font-size: 14px;
        min-width: auto;
        order: 1;
    }
    .pshh-cal-nav {
        order: 2;
    }
    .pshh-cal-today {
        order: 3;
        padding: 0 8px;
        height: 28px;
        font-size: 12px;
    }
    .pshh-cal-toolbar-end {
        order: 4;
        width: 100%;
        justify-content: space-between;
        gap: 6px;
    }

    /* ── Calendar month — ultra compact ── */
    .pshh-cal-month-head div {
        font-size: 9px;
        padding: 6px 1px;
    }
    .pshh-cal-day {
        min-height: 42px;
        padding: 1px;
    }
    .pshh-cal-day-num {
        font-size: 11px;
        width: 20px;
        height: 20px;
    }
    .pshh-cal-event {
        font-size: 0;
        padding: 0;
        height: 4px;
        border-radius: 2px;
        margin-bottom: 1px;
    }
    .pshh-cal-hol-chip {
        font-size: 0;
        height: 3px;
        padding: 0;
        border-radius: 2px;
    }
    .pshh-cal-more {
        font-size: 9px;
        padding: 0 2px;
    }
    .pshh-cal-add-hint { display: none !important; }

    /* ── Calendar legend ── */
    .pshh-cal-legend {
        gap: 6px;
        padding: 6px 10px;
        flex-wrap: wrap;
    }
    .pshh-cal-legend-item {
        font-size: 10px;
        gap: 4px;
    }
    .pshh-cal-legend-dot {
        width: 8px;
        height: 8px;
    }

    /* ── Week view — compact columns ── */
    .pshh-cal-week-wrap {
        min-width: 420px;
    }
    .pshh-cal-time-col {
        width: 40px;
    }
    .pshh-cal-time-slot {
        font-size: 9px;
    }
    .pshh-cal-day-col {
        min-width: 48px;
    }
    .pshh-cal-week-header {
        height: 48px;
        gap: 1px;
    }
    .pshh-cal-week-header .wh-num {
        font-size: 16px;
        width: 28px;
        height: 28px;
    }
    .pshh-cal-week-header .wh-day {
        font-size: 8px;
    }
    .pshh-cal-week-event {
        font-size: 9px;
        padding: 1px 2px;
    }
    .pshh-cal-week-event .ev-name {
        font-size: 10px;
    }
    .pshh-cal-week-event .ev-time {
        font-size: 8px;
    }
    .pshh-cal-hour-row {
        height: 40px;
    }

    /* ── Admin tabs — smaller ── */
    .pshh-a-tab, .pshh-tab {
        padding: 7px 8px;
        font-size: 12px;
    }

    /* ── Admin section headers ── */
    .pshh-a-hdr h2 {
        font-size: 15px;
    }
    .pshh-section-title {
        font-size: 16px;
    }

    /* ── Stat cards — compact ── */
    .pshh-a-card {
        padding: 12px 10px;
    }
    .pshh-a-card-n {
        font-size: 20px;
    }
    .pshh-a-card-l {
        font-size: 11px;
    }

    /* ── Analytics area ── */
    .pshh-an-wrap {
        padding: 12px 8px 24px;
    }
    .pshh-an-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    .pshh-an-title {
        font-size: 17px;
        margin: 0;
        text-align: center;
    }
    .pshh-an-range-btns {
        justify-content: center;
    }
    .pshh-an-kpi {
        padding: 12px 10px;
    }
    .pshh-an-kpi-val {
        font-size: 18px;
    }
    .pshh-an-kpi-lbl {
        font-size: 11px;
    }
    .pshh-an-chart-main-box {
        padding: 10px 8px 14px;
    }

    /* ── Financial — compact ── */
    .pshh-fin-kpi {
        padding: 14px 12px;
    }
    .pshh-fin-kpi-val {
        font-size: 22px;
    }
    .pshh-fin-cat-summary {
        padding: 14px 12px;
    }
    .pshh-fin-expenses-section {
        padding: 14px 10px;
    }
    .pshh-fin-cat-name {
        min-width: 70px;
    }
    .pshh-fin-cat-amt {
        min-width: 50px;
        font-size: 12px;
    }

    /* ── Customer panel ── */
    .pshh-cp-head {
        padding: 20px 14px 16px;
    }
    .pshh-cp-avatar-lg {
        width: 52px;
        height: 52px;
        font-size: 20px;
    }
    .pshh-cp-name {
        font-size: 15px;
    }
    .pshh-cp-tab-body {
        padding: 12px 10px;
    }
    .pshh-cp-field-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    .pshh-cp-field-row label {
        width: auto;
    }

    /* ── Providers panel ── */
    .pshh-prv-modal-body {
        padding: 14px 12px 18px;
    }
    .pshh-prv-modal-body .pshh-a-tbl {
        font-size: 12px;
    }

    /* ── Clinic hours ── */
    .ch-td-day {
        width: 90px;
        padding: 10px 8px;
    }
    .ch-dayname {
        font-size: 12px;
    }
    .pshh-ch-tbl th:first-child {
        width: 90px;
    }
    .ch-slots-head,
    .ch-slot {
        grid-template-columns: 76px 20px 76px 24px;
        gap: 2px;
    }
    .pshh-ch-time {
        width: 72px;
        font-size: 11px;
        padding: 5px 4px;
    }

    /* ── Modals — full bottom sheet on mobile ── */
    .pshh-modal-overlay {
        padding: 0;
        align-items: flex-end;
    }
    .pshh-modal {
        margin: 0;
        border-radius: 16px 16px 0 0;
        max-height: 92vh;
        width: 100%;
    }
    .pshh-modal-head {
        padding: 14px 16px;
    }
    .pshh-modal-head h3 {
        font-size: 15px;
    }
    .pshh-modal-body {
        padding: 14px 12px;
    }
    .pshh-modal-foot {
        padding: 12px 14px;
    }
    .pm-row {
        grid-template-columns: 1fr !important;
    }

    /* ── Tasks compact ── */
    .pshh-tasks-header h2 {
        font-size: 18px;
    }
    .pshh-task-item {
        padding: 10px;
    }
    .pshh-task-title {
        font-size: 13px;
    }
    .pshh-task-desc {
        font-size: 12px;
    }

    /* ── Newsletter — compact ── */
    .pshh-nl-header {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    .pshh-nl-seg-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .pshh-nl-seg-card {
        padding: 10px;
    }
    .pshh-nl-seg-name {
        font-size: 12px;
    }

    /* ── Files grid — 1 col ── */
    .pshh-file-card {
        padding: 10px;
    }
    .pshh-file-card-actions {
        flex-wrap: wrap;
    }

    /* ── Products ── */
    .pshh-product-card-body {
        padding: 10px;
    }
    .pshh-product-card-title {
        font-size: 14px;
    }

    /* ── Treatment reports ── */
    .pshh-tr-view-row {
        margin-bottom: 10px;
    }
    .pshh-tr-view-val {
        font-size: 13px;
    }

    /* ── Packages ── */
    .pshh-pkg-send-info {
        flex-direction: column;
        align-items: flex-start;
    }
    .pshh-pkg-send-channels {
        flex-wrap: wrap;
        gap: 12px;
    }

    /* ── Client area ── */
    .pshh-cl-section-header {
        flex-direction: column;
        align-items: flex-start;
    }
    .pshh-cl-section-title {
        font-size: 17px;
    }
    .pshh-cl-req-card {
        padding: 12px 14px;
    }

    /* ── Referral badge ── */
    .pshh-ref-badge {
        font-size: 9px;
        padding: 1px 6px;
    }

    /* ── Day popover — full width on mobile ── */
    .pshh-day-pop {
        position: fixed !important;
        bottom: 0 !important;
        top: auto !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        border-radius: 16px 16px 0 0;
        max-height: 70vh;
        transform: none;
    }
    .pshh-day-pop.pshh-dp-show {
        transform: none;
    }

    /* ── Tooltip — bottom sheet ── */
    .pshh-cal-tooltip {
        position: fixed !important;
        bottom: 0 !important;
        top: auto !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 16px 16px 0 0;
        box-shadow: 0 -4px 24px rgba(0,0,0,.15);
    }
}

/* ══════════════════════════════════════════════════════════════════
   SMALL MOBILE — 480px
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 480px) {

    /* ── Calendar — hide event text, show dots only ── */
    .pshh-cal-month-head div {
        font-size: 8px;
        letter-spacing: 0;
    }
    .pshh-cal-day {
        min-height: 36px;
    }

    /* ── Sidebar width already 48px ── */

    /* ── Stat cards — stack ── */
    .pshh-a-cards {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .pshh-a-card-n {
        font-size: 18px;
    }

    /* ── Analytics KPIs — 1 col ── */
    .pshh-an-kpis {
        grid-template-columns: 1fr;
    }
    .pshh-an-kpi {
        padding: 10px 8px;
        border-left: none !important;
        border-bottom: 1px solid var(--pshh-border);
    }
    .pshh-an-kpi:last-child {
        border-bottom: none;
    }

    /* ── Financial KPIs — 1 col ── */
    .pshh-fin-kpis {
        grid-template-columns: 1fr;
    }
    .pshh-fin-kpi-val {
        font-size: 20px;
    }

    /* ── Customer panel — full screen feel ── */
    .pshh-cp-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    .pshh-cp-stat-v {
        font-size: 16px;
    }

    /* ── Booking form ── */
    .pshh-services-grid,
    .pshh-providers-grid {
        grid-template-columns: 1fr;
    }
    .pshh-card {
        padding: 14px 12px;
    }
    .pshh-slot {
        padding: 7px 12px;
        font-size: 13px;
    }

    /* ── Week view — even more compact ── */
    .pshh-cal-week-wrap {
        min-width: 360px;
    }
    .pshh-cal-time-col {
        width: 32px;
    }
    .pshh-cal-time-slot {
        font-size: 8px;
        padding-left: 2px;
    }
    .pshh-cal-day-col {
        min-width: 42px;
    }
    .pshh-cal-week-header {
        height: 42px;
    }
    .pshh-cal-week-header .wh-num {
        font-size: 14px;
        width: 24px;
        height: 24px;
    }
    .pshh-cal-week-event .ev-name {
        font-size: 9px;
    }
    .pshh-cal-week-event .ev-time {
        display: none;
    }
    .pshh-cal-hour-row {
        height: 36px;
    }

    /* ── Newsletter compact ── */
    .pshh-nl-seg-grid {
        gap: 6px;
    }
    .pshh-nl-seg-icon {
        width: 36px;
        height: 36px;
    }

    /* ── Products grid — 1 col ── */
    .pshh-products-grid {
        grid-template-columns: 1fr;
    }

    /* ── Provider analytics compact ── */
    .pshh-an-perf .pshh-an-kpi {
        padding: 12px 10px;
    }
    .pshh-an-perf .pshh-an-kpi-val {
        font-size: 18px;
    }

    /* ── Auth simple ── */
    .pshh-auth-form-side {
        padding: 30px 12px;
    }

    /* ── Buttons — full width on very small ── */
    .pshh-btn-primary,
    .pshh-btn {
        font-size: 14px;
        padding: 9px 16px;
    }

    /* ── Package cards client compact ── */
    .pshh-cp-pkg-card {
        padding: 10px 12px;
    }
}

/* ══════════════════════════════════════════════════════════════════
   EXTRA SMALL MOBILE — 360px (iPhone SE, narrow devices)
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 360px) {

    .pshh-cal-toolbar h2 {
        font-size: 13px;
    }
    .pshh-cal-today {
        font-size: 11px;
        padding: 0 6px;
    }
    .pshh-cal-nav button {
        width: 28px;
        height: 28px;
    }
    .pshh-view-dd-btn {
        font-size: 11px;
        padding: 0 6px;
    }
    .pshh-a-tab, .pshh-tab {
        padding: 6px 6px;
        font-size: 11px;
    }
    .pshh-sidebar {
        width: 42px;
    }
    .pshh-main {
        margin-right: 42px !important;
    }
    .pshh-sidebar .pshh-nav-icon svg {
        width: 14px;
        height: 14px;
    }
    .pshh-section-title {
        font-size: 14px;
    }
    .pshh-an-wrap {
        padding: 8px 4px 16px;
    }
}

/* ══════════════════════════════════════════════════════════════════
   PRINT MEDIA — hide sidebar, full width content
   ══════════════════════════════════════════════════════════════════ */
@media print {
    .pshh-sidebar,
    .pshh-sidebar-backdrop,
    .pshh-sidebar-toggle { display: none !important; }
    .pshh-main { margin-right: 0 !important; padding: 0 !important; }
    .pshh-modal-overlay { position: static; background: none; padding: 0; }
    .pshh-modal { box-shadow: none; margin: 0; }
}