/**
 * Pulmad Account - Dashboard Styles
 */

/* Hide breadcrumbs on account pages */
.pulmad-account-page .breadcrumbs,
.pulmad-account-page .breadcrumb {
    display: none !important;
}

/* ===========================
   Variables
   =========================== */
.pulmad-account {
    --account-primary: var(--pulmad-blue-accent, #325289);
    --account-primary-dark: var(--pulmad-blue-mid, #1E355C);
    --account-primary-light: var(--pulmad-blue-light, #DBE8F7);
    --account-text: var(--charcoal, #333333);
    --account-text-light: var(--dark-gray, #666666);
    --account-border: var(--light-gray, #e5e5e5);
    --account-bg: var(--white, #ffffff);
    --account-bg-light: var(--off-white, #f9f9f9);
    --account-success: var(--success, #10B981);
    --account-warning: var(--warning, #F59E0B);
    --account-error: var(--error, #dc2626);
    --account-radius: var(--radius-lg, 12px);
    --account-radius-sm: var(--radius-md, 8px);
    --account-shadow: var(--shadow-md, 0 4px 20px rgba(0, 0, 0, 0.08));
    --account-stat-number: 20px;
    --account-stat-label: 12px;

    /* Form field tokens — two tiers */
    --account-field-padding: 8px 12px;
    --account-field-font: 14px;
    --account-field-height: 40px;
    --account-field-compact-padding: 4px 8px;
    --account-field-compact-font: 13px;
    --account-field-compact-height: 30px;
    --account-field-label-font: 12px;
    --account-field-label-weight: 600;
    --account-field-label-color: var(--account-text-light);
    --account-field-label-transform: uppercase;
    --account-field-label-spacing: 0.5px;
}

/* ===========================
   Container
   =========================== */
/* Break out of page template constraints */
.pulmad-account-page .container {
    max-width: none;
    padding: 0;
}

.pulmad-account-page .entry-content {
    max-width: none;
    padding: 0;
}

/* Override theme's .entry-content a underline — account uses color-change hover */
.pulmad-account-page .entry-content a {
    text-decoration: none;
}

.pulmad-account-page .entry-content a:hover,
.pulmad-account-page .entry-content a:focus {
    text-decoration: none;
    color: var(--link-hover);
}

/* Ensure all account links use theme hover color */
.pulmad-account a:hover,
.pulmad-account a:focus {
    color: var(--link-hover);
}

/* ===========================
   Top-of-page Notifications
   =========================== */
.pulmad-notify-container {
    margin-bottom: 12px;
}

.pulmad-notify {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 16px;
    border-radius: var(--account-radius-sm, 8px);
    font-size: 14px;
    margin-bottom: 8px;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.3s, transform 0.3s;
}

.pulmad-notify--visible {
    opacity: 1;
    transform: translateY(0);
}

.pulmad-notify--success {
    background: #edf7ed;
    color: #2e7d32;
    border: 1px solid #c8e6c9;
}

.pulmad-notify--error {
    background: #fef0f0;
    color: #c62828;
    border: 1px solid #f5c6c6;
}

.pulmad-notify--info {
    background: #e3f2fd;
    color: #1565c0;
    border: 1px solid #bbdefb;
}

.pulmad-notify__close {
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    padding: 0 2px;
    line-height: 1;
    flex-shrink: 0;
}

.pulmad-notify__close:hover {
    opacity: 1;
}

.pulmad-account {
    max-width: none;
    margin: 0;
    padding: var(--space-6, 48px) 0;
}

/* Account header - content width, same as layout */
.pulmad-account__header {
    border-radius: 0;
    box-shadow: none;
    border-bottom: 1px solid var(--account-border);
    max-width: var(--container-max, 1360px);
    margin: 0 auto var(--space-6, 48px) auto;
    padding: 24px var(--space-5, 40px);
}

/* Layout and panels stay within container width */
.pulmad-account__layout {
    max-width: var(--container-max, 1360px);
    margin: 0 auto;
    padding: 0 var(--space-5, 40px);
}

/* Hide page title and breadcrumbs - account has its own header */
.pulmad-account-page .entry-header,
.pulmad-account-page .breadcrumbs,
.pulmad-account-page .breadcrumb {
    display: none !important;
}

/* ===========================
   Account Notices
   =========================== */
.pulmad-account__notice {
    padding: 14px 18px;
    background: #e3f2fd;
    border-left: 4px solid var(--pulmad-blue-accent, #325289);
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 0.92rem;
    line-height: 1.6;
}

.pulmad-account__notice p {
    margin: 0 0 0.6em 0;
}

.pulmad-account__notice p:last-child {
    margin-bottom: 0;
}

.pulmad-account__notice a {
    color: var(--pulmad-blue-accent, #325289);
    text-decoration: none;
}

.pulmad-account__notice--warning {
    background: #fff8e1;
    border-left-color: #f9a825;
}

.pulmad-account__notice--warning a {
    color: #e65100;
    font-weight: 600;
}

/* ===========================
   Login Required / Admin
   =========================== */
.pulmad-account--login-required,
.pulmad-account--admin {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400px;
}

.pulmad-account__login-box {
    text-align: center;
    padding: 60px 40px;
    background: var(--account-bg);
    border-radius: var(--account-radius);
    box-shadow: var(--account-shadow);
    max-width: 400px;
}

.pulmad-account__login-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: var(--account-primary-light);
    border-radius: 50%;
    margin-bottom: 24px;
}

.pulmad-account__login-icon svg {
    width: 40px;
    height: 40px;
    color: var(--account-primary);
}

.pulmad-account__login-box h2 {
    font-size: 24px;
    color: var(--account-text);
    margin: 0 0 12px 0;
}

.pulmad-account__login-box p {
    color: var(--account-text-light);
    margin: 0 0 24px 0;
}

/* ===========================
   Header
   =========================== */
.pulmad-account__header {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 24px 32px;
    background: var(--account-bg);
    border-radius: var(--account-radius);
    box-shadow: var(--account-shadow);
    margin-bottom: 24px;
}

.pulmad-account__avatar img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--account-primary-light);
}

.pulmad-account__user-info {
    flex: 1;
}

.pulmad-account__user-name {
    font-size: 24px;
    font-weight: 600;
    color: var(--account-text);
    margin: 0 0 8px 0;
}

.pulmad-account__user-role {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
}

.pulmad-account__user-role--couple {
    background: #fce4ec;
    color: #c2185b;
}

.pulmad-account__user-role--couple-pro {
    background: linear-gradient(135deg, #fdf8ee, #fff3cd);
    color: #8b6914;
    border: 1px solid var(--gold, #D4AF37);
    font-weight: 600;
}
.pulmad-account__user-role--couple-pro .ph-crown {
    font-size: 18px;
}

.pulmad-account__user-role--vendor {
    background: var(--account-primary-light);
    color: var(--account-primary);
}

.pulmad-account__logout {
    padding: 10px 20px;
    background: var(--account-bg-light);
    color: var(--account-text-light);
    border-radius: var(--account-radius-sm);
    text-decoration: none;
    font-size: 14px;
    transition: all 0.2s ease;
}

.pulmad-account__logout:hover {
    background: var(--account-error);
    color: white;
}

/* ===========================
   Layout
   =========================== */
.pulmad-account__layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 24px;
}

@media screen and (max-width: 900px) {
    .pulmad-account__layout {
        grid-template-columns: 1fr;
    }
}

/* ===========================
   Navigation
   =========================== */
.pulmad-account__nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: var(--account-bg);
    border-radius: var(--account-radius);
    box-shadow: var(--account-shadow);
    padding: 16px;
    height: fit-content;
}

.pulmad-account__nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    color: var(--account-text);
    text-decoration: none;
    border-radius: var(--account-radius-sm);
    transition: all 0.2s ease;
    font-weight: 500;
}

.pulmad-account__nav-item svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.pulmad-account__nav-item:hover {
    background: var(--account-bg-light);
    color: var(--account-primary);
}

.pulmad-account__nav-item.active {
    background: var(--account-primary);
    color: white;
}

/* Sidebar sub-navigation (planning tools) */
.pulmad-account__nav-sub {
    display: none;
    flex-direction: column;
    gap: 2px;
    padding-left: 16px;
}

.pulmad-account__nav-sub--open {
    display: flex;
}

.pulmad-account__nav-sub-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    color: var(--account-text-light);
    text-decoration: none;
    border-radius: var(--account-radius-sm);
    transition: all 0.2s ease;
    font-size: 13px;
    font-weight: 500;
}

.pulmad-account__nav-sub-item i {
    font-size: 16px;
    width: 18px;
    flex-shrink: 0;
}

.pulmad-account__nav-sub-item:hover {
    background: var(--account-bg-light);
    color: var(--account-primary);
}

.pulmad-account__nav-sub-item.active {
    color: var(--account-primary);
    background: var(--account-primary-light, rgba(39, 111, 171, 0.08));
    font-weight: 600;
}

@media screen and (max-width: 900px) {
    .pulmad-account__nav {
        flex-direction: row;
        overflow-x: auto;
        padding: 12px;
    }

    .pulmad-account__nav-item {
        white-space: nowrap;
        padding: 12px 16px;
    }

    .pulmad-account__nav-item span {
        display: none;
    }

    .pulmad-account__nav-item svg {
        width: 24px;
        height: 24px;
    }

    .pulmad-account__nav-sub {
        display: none !important;
    }
}

/* ===========================
   Content
   =========================== */
.pulmad-account__content {
    min-width: 0;
}

.pulmad-account__panel {
    background: var(--account-bg);
    border-radius: var(--account-radius);
    box-shadow: var(--account-shadow);
    padding: 32px;
}

.pulmad-account__panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.pulmad-account__panel-title {
    font-size: 22px;
    font-weight: 600;
    color: var(--account-text);
    margin: 0 0 24px 0;
}

.pulmad-account__panel-header .pulmad-account__panel-title {
    margin: 0;
}

/* ===========================
   Stats
   =========================== */
.pulmad-account__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
    margin-bottom: 32px;
}

.pulmad-account__stat-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: var(--account-bg-light);
    border-radius: var(--account-radius-sm);
}

.pulmad-account__stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--account-primary-light);
    border-radius: 12px;
    flex-shrink: 0;
}

.pulmad-account__stat-icon svg {
    width: 24px;
    height: 24px;
    color: var(--account-primary);
}

.pulmad-account__stat-icon--success {
    background: #d1fae5;
}

.pulmad-account__stat-icon--success svg {
    color: var(--account-success);
}

.pulmad-account__stat-icon--warning {
    background: #fef3c7;
}

.pulmad-account__stat-icon--warning svg {
    color: var(--account-warning);
}

.pulmad-account__stat-content {
    display: flex;
    flex-direction: column;
}

.pulmad-account__stat-number {
    font-size: 28px;
    font-weight: 700;
    color: var(--account-text);
    line-height: 1;
}

.pulmad-account__stat-label {
    font-size: 13px;
    color: var(--account-text-light);
    margin-top: 4px;
}

/* ===========================
   Planning Overview (couple dashboard)
   =========================== */
.pulmad-account__planning-overview {
    margin-bottom: 28px;
}

.pulmad-account__planning-overview h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--account-text);
    margin: 0 0 12px 0;
}

.pulmad-account__overview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.pulmad-account__overview-cell {
    position: relative;
    padding-bottom: 8px;
}

.pulmad-account__overview-card,
.pulmad-account__overview-card:hover,
.pulmad-account__overview-card:focus {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: var(--account-bg-light);
    border-radius: var(--account-radius-sm);
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.15s;
    height: 100%;
    box-sizing: border-box;
}

.pulmad-account__overview-card:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.pulmad-account__overview-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--account-primary-light);
    border-radius: 10px;
    flex-shrink: 0;
}

.pulmad-account__overview-icon svg {
    stroke: var(--account-primary);
}

.pulmad-account__overview-data {
    flex: 1;
    min-width: 0;
}

.pulmad-account__overview-number {
    display: block;
    font-size: var(--account-stat-number);
    font-weight: 700;
    color: var(--account-text);
    line-height: 1.2;
    text-align: left;
}

.pulmad-account__overview-label {
    display: block;
    font-size: var(--account-stat-label);
    color: var(--account-text-light);
    line-height: 1.3;
}

.pulmad-account__overview-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--account-border);
    border-radius: 2px;
    overflow: hidden;
}

.pulmad-account__overview-bar-fill {
    height: 100%;
    background: var(--account-primary);
    border-radius: 2px;
    transition: width 0.3s;
}

.pulmad-account__overview-bar-fill.over {
    background: #DC2626;
}

.pulmad-account__overview-data--budget {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pulmad-account__budget-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
}

.pulmad-account__budget-label {
    font-size: 13px;
    color: var(--account-text-light);
}

.pulmad-account__budget-value {
    font-size: 13px;
    font-weight: 600;
    text-align: right;
    color: var(--account-text);
}

.pulmad-account__budget-value--over {
    color: #DC2626;
}

/* ===========================
   Quick Links
   =========================== */
.pulmad-account__quick-links h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--account-text);
    margin: 0 0 16px 0;
}

.pulmad-account__quick-links-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}

.pulmad-account__quick-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: var(--account-bg-light);
    border-radius: var(--account-radius-sm);
    color: var(--account-text);
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.pulmad-account__quick-link:hover {
    border-color: var(--account-primary);
    background: var(--account-primary-light);
    color: var(--account-primary);
}

.pulmad-account__quick-link--primary {
    background: var(--account-primary);
    color: white;
}

.pulmad-account__quick-link--primary:hover {
    background: var(--account-primary-dark);
    color: white;
}

.pulmad-account__quick-link svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* Website card on dashboard */
.pulmad-account__website-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    background: var(--account-primary-light, #f0f6ff);
    border: 1px solid var(--account-primary, #325289);
    border-radius: var(--account-radius-sm, 8px);
    margin-bottom: 24px;
}
.pulmad-account__website-card-icon svg {
    color: var(--account-primary, #325289);
}
.pulmad-account__website-card-content {
    flex: 1;
    min-width: 0;
}
.pulmad-account__website-card-content h3 {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 4px 0;
    color: var(--account-text, #1a1a2e);
}
.pulmad-account__website-card-url {
    font-size: 13px;
    color: var(--account-primary, #325289);
    text-decoration: none;
    word-break: break-all;
}
.pulmad-account__website-card-url:hover {
    text-decoration: none;
}

/* ===========================
   Empty State
   =========================== */
.pulmad-account__empty {
    text-align: center;
    padding: 60px 20px;
}

.pulmad-account__empty svg {
    width: 64px;
    height: 64px;
    color: var(--account-border);
    margin-bottom: 20px;
}

.pulmad-account__empty p {
    color: var(--account-text-light);
    margin: 0 0 20px 0;
}

/* ===========================
   Coming Soon
   =========================== */
.pulmad-account__coming-soon {
    text-align: center;
    padding: 60px 20px;
    background: var(--account-bg-light);
    border-radius: var(--account-radius-sm);
}

.pulmad-account__coming-soon svg {
    width: 64px;
    height: 64px;
    color: var(--account-primary);
    margin-bottom: 20px;
}

.pulmad-account__coming-soon h3 {
    font-size: 20px;
    color: var(--account-text);
    margin: 0 0 8px 0;
}

.pulmad-account__coming-soon p {
    color: var(--account-text-light);
    margin: 0;
}

/* ===========================
   Listings
   =========================== */
.pulmad-account__listings {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pulmad-account__listing-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: var(--account-bg-light);
    border-radius: var(--account-radius-sm);
    transition: all 0.2s ease;
}

.pulmad-account__listing-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.pulmad-account__listing-image {
    width: 80px;
    height: 60px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.pulmad-account__listing-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pulmad-account__listing-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--account-border);
}

.pulmad-account__listing-placeholder svg {
    width: 24px;
    height: 24px;
    color: var(--account-text-light);
}

.pulmad-account__listing-content {
    flex: 1;
    min-width: 0;
}

.pulmad-account__listing-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--account-text);
    margin: 0 0 6px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pulmad-account__listing-status {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

.pulmad-account__listing-status--publish {
    background: #d1fae5;
    color: #065f46;
}

.pulmad-account__listing-status--pending {
    background: #fef3c7;
    color: #92400e;
}

.pulmad-account__listing-status--draft {
    background: var(--account-border);
    color: var(--account-text-light);
}

.pulmad-account__listing-tier {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

.pulmad-account__listing-tier--free {
    background: var(--account-border);
    color: var(--account-text-light);
}

.pulmad-account__listing-tier--silver {
    background: #e2e8f0;
    color: #475569;
}

.pulmad-account__listing-tier--gold {
    background: #fef3c7;
    color: #92400e;
}

.pulmad-account__listing-billing {
    display: inline-block;
    font-size: 11px;
    opacity: 0.7;
    margin-left: 4px;
}

.pulmad-account__listing-billing--gift {
    color: #166534;
    opacity: 1;
}

.pulmad-account__listing-gift-note {
    display: block;
    font-size: 12px;
    color: #166534;
    margin-top: 4px;
}

.pulmad-account__listing-expiry {
    display: inline-block;
    font-size: 12px;
    color: var(--account-warning, #d97706);
    margin-left: 4px;
}

.pulmad-account__listing-actions {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.pulmad-account__listing-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-width: 44px;
    padding: 6px 4px;
    border-radius: 8px;
    color: var(--account-text-light);
    transition: all 0.2s ease;
    text-decoration: none;
}

.pulmad-account__listing-action:hover {
    background: var(--account-primary-light);
    color: var(--account-primary);
}

.pulmad-account__listing-action--delete,
.pulmad-account__listing-action--toggle {
    background: none;
    border: none;
    cursor: pointer;
}

.pulmad-account__listing-action--delete:hover {
    background: #fee2e2;
    color: var(--account-error);
}

.pulmad-account__listing-action--toggle:hover {
    background: #fef3c7;
    color: #92400e;
}

.pulmad-account__listing-action--upgrade:hover {
    background: #fef3c7;
    color: #92400e;
}

.pulmad-account__listing-action svg {
    width: 18px;
    height: 18px;
}

.pulmad-account__action-label {
    font-size: 10px;
    line-height: 1.2;
    white-space: nowrap;
    text-align: center;
}

.pulmad-account__listing-action--upgrade .pulmad-account__action-label {
    white-space: normal;
}

.pulmad-account__listing-action--ad {
    position: relative;
}

.pulmad-account__listing-action--ad:hover {
    background: #eff6ff;
    color: #276FAB;
}

.pulmad-account__listing-ad-badge {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
}

.pulmad-account__listing-title a {
    color: var(--account-text);
    text-decoration: none;
}

.pulmad-account__listing-title a:hover {
    color: var(--account-primary);
}

.pulmad-account__listing-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
    font-size: 13px;
    color: var(--account-text-light);
}

.pulmad-account__listing-category {
    background: var(--account-primary-light);
    color: var(--account-primary);
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 500;
}

.pulmad-account__listing-card--removing {
    opacity: 0;
    transform: translateX(20px);
    transition: all 0.3s ease;
}

/* ===========================
   Vendor Form inside Account
   =========================== */
.pulmad-account .pvd-form-wrapper {
    max-width: none;
    margin: 0;
}

.pulmad-account .pvd-vendor-form {
    background: none;
}

.pulmad-account .pvd-form-section {
    border: none;
    border-radius: 0;
    padding: 0 0 28px 0;
    margin-bottom: 28px;
    border-bottom: 1px solid var(--account-border);
}

.pulmad-account .pvd-form-section:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.pulmad-account .pvd-form-section legend {
    font-size: 18px;
    font-weight: 600;
    color: var(--account-text);
    padding: 0;
    margin-bottom: 20px;
    width: 100%;
}

.pulmad-account .pvd-form-row {
    margin-bottom: 20px;
}

.pulmad-account .pvd-form-row:last-child {
    margin-bottom: 0;
}

.pulmad-account .pvd-form-row label {
    font-size: var(--account-field-label-font);
    font-weight: var(--account-field-label-weight);
    color: var(--account-field-label-color);
    text-transform: var(--account-field-label-transform);
    letter-spacing: var(--account-field-label-spacing);
    margin-bottom: 6px;
}

.pulmad-account .pvd-form-row .required {
    color: var(--account-error);
}

.pulmad-account .pvd-form-row input[type="text"],
.pulmad-account .pvd-form-row input[type="email"],
.pulmad-account .pvd-form-row input[type="tel"],
.pulmad-account .pvd-form-row input[type="url"],
.pulmad-account .pvd-form-row input[type="number"],
.pulmad-account .pvd-form-row textarea,
.pulmad-account .pvd-form-row select {
    width: 100%;
    padding: var(--account-field-padding);
    font-size: var(--account-field-font);
    height: var(--account-field-height);
    box-sizing: border-box;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    background: var(--account-bg);
    transition: all 0.2s ease;
}

.pulmad-account .pvd-form-row input:focus,
.pulmad-account .pvd-form-row textarea:focus,
.pulmad-account .pvd-form-row select:focus {
    outline: none;
    border-color: var(--account-primary);
    box-shadow: 0 0 0 2px rgba(39, 111, 171, 0.15);
}

.pulmad-account .pvd-form-row textarea {
    height: auto;
    resize: vertical;
    min-height: 80px;
}

.pulmad-account .pvd-field-description {
    font-size: 13px;
    color: var(--account-text-light);
    margin-top: 6px;
}

/* Checkbox group — toggle switches */
.pulmad-account .pvd-checkbox-label {
    font-size: 14px;
}

.pulmad-account .pvd-checkbox-label .pvd-checkbox-text {
    color: var(--account-text);
}

/* Image upload */
.pulmad-account .pvd-image-upload {
    background: var(--account-bg-light);
    border-radius: var(--account-radius-sm);
    padding: 20px;
    border: 1px dashed var(--account-border);
}

.pulmad-account .pvd-image-item {
    border-radius: var(--account-radius-sm);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.pulmad-account .pvd-image-item .pvd-remove-image:hover {
    background: var(--account-error);
}

/* Repeater fields */
.pulmad-account .pvd-repeater-wrapper {
    background: var(--account-bg-light);
    border-radius: var(--account-radius-sm);
    padding: 20px;
    border: 1px solid var(--account-border);
}

.pulmad-account .pvd-repeater-item {
    background: var(--account-bg);
    border-radius: var(--account-radius-sm);
    padding: 12px;
}

.pulmad-account .pvd-repeater-item input {
    padding: 10px 14px;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    font-size: 14px;
}

.pulmad-account .pvd-repeater-item input:focus {
    outline: none;
    border-color: var(--account-primary);
    box-shadow: 0 0 0 3px var(--account-primary-light);
}

.pulmad-account .pvd-remove-repeater-item {
    background: var(--account-error);
    border-radius: var(--account-radius-sm);
}

/* Buttons */
.pulmad-account .pvd-button {
    background: var(--account-primary);
    border-radius: var(--account-radius-sm);
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.pulmad-account .pvd-button:hover {
    background: var(--account-primary-dark);
    color: white;
}

.pulmad-account .pvd-submit-button {
    padding: 14px 32px;
    font-size: 16px;
    font-weight: 600;
}

/* Form submit area */
.pulmad-account .pvd-form-submit {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid var(--account-border);
}

.pulmad-account .pvd-form-loading {
    color: var(--account-text-light);
}

/* Messages */
.pulmad-account .pvd-message {
    border-radius: var(--account-radius-sm);
}

.pulmad-account .pvd-message-success {
    background: #d1fae5;
    border-color: #a7f3d0;
    color: #065f46;
}

.pulmad-account .pvd-message-error {
    background: #fee2e2;
    border-color: #fecaca;
    color: #991b1b;
}

/* ===========================
   Form
   =========================== */
.pulmad-account__form-section {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--account-border);
}

.pulmad-account__form-section:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.pulmad-account__form-section h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--account-text);
    margin: 0 0 16px 0;
}

.pulmad-account__form-hint {
    font-size: 14px;
    color: var(--account-text-light);
    margin: -8px 0 16px 0;
}

.pulmad-account__form-row {
    margin-bottom: 16px;
}

.pulmad-account__form-row label {
    display: block;
    font-size: var(--account-field-label-font);
    font-weight: var(--account-field-label-weight);
    color: var(--account-field-label-color);
    text-transform: var(--account-field-label-transform);
    letter-spacing: var(--account-field-label-spacing);
    margin-bottom: 6px;
}

.pulmad-account__form-row input[type="text"],
.pulmad-account__form-row input[type="email"],
.pulmad-account__form-row input[type="password"] {
    width: 100%;
    max-width: 400px;
    padding: var(--account-field-padding);
    font-size: var(--account-field-font);
    height: var(--account-field-height);
    box-sizing: border-box;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    transition: all 0.2s ease;
}

.pulmad-account__form-row input:focus {
    outline: none;
    border-color: var(--account-primary);
    box-shadow: 0 0 0 2px rgba(39, 111, 171, 0.15);
}

/* Billing fields grid (Settings) */
.pulmad-account__billing-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
    max-width: 600px;
}

.pulmad-account__billing-grid .pulmad-account__form-row input[type="text"],
.pulmad-account__billing-grid .pulmad-account__form-row input[type="email"] {
    max-width: none;
}

@media screen and (max-width: 600px) {
    .pulmad-account__billing-grid {
        grid-template-columns: 1fr;
    }
}

/* Äriregister autocomplete */
.pulmad-ariregister-autocomplete {
    position: relative;
}

.pulmad-ariregister__list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 100;
    background: #fff;
    border: 1px solid var(--account-border);
    border-top: none;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    max-height: 240px;
    overflow-y: auto;
}

.pulmad-ariregister__item {
    padding: 10px 14px;
    font-size: 13px;
    color: var(--account-text);
    cursor: pointer;
    border-bottom: 1px solid #f3f4f6;
    line-height: 1.4;
}

.pulmad-ariregister__item:last-child {
    border-bottom: none;
}

.pulmad-ariregister__item:hover {
    background: var(--account-primary-light, #eff6ff);
    color: var(--account-primary);
}

.pulmad-account__form-actions {
    margin-top: 24px;
}

.pulmad-account__form-messages {
    margin-top: 16px;
}

.pulmad-account__form-message {
    padding: 12px 16px;
    border-radius: var(--account-radius-sm);
    font-size: 14px;
}

.pulmad-account__form-message--success {
    background: #edf7ed;
    color: #2e7d32;
    border: 1px solid #c8e6c9;
}

.pulmad-account__form-message--error {
    background: #fef0f0;
    color: #c62828;
    border: 1px solid #f5c6c6;
}

/* ===========================
   Buttons
   =========================== */
.pulmad-account__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0.75rem 1.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    border-radius: 10px;
    text-decoration: none;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.2s ease;
}

.pulmad-account__btn--primary {
    background: var(--account-primary);
    color: white;
}

.pulmad-account__btn--primary:hover {
    background: var(--account-primary-dark);
    color: white;
    transform: translateY(-1px);
}

.pulmad-account__btn--sm {
    padding: 0.5rem 0.875rem;
    font-size: 0.8125rem;
}

/* ===========================
   Responsive
   =========================== */
@media screen and (max-width: 768px) {
    .pulmad-account {
        padding: 16px 0;
    }

    .pulmad-account__header {
        padding: 16px 12px;
        margin-bottom: 16px;
    }

    .pulmad-account__layout {
        padding: 0 8px;
    }

    .pulmad-account__panel {
        padding: 16px 12px;
    }
}

@media screen and (max-width: 600px) {
    .pulmad-account__header {
        flex-direction: column;
        text-align: center;
        padding: 16px 10px;
    }

    .pulmad-account__layout {
        padding: 0 4px;
    }

    .pulmad-account__panel {
        padding: 14px 10px;
    }

    .pulmad-account__logout {
        width: 100%;
        text-align: center;
    }

    .pulmad-account__stats {
        grid-template-columns: 1fr;
    }

    .pulmad-account__quick-links-grid {
        grid-template-columns: 1fr;
    }

    .pulmad-account__listing-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .pulmad-account__listing-image {
        width: 100%;
        height: 120px;
    }

    .pulmad-account__listing-actions {
        width: 100%;
        justify-content: flex-end;
    }
}

/* ===========================
   Favorites Grid
   =========================== */
.pulmad-account__favorites-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
}

.pulmad-account__favorite-card {
    background: var(--account-bg);
    border-radius: var(--account-radius-sm);
    border: 1px solid var(--account-border);
    overflow: hidden;
    transition: all 0.2s ease;
}

.pulmad-account__favorite-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.pulmad-account__favorite-image {
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
    background: var(--account-bg-light);
}

.pulmad-account__favorite-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pulmad-account__favorite-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.pulmad-account__favorite-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--account-border);
    text-decoration: none;
}

.pulmad-account__favorite-placeholder svg {
    width: 40px;
    height: 40px;
    color: var(--account-text-light);
}

.pulmad-account__favorite-image .pvd-favorite-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: all 0.2s ease;
    z-index: 2;
}

.pulmad-account__favorite-image .pvd-favorite-btn svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: var(--account-text-light);
    transition: all 0.2s ease;
}

.pulmad-account__favorite-image .pvd-favorite-btn.pvd-is-favorite svg {
    fill: #dc2626;
    stroke: #dc2626;
}

.pulmad-account__favorite-image .pvd-favorite-btn:hover {
    background: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.pulmad-account__favorite-content {
    padding: 16px;
}

.pulmad-account__favorite-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--account-text);
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.pulmad-account__favorite-title a {
    color: inherit;
    text-decoration: none;
}

.pulmad-account__favorite-title a:hover {
    color: var(--account-primary);
}

.pulmad-account__favorite-category {
    display: inline-block;
    background: var(--account-primary-light);
    color: var(--account-primary);
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 8px;
}

.pulmad-account__favorite-firma {
    font-size: 14px;
    color: var(--account-text-light);
    margin-bottom: 6px;
}

.pulmad-account__favorite-region {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: var(--account-text-light);
    margin-bottom: 12px;
}

.pulmad-account__favorite-region svg {
    flex-shrink: 0;
    color: var(--account-text-light);
}

.pulmad-account__favorite-link {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    color: var(--account-primary);
    text-decoration: none;
}

.pulmad-account__favorite-link:hover {
    text-decoration: none;
}

/* Favorites sections */
.pulmad-account__favorites-section {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--account-border);
}

.pulmad-account__favorites-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.pulmad-account__favorites-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    font-weight: 600;
    color: var(--account-text);
    margin: 0 0 16px 0;
}

.pulmad-account__favorites-section-title svg {
    flex-shrink: 0;
    color: var(--account-primary);
}

.pulmad-account__favorites-empty-text {
    color: var(--account-text-light);
    font-size: 14px;
    margin: 0;
}

.pulmad-account__favorites-empty-text a {
    color: var(--account-primary);
    text-decoration: none;
    font-weight: 500;
}

.pulmad-account__favorites-empty-text a:hover {
    text-decoration: none;
}

@media screen and (max-width: 600px) {
    .pulmad-account__favorites-grid {
        grid-template-columns: 1fr;
    }
}

/* ===========================
   Single Vendor Title Row
   =========================== */
.pulmad-account__articles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
}

.pulmad-account__article-card {
    background: var(--account-bg);
    border-radius: var(--account-radius-sm);
    border: 1px solid var(--account-border);
    overflow: hidden;
    transition: all 0.2s ease;
}

.pulmad-account__article-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.pulmad-account__article-image {
    position: relative;
    width: 100%;
    height: 160px;
    overflow: hidden;
    background: var(--account-bg-light);
}

.pulmad-account__article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pulmad-account__article-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.pulmad-account__article-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--account-border);
    text-decoration: none;
}

.pulmad-account__article-placeholder svg {
    width: 40px;
    height: 40px;
    color: var(--account-text-light);
}

.pulmad-account__article-image .pvd-favorite-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: all 0.2s ease;
    z-index: 2;
}

.pulmad-account__article-image .pvd-favorite-btn svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: var(--account-text-light);
    transition: all 0.2s ease;
}

.pulmad-account__article-image .pvd-favorite-btn.pvd-is-favorite svg {
    fill: #dc2626;
    stroke: #dc2626;
}

.pulmad-account__article-image .pvd-favorite-btn:hover {
    background: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.pulmad-account__article-content {
    padding: 16px;
}

.pulmad-account__article-category {
    display: inline-block;
    background: var(--account-primary-light);
    color: var(--account-primary);
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 8px;
}

.pulmad-account__article-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--account-text);
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.pulmad-account__article-title a {
    color: inherit;
    text-decoration: none;
}

.pulmad-account__article-title a:hover {
    color: var(--account-primary);
}

.pulmad-account__article-date {
    font-size: 13px;
    color: var(--account-text-light);
    margin-bottom: 12px;
}

.pulmad-account__article-link {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    color: var(--account-primary);
    text-decoration: none;
}

.pulmad-account__article-link:hover {
    text-decoration: none;
}

@media screen and (max-width: 600px) {
    .pulmad-account__articles-grid {
        grid-template-columns: 1fr;
    }
}

/* ===========================
   Avatar Upload
   =========================== */
.pulmad-account__avatar-upload {
    display: flex;
    align-items: flex-start;
    gap: var(--space-4, 24px);
}

.pulmad-account__avatar-preview {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--account-bg-light);
    border: 3px solid var(--account-border);
}

.pulmad-account__avatar-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pulmad-account__avatar-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 12px;
}

.pulmad-account__avatar-remove {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: var(--account-error);
    cursor: pointer;
}

.pulmad-account__avatar-remove input[type="checkbox"] {
    width: auto;
    margin: 0;
}

@media screen and (max-width: 600px) {
    .pulmad-account__avatar-upload {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

/* ===========================
   Statistics
   =========================== */
.pulmad-account__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--space-3, 16px);
    margin-bottom: var(--space-5, 32px);
}

.pulmad-account__stat-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: var(--account-bg);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
}

.pulmad-account__stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pulmad-account__stat-icon svg {
    width: 24px;
    height: 24px;
}

.pulmad-account__stat-icon--views {
    background: rgba(39, 111, 171, 0.1);
    color: var(--account-primary);
}

.pulmad-account__stat-icon--contacts {
    background: rgba(16, 185, 129, 0.1);
    color: var(--account-success);
}

.pulmad-account__stat-icon--favorites {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}

.pulmad-account__stat-icon--listings {
    background: rgba(139, 92, 246, 0.1);
    color: #8b5cf6;
}

.pulmad-account__stat-content {
    display: flex;
    flex-direction: column;
}

.pulmad-account__stat-number {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--account-text);
}

.pulmad-account__stat-label {
    font-size: 13px;
    color: var(--account-text-light);
}

.pulmad-account__stats-section {
    margin-bottom: var(--space-5, 32px);
}

.pulmad-account__stats-section h3 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 16px 0;
    color: var(--account-text);
}

/* Contact breakdown */
.pulmad-account__contact-breakdown {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.pulmad-account__contact-type {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: var(--account-bg-light);
    border-radius: var(--account-radius-sm);
    font-size: 14px;
    color: var(--account-text-light);
}

.pulmad-account__contact-type strong {
    color: var(--account-text);
    font-size: 16px;
    margin-left: 4px;
}

.pulmad-account__contact-type svg {
    color: var(--account-text-light);
    flex-shrink: 0;
}

/* Chart */
.pulmad-account__chart-container {
    background: var(--account-bg);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    padding: 16px;
    margin-bottom: 8px;
}

.pulmad-account__chart-container canvas {
    width: 100% !important;
    display: block;
}

.pulmad-account__chart-legend {
    display: flex;
    gap: 20px;
    justify-content: center;
}

.pulmad-account__chart-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--account-text-light);
}

.pulmad-account__chart-legend-item::before {
    content: '';
    width: 12px;
    height: 3px;
    border-radius: 2px;
}

.pulmad-account__chart-legend--views::before {
    background: #325289;
}

.pulmad-account__chart-legend--contacts::before {
    background: #10B981;
}

/* Stats table */
.pulmad-account__stats-table-wrap {
    overflow-x: auto;
}

.pulmad-account__stats-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.pulmad-account__stats-table th {
    text-align: left;
    padding: 10px 16px;
    background: var(--account-bg-light);
    color: var(--account-text-light);
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid var(--account-border);
}

.pulmad-account__stats-table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--account-border);
    color: var(--account-text);
}

.pulmad-account__stats-table td:first-child {
    font-weight: 500;
}

.pulmad-account__stats-table td:first-child a {
    color: var(--account-primary);
    text-decoration: none;
}

.pulmad-account__stats-table td:first-child a:hover {
    text-decoration: none;
}

.pulmad-account__stats-table tbody tr:hover {
    background: var(--account-bg-light);
}

@media screen and (max-width: 600px) {
    .pulmad-account__stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .pulmad-account__stat-card {
        flex-direction: column;
        text-align: center;
        padding: 16px 12px;
    }

    .pulmad-account__contact-breakdown {
        flex-direction: column;
        gap: 8px;
    }
}

/* ===========================
   Package Info Bar
   =========================== */
.pulmad-account__package-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 20px;
    gap: 12px;
}

.pulmad-account__package-info--free {
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
}

.pulmad-account__package-info--silver {
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
}

.pulmad-account__package-info--gold {
    background: #fef3c7;
    border: 1px solid #fcd34d;
}

.pulmad-account__package-tier {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
}

.pulmad-account__package-usage {
    color: var(--pvd-text-light, #666);
    font-weight: 400;
}

.pulmad-account__btn--gold {
    background: #d4af37 !important;
    color: #fff !important;
}

.pulmad-account__btn--gold:hover {
    background: #b8961f !important;
    color: #fff !important;
}

.pulmad-account__listing-count {
    font-size: 14px;
    font-weight: 400;
    color: var(--pvd-text-light, #666);
    margin-left: 4px;
}

/* ===========================
   Package Selection Cards
   =========================== */
.pulmad-account__add-listing-desc {
    max-width: 800px;
    margin: 0 auto 32px;
    padding: 24px;
    background: var(--account-bg-light);
    border-radius: var(--account-radius);
    font-size: 15px;
    line-height: 1.6;
    color: var(--account-text);
}

.pulmad-account__add-listing-desc p:last-child {
    margin-bottom: 0;
}

.pulmad-account__pkg-intro {
    text-align: center;
    max-width: 600px;
    margin: 0 auto 32px;
}

.pulmad-account__pkg-intro h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--account-text);
    margin: 0 0 8px 0;
}

.pulmad-account__pkg-subtitle {
    font-size: 15px;
    color: var(--account-text-light);
    margin: 0;
    line-height: 1.5;
}

/* ===========================
   Package Selector (4-column expand-right)
   =========================== */
.pulmad-account__pkg-selector {
    display: flex;
    align-items: stretch;
    width: 100%;
    margin: 0 -8px;
    width: calc(100% + 16px);
}

/* Each package column */
.pulmad-account__pkg-col {
    display: flex;
    flex-direction: row;
    min-width: 120px;
    border: 2px solid color-mix(in srgb, var(--gold, #D4AF37) 30%, var(--account-border));
    background: var(--account-bg);
    overflow: hidden;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.pulmad-account__pkg-col + .pulmad-account__pkg-col {
    border-left: none;
}

.pulmad-account__pkg-col:first-child {
    border-radius: var(--account-radius) 0 0 var(--account-radius);
}

.pulmad-account__pkg-col:last-child {
    border-radius: 0 var(--account-radius) var(--account-radius) 0;
}

.pulmad-account__pkg-col--open {
    border-color: var(--gold, #D4AF37);
    border-left: 2px solid var(--gold, #D4AF37);
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.15);
    z-index: 2;
    background: color-mix(in srgb, var(--tier-color, #6b7280) 4%, var(--account-bg, #fff));
}

.pulmad-account__pkg-col--current {
    border-color: var(--gold, #D4AF37);
}

/* Column header (always visible) */
.pulmad-account__pkg-col-header {
    flex: 1 1 0%;
    min-width: 0;
    padding: 20px 12px 16px;
    text-align: center;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    user-select: none;
    -webkit-user-select: none;
    position: relative;
    background: linear-gradient(180deg, color-mix(in srgb, var(--tier-color, #6b7280) 6%, #fff) 0%, var(--account-bg) 100%);
    transition: background 0.2s ease;
}

.pulmad-account__pkg-col-header:hover {
    background: linear-gradient(180deg, color-mix(in srgb, var(--tier-color, #6b7280) 12%, #fff) 0%, var(--account-bg-light) 100%);
}

.pulmad-account__pkg-col--open .pulmad-account__pkg-col-header {
    flex: 0 0 140px;
    width: 140px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--tier-color, #6b7280) 15%, #fff) 0%, color-mix(in srgb, var(--tier-color, #6b7280) 6%, #fff) 100%);
}

.pulmad-account__pkg-col-header:focus-visible {
    outline: 2px solid var(--gold, #D4AF37);
    outline-offset: -2px;
}

/* Column badge */
.pulmad-account__pkg-col-badge {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: var(--gold, #D4AF37);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 2px 0;
    text-align: center;
}

/* Column icon */
.pulmad-account__pkg-col-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    margin-bottom: 8px;
    background: color-mix(in srgb, var(--tier-color, #6b7280) 12%, transparent);
    color: var(--account-text);
}

.pulmad-account__pkg-col-icon svg {
    width: 24px;
    height: 24px;
}

/* Column name */
.pulmad-account__pkg-col-name {
    font-size: 15px;
    font-weight: 700;
    color: var(--account-text);
    overflow-wrap: break-word;
    align-self: stretch;
    text-align: center;
    margin: 0 0 2px;
}

/* Column description (tier) */
.pulmad-account__pkg-col-desc {
    font-size: 12px;
    color: var(--account-text-light);
    margin: 0 0 4px;
    text-align: center;
    line-height: 1.3;
}

/* Column price */
.pulmad-account__pkg-col-price {
    font-size: 13px;
    font-weight: 600;
    color: var(--account-text-light);
}

/* Column body (expand right) */
.pulmad-account__pkg-col-body {
    max-width: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
}

.pulmad-account__pkg-col--open .pulmad-account__pkg-col-body {
    max-width: 600px;
    height: auto;
    opacity: 1;
    flex: 1;
}

.pulmad-account__pkg-col-body-inner {
    min-width: 260px;
    max-width: 100%;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    border-left: 1px solid color-mix(in srgb, var(--gold, #D4AF37) 30%, var(--account-border));
    overflow: hidden;
}

/* Features list */
.pulmad-account__pkg-features {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}

.pulmad-account__pkg-feature {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 5px 0;
    font-size: 13px;
    min-width: 0;
}

.pulmad-account__pkg-feature > span {
    min-width: 0;
    overflow-wrap: break-word;
    line-height: 1.4;
    color: var(--account-text);
    white-space: normal;
}

.pulmad-account__pkg-feature--yes svg {
    flex-shrink: 0;
    color: var(--account-success);
    margin-top: 1px;
}

.pulmad-account__pkg-feature--no {
    color: var(--account-text-light);
    opacity: 0.55;
}

.pulmad-account__pkg-feature--no svg {
    flex-shrink: 0;
    color: var(--account-text-light);
    margin-top: 1px;
}

.pulmad-account__pkg-feature-desc {
    display: block;
    font-size: 11px;
    color: var(--account-text-light);
    font-weight: 400;
    margin-top: 1px;
    line-height: 1.3;
}

/* Action area */
.pulmad-account__pkg-action {
    padding: 0;
    margin-top: auto;
}

.pulmad-account__pkg-buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pulmad-account__pkg-buttons .pulmad-account__btn {
    transition: all 0.2s ease;
    background: #fff;
    color: var(--account-primary);
    border: 1px solid var(--account-border);
}

.pulmad-account__pkg-buttons .pulmad-account__btn:hover {
    background: var(--account-primary);
    color: #fff;
    border-color: var(--account-primary);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(39, 111, 171, 0.3);
}

.pulmad-account__btn--full {
    width: 100%;
    text-align: center;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 12px 24px;
}

.pulmad-account__btn-label {
    font-weight: 600;
}

.pulmad-account__btn-price {
    font-size: 12px;
    font-weight: 400;
    opacity: 0.85;
}

.pulmad-account__btn-price-old {
    opacity: 0.6;
    margin-right: 4px;
    text-decoration: line-through;
}

.pulmad-account__pkg-sale-note {
    display: block;
    text-align: center;
    font-size: 11px;
    color: #dc2626;
    font-weight: 500;
    margin-top: 6px;
}

.pulmad-account__btn--secondary {
    background: var(--account-bg-light);
    color: var(--account-primary);
    border: 2px solid var(--account-primary);
}

.pulmad-account__btn--secondary:hover {
    background: var(--account-primary-light);
    color: var(--account-primary);
}

.pulmad-account__btn--outline {
    background: transparent;
    color: var(--account-text-light);
    border: 2px solid var(--account-border);
}

.pulmad-account__btn--outline:hover {
    background: var(--account-bg-light);
    border-color: var(--account-text-light);
    color: var(--account-text);
}

.pulmad-account__btn--disabled {
    background: var(--account-bg-light);
    color: var(--account-text-light);
    cursor: default;
    pointer-events: none;
    border: 2px solid var(--account-border);
}

/* Limit notice */
.pulmad-account__pkg-limit {
    text-align: center;
    padding: 32px 24px;
    max-width: 600px;
    margin: 0 auto 32px;
}

.pulmad-account__pkg-limit-icon {
    font-size: 48px;
    margin-bottom: 16px;
    display: flex;
    justify-content: center;
}

.pulmad-account__pkg-limit h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--account-text);
    margin: 0 0 8px 0;
}

.pulmad-account__pkg-limit p {
    font-size: 15px;
    color: var(--account-text-light);
    margin: 0 0 24px 0;
    line-height: 1.5;
}

/* ===========================
   Package Selector Responsive
   =========================== */
@media screen and (max-width: 900px) {
    .pulmad-account__pkg-col-header {
        padding: 16px 8px 12px;
    }

    .pulmad-account__pkg-col--open .pulmad-account__pkg-col-header {
        flex: 0 0 110px;
        width: 110px;
    }

    .pulmad-account__pkg-col-body-inner {
        width: 240px;
        padding: 16px 18px;
    }

    .pulmad-account__pkg-col-name {
        font-size: 13px;
    }

    .pulmad-account__pkg-col-icon {
        width: 36px;
        height: 36px;
    }

    .pulmad-account__pkg-col-icon svg {
        width: 20px;
        height: 20px;
    }
}

@media screen and (max-width: 700px) {
    .pulmad-account__pkg-selector {
        flex-direction: column;
    }

    .pulmad-account__pkg-col {
        flex-direction: column;
    }

    .pulmad-account__pkg-col + .pulmad-account__pkg-col {
        border-left: 2px solid color-mix(in srgb, var(--gold, #D4AF37) 30%, var(--account-border));
        border-top: none;
    }

    .pulmad-account__pkg-col:first-child {
        border-radius: var(--account-radius) var(--account-radius) 0 0;
    }

    .pulmad-account__pkg-col:last-child {
        border-radius: 0 0 var(--account-radius) var(--account-radius);
    }

    .pulmad-account__pkg-col-header,
    .pulmad-account__pkg-col--open .pulmad-account__pkg-col-header {
        width: 100%;
        flex: none;
        padding: 14px 16px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 12px;
        text-align: left;
    }

    .pulmad-account__pkg-col-icon {
        margin-bottom: 0;
    }

    h3.pulmad-account__pkg-col-name {
        align-self: center;
        margin: 0;
        margin-bottom: 0;
        margin-block: 0;
        text-align: left;
        line-height: 1.2;
    }

    /* Mobile: hide redundant "Tasuta" label, make paid label inline */
    .pulmad-account__pkg-col-price--free {
        display: none;
    }

    .pulmad-account__pkg-col-price--paid {
        font-size: 12px;
        font-weight: 400;
        opacity: 0.7;
        margin-left: auto;
    }

    .pulmad-account__pkg-col-body {
        max-width: none;
        max-height: 0;
        transition: max-height 0.35s ease, opacity 0.25s ease;
    }

    .pulmad-account__pkg-col--open .pulmad-account__pkg-col-body {
        max-width: none;
        max-height: 2000px;
    }

    .pulmad-account__pkg-col-body-inner {
        width: auto;
        border-left: none;
        border-top: 1px solid color-mix(in srgb, var(--gold, #D4AF37) 30%, var(--account-border));
    }

    .pulmad-account__pkg-tier:first-child {
        border-radius: var(--account-radius) 0 0 0;
    }

    .pulmad-account__pkg-tier:last-child {
        border-radius: 0 var(--account-radius) 0 0;
        border-right: 2px solid var(--account-border);
    }

    .pulmad-account__pkg-tier--selected {
        border-bottom: none;
    }

    .pulmad-account__pkg-tier-icon {
        width: 32px;
        height: 32px;
        margin-bottom: 4px;
    }

    .pulmad-account__pkg-tier-icon svg {
        width: 18px;
        height: 18px;
    }

    .pulmad-account__pkg-tier-name {
        font-size: 13px;
    }

    .pulmad-account__pkg-tier-price {
        font-size: 11px;
    }

    .pulmad-account__pkg-detail {
        border-left: 2px solid var(--account-primary);
        border-top: none;
        border-radius: 0 0 var(--account-radius) var(--account-radius);
    }

    .pulmad-account__pkg-detail--visible {
        animation: pkgSlideDown 0.25s ease;
    }

    @keyframes pkgSlideDown {
        from { opacity: 0; transform: translateY(-8px); }
        to { opacity: 1; transform: translateY(0); }
    }
}

@media screen and (max-width: 600px) {
    .pulmad-account__pkg-intro h2 {
        font-size: 20px;
    }

    .pulmad-account__package-info {
        flex-direction: column;
        text-align: center;
    }
}

/* ===========================
   Orders Table
   =========================== */
.pulmad-account__orders-table-wrap {
    overflow-x: auto;
}

.pulmad-account__orders-table {
    width: 100%;
    border-collapse: collapse;
}

.pulmad-account__orders-table th {
    text-align: left;
    padding: 12px 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--medium-gray, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid var(--border-color, #e5e7eb);
}

.pulmad-account__orders-table td {
    padding: 14px 16px;
    font-size: 14px;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
    vertical-align: middle;
}

.pulmad-account__orders-table tbody tr:hover {
    background: var(--off-white, #f9fafb);
}

.pulmad-account__order-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
}

.pulmad-account__order-status--completed,
.pulmad-account__order-status--active {
    background: #ecfdf5;
    color: #059669;
}

.pulmad-account__order-status--processing {
    background: #eff6ff;
    color: #2563eb;
}

.pulmad-account__order-status--pending,
.pulmad-account__order-status--on-hold {
    background: #fffbeb;
    color: #d97706;
}

.pulmad-account__order-status--cancelled,
.pulmad-account__order-status--failed {
    background: #fef2f2;
    color: #dc2626;
}

.pulmad-account__order-status--refunded {
    background: #f3f4f6;
    color: #6b7280;
}

.pulmad-account__order-product {
    display: block;
    font-weight: 500;
}

.pulmad-account__order-listing {
    display: block;
    font-size: 12px;
    color: var(--medium-gray, #6b7280);
    margin-top: 2px;
}

.pulmad-account__orders-row--cont td {
    border-top: 1px dashed var(--border-color, #e5e7eb);
    border-bottom: none;
}

.pulmad-account__orders-table td[rowspan] {
    vertical-align: middle;
}

@media screen and (max-width: 600px) {
    .pulmad-account__orders-table thead {
        display: none;
    }

    .pulmad-account__orders-table tbody tr {
        display: block;
        padding: 12px 0;
        border-bottom: 1px solid var(--border-color, #e5e7eb);
    }

    .pulmad-account__orders-table td {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 6px 16px;
        border-bottom: none;
    }

    .pulmad-account__orders-table td::before {
        content: attr(data-label);
        font-weight: 600;
        color: var(--medium-gray, #6b7280);
        margin-right: 12px;
    }

    .pulmad-account__orders-table td[rowspan] {
        display: flex;
    }

    .pulmad-account__orders-row--cont {
        border-top: none;
        padding-top: 0;
    }

    .pulmad-account__orders-row--cont td {
        border-top: none;
    }
}

/* ===========================
   Custom Cart Table (Step 1)
   =========================== */
.pulmad-account__cart-empty {
    text-align: center;
    padding: 60px 20px;
}

.pulmad-account__cart-empty svg {
    color: var(--account-border);
    margin-bottom: 20px;
}

.pulmad-account__cart-empty p {
    color: var(--account-text-light);
    font-size: 16px;
    margin: 0 0 24px 0;
}

.pulmad-account__cart-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 24px;
}

.pulmad-account__cart-table thead th {
    text-align: left;
    padding: 12px 16px;
    background: var(--account-bg-light);
    color: var(--account-text-light);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid var(--account-border);
}

.pulmad-account__cart-table tbody td {
    padding: 16px;
    border-bottom: 1px solid var(--account-border);
    vertical-align: middle;
}

.pulmad-account__cart-td-name {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pulmad-account__cart-product-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--account-text);
}

.pulmad-account__cart-listing-name {
    font-size: 13px;
    color: var(--account-text-light);
}

.pulmad-account__cart-td-price,
.pulmad-account__cart-td-vat {
    font-size: 14px;
    font-weight: 500;
    color: var(--account-muted);
    white-space: nowrap;
}

.pulmad-account__cart-td-total {
    font-size: 15px;
    font-weight: 600;
    color: var(--account-text);
    white-space: nowrap;
}

.pulmad-account__cart-td-remove {
    width: 40px;
    text-align: center;
}

.pulmad-account__cart-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: var(--account-text-light);
    transition: all 0.2s ease;
}

.pulmad-account__cart-remove:hover {
    background: #fee2e2;
    color: var(--account-error);
}

.pulmad-account__cart-table tfoot td {
    padding: 12px 16px;
}
.pulmad-account__cart-spacer {
    padding: 0 !important;
    border: none !important;
}
.pulmad-account__cart-table tfoot tr:first-child .pulmad-account__cart-total-label,
.pulmad-account__cart-table tfoot tr:first-child .pulmad-account__cart-total-value {
    border-top: 2px solid var(--account-border);
}

.pulmad-account__cart-total .pulmad-account__cart-total-label {
    text-align: right;
    font-size: 14px;
    font-weight: 700;
    color: var(--account-text);
}

.pulmad-account__cart-total .pulmad-account__cart-total-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--account-text);
    white-space: nowrap;
}

.pulmad-account__cart-total-value--grand {
    font-size: 16px !important;
    font-weight: 700 !important;
}

/* Cart: mobile — hide excl-VAT and VAT columns, show only total */
@media (max-width: 600px) {
    .pulmad-account__cart-th-price,
    .pulmad-account__cart-th-vat,
    .pulmad-account__cart-td-price,
    .pulmad-account__cart-td-vat {
        display: none;
    }
}

/* Make cart content wide */
.pulmad-account__cart {
    max-width: none;
}

/* "Add more?" prompt box */
.pulmad-account__cart-prompt {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
    background: var(--account-primary-light);
    border: 1px solid rgba(39, 111, 171, 0.15);
    border-radius: var(--account-radius-sm);
    margin-bottom: 24px;
}

.pulmad-account__cart-prompt-icon {
    flex-shrink: 0;
    color: var(--account-primary);
    margin-top: 2px;
}

.pulmad-account__cart-prompt-text {
    flex: 1;
}

.pulmad-account__cart-prompt-text strong {
    display: block;
    font-size: 15px;
    color: var(--account-text);
    margin-bottom: 8px;
}

.pulmad-account__cart-prompt-links {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.pulmad-account__cart-prompt-links a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 500;
    color: var(--account-primary);
    text-decoration: none;
}

.pulmad-account__cart-prompt-links a:hover {
    text-decoration: none;
}

/* Proceed button */
.pulmad-account__cart-actions {
    text-align: right;
}

.pulmad-account__btn--lg {
    padding: 1rem 1.75rem;
    font-size: 1rem;
}

/* Back link (Step 2) */
.pulmad-account__cart-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 500;
    color: var(--account-text-light);
    text-decoration: none;
    margin-bottom: 16px;
    transition: color 0.2s ease;
}

.pulmad-account__cart-back:hover {
    color: var(--account-primary);
}

/* ===========================
   WooCommerce Checkout (Step 2)
   WooCommerce CSS is dequeued on account pages,
   so these styles don't need !important overrides.
   =========================== */

/* --- Base reset --- */
.pulmad-account__cart .woocommerce,
.pulmad-account__cart .woocommerce form,
.pulmad-account__cart .woocommerce form .form-row,
.pulmad-account__cart .woocommerce form .form-row label,
.pulmad-account__cart .woocommerce form .form-row input,
.pulmad-account__cart .woocommerce form .form-row select,
.pulmad-account__cart .woocommerce form .form-row textarea {
    font-family: var(--font-secondary, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
    text-align: left;
    box-sizing: border-box;
}

.pulmad-account__cart .woocommerce {
    font-size: 15px;
    color: var(--account-text);
}

/* --- Hidden elements --- */
.pulmad-account__cart .woocommerce-form-coupon-toggle,
.pulmad-account__cart .woocommerce-form-coupon,
.pulmad-account__cart .woocommerce-shipping-fields,
.pulmad-account__cart .woocommerce-additional-fields,
.pulmad-account__cart #ship-to-different-address,
.pulmad-account__cart .col-2,
.pulmad-account__cart wc-order-attribution-inputs {
    display: none;
}

/* --- Notices --- */
.pulmad-account__cart .woocommerce-notices-wrapper:empty {
    display: none;
}

.pulmad-account__cart .woocommerce-info,
.pulmad-account__cart .woocommerce-message {
    border: none;
    border-top: 3px solid var(--account-primary);
    background: var(--account-primary-light);
    border-radius: var(--account-radius-sm);
    padding: 12px 16px;
    margin: 0 0 16px 0;
    font-size: 14px;
    list-style: none;
}

.pulmad-account__cart .woocommerce-error {
    border: none;
    border-top: 3px solid var(--account-error);
    background: #fef2f2;
    border-radius: var(--account-radius-sm);
    padding: 12px 16px;
    margin: 0 0 16px 0;
    font-size: 14px;
    list-style: none;
}

.pulmad-account__cart .woocommerce-error li {
    list-style: none;
}

/* --- Form rows --- */
.pulmad-account__cart .woocommerce form .form-row,
.pulmad-account__cart .woocommerce form .form-row-first,
.pulmad-account__cart .woocommerce form .form-row-last,
.pulmad-account__cart .woocommerce form .form-row-wide {
    float: none;
    width: 100%;
    padding: 0;
    margin: 0 0 20px 0;
}

.pulmad-account__cart .woocommerce form .form-row::before,
.pulmad-account__cart .woocommerce form .form-row::after {
    display: none;
}

.pulmad-account__cart .woocommerce form .form-row:last-child {
    margin-bottom: 0;
}

/* --- Two-column checkout grid --- */
.pulmad-account__cart .woocommerce form.woocommerce-checkout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 40px;
    align-items: start;
}

/* Express checkout (Apple Pay / Google Pay) — full width on top */
.pulmad-account__cart .woocommerce form.woocommerce-checkout > .wcpay-express-checkout-wrapper {
    grid-column: 1 / -1;
    grid-row: 1;
    margin-bottom: 16px;
}

.pulmad-account__cart .woocommerce form.woocommerce-checkout > .col2-set {
    grid-column: 1;
    grid-row: 2 / 4;
}

.pulmad-account__cart .woocommerce form.woocommerce-checkout > h3#order_review_heading {
    grid-column: 2;
    grid-row: 2;
}

.pulmad-account__cart .woocommerce form.woocommerce-checkout > #order_review {
    grid-column: 2;
    grid-row: 3;
}

/* Reset col2-set */
.pulmad-account__cart .woocommerce .col2-set {
    display: block;
    width: 100%;
    margin-bottom: 0;
}

.pulmad-account__cart .woocommerce .col2-set::after {
    display: none;
}

.pulmad-account__cart .woocommerce .col2-set .col-1 {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* --- Section headers --- */
.pulmad-account__cart .woocommerce-billing-fields > h3,
.pulmad-account__cart .woocommerce h3#order_review_heading {
    font-family: var(--font-primary, 'Playfair Display', Georgia, serif);
    font-size: var(--text-lg, 18px);
    font-weight: var(--font-semibold, 600);
    color: var(--charcoal, #323232);
    margin: 0 0 20px 0;
    padding: 0 0 12px 0;
    border-bottom: 1px solid var(--light-gray, #f3f2f1);
}

/* --- Billing fields stacked --- */
.pulmad-account__cart .woocommerce-billing-fields__field-wrapper {
    display: flex;
    flex-direction: column;
}

/* --- Labels --- */
.pulmad-account__cart .woocommerce form .form-row label {
    display: block;
    font-size: var(--account-field-label-font);
    font-weight: var(--account-field-label-weight);
    color: var(--account-field-label-color);
    text-transform: var(--account-field-label-transform);
    letter-spacing: var(--account-field-label-spacing);
    margin-bottom: 6px;
    line-height: var(--leading-normal, 1.5);
}

.pulmad-account__cart .woocommerce form .form-row label .required {
    color: var(--error, #EF4444);
    visibility: visible;
    font-weight: var(--font-bold, 700);
}

.pulmad-account__cart .woocommerce form .form-row label .optional {
    font-size: var(--text-xs, 12px);
    color: var(--dark-gray, #666666);
    font-weight: var(--font-normal, 400);
}

/* --- Inputs --- */
.pulmad-account__cart .woocommerce form .form-row .woocommerce-input-wrapper {
    display: block;
}

.pulmad-account__cart .woocommerce form .form-row input.input-text,
.pulmad-account__cart .woocommerce form .form-row input[type="text"],
.pulmad-account__cart .woocommerce form .form-row input[type="email"],
.pulmad-account__cart .woocommerce form .form-row input[type="tel"],
.pulmad-account__cart .woocommerce form .form-row textarea,
.pulmad-account__cart .woocommerce form .form-row select {
    width: 100%;
    padding: var(--account-field-padding);
    font-size: var(--account-field-font);
    height: var(--account-field-height);
    font-family: var(--font-secondary, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
    border: 1px solid var(--light-gray, #f3f2f1);
    border-radius: var(--radius-md, 8px);
    background: var(--white, #ffffff);
    color: var(--charcoal, #323232);
    transition: all var(--transition-normal, 0.2s ease);
    box-sizing: border-box;
    -webkit-appearance: none;
    line-height: var(--leading-normal, 1.5);
}

.pulmad-account__cart .woocommerce form .form-row input.input-text:focus,
.pulmad-account__cart .woocommerce form .form-row input[type="text"]:focus,
.pulmad-account__cart .woocommerce form .form-row input[type="email"]:focus,
.pulmad-account__cart .woocommerce form .form-row input[type="tel"]:focus,
.pulmad-account__cart .woocommerce form .form-row textarea:focus,
.pulmad-account__cart .woocommerce form .form-row select:focus {
    outline: none;
    border-color: var(--account-primary);
    box-shadow: 0 0 0 2px rgba(39, 111, 171, 0.15);
}

.pulmad-account__cart .woocommerce form .form-row textarea {
    height: auto;
    min-height: 80px;
}

/* --- Validation states --- */
.pulmad-account__cart .woocommerce form .form-row.woocommerce-invalid input.input-text,
.pulmad-account__cart .woocommerce form .form-row.woocommerce-invalid select {
    border-color: var(--error, #EF4444);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.pulmad-account__cart .woocommerce form .form-row.woocommerce-validated input.input-text,
.pulmad-account__cart .woocommerce form .form-row.woocommerce-validated select {
    border-color: var(--success, #10B981);
}

/* --- Order review table --- */
.pulmad-account__cart .woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 24px;
    font-size: var(--text-sm, 14px);
    font-family: var(--font-secondary, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
    color: var(--charcoal, #323232);
}

.pulmad-account__cart .woocommerce-checkout-review-order-table th,
.pulmad-account__cart .woocommerce-checkout-review-order-table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--account-border);
    text-align: left;
}

.pulmad-account__cart .woocommerce-checkout-review-order-table thead th {
    background: var(--account-bg-light);
    color: var(--account-text-light);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid var(--account-border);
}

.pulmad-account__cart .woocommerce-checkout-review-order-table tbody td {
    color: var(--account-text);
}

.pulmad-account__cart .woocommerce-checkout-review-order-table tfoot th {
    font-weight: 600;
    color: var(--account-text);
}

.pulmad-account__cart .woocommerce-checkout-review-order-table tfoot .order-total th,
.pulmad-account__cart .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 16px;
    font-weight: 700;
    color: var(--account-text);
    border-top: 2px solid var(--account-border);
}

.pulmad-account__cart .woocommerce-checkout-review-order-table tfoot small {
    font-size: 12px;
    color: var(--account-text-light);
    font-weight: 400;
}

/* Recurring totals row */
.pulmad-account__cart .woocommerce-checkout-review-order-table .recurring-totals th {
    background: var(--account-bg-light);
    color: var(--account-text-light);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* --- Payment area --- */
.pulmad-account__cart .woocommerce #payment {
    background: var(--account-bg-light);
    border-radius: var(--account-radius);
    padding: 24px;
    border: 1px solid var(--account-border);
}

.pulmad-account__cart .woocommerce #payment::before,
.pulmad-account__cart .woocommerce #payment::after {
    display: none;
}

.pulmad-account__cart .woocommerce #payment .wc_payment_methods {
    list-style: none;
    margin: 0 0 20px 0;
    padding: 0;
    border: none;
}

.pulmad-account__cart .woocommerce #payment .wc_payment_methods li {
    margin-bottom: 8px;
    padding: 16px;
    background: var(--account-bg);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    transition: border-color 0.2s ease;
}

.pulmad-account__cart .woocommerce #payment .wc_payment_methods li:last-child {
    margin-bottom: 0;
}

.pulmad-account__cart .woocommerce #payment .wc_payment_methods li input[type="radio"] {
    margin-right: 8px;
}

.pulmad-account__cart .woocommerce #payment .wc_payment_methods li label {
    font-family: var(--font-secondary, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
    font-weight: var(--font-medium, 500);
    cursor: pointer;
    font-size: var(--text-base, 16px);
    color: var(--charcoal, #323232);
}

.pulmad-account__cart .woocommerce #payment .wc_payment_methods li img {
    max-height: 24px;
    margin-left: 8px;
    vertical-align: middle;
}

.pulmad-account__cart .woocommerce #payment .payment_box {
    padding: 12px 0 0 24px;
    font-size: 13px;
    color: var(--account-text-light);
    line-height: 1.5;
    background: none;
}

.pulmad-account__cart .woocommerce #payment .payment_box::before {
    display: none;
}

/* --- Place order button --- */
.pulmad-account__cart .woocommerce .button,
.pulmad-account__cart .woocommerce button.button,
.pulmad-account__cart .woocommerce #payment #place_order {
    font-family: var(--font-secondary, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
    background: var(--pulmad-blue-accent, #325289);
    color: #fff;
    border: none;
    border-radius: var(--radius-md, 8px);
    padding: 14px 32px;
    font-size: var(--text-base, 16px);
    font-weight: var(--font-semibold, 600);
    cursor: pointer;
    transition: background var(--transition-normal, 0.2s ease);
    line-height: var(--leading-normal, 1.5);
    text-align: center;
}

.pulmad-account__cart .woocommerce #payment #place_order {
    width: 100%;
    margin-top: 8px;
}

.pulmad-account__cart .woocommerce .button:hover,
.pulmad-account__cart .woocommerce button.button:hover,
.pulmad-account__cart .woocommerce #payment #place_order:hover {
    background: var(--pulmad-blue-dark, #1e5a8a);
    color: #fff;
}

/* --- Place-order section — stack children vertically, full width --- */
.pulmad-account__cart .woocommerce #payment .form-row.place-order {
    float: none !important;
    width: 100% !important;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

/* Kill WooCommerce clearfix pseudo-elements that break flex layout */
.pulmad-account__cart .woocommerce #payment .form-row.place-order::before,
.pulmad-account__cart .woocommerce #payment .form-row.place-order::after {
    display: none;
}

/* Place Order button — remove WooCommerce float:right, full width */
.pulmad-account__cart .woocommerce #payment .form-row.place-order #place_order {
    float: none !important;
    width: 100%;
}

/* PayPal / Apple Pay / Google Pay button containers */
.pulmad-account__cart .woocommerce #payment .form-row.place-order [id^="ppc-button-"] {
    width: 100%;
    margin-top: 8px;
}

/* --- Privacy / terms --- */
.pulmad-account__cart .woocommerce-privacy-policy-text {
    margin-bottom: 16px;
    text-align: center;
}

.pulmad-account__cart .woocommerce-privacy-policy-text p {
    font-family: var(--font-secondary, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
    font-size: var(--text-xs, 12px);
    color: var(--dark-gray, #666666);
    line-height: var(--leading-normal, 1.5);
    margin: 0;
}

.pulmad-account__cart .woocommerce-privacy-policy-text a {
    color: var(--pulmad-blue-accent, #325289);
}

.pulmad-account__cart .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 16px;
}

.pulmad-account__cart .woocommerce-terms-and-conditions-wrapper label {
    font-size: 14px;
    color: var(--account-text);
}

/* --- Select2 overrides --- */
.pulmad-account__cart .select2-container {
    width: 100%;
}

.pulmad-account__cart .select2-container .select2-selection--single {
    height: auto;
    padding: 10px 16px;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
}

.pulmad-account__cart .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 1.5;
    padding: 0;
    color: var(--account-text);
}

.pulmad-account__cart .select2-container--focus .select2-selection--single,
.pulmad-account__cart .select2-container--open .select2-selection--single {
    border-color: var(--account-primary);
    box-shadow: 0 0 0 3px var(--account-primary-light);
}

/* --- Loading overlay --- */
.pulmad-account__cart .woocommerce .blockUI.blockOverlay {
    background: rgba(255, 255, 255, 0.7);
}

/* --- Checkout responsive --- */
@media screen and (max-width: 900px) {
    .pulmad-account__cart .woocommerce form.woocommerce-checkout {
        grid-template-columns: 1fr;
    }

    .pulmad-account__cart .woocommerce form.woocommerce-checkout > .wcpay-express-checkout-wrapper,
    .pulmad-account__cart .woocommerce form.woocommerce-checkout > .col2-set,
    .pulmad-account__cart .woocommerce form.woocommerce-checkout > h3#order_review_heading,
    .pulmad-account__cart .woocommerce form.woocommerce-checkout > #order_review {
        grid-column: 1;
        grid-row: auto;
    }

    .pulmad-account__cart .woocommerce h3#order_review_heading {
        margin-top: 28px;
        padding-top: 28px;
        border-top: 1px solid var(--light-gray, #f3f2f1);
    }
}

@media screen and (max-width: 600px) {
    .pulmad-account__cart .woocommerce #payment {
        padding: 16px;
    }

    .pulmad-account__cart .woocommerce #payment .wc_payment_methods li {
        padding: 12px;
    }

    .pulmad-account__cart .woocommerce-checkout-review-order-table th,
    .pulmad-account__cart .woocommerce-checkout-review-order-table td {
        padding: 10px 12px;
    }
}

/* Cart table responsive */
@media screen and (max-width: 600px) {
    .pulmad-account__cart-table thead {
        display: none;
    }

    .pulmad-account__cart-table tbody tr {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px;
        padding: 16px 0;
        border-bottom: 1px solid var(--account-border);
    }

    .pulmad-account__cart-table tbody td {
        border: none;
        padding: 0;
    }

    .pulmad-account__cart-td-name {
        flex: 1;
        min-width: 0;
    }

    .pulmad-account__cart-td-price {
        width: auto;
    }

    .pulmad-account__cart-td-remove {
        width: auto;
    }

    .pulmad-account__cart-table tfoot tr {
        display: flex;
        justify-content: space-between;
        padding: 16px 0;
    }

    .pulmad-account__cart-table tfoot td {
        border: none;
        padding: 0;
    }

    .pulmad-account__cart-prompt {
        flex-direction: column;
        gap: 12px;
    }

    .pulmad-account__cart-actions {
        text-align: center;
    }

    .pulmad-account__btn--lg {
        width: 100%;
    }
}

/* ===========================
   Package upgrade notice
   =========================== */
.pulmad-account__pkg-notice {
    text-align: center;
    padding: 24px;
    border-radius: 12px;
    margin-bottom: 24px;
}

.pulmad-account__pkg-notice--silver {
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    border: 1px solid #cbd5e1;
}

.pulmad-account__pkg-notice--gold {
    background: linear-gradient(135deg, #fef9c3 0%, #fef3c7 100%);
    border: 1px solid #fbbf24;
}

.pulmad-account__pkg-notice-name {
    display: block;
    font-family: var(--font-primary, 'Playfair Display', serif);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.pulmad-account__pkg-notice--silver .pulmad-account__pkg-notice-name {
    color: #475569;
}

.pulmad-account__pkg-notice--gold .pulmad-account__pkg-notice-name {
    color: #92400e;
}

.pulmad-account__pkg-notice-text {
    margin: 0;
    font-size: 14px;
    color: #64748b;
}

/* ===========================
   Invoice link in orders table
   =========================== */
.pulmad-account__invoice-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    color: var(--account-primary);
    background: var(--account-primary-light);
    border-radius: var(--account-radius-sm);
    text-decoration: none;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.pulmad-account__invoice-link:hover {
    background: var(--account-primary);
    color: #fff;
}

.pulmad-account__order-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
}

.pulmad-account__cancel-sub-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    color: var(--account-error);
    background: #fef2f2;
    border: none;
    border-radius: var(--account-radius-sm);
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.pulmad-account__cancel-sub-link:hover {
    background: var(--account-error);
    color: #fff;
}

.pulmad-account__cancel-sub-link:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.pulmad-account__next-payment {
    font-weight: 500;
    font-size: 14px;
}

.pulmad-account__next-payment--none {
    color: var(--account-text-light);
}

.pulmad-account__next-payment--expiry {
    color: var(--account-warning);
    font-size: 13px;
}

/* ===========================
   Invoice View (in-page)
   =========================== */
.pulmad-account__invoice-panel {
    padding: 0;
    overflow: hidden;
}

.pulmad-account__invoice-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 32px;
    border-bottom: 1px solid var(--account-border);
    background: var(--account-bg-light);
}

.pulmad-account__invoice-actions .pulmad-account__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Invoice document */
.pulmad-invoice {
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
}

.pulmad-invoice p,
.entry-content .pulmad-invoice p {
    margin-bottom: 0 !important;
}

.pulmad-invoice__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--account-primary);
    color: #fff;
    padding: 16px 32px;
}

.pulmad-invoice__title {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 2px;
    margin: 0;
    color: #fff;
}

.pulmad-invoice__title-sub {
    font-size: 12px;
    opacity: 0.8;
}

.pulmad-invoice__logo-img {
    height: 22px;
    width: auto;
    filter: brightness(0) invert(1);
}

.pulmad-invoice__meta {
    display: flex;
    gap: 28px;
    padding: 12px 32px;
    background: #f8fafc;
    border-bottom: 1px solid var(--account-border);
}

.pulmad-invoice__meta-label {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    font-weight: 600;
}

.pulmad-invoice__meta-value {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #111827;
    margin-top: 1px;
}

.pulmad-invoice__parties {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    padding: 14px 32px;
}

.pulmad-invoice__party-title {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #6b7280;
    font-weight: 700;
    margin: 0 0 6px 0;
    padding-bottom: 4px;
    border-bottom: 2px solid var(--account-primary);
}

.pulmad-invoice__party-name {
    font-size: 13px;
    font-weight: 600;
    color: #111827;
    margin: 0 0 2px 0;
}

.pulmad-invoice__party-detail {
    font-size: 12px;
    color: #4b5563;
    margin: 1px 0;
    line-height: 1.4;
}

/* Items table */
.pulmad-invoice__items {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.pulmad-invoice__items th {
    background: #f3f4f6;
    padding: 7px 32px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    font-weight: 600;
    text-align: left;
    border-bottom: 2px solid #e5e7eb;
}

.pulmad-invoice__items td {
    padding: 8px 32px;
    font-size: 13px;
    border-bottom: 1px solid #f3f4f6;
}

.pulmad-invoice__item-listing {
    display: block;
    font-size: 11px;
    color: #6b7280;
    margin-top: 1px;
}

/* Totals */
.pulmad-invoice__totals {
    padding: 10px 32px 14px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.pulmad-invoice__total-row {
    display: flex;
    justify-content: space-between;
    width: 260px;
    padding: 4px 0;
    font-size: 13px;
    color: #6b7280;
}

.pulmad-invoice__total-row span:last-child {
    font-weight: 500;
    color: #111827;
}

.pulmad-invoice__total-row--grand {
    border-top: 2px solid var(--account-primary);
    margin-top: 6px;
    padding-top: 8px;
    font-size: 16px;
    font-weight: 700;
}

.pulmad-invoice__total-row--grand span {
    color: var(--account-primary);
}

.pulmad-invoice__total-row--grand span:last-child {
    color: var(--account-primary);
}

.pulmad-invoice__items tfoot td {
    padding: 10px 12px;
    border-top: 2px solid var(--account-primary, #1e3a5f);
}

/* Payment info */
.pulmad-invoice__payment {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
    padding: 10px 16px;
    margin: 0 32px 14px;
    font-size: 12px;
    color: #374151;
    line-height: 1.5;
}

.pulmad-invoice__payment strong {
    color: #1e40af;
}

/* Footer */
.pulmad-invoice__footer {
    background: #f8fafc;
    padding: 12px 32px;
    border-top: 1px solid var(--account-border);
    text-align: center;
    font-size: 11px;
    color: #6b7280;
}

.pulmad-invoice__footer p {
    margin: 1px 0;
}

.pulmad-invoice__footer-note {
    margin-top: 4px;
    font-size: 10px;
    color: #9ca3af;
}

/* ===========================
   Print styles
   =========================== */
@media print {
    @page {
        size: A4;
        margin: 10mm;
    }

    /* Hide everything except invoice */
    body * {
        visibility: hidden;
    }

    .pulmad-invoice,
    .pulmad-invoice * {
        visibility: visible;
    }

    .pulmad-invoice {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        max-width: none;
        font-size: 12px;
    }

    /* Hide non-print elements */
    .no-print,
    .pulmad-account__header,
    .pulmad-account__nav,
    .pulmad-account__invoice-actions,
    .site-header,
    .site-footer,
    #wpadminbar {
        display: none !important;
    }

    .pulmad-account__invoice-panel {
        box-shadow: none;
        border-radius: 0;
    }

    .pulmad-invoice__header {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        background: #325289 !important;
        color: #fff !important;
        padding: 12px 24px;
    }

    .pulmad-invoice__title {
        font-size: 20px;
    }

    .pulmad-invoice__logo-img {
        filter: brightness(0) invert(1);
    }

    .pulmad-invoice__meta {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        padding: 8px 24px;
        gap: 24px;
    }

    .pulmad-invoice__parties {
        padding: 10px 24px;
        gap: 20px;
    }

    .pulmad-invoice__items th {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        padding: 5px 24px;
    }

    .pulmad-invoice__items td {
        padding: 6px 24px;
    }

    .pulmad-invoice__totals {
        padding: 8px 24px 10px;
    }

    .pulmad-invoice__payment {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        margin: 0 24px 10px;
        padding: 8px 14px;
    }

    .pulmad-invoice__footer {
        padding: 8px 24px;
    }
}

@media screen and (max-width: 600px) {
    .pulmad-invoice__header {
        padding: 14px 16px;
    }

    .pulmad-invoice__meta {
        padding: 10px 16px;
        flex-wrap: wrap;
        gap: 12px;
    }

    .pulmad-invoice__parties {
        grid-template-columns: 1fr;
        padding: 12px 16px;
    }

    .pulmad-invoice__items th,
    .pulmad-invoice__items td {
        padding: 6px 16px;
    }

    .pulmad-invoice__totals {
        padding: 10px 16px;
    }

    .pulmad-invoice__total-row {
        width: 100%;
    }

    .pulmad-invoice__payment {
        margin: 0 16px 12px;
    }

    .pulmad-invoice__footer {
        padding: 10px 16px;
    }

    .pulmad-account__invoice-actions {
        flex-direction: column;
        gap: 10px;
        padding: 12px 16px;
    }
}

/* ===========================
   Planning Tools
   =========================== */

/* Date card */
.pulmad-planning__date-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px 20px;
    background: var(--account-primary-light);
    border-radius: var(--account-radius-sm);
    margin-bottom: 24px;
}

.pulmad-planning__date-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
}

.pulmad-planning__date-form--compact {
    gap: 8px;
}

.pulmad-planning__date-form label {
    font-size: var(--account-field-label-font);
    font-weight: var(--account-field-label-weight);
    color: var(--account-field-label-color);
    text-transform: var(--account-field-label-transform);
    letter-spacing: var(--account-field-label-spacing);
    display: block;
    margin-bottom: 2px;
}

.pulmad-planning__date-form .pulmad-planning__paid-toggle {
    display: inline-flex;
    margin-bottom: 0;
}

.pulmad-planning__date-form input[type="date"],
.pulmad-planning__date-form input[type="text"] {
    padding: var(--account-field-padding);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    font-size: var(--account-field-font);
    height: var(--account-field-height);
    box-sizing: border-box;
    background: var(--account-bg);
    width: 100%;
}

.pulmad-planning__date-row {
    min-width: 160px;
}

.pulmad-planning__date-selects {
    display: flex;
    align-items: center;
    gap: 4px;
}

.pulmad-planning__date-select {
    padding: var(--account-field-padding);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    font-size: var(--account-field-font);
    height: var(--account-field-height);
    box-sizing: border-box;
    background: var(--account-bg);
    color: var(--account-text);
    cursor: pointer;
    min-width: 0;
}

.pulmad-planning__date-select--month {
    flex: 1;
    max-width: 120px;
}

.pulmad-planning__names-row {
    display: flex;
    gap: 8px;
    width: 100%;
}

.pulmad-planning__names-row > div {
    flex: 1;
    min-width: 0;
}

.pulmad-planning__date-ceremony-row {
    width: 100%;
}

.pulmad-planning__date-time-selects {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.pulmad-planning__time-group {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

@media screen and (max-width: 600px) {
    .pulmad-planning__date-form {
        align-items: stretch;
    }
    .pulmad-planning__date-form > * {
        width: 100% !important;
    }
    .pulmad-planning__names-row,
    .pulmad-planning__venue-row {
        flex-direction: column;
        align-items: stretch;
    }
    .pulmad-planning__venue-field {
        flex: none;
        width: 100%;
    }
    .pulmad-planning__venue-toggle,
    .pulmad-planning__actions-row,
    .pulmad-planning__toggle-field {
        align-self: flex-start;
    }
}

.pulmad-planning__time-selects {
    display: flex;
    align-items: center;
    gap: 4px;
}

.pulmad-planning__time-sep {
    font-weight: 600;
    color: var(--account-text-light, #6B7280);
}

.pulmad-planning__venue-row {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    width: 100%;
}

.pulmad-planning__venue-field {
    flex: 1;
    min-width: 0;
}

.pulmad-planning__venue-input {
    width: 100%;
    padding: var(--account-field-padding);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    font-size: var(--account-field-font);
    height: var(--account-field-height);
    box-sizing: border-box;
    background: var(--account-bg);
    color: var(--account-text);
}

.pulmad-planning__venue-toggle {
    flex: 0 0 auto;
    align-self: flex-end;
    margin-bottom: 2px;
}


.pulmad-planning__actions-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.pulmad-planning__toggle-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pulmad-planning__toggle-label {
    font-size: var(--account-field-label-font, 12px);
    font-weight: var(--account-field-label-weight, 600);
    color: var(--account-field-label-color, var(--account-text-light, #6B7280));
    text-transform: var(--account-field-label-transform, uppercase);
    letter-spacing: var(--account-field-label-spacing, 0.5px);
    cursor: pointer;
    order: -1;
}

.pulmad-planning__countdown {
    font-size: 18px;
    font-weight: 700;
    color: var(--account-primary);
    white-space: nowrap;
}

/* Sub-tab navigation */
.pulmad-planning__tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 24px;
    border-bottom: 2px solid var(--account-border);
    padding-bottom: 0;
}

.pulmad-planning__tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
    color: var(--account-text-light);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
}

.pulmad-planning__tab:hover {
    color: var(--account-primary);
}

.pulmad-planning__tab.active {
    color: var(--account-primary);
    border-bottom-color: var(--account-primary);
}

.pulmad-planning__tab-badge {
    font-size: 12px;
    font-weight: 500;
    background: var(--account-bg-light);
    color: var(--account-text-light);
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: 4px;
}

.pulmad-planning__tab.active .pulmad-planning__tab-badge {
    background: var(--account-primary-light);
    color: var(--account-primary);
}

/* Panels */
.pulmad-planning__panel {
    display: none;
}

.pulmad-planning__panel.active {
    display: block;
}

/* Sub-tabs (inside guests) */
.pulmad-planning__subtabs {
    display: flex;
    justify-content: center;
    gap: 0;
    border-bottom: 1px solid var(--account-border);
    margin-bottom: 20px;
}

.pulmad-planning__subtab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--account-text-light);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.2s, border-color 0.2s;
}

.pulmad-planning__subtab:hover {
    color: var(--account-primary);
}

.pulmad-planning__subtab.active {
    color: var(--account-primary);
    border-bottom-color: var(--account-primary);
}

.pulmad-planning__subpanel {
    display: none;
}

.pulmad-planning__subpanel.active {
    display: block;
}

/* Progress bar */
.pulmad-planning__progress {
    margin-bottom: 24px;
}

.pulmad-planning__progress-text {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: var(--account-text-light);
    margin-bottom: 8px;
}

.pulmad-planning__progress-bar {
    height: 8px;
    background: var(--account-border);
    border-radius: 4px;
    overflow: hidden;
}

.pulmad-planning__progress-fill {
    height: 100%;
    background: var(--account-success);
    border-radius: 4px;
    transition: width 0.3s ease;
}

.pulmad-planning__progress-fill.over-budget {
    background: var(--account-error);
}

/* Checklist groups */
.pulmad-planning__group {
    margin-bottom: 24px;
}

.pulmad-planning__group-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--account-text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--account-border);
    display: flex;
    align-items: center;
    gap: 8px;
}

.pulmad-planning__group-label {
    flex: 0 0 auto;
}

.pulmad-planning__group-count {
    font-size: 12px;
    font-weight: 500;
    color: var(--account-text-muted, #999);
    text-transform: none;
    letter-spacing: 0;
    margin-right: auto;
}

.pulmad-planning__group-actions {
    display: flex;
    gap: 4px;
    opacity: 0;
    transition: opacity 0.2s;
}
.pulmad-planning__group-title:hover .pulmad-planning__group-actions {
    opacity: 1;
}
.pulmad-planning__group-edit,
.pulmad-planning__group-delete {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    color: var(--account-text-muted, #999);
    padding: 2px 4px;
    border-radius: 3px;
    line-height: 1;
}
.pulmad-planning__group-edit:hover {
    color: var(--account-primary, #276FAB);
    background: rgba(39, 111, 171, 0.08);
}
.pulmad-planning__group-delete:hover {
    color: #c0392b;
    background: rgba(192, 57, 43, 0.08);
}

/* Group title inline edit form — matches item-edit-form styling */
.pulmad-planning__group-edit-form {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}
.pulmad-planning__group-edit-input {
    flex: 1;
    min-width: 0;
    padding: 4px 8px;
    border: 1px solid var(--account-border);
    border-radius: 4px;
    font-size: 14px;
    font-family: inherit;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.pulmad-planning__group-edit-save,
.pulmad-planning__group-edit-cancel {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 4px;
    font-size: 16px;
    line-height: 1;
    flex-shrink: 0;
}
.pulmad-planning__group-edit-save {
    color: var(--account-success);
}
.pulmad-planning__group-edit-save:hover {
    background: #D1FAE5;
}
.pulmad-planning__group-edit-cancel {
    color: var(--account-text-light);
}
.pulmad-planning__group-edit-cancel:hover {
    color: var(--account-error);
    background: #FEE2E2;
}
/* Remove group-title bottom border when editing to avoid double border */
.pulmad-planning__group-title:has(.pulmad-planning__group-edit-form) {
    border-bottom-color: transparent;
}
.pulmad-planning__checklist-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--account-border);
    display: flex;
    justify-content: flex-end;
}

/* Checklist items */
.pulmad-planning__checklist-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: var(--account-radius-sm);
    transition: background 0.15s;
}

.pulmad-planning__checklist-item:hover {
    background: var(--account-bg-light);
}

.pulmad-planning__checklist-item.done .pulmad-planning__check-text {
    text-decoration: line-through;
    color: var(--account-text-light);
}

.pulmad-planning__checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    cursor: pointer;
    margin: 0;
}

.pulmad-planning__check-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.pulmad-planning__check-input + .pulmad-toggle {
    width: 36px;
    height: 20px;
    min-width: 36px;
    background: #D1D5DB;
    border-radius: 10px;
    position: relative;
    transition: background 0.2s;
    flex-shrink: 0;
    cursor: pointer;
}
.pulmad-planning__check-input + .pulmad-toggle::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
}
.pulmad-planning__check-input:checked + .pulmad-toggle {
    background: var(--account-success, #10B981);
}
.pulmad-planning__check-input:checked + .pulmad-toggle::after {
    transform: translateX(16px);
}

.pulmad-planning__check-text {
    font-size: 14px;
    color: var(--account-text);
}

/* Drag handle */
.pulmad-planning__drag-handle {
    cursor: grab;
    color: var(--account-text-muted, #bbb);
    font-size: 16px;
    line-height: 1;
    padding: 2px 2px;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.15s, color 0.15s;
    user-select: none;
}

.pulmad-planning__checklist-item:hover .pulmad-planning__drag-handle {
    opacity: 0.6;
}

.pulmad-planning__drag-handle:hover {
    opacity: 1 !important;
    color: var(--account-text-light);
}

/* Dragging state */
.pulmad-planning__checklist-item.is-dragging {
    opacity: 0.35;
    background: var(--account-bg-light);
}

/* Drop target group highlight */
.pulmad-planning__group.drag-over {
    background: rgba(39, 111, 171, 0.04);
    border-radius: var(--account-radius-sm);
    outline: 2px dashed var(--account-primary, #276FAB);
    outline-offset: -2px;
}

/* Drop indicator line */
.pulmad-planning__drop-indicator {
    height: 2px;
    background: var(--account-primary, #276FAB);
    border-radius: 1px;
    margin: 2px 0;
    position: relative;
}

.pulmad-planning__drop-indicator::before {
    content: '';
    position: absolute;
    left: -4px;
    top: -3px;
    width: 8px;
    height: 8px;
    background: var(--account-primary, #276FAB);
    border-radius: 50%;
}

/* Category row drag handle */
.pulmad-checklist__cat-drag {
    cursor: grab;
    color: var(--account-text-muted, #bbb);
    font-size: 14px;
    line-height: 1;
    flex-shrink: 0;
    opacity: 0.4;
    transition: opacity 0.15s, color 0.15s;
    user-select: none;
}

.pulmad-checklist__cat-row:hover .pulmad-checklist__cat-drag {
    opacity: 0.7;
}

.pulmad-checklist__cat-drag:hover {
    opacity: 1 !important;
    color: var(--account-text-light);
}

.pulmad-checklist__cat-row.is-dragging {
    opacity: 0.35;
}

/* Checklist help text */
.pulmad-planning__checklist-help {
    font-size: 12px;
    color: var(--account-text-light);
    margin: 0 0 8px;
    line-height: 1.4;
}

/* Timeline notice banner (< 18 months) */
.pulmad-planning__timeline-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 16px;
    margin-bottom: 20px;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    border-left: 4px solid var(--account-primary, #276FAB);
    border-radius: var(--account-radius-sm);
    font-size: 14px;
    line-height: 1.5;
    color: #1E40AF;
}

.pulmad-planning__timeline-notice-icon {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Category badges */
.pulmad-planning__category-badge {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    background: var(--account-bg-light);
    color: var(--account-text-light);
    white-space: nowrap;
}

/* Category badge colors are now applied via inline styles from PHP */

/* Category management panel — mirrors .pulmad-schedule__rada-* styles */
.pulmad-checklist__cat-section {
    margin-bottom: 20px;
}

.pulmad-checklist__cat-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pulmad-checklist__cat-filter {
    position: relative;
}

.pulmad-checklist__cat-filter--floating {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 1000;
}

.pulmad-checklist__cat-filter--floating .pulmad-checklist__cat-filter-toggle {
    background: #fff;
    box-shadow: 0 2px 12px rgba(0,0,0,0.15);
    border-color: var(--account-primary);
    padding: 8px 16px;
    font-size: 14px;
}

.pulmad-checklist__cat-filter--floating .pulmad-checklist__cat-filter-dropdown {
    bottom: 100%;
    top: auto;
    margin-bottom: 4px;
    margin-top: 0;
    right: 0;
    left: auto;
    max-height: 60vh;
    overflow-y: auto;
}

.pulmad-checklist__cat-filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    padding: 6px 14px;
    font-size: 13px;
    color: var(--account-text-light);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.pulmad-checklist__cat-filter-toggle:hover {
    background: var(--account-bg-hover, #f5f5f5);
    border-color: var(--account-primary);
}
.pulmad-checklist__cat-filter-toggle.active {
    border-color: var(--account-primary);
    color: var(--account-primary);
}

.pulmad-checklist__cat-filter-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 100;
    min-width: 200px;
    background: #fff;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    padding: 8px 0;
    margin-top: 4px;
}

.pulmad-checklist__cat-filter-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    font-size: 13px;
    cursor: pointer;
    transition: background 0.1s;
}
.pulmad-checklist__cat-filter-item:hover {
    background: var(--account-bg-hover, #f5f5f5);
}

.pulmad-checklist__cat-filter-item input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 16px;
    border-radius: 8px;
    background: #ccc;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    transition: background 0.2s;
    margin: 0;
}
.pulmad-checklist__cat-filter-item input[type="checkbox"]::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    transition: transform 0.2s;
}
.pulmad-checklist__cat-filter-item input[type="checkbox"]:checked {
    background: var(--account-success, #10B981);
}
.pulmad-checklist__cat-filter-item input[type="checkbox"]:checked::after {
    transform: translateX(12px);
}

.pulmad-checklist__cat-filter-swatch {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    flex-shrink: 0;
}

.pulmad-checklist__cat-filter-sep {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--account-muted);
    padding: 6px 14px 2px 50px;
    border-top: 1px solid var(--account-border);
    margin-top: 2px;
}
.pulmad-checklist__cat-filter-sep--first {
    border-top: none;
    margin-top: 0;
    padding-top: 4px;
}
.pulmad-checklist__cat-filter-actions {
    display: flex;
    gap: 8px;
    padding: 6px 14px 2px;
    border-top: 1px solid var(--account-border);
    margin-top: 4px;
}

.pulmad-checklist__cat-filter-actions button {
    background: none;
    border: none;
    font-size: 12px;
    color: var(--account-primary);
    cursor: pointer;
    padding: 2px 0;
}
.pulmad-checklist__cat-filter-actions button:hover {
    text-decoration: none;
}

/* Export columns dropdown — toggle slider style */
.pulmad-export-columns__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 100;
    min-width: 220px;
    background: #fff;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    padding: 8px 0;
    margin-top: 4px;
}
.pulmad-export-columns__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 5px 14px;
    font-size: 13px;
    cursor: pointer;
    transition: background 0.1s;
}
.pulmad-export-columns__item:hover {
    background: var(--account-bg-hover, #f5f5f5);
}
.pulmad-export-columns__label {
    flex: 1;
}
.pulmad-export-columns__switch {
    position: relative;
    width: 34px;
    height: 18px;
    flex-shrink: 0;
}
.pulmad-export-columns__switch input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}
.pulmad-export-columns__slider {
    position: absolute;
    inset: 0;
    background: #ccc;
    border-radius: 18px;
    transition: background 0.2s;
    cursor: pointer;
}
.pulmad-export-columns__slider::before {
    content: '';
    position: absolute;
    width: 14px;
    height: 14px;
    left: 2px;
    bottom: 2px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
}
.pulmad-export-columns__switch input:checked + .pulmad-export-columns__slider {
    background: var(--account-success, #10B981);
}
.pulmad-export-columns__switch input:checked + .pulmad-export-columns__slider::before {
    transform: translateX(16px);
}

.pulmad-checklist__cat-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    padding: 6px 14px;
    font-size: 13px;
    color: var(--account-text-light);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.pulmad-checklist__cat-toggle:hover {
    background: var(--account-bg-hover, #f5f5f5);
    border-color: var(--account-primary);
}

.pulmad-checklist__cat-arrow {
    font-size: 10px;
    transition: transform 0.2s;
    display: inline-block;
}
.pulmad-checklist__cat-arrow--open {
    transform: rotate(180deg);
}

.pulmad-checklist__cat-panel {
    margin-top: 12px;
    padding: 16px;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    background: var(--account-bg);
}

.pulmad-checklist__cat-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 8px;
}

.pulmad-checklist__cat-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
}

.pulmad-checklist__cat-color {
    width: 28px;
    height: 28px;
    padding: 1px;
    border: 1px solid var(--account-border);
    border-radius: 4px;
    cursor: pointer;
    flex-shrink: 0;
}

.pulmad-checklist__cat-label {
    flex: 1;
    min-width: 0;
    padding: 4px 8px;
    font-size: 13px;
    border: 1px solid var(--account-border);
    border-radius: 4px;
    background: #fff;
}

.pulmad-checklist__cat-save,
.pulmad-checklist__cat-del {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--account-border);
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}
.pulmad-checklist__cat-save:hover {
    background: #dcfce7;
    color: #16a34a;
    border-color: #16a34a;
}
.pulmad-checklist__cat-del:hover {
    background: #fee2e2;
    color: #dc2626;
    border-color: #dc2626;
}

/* Shared inline icon buttons — ghost style (no border) */
.pulmad-inline-del {
    background: none;
    border: none;
    color: var(--account-text-light, #9CA3AF);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    flex-shrink: 0;
    transition: color 0.15s, background 0.15s;
}
.pulmad-inline-del:hover {
    color: #dc2626;
    background: #fee2e2;
}

.pulmad-checklist__cat-lock {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    font-size: 13px;
    opacity: 0.4;
    cursor: help;
}

.pulmad-checklist__cat-add {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pulmad-checklist__cat-add-input {
    flex: 1;
    min-width: 0;
    padding: 4px 8px;
    font-size: 13px;
    border: 1px solid var(--account-border);
    border-radius: 4px;
    background: #fff;
}

.pulmad-checklist__cat-add-btn {
    padding: 4px 14px;
    font-size: 13px;
    border: 1px solid var(--account-primary);
    border-radius: 4px;
    background: var(--account-primary);
    color: #fff;
    cursor: pointer;
    flex-shrink: 0;
    transition: opacity 0.15s;
}
.pulmad-checklist__cat-add-btn:hover {
    opacity: 0.85;
}
.pulmad-checklist__cat-add-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.pulmad-checklist__cat-footer {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--account-border);
}

.pulmad-checklist__cat-reset-btn {
    padding: 4px 14px;
    font-size: 13px;
    border: 1px solid var(--account-border);
    border-radius: 4px;
    background: #fff;
    color: var(--account-text-light);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.pulmad-checklist__cat-reset-btn:hover {
    background: #fee2e2;
    color: #dc2626;
    border-color: #dc2626;
}
.pulmad-checklist__cat-reset-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Shared hint text in category panel */
.pulmad-checklist__cat-hint {
    font-size: 12px;
    color: var(--account-text-light);
    margin: 0 0 10px;
    line-height: 1.4;
}

/* Tool-specific visual accents for category panels */
.pulmad-checklist__cat-section[data-tool="checklist"] .pulmad-checklist__cat-panel {
    border-color: #93c5fd;
    border-left: 3px solid var(--account-primary, #276FAB);
}
.pulmad-checklist__cat-section[data-tool="checklist"] .pulmad-checklist__cat-toggle {
    color: var(--account-primary, #276FAB);
    border-color: #93c5fd;
}
.pulmad-checklist__cat-section[data-tool="budget"] .pulmad-checklist__cat-panel {
    border-color: #fde68a;
    border-left: 3px solid #ca8a04;
}
.pulmad-checklist__cat-section[data-tool="budget"] .pulmad-checklist__cat-toggle {
    color: #a16207;
    border-color: #fde68a;
}
.pulmad-checklist__cat-section[data-tool="budget"] .pulmad-checklist__cat-toggle:hover {
    border-color: #ca8a04;
}

/* Edit & Delete buttons */
.pulmad-planning__item-edit,
.pulmad-planning__item-delete {
    background: none;
    border: none;
    color: var(--account-text-light, #9CA3AF);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.15s, color 0.15s, background 0.15s;
}

.pulmad-planning__checklist-item:hover .pulmad-planning__item-edit,
.pulmad-planning__checklist-item:hover .pulmad-planning__item-delete,
tr:hover .pulmad-planning__item-edit,
tr:hover .pulmad-planning__item-delete {
    opacity: 1;
}

.pulmad-planning__item-edit:hover {
    color: var(--account-primary);
    background: #EFF6FF;
}

.pulmad-planning__item-delete:hover {
    color: #dc2626;
    background: #fee2e2;
}

/* Inline edit form */
.pulmad-planning__item-edit-form {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

.pulmad-planning__item-edit-form input[type="text"] {
    flex: 1;
    min-width: 0;
    padding: var(--account-field-compact-padding);
    border: 1px solid var(--account-border);
    border-radius: 4px;
    font-size: var(--account-field-compact-font);
    height: var(--account-field-compact-height);
    box-sizing: border-box;
    font-family: inherit;
}

.pulmad-planning__item-edit-form select {
    padding: var(--account-field-compact-padding);
    border: 1px solid var(--account-border);
    border-radius: 4px;
    font-size: var(--account-field-compact-font);
    height: var(--account-field-compact-height);
    box-sizing: border-box;
    max-width: 130px;
}

.pulmad-planning__item-edit-form .pulmad-planning__item-edit-save,
.pulmad-planning__item-edit-form .pulmad-planning__item-edit-cancel {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 4px;
    font-size: 16px;
    line-height: 1;
    flex-shrink: 0;
}

.pulmad-planning__item-edit-form .pulmad-planning__item-edit-save {
    color: var(--account-success);
}

.pulmad-planning__item-edit-form .pulmad-planning__item-edit-save:hover {
    background: #D1FAE5;
}

.pulmad-planning__item-edit-form .pulmad-planning__item-edit-cancel {
    color: var(--account-text-light);
}

.pulmad-planning__item-edit-form .pulmad-planning__item-edit-cancel:hover {
    color: var(--account-error);
    background: #FEE2E2;
}

/* Add form */
.pulmad-planning__add-form {
    margin-top: 24px;
    padding: 20px;
    background: var(--account-bg-light);
    border-radius: var(--account-radius-sm);
    border: 1px dashed var(--account-border);
}

.pulmad-planning__add-form h4 {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 12px 0;
    color: var(--account-text);
}

.pulmad-planning__add-row {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.pulmad-planning__input {
    padding: var(--account-field-padding);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    font-size: var(--account-field-font);
    height: var(--account-field-height);
    box-sizing: border-box;
    flex: 1;
    min-width: 150px;
    background: var(--account-bg);
}

.pulmad-planning__input--narrow {
    flex: 0 0 120px;
    min-width: 100px;
}

.pulmad-planning__select {
    padding: var(--account-field-padding);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    font-size: var(--account-field-font);
    height: var(--account-field-height);
    box-sizing: border-box;
    background: var(--account-bg);
    min-width: 120px;
}

/* Summary cards */
.pulmad-planning__budget-summary {
    display: flex;
    justify-content: center;
    margin-bottom: 24px;
}

/* Totals bar — sticky to bottom of content area */
.pulmad-planning__guest-totals-bar {
    display: none;
    position: sticky;
    bottom: 0;
    z-index: 100;
    background: var(--account-bg, #fff);
    border-top: 2px solid var(--account-border, #e5e7eb);
    box-shadow: 0 -2px 8px rgba(0,0,0,0.08);
    padding: 10px 24px;
    margin: 24px -32px -32px;
    border-radius: 0 0 var(--account-radius) var(--account-radius);
}
.pulmad-planning__guest-totals-bar.is-visible {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.pulmad-planning__guest-totals-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 50px;
}
.pulmad-planning__guest-totals-item__value {
    font-family: var(--font-primary, inherit);
    font-size: 24px;
    font-weight: 700;
    color: var(--account-text);
    line-height: 1.2;
}
.pulmad-planning__guest-totals-item__label {
    font-size: 11px;
    color: var(--account-text-light, #888);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

@media screen and (max-width: 768px) {
    .pulmad-planning__guest-totals-bar {
        margin: 0 -16px -16px;
        padding: 8px 12px;
    }
}
@media screen and (max-width: 480px) {
    .pulmad-planning__guest-totals-bar {
        margin: 0 -12px -14px;
        padding: 8px 8px;
        gap: 12px;
    }
    .pulmad-planning__guest-totals-item__value {
        font-size: 18px;
    }
    .pulmad-planning__guest-totals-item__label {
        font-size: 10px;
    }
}

/* Budget totals bar — over-budget state */
.pulmad-planning__guest-totals-item--over .pulmad-planning__guest-totals-item__value {
    color: var(--account-error, #dc2626);
}
.pulmad-planning__guest-totals-item--over .pulmad-planning__guest-totals-item__label {
    color: var(--account-error, #dc2626);
}

/* Budget mini progress bar in totals bar */
.pulmad-planning__budget-progress-item {
    min-width: 80px;
}
.pulmad-planning__budget-progress-mini {
    width: 80px;
    height: 6px;
    background: var(--account-border, #e5e7eb);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 4px;
}
.pulmad-planning__budget-progress-mini-fill {
    height: 100%;
    background: var(--account-success, #10B981);
    border-radius: 3px;
    transition: width 0.3s ease;
}
.pulmad-planning__budget-progress-mini-fill.over-budget {
    background: var(--account-error, #dc2626);
}

/* Guest / RSVP summary grid (4-column stat cards) */
.pulmad-planning__guest-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}

.pulmad-planning__summary-card {
    display: flex;
    flex-direction: column;
    padding: 16px;
    background: var(--account-bg-light);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
}

/* Direct label/value children (guest/RSVP stat cards) — number on top, label below */
.pulmad-planning__summary-card > .pulmad-planning__summary-value {
    order: -1;
}

/* Budget summary card — original bordered style */
.pulmad-planning__budget-summary .pulmad-planning__summary-card {
    padding: 20px 32px;
    background: var(--account-bg);
    border: 1px solid var(--account-border);
}

.pulmad-planning__budget-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding: 4px 0;
}

.pulmad-planning__budget-row.over-budget .pulmad-planning__summary-value {
    color: var(--account-error);
}

.pulmad-planning__summary-card.over-budget {
    border-color: var(--account-error);
    background: #FEF2F2;
}

.pulmad-planning__summary-card--success { border-left: 3px solid var(--account-success); }
.pulmad-planning__summary-card--warning { border-left: 3px solid var(--account-warning); }
.pulmad-planning__summary-card--error { border-left: 3px solid var(--account-error); }

.pulmad-planning__summary-label {
    font-size: var(--account-stat-label);
    color: var(--account-text-light);
    line-height: 1.3;
}

.pulmad-planning__summary-value {
    font-size: var(--account-stat-number);
    font-weight: 700;
    color: var(--account-text);
    line-height: 1.2;
}

.pulmad-planning__plus-one {
    font-size: 0.6em;
    font-weight: 500;
    color: var(--account-text-light);
    vertical-align: baseline;
}

/* Budget rows: label/value pairs */
.pulmad-planning__budget-row .pulmad-planning__summary-value {
    font-size: 24px;
    font-weight: 600;
    text-align: right;
}

.pulmad-planning__budget-row .pulmad-planning__summary-label {
    font-size: var(--account-stat-label);
}

.pulmad-planning__summary-card.over-budget .pulmad-planning__summary-value {
    color: var(--account-error);
}

/* Tables */
.pulmad-planning__table-wrap {
    overflow-x: auto;
    margin-bottom: 8px;
    -webkit-overflow-scrolling: touch;
}

.pulmad-planning__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.pulmad-planning__table thead th {
    text-align: left;
    font-size: 12px;
    font-weight: 600;
    color: var(--account-text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 8px 12px;
    border-bottom: 2px solid var(--account-border);
    white-space: nowrap;
}

.pulmad-planning__table tbody td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--account-border);
    vertical-align: middle;
}

.pulmad-planning__table tbody tr:hover {
    background: var(--account-bg-light);
}

/* Always show delete button on guest table */
.pulmad-planning__guest-table .pulmad-planning__guest-delete {
    opacity: 1;
}

/* Guest table column sorting */
.pulmad-guest-sort {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
.pulmad-guest-sort:hover {
    color: var(--link-color, #276FAB);
}
.pulmad-guest-sort__arrow {
    display: inline-block;
    width: 0;
    font-size: 10px;
    opacity: 0.3;
    transition: opacity 0.15s;
}
.pulmad-guest-sort__arrow::after {
    content: '▼';
}
.pulmad-guest-sort:hover .pulmad-guest-sort__arrow {
    opacity: 0.5;
}
.pulmad-guest-sort--asc .pulmad-guest-sort__arrow,
.pulmad-guest-sort--desc .pulmad-guest-sort__arrow {
    opacity: 0.8;
}
.pulmad-guest-sort--asc .pulmad-guest-sort__arrow::after {
    content: '▲';
}
.pulmad-guest-sort--desc .pulmad-guest-sort__arrow::after {
    content: '▼';
}

.pulmad-planning__inline-input {
    border: 1px solid transparent;
    background: transparent;
    padding: 4px 8px;
    font-size: 14px;
    border-radius: 4px;
    width: 80px;
    transition: border-color 0.15s;
}

.pulmad-planning__inline-input.pulmad-planning__budget-name {
    width: 100%;
    min-width: 120px;
}

.pulmad-planning__inline-input:focus {
    border-color: var(--account-primary);
    background: var(--account-bg);
    outline: none;
}

/* Paid toggle */
.pulmad-planning__paid-toggle {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    margin: 0;
    position: relative;
}
.pulmad-planning__paid-toggle input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.pulmad-planning__paid-slider {
    width: 36px;
    height: 20px;
    background: #D1D5DB;
    border-radius: 10px;
    position: relative;
    transition: background 0.2s;
    flex-shrink: 0;
}
.pulmad-planning__paid-slider::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
}
.pulmad-planning__paid-toggle input:checked + .pulmad-planning__paid-slider {
    background: var(--account-success, #10B981);
}
.pulmad-planning__paid-toggle input:checked + .pulmad-planning__paid-slider::after {
    transform: translateX(16px);
}
/* Paid row: strikethrough + faded like checklist done items */
.pulmad-planning__budget-row--paid .pulmad-planning__budget-name {
    text-decoration: line-through;
    color: var(--account-text-light);
}
.pulmad-planning__budget-row--paid td {
    opacity: 0.6;
}
.pulmad-planning__budget-row--paid .pulmad-planning__paid-toggle,
.pulmad-planning__budget-row--paid .pulmad-planning__budget-delete {
    opacity: 1;
}
.pulmad-planning__budget-row--paid .pulmad-planning__inline-input {
    cursor: default;
    pointer-events: none;
}
/* Budget column alignment: right-align numbers, center toggle */
.pulmad-planning__budget-table th:nth-child(3),
.pulmad-planning__budget-table th:nth-child(4) {
    text-align: right;
}
.pulmad-planning__budget-table th:nth-child(5) {
    text-align: center;
}
.pulmad-planning__budget-table td:nth-child(3),
.pulmad-planning__budget-table td:nth-child(4) {
    text-align: right;
    white-space: nowrap;
}
.pulmad-planning__budget-table td:nth-child(5) {
    text-align: center;
}
.pulmad-planning__inline-input.pulmad-planning__budget-estimated,
.pulmad-planning__inline-input.pulmad-planning__budget-actual {
    text-align: right;
}

/* RSVP select */
.pulmad-planning__rsvp-select {
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    appearance: auto;
}

.pulmad-planning__rsvp-select--pending { background: #FEF3C7; color: #92400E; }
.pulmad-planning__rsvp-select--yes { background: #D1FAE5; color: #065F46; }
.pulmad-planning__rsvp-select--no { background: #FEE2E2; color: #991B1B; }
.pulmad-planning__rsvp-select--maybe { background: #E0E7FF; color: #3730A3; }

/* RSVP status badges (read-only tab) */
.pulmad-planning__rsvp-status {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
}
.pulmad-planning__rsvp-status--yes { background: #D1FAE5; color: #065F46; }
.pulmad-planning__rsvp-status--no { background: #FEE2E2; color: #991B1B; }
.pulmad-planning__rsvp-status--maybe { background: #E0E7FF; color: #3730A3; }

/* RSVP badges (guest table read-only) */
.pulmad-planning__rsvp-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
}
.pulmad-planning__rsvp-badge--pending { background: #FEF3C7; color: #92400E; }
.pulmad-planning__rsvp-badge--yes { background: #D1FAE5; color: #065F46; }
.pulmad-planning__rsvp-badge--no { background: #FEE2E2; color: #991B1B; }
.pulmad-planning__rsvp-badge--maybe { background: #E0E7FF; color: #3730A3; }
.pulmad-planning__rsvp-badge--partial { background: #FEF3E2; color: #B45309; }

/* Guest row: click-to-edit */
.pulmad-planning__guest-row {
    cursor: pointer;
}
.pulmad-planning__guest-row:hover {
    background: var(--account-bg-light) !important;
}

/* Guest edit modal form */
.pulmad-guest-modal__form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.pulmad-guest-modal__row {
    display: flex;
    gap: 16px;
}
.pulmad-guest-modal__row .pulmad-guest-modal__field {
    flex: 1;
}
.pulmad-guest-modal__label {
    display: block;
    font-size: var(--account-field-label-font, 12px);
    font-weight: var(--account-field-label-weight, 600);
    color: var(--account-text-light, #6B7280);
    text-transform: var(--account-field-label-transform, uppercase);
    letter-spacing: var(--account-field-label-spacing, 0.5px);
    margin-bottom: 4px;
}
.pulmad-guest-modal__input,
.pulmad-guest-modal__select {
    width: 100%;
    padding: var(--account-field-padding, 8px 12px);
    font-size: var(--account-field-font, 14px);
    height: var(--account-field-height, 40px);
    border: 1px solid var(--account-border, #E5E7EB);
    border-radius: var(--account-radius-sm, 6px);
    background: var(--account-bg, #fff);
    color: var(--account-text, #1F2937);
    box-sizing: border-box;
}
.pulmad-guest-modal__input:focus,
.pulmad-guest-modal__select:focus {
    outline: none;
    border-color: var(--account-primary, #276FAB);
    box-shadow: 0 0 0 2px rgba(39, 111, 171, 0.15);
}
.pulmad-guest-modal__checkbox-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    height: var(--account-field-height, 40px);
    font-size: 14px;
    color: var(--account-text, #1F2937);
    cursor: pointer;
}
.pulmad-guest-modal__checkbox-wrap input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.pulmad-guest-modal__checkbox-wrap .pulmad-toggle {
    width: 36px;
    height: 20px;
    min-width: 36px;
    background: #D1D5DB;
    border-radius: 10px;
    position: relative;
    transition: background 0.2s;
    flex-shrink: 0;
}
.pulmad-guest-modal__checkbox-wrap .pulmad-toggle::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
}
.pulmad-guest-modal__checkbox-wrap input[type="checkbox"]:checked + .pulmad-toggle {
    background: var(--account-success, #10B981);
}
.pulmad-guest-modal__checkbox-wrap input[type="checkbox"]:checked + .pulmad-toggle::after {
    transform: translateX(16px);
}

.pulmad-guest-modal__hint {
    margin: 4px 0 0;
    font-size: 11px;
    color: var(--account-text-light, #6b7280);
    line-height: 1.4;
}

.pulmad-guest-modal__divider {
    text-align: center;
    margin: 8px 0 4px;
    border-top: 1px solid #e5e7eb;
    position: relative;
}

.pulmad-guest-modal__divider span {
    position: relative;
    top: -10px;
    background: #fff;
    padding: 0 10px;
    font-size: 11px;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Couple guest indicator */
.pulmad-guest-couple-sep {
    color: var(--gold, #D4AF37);
    font-weight: 600;
    margin: 0 2px;
}
.pulmad-guest-modal__couple-fields {
    border-left: 3px solid var(--gold, #D4AF37);
    padding-left: 12px;
    margin: 4px 0;
}

/* Compact table variant for sub-tabs */
.pulmad-planning__table--compact th,
.pulmad-planning__table--compact td {
    padding: 6px 10px;
    font-size: 13px;
}

/* Lauaplaan (Seating Plan) sub-tab */
.pulmad-lauaplaan__summary {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.pulmad-lauaplaan__stat {
    font-size: 14px;
    font-weight: 600;
    color: var(--account-text);
}
.pulmad-lauaplaan__stat--warn {
    color: #e53935;
}
.pulmad-lauaplaan__table-group {
    margin-bottom: 20px;
}
.pulmad-lauaplaan__table-group--unseated {
    opacity: 0.7;
}
.pulmad-lauaplaan__table-title {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.pulmad-lauaplaan__table-count {
    font-size: 12px;
    font-weight: 400;
    color: var(--account-text-light, #888);
}
.pulmad-lauaplaan__unseated-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.pulmad-lauaplaan__unseated-list li {
    background: var(--account-bg-alt, #f9fafb);
    border: 1px solid var(--account-border, #e5e7eb);
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.pulmad-lauaplaan__hint,
.pulmad-transport__hint {
    font-size: 12px;
    color: var(--account-text-light, #888);
    margin-top: 16px;
}

/* Transport sub-tab */
.pulmad-transport__summary {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.pulmad-transport__stat {
    font-size: 14px;
    font-weight: 600;
    color: var(--account-text);
}
.pulmad-transport__section-title {
    font-size: 15px;
    font-weight: 600;
    margin: 16px 0 8px;
}

/* Address autocomplete (Maa-amet In-ADS) */
.pulmad-address-autocomplete {
    position: relative;
}

.pulmad-address-autocomplete.is-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    border: 2px solid #d1d5db;
    border-top-color: var(--pulmad-blue, #276FAB);
    border-radius: 50%;
    animation: pulmad-addr-spin 0.6s linear infinite;
}

@keyframes pulmad-addr-spin {
    to { transform: rotate(360deg); }
}

.pulmad-address-autocomplete__list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 10010;
    background: #fff;
    border: 1px solid #d1d5db;
    border-top: none;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    max-height: 220px;
    overflow-y: auto;
}

.pulmad-address-autocomplete__item {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 0.9em;
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.15s;
}

.pulmad-address-autocomplete__item:last-child {
    border-bottom: none;
}

.pulmad-address-autocomplete__item:hover,
.pulmad-address-autocomplete__item.is-active {
    background: #f0f4ff;
    color: var(--pulmad-blue, #276FAB);
}

.pulmad-planning__rsvp-total {
    margin-top: 12px;
    font-weight: 600;
    font-size: 14px;
}

/* RSVP merge section */
.pulmad-planning__merge-section {
    background: #FFFBEB;
    border: 1px solid #F59E0B;
    border-radius: var(--account-radius-sm, 6px);
    padding: 16px;
    margin-top: 16px;
}

.pulmad-planning__merge-section h4 {
    margin: 0 0 4px;
    font-size: 14px;
}

.pulmad-planning__merge-desc {
    font-size: 13px;
    color: var(--account-text-light);
    margin: 0 0 12px;
}

.pulmad-planning__merge-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    border-top: 1px solid #FDE68A;
    flex-wrap: wrap;
}

.pulmad-planning__merge-row:first-of-type {
    border-top: none;
}

.pulmad-planning__merge-info {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 200px;
}

.pulmad-planning__merge-email {
    font-size: 12px;
    color: var(--account-text-light);
}

.pulmad-planning__merge-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.pulmad-planning__merge-target {
    min-width: 180px;
}

.pulmad-planning__merge-row--matched {
    opacity: 0.7;
}

.pulmad-planning__merge-linked {
    font-size: 13px;
    color: #065F46;
}

/* merge-delete-btn now uses .pulmad-inline-del shared class */

.pulmad-planning__merge-unmatched-badge {
    display: inline-block;
    background: #DC2626;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 1px 8px;
    border-radius: 10px;
    margin-left: 6px;
    vertical-align: middle;
}

/* Group badge */
.pulmad-planning__group-badge {
    font-size: 12px;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 10px;
    background: var(--account-bg-light);
    color: var(--account-text-light);
}

/* Guest filters */
/* Guest group filtering uses the same .pulmad-checklist__cat-filter dropdown as checklist/budget/schedule */

/* Empty state */
.pulmad-planning__empty {
    text-align: center;
    color: var(--account-text-light);
    padding: 40px 20px;
    font-size: 14px;
}

/* Small button variant */
.pulmad-account__btn--small {
    padding: 0.5rem 0.875rem;
    font-size: 0.8125rem;
}

/* ===========================
   Planning - Responsive
   =========================== */
@media screen and (max-width: 768px) {
    .pulmad-planning__date-form {
        flex-wrap: wrap;
        gap: 8px;
    }

    .pulmad-planning__tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .pulmad-planning__tab {
        padding: 10px 14px;
        font-size: 13px;
        white-space: nowrap;
    }

    .pulmad-planning__subtabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .pulmad-planning__subtab {
        padding: 8px 12px;
        font-size: 12px;
        white-space: nowrap;
    }

    .pulmad-planning__add-row {
        flex-direction: column;
    }

    .pulmad-planning__input,
    .pulmad-planning__input--narrow,
    .pulmad-planning__select {
        width: 100%;
        min-width: auto;
        flex: none;
    }

    .pulmad-planning__item-edit,
    .pulmad-planning__item-delete {
        opacity: 1;
    }

    .pulmad-planning__item-edit-form {
        flex-wrap: wrap;
    }

    .pulmad-planning__item-edit-form select {
        max-width: none;
        width: 100%;
    }

    .pulmad-planning__checklist-item {
        flex-wrap: wrap;
    }

    /* Hide drag handles and group actions on mobile */
    .pulmad-planning__drag-handle,
    .pulmad-checklist__cat-drag {
        display: none;
    }

    .pulmad-planning__group-actions {
        opacity: 1; /* Always visible on mobile since no hover */
    }
}

/* ===========================
   Planning Help (Abi) Tab
   =========================== */
.pulmad-planning-help__intro {
    margin-bottom: 24px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--account-text);
}

.pulmad-planning-help__toc {
    background: var(--account-bg-light);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    padding: 16px 20px 16px 24px;
    margin-bottom: 28px;
}
.pulmad-planning-help__toc h3 {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 10px;
    color: var(--account-text);
}
.pulmad-planning-help__toc ol {
    margin: 0;
    padding-left: 20px;
    columns: 2;
    column-gap: 24px;
}
.pulmad-planning-help__toc li {
    font-size: 13px;
    line-height: 1.8;
    break-inside: avoid;
}
.pulmad-planning-help__toc a {
    color: var(--account-primary);
    text-decoration: none;
}
.pulmad-planning-help__toc a:hover {
    text-decoration: none;
}
.pulmad-planning-help__back-to-toc {
    display: inline-block;
    margin-top: 10px;
    font-size: 12px;
    color: var(--account-text-light);
    text-decoration: none;
}
.pulmad-planning-help__back-to-toc:hover {
    color: var(--account-primary);
    text-decoration: none;
}
@media (max-width: 600px) {
    .pulmad-planning-help__toc ol {
        columns: 1;
    }
}

.pulmad-planning-help__section {
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--account-border);
}

.pulmad-planning-help__section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.pulmad-planning-help__section h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--account-primary);
    margin: 0 0 12px 0;
}

.pulmad-planning-help__section p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--account-text);
    margin: 0 0 16px 0;
}

.pulmad-planning-help__section ul {
    margin: 0;
    padding: 0 0 0 20px;
}

.pulmad-planning-help__section li {
    font-size: 14px;
    line-height: 1.7;
    color: var(--account-text);
    margin-bottom: 8px;
}

.pulmad-planning-help__steps {
    display: flex;
    gap: 16px;
    margin-top: 16px;
    flex-wrap: wrap;
}

.pulmad-planning-help__step {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--account-bg-light);
    border-radius: var(--account-radius-sm);
    font-size: 14px;
    color: var(--account-text);
    flex: 1;
    min-width: 180px;
}

.pulmad-planning-help__step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--account-primary);
    color: #fff;
    border-radius: 50%;
    font-weight: 700;
    font-size: 13px;
    flex-shrink: 0;
}

.pulmad-planning-help__table {
    width: 100%;
    border-collapse: collapse;
    margin: 12px 0;
}

.pulmad-planning-help__table td {
    padding: 10px 14px;
    border: 1px solid var(--account-border);
    font-size: 14px;
    line-height: 1.6;
    vertical-align: top;
}

.pulmad-planning-help__table td:first-child {
    width: 200px;
    background: var(--account-bg-light);
    white-space: nowrap;
}

@media screen and (max-width: 600px) {
    .pulmad-planning-help__steps {
        flex-direction: column;
    }

    .pulmad-planning-help__table td:first-child {
        white-space: normal;
        width: 120px;
    }
}

/* ===========================
   Schedule Tab
   =========================== */

.pulmad-schedule__title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 4px;
    color: var(--account-text);
}

.pulmad-schedule__desc {
    color: var(--account-text-light);
    font-size: 14px;
    margin: 0 0 16px;
}

/* Setup form */
.pulmad-schedule__setup {
    padding: 20px 24px;
    background: var(--account-primary-light);
    border-radius: var(--account-radius-sm);
    margin-bottom: 24px;
}

.pulmad-schedule__setup-form {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
}

.pulmad-schedule__field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Day + Hour : Minute dropdown row */
.pulmad-schedule__time-selects {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.pulmad-schedule__time-selects--day {
    min-width: 120px;
    flex: 0 0 auto;
}

.pulmad-schedule__time-hm {
    display: flex;
    align-items: center;
    gap: 2px;
}

.pulmad-schedule__time-hm select {
    width: 60px;
}

.pulmad-schedule__time-sep {
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    color: var(--account-text);
}

.pulmad-schedule__field--checkbox {
    justify-content: flex-end;
}

.pulmad-schedule__same-venue-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    line-height: 1.3;
    color: var(--account-text);
    cursor: pointer;
    max-width: 240px;
}

.pulmad-schedule__same-venue-label input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.pulmad-schedule__same-venue-label .pulmad-toggle {
    width: 36px;
    height: 20px;
    min-width: 36px;
    background: #D1D5DB;
    border-radius: 10px;
    position: relative;
    transition: background 0.2s;
    flex-shrink: 0;
}

.pulmad-schedule__same-venue-label .pulmad-toggle::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
}

.pulmad-schedule__same-venue-label input:checked + .pulmad-toggle {
    background: var(--account-success, #10B981);
}

.pulmad-schedule__same-venue-label input:checked + .pulmad-toggle::after {
    transform: translateX(16px);
}

.pulmad-schedule__field label {
    font-size: var(--account-field-label-font);
    font-weight: var(--account-field-label-weight);
    color: var(--account-field-label-color);
    text-transform: var(--account-field-label-transform);
    letter-spacing: var(--account-field-label-spacing);
}

.pulmad-schedule__time-selects {
    display: flex;
    align-items: center;
    gap: 4px;
}
.pulmad-schedule__time-selects select {
    flex: 1;
    min-width: 0;
    height: var(--account-field-height);
}
.pulmad-schedule__time-sep {
    font-weight: 700;
    font-size: 16px;
    color: var(--account-text);
}

.pulmad-schedule__input {
    padding: var(--account-field-padding);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    font-size: var(--account-field-font);
    height: var(--account-field-height);
    box-sizing: border-box;
    background: var(--account-bg);
    color: var(--account-text);
}

.pulmad-schedule__input:focus {
    outline: none;
    border-color: var(--account-primary);
    box-shadow: 0 0 0 2px rgba(39, 111, 171, 0.15);
}

.pulmad-schedule__generate-btn {
    white-space: nowrap;
    align-self: flex-end;
    padding: 8px 16px;
    font-size: 14px;
}

/* RADA: Custom categories & tracks */
.pulmad-schedule__rada {
    margin-bottom: 20px;
}

.pulmad-schedule__rada-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    padding: 6px 14px;
    font-size: 13px;
    color: var(--account-text-light);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.pulmad-schedule__rada-toggle:hover {
    background: var(--account-bg-hover, #f5f5f5);
    border-color: var(--account-primary);
}

.pulmad-schedule__rada-arrow {
    font-size: 10px;
    transition: transform 0.2s;
}

.pulmad-schedule__rada-arrow--open {
    transform: rotate(180deg);
}

.pulmad-schedule__rada-panel {
    margin-top: 12px;
    padding: 16px;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    background: var(--account-bg);
}

.pulmad-schedule__rada-section {
    margin-bottom: 16px;
}

.pulmad-schedule__rada-section:last-child {
    margin-bottom: 0;
}

.pulmad-schedule__rada-section h4 {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 8px;
    color: var(--account-text);
}

.pulmad-schedule__rada-items {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 8px;
}

.pulmad-schedule__rada-item {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
}
.pulmad-gantt__event.is-overlap {
    outline: 2px solid var(--account-error, #e53935);
    outline-offset: -2px;
    opacity: 0.55;
}
.pulmad-schedule__rada-grip {
    cursor: grab;
    opacity: 0.35;
    font-size: 14px;
    line-height: 1;
    flex-shrink: 0;
    user-select: none;
    touch-action: none;
}
.pulmad-schedule__rada-grip:hover { opacity: 0.7; }
.pulmad-schedule__rada-item.is-dragging {
    opacity: 0.4;
}
.pulmad-schedule__rada-item.is-drag-over {
    border-top: 2px solid var(--pulmad-blue, #276FAB);
    margin-top: -2px;
}

.pulmad-schedule__rada-color {
    width: 28px;
    height: 28px;
    padding: 1px;
    border: 1px solid var(--account-border);
    border-radius: 4px;
    cursor: pointer;
    flex-shrink: 0;
}

.pulmad-schedule__rada-input {
    flex: 1;
    min-width: 0;
    padding: 4px 8px;
    font-size: 13px;
    border: 1px solid var(--account-border);
    border-radius: 4px;
    background: #fff;
}

.pulmad-schedule__rada-save,
.pulmad-schedule__rada-del {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--account-border);
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}

.pulmad-schedule__rada-save:hover {
    background: #dcfce7;
    color: #16a34a;
    border-color: #16a34a;
}

.pulmad-schedule__rada-del:hover {
    background: #fee2e2;
    color: #dc2626;
    border-color: #dc2626;
}

.pulmad-schedule__rada-add {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pulmad-schedule__rada-add-btn {
    padding: 4px 14px;
    font-size: 13px;
    border: 1px solid var(--account-primary);
    border-radius: 4px;
    background: var(--account-primary);
    color: #fff;
    cursor: pointer;
    flex-shrink: 0;
    transition: opacity 0.15s;
}

.pulmad-schedule__rada-add-btn:hover {
    opacity: 0.85;
}

.pulmad-schedule__rada-add-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.pulmad-schedule__rada-reset {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--account-border);
}

.pulmad-schedule__rada-reset-btn {
    padding: 4px 14px;
    font-size: 13px;
    border: 1px solid var(--account-border);
    border-radius: 4px;
    background: #fff;
    color: var(--account-text-light);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.pulmad-schedule__rada-reset-btn:hover {
    background: #fee2e2;
    color: #dc2626;
    border-color: #dc2626;
}

.pulmad-schedule__rada-reset-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Vertical Gantt Chart */
.pulmad-gantt {
    position: relative;
    overflow-x: auto;
    overflow-y: auto;
    max-height: 1000px;
    margin-bottom: 24px;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
}

/* Help text above Gantt */
.pulmad-gantt__help {
    font-size: 12px;
    color: var(--account-text-light);
    margin: 0 0 8px;
    line-height: 1.4;
}

/* Gantt wrapper (holds fullscreen btn + gantt + edit modal) */
.pulmad-gantt-wrap {
    position: relative;
}

/* Fullscreen toggle button — positioned in wrapper, outside the grid */
.pulmad-gantt__fullscreen-btn {
    position: absolute;
    top: 4px;
    right: 4px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(0,0,0,0.15);
    border-radius: var(--account-radius-sm);
    background: rgba(255,255,255,0.85);
    color: var(--account-text-light, #64748b);
    cursor: pointer;
    transition: all 0.2s;
    opacity: 0.65;
}
.pulmad-gantt__fullscreen-btn:hover {
    opacity: 1;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.12);
}
.pulmad-gantt__fs-collapse { display: none; }

/* Fullscreen state (on wrapper) */
.pulmad-gantt--fullscreen {
    position: fixed;
    inset: 0;
    z-index: 99999;
    margin: 0;
    border: none;
    border-radius: 0;
    background: var(--account-bg, #fff);
    overflow-y: auto;
    overflow-x: auto;
}
.pulmad-gantt--fullscreen .pulmad-gantt {
    max-height: none;
}
.pulmad-gantt--fullscreen .pulmad-gantt__fullscreen-btn {
    position: fixed;
    top: 12px;
    right: 12px;
    z-index: 100000;
    opacity: 1;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    width: 36px;
    height: 36px;
}
.pulmad-gantt--fullscreen .pulmad-gantt__fs-expand { display: none; }
.pulmad-gantt--fullscreen .pulmad-gantt__fs-collapse { display: block; }
.pulmad-gantt--fullscreen .pulmad-gantt__header {
    position: sticky;
    top: 0;
    z-index: 3;
}

/* Header row */
.pulmad-gantt__header {
    display: grid;
    grid-template-columns: 60px repeat(var(--gantt-cols), 1fr);
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--account-bg);
    border-bottom: 2px solid var(--account-border);
}

.pulmad-gantt__time-col {
    padding: 8px 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    color: var(--account-text-light);
    letter-spacing: 0.5px;
}

.pulmad-gantt__track-col {
    padding: 8px 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    background: var(--trk-clr);
    border-left: 3px solid var(--trk-clr);
    letter-spacing: 0.3px;
    word-break: break-word;
    line-height: 1.3;
    position: relative;
}

.pulmad-gantt__track-del {
    position: absolute;
    top: 2px;
    right: 2px;
    background: none;
    border: none;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.15s;
    padding: 0 3px;
    color: inherit;
}

.pulmad-gantt__track-col:hover .pulmad-gantt__track-del {
    opacity: 0.6;
}

.pulmad-gantt__track-del:hover {
    opacity: 1 !important;
}

/* Grid body */
.pulmad-gantt__body {
    display: grid;
    grid-template-columns: 60px 1fr;
    position: relative;
    min-height: calc(var(--gantt-rows) * var(--px-per-min) * 1px);
}

/* Time labels */
.pulmad-gantt__time-labels {
    position: relative;
    border-right: 1px solid var(--account-border);
}

.pulmad-gantt__time-labels span {
    position: absolute;
    right: 8px;
    font-size: 11px;
    color: var(--account-text-light);
    font-variant-numeric: tabular-nums;
    line-height: 1;
    transform: translateY(-50%);
}

/* Day header in time labels column */
.pulmad-gantt__day-header {
    position: absolute;
    left: 0;
    right: 0;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    background: var(--account-primary);
    padding: 3px 6px;
    line-height: 1.3;
    z-index: 2;
    border-radius: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Track columns container */
.pulmad-gantt__tracks {
    display: grid;
    grid-template-columns: repeat(var(--gantt-cols), 1fr);
    position: relative;
    min-height: 100%;
}

/* Individual track column */
.pulmad-gantt__track {
    position: relative;
    border-left: 1px solid var(--account-border);
    min-height: 100%;
}

/* Event blocks */
.pulmad-gantt__event {
    position: absolute;
    top: var(--ev-top);
    min-height: var(--ev-h);
    left: 0;
    right: 0;
    background: var(--trk-clr, var(--cat-clr));
    border: none;
    border-left: 6px solid var(--cat-clr, #666);
    border-right: 6px solid var(--cat-clr, #666);
    border-radius: 4px;
    padding: 4px 6px;
    cursor: pointer;
    overflow: visible;
    font-size: 11px;
    line-height: 1.3;
    transition: box-shadow 0.15s;
    z-index: 1;
}

.pulmad-gantt__event:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    z-index: 2;
}

.pulmad-gantt__event.is-selected {
    box-shadow: 0 0 0 2px var(--account-primary);
    z-index: 3;
}

.pulmad-gantt__event-time {
    display: block;
    font-weight: 600;
    color: var(--ev-text, var(--account-text-light));
    font-size: 10px;
    font-variant-numeric: tabular-nums;
    opacity: 0.85;
}

.pulmad-gantt__event-title {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--ev-text, var(--account-text));
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: auto;
    -webkit-hyphens: auto;
}

.pulmad-gantt__event-dur {
    font-size: 10px;
    color: var(--ev-text, var(--account-text-light));
    opacity: 0.75;
}

.pulmad-gantt__event-comments {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 10px;
    color: var(--ev-text, var(--account-primary));
    opacity: 0.85;
    margin-left: 4px;
}

/* PL badge — "Pulmalehel" indicator */
.pulmad-gantt__event-pl {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--account-primary, #325289);
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    letter-spacing: -0.3px;
    z-index: 2;
    pointer-events: none;
}

/* Solo events (no overlap with other tracks) — visually compact */
.pulmad-gantt__event--solo {
    left: 0;
    right: 0;
    opacity: 0.85;
}

/* ---- Gantt drag-and-drop v1 ---- */
.pulmad-gantt__resize-handle {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 8px;
    cursor: ns-resize;
    border-radius: 0 0 4px 4px;
}
.pulmad-gantt__resize-handle:hover {
    background: rgba(0, 0, 0, 0.1);
}
.pulmad-gantt__event {
    cursor: grab;
    touch-action: none;
}
.pulmad-gantt--dragging {
    cursor: grabbing;
    user-select: none;
    -webkit-user-select: none;
}
.pulmad-gantt__event.is-dragging {
    opacity: 0.85;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    z-index: 10;
    cursor: grabbing;
    transition: none;
}
.pulmad-gantt__event.is-multi-selected {
    outline: 2px dashed var(--account-primary);
    outline-offset: -2px;
}
.pulmad-gantt__track--drop-target {
    background: rgba(39, 111, 171, 0.06);
}

/* Snap indicator line shown during drag */
.pulmad-gantt__snap-line {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    height: 0;
    border-top: 2px dashed var(--account-primary);
    z-index: 20;
    pointer-events: none;
}
.pulmad-gantt__snap-line::after {
    content: attr(data-time);
    position: absolute;
    right: 4px;
    top: -16px;
    font-size: 11px;
    font-weight: 600;
    color: var(--account-primary);
    background: var(--account-bg-light);
    padding: 0 4px;
    border-radius: 2px;
    line-height: 14px;
}
.pulmad-gantt--dragging .pulmad-gantt__snap-line {
    display: block;
}

/* Gridlines (horizontal lines every 30 min) */
.pulmad-gantt__gridlines {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

.pulmad-gantt__gridline {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--account-border);
    opacity: 0.3;
}

.pulmad-gantt__gridline--day {
    height: 2px;
    background: var(--account-text-light);
    opacity: 0.5;
    border-top: 1px dashed var(--account-text-light);
}

/* Ceremony marker (special highlight) */
.pulmad-gantt__ceremony-line {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--account-primary);
    z-index: 1;
    opacity: 0.6;
}

.pulmad-gantt__ceremony-line::after {
    content: 'Tseremoonia';
    position: absolute;
    right: 4px;
    top: -14px;
    font-size: 10px;
    color: var(--account-primary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Edit modal backdrop */
.pulmad-gantt__modal-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 100000;
    justify-content: center;
    align-items: center;
}
.pulmad-gantt__modal-backdrop.is-active {
    display: flex;
}

/* Edit modal panel */
.pulmad-gantt__edit-panel {
    background: var(--account-bg-light);
    border: 1px solid var(--account-primary);
    border-radius: var(--account-radius-sm);
    padding: 20px 24px;
    width: 90%;
    max-width: 520px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}
.pulmad-gantt__edit-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 12px;
    cursor: grab;
}
.pulmad-gantt__edit-panel.is-dragging .pulmad-gantt__edit-header {
    cursor: grabbing;
}
.pulmad-gantt__edit-panel.is-dragging {
    user-select: none;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    transition: none;
}
.pulmad-gantt__edit-header h3,
.pulmad-gantt__edit-panel h3 {
    font-size: 15px;
    font-weight: 600;
    margin: 0 !important;
    color: var(--account-text);
}
.pulmad-gantt__edit-close {
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: var(--account-text-light);
    padding: 0 4px;
    flex-shrink: 0;
}
.pulmad-gantt__edit-close:hover {
    color: var(--account-text);
}

.pulmad-gantt__edit-form {
    display: grid;
    grid-template-columns: 1fr 1fr 80px;
    gap: 12px;
    align-items: end;
}

/* Duration number input in edit modal — keep narrow */
.pulmad-gantt__edit-form input[type="number"] {
    width: 80px;
}

.pulmad-gantt__edit-desc-field {
    grid-column: 1 / -1;
}

.pulmad-gantt__edit-buttons {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    flex-wrap: wrap;
}

.pulmad-gantt__edit-comments {
    display: none;
    margin-top: 16px;
    border-top: 1px dashed var(--account-border);
    padding-top: 12px;
}
.pulmad-gantt__edit-comments h4 {
    font-size: 13px;
    font-weight: 600;
    margin: 0 0 8px;
    color: var(--account-text-light);
}
.pulmad-gantt__edit-comments-list {
    width: 100%;
}

/* Shared event modal (vendor/shared view) */
.pulmad-gantt__view-title {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 4px;
    padding-right: 28px;
    color: var(--account-text);
}
.pulmad-gantt__view-meta {
    font-size: 13px;
    color: var(--account-text-light);
    margin-bottom: 8px;
}
.pulmad-gantt__view-meta span {
    display: inline;
}
.pulmad-gantt__view-desc {
    font-size: 13px;
    color: var(--account-text);
    margin-bottom: 12px;
    padding: 8px 12px;
    background: var(--account-bg);
    border-radius: var(--account-radius-sm);
    line-height: 1.4;
}
.pulmad-gantt__view-comments {
    margin-top: 12px;
    border-top: 1px dashed var(--account-border);
    padding-top: 12px;
}
.pulmad-gantt__view-comments h4 {
    font-size: 13px;
    font-weight: 600;
    margin: 0 0 8px;
    color: var(--account-text-light);
}
.pulmad-gantt__view-comments-list {
    width: 100%;
}

/* Empty state */
.pulmad-schedule__empty {
    text-align: center;
    padding: 48px 24px;
    color: var(--account-text-light);
}

.pulmad-schedule__empty svg {
    color: var(--account-border);
    margin-bottom: 12px;
}

.pulmad-schedule__empty p {
    font-size: 14px;
    max-width: 400px;
    margin: 0 auto;
}

/* Hidden events */
.pulmad-schedule__hidden {
    margin-bottom: 24px;
}

.pulmad-schedule__hidden-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    background: var(--account-bg-light);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    cursor: pointer;
    font-size: 13px;
    color: var(--account-text-light);
    width: 100%;
    text-align: left;
}

.pulmad-schedule__hidden-toggle svg {
    transition: transform 0.2s;
    margin-left: auto;
}

.pulmad-schedule__hidden-toggle.open svg {
    transform: rotate(180deg);
}

.pulmad-schedule__hidden-list {
    border: 1px solid var(--account-border);
    border-top: 0;
    border-radius: 0 0 var(--account-radius-sm) var(--account-radius-sm);
}

.pulmad-schedule__hidden-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 16px;
    font-size: 13px;
    color: var(--account-text-light);
    border-bottom: 1px solid var(--account-border);
}

.pulmad-schedule__hidden-item:last-child {
    border-bottom: 0;
}

.pulmad-schedule__restore-btn {
    font-size: 12px;
    color: var(--account-primary);
    background: none;
    border: 1px solid var(--account-primary);
    border-radius: 4px;
    padding: 3px 10px;
    cursor: pointer;
    transition: all 0.15s;
}

.pulmad-schedule__restore-btn:hover {
    background: var(--account-primary);
    color: var(--account-bg);
}

/* Add custom event */
.pulmad-schedule__add-event {
    padding: 20px 24px;
    background: var(--account-bg-light);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    margin-bottom: 16px;
}

.pulmad-schedule__add-event h3 {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 12px;
    color: var(--account-text);
}

.pulmad-schedule__add-form {
    display: grid;
    grid-template-columns: 1fr 1fr 80px 1fr;
    gap: 10px;
    align-items: end;
}

/* Second row: Rada, Kirjeldus, Lisa button */
.pulmad-schedule__add-form .pulmad-schedule__field:nth-child(5) {
    grid-column: 1;
}

.pulmad-schedule__add-form .pulmad-schedule__field:nth-child(6) {
    grid-column: 2 / 4;
}

.pulmad-schedule__add-form .pulmad-schedule__add-btn {
    align-self: end;
}

/* Duration number input — keep narrow */
.pulmad-schedule__add-form input[type="number"] {
    width: 80px;
}

/* Toggle slider — "Kuva pulmalehel" */
.pulmad-schedule__toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    margin: 8px 0;
}
.pulmad-schedule__toggle-track {
    position: relative;
    width: 36px;
    height: 20px;
    background: var(--account-border, #d0d5dd);
    border-radius: 10px;
    transition: background 0.2s;
    flex-shrink: 0;
}
.pulmad-schedule__toggle-track input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.pulmad-schedule__toggle-knob {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.pulmad-schedule__toggle-track input:checked + .pulmad-schedule__toggle-knob {
    transform: translateX(16px);
}
.pulmad-schedule__toggle-track:has(input:checked) {
    background: var(--account-success, #10B981);
}
.pulmad-schedule__toggle-track:has(input:checked) .pulmad-schedule__toggle-knob {
    transform: translateX(16px);
}
.pulmad-schedule__toggle-label {
    font-size: 13px;
    color: var(--account-text-secondary, #475467);
}
/* In add-form: span full row */
.pulmad-schedule__add-form .pulmad-schedule__toggle {
    grid-column: 1 / -1;
    margin: 0;
}
/* In edit modal: below form grid */
.pulmad-gantt__edit-panel .pulmad-schedule__toggle {
    margin: 10px 0 4px;
}

/* Footer */
.pulmad-schedule__footer {
    display: flex;
    justify-content: flex-end;
    padding-top: 8px;
}

/* Mobile responsive */
@media screen and (max-width: 768px) {
    .pulmad-schedule__setup-form {
        flex-direction: column;
    }

    .pulmad-schedule__setup-form .pulmad-schedule__field {
        width: 100%;
    }

    .pulmad-schedule__generate-btn {
        width: 100%;
    }

    /* Collapse Gantt to stacked list on mobile */
    .pulmad-gantt { overflow: visible; }
    .pulmad-gantt__header { display: none; }
    .pulmad-gantt__body { display: block; }
    .pulmad-gantt__time-labels { display: none; }
    .pulmad-gantt__tracks {
        display: flex;
        flex-direction: column;
        padding: 8px;
    }
    .pulmad-gantt__track {
        border: 0;
        position: static;
    }
    .pulmad-gantt__event {
        position: static;
        height: auto;
        min-height: 0;
        margin: 4px 0;
        display: flex;
        gap: 8px;
        align-items: center;
        flex-wrap: wrap;
    }
    .pulmad-gantt__event-time {
        display: inline;
        font-size: 12px;
    }
    .pulmad-gantt__event-title {
        display: inline;
        white-space: normal;
    }
    .pulmad-gantt__gridlines { display: none; }
    /* Disable drag-and-drop v1 on mobile */
    .pulmad-gantt__resize-handle { display: none; }
    .pulmad-gantt__event { cursor: pointer; touch-action: auto; }

    .pulmad-gantt__edit-form {
        grid-template-columns: 1fr;
    }

    .pulmad-schedule__time-selects {
        flex-direction: column;
        align-items: stretch;
    }

    .pulmad-schedule__time-selects--day {
        width: 100%;
    }

    .pulmad-schedule__time-hm {
        width: 100%;
    }

    .pulmad-schedule__time-hm select {
        flex: 1;
    }

    .pulmad-schedule__add-form {
        grid-template-columns: 1fr;
    }

    .pulmad-schedule__add-form .pulmad-schedule__field,
    .pulmad-schedule__add-form .pulmad-schedule__field:nth-child(n) {
        grid-column: 1;
    }

    .pulmad-schedule__add-form input[type="number"] {
        width: 100%;
    }

    .pulmad-schedule__share-link,
    .pulmad-schedule__share-invite {
        flex-direction: column;
    }

    .pulmad-schedule__share-link input,
    .pulmad-schedule__share-invite input {
        width: 100%;
    }
}

/* ===========================
   Schedule Sharing
   =========================== */
.pulmad-schedule__share {
    background: linear-gradient(135deg, var(--account-primary-light), #f0f7ff);
    border-radius: var(--account-radius);
    padding: 24px;
    margin-bottom: 24px;
    border: 2px solid var(--account-primary);
    position: relative;
}

.pulmad-schedule__share-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.pulmad-schedule__share-header h3 {
    margin: 0 !important;
    line-height: 1;
}

.pulmad-schedule__share-header svg {
    color: var(--account-primary);
    flex-shrink: 0;
}

.pulmad-schedule__share h3 {
    margin: 0;
    font-size: 17px;
    color: var(--account-primary-dark);
}

.pulmad-schedule__share-desc {
    color: var(--account-text-light);
    font-size: 14px;
    margin: 0 0 16px;
}

.pulmad-schedule__share-link {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.pulmad-schedule__share-link input {
    flex: 1;
    min-width: 0;
}

.pulmad-schedule__share-invite {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
}

.pulmad-schedule__share-invite input {
    flex: 1;
    min-width: 0;
}

.pulmad-schedule__shared-vendors {
    margin-bottom: 16px;
}

.pulmad-schedule__shared-vendors h4 {
    font-size: 14px;
    margin: 0 0 8px;
    color: var(--account-text-light);
}

.pulmad-schedule__shared-vendors ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pulmad-schedule__shared-vendors li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 1px solid var(--account-border);
    font-size: 14px;
}

.pulmad-schedule__shared-vendors li:last-child {
    border-bottom: none;
}

.pulmad-schedule__remove-vendor-btn {
    background: none;
    border: none;
    color: var(--account-error);
    cursor: pointer;
    padding: 4px;
    line-height: 1;
    opacity: 0.7;
    transition: opacity 0.15s;
}

.pulmad-schedule__remove-vendor-btn:hover {
    opacity: 1;
}

/* ===========================
   Schedule Comments
   =========================== */
.pulmad-schedule__comments {
    border-top: 1px dashed var(--account-border);
    margin-top: 8px;
    padding-top: 8px;
}

.pulmad-schedule__comment {
    padding: 8px 0;
    font-size: 13px;
}

.pulmad-schedule__comment + .pulmad-schedule__comment {
    border-top: 1px solid var(--account-border);
}

.pulmad-schedule__comment-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 2px;
}

.pulmad-schedule__comment-meta strong {
    font-size: 13px;
    color: var(--account-primary);
}

.pulmad-schedule__comment-meta span {
    font-size: 12px;
    color: var(--account-text-light);
}

.pulmad-schedule__comment p {
    margin: 2px 0 4px;
    line-height: 1.4;
}

.pulmad-schedule__comment-actions {
    display: flex;
    gap: 12px;
    align-items: center;
}

.pulmad-schedule__comment-reply-btn {
    background: none;
    border: none;
    color: var(--account-primary);
    cursor: pointer;
    font-size: 12px;
    padding: 0;
    opacity: 0.7;
    transition: opacity 0.15s;
}

.pulmad-schedule__comment-reply-btn:hover {
    opacity: 1;
}

.pulmad-schedule__comment-delete {
    background: none;
    border: none;
    color: var(--account-error);
    cursor: pointer;
    font-size: 12px;
    padding: 0;
    opacity: 0.7;
    transition: opacity 0.15s;
}

.pulmad-schedule__comment-delete:hover {
    opacity: 1;
}

/* Vendor comment groups (couple edit panel) */
.pulmad-schedule__vendor-group {
    width: 100%;
    margin-bottom: 16px;
}

.pulmad-schedule__vendor-group:last-child {
    margin-bottom: 0;
}

.pulmad-schedule__vendor-group-header {
    font-size: 14px;
    font-weight: 700;
    color: var(--account-primary);
    padding: 8px 0 6px;
    border-bottom: 2px solid var(--account-primary);
    margin-bottom: 8px;
}

/* Threaded replies */
.pulmad-schedule__comment-replies {
    margin-left: 20px;
    padding-left: 12px;
    border-left: 2px solid var(--account-border);
}

/* Inline reply form */
.pulmad-schedule__reply-form {
    margin: 8px 0 8px 20px;
    padding-left: 12px;
    border-left: 2px solid var(--account-primary);
}

.pulmad-schedule__reply-form textarea {
    width: 100%;
    margin-bottom: 6px;
}

.pulmad-schedule__reply-form-actions {
    display: flex;
    gap: 8px;
}

/* Inline edit form */
.pulmad-schedule__comment-edit-form {
    margin: 4px 0;
}

.pulmad-schedule__comment-edit-form textarea {
    width: 100%;
    margin-bottom: 6px;
}

.pulmad-schedule__comment-edit-actions {
    display: flex;
    gap: 8px;
}

.pulmad-schedule__comment-edit-btn {
    background: none;
    border: none;
    color: var(--account-primary);
    font-size: 12px;
    cursor: pointer;
    padding: 0;
    opacity: 0.7;
    transition: opacity 0.15s;
}

.pulmad-schedule__comment-edit-btn:hover {
    opacity: 1;
}

.pulmad-schedule__comment-form {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    align-items: flex-start;
}

.pulmad-schedule__comment-text {
    flex: 1;
    min-width: 0;
    resize: vertical;
    font-size: 13px;
}

.pulmad-schedule__general-comments {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 2px solid var(--account-border);
}

.pulmad-schedule__general-comments h3 {
    margin: 0 0 12px;
    font-size: 15px;
}

.pulmad-schedule__general-comments .pulmad-schedule__comment--reply {
    margin-left: 20px;
    padding-left: 12px;
    border-left: 2px solid var(--account-border);
}

/* ===========================
   Shared Schedule Overrides
   =========================== */
.pulmad-schedule-shared-wrap {
    max-width: var(--container-max, 1360px);
    margin: 0 auto;
    padding: 0 var(--space-5, 40px);
}

.pulmad-schedule-shared-wrap .pulmad-schedule--shared {
    max-width: 800px;
    margin: 0 auto;
}

.pulmad-schedule--shared .pulmad-schedule__event-actions,
.pulmad-schedule--shared .pulmad-schedule__add-event,
.pulmad-schedule--shared .pulmad-schedule__footer,
.pulmad-schedule--shared .pulmad-schedule__setup,
.pulmad-schedule--shared .pulmad-schedule__share,
.pulmad-schedule--shared .pulmad-schedule__hidden,
.pulmad-schedule--shared .pulmad-gantt__modal-backdrop {
    display: none;
}

.pulmad-schedule__shared-details {
    font-size: 14px;
    color: var(--account-text-light);
    margin: -4px 0 8px;
}

/* Shared Gantt read-only overrides */
.pulmad-gantt--shared .pulmad-gantt__event {
    cursor: pointer;
    touch-action: auto;
}

.pulmad-gantt--shared .pulmad-gantt__resize-handle {
    display: none;
}

/* Comment panel (shared view) */
.pulmad-gantt__comment-panel {
    display: none;
    padding: 16px 20px;
    background: var(--account-bg-light, #f8fafc);
    border: 1px solid var(--account-primary);
    border-radius: var(--account-radius-sm);
    margin-top: 16px;
    margin-bottom: 16px;
}

.pulmad-gantt__comment-panel.is-active {
    display: block;
}

.pulmad-gantt__comment-panel-title {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 4px;
}

.pulmad-gantt__comment-panel-meta {
    font-size: 13px;
    color: var(--account-text-light);
    margin-bottom: 12px;
}

.pulmad-gantt__comment-panel-comments {
    margin-bottom: 12px;
}

.pulmad-schedule__no-comments {
    font-size: 13px;
    color: var(--account-text-light);
    margin: 0;
}

@media (max-width: 768px) {
    .pulmad-schedule-shared-wrap {
        padding: 0 var(--space-3, 16px);
    }
}

/* ===========================
   Shared Planning Tab
   =========================== */
.pulmad-schedule__share-panel .pulmad-schedule__share {
    margin-bottom: 24px;
}

.pulmad-schedule__shared-vendors-full h3 {
    font-size: 15px;
    margin: 0 0 12px;
}

.pulmad-schedule__shared-vendors-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pulmad-schedule__shared-vendor-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--account-bg);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
}

.pulmad-schedule__shared-vendor-avatar img {
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

.pulmad-schedule__shared-vendor-info {
    flex: 1;
    min-width: 0;
}

.pulmad-schedule__shared-vendor-info strong {
    display: block;
    font-size: 14px;
}

.pulmad-schedule__shared-vendor-info span {
    display: block;
    font-size: 13px;
    color: var(--account-text-light);
}

.pulmad-schedule__shared-vendor-role {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    background: var(--account-bg);
    color: var(--account-text-light);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.pulmad-schedule__shared-vendor-comments {
    color: var(--account-primary) !important;
    font-size: 12px !important;
}

.pulmad-schedule__revoke-section {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--account-border);
}

.pulmad-schedule__revoke-desc {
    font-size: 13px;
    color: var(--account-text-light);
    margin: 8px 0 0;
}

/* ===========================
   Vendor Dashboard: Shared Schedules
   =========================== */
.pulmad-account__shared-schedules {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--account-border);
}

.pulmad-account__shared-schedules h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 4px;
    font-size: 16px;
}

.pulmad-account__shared-schedules h3 svg {
    color: var(--account-primary);
}

.pulmad-account__shared-schedules-desc {
    color: var(--account-text-light);
    font-size: 14px;
    margin: 0 0 12px;
}

.pulmad-account__shared-schedules-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pulmad-account__shared-schedule-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--account-bg-light);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    text-decoration: none;
    color: var(--account-text);
    transition: border-color 0.15s, box-shadow 0.15s;
}

.pulmad-account__shared-schedule-item:hover {
    border-color: var(--account-primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.pulmad-account__shared-schedule-avatar img {
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

.pulmad-account__shared-schedule-info {
    flex: 1;
    min-width: 0;
}

.pulmad-account__shared-schedule-info strong {
    display: block;
    font-size: 14px;
}

.pulmad-account__shared-schedule-info span {
    font-size: 13px;
    color: var(--account-text-light);
}

.pulmad-account__shared-schedule-details {
    display: block;
    font-size: 12px !important;
}

.pulmad-account__shared-schedule-item > svg {
    color: var(--account-text-light);
    flex-shrink: 0;
}

/* ===========================
   Shared Schedules Tab (Vendor)
   =========================== */
.pulmad-shared-schedules {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pulmad-shared-schedule {
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-sm);
    overflow: hidden;
}

.pulmad-shared-schedule__header {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 16px;
    background: var(--account-bg-light, #f8fafc);
    border: none;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: var(--account-text);
    transition: background 0.15s;
}

.pulmad-shared-schedule__header:hover {
    background: var(--account-bg, #fff);
}

.pulmad-shared-schedule__avatar img {
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

.pulmad-shared-schedule__info {
    flex: 1;
    min-width: 0;
}

.pulmad-shared-schedule__info strong {
    display: block;
    font-size: 14px;
}

.pulmad-shared-schedule__details {
    display: block;
    font-size: 12px;
    color: var(--account-text-light);
}

.pulmad-shared-schedule__count {
    font-size: 12px;
    color: var(--account-text-light);
}

.pulmad-shared-schedule__chevron {
    color: var(--account-text-light);
    flex-shrink: 0;
    transition: transform 0.25s;
}

.pulmad-shared-schedule.is-open .pulmad-shared-schedule__chevron {
    transform: rotate(180deg);
}

.pulmad-shared-schedule__body {
    display: none;
    padding: 16px;
    border-top: 1px solid var(--account-border);
}

.pulmad-shared-schedule.is-open .pulmad-shared-schedule__body {
    display: block;
}

/* Override: don't hide edit panel / setup etc inside the accordion body - it's already shared */
.pulmad-shared-schedule__body.pulmad-schedule--shared {
    max-width: none;
}

/* ===========================
   Notification Badges
   =========================== */
.pulmad-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: var(--account-error, #dc2626);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    vertical-align: middle;
    margin-left: 6px;
}

.pulmad-badge--pulse {
    animation: pulmad-badge-pulse 2s ease-in-out infinite;
}

@keyframes pulmad-badge-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.5); }
    50% { box-shadow: 0 0 0 6px rgba(220, 38, 38, 0); }
}

/* Badge inside accordion header */
.pulmad-badge--accordion {
    font-size: 10px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
}

/* Red dot on Gantt events with new comments */
.pulmad-gantt__event--has-new {
    position: relative;
}

.pulmad-gantt__event--has-new::after {
    content: '';
    position: absolute;
    top: 4px;
    right: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--account-error, #dc2626);
    animation: pulmad-badge-pulse 2s ease-in-out infinite;
    z-index: 2;
}

.pulmad-gantt__event--has-new .pulmad-gantt__event-comments {
    color: var(--account-error, #dc2626);
    opacity: 1;
    animation: pulmad-comment-blink 1.5s ease-in-out infinite;
}

/* Blink comment icon until event is clicked */
.pulmad-gantt__event-comments:not(.is-seen) {
    background: var(--account-error, #dc2626);
    color: #fff !important;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    justify-content: center;
    padding: 0;
    font-weight: 700;
    animation: pulmad-comment-blink 1.5s ease-in-out infinite;
}

.pulmad-gantt__event-comments:not(.is-seen) svg {
    display: none;
}

@keyframes pulmad-comment-blink {
    0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.6); }
    50% { box-shadow: 0 0 0 4px rgba(220, 38, 38, 0); }
}

/* New comments notification banner */
.pulmad-schedule__new-comments-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: var(--account-radius-sm, 8px);
    margin-bottom: 16px;
    font-size: 14px;
    color: #991b1b;
}

.pulmad-schedule__new-comments-banner svg {
    flex-shrink: 0;
    color: var(--account-error, #dc2626);
}

/* ===========================
   Mobile Responsiveness
   =========================== */

/* Mobile banner - "best viewed on desktop" */
.pulmad-account__mobile-banner {
    display: none;
    background: #E3F2FD;
    border-left: 3px solid var(--account-primary);
    padding: 10px 16px;
    font-size: 13px;
    margin-bottom: 16px;
    border-radius: var(--account-radius-sm);
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.pulmad-account__mobile-banner-close {
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: var(--account-text-light);
    padding: 0 4px;
    line-height: 1;
    flex-shrink: 0;
}

.pulmad-account__mobile-banner-close:hover {
    color: var(--account-text);
}

@media screen and (max-width: 768px) {
    .pulmad-account__mobile-banner {
        display: flex;
    }

    /* Prevent horizontal overflow on mobile */
    .pulmad-account {
        overflow-x: hidden;
    }

    /* Table wrap should not force horizontal scroll in card mode */
    .pulmad-planning__table-wrap {
        overflow-x: visible;
    }

    /* Date card and form tighter on mobile */
    .pulmad-planning__date-card {
        padding: 16px 12px;
    }

    /* Add row stacked */
    .pulmad-planning__add-row .pulmad-planning__select,
    .pulmad-planning__add-row .pulmad-planning__input {
        min-width: auto;
    }

    /* Guest filter buttons wrap */
    .pulmad-planning__guest-filters {
        flex-wrap: wrap;
        gap: 6px;
    }

    .pulmad-planning__filter-btn {
        padding: 6px 10px;
        font-size: 12px;
    }

    /* Guest table → mobile card layout */
    .pulmad-planning__guest-table thead {
        display: none;
    }

    .pulmad-planning__guest-table tbody tr {
        display: block;
        padding: 12px 0;
        border-bottom: 1px solid var(--account-border);
    }

    .pulmad-planning__guest-table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 4px 0;
        border-bottom: none;
    }

    .pulmad-planning__guest-table td::before {
        content: attr(data-label);
        font-weight: 600;
        font-size: 12px;
        color: var(--account-text-light);
        margin-right: 8px;
        white-space: nowrap;
        min-width: 80px;
    }

    .pulmad-planning__guest-table td:last-child::before {
        display: none;
    }

    /* Guest modal: stack fields on mobile */
    .pulmad-guest-modal__row {
        flex-direction: column;
        gap: 12px;
    }

    /* Remove all min-width constraints on mobile */
    .pulmad-planning__summary-card {
        min-width: auto;
        padding: 16px;
    }

    .pulmad-planning__merge-info {
        min-width: auto;
    }

    .pulmad-planning__merge-target {
        min-width: auto;
    }

    .pulmad-planning__form-row {
        min-width: auto;
    }

    .pulmad-planning-help__step {
        min-width: auto;
    }

    /* Enforce minimum readable font sizes */
    .pulmad-gantt__event-title {
        font-size: 12px;
    }

    .pulmad-gantt__event-time {
        font-size: 12px;
    }

    .pulmad-gantt__event-dur {
        font-size: 11px;
    }

    .pulmad-gantt__event-comments {
        font-size: 11px;
    }

    .pulmad-planning-help__step-num {
        font-size: 12px;
    }

    .pulmad-planning__subtab {
        font-size: 13px;
    }

    .pulmad-account__action-label {
        font-size: 11px;
    }

    .pulmad-account__pkg-col-badge {
        font-size: 10px;
    }
}

@media screen and (max-width: 600px) {
    /* Hide less-important columns in guest card layout */
    .pulmad-planning__guest-table td[data-label="+1"],
    .pulmad-planning__guest-table td[data-label="Laud"] {
        display: none;
    }

    /* Help table mobile layout */
    .pulmad-planning-help__table {
        display: block;
    }

    .pulmad-planning-help__table tbody {
        display: block;
    }

    .pulmad-planning-help__table tr {
        display: flex;
        flex-direction: column;
        padding: 8px 0;
        border-bottom: 1px solid var(--account-border);
    }

    .pulmad-planning-help__table td {
        display: block;
        padding: 4px 0;
        border: none;
        width: auto;
    }

    .pulmad-planning-help__table td:first-child {
        font-weight: 600;
        white-space: normal;
        width: auto;
        min-width: auto;
        background: transparent;
    }

    /* Merge section mobile */
    .pulmad-planning__merge-row {
        flex-direction: column;
        align-items: stretch;
    }

    .pulmad-planning__merge-actions {
        flex-wrap: wrap;
        gap: 6px;
    }

    .pulmad-planning__merge-target {
        width: 100%;
    }
}

/* ==========================================================================
   AI Hint Banner (checklist & schedule)
   ========================================================================== */

.pulmad-ai-hint {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 16px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, #eff6ff 0%, #f0fdf4 100%);
    border: 1px solid #bfdbfe;
    border-radius: var(--account-radius-sm, 8px);
    font-size: 13px;
    line-height: 1.5;
    position: relative;
}

.pulmad-ai-hint__header {
    display: flex;
    align-items: center;
    gap: 6px;
}

.pulmad-ai-hint__icon {
    font-size: 16px;
    flex-shrink: 0;
}

.pulmad-ai-hint__text {
    font-weight: 600;
    color: var(--account-text, #1a1a2e);
}

.pulmad-ai-hint__close {
    margin-left: auto;
    background: none;
    border: none;
    font-size: 18px;
    color: var(--account-text-light, #94a3b8);
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
}

.pulmad-ai-hint__close:hover {
    color: var(--account-text, #1a1a2e);
}

.pulmad-ai-hint__prompts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pulmad-ai-hint__prompt {
    display: inline-block;
    font-size: 12px;
    color: var(--account-primary, #276FAB) !important;
    background: rgba(39, 111, 171, 0.08);
    border: 1px solid rgba(39, 111, 171, 0.2);
    border-radius: 14px;
    padding: 4px 12px;
    text-decoration: none !important;
    cursor: pointer;
    transition: all 0.15s;
}

.pulmad-ai-hint__prompt:hover {
    background: rgba(39, 111, 171, 0.15);
    border-color: var(--account-primary, #276FAB);
}

.pulmad-ai-hint--locked {
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border-color: rgba(212, 175, 55, 0.3);
}

.pulmad-ai-hint--locked .pulmad-ai-hint__prompts {
    align-items: center;
}

.pulmad-ai-hint__desc {
    font-size: 12px;
    color: var(--account-text-light, #94a3b8);
}

@media (max-width: 768px) {
    .pulmad-ai-hint__prompts {
        flex-direction: column;
    }
    .pulmad-ai-hint__prompt {
        text-align: center;
    }
}

/* ── Help icon (contextual ? button) ── */
.pulmad-help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #dc2626;
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    padding: 0;
    margin-left: 6px;
    vertical-align: middle;
    transition: background 0.15s, transform 0.15s;
    flex-shrink: 0;
}
.pulmad-help-icon:hover {
    background: #b91c1c;
    transform: scale(1.1);
}
.pulmad-help-icon span {
    pointer-events: none;
}

/* Planning tab bar — push help icon to right end */
.pulmad-planning__tabs .pulmad-help-icon {
    margin-left: auto;
    align-self: center;
}

/* ── Help modal ── */
.pulmad-help-modal {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 420px;
    max-width: calc(100vw - 32px);
    max-height: 60vh;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,.18), 0 2px 8px rgba(0,0,0,.08);
    z-index: 10000;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.pulmad-help-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #dc2626;
    color: #fff;
    cursor: move;
    user-select: none;
    flex-shrink: 0;
}
.pulmad-help-modal__title {
    font-weight: 600;
    font-size: 14px;
}
.pulmad-help-modal__close {
    background: none;
    border: none;
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    padding: 0 2px;
    line-height: 1;
    opacity: .8;
    transition: opacity .15s;
}
.pulmad-help-modal__close:hover {
    opacity: 1;
}
.pulmad-help-modal__body {
    padding: 16px;
    overflow-y: auto;
    flex: 1;
    font-size: 14px;
    line-height: 1.6;
}
.pulmad-help-modal__body .pulmad-planning-help__section {
    margin: 0;
    padding: 0;
}
.pulmad-help-modal__body .pulmad-planning-help__section > h3 {
    margin-top: 0;
}
.pulmad-help-modal__body .pulmad-planning-help__back-to-toc {
    display: none;
}
.pulmad-help-modal__body .pulmad-planning-help__table {
    font-size: 13px;
}
.pulmad-help-modal--loading .pulmad-help-modal__body::after {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    margin: 24px auto;
    border: 3px solid #e5e7eb;
    border-top-color: #dc2626;
    border-radius: 50%;
    animation: pulmad-spin .6s linear infinite;
}
@keyframes pulmad-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 600px) {
    .pulmad-help-modal {
        bottom: 0;
        right: 0;
        width: 100vw;
        max-height: 70vh;
        border-radius: 12px 12px 0 0;
    }
}
