.ihpd-dashboard{font-family:Arial,Helvetica,sans-serif}.ihpd-filters{display:grid;grid-template-columns:minmax(280px,1fr) 180px 170px;gap:12px;margin-bottom:16px}.ihpd-filters input,.ihpd-filters select{min-height:42px;padding:10px 12px;border:1px solid var(--ihpd-border);border-radius:8px;background:#fff}.ihpd-table-wrap{overflow:auto;border:1px solid var(--ihpd-border);border-radius:var(--ihpd-radius)}.ihpd-table{width:100%;min-width:1800px;border-collapse:collapse;font-size:var(--ihpd-font-size)}.ihpd-table th{background:var(--ihpd-header-bg);color:var(--ihpd-header-text);font-size:var(--ihpd-header-size);position:sticky;top:0;z-index:1}.ihpd-table th,.ihpd-table td{padding:var(--ihpd-padding);border-bottom:1px solid var(--ihpd-border);text-align:left;vertical-align:middle;white-space:nowrap}.ihpd-table tbody tr:nth-child(odd){background:var(--ihpd-row-bg)}.ihpd-table tbody tr:nth-child(even){background:var(--ihpd-alt-bg)}.ihpd-note{max-width:260px;overflow:hidden;text-overflow:ellipsis}.ihpd-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:600;font-size:12px}.ihpd-badge-yes{background:#dcfce7;color:#166534}.ihpd-badge-no{background:#fee2e2;color:#991b1b}.ihpd-badge-pending{background:#fef3c7;color:#92400e}.ihpd-message,.ihpd-empty{padding:18px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;text-align:center}@media(max-width:700px){.ihpd-filters{grid-template-columns:1fr}}

.ihpd-login-card{
    width:100%;
    max-width:460px;
    margin:30px auto;
    padding:30px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    box-shadow:0 12px 35px rgba(15,23,42,.08);
}
.ihpd-login-title{
    margin:0 0 22px;
    font-size:28px;
    line-height:1.2;
    text-align:center;
}
.ihpd-login-card .login-username,
.ihpd-login-card .login-password{
    margin:0 0 16px;
}
.ihpd-login-card label{
    display:block;
    margin-bottom:7px;
    font-weight:600;
}
.ihpd-login-card input[type="text"],
.ihpd-login-card input[type="password"]{
    width:100%;
    min-height:46px;
    padding:10px 12px;
    border:1px solid #d7dce3;
    border-radius:8px;
    background:#fff;
}
.ihpd-login-card .login-remember{
    margin:12px 0 18px;
}
.ihpd-login-card .login-submit{
    margin:0;
}
.ihpd-login-card .button,
.ihpd-login-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:46px;
    padding:10px 18px;
    border:0;
    border-radius:8px;
    background:#171629;
    color:#fff;
    font-weight:600;
    text-decoration:none;
    cursor:pointer;
}
.ihpd-login-links{
    margin-top:18px;
    text-align:center;
}
.ihpd-login-success{
    text-align:center;
}

.ihpd-front-notice{margin-bottom:14px;padding:12px 14px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:8px;color:#166534}.ihpd-crud-panel{margin-bottom:18px;border:1px solid var(--ihpd-border);border-radius:var(--ihpd-radius);background:#fff}.ihpd-crud-panel summary{padding:14px 16px;font-weight:700;cursor:pointer}.ihpd-crud-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 16px 18px}.ihpd-crud-form label{display:block;margin-bottom:6px;font-weight:600}.ihpd-crud-form input,.ihpd-crud-form select,.ihpd-crud-form textarea{width:100%;min-height:42px;padding:9px 10px;border:1px solid var(--ihpd-border);border-radius:8px;background:#fff}.ihpd-crud-full,.ihpd-crud-actions{grid-column:1/-1}.ihpd-crud-actions{display:flex;align-items:center;gap:14px}.ihpd-crud-primary{padding:10px 16px;border:0;border-radius:8px;background:var(--ihpd-header-bg);color:var(--ihpd-header-text);font-weight:700;cursor:pointer}.ihpd-row-actions{display:flex;align-items:center;gap:10px}.ihpd-row-actions form{display:inline}.ihpd-row-actions button{padding:0;border:0;background:none;color:#b91c1c;cursor:pointer}.ihpd-row-actions a{text-decoration:none}@media(max-width:900px){.ihpd-crud-form{grid-template-columns:1fr 1fr}}@media(max-width:600px){.ihpd-crud-form{grid-template-columns:1fr}}

.ihpd-radio-group,
.ihpd-checkbox-group{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
}
.ihpd-radio-group label,
.ihpd-checkbox-group label{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-weight:400;
}

.ihpd-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.ihpd-stat-card,.ihpd-chart-card,.ihpd-withdraw-request{background:#fff;border:1px solid #e3e7ed;border-radius:14px;padding:20px;box-shadow:0 8px 25px rgba(15,23,42,.04)}
.ihpd-stat-card span{display:block;color:#667085;font-size:13px;margin-bottom:8px}
.ihpd-stat-card strong{font-size:27px;color:#15213a}
.ihpd-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ihpd-chart-card h3{margin:0 0 4px}.ihpd-chart-card p{margin:0;color:#667085}
.ihpd-chart-card canvas{width:100%;height:260px;margin-top:14px}
.ihpd-public-filters{display:grid;grid-template-columns:minmax(220px,1fr) 190px 190px auto;gap:10px;margin-bottom:16px}
.ihpd-public-filters input,.ihpd-public-filters select,.ihpd-public-filters button{min-height:42px;padding:9px 12px;border:1px solid #d7dde5;border-radius:8px;background:#fff}
.ihpd-public-filters button,.ihpd-withdraw-request button{background:#171629;color:#fff;border:0;cursor:pointer}
.ihpd-withdraw-request{margin-bottom:18px}.ihpd-withdraw-request summary{font-weight:700;font-size:17px;cursor:pointer}
.ihpd-client-selection{display:grid;gap:9px;margin:16px 0}
.ihpd-client-selection label{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:9px}
.ihpd-withdraw-total{padding:14px;background:#f8fafc;border-radius:9px;margin-bottom:12px}
.ihpd-withdraw-request button{padding:12px 18px;border-radius:8px}
@media(max-width:900px){.ihpd-stat-grid{grid-template-columns:1fr 1fr}.ihpd-chart-grid{grid-template-columns:1fr}.ihpd-public-filters{grid-template-columns:1fr}}

.ihpd-stat-card small{display:block;color:#7a8494;font-size:12px;margin-top:7px;line-height:1.45}
.ihpd-request-card,.ihpd-history-card{background:#fff;border:1px solid #e2e7ee;border-radius:14px;padding:20px;margin-top:16px;box-shadow:0 8px 26px rgba(15,23,42,.04)}
.ihpd-request-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.ihpd-request-heading h3,.ihpd-history-card h3{margin:0 0 5px;color:#15213a}
.ihpd-request-heading p{margin:0;color:#687386}
.ihpd-request-heading>span{display:inline-flex;background:#eef8f5;color:#14776c;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700;white-space:nowrap}
.ihpd-client-choice{cursor:pointer;transition:border-color .2s,background .2s}
.ihpd-client-choice:hover{border-color:#8bbfb9;background:#f8fffd}
.ihpd-client-choice-name{display:flex;flex-direction:column;gap:3px}
.ihpd-client-choice-name small{color:#7a8494}
.ihpd-withdraw-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#f5f8fb;border:1px solid #e4e9ef;border-radius:10px;padding:14px 16px;margin:14px 0}
.ihpd-request-submit{width:100%;min-height:44px;border:0;border-radius:8px;background:#70c9ad;color:#fff;font-weight:700;cursor:pointer}
.ihpd-request-submit:disabled{opacity:.45;cursor:not-allowed}
.ihpd-no-eligible{padding:18px;border:1px dashed #cfd7e1;border-radius:10px;background:#f8fafc;text-align:center}
.ihpd-no-eligible p{margin:7px auto 0;max-width:680px;color:#687386}
.ihpd-history-card{margin-bottom:18px}
@media(max-width:700px){.ihpd-request-heading,.ihpd-withdraw-summary{flex-direction:column;align-items:flex-start}}

.ihpd-client-dropdown{position:relative;margin:16px 0}
.ihpd-client-dropdown-toggle{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid #d7dee7;border-radius:9px;background:#fff;color:#1d2939;text-align:left;cursor:pointer}
.ihpd-client-dropdown-toggle:hover{border-color:#8bbfb9}
.ihpd-client-dropdown-arrow{font-size:18px;transition:transform .2s}
.ihpd-client-dropdown.is-open .ihpd-client-dropdown-arrow{transform:rotate(180deg)}
.ihpd-client-dropdown-menu{position:absolute;z-index:30;top:calc(100% + 7px);left:0;right:0;background:#fff;border:1px solid #dce3eb;border-radius:10px;box-shadow:0 18px 42px rgba(15,23,42,.14);overflow:hidden}
.ihpd-client-dropdown-search-wrap{padding:10px;border-bottom:1px solid #edf0f4}
.ihpd-client-dropdown-search{width:100%;min-height:40px;padding:9px 11px;border:1px solid #d7dee7;border-radius:7px}
.ihpd-client-dropdown-options{max-height:280px;overflow:auto;padding:8px}
.ihpd-client-dropdown-options .ihpd-client-choice{margin:0 0 6px}
.ihpd-client-dropdown-options .ihpd-client-choice:last-child{margin-bottom:0}

.ihpd-owner-alerts{background:#fff;border:1px solid #eadfc5;border-radius:14px;padding:18px;margin:0 0 18px;box-shadow:0 8px 25px rgba(15,23,42,.04)}
.ihpd-owner-alerts-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:12px}
.ihpd-owner-alerts-heading h3{margin:0 0 4px;color:#15213a}
.ihpd-owner-alerts-heading p{margin:0;color:#687386}
.ihpd-owner-alerts-heading a{display:inline-flex;padding:8px 11px;border-radius:8px;background:#171629;color:#fff;text-decoration:none;white-space:nowrap}
.ihpd-owner-alert-list{display:grid;gap:8px}
.ihpd-owner-alert-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;background:#fffaf0;border:1px solid #f0e2bf;border-radius:9px}
.ihpd-owner-alert-item div{display:flex;flex-direction:column;gap:2px}
.ihpd-owner-alert-item small,.ihpd-owner-alert-item>span:last-child{color:#7a8494}
.ihpd-owner-alert-dot{width:9px;height:9px;border-radius:50%;background:#e59a22}
@media(max-width:700px){.ihpd-owner-alerts-heading{flex-direction:column}.ihpd-owner-alert-item{grid-template-columns:auto 1fr}.ihpd-owner-alert-item>span:last-child{grid-column:2}}

.ihpd-logout-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:9px 16px;
    border-radius:8px;
    background:#171629;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:600;
}
.ihpd-logout-button:hover{opacity:.9}

.ihpd-finance-page,
.ihpd-withdrawal-page{width:100%}
.ihpd-finance-table{
    width:100%;
    table-layout:auto;
    border-collapse:separate;
    border-spacing:0;
    background:#fff;
}
.ihpd-finance-table th{
    padding:14px 16px!important;
    background:#f5f7fa!important;
    color:#273449!important;
    font-weight:700;
    white-space:nowrap;
    border-bottom:1px solid #dde4ec!important;
}
.ihpd-finance-table td{
    padding:15px 16px!important;
    vertical-align:middle;
    line-height:1.45;
    border-bottom:1px solid #edf0f4!important;
}
.ihpd-finance-table tbody tr:last-child td{border-bottom:0!important}
.ihpd-finance-table tbody tr:hover td{background:#fbfcfe}
.ihpd-table-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 11px;
    border-radius:7px;
    background:#171629;
    color:#fff!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:700;
}
.ihpd-finance-edit-card{
    background:#fff;
    border:1px solid #dde4ec;
    border-left:4px solid #171629;
    border-radius:12px;
    padding:20px;
    margin:0 0 18px;
    box-shadow:0 8px 22px rgba(15,23,42,.05);
}
.ihpd-finance-edit-card h3{margin:0 0 16px;color:#17233a}
.ihpd-finance-edit-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.ihpd-finance-edit-grid label{
    display:flex;
    flex-direction:column;
    gap:7px;
    color:#344054;
    font-weight:600;
}
.ihpd-finance-edit-grid input,
.ihpd-finance-edit-grid select,
.ihpd-finance-edit-grid textarea{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border:1px solid #d6dde6;
    border-radius:8px;
    background:#fff;
    font:inherit;
}
.ihpd-finance-edit-full{grid-column:1/-1}
.ihpd-finance-edit-actions{
    grid-column:1/-1;
    display:flex;
    gap:10px;
    align-items:center;
}
.ihpd-finance-edit-actions button,
.ihpd-finance-edit-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:9px 15px;
    border-radius:8px;
    text-decoration:none;
    font-weight:700;
}
.ihpd-finance-edit-actions button{
    border:0;
    background:#171629;
    color:#fff;
    cursor:pointer;
}
.ihpd-finance-edit-actions a{
    border:1px solid #d6dde6;
    color:#344054;
    background:#fff;
}
.ihpd-history-card .ihpd-table-wrap,
.ihpd-finance-page .ihpd-table-wrap{
    border:1px solid #e1e6ed;
    border-radius:12px;
    overflow-x:auto;
    background:#fff;
}
@media(max-width:700px){
    .ihpd-finance-edit-grid{grid-template-columns:1fr}
    .ihpd-finance-edit-full,
    .ihpd-finance-edit-actions{grid-column:1}
}


/* v2.8 responsive data tables */
.ihpd-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto!important;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
}
.ihpd-table-wrap::-webkit-scrollbar{height:9px}
.ihpd-table-wrap::-webkit-scrollbar-thumb{
    background:#c7ced8;
    border-radius:999px;
}
.ihpd-table{
    width:max-content!important;
    min-width:100%!important;
    table-layout:auto!important;
}
.ihpd-table th,
.ihpd-table td{
    white-space:nowrap;
}
.ihpd-table td.ihpd-note{
    white-space:normal;
    min-width:240px;
    max-width:360px;
}
.ihpd-finance-table{
    min-width:900px!important;
}

/* Mobile cards: full record view without horizontal scrolling */





/* v3.0 responsive tables — desktop layout remains unchanged */

/* Desktop 1200px and above: keep original full-width layout */
@media (min-width:1441px){
    .ihpd-table-wrap{
        overflow:visible!important;
        width:100%!important;
        max-width:100%!important;
    }

    .ihpd-table-wrap > table.ihpd-table{
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        table-layout:auto!important;
    }
}

/* Laptop and mobile: stacked record cards */







/* v3.3 responsive table behavior */

/* Desktop: normal full table */
@media (min-width:1441px){
    .ihpd-table-wrap{
        width:100%!important;
        max-width:100%!important;
        overflow:visible!important;
    }

    .ihpd-table-wrap > .ihpd-table{
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        table-layout:auto!important;
    }
}

/* Laptop and tablet: keep table layout with horizontal scroll */
@media (min-width:768px) and (max-width:1440px){
    .ihpd-dashboard,
    .ihpd-finance-page,
    .ihpd-withdrawal-page,
    .ihpd-history-card,
    .ihpd-table-wrap{
        min-width:0!important;
        max-width:100%!important;
        box-sizing:border-box!important;
    }

    .ihpd-table-wrap{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        -webkit-overflow-scrolling:touch!important;
        scrollbar-gutter:stable;
        border:1px solid #e1e6ed!important;
        border-radius:12px!important;
        background:#fff!important;
    }

    .ihpd-table-wrap > .ihpd-table{
        display:table!important;
        width:max-content!important;
        min-width:1180px!important;
        max-width:none!important;
        table-layout:auto!important;
        margin:0!important;
    }

    .ihpd-table thead{
        display:table-header-group!important;
    }

    .ihpd-table tbody{
        display:table-row-group!important;
    }

    .ihpd-table tr{
        display:table-row!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        background:transparent!important;
    }

    .ihpd-table th,
    .ihpd-table td{
        display:table-cell!important;
        width:auto!important;
        min-width:135px!important;
        max-width:none!important;
        padding:13px 15px!important;
        white-space:nowrap!important;
        border-bottom:1px solid #edf0f4!important;
        text-align:left!important;
    }

    .ihpd-table th:first-child,
    .ihpd-table td:first-child{
        min-width:180px!important;
    }

    .ihpd-table td.ihpd-note{
        min-width:240px!important;
        white-space:normal!important;
    }

    .ihpd-table td::before{
        content:none!important;
        display:none!important;
    }

    .ihpd-table td.ihpd-row-actions{
        display:table-cell!important;
        white-space:nowrap!important;
    }

    .ihpd-table-wrap::-webkit-scrollbar{
        height:10px;
    }

    .ihpd-table-wrap::-webkit-scrollbar-track{
        background:#eef1f5;
        border-radius:999px;
    }

    .ihpd-table-wrap::-webkit-scrollbar-thumb{
        background:#aeb8c5;
        border-radius:999px;
    }
}

/* Mobile: one card per record */
@media (max-width:767px){
    .ihpd-table-wrap{
        width:100%!important;
        max-width:100%!important;
        overflow:visible!important;
        border:0!important;
        background:transparent!important;
    }

    .ihpd-table{
        display:block!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        background:transparent!important;
    }

    .ihpd-table thead{
        display:none!important;
    }

    .ihpd-table tbody{
        display:block!important;
        width:100%!important;
    }

    .ihpd-table tr{
        display:block!important;
        width:100%!important;
        margin:0 0 14px!important;
        padding:8px 14px!important;
        border:1px solid #e0e6ee!important;
        border-radius:12px!important;
        background:#fff!important;
        box-shadow:0 6px 18px rgba(15,23,42,.05)!important;
    }

    .ihpd-table td{
        display:grid!important;
        grid-template-columns:minmax(110px,42%) minmax(0,1fr)!important;
        gap:12px!important;
        align-items:start!important;
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        padding:10px 0!important;
        border:0!important;
        border-bottom:1px solid #edf0f4!important;
        white-space:normal!important;
        overflow-wrap:anywhere!important;
        text-align:left!important;
    }

    .ihpd-table td:last-child{
        border-bottom:0!important;
    }

    .ihpd-table td::before{
        content:attr(data-label)!important;
        display:block!important;
        color:#667085!important;
        font-size:12px!important;
        font-weight:700!important;
        line-height:1.45!important;
    }

    .ihpd-table td.ihpd-note{
        min-width:0!important;
        max-width:none!important;
        white-space:normal!important;
    }

    .ihpd-table td.ihpd-row-actions{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:8px!important;
        align-items:center!important;
    }

    .ihpd-table td.ihpd-row-actions::before{
        flex:0 0 110px!important;
    }

    .ihpd-table td.ihpd-row-actions form{
        display:inline-flex!important;
        margin:0!important;
    }

    .ihpd-public-filters{
        grid-template-columns:1fr!important;
    }

    .ihpd-stat-grid{
        grid-template-columns:1fr!important;
    }
}


/* v3.4 Owner Dashboard */
.ihpd-owner-dashboard{width:100%;display:grid;gap:18px}
.ihpd-owner-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.ihpd-owner-heading h2{margin:0 0 5px;color:#17233a;font-size:28px}
.ihpd-owner-heading p{margin:0;color:#667085}
.ihpd-owner-quick-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ihpd-owner-quick-actions a,
.ihpd-owner-panel-heading a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 12px;
    border-radius:8px;
    background:#171629;
    color:#fff!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:700;
}
.ihpd-owner-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.ihpd-owner-kpi-card{
    background:#fff;
    border:1px solid #e1e6ed;
    border-radius:13px;
    padding:17px;
    box-shadow:0 7px 20px rgba(15,23,42,.04);
}
.ihpd-owner-kpi-card span,
.ihpd-owner-today-grid span,
.ihpd-system-status-grid span{display:block;color:#667085;font-size:12px;margin-bottom:7px}
.ihpd-owner-kpi-card strong{display:block;color:#17233a;font-size:22px;overflow-wrap:anywhere}
.ihpd-owner-today-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ihpd-owner-today-grid>div,
.ihpd-system-status-grid>div{
    background:#f8fafc;
    border:1px solid #e4e9ef;
    border-radius:11px;
    padding:14px 16px;
}
.ihpd-owner-today-grid strong,
.ihpd-system-status-grid strong{color:#17233a;font-size:18px}
.ihpd-owner-panel{
    background:#fff;
    border:1px solid #e1e6ed;
    border-radius:14px;
    padding:19px;
    box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.ihpd-owner-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:14px}
.ihpd-owner-panel-heading h3{margin:0 0 4px;color:#17233a}
.ihpd-owner-panel-heading p{margin:0;color:#667085;font-size:13px}
.ihpd-owner-notification-list,
.ihpd-owner-list{display:grid;gap:8px}
.ihpd-owner-notification-list>div,
.ihpd-owner-list>div{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:10px;
    padding:11px 12px;
    border:1px solid #edf0f4;
    border-radius:9px;
    background:#fbfcfe;
}
.ihpd-owner-notification-list>div>div,
.ihpd-owner-list>div>div{display:flex;flex-direction:column;gap:3px}
.ihpd-owner-notification-list small,
.ihpd-owner-list small,
.ihpd-owner-notification-list>div>span:last-child,
.ihpd-owner-list>div>span:last-child{color:#7a8494;font-size:12px}
.ihpd-owner-table-wrap{width:100%;overflow-x:auto}
.ihpd-owner-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}
.ihpd-owner-table th{background:#f5f7fa;color:#344054;font-weight:700;padding:12px 14px;text-align:left;border-bottom:1px solid #dfe5ec}
.ihpd-owner-table td{padding:13px 14px;border-bottom:1px solid #edf0f4}
.ihpd-owner-table tbody tr:last-child td{border-bottom:0}
.ihpd-owner-two-column{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ihpd-system-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}

@media(max-width:1200px){
    .ihpd-owner-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
    .ihpd-owner-heading{flex-direction:column}
    .ihpd-owner-quick-actions{justify-content:flex-start}
    .ihpd-owner-today-grid,
    .ihpd-system-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ihpd-owner-two-column{grid-template-columns:1fr}
}
@media(max-width:600px){
    .ihpd-owner-kpi-grid,
    .ihpd-owner-today-grid,
    .ihpd-system-status-grid{grid-template-columns:1fr}
    .ihpd-owner-panel-heading{flex-direction:column}
    .ihpd-owner-notification-list>div,
    .ihpd-owner-list>div{grid-template-columns:auto 1fr}
    .ihpd-owner-notification-list>div>span:last-child,
    .ihpd-owner-list>div>span:last-child{grid-column:2}
}


/* v3.5 Owner financial analytics */
.ihpd-owner-analytics-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.ihpd-owner-analytics-grid>div,
.ihpd-source-list>div{
    background:#f8fafc;
    border:1px solid #e4e9ef;
    border-radius:11px;
    padding:14px 16px;
}
.ihpd-owner-analytics-grid span{
    display:block;
    color:#667085;
    font-size:12px;
    margin-bottom:7px;
}
.ihpd-owner-analytics-grid strong{
    color:#17233a;
    font-size:18px;
}
.ihpd-source-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.ihpd-source-list>div{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}
.ihpd-source-list span{color:#475467}
.ihpd-source-list strong{color:#17233a;font-size:18px}
@media(max-width:1000px){
    .ihpd-owner-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
    .ihpd-owner-analytics-grid,
    .ihpd-source-list{grid-template-columns:1fr}
}


/* v3.6 role-aware onboarding intro */
.ihpd-page-intro{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin:0 0 18px;
    padding:20px 22px;
    border:1px solid #e1e6ed;
    border-radius:14px;
    background:
        radial-gradient(circle at top right, rgba(112,201,173,.16), transparent 34%),
        #fff;
    box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.ihpd-page-intro-copy{min-width:0}
.ihpd-page-eyebrow{
    display:block;
    margin-bottom:6px;
    color:#167a70;
    font-size:11px;
    font-weight:800;
    letter-spacing:.09em;
}
.ihpd-page-intro h1{
    margin:0 0 7px;
    color:#17233a;
    font-size:30px;
    line-height:1.15;
}
.ihpd-page-intro p{
    max-width:840px;
    margin:0;
    color:#667085;
    line-height:1.6;
}
.ihpd-page-user{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:2px;
    padding:9px 12px;
    border:1px solid #e3e8ef;
    border-radius:10px;
    background:rgba(255,255,255,.88);
}
.ihpd-page-user strong{color:#17233a;font-size:13px}
.ihpd-page-user small{color:#7a8494;font-size:11px}
@media(max-width:767px){
    .ihpd-page-intro{
        flex-direction:column;
        padding:17px;
    }
    .ihpd-page-intro h1{font-size:25px}
    .ihpd-page-user{align-items:flex-start}
}


/* v3.7 shared role-aware page intros */
.ihpd-owner-dashboard > .ihpd-page-intro,
.ihpd-overview > .ihpd-page-intro,
.ihpd-finance-page > .ihpd-page-intro,
.ihpd-withdrawal-page > .ihpd-page-intro{
    width:100%;
    box-sizing:border-box;
}
.ihpd-overview > .ihpd-page-intro,
.ihpd-finance-page > .ihpd-page-intro,
.ihpd-withdrawal-page > .ihpd-page-intro{
    margin-bottom:18px;
}


/* v3.8 role separation and owner revenue */
.ihpd-finance-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:0 0 16px;
}
.ihpd-finance-summary-grid>div{
    padding:16px;
    border:1px solid #e1e6ed;
    border-radius:12px;
    background:#fff;
    box-shadow:0 6px 18px rgba(15,23,42,.04);
}
.ihpd-finance-summary-grid span{
    display:block;
    margin-bottom:7px;
    color:#667085;
    font-size:12px;
}
.ihpd-finance-summary-grid strong{
    color:#17233a;
    font-size:20px;
}
.ihpd-owner-revenue-table{
    min-width:1450px!important;
}
@media(max-width:1000px){
    .ihpd-finance-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:600px){
    .ihpd-finance-summary-grid{
        grid-template-columns:1fr;
    }
}


/* v4.1 mobile responsiveness only */
@media (max-width:767px){
  .ihpd-dashboard,.ihpd-overview,.ihpd-owner-dashboard,.ihpd-finance-page,
  .ihpd-withdrawal-page,.ihpd-history-card,.ihpd-request-card,.ihpd-owner-panel,
  .ihpd-chart-card,.ihpd-finance-edit-card,.ihpd-page-intro{
    width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
  }

  .ihpd-page-intro{flex-direction:column!important;align-items:flex-start!important;gap:14px!important;padding:16px!important}
  .ihpd-page-intro h1{font-size:24px!important;line-height:1.2!important}
  .ihpd-page-intro p{font-size:14px!important;line-height:1.55!important}
  .ihpd-page-user{width:100%!important;align-items:flex-start!important;box-sizing:border-box!important}

  .ihpd-owner-heading,.ihpd-owner-panel-heading,.ihpd-request-heading,.ihpd-withdraw-summary{
    flex-direction:column!important;align-items:flex-start!important;
  }

  .ihpd-owner-quick-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important}
  .ihpd-owner-quick-actions a,.ihpd-owner-panel-heading a{width:100%!important;box-sizing:border-box!important}

  .ihpd-stat-grid,.ihpd-owner-kpi-grid,.ihpd-owner-today-grid,.ihpd-owner-analytics-grid,
  .ihpd-system-status-grid,.ihpd-source-list,.ihpd-finance-summary-grid,.ihpd-chart-grid,
  .ihpd-owner-two-column{grid-template-columns:1fr!important}

  .ihpd-filters,.ihpd-public-filters,.ihpd-filter-bar,.ihpd-finance-edit-grid,.ihpd-form-grid{
    display:grid!important;grid-template-columns:1fr!important;gap:10px!important
  }

  .ihpd-filters input,.ihpd-filters select,.ihpd-public-filters input,.ihpd-public-filters select,
  .ihpd-public-filters button,.ihpd-finance-edit-grid input,.ihpd-finance-edit-grid select,
  .ihpd-finance-edit-grid textarea,.ihpd-form-grid input,.ihpd-form-grid select,.ihpd-form-grid textarea{
    width:100%!important;max-width:100%!important;box-sizing:border-box!important
  }

  .ihpd-finance-edit-full,.ihpd-finance-edit-actions{grid-column:1!important}
  .ihpd-finance-edit-actions{flex-direction:column!important;align-items:stretch!important}
  .ihpd-finance-edit-actions button,.ihpd-finance-edit-actions a{width:100%!important;box-sizing:border-box!important}

  .ihpd-table-wrap,.ihpd-owner-table-wrap{overflow:visible!important;border:0!important;background:transparent!important}
  .ihpd-table,.ihpd-owner-table{
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;background:transparent!important
  }
  .ihpd-table thead,.ihpd-owner-table thead{display:none!important}
  .ihpd-table tbody,.ihpd-owner-table tbody{display:block!important;width:100%!important}
  .ihpd-table tr,.ihpd-owner-table tr{
    display:block!important;width:100%!important;margin:0 0 14px!important;padding:8px 14px!important;
    border:1px solid #e0e6ee!important;border-radius:12px!important;background:#fff!important;
    box-shadow:0 6px 18px rgba(15,23,42,.05)!important;box-sizing:border-box!important
  }
  .ihpd-table td,.ihpd-owner-table td{
    display:grid!important;grid-template-columns:minmax(105px,40%) minmax(0,1fr)!important;gap:12px!important;
    align-items:start!important;width:100%!important;min-width:0!important;max-width:none!important;
    padding:10px 0!important;border:0!important;border-bottom:1px solid #edf0f4!important;
    white-space:normal!important;overflow-wrap:anywhere!important;text-align:left!important;box-sizing:border-box!important
  }
  .ihpd-table td:last-child,.ihpd-owner-table td:last-child{border-bottom:0!important}
  .ihpd-table td::before,.ihpd-owner-table td::before{
    content:attr(data-label)!important;display:block!important;color:#667085!important;
    font-size:12px!important;font-weight:700!important;line-height:1.45!important
  }

  .ihpd-row-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .ihpd-row-actions::before{flex:0 0 105px!important}

  .ihpd-owner-notification-list>div,.ihpd-owner-list>div,.ihpd-owner-alert-item{
    grid-template-columns:auto 1fr!important;align-items:start!important
  }
  .ihpd-owner-notification-list>div>span:last-child,.ihpd-owner-list>div>span:last-child,
  .ihpd-owner-alert-item>span:last-child{grid-column:2!important}

  .ihpd-client-dropdown-menu{
    position:fixed!important;left:12px!important;right:12px!important;top:18vh!important;max-height:64vh!important
  }
  .ihpd-client-dropdown-options{max-height:48vh!important}
  .ihpd-client-choice{grid-template-columns:auto minmax(0,1fr)!important}
  .ihpd-client-choice>strong{grid-column:2!important}

  .ihpd-request-submit,.ihpd-logout-button{width:100%!important;box-sizing:border-box!important}
}

.ihpd-onboarding-tools{
    display:flex;
    justify-content:flex-end;
    margin:0 0 18px;
}
.ihpd-onboarding-tools .ihpd-crud-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}
.ihpd-message-commission-page{
    width:100%;
    max-width:100%;
}
.ihpd-message-commission-form{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.ihpd-message-commission-form label{
    display:flex;
    flex-direction:column;
    gap:7px;
    font-weight:600;
}
.ihpd-message-commission-form input,
.ihpd-message-commission-form select{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}
.ihpd-message-full{
    grid-column:1/-1;
}
.ihpd-message-total-card{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:16px 18px;
    border:1px solid #e0e6ee;
    border-radius:12px;
    background:#f8fafc;
}
.ihpd-message-total-card strong{
    font-size:24px;
}
.ihpd-withdraw-breakdown{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:2px;
}
@media(max-width:767px){
    .ihpd-onboarding-tools{
        justify-content:stretch;
    }
    .ihpd-onboarding-tools .ihpd-crud-primary{
        width:100%;
        box-sizing:border-box;
    }
    .ihpd-message-commission-form{
        grid-template-columns:1fr;
    }
    .ihpd-message-full,
    .ihpd-message-total-card{
        grid-column:1;
    }
    .ihpd-message-total-card{
        align-items:flex-start;
        flex-direction:column;
    }
    .ihpd-withdraw-breakdown{
        align-items:flex-start;
    }
}

.ihpd-withdraw-group{
    border-bottom:1px solid #e7ebf0;
}
.ihpd-withdraw-group:last-child{
    border-bottom:0;
}
.ihpd-withdraw-group-title{
    position:sticky;
    top:0;
    z-index:2;
    padding:11px 14px;
    background:#f5f7fa;
    color:#344054;
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    border-bottom:1px solid #e7ebf0;
}
.ihpd-client-choice-name em{
    display:inline-flex;
    width:max-content;
    margin-top:5px;
    padding:3px 7px;
    border-radius:999px;
    background:#eef2f6;
    color:#475467;
    font-size:10px;
    font-style:normal;
    font-weight:700;
}
.ihpd-client-choice-message .ihpd-client-choice-name em{
    background:#ecfdf3;
    color:#027a48;
}
@media(max-width:767px){
    .ihpd-withdraw-group-title{
        padding:10px 12px;
    }
}


/* v4.8 desktop and laptop horizontal table scrolling */
@media (min-width: 768px) {
    .ihpd-table-wrap,
    .ihpd-owner-table-wrap {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        border-radius: 12px;
    }

    .ihpd-table,
    .ihpd-owner-table {
        width: max-content !important;
        min-width: 1500px !important;
        max-width: none !important;
        table-layout: auto !important;
        border-collapse: collapse !important;
    }

    .ihpd-table th,
    .ihpd-table td,
    .ihpd-owner-table th,
    .ihpd-owner-table td {
        white-space: nowrap !important;
        min-width: 130px;
    }

    .ihpd-table th:first-child,
    .ihpd-table td:first-child,
    .ihpd-owner-table th:first-child,
    .ihpd-owner-table td:first-child {
        min-width: 180px;
    }

    .ihpd-table thead th,
    .ihpd-owner-table thead th {
        position: sticky;
        top: 0;
        z-index: 3;
        background: #f8fafc;
    }

    .ihpd-table-wrap::-webkit-scrollbar,
    .ihpd-owner-table-wrap::-webkit-scrollbar {
        height: 10px;
    }

    .ihpd-table-wrap::-webkit-scrollbar-track,
    .ihpd-owner-table-wrap::-webkit-scrollbar-track {
        background: #f1f3f6;
        border-radius: 999px;
    }

    .ihpd-table-wrap::-webkit-scrollbar-thumb,
    .ihpd-owner-table-wrap::-webkit-scrollbar-thumb {
        background: #b7c0cc;
        border-radius: 999px;
    }

    .ihpd-table-wrap::-webkit-scrollbar-thumb:hover,
    .ihpd-owner-table-wrap::-webkit-scrollbar-thumb:hover {
        background: #98a2b3;
    }
}

/* Keep withdrawal dropdown independently scrollable */
.ihpd-client-dropdown-menu {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}


/* v4.8.1 sticky table header color fix */
@media (min-width: 768px) {
    .ihpd-table thead th,
    .ihpd-owner-table thead th {
        background: #f8fafc !important;
        color: #1f2937 !important;
    }
}


/* v4.9 automatic table filters and date sorting */
.ihpd-auto-table-filters{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
    gap:10px;
    width:100%;
    margin:0 0 12px;
}
.ihpd-auto-filter-field{
    display:flex;
    flex-direction:column;
    gap:5px;
    min-width:170px;
    margin:0;
}
.ihpd-auto-filter-field>span{
    color:#475467;
    font-size:11px;
    font-weight:700;
}
.ihpd-auto-filter-field select,
.ihpd-auto-filter-reset{
    min-height:42px;
    padding:9px 11px;
    border:1px solid #d0d5dd;
    border-radius:8px;
    background:#fff;
    color:#101828;
    box-sizing:border-box;
}
.ihpd-auto-filter-reset{
    cursor:pointer;
    font-weight:700;
}
.ihpd-sortable-date{
    cursor:pointer;
    user-select:none;
}
.ihpd-date-sort-arrows{
    display:inline-flex;
    margin-left:6px;
    color:#98a2b3;
    font-size:8px;
    letter-spacing:-2px;
    vertical-align:middle;
}
.ihpd-date-sort-asc .ihpd-date-sort-arrows,
.ihpd-date-sort-desc .ihpd-date-sort-arrows{
    color:#344054;
}
@media(max-width:767px){
    .ihpd-auto-table-filters{
        display:grid;
        grid-template-columns:1fr;
    }
    .ihpd-auto-filter-field,
    .ihpd-auto-filter-field select,
    .ihpd-auto-filter-reset{
        width:100%;
        min-width:0;
    }
}


/* v5.0 pagination and date range filters */
.ihpd-table-pagination{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    width:100%;
    margin:12px 0 20px;
}
.ihpd-pagination-info{
    color:#667085;
    font-size:13px;
}
.ihpd-pagination-buttons{
    display:flex;
    align-items:center;
    gap:6px;
}
.ihpd-pagination-buttons button{
    min-width:38px;
    min-height:38px;
    padding:7px 10px;
    border:1px solid #d0d5dd;
    border-radius:8px;
    background:#fff;
    color:#344054;
    cursor:pointer;
}
.ihpd-pagination-buttons button:hover:not(:disabled){
    background:#f8fafc;
}
.ihpd-pagination-buttons button:disabled{
    cursor:not-allowed;
    opacity:.45;
}
.ihpd-pagination-page.is-active{
    background:#101828 !important;
    border-color:#101828 !important;
    color:#fff !important;
}
@media(max-width:767px){
    .ihpd-table-pagination{
        flex-direction:column;
        align-items:stretch;
    }
    .ihpd-pagination-buttons{
        justify-content:center;
        flex-wrap:wrap;
    }
}


/* v5.0.3 onboarding date-range dropdown */
.ihpd-filters .ihpd-date-filter{
    width:100%;
    min-height:42px;
    padding:10px 12px;
    border:1px solid var(--ihpd-border);
    border-radius:8px;
    background:#fff;
    color:#101828;
    box-sizing:border-box;
}


/* v5.1 Message Commission table formatting */
.ihpd-message-commission-page .ihpd-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    border:1px solid #dfe5ec;
    border-radius:12px;
    background:#fff;
    -webkit-overflow-scrolling:touch;
}
.ihpd-message-commission-page .ihpd-message-table{
    width:max-content !important;
    min-width:2050px !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    table-layout:auto !important;
}
.ihpd-message-commission-page .ihpd-message-table th,
.ihpd-message-commission-page .ihpd-message-table td{
    min-width:145px !important;
    padding:13px 14px !important;
    white-space:nowrap !important;
    border-right:1px solid #e3e8ef;
    border-bottom:1px solid #e3e8ef;
    box-sizing:border-box;
}
.ihpd-message-commission-page .ihpd-message-table th:first-child,
.ihpd-message-commission-page .ihpd-message-table td:first-child{
    min-width:250px !important;
}
.ihpd-message-commission-page .ihpd-message-table th:nth-child(2),
.ihpd-message-commission-page .ihpd-message-table td:nth-child(2){
    min-width:180px !important;
}
.ihpd-message-commission-page .ihpd-message-table th:nth-child(5),
.ihpd-message-commission-page .ihpd-message-table td:nth-child(5),
.ihpd-message-commission-page .ihpd-message-table th:nth-child(8),
.ihpd-message-commission-page .ihpd-message-table td:nth-child(8){
    min-width:190px !important;
}
.ihpd-message-commission-page .ihpd-message-table th{
    position:sticky;
    top:0;
    z-index:3;
    background:#f8fafc !important;
    color:#1d2939 !important;
    font-weight:700;
}
.ihpd-message-commission-page .ihpd-message-table th:last-child,
.ihpd-message-commission-page .ihpd-message-table td:last-child{
    min-width:150px !important;
    border-right:0;
}
.ihpd-message-commission-page .ihpd-empty{
    margin-top:12px;
}
@media(max-width:767px){
    .ihpd-message-commission-page .ihpd-message-table{
        min-width:0 !important;
        width:100% !important;
    }
    .ihpd-message-commission-page .ihpd-message-table th,
    .ihpd-message-commission-page .ihpd-message-table td{
        min-width:0 !important;
        white-space:normal !important;
        border-right:0;
    }
}

/* v5.3.4 separate withdrawal commission groups */
.ihpd-withdraw-select-all-row{
    padding:12px 14px;
    background:#fff;
    border-bottom:1px solid #e7ebf0;
}
.ihpd-withdraw-select-all,
.ihpd-withdraw-group-select-all{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0;
    cursor:pointer;
    font-weight:700;
}
.ihpd-withdraw-select-all input,
.ihpd-withdraw-group-select-all input{
    margin:0;
}
.ihpd-client-choice{
    align-items:flex-start;
}
.ihpd-client-choice>.ihpd-withdraw-client{
    margin-top:4px;
}


/* v5.3.5 withdrawal selector layout and select-all fix */
.ihpd-withdrawal-page .ihpd-client-dropdown-menu{
    overflow:hidden !important;
}

.ihpd-withdrawal-page .ihpd-client-dropdown-options{
    max-height:420px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:0 !important;
}

.ihpd-withdrawal-page .ihpd-withdraw-select-all-row{
    position:sticky;
    top:0;
    z-index:5;
    padding:12px 14px;
    background:#fff;
    border-bottom:1px solid #e4e9ef;
}

.ihpd-withdrawal-page .ihpd-withdraw-group{
    border-bottom:1px solid #e4e9ef;
}

.ihpd-withdrawal-page .ihpd-withdraw-group-title{
    position:sticky;
    top:45px;
    z-index:4;
    padding:11px 14px;
    background:#f4f6f8;
    border-bottom:1px solid #e1e6ec;
}

.ihpd-withdrawal-page .ihpd-withdraw-select-all,
.ihpd-withdrawal-page .ihpd-withdraw-group-select-all{
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    width:100%;
    margin:0 !important;
    cursor:pointer;
}

.ihpd-withdrawal-page .ihpd-client-choice{
    display:grid !important;
    grid-template-columns:22px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:12px !important;
    width:100%;
    margin:0 !important;
    padding:13px 14px !important;
    border:0 !important;
    border-bottom:1px solid #edf0f4 !important;
    border-radius:0 !important;
    background:#fff;
    box-sizing:border-box;
}

.ihpd-withdrawal-page .ihpd-client-choice:last-child{
    border-bottom:0 !important;
}

.ihpd-withdrawal-page .ihpd-client-choice:hover{
    background:#f8fbfa !important;
}

.ihpd-withdrawal-page .ihpd-client-choice > .ihpd-withdraw-client{
    grid-column:1;
    margin:0 !important;
    align-self:start;
    margin-top:3px !important;
}

.ihpd-withdrawal-page .ihpd-client-choice-name{
    grid-column:2;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.ihpd-withdrawal-page .ihpd-client-choice-name strong,
.ihpd-withdrawal-page .ihpd-client-choice-name small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ihpd-withdrawal-page .ihpd-withdraw-breakdown{
    grid-column:3;
    min-width:120px;
    align-items:flex-end !important;
    text-align:right;
}

.ihpd-withdrawal-page .ihpd-withdraw-breakdown strong{
    white-space:nowrap;
}

@media(max-width:767px){
    .ihpd-withdrawal-page .ihpd-client-choice{
        grid-template-columns:22px minmax(0,1fr) !important;
    }

    .ihpd-withdrawal-page .ihpd-withdraw-breakdown{
        grid-column:2;
        align-items:flex-start !important;
        text-align:left;
        min-width:0;
        margin-top:5px;
    }
}


/* v5.3.6 owner receivable KPI helper text */
.ihpd-owner-kpi-card small{
    display:block;
    margin-top:7px;
    color:#667085;
    font-size:11px;
    line-height:1.4;
}


/* =========================================================
   v5.3.8 COMPLETE RESPONSIVE FIX
   Dashboard + Onboarding across desktop/laptop/tablet/mobile
   ========================================================= */

/* Prevent Elementor/Divi shortcode containers from clipping the portal */
.ihpd-dashboard,
.ihpd-overview,
.ihpd-owner-dashboard,
.ihpd-onboarding-page,
.ihpd-finance-page,
.ihpd-withdrawal-page{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}

.ihpd-dashboard *,
.ihpd-overview *,
.ihpd-owner-dashboard *,
.ihpd-onboarding-page *,
.ihpd-finance-page *,
.ihpd-withdrawal-page *{
    box-sizing:border-box;
}

/* Generic responsive media/content protection */
.ihpd-dashboard img,
.ihpd-overview img,
.ihpd-owner-dashboard img,
.ihpd-onboarding-page img{
    max-width:100%;
    height:auto;
}

.ihpd-dashboard input,
.ihpd-dashboard select,
.ihpd-dashboard textarea,
.ihpd-dashboard button,
.ihpd-overview input,
.ihpd-overview select,
.ihpd-overview textarea,
.ihpd-overview button,
.ihpd-owner-dashboard input,
.ihpd-owner-dashboard select,
.ihpd-owner-dashboard textarea,
.ihpd-owner-dashboard button{
    max-width:100%;
}

/* Portal header/navigation */
.ihpd-portal-header,
.ihpd-portal-header-inner{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}

.ihpd-portal-header-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
    flex-wrap:wrap !important;
}

.ihpd-portal-brand{
    min-width:0 !important;
    flex:1 1 260px !important;
}

.ihpd-portal-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
    flex:1 1 520px !important;
    flex-wrap:wrap !important;
    min-width:0 !important;
}

.ihpd-portal-nav a{
    white-space:nowrap;
}

/* Page intro/banner */
.ihpd-page-intro{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:start !important;
    gap:22px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}

.ihpd-page-intro > div:first-child{
    min-width:0;
}

.ihpd-page-intro h1,
.ihpd-page-intro h2,
.ihpd-page-intro p{
    overflow-wrap:anywhere;
}

.ihpd-user-card{
    max-width:220px;
    min-width:0;
}

/* Dashboard card grids */
.ihpd-stat-grid,
.ihpd-owner-kpi-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:14px !important;
    width:100% !important;
    min-width:0 !important;
}

.ihpd-owner-kpi-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.ihpd-owner-today-grid,
.ihpd-owner-analytics-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
    width:100%;
    min-width:0;
}

.ihpd-stat-card,
.ihpd-owner-kpi-card,
.ihpd-owner-today-grid > div,
.ihpd-owner-analytics-grid > div{
    min-width:0 !important;
    overflow:hidden;
}

.ihpd-stat-card strong,
.ihpd-owner-kpi-card strong,
.ihpd-owner-today-grid strong,
.ihpd-owner-analytics-grid strong{
    overflow-wrap:anywhere;
}

/* Charts/panels */
.ihpd-chart-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
    width:100% !important;
    min-width:0 !important;
}

.ihpd-chart-card,
.ihpd-owner-panel{
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden;
}

.ihpd-owner-heading,
.ihpd-owner-panel-heading{
    display:flex !important;
    justify-content:space-between !important;
    align-items:flex-start !important;
    gap:18px !important;
    flex-wrap:wrap !important;
}

.ihpd-owner-quick-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    justify-content:flex-end !important;
}

/* Onboarding controls */
.ihpd-onboarding-tools,
.ihpd-public-filters,
.ihpd-filters,
.ihpd-auto-table-filters{
    width:100% !important;
    min-width:0 !important;
}

.ihpd-public-filters,
.ihpd-filters{
    display:grid !important;
    grid-template-columns:minmax(220px,1fr) minmax(150px,220px) minmax(150px,220px) !important;
    gap:10px !important;
    align-items:end !important;
}

.ihpd-auto-table-filters{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(145px,1fr)) auto !important;
    gap:10px !important;
    align-items:end !important;
}

.ihpd-auto-filter-field{
    min-width:0 !important;
    width:100% !important;
}

.ihpd-auto-filter-field select,
.ihpd-auto-filter-field input,
.ihpd-auto-filter-reset{
    width:100% !important;
    min-width:0 !important;
}

/* Keep desktop/laptop tables inside page, with their own horizontal scroll */
.ihpd-table-wrap,
.ihpd-owner-table-wrap,
.ihpd-admin-scroll{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain;
}

.ihpd-table,
.ihpd-owner-table,
.ihpd-finance-table{
    max-width:none !important;
}

.ihpd-onboarding-page .ihpd-table{
    min-width:1500px !important;
    width:max-content !important;
}

/* Pagination */
.ihpd-table-pagination{
    width:100%;
    min-width:0;
    flex-wrap:wrap;
}

.ihpd-pagination-buttons{
    flex-wrap:wrap;
}

/* Large laptop / small desktop */
@media (max-width: 1366px){
    .ihpd-dashboard,
    .ihpd-overview,
    .ihpd-owner-dashboard,
    .ihpd-onboarding-page{
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .ihpd-stat-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .ihpd-owner-kpi-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }

    .ihpd-owner-today-grid,
    .ihpd-owner-analytics-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .ihpd-auto-table-filters{
        grid-template-columns:repeat(3,minmax(160px,1fr)) !important;
    }

    .ihpd-auto-filter-reset{
        min-height:42px;
    }
}

/* Tablet landscape */
@media (max-width: 1024px){
    .ihpd-portal-header-inner{
        align-items:flex-start !important;
    }

    .ihpd-portal-brand,
    .ihpd-portal-nav{
        flex:1 1 100% !important;
    }

    .ihpd-portal-nav{
        justify-content:flex-start !important;
    }

    .ihpd-page-intro{
        grid-template-columns:1fr !important;
    }

    .ihpd-user-card{
        max-width:none;
        width:max-content;
    }

    .ihpd-owner-kpi-grid,
    .ihpd-owner-today-grid,
    .ihpd-owner-analytics-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .ihpd-public-filters,
    .ihpd-filters{
        grid-template-columns:1fr 1fr !important;
    }

    .ihpd-public-filters > :first-child,
    .ihpd-filters > :first-child{
        grid-column:1 / -1;
    }

    .ihpd-auto-table-filters{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .ihpd-chart-grid{
        grid-template-columns:1fr !important;
    }
}

/* Tablet portrait */
@media (max-width: 767px){
    .ihpd-portal-header{
        padding:12px !important;
    }

    .ihpd-portal-header-inner{
        gap:12px !important;
    }

    .ihpd-portal-brand{
        flex:1 1 100% !important;
    }

    .ihpd-portal-nav{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        width:100% !important;
        gap:8px !important;
    }

    .ihpd-portal-nav a{
        width:100% !important;
        justify-content:center !important;
        text-align:center !important;
    }

    .ihpd-page-intro{
        padding:18px !important;
        gap:14px !important;
    }

    .ihpd-page-intro h1{
        font-size:26px !important;
        line-height:1.2 !important;
    }

    .ihpd-user-card{
        width:100% !important;
        max-width:100% !important;
    }

    .ihpd-stat-grid,
    .ihpd-owner-kpi-grid,
    .ihpd-owner-today-grid,
    .ihpd-owner-analytics-grid{
        grid-template-columns:1fr !important;
    }

    .ihpd-owner-heading,
    .ihpd-owner-panel-heading{
        flex-direction:column !important;
        align-items:stretch !important;
    }

    .ihpd-owner-quick-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        width:100% !important;
    }

    .ihpd-owner-quick-actions a{
        width:100% !important;
        text-align:center !important;
        justify-content:center !important;
    }

    .ihpd-public-filters,
    .ihpd-filters,
    .ihpd-auto-table-filters{
        grid-template-columns:1fr !important;
    }

    .ihpd-public-filters > *,
    .ihpd-filters > *,
    .ihpd-auto-table-filters > *{
        grid-column:auto !important;
        width:100% !important;
    }

    .ihpd-onboarding-tools{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    .ihpd-onboarding-tools a,
    .ihpd-onboarding-tools button{
        width:100% !important;
        justify-content:center !important;
        text-align:center !important;
    }

    /* On mobile use card rows instead of a wide table */
    .ihpd-onboarding-page .ihpd-table-wrap{
        overflow:visible !important;
        border:0 !important;
        background:transparent !important;
    }

    .ihpd-onboarding-page .ihpd-table{
        display:block !important;
        min-width:0 !important;
        width:100% !important;
    }

    .ihpd-onboarding-page .ihpd-table thead{
        display:none !important;
    }

    .ihpd-onboarding-page .ihpd-table tbody{
        display:grid !important;
        gap:12px !important;
        width:100% !important;
    }

    .ihpd-onboarding-page .ihpd-table tr{
        display:grid !important;
        grid-template-columns:1fr !important;
        width:100% !important;
        padding:14px !important;
        border:1px solid #dfe5ec !important;
        border-radius:12px !important;
        background:#fff !important;
        overflow:hidden !important;
    }

    .ihpd-onboarding-page .ihpd-table td,
    .ihpd-onboarding-page .ihpd-table th{
        display:grid !important;
        grid-template-columns:minmax(110px,42%) minmax(0,1fr) !important;
        align-items:start !important;
        gap:10px !important;
        width:100% !important;
        min-width:0 !important;
        padding:8px 0 !important;
        border:0 !important;
        border-bottom:1px solid #eef1f4 !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }

    .ihpd-onboarding-page .ihpd-table td:last-child,
    .ihpd-onboarding-page .ihpd-table th:last-child{
        border-bottom:0 !important;
    }

    .ihpd-onboarding-page .ihpd-table td::before,
    .ihpd-onboarding-page .ihpd-table th::before{
        content:attr(data-label);
        color:#667085;
        font-size:12px;
        font-weight:700;
        line-height:1.4;
    }

    .ihpd-table-pagination{
        flex-direction:column !important;
        align-items:stretch !important;
    }

    .ihpd-pagination-buttons{
        justify-content:center !important;
    }
}

/* Narrow mobile */
@media (max-width: 480px){
    .ihpd-portal-nav{
        grid-template-columns:1fr !important;
    }

    .ihpd-owner-quick-actions{
        grid-template-columns:1fr !important;
    }

    .ihpd-page-intro{
        padding:15px !important;
    }

    .ihpd-page-intro h1{
        font-size:23px !important;
    }

    .ihpd-stat-card,
    .ihpd-owner-kpi-card,
    .ihpd-owner-today-grid > div,
    .ihpd-owner-analytics-grid > div,
    .ihpd-owner-panel,
    .ihpd-chart-card{
        padding:15px !important;
    }

    .ihpd-onboarding-page .ihpd-table td,
    .ihpd-onboarding-page .ihpd-table th{
        grid-template-columns:1fr !important;
        gap:4px !important;
    }

    .ihpd-onboarding-page .ihpd-table td::before,
    .ihpd-onboarding-page .ihpd-table th::before{
        margin-bottom:2px;
    }
}

/* Elementor editor canvas can be narrower than the selected breakpoint.
   Prevent the shortcode from extending behind the editor sidebar. */
.elementor-editor-active .ihpd-dashboard,
.elementor-editor-active .ihpd-overview,
.elementor-editor-active .ihpd-owner-dashboard,
.elementor-editor-active .ihpd-onboarding-page{
    max-width:100% !important;
    overflow:hidden !important;
}

.elementor-editor-active .ihpd-table-wrap{
    max-width:100% !important;
}


/* =========================================================
   v5.3.9 HARD WIDTH / CLIPPING FIX FOR ELEMENTOR + APPLE LAPTOPS
   ========================================================= */

/* Never use viewport width inside builder/content columns */
.ihpd-dashboard,
.ihpd-overview,
.ihpd-owner-dashboard,
.ihpd-onboarding-page,
.ihpd-finance-page,
.ihpd-withdrawal-page,
.ihpd-message-commission-page{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

/* Protect against old full-bleed rules */
.ihpd-dashboard,
.ihpd-overview,
.ihpd-owner-dashboard,
.ihpd-onboarding-page{
    margin-inline:0 !important;
    inset:auto !important;
}

/* Elementor wrappers must allow the shortcode to shrink */
.elementor-widget-shortcode,
.elementor-widget-shortcode > .elementor-widget-container,
.elementor-widget-shortcode .shortcode,
.elementor-widget-shortcode .ihpd-dashboard,
.elementor-widget-shortcode .ihpd-overview,
.elementor-widget-shortcode .ihpd-owner-dashboard,
.elementor-widget-shortcode .ihpd-onboarding-page{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
}

/* Some themes/builders add negative margins or fixed inner widths */
.elementor-widget-shortcode .ihpd-page-intro,
.elementor-widget-shortcode .ihpd-owner-heading,
.elementor-widget-shortcode .ihpd-owner-kpi-grid,
.elementor-widget-shortcode .ihpd-owner-today-grid,
.elementor-widget-shortcode .ihpd-owner-panel,
.elementor-widget-shortcode .ihpd-onboarding-tools,
.elementor-widget-shortcode .ihpd-public-filters,
.elementor-widget-shortcode .ihpd-filters,
.elementor-widget-shortcode .ihpd-auto-table-filters,
.elementor-widget-shortcode .ihpd-table-wrap{
    margin-left:0 !important;
    margin-right:0 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}

/* Portal header must not push page wider than container */
.ihpd-portal-header,
.ihpd-portal-header-inner{
    overflow:hidden !important;
}

.ihpd-portal-header-inner{
    display:grid !important;
    grid-template-columns:minmax(260px,1fr) auto !important;
    align-items:center !important;
    gap:20px !important;
}

.ihpd-portal-brand{
    min-width:0 !important;
    overflow:hidden !important;
}

.ihpd-portal-nav{
    min-width:0 !important;
    max-width:100% !important;
    display:flex !important;
    justify-content:flex-end !important;
    flex-wrap:wrap !important;
    gap:10px !important;
}

/* Onboarding form: fluid auto-fit grid instead of rigid columns */
.ihpd-crud-form .ihpd-form-grid,
.ihpd-client-form .ihpd-form-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
    gap:16px !important;
    width:100% !important;
    min-width:0 !important;
}

.ihpd-crud-form .ihpd-form-grid > *,
.ihpd-client-form .ihpd-form-grid > *{
    min-width:0 !important;
    width:100% !important;
}

.ihpd-crud-form input,
.ihpd-crud-form select,
.ihpd-crud-form textarea,
.ihpd-client-form input,
.ihpd-client-form select,
.ihpd-client-form textarea{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}

/* Action button must remain inside viewport */
.ihpd-onboarding-tools{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-end !important;
    gap:10px !important;
    overflow:hidden !important;
}

.ihpd-onboarding-tools a,
.ihpd-onboarding-tools button{
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
}

/* Desktop and laptop: only table scrolls, never entire page */
.ihpd-onboarding-page{
    overflow-x:hidden !important;
}

.ihpd-onboarding-page .ihpd-table-wrap{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}

.ihpd-onboarding-page .ihpd-table{
    min-width:1450px !important;
    width:max-content !important;
    max-width:none !important;
}

/* Fluid dashboard grids for uncommon widths such as 1700px Apple displays */
.ihpd-stat-grid{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
}

.ihpd-owner-kpi-grid{
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
}

.ihpd-owner-today-grid,
.ihpd-owner-analytics-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
}

.ihpd-chart-grid{
    grid-template-columns:repeat(auto-fit,minmax(380px,1fr)) !important;
}

/* Breakpoint-specific portal/menu behavior */
@media (max-width:1200px){
    .ihpd-portal-header-inner{
        grid-template-columns:1fr !important;
    }

    .ihpd-portal-nav{
        justify-content:flex-start !important;
    }

    .ihpd-auto-table-filters{
        grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) !important;
    }
}

@media (max-width:900px){
    .ihpd-crud-form .ihpd-form-grid,
    .ihpd-client-form .ihpd-form-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .ihpd-page-intro{
        grid-template-columns:1fr !important;
    }

    .ihpd-user-card{
        width:100% !important;
        max-width:100% !important;
    }
}

@media (max-width:767px){
    .ihpd-portal-nav{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        width:100% !important;
    }

    .ihpd-crud-form .ihpd-form-grid,
    .ihpd-client-form .ihpd-form-grid{
        grid-template-columns:1fr !important;
    }

    .ihpd-chart-grid{
        grid-template-columns:1fr !important;
    }

    .ihpd-onboarding-tools{
        display:grid !important;
        grid-template-columns:1fr !important;
    }
}

@media (max-width:480px){
    .ihpd-portal-nav{
        grid-template-columns:1fr !important;
    }
}

/* Elementor editor preview: fit exactly inside the editable canvas */
body.elementor-editor-active .elementor-widget-shortcode,
body.elementor-editor-active .elementor-widget-shortcode > .elementor-widget-container,
body.elementor-editor-active .ihpd-dashboard,
body.elementor-editor-active .ihpd-overview,
body.elementor-editor-active .ihpd-owner-dashboard,
body.elementor-editor-active .ihpd-onboarding-page{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
}

body.elementor-editor-active .ihpd-page-intro,
body.elementor-editor-active .ihpd-onboarding-tools,
body.elementor-editor-active .ihpd-crud-form,
body.elementor-editor-active .ihpd-public-filters,
body.elementor-editor-active .ihpd-auto-table-filters,
body.elementor-editor-active .ihpd-table-wrap{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}


/* =========================================================
   v5.4.2 Sticky onboarding columns + upload fields + wrapping
   ========================================================= */

.ihpd-file-field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.ihpd-file-field small{
    color:#667085;
    font-size:11px;
}

.ihpd-file-current,
.ihpd-file-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    max-width:100%;
    padding:7px 10px;
    border-radius:7px;
    background:#171629;
    color:#fff !important;
    text-decoration:none !important;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}

.ihpd-file-current:hover,
.ihpd-file-button:hover{
    opacity:.88;
}

/* Keep the table on separate borders so sticky cells do not visually overlap. */
@media (min-width:768px){
    .ihpd-onboarding-page .ihpd-table{
        border-collapse:separate !important;
        border-spacing:0 !important;
    }

    /* Frontend: Client Name and Company Name stay visible. */
    .ihpd-onboarding-page .ihpd-col-client_name{
        position:sticky !important;
        left:0 !important;
        z-index:7 !important;
        min-width:190px !important;
        width:190px !important;
        background:#fff !important;
    }

    .ihpd-onboarding-page .ihpd-col-company_name{
        position:sticky !important;
        left:190px !important;
        z-index:6 !important;
        min-width:190px !important;
        width:190px !important;
        background:#fff !important;
        box-shadow:5px 0 8px rgba(15,23,42,.06);
    }

    .ihpd-onboarding-page thead .ihpd-col-client_name,
    .ihpd-onboarding-page thead .ihpd-col-company_name{
        z-index:12 !important;
        background:#f8fafc !important;
    }

    /* WordPress backend: checkbox + Client Name + Company Name. */
    .ihpd-wrap .ihpd-admin-scroll table{
        border-collapse:separate !important;
        border-spacing:0 !important;
    }

    .ihpd-wrap .ihpd-admin-scroll .check-column{
        position:sticky !important;
        left:0 !important;
        z-index:9 !important;
        min-width:42px !important;
        width:42px !important;
        background:#fff !important;
    }

    .ihpd-wrap .ihpd-admin-scroll .ihpd-col-client_name{
        position:sticky !important;
        left:42px !important;
        z-index:8 !important;
        min-width:190px !important;
        width:190px !important;
        background:#fff !important;
    }

    .ihpd-wrap .ihpd-admin-scroll .ihpd-col-company_name{
        position:sticky !important;
        left:232px !important;
        z-index:7 !important;
        min-width:190px !important;
        width:190px !important;
        background:#fff !important;
        box-shadow:5px 0 8px rgba(15,23,42,.06);
    }

    .ihpd-wrap .ihpd-admin-scroll thead .check-column,
    .ihpd-wrap .ihpd-admin-scroll thead .ihpd-col-client_name,
    .ihpd-wrap .ihpd-admin-scroll thead .ihpd-col-company_name{
        z-index:13 !important;
        background:#f6f7f7 !important;
    }
}

/* Wrap only fields that benefit from wrapping. */
.ihpd-col-reference_name,
.ihpd-col-note,
.ihpd-col-setup_done_by,
.ihpd-col-payment_ss,
.ihpd-col-gst_details{
    max-width:240px !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    line-height:1.4 !important;
}

/* Keep identity, phone, amounts, plans and statuses compact. */
.ihpd-col-client_name,
.ihpd-col-company_name,
.ihpd-col-phone_number,
.ihpd-col-onboarding_amt,
.ihpd-col-plan_amt,
.ihpd-col-current_plan,
.ihpd-col-meta_setup_done,
.ihpd-col-miracle_done,
.ihpd-col-all_done{
    white-space:nowrap !important;
}

/* Sticky behavior is intentionally disabled in mobile card layout. */
@media(max-width:767px){
    .ihpd-onboarding-page .ihpd-col-client_name,
    .ihpd-onboarding-page .ihpd-col-company_name,
    .ihpd-wrap .ihpd-admin-scroll .check-column,
    .ihpd-wrap .ihpd-admin-scroll .ihpd-col-client_name,
    .ihpd-wrap .ihpd-admin-scroll .ihpd-col-company_name{
        position:static !important;
        left:auto !important;
        width:auto !important;
        min-width:0 !important;
        box-shadow:none !important;
    }

    .ihpd-file-button{
        white-space:normal;
        text-align:center;
    }
}


/* =========================================================
   v5.4.3 — 1792×1120 / 16:10 ONBOARDING RESPONSIVE FIX
   ========================================================= */

/*
 * The onboarding page now responds to the actual shortcode/container width,
 * not only the full browser viewport. This prevents clipping in Elementor,
 * boxed themes, sidebars, browser zoom, and 16:10 Apple displays.
 */
.ihpd-onboarding-page,
.ihpd-onboarding-page .ihpd-dashboard,
.ihpd-onboarding-page .ihpd-page-intro,
.ihpd-onboarding-page .ihpd-onboarding-tools,
.ihpd-onboarding-page .ihpd-crud-form,
.ihpd-onboarding-page .ihpd-public-filters,
.ihpd-onboarding-page .ihpd-filters,
.ihpd-onboarding-page .ihpd-auto-table-filters,
.ihpd-onboarding-page .ihpd-table-wrap,
.ihpd-onboarding-page .ihpd-table-pagination{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

.ihpd-onboarding-page{
    container-type:inline-size;
    overflow-x:hidden !important;
}

/* Intro area stays inside the available content width. */
.ihpd-onboarding-page .ihpd-page-intro{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(150px,220px) !important;
    gap:18px !important;
    align-items:start !important;
    overflow:hidden !important;
}

.ihpd-onboarding-page .ihpd-page-intro > *{
    min-width:0 !important;
}

.ihpd-onboarding-page .ihpd-page-intro h1,
.ihpd-onboarding-page .ihpd-page-intro h2,
.ihpd-onboarding-page .ihpd-page-intro p{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
}

/* Action buttons wrap instead of extending beyond the right edge. */
.ihpd-onboarding-page .ihpd-onboarding-tools{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:10px !important;
}

.ihpd-onboarding-page .ihpd-onboarding-tools a,
.ihpd-onboarding-page .ihpd-onboarding-tools button{
    flex:0 1 auto !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
}

/* Add/Edit Client form: automatically use available container width. */
.ihpd-onboarding-page .ihpd-crud-form .ihpd-form-grid,
.ihpd-onboarding-page .ihpd-client-form .ihpd-form-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)) !important;
    gap:16px !important;
    width:100% !important;
    min-width:0 !important;
}

.ihpd-onboarding-page .ihpd-form-grid > *,
.ihpd-onboarding-page .ihpd-form-grid label,
.ihpd-onboarding-page .ihpd-form-grid input,
.ihpd-onboarding-page .ihpd-form-grid select,
.ihpd-onboarding-page .ihpd-form-grid textarea,
.ihpd-onboarding-page .ihpd-form-grid .ihpd-file-field{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}

/* Search/status/date row responds fluidly. */
.ihpd-onboarding-page .ihpd-public-filters,
.ihpd-onboarding-page .ihpd-filters{
    display:grid !important;
    grid-template-columns:minmax(260px,1fr) repeat(2,minmax(160px,220px)) !important;
    gap:10px !important;
    align-items:end !important;
}

/* Reference, Plan, Paid To, Records and Reset row. */
.ihpd-onboarding-page .ihpd-auto-table-filters{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) !important;
    gap:10px !important;
    align-items:end !important;
}

.ihpd-onboarding-page .ihpd-auto-filter-field,
.ihpd-onboarding-page .ihpd-auto-filter-field select,
.ihpd-onboarding-page .ihpd-auto-filter-field input,
.ihpd-onboarding-page .ihpd-auto-filter-reset{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
}

/* Only the table is allowed to scroll horizontally. */
.ihpd-onboarding-page .ihpd-table-wrap{
    display:block !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    border-radius:12px;
}

.ihpd-onboarding-page .ihpd-table{
    width:max-content !important;
    min-width:1450px !important;
    max-width:none !important;
    table-layout:auto !important;
}

/* Keep sticky columns aligned at 16:10 desktop widths. */
@media (min-width:768px){
    .ihpd-onboarding-page .ihpd-col-client_name{
        left:0 !important;
        min-width:180px !important;
        width:180px !important;
    }

    .ihpd-onboarding-page .ihpd-col-company_name{
        left:180px !important;
        min-width:180px !important;
        width:180px !important;
    }
}

/* Container-aware behavior for Elementor/boxed layouts. */
@container (max-width:1350px){
    .ihpd-onboarding-page .ihpd-page-intro{
        grid-template-columns:1fr !important;
    }

    .ihpd-onboarding-page .ihpd-user-card{
        width:100% !important;
        max-width:100% !important;
    }

    .ihpd-onboarding-page .ihpd-public-filters,
    .ihpd-onboarding-page .ihpd-filters{
        grid-template-columns:1fr 1fr !important;
    }

    .ihpd-onboarding-page .ihpd-public-filters > :first-child,
    .ihpd-onboarding-page .ihpd-filters > :first-child{
        grid-column:1 / -1 !important;
    }

    .ihpd-onboarding-page .ihpd-crud-form .ihpd-form-grid,
    .ihpd-onboarding-page .ihpd-client-form .ihpd-form-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@container (max-width:850px){
    .ihpd-onboarding-page .ihpd-onboarding-tools{
        display:grid !important;
        grid-template-columns:1fr !important;
    }

    .ihpd-onboarding-page .ihpd-onboarding-tools a,
    .ihpd-onboarding-page .ihpd-onboarding-tools button{
        width:100% !important;
        justify-content:center !important;
        text-align:center !important;
    }

    .ihpd-onboarding-page .ihpd-public-filters,
    .ihpd-onboarding-page .ihpd-filters,
    .ihpd-onboarding-page .ihpd-auto-table-filters,
    .ihpd-onboarding-page .ihpd-crud-form .ihpd-form-grid,
    .ihpd-onboarding-page .ihpd-client-form .ihpd-form-grid{
        grid-template-columns:1fr !important;
    }
}

/* Fallbacks for browsers/builders where container queries are unavailable. */
@media (min-width:1500px) and (max-width:1900px){
    .ihpd-onboarding-page{
        padding-inline:0 !important;
    }

    .ihpd-onboarding-page .ihpd-crud-form .ihpd-form-grid,
    .ihpd-onboarding-page .ihpd-client-form .ihpd-form-grid{
        grid-template-columns:repeat(3,minmax(260px,1fr)) !important;
    }

    .ihpd-onboarding-page .ihpd-auto-table-filters{
        grid-template-columns:repeat(5,minmax(150px,1fr)) auto !important;
    }
}

@media (max-width:1200px){
    .ihpd-onboarding-page .ihpd-crud-form .ihpd-form-grid,
    .ihpd-onboarding-page .ihpd-client-form .ihpd-form-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .ihpd-onboarding-page .ihpd-public-filters,
    .ihpd-onboarding-page .ihpd-filters{
        grid-template-columns:1fr 1fr !important;
    }

    .ihpd-onboarding-page .ihpd-public-filters > :first-child,
    .ihpd-onboarding-page .ihpd-filters > :first-child{
        grid-column:1 / -1 !important;
    }
}

/* Elementor editor and preview protection. */
body.elementor-editor-active .ihpd-onboarding-page,
body.elementor-editor-active .ihpd-onboarding-page > *,
.elementor-widget-shortcode .ihpd-onboarding-page,
.elementor-widget-shortcode .ihpd-onboarding-page > *{
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-inline:0 !important;
}

body.elementor-editor-active .ihpd-onboarding-page .ihpd-table-wrap,
.elementor-widget-shortcode .ihpd-onboarding-page .ihpd-table-wrap{
    overflow-x:auto !important;
    max-width:100% !important;
}


/* =========================================================
   v5.4.4 — ACTUAL STICKY ONBOARDING COLUMN FIX
   ========================================================= */

/*
 * v5.4.2 introduced sticky selectors under .ihpd-onboarding-page, but the
 * onboarding shortcode wrapper did not have that class. The wrapper now has
 * it, and these final rules ensure later responsive CSS cannot override it.
 */
@media (min-width:768px){
    .ihpd-dashboard.ihpd-onboarding-page .ihpd-table-wrap{
        position:relative !important;
        overflow-x:auto !important;
        overflow-y:visible !important;
        isolation:isolate;
    }

    .ihpd-dashboard.ihpd-onboarding-page .ihpd-table{
        border-collapse:separate !important;
        border-spacing:0 !important;
    }

    .ihpd-dashboard.ihpd-onboarding-page
    .ihpd-table th.ihpd-col-client_name,
    .ihpd-dashboard.ihpd-onboarding-page
    .ihpd-table td.ihpd-col-client_name{
        position:sticky !important;
        left:0 !important;
        z-index:20 !important;
        width:190px !important;
        min-width:190px !important;
        max-width:190px !important;
        background:#fff !important;
        background-clip:padding-box !important;
    }

    .ihpd-dashboard.ihpd-onboarding-page
    .ihpd-table th.ihpd-col-company_name,
    .ihpd-dashboard.ihpd-onboarding-page
    .ihpd-table td.ihpd-col-company_name{
        position:sticky !important;
        left:190px !important;
        z-index:19 !important;
        width:190px !important;
        min-width:190px !important;
        max-width:190px !important;
        background:#fff !important;
        background-clip:padding-box !important;
        box-shadow:6px 0 10px rgba(15,23,42,.10) !important;
    }

    .ihpd-dashboard.ihpd-onboarding-page
    .ihpd-table thead th.ihpd-col-client_name,
    .ihpd-dashboard.ihpd-onboarding-page
    .ihpd-table thead th.ihpd-col-company_name{
        z-index:30 !important;
        background:#f8fafc !important;
    }

    .ihpd-dashboard.ihpd-onboarding-page
    .ihpd-table tbody tr:hover td.ihpd-col-client_name,
    .ihpd-dashboard.ihpd-onboarding-page
    .ihpd-table tbody tr:hover td.ihpd-col-company_name{
        background:#fbfcfe !important;
    }
}

@media (max-width:767px){
    .ihpd-dashboard.ihpd-onboarding-page
    .ihpd-table .ihpd-col-client_name,
    .ihpd-dashboard.ihpd-onboarding-page
    .ihpd-table .ihpd-col-company_name{
        position:static !important;
        left:auto !important;
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
        box-shadow:none !important;
    }
}


/* =========================================================
   v5.4.5 — NO STICKY COLUMNS IN PARTNER ONBOARDING PANEL
   ========================================================= */

@media (min-width:768px){
    .ihpd-dashboard.ihpd-onboarding-page.ihpd-onboarding-partner-view
    .ihpd-table th.ihpd-col-client_name,
    .ihpd-dashboard.ihpd-onboarding-page.ihpd-onboarding-partner-view
    .ihpd-table td.ihpd-col-client_name,
    .ihpd-dashboard.ihpd-onboarding-page.ihpd-onboarding-partner-view
    .ihpd-table th.ihpd-col-company_name,
    .ihpd-dashboard.ihpd-onboarding-page.ihpd-onboarding-partner-view
    .ihpd-table td.ihpd-col-company_name{
        position:static !important;
        left:auto !important;
        z-index:auto !important;
        width:auto !important;
        min-width:150px !important;
        max-width:none !important;
        box-shadow:none !important;
        background:inherit !important;
    }

    .ihpd-dashboard.ihpd-onboarding-page.ihpd-onboarding-partner-view
    .ihpd-table thead th.ihpd-col-client_name,
    .ihpd-dashboard.ihpd-onboarding-page.ihpd-onboarding-partner-view
    .ihpd-table thead th.ihpd-col-company_name{
        background:#f8fafc !important;
    }
}


/* =========================================================
   v6.0.1 — Export and subscription visual fixes
   ========================================================= */

.ihpd-export-menu{
    position:relative;
    display:inline-block;
    margin:0;
}

.ihpd-export-menu > summary{
    list-style:none;
}

.ihpd-export-menu > summary::-webkit-details-marker{
    display:none;
}

.ihpd-export-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:40px;
    padding:10px 16px !important;
    border:1px solid #155eef !important;
    border-radius:9px !important;
    background:#155eef !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;
    cursor:pointer !important;
    opacity:1 !important;
    visibility:visible !important;
    box-shadow:0 2px 5px rgba(21,94,239,.18);
}

.ihpd-export-toggle:hover,
.ihpd-export-toggle:focus{
    background:#004eeb !important;
    border-color:#004eeb !important;
    color:#fff !important;
}

.ihpd-export-options{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    right:0 !important;
    z-index:99999 !important;
    display:none;
    min-width:190px;
    padding:7px;
    border:1px solid #d0d5dd;
    border-radius:10px;
    background:#fff;
    box-shadow:0 14px 32px rgba(16,24,40,.16);
}

.ihpd-export-menu[open] .ihpd-export-options{
    display:block !important;
}

.ihpd-export-options a{
    display:block !important;
    min-height:38px;
    padding:9px 11px !important;
    border-radius:7px;
    color:#101828 !important;
    font-size:13px;
    font-weight:600;
    text-decoration:none !important;
}

.ihpd-export-options a:hover{
    background:#f2f4f7 !important;
}

.ihpd-view-subscriptions{
    display:inline-flex !important;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:3px;
    min-width:118px;
    min-height:42px;
    padding:8px 11px !important;
    border:1px solid #d0d5dd !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#101828 !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    text-align:left;
    cursor:pointer;
    opacity:1 !important;
    visibility:visible !important;
    box-shadow:0 1px 2px rgba(16,24,40,.05);
}

.ihpd-view-subscriptions small{
    display:block !important;
    font-size:10px !important;
    font-weight:600 !important;
}

.ihpd-plan-summary-active{
    border-color:#75e0a7 !important;
    background:#ecfdf3 !important;
    color:#067647 !important;
}

.ihpd-plan-summary-expiring{
    border-color:#fec84b !important;
    background:#fffaeb !important;
    color:#93370d !important;
}

.ihpd-plan-summary-expired{
    border-color:#fda29b !important;
    background:#fef3f2 !important;
    color:#b42318 !important;
}

.ihpd-plan-summary-empty{
    border-color:#d0d5dd !important;
    background:#f9fafb !important;
    color:#475467 !important;
}

.ihpd-col-subscriptions{
    min-width:145px !important;
    vertical-align:middle !important;
}

@media(max-width:767px){
    .ihpd-export-menu,
    .ihpd-export-toggle{
        width:100%;
    }

    .ihpd-export-options{
        left:0 !important;
        right:auto !important;
        width:100%;
    }

    .ihpd-view-subscriptions{
        width:100%;
        align-items:center;
        text-align:center;
    }
}


/* v6.0.3 client-side export buttons */
.ihpd-export-options button{
    display:block !important;
    width:100%;
    min-height:38px;
    padding:9px 11px !important;
    border:0 !important;
    border-radius:7px;
    background:#fff !important;
    color:#101828 !important;
    font-size:13px;
    font-weight:600;
    text-align:left;
    cursor:pointer;
}

.ihpd-export-options button:hover,
.ihpd-export-options button:focus{
    background:#f2f4f7 !important;
    color:#101828 !important;
}


/* =========================================================
   v6.0.7 — Visible subscription buttons and formatted table
   ========================================================= */

/* Ensure action text cannot be hidden by theme or builder button styles. */
.ihpd-subscription-actions{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin-top:14px !important;
}

.ihpd-subscription-actions form{
    display:block !important;
    margin:0 !important;
}

.ihpd-subscription-actions button,
.ihpd-subscription-actions .ihpd-show-renewal{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:86px !important;
    min-height:38px !important;
    padding:8px 14px !important;
    border:1px solid #171629 !important;
    border-radius:8px !important;
    background:#171629 !important;
    color:#ffffff !important;
    font-family:inherit !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
    text-indent:0 !important;
    text-transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    cursor:pointer !important;
    box-shadow:none !important;
}

.ihpd-subscription-actions form button{
    border-color:#d92d20 !important;
    background:#ffffff !important;
    color:#b42318 !important;
}

.ihpd-subscription-actions button:hover,
.ihpd-subscription-actions button:focus{
    filter:brightness(.96);
}

/* Card content stays aligned and readable. */
.ihpd-subscription-card{
    min-width:0 !important;
    overflow:hidden !important;
}

.ihpd-subscription-card dl{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px 20px !important;
}

.ihpd-subscription-card dd{
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
}

/* Client Subscriptions table. */
.ihpd-subscriptions-table-wrap{
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    border:1px solid #e4e7ec;
    border-radius:12px;
    background:#fff;
}

.ihpd-subscriptions-table{
    width:max-content !important;
    min-width:1880px !important;
    max-width:none !important;
    table-layout:fixed !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    margin:0 !important;
}

.ihpd-subscriptions-table th,
.ihpd-subscriptions-table td{
    padding:12px 13px !important;
    border-right:1px solid #e4e7ec !important;
    border-bottom:1px solid #e4e7ec !important;
    vertical-align:middle !important;
    color:#344054 !important;
    font-size:12px !important;
    line-height:1.45 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    background:#fff;
}

.ihpd-subscriptions-table th{
    position:sticky;
    top:0;
    z-index:3;
    background:#f8fafc !important;
    color:#101828 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
}

.ihpd-subscriptions-table tbody tr:nth-child(even) td{
    background:#fcfcfd;
}

.ihpd-subscriptions-table tbody tr:hover td{
    background:#f9fafb;
}

.ihpd-subscriptions-table th:last-child,
.ihpd-subscriptions-table td:last-child{
    border-right:0 !important;
}

/* Fixed, intentional column widths. */
.ihpd-subscriptions-table .ihpd-sub-col-id{width:130px;min-width:130px}
.ihpd-subscriptions-table .ihpd-sub-col-client{width:165px;min-width:165px}
.ihpd-subscriptions-table .ihpd-sub-col-company{width:180px;min-width:180px}
.ihpd-subscriptions-table .ihpd-sub-col-phone{width:135px;min-width:135px;white-space:nowrap!important}
.ihpd-subscriptions-table .ihpd-sub-col-partner{width:175px;min-width:175px}
.ihpd-subscriptions-table .ihpd-sub-col-software{width:165px;min-width:165px}
.ihpd-subscriptions-table .ihpd-sub-col-plan{width:155px;min-width:155px}
.ihpd-subscriptions-table .ihpd-sub-col-cycle{width:110px;min-width:110px;white-space:nowrap!important}
.ihpd-subscriptions-table .ihpd-sub-col-amount{width:125px;min-width:125px;white-space:nowrap!important}
.ihpd-subscriptions-table .ihpd-sub-col-date{width:118px;min-width:118px;white-space:nowrap!important}
.ihpd-subscriptions-table .ihpd-sub-col-status{width:125px;min-width:125px;white-space:nowrap!important}
.ihpd-subscriptions-table .ihpd-sub-col-commission{width:135px;min-width:135px;white-space:nowrap!important}
.ihpd-subscriptions-table .ihpd-sub-col-paid{width:105px;min-width:105px;white-space:nowrap!important}
/* Filters align cleanly above the table. */
.ihpd-subscription-filters{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(165px,1fr)) !important;
    gap:10px !important;
    width:100% !important;
    margin:16px 0 !important;
}

.ihpd-subscription-filters input,
.ihpd-subscription-filters select{
    width:100% !important;
    min-width:0 !important;
    min-height:40px !important;
}

@media(max-width:767px){
    .ihpd-subscription-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
    }

    .ihpd-subscription-actions button{
        width:100% !important;
    }

    .ihpd-subscription-card dl{
        grid-template-columns:1fr !important;
    }

    .ihpd-subscriptions-table{
        min-width:0 !important;
        width:100% !important;
        display:block !important;
    }

    .ihpd-subscriptions-table thead{
        display:none !important;
    }

    .ihpd-subscriptions-table tbody{
        display:grid !important;
        gap:12px !important;
        padding:10px !important;
    }

    .ihpd-subscriptions-table tr{
        display:grid !important;
        padding:14px !important;
        border:1px solid #e4e7ec !important;
        border-radius:12px !important;
        background:#fff !important;
    }

    .ihpd-subscriptions-table td{
        display:grid !important;
        grid-template-columns:120px minmax(0,1fr) !important;
        gap:10px !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        padding:8px 0 !important;
        border-right:0 !important;
        background:#fff !important;
    }

    .ihpd-subscriptions-table td::before{
        content:attr(data-label);
        color:#667085;
        font-weight:700;
    }

    }


/* =========================================================
   v6.0.8 — Add Client multi-subscription selector
   ========================================================= */

.ihpd-initial-subscriptions{
    grid-column:1 / -1 !important;
    width:100% !important;
    margin-top:8px;
    padding:18px;
    border:1px solid #dfe5ec;
    border-radius:12px;
    background:#f8fafc;
}

.ihpd-initial-subscriptions-heading h3{
    margin:0 0 5px;
    color:#101828;
    font-size:18px;
}

.ihpd-initial-subscriptions-heading p{
    margin:0 0 15px;
    color:#667085;
    font-size:12px;
}

.ihpd-plan-multiselect-label{
    display:flex;
    flex-direction:column;
    gap:7px;
    color:#344054;
    font-weight:700;
}

.ihpd-initial-plan-select{
    width:100% !important;
    max-width:100% !important;
    min-height:118px !important;
    padding:6px !important;
    border:1px solid #d0d5dd !important;
    border-radius:9px !important;
    background:#fff !important;
}

.ihpd-initial-plan-select option{
    padding:8px 10px;
    border-radius:6px;
}

.ihpd-plan-multiselect-label small{
    color:#667085;
    font-size:11px;
    font-weight:400;
}

.ihpd-selected-plan-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:12px;
    margin-top:14px;
}

.ihpd-selected-plan-card{
    min-width:0;
    padding:14px;
    border:1px solid #d0d5dd;
    border-radius:10px;
    background:#fff;
    box-shadow:0 1px 2px rgba(16,24,40,.04);
}

.ihpd-selected-plan-card-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-bottom:13px;
}

.ihpd-selected-plan-card-heading strong{
    display:block;
    color:#101828;
    line-height:1.4;
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
}

.ihpd-selected-plan-card-heading small{
    display:block;
    margin-top:4px;
    color:#667085;
    font-size:11px;
}

.ihpd-remove-selected-plan{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    flex:0 0 30px;
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    padding:0 !important;
    border:1px solid #fda29b !important;
    border-radius:7px !important;
    background:#fff !important;
    color:#b42318 !important;
    font-size:20px !important;
    line-height:1 !important;
    cursor:pointer;
}

.ihpd-selected-plan-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.ihpd-selected-plan-fields label{
    display:flex;
    flex-direction:column;
    gap:6px;
    color:#344054;
    font-size:12px;
    font-weight:700;
}

.ihpd-selected-plan-fields input{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:40px !important;
}

.ihpd-amount-input-wrap{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    overflow:hidden;
    border:1px solid #d0d5dd;
    border-radius:8px;
    background:#fff;
}

.ihpd-amount-input-wrap > span{
    padding:0 10px;
    color:#667085;
    font-weight:600;
}

.ihpd-amount-input-wrap input{
    border:0 !important;
    border-left:1px solid #eaecf0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

.ihpd-no-plans-message{
    margin:14px 0 0;
    padding:11px 13px;
    border-radius:8px;
    background:#fffaeb;
    color:#93370d;
}

@media(max-width:767px){
    .ihpd-initial-subscriptions{
        padding:14px;
    }

    .ihpd-selected-plan-list,
    .ihpd-selected-plan-fields{
        grid-template-columns:1fr;
    }

    .ihpd-initial-plan-select{
        min-height:150px !important;
    }
}


/* =========================================================
   v6.0.9 — modal close, cancelled removal and phone filter
   ========================================================= */

/* Close icon is always visible: plain black X, no background or hover effect. */
.ihpd-subscription-dialog .ihpd-modal-close{
    position:absolute !important;
    top:16px !important;
    right:16px !important;
    z-index:20 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#000000 !important;
    font-size:28px !important;
    font-weight:600 !important;
    line-height:1 !important;
    text-indent:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    box-shadow:none !important;
    filter:none !important;
    cursor:pointer !important;
}

.ihpd-subscription-dialog .ihpd-modal-close:hover,
.ihpd-subscription-dialog .ihpd-modal-close:focus,
.ihpd-subscription-dialog .ihpd-modal-close:active{
    border:0 !important;
    background:transparent !important;
    color:#000000 !important;
    opacity:1 !important;
    box-shadow:none !important;
    filter:none !important;
    transform:none !important;
    outline:none !important;
}

/* Cancelled subscriptions show a clear Remove action. */
.ihpd-subscription-actions .ihpd-remove-subscription{
    min-width:90px !important;
    border-color:#d92d20 !important;
    background:#d92d20 !important;
    color:#ffffff !important;
}

/* Dedicated phone filter aligns with the remaining subscription controls. */
.ihpd-subscription-phone-filter{
    width:100% !important;
    min-width:0 !important;
    min-height:40px !important;
}


/* =========================================================
   v6.0.11 — AJAX subscription feedback
   ========================================================= */

.ihpd-subscription-modal button:disabled,
.ihpd-subscription-modal input[type="submit"]:disabled{
    opacity:.6 !important;
    cursor:wait !important;
}

.ihpd-subscription-toast{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:1000000;
    max-width:min(390px,calc(100vw - 30px));
    padding:13px 17px;
    border-radius:10px;
    background:#067647;
    color:#fff;
    font-size:13px;
    font-weight:700;
    line-height:1.4;
    box-shadow:0 14px 34px rgba(16,24,40,.22);
    opacity:0;
    transform:translateY(12px);
    transition:opacity .2s ease,transform .2s ease;
}

.ihpd-subscription-toast-visible{
    opacity:1;
    transform:translateY(0);
}

.ihpd-subscription-toast-error{
    background:#b42318;
}

@media(max-width:767px){
    .ihpd-subscription-toast{
        right:15px;
        bottom:15px;
        left:15px;
        max-width:none;
    }
}


/* =========================================================
   v6.0.16 — working dynamic filters and full Note wrapping
   ========================================================= */

/* Let every row grow to the height required by its longest cell. */
.ihpd-onboarding-page .ihpd-table tbody tr{
    height:auto !important;
    min-height:0 !important;
}

.ihpd-onboarding-page .ihpd-table tbody td{
    height:auto !important;
    min-height:0 !important;
    vertical-align:top !important;
    align-content:start !important;
}

/* Display the complete Note with natural wrapping. */
.ihpd-onboarding-page .ihpd-table .ihpd-col-note{
    width:380px !important;
    min-width:380px !important;
    max-width:380px !important;
    height:auto !important;
    max-height:none !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:1.5 !important;
}

/* Remove any previous ellipsis/clipping applied through a generic class. */
.ihpd-onboarding-page .ihpd-col-note,
.ihpd-onboarding-page .ihpd-col-note *{
    display:table-cell;
    max-height:none !important;
    -webkit-line-clamp:unset !important;
    -webkit-box-orient:initial !important;
    overflow:visible !important;
    text-overflow:clip !important;
}

/* Restore normal cell display after the clipping override above. */
.ihpd-onboarding-page td.ihpd-col-note{
    display:table-cell !important;
}

/* Other cells remain aligned with the top of a tall Note row. */
.ihpd-onboarding-page .ihpd-table tbody td:not(.ihpd-col-note){
    vertical-align:top !important;
}

/* Filters remain usable at all content widths. */
.ihpd-onboarding-page .ihpd-auto-table-filters{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
    gap:10px !important;
    align-items:end !important;
}

.ihpd-onboarding-page .ihpd-auto-table-filters select{
    width:100% !important;
    min-width:0 !important;
}

@media(max-width:767px){
    .ihpd-onboarding-page .ihpd-table .ihpd-col-note,
    .ihpd-onboarding-page td.ihpd-col-note{
        display:grid !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
    }
}
