/* Purchase File pages share the public landing's navy, paper and turquoise visual language. */
.pp-purchase-page {
    --purchase-navy: #071b2a;
    --purchase-ink: #112d3b;
    --purchase-muted: #5d727a;
    --purchase-line: #dbe5e8;
    --purchase-surface: #fff;
    --purchase-soft: #f5f8f8;
    --purchase-accent: #50c9bd;
    color: var(--purchase-ink);
    font-family: "Vazirmatn PP", "vazirmatn[wght]", Tahoma, sans-serif;
}

.pp-purchase-kicker {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: .2rem 0 .85rem;
    color: #168a89;
    font-size: .75rem;
    font-weight: 800;
}
.pp-purchase-kicker span { width: 20px; height: 1px; background: #50c9bd; }

.pp-purchase-page .page-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 138px;
    padding: 1.7rem 2rem;
    border: 1px solid #285363;
    border-radius: 18px;
    background: radial-gradient(circle at 10% 125%, rgba(75, 186, 187, .22), transparent 34%),
        linear-gradient(115deg, #071b2a, #0b3443);
    box-shadow: 0 18px 42px rgba(7, 27, 42, .13);
}
.pp-purchase-page .page-header::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    pointer-events: none;
    opacity: .38;
    background-image: linear-gradient(rgba(105, 195, 204, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(105, 195, 204, .06) 1px, transparent 1px);
    background-size: 48px 48px;
}
.pp-purchase-page .page-title { color: #f6fbfa !important; font-weight: 820 !important; letter-spacing: -.025em; }
.pp-purchase-page .page-header .mud-typography.mud-secondary-text { color: #b7d2d7 !important; }
.pp-purchase-page .page-actions .mud-button-outlined { border-color: rgba(205, 237, 236, .5); color: #f4fbfa; }
.pp-purchase-page .page-actions .mud-button-outlined:hover { background: rgba(113, 216, 207, .12); }
.pp-purchase-detail .page-header .pp-file-routing-chip {
    background: #f4faf8 !important;
    color: #153241 !important;
    border: 1px solid #d4e4e1;
    font-weight: 800;
}
.pp-purchase-detail .page-header .pp-file-routing-chip .mud-icon-root { color: #157f7d !important; }
.pp-purchase-page .mud-button-filled-primary {
    background: #5ed4ca !important;
    color: #092d3a !important;
    box-shadow: 0 10px 24px rgba(26, 111, 112, .16);
    font-weight: 750;
}
.pp-purchase-page .mud-button-filled-primary:hover { background: #81e2d8 !important; }

.pp-purchase-page .page-guide-card {
    border: 1px solid #cde4e1 !important;
    border-radius: 12px !important;
    background: #f0f8f6 !important;
    box-shadow: none !important;
}
.pp-purchase-page .page-guide-icon { color: #168f8b !important; }
.pp-purchase-page .page-guide-content .mud-typography-subtitle2 { color: #1e5360; font-weight: 750; }

.pp-purchase-detail .purchase-workspace-hero {
    position: relative;
    overflow: hidden;
    align-items: center;
    padding: 1.5rem 1.75rem;
    border: 1px solid #cfe3e2 !important;
    border-radius: 17px !important;
    background: linear-gradient(115deg, var(--purchase-surface), #eff8f6) !important;
    box-shadow: 0 12px 30px rgba(18, 68, 76, .07) !important;
}
.pp-purchase-detail .purchase-workspace-hero::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    content: "";
    background: #50c9bd;
}
.pp-purchase-detail.pp-file-vital .page-header {
    border-color: #a94046;
    background: radial-gradient(circle at 10% 125%, rgba(234, 95, 102, .23), transparent 34%),
        linear-gradient(115deg, #301827, #6d2633);
}
.pp-purchase-detail.pp-file-essential .page-header {
    border-color: #a87528;
    background: radial-gradient(circle at 10% 125%, rgba(237, 184, 85, .24), transparent 34%),
        linear-gradient(115deg, #332820, #72512a);
}
.pp-purchase-detail.pp-file-vital .purchase-workspace-hero {
    border-color: #e7b8bd !important;
    background: linear-gradient(115deg, var(--purchase-surface), #fff2f2) !important;
}
.pp-purchase-detail.pp-file-essential .purchase-workspace-hero {
    border-color: #e7d3a6 !important;
    background: linear-gradient(115deg, var(--purchase-surface), #fff8e9) !important;
}
.pp-purchase-detail.pp-file-vital .purchase-workspace-hero::before { background: #c74050; }
.pp-purchase-detail.pp-file-essential .purchase-workspace-hero::before { background: #c38528; }
.pp-purchase-detail .pp-file-criticality-badge { display: flex; align-items: center; }
.pp-purchase-detail .pp-file-criticality-badge .mud-chip { font-weight: 800; }
.pp-purchase-detail .purchase-workspace-hero-main { flex: 1 1 360px; }
.pp-purchase-detail .purchase-workspace-hero-main .mud-typography-h5 { color: var(--purchase-ink); font-weight: 800; line-height: 1.55; }
.pp-purchase-detail .purchase-workspace-hero-main .mud-typography-body2 { color: var(--purchase-muted); line-height: 1.9; }
.pp-purchase-detail .purchase-workspace-meta { gap: .45rem; }
.pp-purchase-detail .purchase-workspace-meta span {
    padding: .3rem .65rem;
    border: 1px solid #d3e6e4;
    border-radius: 7px;
    color: #356874;
    background: rgba(255, 255, 255, .7);
}
.pp-purchase-detail .purchase-workspace-progress { border-right: 1px solid #d5e6e5; padding-right: .75rem; }
.pp-purchase-detail .pp-file-cycle {
    flex: 1 1 100%;
    border-top: 1px solid #d9e7e5;
    padding-top: .85rem;
}
.pp-purchase-detail .pp-file-cycle-heading { display: flex; align-items: baseline; gap: .7rem; margin-bottom: .6rem; }
.pp-purchase-detail .pp-file-cycle-heading strong { color: var(--purchase-ink); font-size: .9rem; }
.pp-purchase-detail .pp-file-cycle-heading small { color: var(--purchase-muted); font-size: .74rem; }
.pp-purchase-detail .pp-file-cycle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.pp-purchase-detail .pp-file-cycle-segment {
    display: grid;
    gap: .15rem;
    min-width: 0;
    padding: .5rem .75rem;
    border: 1px solid #dce9e6;
    border-radius: 10px;
    background: rgba(255, 255, 255, .65);
}
.pp-purchase-detail .pp-file-cycle-segment > span { color: var(--purchase-muted); font-size: .75rem; }
.pp-purchase-detail .pp-file-cycle-segment > strong { color: var(--purchase-ink); font-size: .96rem; }
.pp-purchase-detail .pp-file-cycle-segment.is-missing > strong { color: var(--purchase-muted); }
.pp-purchase-detail .pp-file-cycle-track { height: 4px; overflow: hidden; border-radius: 4px; background: #dfebe9; }
.pp-purchase-detail .pp-file-cycle-track i { display: block; height: 100%; border-radius: inherit; background: #239c95; }
.pp-purchase-detail .pp-file-cycle-segment.is-missing .pp-file-cycle-track { background: repeating-linear-gradient(90deg, #d3dfdd 0 5px, transparent 5px 9px); }

.pp-purchase-page .dashboard-kpi-card,
.pp-purchase-page .filter-panel,
.pp-purchase-page .data-panel,
.pp-purchase-page .form-panel,
.pp-purchase-page .item-group {
    border: 1px solid var(--purchase-line) !important;
    border-radius: 14px !important;
    background: var(--purchase-surface) !important;
    box-shadow: 0 4px 16px rgba(17, 45, 59, .05) !important;
}
.pp-purchase-page .dashboard-kpi-card { min-height: 112px; }
.pp-purchase-page .pp-kpi-value { color: var(--purchase-ink); }
.pp-purchase-page .pp-kpi-primary { --pp-kpi-soft: #e1f5f1; --pp-kpi-ink: #137e7c; }
.pp-purchase-page .pp-kpi-info { --pp-kpi-soft: #e4f1f3; --pp-kpi-ink: #247786; }

.pp-purchase-detail .purchase-workspace-tab-header {
    border: 1px solid var(--purchase-line);
    border-radius: 13px;
    background: var(--purchase-surface);
    box-shadow: 0 5px 18px rgba(17, 45, 59, .05);
}
.pp-purchase-detail .purchase-workspace-tab-header .mud-tab { color: var(--purchase-muted); font-weight: 650; }
.pp-purchase-detail .purchase-workspace-tab-header .mud-tab.mud-tab-active { color: #087f7e; }
.pp-purchase-detail .purchase-workspace-tab-header .mud-tabs-indicator { background: #50c9bd; height: 3px; }
.pp-purchase-detail .detail-tab-panel { padding-top: 1.25rem; }
.pp-purchase-page .summary-item { border: 1px solid #e6eeee; background: var(--purchase-soft); }
.pp-purchase-page .summary-item span { color: var(--purchase-muted); }
.pp-purchase-page .group-header { border-bottom-color: var(--purchase-line); background: #eaf6f3; }
.pp-purchase-detail .pp-file-item-heading { border-bottom: 1px solid var(--purchase-line); padding-top: .9rem; }
.pp-purchase-detail .pp-file-item-heading:last-child { border-bottom: 0; }
.pp-purchase-detail .pp-file-item-hierarchy-label { color: var(--purchase-muted); font-size: .75rem; font-weight: 700; }
.pp-purchase-detail .pp-file-item-hierarchy-text { color: var(--purchase-ink); font-weight: 650; overflow-wrap: anywhere; white-space: pre-wrap; }
.pp-purchase-detail .pp-file-item-heading > .pp-file-item-hierarchy-label,
.pp-purchase-detail .pp-file-item-heading > .pp-file-item-hierarchy-text { margin-inline: 1.25rem; }
.pp-purchase-detail .pp-file-item-subheading { margin: .8rem 1.25rem .5rem; padding: .5rem .8rem; border-inline-start: 3px solid #35b8ae; background: var(--purchase-soft); border-radius: 6px; }
.pp-purchase-page .timeline-marker { background: #35b8ae; }

.pp-purchase-list .filter-panel { padding: 1.35rem; }
.pp-purchase-list .data-panel { padding: .4rem .75rem .75rem; }
.pp-purchase-list .mud-table-root thead th { color: #3f6570; background: #eef5f5; }
.pp-purchase-list .mud-table-root tbody .mud-table-row { border-bottom: 1px solid #e9eff0; }
.pp-purchase-list .mud-table-root tbody .mud-table-row:hover { background: #f1faf8; }
.pp-purchase-list .mud-table-root .pp-code { color: #087e7f; font-weight: 750; }
.pp-purchase-list .mud-table-root tbody .mud-table-row .mud-icon-button { color: #167f82; }

body.pp-dark .pp-purchase-page {
    --purchase-ink: #ebf5f4;
    --purchase-muted: #a8c4c9;
    --purchase-line: #29434a;
    --purchase-surface: #142a31;
    --purchase-soft: #19333a;
}
body.pp-dark .pp-purchase-page .page-guide-card { border-color: #31585a !important; background: #19343a !important; }
body.pp-dark .pp-purchase-page .page-guide-content .mud-typography-subtitle2 { color: #c9eae5; }
body.pp-dark .pp-purchase-detail .purchase-workspace-hero { border-color: #31585a !important; background: linear-gradient(115deg, #162e35, #1b4043) !important; }
body.pp-dark .pp-purchase-detail.pp-file-vital .purchase-workspace-hero { border-color: #87505b !important; background: linear-gradient(115deg, #30212b, #462832) !important; }
body.pp-dark .pp-purchase-detail.pp-file-essential .purchase-workspace-hero { border-color: #896d42 !important; background: linear-gradient(115deg, #302b22, #493a27) !important; }
body.pp-dark .pp-purchase-detail .purchase-workspace-meta span { border-color: #34565b; color: #c5e5e3; background: #1e3b42; }
body.pp-dark .pp-purchase-detail .purchase-workspace-progress { border-right-color: #34565b; }
body.pp-dark .pp-purchase-detail .pp-file-cycle { border-top-color: #34565b; }
body.pp-dark .pp-purchase-detail .pp-file-cycle-segment { border-color: #34565b; background: rgba(16, 41, 47, .75); }
body.pp-dark .pp-purchase-detail .pp-file-cycle-track { background: #31545a; }
body.pp-dark .pp-purchase-page .summary-item { border-color: #29434a; }
body.pp-dark .pp-purchase-page .group-header { background: #1b4143; }
body.pp-dark .pp-purchase-list .mud-table-root thead th { color: #bad2d5; background: #1d3940; }
body.pp-dark .pp-purchase-list .mud-table-root tbody .mud-table-row { border-bottom-color: #29434a; }
body.pp-dark .pp-purchase-list .mud-table-root tbody .mud-table-row:hover { background: #1a393e; }
body.pp-dark .pp-purchase-list .mud-table-root .pp-code { color: #8be4da; }

@media (max-width: 959px) {
    .pp-purchase-page .page-header { align-items: stretch; min-height: 0; padding: 1.35rem; }
    .pp-purchase-detail .purchase-workspace-hero { flex-direction: column; align-items: stretch; }
    .pp-purchase-detail .purchase-workspace-progress { border-right: 0; border-top: 1px solid #d5e6e5; padding: .5rem 0 0; }
}
@media (max-width: 650px) {
    .pp-purchase-detail .pp-file-cycle-heading { display: grid; gap: .2rem; }
    .pp-purchase-detail .pp-file-cycle-grid { grid-template-columns: 1fr; }
}
@media (max-width: 599px) {
    .pp-purchase-page .page-title { font-size: 1.55rem; }
    .pp-purchase-page .page-actions { width: 100%; }
    .pp-purchase-page .page-actions .mud-button-root { width: 100%; }
    .pp-purchase-list .data-panel { padding: .35rem; }
}
