:root {
    --app-bg: #f4f7fb;
    --sidebar-bg: #ffffff;
    --card-bg: #ffffff;
    --surface-subtle: #fbfcfe;
    --surface-soft: #f7faff;
    --surface-muted: #f4f7fb;

    --border-color: #e8edf5;
    --border-strong: #d9e1ec;
    --border-soft: rgba(232,237,245,.8);

    --text-primary: #1f2a44;
    --text-secondary: #6b7280;
    --text-muted: #90a0b7;
    --text-white: #ffffff;

    --primary: #246bdb;
    --primary-dark: #1f5dc0;
    --primary-soft-bg: #eef4ff;
    --primary-soft-border: #d8e6ff;

    --success-bg: #e9f8f1;
    --success-text: #1f8c62;
    --success-border: #c7ecd9;

    --warning-bg: #fff6e8;
    --warning-text: #b16c08;
    --warning-border: #ffe1b1;

    --danger-bg: #fff0f0;
    --danger-text: #cb3f3f;
    --danger-border: #ffd0d0;

    --neutral-bg: #eff4fb;
    --neutral-text: #4b5d79;
    --neutral-border: #d7e2f0;

    --info-bg: #eef8ff;
    --info-text: #2f82bb;
    --info-border: #d7eeff;

    --metric-blue: linear-gradient(135deg, #3f8cff 0%, #246bdb 100%);
    --metric-orange: linear-gradient(135deg, #f5a65b 0%, #ef7e45 100%);
    --metric-red: linear-gradient(135deg, #f56b6b 0%, #e54545 100%);
    --metric-green: linear-gradient(135deg, #9fd28e 0%, #69b96f 100%);

    --shadow-soft: 0 18px 40px rgba(15, 23, 42, 0.08);
    --shadow-card: 0 10px 28px rgba(15, 23, 42, 0.06);
    --shadow-btn-primary: 0 1px 0 rgba(255,255,255,.12) inset, 0 8px 16px rgba(36,107,219,.14);
    --shadow-btn-primary-hover: 0 1px 0 rgba(255,255,255,.14) inset, 0 10px 18px rgba(36,107,219,.16);
    --shadow-btn-light: 0 1px 0 rgba(255,255,255,.9) inset, 0 2px 6px rgba(15,23,42,.03);

    --radius-xs: 9px;
    --radius-sm: 10px;
    --radius-md: 12px;
    --radius-lg: 14px;
    --radius-xl: 16px;
    --radius-2xl: 20px;
    --radius-3xl: 24px;
    --radius-pill: 999px;

    --space-1: .2rem;
    --space-2: .4rem;
    --space-3: .45rem;
    --space-4: .5rem;
    --space-5: .55rem;
    --space-6: .66rem;
    --space-7: .74rem;
    --space-8: .82rem;
    --space-9: .95rem;
    --space-10: 1rem;
    --space-11: 1.15rem;
    --space-12: 1.25rem;
    --space-14: 1.4rem;
    --space-16: 1.5rem;
    --space-20: 2rem;

    --font-size-xs: .78rem;
    --font-size-sm: .82rem;
    --font-size-md: .855rem;
    --font-size-lg: .92rem;
    --font-size-xl: 1.05rem;
    --font-size-title-sm: 1.15rem;
    --font-size-title-md: 1.55rem;
    --font-size-title-lg: 1.9rem;
    --font-size-title-xl: 2rem;

    --line-height-tight: 1.15;
    --line-height-normal: 1.2;

    --font-weight-medium: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;

    --control-height: 40px;
    --control-height-sm: 35px;
    --control-height-lg: 44px;
    --icon-btn-size: 40px;

    --btn-radius: var(--radius-sm);
    --btn-radius-sm: var(--radius-xs);
    --btn-radius-lg: 11px;

    --btn-font-size: var(--font-size-md);
    --btn-font-size-sm: var(--font-size-xs);
    --btn-font-size-lg: .9rem;

    --btn-padding-y: var(--space-5);
    --btn-padding-x: var(--space-8);
    --btn-padding-y-sm: .44rem;
    --btn-padding-x-sm: var(--space-6);
    --btn-padding-y-lg: .66rem;
    --btn-padding-x-lg: .98rem;

    --action-btn-height: 35px;
    --action-btn-padding-y: .44rem;
    --action-btn-padding-x: var(--space-6);
    --action-btn-font-size: var(--font-size-xs);
}

html, body { min-height: 100%; }

body {
    font-family: "Inter", Arial, sans-serif;
    background: var(--app-bg);
    color: var(--text-primary);
}

a { text-decoration: none; }

.min-w-0 { min-width: 0; }

.u-flex { display: flex; }
.u-inline-flex { display: inline-flex; }
.u-flex-col { flex-direction: column; }
.u-flex-wrap { flex-wrap: wrap; }
.u-items-center { align-items: center; }
.u-items-start { align-items: flex-start; }
.u-justify-between { justify-content: space-between; }
.u-justify-center { justify-content: center; }
.u-gap-2 { gap: var(--space-2); }
.u-gap-3 { gap: var(--space-3); }
.u-gap-4 { gap: var(--space-4); }
.u-gap-5 { gap: var(--space-5); }
.u-gap-6 { gap: var(--space-6); }
.u-gap-8 { gap: var(--space-8); }

.u-w-full { width: 100%; }
.u-h-full { height: 100%; }

.u-mt-auto { margin-top: auto; }
.u-mb-0 { margin-bottom: 0; }

.u-text-muted { color: var(--text-secondary); }
.u-text-primary { color: var(--text-primary); }
.u-text-center { text-align: center; }

.u-radius-sm { border-radius: var(--radius-sm); }
.u-radius-md { border-radius: var(--radius-md); }
.u-radius-lg { border-radius: var(--radius-lg); }
.u-radius-xl { border-radius: var(--radius-xl); }
.u-radius-2xl { border-radius: var(--radius-2xl); }
.u-shadow-card { box-shadow: var(--shadow-card); }

.u-surface-card {
    background: var(--card-bg);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-3xl);
    box-shadow: var(--shadow-card);
}

.u-action-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.u-control {
    min-height: var(--control-height);
    height: var(--control-height);
    font-size: var(--font-size-md);
    line-height: var(--line-height-tight);
}

.u-btn-action {
    min-height: var(--action-btn-height);
    padding: var(--action-btn-padding-y) var(--action-btn-padding-x);
    font-size: var(--action-btn-font-size);
    border-radius: var(--btn-radius-sm);
}

.app-shell { display: flex; min-height: 100vh; }

.app-sidebar { width: 280px; }

.app-sidebar .offcanvas-body {
    background: var(--sidebar-bg);
    border-right: 1px solid var(--border-color);
    box-shadow: var(--shadow-soft);
}

.sidebar-brand {
    min-height: 92px;
    align-items: center;
    padding: 0 1.5rem;
    border-bottom: 1px solid var(--border-color);
}

.sidebar-brand-link {
    display: flex;
    align-items: center;
    gap: var(--space-9);
    color: var(--text-primary);
    font-weight: var(--font-weight-extrabold);
    font-size: var(--font-size-xl);
}

.sidebar-brand-icon,
.auth-brand-icon {
    width: 46px;
    height: 46px;
    border-radius: var(--radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #2b7bff, #1d55c4);
    color: var(--text-white);
    box-shadow: 0 10px 20px rgba(36,107,219,.25);
}

.sidebar-nav,
.sidebar-footer { padding: 1.15rem 1rem; }

.sidebar-link {
    display: flex;
    align-items: center;
    gap: var(--space-9);
    color: var(--text-secondary);
    font-weight: var(--font-weight-medium);
    border-radius: var(--radius-xl);
    padding: .9rem 1rem;
    margin-bottom: var(--space-3);
    transition: .2s ease;
}

.sidebar-link:hover {
    color: var(--text-primary);
    background: #f6f9fe;
}

.sidebar-link.active {
    background: rgba(36,107,219,.1);
    color: var(--primary);
}

.sidebar-link-icon {
    width: 42px;
    height: 42px;
    border-radius: var(--radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--surface-muted);
}

.app-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.app-topbar {
    min-height: 96px;
    padding: 1.5rem 2rem .75rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-10);
}

.app-page-title {
    font-size: var(--font-size-title-lg);
    font-weight: var(--font-weight-extrabold);
    letter-spacing: -.03em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-page-subtitle,
.section-subtitle,
.project-meta,
.task-meta,
.notes,
.dashboard-welcome-text,
.project-hero-notes,
.project-hero-meta,
.task-deadline-note,
.field-help,
.auth-subtitle,
.auth-footer-text,
.profile-info-label,
.task-form-eyebrow,
.kanban-toolbar-tip,
.kanban-task-meta,
.mini-stat-label,
.summary-line,
.project-stat-row,
.metric-meta,
.project-status-key,
.distribution-label,
.executive-label,
.status-visual-percent,
.project-overview-label {
    color: var(--text-secondary);
}

.topbar-user {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    color: var(--text-primary);
    font-weight: var(--font-weight-medium);
}

.topbar-user-avatar,
.profile-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg,#1f2a44,#4b6584);
    color: var(--text-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--font-weight-bold);
    box-shadow: var(--shadow-card);
}

.profile-avatar {
    width: 84px;
    height: 84px;
    border-radius: 28px;
    font-size: var(--font-size-title-xl);
    font-weight: var(--font-weight-extrabold);
}

.app-main { padding: 1rem 2rem 2rem; }

.auth-body {
    background:
        radial-gradient(circle at top left, rgba(36,107,219,.12), transparent 25%),
        radial-gradient(circle at bottom right, rgba(159,210,142,.12), transparent 20%),
        var(--app-bg);
}

.auth-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.auth-brand { padding: 2rem 2rem 0; }

.auth-brand-logo {
    display: inline-flex;
    align-items: center;
    gap: .9rem;
    color: var(--text-primary);
    font-weight: var(--font-weight-extrabold);
}

.auth-main {
    width: 100%;
    max-width: 560px;
    margin: auto;
    padding: 1.5rem;
}

.card,
.auth-card,
.stat-card,
.project-item,
.task-item,
.kanban-column,
.mini-stat-card,
.project-dashboard-card,
.metric-card,
.distribution-mini-card {
    background: var(--card-bg);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-3xl);
    box-shadow: var(--shadow-card);
}

.card,
.auth-card,
.stat-card { padding: 1.4rem; }

.auth-card {
    position: relative;
    overflow: hidden;
    padding: 2rem;
}

.auth-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg,#2b7bff,#7aa8ff);
}

.auth-eyebrow,
.dashboard-welcome-badge,
.project-hero-badge {
    display: inline-flex;
    align-items: center;
    background: var(--primary-soft-bg);
    color: var(--primary);
    border: 1px solid var(--primary-soft-border);
    padding: .45rem .7rem;
    border-radius: var(--radius-pill);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
}

.auth-title,
.dashboard-welcome-title,
.project-hero-title,
.task-form-title {
    font-size: var(--font-size-title-xl);
    font-weight: var(--font-weight-extrabold);
    letter-spacing: -.03em;
}

.form-label {
    font-weight: var(--font-weight-medium);
    color: var(--text-primary);
    margin-bottom: var(--space-3);
}

.form-control,
.form-select,
textarea.form-control {
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-strong);
    min-height: var(--control-height);
    height: var(--control-height);
    padding: var(--btn-padding-y) .95rem;
    box-shadow: none;
    font-size: var(--font-size-md);
    line-height: var(--line-height-tight);
}

textarea.form-control {
    min-height: 120px;
    height: auto;
    padding-top: .8rem;
    padding-bottom: .8rem;
}

.form-control:focus,
.form-select:focus,
textarea.form-control:focus {
    border-color: rgba(36,107,219,.35);
    box-shadow: 0 0 0 .2rem rgba(36,107,219,.12);
}

.form-control[readonly] {
    background: #f8fafc;
    color: #64748b;
}

.input-icon-wrap { position: relative; }

.input-icon {
    position: absolute;
    left: .95rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    z-index: 2;
}

.input-with-icon {
    padding-left: 2.8rem !important;
}

.input-icon-wrap .form-control,
.input-icon-wrap .form-select {
    min-height: var(--control-height);
    height: var(--control-height);
}

.btn {
    --bs-btn-font-weight: var(--font-weight-medium);
    --bs-btn-border-radius: var(--btn-radius);
    --bs-btn-padding-y: var(--btn-padding-y);
    --bs-btn-padding-x: var(--btn-padding-x);
    --bs-btn-font-size: var(--btn-font-size);
    --bs-btn-line-height: var(--line-height-tight);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    min-height: var(--control-height);
    letter-spacing: -.01em;
    border-width: 1px;
    box-shadow: none;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .12s ease;
}

.btn i {
    font-size: .92em;
    line-height: 1;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:focus,
.btn:focus-visible {
    box-shadow: 0 0 0 .18rem rgba(36,107,219,.12);
}

.btn:active,
.btn.active {
    transform: translateY(0);
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.08);
}

.btn-sm {
    --bs-btn-padding-y: var(--btn-padding-y-sm);
    --bs-btn-padding-x: var(--btn-padding-x-sm);
    --bs-btn-font-size: var(--btn-font-size-sm);
    min-height: var(--control-height-sm);
    border-radius: var(--btn-radius-sm);
    gap: .32rem;
}

.btn-lg {
    --bs-btn-padding-y: var(--btn-padding-y-lg);
    --bs-btn-padding-x: var(--btn-padding-x-lg);
    --bs-btn-font-size: var(--btn-font-size-lg);
    min-height: var(--control-height-lg);
    border-radius: var(--btn-radius-lg);
}

.btn-primary {
    background: linear-gradient(180deg, #2e77ea 0%, #246bdb 100%);
    border-color: rgba(24, 87, 190, 0.25);
    color: var(--text-white);
    box-shadow: var(--shadow-btn-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(180deg, #3a80ef 0%, #2a71e0 100%);
    border-color: rgba(24, 87, 190, 0.28);
    color: var(--text-white);
    box-shadow: var(--shadow-btn-primary-hover);
}

.btn-primary:active,
.btn-primary.active {
    background: linear-gradient(180deg, #225fca 0%, #1f57ba 100%);
    border-color: rgba(24, 87, 190, 0.32);
    color: var(--text-white);
    box-shadow: 0 1px 0 rgba(255,255,255,.08) inset;
}

.btn-light {
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    border-color: #dde5f0;
    color: #24324a;
    box-shadow: var(--shadow-btn-light);
}

.btn-light:hover,
.btn-light:focus {
    background: linear-gradient(180deg, #ffffff 0%, #f6f9fd 100%);
    border-color: #d3ddea;
    color: var(--text-primary);
    box-shadow: 0 1px 0 rgba(255,255,255,.95) inset, 0 4px 10px rgba(15,23,42,.05);
}

.btn-light:active,
.btn-light.active {
    background: #f3f7fc;
    border-color: #ccd7e6;
    color: var(--text-primary);
}

.btn-soft,
.btn-custom {
    background: linear-gradient(180deg, #f5f9ff 0%, #edf4ff 100%);
    color: var(--primary);
    border: 1px solid #d7e5ff;
    box-shadow: 0 1px 0 rgba(255,255,255,.7) inset;
}

.btn-soft:hover,
.btn-soft:focus,
.btn-custom:hover,
.btn-custom:focus {
    background: linear-gradient(180deg, #eef5ff 0%, #e5efff 100%);
    color: var(--primary-dark);
    border-color: #cddfff;
}

.btn-danger,
.btn-outline-danger,
.btn-danger-soft {
    border-radius: var(--btn-radius);
}

.btn-danger {
    background: linear-gradient(180deg, #ef5d5d 0%, #dd4747 100%);
    border-color: rgba(177, 39, 39, 0.22);
    color: var(--text-white);
    box-shadow: 0 1px 0 rgba(255,255,255,.1) inset, 0 8px 16px rgba(221,71,71,.14);
}

.btn-danger:hover,
.btn-danger:focus {
    background: linear-gradient(180deg, #f26969 0%, #e25050 100%);
    border-color: rgba(177, 39, 39, 0.26);
    color: var(--text-white);
}

.btn-outline-danger,
.btn-danger-soft {
    background: linear-gradient(180deg, #fff9f9 0%, #fff3f3 100%);
    color: #d63c3c;
    border: 1px solid #ffd4d4;
    box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-danger-soft:hover,
.btn-danger-soft:focus {
    background: linear-gradient(180deg, #fff2f2 0%, #ffeaea 100%);
    color: #c53333;
    border-color: #ffc8c8;
}

.btn-outline-secondary {
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    color: var(--text-secondary);
    border-color: var(--border-strong);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    background: #f8fbff;
    color: var(--text-primary);
    border-color: #cfd9e6;
}

.app-icon-btn {
    min-width: var(--icon-btn-size);
    width: var(--icon-btn-size);
    height: var(--icon-btn-size);
    padding: 0;
    border-radius: var(--btn-radius);
}

.page-header-actions,
.task-form-footer,
.project-hero-actions,
.project-actions-panel,
.my-projects-actions,
.my-projects-card-actions,
.kanban-toolbar,
.kanban-task-actions,
.task-actions,
.card-actions,
.modal-actions,
.app-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.page-header-actions .btn,
.task-form-footer .btn,
.project-hero-actions .btn,
.project-actions-panel .btn,
.my-projects-actions .btn,
.my-projects-card-actions .btn,
.kanban-toolbar .btn,
.kanban-task-actions .btn,
.task-actions .btn,
.card-actions .btn,
.modal-actions .btn,
.app-actions .btn,
.view-switch-group .btn {
    min-height: var(--action-btn-height);
    padding: var(--action-btn-padding-y) var(--action-btn-padding-x);
    font-size: var(--action-btn-font-size);
    border-radius: var(--btn-radius-sm);
}

.project-actions-panel .btn,
.project-hero-actions .btn,
.my-projects-card-actions .btn,
.kanban-task-actions .btn,
.task-actions .btn,
.card-actions .btn {
    min-width: 0;
}

.badge {
    font-weight: var(--font-weight-medium);
    border-radius: var(--radius-pill);
    padding: .5rem .75rem;
}

.app-status-badge {
    font-size: var(--font-size-xs);
    border: 1px solid transparent;
    box-shadow: 0 1px 0 rgba(255,255,255,.7) inset;
}

.badge-soft-success { background: var(--success-bg); color: var(--success-text); border-color: var(--success-border); }
.badge-soft-warning { background: var(--warning-bg); color: var(--warning-text); border-color: var(--warning-border); }
.badge-soft-danger { background: var(--danger-bg); color: var(--danger-text); border-color: var(--danger-border); }
.badge-soft-neutral { background: var(--neutral-bg); color: var(--neutral-text); border-color: var(--neutral-border); }
.badge-soft-primary { background: var(--primary-soft-bg); color: #245fc4; border-color: #d9e6ff; }
.badge-soft-info { background: var(--info-bg); color: var(--info-text); border-color: var(--info-border); }

.field-error {
    color: #c33232;
    font-size: .85rem;
    margin-top: .25rem;
    display: block;
}

.divider-soft {
    border-top: 1px solid var(--border-color);
    margin: 1rem 0;
}

.page-section + .page-section { margin-top: 1.5rem; }

.section-title {
    font-size: var(--font-size-title-sm);
    font-weight: var(--font-weight-bold);
    margin: 0;
}

.dashboard-summary-card .summary-line,
.project-progress-line,
.project-status-row,
.executive-line {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 0;
    border-bottom: 1px solid var(--border-color);
}

.dashboard-summary-card .summary-line:last-child,
.project-progress-line:last-child,
.project-status-row:last-child,
.executive-line:last-child {
    border-bottom: 0;
}

.stats-grid,
.project-dashboard-grid,
.project-distribution-grid,
.project-status-visual-grid {
    display: grid;
    gap: var(--space-10);
}

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

.project-dashboard-grid {
    grid-template-columns: repeat(4,minmax(0,1fr));
}

.project-distribution-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
}

.project-status-visual-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .85rem;
}

.stat-card {
    color: var(--text-white);
    border: 0;
    min-height: 122px;
}

.stat-card.stat-blue { background: var(--metric-blue); }
.stat-card.stat-orange { background: var(--metric-orange); }
.stat-card.stat-red { background: var(--metric-red); }
.stat-card.stat-green { background: var(--metric-green); }

.stat-card-label,
.metric-label {
    font-size: .92rem;
    font-weight: var(--font-weight-bold);
}

.stat-card-value,
.metric-value,
.project-progress-percentage,
.distribution-value,
.status-visual-value {
    font-size: 2.25rem;
    font-weight: var(--font-weight-extrabold);
    line-height: 1;
}

.stat-card-value { margin-top: .75rem; }
.metric-value { margin: .8rem 0 .45rem; }
.project-progress-percentage {
    font-size: 1.9rem;
    color: var(--primary);
}
.distribution-value {
    font-size: 1.6rem;
    margin-top: .5rem;
}
.status-visual-value {
    font-size: 1.8rem;
    color: #16243e;
}

.metric-card,
.project-progress-card,
.project-status-card,
.distribution-mini-card,
.executive-summary-card {
    padding: 1.25rem;
}

.project-dashboard-card {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(249,251,255,.97) 100%);
    border: 1px solid rgba(221,230,241,.95);
    box-shadow:
        0 18px 40px rgba(15,23,42,.06),
        0 3px 10px rgba(15,23,42,.03);
}

.project-dashboard-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,.95), rgba(255,255,255,.25));
    pointer-events: none;
}

.metric-card {
    min-height: 154px;
    background:
        radial-gradient(circle at top right, rgba(36,107,219,.10), transparent 38%),
        linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

.metric-card-total { border-color: rgba(219,229,243,.95); }
.metric-card-completed { border-color: rgba(207,235,220,.95); }
.metric-card-overdue { border-color: rgba(247,216,216,.95); }
.metric-card-progress { border-color: rgba(212,225,248,.95); }

.metric-label {
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .76rem;
    color: #73839a;
}

.metric-value {
    color: #16243e;
    text-shadow: 0 1px 0 rgba(255,255,255,.55);
}

.metric-meta {
    font-size: .84rem;
    line-height: 1.45;
}

.project-progress-card {
    background:
        radial-gradient(circle at top right, rgba(36,107,219,.12), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.project-progress-percentage {
    min-width: 92px;
    text-align: right;
    letter-spacing: -.03em;
}

.project-progress-bar-wrap {
    height: 16px;
    padding: 2px;
    background: linear-gradient(180deg, #eef3fb 0%, #e5edf8 100%);
    border-radius: 999px;
    overflow: hidden;
    box-shadow:
        inset 0 1px 2px rgba(15,23,42,.08),
        0 1px 0 rgba(255,255,255,.85);
}

.project-progress-bar-wrap .progress-bar {
    border-radius: 999px;
    background: linear-gradient(90deg, #2f7cff 0%, #246bdb 55%, #1f5dc0 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.28),
        0 6px 14px rgba(36,107,219,.22);
    font-size: .72rem;
    font-weight: 700;
}

.project-progress-summary {
    margin-top: .25rem;
}

.project-progress-line strong,
.project-status-row strong,
.executive-line strong {
    color: #17253f;
    font-weight: 700;
}

.project-status-card {
    background:
        radial-gradient(circle at top right, rgba(47,124,255,.10), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #fafcff 100%);
}

.project-status-stack,
.executive-timeline,
.project-overview-summary {
    background: rgba(247,250,255,.78);
    border: 1px solid rgba(226,234,245,.9);
    border-radius: 18px;
    padding: .35rem 1rem;
}

.project-status-row {
    align-items: center;
}

.project-status-key,
.executive-label,
.project-overview-label {
    font-size: .84rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #79879d;
}

.project-health-text,
.executive-summary-text {
    color: #32425d;
    line-height: 1.6;
    font-size: .92rem;
}

.project-status-bars {
    display: grid;
    gap: 1rem;
}

.status-bar-item {
    display: grid;
    gap: .45rem;
}

.status-bar-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.status-bar-title {
    font-weight: 600;
    color: #22314d;
}

.status-bar-numbers {
    font-weight: 700;
    color: #22314d;
    white-space: nowrap;
}

.status-bar-numbers small {
    font-weight: 600;
    color: var(--text-secondary);
}

.status-bar-track {
    width: 100%;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(180deg, #edf2f8 0%, #e6edf7 100%);
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(15,23,42,.06);
}

.status-bar-track.premium-track {
    height: 12px;
    background:
        linear-gradient(180deg, #eef3fa 0%, #e3ebf6 100%);
    box-shadow:
        inset 0 1px 2px rgba(15,23,42,.08),
        0 1px 0 rgba(255,255,255,.75);
}

.status-bar-fill {
    height: 100%;
    border-radius: 999px;
    min-width: 0;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
}

.status-bar-neutral { background: linear-gradient(90deg, #7c8da6 0%, #64748b 100%); }
.status-bar-primary { background: linear-gradient(90deg, #4b8cff 0%, #246bdb 100%); }
.status-bar-warning { background: linear-gradient(90deg, #f7c15f 0%, #e8a63a 100%); }
.status-bar-info { background: linear-gradient(90deg, #5ec5f5 0%, #2f82bb 100%); }
.status-bar-success { background: linear-gradient(90deg, #66cf98 0%, #1f8c62 100%); }

.status-visual-card {
    border: 1px solid rgba(224,232,243,.95);
    border-radius: 20px;
    padding: 1rem;
    background:
        radial-gradient(circle at top right, rgba(36,107,219,.07), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    box-shadow:
        0 12px 24px rgba(15,23,42,.04),
        0 2px 8px rgba(15,23,42,.02);
    display: flex;
    flex-direction: column;
    gap: .85rem;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.status-visual-card:hover {
    transform: translateY(-2px);
    border-color: rgba(207,219,236,.95);
    box-shadow:
        0 18px 30px rgba(15,23,42,.06),
        0 4px 12px rgba(15,23,42,.03);
}

.status-visual-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.status-visual-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    font-size: 1rem;
    box-shadow: 0 1px 0 rgba(255,255,255,.7) inset;
}

.status-visual-main {
    display: grid;
    gap: .28rem;
}

.status-visual-percent {
    font-size: .82rem;
    font-weight: 600;
}

.distribution-mini-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(225,233,244,.95);
    min-height: 116px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.distribution-mini-card:hover {
    transform: translateY(-2px);
    border-color: rgba(202,216,236,.95);
    box-shadow:
        0 16px 28px rgba(15, 23, 42, 0.06),
        0 3px 10px rgba(15, 23, 42, 0.03);
}

.distribution-label {
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .75rem;
    color: #7a889f;
}

.distribution-value {
    color: #182742;
    text-shadow: 0 1px 0 rgba(255,255,255,.55);
}

.project-hero-card .app-status-badge,
.project-status-card .app-status-badge,
.project-dashboard-card .app-status-badge {
    padding: .52rem .82rem;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .01em;
}

.mini-stat-card {
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    border: 1px solid rgba(226,234,245,.95);
    box-shadow:
        0 12px 24px rgba(15, 23, 42, 0.04),
        0 2px 8px rgba(15, 23, 42, 0.02);
}

.metric-card:hover,
.project-progress-card:hover,
.project-status-card:hover,
.mini-stat-card:hover,
.executive-summary-card:hover {
    box-shadow:
        0 22px 42px rgba(15, 23, 42, 0.07),
        0 4px 12px rgba(15, 23, 42, 0.03);
}

/* ===== TABS DO PROJETO: REFINO NATIVO ===== */
.project-tabs-card {
    padding: 1.25rem;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(250,252,255,.97) 100%);
    border: 1px solid rgba(221,230,241,.92);
    box-shadow:
        0 18px 40px rgba(15, 23, 42, 0.05),
        0 3px 10px rgba(15, 23, 42, 0.02);
}

.project-tabs-nav {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .35rem;
    background:
        linear-gradient(180deg, #f8fbff 0%, #f2f7fe 100%);
    border: 1px solid rgba(221,230,241,.95);
    border-radius: 18px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 4px 12px rgba(15,23,42,.03);
}

.project-tabs-nav .nav-item {
    flex: 0 0 auto;
}

.project-tabs-nav .nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    min-height: 40px;
    padding: .72rem 1rem;
    border: 0;
    border-radius: 14px;
    color: var(--text-secondary);
    font-weight: 700;
    font-size: .84rem;
    letter-spacing: -.01em;
    background: transparent;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .14s ease;
}

.project-tabs-nav .nav-link i {
    font-size: .95em;
    line-height: 1;
}

.project-tabs-nav .nav-link:hover {
    color: var(--text-primary);
    background: rgba(255,255,255,.72);
    transform: translateY(-1px);
}

.project-tabs-nav .nav-link:focus,
.project-tabs-nav .nav-link:focus-visible {
    box-shadow: 0 0 0 .18rem rgba(36,107,219,.12);
}

.project-tabs-nav .nav-link.active {
    color: var(--primary);
    background:
        linear-gradient(180deg, #ffffff 0%, #fdfefe 100%);
    box-shadow:
        0 10px 20px rgba(15,23,42,.06),
        0 1px 0 rgba(255,255,255,.95) inset;
}

.project-tabs-nav .nav-link.active::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 6px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--primary), var(--primary-dark));
}

.project-tabs-card .tab-content {
    position: relative;
}

.project-tabs-card .tab-pane {
    animation: projectTabFade .18s ease;
}

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

.project-overview-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem 1rem;
}

.project-overview-item {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: .9rem 1rem;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(226,234,245,.9);
}

.empty-state-block {
    text-align: center;
    padding: 3rem 1rem;
    border: 1px dashed #d7e2f0;
    border-radius: var(--radius-2xl);
    background: var(--surface-subtle);
}

.empty-state-icon {
    width: 68px;
    height: 68px;
    border-radius: var(--radius-2xl);
    background: var(--primary-soft-bg);
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.7rem;
    margin-bottom: 1rem;
}

.kanban-column-empty {
    min-height: 0;
    padding: 16px 12px;
    border-style: dashed;
    box-shadow: none;
}

.kanban-column-empty .empty-state-icon {
    width: 38px;
    height: 38px;
    margin-bottom: 10px;
    border-radius: 12px;
    font-size: 18px;
}

.kanban-column-empty h3 {
    font-size: 14px;
    margin-bottom: 4px;
}

.kanban-column-empty p {
    max-width: 220px;
    margin: 0 auto;
    font-size: 12px;
}

.attachments-card .card-header {
    gap: 1rem;
}

.attachment-help {
    margin-bottom: 14px;
    font-size: var(--app-font-size-sm, 13px);
}

.attachment-upload-form {
    display: inline-flex;
}

.attachment-list {
    display: grid;
    gap: 10px;
}

.attachment-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(226, 234, 245, .95);
    border-radius: 12px;
    background: #fff;
}

.attachment-main {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.attachment-icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 12px;
    background: var(--primary-soft-bg);
    color: var(--primary);
    font-size: 18px;
}

.attachment-name {
    display: block;
    max-width: 520px;
    overflow: hidden;
    color: var(--app-heading-color, #1f2937);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-decoration: none;
}

.attachment-name:hover {
    color: var(--primary);
}

.attachment-meta {
    color: var(--app-muted-color, #6b7280);
    font-size: var(--app-font-size-sm, 13px);
}

.attachment-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.task-attachments-panel {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(226, 234, 245, .95);
}

.task-attachment-links {
    margin-top: 12px;
}

.activity-timeline {
    position: relative;
    display: grid;
    gap: 14px;
}

.activity-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
}

.activity-marker {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--primary-soft-bg);
    color: var(--primary);
    font-size: 18px;
}

.activity-marker-success {
    background: rgba(16, 185, 129, .12);
    color: #059669;
}

.activity-marker-warning {
    background: rgba(245, 158, 11, .14);
    color: #b45309;
}

.activity-marker-danger {
    background: rgba(239, 68, 68, .12);
    color: #dc2626;
}

.activity-marker-info {
    background: rgba(14, 165, 233, .12);
    color: #0284c7;
}

.activity-content {
    padding: 14px 16px;
    border: 1px solid rgba(226, 234, 245, .95);
    border-radius: 14px;
    background: #fff;
}

.activity-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.activity-label {
    display: inline-block;
    margin-bottom: 3px;
    color: var(--app-muted-color, #6b7280);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.activity-content h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
}

.activity-content time {
    flex: 0 0 auto;
    color: var(--app-muted-color, #6b7280);
    font-size: 12px;
    font-weight: 600;
}

.activity-content p {
    margin: 8px 0 0;
    color: var(--app-muted-color, #6b7280);
    font-size: var(--app-font-size-sm, 13px);
}

.project-list,
.task-list {
    display: grid;
    gap: var(--space-10);
}

.project-item,
.task-item,
.mini-stat-card,
.kanban-column,
.task-form-modal {
    padding: var(--space-12);
}

.project-title,
.task-title,
.kanban-task-title,
.kanban-column-title {
    font-weight: var(--font-weight-bold);
}

.project-stat-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: .9rem;
}

.task-notes-preview {
    margin-top: .85rem;
    padding: .85rem 1rem;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-xl);
    background: var(--surface-soft);
    color: var(--text-secondary);
    font-size: .9rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.task-notes-label {
    display: inline-flex;
    align-items: center;
    margin-bottom: .35rem;
    color: var(--text-primary);
    font-weight: var(--font-weight-semibold);
}

.profile-summary-card,
.dashboard-welcome-card,
.project-hero-card {
    background: radial-gradient(circle at top right, rgba(36,107,219,.08), transparent 30%), linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
}

.profile-info-pill {
    background: #f8fbff;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xl);
    padding: .9rem 1rem;
    text-align: left;
}

.project-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem 1.2rem;
    font-size: .95rem;
    margin-bottom: 1rem;
}

.mini-stat-value {
    font-size: 1.65rem;
    font-weight: var(--font-weight-extrabold);
    line-height: 1;
}

.task-overdue,
.kanban-task-overdue {
    border-left: 4px solid #ef5a5a;
    background: #fff7f7;
}

.task-today,
.kanban-task-today {
    border-left: 4px solid #f2a93b;
    background: #fffaf1;
}

.pagination-modern {
    gap: var(--space-2);
    flex-wrap: wrap;
}

.pagination-modern .page-link {
    border: 1px solid var(--border-color);
    border-radius: 12px !important;
    color: var(--text-primary);
    padding: .62rem .86rem;
    min-width: 40px;
    min-height: 40px;
}

.pagination-modern .page-item.active .page-link {
    background: linear-gradient(135deg,var(--primary),var(--primary-dark));
    border-color: transparent;
    color: var(--text-white);
}

.kanban-toolbar {
    justify-content: space-between;
    gap: 1rem;
}

.kanban-scroll {
    overflow-x: auto;
    padding-bottom: .6rem;
}

.kanban-board { display: grid; gap: var(--space-10); }

.kanban-board.kanban-5 {
    grid-template-columns: repeat(5,minmax(260px,1fr));
    min-width: max-content;
}

.kanban-column {
    min-height: 420px;
    background: var(--surface-subtle);
}

.kanban-column-count {
    width: 30px;
    height: 30px;
    border-radius: var(--radius-pill);
    background: var(--primary-soft-bg);
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--font-weight-bold);
    font-size: .85rem;
}

.kanban-dropzone {
    min-height: 320px;
    display: grid;
    gap: .85rem;
    align-content: start;
}

.kanban-task {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xl);
    padding: 1rem;
    background: var(--card-bg);
    cursor: grab;
    box-shadow: 0 8px 20px rgba(15,23,42,.04);
}

.kanban-task.dragging { opacity: .65; }

.kanban-task-notes {
    margin-bottom: .85rem;
    padding: .65rem .75rem;
    border-radius: var(--radius-lg);
    background: var(--surface-subtle);
    color: var(--text-secondary);
    font-size: .82rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.kanban-dropzone.drag-over {
    outline: 2px dashed rgba(36,107,219,.45);
    outline-offset: 4px;
    border-radius: var(--radius-xl);
}

.task-form-shell {
    position: relative;
    max-width: 820px;
    margin: 0 auto;
}

.task-form-backdrop {
    position: absolute;
    inset: 24px 0 auto 0;
    height: calc(100% - 24px);
    background: rgba(31,42,68,.08);
    border-radius: 28px;
}

.task-form-modal {
    position: relative;
    z-index: 2;
    max-width: 780px;
    margin: 0 auto;
}

.task-form-close-btn {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-md);
    background: #f5f8fd;
    color: var(--text-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color);
}

.view-switch-group {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-1);
    background: var(--surface-soft);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
}

.view-switch-group .btn {
    border-radius: var(--btn-radius-sm) !important;
}

.hidden { display: none !important; }

@media (max-width: 1199.98px) {
    .stats-grid,
    .project-dashboard-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .project-distribution-grid,
    .project-status-visual-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .project-actions-panel {
        min-width: 100%;
        display: grid;
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 991.98px) {
    .app-sidebar .offcanvas-body { width: 280px; }
    .app-topbar { padding: 1.25rem 1.25rem .75rem; }
    .app-main { padding: 1rem 1.25rem 1.5rem; }
    .auth-brand { padding: 1.5rem 1.25rem 0; }
    .project-hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .project-overview-summary { grid-template-columns: 1fr; }

    .project-tabs-nav {
        display: flex;
        width: 100%;
    }

    .project-tabs-nav .nav-item {
        flex: 1 1 0;
    }

    .project-tabs-nav .nav-link {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .stats-grid,
    .project-dashboard-grid,
    .project-distribution-grid,
    .project-status-visual-grid,
    .project-actions-panel,
    .project-hero-actions,
    .task-form-footer {
        grid-template-columns: 1fr;
    }

    .app-page-title,
    .auth-title,
    .dashboard-welcome-title,
    .project-hero-title,
    .task-form-title {
        font-size: var(--font-size-title-md);
    }

    .project-hero-meta {
        flex-direction: column;
        gap: var(--space-3);
    }

    .card,
    .auth-card,
    .stat-card {
        padding: 1.1rem;
    }

    .page-header-actions,
    .task-form-footer,
    .project-hero-actions,
    .project-actions-panel,
    .my-projects-actions,
    .my-projects-card-actions,
    .kanban-toolbar,
    .kanban-task-actions,
    .task-actions,
    .card-actions,
    .modal-actions,
    .app-actions {
        gap: var(--space-2);
    }

    .page-header-actions .btn,
    .task-form-footer .btn,
    .project-hero-actions .btn,
    .project-actions-panel .btn,
    .view-switch-group .btn,
    .my-projects-actions .btn,
    .my-projects-card-actions .btn,
    .kanban-toolbar .btn,
    .kanban-task-actions .btn,
    .task-actions .btn,
    .card-actions .btn,
    .modal-actions .btn,
    .app-actions .btn {
        width: 100%;
    }

    .metric-value,
    .project-progress-percentage,
    .status-visual-value {
        font-size: 1.7rem;
    }

    .distribution-value {
        font-size: 1.35rem;
    }

    .project-status-stack,
    .executive-timeline,
    .project-overview-summary {
        padding-left: .85rem;
        padding-right: .85rem;
    }

    .status-bar-head,
    .status-visual-top {
        flex-direction: column;
        align-items: flex-start;
        gap: .35rem;
    }

    .project-tabs-card {
        padding: 1rem;
    }

    .project-tabs-nav {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        border-radius: 16px;
        gap: .45rem;
    }

    .project-tabs-nav .nav-item,
    .project-tabs-nav .nav-link {
        width: 100%;
    }

    .project-tabs-nav .nav-link {
        justify-content: flex-start;
        min-height: 42px;
        padding: .78rem .9rem;
    }

    .project-tabs-nav .nav-link.active::after {
        left: 12px;
        right: 12px;
        bottom: 5px;
    }
}

/* Herozi refinement layer: keep this as a thin compatibility layer over the real template assets. */
html[data-main-layout] {
    --app-bg: var(--bs-body-bg);
    --sidebar-bg: var(--bs-app-sidebar-bg);
    --card-bg: var(--bs-secondary-bg);
    --surface-subtle: var(--bs-light);
    --surface-soft: rgba(var(--bs-primary-rgb), .06);
    --surface-muted: var(--bs-tertiary-bg);
    --border-color: var(--bs-border-color);
    --border-strong: var(--bs-border-color);
    --border-soft: var(--bs-border-color);
    --text-primary: var(--bs-body-color);
    --text-secondary: var(--bs-secondary-color);
    --text-muted: var(--bs-tertiary-color);
    --primary: var(--bs-primary);
    --primary-dark: var(--bs-primary);
    --primary-soft-bg: rgba(var(--bs-primary-rgb), .1);
    --primary-soft-border: rgba(var(--bs-primary-rgb), .18);
    --shadow-card: 0 .125rem .25rem rgba(var(--bs-dark-rgb), .075);
    --shadow-soft: 0 .5rem 1rem rgba(var(--bs-dark-rgb), .08);
    --radius-sm: var(--bs-border-radius);
    --radius-md: var(--bs-border-radius-lg);
    --radius-lg: var(--bs-border-radius-lg);
    --radius-xl: var(--bs-border-radius-xl);
    --radius-2xl: var(--bs-border-radius-xl);
    --radius-3xl: var(--bs-border-radius-xl);
}

body.hz-authenticated {
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
}

.hz-authenticated .app-wrapper {
    background: transparent;
}

.hz-authenticated .app-container.app-main {
    background: transparent;
    padding: 1.5rem;
}

.hz-authenticated .app-header {
    box-shadow: 0 .125rem .25rem rgba(var(--bs-dark-rgb), .075);
}

.hz-authenticated .app-header .nav-header {
    padding-inline: 1rem 1.25rem;
}

.hz-authenticated .app-header .breadcrumb {
    --bs-breadcrumb-font-size: .765625rem;
}

.hz-authenticated .profile-dropdown .profile-btn {
    min-height: 42px;
    border-radius: var(--bs-border-radius-lg);
}

.hz-authenticated .profile-dropdown .profile-btn::after {
    margin-left: .25rem;
}

.hz-authenticated .avatar-item.avatar {
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
}

.hz-authenticated .app-sidebar-logo a {
    color: var(--bs-body-color);
}

.hz-authenticated .app-sidebar-logo .avatar-item {
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
}

.hz-authenticated .side-menu__item {
    border-radius: var(--bs-border-radius-lg);
    margin-inline: .75rem;
    margin-bottom: .125rem;
}

.hz-authenticated .side-menu__item.active {
    background: rgba(var(--bs-primary-rgb), .1);
}

.hz-authenticated .side-menu__item:hover {
    background: rgba(var(--bs-primary-rgb), .06);
}

.hz-authenticated .side-menu__item .side_menu_icon {
    font-size: 1.15rem;
}

.hz-authenticated .menu-title {
    letter-spacing: .03em;
}

.hz-authenticated .sidebar-storage-item {
    list-style: none;
    margin: .8rem .75rem 1rem;
}

.hz-authenticated .sidebar-storage-card {
    padding: 13px;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 10px 22px rgba(15, 23, 42, .055);
}

.hz-authenticated .sidebar-storage-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 11px;
}

.hz-authenticated .sidebar-storage-icon {
    align-items: center;
    background: rgba(36, 107, 219, .1);
    border: 1px solid rgba(36, 107, 219, .14);
    border-radius: 10px;
    color: var(--bs-primary);
    display: inline-flex;
    flex: 0 0 auto;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.hz-authenticated .sidebar-storage-title {
    display: block;
    color: #0f172a;
    font-size: .9rem;
    line-height: 1.2;
}

.hz-authenticated .sidebar-storage-plan {
    display: block;
    color: #64748b;
    font-size: .74rem;
    line-height: 1.25;
    margin-top: 2px;
}

.hz-authenticated .sidebar-storage-progress {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
}

.hz-authenticated .sidebar-storage-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #246bdb 0%, #60a5fa 100%);
    transition: width .2s ease;
}

.hz-authenticated .sidebar-storage-warning .sidebar-storage-bar {
    background: linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%);
}

.hz-authenticated .sidebar-storage-danger .sidebar-storage-bar {
    background: linear-gradient(90deg, #dc2626 0%, #fb7185 100%);
}

.hz-authenticated .sidebar-storage-meta {
    margin-top: 8px;
    color: #475569;
    font-size: .78rem;
    line-height: 1.4;
}

.hz-authenticated .sidebar-storage-note {
    display: inline-flex;
    margin-top: 8px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(245, 158, 11, .1);
    color: #b45309;
    font-size: .72rem;
    font-weight: 700;
}

.hz-authenticated .sidebar-storage-danger .sidebar-storage-note {
    background: rgba(220, 38, 38, .1);
    color: #b91c1c;
}

.hz-authenticated .sidebar-storage-upgrade-btn {
    width: 100%;
    min-height: 34px;
    margin-top: 11px;
    border-color: rgba(36, 107, 219, .18);
    background: rgba(36, 107, 219, .08);
    color: var(--bs-primary);
    font-weight: 700;
}

.hz-authenticated .sidebar-storage-upgrade-btn:hover,
.hz-authenticated .sidebar-storage-upgrade-btn:focus {
    border-color: rgba(36, 107, 219, .25);
    background: rgba(36, 107, 219, .12);
    color: var(--bs-primary);
}

.hz-authenticated .card {
    padding: 0;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-xl);
    box-shadow: 0 .125rem .25rem rgba(var(--bs-dark-rgb), .075);
}

.hz-authenticated .card.border-0 {
    border: 1px solid var(--bs-border-color) !important;
}

.hz-authenticated .card-header {
    background: transparent;
    border-bottom: 1px solid var(--bs-border-color);
    padding: 1rem 1.25rem;
}

.hz-authenticated .card-body {
    padding: 1.25rem;
}

.hz-authenticated .dashboard-welcome-card,
.hz-authenticated .project-tabs-card {
    padding: 1.25rem;
}

.hz-authenticated .stat-card,
.hz-authenticated .metric-card,
.hz-authenticated .project-dashboard-card,
.hz-authenticated .mini-stat-card,
.hz-authenticated .distribution-mini-card,
.hz-authenticated .project-progress-card,
.hz-authenticated .project-status-card,
.hz-authenticated .executive-summary-card,
.hz-authenticated .empty-state-block,
.hz-authenticated .kanban-column {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-xl);
    box-shadow: 0 .125rem .25rem rgba(var(--bs-dark-rgb), .075);
}

.hz-authenticated .stat-card {
    min-height: 118px;
    padding: 1.25rem;
}

.hz-authenticated .stat-card-label {
    font-size: .765625rem;
    opacity: .86;
}

.hz-authenticated .stat-card-value {
    font-size: 1.875rem;
    line-height: 1.1;
}

.hz-authenticated .metric-card,
.hz-authenticated .project-dashboard-card,
.hz-authenticated .mini-stat-card {
    padding: 1rem;
}

.hz-authenticated .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    font-weight: 500;
    border-radius: var(--bs-border-radius-lg);
    box-shadow: none;
}

.hz-authenticated .btn-sm {
    min-height: 34px;
    font-size: .765625rem;
}

.hz-authenticated .btn-icon {
    width: 36px;
    height: 36px;
    padding: 0;
}

.hz-authenticated .app-status-badge,
.hz-authenticated .badge-soft-success,
.hz-authenticated .badge-soft-warning,
.hz-authenticated .badge-soft-danger,
.hz-authenticated .badge-soft-neutral,
.hz-authenticated .badge-soft-primary,
.hz-authenticated .badge-soft-info {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: .35rem .6rem;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1;
}

.hz-authenticated .badge-soft-success {
    background: rgba(var(--bs-success-rgb), .1);
    color: var(--bs-success);
    border-color: rgba(var(--bs-success-rgb), .18);
}

.hz-authenticated .badge-soft-warning {
    background: rgba(var(--bs-warning-rgb), .14);
    color: var(--bs-warning-text-emphasis);
    border-color: rgba(var(--bs-warning-rgb), .24);
}

.hz-authenticated .badge-soft-danger {
    background: rgba(var(--bs-danger-rgb), .1);
    color: var(--bs-danger);
    border-color: rgba(var(--bs-danger-rgb), .2);
}

.hz-authenticated .badge-soft-primary {
    background: rgba(var(--bs-primary-rgb), .1);
    color: var(--bs-primary);
    border-color: rgba(var(--bs-primary-rgb), .2);
}

.hz-authenticated .badge-soft-info {
    background: rgba(var(--bs-info-rgb), .1);
    color: var(--bs-info);
    border-color: rgba(var(--bs-info-rgb), .2);
}

.hz-authenticated .badge-soft-neutral {
    background: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
    border-color: var(--bs-border-color);
}

.hz-authenticated .form-control,
.hz-authenticated .form-select,
.auth-body .form-control,
.auth-body .form-select {
    border-radius: var(--bs-border-radius-lg);
    min-height: 42px;
}

.hz-authenticated textarea.form-control,
.auth-body textarea.form-control {
    min-height: 120px;
}

.hz-authenticated .form-label,
.auth-body .form-label {
    font-weight: 500;
    color: var(--bs-body-color);
}

.hz-authenticated .table {
    margin-bottom: 0;
}

.hz-authenticated .table thead th {
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.hz-authenticated .pagination-modern {
    gap: .35rem;
}

.hz-authenticated .pagination-modern .page-link {
    border-radius: var(--bs-border-radius-lg);
    min-width: 36px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.hz-authenticated .pagination-modern .page-item.active .page-link {
    box-shadow: 0 .25rem .75rem rgba(var(--bs-primary-rgb), .24);
}

.hz-authenticated .project-tabs-nav {
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-xl);
    padding: .35rem;
}

.hz-authenticated .project-tabs-nav .nav-link {
    border-radius: var(--bs-border-radius-lg);
    color: var(--bs-secondary-color);
    font-weight: 500;
}

.hz-authenticated .project-tabs-nav .nav-link.active {
    background: var(--bs-secondary-bg);
    color: var(--bs-primary);
    box-shadow: 0 .125rem .25rem rgba(var(--bs-dark-rgb), .075);
}

.hz-authenticated .kanban-toolbar {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-xl);
    background: var(--bs-secondary-bg);
    padding: .85rem 1rem;
}

.hz-authenticated .kanban-scroll {
    padding-bottom: .75rem;
}

.hz-authenticated .kanban-board {
    gap: 1rem;
}

.hz-authenticated .kanban-column {
    background: var(--bs-tertiary-bg);
    padding: 1rem;
}

.hz-authenticated .kanban-column-title {
    font-size: .875rem;
    font-weight: 600;
}

.hz-authenticated .kanban-column-count {
    background: var(--bs-secondary-bg);
    color: var(--bs-secondary-color);
    border: 1px solid var(--bs-border-color);
}

.hz-authenticated .kanban-dropzone {
    min-height: 180px;
}

.hz-authenticated .kanban-task {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background: var(--bs-secondary-bg);
    box-shadow: 0 .125rem .25rem rgba(var(--bs-dark-rgb), .075);
}

.hz-authenticated .kanban-task:hover {
    transform: translateY(-1px);
    box-shadow: 0 .5rem 1rem rgba(var(--bs-dark-rgb), .08);
}

.hz-authenticated .kanban-task-notes,
.hz-authenticated .task-notes-preview {
    border: 1px solid var(--bs-border-color);
    background: var(--bs-tertiary-bg);
    border-radius: var(--bs-border-radius-lg);
}

.hz-authenticated .empty-state-block {
    background: var(--bs-secondary-bg);
    padding: 2rem;
}

.hz-authenticated .empty-state-icon {
    background: rgba(var(--bs-primary-rgb), .1);
    color: var(--bs-primary);
}

.auth-body {
    background: var(--bs-body-bg);
}

.auth-body .account-pages {
    background:
        radial-gradient(circle at top left, rgba(var(--bs-primary-rgb), .14), transparent 32rem),
        var(--bs-body-bg);
}

.auth-body .auth-main {
    max-width: 520px;
}

.auth-body .auth-card {
    background: var(--bs-secondary-bg);
    border: 1px solid var(--bs-border-color) !important;
    border-radius: var(--bs-border-radius-xl);
    box-shadow: 0 .5rem 1rem rgba(var(--bs-dark-rgb), .08);
    padding: 2rem;
}

.auth-body .auth-title {
    font-size: 1.75rem;
    font-weight: 600;
}

.auth-body .auth-eyebrow {
    color: var(--bs-primary);
}

@media (max-width: 991.98px) {
    .hz-authenticated .app-container.app-main {
        padding: 1rem;
    }

    .hz-authenticated .app-header .nav-header {
        padding-inline: .75rem;
    }
}

@media (max-width: 767.98px) {
    .hz-authenticated .app-header {
        margin-inline-start: 0;
        width: 100%;
    }

    .hz-authenticated .app-wrapper {
        margin-inline-start: 0;
    }

    .hz-authenticated .dashboard-welcome-card,
    .hz-authenticated .project-tabs-card,
    .hz-authenticated .empty-state-block,
    .auth-body .auth-card {
        padding: 1rem;
    }
}

/* Herozi internal components: dashboard */
.hz-authenticated .page-section {
    margin-bottom: 1.5rem;
}

.hz-authenticated .hz-dashboard .dashboard-hero-card {
    background:
        linear-gradient(135deg, rgba(var(--bs-primary-rgb), .1), rgba(var(--bs-info-rgb), .04)),
        var(--bs-secondary-bg);
    overflow: hidden;
}

.hz-authenticated .hz-dashboard .dashboard-hero-card .card-body {
    padding: 1.5rem;
}

.hz-authenticated .dashboard-summary-list .list-group-item,
.hz-authenticated .dashboard-priority-card .list-group-item {
    background: transparent;
    border-color: var(--bs-border-color);
}

.hz-authenticated .dashboard-summary-list .list-group-item:first-child,
.hz-authenticated .dashboard-priority-card .list-group-item:first-child {
    border-top: 0;
}

.hz-authenticated .dashboard-metric-card {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.hz-authenticated .dashboard-metric-card:hover {
    border-color: rgba(var(--bs-primary-rgb), .24);
    box-shadow: 0 .5rem 1.25rem rgba(var(--bs-dark-rgb), .08);
    transform: translateY(-2px);
}

.hz-authenticated .dashboard-metric-card .card-body {
    padding: 1.25rem;
}

.hz-authenticated .dashboard-metric-card .display-6 {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0;
}

.hz-authenticated .dashboard-metric-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    font-size: 1.25rem;
}

.hz-authenticated .dashboard-priority-card {
    background: var(--bs-secondary-bg);
    box-shadow: none;
}

.hz-authenticated .dashboard-priority-card .card-header {
    min-height: auto;
    padding: 1rem 1.15rem;
    background: transparent;
}

.hz-authenticated .dashboard-priority-card .card-body {
    padding: 1.15rem;
}

.hz-authenticated .dashboard-priority-card .avatar {
    width: 36px;
    height: 36px;
    min-width: 36px;
    font-size: 1.05rem;
}

.hz-authenticated .dashboard-filter-form {
    padding: 1rem;
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-xl);
}

.hz-authenticated .dashboard-filter-form .form-label {
    margin-bottom: .4rem;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--bs-secondary-color);
}

.hz-authenticated .dashboard-project-table {
    --bs-table-bg: transparent;
}

.hz-authenticated .dashboard-project-table thead th {
    border-bottom: 1px solid var(--bs-border-color);
    padding-top: .85rem;
    padding-bottom: .85rem;
    white-space: nowrap;
}

.hz-authenticated .dashboard-project-table tbody td {
    padding-top: 1rem;
    padding-bottom: 1rem;
    vertical-align: middle;
}

.hz-authenticated .dashboard-project-table .avatar {
    width: 40px;
    height: 40px;
    min-width: 40px;
    font-size: 1.1rem;
}

.hz-authenticated .dashboard-project-table .badge {
    border-radius: 999px;
    padding: .42rem .65rem;
}

.hz-authenticated .dashboard-project-table .btn {
    white-space: nowrap;
}

.hz-authenticated .dashboard-projects-table {
    width: 100%;
    table-layout: fixed;
}

.hz-authenticated .dashboard-projects-table th,
.hz-authenticated .dashboard-projects-table td {
    min-width: 0;
}

.hz-authenticated .dashboard-project-col-main {
    width: 42%;
}

.hz-authenticated .dashboard-project-col-client {
    width: 18%;
}

.hz-authenticated .dashboard-project-col-date {
    width: 98px;
}

.hz-authenticated .dashboard-project-col-tasks {
    width: 112px;
}

.hz-authenticated .dashboard-project-col-status {
    width: 112px;
}

.hz-authenticated .dashboard-project-col-actions {
    width: 150px;
}

.hz-authenticated .dashboard-project-entry {
    min-width: 0;
}

.hz-authenticated .dashboard-project-entry > .min-w-0 {
    flex: 1 1 auto;
    min-width: 0;
}

.hz-authenticated .dashboard-project-name {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
}

.hz-authenticated .dashboard-project-summary {
    display: -webkit-box !important;
    max-width: 100%;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    white-space: normal;
    word-break: break-word;
}

.hz-authenticated .dashboard-project-client {
    display: block;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hz-authenticated .dashboard-project-cell-date,
.hz-authenticated .dashboard-project-cell-tasks,
.hz-authenticated .dashboard-project-cell-status,
.hz-authenticated .dashboard-project-cell-actions {
    white-space: nowrap;
}

.hz-authenticated .dashboard-project-cell-status .badge {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
}

.hz-authenticated .dashboard-project-cell-actions .action-toolbar {
    flex-wrap: nowrap;
}

@media (max-width: 767.98px) {
    .hz-authenticated .hz-dashboard .dashboard-hero-card .card-body,
    .hz-authenticated .dashboard-metric-card .card-body,
    .hz-authenticated .dashboard-priority-card .card-body {
        padding: 1rem;
    }

    .hz-authenticated .dashboard-filter-form {
        padding: .85rem;
    }

    .hz-authenticated .dashboard-projects-table {
        min-width: 760px;
    }
}

/* Herozi base fix: this file must load after the Herozi CSS files. */
html[data-main-layout] {
    --app-bg: var(--bs-body-bg);
    --sidebar-bg: var(--bs-app-sidebar-bg);
    --card-bg: var(--bs-secondary-bg);
    --surface-subtle: var(--bs-light);
    --surface-soft: rgba(var(--bs-primary-rgb), .06);
    --surface-muted: var(--bs-tertiary-bg);
    --border-color: var(--bs-border-color);
    --border-strong: var(--bs-border-color);
    --border-soft: var(--bs-border-color);
    --text-primary: var(--bs-body-color);
    --text-secondary: var(--bs-secondary-color);
    --text-muted: var(--bs-tertiary-color);
    --primary: var(--bs-primary);
    --primary-dark: var(--bs-primary);
    --primary-soft-bg: rgba(var(--bs-primary-rgb), .1);
    --primary-soft-border: rgba(var(--bs-primary-rgb), .18);
    --shadow-card: 0 .125rem .25rem rgba(var(--bs-dark-rgb), .075);
    --shadow-soft: 0 .5rem 1rem rgba(var(--bs-dark-rgb), .08);
    --radius-sm: var(--bs-border-radius);
    --radius-md: var(--bs-border-radius-lg);
    --radius-lg: var(--bs-border-radius-lg);
    --radius-xl: var(--bs-border-radius-xl);
    --radius-2xl: var(--bs-border-radius-xl);
    --radius-3xl: var(--bs-border-radius-xl);
}

body.hz-authenticated {
    min-height: 100vh;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
}

.hz-authenticated #layout-wrapper {
    min-height: 100vh;
}

.hz-authenticated .app-wrapper {
    background: transparent;
}

.hz-authenticated .app-container.app-main {
    width: 100%;
    max-width: none;
    background: transparent;
    padding: 1.5rem;
}

.hz-authenticated .page-title-box {
    padding: 0;
}

.hz-authenticated .page-title {
    color: var(--bs-heading-color);
    letter-spacing: 0;
}

.hz-authenticated .breadcrumb {
    --bs-breadcrumb-font-size: .765625rem;
}

.hz-authenticated .app-header {
    background: var(--bs-header-bg);
    box-shadow: 0 .125rem .25rem rgba(var(--bs-dark-rgb), .075);
}

.hz-authenticated .app-header .nav-header {
    padding-inline: 1rem 1.25rem;
}

.hz-authenticated .profile-dropdown .profile-btn {
    min-height: 42px;
    border: 0;
    border-radius: var(--bs-border-radius-lg);
    color: var(--bs-body-color);
}

.hz-authenticated .profile-dropdown .profile-btn::after {
    margin-left: .25rem;
}

.hz-authenticated .avatar-item.avatar {
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
}

.hz-authenticated .app-sidebar-logo a {
    color: var(--bs-body-color);
}

.hz-authenticated .app-sidebar-logo .avatar-item {
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
}

.hz-authenticated .side-menu__item {
    border-radius: var(--bs-border-radius-lg);
    margin-inline: .75rem;
    margin-bottom: .125rem;
}

.hz-authenticated .side-menu__item.active {
    background: rgba(var(--bs-primary-rgb), .1);
}

.hz-authenticated .side-menu__item:hover {
    background: rgba(var(--bs-primary-rgb), .06);
}

.hz-authenticated .side-menu__item .side_menu_icon {
    font-size: 1.15rem;
}

.hz-authenticated .menu-title {
    letter-spacing: .03em;
}

.hz-authenticated .card,
.hz-authenticated .app-card,
.hz-authenticated .auth-card,
.hz-authenticated .stat-card,
.hz-authenticated .metric-card,
.hz-authenticated .project-item,
.hz-authenticated .task-item,
.hz-authenticated .project-dashboard-card,
.hz-authenticated .mini-stat-card,
.hz-authenticated .distribution-mini-card,
.hz-authenticated .project-progress-card,
.hz-authenticated .project-status-card,
.hz-authenticated .executive-summary-card,
.hz-authenticated .empty-state-block,
.hz-authenticated .kanban-column {
    background: var(--bs-secondary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-xl);
    box-shadow: 0 .125rem .25rem rgba(var(--bs-dark-rgb), .075);
}

.hz-authenticated .card {
    padding: 0;
}

.hz-authenticated .card.border-0,
.hz-authenticated .app-card.border-0 {
    border: 1px solid var(--bs-border-color) !important;
}

.hz-authenticated .card-header {
    min-height: auto;
    background: transparent;
    border-bottom: 1px solid var(--bs-border-color);
    padding: 1rem 1.25rem;
}

.hz-authenticated .card-body {
    padding: 1.25rem;
}

.hz-authenticated .app-card,
.hz-authenticated .project-item,
.hz-authenticated .task-item,
.hz-authenticated .project-dashboard-card,
.hz-authenticated .mini-stat-card,
.hz-authenticated .distribution-mini-card,
.hz-authenticated .project-progress-card,
.hz-authenticated .project-status-card,
.hz-authenticated .executive-summary-card,
.hz-authenticated .project-hero-card,
.hz-authenticated .project-tabs-card {
    padding: 1.25rem;
}

.hz-authenticated .project-list {
    gap: 1rem;
}

.hz-authenticated .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 40px;
    font-weight: 500;
    letter-spacing: 0;
    border-radius: var(--bs-border-radius-lg);
    box-shadow: none;
}

.hz-authenticated .btn:hover {
    transform: none;
}

.hz-authenticated .btn-sm,
.hz-authenticated .u-btn-action,
.hz-authenticated .page-header-actions .btn,
.hz-authenticated .task-form-footer .btn,
.hz-authenticated .project-hero-actions .btn,
.hz-authenticated .project-actions-panel .btn,
.hz-authenticated .my-projects-actions .btn,
.hz-authenticated .my-projects-card-actions .btn,
.hz-authenticated .kanban-toolbar .btn,
.hz-authenticated .kanban-task-actions .btn,
.hz-authenticated .task-actions .btn,
.hz-authenticated .card-actions .btn,
.hz-authenticated .modal-actions .btn,
.hz-authenticated .app-actions .btn,
.hz-authenticated .view-switch-group .btn {
    min-height: 34px;
    padding: .4rem .7rem;
    font-size: .765625rem;
    border-radius: var(--bs-border-radius);
}

.hz-authenticated .btn-icon,
.hz-authenticated .app-icon-btn {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
}

.hz-authenticated .app-status-badge,
.hz-authenticated .badge-soft-success,
.hz-authenticated .badge-soft-warning,
.hz-authenticated .badge-soft-danger,
.hz-authenticated .badge-soft-neutral,
.hz-authenticated .badge-soft-primary,
.hz-authenticated .badge-soft-info {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: .35rem .6rem;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1;
}

.hz-authenticated .badge-soft-success {
    background: rgba(var(--bs-success-rgb), .1);
    color: var(--bs-success);
    border-color: rgba(var(--bs-success-rgb), .18);
}

.hz-authenticated .badge-soft-warning {
    background: rgba(var(--bs-warning-rgb), .14);
    color: var(--bs-warning-text-emphasis);
    border-color: rgba(var(--bs-warning-rgb), .24);
}

.hz-authenticated .badge-soft-danger {
    background: rgba(var(--bs-danger-rgb), .1);
    color: var(--bs-danger);
    border-color: rgba(var(--bs-danger-rgb), .2);
}

.hz-authenticated .badge-soft-primary {
    background: rgba(var(--bs-primary-rgb), .1);
    color: var(--bs-primary);
    border-color: rgba(var(--bs-primary-rgb), .2);
}

.hz-authenticated .badge-soft-info {
    background: rgba(var(--bs-info-rgb), .1);
    color: var(--bs-info);
    border-color: rgba(var(--bs-info-rgb), .2);
}

.hz-authenticated .badge-soft-neutral {
    background: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
    border-color: var(--bs-border-color);
}

.hz-authenticated .form-control,
.hz-authenticated .form-select,
.auth-body .form-control,
.auth-body .form-select {
    border-color: var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    min-height: 42px;
    height: 42px;
    box-shadow: none;
}

.hz-authenticated textarea.form-control,
.auth-body textarea.form-control {
    min-height: 120px;
    height: auto;
}

.hz-authenticated .form-label,
.auth-body .form-label {
    margin-bottom: .4rem;
    font-size: .8125rem;
    font-weight: 500;
    color: var(--bs-body-color);
}

.hz-authenticated .field-error,
.auth-body .field-error {
    color: var(--bs-danger);
}

.hz-authenticated .table {
    margin-bottom: 0;
}

.hz-authenticated .table thead th {
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
}

.hz-authenticated .table tbody td {
    vertical-align: middle;
}

.hz-authenticated .dashboard-filter-form,
.hz-authenticated .kanban-toolbar,
.hz-authenticated .view-switch-group {
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-xl);
}

.hz-authenticated .dashboard-filter-form {
    padding: 1rem;
}

.hz-authenticated .pagination-modern {
    gap: .35rem;
}

.hz-authenticated .pagination-modern .page-link {
    border-radius: var(--bs-border-radius-lg);
    min-width: 36px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.hz-authenticated .pagination-modern .page-item.active .page-link {
    box-shadow: 0 .25rem .75rem rgba(var(--bs-primary-rgb), .24);
}

.hz-authenticated .project-tabs-nav {
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-xl);
    padding: .35rem;
}

.hz-authenticated .project-tabs-nav .nav-link {
    border-radius: var(--bs-border-radius-lg);
    color: var(--bs-secondary-color);
    font-weight: 500;
}

.hz-authenticated .project-tabs-nav .nav-link.active {
    background: var(--bs-secondary-bg);
    color: var(--bs-primary);
    box-shadow: 0 .125rem .25rem rgba(var(--bs-dark-rgb), .075);
}

.hz-authenticated .empty-state-block {
    padding: 2rem;
    text-align: center;
}

.hz-authenticated .empty-state-icon {
    width: 52px;
    height: 52px;
    margin-inline: auto;
    background: rgba(var(--bs-primary-rgb), .1);
    color: var(--bs-primary);
}

.hz-authenticated .kanban-toolbar {
    padding: .85rem 1rem;
}

.hz-authenticated .kanban-scroll {
    overflow-x: auto;
    padding-bottom: .75rem;
}

.hz-authenticated .kanban-board {
    display: grid;
    grid-auto-columns: minmax(280px, 1fr);
    grid-auto-flow: column;
    gap: 1rem;
    min-width: 1120px;
}

.hz-authenticated .kanban-column {
    background: var(--bs-tertiary-bg);
    padding: 1rem;
}

.hz-authenticated .kanban-column-title {
    font-size: .875rem;
    font-weight: 600;
}

.hz-authenticated .kanban-column-count {
    background: var(--bs-secondary-bg);
    color: var(--bs-secondary-color);
    border: 1px solid var(--bs-border-color);
}

.hz-authenticated .kanban-dropzone {
    min-height: 180px;
}

.hz-authenticated .kanban-task {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background: var(--bs-secondary-bg);
    box-shadow: 0 .125rem .25rem rgba(var(--bs-dark-rgb), .075);
}

.hz-authenticated .kanban-task:hover {
    box-shadow: 0 .5rem 1rem rgba(var(--bs-dark-rgb), .08);
}

.hz-authenticated .kanban-task-notes,
.hz-authenticated .task-notes-preview {
    border: 1px solid var(--bs-border-color);
    background: var(--bs-tertiary-bg);
    border-radius: var(--bs-border-radius-lg);
}

.auth-body {
    background: var(--bs-body-bg);
}

.auth-body .account-pages {
    background:
        radial-gradient(circle at top left, rgba(var(--bs-primary-rgb), .14), transparent 32rem),
        var(--bs-body-bg);
}

.auth-body .auth-main {
    max-width: 520px;
}

.auth-body .auth-card {
    background: var(--bs-secondary-bg);
    border: 1px solid var(--bs-border-color) !important;
    border-radius: var(--bs-border-radius-xl);
    box-shadow: 0 .5rem 1rem rgba(var(--bs-dark-rgb), .08);
    padding: 2rem;
}

.auth-body .auth-title {
    font-size: 1.75rem;
    font-weight: 600;
    letter-spacing: 0;
}

.auth-body .auth-eyebrow {
    background: rgba(var(--bs-primary-rgb), .1);
    color: var(--bs-primary);
    border-color: rgba(var(--bs-primary-rgb), .2);
}

@media (max-width: 991.98px) {
    .hz-authenticated .app-container.app-main {
        padding: 1rem;
    }

    .hz-authenticated .app-header .nav-header {
        padding-inline: .75rem;
    }
}

@media (max-width: 767.98px) {
    .hz-authenticated .app-header {
        margin-inline-start: 0;
        width: 100%;
    }

    .hz-authenticated .app-wrapper {
        margin-inline-start: 0;
    }

    .hz-authenticated .app-card,
    .hz-authenticated .project-item,
    .hz-authenticated .task-item,
    .hz-authenticated .project-dashboard-card,
    .hz-authenticated .project-hero-card,
    .hz-authenticated .project-tabs-card,
    .hz-authenticated .empty-state-block,
    .auth-body .auth-card {
        padding: 1rem;
    }

    .hz-authenticated .kanban-board {
        min-width: 980px;
    }
}

/* UX spacing pass: consistent rhythm over Herozi without changing behavior. */
.hz-authenticated {
    --fm-page-gap: 1.5rem;
    --fm-section-gap: 1.25rem;
    --fm-card-padding: 1.25rem;
    --fm-card-padding-lg: 1.5rem;
    --fm-control-gap: .75rem;
}

.hz-authenticated .app-container.app-main {
    padding-top: 1.25rem;
    padding-bottom: 2rem;
}

.hz-authenticated .page-title-box {
    margin-bottom: var(--fm-page-gap) !important;
}

.hz-authenticated .page-title-box .breadcrumb {
    margin-bottom: .45rem !important;
}

.hz-authenticated .page-title {
    margin-bottom: .25rem !important;
    font-size: 1.5rem;
    line-height: 1.25;
    font-weight: 600;
}

.hz-authenticated .page-subtitle {
    max-width: 760px;
    line-height: 1.5;
}

.hz-authenticated .page-section {
    margin-bottom: var(--fm-section-gap);
}

.hz-authenticated .page-section:last-child {
    margin-bottom: 0;
}

.hz-authenticated .content-card,
.hz-authenticated .card {
    overflow: hidden;
}

.hz-authenticated .content-card > .card-header,
.hz-authenticated .card > .card-header {
    padding: 1rem var(--fm-card-padding);
}

.hz-authenticated .content-card > .card-body,
.hz-authenticated .card > .card-body {
    padding: var(--fm-card-padding);
}

.hz-authenticated .card-title,
.hz-authenticated .section-title {
    line-height: 1.25;
    letter-spacing: 0;
}

.hz-authenticated .card-header .card-title,
.hz-authenticated .card-header h1,
.hz-authenticated .card-header h2,
.hz-authenticated .card-header h3,
.hz-authenticated .card-header h4,
.hz-authenticated .card-header h5,
.hz-authenticated .card-header h6 {
    margin-bottom: .25rem;
}

.hz-authenticated .card-header p,
.hz-authenticated .section-subtitle {
    line-height: 1.45;
}

.hz-authenticated .action-toolbar,
.hz-authenticated .u-action-group,
.hz-authenticated .page-header-actions,
.hz-authenticated .task-form-footer,
.hz-authenticated .project-hero-actions,
.hz-authenticated .project-actions-panel,
.hz-authenticated .my-projects-actions,
.hz-authenticated .my-projects-card-actions,
.hz-authenticated .kanban-toolbar,
.hz-authenticated .kanban-task-actions,
.hz-authenticated .task-actions,
.hz-authenticated .card-actions,
.hz-authenticated .modal-actions,
.hz-authenticated .app-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}

.hz-authenticated .dashboard-hero-card .card-body,
.hz-authenticated .dashboard-metric-card .card-body {
    padding: var(--fm-card-padding-lg);
}

.hz-authenticated .dashboard-metric-card .display-6 {
    margin-bottom: .3rem;
}

.hz-authenticated .dashboard-summary-list .list-group-item,
.hz-authenticated .dashboard-priority-card .list-group-item {
    padding-top: .85rem;
    padding-bottom: .85rem;
}

.hz-authenticated .dashboard-priority-card {
    box-shadow: none;
}

.hz-authenticated .dashboard-priority-card .card-header {
    padding: .9rem 1rem;
}

.hz-authenticated .dashboard-priority-card .card-body {
    padding: 1rem;
}

.hz-authenticated .filter-card,
.hz-authenticated .dashboard-filter-form {
    margin-bottom: 1.25rem !important;
    padding: 1rem;
}

.hz-authenticated .filter-card .form-label,
.hz-authenticated .dashboard-filter-form .form-label {
    margin-bottom: .35rem;
}

.hz-authenticated .table-responsive {
    border-radius: var(--bs-border-radius-lg);
}

.hz-authenticated .table thead th {
    padding: .85rem 1rem;
    background: var(--bs-tertiary-bg);
    border-bottom: 1px solid var(--bs-border-color);
}

.hz-authenticated .table tbody td {
    padding: .95rem 1rem;
}

.hz-authenticated .table-hover tbody tr:hover {
    --bs-table-hover-bg: rgba(var(--bs-primary-rgb), .035);
}

.hz-authenticated .pagination-modern {
    margin-top: 1.25rem;
}

.hz-authenticated .project-list {
    display: grid;
    gap: 1rem;
}

.hz-authenticated .project-item,
.hz-authenticated .task-item {
    padding: 1.1rem 1.25rem;
}

.hz-authenticated .project-title,
.hz-authenticated .kanban-task-title {
    line-height: 1.3;
    letter-spacing: 0;
}

.hz-authenticated .project-meta,
.hz-authenticated .task-meta,
.hz-authenticated .notes {
    line-height: 1.5;
}

.hz-authenticated .app-card {
    max-width: 920px;
    margin-inline: auto;
    padding: var(--fm-card-padding-lg);
}

.hz-authenticated .app-card form.row,
.hz-authenticated .task-form-modal form.row,
.auth-body .auth-card form.row {
    --bs-gutter-y: 1rem;
}

.hz-authenticated .app-card hr {
    margin: 1.25rem 0 !important;
}

.hz-authenticated .field-help {
    display: block;
    margin-top: .4rem;
    line-height: 1.45;
}

.hz-authenticated .project-hero-card {
    padding: var(--fm-card-padding-lg);
}

.hz-authenticated .project-hero-title {
    line-height: 1.2;
    letter-spacing: 0;
}

.hz-authenticated .project-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    margin-bottom: .85rem;
}

.hz-authenticated .project-tabs-card {
    padding: var(--fm-card-padding);
}

.hz-authenticated .project-tabs-nav {
    margin-bottom: 1.25rem !important;
}

.hz-authenticated .kanban-toolbar {
    margin-bottom: 1rem !important;
}

.hz-authenticated .kanban-board {
    grid-auto-columns: minmax(300px, 1fr);
    gap: 1rem;
    min-width: 1180px;
}

.hz-authenticated .kanban-column {
    padding: 1rem;
}

.hz-authenticated .kanban-column > .d-flex:first-child {
    min-height: 34px;
    margin-bottom: 1rem !important;
}

.hz-authenticated .kanban-dropzone {
    display: grid;
    gap: .85rem;
    min-height: 220px;
    align-content: start;
}

.hz-authenticated .kanban-task {
    padding: .95rem;
}

.hz-authenticated .kanban-task-meta {
    line-height: 1.4;
}

.hz-authenticated .kanban-task-notes {
    margin-bottom: .75rem;
    padding: .65rem .75rem;
    line-height: 1.45;
}

.auth-body .auth-card {
    padding: 2rem;
}

.auth-body .auth-footer-text {
    margin-top: 1.25rem;
    text-align: center;
}

@media (min-width: 1200px) {
    .hz-authenticated {
        --fm-page-gap: 1.75rem;
        --fm-section-gap: 1.5rem;
    }

    .hz-authenticated .app-container.app-main {
        padding-inline: 1.75rem;
    }
}

@media (max-width: 991.98px) {
    .hz-authenticated {
        --fm-page-gap: 1.25rem;
        --fm-section-gap: 1rem;
        --fm-card-padding: 1rem;
        --fm-card-padding-lg: 1.15rem;
    }

    .hz-authenticated .page-title {
        font-size: 1.35rem;
    }

    .hz-authenticated .project-hero-actions,
    .hz-authenticated .task-form-footer {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .hz-authenticated {
        --fm-page-gap: 1rem;
        --fm-section-gap: .9rem;
    }

    .hz-authenticated .app-container.app-main {
        padding: .9rem;
    }

    .hz-authenticated .page-title {
        font-size: 1.25rem;
    }

    .hz-authenticated .content-card > .card-header,
    .hz-authenticated .card > .card-header,
    .hz-authenticated .content-card > .card-body,
    .hz-authenticated .card > .card-body,
    .hz-authenticated .project-hero-card,
    .hz-authenticated .project-tabs-card,
    .hz-authenticated .app-card,
    .auth-body .auth-card {
        padding: 1rem;
    }

    .hz-authenticated .action-toolbar,
    .hz-authenticated .u-action-group,
    .hz-authenticated .project-hero-actions,
    .hz-authenticated .task-form-footer {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .hz-authenticated .action-toolbar .btn,
    .hz-authenticated .u-action-group .btn,
    .hz-authenticated .project-hero-actions .btn,
    .hz-authenticated .task-form-footer .btn {
        width: 100%;
    }

    .hz-authenticated .table thead th,
    .hz-authenticated .table tbody td {
        padding: .8rem .85rem;
    }

    .hz-authenticated .kanban-board {
        grid-auto-columns: 286px;
        min-width: 0;
        width: max-content;
    }
}

/* Product design scale: compact SaaS rhythm aligned with Herozi. */
:root {
    --app-page-padding-x: 24px;
    --app-page-padding-y: 22px;
    --app-page-max-width: 1440px;
    --app-section-gap: 20px;
    --app-grid-gap: 16px;
    --app-card-padding: 18px;
    --app-card-padding-sm: 14px;
    --app-card-radius: 12px;
    --app-font-size-base: 14px;
    --app-font-size-sm: 13px;
    --app-font-size-xs: 12px;
    --app-title-size: 26px;
    --app-subtitle-size: 14px;
    --app-card-title-size: 16px;
    --app-control-height: 38px;
    --app-control-height-sm: 32px;
    --app-badge-font-size: 11px;
    --app-kanban-column-width: 292px;
    --app-kanban-gap: 14px;
}

body {
    font-size: var(--app-font-size-base);
}

.hz-authenticated .app-container.app-main {
    max-width: var(--app-page-max-width);
    margin-inline: auto;
    padding: var(--app-page-padding-y) var(--app-page-padding-x) 28px;
}

.hz-authenticated .page-title-box {
    margin-bottom: 18px !important;
}

.hz-authenticated .breadcrumb {
    --bs-breadcrumb-font-size: 12px;
    line-height: 1.35;
}

.hz-authenticated .page-title {
    font-size: var(--app-title-size);
    line-height: 1.2;
    font-weight: 600;
}

.hz-authenticated .page-subtitle {
    font-size: var(--app-subtitle-size);
    line-height: 1.45;
}

.hz-authenticated .page-section {
    margin-bottom: var(--app-section-gap);
}

.hz-authenticated .row {
    --bs-gutter-x: var(--app-grid-gap);
    --bs-gutter-y: var(--app-grid-gap);
}

.hz-authenticated .card,
.hz-authenticated .content-card,
.hz-authenticated .app-card,
.hz-authenticated .project-item,
.hz-authenticated .task-item,
.hz-authenticated .project-dashboard-card,
.hz-authenticated .metric-card,
.hz-authenticated .mini-stat-card,
.hz-authenticated .distribution-mini-card,
.hz-authenticated .kanban-column,
.hz-authenticated .empty-state-block {
    border-radius: var(--app-card-radius);
    box-shadow: 0 1px 2px rgba(var(--bs-dark-rgb), .05);
}

.hz-authenticated .card-header {
    padding: 14px var(--app-card-padding);
}

.hz-authenticated .card-body,
.hz-authenticated .content-card > .card-body {
    padding: var(--app-card-padding);
}

.proposal-form-card,
.proposal-item-row,
.proposal-detail-block {
    max-width: 100%;
}

.proposal-detail-block + .proposal-detail-block {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--bs-border-color);
}

.proposal-detail-block h2 {
    margin-bottom: .5rem;
    font-size: .95rem;
    font-weight: 700;
    color: var(--bs-body-color);
}

.proposal-detail-block div {
    color: var(--bs-secondary-color);
}

.hz-authenticated .card-title,
.hz-authenticated .section-title {
    font-size: var(--app-card-title-size);
    line-height: 1.25;
}

.hz-authenticated .card-header p,
.hz-authenticated .section-subtitle,
.hz-authenticated .text-muted,
.hz-authenticated small {
    font-size: var(--app-font-size-sm);
}

.hz-authenticated .dashboard-hero-card .card-body {
    padding: 18px;
}

.hz-authenticated .dashboard-hero-card h2 {
    font-size: 20px;
    line-height: 1.25;
}

.hz-authenticated .dashboard-summary-list .list-group-item,
.hz-authenticated .dashboard-priority-card .list-group-item {
    padding-top: 10px;
    padding-bottom: 10px;
}

.hz-authenticated .dashboard-metric-card .card-body {
    min-height: 104px;
    padding: 16px;
}

.hz-authenticated .dashboard-metric-card .display-6,
.hz-authenticated .metric-value,
.hz-authenticated .stat-card-value {
    font-size: 26px;
    line-height: 1.05;
}

.hz-authenticated .dashboard-metric-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    font-size: 18px;
}

.hz-authenticated .dashboard-priority-card .card-header,
.hz-authenticated .dashboard-priority-card .card-body {
    padding: var(--app-card-padding-sm);
}

.hz-authenticated .dashboard-priority-card .avatar {
    width: 32px;
    height: 32px;
    min-width: 32px;
    font-size: 15px;
}

.hz-authenticated .filter-card,
.hz-authenticated .dashboard-filter-form {
    padding: 14px;
    margin-bottom: 16px !important;
}

.hz-authenticated .form-control,
.hz-authenticated .form-select,
.auth-body .form-control,
.auth-body .form-select {
    min-height: var(--app-control-height);
    height: var(--app-control-height);
    padding: 7px 11px;
    font-size: var(--app-font-size-base);
}

.hz-authenticated textarea.form-control,
.auth-body textarea.form-control {
    min-height: 96px;
}

.hz-authenticated .form-label,
.auth-body .form-label {
    font-size: var(--app-font-size-sm);
    margin-bottom: 6px;
}

.hz-authenticated .app-card {
    max-width: 960px;
    padding: 20px;
}

.hz-authenticated .task-form-modal {
    max-width: 780px;
    padding: 20px;
}

.hz-authenticated .task-form-backdrop {
    display: none;
}

.hz-authenticated .task-form-title,
.hz-authenticated .project-hero-title {
    font-size: 22px;
    line-height: 1.2;
}

.hz-authenticated .btn {
    min-height: var(--app-control-height);
    padding: 7px 12px;
    font-size: var(--app-font-size-base);
    border-radius: 8px;
    gap: 6px;
}

.hz-authenticated .btn-sm,
.hz-authenticated .u-btn-action,
.hz-authenticated .action-toolbar .btn,
.hz-authenticated .task-form-footer .btn,
.hz-authenticated .project-hero-actions .btn,
.hz-authenticated .kanban-task-actions .btn {
    min-height: var(--app-control-height-sm);
    padding: 5px 10px;
    font-size: var(--app-font-size-sm);
    border-radius: 7px;
}

.hz-authenticated .badge,
.hz-authenticated .app-status-badge,
.hz-authenticated .badge-soft-success,
.hz-authenticated .badge-soft-warning,
.hz-authenticated .badge-soft-danger,
.hz-authenticated .badge-soft-neutral,
.hz-authenticated .badge-soft-primary,
.hz-authenticated .badge-soft-info {
    min-height: 22px;
    padding: 4px 8px;
    font-size: var(--app-badge-font-size);
    line-height: 1;
}

.hz-authenticated .table {
    font-size: var(--app-font-size-base);
}

.hz-authenticated .table thead th {
    padding: 10px 12px;
    font-size: 11px;
}

.hz-authenticated .table tbody td {
    padding: 12px;
}

.hz-authenticated .dashboard-project-table .action-toolbar .btn {
    min-width: 74px;
}

.hz-authenticated .project-actions-panel.task-actions-compact {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    min-width: 118px;
}

.hz-authenticated .project-actions-panel.task-actions-compact form {
    margin: 0;
}

.hz-authenticated .project-actions-panel.task-actions-compact .btn {
    width: 100%;
    min-height: var(--app-control-height-sm);
    padding: 5px 10px;
    font-size: var(--app-font-size-sm);
    line-height: 1.2;
}

.hz-authenticated .empty-state-block {
    padding: 28px 18px;
}

.hz-authenticated .empty-state-icon {
    width: 44px;
    height: 44px;
    font-size: 20px;
    margin-bottom: 12px;
}

.hz-authenticated .empty-state-block h3 {
    font-size: 17px;
    margin-bottom: 6px;
}

.hz-authenticated .project-item {
    min-height: 0;
    padding: 14px 16px;
}

.hz-authenticated .project-title {
    font-size: 16px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hz-authenticated .task-title,
.hz-authenticated .kanban-task-title {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hz-authenticated .project-meta,
.hz-authenticated .notes {
    font-size: var(--app-font-size-sm);
}

.hz-authenticated .notes,
.hz-authenticated .task-notes-preview p,
.hz-authenticated .kanban-task-notes {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    white-space: normal;
}

.hz-authenticated .project-hero-card {
    padding: 18px;
}

.hz-authenticated .kanban-column-empty {
    min-height: 0;
    padding: 16px 12px;
    box-shadow: none;
}

.hz-authenticated .kanban-column-empty .empty-state-icon {
    width: 38px;
    height: 38px;
    margin-bottom: 10px;
    font-size: 18px;
}

.hz-authenticated .kanban-column-empty h3 {
    font-size: 14px;
    margin-bottom: 4px;
}

.hz-authenticated .kanban-column-empty p {
    max-width: 220px;
    margin: 0 auto;
    font-size: 12px;
}

@media (max-width: 767.98px) {
    .attachment-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .attachment-actions {
        width: 100%;
    }

    .attachment-actions .btn,
    .attachment-actions form {
        flex: 1 1 0;
    }

    .attachment-actions form .btn {
        width: 100%;
    }

    .attachment-name {
        max-width: 220px;
    }

    .activity-item {
        grid-template-columns: 1fr;
    }

    .activity-head {
        flex-direction: column;
    }
}

.hz-authenticated .project-hero-meta {
    font-size: var(--app-font-size-sm);
    gap: 6px 14px;
}

.hz-authenticated .project-tabs-card {
    padding: 16px;
}

.hz-authenticated .project-tabs-nav {
    margin-bottom: 16px !important;
}

.hz-authenticated .project-tabs-nav .nav-link {
    min-height: 34px;
    padding: 7px 12px;
    font-size: var(--app-font-size-sm);
}

.hz-authenticated .project-dashboard-card,
.hz-authenticated .metric-card,
.hz-authenticated .mini-stat-card,
.hz-authenticated .distribution-mini-card {
    min-height: 0;
    padding: 16px;
}

.hz-authenticated .kanban-toolbar {
    padding: 12px 14px;
}

.hz-authenticated .kanban-scroll {
    overflow-x: auto;
    padding: 2px 2px 10px;
}

.hz-authenticated .kanban-board,
.hz-authenticated .kanban-board.kanban-5 {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: var(--app-kanban-column-width);
    grid-template-columns: none;
    gap: var(--app-kanban-gap);
    width: max-content;
    min-width: max-content;
    padding-right: 2px;
}

.hz-authenticated .kanban-column {
    min-height: 0;
    padding: 12px;
}

.hz-authenticated .kanban-column > .d-flex:first-child {
    min-height: 28px;
    margin-bottom: 10px !important;
}

.hz-authenticated .kanban-column-title {
    font-size: 14px;
}

.hz-authenticated .kanban-column-count {
    width: 26px;
    height: 24px;
    min-width: 26px;
    font-size: 12px;
}

.hz-authenticated .kanban-dropzone {
    min-height: 150px;
    gap: 10px;
}

.hz-authenticated .kanban-task {
    padding: 12px;
    border-radius: 10px;
}

.hz-authenticated .kanban-task-title {
    font-size: 14px;
    line-height: 1.3;
}

.hz-authenticated .kanban-task-meta {
    margin-bottom: 10px !important;
    font-size: var(--app-font-size-xs);
}

.hz-authenticated .kanban-task-notes {
    padding: 8px 10px;
    margin-bottom: 10px;
    font-size: var(--app-font-size-xs);
}

.hz-authenticated .app-alert,
.auth-body .app-alert {
    padding: 10px 12px;
    font-size: var(--app-font-size-sm);
    border-radius: var(--app-card-radius);
}

@media (max-width: 1199.98px) {
    :root {
        --app-page-padding-x: 20px;
        --app-kanban-column-width: 286px;
    }
}

@media (max-width: 767.98px) {
    :root {
        --app-page-padding-x: 14px;
        --app-page-padding-y: 14px;
        --app-section-gap: 16px;
        --app-card-padding: 14px;
        --app-title-size: 22px;
        --app-kanban-column-width: 278px;
    }

    .hz-authenticated .app-container.app-main {
        padding: var(--app-page-padding-y) var(--app-page-padding-x) 20px;
    }

    .hz-authenticated .page-title-box {
        margin-bottom: 14px !important;
    }

    .hz-authenticated .card-header,
    .hz-authenticated .card-body,
    .hz-authenticated .content-card > .card-body,
    .hz-authenticated .app-card,
    .hz-authenticated .project-hero-card,
    .hz-authenticated .project-tabs-card,
    .hz-authenticated .task-form-modal {
        padding: var(--app-card-padding);
    }

    .hz-authenticated .dashboard-metric-card .card-body {
        min-height: 0;
    }

    .hz-authenticated .kanban-board,
    .hz-authenticated .kanban-board.kanban-5 {
        min-width: max-content;
        width: max-content;
    }
}

/* Form and auth compact layout refinements. */
.hz-authenticated .form-card {
    max-width: 920px;
}

.hz-authenticated .form-card-header,
.auth-body .auth-form-header {
    margin-bottom: 18px;
}

.hz-authenticated .form-card-title,
.auth-body .auth-title {
    margin: 0 0 6px;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 0;
}

.hz-authenticated .form-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 4px;
}

.hz-authenticated .form-divider {
    height: 1px;
    background: var(--bs-border-color);
    margin: 4px 0;
}

.hz-authenticated .task-form-page {
    margin-bottom: 0;
}

.hz-authenticated .task-form-shell,
.hz-authenticated .task-form-modal {
    max-width: 820px;
}

.hz-authenticated .task-form-eyebrow {
    padding: 4px 8px;
    font-size: 11px;
}

.hz-authenticated .task-form-close-btn {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 8px;
}

.auth-body .auth-main {
    max-width: 500px;
}

.auth-body .auth-card {
    padding: 24px;
}

.auth-body .auth-eyebrow {
    margin-bottom: 10px;
    padding: 4px 8px;
    font-size: 11px;
}

.auth-body .auth-subtitle {
    font-size: var(--app-font-size-sm);
    line-height: 1.45;
}

.auth-body .input-icon {
    left: 12px;
}

.auth-body .input-with-icon,
.hz-authenticated .input-with-icon {
    padding-left: 36px !important;
}

@media (max-width: 767.98px) {
    .hz-authenticated .form-card,
    .hz-authenticated .task-form-modal,
    .auth-body .auth-card {
        padding: 16px;
    }

    .hz-authenticated .form-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .hz-authenticated .form-actions .btn {
        width: 100%;
    }
}

/* Structural layout fix: single source of truth for sidebar, topbar and content. */
:root {
    --fm-sidebar-width: 280px;
    --fm-sidebar-collapsed-width: 84px;
    --fm-topbar-height: var(--bs-app-header-height, 70px);
    --fm-wrapper-top-offset: 20px;
    --fm-content-max-width: 1440px;
    --fm-content-padding-x: 24px;
    --fm-content-padding-y: 22px;
    --fm-page-title-gap: 18px;
    --fm-transition: 180ms ease;
}

html[data-main-layout="vertical"],
html[data-main-layout="small-icon"],
html[data-main-layout="close-sidebar"] {
    --bs-app-sidebar-width: var(--fm-sidebar-width);
}

html[data-main-layout="small-icon"] {
    --bs-app-sidebar-width: var(--fm-sidebar-collapsed-width);
}

body.hz-authenticated {
    overflow-x: hidden;
}

.hz-authenticated #layout-wrapper {
    min-height: 100vh;
    background: var(--bs-body-bg);
}

.hz-authenticated .app-sidebar {
    width: var(--bs-app-sidebar-width);
    transition: width var(--fm-transition), transform var(--fm-transition);
    will-change: width, transform;
}

.hz-authenticated .app-header {
    height: var(--fm-topbar-height);
    margin-inline-start: var(--bs-app-sidebar-width);
    width: calc(100% - var(--bs-app-sidebar-width));
    transition: margin-inline-start var(--fm-transition), width var(--fm-transition);
}

.hz-authenticated .app-wrapper {
    min-height: 100vh;
    margin-inline-start: var(--bs-app-sidebar-width);
    padding-top: var(--fm-wrapper-top-offset);
    background: transparent;
    transition: margin-inline-start var(--fm-transition);
}

.hz-authenticated .app-container.app-main {
    width: 100%;
    max-width: var(--fm-content-max-width);
    margin-inline: auto;
    padding: var(--fm-content-padding-y) var(--fm-content-padding-x) 28px;
}

html[data-main-layout="small-icon"] .hz-authenticated .app-sidebar-logo-default .fw-semibold,
html[data-main-layout="small-icon"] .hz-authenticated .side-menu__label,
html[data-main-layout="small-icon"] .hz-authenticated .menu-title,
html[data-main-layout="small-icon"] .hz-authenticated .sidebar-storage-item {
    display: none;
}

html[data-main-layout="close-sidebar"] .hz-authenticated .sidebar-storage-item {
    display: none;
}

html[data-main-layout="small-icon"] .hz-authenticated .app-sidebar-logo-default {
    justify-content: center;
    padding-inline: 0 !important;
}

html[data-main-layout="small-icon"] .hz-authenticated .side-menu__item {
    justify-content: center;
    margin-inline: .65rem;
    padding-inline: .5rem;
}

html[data-main-layout="close-sidebar"] .hz-authenticated .app-sidebar {
    transform: translateX(-100%);
}

html[data-main-layout="close-sidebar"] .hz-authenticated .app-header,
html[data-main-layout="close-sidebar"] .hz-authenticated .app-wrapper {
    margin-inline-start: 0;
    width: 100%;
}

.hz-authenticated .page-title-box {
    display: block;
    margin: 0 0 var(--fm-page-title-gap) !important;
    padding: 0;
}

.hz-authenticated .page-title-box nav {
    margin-bottom: 6px;
}

.hz-authenticated .page-title-box .breadcrumb {
    margin-bottom: 0 !important;
}

.hz-authenticated .page-title-box > .d-flex {
    align-items: flex-start !important;
    gap: 12px;
}

.hz-authenticated .page-title {
    margin: 0 0 4px !important;
    font-size: var(--app-title-size, 26px);
    line-height: 1.2;
}

.hz-authenticated .page-subtitle {
    margin: 0;
    max-width: 760px;
}

.hz-authenticated .form-page,
.hz-authenticated .task-form-page {
    display: flex;
    justify-content: center;
}

.hz-authenticated .form-shell,
.hz-authenticated .task-form-shell,
.hz-authenticated .app-card.form-card,
.hz-authenticated .task-form-modal.form-card {
    width: 100%;
}

.hz-authenticated .app-card.form-card {
    max-width: 960px;
    margin-inline: auto;
}

.hz-authenticated .task-form-shell {
    max-width: 820px;
    margin-inline: auto;
}

.hz-authenticated .task-form-modal.form-card {
    margin-inline: auto;
}

.hz-authenticated .kanban-scroll {
    max-width: 100%;
}

@media (max-width: 767.98px) {
    :root {
        --fm-content-padding-x: 14px;
        --fm-content-padding-y: 14px;
    }

    html[data-main-layout] {
        --bs-app-sidebar-width: 0px;
    }

    .hz-authenticated .app-sidebar {
        width: 280px;
    }

    .hz-authenticated .app-header,
    .hz-authenticated .app-wrapper,
    html[data-main-layout="small-icon"] .hz-authenticated .app-header,
    html[data-main-layout="small-icon"] .hz-authenticated .app-wrapper {
        margin-inline-start: 0;
        width: 100%;
    }

    .hz-authenticated .app-wrapper {
        padding-top: var(--fm-wrapper-top-offset);
    }

    .hz-authenticated .app-container.app-main {
        padding: var(--fm-content-padding-y) var(--fm-content-padding-x) 20px;
    }

    .hz-authenticated .page-title-box > .d-flex {
        display: grid !important;
        grid-template-columns: 1fr;
    }

    .hz-authenticated .small-screen-sidebar {
        z-index: 1060;
    }

    .hz-authenticated .small-screen-sidebar .offcanvas-body {
        overflow: hidden;
    }

    .hz-authenticated .small-screen-sidebar .app-sidebar {
        position: relative;
        top: auto;
        bottom: auto;
        z-index: auto;
        width: 100%;
        height: 100%;
        min-height: 0;
        transform: none !important;
        border-inline-end: 0;
    }

    .hz-authenticated .small-screen-sidebar .app-sidebar-menu {
        height: calc(100vh - 76px);
    }
}

/* Forms use the same content width as the page title and page sections. */
.hz-authenticated .form-page,
.hz-authenticated .task-form-page {
    display: block;
}

.hz-authenticated .app-card.form-card,
.hz-authenticated .form-card,
.hz-authenticated .task-form-shell,
.hz-authenticated .task-form-modal,
.hz-authenticated .task-form-modal.form-card {
    width: 100%;
    max-width: none;
    margin-inline: 0;
}

/* Internal plans comparison page. */
.hz-authenticated .plans-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--app-card-gap, 20px);
    align-items: stretch;
}

.hz-authenticated .plan-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .22);
}

.hz-authenticated .plan-card-featured {
    border-color: rgba(var(--bs-primary-rgb), .34);
    box-shadow: 0 18px 46px rgba(var(--bs-primary-rgb), .12);
}

.hz-authenticated .plan-card-current {
    border-color: rgba(var(--bs-success-rgb), .36);
}

.hz-authenticated .plan-card .card-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.hz-authenticated .plan-card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 24px;
    margin-bottom: 8px;
}

.hz-authenticated .plan-card-title {
    margin: 0 0 6px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}

.hz-authenticated .plan-card-description {
    margin: 0;
    color: var(--bs-secondary-color);
    font-size: var(--app-font-size-sm, 14px);
    line-height: 1.5;
}

.hz-authenticated .plan-card-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.hz-authenticated .plan-card-price strong {
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0;
}

.hz-authenticated .plan-card-price span,
.hz-authenticated .plan-card-yearly {
    color: var(--bs-secondary-color);
    font-size: var(--app-font-size-sm, 14px);
}

.hz-authenticated .plan-card-yearly {
    margin: -8px 0 0;
}

.hz-authenticated .plan-card-limit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 8px 10px;
    border-radius: 10px;
    background: rgba(var(--bs-primary-rgb), .08);
    color: var(--bs-primary);
    font-weight: 600;
    font-size: var(--app-font-size-sm, 14px);
}

.hz-authenticated .plan-feature-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.hz-authenticated .plan-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--bs-body-color);
    font-size: var(--app-font-size-sm, 14px);
    line-height: 1.45;
}

.hz-authenticated .plan-feature-list i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: rgba(var(--bs-success-rgb), .1);
    color: var(--bs-success);
    font-size: 16px;
}

/* Dashboard plan usage card. */
.hz-authenticated .dashboard-plan-card {
    height: 100%;
    border: 1px solid rgba(148, 163, 184, .22);
}

.hz-authenticated .dashboard-plan-card-warning {
    border-color: rgba(var(--bs-warning-rgb), .36);
}

.hz-authenticated .dashboard-plan-card-danger {
    border-color: rgba(var(--bs-danger-rgb), .36);
}

.hz-authenticated .dashboard-plan-card-success {
    border-color: rgba(var(--bs-success-rgb), .28);
}

.hz-authenticated .dashboard-plan-progress {
    height: 8px;
    border-radius: 999px;
    background: rgba(148, 163, 184, .18);
}

.hz-authenticated .dashboard-plan-progress .progress-bar {
    border-radius: inherit;
}

.hz-authenticated .dashboard-plan-hint {
    color: var(--bs-secondary-color);
    font-size: var(--app-font-size-sm, 14px);
    line-height: 1.45;
}

/* Pro feature: task hour estimates. */
.hz-authenticated .metric-card-hours {
    border-color: rgba(var(--bs-info-rgb), .28);
}

.hz-authenticated .task-meta span,
.hz-authenticated .kanban-task-meta span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.hz-authenticated .kanban-task-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
}

/* Commercial proposal detail. */
.hz-authenticated .proposal-page {
    display: grid;
    gap: 16px;
}

.hz-authenticated .proposal-document-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: var(--app-card-radius, 14px);
    background: var(--bs-body-bg);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
}

.hz-authenticated .proposal-document-heading {
    min-width: 0;
}

.hz-authenticated .proposal-kicker {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: var(--bs-secondary-color);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.hz-authenticated .proposal-document-heading h2 {
    margin: 0;
    font-size: 22px;
    line-height: 1.24;
    font-weight: 700;
}

.hz-authenticated .proposal-client-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: var(--bs-secondary-color);
    font-size: 14px;
}

.hz-authenticated .proposal-client-line i {
    color: var(--bs-primary);
}

.hz-authenticated .proposal-dot {
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: rgba(148, 163, 184, .8);
}

.hz-authenticated .proposal-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.hz-authenticated .proposal-print-action {
    box-shadow: 0 8px 18px rgba(var(--bs-primary-rgb), .22);
}

.hz-authenticated .proposal-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.hz-authenticated .proposal-summary-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 78px;
    padding: 14px;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 12px;
    background: var(--bs-body-bg);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .035);
}

.hz-authenticated .proposal-summary-card span:not(.proposal-summary-icon) {
    display: block;
    margin-bottom: 2px;
    color: var(--bs-secondary-color);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.hz-authenticated .proposal-summary-card strong {
    display: block;
    color: var(--bs-body-color);
    font-size: 16px;
    line-height: 1.25;
}

.hz-authenticated .proposal-summary-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    font-size: 19px;
}

.hz-authenticated .proposal-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 16px;
    align-items: start;
}

.hz-authenticated .proposal-main {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.hz-authenticated .proposal-sidebar {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.hz-authenticated .proposal-document-card > .card-header,
.hz-authenticated .proposal-items-card > .card-header {
    padding: 16px 18px;
}

.hz-authenticated .proposal-document-card > .card-body {
    padding: 2px 18px 18px;
}

.hz-authenticated .proposal-card-title {
    margin: 0;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 700;
}

.hz-authenticated .proposal-card-subtitle {
    margin: 3px 0 0;
    color: var(--bs-secondary-color);
    font-size: 13px;
}

.hz-authenticated .proposal-section {
    padding: 16px 0;
    border-top: 1px solid rgba(148, 163, 184, .16);
}

.hz-authenticated .proposal-section:first-child {
    border-top: 0;
}

.hz-authenticated .proposal-section-title {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 8px;
}

.hz-authenticated .proposal-section-title span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: rgba(var(--bs-primary-rgb), .08);
    color: var(--bs-primary);
}

.hz-authenticated .proposal-section-title h4 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
}

.hz-authenticated .proposal-section-text {
    color: var(--bs-secondary-color);
    font-size: 14px;
    line-height: 1.65;
}

.hz-authenticated .proposal-empty-section {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border: 1px dashed rgba(148, 163, 184, .35);
    border-radius: 12px;
    color: var(--bs-secondary-color);
    background: rgba(248, 250, 252, .72);
    font-size: 14px;
}

.hz-authenticated .proposal-empty-section i {
    color: var(--bs-primary);
    font-size: 20px;
}

.hz-authenticated .proposal-items-total-label {
    white-space: nowrap;
    color: var(--bs-primary);
    font-size: 16px;
}

.hz-authenticated .proposal-items-table th {
    color: var(--bs-secondary-color);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    background: rgba(248, 250, 252, .9);
}

.hz-authenticated .proposal-items-table td,
.hz-authenticated .proposal-items-table th {
    padding: 12px 16px;
}

.hz-authenticated .proposal-item-title {
    color: var(--bs-body-color);
    font-weight: 700;
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hz-authenticated .proposal-item-description {
    margin-top: 2px;
    color: var(--bs-secondary-color);
    font-size: 13px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    white-space: normal;
}

.hz-authenticated .proposal-items-table tfoot td {
    background: rgba(248, 250, 252, .9);
    color: var(--bs-body-color);
    font-weight: 800;
}

.hz-authenticated .proposal-side-card > .card-body {
    padding: 16px;
}

.hz-authenticated .proposal-side-label {
    margin-bottom: 10px;
    color: var(--bs-secondary-color);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.hz-authenticated .proposal-status-form {
    display: grid;
    gap: 10px;
}

.hz-authenticated .proposal-meta-list {
    display: grid;
    gap: 11px;
    margin: 0;
}

.hz-authenticated .proposal-meta-list div {
    display: grid;
    gap: 2px;
}

.hz-authenticated .proposal-meta-list dt {
    color: var(--bs-secondary-color);
    font-size: 12px;
    font-weight: 700;
}

.hz-authenticated .proposal-meta-list dd {
    margin: 0;
    color: var(--bs-body-color);
    font-size: 14px;
    font-weight: 600;
}

.hz-authenticated .proposal-conversion-card {
    border-color: rgba(var(--bs-primary-rgb), .22);
}

@media (max-width: 1199.98px) {
    .hz-authenticated .proposal-layout {
        grid-template-columns: minmax(0, 1fr) 290px;
    }
}

@media (max-width: 991.98px) {
    .hz-authenticated .proposal-document-header,
    .hz-authenticated .proposal-layout {
        grid-template-columns: 1fr;
    }

    .hz-authenticated .proposal-document-header {
        display: grid;
    }

    .hz-authenticated .proposal-actions {
        justify-content: flex-start;
    }

    .hz-authenticated .proposal-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .hz-authenticated .proposal-document-header {
        padding: 16px;
    }

    .hz-authenticated .proposal-document-heading h2 {
        font-size: 19px;
    }

    .hz-authenticated .proposal-summary-grid {
        grid-template-columns: 1fr;
    }

    .hz-authenticated .proposal-actions,
    .hz-authenticated .proposal-actions .btn,
    .hz-authenticated .proposal-actions form,
    .hz-authenticated .proposal-actions form .btn {
        width: 100%;
    }
}

/* MVP visual polish layer: compact SaaS surfaces, consistent tables, forms and responsive density. */
:root {
    --fm-polish-radius: 14px;
    --fm-polish-radius-sm: 10px;
    --fm-polish-border: rgba(148, 163, 184, .22);
    --fm-polish-border-soft: rgba(148, 163, 184, .14);
    --fm-polish-shadow: 0 12px 32px rgba(15, 23, 42, .055);
    --fm-polish-shadow-soft: 0 8px 22px rgba(15, 23, 42, .04);
    --fm-polish-muted-bg: rgba(248, 250, 252, .78);
    --fm-polish-title: 18px;
    --fm-polish-subtitle: 13px;
}

.hz-authenticated .page-section + .page-section {
    margin-top: 18px;
}

.hz-authenticated .content-card,
.hz-authenticated .filter-card,
.hz-authenticated .dashboard-hero-card,
.hz-authenticated .project-hero-card,
.hz-authenticated .project-dashboard-card,
.hz-authenticated .project-tabs-card,
.hz-authenticated .form-card,
.hz-authenticated .task-form-modal,
.hz-authenticated .proposal-document-header,
.hz-authenticated .proposal-summary-card,
.hz-authenticated .client-detail-page .card,
.hz-authenticated .plan-card {
    border-color: var(--fm-polish-border);
    border-radius: var(--fm-polish-radius);
    box-shadow: var(--fm-polish-shadow-soft);
}

.hz-authenticated .content-card:hover,
.hz-authenticated .project-item:hover,
.hz-authenticated .proposal-summary-card:hover,
.hz-authenticated .dashboard-metric-card:hover {
    box-shadow: var(--fm-polish-shadow);
}

.hz-authenticated .content-card > .card-header,
.hz-authenticated .card.content-card > .card-header,
.hz-authenticated .project-dashboard-card > .card-header {
    padding: 16px 18px;
    border-bottom-color: var(--fm-polish-border-soft);
}

.hz-authenticated .content-card > .card-body,
.hz-authenticated .card.content-card > .card-body {
    padding: 18px;
}

.hz-authenticated .card-title,
.hz-authenticated .section-title,
.hz-authenticated .form-card-title,
.hz-authenticated .project-title,
.hz-authenticated .proposal-card-title {
    letter-spacing: 0;
}

.hz-authenticated .card-title.h5,
.hz-authenticated h2.card-title,
.hz-authenticated .section-title {
    font-size: var(--fm-polish-title);
    line-height: 1.25;
}

.hz-authenticated .card-header .text-muted,
.hz-authenticated .section-subtitle,
.hz-authenticated .page-subtitle,
.hz-authenticated .field-help {
    font-size: var(--fm-polish-subtitle);
    line-height: 1.45;
}

.hz-authenticated .page-title {
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 700;
}

.hz-authenticated .breadcrumb {
    font-size: 12px;
}

.hz-authenticated .page-actions,
.hz-authenticated .action-toolbar,
.hz-authenticated .proposal-actions,
.hz-authenticated .form-actions,
.hz-authenticated .card-actions,
.hz-authenticated .project-hero-actions {
    gap: 8px;
}

.hz-authenticated .filter-card {
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

.hz-authenticated .filter-card .card-body,
.hz-authenticated form.filter-card {
    padding: 14px;
}

.hz-authenticated .filter-card .form-label,
.hz-authenticated .dashboard-filter-form .form-label {
    margin-bottom: 5px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.hz-authenticated .filter-card .form-control,
.hz-authenticated .filter-card .form-select,
.hz-authenticated .dashboard-filter-form .form-control,
.hz-authenticated .dashboard-filter-form .form-select {
    min-height: 38px;
    height: 38px;
    border-radius: var(--fm-polish-radius-sm);
    font-size: 13px;
}

.hz-authenticated .table-responsive {
    border-radius: var(--fm-polish-radius);
}

.hz-authenticated .content-card .table {
    --bs-table-bg: transparent;
    --bs-table-hover-bg: rgba(36, 107, 219, .035);
    margin-bottom: 0;
}

.hz-authenticated .content-card .table thead th {
    border-bottom: 1px solid var(--fm-polish-border);
    background: var(--fm-polish-muted-bg);
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.hz-authenticated .content-card .table tbody td {
    border-color: rgba(226, 232, 240, .82);
    color: #334155;
    font-size: 13px;
    vertical-align: middle;
}

.hz-authenticated .content-card .table td,
.hz-authenticated .content-card .table th {
    padding: 12px 14px;
}

.hz-authenticated .content-card .table tbody tr:last-child td {
    border-bottom: 0;
}

.hz-authenticated .table-fixed {
    width: 100%;
    table-layout: fixed;
}

.hz-authenticated .table-fixed th,
.hz-authenticated .table-fixed td {
    min-width: 0;
}

.hz-authenticated .cell-truncate {
    display: block;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hz-authenticated .cell-clamp-2 {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    white-space: normal;
}

.hz-authenticated .cell-actions,
.hz-authenticated .cell-date,
.hz-authenticated .cell-status,
.hz-authenticated .cell-value,
.hz-authenticated .cell-count {
    white-space: nowrap;
}

.hz-authenticated .cell-actions {
    width: 120px;
}

.hz-authenticated .cell-date {
    width: 100px;
}

.hz-authenticated .cell-status {
    width: 112px;
}

.hz-authenticated .cell-value {
    width: 112px;
}

.hz-authenticated .cell-count {
    width: 80px;
    text-align: center;
}

.hz-authenticated .cell-count.text-end {
    text-align: right;
}

.hz-authenticated .cell-main {
    width: 30%;
}

.hz-authenticated .cell-contact {
    width: 22%;
}

.hz-authenticated .table .cell-actions .d-inline-flex {
    max-width: 100%;
    justify-content: flex-end;
}

.hz-authenticated .cell-status .badge {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .hz-authenticated .table-fixed {
        min-width: 680px;
    }
}

.hz-authenticated .table .btn,
.hz-authenticated .table-actions .btn,
.hz-authenticated td .btn {
    min-height: 32px;
    padding: 6px 9px;
    border-radius: 9px;
    font-size: 12px;
}

.hz-authenticated .badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 24px;
    padding: 5px 9px;
    font-size: 11px;
    line-height: 1;
}

.hz-authenticated .empty-state-block {
    max-width: 620px;
    margin: 0 auto;
    padding: 34px 22px;
    border: 1px dashed rgba(148, 163, 184, .34);
    border-radius: var(--fm-polish-radius);
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
    text-align: center;
}

.hz-authenticated .empty-state-block .empty-state-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 12px;
    border-radius: 12px;
    background: rgba(var(--bs-primary-rgb), .09);
    color: var(--bs-primary);
    font-size: 24px;
}

.hz-authenticated .empty-state-block h3 {
    margin-bottom: 6px;
    font-size: 18px;
    line-height: 1.25;
}

.hz-authenticated .empty-state-block p {
    max-width: 480px;
    margin: 0 auto 14px;
    color: var(--bs-secondary-color);
    font-size: 14px;
    line-height: 1.5;
}

.hz-authenticated .app-alert {
    border-radius: var(--fm-polish-radius-sm);
    font-size: 13px;
}

/* Dashboard */
.hz-authenticated .hz-dashboard .dashboard-hero-card .card-body {
    padding: 18px;
}

.hz-authenticated .dashboard-hero-card h2 {
    font-size: 22px;
    line-height: 1.2;
}

.hz-authenticated .dashboard-metric-card .card-body {
    min-height: 106px;
    padding: 16px;
}

.hz-authenticated .dashboard-metric-card .display-6 {
    font-size: 30px;
    line-height: 1;
}

.hz-authenticated .dashboard-metric-icon,
.hz-authenticated .dashboard-priority-card .avatar-item,
.hz-authenticated .dashboard-plan-card .avatar-item {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 10px;
}

.hz-authenticated .dashboard-priority-card .card-header {
    min-height: 58px;
    padding: 13px 15px;
}

.hz-authenticated .dashboard-priority-card .card-body {
    padding: 14px 15px;
}

.hz-authenticated .dashboard-priority-card .list-group-item {
    border-color: rgba(226, 232, 240, .78);
    padding-block: 10px;
}

.hz-authenticated .dashboard-plan-card .card-body {
    padding: 17px;
}

.hz-authenticated .dashboard-plan-card .card-title {
    font-size: 18px;
}

.hz-authenticated .dashboard-plan-hint {
    min-height: 40px;
}

/* Clients */
.hz-authenticated .client-detail-page > .d-flex:first-child {
    padding: 18px;
    border: 1px solid var(--fm-polish-border);
    border-radius: var(--fm-polish-radius);
    background: #fff;
    box-shadow: var(--fm-polish-shadow-soft);
}

.hz-authenticated .client-detail-page > .row.g-3.mb-3 .card-body {
    padding: 15px;
}

.hz-authenticated .client-detail-page > .row.g-3.mb-3 .fw-semibold {
    margin-top: 3px;
    font-size: 16px;
}

.hz-authenticated .client-detail-page .list-group-item {
    border-color: rgba(226, 232, 240, .78);
    padding-block: 11px;
}

/* Forms */
.hz-authenticated .form-card,
.hz-authenticated .proposal-form-card,
.hz-authenticated .task-form-modal {
    overflow: hidden;
}

.hz-authenticated .form-card-header {
    padding-bottom: 14px;
    border-bottom: 1px solid var(--fm-polish-border-soft);
}

.hz-authenticated .proposal-form-card .card-body,
.hz-authenticated .task-form-modal .card-body {
    padding: 18px;
}

.hz-authenticated .proposal-form-card .card-footer {
    padding: 14px 18px;
    border-top-color: var(--fm-polish-border-soft);
}

.hz-authenticated .proposal-item-row {
    border-color: var(--fm-polish-border) !important;
    background: var(--fm-polish-muted-bg);
}

.hz-authenticated textarea.form-control {
    min-height: 104px;
}

.hz-authenticated .form-control,
.hz-authenticated .form-select {
    border-radius: 10px;
}

/* Project detail and Kanban */
.hz-authenticated .project-hero-card {
    padding: 18px;
}

.hz-authenticated .project-hero-title {
    font-size: clamp(24px, 2.2vw, 32px);
    line-height: 1.12;
}

.hz-authenticated .project-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    font-size: 13px;
}

.hz-authenticated .project-hero-notes {
    margin-top: 12px;
    max-width: 920px;
    font-size: 14px;
    line-height: 1.55;
}

.hz-authenticated .project-dashboard-card,
.hz-authenticated .mini-stat-card,
.hz-authenticated .distribution-mini-card,
.hz-authenticated .status-visual-card {
    border-color: var(--fm-polish-border);
    border-radius: var(--fm-polish-radius-sm);
}

.hz-authenticated .mini-stat-card,
.hz-authenticated .distribution-mini-card {
    padding: 14px;
}

.hz-authenticated .mini-stat-value,
.hz-authenticated .distribution-value {
    font-size: 22px;
    line-height: 1.1;
}

.hz-authenticated .project-tabs-card .nav-tabs {
    gap: 6px;
    border-bottom-color: var(--fm-polish-border-soft);
}

.hz-authenticated .project-tabs-card .nav-link {
    border-radius: 10px 10px 0 0;
    color: #64748b;
    font-weight: 600;
}

.hz-authenticated .project-tabs-card .nav-link.active {
    color: var(--bs-primary);
}

.hz-authenticated .kanban-scroll {
    padding-bottom: 6px;
}

.hz-authenticated .kanban-board {
    gap: 12px;
}

.hz-authenticated .kanban-column {
    border-radius: var(--fm-polish-radius);
    box-shadow: none;
}

.hz-authenticated .kanban-column-header {
    padding: 13px 14px;
    border-bottom-color: var(--fm-polish-border-soft);
}

.hz-authenticated .kanban-column-title {
    font-size: 14px;
}

.hz-authenticated .kanban-task-card {
    border-color: rgba(148, 163, 184, .2);
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .045);
}

.hz-authenticated .kanban-task-card .task-title,
.hz-authenticated .kanban-task-title {
    font-size: 14px;
    line-height: 1.35;
}

.hz-authenticated .kanban-task-meta {
    font-size: 12px;
}

/* Plans */
.hz-authenticated .plans-grid {
    align-items: stretch;
}

.hz-authenticated .plan-card .card-body {
    padding: 20px;
}

.hz-authenticated .plan-card-price strong {
    font-size: clamp(26px, 3vw, 34px);
}

.hz-authenticated .plan-feature-list {
    gap: 9px;
}

/* Print screens */
.proposal-print-page,
.report-page {
    border-radius: 12px;
}

@media print {
    .print-toolbar,
    .report-toolbar,
    .app-header,
    .app-sidebar,
    .page-title-box,
    .proposal-actions,
    .project-hero-actions {
        display: none !important;
    }

    .proposal-print-page,
    .report-page {
        border: 0 !important;
        box-shadow: none !important;
    }
}

@media (max-width: 991.98px) {
    .hz-authenticated .content-card > .card-header,
    .hz-authenticated .card.content-card > .card-header,
    .hz-authenticated .content-card > .card-body,
    .hz-authenticated .card.content-card > .card-body,
    .hz-authenticated .project-hero-card {
        padding: 15px;
    }

    .hz-authenticated .dashboard-filter-form .action-toolbar,
    .hz-authenticated .filter-card .d-flex.gap-2 {
        justify-content: stretch;
    }

    .hz-authenticated .dashboard-filter-form .action-toolbar .btn,
    .hz-authenticated .filter-card .d-flex.gap-2 .btn {
        flex: 1 1 auto;
    }
}

@media (max-width: 767.98px) {
    .hz-authenticated .page-actions {
        justify-content: stretch !important;
    }

    .hz-authenticated .page-actions .btn,
    .hz-authenticated .action-toolbar .btn,
    .hz-authenticated .action-toolbar form,
    .hz-authenticated .action-toolbar form .btn,
    .hz-authenticated .project-hero-actions .btn,
    .hz-authenticated .project-hero-actions form,
    .hz-authenticated .project-hero-actions form .btn {
        width: 100%;
    }

    .hz-authenticated .dashboard-metric-card .card-body {
        min-height: 92px;
    }

    .hz-authenticated .content-card .table td,
    .hz-authenticated .content-card .table th {
        padding: 10px 12px;
    }

    .hz-authenticated .empty-state-block {
        padding: 26px 16px;
    }

    .hz-authenticated .client-detail-page > .d-flex:first-child {
        padding: 15px;
    }
}

/* Help and support */
.hz-authenticated .support-hero-card .card-body {
    padding: 18px;
}

.hz-authenticated .support-hero-icon,
.hz-authenticated .support-mini-icon {
    align-items: center;
    background: rgba(36, 107, 219, .1);
    border: 1px solid rgba(36, 107, 219, .14);
    border-radius: 10px;
    color: var(--bs-primary);
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
}

.hz-authenticated .support-hero-icon {
    font-size: 1.35rem;
    height: 42px;
    width: 42px;
}

.hz-authenticated .support-mini-icon {
    font-size: 1rem;
    height: 30px;
    width: 30px;
}

.hz-authenticated .support-category-list {
    display: grid;
    gap: 6px;
}

.hz-authenticated .support-category-link {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #475569;
    display: flex;
    gap: 8px;
    padding: 9px 10px;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.hz-authenticated .support-category-link:hover,
.hz-authenticated .support-category-link.active {
    background: rgba(36, 107, 219, .08);
    border-color: rgba(36, 107, 219, .12);
    color: var(--bs-primary);
}

.hz-authenticated .help-page .accordion {
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 10px;
    overflow: hidden;
}

.hz-authenticated .help-page .accordion-item {
    border-color: rgba(226, 232, 240, .9);
}

.hz-authenticated .help-page .accordion-button {
    gap: 12px;
    padding: 15px 16px;
    font-size: 0.94rem;
}

.hz-authenticated .help-page .accordion-button:not(.collapsed) {
    color: #0f172a;
    background: #f8fafc;
    box-shadow: none;
}

.hz-authenticated .help-page .accordion-body {
    color: #475569;
    font-size: 0.94rem;
    line-height: 1.65;
    padding: 14px 16px 18px;
}

.hz-authenticated .faq-question-text {
    display: grid;
    gap: 3px;
}

.hz-authenticated .support-report-list {
    display: grid;
    gap: 10px;
}

.hz-authenticated .support-report-item {
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 10px;
    color: inherit;
    display: grid;
    gap: 6px;
    padding: 10px;
    text-decoration: none;
}

.hz-authenticated .support-report-item:hover {
    background: #f8fafc;
}

.hz-authenticated .support-report-card textarea {
    min-height: 96px;
}

.hz-authenticated .support-detail-page .detail-list dt {
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 2px;
    text-transform: uppercase;
}

.hz-authenticated .support-detail-page .detail-list dd {
    color: #0f172a;
    font-size: 0.94rem;
    margin-bottom: 14px;
    overflow-wrap: anywhere;
}

@media (max-width: 1199.98px) {
    .hz-authenticated .support-side-card {
        height: auto !important;
    }
}

/* Dashboard onboarding */
.hz-authenticated .onboarding-card .card-header {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.hz-authenticated .onboarding-progress {
    height: 8px;
    border-radius: 999px;
    background: #e2e8f0;
}

.hz-authenticated .onboarding-step-list {
    display: grid;
    gap: 10px;
}

.hz-authenticated .onboarding-step-item {
    align-items: center;
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 10px;
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 12px;
}

.hz-authenticated .onboarding-step-item.is-completed {
    background: rgba(25, 135, 84, .035);
    border-color: rgba(25, 135, 84, .16);
}

.hz-authenticated .onboarding-step-icon {
    align-items: center;
    background: rgba(36, 107, 219, .1);
    border: 1px solid rgba(36, 107, 219, .12);
    border-radius: 10px;
    color: var(--bs-primary);
    display: inline-flex;
    font-size: 1rem;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.hz-authenticated .onboarding-step-item.is-completed .onboarding-step-icon {
    background: rgba(25, 135, 84, .12);
    border-color: rgba(25, 135, 84, .18);
    color: var(--bs-success);
}

.hz-authenticated .onboarding-step-content {
    min-width: 0;
}

.hz-authenticated .onboarding-step-action {
    display: flex;
    justify-content: flex-end;
}

.hz-authenticated .activation-start-card .card-body {
    padding: 22px;
}

.hz-authenticated .activation-start-intro {
    max-width: 360px;
}

.hz-authenticated .activation-start-flow {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(100%, 900px);
}

.hz-authenticated .activation-step {
    align-items: flex-start;
    background: #fff;
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 12px;
    display: flex;
    gap: 12px;
    min-height: 100%;
    padding: 14px;
}

.hz-authenticated .activation-step.is-current {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border-color: rgba(var(--bs-primary-rgb), .28);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}

.hz-authenticated .activation-step.is-done {
    background: rgba(25, 135, 84, .035);
    border-color: rgba(25, 135, 84, .16);
}

.hz-authenticated .activation-step.is-locked {
    background: #f8fafc;
}

.hz-authenticated .activation-step-number {
    align-items: center;
    background: rgba(var(--bs-primary-rgb), .1);
    border: 1px solid rgba(var(--bs-primary-rgb), .14);
    border-radius: 999px;
    color: var(--bs-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 700;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.hz-authenticated .activation-step.is-done .activation-step-number {
    background: rgba(25, 135, 84, .12);
    border-color: rgba(25, 135, 84, .18);
    color: var(--bs-success);
}

.hz-authenticated .activation-step .btn {
    white-space: normal;
}

html[data-theme="dark"] .hz-authenticated .activation-step {
    background: rgba(15, 23, 42, .72);
    border-color: rgba(148, 163, 184, .18);
}

html[data-theme="dark"] .hz-authenticated .activation-step.is-current {
    background: rgba(var(--bs-primary-rgb), .1);
    border-color: rgba(var(--bs-primary-rgb), .35);
}

html[data-theme="dark"] .hz-authenticated .activation-step.is-done {
    background: rgba(25, 135, 84, .08);
    border-color: rgba(25, 135, 84, .22);
}

html[data-theme="dark"] .hz-authenticated .activation-step.is-locked {
    background: rgba(15, 23, 42, .48);
}

@media (max-width: 767.98px) {
    .hz-authenticated .onboarding-step-item {
        align-items: flex-start;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .hz-authenticated .onboarding-step-action {
        grid-column: 1 / -1;
        justify-content: stretch;
    }

    .hz-authenticated .onboarding-step-action .btn {
        width: 100%;
    }
}

@media (max-width: 1199.98px) {
    .hz-authenticated .activation-start-intro {
        max-width: 100%;
    }

    .hz-authenticated .activation-start-flow {
        width: 100%;
    }
}

@media (max-width: 991.98px) {
    .hz-authenticated .activation-start-flow {
        grid-template-columns: 1fr;
    }
}

/* Pricing */
.hz-authenticated .pricing-hero-card .card-body {
    padding: 22px;
}

.hz-authenticated .pricing-hero-subtitle {
    max-width: 760px;
}

.hz-authenticated .pricing-hero-note {
    min-width: 180px;
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 10px;
    padding: 12px 14px;
    background: #f8fafc;
}

.hz-authenticated .pricing-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.hz-authenticated .pricing-card {
    position: relative;
    min-height: 100%;
}

.hz-authenticated .pricing-card-highlighted {
    border-color: rgba(36, 107, 219, .32) !important;
    box-shadow: 0 14px 34px rgba(36, 107, 219, .11) !important;
}

.hz-authenticated .pricing-card-coming-soon {
    background: linear-gradient(180deg, #ffffff 0%, #fffbeb 100%);
}

.hz-authenticated .pricing-card-header {
    min-height: 120px;
}

.hz-authenticated .pricing-card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.hz-authenticated .pricing-card-title {
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 8px;
}

.hz-authenticated .pricing-card-headline {
    color: #334155;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 0;
}

.hz-authenticated .pricing-card-price {
    align-items: baseline;
    display: flex;
    gap: 6px;
    margin: 18px 0 4px;
}

.hz-authenticated .pricing-card-price strong {
    color: #0f172a;
    font-size: 2rem;
    line-height: 1;
}

.hz-authenticated .pricing-card-price span,
.hz-authenticated .pricing-card-yearly,
.hz-authenticated .pricing-card-description {
    color: #64748b;
}

.hz-authenticated .pricing-card-description {
    min-height: 62px;
    margin: 14px 0;
}

.hz-authenticated .pricing-card-meta {
    display: grid;
    gap: 8px;
    margin: 14px 0 16px;
}

.hz-authenticated .pricing-card-meta > div {
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 10px;
    padding: 10px 12px;
    background: #f8fafc;
}

.hz-authenticated .pricing-card-meta span {
    color: #64748b;
    display: block;
    font-size: .78rem;
    font-weight: 700;
    margin-bottom: 2px;
    text-transform: uppercase;
}

.hz-authenticated .pricing-card-meta strong {
    color: #0f172a;
    display: block;
    font-size: .92rem;
    line-height: 1.35;
}

.hz-authenticated .pricing-feature-list {
    display: grid;
    gap: 9px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.hz-authenticated .pricing-feature-list li {
    align-items: flex-start;
    color: #334155;
    display: grid;
    gap: 8px;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.hz-authenticated .pricing-feature-list i {
    color: var(--bs-primary);
    margin-top: 2px;
}

.hz-authenticated .pricing-feature-list small {
    color: #b45309;
    font-weight: 700;
}

.hz-authenticated .pricing-comparison-card .table th {
    white-space: nowrap;
}

.hz-authenticated .pricing-check {
    align-items: center;
    background: rgba(25, 135, 84, .1);
    border: 1px solid rgba(25, 135, 84, .18);
    border-radius: 999px;
    color: var(--bs-success);
    display: inline-flex;
    height: 26px;
    justify-content: center;
    width: 26px;
}

@media (max-width: 1199.98px) {
    .hz-authenticated .pricing-grid {
        grid-template-columns: 1fr;
    }

    .hz-authenticated .pricing-card-header,
    .hz-authenticated .pricing-card-description {
        min-height: 0;
    }
}

/* Error pages */
.error-page-shell {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    background:
        radial-gradient(circle at top left, rgba(36, 107, 219, 0.12), transparent 34rem),
        linear-gradient(135deg, #f8fafc 0%, #eef2f7 100%);
}

.error-page-card {
    width: min(100%, 560px);
    padding: 2.25rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.12);
    text-align: center;
}

.error-page-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 76px;
    height: 34px;
    margin-bottom: 1rem;
    border-radius: 999px;
    background: rgba(36, 107, 219, 0.1);
    color: #246bdb;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.error-page-icon {
    width: 72px;
    height: 72px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.1rem;
    border-radius: 22px;
    background: linear-gradient(135deg, #246bdb, #4f8df0);
    color: #fff;
    font-size: 2rem;
    box-shadow: 0 16px 32px rgba(36, 107, 219, 0.2);
}

.error-page-card h1 {
    margin-bottom: 0.75rem;
    color: #111827;
    font-size: clamp(1.65rem, 3vw, 2.25rem);
    font-weight: 800;
    letter-spacing: 0;
}

.error-page-card p {
    max-width: 430px;
    margin: 0 auto 1.5rem;
    color: #64748b;
    font-size: 1rem;
    line-height: 1.65;
}

.error-page-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}

@media (max-width: 575.98px) {
    .error-page-card {
        padding: 1.5rem;
        border-radius: 14px;
    }

    .error-page-actions .btn {
        width: 100%;
    }
}

/* Legal documents */
.auth-form {
    margin-top: 1.2rem;
}

.auth-card-wide {
    max-width: 620px;
}

.auth-section-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0.15rem 0 0.1rem;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.auth-section-label::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: rgba(226, 232, 240, 0.95);
}

.auth-alert {
    margin-top: 1rem;
    margin-bottom: 0;
}

.auth-captcha {
    display: flex;
    justify-content: center;
}

.input-icon-wrap.password-field .input-with-action {
    padding-right: 3rem !important;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 0.55rem;
    z-index: 3;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #64748b;
    transform: translateY(-50%);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.password-toggle:hover,
.password-toggle:focus {
    background: rgba(36, 107, 219, 0.08);
    color: var(--bs-primary);
    outline: none;
}

.password-toggle:focus-visible {
    box-shadow: 0 0 0 0.18rem rgba(36, 107, 219, 0.16);
}

.password-rules {
    display: grid;
    gap: 0.45rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 12px;
    background: #f8fafc;
    color: #64748b;
    font-size: 0.82rem;
}

.password-strength {
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
}

.password-strength-bar {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #cbd5e1;
    transition: width 0.18s ease, background-color 0.18s ease;
}

.password-rules.strength-weak .password-strength-bar {
    width: 34%;
    background: #ef4444;
}

.password-rules.strength-medium .password-strength-bar {
    width: 66%;
    background: #f59e0b;
}

.password-rules.strength-strong .password-strength-bar {
    width: 100%;
    background: #22c55e;
}

.password-rule {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    line-height: 1.35;
}

.password-rule i {
    color: #94a3b8;
    font-size: 0.82rem;
}

.password-rule.is-valid {
    color: #15803d;
    font-weight: 700;
}

.password-rule.is-valid i {
    color: #16a34a;
}

.auth-legal-links {
    display: block;
    margin-top: 0.75rem;
    color: #94a3b8;
    font-size: 0.78rem;
    line-height: 1.5;
}

.legal-acceptance-check {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.9);
}

.legal-acceptance-check .form-check-input {
    flex: 0 0 auto;
    margin-left: 0;
    margin-top: 0.2rem;
}

.legal-acceptance-check .form-check-label {
    color: #475569;
    font-size: 0.86rem;
    line-height: 1.5;
}

.legal-acceptance-check a {
    font-weight: 800;
}

.auth-legal-links a,
.auth-legal-footer a,
.app-legal-footer a {
    color: #64748b;
    font-weight: 700;
}

.auth-legal-links a:hover,
.auth-legal-footer a:hover,
.app-legal-footer a:hover {
    color: var(--bs-primary);
}

.auth-legal-footer,
.app-legal-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.5rem;
    color: #94a3b8;
    font-size: 0.78rem;
}

.app-legal-footer {
    padding: 1.25rem 0 0.25rem;
}

.legal-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(36, 107, 219, 0.12), transparent 34rem),
        linear-gradient(135deg, #f8fafc 0%, #eef2f7 100%);
}

.legal-shell {
    min-height: 100vh;
    padding: 2rem 1rem;
}

.legal-container {
    width: min(100%, 920px);
    margin: 0 auto;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.1);
    overflow: hidden;
}

.legal-header {
    padding: 2rem 2rem 1.4rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.legal-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1.4rem;
    color: #0f172a;
    font-weight: 800;
}

.legal-title-block {
    max-width: 720px;
}

.legal-eyebrow {
    display: inline-flex;
    margin-bottom: 0.5rem;
    color: var(--bs-primary);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.legal-title {
    margin: 0;
    color: #0f172a;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    font-weight: 800;
    letter-spacing: 0;
}

.legal-summary {
    margin: 0.75rem 0 0;
    color: #64748b;
    font-size: 1rem;
    line-height: 1.65;
}

.legal-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.2rem;
}

.legal-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0.25rem 0.65rem;
    border: 1px solid rgba(36, 107, 219, 0.14);
    border-radius: 999px;
    background: rgba(36, 107, 219, 0.08);
    color: #246bdb;
    font-size: 0.8rem;
    font-weight: 700;
}

.legal-content {
    padding: 2rem;
    color: #334155;
    font-size: 0.98rem;
    line-height: 1.85;
    white-space: normal;
}

.legal-content br + br {
    content: "";
    display: block;
    margin-top: 0.7rem;
}

.legal-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 2rem 2rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

@media (max-width: 575.98px) {
    .legal-shell {
        padding: 1rem;
    }

    .legal-header,
    .legal-content,
    .legal-actions {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .legal-actions .btn {
        width: 100%;
    }
}

/* Theme mode: color-only layer for /app. */
html[data-theme="light"] {
    --app-bg: #f4f7fb;
    --sidebar-bg: #ffffff;
    --card-bg: #ffffff;
    --surface-subtle: #fbfcfe;
    --surface-soft: #f7faff;
    --surface-muted: #f4f7fb;
    --border-color: #e8edf5;
    --border-strong: #d9e1ec;
    --border-soft: rgba(232,237,245,.8);
    --text-primary: #1f2a44;
    --text-secondary: #6b7280;
    --text-muted: #90a0b7;
    --primary: #246bdb;
    --primary-dark: #1f5dc0;
    --bs-body-bg: #f4f7fb;
    --bs-body-color: #1f2a44;
    --bs-secondary-color: #6b7280;
    --bs-border-color: #e8edf5;
}

html[data-theme="dark"] {
    --app-bg: #0f172a;
    --sidebar-bg: #111827;
    --card-bg: #111827;
    --surface-subtle: #172033;
    --surface-soft: #1e293b;
    --surface-muted: #0b1220;
    --border-color: #334155;
    --border-strong: #475569;
    --border-soft: rgba(51,65,85,.85);
    --text-primary: #f8fafc;
    --text-secondary: #cbd5e1;
    --text-muted: #94a3b8;
    --text-white: #ffffff;
    --primary: #60a5fa;
    --primary-dark: #3b82f6;
    --primary-soft-bg: rgba(59,130,246,.16);
    --primary-soft-border: rgba(96,165,250,.34);
    --success-bg: rgba(34,197,94,.14);
    --success-text: #86efac;
    --success-border: rgba(134,239,172,.24);
    --warning-bg: rgba(245,158,11,.15);
    --warning-text: #fcd34d;
    --warning-border: rgba(252,211,77,.25);
    --danger-bg: rgba(239,68,68,.15);
    --danger-text: #fca5a5;
    --danger-border: rgba(252,165,165,.25);
    --neutral-bg: rgba(148,163,184,.14);
    --neutral-text: #cbd5e1;
    --neutral-border: rgba(148,163,184,.25);
    --info-bg: rgba(14,165,233,.14);
    --info-text: #7dd3fc;
    --info-border: rgba(125,211,252,.24);
    --shadow-soft: 0 18px 40px rgba(0, 0, 0, .22);
    --shadow-card: 0 12px 28px rgba(0, 0, 0, .2);
    --shadow-btn-light: none;
    --bs-body-bg: #0f172a;
    --bs-body-color: #f8fafc;
    --bs-secondary-color: #cbd5e1;
    --bs-tertiary-bg: #1e293b;
    --bs-border-color: #334155;
    --bs-card-bg: #111827;
    --bs-card-border-color: #334155;
    color-scheme: dark;
}

html[data-theme="dark"] body,
html[data-theme="dark"] body.hz-authenticated,
html[data-theme="dark"] .hz-authenticated #layout-wrapper,
html[data-theme="dark"] .hz-authenticated .app-wrapper,
html[data-theme="dark"] .auth-body,
html[data-theme="dark"] .account-pages {
    background: var(--app-bg) !important;
    color: var(--text-primary);
}

html[data-theme="dark"] .hz-authenticated .app-header,
html[data-theme="dark"] .hz-authenticated .app-header .nav-header,
html[data-theme="dark"] .hz-authenticated .app-sidebar,
html[data-theme="dark"] .hz-authenticated .app-sidebar .offcanvas-body,
html[data-theme="dark"] .dropdown-menu,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .auth-body .auth-card,
html[data-theme="dark"] .card,
html[data-theme="dark"] .content-card,
html[data-theme="dark"] .app-card,
html[data-theme="dark"] .metric-card,
html[data-theme="dark"] .dashboard-metric-card,
html[data-theme="dark"] .dashboard-priority-card,
html[data-theme="dark"] .dashboard-plan-card,
html[data-theme="dark"] .kanban-column,
html[data-theme="dark"] .kanban-task,
html[data-theme="dark"] .kanban-task-card,
html[data-theme="dark"] .task-form-modal,
html[data-theme="dark"] .filter-card,
html[data-theme="dark"] .empty-state-block,
html[data-theme="dark"] .sidebar-storage-card,
html[data-theme="dark"] .accordion-item,
html[data-theme="dark"] .list-group-item {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

html[data-theme="dark"] .card-header,
html[data-theme="dark"] .card-footer,
html[data-theme="dark"] .content-card > .card-header,
html[data-theme="dark"] .kanban-toolbar,
html[data-theme="dark"] .kanban-dropzone,
html[data-theme="dark"] .table-responsive,
html[data-theme="dark"] .proposal-document-card,
html[data-theme="dark"] .report-page {
    background: var(--surface-subtle) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

html[data-theme="dark"] .text-muted,
html[data-theme="dark"] .page-subtitle,
html[data-theme="dark"] .breadcrumb,
html[data-theme="dark"] .breadcrumb a,
html[data-theme="dark"] small,
html[data-theme="dark"] .kanban-task-meta,
html[data-theme="dark"] .kanban-task-notes,
html[data-theme="dark"] .sidebar-storage-meta,
html[data-theme="dark"] .sidebar-storage-plan,
html[data-theme="dark"] .auth-subtitle,
html[data-theme="dark"] .auth-footer-text {
    color: var(--text-muted) !important;
}

html[data-theme="dark"] .text-body,
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6,
html[data-theme="dark"] .page-title,
html[data-theme="dark"] .kanban-task-title,
html[data-theme="dark"] .kanban-column-title,
html[data-theme="dark"] .side-menu__label,
html[data-theme="dark"] .app-sidebar-logo-default,
html[data-theme="dark"] .profile-btn {
    color: var(--text-primary) !important;
}

html[data-theme="dark"] a:not(.btn) {
    color: #93c5fd;
}

html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] textarea.form-control,
html[data-theme="dark"] .input-group-text {
    background-color: #0b1220 !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

html[data-theme="dark"] .form-control::placeholder,
html[data-theme="dark"] textarea.form-control::placeholder {
    color: #64748b !important;
}

html[data-theme="dark"] .form-control:focus,
html[data-theme="dark"] .form-select:focus,
html[data-theme="dark"] textarea.form-control:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 .2rem rgba(96,165,250,.16) !important;
}

html[data-theme="dark"] .btn-light,
html[data-theme="dark"] .btn-outline-secondary {
    background: var(--surface-soft) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

html[data-theme="dark"] .btn-light:hover,
html[data-theme="dark"] .btn-outline-secondary:hover,
html[data-theme="dark"] .dropdown-item:hover,
html[data-theme="dark"] .side-menu__item:hover,
html[data-theme="dark"] .side-menu__item.active {
    background: rgba(96,165,250,.14) !important;
    color: var(--text-primary) !important;
}

html[data-theme="dark"] .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--text-primary);
    --bs-table-border-color: var(--border-color);
    --bs-table-hover-bg: rgba(96,165,250,.08);
    color: var(--text-primary) !important;
}

html[data-theme="dark"] .table thead th,
html[data-theme="dark"] .table tbody td,
html[data-theme="dark"] .table th,
html[data-theme="dark"] .table td {
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

html[data-theme="dark"] .alert-success {
    background: var(--success-bg);
    border-color: var(--success-border);
    color: var(--success-text);
}

html[data-theme="dark"] .alert-danger {
    background: var(--danger-bg);
    border-color: var(--danger-border);
    color: var(--danger-text);
}

html[data-theme="dark"] .alert-warning {
    background: var(--warning-bg);
    border-color: var(--warning-border);
    color: var(--warning-text);
}

html[data-theme="dark"] .badge-soft-neutral,
html[data-theme="dark"] .badge-soft-primary,
html[data-theme="dark"] .badge-soft-info,
html[data-theme="dark"] .badge-soft-warning,
html[data-theme="dark"] .badge-soft-success,
html[data-theme="dark"] .badge-soft-danger {
    border-color: var(--border-color);
}

html[data-theme="dark"] .progress,
html[data-theme="dark"] .sidebar-storage-progress {
    background: #0b1220 !important;
}

html[data-theme="dark"] .app-theme-toggle {
    flex: 0 0 auto;
}

html[data-theme="dark"] .accordion-button {
    background: var(--card-bg) !important;
    color: var(--text-primary) !important;
}

html[data-theme="dark"] .accordion-button:not(.collapsed) {
    background: var(--surface-soft) !important;
}

html[data-theme="dark"] .accordion-body {
    background: var(--card-bg) !important;
    color: var(--text-secondary) !important;
}

html[data-theme="dark"] .modal-backdrop {
    --bs-backdrop-opacity: .72;
}

@media print {
    html[data-theme],
    html[data-theme] body,
    html[data-theme] .proposal-print-page,
    html[data-theme] .report-page,
    html[data-theme] .card,
    html[data-theme] .table {
        background: #fff !important;
        color: #000 !important;
        box-shadow: none !important;
    }

    html[data-theme] .table td,
    html[data-theme] .table th {
        color: #000 !important;
        border-color: #ddd !important;
    }
}

/* Official brand layer: Operacao Freela */
:root,
html[data-theme="light"] {
    --brand-navy: #062B5F;
    --brand-navy-dark: #041B3D;
    --brand-blue: #0B4F8A;
    --brand-teal: #16C7C7;
    --brand-teal-dark: #0E9FA5;
    --app-bg: #F8FAFC;
    --app-surface: #FFFFFF;
    --app-surface-soft: #F1F5F9;
    --app-border: #E2E8F0;
    --app-text: #0F172A;
    --app-muted: #64748B;
    --app-primary: var(--brand-navy);
    --app-primary-hover: var(--brand-navy-dark);
    --app-accent: var(--brand-teal);
    --app-accent-hover: var(--brand-teal-dark);
    --primary: var(--brand-navy);
    --primary-dark: var(--brand-navy-dark);
    --primary-soft-bg: rgba(22, 199, 199, .12);
    --primary-soft-border: rgba(22, 199, 199, .26);
    --bs-primary: #062B5F;
    --bs-primary-rgb: 6, 43, 95;
    --bs-link-color: #0B4F8A;
    --bs-link-hover-color: #041B3D;
    --bs-body-bg: var(--app-bg);
    --bs-body-color: var(--app-text);
    --bs-border-color: var(--app-border);
}

html[data-theme="dark"] {
    --brand-navy: #062B5F;
    --brand-navy-dark: #041B3D;
    --brand-blue: #0B4F8A;
    --brand-teal: #16C7C7;
    --brand-teal-dark: #0E9FA5;
    --app-bg: #020617;
    --app-surface: #0F172A;
    --app-surface-soft: #111827;
    --app-border: #1E293B;
    --app-text: #F8FAFC;
    --app-muted: #94A3B8;
    --app-primary: var(--brand-teal);
    --app-primary-hover: #2DD4BF;
    --app-accent: var(--brand-teal);
    --app-accent-hover: #2DD4BF;
    --primary: var(--brand-teal);
    --primary-dark: var(--brand-teal-dark);
    --primary-soft-bg: rgba(22, 199, 199, .15);
    --primary-soft-border: rgba(45, 212, 191, .28);
    --bs-primary: #16C7C7;
    --bs-primary-rgb: 22, 199, 199;
    --bs-link-color: #67E8F9;
    --bs-link-hover-color: #A5F3FC;
}

.app-logo,
.sidebar-logo {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.hz-authenticated .app-sidebar-logo-default {
    display: flex !important;
}

.hz-authenticated .app-sidebar-logo-minimize {
    display: none !important;
}

html[data-main-layout="small-icon"] .hz-authenticated .app-sidebar-logo-default {
    display: none !important;
}

html[data-main-layout="small-icon"] .hz-authenticated .app-sidebar-logo-minimize {
    display: flex !important;
}

.app-logo-img,
.auth-logo-img,
.sidebar-logo-img,
.header-logo-img,
.legal-brand-logo {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.auth-logo-img {
    max-height: 76px;
    margin-inline: auto;
}

.sidebar-logo-img {
    max-height: 44px;
}

.sidebar-logo-icon,
.header-logo-img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.legal-brand-logo {
    max-height: 44px;
}

.error-page-logo {
    display: block;
    width: auto;
    max-width: min(240px, 80vw);
    max-height: 60px;
    object-fit: contain;
    margin: 0 auto 1rem;
}

.theme-logo-dark {
    display: none;
}

html[data-theme="dark"] .theme-logo-light {
    display: none;
}

html[data-theme="dark"] .theme-logo-dark {
    display: block;
}

.auth-body {
    background:
        radial-gradient(circle at top left, rgba(22, 199, 199, .12), transparent 25%),
        radial-gradient(circle at bottom right, rgba(6, 43, 95, .12), transparent 20%),
        var(--app-bg);
}

.auth-card::before {
    background: linear-gradient(90deg, var(--brand-navy), var(--brand-teal));
}

.btn-primary {
    --bs-btn-bg: var(--app-primary);
    --bs-btn-border-color: var(--app-primary);
    --bs-btn-hover-bg: var(--app-primary-hover);
    --bs-btn-hover-border-color: var(--app-primary-hover);
    --bs-btn-active-bg: var(--app-primary-hover);
    --bs-btn-active-border-color: var(--app-primary-hover);
}

.btn-outline-primary {
    --bs-btn-color: var(--app-primary);
    --bs-btn-border-color: var(--app-primary);
    --bs-btn-hover-bg: var(--app-primary);
    --bs-btn-hover-border-color: var(--app-primary);
}

.bg-primary {
    background-color: var(--app-primary) !important;
}

.text-primary {
    color: var(--app-primary) !important;
}

.border-primary,
.border-primary-subtle {
    border-color: rgba(var(--bs-primary-rgb), .3) !important;
}

.bg-primary-subtle {
    background-color: rgba(var(--bs-primary-rgb), .1) !important;
}

.hz-authenticated .side-menu__item.active,
.hz-authenticated .side-menu__item:hover {
    color: var(--app-primary);
}

.hz-authenticated .side-menu__item.active {
    background: rgba(var(--bs-primary-rgb), .11);
}

.hz-authenticated .sidebar-storage-bar,
.progress-bar {
    background: linear-gradient(90deg, var(--brand-navy), var(--brand-teal));
}

html[data-theme="dark"] .hz-authenticated .sidebar-storage-bar,
html[data-theme="dark"] .progress-bar {
    background: linear-gradient(90deg, var(--brand-teal), #67E8F9);
}

html[data-theme="dark"] .auth-logo-img.theme-logo-dark,
html[data-theme="dark"] .sidebar-logo-img.theme-logo-dark {
    border-radius: 10px;
}

/* Operacao Freela brand polish: final color layer for /app. */
:root,
html[data-theme="light"] {
    --brand-navy: #062B5F;
    --brand-navy-dark: #041B3D;
    --brand-blue: #0B4F8A;
    --brand-teal: #16C7C7;
    --brand-teal-dark: #0E9FA5;
    --app-primary: var(--brand-navy);
    --app-primary-hover: var(--brand-navy-dark);
    --app-accent: var(--brand-teal);
    --app-accent-hover: var(--brand-teal-dark);
    --app-bg: #F8FAFC;
    --app-surface: #FFFFFF;
    --app-surface-soft: #F1F5F9;
    --app-border: #E2E8F0;
    --app-text: #0F172A;
    --app-muted: #64748B;
    --primary: var(--app-primary);
    --primary-dark: var(--app-primary-hover);
    --primary-soft-bg: rgba(22, 199, 199, .12);
    --primary-soft-border: rgba(22, 199, 199, .28);
    --shadow-btn-primary: 0 1px 0 rgba(255,255,255,.14) inset, 0 10px 18px rgba(6,43,95,.16);
    --shadow-btn-primary-hover: 0 1px 0 rgba(255,255,255,.16) inset, 0 12px 20px rgba(6,43,95,.2);
    --bs-primary: #062B5F;
    --bs-primary-rgb: 6, 43, 95;
    --bs-link-color: #0B4F8A;
    --bs-link-hover-color: #041B3D;
    --bs-body-bg: #F8FAFC;
    --bs-body-color: #0F172A;
    --bs-border-color: #E2E8F0;
}

html[data-theme="dark"] {
    --app-primary: var(--brand-teal);
    --app-primary-hover: #2DD4BF;
    --app-accent: var(--brand-teal);
    --app-accent-hover: #67E8F9;
    --primary: var(--app-primary);
    --primary-dark: var(--brand-teal-dark);
    --primary-soft-bg: rgba(22, 199, 199, .15);
    --primary-soft-border: rgba(45, 212, 191, .28);
    --bs-primary: #16C7C7;
    --bs-primary-rgb: 22, 199, 199;
    --bs-link-color: #67E8F9;
    --bs-link-hover-color: #A5F3FC;
}

.hz-authenticated a:not(.btn):not(.side-menu__item),
.auth-body a:not(.btn) {
    color: var(--bs-link-color);
}

.hz-authenticated a:not(.btn):not(.side-menu__item):hover,
.auth-body a:not(.btn):hover {
    color: var(--bs-link-hover-color);
}

.btn-primary,
.hz-authenticated .btn-primary,
.auth-body .btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--app-primary);
    --bs-btn-border-color: var(--app-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--app-primary-hover);
    --bs-btn-hover-border-color: var(--app-primary-hover);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--app-primary-hover);
    --bs-btn-active-border-color: var(--app-primary-hover);
    --bs-btn-disabled-bg: var(--app-primary);
    --bs-btn-disabled-border-color: var(--app-primary);
    box-shadow: var(--shadow-btn-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.hz-authenticated .btn-primary:hover,
.hz-authenticated .btn-primary:focus {
    box-shadow: var(--shadow-btn-primary-hover), 0 0 0 .18rem rgba(var(--bs-primary-rgb), .16);
}

.btn-outline-primary,
.hz-authenticated .btn-outline-primary {
    --bs-btn-color: var(--app-primary);
    --bs-btn-border-color: rgba(var(--bs-primary-rgb), .42);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--app-primary);
    --bs-btn-hover-border-color: var(--app-primary);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--app-primary-hover);
    --bs-btn-active-border-color: var(--app-primary-hover);
}

.btn-secondary,
.hz-authenticated .btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--brand-blue);
    --bs-btn-border-color: var(--brand-blue);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--brand-navy);
    --bs-btn-hover-border-color: var(--brand-navy);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--brand-navy-dark);
    --bs-btn-active-border-color: var(--brand-navy-dark);
}

.btn-light,
.hz-authenticated .btn-light,
.hz-authenticated .btn-soft {
    background: var(--app-surface-soft);
    border-color: var(--app-border);
    color: var(--app-primary);
}

.btn-light:hover,
.btn-light:focus,
.hz-authenticated .btn-light:hover,
.hz-authenticated .btn-light:focus,
.hz-authenticated .btn-soft:hover,
.hz-authenticated .btn-soft:focus {
    background: rgba(22, 199, 199, .11);
    border-color: rgba(22, 199, 199, .32);
    color: var(--app-primary-hover);
}

.hz-authenticated .app-header,
.hz-authenticated .app-header .nav-header,
.hz-authenticated .app-sidebar {
    border-color: var(--app-border);
}

.hz-authenticated .app-header {
    background: rgba(255, 255, 255, .96);
}

.hz-authenticated .app-sidebar {
    background: var(--app-surface);
}

.hz-authenticated .side-menu__item {
    color: #334155;
}

.hz-authenticated .side-menu__item .side_menu_icon {
    color: var(--brand-blue);
}

.hz-authenticated .side-menu__item:hover {
    background: rgba(22, 199, 199, .1);
    color: var(--app-primary);
}

.hz-authenticated .side-menu__item.active {
    background: linear-gradient(90deg, rgba(22,199,199,.18), rgba(6,43,95,.07));
    color: var(--app-primary);
    box-shadow: inset 3px 0 0 var(--app-accent);
}

.hz-authenticated .side-menu__item.active .side_menu_icon,
.hz-authenticated .side-menu__item:hover .side_menu_icon {
    color: var(--app-accent);
}

.hz-authenticated .profile-btn:hover,
.hz-authenticated .app-theme-toggle:hover {
    background: rgba(22, 199, 199, .1);
    color: var(--app-primary);
}

.form-control:focus,
.form-select:focus,
textarea.form-control:focus,
.hz-authenticated .form-control:focus,
.hz-authenticated .form-select:focus,
.hz-authenticated textarea.form-control:focus {
    border-color: rgba(22, 199, 199, .7);
    box-shadow: 0 0 0 .2rem rgba(22, 199, 199, .16);
}

.input-group-text {
    border-color: var(--app-border);
    color: var(--brand-blue);
}

.hz-authenticated .project-tabs-nav .nav-link,
.hz-authenticated .project-tabs-card .nav-link,
.hz-authenticated .nav-tabs .nav-link {
    color: var(--app-muted);
}

.hz-authenticated .project-tabs-nav .nav-link:hover,
.hz-authenticated .project-tabs-card .nav-link:hover,
.hz-authenticated .nav-tabs .nav-link:hover {
    color: var(--app-primary);
    border-color: transparent transparent rgba(22,199,199,.35);
}

.hz-authenticated .project-tabs-nav .nav-link.active,
.hz-authenticated .project-tabs-card .nav-link.active,
.hz-authenticated .nav-tabs .nav-link.active {
    color: var(--app-primary);
    border-color: transparent transparent var(--app-accent);
}

.hz-authenticated .project-tabs-nav .nav-link.active::after {
    background: var(--app-accent);
}

.bg-primary,
.hz-authenticated .bg-primary {
    background-color: var(--app-primary) !important;
}

.text-primary,
.hz-authenticated .text-primary {
    color: var(--app-primary) !important;
}

.border-primary,
.border-primary-subtle {
    border-color: rgba(var(--bs-primary-rgb), .34) !important;
}

.bg-primary-subtle,
.hz-authenticated .bg-primary-subtle {
    background-color: rgba(22, 199, 199, .12) !important;
}

.badge-soft-primary,
.hz-authenticated .badge-soft-primary {
    background: rgba(22, 199, 199, .13);
    border-color: rgba(22, 199, 199, .3);
    color: var(--brand-blue);
}

.hz-authenticated .app-status-badge.badge-soft-primary,
.hz-authenticated .kanban-task .badge-soft-primary {
    color: var(--brand-blue);
}

.hz-authenticated .dashboard-metric-icon.bg-primary-subtle,
.hz-authenticated .avatar-item.bg-primary-subtle,
.hz-authenticated .empty-state-icon {
    background: rgba(22, 199, 199, .13) !important;
    color: var(--brand-blue) !important;
}

.hz-authenticated .dashboard-metric-card:hover,
.hz-authenticated .dashboard-priority-card:hover,
.hz-authenticated .project-item:hover,
.hz-authenticated .kanban-task:hover,
.hz-authenticated .content-card:hover {
    border-color: rgba(22, 199, 199, .26);
}

.hz-authenticated .dashboard-plan-progress .progress-bar,
.hz-authenticated .sidebar-storage-bar,
.hz-authenticated .progress-bar,
.hz-authenticated .status-bar-primary {
    background: linear-gradient(90deg, var(--brand-navy), var(--brand-teal));
}

.hz-authenticated .kanban-column {
    border-color: var(--app-border);
}

.hz-authenticated .kanban-column-count {
    background: rgba(22, 199, 199, .12);
    color: var(--app-primary);
}

.hz-authenticated .kanban-dropzone.drag-over,
.hz-authenticated .kanban-task.dragging {
    border-color: var(--app-accent);
    background: rgba(22, 199, 199, .1);
}

.hz-authenticated .table-hover tbody tr:hover {
    --bs-table-hover-bg: rgba(22, 199, 199, .06);
}

html[data-theme="dark"] .hz-authenticated .app-header,
html[data-theme="dark"] .hz-authenticated .app-sidebar {
    background: var(--card-bg) !important;
}

html[data-theme="dark"] .hz-authenticated a:not(.btn):not(.side-menu__item),
html[data-theme="dark"] .auth-body a:not(.btn) {
    color: var(--bs-link-color);
}

html[data-theme="dark"] .btn-light,
html[data-theme="dark"] .hz-authenticated .btn-light,
html[data-theme="dark"] .hz-authenticated .btn-soft {
    background: var(--surface-soft) !important;
    border-color: var(--border-color) !important;
    color: var(--app-primary) !important;
}

html[data-theme="dark"] .btn-light:hover,
html[data-theme="dark"] .hz-authenticated .btn-light:hover,
html[data-theme="dark"] .hz-authenticated .btn-soft:hover,
html[data-theme="dark"] .side-menu__item:hover,
html[data-theme="dark"] .side-menu__item.active {
    background: rgba(22, 199, 199, .14) !important;
    color: var(--text-primary) !important;
}

html[data-theme="dark"] .hz-authenticated .side-menu__item .side_menu_icon,
html[data-theme="dark"] .hz-authenticated .side-menu__item.active .side_menu_icon,
html[data-theme="dark"] .hz-authenticated .side-menu__item:hover .side_menu_icon {
    color: var(--app-primary) !important;
}

html[data-theme="dark"] .hz-authenticated .dashboard-plan-progress .progress-bar,
html[data-theme="dark"] .hz-authenticated .sidebar-storage-bar,
html[data-theme="dark"] .hz-authenticated .progress-bar,
html[data-theme="dark"] .hz-authenticated .status-bar-primary {
    background: linear-gradient(90deg, var(--brand-teal), #67E8F9);
}

html[data-theme="dark"] .badge-soft-primary,
html[data-theme="dark"] .hz-authenticated .badge-soft-primary,
html[data-theme="dark"] .hz-authenticated .bg-primary-subtle {
    background: rgba(22, 199, 199, .16) !important;
    border-color: rgba(45, 212, 191, .3) !important;
    color: #67E8F9 !important;
}

html[data-theme="dark"] .form-control:focus,
html[data-theme="dark"] .form-select:focus,
html[data-theme="dark"] textarea.form-control:focus {
    border-color: rgba(22, 199, 199, .72) !important;
    box-shadow: 0 0 0 .2rem rgba(22, 199, 199, .18) !important;
}

@media (max-width: 575.98px) {
    .auth-logo-img {
        max-height: 64px;
    }

    .sidebar-logo-img {
        max-height: 38px;
    }
}

@media print {
    .theme-logo-dark {
        display: none !important;
    }

    .theme-logo-light {
        display: block !important;
    }
}

/* Kanban containment: keep cards inside columns without affecting drag/drop. */
.hz-authenticated .kanban-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
}

.hz-authenticated .kanban-board,
.hz-authenticated .kanban-board.kanban-5 {
    align-items: stretch;
}

.hz-authenticated .kanban-column {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.hz-authenticated .kanban-dropzone {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.hz-authenticated .kanban-card,
.hz-authenticated .kanban-task {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.hz-authenticated .kanban-task > .d-flex:first-child {
    min-width: 0;
}

.hz-authenticated .kanban-card-title,
.hz-authenticated .kanban-task-title {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.3;
}

.hz-authenticated .kanban-task .app-status-badge {
    flex: 0 0 auto;
    max-width: 46%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hz-authenticated .kanban-task-meta {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.hz-authenticated .kanban-task-meta span {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hz-authenticated .kanban-card-notes,
.hz-authenticated .kanban-task-notes {
    max-width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
    box-sizing: border-box;
}

.hz-authenticated .kanban-task-actions {
    width: 100%;
    max-width: 100%;
    margin-top: auto;
    box-sizing: border-box;
}

.hz-authenticated .kanban-task-actions .btn {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
