/* Project Center-specific styles. Shared tokens are defined in /assets/css/site.css. */
body.project-center { margin: 0; min-height: 100vh; display: flex; flex-direction: column; font: 16px/1.6 Arial, Helvetica, sans-serif; background: var(--background, #f5f7f8); color: var(--text, #263238); }
.project-center .pc-header { background: #fff; border-bottom: 1px solid var(--border, #e2e7eb); }
.project-center .pc-header-inner { max-width: 1200px; margin: 0 auto; padding: 20px 30px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.project-center .pc-brand { font-size: 1.5rem; font-weight: 700; color: var(--primary, #253f55); text-decoration: none; }
.project-center .pc-home { color: var(--primary, #253f55); font-weight: 600; text-decoration: none; }
.project-center .pc-home:hover { color: var(--accent, #b88b52); }
.project-center .pc-main { width: 100%; flex: 1; padding: 75px 20px; }
.project-center .pc-card { max-width: 480px; margin: 0 auto; padding: 38px; background: #fff; border: 1px solid var(--border, #e2e7eb); border-radius: 12px; box-shadow: 0 8px 25px rgba(0,0,0,.035); }
.project-center h1 { color: var(--primary, #253f55); text-align: center; font-size: 2rem; line-height: 1.2; margin: 0 0 15px; }
.project-center .pc-intro { color: var(--muted, #64717b); text-align: center; margin: 0 0 28px; }
.project-center label { display: block; margin: 0 0 7px; font-weight: 600; }
.project-center input { display: block; width: 100%; padding: 12px; border: 1px solid #aeb9c1; border-radius: 6px; font: inherit; }
.project-center input:focus { outline: 2px solid var(--primary, #253f55); outline-offset: 2px; }
.project-center button { display: block; width: 100%; margin-top: 20px; padding: 13px 20px; border: 0; border-radius: 6px; background: var(--primary, #253f55); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.project-center button:hover { background: var(--primary-dark, #172b3b); }
.project-center button:disabled { opacity: .65; cursor: wait; }
.project-center .pc-message { margin: 20px 0 0; text-align: center; color: var(--primary, #253f55); }
.project-center .pc-message:empty { display: none; }
.project-center .pc-message.pc-error { color: #802727; }
.project-center .pc-footer { padding: 25px 20px; text-align: center; border-top: 1px solid var(--border, #e2e7eb); color: var(--muted, #64717b); font-size: 13px; }
@media (max-width: 500px) { .project-center .pc-header-inner { padding: 18px 20px; } .project-center .pc-main { padding: 35px 15px; } .project-center .pc-card { padding: 26px 22px; } }

/* Sign-out control: styled as a navigation link, not the login submit button. */
.project-center .pc-logout-form { margin: 0; }
.project-center .pc-logout-button { display: inline; width: auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--primary, #253f55); font: inherit; font-weight: 600; cursor: pointer; }
.project-center .pc-logout-button:hover { background: transparent; color: var(--accent, #b88b52); }
.project-center .pc-logout-button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

/* Project Center dashboard: responsive project table. */
.project-center.pc-dashboard .pc-card { max-width: 1100px; }
.project-center .pc-projects-wrap { width: 100%; }
.project-center .pc-projects-table { width: 100%; border-collapse: collapse; text-align: left; }
.project-center .pc-projects-table th,
.project-center .pc-projects-table td { padding: 14px 16px; border-bottom: 1px solid var(--border, #e2e7eb); vertical-align: top; }
.project-center .pc-projects-table thead th { background: #f3f6f8; color: var(--primary, #253f55); font-weight: 700; }
.project-center .pc-projects-table tbody th { font-weight: 600; }
.project-center .pc-projects-table tbody tr:nth-child(even) { background: #f8fafb; }
.project-center .pc-projects-table .pc-balance { text-align: right; white-space: nowrap; }

@media (max-width: 650px) {
    .project-center .pc-projects-table,
    .project-center .pc-projects-table tbody,
    .project-center .pc-projects-table tr,
    .project-center .pc-projects-table th,
    .project-center .pc-projects-table td { display: block; }
    .project-center .pc-projects-table thead { display: none; }
    .project-center .pc-projects-table tbody tr { margin: 0 0 14px; padding: 12px 14px; border: 1px solid var(--border, #e2e7eb); border-radius: 8px; background: #fff; }
    .project-center .pc-projects-table tbody tr:nth-child(even) { background: #fff; }
    .project-center .pc-projects-table tbody th,
    .project-center .pc-projects-table tbody td { padding: 5px 0; border: 0; }
    .project-center .pc-projects-table tbody th { font-size: 1.05rem; overflow-wrap: anywhere; }
    .project-center .pc-projects-table tbody td::before { content: attr(data-label) ': '; font-weight: 600; }
    .project-center .pc-projects-table .pc-balance { text-align: left; }
}

/* Manual refresh controls above the project table. */
.project-center .pc-refresh-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 12px; }
.project-center .pc-refresh-controls form { margin: 0; }
.project-center .pc-refresh-button { display: inline-block; width: auto; margin: 0; padding: 7px 15px; font-size: .9rem; }

/* Project navigation and modular detail sections. */
.project-center .pc-project-row { cursor: pointer; }
.project-center .pc-project-row:hover { background: #eaf1f5 !important; }
.project-center .pc-project-row:focus-within { outline: 2px solid var(--primary, #253f55); outline-offset: -2px; }
.project-center .pc-project-link { color: inherit; text-decoration: none; }
.project-center .pc-project-link:hover { text-decoration: underline; }
.project-center .pc-project-link:focus-visible { outline: 2px solid var(--primary, #253f55); outline-offset: 3px; }
.project-center .pc-back-link { display: inline-block; margin-bottom: 24px; color: var(--primary, #253f55); font-weight: 600; }
.project-center .pc-detail-section { margin-top: 28px; }
.project-center .pc-detail-section h2 { margin-bottom: 16px; }
.project-center .pc-overview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 16px; margin: 0; }
.project-center .pc-overview-grid > div { padding: 18px; background: #f8fafb; border: 1px solid var(--border, #e2e7eb); border-radius: 8px; min-width: 0; }
.project-center .pc-overview-grid dt { color: var(--muted, #64717b); font-size: .9rem; }
.project-center .pc-overview-grid dd { margin: 5px 0 0; font-weight: 600; overflow-wrap: anywhere; }


/* Project financial summary: read-only amounts from the snapshot. */
.project-center .pc-financial-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.project-center .pc-financial-table th,
.project-center .pc-financial-table td { padding: 10px 12px; border-bottom: 1px solid var(--border, #e2e7eb); }
.project-center .pc-financial-table th { text-align: left; font-weight: 500; }
.project-center .pc-financial-table td { text-align: right; white-space: nowrap; }
.project-center .pc-financial-table .pc-financial-subtotal th,
.project-center .pc-financial-table .pc-financial-subtotal td { font-weight: 700; border-top: 2px solid var(--border, #e2e7eb); }
.project-center .pc-financial-table .pc-financial-balance th,
.project-center .pc-financial-table .pc-financial-balance td { font-weight: 700; background: #f3f6f8; color: var(--primary, #253f55); }

/* Document email action: compact button inside a table cell. */
.project-center .pc-document-email-form { margin: 0; }
.project-center .pc-document-email-button { display: inline-block; width: auto; margin: 0; padding: 7px 12px; font-size: .9rem; white-space: nowrap; }
