:root {
    --cdp-bg: #F5F3FC;
    --cdp-title: #6648CD;
    --cdp-text: #48397C;
    --cdp-muted: #8177A5;
    --cdp-border: #E9E4F7;
    --cdp-soft: #F8F6FD;
    --cdp-white: #FFFFFF;
    --cdp-green: #1CA774;
    --cdp-blue: #4E8DDB;
    --cdp-orange: #E9A441;
    --cdp-danger: #C85B79;
    --cdp-shadow: 0 12px 35px rgba(81, 61, 143, .08);
    --cdp-radius: 16px;
    --cdp-button-radius: 10px;
}

.cdp-app,
.cdp-app *,
.cdp-card,
.cdp-card * {
    box-sizing: border-box;
}

.cdp-app {
    width: 100%;
    color: var(--cdp-text);
    font-size: 15px;
    line-height: 1.55;
}

.cdp-app a,
.cdp-card a {
    color: var(--cdp-title);
}

.cdp-card {
    width: 100%;
    padding: 26px;
    margin: 0 0 20px;
    background: var(--cdp-white);
    border: 1px solid var(--cdp-border);
    border-radius: var(--cdp-radius);
    color: var(--cdp-text);
    box-shadow: var(--cdp-shadow);
}

.cdp-card h3,
.cdp-card h4 {
    margin: 0 0 18px;
    color: var(--cdp-title);
}

.cdp-card h3 {
    font-size: 24px;
    line-height: 1.25;
}

.cdp-card p {
    margin: 0 0 12px;
}

.cdp-muted,
.cdp-help {
    color: var(--cdp-muted);
}

.cdp-form {
    display: grid;
    gap: 14px;
}

.cdp-form-compact {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    align-items: end;
}

.cdp-form input,
.cdp-form select,
.cdp-form textarea,
.cdp-app input,
.cdp-app select,
.cdp-app textarea {
    width: 100%;
    min-height: 46px;
    padding: 11px 14px;
    border: 1px solid #D9D2EE;
    border-radius: var(--cdp-button-radius);
    outline: none;
    background: #fff;
    color: var(--cdp-text);
    font: inherit;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.cdp-form textarea,
.cdp-app textarea {
    min-height: 110px;
    resize: vertical;
}

.cdp-form input:focus,
.cdp-form select:focus,
.cdp-form textarea:focus,
.cdp-app input:focus,
.cdp-app select:focus,
.cdp-app textarea:focus {
    border-color: var(--cdp-title);
    box-shadow: 0 0 0 4px rgba(102, 72, 205, .12);
}

.cdp-form button,
.cdp-inline-actions button,
.cdp-app button,
.cdp-link-button {
    min-height: 44px;
    padding: 11px 17px;
    border: 1px solid var(--cdp-title);
    border-radius: var(--cdp-button-radius);
    background: var(--cdp-title);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    line-height: 1.2;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.cdp-form button:hover,
.cdp-inline-actions button:hover,
.cdp-app button:hover,
.cdp-link-button:hover {
    background: #573AB8;
    box-shadow: 0 8px 18px rgba(102, 72, 205, .18);
}

.cdp-secondary,
.cdp-secondary-button {
    border-color: var(--cdp-border) !important;
    background: var(--cdp-soft) !important;
    color: var(--cdp-text) !important;
}

.cdp-secondary:hover,
.cdp-secondary-button:hover {
    background: #EEEAFB !important;
}

.cdp-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.cdp-alert {
    width: 100%;
    padding: 14px 16px;
    margin: 0 0 18px;
    border: 1px solid transparent;
    border-radius: 12px;
}

.cdp-success {
    border-color: #B9E8D7;
    background: #EEFBF6;
    color: #16684D;
}

.cdp-error {
    border-color: #F0C4D0;
    background: #FFF2F5;
    color: #9C3856;
}

.cdp-grid-3,
.cdp-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.cdp-stat,
.cdp-dashboard-stat {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px;
    border: 1px solid var(--cdp-border);
    border-radius: var(--cdp-radius);
    background: #fff;
}

.cdp-stat strong,
.cdp-dashboard-stat strong {
    color: var(--cdp-title);
    font-size: 28px;
    line-height: 1;
}

.cdp-stat span,
.cdp-dashboard-stat span {
    color: var(--cdp-muted);
}

.cdp-table,
.cdp-report-table {
    display: grid;
    gap: 10px;
}

.cdp-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: center;
    padding: 13px 14px;
    border: 1px solid var(--cdp-border);
    border-radius: 12px;
    background: #fff;
}

.cdp-head {
    background: var(--cdp-soft);
    font-weight: 700;
}

.cdp-status-row,
.cdp-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--cdp-border);
}

.cdp-status-row:last-child,
.cdp-summary-row:last-child {
    border-bottom: 0;
}

.cdp-link-button {
    min-height: auto;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--cdp-danger) !important;
}

.cdp-link-button:hover {
    text-decoration: underline;
}

.cdp-empty-state {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 20px;
    border: 1px dashed #D5CDED;
    border-radius: 14px;
    background: var(--cdp-soft);
    color: var(--cdp-muted);
}

.cdp-empty-state strong {
    color: var(--cdp-text);
}

.cdp-eyebrow {
    margin-bottom: 6px;
    color: var(--cdp-title);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.cdp-section-title {
    margin: 0 0 15px;
    color: var(--cdp-title);
    font-size: 18px;
}

.cdp-form-section {
    padding: 18px;
    border: 1px solid var(--cdp-border);
    border-radius: 14px;
    background: var(--cdp-soft);
}

.cdp-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.cdp-form-group {
    min-width: 0;
}

.cdp-form-group label,
.cdp-field-block label {
    display: block;
    margin: 0 0 7px;
    color: var(--cdp-text);
    font-size: 13px;
    font-weight: 700;
}

.cdp-required {
    color: var(--cdp-danger);
}

.cdp-help {
    display: block;
    margin-top: 6px;
    font-size: 12px;
}

.cdp-span-2 {
    grid-column: 1 / -1;
}

/* Authentication */
.cdp-auth-card {
    max-width: 860px;
    margin: 22px auto;
    padding: 32px;
    border-radius: 20px;
    background: #fff;
}

.cdp-auth-title {
    margin: 0 0 8px;
    color: var(--cdp-title);
    font-size: 31px;
    line-height: 1.15;
}

.cdp-auth-subtitle {
    margin: 0 0 22px;
    color: var(--cdp-muted);
    font-size: 16px;
}

.cdp-auth-note {
    padding: 13px 15px;
    margin: 0 0 20px;
    border: 1px solid #D9D0F2;
    border-radius: 12px;
    background: #F7F4FF;
    color: var(--cdp-text);
    font-size: 14px;
}

.cdp-auth-note strong {
    color: var(--cdp-title);
}

.cdp-auth-submit {
    width: 100%;
    min-height: 50px !important;
    margin-top: 3px;
    font-size: 16px !important;
}

.cdp-login-card {
    max-width: 760px;
    margin: 22px auto;
}

.cdp-login-card .cdp-auth-title,
.cdp-login-card .cdp-auth-subtitle {
    text-align: center;
}

.cdp-login-form {
    display: block !important;
}

.cdp-login-form .cdp-form-group {
    margin-bottom: 17px;
}

.cdp-login-form .cdp-form-group label {
    display: block;
    margin-bottom: 7px;
}

.cdp-login-form input[type="email"],
.cdp-login-form input[type="password"] {
    width: 100%;
    min-height: 52px;
}

.cdp-login-row {
    display: flex;
    justify-content: flex-end;
    margin: 4px 0 17px;
}

.cdp-reset-link {
    color: var(--cdp-title);
    text-decoration: underline;
}

.cdp-agreement-row,
.cdp-login-agreement {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    margin: 0 0 18px;
}

.cdp-agreement-row input,
.cdp-login-agreement input {
    width: auto !important;
    min-height: 0 !important;
    margin: 4px 0 0;
}

.cdp-agreement-row label,
.cdp-login-agreement label {
    display: block !important;
    margin: 0 !important;
    color: var(--cdp-text);
    font-weight: 500;
    line-height: 1.5;
}

.cdp-agreement-row a,
.cdp-login-agreement a {
    color: var(--cdp-title);
    text-decoration: underline;
}

/* Pricing */
.cdp-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.cdp-pricing-grid.columns-1 {
    grid-template-columns: 1fr;
}

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

.cdp-pricing-plan {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 24px;
    border: 1px solid var(--cdp-border);
    border-radius: var(--cdp-radius);
    background: #fff;
}

.cdp-pricing-plan.is-popular {
    border-color: var(--cdp-title);
    box-shadow: 0 16px 34px rgba(102, 72, 205, .13);
}

.cdp-pricing-badge,
.cdp-plan-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: #EEE9FF;
    color: var(--cdp-title) !important;
    font-size: 12px;
    font-weight: 800;
}

.cdp-pricing-badge {
    position: absolute;
    top: 14px;
    right: 14px;
}

.cdp-pricing-plan h4 {
    margin: 0;
    color: var(--cdp-title);
    font-size: 20px;
}

.cdp-pricing-price {
    color: var(--cdp-text);
    font-size: 28px;
    font-weight: 800;
}

.cdp-pricing-features {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 18px;
}

.cdp-pricing-button,
.cdp-secondary-button,
.cdp-logout-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 16px;
    border: 1px solid var(--cdp-title);
    border-radius: var(--cdp-button-radius);
    background: var(--cdp-title);
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}

/* Client SaaS dashboard */
.cdp-dashboard-app {
    min-height: 420px;
    padding: clamp(16px, 3vw, 38px);
    background: var(--cdp-bg);
    border-radius: 20px;
}

.cdp-dashboard-shell {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}

.cdp-dashboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 24px 26px;
    border: 1px solid var(--cdp-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--cdp-shadow);
}

.cdp-dashboard-brand,
.cdp-dashboard-header-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cdp-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 15px;
    background: linear-gradient(145deg, #765BE0, #5A3AC0);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .04em;
    box-shadow: 0 10px 20px rgba(102, 72, 205, .24);
}

.cdp-dashboard-header h1 {
    margin: 0;
    color: var(--cdp-title);
    font-size: clamp(22px, 3vw, 30px);
    line-height: 1.15;
}

.cdp-dashboard-header p {
    margin: 5px 0 0;
    color: var(--cdp-muted);
    font-size: 13px;
}

.cdp-account-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #F1EDFF;
    color: var(--cdp-title);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.cdp-account-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cdp-title);
}

.cdp-account-status.is-active {
    background: #EAF9F3;
    color: #197D5D;
}

.cdp-account-status.is-active i {
    background: var(--cdp-green);
}

.cdp-account-status.is-pending {
    background: #FFF6E6;
    color: #A36B16;
}

.cdp-account-status.is-pending i {
    background: var(--cdp-orange);
}

.cdp-account-status.is-danger {
    background: #FFF0F4;
    color: #A74360;
}

.cdp-account-status.is-danger i {
    background: var(--cdp-danger);
}

.cdp-logout-button {
    min-height: 38px;
    padding: 9px 13px;
    background: #fff;
    color: var(--cdp-text) !important;
    border-color: var(--cdp-border);
    font-size: 13px;
}

.cdp-logout-button:hover {
    background: var(--cdp-soft);
}

.cdp-dashboard-nav {
    display: flex;
    gap: 7px;
    margin: 18px 0;
    padding: 7px;
    overflow-x: auto;
    border: 1px solid var(--cdp-border);
    border-radius: 14px;
    background: rgba(255,255,255,.76);
}

.cdp-dashboard-nav-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 8px 13px;
    border-radius: 10px;
    color: var(--cdp-muted) !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
}

.cdp-dashboard-nav-item:hover,
.cdp-dashboard-nav-item.is-active {
    background: #EEE9FF;
    color: var(--cdp-title) !important;
}

.cdp-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 7px;
    background: #F3EFFD;
    color: var(--cdp-title);
    font-size: 9px;
    font-weight: 900;
}

.cdp-admin-preview-note {
    padding: 12px 15px;
    margin-bottom: 18px;
    border: 1px solid #D7C9F8;
    border-radius: 12px;
    background: #F7F3FF;
    color: var(--cdp-text);
}

.cdp-dashboard-content {
    min-width: 0;
}

.cdp-dashboard-intro,
.cdp-dashboard-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin: 4px 0 22px;
}

.cdp-dashboard-intro h2,
.cdp-dashboard-section-heading h2 {
    margin: 0;
    color: var(--cdp-title);
    font-size: clamp(25px, 3vw, 34px);
    line-height: 1.1;
}

.cdp-dashboard-intro p,
.cdp-dashboard-section-heading p {
    margin: 8px 0 0;
    color: var(--cdp-muted);
}

.cdp-dashboard-date {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    padding: 10px 14px;
    border: 1px solid var(--cdp-border);
    border-radius: 12px;
    background: #fff;
}

.cdp-dashboard-date span {
    color: var(--cdp-muted);
    font-size: 12px;
}

.cdp-dashboard-date strong {
    color: var(--cdp-title);
    font-size: 14px;
}

.cdp-dashboard-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 20px;
}

.cdp-dashboard-stat {
    flex-direction: row;
    align-items: center;
    gap: 12px;
    min-height: 92px;
    padding: 17px;
}

.cdp-dashboard-stat > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.cdp-dashboard-stat strong {
    font-size: 25px;
}

.cdp-dashboard-stat div > span {
    font-size: 12px;
}

.cdp-stat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 12px;
    background: #EEE9FF;
    color: var(--cdp-title) !important;
    font-size: 10px !important;
    font-weight: 900;
}

.cdp-stat-icon.is-green {
    background: #E7F8F1;
    color: var(--cdp-green) !important;
}

.cdp-stat-icon.is-blue {
    background: #EAF3FD;
    color: var(--cdp-blue) !important;
}

.cdp-stat-icon.is-orange {
    background: #FFF3DF;
    color: var(--cdp-orange) !important;
}

.cdp-dashboard-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .72fr);
    gap: 20px;
    align-items: start;
}

.cdp-dashboard-side-column {
    display: grid;
    gap: 20px;
}

.cdp-dashboard-panel {
    padding: 22px;
    border: 1px solid var(--cdp-border);
    border-radius: var(--cdp-radius);
    background: #fff;
    box-shadow: var(--cdp-shadow);
}

.cdp-panel-heading,
.cdp-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 17px;
}

.cdp-panel-heading h3,
.cdp-section-head h3 {
    margin: 0;
    color: var(--cdp-title);
    font-size: 20px;
}

.cdp-text-link {
    color: var(--cdp-title) !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
}

.cdp-dashboard-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 15px;
}

.cdp-dashboard-search {
    width: min(100%, 310px);
}

.cdp-dashboard-search input {
    min-height: 42px;
    padding-left: 13px;
}

.cdp-dashboard-count {
    color: var(--cdp-muted);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.cdp-report-head,
.cdp-report-row {
    display: grid;
    grid-template-columns: 1.35fr .65fr 1fr 1.1fr;
    gap: 14px;
    align-items: center;
    min-width: 0;
    padding: 14px 15px;
    border: 1px solid var(--cdp-border);
    border-radius: 12px;
}

.cdp-report-head {
    border-color: transparent;
    background: var(--cdp-soft);
    color: var(--cdp-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.cdp-report-row {
    background: #fff;
    color: var(--cdp-text);
    font-size: 13px;
}

.cdp-employee-cell {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 3px;
}

.cdp-employee-cell strong {
    overflow: hidden;
    color: var(--cdp-text);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cdp-employee-cell small {
    overflow: hidden;
    color: var(--cdp-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cdp-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.cdp-status-pill.is-complete {
    background: #E8F8F1;
    color: #197B5A;
}

.cdp-status-pill.is-sub {
    background: #FFF3DE;
    color: #A86B15;
}

.cdp-status-pill.is-progress {
    background: #EAF3FD;
    color: #3574B7;
}

.cdp-status-pill.is-leave {
    background: #F0ECFF;
    color: var(--cdp-title);
}

.cdp-status-pill.is-inactive {
    background: #F0EEF5;
    color: #867B9E;
}

.cdp-activity-bars {
    display: flex;
    align-items: center;
    gap: 4px;
}

.cdp-activity-bars i {
    display: inline-block;
    width: 6px;
    height: 22px;
    border-radius: 999px;
    background: #E9E5F0;
}

.cdp-activity-bars i.is-complete {
    background: #69C89F;
}

.cdp-activity-bars i.is-sub {
    background: #E6B159;
}

.cdp-activity-bars i.is-progress {
    background: #72A9DF;
}

.cdp-activity-bars i.is-leave {
    background: #A995EA;
}

.cdp-quick-actions-panel,
.cdp-company-summary-panel {
    padding: 20px;
}

.cdp-quick-action {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 18px;
    gap: 10px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--cdp-border);
    color: var(--cdp-text) !important;
    text-decoration: none !important;
}

.cdp-quick-action:last-child {
    border-bottom: 0;
}

.cdp-quick-action:hover strong {
    color: var(--cdp-title);
}

.cdp-quick-action strong,
.cdp-quick-action small {
    display: block;
}

.cdp-quick-action strong {
    color: var(--cdp-text);
    font-size: 13px;
}

.cdp-quick-action small {
    margin-top: 2px;
    color: var(--cdp-muted);
    font-size: 11px;
}

.cdp-quick-action b {
    color: var(--cdp-title);
    font-size: 18px;
    font-weight: 500;
    text-align: right;
}

.cdp-quick-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: #E9F8F1;
    color: var(--cdp-green);
    font-size: 18px;
    font-weight: 700;
}

.cdp-quick-icon.is-purple {
    background: #EEE9FF;
    color: var(--cdp-title);
}

.cdp-quick-icon.is-blue {
    background: #EAF3FD;
    color: var(--cdp-blue);
}

.cdp-summary-row {
    color: var(--cdp-muted);
    font-size: 13px;
}

.cdp-summary-row strong {
    color: var(--cdp-text);
}

.cdp-outline-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 12px;
    margin-top: 16px;
    border: 1px solid #D8CEF4;
    border-radius: var(--cdp-button-radius);
    color: var(--cdp-title) !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
}

.cdp-outline-button:hover {
    background: #F6F2FF;
}

.cdp-dashboard-section-heading {
    display: block;
    margin-bottom: 20px;
}

.cdp-dashboard-section-heading h2 {
    margin-top: 0;
}

.cdp-dashboard-section-heading p {
    max-width: 680px;
}

.cdp-dashboard-empty {
    max-width: 620px;
    padding: 48px 28px;
    margin: 0 auto;
    border: 1px solid var(--cdp-border);
    border-radius: 20px;
    background: #fff;
    text-align: center;
    box-shadow: var(--cdp-shadow);
}

.cdp-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin-bottom: 12px;
    border-radius: 15px;
    background: #FFF3DE;
    color: var(--cdp-orange);
    font-size: 24px;
    font-weight: 900;
}

.cdp-dashboard-empty h2 {
    margin: 0 0 8px;
    color: var(--cdp-title);
}

.cdp-dashboard-empty p {
    margin: 0;
    color: var(--cdp-muted);
}

/* Existing attendance and employee modules inside the SaaS dashboard */
.cdp-modern-card {
    padding: 24px;
    border-radius: var(--cdp-radius);
}

.cdp-modern-grid {
    display: grid;
    gap: 14px;
    align-items: end;
}

.cdp-modern-grid-4 {
    grid-template-columns: 1.1fr 1.35fr .9fr;
}

.cdp-automatic-form-fields {
    display: grid;
    grid-template-columns: minmax(190px, .8fr) minmax(240px, 1.2fr);
    gap: 14px;
    align-items: end;
}

.cdp-automatic-form-fields button {
    width: 100%;
    min-width: 0;
}

.cdp-employment-type {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 22px;
    padding: 13px 15px;
    border: 1px solid var(--cdp-border);
    border-radius: 12px;
    background: var(--cdp-soft);
}

.cdp-employment-type > span {
    flex: 0 0 100%;
    color: var(--cdp-title);
    font-size: 13px;
    font-weight: 600;
}

.cdp-employment-type label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.cdp-employment-type label span {
    color: var(--cdp-text);
}

.cdp-invoice-list {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.cdp-invoice-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    padding: 13px 15px;
    border: 1px solid var(--cdp-border);
    border-radius: 12px;
    background: #FBF9FE;
}

.cdp-invoice-row > div {
    min-width: 0;
}

.cdp-invoice-row b,
.cdp-invoice-row small {
    display: block;
    overflow-wrap: anywhere;
}

.cdp-invoice-row small {
    margin-top: 3px;
    color: var(--cdp-muted);
}

.cdp-dashboard-content,
.cdp-dashboard-main,
.cdp-dashboard-body,
.cdp-dashboard-panel,
.cdp-card {
    min-width: 0;
}

.cdp-report-table {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
}

.cdp-monthly-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.cdp-monthly-status-grid > div {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--cdp-border);
    border-radius: 13px;
    background: #FBF9FE;
}

.cdp-monthly-status-grid strong,
.cdp-monthly-status-grid span {
    display: block;
}

.cdp-monthly-status-grid strong {
    color: var(--cdp-title);
    font-size: 22px;
    font-weight: 600;
}

.cdp-monthly-status-grid span {
    color: var(--cdp-muted);
    font-size: 12px;
}

.cdp-monthly-status-grid .is-leave {
    background: #FFF5F7;
    border-color: #F1D5DC;
}

.cdp-monthly-status-grid .is-incomplete {
    background: #FFF9EC;
    border-color: #F0E0B9;
}

.cdp-monthly-status-table {
    overflow-x: auto;
}

.cdp-monthly-status-table .cdp-row {
    min-width: 760px;
}

.cdp-field-block {
    min-width: 0;
}

.cdp-action-pair,
.cdp-row-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
}

.cdp-modern-bulk-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.cdp-bulk-card {
    padding: 16px;
    border: 1px solid var(--cdp-border);
    border-radius: 14px;
    background: var(--cdp-soft);
}

.cdp-bulk-title {
    margin-bottom: 10px;
    color: var(--cdp-title);
    font-size: 13px;
    font-weight: 800;
}

.cdp-bulk-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cdp-bulk-row input {
    min-width: 120px;
}

.cdp-status-table-modern .cdp-report-head,
.cdp-status-table-modern .cdp-report-row {
    grid-template-columns: 1.2fr .55fr .55fr .8fr 1fr;
}

.cdp-team-table-modern .cdp-report-head,
.cdp-team-table-modern .cdp-report-row {
    grid-template-columns: 1.1fr .8fr 1fr .8fr .55fr .75fr;
}

.cdp-team-row,
.cdp-status-row-modern {
    background: #fff;
}

.cdp-action-link {
    color: var(--cdp-title);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.cdp-action-link:hover {
    text-decoration: underline;
}

.cdp-inline-delete {
    display: inline-block;
    margin: 0;
}

.cdp-admin-switcher {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    padding: 12px 14px;
    margin: 0 0 16px;
    border: 1px solid #D9D0F2;
    border-radius: 12px;
    background: #F7F4FF;
}

.cdp-admin-switcher label {
    color: var(--cdp-text);
    font-size: 13px;
    font-weight: 700;
}

.cdp-admin-switcher select {
    width: auto;
    min-width: 230px;
    min-height: 40px;
}

.cdp-admin-switcher button {
    min-height: 40px;
    padding: 9px 13px;
}

/* Admin screens */
.toplevel_page_cdp-dashboard #wpcontent,
.condica_page_cdp-companies #wpcontent,
.condica_page_cdp-subscriptions #wpcontent,
.condica_page_cdp-billing #wpcontent,
.condica_page_cdp-settings #wpcontent {
    background: var(--cdp-bg);
}

.cdp-admin-wrap {
    margin: 20px 20px 0 0;
}

.cdp-admin-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 28px;
    margin-bottom: 20px;
    border-radius: 20px;
    background: linear-gradient(135deg, #6648CD 0%, #4C329F 100%);
    color: #fff;
    box-shadow: 0 18px 46px rgba(76, 50, 159, .2);
}

.cdp-admin-header h1 {
    margin: 0 0 7px;
    color: #fff;
    font-size: 31px;
}

.cdp-admin-header p {
    max-width: 780px;
    margin: 0;
    color: #EDE8FF;
}

.cdp-admin-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
}

.cdp-admin-client-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    max-width: 100%;
    padding: 8px 13px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 10px;
    background: rgba(255,255,255,.14);
    color: #FFFFFF !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    white-space: normal;
}

.cdp-admin-client-link:hover,
.cdp-admin-client-link:focus {
    background: rgba(255,255,255,.24);
    color: #FFFFFF !important;
}

.cdp-admin-pill {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    font-weight: 700;
}

.cdp-admin-stats {
    display: grid;
    grid-template-columns: repeat(6, minmax(120px, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.cdp-admin-stat {
    padding: 18px;
    border: 1px solid var(--cdp-border);
    border-radius: var(--cdp-radius);
    background: #fff;
    box-shadow: var(--cdp-shadow);
}

.cdp-admin-stat span {
    display: block;
    margin-bottom: 9px;
    color: var(--cdp-muted);
    font-size: 12px;
}

.cdp-admin-stat strong {
    color: var(--cdp-title);
    font-size: 29px;
    line-height: 1;
}

.cdp-admin-grid,
.cdp-settings-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 18px;
}

.cdp-admin-panel {
    padding: 21px;
    margin-bottom: 18px;
    overflow-x: auto;
    border: 1px solid var(--cdp-border);
    border-radius: var(--cdp-radius);
    background: #fff;
    box-shadow: var(--cdp-shadow);
}

.cdp-admin-panel h2 {
    margin: 0 0 14px;
    color: var(--cdp-title);
    font-size: 20px;
}

.cdp-admin-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.cdp-admin-panel-head h2 {
    margin: 0;
}

.cdp-admin-panel-head a {
    color: var(--cdp-title);
    font-weight: 700;
    text-decoration: none;
}

.cdp-admin-attention {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    border-color: #E9D8B5;
    background: #FFF9EE;
}

.cdp-admin-attention strong,
.cdp-admin-attention span {
    display: block;
}

.cdp-admin-attention strong {
    color: #976314;
}

.cdp-admin-attention span {
    margin-top: 3px;
    color: #A57A3C;
}

.cdp-modern-table {
    min-width: 650px;
    border: 0;
    box-shadow: none;
}

.cdp-modern-table thead th {
    padding: 13px 11px;
    border-bottom: 1px solid var(--cdp-border);
    background: var(--cdp-soft);
    color: var(--cdp-text);
}

.cdp-modern-table tbody td {
    padding: 13px 11px;
    vertical-align: top;
}

.cdp-row-sub {
    margin-top: 4px;
    color: var(--cdp-muted);
    font-size: 12px;
}

.cdp-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.cdp-badge.is-active {
    background: #E8F8F1;
    color: #197B5A;
}

.cdp-badge.is-suspended {
    background: #FFF0F4;
    color: #A74360;
}

.cdp-badge.is-pending {
    background: #FFF3DE;
    color: #A86B15;
}

.cdp-badge.is-neutral {
    background: #F0EEF5;
    color: #817795;
}

.cdp-admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.cdp-form-table th {
    width: 240px;
}

.cdp-form-table input[type="text"],
.cdp-form-table input[type="email"],
.cdp-form-table input[type="color"] {
    width: 100%;
    max-width: 460px;
}

.cdp-admin-list {
    margin: 0;
    padding-left: 18px;
}

.cdp-admin-list li {
    margin-bottom: 9px;
}

@media (max-width: 1100px) {
    .cdp-dashboard-columns,
    .cdp-admin-grid,
    .cdp-settings-grid {
        grid-template-columns: 1fr;
    }

    .cdp-dashboard-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cdp-admin-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .cdp-modern-grid-4,
    .cdp-modern-bulk-grid,
    .cdp-pricing-grid,
    .cdp-pricing-grid.columns-2,
    .cdp-pricing-grid.columns-3 {
        grid-template-columns: 1fr;
    }

    .cdp-dashboard-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .cdp-dashboard-header-actions {
        width: 100%;
        justify-content: space-between;
    }

    .cdp-dashboard-intro {
        align-items: flex-start;
        flex-direction: column;
    }

    .cdp-dashboard-date {
        align-items: flex-start;
    }

    .cdp-form-row {
        grid-template-columns: 1fr;
    }

    .cdp-span-2 {
        grid-column: auto;
    }

    .cdp-admin-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .cdp-monthly-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cdp-dashboard-app {
        padding: 10px;
        border-radius: 13px;
    }

    .cdp-dashboard-header {
        padding: 18px;
        border-radius: 16px;
    }

    .cdp-dashboard-brand {
        align-items: flex-start;
    }

    .cdp-brand-mark {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        border-radius: 12px;
    }

    .cdp-dashboard-header-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .cdp-account-status,
    .cdp-logout-button {
        justify-content: center;
        width: 100%;
    }

    .cdp-dashboard-nav {
        margin: 10px 0;
    }

    .cdp-dashboard-nav-item {
        flex: 0 0 auto;
    }

    .cdp-dashboard-stat-grid,
    .cdp-admin-stats {
        grid-template-columns: 1fr;
    }

    .cdp-dashboard-panel,
    .cdp-card,
    .cdp-modern-card,
    .cdp-auth-card {
        padding: 18px;
        border-radius: 14px;
    }

    .cdp-panel-heading,
    .cdp-section-head,
    .cdp-dashboard-toolbar,
    .cdp-admin-attention {
        align-items: flex-start;
        flex-direction: column;
    }

    .cdp-dashboard-search {
        width: 100%;
    }

    .cdp-text-link {
        white-space: normal;
    }

    .cdp-report-head {
        display: none;
    }

    .cdp-report-row {
        grid-template-columns: 1fr;
        gap: 9px;
        padding: 14px;
    }

    .cdp-status-table-modern .cdp-report-row,
    .cdp-team-table-modern .cdp-report-row {
        grid-template-columns: 1fr;
    }

    .cdp-report-row > span:not(.cdp-employee-cell):not(.cdp-activity-bars) {
        display: block;
    }

    .cdp-activity-bars {
        margin-top: 2px;
    }

    .cdp-bulk-row {
        align-items: stretch;
        flex-direction: column;
    }

    .cdp-bulk-row input,
    .cdp-bulk-row button {
        width: 100%;
    }

    .cdp-form-compact {
        grid-template-columns: 1fr;
    }

    .cdp-form-table th,
    .cdp-form-table td {
        display: block;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
}

/* SaaS dashboard refresh — single workspace layout */
.cdp-dashboard-app {
    --cdp-dashboard-ink: #48397C;
    --cdp-dashboard-title: #6648CD;
    --cdp-dashboard-bg: #F5F3FC;
    --cdp-dashboard-panel: #FFFFFF;
    --cdp-dashboard-line: #EAE6F5;
    --cdp-dashboard-muted: #8A82A9;
    max-width: 1440px;
    padding: 14px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #E8E3F5;
    border-radius: 26px;
    background: var(--cdp-dashboard-bg);
    color: var(--cdp-dashboard-ink);
    font-family: Poppins, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cdp-dashboard-layout {
    display: grid;
    grid-template-columns: 248px minmax(0, 1fr);
    min-height: 750px;
    overflow: hidden;
    border: 1px solid var(--cdp-dashboard-line);
    border-radius: 20px;
    background: var(--cdp-dashboard-panel);
    box-shadow: 0 24px 60px rgba(81, 61, 143, .1);
}

.cdp-dashboard-sidebar {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 24px 15px 18px;
    border-right: 1px solid var(--cdp-dashboard-line);
    background: #FFFFFF;
}

.cdp-sidebar-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 0 8px;
    color: var(--cdp-dashboard-title) !important;
    text-decoration: none !important;
}

.cdp-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 13px;
    background: linear-gradient(145deg, #8067E4 0%, #5B3BC2 100%);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    box-shadow: 0 10px 22px rgba(102, 72, 205, .23);
}

.cdp-sidebar-brand-copy {
    display: flex;
    flex-direction: column;
    gap: 0;
    line-height: 1.15;
}

.cdp-sidebar-brand-copy strong {
    color: var(--cdp-dashboard-title);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -.02em;
}

.cdp-sidebar-brand-copy small {
    color: var(--cdp-dashboard-muted);
    font-size: 11px;
    font-weight: 600;
}

.cdp-sidebar-company {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 15px 14px;
    margin: 29px 3px 27px;
    border: 1px solid #E8E2F8;
    border-radius: 14px;
    background: linear-gradient(145deg, #FAF9FF, #F5F1FF);
}

.cdp-sidebar-kicker,
.cdp-sidebar-section-label {
    color: #9A91B6;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.2;
    text-transform: uppercase;
}

.cdp-sidebar-company > strong {
    overflow: hidden;
    color: var(--cdp-dashboard-ink);
    font-size: 14px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cdp-sidebar-plan {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    overflow: hidden;
    color: var(--cdp-dashboard-muted);
    font-size: 11px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cdp-sidebar-plan i {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: var(--cdp-green);
}

.cdp-sidebar-section-label {
    padding: 0 12px 10px;
}

.cdp-dashboard-nav {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.cdp-dashboard-nav-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 11px;
    min-height: 47px;
    padding: 9px 12px;
    border: 1px solid transparent;
    border-radius: 11px;
    color: #8B83A8 !important;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none !important;
    transition: color .18s ease, background .18s ease, border-color .18s ease;
}

.cdp-dashboard-nav-item:hover {
    background: #FAF8FF;
    color: var(--cdp-dashboard-title) !important;
}

.cdp-dashboard-nav-item.is-active {
    border-color: #E5DDF9;
    background: #F1EDFF;
    color: var(--cdp-dashboard-title) !important;
    box-shadow: 0 7px 18px rgba(102, 72, 205, .08);
}

.cdp-dashboard-nav-item.is-active::before {
    position: absolute;
    left: -16px;
    width: 3px;
    height: 24px;
    border-radius: 0 4px 4px 0;
    background: var(--cdp-dashboard-title);
    content: "";
}

.cdp-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    border-radius: 8px;
    background: #F2EFFB;
    color: #958BB5;
    font-family: Georgia, serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

.cdp-dashboard-nav-item.is-active .cdp-nav-icon {
    background: #E1D8FF;
    color: var(--cdp-dashboard-title);
}

.cdp-dashboard-nav-item b {
    margin-left: auto;
    color: #B7AFCC;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
}

.cdp-dashboard-nav-item.is-active b {
    color: var(--cdp-dashboard-title);
}

.cdp-sidebar-bottom {
    display: grid;
    gap: 13px;
    margin-top: auto;
    padding-top: 26px;
}

.cdp-sidebar-tip {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 12px 10px;
    border: 1px solid #E8E2F8;
    border-radius: 12px;
    background: #FBFAFF;
}

.cdp-sidebar-tip-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    border-radius: 8px;
    background: #E8F8F1;
    color: var(--cdp-green);
    font-size: 12px;
    font-weight: 900;
}

.cdp-sidebar-tip strong,
.cdp-sidebar-tip small {
    display: block;
}

.cdp-sidebar-tip strong {
    color: var(--cdp-dashboard-ink);
    font-size: 12px;
    font-weight: 600;
}

.cdp-sidebar-tip small {
    margin-top: 2px;
    color: var(--cdp-dashboard-muted);
    font-size: 10px;
    line-height: 1.35;
}

.cdp-sidebar-logout {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 11px;
    border-radius: 10px;
    color: #8C83A6 !important;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none !important;
}

.cdp-sidebar-logout:hover {
    background: #FAF8FF;
    color: var(--cdp-dashboard-title) !important;
}

.cdp-dashboard-main {
    display: flex;
    min-width: 0;
    flex-direction: column;
    background: #FCFBFF;
}

.cdp-dashboard-header {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 78px;
    padding: 17px 29px;
    border: 0;
    border-bottom: 1px solid var(--cdp-dashboard-line);
    border-radius: 0;
    background: rgba(255, 255, 255, .92);
    box-shadow: none;
}

.cdp-dashboard-breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    color: #A49BBE;
    font-size: 13px;
}

.cdp-dashboard-breadcrumb b {
    color: #C8C1D9;
    font-weight: 500;
}

.cdp-dashboard-breadcrumb strong {
    overflow: hidden;
    color: var(--cdp-dashboard-ink);
    font-size: 14px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cdp-dashboard-header-actions {
    display: flex;
    align-items: center;
    gap: 17px;
    min-width: 0;
}

.cdp-account-status {
    padding: 7px 10px;
    font-size: 11px;
    font-weight: 600;
}

.cdp-user-chip {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding-left: 17px;
    border-left: 1px solid var(--cdp-dashboard-line);
}

.cdp-user-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 11px;
    background: #E9E2FF;
    color: var(--cdp-dashboard-title);
    font-size: 12px;
    font-weight: 900;
}

.cdp-user-chip > span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}

.cdp-user-chip strong,
.cdp-user-chip small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cdp-user-chip strong {
    max-width: 150px;
    color: var(--cdp-dashboard-ink);
    font-size: 12px;
    font-weight: 600;
}

.cdp-user-chip small {
    color: var(--cdp-dashboard-muted);
    font-size: 10px;
}

.cdp-dashboard-body {
    min-width: 0;
    padding: 29px;
}

.cdp-dashboard-content {
    min-width: 0;
    max-width: 1180px;
    margin: 0 auto;
}

.cdp-admin-preview-note {
    max-width: 1180px;
    margin: 0 auto 20px;
}

.cdp-dashboard-intro {
    align-items: center;
    margin: 0 0 24px;
}

.cdp-dashboard-intro h2,
.cdp-dashboard-section-heading h2 {
    color: var(--cdp-dashboard-title);
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 700;
    letter-spacing: -.035em;
}

.cdp-dashboard-intro p,
.cdp-dashboard-section-heading p {
    color: var(--cdp-dashboard-muted);
    font-size: 14px;
}

.cdp-dashboard-date {
    align-items: flex-start;
    padding: 10px 14px;
    border-color: var(--cdp-dashboard-line);
    border-radius: 11px;
    background: #FFFFFF;
    box-shadow: 0 5px 15px rgba(81, 61, 143, .04);
}

.cdp-dashboard-date strong {
    color: var(--cdp-dashboard-ink);
    font-size: 12px;
}

.cdp-dashboard-stat-grid {
    gap: 13px;
    margin-bottom: 20px;
}

.cdp-dashboard-stat {
    min-height: 94px;
    padding: 16px;
    border-color: var(--cdp-dashboard-line);
    border-radius: 14px;
    box-shadow: 0 7px 20px rgba(81, 61, 143, .045);
}

.cdp-dashboard-stat strong {
    color: var(--cdp-dashboard-ink);
    font-size: 26px;
    font-weight: 700;
}

.cdp-dashboard-stat div > span {
    color: var(--cdp-dashboard-muted);
    font-size: 12px;
}

.cdp-stat-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    border-radius: 11px;
    background: #EEE9FF;
    color: var(--cdp-dashboard-title) !important;
}

.cdp-dashboard-columns {
    grid-template-columns: minmax(0, 1.52fr) minmax(265px, .78fr);
    gap: 18px;
}

.cdp-dashboard-side-column {
    gap: 18px;
}

.cdp-dashboard-panel {
    padding: 21px;
    border-color: var(--cdp-dashboard-line);
    border-radius: 15px;
    box-shadow: 0 8px 24px rgba(81, 61, 143, .055);
}

.cdp-panel-heading {
    margin-bottom: 16px;
}

.cdp-panel-heading h3,
.cdp-section-head h3 {
    color: var(--cdp-dashboard-ink);
    font-size: 19px;
    font-weight: 600;
    letter-spacing: -.02em;
}

.cdp-dashboard-toolbar {
    margin-bottom: 13px;
}

.cdp-dashboard-search input {
    min-height: 40px;
    border-color: var(--cdp-dashboard-line);
    background: #FBFAFF;
    font-size: 12px;
}

.cdp-dashboard-search input::placeholder {
    color: #AAA3C0;
}

.cdp-dashboard-count {
    color: var(--cdp-dashboard-muted);
    font-size: 12px;
}

.cdp-report-table {
    gap: 7px;
}

.cdp-report-head,
.cdp-report-row {
    border-color: var(--cdp-dashboard-line);
    border-radius: 10px;
}

.cdp-report-head {
    padding: 11px 13px;
    background: #F9F7FE;
    color: #A19AB9;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .07em;
}

.cdp-report-row {
    padding: 12px 13px;
    color: var(--cdp-dashboard-ink);
    font-size: 12px;
}

.cdp-employee-cell strong {
    color: var(--cdp-dashboard-ink);
    font-size: 12px;
    font-weight: 600;
}

.cdp-employee-cell small {
    color: var(--cdp-dashboard-muted);
    font-size: 10px;
}

.cdp-status-pill {
    padding: 5px 8px;
    font-size: 10px;
    font-weight: 600;
}

.cdp-activity-bars {
    gap: 3px;
}

.cdp-activity-bars i {
    width: 5px;
    height: 19px;
}

.cdp-quick-actions-panel,
.cdp-company-summary-panel {
    padding: 19px;
}

.cdp-quick-action {
    padding: 11px 0;
    border-color: var(--cdp-dashboard-line);
}

.cdp-quick-action strong {
    color: var(--cdp-dashboard-ink);
    font-size: 12px;
    font-weight: 600;
}

.cdp-quick-action small {
    color: var(--cdp-dashboard-muted);
    font-size: 10px;
}

.cdp-quick-action b {
    color: var(--cdp-dashboard-title);
}

.cdp-summary-row {
    border-color: var(--cdp-dashboard-line);
    color: var(--cdp-dashboard-muted);
    font-size: 12px;
}

.cdp-summary-row strong {
    color: var(--cdp-dashboard-ink);
}

.cdp-outline-button {
    border-color: #DCD2F6;
    color: var(--cdp-dashboard-title) !important;
    font-size: 12px;
    font-weight: 600;
}

.cdp-outline-button:hover {
    background: #F7F3FF;
}

.cdp-dashboard-section-heading {
    margin: 0 0 21px;
}

.cdp-dashboard-app .cdp-eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
}

.cdp-dashboard-app button,
.cdp-dashboard-app .cdp-action-link,
.cdp-dashboard-app .cdp-text-link {
    font-weight: 600;
}

.cdp-dashboard-section-heading h2 {
    margin-top: 0;
}

.cdp-dashboard-content > .cdp-card,
.cdp-dashboard-content .cdp-modern-card {
    border-color: var(--cdp-dashboard-line);
    border-radius: 15px;
    box-shadow: 0 8px 24px rgba(81, 61, 143, .055);
}

.cdp-dashboard-content .cdp-form input,
.cdp-dashboard-content .cdp-form select,
.cdp-dashboard-content .cdp-form textarea {
    border-color: var(--cdp-dashboard-line);
    background: #FBFAFF;
}

.cdp-dashboard-content .cdp-form-section,
.cdp-dashboard-content .cdp-bulk-card {
    border-color: var(--cdp-dashboard-line);
    background: #F9F7FE;
}

@media (max-width: 1080px) {
    .cdp-dashboard-layout {
        grid-template-columns: 220px minmax(0, 1fr);
    }

    .cdp-dashboard-body {
        padding: 23px;
    }

    .cdp-dashboard-columns {
        grid-template-columns: 1fr;
    }

    .cdp-dashboard-side-column {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .cdp-dashboard-app {
        padding: 8px;
        border-radius: 18px;
    }

    .cdp-dashboard-layout {
        display: block;
        min-height: 0;
        border-radius: 15px;
    }

    .cdp-dashboard-sidebar {
        padding: 17px 15px 12px;
        border-right: 0;
        border-bottom: 1px solid var(--cdp-dashboard-line);
    }

    .cdp-sidebar-company {
        margin: 16px 0 14px;
    }

    .cdp-sidebar-section-label {
        display: none;
    }

    .cdp-dashboard-nav {
        display: flex;
        gap: 6px;
        margin: 0 -1px;
        padding: 2px 1px 4px;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .cdp-dashboard-nav-item {
        min-height: 42px;
        flex: 0 0 auto;
        padding: 7px 10px;
    }

    .cdp-dashboard-nav-item.is-active::before {
        top: auto;
        bottom: -5px;
        left: 16px;
        width: 24px;
        height: 3px;
        border-radius: 4px 4px 0 0;
    }

    .cdp-dashboard-nav-item b {
        display: none;
    }

    .cdp-sidebar-bottom {
        display: none;
    }

    .cdp-dashboard-header {
        min-height: 68px;
        padding: 14px 18px;
    }

    .cdp-dashboard-body {
        padding: 21px 18px;
    }

    .cdp-dashboard-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cdp-dashboard-side-column {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .cdp-dashboard-app {
        padding: 4px;
        border-radius: 12px;
    }

    .cdp-dashboard-layout {
        border-radius: 11px;
    }

    .cdp-sidebar-brand {
        padding: 0 4px;
    }

    .cdp-brand-mark {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
        border-radius: 11px;
    }

    .cdp-sidebar-brand-copy strong {
        font-size: 15px;
    }

    .cdp-sidebar-company {
        padding: 12px;
    }

    .cdp-dashboard-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 11px;
        padding: 15px;
    }

    .cdp-dashboard-header-actions {
        width: 100%;
        justify-content: space-between;
        gap: 10px;
    }

    .cdp-user-chip {
        padding-left: 0;
        border-left: 0;
    }

    .cdp-dashboard-body {
        padding: 18px 13px;
    }

    .cdp-dashboard-intro {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px;
        margin-bottom: 18px;
    }

    .cdp-dashboard-intro h2,
    .cdp-dashboard-section-heading h2 {
        font-size: 28px;
    }

    .cdp-dashboard-date {
        width: 100%;
    }

    .cdp-dashboard-stat-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .cdp-dashboard-stat {
        min-height: 76px;
    }

    .cdp-dashboard-panel {
        padding: 16px;
    }

    .cdp-panel-heading,
    .cdp-dashboard-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .cdp-dashboard-search {
        width: 100%;
    }

    .cdp-report-head {
        display: none;
    }

    .cdp-report-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .cdp-activity-bars {
        margin-top: 1px;
    }

    .cdp-dashboard-content > .cdp-card,
    .cdp-dashboard-content .cdp-modern-card {
        padding: 16px;
    }
}

/* Mobile-app authentication and attendance controls */
.cdp-auth-screen {
    display: grid;
    grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
    max-width: 1160px;
    min-height: 620px;
    margin: clamp(16px, 4vw, 46px) auto;
    overflow: hidden;
    border: 1px solid #E7E1F5;
    border-radius: 24px;
    background: #FFFFFF;
    box-shadow: 0 24px 65px rgba(81, 61, 143, .11);
    font-family: Poppins, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cdp-auth-visual {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: clamp(28px, 5vw, 58px);
    background: radial-gradient(circle at 12% 8%, rgba(255,255,255,.2), transparent 31%), linear-gradient(150deg, #7658D9 0%, #4D329E 100%);
    color: #FFFFFF;
}

.cdp-auth-visual h2 {
    max-width: 340px;
    margin: 0 0 12px;
    color: #FFFFFF;
    font-size: clamp(25px, 3vw, 36px);
    font-weight: 600;
    letter-spacing: -.035em;
    line-height: 1.12;
}

.cdp-auth-visual p {
    max-width: 360px;
    margin: 0;
    color: rgba(255,255,255,.8);
    font-size: 14px;
    line-height: 1.65;
}

.cdp-auth-visual ul {
    display: grid;
    gap: 12px;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}

.cdp-auth-visual li {
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(255,255,255,.9);
    font-size: 12px;
}

.cdp-auth-visual li::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 7px;
    background: rgba(255,255,255,.15);
    content: "✓";
    font-size: 11px;
}

.cdp-auth-visual-stat {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
    padding-top: 36px;
}

.cdp-auth-visual-stat strong {
    color: #FFFFFF;
    font-size: 25px;
    font-weight: 600;
}

.cdp-auth-visual-stat span {
    max-width: 180px;
    color: rgba(255,255,255,.74);
    font-size: 11px;
    line-height: 1.4;
}

.cdp-auth-screen .cdp-auth-card {
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: clamp(25px, 5vw, 54px);
    border: 0;
    border-radius: 0;
    background: #FFFFFF;
    box-shadow: none;
}

.cdp-auth-screen .cdp-auth-title {
    margin-bottom: 9px;
    font-size: clamp(25px, 3vw, 32px);
    font-weight: 600;
    letter-spacing: -.03em;
}

.cdp-auth-screen .cdp-auth-subtitle {
    margin-bottom: 25px;
    font-size: 14px;
}

.cdp-auth-screen .cdp-auth-note {
    margin-bottom: 20px;
    font-size: 13px;
    line-height: 1.55;
}

.cdp-auth-screen .cdp-form-section {
    padding: 17px;
    border-color: #ECE7F7;
    background: #FBFAFF;
}

.cdp-auth-screen .cdp-section-title {
    margin-bottom: 14px;
    font-size: 16px;
    font-weight: 600;
}

.cdp-auth-screen .cdp-form-group label,
.cdp-auth-screen .cdp-field-block label {
    font-size: 13px;
    font-weight: 500;
}

.cdp-auth-screen .cdp-form input,
.cdp-auth-screen .cdp-form select,
.cdp-auth-screen .cdp-form textarea {
    min-height: 49px;
    font-size: 14px;
}

.cdp-auth-screen .cdp-auth-submit {
    min-height: 50px;
    margin-top: 5px;
    font-size: 14px !important;
    font-weight: 500;
}

.cdp-app button,
.cdp-app .button,
.cdp-admin-actions .button {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
    word-break: normal;
    line-height: 1.28;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
}

.cdp-dashboard-content .cdp-form-group label,
.cdp-dashboard-content .cdp-field-block label {
    font-size: 13px;
    font-weight: 500;
}

.cdp-dashboard-content .cdp-form input,
.cdp-dashboard-content .cdp-form select,
.cdp-dashboard-content .cdp-form textarea {
    font-size: 14px;
}

.cdp-schedule-box {
    padding: 17px;
    border: 1px solid #E7E1F5;
    border-radius: 13px;
    background: #FBFAFF;
}

.cdp-schedule-box-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.cdp-schedule-box-head strong,
.cdp-schedule-box-head small {
    display: block;
}

.cdp-schedule-box-head strong {
    color: var(--cdp-title);
    font-size: 15px;
    font-weight: 600;
}

.cdp-schedule-box-head small {
    margin-top: 3px;
    color: var(--cdp-muted);
    font-size: 11px;
}

.cdp-schedule-hint,
.cdp-auto-badge,
.cdp-schedule-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 5px 9px;
    border-radius: 999px;
    background: #EEE9FF;
    color: var(--cdp-title);
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
}

.cdp-schedule-fields {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.cdp-schedule-fields .cdp-weekday-field {
    grid-column: span 2;
}

.cdp-weekday-picker {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.cdp-weekday-picker label {
    position: relative;
    margin: 0 !important;
    cursor: pointer;
}

.cdp-weekday-picker input {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden;
    opacity: 0;
}

.cdp-weekday-picker span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 31px;
    min-height: 31px;
    padding: 3px 5px;
    border: 1px solid #E4DDF4;
    border-radius: 8px;
    background: #FFFFFF;
    color: var(--cdp-muted);
    font-size: 10px;
    font-weight: 500;
}

.cdp-weekday-picker input:checked + span {
    border-color: #CFC2F4;
    background: #EEE9FF;
    color: var(--cdp-title);
}

.cdp-schedule-pill.is-automatic {
    background: #E8F8F1;
    color: #197B5A;
}

.cdp-schedule-pill.is-manual {
    background: #F1EFF6;
    color: #817795;
}

.cdp-team-table-modern .cdp-report-head,
.cdp-team-table-modern .cdp-report-row {
    grid-template-columns: 1.2fr .75fr 1fr 1.15fr .6fr .9fr;
}

.cdp-automatic-card {
    border-color: #DED4F7 !important;
    background: linear-gradient(135deg, #FFFFFF 0%, #FAF8FF 100%) !important;
}

.cdp-automatic-card .cdp-section-head {
    align-items: center;
}

.cdp-automatic-card .cdp-section-head p {
    max-width: 670px;
    margin: 6px 0 0;
    font-size: 13px;
}

.cdp-automatic-form-fields {
    display: grid;
    grid-template-columns: minmax(180px, 260px) minmax(190px, 260px);
    gap: 12px;
    align-items: end;
}

.cdp-automatic-form-fields button {
    min-height: 46px;
}

.cdp-status-pill.is-active {
    background: #E8F8F1;
    color: #197B5A;
}

.cdp-status-pill.is-neutral {
    background: #F1EFF6;
    color: #817795;
}

.cdp-attendance-events-list {
    display: grid;
    gap: 8px;
}

.cdp-attendance-event {
    border: 1px solid var(--cdp-dashboard-line);
    border-radius: 11px;
    background: #FFFFFF;
}

.cdp-attendance-event summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    cursor: pointer;
    list-style: none;
}

.cdp-attendance-event summary::-webkit-details-marker {
    display: none;
}

.cdp-attendance-event summary::after {
    color: var(--cdp-title);
    content: "+";
    font-size: 18px;
    font-weight: 400;
}

.cdp-attendance-event[open] summary::after {
    content: "−";
}

.cdp-attendance-event-person {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.cdp-attendance-event-person strong {
    overflow: hidden;
    color: var(--cdp-text);
    font-size: 13px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cdp-attendance-event-person small,
.cdp-attendance-event time {
    overflow: hidden;
    color: var(--cdp-muted);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cdp-attendance-edit-form {
    display: grid;
    grid-template-columns: minmax(150px, 200px) minmax(180px, 1fr) auto;
    gap: 10px;
    align-items: end;
    padding: 0 14px 14px;
}

.cdp-attendance-edit-form button {
    min-height: 44px;
}

.cdp-admin-portal-redirect .cdp-primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    border-radius: 10px;
    background: var(--cdp-title);
    color: #FFFFFF !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.cdp-admin-actions {
    align-items: stretch;
}

.cdp-admin-actions .button {
    height: auto;
    min-height: 36px;
    padding: 7px 9px;
    font-size: 13px;
    font-weight: 500;
}

.cdp-modern-table th,
.cdp-modern-table td {
    font-weight: 400;
}

.cdp-modern-table th {
    font-weight: 600;
}

@media (max-width: 900px) {
    .cdp-auth-screen {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .cdp-auth-visual {
        min-height: 280px;
        padding: 28px;
    }

    .cdp-auth-visual h2 {
        margin-top: 0;
    }

    .cdp-auth-visual-stat {
        padding-top: 24px;
    }

    .cdp-schedule-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cdp-schedule-fields .cdp-weekday-field {
        grid-column: 1 / -1;
    }

    .cdp-attendance-edit-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cdp-attendance-edit-form button {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .cdp-auth-screen {
        margin: 10px auto;
        border-radius: 17px;
    }

    .cdp-auth-visual {
        min-height: 255px;
        padding: 22px;
    }

    .cdp-auth-visual h2 {
        margin-top: 0;
        font-size: 27px;
    }

    .cdp-auth-visual p {
        font-size: 13px;
    }

    .cdp-auth-visual ul {
        gap: 8px;
        margin-top: 17px;
    }

    .cdp-auth-visual li {
        font-size: 11px;
    }

    .cdp-auth-screen .cdp-auth-card {
        padding: 22px 17px;
    }

    .cdp-auth-screen .cdp-form-section {
        padding: 13px;
    }

    .cdp-schedule-box {
        padding: 13px;
    }

    .cdp-schedule-box-head {
        flex-direction: column;
        gap: 8px;
    }

    .cdp-schedule-fields,
    .cdp-automatic-form-fields,
    .cdp-attendance-edit-form {
        grid-template-columns: 1fr;
    }

    .cdp-schedule-fields .cdp-weekday-field,
    .cdp-attendance-edit-form button {
        grid-column: auto;
    }

    .cdp-automatic-form-fields button {
        width: 100%;
    }

    .cdp-attendance-event summary {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }

    .cdp-attendance-event summary time {
        grid-column: 1 / 2;
    }

    .cdp-attendance-event summary::after {
        grid-column: 2 / 3;
        grid-row: 1 / span 2;
    }

    .cdp-attendance-event .cdp-status-pill {
        justify-self: start;
    }
}

@media (max-width: 782px) {
    .cdp-admin-panel {
        overflow-x: auto;
    }

    .cdp-modern-table {
        min-width: 720px;
    }

    .cdp-admin-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(100px, 1fr));
    }
}

/* Softer hierarchy: readable text stays clear without the heavy default bold. */
.cdp-dashboard-app strong,
.cdp-auth-screen strong {
    font-weight: 600;
}

@media (max-width: 600px) {
    .cdp-admin-wrap {
        margin-right: 10px;
    }

    .cdp-admin-header {
        flex-direction: column;
        padding: 22px;
    }

    .cdp-admin-header-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .cdp-admin-client-link {
        flex: 1 1 180px;
    }
}

/* Inline account recovery and registration consent */
.cdp-inline-reset {
    margin: 5px 0 18px;
    text-align: right;
}

.cdp-inline-reset summary {
    display: inline-block;
    cursor: pointer;
    color: var(--cdp-title);
    font-size: 13px;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cdp-inline-reset summary::-webkit-details-marker {
    display: none;
}

.cdp-inline-reset-body {
    padding: 14px;
    margin-top: 12px;
    border: 1px solid #E7E0F6;
    border-radius: 13px;
    background: #FBFAFF;
    text-align: left;
}

.cdp-inline-reset-body p {
    margin: 0 0 12px;
    color: var(--cdp-muted);
    font-size: 12px;
    line-height: 1.5;
}

.cdp-reset-form-inline {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 10px;
}

.cdp-reset-form-inline label {
    grid-column: 1 / -1;
    margin: 0 !important;
    color: var(--cdp-text);
    font-size: 12px;
    font-weight: 500;
}

.cdp-reset-form-inline input {
    min-width: 0;
}

.cdp-reset-form-inline button {
    min-height: 46px;
    padding: 9px 14px;
    white-space: nowrap;
}

.cdp-register-agreement-row {
    margin-top: 2px;
}

.cdp-register-agreement-row label {
    font-size: 12px;
    font-weight: 400;
}

.cdp-admin-dashboard-grid {
    align-items: start;
}

.cdp-admin-panel-subtitle {
    margin: 4px 0 0;
    color: var(--cdp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
}

.cdp-admin-client-table {
    min-width: 880px;
}

.cdp-admin-client-table .cdp-admin-open-client {
    min-width: 92px;
    white-space: normal;
}

@media (max-width: 600px) {
    .cdp-automatic-form-fields {
        grid-template-columns: 1fr;
    }

    .cdp-invoice-row {
        align-items: stretch;
        flex-direction: column;
    }

    .cdp-invoice-row .cdp-btn {
        width: 100%;
    }

    .cdp-reset-form-inline {
        grid-template-columns: 1fr;
    }

    .cdp-reset-form-inline button {
        width: 100%;
    }
}

/* v1.7.29 — premium client dashboard refresh */
.cdp-dashboard-app{
    --cdp-dashboard-ink:#24215A;
    --cdp-dashboard-title:#5F3DD4;
    --cdp-dashboard-bg:#F8F7FD;
    --cdp-dashboard-panel:#FFFFFF;
    --cdp-dashboard-line:#EAE7F5;
    --cdp-dashboard-muted:#837CA3;
    max-width:1540px;
    padding:0;
    border:1px solid #ECE8F7;
    border-radius:24px;
    background:#F8F7FD;
    box-shadow:0 24px 80px rgba(68,50,132,.10);
}
.cdp-dashboard-layout{grid-template-columns:235px minmax(0,1fr);min-height:820px;border:0;border-radius:24px;box-shadow:none;background:#fff}
.cdp-dashboard-sidebar{padding:21px 14px 18px;border-right:1px solid #ECE8F7;background:#fff}
.cdp-sidebar-brand{gap:10px;padding:0 10px}
.cdp-brand-mark{width:40px;height:40px;flex-basis:40px;padding:0;border-radius:12px;background:transparent;box-shadow:none;overflow:hidden}
.cdp-brand-mark img{display:block;width:100%;height:100%}
.cdp-sidebar-brand-copy strong{font-size:19px;color:#5E3FD0}
.cdp-sidebar-brand-copy small{font-size:11px;color:#8D84AD}
.cdp-sidebar-company{margin:25px 4px 18px;padding:14px;border-radius:13px;background:#FBFAFF}
.cdp-sidebar-section-label{display:none}
.cdp-dashboard-nav{gap:4px;margin-top:4px}
.cdp-dashboard-nav-item{min-height:45px;padding:9px 11px;border-radius:11px;color:#6E6790!important;font-size:13px;font-weight:500}
.cdp-dashboard-nav-item.is-active{border-color:#E2D9FB;background:linear-gradient(90deg,#F0EAFF 0%,#F7F3FF 100%);color:#5B39D0!important;box-shadow:none}
.cdp-dashboard-nav-item.is-active::before{display:none}
.cdp-nav-icon{width:27px;height:27px;flex-basis:27px;border-radius:9px;background:#F5F2FC;color:#7569A5;font-family:inherit;font-size:15px}
.cdp-dashboard-nav-item.is-active .cdp-nav-icon{background:#E8DFFF;color:#6542D2}
.cdp-dashboard-nav-item b{display:none}
.cdp-sidebar-bottom{gap:11px;padding-top:22px}
.cdp-sidebar-tip{padding:13px 11px;border-color:#E8E2F8;background:#F8F5FF}
.cdp-sidebar-tip-icon{background:#EEE8FF;color:#6342D1}
.cdp-sidebar-logout{color:#786F99!important}

.cdp-dashboard-main{background:#FBFAFE}
.cdp-dashboard-header{min-height:68px;padding:12px 26px;border-bottom:1px solid #ECE8F7;background:rgba(255,255,255,.96)}
.cdp-dashboard-global-search{display:flex;align-items:center;gap:9px;width:min(420px,48vw);min-height:42px;padding:0 13px;border:1px solid #E7E2F3;border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(65,46,129,.035)}
.cdp-dashboard-global-search>span{color:#6D5FC0;font-size:20px;line-height:1}
.cdp-dashboard-global-search input{width:100%;min-height:38px!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#38315E!important;font-size:12px!important}
.cdp-dashboard-global-search input::placeholder{color:#A29AB8}
.cdp-dashboard-header-actions{gap:12px}
.cdp-dashboard-notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#F7F4FF;color:#6645D0;font-size:18px}
.cdp-dashboard-notification-bell b{position:absolute;top:-4px;right:-4px;display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#E94674;color:#fff;font-size:9px;line-height:1}
.cdp-account-status{border-radius:999px;background:#F4F1FC!important;color:#6E6294!important}
.cdp-user-chip{padding-left:13px}
.cdp-user-avatar{border-radius:50%;background:#EEE8FF;color:#6541D0}

.cdp-dashboard-body{padding:25px 28px 30px}
.cdp-dashboard-content,.cdp-admin-preview-note{max-width:1320px}
.cdp-dashboard-intro-premium{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.cdp-dashboard-intro-premium h2{margin:0;color:#2E236B;font-size:34px;line-height:1.1;letter-spacing:-.035em}
.cdp-dashboard-intro-premium p{margin:6px 0 0;color:#746D93;font-size:13px}
.cdp-dashboard-date{display:flex;flex-direction:column;align-items:flex-end;padding:0;border:0;background:transparent;box-shadow:none}
.cdp-dashboard-date span{color:#9B94B3;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.cdp-dashboard-date strong{margin-top:2px;color:#31276D;font-size:12px}

.cdp-company-hero-strip{display:flex;align-items:center;gap:13px;margin-bottom:16px;padding:13px 15px;border:1px solid #E7E1F8;border-radius:12px;background:linear-gradient(90deg,#F3EEFF 0%,#F9F7FF 100%)}
.cdp-company-hero-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:#E9E0FF;color:#6541D0;font-size:18px}
.cdp-company-hero-strip>div{display:flex;min-width:0;flex-direction:column;gap:2px}
.cdp-company-hero-strip strong{overflow:hidden;color:#30256E;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.cdp-company-hero-strip small{color:#81799D;font-size:10px}
.cdp-company-hero-strip>a{margin-left:auto;padding:8px 11px;border:1px solid #DCD2F4;border-radius:9px;background:#fff;color:#6847CF!important;font-size:11px;font-weight:600;text-decoration:none!important}

.cdp-dashboard-stat-grid-premium{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.cdp-dashboard-stat-grid-premium .cdp-dashboard-stat{display:flex;align-items:center;gap:12px;min-height:105px;padding:15px;border:1px solid #E9E5F4;border-radius:13px;background:#fff;color:inherit!important;text-decoration:none!important;box-shadow:0 5px 18px rgba(60,44,120,.035)}
.cdp-dashboard-stat-grid-premium .cdp-stat-icon{width:44px;height:44px;flex-basis:44px;border-radius:14px;background:#EFE8FF;color:#643FD1!important;font-size:18px}
.cdp-dashboard-stat-grid-premium .cdp-stat-icon.is-green{background:#E8F7EF;color:#17A765!important}
.cdp-dashboard-stat-grid-premium .cdp-stat-icon.is-orange{background:#FFF1E4;color:#E18A22!important}
.cdp-dashboard-stat-grid-premium .cdp-stat-icon.is-blue{background:#EEE9FF;color:#6346D1!important}
.cdp-dashboard-stat-grid-premium .cdp-dashboard-stat>div{display:flex;min-width:0;flex-direction:column;gap:1px}
.cdp-dashboard-stat-grid-premium .cdp-dashboard-stat strong{font-size:25px;line-height:1;color:#28205F}
.cdp-dashboard-stat-grid-premium .cdp-dashboard-stat div>span{margin-top:4px;color:#49416F;font-size:12px;font-weight:600}
.cdp-dashboard-stat-grid-premium .cdp-dashboard-stat small{margin-top:2px;color:#928AA9;font-size:10px}

.cdp-dashboard-columns-premium{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.72fr);gap:15px}
.cdp-dashboard-primary-column{display:grid;gap:15px;min-width:0}
.cdp-dashboard-side-column-premium{display:grid;align-content:start;gap:15px}
.cdp-dashboard-panel{padding:17px;border:1px solid #E9E5F4;border-radius:13px;background:#fff;box-shadow:0 5px 18px rgba(60,44,120,.035)}
.cdp-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.cdp-panel-heading h3{margin:0;color:#3B3075;font-size:15px;font-weight:700}
.cdp-panel-heading p{margin:3px 0 0;color:#958DAA;font-size:10px;line-height:1.45}
.cdp-text-link{color:#6947D3!important;font-size:10px;font-weight:600;text-decoration:none!important;white-space:nowrap}

.cdp-presence-table{gap:0;border:1px solid #EEEAF6;border-radius:10px;overflow:hidden}
.cdp-presence-table .cdp-report-head,.cdp-presence-table .cdp-report-row{display:grid;grid-template-columns:minmax(170px,1.5fr) minmax(90px,.85fr) 68px 68px 92px;gap:10px;align-items:center;border:0;border-bottom:1px solid #F0ECF7;border-radius:0}
.cdp-presence-table .cdp-report-head{padding:9px 11px;background:#F8F6FD;color:#8E86A9;font-size:9px;letter-spacing:0;text-transform:none}
.cdp-presence-table .cdp-report-row{padding:9px 11px;background:#fff;color:#615979;font-size:10px}
.cdp-presence-table .cdp-report-row:last-child{border-bottom:0}
.cdp-presence-table .cdp-employee-cell strong{color:#3E356E;font-size:10px}
.cdp-presence-table .cdp-employee-cell small{margin-top:1px;color:#9B94AE;font-size:8px}
.cdp-presence-table .cdp-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:5px 7px;border-radius:999px;font-size:8px}

.cdp-notice-summary-panel .cdp-panel-heading{margin-bottom:8px}
.cdp-notice-summary-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #F0ECF7;color:inherit!important;text-decoration:none!important}
.cdp-notice-summary-row:last-child{border-bottom:0}
.cdp-notice-summary-row>span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#F1EAFF;color:#6341D0;font-size:14px}
.cdp-notice-summary-row>span.is-pink{background:#FFEAF0;color:#E04472}
.cdp-notice-summary-row>span.is-amber{background:#FFF2DF;color:#D78925}
.cdp-notice-summary-row>div{display:flex;min-width:0;flex-direction:column}
.cdp-notice-summary-row strong{color:#41376F;font-size:10px}
.cdp-notice-summary-row small{margin-top:2px;color:#9B93AD;font-size:9px}
.cdp-notice-summary-row>b{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#F1ECFF;color:#6745D0;font-size:9px}

.cdp-quick-action{min-height:50px;padding:8px 0;border-bottom:1px solid #F0ECF7;background:transparent!important}
.cdp-quick-action:last-child{border-bottom:0}
.cdp-quick-action strong{font-size:10px;color:#40366D}
.cdp-quick-action small{font-size:9px;color:#968EAA}
.cdp-quick-icon{width:31px;height:31px;flex-basis:31px;border-radius:10px}
.cdp-summary-row{padding:9px 0;font-size:10px}
.cdp-outline-button{min-height:36px;margin-top:9px;border-radius:9px;font-size:10px}
.cdp-plan-badge{font-size:9px}

.cdp-attendance-chart-panel{min-height:220px}
.cdp-mini-bars{display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));align-items:end;gap:12px;height:145px;padding:14px 8px 0;border-top:1px solid #F2EEF8}
.cdp-mini-bar-item{display:grid;height:100%;grid-template-rows:18px 1fr 20px;align-items:end;justify-items:center;gap:4px}
.cdp-mini-bar-value{color:#8B83A5;font-size:9px}
.cdp-mini-bar-item i{display:block;width:min(34px,70%);min-height:8px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#A58AF0 0%,#7F5CE0 100%);box-shadow:0 4px 12px rgba(102,72,205,.14)}
.cdp-mini-bar-item small{color:#9891AA;font-size:8px;white-space:nowrap}

/* bring all inner client sections closer to the premium dashboard system */
.cdp-dashboard-content .cdp-dashboard-section-heading{margin-bottom:17px}
.cdp-dashboard-content .cdp-dashboard-section-heading h2{font-size:30px;color:#30256E}
.cdp-dashboard-content .cdp-dashboard-section-heading p{font-size:12px;color:#827A9F}
.cdp-dashboard-content .cdp-card,.cdp-dashboard-content .cdp-panel,.cdp-dashboard-content .cdp-modern-card{border-color:#E9E5F4;border-radius:13px;box-shadow:0 5px 18px rgba(60,44,120,.035)}
.cdp-dashboard-content .cdp-btn,.cdp-dashboard-content button{border-radius:9px}
.cdp-dashboard-content input,.cdp-dashboard-content select,.cdp-dashboard-content textarea{border-radius:9px}
.cdp-dashboard-content .cdp-data-table th{background:#F8F6FD;color:#71688E}

@media(max-width:1180px){
    .cdp-dashboard-stat-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cdp-dashboard-columns-premium{grid-template-columns:1fr}
    .cdp-dashboard-side-column-premium{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
    .cdp-dashboard-layout{display:block}
    .cdp-dashboard-sidebar{border-right:0;border-bottom:1px solid #ECE8F7}
    .cdp-dashboard-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cdp-sidebar-bottom{margin-top:14px}
    .cdp-dashboard-global-search{width:min(330px,60vw)}
    .cdp-dashboard-side-column-premium{grid-template-columns:1fr}
}
@media(max-width:680px){
    .cdp-dashboard-header{padding:10px 13px}
    .cdp-dashboard-global-search{width:100%;max-width:none}
    .cdp-account-status{display:none}
    .cdp-user-chip>span:last-child{display:none}
    .cdp-user-chip{padding-left:8px}
    .cdp-dashboard-body{padding:18px 12px 24px}
    .cdp-dashboard-intro-premium{align-items:flex-start;flex-direction:column}
    .cdp-dashboard-date{align-items:flex-start}
    .cdp-company-hero-strip{align-items:flex-start;flex-wrap:wrap}
    .cdp-company-hero-strip>a{margin-left:51px}
    .cdp-dashboard-stat-grid-premium{grid-template-columns:1fr 1fr;gap:9px}
    .cdp-dashboard-stat-grid-premium .cdp-dashboard-stat{min-height:96px;padding:12px;gap:9px}
    .cdp-dashboard-stat-grid-premium .cdp-stat-icon{width:38px;height:38px;flex-basis:38px}
    .cdp-dashboard-stat-grid-premium .cdp-dashboard-stat strong{font-size:22px}
    .cdp-presence-table{overflow-x:auto}
    .cdp-presence-table .cdp-report-head,.cdp-presence-table .cdp-report-row{min-width:680px}
    .cdp-mini-bars{gap:6px}
}
@media(max-width:460px){
    .cdp-dashboard-stat-grid-premium{grid-template-columns:1fr}
    .cdp-dashboard-intro-premium h2{font-size:28px}
    .cdp-dashboard-notification-bell{display:none}
}
